openNLP NameFinderモジュールで使用されるアルゴリズムを指摘できますか? コードは複雑であり、まばらに文書化されていて、ブラックボックス(デフォルトのモデルが提供されている)として再生すると、ほとんどの場合ヒューリスティックな印象を受けます。 ここでは、入力と出力のためのいくつかの例は次のとおりです。openNLP(デフォルトモデル)による名前付きエンティティ認識
入力:
ジョン・スミスがイライラしています。
john smithが不満です。
バラクオバマは不満です。
ヒューゴチャベスは不満です。 (これ以上)
ジェフアトウッドはイライラしています。
Bing LiuはopenNLP NERモジュールに不満を抱いています。
ノーム・チョムスキーは世界に不満を持っています。
ジェイデン・スミスは不満です。
スミスジェイデンは不満です。
レディガガは不満です。
ガガさんはイライラしています。
Mrs. Gagaはイライラしています。
ジェイデンは不満です。
劉さんは不満です。
出力(Iブラケットを正方形にダイヤモンドを変更):
[START:人]ジョン・スミス[END]はイライラです。
john smithが不満です。
[START:人]バラクオバマ[END]が挫折しています。
ヒューゴチャベスは不満です。 (もうこれ以上)
[START:人] Jeff Atwood [END]は挫折しています。
Bing LiuはopenNLP NERモジュールに不満を抱いています。
[START:人]ノーム・チョムスキー[END]は、世界に不満を持っています。
ジェイデン[START:人]スミス[END]が挫折しています。
[START:person] Smith [END] [START:person] Jayden [END]は不満です。
レディガガは不満です。
ガガさんはイライラしています。
Mrs. Gagaはイライラしています。
ジェイデンは不満です。
劉さんは不満です。
モデルは、トレーニングデータに注釈が付けられている名前の固定リストを単に学習し、いくつかのタイリングと組み合わせを可能にするようです。 2つの注目すべき例は、
- です。氏名やMrs.などの強い名前のインジケータは無視されます。
- Jayden(2011年に米国で4番目に人気のある名前)は特定されていませんでしたが、次の「Smith」(「Jayden Smith ...」)が特定されました。私は、そのモデルが大文字のJaydenが文頭にあると思っているのは文章の始まりであり、NEであるとは思わないと思う。 "Smith Jayden"のヒント(1と仮定)を逆にして、openNLPはそれを "John Smith"のような他のフルネームとは異なり、 "Smith"が最後の名前リストにあると示唆します。
- >私は困惑していて、誰かがアルゴリズムを指すことができれば、私は感謝するでしょう。
p.s.興味深いものの、トピックではないこの微妙な違いで、StanfordとUIUCの両方のNERシステムのパフォーマンスは向上します(この問題はそのままです)
ありがとう!私はEMがここで貧しい仕事をしています。興味深いのは、フィーチャーセットが何であるかです。言葉?大文字?文は '。'で分割されます。だからMr.さんは役に立たない? 私は個人的にスタンフォードNERを使用しており、とても満足していますが、私はopenNLPの奇妙な結果が不思議でした。 – ScienceFriction