Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Программа по поиску повторяющихся сочетаний букв

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день всем. Хотел бы иметь программу такого типа: чтобы в тексте, вставленном в окно, подсвечивались все повторяющиеся буквосочетания. Например, при вставке текста "Бесшумная работа позволяет агрегату почти не вибрировать, что облегчает работу пользователя" подсвечиваются два фрагмента "работ".
 
Еще лучше, если будет возможность задавать в символах минимальную длину таких буквосочетаний и максимальное расстояние между повторами.
 
Был бы благодарен, если кто сможет сделать (если это несложно). Или, если уже существуют какие-то аналогичные программы, подскажите их.
 
К модераторам: если я поместил тему не в тот раздел форума, перенесите, пожалуйста, куда следует, и сообщите мне, куда перенесли.

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 17:20 25-05-2015 | Исправлено: Maz, 22:48 30-05-2020
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Еще лучше, если будет возможность задавать в символах минимальную длину таких буквосочетаний....

lid111, немного не точно сформулированное требование. Может быть имеется ввиду минимальная длина слова в которое входит буквосочетание или что-то другое?
 
А так можете, как вариант использовать любой online тестер регулярок, выполненый на JS. JS - для того, чтобы сохранив страничку - подредактировать скрипт и добавить необходимые условия: расстояние между вхождениями, например.
 
Как вариант: http://regexpal.com/

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 20:24 25-05-2015 | Исправлено: NeoAnomaly, 20:25 25-05-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет, не слова, а именно буквосочетания. Суть в том, чтобы выявить повторы однокоренных слов (как стилистическую ошибку в тексте). То есть если не задать  минимальную длину скажем, в четыре-пять символов, то высветятся все предлоги или, например, высветится "раз" в словах "разница" и "раздолбай", а это не то, что ищем.
 
А нужно выявить, и желательно все сразу, относительно близлежащие слова, например, "предлагаемых" и "предлагается" (совпадение "предлагае"), "Использовать", "пользователь" и "пользы" (совпадение "польз") и т. п. Независимо от регистра, разумеется.
 
Что касается "подредактировать скрипт" — тут я дерево дуб. Даже над словами "тупо использовать скрипт" — и то мне придется задуматься.  

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 22:10 25-05-2015 | Исправлено: lid111, 22:30 25-05-2015
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всегда удивлялся людям которых забанили в гугле, неужто так сложно ввести в гугл, то что вы хотите найти и пробежаться по 1-10 первым ссылкам, например я ввел "поиск однокоренных слов", 6 ссылка "Программа для контроля повторов однокоренных слов", щелкнув по ней видим ссылку http://quittance.ru/tautology.php
Действительно ОЧЕНЬ тяжелый и ВЫСОКОИНТЕЛЛЕКТУАЛЬНЫЙ процесс...

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 13:43 26-05-2015 | Исправлено: protoror, 13:43 26-05-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ура! Спасибо. Потестирую.

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 14:29 28-05-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Del

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 03:34 30-05-2015 | Исправлено: lid111, 03:51 30-05-2015
vahhabit

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111
regexbuddy классно подсвечивает. Скрин программы с вашим текстом.

Всего записей: 119 | Зарегистр. 17-06-2008 | Отправлено: 10:34 01-06-2015 | Исправлено: vahhabit, 10:35 01-06-2015
evoroz



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111
Из программ поиска с подсветкой вспомнилась dtSearch. http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=6635#1

Всего записей: 3487 | Зарегистр. 30-03-2002 | Отправлено: 10:49 01-06-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новые предложения тоже потестирую.
 
А вот тут я еще спросил, про эту программу ничего не скажете? Не подойдет? http://forum.ru-board.com/topic.cgi?forum=5&topic=12201&start=140#lt
 
У онлайнового "Свежего взгляда" есть два недостатка:
 
1) при настройках по умолчанию показывает много лишнего. Но это ладно, опытным путем установил настройки 30 - 1000 - 0, так более-менее нормально.
 
2) созвучия (паронимии) ищутся только в пределах одного абзаца. То есть не ловится повтор, например, в соседних предложениях, но в разных абзацах.
 
И еще плохо, что офлайновая программа "Свежий взгляд" работает в режиме командной строки. Мне бы желательно GUI

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 23:15 01-06-2015 | Исправлено: lid111, 23:20 01-06-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В regexbuddy ничего не понимаю. Как там задать мое требование?
 
А dtSearch уже по описанию, мне кажется, "из другой оперы"

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 13:21 02-06-2015
sikemo

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Всего записей: 1326 | Зарегистр. 27-11-2008 | Отправлено: 19:16 05-06-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну и к чему вы это? Мне же надо не "работ" искать, а все повторы заданного размера во столько-то символов (буквы могут быть любыми). Но точные совпадения и по всему тексту ("Свежий взгляд" ищет не только точные и только в пределах абзаца)

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 19:46 05-06-2015 | Исправлено: lid111, 19:48 05-06-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111,
Поигрываю я тут на досуге своим аналогом "Свежего взгляда"...
Из ваших описаний, мне показалось, что встретив в тексте "работу надо работать", программа должна выделить в тексте и все остальные формы "работы".
Это так ? А то мне не понятно - зачем...
 

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 22:27 08-06-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попытаюсь объяснить еще раз.
 
Программа "Свежий взгляд" (онлайн) ловит много лишнего. Для того, чтобы максимально приблизиться к желаемому, я выставляю в ней настройки (сверху вниз) 30 - 1000 - 0. Это резко сокращает мусорные результаты, но и тогда мусор остается.
 
Мне надо, чтобы ловились (подсвечивались) одномоментно (по аналогии со "Свежим взглядом") все повторы всех возможных сочетаний букв (не менее заданной мной длины в символах, без пробелов, независимо от регистра и языка) по всему тексту, которые найдены в тексте на расстоянии друг от друга не более заданного мной расстояния в символах, причем деление текста на абзацы, переводы строк, пустые строки — всё это не должно играть никакой роли .
 
Минимальную длину буквосочетания я должен задать для того, чтобы не высвечивались повторяющиеся союзы и предлоги — "и", "в", "на" и т. п.
 
Максимальное расстояние между повторами ограничивается, потому что "работ" и "работ" в начале и в конце текста — это никакая не "тавтология", это никого не волнует, а цель программы — обнаружить стилистические погрешности текста — та же цель, что и у программы "Свежий взгляд".
 
Поясняю на примере. Например, я задал в настройках программы минимальное число символов — 5 и максимальное расстояние между повторами — 300 знаков.
 
В таком случае по всему тексту подсветится сочетание "работ" если между "работ" и "работ" расстояние не больше 300 знаков. Если между этими повторами 310, 350, 400 знаков, то они не подсвечиваются.
 
В тот же время в том же тексте по всему тексту будет подсвечено "польз" (если между "польз" и польз" будет не больше 300 знаков), будут подсвечены также "отлич", "запас", "революц", "капитал" и т. д. — все возможные найденные в тексте сочетания букв не меньше указанного размера (5 знаков). И не будет подсвечено "преп", "курс" и т. п., так как эти сочетания имеют длину меньше 5 знаков.
 
Вставляешь в окно программы текст, нажимаешь кнопку, видишь все подсветки. Вот всё, что требуется
 
Если это реализовать, это будет круче, чем "Свежий взгляд", у которого, как я понимаю, нет альтернатив (гуглил-гуглил и ничего не нашел), но который (и в онлайн-версии) грешит недостатками, о которых я уже писал: и невнятные настройки, и невнятный хелп (на мой взгляд), и поиск повторов производится только в пределах абзаца, и невозможно сохранить свои настройки в онлайн-версии. Плюс к тому офлайн-программа работает из командной строки в офлайне (и это в эпоху Windows!)
 
Так что, KDPoid, родина (в моем лице ) на Вас очень надеется!
 
P. S. Упс... Что-то я вдруг задумался: если задан размер 5 знаков, то, получается, по-моему, что должны быть подсвечены одновременно и "истор", и "истори" в словах "исторический" и "история"?
 
Если разными цветами подсвечивать, то получится хрен знает что. Если одним — то в принципе нормально — будет отмечен максимальный по длине совпадающий кусок слов.  
 
Но можно и такой подход применить, как вариант: подсвечивать в тексте не куски слов, а целиком слова, в которых встречается хоть какой-либо повтор, соответствующий моим настройкам. Тогда, правда, совпадающая часть слов не будет выделена, но ее ведь и так можно отловить глазами. Например, в предложении "До исторического материализма мало кто верил в такие истории" программа находит повтор "истори" и подсвечивает два слова — "исторического" и "истории".
 
Вот такие варианты, если, конечно, это под силу программисту.    
   

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 06:04 09-06-2015 | Исправлено: lid111, 07:10 09-06-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Программисту под силу всё...
 
Мой вариант пока мне кажется несколько хуже Взгляда.
Например, моё творение не отлавливает "после посылки" на разумных уровнях чувствительности.
Надо ещё поработать над алгоритмом...  
 
А можно увидеть текст, на котором вы тестировали ? В ПМ или в почту.
У меня не возникло ощущения, что Взгляд делает много ложных срабатываний, и порог срабатывания в 600 мне казалось вполне разумной настройкой. Надо бы синхронизировать наши наборы тестов...
 
В своей поделке сейчас выделяю слово целиком. Поскольку степень похожести - это число, в будущем возможно выделение разными цветами, в зависимости от степени похожести.

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 11:20 09-06-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну вот, в качестве основного алгоритма я со "Свежим Взглядом" сравнялся...
Сейчас программулька работает как-то так:
   
 
При этом работает под win64 и не требует Инета
lid111, чего-то такого вы и хотели ?
Пора cделать следующий шаг и заняться реализацией плюшек.

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 20:22 09-06-2015 | Исправлено: KDPoid, 20:28 09-06-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Текст неважно какой брать: любой. Мне лично важно, чтобы он не был ограничен объемом (или, если ограничивать объем, то чтобы хотя бы текст тысяч на семь знаков программа заглатывала без проблем).
 
Теперь Вам нужны тестеры для следующего шага. Присылайте прогу, будем поглядеть...

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 20:41 09-06-2015
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDPoid

Цитата:
Например, моё творение не отлавливает "после посылки" на разумных уровнях чувствительности.  

 
Так это и прекрасно, это и не нужно отлавливать. Интересуют не созвучия, а использование однокоренных слов, надо приближать результат к этому. "Масло масляное" отлавливать, а "слом мослов осла" — не надо. Так что задача не столь проста...

Всего записей: 1547 | Зарегистр. 15-09-2006 | Отправлено: 01:14 10-06-2015 | Исправлено: lid111, 01:17 10-06-2015
Waran789



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111
Программу "Hilitext" - http://www.fanix.com/?src=hlf151 не пробовал?. Она позволяет на экране монитора подсвечивать выбранные символы в любой программе.

Всего записей: 639 | Зарегистр. 07-06-2008 | Отправлено: 10:56 10-06-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111,
Та нее... Мне кажется, ваши требования - это частный случай алгоритмов Свежего Взгляда.
 
Чтобы "мослов осла" не отловилось, минимальная длина фрагмента должна быть больше 3.
А чтобы отловить масло масляное - не больше 4-х.
Отключаем поиск созвучий и видим:
   
В этом режиме, алгоритм примитивен: есть общий кусок достаточной длины - значит подсвечиваем. Настройка чувствительности игнорируется. Кошка - кишка не отлавливается, потому что длина общего фрагмента - три символа.
 
Включаем поиск с учётом созвучий:
   
Масло отловилось, осёл - нет и кишки кошки найдены. Лепота.
 
20 лет прошло, а алгоритмы Свежего Взгляда не стареют
 
Описание установки Грамотея ушло вам на мыло. Экспериментируйте.  
Написание программы меня позабавило, спасибо за чудесно проведённое время.

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 14:02 10-06-2015 | Исправлено: KDPoid, 14:52 10-06-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » Программы » Программа по поиску повторяющихся сочетаний букв


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru