0

我正在尝试使用 BilSTM-CRF 网络构建命名实体识别模型,并且我正在关注这个网站:https ://blog.dominodatalab.com/named-entity-recognition-ner-challenges-and-model 。在我训练我的模型后,我使用此代码来预测检测到的实体:

re_tok = re.compile(f"([{string.punctuation}“”¨«»®´·º½¾¿¡§£₤‘’])")
sentence = re_tok.sub(r"  ", sentence).split()

padded_sentence = sentence + [word2index["--PADDING--"]] * (MAX_SENTENCE - len(sentence))
padded_sentence = [word2index.get(w, 0) for w in padded_sentence]

pred = ner_model.predict(np.array([padded_sentence]))
pred = np.argmax(pred, axis=-1)

retval = ""
for w, p in zip(sentence, pred[0]):
    retval = retval + "{:15}: {:5}".format(w, index2tag[p])" + "\n"
print(retval)

它实际上对我的用例也很有效,现在我正在尝试保存模型,以便使用以下代码进行实时预测:

import pickle
filename = 'Model.sav'
pickle.dump(rf, open(filename, 'wb')) 

但实际上并没有按我的意愿工作..它已保存但保存错误,即使对于我在保存之前测试的同一句话,预测也不正确有任何人知道如何保存 crf 模型吗?

4

0 回答 0