![]() |
|
![]() ![]() ![]() |
|
T0ohtik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
Задумал написать не большую программу, которая будет проверять вводимое слово на наличие только грамматических ошибок. Предполагается брать уже готовую базу слов, к примеру выдрать из firefox. Для начала интересует какой именно словарь использовать и откуда его скачать
![]() |
|||
|
||||
dereyly |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 1 Всего: 4 |
предлагаю проверку так же взять из firefox
|
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ну, словарь это не алгоритм
![]() Можно попробовать описать алгоритм разбора слова на составляющие(приставка, корень, суффикс, окончание), и вот уже по менее громоздким словарям этих самых частей судить об ошибках в слове ![]() -------------------- Всем добра ![]() |
|||
|
||||
T0ohtik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
Ну я не собираюсь изобретать велосипед, я спрашиваю, кто, где чего видел, включая алгоритмы.
|
|||
|
||||
aleksh |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: нет Всего: 13 |
где-то читал что ms word проверяет орфографию посредством сравнения хеммингового расстояния (это теория кодирования), то бишь имеряется это расстояние для вводимого слова и сравнивается с расстояними слов из словаря, если оно достаточно/приемлемо мало -- предлагает как правильный вариант, если словарь большой то проверка будет на уровне
вопрос в другом: что делать с морфологией русского. тут лучше брать не словарь, а тезариус, но если тексты для ввода простые, то можно и без него |
|||
|
||||
T0ohtik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
Да у меня в принципе тексты и не большие и не сложные. Я хочу попробовать написать плагин к аське, для проверки орфографии.
|
|||
|
||||
aleksh |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: нет Всего: 13 |
если попробовать, то тогда, пожалуй, можно обойтись словарем, просто игнорировать окончания слов (а то склонения всякие и пр.)
а рассматривался вариант использования word-а? точнее, загрузить и обращаться посредством ole? сам такого не делал, но по идее, это вполне возможно Это сообщение отредактировал(а) aleksh - 9.7.2008, 15:53 |
|||
|
||||
T0ohtik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
aleksh, да это вполне возможно, но тогда в память будет загружаться ворд, прикольная перспектива, когда для проверки орфографии, еще надо будет за собой загружать целого монстра
![]() |
|||
|
||||
aleksh |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: нет Всего: 13 |
согласен, с вордом это я перегнул, но если поискать, думаю можно будет найти способ обращатся только к проверке орфографии из ms office
но если задача просто вводимые слова минемально проверять на опечатки, то можно так: при наборе слова отдельным потоком пустить сверку со словарем (измерять хемминговое растояние полезно для составления списка вариантов исправления) и при появлении ошибки возможные варианты предлагать после нажатия пробела (и потери активности окна), прописать возможность добавления новых слов в словарь, игнорировать последние пару символов (зачем раздувать словарь вариациями склонения, иначе надо задуматься над структурой словаря) алгоритм проверки того самого расстояния, так понимаю, расписывать не надо |
|||
|
||||
DRUID3 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 20.6.2005 Где: Kyyiv Репутация: 2 Всего: 9 |
А разве с словаре firefox лежат не все возможные написания слов и они не тупо перебираются на соответствие?
хм... может пунктуацию - т.к. там нельзя ожидать абсолютную четкость и предопределенность, а написание слов можно проверять простым перебором. У меня уже давно нет ничего майкрософтовского кроме "выньXP" дома для цацэк, но насколько я помню ворд, если там написать ласкательное производное от слова - он выдает ошибку, т.е. он тупо перебирает - а раз слова в словаре заведомо упорядоченные по алфавиту то затраты на перебор минимальные из возможных. Не вижу сложности... Думаю и Firefox(кстати, загляните в код!) и PSPad, и Linuxовые аськи делают это точно также - перебором... -------------------- Every time if you use Linux, you are joined to the communism... практика - критерий истины ... отделенной от нас пропастью субъективного восприятия... |
|||
|
||||
T0ohtik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
DRUID3, вот вот и я так думаю, по этому дело завязывается на базе слов, а не на алгоритме, т.к. алгоритмов множество!
|
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: нет Всего: 8 |
вопрос.. каким образом работает поиск в этом форуме? напишите слово "орфография", например..
Добавлено @ 21:52
да? хм.. черкани парочку ![]() ![]() Это сообщение отредактировал(а) polosatij - 11.7.2008, 21:53 |
|||
|
||||
dereyly |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 1 Всего: 4 |
У мну была идея как посторить такую систему... смысл заключается в построении некой хеш ф-ии которая дает близкие значения для слова и искаженного слова
Такою фигню наверное можно сделать с помощью LVQ загрузить словарь и выполнять в словаре перестановки и назначать искаженным словам тот же кластер Попутно надо решить как кодировать буквы: линейно от 0 до 33 или, к примеру, а и о закодировать близкими значениями Нужно ли использовать словосочетания... Еще можно почитать, что умные люди поэтому поводу пишут... http://itman.narod.ru/ PS: тема мне интересна, так что если мне объяснить как вытащить из лисы слова, то я могу провести над ними дикие опыты и отписаться об этом на форуме... rtfm на конкретную страницу мурзилки тож сгодится Это сообщение отредактировал(а) dereyly - 13.7.2008, 15:19 |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: нет Всего: 8 |
||||
|
||||
DRUID3 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 20.6.2005 Где: Kyyiv Репутация: 2 Всего: 9 |
polosatij,
??? а есть трудности ??? ![]() ![]() -------------------- Every time if you use Linux, you are joined to the communism... практика - критерий истины ... отделенной от нас пропастью субъективного восприятия... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |