溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用 Lucene怎么實現一個中文分詞器

發布時間:2021-06-21 15:33:02 來源:億速云 閱讀:289 作者:Leah 欄目:大數據

這期內容當中小編將會給大家帶來有關使用 Lucene怎么實現一個中文分詞器,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


    1. 什么是中文分詞器

學過英文的都知道,英文是以單詞為單位的,單詞與單詞之間以空格或者逗號句號隔開。

而中文的語義比較特殊,很難像英文那樣,一個漢字一個漢字來劃分。

所以需要一個能自動識別中文語義的分詞器。


    1. StandardAnalyzer

    2. Lucene自帶的中文分詞器

單字分詞:就是按照中文一個字一個字地進行分詞。如:“我愛中國”,
效果:“我”、“愛”、“中”、“國”。


    1. CJKAnalyzer


二分法分詞:按兩個字進行切分。如:“我是中國人”,效果:“我是”、“是中”、“中國”“國人”。

上邊兩個分詞器無法滿足需求。


    1. 使用中文分詞器IKAnalyzer

IKAnalyzer繼承Lucene的Analyzer抽象類,使用IKAnalyzer和Lucene自帶的分析器方法一樣,將Analyzer測試代碼改為IKAnalyzer測試中文分詞效果。

如果使用中文分詞器ik-analyzer,就在索引和搜索程序中使用一致的分詞器ik-analyzer。


    1. 使用luke測試IK中文分詞


(1)打開Luke,不要指定Lucene目錄。否則看不到效果

(2)在分詞器欄,手動輸入IkAnalyzer的全路徑

org.wltea.analyzer.lucene.IKAnalyzer


    1. 改造代碼,使用IkAnalyzer做分詞器

    2. 添加jar包




    1. 修改分詞器代碼


// 創建中文分詞器

Analyzer analyzer = new IKAnalyzer();



    1. 擴展中文詞庫


拓展詞庫的作用:在分詞的過程中,保留定義的這些詞

1在src或其他source目錄下建立自己的拓展詞庫,mydict.dic文件,例如:

2在src或其他source目錄下建立自己的停用詞庫,ext_stopword.dic文件

停用詞的作用:在分詞的過程中,分詞器會忽略這些詞。

3在src或其他source目錄下建立IKAnalyzer.cfg.xml,內容如下(注意路徑對應):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  

<properties>  

    <comment>IK Analyzer 擴展配置</comment>

    <!-- 用戶可以在這里配置自己的擴展字典 -->

     <entry key="ext_dict">mydict.dic</entry> 

     <!-- 用戶可以在這里配置自己的擴展停用詞字典    -->

    <entry key="ext_stopwords">ext_stopword.dic</entry>

</properties>

 

上述就是小編為大家分享的使用 Lucene怎么實現一個中文分詞器了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女