Java調(diào)用IK分詞器進(jìn)行分詞方式,封裝工具類
使用場景
在大數(shù)據(jù)的場景下,一般用于統(tǒng)計(jì)關(guān)鍵詞出現(xiàn)的頻率,因此我們需要對一些數(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)建一個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é)果,一個詞不會重復(fù)出現(xiàn)

- useSmart = false時的結(jié)果,詞會多次出現(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)建一個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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Spring AMQP實(shí)現(xiàn)消息隊(duì)列的示例代碼
Spring AMQP作為Spring框架的一部分,是一套用于支持高級消息隊(duì)列協(xié)議(AMQP)的工具,AMQP是一種強(qiáng)大的消息協(xié)議,旨在支持可靠的消息傳遞,本文給大家介紹了如何基于Spring AMQP實(shí)現(xiàn)消息隊(duì)列,需要的朋友可以參考下2024-03-03
Spring?Cloud?Alibaba?Nacos兩種檢查機(jī)制
這篇文章主要介紹了Spring?Cloud?Alibaba?Nacos兩種檢查機(jī)制,作為注冊中心不止提供了服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能,它還提供了服務(wù)可用性監(jiān)測的機(jī)制,下面我們就一起進(jìn)入文章了解具體詳情吧2022-05-05
一文教你如何使用AES對接口參數(shù)進(jìn)行加密
這篇文章主要是想為大家介紹一下如何使用AES實(shí)現(xiàn)對接口參數(shù)進(jìn)行加密,文中的示例代碼簡潔易懂,具有一定的借鑒價值,需要的小伙伴可以了解一下2023-08-08
Idea中如何查看SpringSecurity各Filter信息
這篇文章主要介紹了Idea中如何查看SpringSecurity各Filter信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
java中hashmap的底層數(shù)據(jù)結(jié)構(gòu)與實(shí)現(xiàn)原理
Hashmap是java面試中經(jīng)常遇到的面試題,大部分都會問其底層原理與實(shí)現(xiàn),本人也是被這道題問慘了,為了能夠溫故而知新,特地寫了這篇文章,以便時時學(xué)習(xí)2021-08-08

