1、snownlp是一個(gè)處理中文的類庫,有中文分詞、詞性標(biāo)注、情感分析、文本分類、拼音、繁簡、提取關(guān)鍵詞摘要等功能。下載后可以直接用,不用訓(xùn)練。
2.能重新訓(xùn)練的模塊有seg(分析詞性)、sentiments(情感分析)、tag、normal、
以sentiments模塊為例:

????sentiments目錄下有5個(gè)文件,其中init是程序,neg和pos分別是消極和積極語料庫(也就是用來訓(xùn)練的數(shù)據(jù)集)sentiment.marshal.3和sentiment.marshal是訓(xùn)練保存的模型。(python2保存的是sentiment.marshal;python3保存的是sentiment.marshal.3)
替換語料集(數(shù)據(jù)集)
首先要找到能夠替換數(shù)據(jù)集的語料集,數(shù)據(jù)格式要與原來相同,編碼方式為utf-8。
訓(xùn)練
????????找到函數(shù)接口(一般都在同級(jí)文件中)
init文件:

train()是訓(xùn)練函數(shù)、save是保存模型所用的函數(shù)
? ? ? ? ? ? 外部調(diào)用函數(shù)進(jìn)行訓(xùn)練
其中train.positive.txt和train.negative.txt為替換的數(shù)據(jù)集,new.marshal為訓(xùn)練保存的模型。

運(yùn)行這段代碼,成功后找到保存的模型(保存模型的位置是可以自定義的)
應(yīng)用新模型
方式一:將新模型名稱改為和原來模型名稱一致,復(fù)制到sentiments目錄下替換原來的
方式二:改變讀取模型的路徑,同在init文件中操作

記得原路徑要注釋?。?/p>
檢驗(yàn)?zāi)P褪欠裉鎿Q成功
用同一個(gè)例子應(yīng)用sentiments方法,看原模型和新模型算出來的積極的概率(訓(xùn)練集不同,訓(xùn)練出兩個(gè)相同模型的概率很?。└怕什煌瑒t上述操作成功,如果概率不變,極有可能出現(xiàn)了誤操作。
下面講一個(gè)seg與tag模塊的小方法

這是我找到的詞性數(shù)據(jù)集,需要將里面的BC兩列內(nèi)容轉(zhuǎn)化為txt文件(還有格式要求:每個(gè)具體例子之間有空格)

代碼實(shí)現(xiàn)如下:

第一個(gè)為表格路徑,第二個(gè)為表單名,第三個(gè)為目標(biāo)保存路徑(均可自定義),運(yùn)行代碼,查看保存的文件。其中值得注意的是txt編碼方式需要轉(zhuǎn)換為utf-8。