異なる「しょうぶ」 を見分けるGoogle の同義語システム
Google は、検索を使いやすくするために、日々改善を続けています。昨年は、検索結果ページのリニューアルやレシピ検索等、ユーザーの皆さんに見える機能を含め、500 以上の改善を施しています。今日は「見えにくい」改善のひとつとして、同義語システムについてご紹介します。
日本語には、ひらがな、カタカナ、漢字、アルファベット等、多様な種類の文字があり、同じ言葉でも、さまざまな書き方があります。文字種違いの同義語への取り組みについては、以前の記事でもご紹介しましたが、これは、一見簡単そうで実は奥の深い問題です。一見すると、日本語入力に使っている辞書のようなものがあればよいように思いますが、人手を介さずに正しい同義語を見つけるのは単純ではありません。
たとえば、「しょうぶ」という言葉は「勝負」「菖蒲」「尚武」などさまざまな漢字を当てることができますが、それぞれ異なる意味を持っていて、探している情報も異なります。ですので、Google 検索エンジンは、[しょうぶ こどもの日]で検索したときには「菖蒲」に関する結果を、[しょうぶ めんこ]と検索した時には「勝負」に関する結果が表示されるようになっています。
外国語になると、読み方は慣習や言語の種類によってさまざまな可能性があり、もう少し複雑です。たとえば、「-or」 が語尾の言葉には、Vector や Mirror がありますが、Vector は「ベクトル」、「ベクタ」、「ベクター」等の複数の読み方がありますが、Mirror は、「ミロル」「ミラ」ではなく、「ミラー」が正しい読み方です。人名の「Plato」は、パッと見た瞬間に「プラト」「プレート」といった読み方を想像しますが、最も一般的な日本語の読み方は「プラトン」です。これはもともとギリシア語の読みにそったものですが、言葉の綴りに対応する読みが不規則なことがお分かりいただけると思います。
スクリーンショットは[Plato 著書]の結果です。一つ目の結果が「プラトン」に関するものになり、「プラトン」の文字が太字で表示されているところから、Googleが「Plato」という文字列を、「プラトン」に関連する情報と認識していることがわかります。
Google では、このような複雑な書き換えを実現するために、Webなどの大量のデータから自動的に学習した知識を使っています。その知識は、新しい言葉の出現や、新しい学習アルゴリズムの開発の結果、たびたび更新されていて、検索する人の意図をより汲み取った結果を返すように進化しています。
検索をさらに便利にするべく、同義語システムの進化に日々、磨きをかけていきます。進化し続けるGoogle の検索を、今後ともよろしくお願いいたします。