Функция пользовательских функций с (python) crfsuite

Я только что прочитал теорию о CRF и хочу использовать python crfsuite в моей магистерской диссертации для извлечения ингредиентов из рецептов. Любая помощь приветствуется.

Насколько я понимаю, я могу предоставить обучающие данные для crfsuite в форме рисунка ниже, где w[0] обеспечивает идентичность текущего слова, w[i] мир относительно i и pos[i] его часть речевой метки относительно i.

формат обучающих данных

И затем crfsuite обучает своим функциям, основанным на данных атрибутах.

Но я не могу найти способ предоставления пользовательских функций, таких как "w[i] is in the dictionary" (например, словарь ингредиентов рецепта) или "в предложении есть отрицание" (например, "not"), или "не").

В целом хорошие учебные пособия приветствуются, потому что руководства ( https://python-crfsuite.readthedocs.io/en/latest/ или http://www.chokkan.org/software/crfsuite/manual.html) не являются дружелюбный с моей точки зрения

1 ответ

С python-crfsuite (или sklearn-crfsuite) данные обучения не обязательно должны быть в той форме, которую вы описали; одна обучающая последовательность должна быть списком {"feature_name": <feature_value>"} dicts, с особенностями для каждого элемента последовательности (например, для токена в предложении). Функции не должны быть словами или POS-тегами. Существует несколько других поддерживаемых форматов функций (см. http://python-crfsuite.readthedocs.io/en/latest).

Для более полного примера проверьте https://github.com/TeamHG-Memex/sklearn-crfsuite/blob/master/docs/CoNLL2002.ipynb - он использует пользовательские функции.

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