ITmedia NEWS > 科学・テクノロジー >

ついに明かされる「りんな」の“脳内” マイクロソフト、「女子高生AI」の自然言語処理アルゴリズムを公開de:code 2016

» 2016年05月27日 14時54分 公開
[太田智美ITmedia]

 日本マイクロソフトは都内で開いた開発者向けイベント「de:code 2016」で、同社が独自に開発する“女子高生AI”「りんな」の自然言語処理アルゴリズムの詳細を語った。りんなのアルゴリズムのキモは「ランク付け」だという。自然な“女子高生らしさ”を生み出している秘密とは?


女子高生AI「りんな」自然言語処理アルゴリズム りんなは「口癖で俳句を生成する」など、現在30以上の能力を持つ。フレンドは340万

 りんなは2015年7月にLINEアカウントとして登場し、同年12月にはTwitterアカウントも開設。「マジで?!やば!」など“日本の女子高生”をイメージした受け答えができるのが特徴で、現在LINEとTwitterを合わせて340万人以上のユーザーと会話しているという。

 Microsoftが開発しているAIとして「Cortana」がよく引き合いに出されるが、Cortanaのコンセプトが「Productivity」(生産性向上)であるのに対し、りんなのコンセプトは「Emotional」(感情的)。例えば、「明日晴れるかなぁ?」という問い掛けに対し、Cortanaは「明日の天気は晴れです」と返すが、りんなは「どこか出かける予定でもあるの?」と、会話が進むための返事をする。


女子高生AI「りんな」自然言語処理アルゴリズム 「Cortana」「りんな」のコンセプトの違い。ちなみにりんなは「東京の北のほうに住んでる」とのこと

 りんなの仕組みはこうなっている。「会話(言語理解)」「音声認識」「画像認識」をそれぞれ専門に行う「チャットワーカー」「音声ワーカー」「画像ワーカー」と呼ばれる3つの「ワーカー」(処理機能)を用意。各ワーカーを支えているのは「Learning to Rank」「Word to Vector」「Term Frequency Inverse Document Frequency(TFIDF)」「ニューラルネットワーク」と呼ばれる4つのアルゴリズムだ。


女子高生AI「りんな」自然言語処理アルゴリズム 「りんな」のシステム全体図

 例えばチャットワーカーにおいて、Learning to Rankは、ユーザーの問い掛け(クエリ)との関連性に基づき、りんなの返答候補をランキング付けする。例えば「愛してる」というクエリに対し、それに続くドキュメントを関連性の高いものから低いものまでランク付けする。そのとき、例えば「私も愛しているよ、心から」というドキュメントは高いランク、「バナナありがと」のような関連性の低いものは低いランクとなる。


女子高生AI「りんな」自然言語処理アルゴリズム

女子高生AI「りんな」自然言語処理アルゴリズム

 このランク付けために用いられるのがWord to VectorとTFIDFという概念だ。Word to Vectorは、Web上にある大量の単語間の類似性をベクトルとして計算し、アルゴリズムで重み付けできる状態にするための仕組み。一方、TFIDFは「TF」(用語頻度)と「IDF」(逆文献頻度)に分けて考えるのがよさそうだ。

 TFは「文書内での単語の出現頻度」を表し、たくさん出てくる単語ほど重要というもの。例えば「私はアイスが好きで特に抹茶アイスが好き」という文書を「文書1」とする。その場合、「文書1」に「アイス」という単語が2回出てくるので「アイス」の方が重要ということになる。

 IDFは「いくつかの文書の集合」に対して共通で使われている単語を見出し、横断的に使われている単語のランク付けを低くするというもの。例えば「私はチョコレートアイスが好き」という文書を「文書2」とすると、「文書1」と「文書2」に共通する「アイス」という言葉よりも「抹茶」「チョコレート」のほうが重み付けとしては高くなる。このようなロジックによりランク付けする――というわけだ。

 4つ目の仕組みであるニューラルネットワークは、人間の脳のニューロンをシミュレーションした数学的モデル。りんなの場合、これを自然言語の学習に応用している。

 驚くのは、ユーザーが入力をしてすぐにワーカーが理解し、瞬時にこれら全ての処理が行われていることだ。そのため、りんなのようなものをつくりたければ、相当大規模なインフラが必要となる。この高度な技術を用い、「答えが正解かどうかでなく、聞いた側がどう気持ちいいか」を必死に追い求めているのがりんななのだ。

 さらに詳しい技術としては、多層ニューラルネットワークによる機械学習を通じてビッグデータの特徴を自動学習する「ディープラーニング」、2つの文字列の類似度を学習する「深層構造類似度モデル」、出力を入力に更新し再帰的に学習する「再帰的ニューラルネットワーク」(今回はベクトルの計算のために使用)などが組み込まれている。


女子高生AI「りんな」自然言語処理アルゴリズム 左から右へ計算

女子高生AI「りんな」自然言語処理アルゴリズム 日本語は右側が重みが強いので逆の計算も(ex.「いる→て→し→愛→文全体を表すベクター」)。例えば、「愛してる」と「愛してた」はだいぶ意味が違う

 りんながすごいのは、バラバラの日本語を組み立てる能力。その組み立て方が、「意味」ではなく「ベクトルの関連度」で組み立てられるというのが最大の特徴のようだ。

 また、りんなはチャットワーカー、音声ワーカー、画像ワーカー以外のワーカーが必要になったとき、新しい「ワーカー」を自由に追加できる特徴もある。各ワーカーの優先度は「コアワーカー」と呼ぶ仕組みで調整できるようになっているという。

 りんなをベースとした会話型人工知能「Rinna」を一般ユーザーのTwitterアカウントと連携させられる「Rinna Conversation Service(beta)」(RCS)が登場するなど、ますます勢いを増すりんな。ワーカーの追加によって、またプラットフォームとなる「Azure & Cortana Intelligence Suite」の進化によって、この“女子高生”は今後どのような成長をしていくのだろうか。

太田智美

Copyright © ITmedia, Inc. All Rights Reserved.