この記事はスマートスピーカー2 Advent Calendar 2018の記事です。
乃木坂誕生日
乃木坂誕生日とういアプリを作りました。
これは、メンバーの名前を言うと、誕生日を教えてくれるスキルです。
乃木坂誕生日、
— Satoshi Watanabe (@sassy_watson) 2018年7月22日
とりあえずまいやんの誕生日言うまでになった。#clova #CLOVA_CEK pic.twitter.com/QHoirP8FOS
LINE Clovaのスキルには対話モデルを設計する必要があります。対話モデルとはClovaとどうやりとりするかをモデル化したもので、インテントとスロットで成り立ってます。
対話モデルでインテント(どのようなことをして欲しいか)とスロット(どのような言葉か)を設定してあげれば、音声をClovaでうまくインテント、スロットを分析してくれるので、それを元にどのような動作をさせるかプログラムしてあげます。
人名を扱う難しさ
乃木坂誕生日では、乃木坂46のメンバーの名前を登録したカスタムスロットを使うのですが、この人名を扱うのは非常に面倒くさかったのです。これはそのメモです。
人名には、発話の「ゆらぎ」が発生しやすいのです。メジャーなファミリーネームやファーストネームなら問題なさそうですが、そうは行かない場合もあります。
例えば、
- 向井葉月(むかいはづき)が「向葉月」
- 寺田蘭世(てらだらんぜ)が「ペアダンデ」
- 中村麗乃(なかむられの)が「中村莉の」
- 吉田綾乃クリスティーが「吉田屋のクリスティ」
などです。
- 久保史緒里(くぼしおり)が「久保志織」
- 阪口珠美(さかぐちたまみ)が「坂口珠美」
と別な漢字になってしまうものもありました。
(これは、ひらがなで 代表語を設定してしまったからかもしれません。)
これを回避するためには何度もテストする必要があります。ここがうまくいかないとうまく動作させずリジェクトされてしまいます。
テスト方法
テストには対話モデルにある「テスト」の「発話履歴」を使います。
これでなんどもなんどもテストしてみて「ゆらぎ」を洗い出します。
しかし
4期生は珍しい名前がおおく、この「ゆらぎ」が出やすかったので、何回もテストして審査に出しました。
しかし、この「ゆらぎ」でリジェクトされました。
以下がそのリジェクトされたときのメッセージです。
これは、発音する人の滑舌やイントネーションの違いで起こるのかと思われます。
リジェクトされてなんどもテストしました。
イントネーションを変えてみたり、早くしにしてみたり、かすれ声をしてみたり、姓と名の間に間を開けたり…。
一番バリエーションがあった清宮レイ(せいみやれい)さんの例です。
- saviorで
- セイミヤでいい
- 清宮0
- 清宮ね
- すいみやレイヤー
- cbre
- 生命
- jamie rae
- ついに歩い
- すいみやぎ
- せいねい
- saviorがいい
もし可能なら、テストするときは複数人でテストするのといいと思います。
以上で簡単ですが、スロットの「ゆらぎ」に関して書きました。
この情報が誰かの役に立てば幸いです。