中文分词之Java实现使用IK Analyzer实现

简介: 中文分词之Java实现使用IK Analyzer实现

IK Analyzer是基于lucene实现的分词开源框架

需要在项目中引入:

IKAnalyzer2012FF_u1.jar  --- FF 代表for lucene 4.0(four)

lucene-core-4.0.0.jar

示例代码如下(使用IK Analyzer):

package com.haha.test;  
import java.io.IOException;  
import java.io.StringReader;  
import org.apache.lucene.analysis.Analyzer;  
import org.apache.lucene.analysis.TokenStream;  
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;  
import org.wltea.analyzer.lucene.IKAnalyzer;  
public class Test2 {  
    public static void main(String[] args) throws IOException {  
        String text="基于java语言开发的轻量级的中文分词工具包";  
        //创建分词对象  
        Analyzer anal=new IKAnalyzer(true);       
        StringReader reader=new StringReader(text);  
        //分词  
        TokenStream ts=anal.tokenStream("", reader);  
        CharTermAttribute term=ts.getAttribute(CharTermAttribute.class);  
        //遍历分词数据  
        while(ts.incrementToken()){  
            System.out.print(term.toString()+"|");  
        }  
        reader.close();  
        System.out.println();  
    }  
}

运行后结果:

基于|java|语言|开发|的|轻量级|的|中文|分词|工具包|


目录
相关文章
|
自然语言处理 Java 数据库连接
|
自然语言处理 Java
科大讯飞语音转文字以及中文分词的Java测试代码
科大讯飞语音转文字以及中文分词的Java测试代码
333 0
科大讯飞语音转文字以及中文分词的Java测试代码
|
机器学习/深度学习 自然语言处理 算法
|
机器学习/深度学习 自然语言处理 算法
|
自然语言处理 Java 索引
Java中文分词工具AnsjSeg使用
        中文分词是进行中文文本分析的一个重要步骤。对于Java语言,有许多可选的分词工具,如中科院计算所的NLPIR(原ICTCLASS)、盘古分词、IKAnalyzer、PaodingAnalyzer,其中,试...
1967 0
|
1天前
|
安全 Java 调度
Java线程:深入理解与实战应用
Java线程:深入理解与实战应用
13 0
|
1天前
|
Java
Java中的并发编程:理解和应用线程池
【4月更文挑战第23天】在现代的Java应用程序中,性能和资源的有效利用已经成为了一个重要的考量因素。并发编程是提高应用程序性能的关键手段之一,而线程池则是实现高效并发的重要工具。本文将深入探讨Java中的线程池,包括其基本原理、优势、以及如何在实际开发中有效地使用线程池。我们将通过实例和代码片段,帮助读者理解线程池的概念,并学习如何在Java应用中合理地使用线程池。
|
5天前
|
安全 Java
深入理解 Java 多线程和并发工具类
【4月更文挑战第19天】本文探讨了Java多线程和并发工具类在实现高性能应用程序中的关键作用。通过继承`Thread`或实现`Runnable`创建线程,利用`Executors`管理线程池,以及使用`Semaphore`、`CountDownLatch`和`CyclicBarrier`进行线程同步。保证线程安全、实现线程协作和性能调优(如设置线程池大小、避免不必要同步)是重要环节。理解并恰当运用这些工具能提升程序效率和可靠性。
|
6天前
|
安全 Java
java多线程(一)(火车售票)
java多线程(一)(火车售票)
|
6天前
|
安全 Java 调度
Java并发编程:深入理解线程与锁
【4月更文挑战第18天】本文探讨了Java中的线程和锁机制,包括线程的创建(通过Thread类、Runnable接口或Callable/Future)及其生命周期。Java提供多种锁机制,如`synchronized`关键字、ReentrantLock和ReadWriteLock,以确保并发访问共享资源的安全。此外,文章还介绍了高级并发工具,如Semaphore(控制并发线程数)、CountDownLatch(线程间等待)和CyclicBarrier(同步多个线程)。掌握这些知识对于编写高效、正确的并发程序至关重要。