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

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

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

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

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


« Ответ #30: 16 Июнь 2010, 06:28 »

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

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

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


« Ответ #31: 16 Июнь 2010, 09:29 »

2 Трио
Вы пытались измерить прирост производительности с укороченным словарём?

На мой взгляд необходимо создать два словаря - ядро и максимальный с включением всех лексем и замерить скорость обращения к нему (могу заняться) и потом, видя реальные цифры думать о том, что нам даст такая схема.
« Последнее редактирование: 16 Июнь 2010, 09:30 от dr.Faust » Записан

Свобода информации - свобода личности!
Рыбка Рио
Форумчанин
***
Offline Offline

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


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

Да, было бы интересно проверить. Если кто-то может, проверьте пожалуйста два случая.

I. dict_ru-ВСЕ-koi8-0.1.1 VS. dict_ru-ВСЕ-utf8-0.1.0

Первые два вложения - абсолютно одинаковы словари (в них есть всё), но отличаются только кодировками (кстати, словарь в utf-8 весит 3,3 МБ против 1,9 МБ koi8-r).

II. dict_ru-БЗА-koi8-0.1.2+dict_ru-ААА-koi8-0.0.1 VS. dict_ru-ВСЕ-koi8-0.1.1

Вторые два вложения - словарь без А и словарь с А - их нужно устанавливать вместе и сравнивать с dict_ru-ВСЕ-koi8-0.1.1.

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

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

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

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


« Ответ #33: 16 Июнь 2010, 13:31 »

Мне немного затруднительно устанавливать и удалять словари - на работе аврал - сильно мешает перфоратор Грустный
Но вот такой код он надолбить не мешает:
Код:
Sub SynWrt
Dim vDictionary As Object
Dim vLocal  As Object
Dim fg As Object
' Создаём службу тезауруса


vDictionary = createUnoService("com.sun.star.linguistic2.SpellChecker")
' от жешь я ленивый...
vLocal = vDictionary.Locales(0)
vLocal.Language = "ru"
vLocal.Country = "RU"
vLocal.Variant = ""
Dim aWords() As String
Dim aW As String
Dim i As Long
aWords = Array("Мы","толькотолько","организоались.","Четре","мсяца","как","сйт","запустили","piateparty","В","апеле","была","конференция","пиратких","партий","в","Брюсселе","(22","организации,","в","том","числе","две","от","СНГ","—","Россия","и","Казахстан),","нас","приняли","в","своеобразный","альянс","(за","создание","PP","International","проголосовали","17).","Для","нас","организовали","прямую","трансляцию","с","возможностью","голосовать.","Я,","просто","в","качестве","представителя","Каахстана","—","меня","еще","никто","не","выбрал,","поскольку","не","прошло","специалного","собания,","поэтому","никакой","официальной","должости","нет","Если","бы","компьютрный","сленг","был","бы","устанвлен","и","включн","в","менедере","расширеий,","то","он","рабтал","бы","всегда","для","любого","русского","текста","одновременно","с","обычным","(базовым)","словарём.","Как","в","линуксе","есть","ядро,","а","есть","модули","так","и","у","словаря","-","есть","ядро,","а","есть","модули","-","фамилии","имн","нзвания,","медцинкие","термины","и","названия","лекарств","и","т.д.","Сейчас","пока","всё","запихнуто","в","один","слварь,","изза","чего","с","одной","стороны","в","нём","мнгого","нет,","а","с","другй","стороы","он","уже","и","так","слишком","большой")

Dim res As Long
res = GetSystemTicks()
For i=0 To 3 ' число проходов
For Each aW In aWords
fg = vDictionary.spell (aW, vLocal, Array())
Next
Next
print GetSystemTicks() - res
End Sub
Время можно уменьшить уменьшая число проходов.
Результат - чем меньше, тем лучше.
« Последнее редактирование: 16 Июнь 2010, 13:34 от dr.Faust » Записан

Свобода информации - свобода личности!
dr.Faust
Администратор
**
Offline Offline

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


« Ответ #34: 16 Июнь 2010, 13:36 »

Лучше делать несколько прогонов и не учитывать результат  первого - кэш там всякий и всё, такое...
Записан

Свобода информации - свобода личности!
Рыбка Рио
Форумчанин
***
Offline Offline

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


« Ответ #35: 16 Июнь 2010, 15:18 »

Вот такие результаты на Windows XP SP2 + Celeron 400МГц + 256 ОЗУ +OOo3.2.1


            +------------+------------+------------+------------+------------+
            |            |            |dict_ru-БЗА-|            |            |
            |dict_ru-ВСЕ-|dict_ru-ВСЕ-|koi8-0.1.2+ |dict_ru-БЗА-|dict_ru-ААА-|
            | koi8-0.1.1 |utf8-0.1.0  |dict_ru-ААА-|koi8-0.1.2  |koi8-0.0.1  |
            |            |            |koi8-0.0.1  |            |            |
+-----------+------------+------------+------------+------------+------------+
|1-ый проход|   109537   |   224373   |   111790   |   112172   |   13490    |
|           |            |            |   111030   |            |            |
+-----------+------------+------------+------------+------------+------------+
|2-ой проход|   106443   |   222700   |   104420   |   109257   |   13690    |
|           |            |            |   107945   |            |            |
+-----------+------------+------------+------------+------------+------------+


Сразу вывод: словари на Windows+OOo в кодировке UTF-8 ужасно медленные. Словарь из одной лишь буквы А содержит 4231 , а всего в полном словаре было 146263 . Файлы aff везде были одинаковые.
Записан

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

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


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

Ubuntu 10.04+Celeron 1600МГц+2ГБ ОЗУ+OOo3.2.1

            +------------+------------+-------------+------------+------------+
            |dict_ru-ВСЕ-|dict_ru-ВСЕ-|dict_ru-БЗА- |dict_ru-БЗА-|dict_ru-ААА-|
            |koi8-0.1.1  |utf8-0.1.0  |koi8-0.1.2   |koi8-0.1.2  |koi8-0.0.1  |
            |            |            |+dict_ru-ААА-|            |            |
            |            |            |koi8-0.0.1   |            |            |
+-----------+------------+------------+-------------+------------+------------+
|1-ый проход|35296       |42325       |35848        |36016       |3944        |
+-----------+------------+------------+-------------+------------+------------+
|2-ой проход|35424       |42581       |35334        |35761       |3667        |
+-----------+------------+------------+-------------+------------+------------+
|3-ий проход|35209       |42130       |35534        |35743       |3657        |
+-----------+------------+------------+-------------+------------+------------+
Записан

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

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


WWW
« Ответ #37: 16 Июнь 2010, 17:33 »

Сразу вывод: словари на Windows+OOo в кодировке UTF-8 ужасно медленные.
И для Linux будет то же самое,
вот что об этом говорит документация:
Цитата:
В не UTF-8 кодировках Hunspell работает с обычными восьмибитными кодировками, но со словарём и файлом аффиксов, кодированными в UTF-8, Hunspell использует гибридный тип работы со строками и проверкой аффиксов для поддержки Unicode:
Аффиксы и слова хранятся в UTF-8, во время анализа они, по большей части, обрабатываются в UTF-8, а при проверке условий и предложений конвертируются в UTF-16.
Записан
Yakov
Администратор
**
Offline Offline

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


WWW
« Ответ #38: 16 Июнь 2010, 17:37 »

Видимо, и регистр букв, в котором задаётся название кодировки имеет значение.
Он оказывает влияние на то, каким образом будет обрабатываться слова с заглавными буквами.
(например koi8-r  и KOI8-R).
Записан
Рыбка Рио
Форумчанин
***
Offline Offline

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


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

Спасибо. Кстати, медицинский словарь - UTF-8. Там комментарий уже есть про это.
Записан

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

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


« Ответ #40: 16 Июнь 2010, 19:51 »

Кстати, в медицинском словаре встречаются греческие символы, так что там возможно без UTF не обойтись? Тогда тем более этот словарь, наверное, лучше отделять от основного (основной будет в koi8-r, а медицинский в UTF).
Записан

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

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


« Ответ #41: 16 Июнь 2010, 22:46 »

Итак, если сложность поиска растёт линейно, можно предположить, что каждые 5 слов в словаре, это где-то миллисекунда поиска.
Но сложность поиска растёт не линейно, а как... а как, собственно? Кто-нибудь помнит?
Валера?!!!
Хелп нам!
Записан

Свобода информации - свобода личности!
PiVV
Гость
« Ответ #42: 16 Июнь 2010, 23:23 »

Я думаю стоит ещё попробовать тесты на системе с большим объёмом оперативной памяти. Плюс ещё попробовать увеличить число в первой строке файла dic. Плюс интересно сравнить объединение абсолютно разных словарей - не только кодировки отличаются, а и правила в аффикс файлах.
Записан
Рыбка Рио
Форумчанин
***
Offline Offline

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


« Ответ #43: 16 Июнь 2010, 23:30 »

Словарь сокращений будет, наверное, работать очень быстро, т.к. у него будет пустой или почти пустой файл aff. Главный положительный вывод, мне кажется, это то, что словарь из двух файлов практически равен по производительности словарю из одного файла. Если оптимизировать файлы aff для разных отдельных словарей, то мы получим большее число слов при той же производительности (?). И видимо, скорость работы словаря во многом определяется сложностью файла aff (?)
Записан

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

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


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

Хм...
А как можно оптимизировать aff?

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

Свобода информации - свобода личности!
Страниц: « 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!