ИИ и информация

Проверьте, какие имена регулярное выражение от ИИ должно отклонять

Задайте правила имён файлов и ожидаемые совпадения до применения сгенерированного выражения.

ИИ предложил выражение для поиска имён PDF-файлов. Первый пример найден — кажется, всё готово. Но не попадёт ли в выборку резервная копия с окончанием .pdf.bak или имя с буквой вместо точки? Одного подходящего примера недостаточно, чтобы это понять.

Сначала правило, потом выражение

Для упражнения примем точное условие: префикс invoice_, затем три цифры от 0 до 9, затем .pdf, именно в указанном нижнем регистре. Совпадать должно всё имя без пути к папке. Это условия примера, а не обязательный формат для любых PDF.

Укажите помощнику инструмент, в котором будет работать выражение. В Python re.search ищет совпадение где-то внутри строки, а re.fullmatch требует совпадения всей строки. Точка тоже имеет специальный смысл, если не обозначить её как обычный символ. В других инструментах синтаксис и параметры могут отличаться.

До проверки запишите ожидаемые результаты:

  • invoice_007.pdf: принять.
  • invoice_07.pdf: отклонить — только две цифры.
  • xinvoice_007.pdf: отклонить — лишнее начало.
  • invoice_007Xpdf: отклонить — нет самой точки.
  • invoice_007.pdf.bak: отклонить — лишний текст в конце.
  • Invoice_007.PDF: отклонить, поскольку наше условие различает регистр.

Отделите поиск от изменения файлов

Запустите выражение на строках-примерах и сопоставьте каждый результат со списком. Попросите объяснить расхождения, а после исправления повторите все случаи, не только неудачный. NIST описывает, как генеративные системы могут уверенно отклоняться от задания. Убедительное объяснение не заменяет результат проверки.

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

Источники и подробности

  1. NIST AI 600-1 — Generative Artificial Intelligence Profile, section 2.2
  2. Python documentation — re: Regular expression operations

Источники подтверждают технические объяснения. Примеры и предлагаемые проверки подготовлены для этой статьи.