SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

スマホアプリを豊かにする「docomo Developer support」で遊ぼう(PR)

誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~ぼっちでも雑談を楽しめるAndroidアプリを作ろう

スマホアプリを豊かにする「docomo Developer support」で遊ぼう(4)

  • このエントリーをはてなブックマークに追加

 「docomo Developer support」というサイトをご存じでしょうか。このサイトは、NTTドコモが公開している開発者向けのAPI提供サイトです。ここで公開されているAPIを使えば、NTTドコモのサービス「しゃべってコンシェル」などのような機能を、自作のアプリから簡単に利用できるようになります。みなさんも、公開されているAPIやSDKを使って、楽しいAndroidアプリを作ってみませんか。

  • このエントリーをはてなブックマークに追加

はじめに

 第4回目の本稿は、「docomo Developer support」で公開されているAPIのなかで、「雑談対話API」をつかって、コンピュータと自然な会話を行うためのAndroidアプリ作ります(本稿は、2015年2月24日時点の最新情報に基づいております)。

チャットサンプルアプリの実行例
チャットサンプルアプリの実行例

対象読者

  • JavaとEclipseを用いたAndroidアプリの開発で、基本的な知識がある方
  • SNSで友達と楽しく会話したいが、筆者のように友達がいない方

雑談対話APIとは?

 NTTドコモが提供する雑談対話APIは、ユーザの会話を受け、その入力に対して自然な会話となる返事を提供するAPIです。このAPIを使うと、ユーザのどんな発話に対しても必ず返事を返しますので、コンピュータ相手にたわいもない雑談をすることができます。

雑談対話API
雑談対話API

 雑談対話APIは次の機能を持っています。

対話履歴機能

 ユーザとシステムの対話での話題と文脈を認識したうえで、大規模発話データをもとに返答をするので、ユーザの幅広い発言に柔軟に対応できます。

ユーザープロフィール認識機能

 ユーザのニックネーム/性別/誕生日などのプロフィール情報に基づいた会話をするため、より人間との対話に近い自然なやりとりができます。

パーソナライズ機能

 ContextIDと呼ばれる任意のキーを使って、コンピュータとの会話の流れを記憶し、個人の嗜好に基づいた対話を行うことができます。また、docomo IDと連携することで、ユーザごとの会話の内容をサーバ上に保存し、後日会話を行ったときもスムーズな内容になるよう学習します。このdocomo IDは、NTTドコモと回線契約のないユーザも無料で取得できます。

キャラクタ設定機能

 次の3タイプのキャラクタ(デフォルト/関西弁/赤ちゃん)から対話を楽しみたい相手を選ぶことができます。

しりとり機能

 ユーザとコンピュータのあいだでしりとりができます。単語の末尾から次の単語を選び返事をするので、しりとりゲームを行うことができます。しりとりではコンピュータが負けることもあります。語尾に「ん」がついたら負けを判定する機能もあります。

SDKの説明とAPI Keyの取得

 雑談対話APIのSDKは、公式ページからダウンロードできます。

SDKのダウンロードページ
SDKのダウンロードページ

 提供されているファイル(執筆時点では、Dialogue_API_Android_SDK_v2.0.0.zip)には、ライブラリ本体に、サンプルアプリ、利用ガイドなどが含まれています。利用ガイド(雑談対話SDK for Android利用ガイド_v2.0.0.pdf)には、SDKの使い方が詳しく載っていますので、参考にしてください。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の取得手順については、連載初回の記事を参照してください。

次のページ
雑談対話APIを使ったコンピュータとのチャットアプリ(1)

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
スマホアプリを豊かにする「docomo Developer support」で遊ぼう連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLDB/PEAR/Smarty)」「独習シリーズ(ASP.NET/PHP)」「10日でおぼえる入門教室シリーズ(ASP.NET/PHP/Jakarta/JSP&サーブレット/XML)」「Pocket詳解辞典シリーズ(ASP.NET/PHP/Perl&CGI)」「今日からつかえるシリーズ(PHP/JSP&サーブレット/XML/ASP)」「書き込み式 SQLのドリル」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 阿佐 志保(アサ シホ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8528 2015/03/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング