Программа существует в 2-х вариантах – для настольного компьютера (Windows 98/2000/XP) и ее
карманный аналог (Pocket PC 2000/2002).
Минимальная конфигурация: процессор 100 МГц, 2 Мб на
жестком диске/флеш-карте, 3-4 Мб оперативной памяти (при использовании Большой словарной базы).
Несколько замечаний относительно PocketRhymes:
Большая словарная база (1.7 млн. словоформ) была создана на основе Грамматического словаря русского языка А.А.Зализняка, который содержит базовые словоформы ~100 тыс. слов с полным морфологическим описанием (в том числе схемами ударений).
Для синтеза всех акцентуированных словоформ использовался морфологический модуль, созданный Максимом Ушаковым. Этот модуль качественно синтезирует парадигмы с регулярной морфологией, но к сожалению, пока не поддерживает синтез исключений (например, личных местоимений и количественных числительных). В том случае, когда синтезатор не мог построить парадигму, в словарь добавлялась только базовая словоформа. Предположительные и затруднительные в образовании словоформы (например, ед. число краткой формы прилагательных на -ский, множ. число от дно и т.п.) в словарь не включались (см. ГСЗ, стр.8).
Затем каждая словоформа расщеплялась на предударную часть (префикс) и клаузулу, и формировались списки уникальных клаузул и префиксов. Список префиксов занимает, как правило, <10% объема словаря рифм и для ускорения поиска рифм полностью загружается в оперативную память.
При построении базы вводились также дополнительные ограничения на длину словоформы и клаузулы, количество слогов в словоформе и клаузуле, количество точных рифм для клаузулы (см., например, Статистику Большого словаря рифм). В частности, наш рифмовник не включает пяти- и более сложные рифмы, практически не используемые в стихосложении.
Вместе с префиксом также сохранялась информация о части речи соответствующей словоформы. Для краткости в программе определены следующие части речи: существительные (с), прилагательные (п), местоимения (м), глаголы (г), причастия (g), деепричастия (д), числительные (ч), наречия (н) и другие (~).
Наречия в словаре Зализняка представлены очень выборочно, поскольку большую долю составляют наречные прилагательные (темно, легко, красиво и т.п.). Мы продублировали ~900 кратких форм прилагательных в классе наречий.
Отметим, что морфологический модуль применяется только на этапе создания словарей и в саму программу не входит. Поскольку генерация парадигм всех слов занимает несколько минут, пришлось отказаться от синтеза словоформ "на лету" – в процессе поиска рифм.
Изменения в Словаре рифмВ комплектации новой версии программы (Rhymes 2.0) нет словарей рифм с частотной селекцией словоформ. После оптимизации формата хранения словаря надобность в такой селекции отпала.
Для сжатия Словаря рифм были последовательно применены 2 метода – сначала внутренняя упаковка дубликатов структур и строк, затем блочная упаковка библиотекой zlib. Блочная организация архива позволяет при поиске рифм загружать в память только необходимые части словаря (см. Критерии качества рифмовки). И хотя степень сжатия получилась достаточно высокая (~5 раз), это почти никак не отразилось на результирующей скорости поиска рифм.
Были исправлены множественные ошибки текстового варианта словаря Зализняка (из лингвистической системы С.А.Старостина «Старлинг»). Сверка производилась по новому 4-му изданию словаря (Русский язык, 2003 г.). Кроме того исправлен ряд ошибок в алгоритме синтеза словоформ. В том числе теперь
Часть ошибок была выявлена автоматически путем сравнения с морфологическим словарем системы «Диалинг». К сожалению, на данный момент морфология Диалинга не содержит базовую фонетическую информацию (ударения и букву ё). Поэтому ударения проверялись по электронным вариантам Орфографического словаря под ред. В.В.Лопатина и Словаря ударений (имена нарицательные) М.В.Зарва.
Благодаря повторному разбору зализняковских статей
словник пополнился грамматическими омонимами (~250 лемм) и акцентными вариантами (~180 лемм; из статей типа
бондарь мо 2a [//бондарь мо 2b]
).
Мы добавили ~400 новых лемм из 4-го издания (в основном, прилагательные). Сличение печатного и электронного вариантов словаря Зализняка – процесс черезвычайно трудоемкий, поэтому мы прибегали к нему не слишком регулярно. Очень надеемся, что с Вашей помощью можно будет придать этим работам более последовательный характер.
В целом синтез лемм с аномальным словоизменением (ребёнок – мн. дети, быть – 1л.ед. есть и т.п.; в словаре Зализняка таких лемм ~1200) не претерпел серьезных изменений и по прежнему продуцирует несуществующие словоформы. Для того, чтобы их отсеить, мы использовали морфологический словарь Диалинга (в отличие от Rhymes 1.*, когда для подобной селекции применялись Частотные словари).
Сама процедура состояла в следующем. Если зализняковская лемма присутствовала в Диалинге, мы проверяли все ее словоформы на наличие в диалинговском словаре. Морфология Диалинга не содержит большого количества редкоупотребляемых или потенциальных словоформ (в первую очередь мн. ч. для существительных и кр. форм прилагательных и причастий), которые свободно порождаются в морфологии Зализняка. Чтобы их не потерять, мы ограничились проверкой синтеза только для аномальных парадигм. В результате, наибольшей селекции подверглись местоимения (1.6%) и причастия (0.3%); в остальных частях речи доля неправильно синтезированных форм не превысила 0.1%. Напомним, что Диалинг позволяет выявить ошибки в написании слов, но не в ударениях.
Поскольку словарь Зализняка имееет нормативную ориентацию (ГСЗ, стр. 9), в нем весьма ограниченно представлены пары существительных ср. рода на -ие/-ье и жен. рода на -ия/-ья. Мы попытались восполнить этот пробел, автоматически породив дополнительные варианты лемм к уже имеющимся существительным такого типа. Например,
| счастье с 6*a | => | счастие с 7a |
| баталия ж 7a | => | баталья ж 6*a |
Оказалось, что все новообразованные леммы на -ия не употребляются в русском языке (бегуния, гостия), а леммы на -ья имеют разговорно-пренебрежительную окраску (географья, оказья). Было решено в словарь их не включать.
В отличие от существительных женского рода вариативность на -ие/-ье – весьма распространенное явление. Варианты существительных на -ие принадлежат высокому, как правило, архаичному стилю, в то время как варианты на -ье широко используются в разговорной речи. Однако на их образование наложены некоторые фонетические ограничения. А именно, вариант образуется с затруднением
Отбросив все фонетически дефектные варианты, мы добавили в словарь ~3500 (!) новых лемм на -ье и ~200 лемм на -ие.
Поиск рифм в словаре ведется только среди слов, клаузулы которых имеют то же количество слогов и ту же ударную фонему, что и у шаблонного слова (гонять-гнать в отличие от гнуть-гнать).
Качество рифмовки 2-х слов оценивается фонетическим сравнением их клаузул и предударного звука. В настоящий момент это сравнение реализовано достаточно примитивно и не учитывает многие особенности фонетики русского языка (типа: -тся = [ца], дождь = [дож'ж'] и т.п.). Основные типы фонетических различий наделены некоторыми весами. Собственно качество рифмовки оценивается штрафом – суммой реализаций этих весов. Чем выше штраф, тем хуже рифма. Графическая рифма соответствует штрафу =0.
Словарная база синонимов была создана Л.И.Колодяжной на основе Словаря синонимов русского языка под ред. А.П.Евгеньевой и содержит около 22 тыс. слов, 5.5 тыс. синонимических рядов (статей).
Программа выводит в виде дерева все статьи, в которых встречается шаблонное слово. Вариант заглавного слова (доминанты) приводится в скобках, а вариант синонима/антонима к заглавному – в виде подузла. Иконка при словах отражает их отношение к шаблону (синоним, антоним, собственно исходное слово). Римская цифра при доминанте – омонимический вариант. Арабская цифра показывает номер ряда с одинаковой доминантой. В словаре сохранен исходный порядок статей и слов в статьях.
Подробную статистику состава словарных баз Вы можете найти среди описаний на странице загрузки.
Без модуля морфологического синтеза, который был любезно предоставлен Максимом Ушаковым, этот проект наврядли получил бы продолжение. Автор также выражает глубокую признательность Борису Смилге и Сергею Анатольевичу Старостину за электронный вариант Грамматического словаря Зализняка, Сергею Шарову и Сергею Слепову за варианты частотных словарей, Михаилу Мацневу за замечательную читалку HaaliReader, открытые коды которой существенно облегчили портирование Rhymes под Pocket PC. Отдельная благодарность команде AOT – Алексею Сокирко, Дмитрию Панкратову, принимавшим активное участие в сравнении морфологий Зализняка и «Диалинга».
| Ваши комментарии и замечания пишите на support(a)rifmovnik.ru | Последнее обновление 30 апреля 2010 |