Глава 1
Компьютерная морфология
Авторы: Виктор Владиславович Бочаров, выпускник 2000 года, участник проекта OpenCorpora.org;
Ольга Владимировна Митренина, выпускница 1993 года, доцент кафедры математической лингвистики СПбГУ
Как найти слова
Морфология — это раздел лингвистики, который изучает структуру слов и их морфологические характеристики. Классическая морфология проанализирует слово собака примерно так: это существительное женско- го рода, оно состоит из корня собак и окончания а, окончание показывает, что слово употреблено в единственном числе и в именительном падеже.
Компьютерная морфология анализирует и синтезирует слова про- граммными средствами. В наиболее привычной формулировке под мор- фологическим анализом подразумевается определение леммы (базовой, канонической формы слова) и его грамматических характеристик. В области автоматической обработки данных также используется термин
«нормализация», обозначающий постановку слова или словосочетания в каноническую форму (грамматические характеристики исходной формы при этом не выдаются). Обратная задача, т. е. постановка леммы в нужную грамматическую форму, называется порождением словоформы.
Морфологическому анализу предшествует подготовительный этап: текст нужно разбить на предложения, а в каждом предложении выделить слова, знаки препинания и другие элементы текста — смайлики, числа, формулы, таблицы и пр. Этот этап называется токенизацией (tokenization), а выделенные в результате единицы (слова, числа, знаки препинания и пр.) называются токенами (tokens).
Задачи компьютерной морфологии, как и большинство задач при- кладной лингвистики, решаются тремя типами подходов [Hajič 2004; Hajič et al. 2001; Коваль 2005; Леонтьева 2006]:
подходы на основе правил, составленных экспертами (rule-based methods);
статистические методы (statistical methods), связанные в основном с машинным обучением (machine learning);
гибридные подходы, совмещающие статистику и правила (hybrid methods).
Токенизацию можно проводить с помощью любого из этих трех под- ходов.
Правила для выделения предложений на первый взгляд кажутся оче- видными: предложения заканчиваются точкой, многоточием, вопроси- тельным или восклицательным знаком. Можно рассматривать эти знаки как границы предложений. Но точкой могут заканчиваться также сокра- щения, например, кв., гр., и пр. и пр.i Тогда можно добавить правило о том, что конец предложения отмечается точкой и следующей за ней прописной буквой. Под это правило ошибочно попадут инициалы, например, Дж. Д. Сэлинджер, и при этом не попадут предложения из социальных сетей, где прописные буквы используются не всегда. Однако, немного по- думав, можно составить достаточно эффективный набор правил для выде- ления границ предложений.
Подходы, использующие статистические данные и методы машинно- го обучения, подробно описаны в пятой главе нашей книги. Они предпо- лагают, что на вход компьютеру можно дать представительный корпус примеров с отмеченными границами предложений, и он по аналогии нау- чится находить границы новых предложений, которых не было в этом корпусе.
Гибридный подход совмещает статистику и правила.
Слова (точнее, словоформы — слова в определенной грамматиче- ской форме) в русском языке выделять достаточно просто — у нас они разделяются пробелами, хотя и тут иногда возникают сложности. Гораздо сложнее дело обстоит в японском или в китайском языке — там пробелы используются далеко не всегда.
К счастью, большинство стандартных пакетов морфологического анализа включают в себя токенизацию, поэтому, скорее всего, вам не при- дется программировать эту процедуру с нуля.
Достарыңызбен бөлісу: |