您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用 Lucene怎么實(shí)現(xiàn)一個(gè)中文分詞器,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
什么是中文分詞器
學(xué)過(guò)英文的都知道,英文是以單詞為單位的,單詞與單詞之間以空格或者逗號(hào)句號(hào)隔開(kāi)。
而中文的語(yǔ)義比較特殊,很難像英文那樣,一個(gè)漢字一個(gè)漢字來(lái)劃分。
所以需要一個(gè)能自動(dòng)識(shí)別中文語(yǔ)義的分詞器。
StandardAnalyzer:
Lucene自帶的中文分詞器
單字分詞:就是按照中文一個(gè)字一個(gè)字地進(jìn)行分詞。如:“我愛(ài)中國(guó)”,
效果:“我”、“愛(ài)”、“中”、“國(guó)”。
CJKAnalyzer
二分法分詞:按兩個(gè)字進(jìn)行切分。如:“我是中國(guó)人”,效果:“我是”、“是中”、“中國(guó)”“國(guó)人”。
上邊兩個(gè)分詞器無(wú)法滿足需求。
使用中文分詞器IKAnalyzer
IKAnalyzer繼承Lucene的Analyzer抽象類(lèi),使用IKAnalyzer和Lucene自帶的分析器方法一樣,將Analyzer測(cè)試代碼改為IKAnalyzer測(cè)試中文分詞效果。
如果使用中文分詞器ik-analyzer,就在索引和搜索程序中使用一致的分詞器ik-analyzer。
使用luke測(cè)試IK中文分詞
(1)打開(kāi)Luke,不要指定Lucene目錄。否則看不到效果
(2)在分詞器欄,手動(dòng)輸入IkAnalyzer的全路徑
org.wltea.analyzer.lucene.IKAnalyzer
改造代碼,使用IkAnalyzer做分詞器
添加jar包
修改分詞器代碼
// 創(chuàng)建中文分詞器 Analyzer analyzer = new IKAnalyzer(); |
擴(kuò)展中文詞庫(kù)
拓展詞庫(kù)的作用:在分詞的過(guò)程中,保留定義的這些詞
1在src或其他source目錄下建立自己的拓展詞庫(kù),mydict.dic文件,例如:
2在src或其他source目錄下建立自己的停用詞庫(kù),ext_stopword.dic文件
停用詞的作用:在分詞的過(guò)程中,分詞器會(huì)忽略這些詞。
3在src或其他source目錄下建立IKAnalyzer.cfg.xml,內(nèi)容如下(注意路徑對(duì)應(yīng)):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 擴(kuò)展配置</comment> <!-- 用戶可以在這里配置自己的擴(kuò)展字典 --> <entry key="ext_dict">mydict.dic</entry> <!-- 用戶可以在這里配置自己的擴(kuò)展停用詞字典 --> <entry key="ext_stopwords">ext_stopword.dic</entry> </properties>
|
上述就是小編為大家分享的使用 Lucene怎么實(shí)現(xiàn)一個(gè)中文分詞器了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。