|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
Как обойти файлы и папки в директории и найти все что нужно?13.09.2020, 21:17. Показов 9386. Ответов 57
Метки нет (Все метки)
Надо показать текстовые файлы (могут быть как с расширением txt, так и без никакого), в которых одновременно присутствуют все слова или синонимы, заданные для поиска.
Окончания обрезаю, чтобы не надо было думать, как это автоматизировать (чтобы не надо было искать слова в разных словоформах). Примеры запросов (в разных строках разные примеры запросов): живот=абдомен температур=лихорадк=гипетерм сыпь горл (1 красн=кровоизл глаз) (3 бол горл=глотк) Здесь 1 означает, что может быть одно промежуточное слово, а может и не быть: красные глаза, краснота в глазах, а 2 - до 2 промежуточных слов: болезненное, воспалённое, покрасневшее, раздраженное горло. Можно и без этого функционала, если это сложно. (жидк стул)=понос рвот (высок=повышен температур вечер) (бол груд) Если какой-то функционал из этих расширенных вариантов тяжело запрограммировать, то ограничиться простым вариантом. Например: сып температур горл Буду искать несколько раз, подставляя синонимы тогда в запрос.
0
|
|
| 13.09.2020, 21:17 | |
|
Ответы с готовыми решениями:
57
Как удалить все файлы, пустые и непустые папки из текущей директории?
Как в коде указать все папки, из которых нужно удалить все файлы старше 31-го дня? |
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 14.09.2020, 11:49 | ||
|
Зависит от задачи. grep — полнотекстовый поиск регулярками без построения индекса. Удобен для своего класса задач. Но уже сейчас автор пытается натянуть сову на глобус, планируя реализовать морфологию и поиск синонимов на регулярках в рамках одного запроса. Со временем могут появиться требования, которые не реализуются грепом. Самое банальное — ранжирование по релевантности. И снова уже сейчас автор пытается запихнуть часть модели релевантности в синтаксис запроса, это выражается в количестве допустимых слов между токенами запроса. В итоге все равно придется смотреть на движки полнотекстового поиска (Sphinx, Lucene). Может быть, нужна предобработка данных для извлечения фактов/симптомов, и затем поиск по ним.
1
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 14.09.2020, 12:05 [ТС] | ||
|
Добавлено через 6 минут Интересная поисковая часть запроса: насморк ИЛИ ринит ИЛИ синусит ИЛИ сопли ИЛИ выделения из носа ИЛИ носовые выделения ИЛИ гайморит
0
|
||
|
Просто Лис
|
|||||||
| 14.09.2020, 12:24 | |||||||
1
|
|||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.09.2020, 12:32 [ТС] | |
|
'выделения из носа' могут быть также 'выделениями из носа' и 'выделениям из носа' и 'выделениями из носовых пазух'
А как делать поиск в найденном или вместо этого добавить в этот поисковый запрос температура и кашель?
0
|
|
|
Просто Лис
|
||||||
| 14.09.2020, 12:45 | ||||||
|
это уже морфологию языка надо использовать и приводить слова к нормальной форме. И выкидывать лишние предлоги.
1
|
||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 14.09.2020, 13:11 | ||
|
- Все результаты в выдаче релевантны запросу. - Помимо релевантных результатов есть нерелевантные (страдает точность в пользу полноны). - Результаты релевантны, но найдены не все (страдает полнота в пользу точности). - Все результаты в выдаче нерелевантны (поиск чего-то не понимает, попытка компенсировать полнотой). Поиск других классов предлагается читателю в качестве упражнения. Добиваться качества выдачи можно самыми разными способами: обработка и переписывание запроса, подбор параметров функций ранжирования, разметка корпуса данных и прочее seo. Ключевой момент: ты не сможешь на берегу определить, какой набор механизмов нужен тебе для решения задачи. Ты сейчас выдумываешь сценарии, не представляя, насколько они нужны и создают ли они проблему. Для оценки качества нужна метрика. Например, по запросу «выделения из носа» вполне может быть найден документ с фразой «выделениями из носовых пазух». Первое слово найдено по морфологии, второе выкинули как незначимое, третье найдено по префиксу «нос» четвертое выкинули как значимое. Насколько хорошо сработает такая выдача и не будет ли ожидаемый документ слишком низко — можно сказать только на конкретном корпусе. Без корпуса можно подумать, что нужна модель, которая различает понятия «нос» и «носовые пазухи» по контексту, чтобы в выдаче не было соплей по запросу «перелом носа». На практике может оказаться, что другие механизмы (морфология, поиск по префиксу) способны компенсировать отсутствие такой модели. Резюме. Для решения задачи нужны корпус запросов, документы, ассесмент и метрика качества. Наверняка тебе на старте этого не нужно. Скорее всего, достаточно будет поднять любой полнотекстовый поисковик, добавить в него русскую морфологию и пользоваться. По мере использования набирать корпус запросов и анализировать. какие еще нужны механизмы. Если сейчас у тебя нет даже набора документов, то нет и задачи как таковой.
1
|
||
|
|
|
| 14.09.2020, 14:29 | |
|
Парни - 0x10, все правильно сказал: натягивать сову на глобус тяжело.
ТС нужно осознать, что для реальных задач юзать придется тяжелую артиллерию. Либо готовые поисковые движки, либо PostgreSQL: https://postgrespro.ru/docs/po... textsearch Для небольшого числа документов можно лишь поиграться с какими-то примитивами на основе морфоанализаторов и регулярок. Да и понимание text процессинга у ТС пока полностью отсутствует.
1
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.09.2020, 15:46 [ТС] | |
|
Подвопрос в отдельной теме
Ищу текстовой редактор для поиска с регулярными выражениями, чтобы найденные слова сразу, одновременно подсвечивались
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 15.09.2020, 12:21 [ТС] | ||
|
0
|
||
|
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,263
|
|
| 15.09.2020, 12:26 | |
|
supmener, может быть вам подойдёт vim? Он умеет много, включая регулярки и отдельно ставить не надо...
0
|
|
| 15.09.2020, 12:31 | |
|
0
|
|
| 15.09.2020, 12:33 | |
|
Не по теме: Рыжий Лис, да чего: войдёт в вим, выйти не сможет. лепота...
0
|
|
|
Просто Лис
|
||
| 15.09.2020, 12:33 | ||
|
Это у вас не получилось создать регулярку
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 15.09.2020, 12:37 [ТС] | |
|
Так если её нельзя создать, поэтому и не получилось значит.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 15.09.2020, 21:55 [ТС] | |
|
Изобретенная сегодня регулярка в теме про текстовой редактор на самом деле не работает.
0
|
|
|
|
||
| 16.09.2020, 02:06 | ||
|
Поэтому люди используют парсеры на правилах, которые генерируют регулярки под капотом. Правила легче понимать, структурировать и масштабировать (до известных пределов). Пример такого парсера я уже как-то приводил. Приведу еще раз: https://nbviewer.jupyter.org/g... book.ipynb https://github.com/natasha/yargy https://www.youtube.com/watch?v=NQxzx0qYgK8
1
|
||
|
Просто Лис
|
|||||||
| 16.09.2020, 05:30 | |||||||
|
Серьёзно, давно бы сел и написал код, который будет работать, как ты хочешь.
1
|
|||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||||||
| 16.09.2020, 08:23 [ТС] | ||||||
|
А как подставить сюда регулярное выражение?
0
|
||||||
|
Просто Лис
|
|
| 16.09.2020, 08:55 | |
|
Так это же опять будет одно "слово".
Начни писать итерационно. Первая итерация - обход папки, фильтрация только текстовых файлов. Вторая итерация - открытие файла, поиск одного слова (или даже регуляркой). Итерация - здесь имеет смысл постепенное написание программы.
1
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 16.09.2020, 11:14 [ТС] | |
|
Garry Galler, Благодарю. Поставил на закачку видео. Надо будет ознакомиться.
0
|
|
| 16.09.2020, 11:14 | |
|
Как извлечь все папки и файлы zip архива,не считая корневой директории архива и какая кодировка у архиватора winzip? Как сохранить все wma файлы из папки в один, что бы потом сразу все подгружать? Отобразите содержимое (все файлы и директории) папки «Program Files» корневого каталога C:\\ Как найти все папки и файлы в ней Нужно написать прогу которая показывает все файлы в директории Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|