gpt4 book ai didi

java - 使用语言解析编辑 XML 节点 - Java

转载 作者:行者123 更新时间:2023-12-01 05:10:17 25 4
gpt4 key购买 nike

我希望有人能帮助我:首先,我仍然是 Java 的新手,但我想我正在慢慢进步。

因此,我有一个带有语言注释的 XML 文件,我想访问特定节点 a) 对它执行模式匹配操作 b) 对匹配项执行进一步操作

这是文本示例,显示节点:

  <token id="13">
<word>.</word>
<lemma>.</lemma>
<CharacterOffsetBegin>57</CharacterOffsetBegin>
<CharacterOffsetEnd>58</CharacterOffsetEnd>
<POS>.</POS>
<NER>O</NER>
</token>
</tokens>
<parse>(ROOT (S (NP (DT The) (NN world)) (VP (VBZ owes) (NP (DT all)) (NP (NP (NP (PRP$ its) (ADJP (RB onward) (NP (NNS impulses)) (PP (TO to))) (NNS men)) (ADJP (RB ill))) (PP (IN at) (NP (NN ease))))) (. .))) </parse>
<basic-dependencies>
<dep type="det">
<governor idx="2">world</governor>
<dependent idx="1">The</dependent>
</dep>
<dep type="nsubj">
<governor idx="3">owes</governor>
<dependent idx="2">world</dependent>
</dep>
<dep type="iobj">
<governor idx="3">owes</governor>
<dependent idx="4">all</dependent>
</dep>
<dep type="poss">
<governor idx="9">men</governor>
<dependent idx="5">its</dependent>
</dep>

(这里,我有一些文本的语言注释,例如一些标记、词性(POS)、命名实体识别(NER)和句法/依赖解析。这实际上是应用于文本的斯坦福 CoreNLP 工具包..没有添加整个文件,因为它很大)

我的问题是:根据我所读到的内容,StaX 解析器似乎是访问文件并通过我的操作生成新文件的好方法。这是正确的吗?我的问题还包括,我可以使用 StaX 进行模式匹配操作吗?

预先致以千谢万谢。

最佳答案

表达式(ROOT ...)采用称为S-表达式的格式。 Java SE 中的任何内容都无法解析它,因此您必须执行其他操作。

当然你必须使用StAX(或其他东西)来解析xml文件。这样你就可以得到上面的字符串作为字符串。您必须对这些字符串运行另一个解析器才能获取它们的结构。

初步的谷歌搜索给了我 http://rosettacode.org/wiki/S-Expressions#Java这是基于 http://jfkbits.blogspot.jp/2008/05/thoughts-on-s-expression-parser.html 。但是您可以自己使用“Java 中的 S 表达式解析器”等搜索词并查看前几个结果,看看什么适合您。

关于java - 使用语言解析编辑 XML 节点 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12111456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com