Python はNLTK
、多数のテキスト マイニングおよび処理メソッドと共に、テキストおよびコーパスの膨大なリソースであるライブラリを提供します。文が伝える意味に基づいて文を比較し、一致する可能性があるかどうかを判断する方法はありますか? つまり、インテリジェントなセンテンス マッチャーですか。
たとえば、 と のような文giggling at bad jokes
ですI like to laugh myself silly at poor jokes
。どちらも同じ意味を伝えますが、文はほとんど一致しません (単語が異なるため、Levenstein Distance
ひどく失敗するでしょう!)。
hereのような機能を公開する API があるとします。それに基づいて、単語giggle
とlaugh
do が伝える意味が一致するかどうかを調べるメカニズムがあります。Bad
までは一致しないpoor
ため、さらにレイヤーを追加する必要がある場合があります ( のような単語のコンテキストで一致するようjoke
に、bad joke
は一般に と同じですが、 ! とは同じpoor joke
でbad person
はありませんpoor person
)。
主な課題は、文の意味をあまり変えないものを破棄することです。したがって、アルゴリズムは、最初の文と次の文の間で同じ程度の一致を返す必要があります。I like to laugh myself silly at poor jokes, even though they are completely senseless, full of crap and serious chances of heart-attack!
それで、それが利用可能になったとして、このようなアルゴリズムはまだ考え出されていますか? それとも車輪を発明しなければなりませんか?