Java調(diào)用IK分詞器進(jìn)行分詞方式,封裝工具類
使用場(chǎng)景
在大數(shù)據(jù)的場(chǎng)景下,一般用于統(tǒng)計(jì)關(guān)鍵詞出現(xiàn)的頻率,因此我們需要對(duì)一些數(shù)據(jù)文本進(jìn)行分詞,得到我們想要的關(guān)鍵詞。
導(dǎo)入依賴
<dependency>
<groupId>com.janeluo</groupId>
<artifactId>ikanalyzer</artifactId>
<version>2012_u6</version>
</dependency>分詞的使用
ArrayList<String> result = new ArrayList<>();
// 創(chuàng)建一個(gè)reader對(duì)象
StringReader reader = new StringReader(keyword);
// 創(chuàng)建一個(gè)分詞對(duì)象
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時(shí)的結(jié)果,一個(gè)詞不會(huì)重復(fù)出現(xiàn)

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

顯然useSmart = false效果好點(diǎn)
封裝工具類
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)建一個(gè)reader對(duì)象
StringReader reader = new StringReader(keyword);
// 創(chuàng)建一個(gè)分詞對(duì)象
IKSegmenter ikSegmenter = new IKSegmenter(reader, false);
Lexeme next = ikSegmenter.next();
while ( next != null ) {
// 獲取分詞的結(jié)果
result.add(next.getLexemeText());
next = ikSegmenter.next();
}
return result;
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中如何取出String字符串括號(hào)中的內(nèi)容
這篇文章主要介紹了Java中如何取出String字符串括號(hào)中的內(nèi)容問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
SpringBoot配置層級(jí)錯(cuò)誤導(dǎo)致數(shù)據(jù)庫連接失敗的解決方案
在SpringBoot項(xiàng)目中,配置文件的層級(jí)(prefix)是決定屬性能否被正確解析的核心因素,一個(gè)看似微小的縮進(jìn)錯(cuò)誤,可能導(dǎo)致整個(gè)應(yīng)用的數(shù)據(jù)庫連接失敗、服務(wù)啟動(dòng)異常,本文將通過真實(shí)開發(fā)場(chǎng)景復(fù)現(xiàn),來講講SpringBoot配置文件的正確寫法,需要的朋友可以參考下2025-06-06
Spring Boot 通過注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的方法
這篇文章主要介紹了Spring Boot 通過注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
SpringBoot利用AOP實(shí)現(xiàn)一個(gè)日志管理詳解
目前有這么個(gè)問題,有兩個(gè)系統(tǒng)CSP和OMS,這倆系統(tǒng)共用的是同一套日志操作:Log;目前想?yún)^(qū)分下這倆系統(tǒng)的日志操作,那沒辦法了,只能重寫一份Log的日志操作。本文就將利用AOP實(shí)現(xiàn)一個(gè)日志管理,需要的可以參考一下2022-09-09

