R | MUморфологический анализ |
R | MUморфологический анализ |
Т | естовый доступ к RMU |
Модуль морфологии продолжает работать в тестовом режиме.
М | орфологическая модель |
Разработка и реализация модели русского словоизменения велась на базе классической модели Зализняка А.А. и полученного опыта прежних лет (Диссертация Волковой И.А. « Адаптация и обучение системы общения с ЭВМ на естественном языке (844.79 КБайт)», 1982 год, ).
Был учтён тот факт, что за это время производительность компьютеров выросла на несколько порядков, поэтому структуры данных можно изменить для облегчения алгоритма морфологического анализа/синтеза.
В результате переработки в модели появились такие понятия, как «псевдооснова» и «псевдофлекия».
Проблемы чередования были решены путём увеличения числа парадигматических классов (более 1600).
Но в то же время объём информации был сокращён за счёт использования связанных парадигм (парадигмы глаголов связаны с парадигмами причастий).
Структурно модель представляет собой четыре словаря:
| Словарь псевдооснов список псевдооснов, которые имеют ссылки на лексемы словаря лексем. |
| Cловарь лексем список лексем (слов, единиц языка), хранящих связанные грамматические характеристики. Каждая лексема связана с соответствующим парадигматическим классом и схемой ударения. |
| Набор парадигматических классов статический список псевдофлексий, объединённых в классы. С каждым классом статически ассоциированы несвязанные грамматические характеристики соответствующих лексем. Благодаря чему возможен алгоритм предсказания морфологических признаков при анализе новых неизвестных слов. |
| Набор схем ударений список номеров ударных букв, с учётом вариативности. |
В БД модуля находится 93 976 слова (всего 2 831 866 словоформ). Для поддержки режима пополнения элементы словаря содержат признак принадлежности пользовательскому словарному набору.
При словоизменении учитываются следующие грамматические характеристики слов (разные для разных морфо-синтаксических классов):
1. | частицы не изменяются; |
2. | междометия не изменяются; |
3. | личные местоимения одушевленность (для 1 и 2 лица), род, число, падеж, лицо; |
4. | количественные числительные одушевленность, род, число, падеж; |
5. | притяжательные прилагательные одушевленность, род, число, падеж; |
6. | краткие прилагательные род, число; |
7. | существительные одушевленность, род, число, падеж; |
8. | прилагательные одушевленность, род, число, падеж; |
9. | глаголы возвратность, вид, наклонение, лицо, род, число; |
10. | предлоги не изменяются; |
11. | союзы не изменяются; |
12. | наречия не изменяются; |
13. | предикативы не изменяются; |
14. | |
15. | знаки пунктуации не изменяются; |
16. | краткие причастия возвратность, вид, время, род, число, залог; |
17. | сравнительная степень прилагательных степень; |
18. | причастия возвратность, вид, время, одушевленность, род, число, падеж, залог; |
19. | деепричастия возвратность, вид, время. |
П | рограммная реализация... |
М | атериалы |
За неимением ничего лучшего я выложил черновик спецификации RMU (633.33 КБайт) от 31/03/03.
О | собенности реализации |
Программный интерфейс ядра анализатора базируется на методе передачи структурных данных в виде размеченного текста в формате SGML (ISO 8879). В режиме отладки морфологическая база представляется также в формате SGML, что удобно для ручного контроля. В связи с тем, что размер внутреннего представления словарей ограничивается десятками мегабайт, было принято решение переложить вопросы подкачки и управления памятью на аппарат виртуальной памяти самой ОС. Таким образом, RMU не нуждается в СУБД для управления своими данными.
Полная загрузка словарей в память позволяет хранить их в отсортированном виде (это логарифмически ускоряет поиск), а также связывать ссылки между записями с помощью указателей.
О | ценка эффективности |
Сложность алгоритма анализа (синтеза) можно оценить требуемым для его проведения количеством сравнений строк:
Где w максимальная длина анализируемой словоформы, S количество основ в отсортированном словаре основ, f максимальное количество флексий в парадигматических классах. Для значений w = 30, S = 70000, f = 60 получаем, что N ≤ O (3·103).
Скорость работы модуля можно оценить следующими значениями*:
анализ в одном процессе | ~3000 сл/с |
анализ через сетевое соединение | ~500 сл/с |
Р | есурсоёмкость |
Во время загрузки RMU запрашивает около 50 Мб виртуальной памяти. Загрузка/выгрузка словарей происходит приблизительно за 10 с*. Практически RMU может работать на системе с минимум 16 мегабайтами оперативной памяти, правда, при этом загрузка может длиться пару минут.
Б | лагодарности |
Джулиану Р. Сьюарду (Julian R. Seward) за его бесплатную библиотеку компресии данных , которая работает просто замечательно.
К | раткая история разработки |
| 18 мая 2003 г. После полугодового перерыва работа продолжена. Обновлена морфологическая база, каждому слову сопоставлена схема ударения. Реализован анализ неизвестных слов. Обновлена страница тестового доступа для демонстрации функции «Синтеза» и «Предсказания». |
| 12 ноября 2002 г. Интеграция с библиотекой для компрессии бинарного формата внешнего представления словарей. |
| 9 июня 2002 г. Выступление на Муждународном семинаре «Компьютерная лингвистика и интеллектуальные технологии». Завершение подготовки выпуска RMU версии 1.0 к годовщине начала программной реализации (8 июня 2001 года). |
| 2 июня 2002 г. Разработан PHP-сценарий для проведения орфографической проверки фрагмента текста. Завершена реализация поддержки схем ударений. |
| 14 января 2002 г. Разработан серверный сценарий на базе языка , позволяющий проводить морфологический анализ пользователям глобальной компьютерной сети. Функция синтеза не реализована. |
| 8 января 2002 г. Модуль RMU дополнен серерной функциональностью теперь он выполняет запросы из сети. Разработан клиентский сетевой модуль. |
| 10 сентября 2001 г. Готов работающий прототип, выполненный в виде самостоятельного приложения. |
| 8 июня 2001 г. Начало разработок по проекту RMU. |
| май 2001 г. Предложение о разработке RMU. |
* | В конфигурации Intel Pentium III-700 МГц, 128 Мб ОЗУ под управлением MS Windows 98SE. |