Alexa DateSlot Морген против Моргана - PullRequest
0 голосов
/ 04 марта 2019

Мы создаем навык немецкого алекса, в котором одно из наших намерений использует DateSlot.Если мы спрашиваем название дня (например, Dienstag, Mittwoch), Alexa понимает наш вклад и правильно называет наши API с этим днем.Если мы запрашиваем "morgen" (означает завтра), Alexa понимает "morgan" и не может сопоставить ввод с датой, поэтому Alexa запрашивает другой ввод.

Как мы можем гарантировать, что Alexa интерпретируетнаш голосовой ввод как немецкое слово, а не как английское слово?

1 Ответ

0 голосов
/ 27 марта 2019

Не уверен насчет немецкого или английского, но мы столкнулись с похожей проблемой с типами слотов.Мы изначально не понимали, что типы слотов - это не конечный список входов, а обучающие значения.В итоге мы использовали метод JaroWinklerDistance в естественном пакете.Мы составили список ожидаемых типов слотов для попытки сопоставления и выбрали лучшее совпадение.Наши типы слотов были для автомобилей, типов и цветов.Таким образом, вы можете вообразить недопустимые значения, которые мы вводили.

Возможно, вы можете сделать что-то подобное, сделав новое намерение, чтобы захватить ваши известные недопустимые значения и выполнить сопоставление natural.JaroWinklerDistance.Вам нужно будет добавить больше высказываний, чтобы соответствовать высказываниям DateSlot, которые ожидают другой слот с «morgen» и другими значениями, которые вы неправильно получаете.Затем, с намерением передать, определите строковое значение и сопоставьте его с известным списком значений.Вы всегда можете потерпеть неудачу, если случится что-то совершенно неожиданное, как это происходит сейчас, когда вы получаете «Морган».Нам пришлось поиграть с порогом для лучшего соответствия, чтобы определить, использовали ли мы его или нет.

Или вы можете составить список предметов, которые вы постоянно получаете, и сопоставить их с действительными значениями.У нас также был слот, который ожидал 1, 2, 3, 4 или 5. Во время разработки мы тоже получали четыре, два, и т. Д. В итоге мы отобразили эти известные значения в списке и перевели их вмы ожидали.Для этой ситуации у нас был довольно ограниченный список значений, для которых мы должны были перевести, но он работал хорошо.

...