1.BERTのGoogle検索エンジンへの実践投入まとめ
・文脈を理解するAIとして昨年秋に話題になったBERTがGoogle検索に実践投入
・従来より検索語の意図を理解する能力が高まり英語検索の10%程度が改善された
・改良された学習結果は順次世界各国に展開され検索結果の強調表示される箇所なども改善される
2.BERTによるGoogle検索エンジンの改良
以下、www.blog.googleより「Understanding searches better than ever before」の意訳です。元記事の投稿は2019年10月25日、Pandu Nayakさんによる投稿です。
去年秋に文脈を理解する人工知能として話題になったBERTが遂にGoogleの検索エンジンに実践投入されたとの発表です。ただ原文は「Some of the models we can build with BERT」なので投入された技術はBERTだけではなく、少なくともBERTであっても言い換えの理解は苦手だったはずですが、事例の中でtoの方向性を認識できている事を強調しているのでPAWSなども投入されていると思われます。
原文には「machine learning」や「neural network-based technique」の単語は出てきてますが、AIや「Artificial Intelligence」の単語は一切使われていないので、BERTが「製品」になった事を強く感じさせる文章でした。
それと、「セマンティック検索が出来るから凄いでしょ?」ではなくて「キーワード検索を使っている人って未だにいますよね」というニュアンスが感じられる書き方になっており時代がドンドン進化している事も感じました。また、本件でBERTについて初めて知った方向けですが、今年になってVideoBERTと言う動画にBERTを適用したもっと衝撃的な研究も発表されてます。
15年間、Google検索に携わって学んだ事の1つは、人々の好奇心が無限であると言うことです。毎日、数十億件の検索があり、それらの「検索時に入力される文章や単語(クエリ)」の15%は今まで入力された事がないクエリです。そのため、この度、予測できないクエリに対して最適な結果を返す方法を構築しました。
あなたや私のような普通の人が検索をする際、どのようなクエリを入力するのが最良なのか常に確信を持っているとは限りません。使用する適切な単語や綴りの方法がわからない場合もあります。多くの場合、検索を学習するために検索を開始します。必ずしも最初から知識があるわけではないのです。
検索とは、言語を理解することです。検索に使われる単語のつづりや組み合わせに関係なく、ユーザが検索したい対象を把握し、ウェブから有用な情報を表示する事がGoogleの仕事です。
長年にわたりコンピュータの言語理解能力の向上を続けてきましたが、特に複雑なクエリや会話型のクエリの場合、検索エンジンはまだ十分に質問の意図を理解できない事があります。 実際、それが人々が「キーワード」だけを使って検索する理由の1つです。質問文ではなく、検索エンジンが理解可能思われる単語を入力して検索するのです。
言語理解を研究するGoogleの研究チームの最新の成果によって、クエリの理解方法が大幅に改善されました。これは過去5年間で最大の飛躍であり、過去のGoogle検索エンジンの歴史の中でも最大の飛躍の一つです。
BERTを検索エンジンに適用
昨年、Googleは、BERT(Bidirectional Encoder Representations from Transformers)と呼ばれる、ニューラルネットワークベースの自然言語処理(NLP:Natural Language Processing)テクノロジーをオープンソース化しました。このテクノロジーにより、誰でも独自の最先端の質問回答システムをトレーニングする事ができます。
この技術革新は、Googleがトランスフォーマーと呼ばれる種類のニューラルネットワークを研究した成果です。トランスフォーマーは、文を単純に順番に処理するのではなく、文章内の他の全ての単語を考慮して単語を処理する事が出来るのです。つまり、BERTモデルは、前後の単語を調べることで単語の完全な文脈を考慮することができます。これは、検索クエリを入力した人の検索意図を理解するのに特に役立ちます。
しかし、これを可能にするのはソフトウェアの進歩だけではありません。新しいハードウェアも必要でした。BERTと共に構築したモデルの一部は非常に複雑であるため、従来のハードウェアを使用してできることの限界を超えていました。そのため、今回初めて最新のCloud TPUを使用して検索結果を提供し、より関連性の高い情報を迅速に取得する事にしています。
あなたの検索を素敵な体験にする
以下は技術的な詳細ですが、これはあなたにとって何を意味するでしょうか?クエリの文脈を理解するBERTモデルを使用すれば、検索の意図を正確に把握する事ができます。その結果、検索結果や注目記事などを表示する際に、元文章のどの部分(スニペット)を表示するべきかを改善する事が出来、有益な情報を見つけやすくする事ができます。
実際、検索結果のランキングに関しては、BERTは米国の英語での検索の10分の1をよりよく改善しています。これは今後、より多くの言語と地域に反映されます。
特に、より長い会話型のクエリ、または「for」や「to」などの前置詞が重要な意味を持つ検索の場合、新しい検索エンジンはクエリ内の単語の文脈を理解する事が出来るため、人はより自然な言い回しで検索する事ができるようになりました。
これらの改善を実際に投入する前に、変更が実際に役立つか否かを確認する多くのテストを行いました。以下は、検索の背後にある意図を理解するBERTの能力を示す評価プロセスの一例です。
下図は「2019 brazil traveler to usa need a visa.(2019年、ブラジル人旅行者がアメリカに行くにはビザが必要)」という検索に対する結果です。「to」という単語とクエリ内の他の単語との関係は、意味を理解する上で特に重要です。
それはブラジル人が米国に旅行することであり、その逆、米国人がブラジルに旅行する事ではありません。以前は、Googleの検索アルゴリズムはこのtoの重要性を理解できていなかっため、ブラジルに旅行する米国人旅行者に関する結果を返していました。BERTを使用すると、検索エンジンはこのニュアンスを把握し、「to」という非常に一般的な単語が実際に検索結果において非常に重要であることを認識でき、このクエリに対してより関連性の高い結果を提供できます。
別のクエリを見てみましょう。「do estheticians stand a lot at work.(エステティシャンは立仕事ですか?」以前の検索エンジンシステムは、キーワードを照合するアプローチを採用しており、クエリ内の「stand(立つ)」という単語を「stand-alone(独立)」という単語と照合して検索結果を表示していました。
従来のコンピュータがあまり理解できていなかった、人間が言語を用いて行う微妙なニュアンスを理解するためにBERTが役立った他の例を次に示します。
「Can you get medicine for someone pharmacy」
BERTモデルを使用すると、「for someone(誰かのための)」がこのクエリの重要な部分であることをよりよく理解できています。以前のモデルは意味を捉える事が出来ていませんが、処方に関する一般的な結果を表示しています。
「parking on a hill with no curb」
従来は、このようなクエリはシステムを混乱させていました。「curb」という単語を重視しすぎて、「no」という単語を無視していました。このクエリに適切に回答する際に「no」の重要性を理解していなかったので、そのため、「(車止めの)縁石のない丘の駐車場で駐車する方法」を検索しているのに「縁石のある丘に駐車した場合」の結果を返します!(訳注:curbは縁石を意味する名詞(多分、アメリカ英語)ですが、「抑制する」と言う意味を持つ動詞でもあります。この場合はcurbで「坂道で車が下がらないようにする車止めの縁石」を意味していると思うのですが、非常に多岐にわたる意味を持つ単語であるためバッチリな用例を見つける事ができませんでした。)
「math practice books for adults」
以前の結果ページには「Young Adult」カテゴリの本が含まれていましたが、BERTは「adult」が文脈上重要である事をよりよく理解し、より有用な結果を選択しています。
より多くの言語での検索の改善
また、世界中の人々の検索体験を改善するためにBERTを適用しています。これらのシステムの強力な特徴は、1つの言語から学習した結果を他の言語に適用できることです。そのため、英語(大半のWebコンテンツが存在する言語)の改善から学習したモデルを、他の言語に適用できます。これにより、検索が提供される多くの言語で関連する結果をより適切に返すことができます。
注目記事のスニペットについては、BERTモデルを使用して、スニペット機能を利用できる20か国で注目のスニペットを改善しており、韓国語、ヒンディー語、ポルトガル語などの言語で大幅な改善が見られます。
検索は解決された問題ではありません
探しているものや話す言語に関係なく、キーワードの羅列ではなく、あなたにとって自然な方法で検索できるようになる事を願っています。
しかし、それでもあなたはGoogleをときどき困惑させる事が出来るでしょう。BERTを使用しても、常に正しいとは限りません。例えば「ネブラスカ州の南にある州」を検索する場合、BERTの最良の推測は「サウスネブラスカ州」と呼ばれるコミュニティであり、州名ではありません。(そのコミュニティがネブラスカ州の南に実際に存在するカンザス州に存在するコミュニティではないだろうという思われたのであれば、ご推察の通りです)。
言語の理解は継続的な課題であり、私達は検索を改善し続ける意欲を持ち続けています。常に改善し、送信される全てのクエリの意味、および最も役立つ情報を見つけるために努力を続けていきます。
3.BERTのGoogle検索エンジンへの実践投入まとめ
1)www.blog.google
Understanding searches better than ever before