|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - проверка орфографии |
|
Теория - проверка орфографии
|
![]() Ветеран Сообщения: 1180 |
Всем привет! Хочу собрать "на коленке" программу для проверки орфографии русского языка. Пока что склоняюсь к нечёткому поиску по словарю. Формулирую как 2 задачи:
1. Дан набор слов русского языка и текст, который следует проверить. Требуется написать список неправильных слов и предложить до 10 вариантов исправления. 2. Дана строка запроса и текст. Требуется написать список до 20 строк из текста, которые чем-то похожи на строку запроса. Хотелось бы быстрый, но несложный алгоритм. Кто что может подсказать? |
|
Отправлено: 16:15, 07-07-2012 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Используя ограничение на длину слова (удалили не больше 2-х и добавили не больше 2-х букв) получается увеличить скорость в 2 раза, сохранив результаты.
spell: ладошек 1. ладоше (1) 2. ладоней (2) 3. ладошки (2) 4. ладошку (2) 5. людишек (2) spell: компьютеры 1. компьютерный (2) 2. комитеты (4) 3. компроме (5) 4. компрене (5) 5. комитета (5) spell: стругацкие 1. дурацкие (4) 2. чумацкие (4) 3. турецкие (4) 4. строжайшие (4) 5. трусоцким (4) spell: робинзон 1. родиной (3) 2. рубинов (3) 3. робенок (3) 4. рубикон (3) 5. родинок (3) spell: люк 1. люд (1) 2. люб (1) 3. лак (1) 4. глюк (1) 5. лют (1) spell: намекающей 1. намекающий (1) 2. намекающая (2) 3. намекаете (3) 4. вытекающей (3) 5. намекают (3) spell: бездонность 1. бездарность (2) 2. бездонного (3) 3. бездонной (3) 4. бездонное (3) 5. безличность (3) spell: космоса 1. комода (2) 2. космой (2) 3. корма (3) 4. кошма (3) 5. косность (3) spell: множественность 1. мужественность (2) 2. божественность (2) 3. множественном (3) 4. множественное (3) 5. художественность (3) spell: твердь 1. тверда (1) 2. тверд (1) 3. тверди (1) 4. твердя (1) 5. тверды (1) spell: твердь 1. тверда (1) 2. тверд (1) 3. тверди (1) 4. твердя (1) 5. тверды (1) spell: атланта 1. атлета (2) 2. атласа (2) 3. таланта (2) 4. танта (2) 5. атласная (3) spell: фосфоресцировала 1. восторжествовала (6) 2. восторжествовал (7) 3. откомандировала (7) 4. господствовала (7) 5. восторжествовали (7) spell: пробитую 1. прибитую (1) 2. пролитую (1) 3. побитую (1) 4. пробита (2) 5. продиктую (2) spell: расплывались 1. расплевались (1) 2. расплылись (2) 3. раскалывались (2) 4. расписывались (2) 5. раскрывались (2) spell: кляксы 1. клятвы (2) 2. клюквы (2) 3. классы (2) 4. клялся (2) 5. лясы (2) spell: туши 1. туше (1) 2. туш (1) 3. тужи (1) 4. тушит (1) 5. тушил (1) spell: люк 1. люд (1) 2. люб (1) 3. лак (1) 4. глюк (1) 5. лют (1) spell: раздавленной 1. раздавленног (1) 2. раздавленное (1) 3. раздавленный (1) 4. раздавленно (1) 5. раздавленного (2) spell: кривоватые 1. розоватые (3) 2. кроватке (3) 3. виноватые (3) 4. красноватые (3) 5. кривоглазые (3) spell: голубизны 1. голубизну (1) 2. голубине (2) 3. голубиных (2) 4. глубины (2) 5. голубятня (3) spell: пологими 1. плохими (2) 2. долгими (2) 3. положим (2) 4. похожими (2) 5. полосами (2) spell: склонами 1. склонам (1) 2. клоками (2) 3. словами (2) 4. слонам (2) 5. склонными (2) spell: размытому 1. размытом (1) 2. разлитому (2) 3. развитому (2) 4. разбитому (2) 5. накрытому (3) ... misspelled 8619 of 93652 words indexed 162163 words load dictionary spent 0.652 secs showing only first 25 errors spell check spent 5.621 secs Если символы на одинаковых позициях на клавиатуре расположены дальше круга радиусом 1 клавиши, добавляем штраф +3: indexed 162163 words load dictionary spent 0.661 secs showing only first 25 errors spell check spent 0.392 secs spell: ладошек 1. лавочек (6) 2. ладоней (6) 3. ладошку (6) 4. ладонке (8) 5. людишек (8) spell: компьютеры 1. кухмистеры (14) 2. контролеры (15) 3. компактный (15) 4. компаньоны (15) 5. компанейцы (15) spell: стругацкие 1. мертвецкие (15) 2. строжайшие (16) 3. струменцию (16) 4. строжайшее (17) 5. стебницкий (17) spell: робинзон 1. рутинное (12) 2. починков (12) 3. новинкой (12) 4. поминутн (12) 5. романовн (12) spell: люк 1. лак (3) 2. лек (3) 3. лок (3) 4. ляк (3) 5. лук (3) spell: намекающей 1. намекающий (3) 2. намекающая (8) 3. вытекающей (9) 4. набегающий (9) 5. замечающий (9) spell: бездонность 1. бездарность (5) 2. бездарности (8) 3. безличность (8) 4. преданность (11) 5. безличности (11) spell: космоса 1. косушка (9) 2. косынка (9) 3. костела (9) 4. косятся (9) 5. косится (9) spell: множественность 1. торжественность (11) 2. торжественности (14) 3. торжественностью (16) 4. семейственности (18) 5. торжественностию (19) spell: твердь 1. тверди (3) 2. тверда (3) 3. тверды (3) 4. твердя (3) 5. твердо (3) spell: твердь 1. тверди (3) 2. тверда (3) 3. тверды (3) 4. твердя (3) 5. твердо (3) spell: атланта 1. таланта (5) 2. таланте (8) 3. фаланга (8) 4. таланты (8) 5. таланту (8) spell: фосфоресцировала 1. восторжествовала (25) 2. сфотографирована (28) 3. компрометировала (28) 4. восторжествовали (30) 5. восторжествовать (33) spell: пробитую 1. прибитую (3) 2. пролитую (3) 3. пробитые (6) 4. пролитою (8) 5. пробитая (8) spell: расплывались 1. расплевались (3) 2. раскрывались (6) 3. расставались (9) 4. расплываться (9) 5. расплываются (9) spell: кляксы 1. клятвы (6) 2. клямку (8) 3. клюквы (8) 4. клялся (8) 5. клятву (9) spell: туши 1. куши (3) 2. туше (3) 3. суши (3) 4. тушу (3) 5. души (3) spell: люк 1. лак (3) 2. лек (3) 3. лок (3) 4. ляк (3) 5. лук (3) spell: раздавленной 1. раздавленный (3) 2. раздавленное (5) 3. раздавленног (5) 4. раздраженной (8) 5. раздавленная (8) spell: кривоватые 1. провожатые (11) 2. кохловатые (13) 3. желтоватые (14) 4. кровожадцы (14) 5. кровожадны (14) spell: голубизны 1. голубизну (3) 2. голубятня (9) 3. голубиная (9) 4. голубятне (11) 5. голубчику (11) spell: пологими 1. порогами (6) 2. полонили (6) 3. полосами (6) 4. похожими (8) 5. положили (8) spell: склонами 1. салопами (6) 2. коконами (8) 3. склонили (8) 4. законами (8) 5. склонений (9) spell: размытому 1. разлитому (8) 2. разбитому (8) 3. развитому (8) 4. накрытому (9) 5. разумному (10) ... misspelled 8619 of 93652 words |
Отправлено: 23:56, 13-07-2012 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать пробуем другие варианты: у меня с орфографией в принципе нормально, но есть опечатки:
1. нажатие вместо рядом находящейся клавиши 2. набор части слова в другом прядке (иногда пальцы срабатывают в обратной последовательности. Обычно пара букв, но изредка до 4-х) 3. пропуск буквы 4. лишняя буква из окрестности клавиши Решение: будем сравнивать так: растянем слово №1 и №2 на одну и ту же длину. Если в некоторой окрестности буквы из слова 1 оказалась такая же буква из слова 2, значит добавляем штраф, равный расстоянию между буквами обоих слов на растянутом отрезке. Таким образом не требуется матрица как в методе Левенштейна, а нужен только проход по диагонали матрицы. Если буквы в окрестности не найдено, то добавляем второй штраф - расстояние между символами на клавиатуре. Дальше игры с размерами штрафов (чтобы усилить тот или иной вариант). Мне больше всего понравился вариант, когда раскладка вообще не учитывается. Но это на правильно написанных словах, но отсутствующих в словаре. Посему прошу, кто что может, скиньте своих опечаток, потестировать. Или я могу скинуть исходник, попробуйте варианты, сообщите удачные. знакомые буквы + раскладка indexed 162163 words load dictionary spent 0.688 secs showing only first 25 errors spell check spent 0.55 secs spell: ладошек 1. лондоне (81) 2. горошек (83) 3. шпажонку (85) 4. хорошее (87) 5. большее (87) spell: компьютеры 1. камердинеру (95) 2. камердинер (97) 3. кропотливая (100) 4. камердинера (102) 5. кормильцев (102) spell: стругацкие 1. страницами (100) 2. маркграфине (100) 3. своенравнее (100) 4. смиренными (102) 5. варварские (104) spell: робинзон 1. орлиного (91) 2. полтинник (91) 3. подлинное (95) 4. портного (97) 5. плотного (97) spell: люк 1. любу (112) 2. обок (112) 3. лжец (112) 4. олиц (112) 5. люду (112) spell: намекающей 1. намекающий (81) 2. намекающая (89) 3. примыкающей (91) 4. намекавший (92) 5. наступающей (93) spell: бездонность 1. бездарность (102) 2. бездарности (107) 3. бездарностию (112) 4. наклонность (112) 5. преданность (113) spell: космоса 1. красота (91) 2. кассира (91) 3. красотка (92) 4. красотку (92) 5. неисправ (92) spell: множественность 1. торжественность (94) 2. торжественности (97) 3. торжественностью (98) 4. преднамеренность (99) 5. второстепенность (99) spell: твердь 1. твердом (102) 2. твердое (102) 3. твердос (102) 4. твердой (106) 5. откроют (108) spell: твердь 1. твердом (102) 2. твердое (102) 3. твердос (102) 4. твердой (106) 5. откроют (108) spell: атланта 1. встретив (90) 2. пролеток (90) 3. еропегов (91) 4. пролети (92) 5. смоленск (92) spell: фосфоресцировала 1. сфотографирована (116) 2. компрометировала (116) 3. скомпрометирован (117) 4. компрометировали (119) 5. компрометировать (122) spell: пробитую 1. пробитыми (107) 2. пролитыми (107) 3. пробирала (110) 4. пролитую (110) 5. пролиться (110) spell: расплывались 1. расплевались (91) 2. раскрывались (91) 3. расставались (91) 4. расписывались (91) 5. раскалывались (91) spell: кляксы 1. кровавы (102) 2. классы (106) 3. кличка (110) 4. крикса (110) 5. капская (110) spell: туши 1. танта (130) 2. тигра (130) 3. таков (130) 4. такты (130) 5. трушу (130) spell: люк 1. любу (112) 2. обок (112) 3. лжец (112) 4. олиц (112) 5. люду (112) spell: раздавленной 1. раздавленное (82) 2. раздавленног (82) 3. продавленном (88) 4. раздраженное (91) 5. раздраженной (91) spell: кривоватые 1. варварства (98) 2. варварстве (98) 3. красноватые (98) 4. неисправные (100) 5. красноватый (100) spell: голубизны 1. голубизну (105) 2. голубиному (113) 3. коломбина (114) 4. полусонный (115) 5. соловьиный (116) spell: пологими 1. поглотим (68) 2. прогоните (70) 3. проломами (70) 4. поглотити (70) 5. полотнами (70) spell: склонами 1. сапогами (79) 2. салопами (82) 3. вагонами (84) 4. склонными (84) 5. капорами (86) spell: размытому 1. грамматику (105) 2. даровитому (107) 3. размыслив (109) 4. разбитому (109) 5. радоваться (109) ... misspelled 8619 of 93652 words indexed 162163 words load dictionary spent 0.656 secs showing only first 25 errors spell check spent 0.38 secs spell: ладошек 1. ладонке (16) 2. младшег (16) 3. ладошки (16) 4. ладошку (16) 5. людишек (16) spell: компьютеры 1. комментарии (18) 2. кухмистеры (18) 3. компостелло (18) 4. комплименты (18) 5. композитор (18) spell: стругацкие 1. испугавшие (18) 2. содрогание (18) 3. строжайшие (18) 4. содроганием (18) 5. ассигнацией (18) spell: робинзон 1. повинной (17) 2. пробитое (17) 3. коринной (17) 4. повинною (17) 5. поодиноч (17) spell: люк 1. глюк (16) 2. лек (17) 3. лак (17) 4. люд (17) 5. плю (17) spell: намекающей 1. намекающий (14) 2. намекающая (15) 3. задевающее (16) 4. надлежащей (16) 5. надлежащее (16) spell: бездонность 1. бездарность (14) 2. обязанность (15) 3. преданность (15) 4. бездарности (15) 5. безличность (15) spell: космоса 1. корамора (17) 2. косточка (17) 3. косности (17) 4. косность (17) 5. косилось (17) spell: множественность 1. торжественность (14) 2. художественность (14) 3. торжественности (15) 4. торжественностью (15) 5. художественности (15) spell: твердь 1. твердо (15) 2. тверда (15) 3. тверды (15) 4. твердя (15) 5. тверди (15) spell: твердь 1. твердо (15) 2. тверда (15) 3. тверды (15) 4. твердя (15) 5. тверди (15) spell: атланта 1. таланта (14) 2. атласная (15) 3. ханаана (16) 4. атамана (16) 5. фаланга (16) spell: фосфоресцировала 1. восторжествовала (17) 2. компрометировала (17) 3. сфотографирована (17) 4. восторжествовали (17) 5. восторжествовать (18) spell: пробитую 1. пролитую (14) 2. прибитую (14) 3. продиктую (15) 4. прочитаю (16) 5. пролитою (16) spell: расплывались 1. расписывались (14) 2. расплевались (14) 3. раскалывались (14) 4. расползались (15) 5. располагались (15) spell: кляксы 1. коляск (17) 2. клямки (17) 3. колосс (17) 4. клялся (17) 5. классы (17) spell: туши 1. тушил (15) 2. тушит (15) 3. тушки (15) 4. тучи (16) 5. тиши (16) spell: люк 1. глюк (16) 2. лек (17) 3. лак (17) 4. люд (17) 5. плю (17) spell: раздавленной 1. раздавленное (13) 2. раздавленног (13) 3. раздавленного (13) 4. раздавленный (13) 5. раздраженной (14) spell: кривоватые 1. хриповатым (16) 2. кохловатые (16) 3. красноваты (16) 4. красноватые (16) 5. кривоглазые (16) spell: голубизны 1. голубизну (14) 2. полуубиты (15) 3. голубчики (17) 4. голубятни (17) 5. голубиному (17) spell: пологими 1. полонили (16) 2. положили (16) 3. порогами (16) 4. поглотим (16) 5. волооким (16) spell: склонами 1. склонными (14) 2. поклонами (15) 3. колоннами (15) 4. склянками (15) 5. законами (16) spell: размытому 1. разумному (15) 2. разбитому (15) 3. разлитому (15) 4. развитому (15) 5. размытарит (17) ... misspelled 8619 of 93652 words |
Отправлено: 23:25, 15-07-2012 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - Word | Проверка орфографии | stst | Microsoft Office (Word, Excel, Outlook и т.д.) | 4 | 09-08-2012 14:17 | |
Прочие - Проверка орфографии в названиях каталогов | SummerMovedOn | Программное обеспечение Windows | 2 | 09-09-2009 19:26 | |
Проверка орфографии | rel | Хочу все знать | 3 | 17-07-2009 15:45 | |
Проверка русской орфографии | DeepProg | Программное обеспечение Windows | 6 | 04-12-2004 16:17 | |
Проверка орфографии 97Word под Win2000 | Guest | Microsoft Windows NT/2000/2003 | 6 | 29-10-2004 14:12 |
|