0

我正在尝试编写一个(希望如此)简单的脚本来解析一个简短的段落。我需要它在两个单独的步骤中进行句子检测和标记化,以便用户可以在继续下一步之前编辑句子检测的输出。这是为了手动捕捉任何可以分解成更小的完整句子的句子。我将使用的散文将非常短,因此句子检测和编辑应该是微不足道的。一旦用户对句子输出文件感到满意,分词器应该进一步分解每一行。然后,结果将进入一个 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

有什么建议么?谢谢!

4

1 回答 1

0

您可以将其包含在您的BuildConfig.groovy 中
确保您mavenCentral()在您的存储库块中有,并在依赖项中添加 OpenNLP 的依赖项,您可以在此处找到。

应该看起来像这样:

repositories {
    grailsPlugins()
    grailsHome()
    mavenCentral()
} 
dependencies {
    compile 'org.apache.opennlp:opennlp-tools:1.5.2-incubating'
} 
于 2013-03-29T11:47:15.853 回答