Я пытаюсь обучить модель HMM, чтобы найти параметры модели для проблемы с тегами частей речи.
Я использую пакет PythonHMM из следующего ресурса: https://github.com/jason2506/PythonHMM
Исходные данные обучения могут быть такими:
Sr.No. Observations
1 killer/N clown/N
2 killer/N problem/N
3 crazy/A problem/N
4 crazy/A clown/N
5 problem/N crazy/A clown/N
6 clown/N crazy/A killer/N
Я создал список каждой последовательности (список пар (список состояний, список символов)) из исходных данных, как указано для использования для модели поезда через PythonHMM. Это выглядит так:
sequences = [
(['N','N'],['killer','clown']),
(['N','N'],['killer','problem']),
(['A','N'],['crazy','problem']),
(['A','N'],['crazy','clown']),
(['N','A','N'],['problem','crazy','clown']),
(['N','A','N'],['clown','crazy','killer'])
]
Я вызываю функцию «поезд» хм (после импортированного hmm.py)
model_hmm = hmm.train(sequences)
то я получаю следующую ошибку:
ValueError Traceback (most recent call last)
<ipython-input-41-24d7c607e58c> in <module>()
----> 1 model_hmm = hmm.train(sequences)
/home/sk/hmm.py in train(sequences, delta, smoothing)
95 for _, symbol_list in sequences:
96 model.learn(symbol_list, smoothing)
---> 97 new_likelihood += log(model.evaluate(symbol_list))
98
99 new_likelihood /= length
ValueError: math domain error
Я не мог понять, почему возникает эта ошибка. Есть ли проблема с передачей данных последовательностей в функцию обучения или что-то еще?
Я также не нашел ни одного примера для обучения модели HMM для такого типа задач. Пожалуйста, помогите мне решить эту ошибку.