首页 > 解决方案 > 在 Python 中解析 GATE 文档的 TextWithNodes 元素

问题描述

在 NLP 项目中,我需要处理 GATE XML 文档的 TextWithNodes 元素中的文本和注释。此元素具有以下外观:

<TextWithNodes>
Some kind of sample <Node id="123" /> text 
in which <Node id="234" /> various Node 
elements appear.
</TextWithNodes>

然后,节点元素通过 ID 属性与稍后在同一文件中的注释相关联。这显然是标准的 GATE 语法。但是,使用 Python 中的 xml.etree.ElementTree 模块,我似乎无法捕获 TextWithNodes 元素的全部内容。如果我输入这个——

>>> tree = ET.parse('my_file.xml')
>>> twn = tree.find('TextWithNodes')
>>> twn.text
Some kind of sample

也就是说,我只得到第一个 Node 元素之前的第一个文本片段。如何获取整个文本块,其中嵌入了 Node 元素?或者有没有更好的方法来解决这个问题?最终,我希望将整个文本内容变成一个句子列表,其中的每个元素都有句子的文本与从节点 ID 到相应注释的文本内容的字典配对——类似这样。谢谢。

标签: pythonxmlnlpelementtreegate

解决方案


推荐阅读