みなさんこんにちは!
イザナギです!
さて、今回はWMD(Word Mover's Distance)について調べる機会があったので、まとめてみたいと思います!
WMD(Word Mover's Distance)とは?
「Word Mover's Distance」をDeepL翻訳(Google翻訳でうまくいかなかったのでwww)で翻訳してみると以下通りになります。
「単語の移動距離」
直訳しても少し分かりに聞いですねwww
要するに、単語(文章)の距離(非類似度)を計算してくれるわけです!
例えば以下の例文で実験してみましょう!
- 私は犬が好きです
- 私は犬が好きです
- 私は犬が好きです
- 私は猫が好きです
プログラムの処理上テキストは分かち書きしています。
画像内の一番下が「Word Mover's Distance」の結果です。
同じ文章だと数値は「0」になります。
つまり、0に近ければ類似度が高いということになります。
犬を猫に変えただけでは、それほど値は変わりませんね。
これは「Word Mover's Distance」特性によるものらしいです。
詳しく知りたい方はこちらのサイトを参考にしてみてください。
「英語が難しいよ!」って方はこちら!
日本語のサイトの方にこんな文章を見つけました。
WMDではこの性質を利用して文書間の距離を求めます。 その考え方は大雑把に言えば、文書Aの語を類似する(=分散表現間の距離が小さい)語で置き換えて文書Bに変換できるならば、文書A, Bの類似度は大きい(=距離が小さい)というようなものです。https://yubessy.hatenablog.com/entry/2017/01/10/122737