ケータイ用語の基礎知識

第773回:自然対話プラットフォーム とは
2016年9月20日 13:14
「自然対話プラットフォーム」とは、NTTドコモがビジネスパートナーに提供しているプラットフォームのひとつで、人間と対話できる自然対話サービスを作るためのものです。
ドコモの音声を使った自然対話サービスとしては「しゃべってコンシェル」があります。「しゃべってコンシェル」ではキャラクターの羊に対して「メールを書きたい」とスマートフォンに話しかけると、それに対して「メールアプリを起動しますか?」と応答し、メールアプリを起動するというような動作をします。これと同様のサービスやアプリを、ドコモ以外の企業が開発できるようになるわけです。
このような自然対話で何かサービスを行おうとすると、従来はユーザーの問いかけに対してどう反応するかという「シナリオ」を大量に持つデータベースを用意したり、会話からそのシナリオに適合する単語をピックアップしたりするといった実装をする必要がありました。こうした仕組みは、クラウド上の大量のリソースを持っている企業ならいざ知らず、そうでない場合、実現は大変困難です。
しかし「自然対話プラットフォーム」を利用すれば、対話サービスを実現するための技術的なバックグラウンドや大量のシナリオは不要になります。提供されるプラットフォームと、サービス独自に挙動に必要な「シナリオ」を書くだけで、対話型サービスの“核となる部分”を用意できるのです。あとはユーザーから見える部分、たとえば「画面上に会話するキャラクターを表示する」といった部分を開発すればいいことになります。
「自然対話プラットフォーム」の使用例として、たとえば、成田国際空港公式WEBサイトがiPhone、Androidスマートフォン用に配布している空港内情報提供アプリ「NariCo」や、タカラトミーの会話玩具「オハナス(OHaNAS)」、三菱東京UFJの店頭ロボ「NAO」などがあります。
「NariCo」はユーザーとの会話で成田空港内に関する質問に答えることができるアプリです。たとえば「ジェットスターのチェックインはどこに行けばいいですか?」と質問すると、「チェックインカウンターをご案内します。[国際線]第3ターミナルC、[国内線]第3ターミナルD」と答えてくれます。
ユーザーとの会話中から「ジェットスター」「チェックイン」というような会話中の要素をピックアップし、開発元のNAA(成田国際空港株式会社)が用意する「チェックインカウンター情報のシナリオ」を参照、アプリに返すということをこの「自然対話プラットフォーム」はしているわけです。
BOTのルール記述言語でシナリオ設定、外部データも
「自然対話プラットフォーム」の特徴は、しゃべってコンシェルの技術をベースにした、“それらしい自然対話”のサービスを開発できることです。これを実現するために提供される主な機能として「AIMLインタプリタ」「会話からのユーザー情報自動抽出機能」「外部コンテンツに基づいた『雑談対話』機能」がパートナーに提供されます。
このうち「AIMLインタプリタ」は、自然対話プラットフォームの要と言えます。ユーザーが話した内容から意図を解析し、あらかじめ決められた対話シナリオの参照、ユーザーへ返すテキストの内容を決めて返す、というような働きをします。
このAIMLインタプリタの「AIML」とは「人工知能記述言語」を意味する“Artificial Intelligence Markup Language”のことで、いわゆる「人工無能」(チャットボット)の挙動を定義するシナリオを、XMLのタグ付のテキストで記述できる文法のことです。
AIMLはもともと、“A.L.I.C.E(Artificial Linguistic Internet Computer Entity)”として知られる人工無能プログラムを開発する過程で作られたマークアップ言語なのですが、現在ではA.L.I.C.Eやそのクローンの他にも、パンドラボットのようなインターネット上で公開されているボットの作成用、それにこの自然対話プラットフォームも含めた対話側ユーザーエージェント機能のシナリオ作成などにも使われています。もともと「会話中にこんな単語があったらこのように返事をすること」というルールを作ることで対話を成立させる人工無能用に作られたマークアップ言語なので、これによく似た自然対話プラットフォームの「シナリオ」作りにもピッタリだったというわけです。
ちなみに、ドコモの「自然対話プラットフォーム」では、このAIMLインタプリタに「文書正規化機能」を持たせることで、会話に必要なシナリオの記述を少なくなるように工夫しています。文書の正規化とは、簡単に言うと「アイスは好きですか」「アイスは好きか」「アイス好き?」というような同じ意味で表現が違う文章を、同じ文とみなすことです。
ただ、AIMLインタプリタだけでは人工無能のように、あるパターンに対して決まり切った反応しか返さない不自然な会話しかできなくなってしまいます。そこで「自然対話プラットフォーム」では、「会話からのユーザー情報自動抽出機能」、「外部コンテンツに基づいた雑談対話機能」をここに加えることでより自然な対話を可能にしています。
「会話からのユーザー情報自動抽出機能」は、会話中からユーザーの趣味、好みなどを抽出し、データベースに蓄積します。この蓄積されたデータはシナリオ内の条件に利用することも可能です。
「外部コンテンツに基づいたQ&A・雑談対話機能」とは、たとえば、シナリオには書かれてない、情報を外部から収集して会話に組み込む機能のことです。
Q&Aの例としては、たとえば、空港案内エージェントを作る場合、飛行機の到着時刻が変更になったなどと言うことは非常によくありますが、これは単純な「こう言われたらこう返す」というシナリオの記述では対応できません。そこで、「自然対話プラットフォーム」を使って空港の発着便データベースから、便の到着時刻情報を収集し回答するようにします。これによって、「GK12便到着時刻を教えてください」というような会話に対して、「本日の“12便”の到着便をご案内します。 [定刻]06:10、[変更]06:02、[便名]GK00012、[出発地]台北、[状況]時刻変更」というような案内が可能になります。
このようなシナリオに単純には書けないQ&Aや雑談対話を行うことで、コンピュータとの対話をより自然に、ユーザーが行うことができるようになるのです。
ケータイ Watchをフォローして最新記事をチェック!
Follow @ktai_watch