メタデータの使い方
Agentcraft™では、エージェントは対話音声や対話テキストのやり取りに加えて、システムで利用するためのメタデータを付与することができます。
Agentcraft™におけるメタデータは、コマンドという設定を利用することで送ることができるようになっています。このページでは、コマンドの仕様や使い方について解説していきます。
基本仕様
コマンドはJSON形式で記述する必要があります。有効なvalueの形式は以下です。
- string
- number(※)
- boolean(※)
- null
- Array
- Object
※=number,boolean(1/0)はstringに変換されて取り扱われる仕様となっております。
変数の利用について
コマンド内で変数を利用することができます。
変数記法に則り特殊文字「#」に続いて変数名を選択することで変数を呼び出すことができます。
※変数と文字列の併用はできません。変数の内容に文字列を連結したい場合は前処理等で事前に行うようにしてください。
※「#」に続く文字列が変数名以外の場合はそのまま「#」を含めた文字列として処理されます。
例)#変数名→変数呼び出し / #文字列→「#文字列」で処理
デフォルトの設定値について
コマンドはデフォルトで下記の値が設定されるようになっています。コマンドエリアで明示的に同じキーを指定して値を設定した場合、コマンドエリアで設定した値が優先されます。
注意事項
デフォルトの設定値を変更すると、エージェントの動作に影響が出る可能性がありますのでご注意ください。
属性 | 説明 | 値 | |
---|---|---|---|
version | バージョン情報 | sebastien-1.0.0 | |
type | 返答のタイプ | nlu_result | |
speaker_params | 音声合成用パラメータ | ||
speaker_id | 適用する話者モデルのID | リストはこちら | |
style_id | 適用する口調モデルのID | リストはこちら | |
voice_type | 音声の声質 | 値が小さい:太い 値が大きい:細い 【設定可能範囲】 ・値域:0.50 ~ 2.00(小数点第2位まで指定可) |
|
power_rate | 音量 | 値が小さい:小さい 値が大きい:大きい 【設定可能範囲】 ・値域:0.00 ~ 5.00(小数点第2位まで指定可) |
|
speech_rate | 話速 | 値が小さい:遅い 値が大きい:速い 【設定可能範囲】 ・値域:0.50 ~ 10.00(小数点第2位まで指定可) |
|
intonation | 抑揚 | 値が小さい:小さい 値が大きい:大きい 【設定可能範囲】 ・値域:1 ~ 20 |
|
pitch | 声の高さ | 値が小さい:低い 値が大きい:高い 【設定可能範囲】 ・値域:1 ~ 20 |
|
option | オプション | 任意の値を取り扱うためのオブジェクト ユーザー独自の設定を用いたい場合はoption配下にご記入ください。 |
|
switchAgent | エージェント切り替えオブジェクト | ||
agentId | エージェントID | 返答を返しているエージェントのID | |
agentType | エージェントのタイプ | メインエージェント:1 | |
rule_id | ルールID | マッチングしたルールのID |
発話テキストの操作
エージェントの発話に関する情報は、表示用のテキスト「expression」と読み上げ用テキスト「utterance」の2種類が用意されています。コマンド内で utterance キーを指定して値を設定すると、読み上げ用テキストを変更する事ができます。
キー名 | 説明 | 初期値・固定値 |
---|---|---|
utterance | 読み上げ用テキスト | 初期値: アクションエリアで設定した内容 |
Utterance属性を利用して実現出来ること
- 音声発話をOFFにする
- 読み上げテキストの変更
音声発話をOFFにする
utteranceにnullを設定すると、音声発話は実行されません。
//アクションエリアの内容にかかわらず音声発話を実行しない
"utterance": null
発話の表示テキストと読み上げテキストの変更
utteranceに任意の文を設定すると、表示テキストとは異なる内容を発話することができます。
//アクションエリアの内容にかかわらず「こんにちは」と発話する
"utterance": "こんにちは"
合成音声のチューニング
speaker_params
を編集することで、生成される合成音声をチューニングすることができます。詳しい値についてはこちらを参照してください。
連携ボットからメタデータを送る
連携ボットからSDKにメタデータを送ることにより、アプリケーションの挙動を変更する方法を紹介します。
話者モデルのメタデータを送ることで音声を変える方法
メインエージェントの音声の変え方
対話レスポンスのタイミングでメタデータを追加する方法
対話時のレスポンスにメタ情報を追加する
対話時に音声を流すかどうかを連携ボットから制御する方法
対話時の音声再生のON/OFFを制御する
メタ情報によりエージェントの応答を変更する方法
メタ情報の活用により、Android端末の何らかの取得したユーザの属性情報に基づいて対話シナリオを出し分けることなどが可能となります。
このドキュメントでは、下記の2つの方法について紹介しております。
・Android端末から取得した緯度・経度情報をメタデータとして送付する
・アプリから取得したユーザー情報を基に、音声対話/テキスト対話を切り替える
制限事項
- 前処理・後処理・アクションエリアで使用可能なprefix付き文字列はコマンドエリアでは使用できません。
- ルート要素はObject型のみ有効です。それ以外の型を指定する事はできませんのでご注意ください。