【Java】Java中文分词器Ansj的使用

以前都是用C++对中文进行分词,也用过Python的“结巴”分词,最近用了一下Java的Ansj中文分词,感觉还不错。

下面是用Ansj对中文进行分词的一个简单例子,希望能对大家有用。

1.下载Ansj的相关jar包

要用Ansj进行中文分词,必须先下载Ansj的jar包,下载地址可以参考:https://github.com/NLPchina/ansj_seg

2.程序代码

用Ansj进行中文分词的简单代码如下所示:

import org.ansj.splitWord.analysis.ToAnalysis;

public class SplitWordsByAnsj {

	public static void main(String[] args) {
		String words = "中国是世界四大文明古国之一,有着悠久的历史,距今约5000年前,以中原地区为中心开始出现聚落组织进而成国家和朝代,后历经多次演变和朝代更迭,持续时间较长的朝代有夏、商、周、汉、晋、唐、宋、元、明、清等。中原王朝历史上不断与北方游牧民族交往、征战,众多民族融合成为中华民族。20世纪初辛亥革命后,中国的君主政体退出历史舞台,取而代之的是共和政体。1949年中华人民共和国成立后,在中国大陆建立了人民代表大会制度的政体。中国有着多彩的民俗文化,传统艺术形式有诗词、戏曲、书法和国画等,春节、元宵、清明、端午、中秋、重阳等是中国重要的传统节日。";
		System.out.println(ToAnalysis.parse(words));
	}

}

3.分词结果

例子中对那一段中文的分词结果如下所示:

[中国, 是, 世界, 四, 大, 文明, 古, 国, 之一, ,, 有着, 悠久, 的, 历史, ,, 距, 今, 约, 5000, 年前, ,, 以, 中原, 地区, 为, 中心, 开始, 出现, 聚落, 组织, 进而, 成, 国家, 和, 朝代, ,, 后, 历经, 多次, 演变, 和, 朝代, 更迭, ,, 持续, 时间, 较, 长, 的, 朝代, 有, 夏, 、, 商, 、, 周, 、, 汉, 、, 晋, 、, 唐, 、, 宋, 、, 元, 、, 明, 、, 清, 等, 。, 中原, 王朝, 历史, 上, 不断, 与, 北方, 游牧, 民族, 交往, 、, 征战, ,, 众多, 民族, 融合, 成为, 中华民族, 。, 20, 世纪, 初, 辛亥革命, 后, ,, 中国, 的, 君主, 政体, 退出, 历史, 舞台, ,, 取而代之, 的, 是, 共和, 政体, 。, 1949年, 中华人民共和国, 成立, 后, ,, 在, 中国, 大陆, 建立, 了, 人民, 代表大会, 制度, 的, 政体, 。, 中国, 有着, 多, 彩, 的, 民俗, 文化, ,, 传统, 艺术, 形式, 有, 诗词, 、, 戏曲, 、, 书法, 和, 国画, 等, ,, 春节, 、, 元宵, 、, 清明, 、, 端午, 、, 中秋, 、, 重阳, 等, 是, 中国, 重要, 的, 传统, 节日, 。]

这个例子非常简单,希望对大家有所帮助。

时间: 2024-10-10 02:20:06

【Java】Java中文分词器Ansj的使用的相关文章

11大Java开源中文分词器的使用方法和分词效果对比

本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /** * 获取文本的所有分词结果, 对比不同分词器结果 * @author 杨尚川 */ public interface WordSegmenter {

9大Java开源中文分词器的使用方法和分词效果对比

本文的目标有两个: 1.学会使用9大Java开源中文分词器 2.对比分析9大Java开源中文分词器的分词效果 9大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /**  * 获取文本的所有分词结果, 对比不同分词器结果  * @author 杨尚川  */ public interface WordSegmenter {     /**      * 获取文本的所有分词结果      * @param text 文本      * @retur

[分词]Java开源中文分词器ANSJ_SEG初次试用

近日需要对大众点评网60万+的景点评论进行语义分析,所以必须使用分词工具,刚刚开始时我是选择使用NLPIR汉语分词系统(又名ICTCLAS2014),NLPIR的教程在[分词]NLPIR/ICTCLAS2014分词系统的C++ API 在Windows下初次使用,但是直观上感觉分词效果不怎么理想,所以就选用了另一个工具,同学推荐我用一下ANSJ的中文分词,近来也是在学Java,所以对于java的jar包还是挺能接受的,不像dll的那么烦,在Eclipse直接把包加入classpath是一个很简单

word v1.3 发布,Java 分布式中文分词组件

word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义.能准确识别英文.数字,以及日期.时间等数量词,能识别人名.地名.组织机构名等未登录词.能通过自定义配置文件来改变组件行为,能自定义用户词库.自动检测词库变化.支持大规模分布式环境,能灵活指定多种分词算法,能使用refine功能灵活控制分词结果,还能使用词频统计.词性标注.同义标注.反义标注.拼音标注等功能.提供了10种分词算法,还提供了10种文本相似度算法,同时还无缝和Lucene

java读取中文分词工具(三)

import java.io.EOFException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.util.ArrayList; /* * 文件格式:已分词的文本,词语之间用空格,换行等空白符分割. * 到了文件末尾就结束 * 适合读取一行很大的文本,因为这里的缓冲不是一行,

java读取中文分词工具(四)

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.Serializable; import java.util.ArrayList; import java.ut

java读取中文分词工具(2)

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; /* * 文件格式:已分词的中文文本,每个词语空格分割,每行一个段落. * 这个类适

cws_evaluation v1.1 发布,中文分词器分词效果评估对比

cws_evaluation是一个Java开源项目,用于对中文分词器的分词效果进行评估对比,目前支持9大中文分词器.分别是:word分词器.ansj分词器.mmseg4j分词器.ik-analyzer分词器.jcseg分词器.fudannlp分词器.smartcn分词器.jieba分词器.stanford分词器. 在1.1中,将9大中文分词器都升级到了最新版本,并采用Maven构建项目,增加了方便用户的运行脚本,且新增了交互式分词效果对比功能,同时也对分词代码做了优化和改进. 更多细节参考cws

如何在Elasticsearch中安装中文分词器(IK)和拼音分词器?

声明:我使用的Elasticsearch的版本是5.4.0,安装分词器前请先安装maven 一:安装maven https://github.com/apache/maven 说明: 安装maven需要java1.7+ 编译安装分词器时,可能会报错,报错信息如下: [ERROR] COMPILATION ERROR : [INFO] -------------------------------------------------------------[ERROR] No compiler i