MMSeg是由Chih-Hao Tsai所開發,裡面包含了兩種類型的長詞優先斷詞演算法(Maximum Matching Algorithm)。其官網如下:

http://technology.chtsai.org/mmseg/

 

MMSeg也有發佈在 Google project中,可從其下載 jar :

https://code.google.com/archive/p/mmseg4j/downloads

mmseg_1.jpg

 

解壓縮後,之後import mmseg4j-core-1.9.1.jar的檔案

mmseg_2.jpg

 

接著使用 Complex 方法來進行斷詞,並且使用預設的詞庫:

Sample Code:

String txt = "我想看電影";
//辭典目錄
File file = new File("./MMSeg4j");
//初始化辭典
Dictionary dic = Dictionary.getInstance(file);
Seg seg = null;
		
//MMSeg有兩個模式,一個是 Simple,另一個則是 Complex
//		seg = new SimpleSeg(dic); 
seg = new ComplexSeg(dic); 
		
MMSeg mmSeg = new MMSeg(new StringReader(txt), seg); 
Word word = null;
while((word = mmSeg.next())!=null) {
	if(word != null) { 
		System.out.print(word + "|"); 
	} 
}

 

上述的程式碼,辭典目錄裡面是空的,所以結果為:

mmseg_3.jpg

 

接下來,我們來新增詞彙電影這個詞。

我們在 project中新增 MMSeg4j資料夾,並且新增一個 words.dic檔案在此資料夾底下,每一行就是一個詞彙,我們只建立一個電影的詞彙,如下 :

mmseg_4.jpg

 

接著重新執行此斷詞系統,會得到下列結果:

mmseg_5.jpg

 

我們發現電影就會斷在一起了。

arrow
arrow
    全站熱搜

    葛瑞斯肯 發表在 痞客邦 留言(0) 人氣()