1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏(にいくら)と申します♪
(/・ω・)/
先日、Lexのボイスボットを作成したのですが、
「123」を「イチニイサン」と読ませるのに少々苦労しました・・・
デフォルトの場合「123」は「ヒャクニジュウサン」と読まれます。
そこで今回はLexのボイスボットに数字をそのまま読ませる方法について記事にしたいと思います!
AWSやLexについて勉強中の方の参考になれば幸いです。
(*^^)v
ちなみに、12月はARIのアドベントカレンダもやっていますので、
もしよろしければ、こちらも応援お願いします♪
2.前提条件
前提条件は以下となります。
- Lexボットが作成済であること
3.Lexの設定
では、早速設定していきましょう!
数字をそのまま読ませるためには、SSMLという音声の読ませ方を定義するプログラミング言語を使用します。
3.1.Lexボットの管理画面を開き、ボット名、インテント名の順番に選択します。
3.2.スロットや確認プロンプトにて「詳細オプション」を選択します。
以下の画像は確認プロンプトの場合となります。
3.3.「その他の応答オプション」を選択します。
3.4.メッセージグループの「×」を選択し、「追加」を選択し、「SSML言語を追加」を選択します。
3.4.以下の書式でSSMLを入力し、設定を保存します。
<speak xml:lang="ja-JP">
★通常のプロンプトの内容★
<say-as interpret-as="spell-out">★数字として読ませたい数字★</say-as>
★通常のプロンプトの内容★
</speak>
<speak xml:lang="ja-JP"></speak>
の部分が日本語で読むという設定となり、
<say-as interpret-as="spell-out"></say-as>
の部分が中にある単語を1文字ずつ読むという設定となります。
例として以下のSSMLを設定すると
「郵便番号はヨンヨンレイレイレイニイロクでよろしいでしょうか。」
と読ませることができます。
「プレイ」を選択することで、実際に読まれる音声を確認することができます。
また、以下の様に設定することで、スロットに保存された値を使用することができます。
<speak xml:lang="ja-JP">
郵便番号は
<say-as interpret-as="spell-out">{★スロット名★}</say-as>
でよろしいでしょうか。
</speak>
3.5.「インテントを保存」を選択し、「構築」を選択します。
3.6.以上で設定は完了です。
4.おわりに
ここまで読んで下さり、ありがとうございます!!!
(^^)
最初はSSMLがよく分からずに、沼りましたが何とか設定することができました。
次回も何か気になったことがあれば投稿します♪
(:3_ヽ)_