[Comm] Hunspell & new dicitonary

Sergey Kurakin sergeykurakin на gmail.com
Ср Мар 10 12:18:46 UTC 2010


On 03/09/2010 10:47 AM, anyr на tut.by wrote:
> Sergey Kurakin wrote:
>>   Да, только лучше не просто менять ссылку, а разобраться, как работает
>> механизм альтернатив и сделать для вашего словаря соответствующую
>> альтернативу.

> Не думаю, что правильно будет пытаться разобраться сразу в нескольких вещах, 
> поэтому пока попытаюсь сделать словарь для Ooo, а потом уже его использовать 
> где-то в другом месте.

  Здесь вопрос скорее не в том, какие приложения будут пользоваться
вашим словарем, а в том, чтобы не запутаться и не сломать что-нибудь
в системе.
  Впрочем, сейчас это действительно преждевременно, поскольку открылось
новое обстоятельство:

https://bugzilla.altlinux.org/23118

  Таким образом, чтобы OOo однозначно использовал ваш словарь, надо
чтобы название его файлов начиналось с "ru_RU", и чтобы при этом он был
единственным русским словарем в системе (удалить пакеты hunspell-ru*).

>>   1. Среди пакетов hunspell-ru-lebedev есть так называемый
>> "комбинированный" словарь, допускающий как использование буквы "ё",
>> так и замену "ё" на "е". Среди hunspell-ru(-io) такого комбинированного
>> варианта нет.
> Обязательно воспользуюсь словарем проф. Лебедева, спасибо.

  Скорее всего, вы и так им пользуетесь, поскольку hunspell-ru(-io) --
это тоже Лебедев, только 2004 года. То что я вам предложил -- посвежее
(2008) и с "комбинированным" вариантом.

> Про файл аффиксов 
> с комментариями я и вовсе не знал :)

  Вам вряд ли удастся напрямую им воспользоваться, поскольку он
в формате ispell. Но для оценки масштаба и в качестве справочника --
очень полезен.

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

  Боюсь, что будет очень много латинских, греческих и прочих корней,
которые могут присутствовать во второй части сложносоставного слова.
И на каждый из них надо будет заводить свой флаг. И перечислять
множество флагов в словаре для первого корня сложносоставного слова.

  Hunspell/myspell поддерживает довольно гибкий механизм проверки
сложносоставных слов. Но к сожалению, там трудно избежать ситуаций,
когда два совершенно законных корня образуют бессмыслицу, сливаясь
в одно слово.

> Пример файла аффиксов:
> SET KOI8-R
> FLAG long
> 
> SFX E1 Y 1
> SFX E1 а орея		а

  Это лишнее. Нижеследующая запись "орея/H9" должна покрыть и просто
"орея" в том числе.

> SFX E2 Y 1
> SFX E2 а орея/H9		а

  Кстати, не знал, что аффиксы hunspell поддерживают такого рода
рекурсию. Вряд ли воспользуюсь, но буду иметь ввиду.

> SFX F1 Y 1
> SFX F1 а ограмма		а
> 
> SFX F2 Y 1
> SFX F2 а ограмма/I9		а
> 
> SFX G1 Y 2
> SFX G1 итет омодулятор		[итет]
> SFX G1 а омодулятор		[а]
> 
> SFX G2 Y 2
> SFX G2 итет омодулятор/K9	[итет]
> SFX G2 а омодулятор/K9		[а]
> 
> Пример файла словаря:
> лимфа/E1E2F1F2G1G2

  А слово "лимфа" уже есть в базовом словаре с флагом /H. И как такие
конфликты обрабатывать?

  Куда проще дописать к базовому словарю:
лимфорея/H
лимфограмма/I
лимфомодулятор/K

  Вам, конечно, виднее. Но на первый взгляд ваш подход выглядит
как переусложненный.

-- 
WBR,
Sergey Kurakin


Подробная информация о списке рассылки community