新用户注册入口 老用户登录入口

计算机领域分词词汇表,点这里免费下载txt,内有java的IKAnalyzer示例

文章作者:admin-tim 更新时间:2024-01-26 17:33:58 阅读数量:406
文章标签:分词器词典IKAnalyzerluceneIKSegmenter
本文摘要:本文介绍了IKAnalyzer的使用,最重要的是它引入了一个全新的词典,这个词典是站长提供的计算机领域的分词词典。有了这个新的词典,就可以让IKAnalyzer以及其它分词器切分出计算机领域的词汇,比如“查询解析引擎”、“中文分词工具包”这类的词,在没有当前新词典的情况下是无法被切割出来的。
Java

1. 背景

分词器的应用十分广泛,西方语言的分词器只需要按照空格和标点符号来划分,但中文的分词,就需要维护词典

现在已经有很多非常好用的中文分词器,大家都是基于词典进行分词。但是词典一般是常用词的词典,如果你的文章领域是计算机领域,可能就需要自己扩充词典。

比如“合并排序树”,在计算机领域可以作为一个单独的词,但使用未加载计算机词典的分词器可能就会分词为——二叉、排序、树。但有的时候我们也想让它作为一个独立的词出现,这样可能会在搜索逻辑中会获得更高的匹配得分,或有其它的更多用途。

2. 下载地址

点我免费下载


改词典是站长用ai训练并整理的,这一版本包含6万多个计算机领域的词汇,能为你的工作带来一些帮助,非常高兴!

但可能也有些不属于计算机领域的词汇被误整理了进去,但对分词逻辑应该是无害的。

词库txt文件一览(60721个词汇):

建议:如果你的程序对分词比较敏感,请务必先小范围用少量样本测试试用,看看分词效果是否符合预期,没有问题再放入正式环境。

3. java示例

这里用IKAnalyzer举例,IKAnalyzer的示例网上有很多,这里简要描述。

3.1 依赖下载

这里提供一个阿里云的仓库,你可以搜索并下载得到对应dependency的坐标并引入到你的pom.xml里面:

阿里云仓库:https://developer.aliyun.com/mvn/search


    <dependency>
        <groupId>com.janeluo</groupId>
        <artifactId>ikanalyzer</artifactId>
        <version>2012_u6</version>
    </dependency>

初次以外,你还要引入一个lucene的依赖:

    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-core</artifactId>
      <version>3.6.0</version>
    </dependency>

3.2 java代码

public static void cut(String text) throws IOException {
    List terms = new ArrayList();
    try (StringReader sr = new StringReader(text)) {
      IKSegmenter ik = new IKSegmenter(sr, false);
      Lexeme lex = null;
      while ((lex = ik.next()) != null) {
        terms.add(lex.getLexemeText());
      }
    }
    System.out.println(JSON.toJSONString(terms));
  }

用main函数或你代码中的上游逻辑调用上述cut代码,即可输出分词结果。

3.3 加入新的词典

你需要在classpath下面引入IKAnalyzer的配置文件:IKAnalyzer.cfg.xml

并把上边下载好的词典引入进去,如下图:

3.4 切换分词模式

熟悉IKAnalyzer的朋友都知道它有两个分词模式:ik_max_word和ik_smart

在3.2的代码中可以用“new IKSegmenter(sr, false)”的第二个参数做切换,为true则是ik_smart,为false则是ik_max_word。

4. 效果对比测试

这里对下面两个字符串做分词效果测试:

String text1 = "阿姆斯里克数据处理查询解析引擎";

String text2 = "基于java语言开发的轻量级的中文分词工具包";

4.1 未引入新词典的分词效果

4.2 引入新词典的分词效果

上图可以看到,比如“查询解析引擎”、“中文分词工具包”这类的词已经被分词器切割出来了,这在没有新词典的情况下是无法完成的。

5. 补充说明

尽管该文章以IKAnalyzer为例,但是这个词典是通用的,它的格式是“词汇1\n词汇2\n词汇3\n”,即用回车符分隔的一个个词汇。很多分词器都是通用的。

文章是原创的,词典是站长整理的,如有转载,请注明出处,表示感谢!



相关阅读
文章标题:java中模块和类模块的区别

更新时间:2023-01-11
java中模块和类模块的区别
文章标题:java中char和ch区别

更新时间:2023-01-16
java中char和ch区别
文章标题:你知道吗,访问你的服务器的用户很可能是爬虫,如何识别它们呢

更新时间:2024-01-26
你知道吗,访问你的服务器的用户很可能是爬虫,如何识别它们呢
文章标题:java中异步和同步的问题

更新时间:2023-05-04
java中异步和同步的问题
文章标题:计算机领域分词词汇表,点这里免费下载txt,内有java的IKAnalyzer示例

更新时间:2024-01-26
计算机领域分词词汇表,点这里免费下载txt,内有java的IKAnalyzer示例
文章标题:java中T和object的关系

更新时间:2023-11-01
java中T和object的关系
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
netcat (nc) -l -p port_number - 监听指定端口以接收数据。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
Kibana中设置数据保留策略:索引生命周期与滚动操作详解 04-30 MyBatis框架中`StatementParameterIndexOutOfRange`异常:参数数量与占位符匹配问题详解及解决方案 01-24 利用Docker部署Nginx并配置CORS解决Web服务器跨域问题:详解Access-Control-Allow-Origin与Access-Control-Allow-Methods设置 11-18 宽屏创意思维案例展示源码模板下载 11-12 JSON在网站数据导入中的核心角色:API接口、数据交换与解析实践 10-11 C#中声明和初始化类:构造函数、属性与对象初始化器在Person类实例化中的应用实践 08-23 Java中Write和Login用法 08-11 二级导航 代码html 08-10 详解WCF在.NET框架下的Web服务开发:从服务契约创建到终结点配置、安全性实践与部署调用 07-18 本次刷新还10个文章未展示,点击 更多查看。
利用Impala进行实时大规模日志分析:SQL查询优化与Hadoop/Hive集成实践 07-04 丰富人脸识别系统后台管理模板 06-23 响应式法律法务咨询类企业前端CMS模板下载 06-23 [转载]《Android开发从零开始》——31.模拟Http请求 05-22 分布式系统中服务注册与发现的故障容错策略:多节点注册中心、负载均衡与Dubbo异步机制配合Zookeeper和Eureka实践 05-13 Groovy语言中的日期时间处理:从创建对象到格式化、比较与计算时间差实践 05-09 Apache Solr内存优化:应对Java heap space异常,调整查询缓存与索引文件大小策略 04-07 Nacos在分布式系统中的配置管理与服务注册发现实践——复杂业务场景下的高效稳定应用 04-02 黑色响应式高端服装展示类前端模板下载 03-28 [转载]4 款实用的网页设计开源工具【附下载】 02-12 蓝色机械设备网站企业模板html下载 01-17
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"