View previous topic :: View next topic |
Author |
Message |
Anna_27
Joined: 14 Apr 2021 Posts: 1
|
(Separately) Posted: Wed Apr 14, 2021 16:54 Post subject: Поиск в Total Commander в пределах заданного количества слов |
|
|
Добрый день. Посмотрела все форумы, вопросы и ответы на них, но нигде не нашла внятный ответ на следующий специфический вопрос.
На HDD имеется более 10 000 000 документов в PDF. Распознанные (созданные из Word). Требуется совершать в них поиск ключевых фраз в пределах нескольких слов. Например, мы хотим найти слова "мама" и "папа". В каждом документе есть слова "мама" и "папа". Значит, система найдёт нам все 10 000 000 документов. Но нам это не нужно.
Нам нужно найти эти слова с таким условием, чтобы они повторялись В ПРЕДЕЛАХ пяти слов. Или трёх слов, или шести слов, или десяти слов (в зависимости от поставленной лингвостатистической аналитической задачи). Более чёткий пример на пальцах: Имеется предложение "Наверное, мама хорошо знает как найти папу" (предложение состоит из семи слов). Нам НЕ ТРЕБУЕТСЯ найти существительные "мама" и "папа", раскиданные по тексту где попало и повторяющиеся тысячу раз. Нам ТРЕБУЕТСЯ найти все выражения где "мама" и "папа" расположены, в данном случае, в пределах семи слов.
Можете, пожалуйста, расписать пошагово, как это сделать через Total Commander? Или посоветуете другую программу с такого рода возможностью? Спасибо! |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10268 Location: Россия, Саратов
|
(Separately) Posted: Wed Apr 14, 2021 18:42 Post subject: |
|
|
Anna_27
Слишком сложные условия. А если, как в приведённом примере, ещё и падеж может меняться... Впрочем, могут быть и другие мнения. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10268 Location: Россия, Саратов
|
(Separately) Posted: Thu Apr 15, 2021 06:23 Post subject: |
|
|
Mailk
Кто поможет, вы что ли? Зная ваши прошлые достижения на этом форуме, крайне сомневаюсь, а за других говорить не следует. И в любом случае не надо тут очередных "умных советов" и рассуждений о том, как легко решить задачу (между прочим, приведённую с вполне реальным примером), которую вы, похоже, даже не соизволили как следует понять. В очередной раз, как обычно. Если нечего сказать полно и точно по существу дела, не надо говорить ничего. Иначе получается флуд. А что у нас делают с флудом и флудерами, в правилах форума сказано. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Thu Apr 15, 2021 15:31 Post subject: |
|
|
PCREsearch, конечно, может много чего, но тут слишком уж замысловатые условия... Задача, видимо, не разовая, практичнее, наверное, найти программиста (может и скриптовое что-то, типа того же Python) или поискать что-то специализированное для анализа текста (возможно, есть не готовый софт, но подходящие библиотеки), в т.ч. и под Linux, там нередко попадаются нерядовые вещи (в крайнем случае можно в виртуалку поставить).
Возможно, программы для поиска файлов по содержимому с индексацией, типа Recoll или DocFetcher, позволяют составлять такие замысловатые поисковые запросы, а использование базы может существенно оптимизировать работу. Кстати, у Recoll вроде есть API для Python, возможно, это может упростить поиск решения задачи. |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Thu Apr 15, 2021 16:57 Post subject: |
|
|
Я прочитал внимательно Авада, и зная что есть квантаторы в регулярных. Будет реальный тект будет реальный ответ я уверен что пример приведенный не корректен. И под каждую задачу можно написать разные выражения. В рамках строки можно найти например.
Мама (\s\w\s){3,9} папа
это выражение по задумке ищет сочетание
"мама" потом несколько слов от 3х до 9ти и потом "папа"
Спецы по регулярным поправите если что то не так. Я только начал тему регулярок изучать. Я просто пример написал , будет реальный текст будет реальное выражение.
Ну если не прав поправте. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Thu Apr 15, 2021 17:39 Post subject: |
|
|
Кстати, да, постоянно забываю, что в PCRE есть возможрость использовать юникод (чаще имею дело с другими реализациями).
Учитывая, что для каждого PDF плагин сначала будет выдирать текст, причём не раз, если условий (полей) больше одного, это будет то ещё веселье...
"Мама (\s\w\s){3,9} папа" не очень подходит, т.к. не учитывает регистр и склонения и повторение неправильно задано, для предела в 7 слов как минимум
Code: | \bмам\w*\b(?s)\s+\K(\w+){,6}\s+пап\w* |
тогда можно рассчитывать зацепить и "мамочка", например.
Если нужно и наоборот, с "папа" в начале, то тут либо в лоб, добавив аналогичное правило в новое поле плагина и искать по двум полям, либо усложнять - просмотр назад или обратные ссылки, если вообще возможно прикрутить условие, чтобы не зацепить "папа"-"папа".
Кто у нас хорошо разбирается в регулярках? Может быть, у milo1012 на оффоруме стоит спросить? |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Thu Apr 15, 2021 18:42 Post subject: |
|
|
Skif_off wrote: | не очень подходит, т.к. не учитывает регистр и склонения и повторение неправильно задано, для предела в 7 слов как минимум
Code: | \bмам\w*\b(?s)\s+\K(\w+){,6}\s+пап\w* |
тогда можно рассчитывать зацепить и "мамочка", например.
|
Спасибо !!! Главное ты меня понял! Я просто как пример написал так как нету самого текста задания а "на пальцах" и я "на пальцах" написал. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|