Разбор документов с помощью DSL - PullRequest
0 голосов
/ 03 февраля 2010

Я пытаюсь найти способ просмотреть около миллиона документов, которые являются официальными документами (для примера, они являются тезисными документами). Они не все стандартизированы, но достаточно близки. Это заголовки, разделы, абзацы и т. Д. Существуют тонкие различия, которые могут возникнуть, например, в английском языке, мы называем заголовок «Заголовок», но по-французски это «Титр».

Таким образом, на мой взгляд, лучший способ сделать это - создать EBNF со всеми возможными комбинациями Title: = Title | Титр например.

Я не слишком заинтересован в том, чтобы придумать EBNF. Моя главная задача - как выполнить синтаксический анализ. Я смотрел ANTLR, OSLO, Irony и множество других, но у меня нет опыта, чтобы судить, подходят ли они для моей задачи.

Итак, мой вопрос к ученым среди вас:

  1. Какой инструмент DSL вы бы порекомендовали для анализа документов в таком масштабе?
  2. Какой инструмент DSL является наиболее точным при разборе, но при этом прощает сопоставление (т. Е. Должны ли мы определять правила для прописных и строчных букв, как насчет чисел против римских цифр и иностранного языка (французского).
  3. Существует ли какой-либо процесс / алгоритм, который я не рассмотрел, который вы бы порекомендовали в качестве альтернативы DSL? (Перезапись с нуля - вариант, но я бы хотел, чтобы что-то работало быстро).
  4. Кто-нибудь пытался добавить обучение и интеллект к алгоритмам анализа через DSL (например, генетические алгоритмы и нейронные сети)?
  5. Будете ли вы использовать эти инструменты DSL в производственной среде?

Моей платформой разработки является C #. Я упоминаю об этом, потому что в идеале я хотел бы интегрировать инструмент DSL в код, чтобы мы могли работать с ним из существующих приложений.

1 Ответ

0 голосов
/ 16 февраля 2010

Я наткнулся на инструмент под названием TinyPG . Это не совсем то, что мне было нужно, но исходный код позволил мне сгенерировать то, что мне нужно.

...