中文分词工具thulac4j发布

简介:

1. 介绍

thulac4j是THULAC的Java 8工程化实现,相比于官方版THULAC-Java,我做了如下工作:

  1. 规范化分词词典,并去掉一些无用词;
  2. 重写DAT(双数组Trie树)的构造算法,生成的DAT size减少了8%左右,从而节省了内存;
  3. 优化分词算法,提高了分词速率。

若想在项目中使用thulac4j,可添加依赖:

<dependency>
  <groupId>io.github.yizhiru</groupId>
  <artifactId>thulac4j</artifactId>
  <version>${thulac4j.version}</version>
</dependency>
// SegOnly mode
String sentence = "滔滔的流水,向着波士顿湾无声逝去";
SegOnly seg = new SegOnly("models/cws_model.bin", "models/cws_dat.bin");
List<String> words = seg.segment(sentence);
// [滔滔, 的, 流水, ,, 向着, 波士顿湾, 无声, 逝去]

// SegPos mode
SegPos pos = new SegPos("models/model_c_model.bin", "models/model_c_dat.bin");
List<SegItem> words = pos.segment(sentence);
// [滔滔/a, 的/u, 流水/n, ,/w, 向着/p, 波士顿湾/ns, 无声/v, 逝去/v]

模型数据较大,没有放在jar包与源码。训练模型下载及更多使用说明,请参看Getting Started.

thulac4j还支持自定义词典:

seg.setUserWordsPath("<user-words-path>");

自定义词典中的词为行分隔,格式如下:

中国人
thulac4j
中文分词

支持繁体转简体:

Simplifier simplifier = new Simplifier();
String s = simplifier.t2s("世界商機大發現");

2. 测评

测评主要从效果(准确率、召回率、F1值)、性能方面进行比较,测评结果见wiki。从测评结果看出,thulac4j的兼顾效果与速率。

最后,欢迎大家使用并pull request;中文分词thulac4j的QQ交流群:373215255


本文转自 Treant 博客园博客,原文链接:http://www.cnblogs.com/en-heng/p/6526598.html   ,如需转载请自行联系原作者

相关文章
|
3月前
|
人工智能 Rust Apache
|
8月前
|
JavaScript Java 测试技术
基于Java的在线日语培训平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的在线日语培训平台的设计与实现(源码+lw+部署文档+讲解等)
65 0
|
8月前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
49 0
|
XML 存储 边缘计算
Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,2023年4月10日,社区正式发布了 2.7.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。
159 3
Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库
|
自然语言处理 索引
【ES系列三】——ES集成ik分词并测试
解压后的结构如下图(需要放到elasticsearch安装目录的plugins文件夹下进行解压)
|
边缘计算 自然语言处理 测试技术
Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新
Go 语言电子表格文档基础库 Excelize 迎来 2021 年首个更新。2021年1月4日,社区正式发布了 2.3.2 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化
407 3
Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新
|
边缘计算 测试技术 BI
Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档
Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档
625 3
Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档
|
XML 测试技术 BI
Excelize 发布 2.1.0 版本, Go 语言 Excel 基础库 2020 年首个更新
Excelize 发布了 2.1.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。
1448 1
Excelize 发布 2.1.0 版本, Go 语言 Excel 基础库 2020 年首个更新
SAP的BC425关于BTE部分的PA教材翻译
最直接的方法还是有个工程师面对面给你讲,但是如果没有个大活人给你讲解,我的建议是,看看PA教材吧,毕竟官方的东西。BTE的学名是Business Transaction Events,我靠事件啊BTE是什么身份什么地位呢?如下图上面只是个描述,我们看看重点,也就是说,SAP的增强其实有很多种方式,在BTE之前有老的方式,在BTE之后,还有更新的方式。
1709 0
|
Java
JDK10 EA版特性速览
今天收到一封邮件组的邮件,是关于JDK 10 First Release Candidate的, JDK10 b43版将作为第一个JDK10的RC版。 b43版特性包括: >286: Local-Variable Type Inference 296: Consolidate the JDK Forest into a Single Repository 304: Garbage-
3698 0