Страница 1 из 1
Поиск в Total Commander в пределах заданного количества слов
Добавлено: Ср апр 14, 2021 15:54
Anna_27
Добрый день. Посмотрела все форумы, вопросы и ответы на них, но нигде не нашла внятный ответ на следующий специфический вопрос.
На HDD имеется более 10 000 000 документов в PDF. Распознанные (созданные из Word). Требуется совершать в них поиск ключевых фраз в пределах нескольких слов. Например, мы хотим найти слова "мама" и "папа". В каждом документе есть слова "мама" и "папа". Значит, система найдёт нам все 10 000 000 документов. Но нам это не нужно.
Нам нужно найти эти слова с таким условием, чтобы они повторялись В ПРЕДЕЛАХ пяти слов. Или трёх слов, или шести слов, или десяти слов (в зависимости от поставленной лингвостатистической аналитической задачи). Более чёткий пример на пальцах: Имеется предложение "Наверное, мама хорошо знает как найти папу" (предложение состоит из семи слов). Нам НЕ ТРЕБУЕТСЯ найти существительные "мама" и "папа", раскиданные по тексту где попало и повторяющиеся тысячу раз. Нам ТРЕБУЕТСЯ найти все выражения где "мама" и "папа" расположены, в данном случае, в пределах семи слов.
Можете, пожалуйста, расписать пошагово, как это сделать через Total Commander? Или посоветуете другую программу с такого рода возможностью? Спасибо!
Добавлено: Ср апр 14, 2021 17:42
Avada
Anna_27
Слишком сложные условия. А если, как в приведённом примере, ещё и падеж может меняться... Впрочем, могут быть и другие мнения.
Добавлено: Ср апр 14, 2021 23:09
Mailk
Плагин для поиска и обсуждался здесь
http://forum.wincmd.ru/viewtopic.php?t=15967&start=30, через регулярные выражения реализуем легко.
Ну и наверно плагин
http://wincmd.ru/plugring/TextSearch.html
Сколько нужно "И" и "или " пропиши и найдет.
Да и лучше не" на пальцах писать" а не стеснятся и прислать реальную задачу.. а то про папу или маму не понятно..
Posted after 4 minutes:
Anna_27
Скиньте реальную задачу с примером, Вам помогут..
Добавлено: Чт апр 15, 2021 05:23
Avada
Mailk
Кто поможет, вы что ли? Зная ваши прошлые достижения на этом форуме, крайне сомневаюсь, а за других говорить не следует. И в любом случае не надо тут очередных "умных советов" и рассуждений о том, как легко решить задачу (между прочим, приведённую с вполне реальным примером), которую вы, похоже, даже не соизволили как следует понять. В очередной раз, как обычно. Если нечего сказать полно и точно по существу дела, не надо говорить ничего. Иначе получается флуд. А что у нас делают с флудом и флудерами, в правилах форума сказано.
Добавлено: Чт апр 15, 2021 14:31
Skif_off
PCREsearch, конечно, может много чего, но тут слишком уж замысловатые условия... Задача, видимо, не разовая, практичнее, наверное, найти программиста (может и скриптовое что-то, типа того же Python) или поискать что-то специализированное для анализа текста (возможно, есть не готовый софт, но подходящие библиотеки), в т.ч. и под Linux, там нередко попадаются нерядовые вещи (в крайнем случае можно в виртуалку поставить).
Возможно, программы для поиска файлов по содержимому с индексацией, типа Recoll или DocFetcher, позволяют составлять такие замысловатые поисковые запросы, а использование базы может существенно оптимизировать работу. Кстати, у Recoll вроде есть API для Python, возможно, это может упростить поиск решения задачи.
Добавлено: Чт апр 15, 2021 15:57
Mailk
Я прочитал внимательно Авада, и зная что есть квантаторы в регулярных. Будет реальный тект будет реальный ответ я уверен что пример приведенный не корректен. И под каждую задачу можно написать разные выражения. В рамках строки можно найти например.
Мама (\s\w\s){3,9} папа
это выражение по задумке ищет сочетание
"мама" потом несколько слов от 3х до 9ти и потом "папа"
Спецы по регулярным поправите если что то не так. Я только начал тему регулярок изучать. Я просто пример написал , будет реальный текст будет реальное выражение.
Ну если не прав поправте.
Добавлено: Чт апр 15, 2021 16:39
Skif_off
Кстати, да, постоянно забываю, что в PCRE есть возможрость использовать юникод (чаще имею дело с другими реализациями).
Учитывая, что для каждого PDF плагин сначала будет выдирать текст, причём не раз, если условий (полей) больше одного, это будет то ещё веселье...
"Мама (\s\w\s){3,9} папа" не очень подходит, т.к. не учитывает регистр и склонения и повторение неправильно задано, для предела в 7 слов как минимум
тогда можно рассчитывать зацепить и "мамочка", например.
Если нужно и наоборот, с "папа" в начале, то тут либо в лоб, добавив аналогичное правило в новое поле плагина и искать по двум полям, либо усложнять - просмотр назад или обратные ссылки, если вообще возможно прикрутить условие, чтобы не зацепить "папа"-"папа".
Кто у нас хорошо разбирается в регулярках? Может быть, у
milo1012 на оффоруме стоит спросить?
Добавлено: Чт апр 15, 2021 17:42
Mailk
Skif_off писал(а):не очень подходит, т.к. не учитывает регистр и склонения и повторение неправильно задано, для предела в 7 слов как минимум
тогда можно рассчитывать зацепить и "мамочка", например.
Спасибо !!! Главное ты меня понял! Я просто как пример написал так как нету самого текста задания а "на пальцах" и я "на пальцах" написал.