我使用斯坦福NER訓練了自己的NER模型。我可以使用下面的代碼從我的python代碼與它進行交互,並且它正確地在輸入文本中註釋了命名實體。運行定製訓練斯坦福模型作爲服務器
st = NERTagger('stanford_classifiers/ner-model-custom.ser.gz',
'stanford_classifiers/stanford-ner.jar', 'utf-8')
entities = st.tag(input_text.split())
但是,因爲實在是太慢了每一個文字輸入,我運行模型爲一臺服務器,通過使用下面的代碼從蟒蛇查詢訪問的結果。但是我的訓練模型沒有輸出。
我啓動服務器這樣的:
java -mx1000m -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer -loadClassifier ner-m
odel-custom.ser.gz -port 8080 -outputFormat inlineXML
我得到這個消息的服務器:
Loading classifier from XX\XX\stanford_classifiers\ner-model-custom.ser.gz ... done [6.1 sec].
在客戶端(Python代碼):
tagger = ner.SocketNER(host='localhost', port=8080)
entities = tagger.get_entities(input_text)
同代碼在像english.all.3class.distsim.crf.ser.gz這樣的現有模型作爲服務器啓動時起作用。但不適用於服務器模式下的自定義模型。
在服務器版本中是否有特定的方式來啓動我們的定製訓練的ner模型?
這可能是自定義模型的培訓問題嗎?
真的不知道,恐怕。我不太瞭解Python部分,但是這看起來應該可行 - 如果模型直接使用,那麼模型看起來沒問題,您應該可以像使用常規模型一樣在HERServer中使用自定義模型。我首先要嘗試的是看看它是否純粹在Java-land中運行(使用-client標誌第二次調用NERServer)。如果你可以分享模型,我們也可以嘗試看看它有什麼問題.... –