我目前有一個機器學習模型,可以預測當前單詞屬于哪個詞類
penn_results = penn_crf.predict_single(features)
然后,我制作了一個代碼,其中它制作了一個列印(單詞,POS)樣式的列印;
penn_tups = [(sent.split()[idx], penn_results[idx]) for idx in range(len(sent.split()))]
當我嘗試運行它時,它給了我這個輸出。
[('The', 'DT'), ('quick', 'JJ'), ('brown', 'NN'), ('fox', 'NN'), ('jumps', 'NNS') , ('over', 'IN')] [('The', 'DET'), ('quick', 'NOUN'), ('brown', 'ADJ'), ('fox', 'NOUN' ), ('jumps', '名詞'), ('over', 'ADP')]
所以我保存了這個模型
penn_filename = 'ptcp.sav'
pickle.dump(penn_crf, open(penn_filename, 'wb'))
在嘗試通過加載保存的泡菜檔案來運行模型時
test = "The quick brown fox jumps over the head"
pickled_model = pickle.load(open('penn_treebank_crf_postagger.sav', 'rb'))
pickled_model.predict(test)
print(pickled_model.predict(test))
它列印這個 [['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP' ], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], [' NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP'], ['NNP']]
我怎樣才能讓它列印出這樣的準確預測值 [('The', 'DT'), ('quick', 'JJ'), ('brown', 'NN'), ('fox', 'NN' '), ('jumps', 'NNS'), ('over', 'IN')] [('The', 'DET'), ('quick', 'NOUN'), ('brown', ' ADJ'), ('fox', 'NOUN'), ('jumps', 'NOUN'), ('over', 'ADP')]
uj5u.com熱心網友回復:
注意:此代碼未經測驗。
替換最后一行
print(pickled_model.predict(test))
像這樣:
tokens_test = test.split()
predictions_test = pickled_model.predict(test)
pairs_test = [(tokens_test[idx], predictions_test[idx]) for idx in range(len(tokens_test))]
print(pairs_test)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472466.html
上一篇:多類的SHAP值解釋
下一篇:在兩者之間捕獲字串
