4

Luceneでエンティティ抽出(マッチングのようなもの)を実行しようとしています。サンプルワークフローは次のとおりです。

(URLからの)テキストと人の名前のリストを指定して、テキストから人の名前を抽出してみてください。

ノート:

人の名前は完全に正規化されていません。たとえば、X氏、Y夫人、John Doe、X、Yだけの人もいます。他の接頭辞と接尾辞は、Jr.、Sr.、Dr.、I、II ...などです(私に言わせないでください)。米国以外の名前から始めてください)。

Lucene MemoryIndexを使用して各URLからテキストのメモリ内インデックスを作成し(htmlタグを削除)、StandardAnalyzerを使用してすべての名前のリストを一度に1つずつ照会しています(100kの名前、他に方法はありますか?これ?平均して、これは私が持っている平均的なテキストで約8秒かかります)。

主な問題は、ノイズを除去するために、ベーススコアとして0.01のスコアを使用し、テキストに「John Doe」が含まれている場合、「Mr。John Doe」のようなクエリは、「JohnDoe」と比較してスコアが大幅に低くなることです。多くの場合、0.01のしきい値を見逃しています。

もう1つの問題は、すべての名前を正規化し、Dr。Mrs.などの出現箇所をすべて削除し始めると、「Dr。John Edward II」のような良い一致が失われ始め、「Mr。 。ジョンエドワード」。

Luceneもその仕事に適したツールではないかもしれないことは理解していますが、これまでのところ、それほど悪くはないことが証明されています。助けていただければ幸いです。

4

5 に答える 5

2

NEE はlucene の一部ではないNLP タスクです。オープン ソースについては、lingpipe と gate と opennlp を参照してください。さまざまな有料オプションがあります。

GATE は完全にルールベースであり、高精度を求めるのは難しいでしょう。そのためには統計エンジンが必要です。lingpipe には 1 つありますが、トレーニング データを提供する必要があります。この分野のopennlpの内容については最新ではありません。

于 2010-11-29T21:12:06.637 に答える
0

人間の名前の曖昧性解消は、悪名高いほど難しいことです。場所や名前の共起などの他の情報がある場合、これは価値があります。しかし、著者の曖昧さを解消するためにまだ多くの作業が行われており、通常、名前のリストだけでは解決できません。

これが典型的なプロジェクトhttp://code.google.com/p/bibapp/wiki/AuthorAuthoritiesです。そして典型的な出版物http://www.springerlink.com/content/lk07h1m311t130w4/

これは、著者の曖昧さの解消に役立つと思われるレコードの重複排除に関するプロジェクトですhttp://datamining.anu.edu.au/projects/linkage.html

于 2010-11-29T21:14:34.607 に答える
0

OpenNPL は便利です。http://opennlp.apache.org/

サイトにはドキュメントと例があります。

完全に初心者向け The book Taming Text : http://www.manning.com/ingersoll/ は良い概要を提供します。上記のリンクから本のソースコードをダウンロードすることもできます。

于 2013-05-13T01:51:43.007 に答える
0

これらのプロジェクトはあなたに役立つかもしれません:

http://nlp.stanford.edu/ner/index.shtml

http://cogcomp.cs.illinois.edu/page/software_view/4

于 2010-11-30T09:07:29.397 に答える
0

これを試すことができます.. http://alias-i.com/lingpipe/demos/tutorial/ne/read-me.html

ドキュメントは明確です。DBPedia-Spotlight Web サービスも使用できます...

http://spotlight.dbpedia.org/rest/spot/?text=

于 2014-02-21T05:35:41.713 に答える