2017-02-13 2 views
0

私は、特定の項目へのすべての参照を見つけるためにテキストを解析しようとしています。たとえば、私のアイテムがThe Bridge on the River Kwaiで、このテキストを渡した場合は、大胆に入れたすべてのインスタンスを検索したいと思います。StanfordNLPで提供された名詞へのすべての参照を見つける

クワイ川上の橋は、デビッドが監督1957年、イギリス・アメリカの大作戦争映画 がリーンとウィリアム・ホールデン、ジャック・ホーキンス、アレック・ギネス 、および早川雪洲主演です。 フィルムはフィクションの作品ですが、 は、歴史的設定として のために1942-1943年にビルマ鉄道の建設を借りています。 映画はセイロン(現在のスリランカ)で撮影されました。 映画の橋はKitulgalaの近くにあった。

これまでのところ、私の試みでは、各CorefChainに付随するすべての言及を辿って、自分のターゲット文字列の狩りをループしていました。ターゲット文字列を見つけたら、CorefChain全体を追加します。これは、CorefChain内の他の項目も同じことを指していると思います。

List<CorefChain> gotRefs = new ArrayList<CorefChain>(); 
String pQuery = "The Bridge on the River Kwai"; 

for (CorefChain cc : document.get(CorefCoreAnnotations.CorefChainAnnotation.class).values()) { 
    List<CorefChain.CorefMention> corefMentions = cc.getMentionsInTextualOrder(); 
    boolean addedChain = false; 
    for (CorefChain.CorefMention cm : corefMentions) { 
     if ((!addedChain) && 
       (pQuery.equals(cm.mentionSpan))) { 
      gotRefs.add(cc); 
      addedChain = true; 
     } 
    } 
} 

私はその後CorefChainsのこの第二のリストをループでは、各鎖のために言及し、再取得し、それらをステップ。そのループでは、どの文章が文章の中で自分の言葉に言及しているかを示します。

for (CorefChain gr : gotRefs) { 
    List<CorefChain.CorefMention> corefMentionsUsing = gr.getMentionsInTextualOrder(); 
    for (CorefChain.CorefMention cm : corefMentionsUsing) { 
     //System.out.println("Got reference to " + cm.mentionSpan + " in sentence #" + cm.sentNum); 
    } 
} 

私の参考文献の中にはいくつかのものがありますが、それほど多くはありませんが、多くの誤認があります。これを読んだことから完全にはっきりと分かるように、私はNLPについての最初のことを本当に知りません - 私はこれをまったく間違った方法で行っていますか? StanfordNLPパーサーは、私が後にしていることのいくつかを既に行いますか?私は何らかの形でモデルを訓練するべきですか?

+0

ここでは、「本当に簡単に行うことはできません」という回答が有効な回答として受け入れられることを指摘しておきます。 :) –

答えて

1

あなたなら、私は

...あなたの例での問題は、あなたが映画のタイトルへの参照を探しているということで、映画のタイトル、書籍のタイトルなどを認識するためにスタンフォードCoreNLPにサポートがないと思いますこの例を見てください:

「ジョーはラップトップを買った。彼はそれに満足している」

あなたはそれが接続されていることがわかります:

"ジョー" - > "彼"

"ノートパソコン" - > "それ"

共参照は、積極的な研究でありますまた、最高のシステムでさえ、一般的なテキストで約60.0のF1を生成することが実際にしか期待できません。つまり、エラーが頻繁に発生します。

+0

ありがとうございました!私はこの1つのタイトルを認識するために訓練できる方法はありますか?それが人や何かと認識しても大丈夫です。 –

関連する問題