使用 Stanford CoreNLP 解析文本时忽略 XML 元素内的文本

Ignore text inside XML elements when parsing text with Stanford CoreNLP

我想使用 Stanford CoreNLP 分析 XML 个文件的文本内容。

这是我正在分析的 XML 元素类型的示例:

<cmd>In the new plug-in directory, add a <filepath>cfg/catalog.xml</filepath> file that specifies the custom XSLT style sheets.</cmd>

我想检查的一件事是 <cmd> 元素是否包含多个句子。现在,如果我提取上面 <cmd> 元素的文本内容,结果是这样的:

In the new plug-in directory, add a cfg/catalog.xml file that specifies the custom XSLT style sheets.

如果我将那段文本交给 Stanford CoreNLP,由于 cfg/catalog.xml 中的点,它认为该文本有两个句子,即使它实际上只是一个句子。

在这个特定的示例中,我可能在分析文本时省略 <filepath> 元素的内容并且效果很好,但情况并非总是如此。

关于如何在一般层面上最好地解决这个问题有什么建议吗?我想我正在寻找一种方法来忽略 <filepath> 的内容和出于某些目的的类似元素,或者以某种方式强制将它们识别为命名实体,如果这有意义的话。

您可以构建一个注释器,临时替换有问题的 tags/file-names,然后在句子拆分后恢复它们。

如果有机会,我会编写一些示例代码。