はじめに この記事では、Tensorflow Hubに公開されている 多言語Universal Sentence Encoder を試してみます。 Universal Sentence Encoderとは Transformerを自然言語処理の様々なデータセットを使ってマルチタスク学習させて得られた文表現ベクトルのエンコーダーです。今回使うのは多言語バージョンで、英語、フランス語、ドイツ語、スペイン語、イタリア語、中国語、韓国語、日本語のタスクで学習されたものです。 文の類似度の可視化 いくつかの文章を入力して文表現ベクトルを作成し、互いに内積を取ることで各入力文がどれくらい近いかを測ります。結果はヒートマップで可視化します。 スクリプト Googleが公開しているColabを参考にしたコードです。実行した時にmatplotlibとseabornの文字化けが発生する場合があります。そのとき
![多言語Universal Sentence Encoderを使う - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/22a21a2303b6588ce98edb8148604c05497108cf/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9JUU1JUE0JTlBJUU4JUE4JTgwJUU4JUFBJTlFVW5pdmVyc2FsJTIwU2VudGVuY2UlMjBFbmNvZGVyJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJTg2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03MDI2ODE0ZmMzNmY2NmUwNTA2Zjk2MDFhNmYyMjgxYw%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2hpbWFva2Fzb25zZSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZmE3ZDkzZmVkN2IyOWE0ZTU4YmUxZmNiZWM0M2M1OWM%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D0f6276e53d59a8fecb184e6542bc7065)