Научная статья на тему 'Автоматическое порождение правил машинной транскрипции фамильно-именных групп'

Автоматическое порождение правил машинной транскрипции фамильно-именных групп Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
146
52
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Автоматическое порождение правил машинной транскрипции фамильно-именных групп»

Автоматическое порождение правил машинной транскрипции фамильно-именных групп

Логачева В. К.

Московский государственный институт электроники и математики, каф. ИТАС

1. Введение

Проблема транскрипции фамильно-именных групп и имен собственных в целом постоянно возникает в самых разных областях - от лингвистических, таких как создание систем машинного перевода или синтеза речи, до сугубо практических -например, при переводе документов или географических карт.

Существует несколько подходов к передаче имени собственного средствами другого языка [2]:

• перевод (напр. Easter Island - остров Пасхи). Этот способ очень редко можно применить для имен собственных, так как они зачастую не имеют выраженного значения

• транслитерация - сопоставление каждой букве исходного языка буквы языка перевода. Этот способ может искажать звучание слова, так как почти во всех языках существуют устойчивые сочетания букв, которые читаются особым образом. Даже правил расширенной транслитерации - то есть правил, допускающих сопоставление одной букве нескольких (sh^-ш) - не всегда хватает, чтобы описать все зависимости фонетики и графики, существующие в языке

• транскрипция - передача слова средствами другого языка с учетом его звучания

о фонетическая транскрипция - используется для передачи фонемного состава слова или морфемы; отражает на письме лишь фонемы без учета их вариантов и оттенков о фонематическая транскрипция - должна точно отражать все

фонетические особенности звуков; строится на базе латинского алфавита с добавлением специальных букв и диакритических знаков о практическая транскрипция - транскрипция, использующая разные подходы в зависимости от ситуации и, в отличие от предыдущих разновидностей транскрипции, ориентированная на практическое применение С развитием информационных технологий, когда многие области, в том числе и лингвистика, подверглись автоматизации, появилось понятие «машинная транскрипция» - транскрипция, осуществляемая с помощью компьютера. Очевидно, что любая транскрипция - фонетическая, фонематическая и практическая - может быть автоматизирована, но обычно под термином «машинная транскрипция» понимается практическая транскрипция, потому что в автоматизации зачастую нуждаются практические сферы деятельности. Предметом данной статьи является машинная практическая транскрипция.

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

автоматическое порождение правил для каждой пары языков. Таким образом, программа будет решать сразу две задачи: порождение правил машинной

транскрипции и разбор слов по полученным правилам.

Данная работа основана программе «Трансскриба» [2]. Автор пользуется моделями данных, разработанными для этой системы. В ее рамках уже предпринимались попытки создать инструмент для автоматического формирования правил машинной транскрипции на основе тестового списка имен, для которых известен перевод на русский язык. Просматривался упорядоченный по алфавиту список имен, находились общие фрагменты, у которых совпадал оригинал и перевод, на их основе составлялись правила. Однако при таком подходе порождалось много неадекватных правил: например, правила вида А ^ ‘>’, где А - буква алфавита, ‘>’ -символ конца слова. Также возникали сложности с выделением некоторых дифтонгов и сочетаний согласных.

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

2. Концепция метода

X/* и с» с» с»

Конечный автомат, используемый в данной системе, представляет собой преобразователь: на вход автомата поступает строка на языке оригинала, выход автомата - строка на языке перевода (то есть, на русском языке). Систему правил, использовавшуюся в программе «Трансскриба», можно представить в виде функции переходов для конечного автомата. В соответствии с четырьмя видами правил (А ^ В, А ^ М, К ^ М, А ^ 0, где А и В - буквы, а К и М - множества букв) в конечном автомате существует четыре вида переходов:

• А ^ В: переход из состояния д1 в состояние д2 с преобразованием входного символа А в выходной символ В

• А ^ М: переход из состояния д1 в состояние д2 с преобразованием входного символа А в множество выходных символов М (нетрудно заметить, что это правило является обобщенным случаем первого вида правил)

• К ^ М: переход из состояния д1 в состояние д2 по символу А1 (К= А1А2_АП) и далее до д„.1 без преобразования входных символов, затем переход из д„.1 в с преобразованием цепочки К в цепочку М

• А ^ 0: переход из д1 в состояние д2 с преобразованием входного символа А в пустую цепочку

Правила, в которых учитывается буква, предшествующая данной, или идущая после нее, будут разделены на несколько правил - для каждой буквы, которая может влиять на данную. Например, правило “ ‘8’ перед гласной переходит в ‘з’ ” будет заменено на 6 переходов в конечном автомате - по количеству гласных букв. Такая замена может показаться усложнением процесса разбора, но с другой стороны, при использовании старой системы правил компьютеру каждый раз приходилось проверять букву на принадлежность к множеству гласных или согласных, чего не

придется делать в случае с конечным автоматом (по крайней мере, при разборе слова с его помощью).

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

Термин «слог» в данном контексте употребляется в смысле, отличном от того, в котором он используется в трудах по фонетике. Поэтому необходимо дать его определение.

Слог - это непустое множество букв, содержащее один или более слогообразующих символов1. Слово делится на слоги по следующим правилам:

• деление осуществляется по слогообразующему элементу. Граница слога - после слогообразующего элемента

• 2 и более слогообразующих элемента подряд не разделяются

• 2 и более согласных не разделяются

• множество элементов, среди которых нет слогообразующего, не выделяется в отдельный слог

• символы начала и конца слова считаются согласными буквами Дополнительные правила для русского языка:

• не отделять «ь» от предыдущей согласной

• не отделять «й» от предыдущей гласной

* +

Таким образом, слог - это цепочка вида С V , где С - буква, обозначающая согласный звук, V - буква, обозначающая гласный звук. Слог может иметь вид С "У+С только в том случае, если это последний слог в слове и заключительное множество согласных не может быть выделено в отдельный слог, так как среди них нет слогообразующего символа.

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

Формально почти все слоги, полученные по изложенным выше правилам, являются открытыми (то есть, заканчиваются на гласную). Однако у слога присутствует параметр открытости/закрытости, определяющийся следующим образом: при делении для каждого слога проверяется количество начальных согласных в следующем слоге: если их больше одной, слог считается закрытым. Введение этого параметра связано с тем, что во многих языках (напр. в английском или шведском) одна и та же гласная может читаться по-разному в зависимости от того, в каком слоге - закрытом или открытом - она находится.

1 Вопрос о том, какие буквы считать слогообразующими, остается открытым: в разных языках множества слогообразующих фонем и обозначающих их букв не совпадают. В некоторых языках (например, в чешском) сонорные согласные наряду с гласными могут быть слогообразующими, но при транскрипции чешских имен на русский язык, где сонорные согласные не являются слогообразующими, сонорные согласные не переходят в гласные, то есть не сохраняют способность образовывать слог. На данном этапе слогообразующими считаются только гласные звуки.

Деление на слоги является подготовительным этапом работы. На слоги делится и слово на языке оригинала, и его перевод. В случае, если количество слогов в оригинале и переводе не совпадает, деления на слоги не происходит, и слово не участвует в формировании правил, по крайней мере, в его первых этапах. Если же установлено взаимно однозначное соответствие между слогами оригинала и перевода, начинается построение конечного автомата.

После создания пустого конечного автомата (то есть автомата с двумя состояниями - начальным и конечным), начинается просмотр слогов и формирование правил транскрипции. Для разных слогов этот процесс различается, но главный принцип остается неизменным: слог подается на вход конечного автомата, и если выход конечного автомата (то есть строка на языке перевода) совпадает с имеющимся переводом для этого слога, происходит переход к следующему слогу, в противном случае формируется новое правило. Слоги просматриваются в следующем порядке:

1. слоги из одной или двух букв с одной гласной буквой, у которых количество букв в оригинале и переводе совпадает. На этом этапе формируются основные правила: правила перехода какой-либо буквы оригинального алфавита в букву русского алфавита. При отсутствии правил для данного слога і-й букве оригинального слога ставится в соответствие і-я буква перевода. При наличии правил, преобразующих данный слог в цепочку, не совпадающую с его переводом, добавляется новое составное правило, учитывающее следующую букву. Такие слоги рассматриваются в первую очередь, потому что в них почти исключено появление сочетаний, которые транскрибируются по нетривиальным правилам.

2. слоги более чем из двух букв с одной гласной буквой, у которых количество символов в оригинале и переводе совпадает. При просмотре таких слогов проверяются правила, полученные на предыдущем этапе.

3. слоги с одной гласной, у которых количество букв в оригинале больше, чем в переводе. На этом этапе происходит генерация правил для устойчивых сочетаний согласных. Слог рассматривается справа налево, то есть сначала проверяется гласная. Так как и в оригинале, и в переводе гласная одна, логично предположить, что по правилам транскрипции они будут сопоставлены друг другу. Оставшиеся согласные проверяются с помощью конечного автомата и в случае отсутствия подходящих правил весь слог (кроме гласной) выделяется в отдельное правило.

4. слоги с одной гласной, у которых количество букв в оригинале меньше, чем в переводе. На этом этапе генерируются правила расширенной транслитерации (например, ] ^ дж). Алгоритм работы с такими слогами аналогичен алгоритму, описанному в предыдущем пункте.

5. слоги с двумя и более слогообразующими символами. Последний этап, на котором происходит генерация правил для сочетаний гласных. Слог проверяется слева направо, так как все правила для сочетаний согласных должны быть уже известны. Если же нет подходящих правил, слог выделяется в новое правило целиком.

После рассмотрения всех слов, которые были разделены на слоги, слова, для которых процесс разделения на слоги прошел некорректно, проверяются с помощью конечного автомата. На этом этапе потребуется сформировать правила вида А ^ 0.

Несложно заметить, что конечный автомат, полученный таким образом, будет недетерминированным. Поясним на примере. Для французского языка будут сгенерированы два правила: а^-а и аі^з. Если записать их в виде конечного автомата, получится, что по букве "а" возможны два перехода: один - с преобразованием "а" в "а", другой - без преобразования, но в состояние, которое при

появлении символа "i" будет переводить всю встретившуюся ранее цепочку в "э". Существует алгоритм преобразования НКА в ДКА, но поскольку конечный автомат будет использоваться параллельно с построением, неоднозначности будут возникать неоднократно в процессе работы программы. Вопрос о том, преобразовывать ли НКА в ДКА всякий раз при появлении неоднозначностей, замедляя его построение, или только после завершения процесса построения, усложняя разбор, остается открытым.

З. Обсуждение метода

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

Еще одно затруднение представляют не читающиеся буквы на конце слова, в особенности гласные: еще не разработан метод выделения правил вида A ^ 0, а в случае с не читающейся гласной слово вообще не может участвовать в процессе формирования правил (по крайней мере, в том виде, в котором он описан выше), так как оно не будет разделено на слоги из-за разного количества слогообразующих символов в оригинале и переводе. В некоторых языках, например, во французском, таких слов примерно одна треть.

Также представляют сложность устойчивые сочетания букв вида VC, где V -гласная, C - согласная. Согласно правилам разделения слова на слоги такие сочетания будут разбиты, что впоследствии помешает выделить их в отдельное правило. Данный метод, в отличие от многих предшествующих, использует информацию о буквах и, соответственно, звуках, которые они представляют, но весь анализ на данном этапе происходит исключительно на фонетическом уровне - то есть в слове не выделяются морфемы и не учитывается принадлежность звука к той или иной морфеме. Отчасти это объясняется тем, что систему планируется использовать для машинной транскрипции фамильно-именных групп произвольных языков, и зачастую единственной доступной информацией об этих языках будет список тестовых примеров (то есть слов с переводом). Но в некоторых случаях принадлежностью буквы к префиксу или суффиксу определяется, как она будет читаться, и невозможно сформировать соответствующее правило, рассматривая слово исключительно на фонетическом уровне.

Список литературы:

1. Machine Transliteration Kevin Knight, Jonathan Graehl, 199S

2. Аминева С.Н., Антонец Н.А., Бескончина С.А., Бондаренко А.В., Володина А.А., Визильтер Ю.В., Галактионов В.А., Горемычкин В.И., Ёлкин С.В., Клышинский

Э.С., Максимов В.Ю., Мансурова О.Ю., Мусаева Т.Н., Мусатов А.М., Силаев Н.Ж., Стрелкович О.В., Хромушина А.М., Штыковский А.Е., Практическая транскрипция имен народов мира, 2009

i Надоели баннеры? Вы всегда можете отключить рекламу.