基本的に、私は英語のテキストを受け取り、代名詞の性別を切り替えることになっているJavaモジュールを書いています。たとえば、「彼女は箱をテーブルに置いた」と言うと、「彼は箱をテーブルに置いた」と返されます。あなたがそれに「彼の足が痛い」と与えるならば、それはあなたに「彼女の足が痛い」を返すでしょう。
「彼女」という言葉を除けば、これはかなり簡単です。時々彼=彼女、時々彼=彼女。
私はほとんど何も知らないNLPを調べていて、OpenNLPを試しましたが、失敗しました(ライセンスの問題のため、Standford NLPを使用できません)。POSタガーとチャンカーは彼女/彼女と混同され、パーサーも混同されます。したがって、たとえば:
箱は彼のものでした。
(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (NP (PRP$ his))) (. .)))
箱は彼女のものでした。
(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (ADJP (JJ hers))) (. .)))
その箱は彼の箱だった。
(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (NP (PRP$ his) (NN box))) (. .)))
その箱は彼女の箱だった。
(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (NP (PRP$ her) (NN box))) (. .)))
「hers」を形容詞句として正しく識別しますが、述語で「his」をまったく同じように使用すると、3番目と4番目の例のように名詞を変更しているかのように、所有代名詞として誤って識別します。 ..
これは単なるトレーニングセットの問題ですか?これをよりうまく行う独自のトレーニングセット、基本的には彼/彼女の文章がたくさんあるセットを作成することは可能でしょうか?
NLPを使用して代名詞の先行詞を判別する方法があるかどうかを教えていただければ、ボーナスポイントが得られます。例えば:
"Wanda gave a watch to a girl named Lucy. She loved it."
私の推測では、これは人間にとってさえ難しいこともあるので、これはほとんど不可能です。