コンピュータシステムが人間の話すことを理解する能力は、かなり良くなって来ているが、いくつかの大きな弱点もある。なかでも、複数の意味や複雑な意味を持つ単語の扱いに問題があるのは事実だ。ELMoと呼ばれる新しいシステムは、重要な文脈を単語に加えることで、全体的に良い理解を導こうとするものだ。
問題を説明するために”queen”(女王)という単語を考えてみよう。あなたと私が話しているときに、私がその単語を話した場合、あなたは文脈からそれが、エリザベス女王か、チェスの駒か、蜂の巣の女王か、あるいはRuPaul’s Drag Raceを指しているのかを判断できる。
複数の意味を持つことのできる、このような単語の特性は、多義性(polysemy)と呼ばれる。そして実際に、それは例外的なものではなく慣例的に決まるものなのだ。通常はフレーズによって、その解釈は曖昧さなく決めることができる ―― 例えば “God save the queen!” (女王陛下万歳!)と “I saved my queen!”(クイーンの駒を守ったぞ!)など ―― そしてもちろん、これはトピック、文章の構造、返答が期待されているかどうかなどを伝えている。
しかし、機械学習システムは、こうしたレベルの柔軟性を持っていない。彼らが単語を表現しがちな方法は、はるかに単純だ。その単語のあらゆる異なる定義を眺めて、ある種平均的な複雑度のものを選び出す。しかしそれは真の複雑さを反映しているわけではない。正しい言葉の意味がわかることが重要であるとき、それに頼ることはできないのだ。
しかしELMo (Embeddings from Language Models:言語モデルからの埋め込み)は、システムが多義性をより簡単に処理できるようにする。その有用性の証として、それは先週NAACLで最優秀論文賞を受賞した。その核の部分で、訓練データ(テキストの膨大なコレクション)を利用して、ある単語が複数の意味を持っているかどうか、そしてそれらの異なる意味が、言語の中でどのように伝えられるのかが判断される。
たとえば、上記の “queen”の例文を人間が読んだときには、お互いに似てはいるものの、王族の話をしているのか、ゲームの話をしているのかの違いは区別できるだろう。これは、それらが書かれているものの中に、この”queen”がどちらの意味なのかを、読み手の文脈検知エンジンに判断させる手がかりが含まれているからだ。
学習対象のテキストコーパスに、手作業で注釈を付けることによって、これらの違いをシステムに知らせることはできる。だが、どの”queen”がどの意味かの注釈を与えるために、何百万もの単語に対して手作業を行いたい者がいるだろうか?
「私たちは人手による注釈の必要性を大幅に減らす方法を模索していました」と説明するのは、この論文の筆頭著者であるMathew Petersである。「目標は、ラベルのないデータからできるだけ多くのことを学ぶことでした」。
さらに彼は、従来の言語学習システムは「1つの単語のすべての意味を、単一のベクトルに圧縮していました」と語った。「そこで私たちは、基本的な前提を疑うことから始めました:単一のベクトルを学習するのではなく、無限個のベクトルを持つことにしよう。なぜならその意味は、文脈に大きく依存しているからです」。
ELMoは、単語が現れる完全な文章を取り込むことによってこの情報を学習する;それは、king(王)がqueenと一緒に言及されるときには、それは王族あるいはゲームの話であって、ミツバチの話ではないことを学習するだろう。それがpawn(チェスの駒)を見たときには、それをチェスだと判断し、jackを見たときにはトランプだと判断する、などだ。
ELMoを搭載した言語エンジンは、何年も言語を解釈した経験を持つ人間ほど優秀ではないものの、多義性に対する知識を有しているだけでも、言語の理解には大いに役立つ。
それだけではなく、単語の意味に対して全文を考慮することによって、その文の構造がより簡単にマッピングされ、自動的に句および品詞をラベル付けすることが可能になる。
ELMo方式を採用したシステムでは、最新の自然言語アルゴリズムに対してさえ品質を25%も向上させるという即効性がみられた ―― これは、この分野としては非常に大きな進歩である。そしてそれは、より優秀で、よりコンテキストを意識した学習スタイルではあるものの、根本的に既存のものと異なるものではないために、既存の商用システムに簡単に組み込むことができる。
実際には、Microsoftは既にそれをBingで使っていると言われている。結局のところ、検索では意図を決定することが重要である。そのためにはクエリー(問い合わせ)を正確に読み取る必要がある。ELMoはAllen InstituteのAIに対する他の成果と同様に、オープンソースでもある。もし自然言語処理を必要とする企業であれば、これをチェックする必要があるだろう。
論文は、ELMoを英語のシステムに利用するための根幹部分が示されている。しかしその力は、本質的には取り込んだデータを詳細に読み込むことによって得られているものなので、それを他の言語だけでなく他の分野に対しても適用できない理由は(理論的には)存在しない。言い換えれば、もしそれに神経科学の膨大なテキストを入力した場合、システムはtemporalという単語が、時間に関するものなのか、脳の部位(側頭部)を意味しているものなかを区別できるようになるだろう。
これは、機械学習と言語の関係が急速に発展していることを示す一例に過ぎない。基本的な翻訳や、文章の読み上げなどには、すでに十分に役立ってはいるが、自然言語インターフェイスを通してコンピューターができることはまだ沢山あるのだ ―― もしやり方さえわかるなら。
[原文へ]
(翻訳:sako)