Java調(diào)用IK分詞器進行分詞方式,封裝工具類
更新時間:2024年08月12日 14:31:35 作者:程序員阿偉
這篇文章主要介紹了Java調(diào)用IK分詞器進行分詞方式,封裝工具類,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
使用場景
在大數(shù)據(jù)的場景下,一般用于統(tǒng)計關(guān)鍵詞出現(xiàn)的頻率,因此我們需要對一些數(shù)據(jù)文本進行分詞,得到我們想要的關(guān)鍵詞。
導入依賴
<dependency>
<groupId>com.janeluo</groupId>
<artifactId>ikanalyzer</artifactId>
<version>2012_u6</version>
</dependency>分詞的使用
ArrayList<String> result = new ArrayList<>();
// 創(chuàng)建一個reader對象
StringReader reader = new StringReader(keyword);
// 創(chuàng)建一個分詞對象
IKSegmenter ikSegmenter = new IKSegmenter(reader, true);
Lexeme next = ikSegmenter.next();
while ( next != null ) {
// 獲取分詞的結(jié)果
result.add(next.getLexemeText());
next = ikSegmenter.next();
}
return result;分詞結(jié)果:
- useSmart = true時的結(jié)果,一個詞不會重復出現(xiàn)

- useSmart = false時的結(jié)果,詞會多次出現(xiàn)

顯然useSmart = false效果好點
封裝工具類
package com.cw.util;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
/**
* @author CW
* @version 1.0
* @date 2023/3/1 8:41
* @desc ik分詞工具類
*/
public class IKUtil {
/**
* 分詞
* @param keyword 需要分詞的文本
* @return
*/
public static List<String> splitKeyWord(String keyword) throws IOException {
ArrayList<String> result = new ArrayList<>();
// 創(chuàng)建一個reader對象
StringReader reader = new StringReader(keyword);
// 創(chuàng)建一個分詞對象
IKSegmenter ikSegmenter = new IKSegmenter(reader, false);
Lexeme next = ikSegmenter.next();
while ( next != null ) {
// 獲取分詞的結(jié)果
result.add(next.getLexemeText());
next = ikSegmenter.next();
}
return result;
}
}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Spring AMQP實現(xiàn)消息隊列的示例代碼
Spring AMQP作為Spring框架的一部分,是一套用于支持高級消息隊列協(xié)議(AMQP)的工具,AMQP是一種強大的消息協(xié)議,旨在支持可靠的消息傳遞,本文給大家介紹了如何基于Spring AMQP實現(xiàn)消息隊列,需要的朋友可以參考下2024-03-03
Spring?Cloud?Alibaba?Nacos兩種檢查機制
這篇文章主要介紹了Spring?Cloud?Alibaba?Nacos兩種檢查機制,作為注冊中心不止提供了服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能,它還提供了服務(wù)可用性監(jiān)測的機制,下面我們就一起進入文章了解具體詳情吧2022-05-05
Idea中如何查看SpringSecurity各Filter信息
這篇文章主要介紹了Idea中如何查看SpringSecurity各Filter信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
java中hashmap的底層數(shù)據(jù)結(jié)構(gòu)與實現(xiàn)原理
Hashmap是java面試中經(jīng)常遇到的面試題,大部分都會問其底層原理與實現(xiàn),本人也是被這道題問慘了,為了能夠溫故而知新,特地寫了這篇文章,以便時時學習2021-08-08

