IKAnalyzer集成

IKAnalyzer 開源、輕量級(jí)的中文分詞器,應(yīng)用廣

最想是作為lucene上使用而開發(fā),后來發(fā)展為獨(dú)立的分詞組件。只提供到Lucene4.0版本的支持。我們4.0以后版本Lucene中使用就需要簡(jiǎn)單的集成一下。

<!-- ikanalyzer 中文分詞器  -->
<dependency>
    <groupId>com.janeluo</groupId>
    <artifactId>ikanalyzer</artifactId>
    <version>2012_u6</version>
    <exclusions>
    <exclusion>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-core</artifactId>
    </exclusion>
    <exclusion>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-queryparser</artifactId>
    </exclusion>
    <exclusion>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-analyzers-common</artifactId>
    </exclusion>
    </exclusions>
</dependency>

<!--  lucene-queryparser 查詢分析器模塊 -->
<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-queryparser</artifactId>
    <version>7.3.0</version>
</dependency>

  • 需要做集成,是因?yàn)锳nalyzer的createComponents方法API改變了

集成步驟:

IK類

  1. 找到 ikAnalyzer包提供的Lucene支持類,比較IKAnalyzer的createComponets方法。
  2. 照這兩個(gè)類,創(chuàng)建新版本的類,類里面的代碼直接復(fù)制,修改參數(shù)即可。

IKAnalyzer提供兩種分詞模式:細(xì)粒度分詞和只能分詞,看它的構(gòu)造參數(shù)。

代碼github地址

IKAnalyzer 的停用詞

Ik中默認(rèn)的停用詞很少,我們往往需要擴(kuò)展它??蓮木W(wǎng)址: https://github.com/cseryp/stopwords 下載一份比較全的停用詞。

文件配置

IK中停用詞的擴(kuò)展步驟:
1、在類目錄下創(chuàng)建IK的配置文件:IKAnalyzer.cfg.xml
2、在配置文件中增加配置擴(kuò)展停用詞文件的節(jié)點(diǎn):

<entry key=“ext_stopwords”>my_ext_stopword.dic</entry>  
如有多個(gè),以“;”間隔。

3、在類目錄下創(chuàng)建我們的擴(kuò)展停用詞文件 my_ext_stopword.dic
4、編輯該文件加入停用詞,一行一個(gè)


my_ext_stopword.dic

擴(kuò)展IKAnalyzer的詞典:
每年都有很多的新詞產(chǎn)生,往分詞器的詞典中添加新詞的步驟:
1、在類目錄下IK的配置文件:IKAnalyzer.cfg.xml 中增加配置擴(kuò)展詞文件的節(jié)點(diǎn):

<entry key="ext_dict">ext.dic</entry>
如有多個(gè),以“;”間隔

2、在類目錄下創(chuàng)建擴(kuò)展詞文件 ext.dic
3、編輯該文件加入新詞,一行一個(gè)


ext.dic

代碼github地址

IKAnalyzer.cfg.xml 文件實(shí)例

<?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">ext.dic</entry> 
    <!--用戶可以在這里配置自己的擴(kuò)展停止詞字典-->
    <entry key="ext_stopwords">my_ext_stopword.dic</entry>
</properties>

注意配置文件必須為UTF-8的格式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 常用概念: 自然語言處理(NLP) 數(shù)據(jù)挖掘 推薦算法 用戶畫像 知識(shí)圖譜 信息檢索 文本分類 常用技術(shù): 詞級(jí)別...
    御風(fēng)之星閱讀 9,963評(píng)論 1 25
  • 現(xiàn)有的分詞工具總結(jié) IKAnalyzer IKAnalyzer是一個(gè)開源的,基于java語言開發(fā)的輕量級(jí)的中文分詞...
    Dorann閱讀 528評(píng)論 0 1
  • 凌晨4點(diǎn)起床為了趕7點(diǎn)航班,但糾結(jié)我的不是早起,其實(shí)迫不及待就起床了,習(xí)慣了窗外一片漆黑,但要錯(cuò)過瑜伽是我不舒服的...
    徐林Grace閱讀 1,335評(píng)論 11 21
  • 每一次畢業(yè),是一個(gè)結(jié)束,也是新的開始!從初中畢業(yè)開始,我的那些同學(xué),有的繼續(xù)讀書,有的去了職業(yè)技術(shù)學(xué)院。高中畢業(yè)的...
    言卿卿卿閱讀 458評(píng)論 4 1

友情鏈接更多精彩內(nèi)容