Coreseek自定義中文詞庫

2021-08-11 02:43:35 字數 2331 閱讀 4352

進入/usr/local/mmseg3/etc,在這裡能看到這幾個檔案:mmseg.ini unigram.txt uni.lib

unigram.txt是詞庫的文字檔案, uni.lib是mmseg真正使用的詞庫字典

我們可以在unigram.txt中增加我們想要的分詞,然後用mmseg -u命令去重新生成新的lib檔案

vim unigram.txt
詞庫文字內容格式如下:

示例:

我的單詞    1

x:1

使用php**新增分詞

<?php 

/** * 需要原檔案命名為words.txt,產生的新檔案為words_new.txt

*/ini_set('max_execution_time','6000');

$buffer=ini_get('output_buffering');

if($buffer)ob_end_flush();

echo

'處理新詞庫...';

flush();

$filename = "words.txt";

$handle = fopen ($filename, "r");

$content = fread ($handle, filesize ($filename));

fclose ($handle);

$content=trim($content);

$arr1 = explode( "\r\n" ,$content );

$arr1=array_flip(array_flip($arr1));

foreach($arr1

as$key=>$value)

else

}echo

'處理原來詞庫...';flush();

$filename2 = "unigram.txt";

$handle2 = fopen ($filename2, "r");

$content2 = fread ($handle2, filesize ($filename2));

fclose ($handle2);

$content2=dealchinese($content2,"\r\n");

$arr2 = explode( "\r\n" ,$content2 );

echo

'刪除相同詞條...';flush();

$array_diff=array_diff($arr1,$arr2);

echo

'格式化詞庫...';flush();

$words='';

foreach($array_diff

as$k=>$word)

//echo $words;

echo

'done!';

function

dealchinese

($str,$join='')-\x]+/u', $str, $matches); //將中文字元全部匹配出來

$str = join($join, $matches[0]); //從匹配結果中重新組合

return

$str;

}?>

先備份原來的uni.lib,再重新生成lib字典

cp uni.lib uni.lib.pak

/usr/local/mmseg3/bin/mmseg -u /usr/local/mmseg3/etc/unigram.txt

mv unigram.txt.uni uni.lib

測試

echo

"買衣服" > whatever.txt #新建乙個檔案

/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc/ whatever.txt #測試新檔案的分詞

#得到下面的結果

買衣服/x

word splite took: 28 ms.

#如果沒有新詞典,可能得到的是這樣的結果

買/x 衣服/x

word splite took: 0 ms.

最後重新建立索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate

IKAnalyzer如何自定義遠端詞庫

ikanalyzer1.3.4要自定義我們自己的詞庫,而且我們可以隨時新增分詞,網上查了一圈沒有相關資料,看來只有自己搞定了。這裡大家需要熟悉http協議中的last modified etags這些概念,這樣能更容易理解ikanalyzer作者的設計思路。觀察了下ikanalyzer分詞器的配置檔...

IKAnalyzer如何自定義遠端詞庫

ikanalyzer1.3.4要自定義我們自己的詞庫,而且我們可以隨時新增分詞,網上查了一圈沒有相關資料,看來只有自己搞定了。這裡大家需要熟悉http協議中的last modified etags這些概念,這樣能更容易理解ikanalyzer作者的設計思路。觀察了下ikanalyzer分詞器的配置檔...

THUOCL 清華大學開放中文詞庫

thuocl thu open chinese lexicon 是由清華大學自然語言處理與社會人文計算實驗室整理推出的一套高質量的中文詞庫,詞表來自主流 的社會標籤 搜尋熱詞 輸入法詞庫等。thuocl具有以下特點 包含詞頻統計資訊df值 document frequency 方便使用者個性化選擇使...