2017-07-19 13 views
1

私は多くのNERツール(OpenNLP、スタンフォードNER、LingPipe、Dbpedia Spotlightなど)に手を差し伸べました。名詞ベースの名前付きエンティティ認識(NER)システムを作成するにはどうすればよいですか?

しかし、常に私を忌避してきたのは、無料のテキストがあらかじめ定義されたエンティティ名のリストと照合され、潜在的な一致が返される、地名辞典/辞書ベースのNERシステムです。

このようにして、私はPERSON、ORGANIZATIONなどのようなさまざまなリストを持つことができました。リストを動的に変更して別の抽出を得ることができました。これはトレーニング時間を大幅に短縮します(その大部分はmaximum entropy modelに基づいているため、大規模なデータセットにタグを付けたり、モデルをトレーニングするなど)。

私はOpenNLP POSタガーを使って非常に粗末な地名辞典ベースのNERシステムを構築しました。そこからすべての固有名詞(NP)を取り出し、私のリストから作成したLuceneインデックスでそれらを検索しました。しかし、これは私に多くの誤認をもたらします。例えば、私のルーキー指数が「サムスンエレクトロニクス」で、私のPOSタガーが私に「エレクトロニクス」をNPとして与えた場合、私は部分一致をしているので、私は「サムスン電子」を返すだろう。

私はまた、CRFアルゴリズムの特徴として地名辞典を使用することについて話している人々を読んでいます。しかし、私はこれを理解できませんでしたapproach

私は、地名辞典や辞書にNERを組み込む明確で堅実なアプローチに導くことができますか?

答えて

2

私はこれがあなたが探していると思われるので、地名辞典の使用をより明確にしようとします。使用どのような学習アルゴリズム(CRF、MAXENT、など)彼らはほとんどの時間をしているアカウント機能、を考慮する:

  • トークンが
  • 総額
  • 地名辞典スピーチの
  • 一部
  • (さらにはそれ以上)

実際には、注釈機能は中間情報は、訓練ステップが、訓練コーパスに存在するNEのリストに明示的に依存することなく、考慮されることを示す。たとえば、モデルを訓練してから、モデルを再度訓練しなくても、リストをできるだけ拡大することができれば、スポーツチームについての地味な言い回しがあるとしましょう。このモデルは、記載されているスポーツチームをスポーツチームとみなします。実際に

  1. は地名辞典が有用であるかを決定します任意のNERまたはMLベースのフレームワーク
  2. を使用してください(これはおそらく最も重要な部分である)
  3. それぞれに影響は、関連するタグ(例えば地名辞典スポーツチーム、企業、都市、モニュメントなど)のNE
  4. の大きなリストと
  5. 移入の地名辞典は、あなたのモデルは、アカウントにこれらの地名辞典を取る作る
  6. もあり、電車の関連コーパスのモデル(それが地名辞典から多くのNEを含む必要があります)
  7. は、としてあなたのリストを更新します。あなたと同じくらいです。

これは役に立ちます。

関連する問題