2016-04-09 6 views
1

私はOpenNLP文章検出ツールを試しています。テキストはファイル-para3.txtにあります。私はこのような出力を得るOpenNLPによる文章検出

opennlp SentenceDetector ../models/en-sent.bin < para3.txt 

::内容量:

Bob went to London Mary came from Paris Now everything is fine. 

私は、次のコマンドでこれを実行している理想的

Bob went to London Mary came from Paris Now everything is fine. 

を、私は出力として3つの文章を見ているだろう。

Bob went to London. 
Mary came from Paris. 
Now everything is fine. 

ここで、I tr 「完全停止」または「ピリオド」が存在する他のセンテンスの場合は、文の検出が正常に行われています。人間は、文章に3つの文章があると推測しましたが、OpenNLPでそれをどうやって完成させるのでしょうか? NLPのどのツールがここで助けてくれるでしょうか?文章検出の次のレベルは何ですか?

+0

文章チャンクのための最も訓練されたモデルは、頭字語、タイトルなどに使用される完全な停止またはドットとして現れるドットを区別しようとしています。特殊なテクニックを使用する必要があるか、モデル。 –

答えて

0

これは実際には不正なテキストのようです。チャッキング情報を使用して、ヒューリスティックを使用して文に分割することができます。

+1

はい、同意します。しかし、私の指摘は正確には - 不正なテキストを処理することでした... –

2

これらの文章を検出するためにモデルを訓練する必要があります。これは、ドキュメントに記載されている文章検出器の訓練です。 トレーニングファイルの作成 en-sent.train:トレーニングデータファイルのサンプル。唯一の要件は、以下のように各センテンスがトレーニングファイル内の別の行にあることです。

センテンス1

センテンス2

センテンス3

......

......

、コマンド・ライン・インターフェースの使用:

opennlp SentenceDetectorTrainer -model en-sent_trained.bin -lang en -data en-sent.train -encoding UTF-8 
を10

これは、モデルファイルを提供します:EN-sent_trained.bin

はこれが役に立てば幸いエンsent.binの代わりに、この.binファイルを使用します!

+0

ありがとう!試してみる。 –

関連する問題