Ispell - это программа проверки правильности написания слов (орфографии). Но интересна не сама программа, а словари, с помощью которых проверяется орфография. Во-первых, словари на основе которых работает ispell созданы для нескольких десятков языков и наречий. И они находятся в свободном доступе Во-вторых - они легко могут быть применены для организации полнотекстового поиска в базах данных. В третьих...
В третьих - формат словаря позволяет в компактной форме хранить правила образования форм слова.
Словарь состоит из двух текстовых файлов – файла слов и файла аффиксов (правил образования форм слова)
Файл слов. Состоит из уникальных слов в “исходной” форме и ключей – ссылок на правила словообразования из исходной формы. Каждое слово располагается на отдельной строке. Ключи отделяются от слова символом ‘/’
Файл аффиксов. Содержит правила словообразования и другую информацию о словаре. Информация хранится в виде “имя_параметра” “значение_параметра” (значение отделено от имени параметра пробелами). Подробная информация о всех параметрах, используемых в файле аффиксов приведена здесь.
Однако, в доступных для скачивания словарях используются далеко не все параметры. Наиболее важными являются
- “SET” значение параметра указывает на кодировку, в которой сохранен файл словаря. Например, “KOI8-R” или “ISO8859-1”
- “TRY” значение содержит строчные и заглавные буквы алфавита, используемые для написания слов словаря
- “SFX”- значения параметра определяют правило словообразования путем преобразования суффиксной части слова (расположенной в конце слова)
- “PFX”- значения параметра определяют правило словообразования путем преобразования префиксной части слова (расположенной вначале слова)
Последние два параметра являются наиболее важными, их значения имеют одинаковую структуру.
Структура значения параметра “SFX” (“PFX”)
Значение параметра состоит из трех или четырех полей. Поля отделяются друг от друга пробелами. Если значение параметра состоит из трех полей и 3-е поле цифра N, это означает, что следующие N строк являются блоком правил словообразования. Ключ данного блока указан в 1-м поле, 2-е поле может принимать значение “Y” или “N”, разрешая или запрещая соединение префиксов и суффиксов.
SFX L Y 34
Каждое правило словообразования состоит из ключа “SFX” (“PFX”) и его значения из четырех полей
- 1-е поле – повторяется ключ, указанный в блоке правил
- 2-е поле – суффиксное окончание слова, которое будет ИСКЛЮЧАТЬСЯ из исходной формы слова при словообразовании по данному правилу. В поле может быть указана цифра 0 – значит из исходной формы слова по данному правилу ничего не исключается
- 3-е поле – суффиксное окончание слова, которое будет ДОБАВЛЯТЬСЯ в исходную форму слова вместо исключенной . В поле может быть указана цифра 0 – значит в исходную форму слова по данному правилу ничего не добавляется
- 4-е поле – суффиксное окончание, которое определяет подмножество слов в исходной форме, к которым применимо данное правило. Чтобы данное плавило было применимо к исходному слову – оно должно заканчиваться последовательностью, указанной в поле 4. Данное поле может включать элементы синтаксиса регулярных выражений – ‘[]’, ‘^’, ’.’
SFX L o erнas [bdhjlnсpst]o