Создание Hunspell-словаря

Материал из Wiki FU-Lab
Версия от 21:23, 16 июля 2012; Vorgoron (обсуждение | вклад) (Новая страница: «В данной инструкции будет рассмотрено создание hunspell словаря на примере удмуртского сло…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

В данной инструкции будет рассмотрено создание hunspell словаря на примере удмуртского словаря hunspell. Сначала необходимо установить Hunspell:

sudo apt-get install hunspell hunspell-tools

1. Создание списка слов. Для создания словаря нужно иметь большой список слов, wordlist. Список удмуртских слов я получал из Удмуртско-русского словаря.

2. Создание словаря hunspell. Словарь hunspell состоит из двух файлов:

  • первый файл с расширением .dic - здесь содержится список "корней" слов (стемов) со специальными метками, флагами.

Фрагмент файла:

бергатӥськыны/a бергатъяны/c бергатылыны/a бергатыны/a бергес бергозы/d берда

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

  • во втором файле (.aff) находятся группы аффиксов, обозначенные флагами.

Фрагмент файла:

SFX a Y 197 #заголовок группы, кол-во аффиксов - 197 SFX a ыны он/d [^ьй]ыны

...

SFX a ыны эмпотонтэм [дзлнстуеыаоэяиюӧӥё]ыны SFX a ыны эмпотостэм [дзлнстуеыаоэяиюӧӥё]ыны SFX a ыны эмъёстэ [дзлнстуеыаоэяиюӧӥё]ыны SFX a ыны ӥ [дзлнст]ыны SFX a ыны ӥд [дзлнст]ыны SFX a ыны ӥды [дзлнст]ыны SFX a ыны ӥз [дзлнст]ыны

обозначения: SFX - означает, что это группа суффиксов, а - наименование флага ыны - что будет убираться с конца стема ӥд - сам суффикс [дзлнст]ыны - условие, при котором будет выбираться данный суффикс