我正在尝试编写一个(希望如此)简单的脚本来解析一个简短的段落。我需要它在两个单独的步骤中进行句子检测和标记化,以便用户可以在继续下一步之前编辑句子检测的输出。这是为了手动捕捉任何可以分解成更小的完整句子的句子。我将使用的散文将非常短,因此句子检测和编辑应该是微不足道的。一旦用户对句子输出文件感到满意,分词器应该进一步分解每一行。然后,结果将进入一个 XML 文件。最终结果应该是这样的:
原始输入:“约翰喜欢玛丽,玛丽喜欢约翰。”
编辑后的句子输出:
John likes Mary and Mary likes John.
John likes Mary
and
Mary likes John.
最终输出:
<fullText>
<snippet value="John likes Mary and Mary likes John.">
<snippet value="John likes Mary">
<snippet value="John"/>
<snippet value="likes"/>
<snippet value="Mary"/>
</snippet>
<snippet value="and"/>
<snippet value="Mary likes John.">
<snippet value="Mary"/>
<snippet value="likes"/>
<snippet value="John"/>
<snippet value="."/>
</snippet>
</snippet>
</fullText>
我遇到过OpenNLP,它似乎同时具有我需要的句子检测器和标记器,但我是 Groovy 的新手,我无法弄清楚如何在我的脚本中使用这些工具。我尝试使用此处找到的代码,但无法使其正常工作。我的脚本中有以下代码,但我收到一个错误,即找不到 TokenizerModel。
@Grapes(
@Grab(
group='org.apache.opennlp',
module='opennlp',
version='1.5.1-incubating'
)
)
import opennlp.tools.tokenize.*
static TokenizerModel tokenizerModel
有什么建议么?谢谢!