Захват речи в текст - PullRequest
2 голосов
/ 10 мая 2019

Есть ли способ захвата разговорных номеров с помощью cmusphinx?

Выискивая в файле cmudict-en-us.dict, я нахожу следующее,

forty F AO R T IY
forty-five F AO R T IY F AY V
fifty F IH F T IY
eighty EY T IY

Вместо того, чтобы Сфинкс отвечал "сорок, сорок пять, пятьдесят, восемьдесят", можно создать словарь, подобный

40 F AO R T IY
45 F AO R T IY F AY V
50 F IH F T IY
80 EY T IY

так что арабские цифры возвращаются ... т.е. 40,45,50,80? Уже есть такой словарь? Спасибо.

1 Ответ

1 голос
/ 11 мая 2019

Можно создать словарь, подобный этому, но не очень рекомендуется.Вам лучше распознать числа как слова, а затем создать код постобработки, чтобы превратить их в реальные числа.Причина в том, что пользователь может записать число по-разному, как это:

  • восемь семь
  • восемьдесят семь
  • сто тридцать пять
  • один три пять
  • один тридцать [большая пауза] пять

Слишком много вариантов, чтобы обработать их в распознавателе.После того, как вы узнали строку, вы можете использовать что-то вроде Duckling , чтобы преобразовать ее в действие.Если Duckling слишком сложен для вас, вы можете использовать простые регулярные выражения или код Python, как здесь Есть ли способ преобразовать числовые слова в целые числа?

...