Пользовательская функция в CRF++

Я попытался добавить больше возможностей в шаблон CRF++.

Согласно Как я могу сказать классификатору CRF++, что слово x захвачено или понимает знаки препинания?

учебный образец

The  DT  0  1   0   1   B-MISC
Oxford  NNP 0   1   0   1   I-MISC
Companion   NNP 0   1   0   1   I-MISC
to  TO  0   0   0   0   I-MISC
Philosophy  NNP 0   1   0   1   I-MISC

шаблон функции

# Unigram
U00:%x[-2,0]
U01:%x[-1,0]
U02:%x[0,0]
U03:%x[1,0]
U04:%x[2,0]
U05:%x[-1,0]/%x[0,0]
U06:%x[0,0]/%x[1,0]
U07:%x[-2,0]/%x[-1,0]/%x[0,0]

#shape feature
U08:%x[-2,2]
U09:%x[-1,2]
U10:%x[0,2]
U11:%x[1,2]
U12:%x[2,2]

B

Фаза обучения в порядке. Но я не получаю выход с crf_test

tilney@ubuntu:/data/wikipedia/en$ crf_test -m validation_model test.data
tilney@ubuntu:/data/wikipedia/en$ 

Все работает хорошо, если игнорировать форму выше. Где я неправ?

1 ответ

Решение

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

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