Фреймворки сопоставления шаблонов/извлечения информации на основе правил с открытым исходным кодом?

Я покупаю платформу с открытым исходным кодом для написания правил грамматики естественного языка для сопоставления с образцом над аннотациями. Вы можете думать об этом как о регулярных выражениях, но с сопоставлением на уровне токена, а не на уровне символов. Такая структура должна позволять критериям соответствия ссылаться на другие атрибуты, прикрепленные к входным токенам или диапазонам, а также изменять такие атрибуты в действии.

Я знаю три варианта, которые подходят под это описание:

Есть ли какие-либо другие варианты, подобные этим, доступные в настоящее время?

Связанные инструменты

  • Хотя я знаю, что общие генераторы синтаксических анализаторов, такие как Antlr, также могут служить этой цели, я ищу что-то более специально разработанные для обработки естественного языка или извлечения информации.
  • UIMA содержит Regex Annotator для объявления правил в XML, но, похоже, работает с символом, а не с высокоуровневыми объектами.
  • Я знаю, что такого рода задачи часто выполняются с помощью статистических моделей, но для узких, структурированных областей полезно создавать правила вручную.

* С GExp «правила» фактически реализованы в коде, но, поскольку вариантов так мало, я решил включить их.


person John Lehmann    schedule 26.07.2013    source источник
comment
TextMarker кажется эквивалентом JAPE для UIMA. Но я сам не пользовался.   -  person Daniel Naber    schedule 28.07.2013
comment
Спасибо, это хорошее дополнение к списку.   -  person John Lehmann    schedule 23.08.2013
comment
У Ruta (ранее TextMarker) есть хороший туториал, попробуйте.   -  person Renaud    schedule 23.11.2013
comment
Gate General Arch for Text Engineering — решение с открытым исходным кодом для обработки текста с полным жизненным циклом.   -  person wener    schedule 30.09.2018


Ответы (2)


Вы также можете проверить HTML. Он поддерживает поиск токенов с помощью регулярных выражений. Пример поиска штата и почтового индекса по адресу в США:

a=htql.RegEx(); 
a.setNameSet('states', states);
a.reSearchList(address.split(), r"&[ws:states]<,>?<\d{5}>", case=False) 
person seagulf    schedule 25.08.2013

Французское академическое программное обеспечение Unitex от University Paris East также соответствует вашему описанию (http://www-igm.univ-mlv.fr/~unitex/)

Он основан на C++, содержит множество необязательных правил предварительной обработки и словари для более чем 20 языков.

Графический интерфейс основан на графе (вы разрабатываете автоматы, т.е. «грамматики»).

person rloth    schedule 04.02.2014