Искусственный голос и синтез речи - 语音合成
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.


语音合成技术和文本语音转换 - Synthetic voice and Text to Speech technology - Синтетический голос и технологии преобразования текста в речь
 
TTS книги  Проверялка  ФорумФорум  Последние изображенияПоследние изображения  RSS  ПоискПоиск  РегистрацияРегистрация  ВходВход  

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи

Предыдущая тема Следующая тема Перейти вниз
АвторСообщениеАвтоматическое определение места ударения в незнакомых словах в системе синтеза речи
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Сб Дек 13 2008, 19:39
Автоматическое определение места ударения в незнакомых словах в системе синтеза речи FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Сб Дек 13 2008, 19:39

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи

О. Г. Хомицевич, С. В. Рыбин, А. О. Таланов, И. В. Опарин
ООО «Центр речевых технологий» (Санкт-Петербург)



Система синтеза русской речи нового поколения
Система синтеза русской речи с высоким качеством звучания разрабатывается ООО «Центр речевых технологий» в сотрудничестве с кафедрой фонетики СПбГУ. Качество существующих систем синтеза русской речи является серьезным ограничением на пути их внедрения в промышленность. В связи с этим разработка системы, обеспечивающей высокую естественность синтезированной речи на русском языке, является одной из важнейших задач в области речевых технологий в России.
Разрабатываемая система имеет целый ряд принципиальных отличий от уже существующих. Эти отличия касаются как общей технологии осуществления синтеза речи, так и ее отдельных компонентов. Одним из важнейших компонентов является автоматический анализ текста.
В основу системы положена технология Unit Selection, обеспечивающая наилучшее звучание синтезированной речи для разных языков. Технология является в большой степени языконезависимой. Для каждого нового языка требуется размеченная на разных уровнях речевая база данных, при этом сами алгоритмы требуют весьма незначительного изменения. Иначе обстоит дело с модулем автоматического анализа текста. Данный модуль, имея большое значение для достижения высокой естественности речи, является в высокой степени языкозависимым и требует существенных затрат на разработку специфических методов и алгоритмов для каждого конкретного языка.

Автоматический анализ текста в системе синтеза речи
Автоматический анализ текста, который производится в процессе синтеза речи, призван обеспечить правильное прочтение текста с точки зрения интонационного оформления, постановки словесных и фразовых ударений, определения мест пауз. За исходную точку при создании автоматического анализа текста для новой системы синтеза речи взят алгоритм анализа текста в системе синтеза речи «Оратор», разработанной ООО «Центр речевых технологий». Анализ текста в системе синтеза речи производится следующим образом. После этапа нормализации текста (расшифровка числительных, сокращений, разбиение текста на предложения и т.п.) осуществляется поиск словоформ в морфограмматическом словаре. Для системы синтеза речи был адаптирован электронный морфологический словарь группы Aot.ru, доступный в сети Интернет для использования с лицензией LGPL (стандартная общественная лицензия ограниченного применения). Словник был значительно расширен в процессе работы над системой синтеза речи и сейчас содержит более 170000 заглавных слов (лемм). Из словаря поступает информация о месте ударения в словоформе, а также о наличии в слове буквы ё (в случае, если в тексте вместо ё написано е).
Следующим этапом является деление предложения на синтагмы, определение местоположения и длительности пауз и придание каждой синтагме определенного интонационного контура (интонационной конструкции, ИК). Определение места пауз осуществляется на основании связей между словами: паузы ставятся в местах наиболее слабых связей. Разрыв связи между словами соотносится прежде всего со знаками препинания, хотя далеко не все знаки сигнализируют о наличии паузы (к примеру, запятая после союза и в предложении И, войдя в комнату, он увидел...). В случаях, когда информации, полученной путем анализа знаков препинания, оказывается недостаточно для определения мест всех пауз, то есть остаются слишком длинные участки текста без пауз, используется алгоритм определения связей между словами на основе шаблонов частеречных последовательностей.
При определении типа ИК используется информация о знаке препинания, на который оканчивается синтагма, а также об определенных словах, содержащихся в составе синтагмы. Так, различается вопросительная синтагма, соответствующая общему вопросу, и вопрос с вопросительными словами, т.е. вопросительная синтагма, в которой содержится одна из вопросительных словоформ. Также учитываются частицы, сигнализирующие о постановке логического ударения на следующее за ними слово, такие как даже, именно и т.п. Всего выделяется 13 типов ИК (классификация основана на классификации ИК Е. А. Брызгуновой). Фразовое ударение в синтагме по умолчанию проставляется на последний ударный слог; исключение составляют случаи, когда синтагма оканчивается на личное местоимение или иное служебное слово, а также вопросительные синтагмы, где фразовое ударение может переходить на сказуемое или на вопросительное слово.
При анализе текста большое внимание уделяется снятию омонимии (омографии). Очевидно, что обращение к словарю не позволяет во всех случаях однозначно определить принадлежность словоформы к той или иной лексеме, а также место в ней ударения и наличие или отсутствие ё. Часто возникают случаи омографии, когда две словоформы с одинаковым написанием и одинаковыми грамматическими характеристиками принадлежат разным лексемам, различающимся ударением (зáмок, замóк). В других случаях словоформы с одинаковым написанием могут различаться грамматическими характеристиками (простой вагонов – существительное, простой вопрос – прилагательное; лошади ели овес – глагол, ели и сосны – существительное, и т.п.). Снятие омонимии (омографии) необходимо как для правильного прочтения слова, так и для правильного определения степени связи между словами, а значит, для простановки пауз. В системе синтеза речи «Оратор» снятие омонимии осуществляется с помощью контекстного анализа: учитываются словоформы в левом и правом контексте по отношению к текущей, и в результате определяется вероятность появления в данном контексте той или иной грамматической формы (к примеру, при выборе между формой существительного или прилагательного наличие в правом контексте согласованного существительного указывает на бóльшую вероятность формы прилагательного (простой вопрос), а наличие существительного в родительном падеже (простой вагонов) – на бóльшую вероятность формы существительного). В случае, если грамматические характеристики омографов совпадают (зáмок, замóк), используется так называемый анализ дальнего контекста: выбор формы производится в зависимости от того, какие другие слова встречаются в предложении (например, средневековый зáмок, ржавый замóк).
В процессе разработки новой системы синтеза речи предполагается совершенствование методики анализа текста. В частности, вместо контекстного анализа планируется создание нового модуля синтаксического и семантического анализа текста. В то же время будет уделено внимание и усовершенствованию контекстного анализа, который может быть использован системой синтеза речи в случае ограничения по объему доступной памяти (например, в мобильных устройствах).

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Сб Дек 13 2008, 19:40
Автоматическое определение места ударения в незнакомых словах в системе синтеза речи FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Сб Дек 13 2008, 19:40

Ударения в незнакомых словах
Несмотря на большой объем используемого словаря, при анализе текста также должна быть учтена возможность появления незнакомых слов, то есть слов, не содержащихся в словаре. Это могут быть редкие слова и неологизмы, имена собственные, такие как фамилии и географические названия (в словаре содержится достаточно большое количество имен собственных, однако все они учтены быть не могут), а также сложные слова, образованные путем сложения основ или с помощью словообразовательных аффиксов. Система синтеза речи должна уметь с определенной долей вероятности находить место ударения в незнакомом слове (а в идеале – также и приписать ему грамматическую характеристику при синтаксическом анализе предложения). На данном этапе работы над новой системой синтеза речи будет дополнен и принципиально усовершенствован алгоритм определения места ударения в словоформах, не найденных в словаре.
В системе синтеза речи «Оратор» предусмотрен следующий алгоритм простановки ударений на словоформы, не найденные в словаре. Если это слово многосложное, то номер слога, на который падает ударение, вычисляется по формуле p = (n+1)/2, где n – количество слогов в слове. Таким образом, если в слове нечетное число слогов, то ударение будет падать ровно на середину слова, а если количество слогов четное, то приблизительно на середину, но ближе к началу. В двусложном слове ударение падает на первый слог. Этот алгоритм достаточно правильно определяет место ударения в словах небольшой длины, к примеру, простановка ударения на второй слог в трехсложном слове обычно оказывается правильной. Однако в длинных словах, особенно сложных, нередко возникают ошибки.
Для улучшения результатов работы алгоритма в системе «Оратор» был разработан механизм, выделяющий в слове определенные стандартные элементы и с их учетом корректирующий результаты простановки ударений. Прежде всего программа пытается выделить в составе слова один из стандартных префиксов, заданных в виде списка. В список входят как приставки, так и первые части сложных слов (числительные, например, пяти-, двухсот-, и другие элементы, такие как старо- (старорусский), спец- (спецтехника), электро- (электромотор) и т.п.). Всего в списке содержится 227 префиксов. Если в слове найден элемент из списка, то он отбрасывается, и в словаре ищется оставшаяся часть слова. В случае, если «остаток» за вычетом префикса находится в словаре, его место ударения (или место буквы ё) и грамматические характеристики передаются исходной словоформе. Если же этого элемента в словаре нет, наличие префикса все равно существенно, так как алгоритм простановки ударения при подсчете количества слогов и вычислении ударного слога не учитывает префикс.
Если стандартный префикс не найден, анализируется конечный сегмент слова с целью определения места ударения. В составе слова ищутся суффиксы, притягивающие на себя ударение, такие как -ованн- (очарованный), -енок- (мамонтенок) и т.п., а также суффиксы и корни, которые обычно являются безударными, например, -щик- (верстальщик), -ыва- (разглядывать). В зависимости от того, какой суффикс или корень был найден в слове, ударение ставится на этот элемент либо на один из слогов перед ним. Учитываются также вторые части сложных слов, такие как -видный (трапециевидный), -способный (обороноспособный), а также стандартные окончания неизменяемых слов, например, грузинских фамилий (-швили, -адзе). Всего список состоит из 97 суффиксов, корней и вторых частей сложных слов.
На новом этапе разработки алгоритмов анализа текста для системы синтеза речи было решено расширить и усовершенствовать алгоритм предсказания ударений. При этом за основу была принята гипотеза, что в большинстве случаев можно установить место ударения в слове на основании его конечного элемента (суффиксов и окончаний).
Для проверки этой гипотезы и для формирования правил была разработана программа по статистическому анализу словаря. Данная программа, реализованная на языке Perl, позволяет установить связь между конечным элементом слова и местом ударения. На вход программы подается список слов в текстовом формате, с проставленными ударениями (ударения отмечаются знаком «<»). При этом в каждом конкретном случае пользователю необходимо задать длину конечного сегмента слова, который будет рассматриваться программой, а также минимальное количество слов с совпадающим конечным сегментом, которое будет приниматься во внимание, и долю слов с совпадающим местом ударения, достаточную для формирования правила. На выходе исследователь получает список «правил», состоящих из конечных сегментов и соответствующих им мест ударения. Также для каждого правила указывается количество слов, соответствующих данному правилу (т.е. слов с этим конечным сегментом, у которых ударение падает на данный слог), и процент таких слов среди всех слов с данным конечным сегментом.
К примеру, мы можем задать длину конечного сегмента как 4 (четыре буквы), минимальное количество слов с данным конечным сегментом – 50, доля «правильных» слов – 80%. На выходе получаем текстовый файл со списком «правил» следующего вида:
ЛАВА 2 73 93%
НИДА 2 58 100%
АНДА 2 56 96%
АВКА 2 118 93%
ЁВКА 2 92 100%
ИВКА 2 69 93%
и т.п.

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Сб Дек 13 2008, 19:42
Автоматическое определение места ударения в незнакомых словах в системе синтеза речи FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Сб Дек 13 2008, 19:42

Это означает, что среди слов исходного списка, оканчивающихся на -лава, 93% имеют ударение на втором слоге с конца; слов, соответствующих этому правилу, в исходом списке 73, и так далее. В выходном файле конечные сегменты слов отсортированы по концу слова (по принципу обратного словаря).
В качестве исходного списка слов был использован список всех заглавных форм морфограмматического словаря, использующегося в системе синтеза речи, который был дополнен словами из орфографического словаря под ред. В. В. Лопатина. Всего в списке оказалось около 230 тыс. слов. Также отдельно был проанализирован список фамилий и географических названий из морфограмматического словаря: поскольку незнакомые слова в тексте зачастую являются именами собственными, чаще всего – фамилиями и географическими названиями, представляется целесообразным рассмотреть возможность введения для них отдельных правил (имена собственные могут быть выделены в тексте, если они встречаются в середине предложения и написаны с большой буквы). В обоих списках содержались только начальные формы слов: на данном этапе было принято допущение, что в большинстве незнакомых слов (по крайней мере, именных частей речи) место ударения относительно границ основы будет неизменным во всех формах. В дальнейшем планируется более подробный анализ акцентных парадигм, в первую очередь, глагольных.
В результате применения программы был получен большой набор соответствий между конечным элементом слова и местом ударения. При этом было обнаружено, что в большинстве (именных) начальных форм ударение падает на последний слог основы, то есть перед словоизменительным окончанием, которое также может быть нулевым. Так, слова, оканчивающиеся на а, в 70% случаев имеют ударение на второй слог с конца, слова, оканчивающиеся на согласные б, д, ж, з, л, м, п, т, х, ш имеют ударение на последний слог, и т.п. Эту закономерность решено было взять за правило «по умолчанию», которое действует, когда не выявлено никаких факторов, указывающих на другое место ударения. Ранее действовавшее правило вычисления места ударения, по которому ударение в длинных словах зачастую падало далеко от конца слова, было отменено.
С помощью статистического анализа было выявлено большое количество стандартных элементов слова (суффиксов, комбинаций суффиксов и т.п.), которые «сдвигают» ударение от конца слова. При этом правила в значительной степени зависят от того, к какой части речи относится данная словоформа. Поэтому перед этапом простановки ударения необходимо провести предсказание грамматических характеристик словоформ. В настоящий момент реализовано предсказание части речи по словоизменительным окончаниям; в дальнейшем планируется более корректное предсказание с учетом синтаксического анализа. Для каждой части речи отбрасывается словоизменительное окончание, а затем проверяется наличие определенного набора конечных элементов основы. Если такой элемент находится, то ударение согласно соответствующему правилу ставится на второй, третий и т.п. слог с конца основы. В противном случае ударение ставится на последний слог основы. Отдельно было выделено несколько правил для незнакомых слов, встречающихся в середине предложения и написанных с большой буквы (имен собственных).
Примеры правил для существительных:
Основа заканчивается на -ивател: ударение на 4 слог с конца основы (рассе<иватель);
Основа заканчивается на -иум: ударение на 3 слог с конца основы (кондоми<ниум);
Основа заканчивается на -лищ: ударение на 2 слог с конца основы (вмести<лище)
Кроме того, был расширен список стандартных префиксов и первых частей сложных слов (сейчас он составляет 437 элементов) и введены правила постановки дополнительного (побочного) ударения на первую часть сложного слова или префикс. Теперь, если в слове есть стандартный префикс и при этом в слове семь или более слогов, то на префикс ставится дополнительное ударение. Место дополнительного ударения в префиксе задано в списке префиксов, при этом не все префиксы получают дополнительное ударение, поскольку некоторые приставки, скорее всего, всегда будут безударны.
Таким образом, механизм автоматического определения места ударения имеет следующие этапы:
1. Выделение стандартных префиксов.
2. Отбрасывание стандартных словоизменительных окончаний; предсказание возможных грамматических характеристик и части речи.
3. Поиск элементов на конце основы, указывающих на место ударения.
4. Если такие элементы не найдены, по умолчанию ударение ставится на последний слог основы.

Примеры автоматического определения места ударения
(1) электромиографический
Старый механизм предсказания:
- Выделяется стандартный префикс (первая часть сложного слова) электро;
- В словаре ищется оставшаяся часть слова миографический;
- Слово в словаре отсутствует, вычисляется место ударения: слово из 6 слогов --> р = (6+1)/2 = 3,5; ударение ставится на третий слог с начала;
- Результат: электромиогра<фический (неверно)
Новый механизм предсказания:
- Выделяется стандартный префикс (первая часть сложного слова) электро;
- В слове более 7 слогов, на стандартный префикс ставится дополнительное ударение: эле>ктро;
- В словаре ищется оставшаяся часть слова миографический;
- Слово в словаре отсутствует; по окончанию производится предсказание части речи: слово может быть прилагательным;
- Основа оканчивается на стандартный суффикс -еск-, который для прилагательных указывает на то, что ударение ставится на предпоследний слог основы;
- Результат: эле>ктромиографи<ческий (верно)

(2) матрилинейный
Старый механизм предсказания:
- Стандартных префиксов в слове не выделено;
- Стандартных суффиксов в слове не выделено;
- Вычисляется место ударения: слово из 5 слогов --> р = (5+1)/2 = 3; ударение ставится на третий слог с начала;
- Результат: матрили<нейный (неверно)
Новый механизм предсказания:
- Стандартных префиксов в слове не выделено;
- По окончанию производится предсказание части речи: слово может быть прилагательным;
- Стандартных суффиксов в слове не выделено;
- Отбрасывается окончание -ый, ударение по умолчанию ставится на последний слог основы;
- Результат: матрилине<йный (верно)

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Сб Дек 13 2008, 19:43
Автоматическое определение места ударения в незнакомых словах в системе синтеза речи FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Сб Дек 13 2008, 19:43

Заключение
Новый алгоритм автоматического определения места ударения позволяет с большей точностью определить место ударения в словах, не найденных в словаре, а значит, более правильно их прочесть. Это позволяет повысить качество синтеза речи, поскольку даже незнакомое слово будет правильно озвучено системой синтеза.

Литература
  • Вольская Н., Коваль А., Коваль С., Опарин И., Погарева Е., Скрелин П., Смирнова Н., Таланов А. Синтезатор русской речи по тексту нового поколения // Компьютерная лингвистика и интеллектуальные технологии: Труды международной конференции "Диалог'2005" (Звенигород, 1-6 июня, 2005 г.). Под ред. И.М. Кобозевой, А.С. Нариньяни, В.П. Селегея. М.: Наука, 2005. С. 234-237.
  • Oparin I. Flexible Rule-Based Breaks Assignment for Russian. Proc. of the 10th International conference on Speech and Computer, SPECOM 2005. Patras, Greece. 2005. P. 293-296.
  • Oparin I. Robust Rule-Based Method for Automatic Break Assignment in Russian Texts. Proc. of Text, Speech and Dialogue, 8th International Conference TSD 2005. Karlovy Vary, Czech Republic. 2005. P. 356-363.
  • Е.А. Практическая фонетика и интонация русского языка. М., 1963.

Вернуться к началу Перейти вниз

Автоматическое определение места ударения в незнакомых словах в системе синтеза речи

Предыдущая тема Следующая тема Вернуться к началу
Автоматическое определение места ударения в незнакомых словах в системе синтеза речи
Страница 1 из 1Страница 1 из 1
      Форма быстрого ответа        Форма быстрого ответа  
Этот сайт не предоставляет электронные версии программного обеспечения и полнотекстовых электронных изданий, а занимается лишь
подборкой и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями.

Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении
Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Последние обсуждения