perl詞典分詞

2021-05-24 22:23:51 字數 947 閱讀 6314

從網上看了一篇perl分詞的程式,執行程式後發現,數字全部給分開了,例如,「2023年國家gdp是...」,執行程式後結果為「2 0 1 0 年 國家 g d p 是 ....」,文中「2010」是不應該分開的,我改進了這個程式,可以實現數字不分開,如下:

#!/usr/bin/perl

print "begin loading dictionary.../n";

open(filein, "地名.txt");          #讀取辭典

$maxlen = 0;   #統計詞條之最大長度

while ($line = ) = length($line); #建立字典,以詞條內容為索引

if (length($line) > $maxlen)

}close(filein);     #關閉辭典檔案

print "end loading dictionary .../n";

#正文部分開始

open(fh,"a.txt");

open(dd,"+>result.txt");

select(dd);

while ()

$result = forward_segment($_); #呼叫正向最大匹配子程式

print "$result/n"; #輸出分詞結果

#print "=>"; #等待下一次輸入

}sub forward_segment #正向最大匹配子程式定義

) #若沒有對應詞條,則進入for迴圈下一輪,去除乙個漢字

}if ($match == 0) else }}

$segemted=~s/  ([^0-9.%])/ $1/g;

$segemted=~s/([0-9.%])  /$1/g;

return $segemted; #將$segemted作為結果返回

}close fh;

close dd;

Paoding分詞 擴充套件詞典

庖丁有兩種分詞模式 most words 最大詞量分詞方式,此模式對應的詞典編譯類為mostwordsmodedictionariescompiler max word length 按詞在詞典中的原序來進行編譯,基本不再做其他處理,此模式對應的詞典編譯類為sortingdictionariesco...

Paoding分詞 擴充套件詞典

在使用庖丁自定義詞典的時候,按照網上查的資料,1.首先自定義乙個 dic的檔案,以utf 8儲存 2.將自定義詞新增到dic locale下的 dic中 3.刪除.compile資料夾 配置paoding.dic.home 如果在上面選擇了paoding.dic.home.config fisrt ...

Paoding分詞 擴充套件詞典

庖丁有兩種分詞模式 most words 最大詞量分詞方式,此模式對應的詞典編譯類為mostwordsmodedictionariescompiler max word length 按詞在詞典中的原序來進行編譯,基本不再做其他處理,此模式對應的詞典編譯類為sortingdictionariesco...