lucene6+HanLP中文分词】的更多相关文章

1.前言 前一阵把博客换了个模版,模版提供了一个搜索按钮,这让我想起一直以来都想折腾的全文搜索技术,于是就用lucene6.2.1加上HanLP的分词插件做了这么一个模块CSearch.效果看这里:https://chulung.com/search源码:CSearch 2.关于分词 索引的一个核心功能便是分词,lucene自带的分词是基于英语的,所以中文分词用其他插件比较好. 网上很多都是推荐IK-Analyzer,不过这个插件很久没更新了,用lucene6的话重构才能用:IK-Analyze…
以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在Github上,欢迎改进. HanLP中文分词solr插件支持Solr5.x,兼容Lucene5.x. 图1 快速上手 1.将hanlp-portable.jar和hanlp-solr-plugin.jar共两个jar放入${webapp}/WEB-INF/lib下 2.修改solr core的配置…
HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/KennFalcon/elasticsearch-analysis-hanl 从Elasticsearch 5.2.2开始,一直有跟随Elasticsearch的不同发行版而更新. 安装 1) 方式一: a. 下载对应的release安装包,最新release包可从baidu盘下载(链接:https:/…
以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在Github上,欢迎改进. HanLP中文分词solr插件支持Solr5.x,兼容Lucene5.x. 快速上手 将hanlp-portable.jar和hanlp-solr-plugin.jar共两个jar放入${webapp}/WEB-INF/lib下 修改solr core的配置文件${cor…
基于HanLP,支持包括Solr(7.x)在内的任何基于Lucene(7.x)的系统. Maven <dependency> <groupId>com.hankcs.nlp</groupId> <artifactId>hanlp-lucene-plugin</artifactId> <version>1.1.6</version> </dependency> Solr快速上手 1.将hanlp-portable…
概述   本文都是基于elasticsearch安装教程 中的elasticsearch安装目录(/opt/environment/elasticsearch-6.4.0)为范例 环境准备 ·全新最小化安装的centos 7.5 ·elasticsearch 6.4.0 认识中文分词器 在博文elasticsearch分词器中提到elasticsearch能够快速的通过搜索词检索出对应的文章归功于倒排索引,下面通过中文举例看看倒排索引. 中文分词器作用以及效果 中文分词器是做什么的呢? what…
 结构化感知机标注框架是一套利用感知机做序列标注任务,并且应用到中文分词.词性标注与命名实体识别这三个问题的完整在线学习框架,该框架利用1个算法解决3个问题,时自治同意的系统,同时三个任务顺序渐进,构成流水线式的系统.本文先介绍中文分词框架部分内容. 中文分词 训练 只需指定输入语料的路径(单文档时为文件路径,多文档时为文件夹路径,灵活处理),以及模型保存位置即可: 命令行 java -cp hanlp.jar com.hankcs.hanlp.model.perceptron.Main -ta…
自然语言处理在大数据以及近年来大火的人工智能方面都有着非同寻常的意义.那么,什么是自然语言处理呢?在没有接触到大数据这方面的时候,也只是以前在学习计算机方面知识时听说过自然语言处理.书本上对于自然语言处理的定义或者是描述太多专业化.换一个通俗的说法,自然语言处理就是把我们人类的语言通过一些方式或者技术翻译成机器可以读懂的语言. 人类的语言太多,计算机技术起源于外国,所以一直以来自然语言处理基本都是围绕英语的.中文自然语言处理当然就是将我们的中文翻译成机器可以识别读懂的指令.中文的博大精深相信每一…
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 3. 二元语法与中文分词 上一章中我们实现了块儿不准的词典分词,词典分词无法消歧.给定两种分词结果"商品 和服 务"以及"商品 和 服务",词典分词不知道哪种更加合理. 我们人类确知道第二种更加合理,只因为我们从小到大接触的都是第二种分词,出现的次数多,所以我们判定第二种是正确地选择.这就是利用了统计自然语言处理.统计自然语言处理的核心话题之一,就是…
2.1 jieba 2.1.1 jieba简介 Jieba中文含义结巴,jieba库是目前做的最好的python分词组件.首先它的安装十分便捷,只需要使用pip安装:其次,它不需要另外下载其它的数据包,在这一点上它比其余五款分词工具都要便捷.另外,jieba库支持的文本编码方式为utf-8. Jieba库包含许多功能,如分词.词性标注.自定义词典.关键词提取.基于jieba的关键词提取有两种常用算法,一是TF-IDF算法:二是TextRank算法.基于jieba库的分词,包含三种分词模式: 精准…
HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的特点. 在提供丰富功能的同时,HanLP内部模块坚持低耦合.模型坚持惰性加载.服务坚持静态提供.词典坚持明文发布,使用非常方便,同时自带一些语料处理工具,帮助用户训练自己的语料.笔者坚定支持开源的项目,本文初衷是使用自然语言…
在前一篇中介绍了用HMM做中文分词,对于未登录词(out-of-vocabulary, OOV)有良好的识别效果,但是缺点也十分明显--对于词典中的(in-vocabulary, IV)词却未能很好地识别.主要是因为,HMM本质上是一个Bigram的语法模型,未能深层次地考虑上下文(context).对于此,本文将介绍更为复杂的二阶HMM以及开源实现. 1. 前言 n-gram语法模型 n-gram语法模型用来:在已知前面\(n-1\)个词\(w_1, \cdots, w_{n-1}\)的情况下…
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /** * 获取文本的所有分词结果, 对比不同分词器结果 * @author 杨尚川 */ public interface WordSegmenter {…
注意:基于lucene5.5.x版本 一.简单介绍下IK Analyzer IK Analyzer是linliangyi2007的作品,再此表示感谢,他的博客地址:http://linliangyi2007.iteye.com/ IK Analyzer支持两种分词,一种是最细粒度分词(推荐使用,Ik默认采用最细粒度),还有一种的智能分词(测试了一下智能分词还没有lucene自带的分词准确,呵呵了). 二.IK Analyzer兼容性问题解决办法 IKanalyzer目前最新版本只支持到lucen…
摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P4 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bcebos.com/cips2016.pdf 之前写过一篇中文分词总结,那么在那篇基础上,通过在CIPS2016的摘录进行一些拓展.可参考上篇:NLP+词法系列(一)︱中文分词技术小结.几大分词引擎的介绍与比较 NLP词法.句法.语义.语篇综合系列: NLP+词法系列(一)︱中文分词技术小结.几大分词引擎的介绍与…
中文分词:即换个分词器 Analyzer analyzer = new StandardAnalyzer();// 标准分词器     换成  SmartChineseAnalyzer analyzer = new SmartChineseAnalyzer();//要加入lucene-analyzers-common-5.3.1.jar package com.wp.lucene; import java.nio.file.Paths; import org.apache.lucene.anal…
Hanlp作为一款重要的中文分词工具,在GitHub的用户量已经非常之高,应该可以看得出来大家对于hanlp这款分词工具还是很认可的.本篇继续分享一篇关于hanlp的使用实例即Python调用hanlp进行中文实体识别. 想要在python中调用hanlp进行中文实体识别,Ubuntu 16.04的系统环境 1.安装jpype1,在cmd窗口输入 pip install jpype1 2.下载hanlp的安装包 在https://github.com/hankcs/HanLP/releases…
1.分析器的执行过程:…
自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分.这个星球上有许多生物拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言. 自然语言处理的目标是让计算机处理或说“理解”自然语言,以完成有意义的任务,比如订机票购物或QA等.完全理解和表达语言是极其困难的,完美的语言理解等效于实现人工智能. 自然语言处理涉及的几个层次: 作为输入一共有两个来源,语音与文本.所以第一级是语音识别和OC…
前言 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块.不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性.句法树等模块的效果.当然分词只是一个工具,场景不同,要求也不同.在人机自然语言交互中,成熟的中文分词算法能够达到更好的自然语言处理效果,帮助计算机理解复杂的中文语言.根据中文分词实现的原理和特点,可以分为: 基于词典分词算法 基于理解的分词方法 基于统计的机器学习算法 基于词典分词算法 基于词典分词算法,…
一.简介        针对现有中文分词在垂直领域应用时,存在准确率不高的问题,本文对其进行了简要分析,对中文分词面临的分词歧义及未登录词等难点进行了介绍,最后对当前中文分词实现的算法原理(基于词表.统计以及序列标注等算法)进行了简要阐述,并对比了现有技术的优缺点,并给出了本文作者在工程应用上的中文分词调优的经验分享. 二.引言        中文信息处理是指自然语言处理的分支,是指用计算机对中文进行处理.和大部分西方语言不同,汉语的词语之间没有明显的空格标记,句子是以字串的形式出现.常规来说,…
Elasticsearch(10) --- 内置分词器.中文分词器 这篇博客主要讲:分词器概念.ES内置分词器.ES中文分词器. 一.分词器概念 1.Analysis 和 Analyzer Analysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词.Analysis是通过Analyzer来实现的. 当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field). 倒排索引的过程就是将文档通过Analyzer分成一个一个的T…
上课我们介绍了倒排索引,在里面提到了分词的概念,分词器就是用来分词的. 分词器是ES中专门处理分词的组件,英文为Analyzer,定义为:从一串文本中切分出一个一个的词条,并对每个词条进行标准化.它由三部分组成, Character Filters:分词之前进行预处理,比如去除html标签 Tokenizer:将原始文本按照一定规则切分为单词 Token Filters:针对Tokenizer处理的单词进行再加工,比如转小写.删除或增新等处理,也就是标准化 预定义的分词器 ES自带的分词器有如下…
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /**  * 获取文本的所有分词结果, 对比不同分…
目录 一.中文分词理论描述 二.算法描述 1.正向最大匹配算法 2.反向最大匹配算法 3.双剑合璧 三.案例描述 四.JAVA实现完整代码 五.组装UI 六.总结 前言 这篇将使用Java实现基于规则的中文分词算法,一个中文词典将实现准确率高达85%的分词结果.使用经典算法:正向最大匹配和反向最大匹配算法,然后双剑合璧,双向最大匹配. 一.中文分词理论描述 根据相关资料,中文分词概念的理论描述,我总结如下: 中文分词是将一个汉字序列切分成一个一个单独的词,将连续的字序列按照一定的规范重新组合成词…
IK是基于字典的一款轻量级的中文分词工具包,可以通过elasticsearch的插件机制集成: 一.集成步骤 1.在elasticsearch的安装目录下的plugin下新建ik目录: 2.在github下载对应版本的ik插件: https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.12 3.解压插件文件,并重启elasticsearch,可以看到如下已经加载了ik插件: [2022-01-11T15:22:54…
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: 1.下载IKAnalyzer分词器的压缩包并解压: 2.将IKAnalyzer压缩包中的jar包复制到Tomcat容器中已经部署的solr项目中的WEB-INF/lib目录下: 3.在Tomcat容器的solr项目中的WEB-INF/目录创建一个classes目录(默认该目录是不存在的,需手动创建)…
常用技能(更新ing):http://www.cnblogs.com/dunitian/p/4822808.html#skill 技能总纲(更新ing):http://www.cnblogs.com/dunitian/p/5493793.html 在线演示:http://cppjieba-webdemo.herokuapp.com 完整demo:https://github.com/dunitian/TempCode/tree/master/2016-09-05 逆天修改版:https://gi…
1. 前言 Jieba是由fxsjy大神开源的一款中文分词工具,一款属于工业界的分词工具--模型易用简单.代码清晰可读,推荐有志学习NLP或Python的读一下源码.与采用分词模型Bigram + HMM 的ICTCLAS 相类似,Jieba采用的是Unigram + HMM.Unigram假设每个词相互独立,则分词组合的联合概率: \begin{equation} P(c_1^n) = P(w_1^m) = \prod_i P(w_{i}) \label{eq:unigram} \end{eq…
前言 用过Lucene.net的都知道,我们自己搭建索引服务器时和解决搜索匹配度的问题都用到过盘古分词.其中包含一个词典. 那么既然用到了这种国际化的框架,那么就避免不了中文分词.尤其是国内特殊行业比较多.比如油田系统从勘探.打井.投产等若干环节都涉及一些专业词汇. 再像电商,手机.手机配件.笔记本.笔记本配件之类.汽车,品牌.车系.车型等等,这一系列数据背后都涉及各自领域的专业名次,所以中文分词就最终的目的还是为了解决搜索结果的精确度和匹配度的问题. IK搜索预览 我的univeral Cor…