ragnaar
На счёт словаря: есть какие-нибудь  наработки? И где почитать можно про него от Mozilla и не только?

http://hunspell.sourceforge.net/
и что-то мне подсказывает, что без филолога нормальный словарь создать не получится. В первую очередь я имею в виду *.aff файл.

Без филолога не обойтись.... У меня maman завкаф на филфаке МГУ. Но студентов нормальных знаю и я. Попробую связаться. Может кого найду.

А зачем искать? Вот он я - почти готовый (год осталось) переводчик-филолог... :tongue2:

Так там есть поближе и без меньше. А так и меня тоже можно. По русскому всегда 5. :tongue2:

Зачем ближе? Интернету не ведомы расстояния...

Абосолютно согласен. Я прошу меня в корректоры зачислять. А с машиной вопрос решил я. Все райт.

Тут много у кого по русскому пять, похоже :) Тоже что ли вызываться? %))))) (судорожно исправляя ошибки ;) )

dvdianov

Абосолютно согласен. Я прошу меня в корректоры зачислять. А с машиной вопрос решил я. Все райт.

Мда... :D В таком короткой предложении ошибка и "райт"... что это за слово? :)
У тебя точно 5 по русскому? :)

Разве сам никогда не ошибался, когда быстро набивал текст на клавиатуре? Точно 5. А "Райт" это right , по английски кажется "в порядке, порядок" они иногда орут: олл райт! Все в порядке!

Кстати... а какая разница той системы что сейчас и той что будет?

dvdianov
Раньше было, не спорю, сейчас стараюсь прочитывать сообщения снова... кстати Firefox 2.0 знаешь? там словарь есть :) он ещё подсвечивает ошибки :) правда круто? :D

Заканчиваем личную переписку и оффтоп. Пишем только по делу.

Не хотелось бы огорчать «отличников» русского языка, но посоветовал бы посмотреть http://sourceforge.net/docman/display_doc.php?docid=29374&group_id=143754 и попробовать свои силы в простеньком словаре слов эдак на 20. Со всеми их словоформами естественно.

Поскольку обсуждать тут пока нечего - тему закрываю. Она будет открыта, когда будут необходимо. Пока что по вопросу словаря пишите мне в ПМ.

Хотелось бы возобновить обсуждение этой темы.
Документация переведена (пока не в публичном доступе, потому что нужно кое что доделать), вики, я надеюсь будет запущена в ближайшие 2 недели, самое время определиться с работой над словарем. Новость будет, когда пустится вики и будет достигнута какая-то определенность. Мое мнение -
1 Словарь должен быть GPL/MPL/LGPL, это не только наше требование, это требование MoCo иначе он просто не сможет попасть в Fx
2 Хотелось бы иметь словарь сделанный с нуля. Существующие словари либо недостаточно качественные либо закрыты несовместимой лицензией, а значит использоваться для основы не могут.
3 Нужен грамотный специалист, который бы смог взять на себя курирование работы над словарем
4 В качестве инструмента для работы над словарем я предлагаю вики. Возможно CVS было бы удобнее, но боюсь, что не всякий сможет с ней совладать.
5 Мы не Google :) Но постараемся придумать что-то для поощрения активных участников.
6 Срок один - Fx 3, то есть в нашем распоряжении 7-8 месяцев, я думаю...

ragnaar

2. А Орфографический? Хотя бы такой: http://ru.wikisource.org/wiki/%D0%9E%D1 … 0%BA%D0%B0 Он на википедии. Если он там, значит совместим, или я ошибаюсь?
3. Я согласен курировать этот проект.
6. Разве 7-8 месяцев? По моему, меньше... Локализации закрываются к первому релиз-кандидату или я опять ошибаюсь?

TLemur
2 да, думаю можно
3 отлично!
6 да, возможно меньше, надо уточнить у Unghost

Еще несколько мыслей/вопросов

В новой вики изменять и создавать статьи смогут все зарегистрированные пользователи. Нужно ли отдельные правила для раздела словаря? То есть чтобы только определенные пользователи могли работать над словарем.
Я не вижу особых технических сложностей, чтобы организовать еженедельную (а если понадобится и ежедневную) сборку словаря с помещением его на наш FTP. Или даже сразу в виде расширения для установки в Firefox.

Или даже сразу в виде расширения для установки в Firefox.

С автоматическим обновлением! Можно будет не отходя от кассы ошибки вылавливать

ragnaar

Нужно ли отдельные правила для раздела словаря?

На мой взгляд, да. Открытое распространение словаря, нашел ошибку - зарегистрировался на вики - исправил ошибку.

С автоматическим обновлением! Можно будет не отходя от кассы ошибки вылавливать

Да, я об этом тоже подумал :) Вполне реально.

На мой взгляд, да.

Я под отдельными правилами подразумевал, создание отдельной группы в вики только члены которой могут работать над словарем...

Нужно ли отдельные правила для раздела словаря?

Мне кажется, если будет автоматическая сборка словаря, то стоит.

TLemur

6. Разве 7-8 месяцев? По моему, меньше... Локализации закрываются к первому релиз-кандидату или я опять ошибаюсь?

Если мы не успеем к выходу 3.0, то постараемся внести его в 3.0.0.1 или следующую багфиксовую версию. Это возможно и уже делалось для других локализаций. См. например Bug 363819 - Update Polish spellcheck dictionary in Firefox 2

Добавлено Вск 04 Мар 2007 22:34:36 :
Кстати кто-нибудь знает можно ли словарь в формате hunspell конвертировать в myspell?

Кстати кто-нибудь знает можно ли словарь в формате hunspell конвертировать в myspell?

Если обратное возможно, то, думаю, можно так сделать.
ragnaar
делай отдельную группу. Если уж делать, то делать аккуратно. не стоит всех допускать.
TLemur
Спасибо!

На счёт автоматических сборок: это не обязательно, но вряд ли это будет сложно, так что было бы неплохо.

Unghost

Кстати кто-нибудь знает можно ли словарь в формате hunspell конвертировать в myspell?

Можно, но некоторые флаги не будут поддерживаться.

TLemur

Можно, но некоторые флаги не будут поддерживаться.

Я это к тому что пока Firefox hunspell не поддерживает, а значит для тестирования нам придётся переконвертировать в myspell.
Или тестировать в другой программе поддерживающей hunspell.

Я предполагал, что тестировать в ООо... Ночные сборки Fx3 не поддерживают Hunspell?

ragnaar
Судя по тому, что Bug 319778 - Replace MySpell with HunSpell не FIXED - нет.

Ну если кто-то на исходники применит патч из бага и сделает свою сборку, то... :rolleyes:

Modex

А по-моему, в баге 319778 нет патча рабочего...

ragnaar

Я предлагаю проверять правила полу-автоматически:

1. Куча народу заносит новые слова в словарь.
2. Меньшая куча народу пишет проверочный файл.
3. Этот файл скармливается hunspell.
4. Он должен сгенерировать 2 файла: file.good и file.wrong.
5. Если размер файла с расширением wrong = 0, то все ОК, нет - исправляются ошибки.

TLemur
С четвёртым пунктом как раз и наблюдаются проблемы. Пока не начнёшь проверять орфографию никакие ошибки файлов словаря и аффиксов не показывают.

Infant

А под линукс нету бинарника hunspell?
Запускаешь из командной строки, передаешь ему параметры, он выдает в ответ, правильно или нет.
Так-то быстрее будет, чем с OOo...

а по моему патч есть
https://bugzilla.mozilla.org/show_bug.cgi?id=319778#c26

TLemur
А я про Линукс и говорю. Но ведь пока не запустишь, то не узнаешь!

А под линукс нету бинарника hunspell?

Я не видел... если только в репозиториях дистрибутивов есть... Или кто-то соберет :)

ragnaar
На сайте есть в исходниках пакет. Под АСП10 нормально собирается. Под Убунту 6.10 мне не удалось, но я "большой специалист".

Infant

Под Убунту 6.10 мне не удалось, но я "большой специалист".

apt-get install hunspell не катит ;) ?

http://www.mozilla-russia.org/projects/ … l#encoding
мой косяк в переводе.

Проблемы с восьмибитными кодировками

Ispell и Myspell используют восьмибитную кодировку ASCII , главным недостатком которой является неуниверсальность. Хотя венгерский язык имеет стандартную кодировку ASCII (ISO 8859-2), она не отражает отразить все нюансы орфографии.

Отразить - лишнее.

stoneflash
поправил, попозже выложу исправление на сайт

stoneflash
ragnaar

Может быть, "не позволяет отразить", тем более, что в английском так и есть - "it fails to allow a full implementation"

Я скомпилировал hunspell для windows.

Две версии:

С возможностью интерактивной проверки
Без возможности интерактивной проверки, только командная строка

Установка:

1. Скачать файл.
2. Положить его в каталог без пробелов, русских букв и т.п.
3. Запустить exe-файл.
4. Пользоваться :)

Протестировано на Windows XP SP2 (русская).

Заменили Майспелл на Ханспелл в транке.
Разници пока не заметил. только вроде ищет быстрее

Русский словарь не готов еще?

stoneflash

Откуда? Кто-то вроде помогать хотел :whistle:

Как помочь-то? Что делать? Кто ведет проект?

TLemur
Ну ты знаешь, я всегда готов! ;) Только скажи, что делать.

Добавлено Втр 07 Авг 2007 16:59:09 :
ego
Ведет Тимур

Пока надо готовить голый файл словаря.

Идем в Викитеку (http://ru.wikisource.org/wiki/%D0%9E%D1 … 0%BA%D0%B0, , копируем текст статьи. И удаляем все, кроме собственно слов в именительном падеже, без ударения и помет.
Т.е. из такого: ааро́новцы, -ев, ед. -вец, -вца, тв. -вцем должно остаться такое: аароновец

Добавлено Втр 07 Авг 2007 20:46:48 :
По идее это все делается через один перловский скрипт, но регулярные выражения - моя слабость.

TLemur
могу помочь. по каким принципам нужно "обрезать" слова?

shutnik

Из такого:

Выделить код

Код:

# а 1, нескл., с. (название буквы)
# а 2, союз, частица, межд.
# а-а-а, межд.
# ааро́новец, -вца, тв. -вцем
# ааро́новский
# ааро́новцы, -ев, ед. -вец, -вца, тв. -вцем
# ааро́новщина, -ы
# абажу́р, -а
# абажу́рный
# абажуродержа́тель, -я
# абажу́рчик, -а
# аба́з, -а
# абази́н, -а
# абази́нец, -нца, тв. -нцем
# абази́нка, -и, р. мн. -нок
# абази́нский

надо сделать такое:

Выделить код

Код:

а
а-а-а
аароновец
аароновский
аароновцы
абажур
абажурный
абажуродержатель
абажурчик
абаз
абазин
абазинец
абазинка
абазинский

Т.е. убрать все пометы, все ударения, все окончания, все омонимы, все символы форматирования вики

TLemur
без проблем
завтра доберусь до пк и погляжу чего выйдет
нет ли уже выдранной базы, чтобы двойную работу не делать?

Я полагаю, можно так:

Выделить код

Код:

text
.replace(/^# */mg, "")
.replace(/́/g, "")
// .replace(/[ \t]+/g, " ")
.replace(/,.*$/mg, "")
.replace(/ *\d+/g, "");
var arr = text.split("\n");
for(var i = 0; i < arr.length - 1; i++)
    if(arr[i] == arr[i + 1])
        arr[i] = "";
var res = arr.join("\n").replace(/\s+/g, "\n");

shutnik

Проверь, пожалуйста, и код Infocatcher.

нет ли уже выдранной базы, чтобы двойную работу не делать?

Нет, выдранной базы нет.

TLemur
готово. то, что было в моих силах - сделал.

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

у меня получилось 32 файла, в каждом из которых были слова на определенную букву.
прогнал через все файлы замену "/^\s*\*\s/" на "" и отсортировал для верности слова.
вот что получилось: base.rar.

далее, я соединил все файлы в один и применил замену "(,|;|\(|\[).*$" на "".

поскольку было очень много слов, имеющих разные значения и в базе присутствовали слова типа "слово 1, слово 2", я применил замену "\w$" на "".

под конец ещё раз отсортировал получившуюся базу и удалил дубликаты слов.

собственно, выкладываю: words.rar.

Added Чтв 09 Авг 2007 19:18:03 :
думаю, теперь нужно делать поиск по "[^абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ -]" и удалять все лишние слова и символы ("…", "—" и ещё некоторые другие)

думаю, теперь нужно делать поиск...

Вроде бы /[^а-яё -]/i тоже работает:
javascript: var t='1vR({}абвПРЁё23'; var r=/[^а-яё -]/ig; alert(t.replace(r, ''));

shutnik

Спасибо за базу. Я же говорил: не знаток я этих regexp :( Только для новой вики нашего форума, на которой и будет проходить работа, надо файлы по буквам. Я надеюсь, переразбить обратно на файлы по буквам трудно не будет? И скриптик, который все это обратно будет склеивать, может быть, тоже выложишь?

TLemur
А смысл разбиения на буквы (крме того что так сделали в вики разделы)?

TLemur
хм. я тоже не понял немного смысла. но сделать могу, разумеется. напиши поподробнее что нужно

Infant

я так думаю, что в словарь на этапе его разработки слова новые будут добавлять люди. А людям так удобнее, когда по буквам. Или есть другие варианты? Готов выслушать.

А смысл разбиения на буквы (крме того что так сделали в вики разделы)?

смысл в том, что представьте размер страницы где целиком .dic файл и сколько она будет загружаться... Нынешний словарь - 3,3mb, планируется что новый должен быть меньше за счет продвинутых афиксов, но в любом случае dic будет больше 1 мегабайта, а не у всех быстрые линии и анлим..

shutnik

Надо опустить этап "я соединил все файлы в один", повторив все сначала.
Или если это легче, разбить файл words.rar по буквам.

TLemur
хорошо, выложу через пару часиков.
думаю, имеет смысл применить замену "(,|;|\(|\[|—|…).*$" на "", а не то, что выше. там более корректно.

shutnik

Да я не тороплю... :)

TLemur
готово. применял следующие выражения:

"́ " -> "" - убираем ударения
"(,|;|:|\(|\[|—|…).*$" -> "" - обрезаем описание / примеры / транскрипцию и т.д. после слова.
"[0-9]+$" -> "" - обрезание слов, имеющих два значения.
"-$" -> "" - различные "авиа-", "мото-" и т.п.
" и " -> "\n" - "далеко и далёко" и.д.

собственно, words_base.rar.

shutnik

Спасибо.

А между тем автор продолжает улучшать движок. Добавлены кое-какие прибамбасы для исправления ошибок не связанных с орфографией (флаг KEY). К сожалению теперь документация на сайте автора представлена в каком-то нечитаемом виде (по крайней мере так она выглядит у меня). Нет ни разделов, ни заголовков. В самом тексте большие лакуны.

Открепляю.

PiVV
Есть договорённость с одной компанией по созданию словаря. Да и не вижу я тут активности в этой ветке последние несколько месяцев.

PiVV

А компания берётся успеть к выходу тройки?

Обещают, что успеют.

PiVV
А какое сейчас вообще текущее состояние?

Возник у меня вот такой вопрос: Кто-то пробовал создавать свой словарь или всё остановилось на:

Без филолога не обойтись.... У меня maman завкаф на филфаке МГУ. Но студентов нормальных знаю и я. Попробую связаться. Может кого найду.

А зачем искать? Вот он я - почти готовый (год осталось) переводчик-филолог.

и меня тоже можно. По русскому всегда 5.

Тут много у кого по русскому пять, похоже. Тоже что ли вызываться?

переводе документации (которая к настоящему моменту несколько устарела) и созданием списка слов из Викисловаря?

Это собственно предвопрос к главному: А нужен ли нам вообще русский словарь hunspell? Настолько ли он лучше существующих для myspell, которые и так поддерживаются?

К вызывавшимся курировать проект есть только один вопрос: в чём была (возможно осталась до сих пор) идея создания словаря через вики? Только если можно более подробно чем: «слова помещаются в вики, все желающие пишут правила». Собственно сами правила написания правил меня и интересуют. Никаких примеров, образцов выдано не было. А ведь от этого сильно зависит сама структура файлов словаря и аффиксов.

P.S. Хотелось бы увидеть какое-то подобие дискуссии, а не только мои единственные сообщения.

Infant

А нужен ли нам вообще русский словарь hunspell? Настолько ли он лучше существующих для myspell, которые и так поддерживаются?

Качество текущего словаря далеко от идеала. Много ложных предположений, раздутый размер и не поддерживается буква ё.

Настолько ли он лучше существующих для myspell, которые и так поддерживаются

Если бы удалось включить в сборку словарь Лебедева, то я бы вопрос о новом словаре вообще не подымал.
Но тот, что у нас есть сейчас, надо заменять.

Всё время забываю само собой разумеющиеся, для меня, факты. Поэтому в вопросе подразумевалось не отсутствие необходимости в новом словаре под свободной лицензией, а нужен ли он именно на движке hunspell. А может на старом myspell или вообще на каком-то другом созданном специально для русского языка.

Качество текущего словаря далеко от идеала. Много ложных предположений, раздутый размер и не поддерживается буква ё.

Из моего опыта, движок hunspell также не блещет качеством предположений. Что впрочем может быть связано с выбранной мною структурой построения словаря. Именно поэтому интересно обменяться мнениями с кем-то кто также пытался создать словарь.

Infant

нужен ли он именно на движке hunspell. А может на старом myspell или вообще на каком-то другом созданном специально для русского языка.

Разницы особой нет, они довольно близки по функциональности. Какие-то другие движки Mozilla не поддерживаются.

Infant

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

Хорошо, опишу моё видение проблемы.
Из моего рассмотрения файлов словарей myspell (ещё раз оговорюсь не спецификации, а конкретных словарей для разных языков) я сделал вывод, что myspell не поддерживает класс приставок вообще. Поскольку русский язык, в отличие от английского, использует, по большей части, для согласования слов в предложении окончания, а не предлоги или определённый порядок слов в предложении, то русский myspell словарь представляет собой словарь окончаний, а не суффиксов.
Это не было бы большой проблемой, если бы для образования разных частей речи не использовались разные суффиксы и окончания. Поэтому для разных частей речи пришлось бы использовать отдельные слова для основы из которой посредством правил получаются все другие словоформы. Двойной суффиксальной замене hunspell в таком словаре находится применение разве что для частиц -сь и -ся у глаголов.

Вот исходя из таких рассуждений (появление класса приставок, двойная суффиксальная замена) формат hunspell действительно кажется более удобным и пригодным для построения нового словаря. Да, как-то упустил в предыдущем сообщении, движок hunspell поддерживает словари формата myspell. Что достаточно разумно со стороны автора, поскольку не все языки могут себе позволить обзавестись новыми словарями в одно мгновение.
В принципе, если разобраться с форматом имеющегося myspell словаря, то его можно было бы переделать под формат hunspell. Вот только это займёт достаточно много времени. И ещё не известно что будет быстрее: создать абсолютно новый или переделать старый.
Попробовав создать небольшой словарь я столкнулся со следующей проблемой. Если из именительного падежа единственного имени существительного создать правило для всех остальных падежей достаточно несложно, то как при этом учесть и все остальные словоформы (прилагательные, глаголы) с приставками и суффиксами? Во всей красе выросла проблема словарной базы. И простой список, как предлагалось в вики, совсем её не решал. Рядом выросла и другая — использование в файле словаря полной формы слова в качестве основы влечёт за собой введение основы для каждой части речи.
Таким образом возник второй вариант. Слова будут конструироваться по следующему принципу: приставка+корень+суффикс+окончание. Возможны различные сочетания. Здесь уже требовалась проверка каждого правила, поскольку имеющееся описание формата не отвечало на все вопросы. Поддержки hunspell в Firefox 3.0 всё ещё не было и словарь был благополучно заброшен где-то до середины лета.
Тем временем пытался разрешить вопрос со словарной базой. Нигде ничего готового найти не удалось и было принято Соломоново решение: взять имеющийся компакт-диск электронной библиотеки и на его основе создать общий список слов. Получилось общее количество около 1 миллиона слов. Практически сразу после получения такого количества появился вопрос какие слова включать в словарь в первую очередь? Так что пришлось ещё и список по частоте сделать. Я конечно понимаю, что выборка не слишком репрезентативная, но для начальной точки вполне подойдёт. В процессе дальнейшей работы обнаружился ещё один недостаток: слова которые переносились с одной строки на другую оказались разбитыми на две части. Иными словами в базе оказалось много мусора из начал и концов слов.

Добавлено Mon Dec 31 15:23:09 2007 :
После появления возможности проверки работы словаря непосредственно в Firefox вторая версия стала наполняться словами. Из общего списка выбирались однокоренные слова, разделялись на составляющие по приведенной выше формуле — приставка+корень+суффикс+окончание — и затем на основе этого списка однокоренных слов составлялись правила для окончаний, суффиксов и приставок. Сначала пытался объединять правила, но потом (некоторые объединённые ранее правила пришлось опять разделить) пришёл к выводу, что окончательную уборку можно будет произвести после наполнения базы аффикс-правил. Из-за этого же было выбрано цифровое представление правил. Оно позволяет иметь до 65536 различных правил.
Никаких идей по автоматизации отбора однокоренных слов из общего списка и их разбиении на составляющие у меня не возникло (их нет и сейчас), поэтому вся работа выполнялась вручную. Соответственно затраты времени оказались достаточно большими. Так что имеющийся словарь распознаёт около 10 тысяч слов из чуть более 200 корней.
Поначалу казалось, что база аффикс-правил быстро наполнится и можно будет совместными усилиями дальше расширять словарь, но оказалось что так только казалось.
Так родилась идея третьего варианта. Что собственно представляет собой словарь? Это связка dic и aff файла, в aff-файле описаны правила составления новых слов на основе тех, что имеются в dic-файле. В таком случае можно считать словарём и простой список всех словоформ в dic файле, при этом в aff-файле будет содержаться только необходимая служебная информация (кодировка, язык). Недостаток такого словаря — большой объём dic-файла. Собственно для его уменьшения и служит aff-файл. Общий список занимает около 11 мегабайт, то есть слишком объёмный. Для уменьшения размера можно взять список слов по частоте и обрезать его до количества в 100 или 50 тысяч наиболее употребительных слов и затем на его основе опять таки строить правила. То ли я уже так втянулся во второй вариант, то ли сказывается отсутствие правил, но третий вариант тоже пришлось отбросить. Хотя он даже без единого правила определяет больше слов, чем имеющийся сейчас второй вариант.

При создании словаря по второму варианту выявилась неприятная особенность hunspell — плохой метод построения предположений для слов не найденных в словаре. Возможно это вызвано цифровым описанием правил, но пока что так за ними легче следить визуально и отказаться от неё я не вижу возможности. В третьем варианте попытался перейти к двухбуквенным описаниям, но улучшения не заметил.
Проблему также составляет отсутствие верификатора: нет способа построить списки правильных и ошибочных слов из имеющихся aff и dic-файлов, нет возможности быстро определить ошибку в описании из-за чего словарь перестаёт работать. Например, добавил ещё одну строку к правилу, забыл изменить количество строк в заголовке правила. Из-за этого приходится держать базу правильных и ошибочных слов и время от времени проверять ими полученный словарь на ошибки.

Я конечно извиняюсь, но что мешает взять словарь Константина Книжника, включённый в существующие сборки Firefox, и довести его до ума?
Обязательно было начинать всё с нуля?

Добавлено Thu Jan  3 19:01:15 2008 :
Исходники его лежат здесь

Ничего не мешает, просто разбираться и так и так. В своём легче разобраться :) Я думай если выложить то что у меня сейчас есть вряд ли кто без меня разберётся.

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

cyber-pilot

Если добавлять только одно слово, тогда щелкаете по нему правой кнопкой и Добавить в словарь.

cyber-pilot
Чтобы добавить новое слово со всеми его словоформами нужно для начала определиться с правилом(ами) под которые подпадает это слово. В соответствии с этим выбрать нужное(ые) правило(а). Проще всего действовать по аналогии, то есть найти похожее слово из словаря. Но это достаточно нетривиальная задача — разобраться в формате чужого словаря.

TLemur пишет:

Если добавлять только одно слово, тогда щелкаете по нему правой кнопкой и Добавить в словарь.

Мне нужно добавить со всеми словоформами.

Infant пишет:

Чтобы добавить новое слово со всеми его словоформами нужно для начала определиться с правилом(ами) под которые подпадает это слово. В соответствии с этим выбрать нужное(ые) правило(а). Проще всего действовать по аналогии, то есть найти похожее слово из словаря. Но это достаточно нетривиальная задача — разобраться в формате чужого словаря.

В том-то и вопрос: "Как определить под какие правила подпадает слово"? По аналогии не подходит, хотелось бы как-то автоматизировать процесс. При том же с трудом верится, что составители словаря в ручную подбирали все правила.
Кстати, все функции HunSpell мне не нужны, достаточно тех, которые были в MySpell.

cyber-pilot

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

Насчёт автоматизации — я бы тоже не отказался :) Делали составители словаря это вручную или нет могут сказать только они сами. Единственное что могу ещё добавить, что словарь строился на основе словаря Зализняка.
По моему мнению окончательная версия правил подверглась уменьшению их количества путём объединения правил друг с другом. Вот это и составляет основную проблему. Отсутствие же каких-либо комментариев практически не позволяет с ходу определить для чего используется конкретное правило. Поэтому аналогия — единственный, на мой взгляд, не слишком затратный метод добавления словоформ в существующий чужой словарь с неизвестной структурой правил.

Сделал программку, которая проверяет какие правила из affix файла подходят для неизвестного слова. В среднем получается 12 подходящих правил. Теперь остается отбросить ненужные. Вот думаю как это лучше сделать. Может действительно по аналогии действовать, т.е.
1) создать список всех словоформ из словаря;
2) взять сколько-нибудь последних букв из "неизвестного слова" (не знаю сколько именно);
3) посмотреть какие правила наиболее часто встречаются в словаре для данного набора букв;
4) найденные правила применить к "неизвестному слову".

Как думаете, правильно я рассуждаю?

cyber-pilot

Не пойдет, в русском языке нет ни классов слов, ни сингармонизма, чтобы по последним эн знакам определить, какое окончание цеплять.
Например, есть глаголы на ять, которые относятся к 2 спряжению.

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

TLemur пишет:

cyber-pilot

Не пойдет, в русском языке нет ни классов слов, ни сингармонизма, чтобы по последним эн знакам определить, какое окончание цеплять.
Например, есть глаголы на ять, которые относятся к 2 спряжению.

Вот здесь вот http://www.5ballov.ru/referats/preview/15883/1 например, говорится, что по принципу аналогии вероятность правильного анализа слов при обработке текстов любой тематики превышает 99%

И еще есть программы, которые умеют строить список словоформ для неизвестных слов, например ОРФО.

И еще есть программы, которые умеют строить список словоформ для неизвестных слов, например ОРФО.

ОРФО задает несколько вопросов пользователю. т.к. по нескольким падежам узнать остальные окончания возможно.

говорится, что по принципу аналогии вероятность правильного анализа слов при обработке текстов любой тематики превышает 99%

Не стал бы доверять рефератам :)

TLemur пишет:

ОРФО задает несколько вопросов пользователю. т.к. по нескольким падежам узнать остальные окончания возможно.

У меня ОРФО сразу выдает гипотезы словоформ, причем первая из них в основном правильная. А если ни одна из них не подошла, то можно в режиме "Эксперт" самому выбрать, что это за слово.

Сделал программку, которая анализирует неизвестное слово и выдает гипотезы остальных словоформ. В принципе довольно неплохо угадывает, если бы еще она определяла какая это часть речи, было бы вообще здорово.
http://folder.big.am/5498272

cyber-pilot
Вообще-то есть онлайн проект АОТ там и части речи догадывает.

The tree will be frozen for FF3.0 RC1 tonight

и

А компания берётся успеть к выходу тройки? Обещают, что успеют.

Прогресс есть?

они уже не работают над словарём...

Shutnik

они уже не работают над словарём...

Кто они? Компания или МРО?

TLemur
Компания. К сожалению не получилось.

Поскольку тему про организацию работы над словарём благополучно засрали, то может продолжим конструктивное обсуждение здесь?

Там был мой ответ, который удалили. Напишу его сюда:
John Lynx
Подумал над Вашими словами.
Результат следующий:
Вся работа делится на 2 этапа:
1. Подготовительный. В котором определяется группа людей, которые будут работать над добавлением слов в словарь. Они определяются между собой, кто будет лидером (человеком, который будет отвечать за непосредственное добавление слов в словарь и который будет осуществлять общий контроль работы остальных членов группы). Они ищут всю доступную информацию по словарю (что он из себя представляет, как организован механизм добавления слов и т.д.), вся эта информация публикуется в доступном для всех месте. Эти же люди определяют критерии, по которым слово может быть добавлено в словарь. Ставится срок, к которому работа (или какой-то промежуточный релиз) должна быть выполнена.
2. Непосредственно работа. Тут могут быть нюансы. Если, например, много людей, то можно начать распределять между участниками диапазон букв в алфавите (например, первый предлагает к дополнению слова, начинающиеся на буквы а - г, второй - д - з и т.д.). Если нет, можно выбрать какой-то иной способ работы. Это уже проблема, которую нужно будет решать непосредственно на этом этапе работы. Заранее планировать это в деталях - слишком затратно по времени и несколько нерационально.
Здесь выполнение работы, контроль, возможная коррекция сроков выполнения работы....

Это, так сказать, набросок...

Что хотелось бы видеть мне.
1. Автоматическая сборка нужного варианта словаря.
2. Для безусловных и несомненных слов я бы предложил иметь основную базу. Плюс несколько дополнительных для сомнительных слов, специальных терминов, географических названий, имён фамилий. При этом каждый желающий мог бы выбрать себе необходимые дополнительные словари и не возникает больших проблем с включением или не включением каких-то слов в словарь.
3. Кстати, аналогично можно было бы включать в словарь и английские, немецкие, прочие словари делая би-, трилингвы.

Теперь замечания по наброску.
1. По-прежнему неясен вопрос: будет попытка продолжения развития словаря Лебедева, скажем в варианте 0.2.1 от Unghost или всё-таки будет абсолютно новый словарь?
2. Ничего не зная по пункту 2 трудно (по крайней мере для меня) принять решение стоит ли входить в группу или продолжать единоличные эксперименты.

Кстати, а с Лебедевым кто-нибудь контактировал, узнавал о том, продолжается ли работа над словарём, кто участвует и т.д.?

Infant

1. По-прежнему неясен вопрос: будет попытка продолжения развития словаря Лебедева, скажем в варианте 0.2.1 от Unghost или всё-таки будет абсолютно новый словарь?

Я полагаю, что нужно сначала изучить уже существующий вариант. Так как создавать с нуля - крайне затратная и долгая работа.

2. Ничего не зная по пункту 2 трудно (по крайней мере для меня) принять решение стоит ли входить в группу или продолжать единоличные эксперименты

Подумаю, чуть позже отпишусь о подробностях.

Значит будем пока экспериментировать дальше. :) Может что придумаю как обойтись без дефисов для проверки слов с дефисами.

Quicksilver tears
Infant

1. По-прежнему неясен вопрос: будет попытка продолжения развития словаря Лебедева, скажем в варианте 0.2.1 от Unghost или всё-таки будет абсолютно новый словарь?

Я полагаю, что нужно сначала изучить уже существующий вариант. Так как создавать с нуля - крайне затратная и долгая работа.

Уважаемые господа! для начала, не мог бы ли кто-нибудь из вас объяснить мне, что такое словарь Лебедева, что такое "вариант 0.2.1 от Unghost" и чем эти два словаря отличаются от словарей в Firefox 2.0.0.*, 3.0 и 3.0.4?

Заранее благодарен.

TLemur пишет:

не мог бы ли кто-нибудь … объяснить мне, что такое словарь Лебедева, что такое "вариант 0.2.1 от Unghost" и чем эти два словаря отличаются от словарей в Firefox 2.0.0.*, 3.0 и 3.0.4?

На страничке https://addons.mozilla.org/ru/firefox/a … sions/3703 можно обнаружить следующие версии словаря:
Версия 0.1 — 30 Октябрь 2006 — 459 КБ
Версия 0.2 — 8 Август 2008 — 493 КБ
Версия 0.2.1 — 24 Август 2008 — 493 КБ
Версия 0.4.1 — 15 Ноябрь 2008 — 512 КБ
Версия 0.4.2 — 18 Ноябрь 2008 — 512 КБ

Из readme файла включённого в 0.1 можно узнать, что этот словарь является переделкой под модуль MySpell более раннего словаря для модуля ispell версии 0.99f4 в рамках проекта словаря для OOo. Разработчиком того словаря под ispell назван Александр Лебедев. Он же, наряду с другими, принимал участие в переделке. По сути, это тот же словарь, в котором набор слов и affix-файл представлены в виде, пригодном для обработки myspell. Причём в readme файле есть интересные слова про сборку пакета и, в лицензии, упоминание об общем файле аффиксов и нескольких файлах словаря. Что, на мой взгляд, говорит о наличии исходных текстов словаря в виде отличном от того представления, который имеется у пользователя. А также о какой-то программе компиляции aff и dic файлов из этих исходных текстов. Всё это, исходные тексты, закопирайчено в лицензии Лебедевым.

Версия 0.2, насколько я понимаю, является результатом проекта по сбору новых слов для словаря OOo и построен на версии 0.99g5 словаря Лебедева для ispell. Изменилась лицензия и теперь "святое имя" нельзя использовать всуе без специального разрешения.

Версия 0.2.1 — попытка исправить неправильное название у файла словаря на AMO и ничем не отличается от 0.2. Так сказать, версия ещё не испорченная "Эхсплоурерами", "Виндаусами" и прочими словами-"минорами".

В последующие версии уже были добавлены слова, некоторые из которых в неполной форме.

По поводу того какие версии каких словарей входили в какие версии Firefox — я думаю Unghost ответит лучше и полнее.

Подведём итоги. Под "словарём Лебедева" я подразумеваю переделанную для MySpell версию его словаря ispell или в данной нумерации — версию 0.1. Со словарём от Unghost варанта 0.2.1 думаю тоже всё понятно.

Если хотите брать первоначальный вариант словаря Лебедева, включённый в Firefox, берите его с сайта OpenOffice.

Unghost

Меня в общем-то интересует это:

По поводу того какие версии каких словарей входили в какие версии Firefox — я думаю Unghost ответит лучше и полнее.

0.2.1 вошёл в 3.0.2
0.4.1 вошёл в 3.0.5
В 3.0.4 был включён 0.4.1 без слов добавленных на форуме (как раз то, что на сайте OpenOffice). По моему так.

О структуре русского словаря в Mozilla Firefox

подcкажите пожалуйста как пользоваться консолькой hunspell для винды для получения исправленных слов?

А кто занимается словарями? Я тут неточность нашел, вместо слова «переустанавливать» мне предлагается загадочное «перестанавливать».

У меня версия от 3-го мая.

igorsub
Не ошибка. Это про мебель.

Tiger.711
Сейчас глянул в словарях. Не конкретно про мебель это. Просто разговорный синоним слова «переставлять».

Здравствуйте, возможно офтопик.
Мне необходимо в .aff файле что-то указать, чтоб заменить цифры/символы на буквы, например $-s 1-l 6-b, подскажте, что для этого можно использовать?