Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка орфографии 
:(
    Опции темы
T0ohtik
Дата 8.7.2008, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Задумал написать не большую программу, которая будет проверять вводимое слово на  наличие только грамматических ошибок. Предполагается брать уже готовую базу слов, к примеру выдрать из firefox. Для начала интересует какой именно словарь использовать и откуда его скачатьsmile
PM MAIL   Вверх
dereyly
Дата 8.7.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 16.6.2006

Репутация: 1
Всего: 4



предлагаю проверку так же взять из firefox
PM MAIL   Вверх
SoWa
Дата 9.7.2008, 05:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Ну, словарь это не алгоритм smile
Можно попробовать описать алгоритм разбора слова на составляющие(приставка, корень, суффикс, окончание), и вот уже по менее громоздким словарям этих самых частей судить об ошибках в слове smile И, думаю, такие алгоритмы уже есть, и велосипед изобретать не надо(хотя очень хочется).


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
T0ohtik
Дата 9.7.2008, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



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

PM MAIL   Вверх
aleksh
Дата 9.7.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 609
Регистрация: 8.7.2008

Репутация: нет
Всего: 13



где-то читал что ms word проверяет орфографию посредством сравнения хеммингового расстояния (это теория кодирования), то бишь имеряется это расстояние для вводимого слова и сравнивается с расстояними слов из словаря, если оно достаточно/приемлемо мало -- предлагает как правильный вариант, если словарь большой то проверка будет на уровне
вопрос в другом: что делать с морфологией русского. тут лучше брать не словарь, а тезариус, но если тексты для ввода простые, то можно и без него
PM MAIL   Вверх
T0ohtik
Дата 9.7.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Да у меня в принципе тексты и не большие и не сложные. Я хочу попробовать написать плагин к аське, для проверки орфографии. 
PM MAIL   Вверх
aleksh
Дата 9.7.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 609
Регистрация: 8.7.2008

Репутация: нет
Всего: 13



если попробовать, то тогда, пожалуй, можно обойтись словарем, просто игнорировать окончания слов (а то склонения всякие и пр.)
а рассматривался вариант использования word-а? точнее, загрузить и обращаться посредством ole? сам такого не делал, но по идее, это вполне возможно

Это сообщение отредактировал(а) aleksh - 9.7.2008, 15:53
PM MAIL   Вверх
T0ohtik
Дата 9.7.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



aleksh,  да это вполне возможно, но тогда в память будет загружаться ворд, прикольная перспектива, когда для проверки орфографии, еще надо будет за собой загружать целого монстраsmile))
PM MAIL   Вверх
aleksh
Дата 10.7.2008, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 609
Регистрация: 8.7.2008

Репутация: нет
Всего: 13



согласен, с вордом это я перегнул, но если поискать, думаю можно будет найти способ обращатся только к проверке орфографии из ms office
но если задача просто вводимые слова минемально проверять на опечатки, то можно так: при наборе слова отдельным потоком пустить сверку со словарем (измерять хемминговое растояние полезно для составления списка вариантов исправления) и при появлении ошибки возможные варианты предлагать после нажатия пробела (и потери активности окна), прописать возможность добавления новых слов в словарь, игнорировать последние пару символов (зачем раздувать словарь вариациями склонения, иначе надо задуматься над структурой словаря)
алгоритм проверки того самого расстояния, так понимаю, расписывать не надо
PM MAIL   Вверх
DRUID3
Дата 10.7.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 20.6.2005
Где: Kyyiv

Репутация: 2
Всего: 9



А разве с словаре firefox лежат не все возможные написания слов и они не тупо перебираются на соответствие?

Цитата(aleksh @  9.7.2008,  10:18 Найти цитируемый пост)
где-то читал что ms word проверяет орфографию посредством сравнения хеммингового расстояния (это теория кодирования)

хм... может пунктуацию - т.к. там нельзя ожидать абсолютную четкость и предопределенность, а написание слов можно проверять простым перебором. У меня уже давно нет ничего майкрософтовского кроме "выньXP" дома для цацэк, но насколько я помню ворд, если там написать ласкательное производное от слова - он выдает ошибку, т.е. он тупо перебирает - а раз слова в словаре заведомо упорядоченные по алфавиту то затраты на перебор минимальные из возможных. Не вижу сложности... Думаю и Firefox(кстати, загляните в код!) и PSPad, и Linuxовые аськи делают это точно также - перебором...


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
T0ohtik
Дата 10.7.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



DRUID3, вот вот и я так думаю, по этому дело завязывается на базе слов, а не на алгоритме, т.к. алгоритмов множество!
PM MAIL   Вверх
polosatij
Дата 11.7.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



вопрос.. каким образом работает поиск в этом форуме? напишите слово "орфография", например..

Добавлено @ 21:52
Цитата(T0ohtik @  10.7.2008,  22:33 Найти цитируемый пост)
DRUID3, вот вот и я так думаю, по этому дело завязывается на базе слов, а не на алгоритме, т.к. алгоритмов множество! 


да? хм.. черкани парочку  smile допустим у нас есть 1.000.000 слов и 1 секунда на поиски  smile 

Это сообщение отредактировал(а) polosatij - 11.7.2008, 21:53


--------------------
PM   Вверх
dereyly
Дата 12.7.2008, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 16.6.2006

Репутация: 1
Всего: 4



У мну была идея как посторить такую систему... смысл заключается в построении некой хеш ф-ии которая дает близкие значения для слова и искаженного слова
Такою фигню наверное можно сделать с помощью LVQ загрузить словарь и выполнять в словаре перестановки и назначать искаженным словам тот же кластер

Попутно надо решить как кодировать буквы:
линейно  от 0 до 33
или, к примеру, а и о закодировать близкими значениями

Нужно ли использовать словосочетания...

Еще можно почитать, что умные люди поэтому поводу пишут... http://itman.narod.ru/

PS: тема мне интересна, так что если мне объяснить как вытащить из лисы слова, то я могу провести над ними дикие опыты и отписаться об этом на форуме... rtfm на конкретную страницу мурзилки тож сгодится


Это сообщение отредактировал(а) dereyly - 13.7.2008, 15:19
PM MAIL   Вверх
polosatij
  Дата 12.7.2008, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



Цитата(dereyly @  12.7.2008,  00:07 Найти цитируемый пост)
тема мне интересна, так что если мне объяснить как вытащить из лисы слова, то я могу провести над ними дикие опыты


я думаю, это было бы многим интереснА  smile 



--------------------
PM   Вверх
DRUID3
  Дата 13.7.2008, 05:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 20.6.2005
Где: Kyyiv

Репутация: 2
Всего: 9



polosatij
Цитата(polosatij @  11.7.2008,  20:51 Найти цитируемый пост)
да? хм.. черкани парочку   допустим у нас есть 1.000.000 слов и 1 секунда на поиски   

??? а есть трудности ??? smile  во-первых словарь - заведомо упорядоченный список (по алфавиту) и слова в нем запросто могут лежать в виде деревьев - сложность обхода каждого конкретного случая будет равна количеству букв в слове, а не тупому перебору всего словаря. Собственно это стандартные условия и стандартное решение, даже не понимаю зачем я обьясняю? smile  Ну и во-вторых 1 000 000 слов не делают - возьмите любой разговорный словарь там из пару десятков тысяч - ну если там все падежи, или иные другие формы перебрать то 100 000 хватит с головой.


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1282 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.