【发布时间】:2012-08-20 03:20:33
【问题描述】:
我希望有人可以帮助我:首先,我仍然是 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 进行模式匹配操作吗?
提前一千感谢。
【问题讨论】:
-
我只看到一个 XML 元素:
parse。嵌套的()对的含义和结构是什么? -
具体来说,这些嵌套对表示句子的句法结构,如名词短语(NP)、动词短语(VP)、名词(NN)等。我将在上面发布一个更大的 XML 代码示例。
-
@SophieM -- 是的,但它不是 XML。 XML 元素如下所示:
<elementName></elementName>。括号不是 XML 元素。 -
它看起来像
scheme表示法,我相信它可以转换为 xml,尽管我所知道的 Java SE 中没有任何东西。如果有图书馆,我会在互联网上偷看,如果有什么我会回来的。
标签: java xml-parsing stax stanford-nlp