Построение грамматики для описания имен файлов с соответствующими метаданными

У меня есть несколько циркулярных писем IMO, которые я хочу автоматизировать для извлечения метаданных. К сожалению, метаданные PDF не годятся для этого. Но имена файлов значимы и содержат много.

Ниже приведен пример списка:

Circular Letter No.1886-Rev.1 - Implementation Of Resolution A.600(15) - Imo Ship Identification NumberScheme.pdf
Circular Letter No.1886-Rev.2 - Implementation of resolution A.600(15) - IMO ship identification numberscheme.pdf
Circular Letter No.1886-Rev.3 - Implementation Of Resolution A.600(15) - Imo Ship Identification Number Scheme (Secretariat).pdf
Circular Letter No.1886-Rev.4 - Implementation Of Resolution A.600(15) - Imo Ship Identification NumberScheme (Secretariat).pdf
Circular Letter No.1886-Rev.5 - Implementation Of Resolution A.1078(28) - Imo Ship Identification Number Scheme (Secretariat).pdf
Circular Letter No.1886-Rev.6 - Implementation Of Resolution A.1078(28) - Imo Ship Identification Number Scheme (Secretariat).pdf
Circular Letter No.2047 - Subject Amendments to tables A-II1 and A-II2 of the Seafarers' Training, Certification and....pdf
Circular Letter No.2086 - Subject Operating Agreement on the International Mobile SatelliteOrganization (Inmarsat) -....pdf

Конечно, есть больше вариаций, чем в именах файлов, но это достаточно хороший пример для начала.

Я хотел бы описать следующие части в EBNF или другой обычной грамматике, которую я мог бы использовать с Nearley ( https://nearley.js.org/);

  1. Круглый номер
  2. Если документ представляет собой номер версии и редакции (представлен -REV. Номером в первых 6 примерах)
  3. Заголовок, следующий за - после номера ревизии или циклического номера
  4. Если заголовок неполный, представлен... в конце.

Я полагаю, что когда у меня будет этот пример, я смогу построить другие необходимые вещи.

0 ответов

Другие вопросы по тегам