見出し画像

Alexaの英語スキルのスロットだと「?」がでるのに。

こんにちは。Tommieです。(Tommie@AwesomeLife)

Alexaスキルの「Top 100 洋楽タイムマシン」は、最初に英語版を申請して、申請が通った後に日本語版をつくりました。
その時に、英語と日本語で異なる対応をしなければならなかったスロットがありました。サポートに確認したところ、それは「音声認識エンジンが違うため」という説明をいただいたので、そのことを書いてみようと思います。

「Top 100 洋楽タイムマシン」というスキルは、任意の西暦を言うとその年にヒットした曲名とアーティスト名を教えてくれるというものなのですが、この、西暦に対応するのが「YearIntent」です。
この「YearIntent」の {year} というIntent Slotは、AMAZON.NUMBERというスロットタイプを使っています。

AMAZON.NUMBERは、数字を表す単語を数字に変換するスロットですが、リファレンスの例を見ると、英語の場合は次のようになっています。

AMAZON.NUMBER
Converts numeric words into digits.

"three": 3
"ten": 10
"fifty five": 55
"one oh four": 104
"one hundred four": 104
"one hundred and four": 104
"five thousand two hundred and thirty-five": 5235
"nine eight zero three four": 98034

日本語の場合は次のようになっています。

AMAZON.NUMBER
数字を表す単語を数字に変換します。

「三」: 3
「十」: 10
「五十五」: 55
「一、〇、四」: 104
「百四」: 104
「百と四」: 104
「五千二百三十五」: 5235
「九、八、零、三、四」: 98034

日本語の場合は、漢数字で認識されているんですね。
今回起きた現象は、AMAZON.NUMBER スロットにおいて、数字以外が渡された時に英語スキルでは「?」が渡されますが、日本語スキルでは値が渡されないという現象でした。

日本語スキルと英語スキルで違う対応をすることで、申請は通ったのですが、なぜなのかが気になったので、サポートさんに質問した答えが、下記のようなお返事でした。

「音声認識エンジンの違いによるものと思われます。アレクサの音声認識は日々改善がなされており、マイナーアップデートが多々ございます。
スキル作成に当たってはそのような違いを吸収できるような実装をしていただけますようお願い申し上げます。」
(サポートさんは、いつも迅速で本当に助かっています。)

音声認識のお仕事をされている方などにとっては、当たり前のことなのかもしれませんが、個人的にすごく興味を惹かれたので、勉強してみたくなりました。
VUIの世界はもしかして沼ですか?(良い意味で)







Photo by Kai Gradert on Unsplash

ご覧いただきありがとうございます! いただきましたサポートは、アプリやスキル向上のために活用させていただきます。