Нормализация текстовых файлов и сопоставление с образцом
Я получил файл, написанный на языке метаязыка, в котором описана процедура, необходимая для проверки некоторых данных. Мне нужно создать функции проверки для проверки данных. Данные уже хранятся в структуре
Шаги, которые я сделал:
- Разбить текст на строку [], используя char как (' .,; == >=)
- Удалить статьи, предлоги...
- Нормализовать текст (как?)
- Сопоставьте слова с токенами, используя Regex или сопоставление текста
- Совпадение патерна по типу токена
- Генерация функций на основе правила сопоставленного шаблона
Что бы вы использовали на шаге 3 или вообще для улучшения этой процедуры?
1 ответ
Как указано в вики, регулярное выражение является одним из методов достижения "нормализации текста":
Для простой, независимой от контекста нормализации, такой как удаление не алфавитно-цифровых символов или диакритических знаков, достаточно регулярных выражений. Например, входной файл sed -e "s/\s+/ /g" для сценария sed нормализует работу пробельных символов в одном пространстве. Более сложная нормализация требует соответственно сложных алгоритмов, включая знание предметной области языка и словарный запас, подлежащий нормализации. Среди других подходов нормализация текста была смоделирована как проблема маркировки и тегирования потоков текста [5] и как особый случай машинного перевода.[6][7]
Мне кажется, что данные включают лингвистические аннотации. Вы можете проверить такие инструменты, как IMS Open Corpus Workbench (CWB). Кроме того, есть еще один сайт (с примером кода), который может оказаться полезным: что такое нормализация текста?,