Это может не иметь значения, но я использую дистрибутив Windows CRF++ 0.58.
Итак, я успешно использовал молоток для обучения модели с помощью CRF, а затем протестировал ее. Когда я пытаюсь использовать одни и те же обучающие и тестовые файлы с CRF++ (и после создания файла шаблона), я получаю
The line search routine mcsrch failed: error code:0
ошибка, когда я использую либо
-a CRF-L1
или по умолчанию
-a CRF-L2
Когда я использую
-a MIRA
хотя обучение работает без ошибок и то же самое с тестом.
Формат тестовых и обучающих данных может быть одинаковым как для mallet, так и для crf++, так что это не проблема. Мой файл шаблона так же прост, как
#Mixed
M00:%x[0,0]
M01:%x[0,1]
M02:%x[0,2]
......
M12:%x[0,12]
Мой последний столбец равен 0 или 1 в моих тренировочных данных, что является значением для классификации. Ни в одной из моих функций нет пробелов, я использую символы подчеркивания, когда это необходимо. Я упускаю здесь что-то простое, что может привести к сбою регуляризации L1 и L2?