人工知能でいろんなことができるようになってもまだまだなのが、コンピュータが人間と同じように話せるようにする自然言語処理研究です。荒瀬由紀先生は、言葉を「計算」できる世界へというテーマで、数字の並んだベクトルで言葉を表す研究に取り組んでいます。
言葉を「計算」できる世界へ
言葉を“計算”できる世界へというテーマで話したいと思います。さて次の問題は解けますか?
10×17=?
2の10乗は?
log2 128は?
3つ目は高校生には少しむずかしいけど、情報系の学生なら3問とも問題なく解けるでしょう。
じゃあ、この問題は?
これは解けませんね。どうしてでしょう。なぜならこの絵文字のような記号の意味とか関係性を私たちが理解できないからです。
コンピュータが文字を使おうとすると、まさに同じ状況が起こります。一方コンピュータは数字の計算は得意です。言葉を数字で表せば、言葉をコンピュータで計算できるようになるんじゃないかと考え、私は数字が列に並んだベクトルによって言葉を表す研究をしています。
ただし私が使うのは次元が100~1000ある“ベクトルの親玉”。これを使うと次のようなことができます。
まず「毛布の上の三毛猫」というフレーズがベクトル空間にあるとしましょう。このフレーズは「毛布」「三毛猫」それぞれのベクトルを足したものという具合に計算できます。そこで重要なのは、単語です。
次に重要なのは文の構造です。文は単純な単語の列ではなくて、文法的な構造が存在しています。これまでの研究で文の構造もベクトルに反映されるべきだということがわかっています。
sweet dreams come true
この文には、「sweet dreams」が後ろの動詞句「come true」とくっつき文になるという「構造」があるというわけです。
さて、3つ目に重要なのは、意味の近さ(距離)です。
…wishes will be fulfilled
…dreams come true
2文とも「夢は叶う」と人間ならすぐわかります。でも2文とも「単語」も「構造」も全然違い、このままでは機械は読み取れません。どうしたらいいでしょう。私は単語・文の構造・意味の近さを表現するベクトルを生成することで、2つの文が似ているか異なっているか自動的に特定できるようにする研究に取り組んでいます。
このようなやり方で、すごく複雑だった自然言語処理が、簡単なベクトル演算で計算可能となります。この技術が実現されれば、質問者の意味を理解したQ&Aやウェブ検索ができるようになるでしょう。
◆先生の研究分野である「自然言語処理」を説明してください。
人間は言葉を使って思考し、言葉で自分の考えや気持ちを表現します。相手の発言や質問に対して言葉で返事をしたり、外国語を翻訳したりすることもできます。このような人間の高度な言語処理をコンピュータやロボットでできるようにすることを目指して研究に取り組んでいるのが自然言語処理です。自然言語処理の研究が進むと、コンピュータやロボットと言葉でコミュニケーションできるようになりますし、ドラえもんの「ほんやくこんにゃく」のような道具も実現できるでしょう。また自分の考えや気持ちがより伝わりやすいように、コンピュータがアドバイスしてくれるようになるかもしれません。
◆先生が目指している研究はどのようなものですか。
言葉はコンピュータにとっては扱いがとても難しいものです。なぜなら言葉はコンピュータが得意とする数値データではなく、記号である単語と、文に現れる構文構造により構成されるからです。さらに言葉には同意や反意の関係があり、また多義性もあります。このような複雑な性質を持つ言葉を数値データであるベクトルで表現する手法が研究されてきました。言葉をベクトル化することでこれまで複雑な処理が必要だった高度な言語処理をコンピュータでの簡潔な演算で実現でき、さらに画像データなど様々なデータと統合的に処理できるようになります。このような「言葉を計算できる世界」を目指して研究に取り組んでいます。
◆この分野に関心を持った高校生にアドバイスをいただけますか。
情報処理学会 自然言語処理研究会を年4回実施しており、最新の研究発表を聞くことができます。誰でも参加できるので、興味がわいた方はぜひ参加してみてください。
◆情報処理学会 自然言語処理研究会
研究室の見学も歓迎します。私のホームページにあるメールアドレスから事前に連絡をしてください。
こちらのページもどうぞ
◆所属する研究室「Onizuka-Lab」HP
◆大阪大学工学部電子情報工学科による卒業生インタビュー