APIコンソール
APIコンソールとは、APIを簡単に試すことができるページです。アプリケーションの登録が不要で、ログインするだけで使うことができます。
ここでは、Web API形式に対応した「画像認識」「発話理解」「音声合成」「文字認識」「雑談対話」「トレンド記事抽出」「抽出知識Q&A」「環境センサー」のAPIが利用できます。
発話理解
では、実際にNTTドコモのサービスと同等の機能が体感できるAPI、「発話理解」と「音声合成」を試してみましょう。
左のメニューから発話理解APIを選択すると、次のような画面になります。
発話理解APIでは、テキストの文脈を解析して、その意図に沿った機能名を返します。
APIコンソールの初期画面で、すでにAPIキーと、発話理解APIの引数となるサンプルのテキストがセットされています。
HTTPリクエストボディというタブをクリックすると、どのようなリクエストを行うかが表示されます。
ここでは表示だけでなく、直接編集することもできます。デフォルトの「山田さんに電話して」という文字列を変更してみましょう。
「大阪から東京に行きたい」と変更して、実行ボタンをクリックします。すると、NTTドコモのサーバにリクエストが送られ、しばらくすると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"
}
いろいろな情報が返されるのですが、このAPIで重要なものは次の5つです。
| キー | 概要 | 値の例 |
|---|---|---|
| commandId | 機能ごとのID | BT00101 |
| commandName | 機能ごとの名称 | 乗換案内 |
| slotName | 機能ごとに設定されたスロット名称 | stationTo |
| slotValue | スロットに格納された単語 | 東京 |
| valueType | 単語のタイプ | station |
ここでのスロット(slot)とは、機能ごとに設定された単語のひとまとまりのことです。例えば、乗換案内には、stationFrom(乗車駅)とstationTo(降車駅)という名前のスロットがあります。slotValueは実際にスロットに格納された単語で、valueTypeは単語のタイプを意味します。
なお、返却されるキーの詳細については、別途APIごとの機能別リファレンスページに記載されていますので、それを参照してください。
utteranceWordキーの値(ユーザ発話ワードリスト)には、入力文を形態素(意味を持つ最小の言語単位)に分割した情報が格納されますので、簡易な形態素解析機能として活用することもできます。




