Введение

NETtalk — это искусственная нейронная сеть. Она является результатом исследований, проведённых в середине 1980-х годов Терренсом Сейновским и Чарльзом Розенбергом. Целью создания NETtalk было построение упрощённых моделей, способных пролить свет на сложность обучения когнитивным задачам, свойственным человеку, и их реализация в виде коннекционистской модели, также способной научиться выполнять аналогичную задачу. Авторы обучили её двумя способами: с использованием машины Больцмана и обратного распространения ошибки. NETtalk — это программа, которая учится произносить написанный английский текст, получая текст на вход и сравнивая его с фонетическими транскрипциями. Сеть была обучена на большом объёме английских слов и соответствующих произношений и способна генерировать произношения для новых слов с высокой точностью. Успех NETtalk вдохновил на дальнейшие исследования в области генерации произношения и синтеза речи, а также продемонстрировал потенциал нейронных сетей для решения сложных задач обработки естественного языка. Выходом сети являлся поток фонем, который передавался в DECtalk для создания слышимой речи. Программа добилась популярности и была показана в телепередаче Today. Процесс разработки был описан в интервью 1993 года. На создание обучающего набора данных потребовалось три месяца, а на обучение сети — всего несколько дней.

Архитектура

Сеть имела три слоя и 18 629 настраиваемых весов, что было большим числом по меркам 1986 года. Существовали опасения, что она может переобучиться на наборе данных, но обучение прошло успешно. Набор данных представлял собой подмножество из 20 000 слов корпуса Брауна, с ручной разметкой фонем и ударения для каждого символа. Вход сети состоял из 203 элементов, разделенных на 7 групп по 29 элементов в каждой. Каждая группа представляет собой one-hot кодирование одного символа. Существует 29 возможных символов: 26 букв, запятая, точка и разделитель слов (пробел). Скрытый слой содержал 80 элементов. Выходной слой состоял из 26 элементов. 21 элемент кодирует артикуляторные признаки (точка артикуляции, звонкость, высота гласного и т. д.) фонем, а 5 элементов кодируют ударение и границы слогов.

Достижения и ограничения

NETtalk был создан для изучения механизмов обучения правильному произношению английского текста. Авторы отмечают, что обучение чтению включает сложный механизм, задействующий множество отделов человеческого мозга. NETtalk не моделирует конкретные этапы обработки изображений и распознавания букв зрительной коры. Вместо этого он исходит из предположения, что буквы уже предварительно классифицированы и распознаны, а последовательности этих букв, составляющие слова, затем предъявляются нейронной сети в процессе обучения и при проверке ее работы. Задача NETtalk – научиться устанавливать правильные соответствия между правильным произношением и заданной последовательностью букв, основываясь на контексте, в котором эти буквы встречаются. Иными словами, NETtalk учится использовать буквы, окружающие произносимый в данный момент фонему, для получения подсказок относительно ее предполагаемого фонетического соответствия.