HanLP的分词效果
鄙人研究了HanLP,他的分词效果确实还可以,而且速度也比较快,10的数据是9000毫秒
@SneakyThrows
@Override
public LinkedHashMap<String, Integer> hotWordsCount(String text) {
// 存放结果的集合
LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
// 获取停用词词库的路径
String stopWordPath = ClassUtils.getDefaultClassLoader().getResource("static/dictionary/stopwords.txt").getPath();
// 读取停用词表
BufferedReader br = new BufferedReader(new FileReader(stopWordPath));
//调用HanLP.segment()对句子进行分词处理
List<Term> terms = HanLP.segment(text);
// 使用readLine方法,一次读一行,读取待处理文本
ArrayList<String> stopWordList = new ArrayList();
String stopWord;
while ((stopWord = br.readLine()) != null) {
stopWordList.add(stopWord);
}
for (Term term : terms) {
// 判断是否为数字,如果是数字直接选择跳过
if (Pattern.compile("[0-9]*").matcher(term.word).matches()) {
continue;
}
if (term.word.equals("\n")) {
continue;
}
if (term.word.equals("\r")) {
continue;
}
// 如果有停用词
if (stopWordList.contains(term.word.trim())) {
continue;
}
if (stopWordList.contains(term.word.replace(" ", ""))) {
continue;
}
if (term.word.contains("/")) {
continue;
}
// 判断长度
if (term.word.length() >= 2) {
// 说明是第一次
if (linkedHashMap.get(term.word) == null) {
linkedHashMap.put(term.word, 1);
} else {
linkedHashMap.put(term.word, linkedHashMap.get(term.word) + 1);
}
}
}
return linkedHashMap;
}

HanLP的分词统计的更多相关文章

  1. R(八): R分词统计-老九门

    分析文本内容基本的步骤:提取文本中的词语 -> 统计词语频率 -> 词频属性可视化.词频:能反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多.词云:让词语的频率属性可 ...

  2. lucene6+HanLP中文分词

    1.前言 前一阵把博客换了个模版,模版提供了一个搜索按钮,这让我想起一直以来都想折腾的全文搜索技术,于是就用lucene6.2.1加上HanLP的分词插件做了这么一个模块CSearch.效果看这里:h ...

  3. 菜鸟如何使用hanlp做分词的过程记录

    菜鸟如何使用hanlp做分词的过程记录 最近在学习hanlp的内容,准备在节后看看有没有时间整理一波hanlp分享下,应该还是会像之前分享DKHadoop一样的方式吧.把整个学习的过程中截图在配文字的 ...

  4. 全文检索Solr集成HanLP中文分词

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  5. Elasticsearch:hanlp 中文分词器

    HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/Ke ...

  6. 全文检索Solr集成HanLP中文分词【转】

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  7. HanLP中文分词Lucene插件

    基于HanLP,支持包括Solr(7.x)在内的任何基于Lucene(7.x)的系统. Maven <dependency> <groupId>com.hankcs.nlp&l ...

  8. jieba库分词统计

    代码在github网站,https://github.com/chaigee/chaigee,中的z3.py文件 py.txt为团队中文简介文件 代码运行后词频统计使用xlwt库将数据发送到excel ...

  9. 仿分词统计的MapReduce 程序。

    HDFS 数据格式 :  举例单条数据:02-26 08:01:56 [qtp512249001-42] INFO  async-statistics - class com.spring.aop.S ...

随机推荐

  1. 深入了解Kafka【一】概述与基础架构

    1.概述 Kafka是一个分布式的.基于发布订阅的消息系统,主要解决应用解耦.异步消息.流量削峰等问题. 2.发布订阅模型 消息生产者将消息发布到Topic中,同时有多个消息消费者订阅该消息,消费者消 ...

  2. Java Jar源码反编译工具那家强

    本文介绍下Java Jar常见的反编译工具,并给出使用感受. 反编译JAR能干什么: 排查问题.分析商业软件代码逻辑,学习优秀的源码思路. JD-GUI 下载地址:http://java-decomp ...

  3. 用Python实现十大经典排序算法-插入、选择、快速、冒泡、归并等

    本文来用图文的方式详细讲解了Python十大经典排序算法 —— 插入排序.选择排序.快速排序.冒泡排序.归并排序.希尔排序.插入排序.桶排序.基数排序.计数排序算法,想要学习的你们,继续阅读下去吧,如 ...

  4. Jmeter-添加用户变量

    1. 创建用户定义的变量. 2. 3. 4.输出结果:

  5. Live a "love to" life,not a "have to" life.

    过想要的生活,而不是没有选择性的生活.

  6. [oracle/Sql]怎样比较两表的差异?

    比如有这么一个表: create table test02( id number(8,0) primary key, name nvarchar2(20), sal number(5,0) ) 可以这 ...

  7. HTML标签语言一览表

    <html> ● 文件声明 让浏览器知道这是 html 文件 <head> ● 开头 提供文件整体资讯 <title> ● 标题 定义文件标题,将显示于浏览顶端 & ...

  8. 面向对象--有参数的__init__方法

    有参数的__init__()方法 class Hero(object): """定义了一个英雄类,可以移动和攻击""" def __init ...

  9. softmax交叉熵损失函数求导

    来源:https://www.jianshu.com/p/c02a1fbffad6 简单易懂的softmax交叉熵损失函数求导 来写一个softmax求导的推导过程,不仅可以给自己理清思路,还可以造福 ...

  10. Linux常用命令详解(3)

    pidofpstopipuptimewgetcurltrddtargrepfind 命令详解 1.pidof 获取正在运行程序的PID 实例1: [root@ken ~]# pidof sshd 24 ...