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)鍵詞。
導(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效果好點
封裝工具類
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-03Spring?Cloud?Alibaba?Nacos兩種檢查機制
這篇文章主要介紹了Spring?Cloud?Alibaba?Nacos兩種檢查機制,作為注冊中心不止提供了服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能,它還提供了服務(wù)可用性監(jiān)測的機制,下面我們就一起進入文章了解具體詳情吧2022-05-05Idea中如何查看SpringSecurity各Filter信息
這篇文章主要介紹了Idea中如何查看SpringSecurity各Filter信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01java中hashmap的底層數(shù)據(jù)結(jié)構(gòu)與實現(xiàn)原理
Hashmap是java面試中經(jīng)常遇到的面試題,大部分都會問其底層原理與實現(xiàn),本人也是被這道題問慘了,為了能夠溫故而知新,特地寫了這篇文章,以便時時學(xué)習(xí)2021-08-08