solr5Ik分词2】的更多相关文章

<!--IK分词器--><fieldType name="text_ik" class="solr.TextField"><analyzer type="index"><tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/><filter…
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: 1.下载IKAnalyzer分词器的压缩包并解压: 2.将IKAnalyzer压缩包中的jar包复制到Tomcat容器中已经部署的solr项目中的WEB-INF/lib目录下: 3.在Tomcat容器的solr项目中的WEB-INF/目录创建一个classes目录(默认该目录是不存在的,需手动创建)…
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 算法简介 在 结巴分词2--基于前缀词典及动态规划实现分词 博文中,博主已经介绍了基于前缀词典和动态规划方法实现分词,但是如果没有前缀词典或者有些词不在前缀词典中,jieba分词一样可以分词,那么jieba分词是如何对未登录词进行分词呢?这就是本文将要讲解的,基于汉字成词能力的HMM模型识别未登录词. 利用HMM模型进行分词,主要是将分词问题视为一个序列标注(…
如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. 这是因为使用了Elasticsearch中默认的标准分词器,这个分词器在处理中文的时候会把中文单词切分成一个一个的汉字,因此引入中文的分词器就能解决这个问题. 本篇文章按照下面的内容进行描述: 分词器的作用 安装IK 简单的测试 模拟测试 安装elasticsearch-analysis-piny…
正向最大匹配分词: 1.加载词典文件到集合中,取词典文件中最大长度词的length 2.每次先在句子中按最大长度分割,然后判断分割的词是否存在字典中,存在则记录此词,调整起始点. 3.不存在则按最大长度-1分割,继续判断是否存在字典中. #载入文件中词语于集合中,遍历求得词语的最大长度 def file_fun(): filename = './emma_lexicon/lexicon.dic' f = open(filename,encoding = 'utf-8') word_set = s…
常用技能(更新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…
OpenNLP:驾驭文本,分词那些事 作者 白宁超 2016年3月27日19:55:03 摘要:字符串.字符数组以及其他文本表示的处理库构成大部分文本处理程序的基础.大部分语言都包括基本的处理库,这也是对文本处理或自然语言处理的前期必要工作.典型代表便是分词.词性标注.句子识别等等.本文所介绍的工具主要针对英文分词,对于英文分词工具很多,笔者经比较Apache OpenNLP效率和使用便捷度较好.另外其针对Java开发提供开源的API.开篇简介OpenNLP的情况,随后介绍6种常用模型,最后针对…
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…
1. 前言 ICTCLAS是张华平在2000年推出的中文分词系统,于2009年更名为NLPIR.ICTCLAS是中文分词界元老级工具了,作者开放出了free版本的源代码(1.0整理版本在此). 作者在论文[1] 中宣称ICTCLAS是基于HHMM(Hierarchical Hidden Markov Model)实现,后在论文[2]中改成了基于层叠隐马尔可夫模型CHMM(Cascaded Hidden Markov Model).我把HHMM的原论文[3]读了一遍,对照ICTCLAS源码,发现I…
之前介绍的MMEM存在着label bias问题,因此Lafferty et al. [1] 提出了CRF (Conditional Random Field). BTW:比较有意思的是,这篇文章的二作与三作同时也是MEMM的作者. 1. 前言 本节将遵从tutorial [2] 的论文结构,从概率模型(Probabilistic Models)与图表示(Graphical Representation)两个方面引出CRF. 概率模型 Naïve Bayes(NB)是分类问题中的生成模型(gen…
Xue & Shen '2003 [2]用两种序列标注模型--MEMM (Maximum Entropy Markov Model)与CRF (Conditional Random Field)--用于中文分词:看原论文感觉作者更像用的是maxent (Maximum Entropy) 模型而非MEMM.MEMM是由McCallum et al. '2000 [1]提出MEMM,针对于HMM的两个痛点:一是其为生成模型(generative model),二是不能使用更加复杂的feature.…
在前一篇中介绍了用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}\)的情况下…
Nianwen Xue在<Chinese Word Segmentation as Character Tagging>中将中文分词视作为序列标注问题(sequence labeling problem),由此引入监督学习算法来解决分词问题. 1. HMM 首先,我们将简要地介绍HMM(主要参考了李航老师的<统计学习方法>).HMM包含如下的五元组: 状态值集合\(Q=\{q_1, q_2, \cdots, q_N\}\),其中\(N\)为可能的状态数: 观测值集合\(V=\{v_…
  ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 ElasticSearch第五步-.net平台下c#操作ElasticSearch详解 elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmse…
最近,很多朋友问我solr 中文分词配置的问题,都不知道怎么配置,怎么使用,原以为很简单,没想到这么多朋友都有问题,所以今天就总结总结中文分词的配置吧. 有的时候,用户搜索的关键字,可能是一句话,不是很规范.所以在 Solr 中查询出的时候,就需要将用户输入的关键字进行分词. 目前有很多优秀的中文分词组件.本篇只以  IKAnalyzer 分词为例,讲解如何在 solr  中及集成中文分词,使用 IKAnalyzer的原因 IK 比其他中文分词维护的勤快,和 Solr 集成也相对容易.具体就不多…
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /** * 获取文本的所有分词结果, 对比不同分词器结果 * @author 杨尚川 */ public interface WordSegmenter {…
node-segment是基于盘古分词写的Node.js中文分词模块,鉴于盘古分词给我留下的好印象,我们在Node.js上选择了它 一.安装node-segment npm install -g segment 二.使用 var Segment = require('segment'); var segment = new Segment(); segment.useDefault(); console.log((segment.doSegment('科技处女干事每月经过下属科室都要亲口交代24…
首先先介绍下solr的安装配置 solr下载地址 (我这用的solr-4.5.0) 运行环境 JDK 1.5或更高版本 下载地址(Solr 4以上版本,要求JDK 1.6)  我用的JDK1.6 ) 一个java servlet容器,如Tomcat 下载地址 (我用的Tomcat 6,注:JDK1.7 跟Tomcat 7貌似有兼容性问题,记于 2013.12.12) 分词mmseg4j 下载地址 (我用的1.9) 为防止大家各种目录搞混,安装前先告诉大家我自己所创建使用的目录 整个运行环境我创建…
简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以到它的在线演示站点体验下(注意第三行文字). .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了.最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果.另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterb…
在这里一下讲解着三个的安装和配置, 是因为solr需要使用tomcat和IK分词器, 这里会通过图文教程的形式来详解它们的安装和使用.注: 本文属于原创文章, 如若转载,请注明出处, 谢谢.关于设置IK分词器的文章 IK分词器: Linux下IK分词器的安装及配置 1, 解压tar文件首先我们在根目录下建立一个solr目录(使用命令: mkdir /solr):  然后查看目录是否生成成功:  解压solr/tomcat/IK 到solr文件夹下:  因为IK压缩包是zip格式的, 这里的解压方…
1.下载对应版本的ES ik分词 https://github.com/medcl/elasticsearch-analysis-ik/releases 2.解压elasticsearch-analysis-ik-master.zip unzip elasticsearch-analysis-ik-master.zip 3.进入elasticsearch-analysis-ik-master,编译源码 cd  elasticsearch-analysis-ik-master mvn clean …
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 兴趣点查询是指:输入框中输入地名.人名等查询信息后,地图上可以展示出对应信息所在的地址,并且根据需求以不同方式展示出相关地址的属性信息等. 以百度地图为例: 2.原理 所谓兴趣点查询,也就是前台输入描述信息后,后台根据该描述信息在地理数据库中查询到符合查询信息的地理数据和与此对应的属性数据,然后将数据返回给前台,前台进行展示.具体流程图如下: 3.数据采集…
最近碰到一个分词匹配需求--给定一个关键词表,作为自定义分词词典,用户query文本分词后,是否有词落入这个自定义词典中?现有的大多数Java系的分词方案基本都支持添加自定义词典,但是却不支持HDFS路径的.因此,我需要寻找一种简单高效的分词方案,稍作包装即可支持HDFS.MMSeg分词算法正是完美地契合了这种需求. 1. MMseg简介 MMSeg是蔡志浩(Chih-Hao Tsai)提出的基于字符串匹配(亦称基于词典)的中文分词算法.基于词典的分词方案无法解决歧义问题,比如,"武汉市长江大桥…
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://github.com/kencery/Lucene_Compass(项目内部有很详细的注释) 1.分词器的作用 a. 在创建索引的时候需要用到分词器,在使用字符串搜索的时候也会用到分词器,并且这两个地方要使用同一个分词器,否则可能会搜索不出来结果. b. 分词器(Analyzer)的作用是把一段文本中的词按…
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.ElasticSearch简单说明 a.ElasticSearch是一个基于Lucene开发的搜索服务器,具有分布式多用户的能力,ElasticSearch是用Java开发的开源项目(Apache许可条款),基于Restful Web接口,能够达到实时搜索.稳定.可靠.快速.高性能.安装使用方便,同时它的横向扩展能力非常强,不需要重启服务. b.ElasticSearch是一个…
中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词.其基本实现原理有三点: 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法 安装(Linux环境) 下载工具包,解压后进入目录下,运行:python setup.py install 模式 默认模式,试图将句子最精确地切开,适合文本分析 全模式,把句…
Install IK 源码地址:https://github.com/medcl/elasticsearch-analysis-ik,git clone下来. 1.compile mvn package copy and unzip target/releases/elasticsearch-analysis-ik-{version}.zip to your-es-root/plugins/ik 2.restart elasticsearch Tips: ik_max_word: 会将文本做最细…
我们知道,在 Shell 中,一个变量在被展开后,如果它没有被双引号包围起来,那么它展开后的值还会进行一次分词(word splitting,或者叫拆词,分词这个术语已经被搜索引擎相关技术占用了)操作,分成几个词,传给命令的就是几个单独的参数. 举个例子,比如: $ foo="1 2 3" $ how_many_args() { echo $#; } $ how_many_args $foo 3 $ how_many_args "$foo" 1 但是当这个变量出现在…
转载请注明出处! IK分词器如果配置成 <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query…