4

オンラインマニュアル(http://opennlp.apache.org/documentation/1.5.2-incubating/manual/opennlp.html)に従って、en-ner-person.trainという15k行のトレーニングデータドキュメントを作成しています。

私の質問は、トレーニングドキュメントにレポート全体を含めるかどうかです。または、次の名前の行のみを含めます<START:person> John Smith <END>か?

たとえば、このレポート全体をトレーニングデータで使用しますか?

<START:person> Pierre Vinken <END> , 61 years old , will join the board as a nonexecutive director Nov. 29 .
A nonexecutive  director has many similar responsibilities as an executive director.
However, there are no voting rights with this position.
Mr . <START:person> Vinken <END> is chairman of Elsevier N.V. , the Dutch publishing group .

または、トレーニングドキュメントに次の2行のみを含めますか?

<START:person> Pierre Vinken <END> , 61 years old , will join the board as a nonexecutive director Nov. 29 .
Mr . <START:person> Vinken <END> is chairman of Elsevier N.V. , the Dutch publishing group .
4

2 に答える 2

7

レポート全体を使用する必要があります。これは、システムがエンティティをマークしないタイミングを学習するのに役立ち、偽陰性スコアを改善します。

評価ツールを使用して測定できます。コーパスの一部の文(たとえば、全体の1/10)をテスト用に予約し、他の9/10文を使用してモデルをトレーニングします。レポート全体と、名前の付いた文だけを使用した別のレポートを使用してトレーニングを試すことができます。結果は、適合率と再現率の観点から得られます。

名前のある文だけでなく、レポート全体でテストサンプルを保持することを忘れないでください。そうしないと、名前のない文でモデルがどのように実行されるかを正確に測定できません。

于 2012-07-08T19:24:57.273 に答える
2

すべてがトレーニング済みモデルの重みに寄与しない場合でも、すべてを含めます。

トレーニング ファイルから何が使用され、何が使用されないかは、モデルのトレーニングに使用される特徴ジェネレーターによって決まります。機能ジェネレーターを実際に微調整するところまで来たら、トレーニング ファイルに既にすべてが含まれていれば、少なくともトレーニング ファイルを再構築する必要はありません。

ドキュメントのこの例の機能ジェネレーターは、名前ファインダーに使用されるコードのデフォルトのものでもあります: Custom Feature Generation

AdaptiveFeatureGenerator featureGenerator = new CachedFeatureGenerator(
         new AdaptiveFeatureGenerator[]{
           new WindowFeatureGenerator(new TokenFeatureGenerator(), 2, 2),
           new WindowFeatureGenerator(new TokenClassFeatureGenerator(true), 2, 2),
           new OutcomePriorFeatureGenerator(),
           new PreviousMapFeatureGenerator(),
           new BigramNameFeatureGenerator(),
           new SentenceFeatureGenerator(true, false)
           });

私はそのコードの塊を完全に説明することはできず、それに関する適切なドキュメントを見つけていないか、それを理解するためにソースを調べていませんが、そこにある WindowFeatureGenerators はトークンとトークンのクラスを考慮に入れています (たとえば、そのトークンが既に人としてラベル付けされます) 検査されるトークンの前後の +/-2 位置。

そのため、エンティティを含まない文のトークンが、エンティティを含む文に影響を与える可能性があります。余分なセンテンスを切り取ることで、次のように名前で終わるセンテンスの後に a name で始まるセンテンスが続くような不自然なパターンでモデルをトレーニングしている可能性があります。

The car fell on <START:person> Pierre Vinken <END>. <START:person> Pierre Vinken<END> is the chairman.
于 2013-05-20T03:43:08.373 に答える