Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

23 Январь 2021, 03:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4 5 6 »   Вниз
  Печать  
Автор Тема: Каких слов не хватает в орфографическом словаре?  (Прочитано 58193 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Yakov
Администратор
**
Offline Offline

Сообщений: 2 561


WWW
« Ответ #45: 17 Июнь 2010, 07:24 »

Словарь сокращений будет, наверное, работать очень быстро, т.к. у него будет пустой или почти пустой файл aff.
Есть ещё довод за разделение словаря:
Если в словаре много коротких устаревших/редкоиспользуемых слов, то существует гораздо большая вероятность, что будут пропущены слова с ошибками  (например вотум   - >  вот ум)
Записан
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #46: 17 Июнь 2010, 07:25 »

Оказывается, дело не в aff всё-таки. Чем больше слов с ошибками, тем дольше работает словарь. Т.е.  как только словарь понимает, что слово написано правильно, он переходит к новому, а если слово написано неправильно, то он обыскивает весь словарь - а это дольше. Поэтому, действительно, скорость растёт нелинейно. Например, стандартный словарь с пустым файлом aff работает почти в два раза дольше , чем с нормальным файлом aff. Поэтому при увеличениии количества слов в словаре скорость работы словаря даже возрастает. Если в том макросе для проверки словарей увеличить количество ошибочных слов, то скорость снизится. С этим и связано, что словарь с одной лишь буквой А работал не так уж и быстро, а словарь "без А" работал даже чуть медленнее (на 1 секунду), хотя слов в нём было меньше на 4231 , т.к. в макросе есть несколько слов на "а".
Записан

ubuntu 12.04 + LibO3.6.0
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #47: 17 Июнь 2010, 08:15 »

Если в словаре много коротких устаревших/редкоиспользуемых слов, то существует гораздо большая вероятность, что будут пропущены слова с ошибками  (например вотум   - >  вот ум)
Да, тут не только скорость имеет значение. Ведь если словарь станет слишком большим, то почти все слова будут считаться правильными, ведь если, к примеру, в словаре имеются имена людей Ло, Лу, Ли, Ляо, Лиу, Лао, Лё, Лиро, Миу, Мур, Муни и т.д. (это же почти любое сочетание гласных и согласных!), то почти любая опечатка будет восприниматься как чьё-то имя. Т.е. если кто-то напишет случайно вместо предлога "В" "Ав", то это будет считаться именем Ав, и не подчеркнётся.
Записан

ubuntu 12.04 + LibO3.6.0
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #48: 17 Июнь 2010, 09:21 »

Эврика. Нужно рассматривать две скорости работы словаря: при полностью правильном тексте (скорость1) и при полностью неправильном тексте (скорость2). Скорость1 словаря зависит от того, как быстро словарь обнаружит, что слово написано правильно и перейдёт к следующему слову, т.е. самые частые и короткие слова типа "я", "он", "она", "не", должны стоять в этом словаре в самом начале. Короче, самые обиходные и обычные слова - в начале, и самые редкие и длинные слова - в конце. Скорость1 не зависит от количества слов в словаре, а зависит от их расположения в словаре.

Скорость2 не зависит от расположения слов в словаре, а зависит только от их количества и от файла aff. Т.е., в любом случае, словарь будет обыскан от и до и будет обнаружено, что это ошибочное слово.

Обычный текст содержит всего несколько ошибок, поэтому основной вклад в общую скорость даёт скорость1.

Кстати, что означает
TRY абвгдежз ... и т.д. в файле aff?
Означает ли это, что если слово  будет содержать букву не из данного набора, то оно будет признано ошибочным сразу?
« Последнее редактирование: 17 Июнь 2010, 09:22 от Трио » Записан

ubuntu 12.04 + LibO3.6.0
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #49: 17 Июнь 2010, 09:44 »

Скорость1 словаря зависит от того, как быстро словарь обнаружит, что слово написано правильно и перейдёт к следующему слову, т.е. самые частые и короткие слова типа "я", "он", "она", "не", должны стоять в этом словаре в самом начале. Короче, самые обиходные и обычные слова - в начале, и самые редкие и длинные слова - в конце. Скорость1 не зависит от количества слов в словаре, а зависит от их расположения в словаре.
э...
Разве словарь не должен быть упорядоченным?
OOo, что просматривает словарь по одному слову? Не верю - это идиотизм.
Скорее всего, слова перед использование словаря упорядочиваются.


Записан

Свобода информации - свобода личности!
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 939



« Ответ #50: 17 Июнь 2010, 10:23 »

Скорость1 словаря зависит от того, как быстро словарь обнаружит, что слово написано правильно и перейдёт к следующему слову, т.е. самые частые и короткие слова типа "я", "он", "она", "не", должны стоять в этом словаре в самом начале.
Простите, бред. Утверждение истинно только для случая линейного просмотра при поиске. Такой поиск очень затратен (в худшем случае нужно просмотреть весь словарь). Обычно используют бинарный поиск в сортированном списке (последовательное сокращение области поиска в 2 или несколько раз, определение, в какой части исковое слово и т.д., иногда, начиная с какого-то незначительного размера последний "хвост" обрабатывают обычным поиском (дополнительная экономия бывает или нет)).
Записан

Автору на яд. Поддержать форум.
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #51: 17 Июнь 2010, 10:53 »

Ну, не такой уж и бред. То, что Вы, Bormant, описали, есть реализация двоичного сбалансированного дерева с балансировкой на основе лексикографического порядка.
То, о чем хотел, как мне кажется, сказать Трио, - это сбалансированное дерево с балансировкой на основе частотных характеристик слов.
Правда для этого понадобится еще и частотный словарь, в котором тоже искать надо Улыбка Про функциональные способы вычисления частотных характеристик слова я не слышал.
Записан
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #52: 17 Июнь 2010, 11:16 »

Да, похоже, bormant, вы правы. От порядка слов не зависит (что слова на я, что слова на а, одинаково быстро находит).

Строка
Цитата:
TRY оаитенрсвйлпкьыяудмзшбчгщюжцёхфэъАВСМКГПТЕИЛФНДОЭРЗЮЯБХЖШЦУЧЬЫЪЩЙЁ

Не знаете зачем нужна эта строка?
« Последнее редактирование: 17 Июнь 2010, 11:58 от Трио » Записан

ubuntu 12.04 + LibO3.6.0
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 939



« Ответ #53: 17 Июнь 2010, 11:51 »

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

UPD:
Цитата: man 4 hunspell
OPTIONS FOR SUGGESTION
TRY characters
Hunspell can suggest right word forms, when those differs from the bad form by one TRY character. The parameter of TRY is case sensitive.
http://pwet.fr/man/linux/fichiers_speciaux/hunspell
« Последнее редактирование: 17 Июнь 2010, 11:54 от bormant » Записан

Автору на яд. Поддержать форум.
Yakov
Администратор
**
Offline Offline

Сообщений: 2 561


WWW
« Ответ #54: 17 Июнь 2010, 14:14 »

Русский перевод
http://www.mozilla-russia.org/projects/dictionary/hunspell.html
Записан
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #55: 17 Июнь 2010, 15:38 »

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

[вложение удалено Администратором]
Записан

ubuntu 12.04 + LibO3.6.0
Yakov
Администратор
**
Offline Offline

Сообщений: 2 561


WWW
« Ответ #56: 17 Июнь 2010, 18:51 »

Могу предложить ещё один словарь http://sisyphus.ru/ru/srpm/Sisyphus/ispell-ru-rk.
Сборка для OpenOffice  переделана из формата ispell, распространяется под GPL v2.
Недостаток - какая-то ошибка в файле аффиксов, из- за которой очень многие слова подчёркиваются как ошибочные!
Причина была в  том, что Hunspell не понимает файл аффиксов Ispell
После конвертации всё замечательно работает!!!  Подмигивающий

[вложение удалено Администратором]
Записан
PiVV
Гость
« Ответ #57: 17 Июнь 2010, 19:28 »

Дорогой товарищ Trio!
Давайте не будем изобретать велосипеды и открывать открытые двери. Почитайте документацию по Hunspell (хотя бы устаревший перевод на mozilla.russia.org). А то вы своими откровениями по поводу принципов работы движка проверки орфографии просто пугаете.

P.S. На прошлом "самом дружелюбном" форуме я уже спрашивал - кто-нибудь знает как узнать версию движка hunspell, которая используется в установленной версии OOo?
Записан
prof-alex
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 354


« Ответ #58: 17 Июнь 2010, 19:54 »

кто-нибудь знает как узнать версию движка hunspell, которая используется в установленной версии OOo?
Видимо спрашивать у сборщиков. Что-то я libhunspell.so в ООо не нашёл, видимо собирают статически.
Записан


«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #59: 18 Июнь 2010, 18:10 »

На прошлом "самом дружелюбном" форуме я уже спрашивал - кто-нибудь знает как узнать версию движка hunspell, которая используется в установленной версии OOo?
В DEV300m83 hunspell-1.2.9, а в OOO320m18 hunspell-1.2.8.
(http://svn.services.openoffice.org/opengrok)
« Последнее редактирование: 18 Июнь 2010, 18:12 от Трио » Записан

ubuntu 12.04 + LibO3.6.0
Страниц: « 1 2 3 4 5 6 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!