关于scws分词的一些记录
生活随笔
收集整理的這篇文章主要介紹了
关于scws分词的一些记录
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
測試環(huán)境:windows 2003 + php5.3.5 + apache2.2 + scws 1.1.9?
自定義詞庫,words.txt 如下:
騰訊????1.0????1.0????@C++????1.0????1.0????!
中國人????1.0????1.0????!
就是????1.0????1.0????!??
1.每行由4個(gè)字段組成,依次為“詞語"(由中文字或3個(gè)以下的字母合成), "TF", "IDF", "詞性", 字段之間用空格或制表符分開,數(shù)量不限?(注意,發(fā)現(xiàn)如果字段時(shí)間用空格隔開,然后用scws官方的php程序?qū)xt詞庫轉(zhuǎn)換xdb后,詞庫無效,但是txt詞庫有效,所以為了兼容性,字段之間最好僅用一個(gè)制表符分隔,且注意txt文件的編碼要與程序要使用的編碼一致)
2.詞性設(shè)為“!“,則表示該詞設(shè)為無效,即使在其它核心庫中存在該詞也視為無效?
?
?
使用自定義詞庫,需要注意加載詞庫代碼的位置
$txt?=?'我就是一個(gè)中國人,我是會C++語言,我有很多T恤衣服';?$sh=scws_open();
//注意,加載詞庫的代碼放在此處無效,但是按照官方的例子應(yīng)該是放在這里
//scws_add_dict($sh,?'D:\Apache3W\words.txt',?SCWS_XDICT_TXT);
scws_send_text($sh,?$txt);
//加載詞庫的代碼必須放在scws_send_text函之后才有效
scws_add_dict($sh,?'D:\Apache3W\words.txt',?SCWS_XDICT_TXT);?
while?($words?=?scws_get_result($sh))?{
????foreach?($words?as?$word)
????{
????????var_dump($word);
????}
}
scws_close($sh);
如果非要將?scws_add_dict?放到?scws_send_text?前面?還可以這樣寫:
$txt?=?'我就是一個(gè)中國人,我是會C++語言,我有很多T恤衣服';$sh=scws_open();
//scws_set_dict也可以改為scws_add_dict?
scws_set_dict($sh,?'D:\Program?Files\scws\etc\dict.utf8.xdb',?SCWS_XDICT_XDB);
scws_add_dict($sh,?'D:\Apache3W\words.txt',?SCWS_XDICT_TXT);
scws_send_text($sh,?$txt);
while?($words?=?scws_get_result($sh))?{
????foreach?($words?as?$word)
????{
????????var_dump($word);
????}
}
scws_close($sh);??
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/mxw09/archive/2012/03/19/2406171.html
總結(jié)
以上是生活随笔為你收集整理的关于scws分词的一些记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 页面未加载完时报的错误
- 下一篇: 微软面试题:正则表达式提取链接地址