ホーム 開発支援情報 技術ブログ 使ってみようAPI講座 【使ってみようAPI講座】Lesson1 : 発話理解API

使ってみようAPI講座

【使ってみようAPI講座】Lesson1 : 発話理解API

掲載日:2014年12月22日

ドコモAPIを実際に使いながらご紹介する「使ってみようAPI講座」。Lesson1では手軽にAPIの機能をお試しいただけるAPIコンソールをご紹介します。アプリケーションの登録手続きが不要で、ログインするだけでご利用可能なので、ぜひお試しください。

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

発話理解APIコンソール

それでは、実際にログインしてAPIコンソールの「発話理解」を試してみましょう。
左のメニューから発話理解APIを選択すると、次のような画面になります。

APIコンソール画面

APIコンソール

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

発話理解API画面

発話理解API

APIコンソールの初期画面で、すでにAPIキーと、発話理解APIの引数となるサンプルのテキストがセットされています。
HTTPリクエストボディというタブをクリックすると、どのようなリクエストを行うかが表示されます。

HTTPリクエストボディ

HTTPリクエストボディ

ここでは表示だけでなく、直接編集することもできます。デフォルトの「山田さんに電話して」という文字列を変更してみましょう。
「大阪から東京に行きたい」と変更して、実行ボタンをクリックします。すると、リクエストが送られ、しばらくするとHTTPレスポンスが返ってきます。
ページには実行結果として、HTTPヘッダとボディが表示されます。HTTPボディには、次のようなJSON文字列が格納されています。

{
  "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"
}

リスト1 実行結果(HTTPボディ)

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

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

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

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

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

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

発話理解APIコンソールを使ってみる

最後に

APIコンソールでは、手軽にドコモAPIの機能が試せると同時に、リクエスト・レスポンスの内容そのものを確認することができますので、実際のアプリ開発においても、APIの選定に活用いただけると思います。

お問い合わせ
「docomo Developer support」及び「作ろうスマートフォン/iモードコンテンツ」に関するお問い合わせです。よくあるご質問や技術ブログで解決しない場合は、お問い合わせください。