5

1 つ以上の人名を含む入力テキストがあります。これらの名前の辞書はありません。入力テキストから名前を定義するのに役立つ Java ライブラリはどれですか? OpenNLP を調べましたが、コードに適用する方法の例やガイド、または少なくとも説明は見つかりませんでした。(私は javadoc を見ましたが、そのようなプロジェクトのドキュメントはかなり貧弱です。)

ランダムなテキストから名前を見つけたい。入力テキストが「私の友人のジョー・スミスが店に行きました。」の場合、「ジョー・スミス」を取得します。私は、人間の名前を理解できる、より小さな辞書に基づいて、スマート エンジンに十分な大きさの辞書が必要だと思います。

4

10 に答える 10

3

OpenNLP には Named Entity 認識があります。ドキュメントの英語名の検索セクションを確認してください。しかし、私の経験では、エンティティを識別しますが、それに関連付けられたタグはありません。(正確には、タグがあいまいに割り当てられていることがわかりました。) したがって、「私の友人のジョー・スミスがウォルマートの店に行った」という文がある場合、OpenNLP は「ジョー・スミス」と「ウォルマート」という 2 つの名前付きエンティティを識別します。「Joe Smith」を個人として、「Walmart」を組織としてタグ付けできませんでした。

Matt が提案したように、商用ツールですが、LingPipe を試すことができます。オープン ソースの代替手段には、MorphAdornerStanford NERがあります。

于 2009-12-11T03:26:24.823 に答える
3

私はLingPipeを調べます。このデモをご覧ください。ちなみに、あなたがやろうとしていることは「固有表現認識」と呼ばれるものです。正しく理解するのは難しい CS の問題です。

于 2009-12-09T18:20:33.623 に答える
2

あなたが何をしているのかについての詳細を待っている間、少なくとも米国の人口統計では、一般的な名のリストへのリンクがいくつかあります。

あなたのタスクは、参照情報なしでNLPができることのようには聞こえないので、チェックするためにこれら(および/またはそれ以上)が必要になると思います。

于 2009-12-09T18:21:54.900 に答える
1

OpenNlp の NER モデルには person タイプがあります。opennlp Web サイトからプロジェクトとモデルをダウンロードし、models Web サイトからモデルを取得します (Opennlp ページにリンクがあります)。次に、http: //www.asksunny.com/drupal/?q=node/4 にアクセスします。これは、モデルをロードして NER を実行する方法の良い例です。NER は決して完璧ではないので、がっかりしないでください。

于 2011-09-14T02:27:56.697 に答える
1

ここでフリーテキストからの人物抽出を確認できますhttp://code.google.com/p/graph-expression/wiki/Examples

于 2011-05-20T05:24:24.200 に答える
1

スタンフォードの Name Entity Recognizer (NER) を使用することをお勧めします。スタンフォード NER は多くの分類子を提供します。スタンフォード NER が提供する分類子の 1 つは、指定されたテキストから名前、場所、および組織を識別できます。

このリンク http://nlp.stanford.edu:8080/ner/で、スタンフォード NER のオンライン デモを見つけることができます。

于 2014-01-29T14:21:17.867 に答える
0

また、セマンティックの観点から、OpenCycおよびWordNetプロジェクトをより興味深いものとして見ることもできます。

于 2009-12-10T17:15:34.940 に答える
0

この問題は、自然言語処理における固有表現認識で対処されており、現時点では少し難しい問題と考えられています。ただし、そのために使用できるツールはたくさんあります。これにはスタンフォード NER を使用しましたが、これは優れたソフトウェアです。

于 2012-07-20T10:52:29.093 に答える
0

テキスト処理ライブラリである Stanford NER を試す

http://nlp.stanford.edu:8080/ner/

于 2014-07-18T05:07:34.087 に答える