SHOEISHA iD

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

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

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

誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~「docomo Developer support」の概要とAPIコンソール

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

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

APIコンソール

 APIコンソールとは、APIを簡単に試すことができるページです。アプリケーションの登録が不要で、ログインするだけで使うことができます。

 ここでは、Web API形式に対応した「画像認識」「発話理解」「音声合成」「文字認識」「雑談対話」「トレンド記事抽出」「抽出知識Q&A」「環境センサー」のAPIが利用できます。

発話理解

 では、実際にNTTドコモのサービスと同等の機能が体感できるAPI、「発話理解」と「音声合成」を試してみましょう。

 左のメニューから発話理解APIを選択すると、次のような画面になります。

APIコンソール
APIコンソール

 発話理解APIでは、テキストの文脈を解析して、その意図に沿った機能名を返します。

発話理解API
発話理解API

 APIコンソールの初期画面で、すでにAPIキーと、発話理解APIの引数となるサンプルのテキストがセットされています。

 HTTPリクエストボディというタブをクリックすると、どのようなリクエストを行うかが表示されます。

HTTPリクエストボディ
HTTPリクエストボディ

 ここでは表示だけでなく、直接編集することもできます。デフォルトの「山田さんに電話して」という文字列を変更してみましょう。

 「大阪から東京に行きたい」と変更して、実行ボタンをクリックします。すると、NTTドコモのサーバにリクエストが送られ、しばらくするとHTTPレスポンスが返ってきます。

 ページには実行結果として、HTTPヘッダとボディが表示されます。HTTPボディには、次のようなJSON文字列が格納されています。

リスト1 実行結果(HTTPボディ)
{
  "projectKey": "OSU",
  "appInfo": {
    "appName": "hoge_app",
    "appKey": "hoge_app01"
  },
  "clientVer": "1.0.0",
  "dialogMode": "off",
  "language": "ja",
  "userId": "12 123456 123456 0",
  "userUtterance": {
    "utteranceText": "大阪から東京に行きたい",
    "utteranceRevised": "大阪から東京に行きたい",
    "utteranceWord": [
      "大阪",
      "から",
      "東京",
      "に",
      "行き",
      "たい"
    ]
  },
  "dialogStatus": {
    "command": {
      "commandId": "BT00101",
      "commandName": "乗換案内"
    },
    "slotStatus": [
      {
        "slotName": "stationTo",
        "slotValue": "東京",
        "valueType": "station"
      },
      {
        "slotName": "stationFrom",
        "slotValue": "大阪",
        "valueType": "stationFrom"
      }
    ]
  },
  "taskIdList": [
    "BT00101",
    "BT00201",
    "BT00901",
    "SE00101"
  ],
  "extractedWords": [
    {
      "wordsValue": "大阪",
      "wordsType": [
        "stationFrom",
        "upoi",
        "snoun"
      ]
    },
    {
      "wordsValue": "東京",
      "wordsType": [
        "station",
        "upoi",
        "snoun"
      ]
    },
    {
      "wordsValue": "大阪から東京に行きたい",
      "wordsType": [
        "inputText"
      ]
    }
  ],
  "serverSendTime": "2014-11-01 12:05:53"
}

 いろいろな情報が返されるのですが、このAPIで重要なものは次の5つです。

重要なキー
キー 概要 値の例
commandId 機能ごとのID BT00101
commandName 機能ごとの名称 乗換案内
slotName 機能ごとに設定されたスロット名称 stationTo
slotValue スロットに格納された単語 東京
valueType 単語のタイプ station

 ここでのスロット(slot)とは、機能ごとに設定された単語のひとまとまりのことです。例えば、乗換案内には、stationFrom(乗車駅)とstationTo(降車駅)という名前のスロットがあります。slotValueは実際にスロットに格納された単語で、valueTypeは単語のタイプを意味します。

 なお、返却されるキーの詳細については、別途APIごとの機能別リファレンスページに記載されていますので、それを参照してください。

応用:形態素解析機能として

 utteranceWordキーの値(ユーザ発話ワードリスト)には、入力文を形態素(意味を持つ最小の言語単位)に分割した情報が格納されますので、簡易な形態素解析機能として活用することもできます。

次のページ
最後に

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

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

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

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

WINGSプロジェクト 高江 賢(タカエ ケン)

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

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8260 2014/12/11 16:31

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング