Летняя школа Яндекс задание 3 Стажировка в в службе разработки речевых продуктов (Москва)

Здание № 3 из списка предложенных для отбора на летнюю школу от Яндекс. Общий список опубликован здесь. Для простоты обсуждения каждое задание публикуется отдельно.

Яндекс уделяет большое внимание речевым технологиям.  Ввод данных голосом является достаточно естественным, поэтому в последнее время все больше продуктов появляется использующих технологию распознавания речи. Хотя само направление относительно новое, но с ним мы связываем большие надежды.  Распознавание речи является наукоёмкой, технически сложной задачей и в ней есть множество нетривиальных и интересных проблем. Задумок много, а возможности команды ограничены, поэтому нам нужны люди способные прорабатывать  подобные идей. Работа будет интересна тем, кто любит challenge.

Нам нужен стажёр, который будет помогать разработке ключевых компонентов технологии распознавания речи. Работа потребует понимания технологии и возможно некоторое участия в научной деятельности. Технология будет ядром множества  будущих продуктов и сервисов Яндекса, которыми будут пользоваться миллионы  пользователей.

Задание. Дана скрытая Марковская модель.

1. 4 состояния: B, St1, St2, E.

2. Вероятности перехода: B St1 0.526

B St2 0.474

St1 E 0.002

St1 St1 0.969

St1 St2 0.029

St2 E 0.002

St2 St1 0.063

St2 St2 0.935

3. Возможна эмиссия трёх символов: ’a’, ’b’, ’c’.

4. Эмиссионные вероятности: St1:

’a’, 0.005

’b’, 0.775

’c’, 0.220

St2:

’a’, 0.604

’b’, 0.277

’c’, 0.119

5. Данные симуляции такой HMM приведены в файле hmmdata. Требуется на языке C++:

1. Реализовать структуры данных для HMM.

2. Реализовать алгоритм Viterbi, предсказывающий наиболее вероятную  последовательность состояний по данным эмиссии, оценить эффективность алгоритма по реальным данным о состояниях (рассчитать True Positives, False Positives, True Negatives, False Negatives и F-меру для задачи детекции состояния St1).

3. Реализовать алгоритм Forward-Backward,  оценивающий вероятности состояний по данным эмиссии, оценить эффективность алгоритма по реальным данным о состояниях (рассчитать True Positives, False Positives, True Negatives, False Negatives и F-меру для задачи детекции состояния St1).

Share

Tags: , ,

Leave a Reply