Словарь русского языка для ispell

Автор: Александр Лебедев

Предлагаемый орфографический словарь русского языка представляет интерес прежде всего для пользователей системы UNIX, в которой набор средств для проверки правописания весьма ограничен. Однако словарь может быть полезен и для пользователей, работающих в операционных системах Windows, DOS и OS/2, поскольку словарь поддерживает пять различных кодировок русских букв (см. ниже). Встроенные в ispell функции позволяют считать его удобным средством для работы с текстами, подготовленными в редакторе TeX, а также с файлами в формате HTML. Вариант словаря с набором слов и affix-файлом, подготовленными для программы MySpell, используется для проверки орфографии в системе OpenOffice. Кроме этого, словарь может использоваться в локальных и глобальных поисковых системах, строящихся на основе программ, подобных HTDig и ASPseek.

Исторически предлагаемый словарь возник из небольшого словаря русского языка для ispell, составленного Нилом Далтоном (Neal Dalton) в 1992 г. на основе текстов, которые автор нашел в Интернет. Словарь Далтона был очень небольшим (всего 52 тысячи словоформ), содержал большое число ошибок (более 8% слов) и имел слабо развитый файл преобразования окончаний слов (affix-файл).

На первом этапе (работа была начата в конце 1997 года) в affix-файл словаря были добавлены отсутствовавшие в нем правила образования форм существительных, прилагательных, причастий, наречий, изменены правила формирования окончаний глаголов, так что affix-файл можно считать созданным заново. Основным подходом, положенным в основу настоящего словаря, было использование нормализованной формы слова и правил словоизменения, отвечающих грамматике русского языка, а не традиционное использование программы munchlist для создания словарей для ispell. По этой причине этот словарь одновременно содержит и важную информацию о морфологии слов, которая необходима для современных русскоязычных поисковых систем. При вычитке словаря Далтона конкретные слова были приведены к нормализованной форме и из словаря было исключено большинство ошибочных слов. На этом этапе работы мной использовался орфографический словарь русского языка, выпущенный Институтом русского языка АН СССР в 1991 г. Одновременно в словарь было добавлено большое число слов, взятых из технических и литературных текстов.

На втором этапе все имеющиеся в словаре слова были перепроверены с помощью электронного орфографического словаря "Корректор" (120 тысяч слов), а обнаруженные расхождения выверены по орфографическому словарю русского языка, справочнику Зализняка ("Грамматический словарь русского языка: словоизменение", 100 тысяч слов) и "Сводному словарю современной русской лексики" (170 тысяч слов).

Все новые слова, добавляемые в словарь после этого, проходят проверку с помощью указанных выше орфографических словарей (в специальных областях -- энциклопедий) и с помощью нового издания "Русского орфографического словаря" под редакцией Лопатина (160 тысяч слов). Слова, отсутствующие в этих изданиях, добавляются если они действительно широко используются и в их написании нет никаких сомнений. В настоящей версии (0.99g4) объем словаря составляет более 137.2 тысяч базовых слов, а полное число образуемых из них словоформ превышает 1.354 миллиона (против 52 тысяч в словаре Нила Далтона и 952 тысяч слов в имеющимся в свободном доступе в Интернет словаре Константина Книжника, в котором, как оказалось при выборочной проверке, содержится 6% ошибочных слов).

Отличительной чертой данного словаря от всех известных автору других орфографических словарей является то, что начиная с версии 0.99c0 в него включена полноценная поддержка буквы ё (другие словари просто заменяют букву ё на букву е). Это может быть очень полезно при подготовке литературы для детей младшего возраста, изданий для иностранцев, орфографических справочников -- там, где правила издания требуют использования буквы ё.

Словарь base.koi, а также шесть дополнительных словарей (abbrev.koi, computer.koi, for_name.koi, geography.koi, rare.koi, science.koi) и файл russian.aff.koi поставляются в кодировке koi8-r. Для преобразования текстов в другие поддерживаемые кодировки -- cp866 (alt), iso-8859-5, cp1251 (win) и maccyrillic -- в комплект включен скрипт-перекодировщик trans, написанный Владимиром Воловичем.

Внимание! В словарь rare.koi выделены некоторые редкие слова, написание которых мало отличается от широко распространенных слов (например, пара слов шоссе--шассе) и включение которых в основной словарь может приводить к пропуску ошибок. По умолчанию эти слова не включаются в словарь. Если эти слова вам действительно могут понадобиться (например, при создании поисковой системы), уберите значок # в конце строки dict = ... в Makefile.

Словарь постоянно совершенствуется, дополняется и корректируется. Последнюю версию словаря можно найти на сервере:

ftp://scon155.phys.msu.ru/pub/russian/ispell/rus-ispell.tar.gz

Файлы-заготовки для пользователей Windows и DOS в кодировках cp866 и cp1251 можно найти на сервере:

ftp://scon155.phys.msu.ru/pub/russian/ispell/msdos/ricp866.zip
ftp://scon155.phys.msu.ru/pub/russian/ispell/msdos/ricp1251.zip

На основе этого словаря Сергей Виницкий создал словарь для проверки правописания в текстах, набранных в дореформенной русской орфографии. Предложенное им расширение кодировки koi8 и сами словари можно найти по адресу:

http://oldrus-ispell.sourceforge.net/koi8-extended.html

Вариант словаря, подготовленный для работы с программой MySpell, можно найти по адресу:

ftp://scon155.phys.msu.ru/pub/russian/ispell/myspell/rus-myspell.tar.gz

УСТАНОВКА:

A. Для пользователей, работающих в UNIX

Для пользователей UNIX для работы с орфографическим словарем русского языка понадобится пакет программ ispell (последняя версия имеет номер 3.3.02). Эти программы обычно включаются в дистрибутивы UNIX и скорее всего уже имеются на вашем компьютере. При желании пакет можно взять по адресу
http://fmg-www.cs.ucla.edu/geoff/ispell.html
или найти на любом крупном ftp-сервере. При самостоятельной компиляции ispell надо скопировать файл local.h.samp в local.h, закомментировать в нем NO8BIT (#undef NO8BIT) и установить правильные пути для BINDIR, LIBDIR и других рабочих директорий.

Чтобы построить рабочие файлы для ispell, вам необходим GNU make и программы buildhash (одна из программ, поставляемых вместе с ispell), sed, а также sort, tr и uniq (стандартные текстовые утилиты UNIX), пути к которым указаны в переменной $PATH.

1) Поместите файл rus-ispell.tar.gz в рабочей директории и разархивируйте его с помощью одной из команд:
gzip -dc rus-ispell.tar.gz | tar -xvf -
tar -xzvf rus-ispell.tar.gz
2) Отредактируйте Makefile и убедитесь, что LIB указывает на место, где ispell будет искать свои рабочие файлы
3) Сделайте make для кодировки, используемой в вашей системе: koi8-r (koi), iso-8859-5 (iso), cp866 (alt), cp1251 (win) или maccyrillic (mac). Для этого выберите один из следующих вариантов:
make koi (или просто make)
make iso
make alt
make win
make mac
Создаваемый при этом hash-файл не будет поддерживать букву ё (как требует того практика большинства изданий на русском языке). Если же по какой-то причине вам нужна поддержка буквы ё (см. выше), для включения поддержки буквы ё необходимо набрать:
make koi YO=1 (или просто make YO=1)
make iso YO=1
make alt YO=1
make win YO=1
make mac YO=1
4) Установите словари в рабочей директории ispell (здесь вам могут понадобиться права доступа root):
make install
5) Теперь можно стереть ненужные файлы:
make clean

B. Для пользователей, работающих в Windows

Пользователи, работающие в Windows, могут использовать проверку русской орфографии со словарями ispell, работая в программе TxtEdit (автор -- Лузиус Шнайдер). Саму программу можно найти по адресу
http://www.luziusschneider.com/TxtEditHome.htm
и дополнить ее программой ispell, адаптированной для win32, которую можно взять с того же сайта по адресу:
http://www.luziusschneider.com/Speller/ISpCzLiRu.exe
Установка этих программ не представляет проблем.

Недостатком программы является использование устаревшей (примерно пятилетней давности) версии настоящего словаря. Для обновления этих версий пользователи Windows могут взять готовые affix-файл и списки слов в кодировке cp1251 в вариантах с поддержкой и без поддержки буквы ё, которые можно найти по адресу:
ftp://scon155.phys.msu.ru/pub/russian/ispell/msdos/ricp1251.zip
ftp://scon155.phys.msu.ru/pub/russian/ispell/msdos/ricp1251yo.zip

Для обновления словарей необходимо просто распаковать полученные файлы в директории Program Files\Common Files\ISpell, запустить программу buildhash (buildhash.exe russian.dic russian.aff russian.hash), а затем переместить файлы russian.aff, russianyo.aff, russian.hash и russianyo.hash в поддиректорию Russian, где ispell хранит рабочие файлы.

ИСПОЛЬЗОВАНИЕ:

ispell -d russian имя_файла


Со всеми замечаниями, пожеланиями прошу обращаться к автору, Александру Лебедеву