22

固有表現抽出(NER)を使用して、データベース内のテキストに適切なタグを見つけたいと思います。

これに関するウィキペディアの記事や、NERについて説明している他の多くのページがあることを知っています。このトピックについて、あなたから何か聞いていただければ幸いです。

  • さまざまなアルゴリズムでどのような経験をしましたか?
  • どのアルゴリズムをお勧めしますか?
  • 実装が最も簡単なアルゴリズム(PHP / Python)はどれですか?
  • アルゴリズムはどのように機能しますか?手動トレーニングは必要ですか?

例:

「昨年、私はバラク・オバマを見たロンドンにいました。」=>タグ:ロンドン、バラク・オバマ

あなたが私を助けてくれることを願っています。事前にどうもありがとうございました!

4

6 に答える 6

13

Python を使用する予定がある場合は、まずhttp://www.nltk.org/をチェックしてください。私の知る限り、コードは「産業用強度」ではありませんが、始めるには役立ちます。

http://nltk.googlecode.com/svn/trunk/doc/book/ch07.htmlのセクション 7.5 を確認してください。ただし、アルゴリズムを理解するには、おそらく多くの本を読む必要があります。

http://nlp.stanford.edu/software/CRF-NER.shtmlもチェックしてください。それはJavaで行われ、

NER は簡単なテーマではなく、おそらく誰も「これが最良のアルゴリズムだ」とは言いません。ほとんどのアルゴリズムには長所と短所があります。

私の0.05ドル。

乾杯、

于 2009-06-22T13:53:39.320 に答える
3

それはあなたが望むかどうかによって異なります:

NER について学習するには: NLTKおよび関連書籍から始めることをお勧めします。

最適なソリューションを実装するには: ここでは、最先端の技術を探す必要があります。TRECの出版物をご覧ください。より専門的な会議はBiocreative です(狭い分野に適用された NER の良い例です)。

最も簡単な解決策を実装するには: この場合、基本的には単純なタグ付けを行い、名詞としてタグ付けされた単語を引き出します。nltk のタガーを使用するか、PyWordnet で各単語を調べて、最も一般的な単語センスでタグ付けすることもできます。


ほとんどのアルゴリズムはなんらかのトレーニングを必要とし、タグ付けを要求する内容を表すコンテンツでトレーニングされたときに最高のパフォーマンスを発揮します。

于 2009-06-22T14:05:15.833 に答える
-11

NERについてはよくわかりませんが、その例から判断すると、単語などの大文字を検索するアルゴリズムを作成できます。そのため、小規模なことを考えている場合は、最も簡単に実装できるソリューションとして正規表現をお勧めします。

もう1つのオプションは、テキストをデータベースと比較することです。データベースと一致する文字列は、対象のタグとして事前に識別されています。

私の5セント。

于 2009-06-22T12:38:28.677 に答える