Алгоритмические и программные решения для автоматизированного построения _словарей глаголов таджикского языка
Алгоритмические и программные решения для автоматизированного построения словарей глаголов таджикского языка
Собиров Д.Д.
Таджикский национальный университет ]агшке(1 [email protected]
Аннотация. В статье рассматривается комплекс алгоритмов и программных реализаций для автоматизированного построения словарей глаголов таджикского языка по корпусу текстов
Ключевые слова: таджикский язык, сложные глаголы, автоматическая обработка текстов
1 Введение
Процессы информатизации в Республике Таджикистан вышли в последние годы на качественно новый уровень, предполагающий интеграцию локальных информационных систем и ресурсов в региональные и глобальные. В связи с этим активизируются усилия исследователей и разработчиков по созданию автоматизированных систем обработки текстов на таджикском языке (ТЯ). Примером могут служить проекты перспективных систем машинного перевода с таджикского языка на русский и обратно [1]. В то же время одной из проблем, объективно затрудняющих автоматизацию в указанной области, является отсутствие базовых моделей выделения в таджикских текстах частей речи, в частности глагольных конструкций. Для корректного решения последней задачи необходим анализ словарей, однако существующие словари таджикского языка содержат лишь часть реально используемых сложных глаголов, а специализированных словарей глаголов нет вовсе.
Глаголы ТЯ, по частоте их встречаемости в корпусе таджикских текстов могут быть частотные и редкие. Последние могут быть устаревшими или новыми (неизвестными), отражая процессы генезиса языка. «Неизвестные» с точки зрения словарей глаголы стоит искать среди редко встречаемых в корпусе текстов ТЯ глагольных конструкций. Поэтому автоматическая обработка имеющихся корпусов таджикского языка с генерацией словаря глаголов представляет собой актуальную и интересную задачу, которая может быть полезна сразу для ряда теоретических и прикладных направлений. Данная статья посвящена описанию алгоритмических и программных решений в этом направлении.
2 Проведенные исследования
Для персидского языка, родственного таджикскому, работа над автоматическим распознаванием глаголов началась относительно недавно. В 2009 году вышла работа иранских исследователей по распознаванию простых глаголов в корпусе персидских текстов [9]. В 2012 году S.Bagherbeygi и M.Shamsfard представили алгоритм полуавтоматического выделения составных глаголов из корпуса текстов [8]. Первоначально из традиционных словарей ими были выделены 6302 (Sokhan Dictionary) и 6386 (Aryanpour Dictionary) сложных глагола, а в результате обработки корпуса текстов - 7139 сложных глаголов.
Следует отметить, что указанные работы выполнялась иранскими учеными практически параллельно с аналогичными исследованиями, начатыми в Таджикистане в 2011 году. В результате информационного этапа исследования, на котором были систематизированы имеющиеся сведения о закономерностях формирования глагольных конструкций ТЯ, был сделан вывод, что, несмотря на близость таджикского и персидского языков, вряд ли возможен прямой перенос решений в области распознавания глаголов [2].
В начале 2012 года были разработаны алгоритмические основы для создания проблемно-ориентированного программного обеспечения -лабораторного стенда для исследования глагольных конструкций ТЯ [3], который был создан к исходу 2012 года в среде разработки Embarcadero® Delphi® 2010 и СУБД SQLite [4]. Параллельно был подготовлен специализированный корпус таджикских текстов объемом более 2,5 млн. словоформ. Тексты корпуса прошли предварительную обработку с целью удаления ошибок и приведения к однообразному виду. В частности, было произведено согласование шрифтов исходных документов [5] с последующим переводом в кодировку Юникод и сохранением в текстовом формате.
Для поддержки функционирования стенда по материалам исследования в области таджикско-персидской конверсии систем письма [6] были наполнены вспомогательные информационные базы, содержащие 610 основ простых глаголов ТЯ, 48 глагольных префиксов и 102 постфикса. На основе модельного словаря таджикского языка [7] был сформирован специализированный стоп-словарь объемом 194 слова (состоящий в основном из наречий, союзов и частиц), которые не могут быть частью глагольной конструкции.
Одновременно были получены приближенные оценки встречаемости простых глаголов ТЯ, доля которых составляет около 9% всех словоформ входных текстов. Доля отглагольных имен - 2%, причастий (деепричастий) - 1% [4]. На текущем этапе исследования решается промежуточная задача автоматической генерации словарей глаголов таджикского языка по имеющимся корпусам текстов.
Алгоритмические и программные решения для автоматизированного построения _словарей глаголов таджикского языка
3 Текущие разработки
Текущие результаты по разрабатываемой тематике представлены функциональной моделью программного комплекса обработки корпуса текстов, алгоритмами сегментации и анализа, а также предварительными статистическими данными.
3.1 Функциональная модель комплекса выделения глаголов
В результате декомпозиции решаемой задачи модель обработки корпуса текстов ТЯ на предмет автоматического получения словаря сложных (составных) таджикских глаголов включает три этапа, рис. 1.
БД
Г
\ —►
Корпус текстов
Подготовительный этап: загрузка баз и - корпуса, выбор опций обработки
Актуализация вспомогательных баз данных
Г ^
Сегментация текста и выделение кандидатов глаголов на основе правил
Сравнение с эталонами
Л
Нормализация
глаголов и статистическая обработка
Статистика
Словарь
Настройки
Рис. 10. Функциональная модель генерации словаря глаголов
На первом предварительном этапе в экспериментальный стенд загружается корпус текстов ТЯ и вспомогательные информационные базы (основ простых глаголов, аффиксов, стоп-слов и т.д.). Здесь же пользователь имеет возможность задать параметры дальнейшей обработки, а именно формат выходных данных, использование тех или иных вспомогательных словарей и т.д.
На втором этапе происходит сегментация входного текста и выделение символьных цепочек-кандидатов на роль глагольных конструкций (ГК) ТЯ. Указанные два этапа повторяют функционал испытательного стенда, представленного в [7]. Далее введен дополнительный третий этап нормализации глаголов для их представления в форме инфинитива (словарной статьи) и фильтрации именных частей на основе статистики встречаемости.
Предусматривается также этап актуализации вспомогательных баз стенда по результатам сравнения с эталонными словарями глаголов, составленными на основе академических книжных словарей, после каждого прогона программы.
Ниже представлено описание алгоритмов, реализующих второй и третий этапы рассматриваемой модели.
Ро®(140 =
3.2 Алгоритм сегментации текста и выделения возможных глагольных конструкций
На множестве словоформ ТЯ {определим символьную функцию: '1,, Ш — простой глагол. ТЯ } 2,, — причастне(дееприча(7гие)
3,, Ш — отглагольное имя (Д, Ш — в ином случае Основой реализации данной функции является модель представления простого глагола ТЯ в виде конкатенации глагольных префиксов, корней и постфиксов, множества которых ограничены и известны (см. п. 2). Причастия и отглагольные имена задаются специфическими постфиксами.
Первичная сегментация входного текста основана на том наблюдении, что глагольная конструкция УС в ТЯ не может быть длиннее шести слов Wi, обязательно оканчивается на простой глагол и не разделяется знаками препинания, т.е. представима моделью:
ГКТЯ : УС = Г^1": V1 ~6 (1)
Кроме того, ГК ТЯ не может содержать в своем составе некоторых частотных и служебных слов, которые учтены в стоп-словаре [4]. Исходя из этого, алгоритм сегментации и выделения возможных ГК ТЯ представлен следующей последовательностью шагов по исключению из рассмотрения элементов текста, ограничивающих возможные глаголы.
Алгоритм №1.
Шаг 1. Загрузить входной текст.
Шаг 2. Заменить в тексте служебные символы, знаки препинания и слова, содержащиеся в стоп-словаре на заранее определенный маркер-разделитель.
Шаг 3. Инициализировать двумерный массив А и записать в него все уникальные фрагменты (словосочетания), заключенные между двумя маркерами-разделителями в формате <фрагмент, частота фрагмента)>.
Шаг 4. Для каждого фрагмента длины п из массива А выполнить:
4.1 Взять последнее слово фрагмента \\гп. Если Роб^п) = 1, то перейти к шагу 4.2 иначе 4.3.
4.2 Удалить во фрагменте все слова с индексом 1 < п -6. Записать фрагмент в массив А и выполнить шаг 4 для следующего фрагмента.
4.3 Удалить слово с индексом п. Если размер фрагмента стал п = 0, то удалить фрагмент из массива А и выполнить шаг 4 для следующего фрагмента, иначе перейти к 4.1.
Шаг 5. Выполнить прореживание и сортировку массива А, исключив дубликаты фрагментов с суммированием их частот.
Шаг 6. Для каждого фрагмента длины п > 1 из массива А выполнить:
6.1 Положить 1 = 1.
Алгоритмические и программные решения для автоматизированного построения _словарей глаголов таджикского языка
6.2 Взять i-e слово фрагмента Wi и проверить, содержит ли оно постфикс из словаря запрещенных постфиксов. Если содержит, то перейти к шагу 6.3 иначе 6.4.
6.3 Удалить из фрагмента i-e слово и все слова с меньшими индексами. Перейти к шагу 6.5.
6.4 Увеличить значение i на 1.
6.5 Если i = п, то выполнить шаг 6 для следующего фрагмента массива А, иначе перейти на 6.1.
Шаг 7. Выполнить прореживание и сортировку массива А, исключив дубликаты фрагментов с суммированием их частот.
Результатом выполнения приведенного алгоритма №1 является двумерный массив А, содержащий упорядоченные по частоте фрагменты-кандидаты на роль ГК ТЯ, ограниченные справа простым глаголом. Данный массив подается на вход алгоритма №2 - приведения глаголов к форме инфинитива (нормализации) и статистической обработки.
3.3 Алгоритм нормализации и выделения глаголов
Введем следующую систему условных обозначений частей речи ТЯ: V - простой глагол; D - причастие деепричастие; А - отглагольное имя; N -существительное/прилагательное/числительное; Р - предлог; X - не установленная часть. Если V - единичный глагол, то [V]k -последовательность из j глаголов (0 < j < k), a [VilV2]k - произвольная последовательность длины не более слов, которая может содержать как элементы VI, так и V2. Тогда в соответствии с моделью, представленной в [2], элементы массива А, сформированные в результате выполнения алгоритма №1 в общем виде представимы в виде последовательности [PMNIXIAMDMVbV. При этом компонент [D]3[V]2V представляет глагольную часть составной ГК, a [P]2[NIXIA]3 - именную. Для деепричастных глаголов именную часть представляет компонент [Е)]з.
Таким образом, для нахождения инфинитива любого сложного глагола ТЯ, необходимо идентифицировать именную и глагольную части, а затем в соответствии с графом глагольных парадигм, приведенным в [6], восстановить основу прошедшего времени вспомогательного глагола, к которой добавить постфикс «-ан». В рамках введенной системы обозначений процесс приведения сложного глагола к форме словарной статьи может быть представлен следующими записями:
[P]2[NIXIA]3[D]3[V]2V -> [P]2[NIXIA]3V для именных глаголов,
[P]2[NIXIA]3[D]3[V]2V —> DV для деепричастных глаголов.
Функция Pos(W), определенная в п. 3.2, позволяет выявлять в тексте глаголы, причастия/деепричастия и отглагольные имена. Местоимения и предлоги составляют небольшое множество неизменяемых слов ТЯ, которое может быть задано словарем. Основная сложность состоит в определении имен существительных и прилагательных. Частично эта
задача может решаться распознаванием характерных для этих частей речи постфиксов и префиксов.
После приведения записей массива А к форме словарной статьи может быть выполнена статистическая обработка именных частей ГК, заключающаяся в определении параметров распределения их шаблонов (в форме введенных обозначений), нахождения общих подстрок и т.д.
Таким образом, предлагается следующий алгоритм.
Алгоритм №2.
Шаг 1. Инициализировать двумерный массив В в формате <фрагмент, шаблон, частота фрагмента)> и записать в него данные из массива А.
Шаг 2. Для каждого фрагмента из массива В выполнить следующее:
2.1 С помощью функции базы предлогов и местоимений, а также словаря постфиксов определить части речи элементов фрагмента и сформировать шаблон. Записать его в соответствующее поле.
2.2 На основе шаблона выделить глагольную часть и вычислить основу прошедшего времени основного (вспомогательного) глагола, приведя его к форме инфинитива. Записать фрагмент в соответствующее поле массива В. Перейти к следующему элементу.
Шаг 3. Выполнить прореживание и сортировку массива В, исключив дубликаты фрагментов с суммированием их частот.
Шаг 4. (Опционально) Удалить из массива В все фрагменты длиной 1 - простые глаголы.
Результатом выполнения приведенного алгоритма №2 является двумерный массив В, содержащий упорядоченные по частоте кандидаты на роль составных глаголов ТЯ в словарной форме. Далее за счет анализа распределения глагольных конструкций и поиска общих подстрок в именных частях сложных глаголов предполагается разработать алгоритм №3, выполняющий окончательное формирование словаря.
4 Полученные результаты
Оба приведенных алгоритма были программно реализованы в испытательном стенде, с помощью которого на основе обработки таджикских текстов удалось максимально заполнить вспомогательные информационные базы, а также получить развернутую промежуточную статистику по сложным глаголам ТЯ. В результате обработки корпуса ТЯ объемом свыше 2,5 млн. слов выделено 200,7 тыс. глагольных конструкций (8%), из них различных форм - 91 тыс. Более 1 раза встретились 12 тыс. различных ГК.
Из корпуса выделено 274 простых глагола ТЯ и 325 простых глаголов, входящих в состав сложных глаголов. Изучены относительные частоты встречаемости глагольных основ как в качестве простых, так и вспомогательных глаголов в составе составных глаголов ТЯ, рис. 2 и 3.
Алгоритмические и программные решения для автоматизированного построения
_словарей глаголов таджикского языка
Наиболее частотным простым глаголом является глагол «будан» обобщающий в том числе сокращенные формы «аст», «хает».
5 4,5
4 -I
3,5 3 2,5 2 1,5 1
0,5 | 0
Ни
■ ■ ■ ■ ■ ■ ■
гогогогогогогогогогогогогогогогогогагогогогогогогогогогогого >. -о- 3 о. >. го У -в- х 3 а. о х ^ х " " х 3 а. 3 х 3 £ 3 * -в- " х К
^ Е §
го
О щ X
Рис. 2. Тридцать наиболее частых простых глаголов таджикского языка
А вот в составе сложных глаголов более распространен глагол «кардан».
12
10
8 б
т г X X
го га =1 5
X о.
и >-
га
о.
И.■.■.■.■■■■
1---1---1---1---1---1---1
х х х х х х х
го га га га га га га
1=1 и и Ь 5 ? 5
х У У У га х х
3 I <о I т 3 §
3 | § 5 I
ГО
XXIX
ГО ГО ГО ГО
ч ч ч ь
о. >■ >■ 3 га ш 3 о Щ ВЕ
га та
X X X X X
та та та та та
< Е д =ч. „ „
о >-3 го в. ■©■ ■©■
=[ 5 та 1 та х яи
а 1-ж
X X X X X X X X X X
та та та го го го го го го го
ь 1- X о 5 — 1- 1— 1- 5 X =ч
-е- X о и -е- га о. и о X V X о 3 го -Г X о 3 о ГТ1
ю гг X го
Рис. 3. Наиболее частые вспомогательные глаголы таджикского языка
Также получена статистика сочетаемости глагольных префиксов с основами настоящего и прошедшего времени таджикских глаголов.
5 Выводы и предложения
Предварительные результаты обработки корпуса таджикских текстов на основе приведенных алгоритмов позволили выделить около 12 тысяч кандидатов сложных глаголов, встречающихся не менее 2 раз на объеме материала в 2,5 млн. слов. Данное число сравнимо с количеством сложных
глаголов, которое удалось автоматически выделить иранским исследователям (7,1 тыс.) [8]. Это косвенно указывает на завершенность начальных этапов исследования, в частности потенциал сегментации для выделения ГК на текущем этапе исследования уже исчерпан.
В рамках заключительного этапа разработки алгоритмов выделения ГК ТЯ требуется применение структурного (лингвистического) подхода к распознаванию, выделение дополнительных признаков. При этом в качестве локальных проблем, требующих решения, можно указать омонимию глагольных основ и некоторых форм существительных, а также отсутствие эталонной (обучающей) выборки сложных глаголов ТЯ.
6 Список литературы
1. Гращенко JI.A., Клышинский Э.С., Тумковский С.Р., Усманов З.Д. Концептуальная модель системы русско-таджикского машинного перевода // Доклады Академии наук Республики Таджикистан - 2011. - том 54, №4. - С. 279-285.
2. Гращенко JLA., Собиров Д.Д. Модели и алгоритм распознавания глаголов в предложениях таджикского языка // Доклады Академии наук Республики Таджикистан. - 2012. - том 55. - №2. - С. 120-125.
3. Гращенко J1.A. Клиент удаленной автоматизации согласования компьютерных шрифтов таджикского языка // Доклады Академии наук Республики Таджикистан. -2011. - Т. 54. - № 5. - С. 367-370.
4. Гращенко JI.A. Математические основы автоматизированной таджикско-персидской конверсии графических систем письма: дис. ... канд. физ.-мат. наук -Душанбе: Институт математики АН Республики Таджикистан, 2010. -115 с.
5. Гращенко JI.A. Модельный стоп-словарь таджикского языка // Доклады Академии наук Республики Таджикистан. - 2013. - том 56. - №5. - С. 368-375.
6. Собиров Д.Д, Гращенко JI.A., Усманов З.Д. Информационные основы автоматического распознавания глаголов таджикского языка // Известия Академии наук Республики Таджикистан. Отд. физ.-мат., хим., геол. и техн. наук.- 2011. - №3. - С. 41-46.
7. Собиров Д.Д. Программный стенд для исследования глагольных конструкций таджикского языка // Новые информационные технологии в автоматизированных системах. - 2013. - №16. - С. 277-282.
8. Bagherbeygi S., Shamsfard М. Corpus based Semi-Automatic Extraction of Persian Compound Verbs and Their Relations. In Proceedings of the Eight International Conference on Language Resources and Evaluation (LREC'12), Istanbul, Turkey, 2012, pp. 2863-2867.
9. Iranpour Mobarakeh M., Minaei-Bidgoli B. Verb Detection in Persian Corpus, International Journal of Digital Content Technology and its Applications, Vol. 3, № 1, 2009, pp. 58-65.