2010-11-29 7 views
4

Luceneでエンティティ抽出(もっとマッチングに似ています)をしようとしています。Luceneでエンティティ抽出を行うにはどうすればいいですか

一部のテキスト(URLから)と人名のリストがある場合、テキストから人の名前を抽出してみてください。

注:人の

名前が完全に 正規化されません。例えばいくつかはX氏、Mrs. Y、一部はJohn Doe、XとYです。 と思われるその他の接頭辞と接尾辞は、Jr.、Sr.、Dr.、I、II ... など非 米国の名前で始めることはできません)。

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

大きな問題は、スコアを0.01としてスコアを使用し、「John Doe」のようなクエリのスコアが「John Doe」に比べて著しく低いことです。テキストに「John多くの場合、0.01閾値を逸している。

もう1つの問題は、私がすべての名前を正規化し、Dr. Mrs. Mrs.などのすべての発生を取り除くと、「Dr. John Edward II」のような良いマッチがなくなってしまい、多くのジャンク"John Edward"のように一致します。

私は、Luceneが仕事のための適切なツールではないかもしれないことを理解していますが、それまではそれほど悪くないことは証明されていません。どんな助けもありがたい。

答えて

2

NEEは、ではなく、ルーセンの一部であるNLPタスクです。オープンソースの場合、lingpipeとgateとopennlpを見ることができます。さまざまな代金の選択肢があります。

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

+0

我々は門を試しましたが同じに実行されている...あまりにもDBpediaの-スポットライトのWebサービスを使用することができます種類の問題。高い偽陽性。これは必ずしも悪いことではありませんが、可能な限りこれを微調整しようとしています。 – ankimal

+0

さて、私たちの中には、お金のためにこのものを売る理由があります。商用ソリューションに興味がある場合は、その旨をコメントしてください。連絡先をお送りします。 – bmargulies

0

人間の名前の曖昧さは悪名高く難しいです。あなたが場所や名前の共存などの他の情報を持っているなら、これは貴重です。しかし著者の曖昧さ回避にはまだ多くの作業があり、通常は名前のリストから解決することはできません。

ここには代表的なプロジェクトhttp://code.google.com/p/bibapp/wiki/AuthorAuthoritiesがあります。そして、典型的な出版物http://www.springerlink.com/content/lk07h1m311t130w4/

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

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

0

を作者の曖昧さ回避のために役立つ記録deduplicationsのプロジェクトです。http://opennlp.apache.org/

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

完全にuninitiatedのために 本のテイストのテキスト:http://www.manning.com/ingersoll/は良い概要を提供します。また、上記のリンクから本のソースコードをダウンロードすることもできます。

関連する問題