Mallet的基本使用

2021-09-02 09:20:19 字數 2589 閱讀 7105

【準備測試】

(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...