0

短い段落を解析する (できれば) 簡単なスクリプトを作成しようとしています。ユーザーが次のステップに進む前に文検出の出力を編集できるように、2 つの別々のステップで文検出とトークン化を行う必要があります。これは、より小さな完全な文に分割できる文を手動でキャッチするためです。私が扱う散文はかなり短いので、文の検出と編集は簡単です。ユーザーが文の出力ファイルに満足したら、トークナイザーは各行をさらに分解する必要があります。結果は 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 の依存関係を追加します。これは here にあります

次のようになります。

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