MALLET:語言工具包之機器學習

Mallet:MAchine Learning for LanguagE Toolkit


本文由邱郁婷編輯

本文摘自MALLET的〈Mallet:MAchine Learning for LanguagE Toolkit(MALLET:語言工具包之機器學習)〉,由邱郁婷統整後撰文。


網站介紹

「MALLET」為一工具包,亦為一開源軟體,其主要的編寫者為Andrew McCallum,並由多位研究生與教職員協助設計。而MALLET網站的主要設計人則是軟體編寫協助者之一的David Mimmo,另有3位同樣參與了軟體編寫的人員協同網頁之設計。

文章介紹

「MALLET」是一個Java工具包,可應用其對文本進行下列6項操作:

一、 統計自然語言處理

二、 文本分類

三、 叢集(Clustering)

四、 主題建模

五、 資訊提取

六、 其他機器學習之應用

MALLET包含可用於文本分類的工具,如:

一、 將文本轉換成形態(Feature)的高效率常式(Routine)

二、 各式演算法(含單純貝式(Naïve Bayes)、最大熵法則(Maximum Entropy)及決策樹(Decision Trees))

三、 評估分類器性能之編碼(使用各種常用的度量指標)

除了分類(Classification)功能之外,MALLET還包含了可用於應用程式的序列標記(Sequence Tagging)工具,例如自文本提取命名實體(Named-entity)。而其演算法包含隱藏式馬可夫模型(Hidden Markov Models)、最大熵馬可夫模型(Maximum Entropy Markov Models)及條件隨機域(Conditional Random Fields),這些演算法皆應用於有限狀態傳感機(Finite-state Transducer)的可延伸系統上。

主題模型在分析大量未標記的文本時十分好用,MALLET的主題建模工具包含了LDA(隱含迪利克雷分布,Latent Dirichlet Allocation)、彈珠機分布模型(Pachinko Allocation Model)以及hLDA(層次主題模型,Hierarchical LDA)。

許多MALLET的演算法依賴數值最優化(Numerical Optimization),在這方面MALLET含有限制內存BFGS(Limited Memory BFGS)以及許多其他的優化演算法。

除了機器學習的應用程式之外,MALLET還包含了能夠將文本轉換成數字顯示的常式,這能使得處理文本的過程更有效率。此轉換過程是透過一個靈活的「管道」實施的,其用於處理許多不同的事務,例如標記字串、刪除停用詞以及將序列轉換為計數向量(Count Vector)等。

MALLET有一名為「GRMM」的附加工具包,其含有一般圖模式(Graphical Models)的推理輔助,以及任意圖形結構的條件隨機域之訓練。