はじめに
第4回目の本稿は、「docomo Developer support」で公開されているAPIのなかで、「雑談対話API」をつかって、コンピュータと自然な会話を行うためのAndroidアプリ作ります(本稿は、2015年2月24日時点の最新情報に基づいております)。
対象読者
- JavaとEclipseを用いたAndroidアプリの開発で、基本的な知識がある方
- SNSで友達と楽しく会話したいが、筆者のように友達がいない方
雑談対話APIとは?
NTTドコモが提供する雑談対話APIは、ユーザの会話を受け、その入力に対して自然な会話となる返事を提供するAPIです。このAPIを使うと、ユーザのどんな発話に対しても必ず返事を返しますので、コンピュータ相手にたわいもない雑談をすることができます。
雑談対話APIは次の機能を持っています。
対話履歴機能
ユーザとシステムの対話での話題と文脈を認識したうえで、大規模発話データをもとに返答をするので、ユーザの幅広い発言に柔軟に対応できます。
ユーザープロフィール認識機能
ユーザのニックネーム/性別/誕生日などのプロフィール情報に基づいた会話をするため、より人間との対話に近い自然なやりとりができます。
パーソナライズ機能
ContextIDと呼ばれる任意のキーを使って、コンピュータとの会話の流れを記憶し、個人の嗜好に基づいた対話を行うことができます。また、docomo IDと連携することで、ユーザごとの会話の内容をサーバ上に保存し、後日会話を行ったときもスムーズな内容になるよう学習します。このdocomo IDは、NTTドコモと回線契約のないユーザも無料で取得できます。
キャラクタ設定機能
次の3タイプのキャラクタ(デフォルト/関西弁/赤ちゃん)から対話を楽しみたい相手を選ぶことができます。
しりとり機能
ユーザとコンピュータのあいだでしりとりができます。単語の末尾から次の単語を選び返事をするので、しりとりゲームを行うことができます。しりとりではコンピュータが負けることもあります。語尾に「ん」がついたら負けを判定する機能もあります。
SDKの説明とAPI Keyの取得
雑談対話APIのSDKは、公式ページからダウンロードできます。
提供されているファイル(執筆時点では、Dialogue_API_Android_SDK_v2.0.0.zip)には、ライブラリ本体に、サンプルアプリ、利用ガイドなどが含まれています。利用ガイド(雑談対話SDK for Android利用ガイド_v2.0.0.pdf)には、SDKの使い方が詳しく載っていますので、参考にしてください。SDKで提供されるライブラリファイルは、次のとおりです。
ファイル名 | ライブラリ概要 |
---|---|
docomo-common-android-sdk-1.0.2.jar | SDK共通ライブラリ |
docomo-dialogue-android-sdk-2.0.0.jar | 雑談対話ライブラリ |
jackson-annotations-2.2.3.jar | Jacksonライブラリ |
jackson-core-2.2.3.jar | Jacksonライブラリ |
jackson-databind-2.2.3.jar | Jacksonライブラリ |
雑談対話APIでは、ユーザからのリクエストおよびコンピュータからのレスポンスをJSONで返します。そのため、JSONデータを扱うためのオープンソースライブラリである、Jacksonライブラリが含まれています。Androidアプリで、雑談対話APIを利用するときはAndoridプロジェクトのlibsフォルダ内にこの5つのjarファイルをコピーしてください。SDKにはサンプルコードも同梱されています。
雑談対話APIの実行に必要な、API Keyの取得手順については、連載初回の記事を参照してください。