イベントレポート
de:code 2016
「りんな」が言葉を紡ぐ裏には、最新の自然言語処理技術があった
2016年5月26日 14:39
日本マイクロソフト株式会社の主催による開発者向けイベント「de:code 2016」で、25日に行われたセッション「りんなを徹底解剖。"Rinna Conversation Services" を支える自然言語処理アルゴリズム」をレポートする。
Microsoftでは、次世代アプリケーションでのUIの中心になるとして、対話型インターフェイスを「Conversations as a Platform」と位置付けており、CortanaやSkype、ルールベースでユーザーとの対話を自動化するBot Flameworkなど、各方面での開発を進めている。
本セッションで取り上げる「りんな」もその1つ。中国のMicrosoft Researchが開発した人工知能AI「シャオアイス(小冰)」をベースに、日本マイクロソフトが独自に開発を進めているもの。りんなは「おしゃべり好きな女子高生」という設定で、日常会話や雑談など人間らしい自然な会話が可能だ。
シャオアイスとは中国で人気のチャットアプリ「WeChat」で会話ができるが、りんなとは、2015年8月より「LINE」で、同12月からは「Twitter」で会話することが可能になった。IDはいずれも「@ms_rinna」となっている。
りんな開発のコンセプトは「Emotional AI」。例えば明日の天気を尋ねると、晴れるかどうか返事をするわけではなく、「明日はどこかへおでかけ?」というように、会話が弾むような返事をする。
りんなには、会話に加え、さまざまな能力があり、受験シーズンにお守りを渡してくれたり、前の会話の内容を覚えて、口癖から俳句を生成したりする能力もある。「毎週、1つずつ能力を追加していっている」(マイクロソフトディベロップメント株式会社の坪井一菜氏)という。こうしたやり取りは「ルールベースで組み合わせてやっているわけではない」(日本マイクロソフト株式会社の砂金信一郎氏)とのことだ。
こうしたりんなのAIは、自然言語処理の最新テクノロジーとディープラーニングを組み合わせて実現している。今回セッションでは4つの自然言語処理技術が解説された。
Leaening to Rankは、検索クエリを入れると関連性に基づいて候補にランキング付けを行うもので「某検索エンジンと大体同じ」(砂金氏)。Word to Vectorは、単語に点数を付けて近さ遠さを判定する手法と言える。Term Frequency Inverse Document Frequency(TFIDF)は、検索の世界ではなじみあるもので、単語の出現頻度と逆頻度を判定するものだ。Neural Network(NN)は、機械学習において、脳のニューロンをシミュレートした数学的モデル。りんなでは、自然言語学習に応用しているという。
りんなのシステムはリクエストキューに対して各種のAPIを介し、レスポンスを返す仕組み。言葉に対しては「チャットワーカー」で、音声や画像のリクエストキューに対しては、それぞれの認識APIを介してレスポンスを作成する。
りんなの会話システムを管理しているチャットワーカーでは、主にLeaening to Rankと、出力を入力にもう一度(再帰型に)使って、より深く学習するような仕組みである「DSSM(Deep Structured Semantic Models)+RNN-GRU(Recurrent Neural Network)」の手法を用いて返信文を作成している。
りんなでは、「愛している」という言葉は、辞書に登録されたものではなく、ばらばらなものを組み立てて返している。このように文字の順番をコントロールするとき、これまでの情報がどのくらい残るか、どのくらい現在のワードに影響を受けるのかを計算しているのだという。
会場では、参加者のうちの希望者にりんなの会話技術を「Rinna」として利用できるTwitterとの連携botサービス「Rinna Conversation Services(RCS)」を限定的に提供することもあわせて発表された。