Обсуждение: поиск лексических повторов

12.06.2023       В. Соколов

Наша редакция предлагает новую разработку — программу «Помощник редактора» для поиска в тексте повторяющихся однокоренных и просто похожих слов.

Порядок работы

  • вставить в форму текст;
  • нажать кнопку «Проверить»;
  • для перехода к первому найденному повтору можно нажать кнопку «Показать ближайший повтор»; далее, щелчок по повтору перемещает на следующий повтор;
  • повторы выделяются разным цветом фона; при наведении мыши фон убирается, появляется подчеркивание;
  • можно оставить только текст с повторами (на всё окно) нажатием «Показать только текст» (вернуться к интерфейсу можно только обновив страницу, при этом результат проверки будет удалён).

Программа работает в Firefox, M. Edge, Яндекс-браузере и др., использующих оболочку Chromium, не работает в IE.

Скрипт выделяет формы слов: это, мочь, быть, — указанных в статье Александра Петрова «Много слов про повторы слов» как особо проблемные, другие особо добавленные случаи (см. таблицу). Затем проводит неточное сравнение (расстояние Карловского от nin-jin) для слов не короче трёх букв.

Выделяет цветом повторы в пределах указанной длины контекста (определяется числом слов и переводов строки; части слова, разделенные дефисом, считаются как отдельные слова).

Если неточное сравнение найдет совпадение с повтором из таблицы, все эти слова будут выделены как один повтор (вилок виток развитие).

На данный момент скрипт распознает обычный и неразрывный пробел. (Если есть необходимость обрабатывать другие разновидности пробелов, пожалуйста, подробно пишите.)

Проверка романа занимает секунды (на ПК с частотой процессора 2,8 ГГц ).

Разработчик: Владимир Соколов, 2023 г.

09.07.2023: сравнение слов производится без учета регистра, имена собственные — не в начале предложения (слова с прописной буквы после запятой, дефиса, апострофа или пробела, идущего после кириллицы) — не учитываются в большинстве случаев. Если нужно, чтобы отображались повторы с именами собственными, можно выбрать опцию «Учитывать имена» (этот вариант на отдельном адресе URL, поэтому можно сразу заходить на него из закладок).

12.07.2023: длина контекста теперь учитывает слова, содержащие не менее трех букв, что уменьшает зависимость от коротких союзов и предлогов.
Два слова, состоящие из трех букв, неточное сравнение выделяет только при совпадении. Это направлено на уменьшение числа лишних срабатываний вроде «что это».

13.07.2023: Ударение (аку́т) и апостроф (' ’ ʼ) текущий вариант программы не учитывает; ‘ё’ сравнивается как ‘е’ (можно добавить и другие надстрочные знаки).

Вопросы и замечания пишем здесь или ВК. Основное направление дальнейшей работы над скриптом видится в пополнении таблицы. Слова добавляются исходя из частотности их употребления. Пользователи тоже могут предлагать добавить в первоочередном порядке те формы слов, которые представляют особенный интерес в практической работе.

Для тестирования можно воспользоваться текстом:

Этот э́та (с ударением) это эти этого дэту поэтому
Фрагмент из 14 слов не короче трех букв (с учетом 2 переводов строки) без повторов не выделяет слово
этот (при длине контекста 15)
мочь смогут помогает можно замочить примочка
Неее нааа нёёё что это (Карловский)
Д’Артаньян — имя в тексте Боб, Боб, Большой-Боб, д’Артаньян дʼАртаньян. Боб вырастил боб.
Быть был будет прибывший
поиски ищет восхищать похитил таскать притащу вилок виток развитие прожил жизнь
точка точнее который которому условие присловье обусловленный
навсегда завсегда вся подвесь совсем известный повести привести ведущий провёл полгода ежегодно своя усваивать присвой присказка скажу каждому каждый узнал однозначно один знак
вовремя современный друзья дружески подруга говорила разговор
моему моих нашим нашего застану приставать поставить вставать первый вперёд две двойни трудодень полдня снова обновить
рука ручное раз одноразовый какой какими после слать следом посол посыл соль ссылка поработал наработался уработался приработок переработка выработка самому самая потом потовые трясина потряс хотя хотел
идти уйти приди идёт зайдя небольшой наиболее болит долг одолжение должен место помещение имущество иметь
часы сейчас облицовка перелицевать сглазить глазомер предвидел вижу
вопрос запрос роддом полдома одомашнивать блокпост форпост репост постовой сто стольник разносторонний посторонний потусторонний
придумал удумал подумать передумать надумать смоделировать фотомодель неделя отдел сделать поделом отделить уделить надел определенный распределить
пространство постранично

Ответить

(ответ будет опубликован после проверки модератором)



Нажимая на кнопку, вы даете согласие на обработку своих персональных данных