CRF Python Model Training_TypeError: ожидаемые байты, список найден
Я пытаюсь разработать модель CRF в Python. Моя проблема во время подготовки данных для модели. Я пытаюсь понять и выполнить модель CRF для Python в https://github.com/scrapinghub/python-crfsuite. Мой исходный набор данных для моего проекта отличается, но чтобы понять, я пытаюсь запустить образец модели по этой ссылке и используя упомянутый набор данных здесь https://github.com/scrapinghub/python-crfsuite/blob/master/examples/CoNLL%202002.ipynb.
Небольшую выборку моего набора данных X_Train[:10] можно увидеть по этой ссылке https://bpaste.net/show/543457feaeb5 и именно так выглядит мой набор данных X_train[0];
X_train[0] = [['bias', 'word.lower = melbourne', 'word [-3:] = rne', 'word [-2:] = ne', 'word.isupper = False', ' word.istitle = True ',' word.isdigit = False ',' postag = NP ',' postag [: 2] = NP ',' BOS ',' +1: word.lower = (',' +1: word.istitle = False ',' +1: word.isupper = False ',' +1: postag = Fpa ',' +1: postag [: 2] = Fp '], [' bias ',' word.lower = Мельбурн ', 'word[-3:]=rne', 'word[-2:]=ne', 'word.isupper=False', 'word.istitle=True', 'word.isdigit=False', 'postag=NP', 'postag[:2]=NP', 'BOS', '+1:word.lower=(', '+1:word.istitle=False', '+1:word.isupper=False', '+1:postag=Fpa', '+1:postag[:2]=Fp']]
Небольшую выборку моего набора данных y_train[:10] можно увидеть по этой ссылке https://bpaste.net/show/1c5e83b65613 и именно так выглядит мой набор данных y_train;
y_train [0] = ['B-LOC', 'B-LOC']
В примере модели и в моем моделировании, которое находится во второй гиперссылке, "тренер" был создан с помощью кода ниже;
trainer = pycrfsuite.Trainer(verbose=False)
После этого модель использует приведенный ниже код для добавления наборов данных X_train и y_train к "тренеру", как показано ниже;
for xseq, yseq in zip(X_train, y_train):
trainer.append(xseq, yseq)
Однако, когда я запускаю код, он появляется ниже ошибки,
ValueError: Номера элементов и меток различаются: |x| = 0, |y| = 2
Чего я ожидаю от этого кода, так это сопоставления значений в X_train и y_train друг с другом и добавления к "trainer", как показано ниже;
(['bias', 'word.lower = melbourne', 'word[-3:]=rne', 'word[-2:]=ne', 'word.isupper=False', 'word.istitle=True', 'word.isdigit=False', 'postag=NP', 'postag[:2]=NP', 'BOS', '+1:word.lower=(', '+1:word.istitle=False', '+1:word.isupper=False', '+1:postag=Fpa', '+1:postag[:2]=Fp'], 'B-LOC') ([' bias ',' word.lower = Мельбурн ',' word [-3:] = rne ',' word [-2:] = ne ',' word.isupper = False ',' word.istitle = True ',' word.isdigit = False ',' postag = NP ',' postag [: 2] = NP ',' BOS ',' +1: word.lower = (',' +1: word.istitle = False ',' +1: word. isupper = False ',' +1: postag = Fpa ',' +1: postag [: 2] = Fp '],' B-LOC ')
Мне было трудно объяснить ситуацию здесь, поэтому я буду рад ответить, если у вас есть какие-либо вопросы по этой проблеме.
Заранее спасибо.