26

任意の 2 つの文が互いにどの程度類似しているかを計算したいと考えています。例えば:

  1. 数学者が問題の解決策を見つけました。
  2. その問題は若い数学者によって解決されました。

タガー、ステマー、パーサーを使用できますが、これらの文が類似していることを検出する方法がわかりません。

4

3 に答える 3

33

これらの 2 つの文は似ているだけでなく、ほとんどパラフレーズです。つまり、同じ意味を表現する 2 つの代替方法です。これは言い換えの非常に単純なケースでもあり、どちらの発話も同じ単語を使用しますが、一方が能動態で他方が受動態であるという唯一の例外があります。(2 番目の文では数学者が「若い」ため、この 2 つの文は正確な言い換えではありません。この追加情報により、2 つの文の間の意味関係が非対称になります。これらの場合、2 番目の発話は最初の発話を「伴う」と言えます。つまり、最初のものは 2 番目のものから推測できるということです)。

この例から、あなたが実際に言い換え検出、テキスト含意、または一般的な文の類似性に興味があるかどうかを理解することはできません。これは、さらに広範であいまいな問題です。たとえば、「人々 は食べ物を食べる」は「人々 はパンを食べる」または「男性は食べ物を食べる」に似ていますか?

言い換え検出とテキストの類似性はどちらも、自然言語処理における複雑で未解決の研究課題であり、研究者の大規模で活発なコミュニティが取り組んでいます。このトピックに対するあなたの関心の程度は明らかではありませんが、多くの優秀な研究者がキャリア全体を費やしてそれを解読しようとしてきたとしても、一般的に機能する健全なソリューションを見つけるにはまだほど遠いことを考慮してください.

特定のケースでのみ機能し、(この場合のように) 構文上の変化を捉えない非常に表面的な解決策に興味がない限り、テキストの類似性の問題をより深く調べることをお勧めします。統計的自然言語処理のほとんどのトピックについて非常によく整理されたプレゼンテーションを提供する書籍「Foundations of Statistical Natural Language Processing」が良い出発点になります。要件を明確にしたら (たとえば、メソッドが機能するはずの条件は何か? 求めている精度/再現率のレベルは? どのような種類の現象を安全に無視でき、どの現象を考慮する必要があるか?)、次のことができます。最近の研究成果に飛び込んで、特定のアプローチを調べ始めます。ここで、開始するのに適した場所はAssociation for Computational Linguistics (ACL) のオンライン アーカイブ。この分野でのほとんどの研究結果の発行者です。

実用的なものを提供するために、文の類似度の非常に大まかなベースラインは、文を単語の袋として表す 2 つのバイナリ ベクトル間のコサイン類似度になります。バッグ オブ ワードは、テキストを非常に単純化した表現であり、一般に情報検索に使用されます。この場合、構文は完全に無視され、語彙のサイズ (つまり、言語内の単語の数) と同じサイズのベクトルとして文のみが表現されます。 ) であり、語彙の位置 "i" にある単語が文に出現する場合、コンポーネント "i" の値は "1" になり、それ以外の場合は "0" になります。

于 2013-04-21T16:42:54.547 に答える
1

場合によっては、文をその意味を表す談話表現構造に自動的に変換することが可能です。2 つの文が同じ談話表現構造を生成する場合、それらは同様の意味を持つ可能性があります。

于 2016-12-25T04:36:09.653 に答える