2017-04-17 6 views
1

私はApache OpenNLPを使用して、テキストの日付エンティティを識別しようとしています。Apache OpenNLP名前間違った単語を特定するエンティティファインダ

<START:date> {dd/MM/yyyy} <END> . 

各タグはOpenNLPによって定義された形式の文である:私は、次の形式で日付の範囲を使用してタグを生成し、小さなJavaプログラムを作成しました。

約400kのエントリを生成し、モデルを訓練しました。訓練の後、私はTokenNameFinderをコマンドラインで使用してすべての単語が正しいかどうかを確認しようとしましたが、私はそれを日付のついたエンティティとして識別しました。私はそれが私が日付を除いてそれを任意の単語を提供しなかったことになると考えていた

<START:date> today <END> <START:date> is <END> <START:date> 17/04/2017 <END> 

はので、私はランダムを使用しようとした:例えば、私は時に入力された:私が得たもの

today is 17/04/2017 

ましたタグの前後に文字列がありますが、トレーニング時間は永遠にかかっていました。

私のトレーニングデータセットや他の何かに問題がある場合、誰にでも教えていただけますか?

+1

トレーニングデータの小さなスニペットを提供できますか?また、トレーニングに使用したコマンドラインまたはコードをコピーします。 Tks。 – wcolen

答えて

2

機械学習の名前ファインダーモデルを学習するには、ランタイムデータのできるだけ近くにトレーニングコーパスが必要です。あなたの日付がうまく動作し、機械学習が必要ない場合は、RegexNameFinderに基づいて正規表現を試すことができます。

トレーニングが永遠に行われている場合、ドキュメントのサイズが大きすぎるか、文書の最後をマークするための空白行がほとんどありません。詳細については、Named Entity Recognitionのドキュメントを参照してください。

+0

+1(日付のためにRegexNameFinderを使用する場合は、 "正常に動作する"形式のため:)。または、https://github.com/HeidelTime/heideltimeを使用して調べることもできます – Igor

関連する問題