【準備測試】
(1)在bin\mallet.bat裡面第33行左右的位置加入
if "%cmd%"=="classify-file" set class=cc.mallet.classify.tui.csv2classify
if "%cmd%"=="classify-dir" set class=cc.mallet.classify.tui.text2classify
cmd命令列進入解壓目錄,如 c:\mallet-2.0.7
(2)文字分類
1.將源檔案格式轉換為mallet自己的處理格式
c:\mallet-2.0.7 >bin\mallet import-dir --input d:\testfile --output d:\classify-input.mallet
2.使用mallet演算法庫中的*****bayes演算法訓練獲得分類器
c:/mallet>bin\mallet train-classifier --input d:\classify-input.mallet --trainer *****bayes --training-portion 0.8 --output-classifier d:\classifier1.classifier
--input引數的值classify-input.mallet 是第 一步中生成的特徵向量
--trainer引數的值*****bayes 是指訓練分類器的演算法,可以指定其他演算法,例如
maxent等
--training-portion
引數的值這裡是0.8 , 可以根據需要設定,0.8 的意思是隨機抽取classify-input.mallet 資料中的80% 當訓練資料,剩下的當測試資料,
用於測試已訓練好的分類器的準確性等等效能指標。
--output-classifier
引數的值
classifier1.classifier
是所存已訓練好的分類器的名稱。
3.使用分類器測試新資料集
c:/mallet>bin\mallet classify-file --input d:\text.txt --output - --classifier d:\classifier1.classifier
--output 後面引數值「- 」意思是直接在命令列中輸出所屬各個類別的概率,也可以是」d:\result_file.txt「。
--classifier 引數的值是指使用的分類器名稱(即,訓練好的分類器)。
(3)主題建模
1. 將訓練集轉換為mallet專用格式
c:/mallet>bin\mallet import-dir --input d:\sample-data\topic-input --output d:\topic-input.mallet --keep-sequence --remove-stopwords
--keep-sequence
引數必須有,否則會出錯,因為主題建模時所用資料來源就是特徵序列,而不是特徵向量,所以必須用
--keep-sequence
此引數 來限制轉換資料的格式。
--remove-stopwords
的意思是移除停用詞。
2. 訓練主題
c:/mallet>bin\mallet train-topics --input d:\topic-input.mallet --num-topics 2 --output-doc-topics d:\docstopics.txt --inferencer -filename d:\infer1.inferencer
--num-topics的值2
意思是限定主題個數為
2,預設的主題數為
10--output-doc-topics
引數的意思是輸出文件
-主題矩陣,存到
docstopics
檔案中--inferencer -filename
引數的意思是對將訓練好的主題模型進行儲存,此主題模型存到引數值
infer1.inferencer
中3.測試集
c:/mallet>bin\mallet import-dir --input d:\sample-data\data --output d:\topic-test.mallet --keep-sequence --remove-stopwords
4.獲得測試集的主題類別
c:/mallet>bin\mallet infer-topics --input d:\topic-test.mallet --inferencer d:\infer1.inferencer --output-doc-topics d:\testdocstopics.txt
【參考部落格】
mallet 使用說明
mallet使用筆記(學topic model、做文字分類等)
MALLET中的資料表示
1。an instance contains four generic fields of predefined name data target name and source data holds the data represented by the instance,target is of...
gulp的使用基本使用
1.全域性安裝gulp 目的是在命令列裡使用gulp的命令 2.命令列中cd到專案目錄,區域性安裝gulp 如果不在專案中再次安裝會報錯,據說這樣是為了避免發生版本衝突 3.在專案目錄下新建乙個gulpfile.js檔案 必須這個名字,這個檔案算是乙個配置檔案 編寫我們的需求,以便gulp能按著我們...
Ocelot的使用 基本使用
ocelot是在.net core下閘道器的實現類庫,通過ocelot可以統一管理我們的webapi,不用再 中調來調去的很多api位址,統一從閘道器呼叫就行了。記錄下如何簡單的使用ocelot 1.新建gateway的閘道器專案,以及webapi的示例專案service1和service2 在ga...