Поиск в Total Commander в пределах заданного количества слов
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Общие вопросы

#1: Поиск в Total Commander в пределах заданного количества слов Author: Anna_27 PostPosted: Wed Apr 14, 2021 16:54
    —
Добрый день. Посмотрела все форумы, вопросы и ответы на них, но нигде не нашла внятный ответ на следующий специфический вопрос.
На HDD имеется более 10 000 000 документов в PDF. Распознанные (созданные из Word). Требуется совершать в них поиск ключевых фраз в пределах нескольких слов. Например, мы хотим найти слова "мама" и "папа". В каждом документе есть слова "мама" и "папа". Значит, система найдёт нам все 10 000 000 документов. Но нам это не нужно.
Нам нужно найти эти слова с таким условием, чтобы они повторялись В ПРЕДЕЛАХ пяти слов. Или трёх слов, или шести слов, или десяти слов (в зависимости от поставленной лингвостатистической аналитической задачи). Более чёткий пример на пальцах: Имеется предложение "Наверное, мама хорошо знает как найти папу" (предложение состоит из семи слов). Нам НЕ ТРЕБУЕТСЯ найти существительные "мама" и "папа", раскиданные по тексту где попало и повторяющиеся тысячу раз. Нам ТРЕБУЕТСЯ найти все выражения где "мама" и "папа" расположены, в данном случае, в пределах семи слов.
Можете, пожалуйста, расписать пошагово, как это сделать через Total Commander? Или посоветуете другую программу с такого рода возможностью? Спасибо!

#2:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Apr 14, 2021 18:42
    —
Anna_27
Слишком сложные условия. А если, как в приведённом примере, ещё и падеж может меняться... Впрочем, могут быть и другие мнения.

#3:  Author: Mailk PostPosted: Thu Apr 15, 2021 00:05
    —
Плагин для поиска и обсуждался здесь http://forum.wincmd.ru/viewtopic.php?t=15967&start=30, через регулярные выражения реализуем легко.
Ну и наверно плагин http://wincmd.ru/plugring/TextSearch.html
Сколько нужно "И" и "или " пропиши и найдет.
Да и лучше не" на пальцах писать" а не стеснятся и прислать реальную задачу.. а то про папу или маму не понятно..

Posted after 4 minutes:

Anna_27
Скиньте реальную задачу с примером, Вам помогут..

#4:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Apr 15, 2021 06:23
    —
Mailk
Кто поможет, вы что ли? Зная ваши прошлые достижения на этом форуме, крайне сомневаюсь, а за других говорить не следует. И в любом случае не надо тут очередных "умных советов" и рассуждений о том, как легко решить задачу (между прочим, приведённую с вполне реальным примером), которую вы, похоже, даже не соизволили как следует понять. В очередной раз, как обычно. Если нечего сказать полно и точно по существу дела, не надо говорить ничего. Иначе получается флуд. А что у нас делают с флудом и флудерами, в правилах форума сказано.

#5:  Author: Skif_off PostPosted: Thu Apr 15, 2021 15:31
    —
PCREsearch, конечно, может много чего, но тут слишком уж замысловатые условия... Задача, видимо, не разовая, практичнее, наверное, найти программиста (может и скриптовое что-то, типа того же Python) или поискать что-то специализированное для анализа текста (возможно, есть не готовый софт, но подходящие библиотеки), в т.ч. и под Linux, там нередко попадаются нерядовые вещи (в крайнем случае можно в виртуалку поставить).

Возможно, программы для поиска файлов по содержимому с индексацией, типа Recoll или DocFetcher, позволяют составлять такие замысловатые поисковые запросы, а использование базы может существенно оптимизировать работу. Кстати, у Recoll вроде есть API для Python, возможно, это может упростить поиск решения задачи.

#6:  Author: Mailk PostPosted: Thu Apr 15, 2021 16:57
    —
Я прочитал внимательно Авада, и зная что есть квантаторы в регулярных. Будет реальный тект будет реальный ответ я уверен что пример приведенный не корректен. И под каждую задачу можно написать разные выражения. В рамках строки можно найти например.
Мама (\s\w\s){3,9} папа
это выражение по задумке ищет сочетание
"мама" потом несколько слов от 3х до 9ти и потом "папа"
Спецы по регулярным поправите если что то не так. Я только начал тему регулярок изучать. Я просто пример написал , будет реальный текст будет реальное выражение.
Ну если не прав поправте.

#7:  Author: Skif_off PostPosted: Thu Apr 15, 2021 17:39
    —
Кстати, да, постоянно забываю, что в PCRE есть возможрость использовать юникод (чаще имею дело с другими реализациями).
Учитывая, что для каждого PDF плагин сначала будет выдирать текст, причём не раз, если условий (полей) больше одного, это будет то ещё веселье...

"Мама (\s\w\s){3,9} папа" не очень подходит, т.к. не учитывает регистр и склонения и повторение неправильно задано, для предела в 7 слов как минимум
Code:
\bмам\w*\b(?s)\s+\K(\w+){,6}\s+пап\w*

тогда можно рассчитывать зацепить и "мамочка", например.
Если нужно и наоборот, с "папа" в начале, то тут либо в лоб, добавив аналогичное правило в новое поле плагина и искать по двум полям, либо усложнять - просмотр назад или обратные ссылки, если вообще возможно прикрутить условие, чтобы не зацепить "папа"-"папа".

Кто у нас хорошо разбирается в регулярках? Может быть, у milo1012 на оффоруме стоит спросить?

#8:  Author: Mailk PostPosted: Thu Apr 15, 2021 18:42
    —
Skif_off wrote:
не очень подходит, т.к. не учитывает регистр и склонения и повторение неправильно задано, для предела в 7 слов как минимум
Code:
\bмам\w*\b(?s)\s+\K(\w+){,6}\s+пап\w*

тогда можно рассчитывать зацепить и "мамочка", например.

Спасибо !!! Главное ты меня понял! Я просто как пример написал так как нету самого текста задания а "на пальцах" и я "на пальцах" написал.



Total Commander -> Общие вопросы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group