ansj分词器使用记录
//最简单实例 String ruiec = “分词测试123456100名”;
//剔除指定的分词
s.insertStopWords("100名");
//剔除标点符号(w)
s.insertStopNatures("w");
//删除指定字
s.insertStopRegexes("请.*?");
String result1=ToAnalysis.parse(ruiec).recognition(s).toStringWithOutNature().replaceAll(","," "); System.out.println(result1);
以上是使用ansj分词器的最简单实例。
import org.ansj.app.keyword.KeyWordComputer;
import org.ansj.app.keyword.Keyword;
import org.ansj.domain.Result;
import org.ansj.domain.Term;
import org.ansj.recognition.impl.StopRecognition;
import org.ansj.splitWord.analysis.ToAnalysis; import java.util.*; /**
* Created by Liu
*/
public class SplitWordsByAnsj { public Keyword spiltword(String word) {
KeyWordComputer<?> kwc = new KeyWordComputer(5);
StopRecognition s = new StopRecognition();
List<Keyword> result=kwc.computeArticleTfidf(word);
return result.get(0); }
public static void main(String[] args) {
String word = "政务云是指通过云计算技术,统筹机房、计算、应用支撑、信息资源等,发挥云计算的虚拟化、高可靠性、高通用性、高可扩展性,使其数据处理快速、按需、弹性服务,为政府行业提供基础设施、支撑软件、应用系统、信息资源、运行保障和信息安全等综合服务平台。"; SplitWordsByAnsj ansj= new SplitWordsByAnsj();
System.out.println(ansj.spiltword(word).toString());//词组
System.out.println(ansj.spiltword(word).getScore());//词组的权重 }
}
以上是将一个句子分为几个词组,并展示出词组在句子中所占的权重,根据权重大小输出
KeyWordComputer<?> kwc = new KeyWordComputer(5)可以设置
输出词组的个数
public class SplitWordsByAnsj {
public Keyword spiltword(String title,String content) {
KeyWordComputer<?> kwc = new KeyWordComputer(5);
StopRecognition s = new StopRecognition();
//List<Keyword> result=kwc.computeArticleTfidf(word);
List<Keyword> result1=kwc.computeArticleTfidf(title, content);
return result1.get(0);
}
public static void main(String[] args) {
String title ="政务云是云计算技术";
String content = "政务云(Government Cloud)是指通过云计算技术,统筹机房、计算、应用支撑、信息资源等,发挥云计算的虚拟化、高可靠性、高通用性、高可扩展性,使其数据处理快速、按需、弹性服务,为政府行业提供基础设施、支撑软件、应用系统、信息资源、运行保障和信息安全等综合服务平台。";
SplitWordsByAnsj ansj= new SplitWordsByAnsj();
System.out.println(ansj.spiltword(title,content).toString());//词组
System.out.println(ansj.spiltword(title,content).getScore());//词组的权重
}
}
以上是根据标题将内容分为与标题相关的词组,即关键词
数据包

ansj分词器使用记录的更多相关文章
- elasticsearch使用ansj分词器
目前elasticsearch的版本已经更新到7.0以上了,不过由于客户需要5.2.2版本的elasticsearch,所以还是需要安装的,并且安装上ansj分词器.在部署ES的时候,采用容器的方式进 ...
- Lucene.net(4.8.0)+PanGu分词器问题记录一:分词器Analyzer的构造和内部成员ReuseStategy
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
- elasticsearch安装ansj分词器
1.概述 elasticsearch用于搜索引擎,需要设置一些分词器来优化索引.常用的有ik_max_word: 会将文本做最细粒度的拆分.ik_smart: 会做最粗粒度的拆分.ansj等. ...
- 安装ansj分词器
项目地址:https://github.com/4onni/elasticsearch-analysis-ansj https://github.com/laigood/elasticsearch-a ...
- ElasticSearch最全分词器比较及使用方法
介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elasticsearch 是用 Java 开 ...
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...
- 11大Java开源中文分词器的使用方法和分词效果对比
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...
- ES-自然语言处理之中文分词器
前言 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块.不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性.句法树 ...
- 如何使用Pig集成分词器来统计新闻词频?
散仙在上篇文章中,介绍过如何使用Pig来进行词频统计,整个流程呢,也是非常简单,只有短短5行代码搞定,这是由于Pig的内置函数TOKENIZE这个UDF封装了单词分割的核心流程,当然,我们的需求是各种 ...
随机推荐
- 十七:jinja2之宏
宏有点类似于函数,接收一些数据,进行处理,但是没有返回值,可以将一些常用的代码片段放到宏中,然后把不固定的值抽出来做变量 使用maacro来定义宏,使用宏的时候,参数可以设默认值 自定义一个input ...
- python学习笔记:(十五)迭代器和生成器
一.迭代器: 1.迭代器是python最强大的功能之一,是访问集合元素的一种方式. 2.迭代器是一个可以记住遍历的位置的对象. 3.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问结束.迭代 ...
- Django配置Mysql数据库 (Pycharm)
Django配置MySQL数据库方法 一.settings.py文件中修改数据库配置为下面的内容: # Database # https://docs.djangoproject.com/en/2.0 ...
- Python实现打印螺旋矩阵功能的方法
Python实现打印螺旋矩阵功能的方法 本文实例讲述了Python实现打印螺旋矩阵功能的方法.分享给大家供大家参考,具体如下: 一.问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: ...
- python基础学习笔记-切片难点
numbers = [1,2,3,4,5,6,7,8,9,10] print(numbers[5::-2]) print(numbers[10:5:-2]) print(numbers[:5:-2]) ...
- linux 磁盘命令
用到共享软件为:samba 配置文件为 /etc/samba/smb.conf sudo fdisk -l 查看磁盘 sudo df -lh 查看磁盘挂载情况 sudo mount /dev/sdb ...
- mysql——触发器——前期整理笔记00
一.触发器 触发器是由事件来出发某个动作.这些事件包括insert语句.update语句和delete语句. 当数据库系统执行这些事件时,就会激活触发器执行相应得动作. 触发器是有insert.upd ...
- Linux ulimit 命令 限制系统用户对 shell 资源的访问
ulimit命令用来限制系统用户对 shell 资源的访问,常见用法如下: [root@MongoDB ~]# ulimit -a // 查看当前所有的资源限制 [root@MongoDB ~]# u ...
- OpenTSDB查询和写入毫秒级数据
由于OpenTSDB没有支持Java的SDK进行调用,所以基于Java开发OpenTSDB的调用将要依靠HTTP请求的方式进行. 1.毫秒级数据写入 /api/put:通过POST方式插入JSON格式 ...
- 洛谷 P2331 最大子矩阵 题解
题面 对于m==1和m==2两种状态进行不同的dp: 设sum[i][1]表示第一列的前缀和,sum[i][2]表示第二列的前缀和: sum[i][1]=sum[i-1][1]+a[i][1]; su ...