Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Формальный метод транскрипции иностранных имен собственных на русский язык
Аннотация:Статья посвящена созданию математического формализма, описывающего процесс транскрипции имен собственных с иностранного языка на русский. Формализм позволяет перейти к программной реализации подобных систем.
Abstract:The paper devoted to the mathematical formalism creation describing process of proper names transcription from different foreign languages into Russian. The formalism allows to solve the task of program such systems realization.
Авторы: Бондаренко А.В. (bond@fgosniias.ru) - Московский физико-технический институт (государственный университет) (профессор ), Долгопрудный, Россия, доктор физико-математических наук, Визильтер Ю.В. (viz@GosNIIAS.ru) - Государственный научно-исследовательский институт авиационных систем, г. Москва, кандидат технических наук, Горемычкин В.И. (gwi@fgosniias.ru) - Государственный научно-исследовательский институт авиационных систем, г. Москва, Клышинский Э.С. (klyshinsky@itas.miem.edu.ru) - Московский государственный институт электроники и математики (технический университет), кандидат технических наук | |
Ключевые слова: фонетические параметры, формальная модель, машинная транскрипция |
|
Keywords: phonetic parameters, formal model, machine transcription |
|
Количество просмотров: 15503 |
Версия для печати Выпуск в формате PDF (4.03Мб) Скачать обложку в формате PDF (1.25Мб) |
На практике часто встает вопрос о корректной передаче имен собственных с одного языка на другой. При этом одним из основных требований является адекватная передача их звучания. Известно несколько методов передачи имен. Наиболее распространенным является транслитерация, при которой символу или набору символов одного алфавита ставится в соответствие один или несколько символов другого алфавита, причем соответствие проводится, скорее, по их графическому сходству. Данный метод записи позволяет восстановить исходное написание слова, однако не дает возможности воспроизвести его звучание лицу, не знакомому с исходным языком. Более удобным является словарный метод, при котором соответствие слов входного языка словам выходного языка задается при помощи некоторого фиксированного словаря. Однако количество имен собственных с каждым годом растет, в связи с этим построить всеобъемлющий словарь на практике чрезвычайно сложно. Возможен вариант наращивания объемов словаря, но он требует привлечения специалистов, знакомых с языком, на постоянной основе. Наиболее удобным является метод транскрипции, в котором звучание слова в одном языке записывается средствами другого языка (в том числе специализированного). Например, при фонетической транскрипции в качестве выходного может использоваться язык записи фонетики, позволяющий отразить все нюансы произношения слова. Однако подобный язык знаком лишь узкому кругу специалистов, в связи с чем, как правило, используют метод практической транскрипции, в котором звучание слова записывается алфавитом некоторого существующего языка. С практической транскрипцией связаны следующие основные проблемы. · Неполное соответствие фонемного состава двух языков. Так, например, в русском языке отсутствуют арабские горловые звуки, в связи с чем различные (с точки зрения араба) имена будут переданы на русский язык одинаковым образом. · Вынужденное использование запрещенных в целевом языке морфем. Так, например, в русском языке появляются такие слова, как «парашют», использующие сочетание «шипящая согласная + ю или я». · Зачастую транскрипция делается не с исходного языка, а с его транслитерации при помощи латиницы. Это распространяется на китайский, арабский, другие языки, использующие иные графические системы (иероглифы или вязь). В таком случае при транслитерации теряется часть информации, а транскрипция усугубляет проблему. · Историческая традиция. Традиционно Hamlet передается как Гамлет, хотя по современным правилам такое имя должно писаться как Хэмлет или Хемлет. Не помогает и фиксация записи в словаре. Так, имя Walpol в разное время записывалось в словарях как Вальполь, Вальпол и, наконец, Уолпол. · Отсутствие единых устоявшихся правил передачи. Как уже упоминалось, одно и то же имя может быть корректно передано по-разному. Результат зависит от того, какого набора правил передачи из многих существующих мы придерживаемся. Один и тот же учебник может рекомендовать несколько вариантов. Заметим также, что в ряде случаев в самом исходном языке имя может читаться не в соответствии с правилом, а по сложившейся традиции. Яркий пример – английский язык, в котором многие фамилии читаются по традиции, привнесенной нормандскими завоевателями или шотландскими подданными. Для решения подобной проблемы можно использовать в качестве вспомогательного словарный метод, когда слово сначала ищется в словаре, а при отсутствии соответствия – транскрибируется по правилам. В данной предметной области отечественная лингвистика подготовила хорошую теоретическую базу, основанную на классических работах по практической транскрипции [1–3], в которых дается подробное описание правил транскрипции для большого количества языков. Современный уровень информатизации требует создания ПО, осуществляющего автоматическую транскрипцию. Для этого необходимо предварительно создать адекватную математическую модель. В зарубежных публикациях на эту тему наиболее распространены подходы, основанные на скрытых марковских моделях [4] и конечных автоматах [5]. Однако первый подход использует вероятностную передачу имен, что не всегда гарантирует корректность. При втором подходе учет контекста передачи организован слишком сложно, что затрудняет внесение изменений в правила транскрипции. В связи с этим авторами был разработан новый метод, основанный на декларативном подходе, отделяющем правила транскрипции от формального аппарата. Транскрипция с использованием формально-литеральной записи Определим алфавит A={a1,a2,a3,…as}, |A|=s, s>1 как любое конечное множество символов. Словом в алфавите A длины n назовем конечную последовательность символов алфавита A; =, wiÎA, i=1,...,n. Параметр литеры определим как пару =<, >, где – имя параметра; – его значение, и будем считать, что эти параметры равны, если совпадают их имена и значения. Параметр литеры указывает некоторые характеристики, важные для транскрипции или позволяющие классифицировать символы алфавита по группам. Например: <²ряд², ²передний²>,<²тип², ²гласная²>, <²ударение², ²безударная²>. Заметим, что имя и значение параметра литеры также являются словами, однако их символы могут принадлежать алфавиту, удобному для формирования правил транскрипции. Под литерой здесь понимается некоторое упорядоченное множество, описывающее не только символ, но и множество параметров, приписываемых данному символу по умолчанию при его озвучивании. Будем считать, что литера состоит из символа, однозначно идентифицирующего ее, и набора параметров, либо изначально присущих данной литере, либо отражающих ее положение в слове. Введем три алфавита: AIN – входной алфавит, содержащий символы входного языка; AOUT – выходной алфавит, содержащий символы выходного языка и служебный символ #; ALIT – литеральный алфавит, используемый для идентификации литер. Алфавиты могут быть определены на пересекающихся или непересекающихся множествах символов. В случае передачи иностранных имен средствами русского языка входной алфавит состоит из символов стандартной латиницы, выходной алфавит – из кириллических символов, принятых в русском языке, а литеральный алфавит – из символов входного и выходного алфавитов, а также служебных символов: BEG, END (символы начала и конца слова соответственно), Æ (пустой символ). Теперь литера может быть формально определена как пара =>, где c – фиксированный символ из ALIT, идентифицирующий данную литеру, а ={} – конечный набор ее параметров. Формальной литеральной записью (ФЛЗ) слова будем называть его представление в виде упорядоченного множества литер =<>. При этом считаем, что различные написания одного и того же символа из AIN (например, строчное и прописное или начальное, срединное, конечное и изолированное) идентифицируются одним и тем же символом из ALIT, однако могут обладать (в зависимости от особенностей применения) различными значениями определенных параметров. Набор используемых параметров определяется значимостью различения тех или иных написаний при транскрипции и особенностями языка. Пример литеры: <¢A¢,{< ²тип², ²гласн²>, <²написание², ²прописн²>, <²ряд², ²задний²>}>, где ¢А¢ – литеральный символ, идентифицирующий символ входного алфавита, а множество, заключенное в фигурные скобки, – множество параметров данной литеры. Служебные символы, пред- назначенные для обеспечения процесса транскрипции, будут далее обозначаться несколькими символами и не будут заключаться в апострофы. Определим также операторы сравнения литер. Оператор равенства = производит сравнение как литеральных символов, так и наборов параметров литер, то есть литеры и равны (=), если c1=c2 и Í. Оператор условного равенства » производит сравнение только наборов параметров литер и применяется лишь в том случае, если в одной из литер литеральный символ принимает значение Æ. Литеры и условно равны (»), если c1=Æ или c2=Æ и Í. Собственно процесс транскрипции осуществляется в три этапа: 1) преобразование написания слова на входном языке в формальную литеральную запись; 2) выделение слогов, расстановка переносов и ударений; 3) перевод ФЛЗ слова в запись на кириллице. Рассмотрим каждый из них подробнее. Преобразование написания слова на входном языке в ФЛЗ Для преобразования слова в его ФЛЗ =<> вводится множество правил преобразования в ФЛЗ Âa={Ra}, где Ra: a® – собственно правило преобразования, aÎAIN, – литера. Примеры правил преобразования в ФЛЗ: ¢A¢®<’A’,{<²тип², ²гласн²>, <²написание², ²прописн²>, <²ряд²,²задн²>}>> ¢a¢®<’A’,{<²тип², ²гласн²>, <²написание², ²строчн²>, <²ряд²,²задн²>}>> ¢B¢®<’B’,{<²тип², ²согласн²>, <²написание², ²прописн²>, <²звонкость²,²звонкая²>}>> ¢b¢®<’B’,{<²тип², ²согласн²>, <²написание²,²строчн²>, <²звонкость²,²звонкая²>}>> (Курсивом выделена часть правила, относящаяся к литере.) На данном этапе для всех символов входного слова последовательно находятся такие правила, что символ, входящий во входное слово , совпадает с символом из найденного правила. ФЛЗ слова получается путем последовательной конкатенации литер, входящих в полученные правила. Символы, для которых не было найдено соответствие в правилах преобразования в ФЛЗ, считаются знаками препинания и передаются дальше без изменений с соответствующей пометкой. Следует заметить, что появление подобных символов возможно в одной из двух ситуаций, когда входной символ либо не принадлежит входному алфавиту, либо принадлежит, но набор правил преобразования в ФЛЗ неполон. Кроме того, в начало и конец ФЛЗ добавляются специальные литералы, обозначающие начало и конец слова: и . Перед началом группы знаков препинания ставится литера конца слова, а после группы – начала слова. Подобный подход позволяет корректно обрабатывать не только знаки препинания, но и символы из других алфавитов, которые не должны транскрибироваться в рамках данного языка. Пусть i=1,...,n, j=1,...,m, где n – общее количество литер в выходном слове; m – общее количество символов во входном слове; j не убывает при увеличении n. Тогда =®=, причем 1) :=, 2) :=, 3) :=, если для wj $ (RaÎÂa: wj ®), 4) :=, если для wj не $ (RaÎÂa: wj® ®), 5) :=, если получено по правилу 4, а получено по правилу 3, 6) :=, если получено по правилу 3, а получено по правилу 4. Выделение слогов и расстановка ударений На данном этапе определяются закрытые/открытые слоги и ударные/безударные буквы. Любая литера, находящаяся в конце слога, приобретает дополнительный параметр «литера в слоге» со значением «открытая». Для остальных литер значение этого параметра – «закрытая». Выделение слогов производится по следующему алгоритму. Для алфавита каждого языка может быть задан набор слогообразующих символов входного алфавита. В качестве части слога, присоединяемой к слогообразующему символу, берется половина символов между двумя слогообразующими. При нечетном количестве символов средний передается следующему слогу. Исключение делается для приставок, суффиксов и окончаний, в которых разделение на слоги фиксировано. Они присоединяются к остальной части слова как отдельный слог или несколько выделенных фиксированным образом слогов. Написание и деление на слоги таких приставок, суффиксов и окончаний задается отдельной базой правил. Следует отметить, что известны различные алгоритмы выделения слогов с точки зрения фонетики. Описанный алгоритм был выбран для упрощения практической реализации. Расстановка ударений и выделение слогов не являются обязательными процедурами. Их необходимо производить лишь для тех языков, в которых буквы читаются по-разному в зависимости от того, в какой позиции находится данная буква – в ударной, безударной или в конце слога. При расстановке ударений в языках, где ударение является критичным, фиксируются номер слога и направление, в котором ведется счет слогов, – от начала или от конца слова. Однако если в слове меньше слогов, чем указано в правиле расстановки ударений, ударение будет ставиться на последний слог при счете слогов с начала или на первый при счете с конца. Преобразование ФЛЗ слова в кириллицу На данном этапе на основе последовательности литер формируется кириллическое представление, отражающее фонетический облик слова. Подстрокой ФЛЗ назовем подмножество последовательно идущих литер данной ФЛЗ. Обозначим через подстроку ФЛЗ длины l, начинающуюся с позиции i. В дальнейшем верхний индекс подстроки будет означать позицию, с которой начинается данная подстрока в ФЛЗ, а нижний – длину подстроки. Символом * обозначим произвольное значение позиции. Под правилом перевода будем понимать Rt: , где – литеральная подстрока-образец; – подстрока-результат, состоящая из символов выходного алфавита. Правило Rt: применимо к подстроке , если подстрока-образец сравнима с . Под сравнимостью понимается нахождение равенства литер из и в одних и тех же позициях подстроки ФЛЗ W и образца . При этом литеры и равны, если = или ». Будем считать, что перевод подстроки возможен, если $ RtÎÂt: , применимое к , где Ât={Rt} – база правил перевода. В этом случае можно говорить о функции перевода , преобразующей ФЛЗ в выходную строку. С учетом введенных определений и обозначений решение задачи перевода ФЛЗ в кириллическое представление может быть описано следующим образом. Пусть имеются некоторая ФЛЗ =<, , ..., > и набор правил перевода Ât. Тогда перевод ФЛЗ в кириллическое представление будет заключаться в нахождении и применении упорядоченного подмножества правил Â=®>, таких, что: 1) =, где n – число правил в подмножестве Â; 2) =; 3) q – общая длина выходного слова; 4) i1=1; 5) ik+1=ik+lk для kÎ(1,n) и in+ln=q+1; 6) " k,m $ RtÎÂ: , где – упорядоченный список позиций, с которых применимы правила, а – упорядоченный список длин подстрок. Назовем эти условия условиями полноты покрытия. Результатом транскрипции является конкатенация результатов последовательного применения правил перевода . Перейдем к непосредственному описанию алгоритма преобразования ФЛЗ слова в кириллицу. Поскольку данный алгоритм носит рекурсивный характер, описание удобно вести в терминах рекурсивно вызываемых функций. Определим функцию findRules(, i, ), извлекающую из множества Ât подмножество правил , применимых к ФЛЗ с позиции i. Параметры и i передаются по значению, параметр – по ссылке. Вычисление данной функции состоит в следующем. Шаг 1. Для каждого правила во множестве Ât выполняется следующее. Шаг 1.1. Каждое очередное правило рассматривается в качестве кандидата на применение к ФЛЗ с позиции i. Если несколько первых последовательно идущих литер в строке-образце найденного правила имеют литеральный символ, равный Æ, уменьшаем текущую позицию i на количество таких литер. Если текущая позиция меньше единицы, считаем, что правило неприменимо, и переходим к следующему правилу. В противном случае переходим к шагу 1.2. Шаг 1.2. Начиная с полученной текущей позиции, последовательно проверяем сравнимость литер строки с литерами правила. Если хотя бы одна литера строки не сравнима с соответствующей литерой правила, считаем, что правило неприменимо, и переходим к следующему правилу (шаг 1.1). Если сравнение всех литер прошло успешно, данное правило добавляется во множество , после чего осуществляется переход к рассмотрению следующего правила (шаг 1.1). Шаг 2. На множестве определяется максимальная длина подстроки-образца правила без учета литер, имеющих литеральный символ, равный Æ. После этого все правила, длина подстроки-образца которых меньше найденной максимальной, удаляются из множества . Определим также рекурсивную функцию transcript(,,,Â,), преобразующую ФЛЗ в кириллическое написание и получающую в качестве входных параметров, передаваемых по значению, исходную ФЛЗ , списки , , Â, а в качестве передаваемого по ссылке выходного параметра – множество уникальных вариантов кириллической передачи входной именной группы . Алгоритм вычисления данной функции имеет следующий вид. Шаг 1. Если последнее значение в списке не превышает длину входной ФЛЗ, переходим к ша- гу 2. В противном случае считается, что обработка ФЛЗ завершена, из множества удаляется последнее занесенное значение, а полученный результат транскрипции вычисляется как конкатенация результатов последовательного применения правил перевода и заносится во множество . При этом, если во множестве Â встречается RÆ, то в качестве результата его применения берется символ #, обозначающий невозможность адекватной передачи литеры ввиду отсутствия соответствующего правила. Шаг 2. Текущая позиция i устанавливается равной последнему значению, помещенному во множество . Множество правил, применимых к данной позиции, обнуляется. При помощи функции findRules(, i, ) находится множество правил , применимых к текущей позиции. Шаг 3. Проверяются следующие условия. Шаг 3.1. Если множество пусто, i увеличивается на единицу, после чего во множество добавляется i, во множество добавляется 1, а во множество Â добавляется пустое правило, обозначающее его отсутствие и обозначаемое RÆ. Подобная ситуация является признаком того, что множество правил Ât неполно. Шаг 3.2. Для всех элементов создаются: список =, список '= и список Â'=Â. Далее списки , ' и Â' пополняются следующим образом. В список ' добавляется длина l строки-образца найденного правила за вычетом количества литер с литеральным символом Æ; в список Â' добавляется найденное правило; в список добавляется значение i, увеличенное на l. После этого производится рекурсивный вызов функции transcript(,,',Â',). Выходом алгоритма является множество . Кроме того, сформированные в результате списки , и Â могут служить как для проверки работы алгоритма, так и для уточнения базы правил перевода Ât. Таким образом, указанный алгоритм обеспечивает не только нахождение всех вариантов транскрипции слова и выполнение условий полноты покрытия, но и проверку необходимости пополнения базы правил перевода. С учетом введенных функций соответствующий алгоритм преобразования ФЛЗ слова в кириллицу имеет следующий вид. Пусть входом алгоритма является ФЛЗ слова . Тогда вычисление его транскрипции производится в два шага. Шаг 1. Обнулить списки , , Â и множество , после чего занести в список значение 1. Шаг 2. Вызвать функцию transcript(,,, Â,). Результатом работы алгоритма будет множество . Пример транскрипции с французского языка именной группы «Mireille Mathieu». Пусть преобразование в ФЛЗ осуществлено и каждому символу сопоставлена литера. Тогда процесс применения правил перевода будет иметь следующий вид (здесь последовательность строк таблицы соответствует последовательности применения правил).
Заметим, что в правилах (E на конце слова = '') и (согласная + IEU=ЬЕ) играют роль параметры, приписанные литерам, а также специальные символы. На основе предложенного метода была разработана программная технология транскрипции имен собственных. Тестирование показало, что реализованная на базе этой технологии система перевода допускает менее 1 % ошибок для таких языков, как немецкий, румынский и японский. Для английского языка количество ошибок приближается к 2 %, но может сокращаться за счет расширения словаря исключений. В настоящей работе обсуждались вопро- сы создания метода машинной транскрипции имен собственных с иностранного языка на русский. Основной упор сделан на передачу фонетического облика имени собственного с использованием возможностей русских фонетики и орфографии. Предложенный метод позволяет в удобной форме создавать правила для машинной транскрипции. Кроме того, он позволяет перейти к решению задачи автоматического порождения правил по имеющейся прецедентной базе, то есть по корпусу имен, транскрибированных экспертом. Это может стать предметом дальнейших исследований. Литература 1. Суперанская А.В. Теоретические основы практической транскрипции. М.: Наука, 1978. 283 с. 2. Гиляревский Р.С., Старостин Б.А. Иностранные имена и названия в русском тексте: справочник, 3-е изд. М.: Высш. шк., 1985. 304 с. 3. Зиндер Л.Р. Общая фонетика. М.: Высш. шк., 1979. 309 с. 4. Rabiner L.R. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition // Proceedings of the IEEE. 1989. № 77, pp. 257–286. 5. Knight K., Graehl J. Machine Transliteration // In Proceedings of ACL Workshop on Computational Approaches to Semitic Languages, Philadelphia, USA, 1997. |
Постоянный адрес статьи: http://swsys.ru/index.php?id=2461&like=1&page=article |
Версия для печати Выпуск в формате PDF (4.03Мб) Скачать обложку в формате PDF (1.25Мб) |
Статья опубликована в выпуске журнала № 1 за 2010 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик: