基于结构化平均感知机的分词器Java实现 作者:hankcs 最近高产似母猪,写了个基于AP的中文分词器,在Bakeoff-05的MSR语料上F值有96.11%.最重要的是,只训练了5个迭代:包含语料加载等IO操作在内,整个训练一共才花费23秒.应用裁剪算法去掉模型中80%的特征后,F值才下降不到0.1个百分点,体积控制在11兆.如果训练一百个迭代,F值可达到96.31%,训练时间两分多钟. 数据在一台普通的IBM兼容机上得到: 本模块已集成到HanLP 1.6以上版本开源,文档位于项目wiki…
介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elasticsearch 是用 Java 开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. Elasticsearch中,内置了很多分词器(analyzers).下面来进行比较下系统默认分词器和常用的中文分词器之间的区别. 系统默认分词器:1.…
IK分词器在是一款 基于词典和规则 的中文分词器.本文讲解的IK分词器是独立于elasticsearch.Lucene.solr,可以直接用在java代码中的部分.关于如何开发es分词插件,后续会有文章介绍. IK分词器的源码:Google Code,直接下载请点击这里. 一.两种分词模式 IK提供两种分词模式:智能模式和细粒度模式(智能:对应es的IK插件的ik_smart,细粒度:对应es的IK插件的ik_max_word). 先看两种分词模式的demo和效果 import org.wlte…
前言 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块.不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性.句法树等模块的效果.当然分词只是一个工具,场景不同,要求也不同.在人机自然语言交互中,成熟的中文分词算法能够达到更好的自然语言处理效果,帮助计算机理解复杂的中文语言.根据中文分词实现的原理和特点,可以分为: 基于词典分词算法 基于理解的分词方法 基于统计的机器学习算法 基于词典分词算法 基于词典分词算法,…
概述   本文都是基于elasticsearch安装教程 中的elasticsearch安装目录(/opt/environment/elasticsearch-6.4.0)为范例 环境准备 ·全新最小化安装的centos 7.5 ·elasticsearch 6.4.0 认识中文分词器 在博文elasticsearch分词器中提到elasticsearch能够快速的通过搜索词检索出对应的文章归功于倒排索引,下面通过中文举例看看倒排索引. 中文分词器作用以及效果 中文分词器是做什么的呢? what…
1.背景 1.1 简介 ES默认的分词器对中文分词并不友好,所以一般会安装中文分词插件,以便能更好的支持中文分词检索. 本例参考文档:<一文教你掌握IK中文分词> 1.2 IK分词器 IK分词器在是一款基于词典和规则的中文分词器.这里讲解的IK分词器是独立于Elasticsearch.Lucene.Solr,可以直接用在java代码中的部分.实际工作中IK分词器一般都是集成到Solr和Elasticsearch搜索引擎里面使用. IK分词采用Java编写. IK分词的效果主要取决于词库,目前自…
结构化感知器(Structured Perceptron, SP)是由Collins [1]在EMNLP'02上提出来的,用于解决序列标注的问题:中文分词工具THULAC.LTP所采用的理论模型便是基于此. 1. 结构化感知器 模型 CRF全局化地以最大熵准则建模概率\(P(Y|X)\):其中,\(X\)为输入序列\(x_1^n\),\(Y\)为标注序列\(y_1^n\).不同于CRF,SP则是(同样以最大熵准则)建模score函数: \[ S(Y,X) = \sum_s \alpha_s \P…
前言: lucene全文搜索之一中讲解了lucene开发搜索服务的基本结构,本章将会讲解如何创建索引器.管理索引目录和中文分词器的使用. 包括标准分词器,IKAnalyzer分词器以及两种索引目录的创建 luncene5.5.3集合jar包下载地址:http://download.csdn.net/detail/eguid_1/9677589 一.创建索引器 创建lucene的索引器需要两个要素:一个是分词器,一个是索引目录. 那么就让我们创建这两个实例 1.创建分词器 (1)创建lucene内…
文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同义词转化和许多的文本处理. 文本分析既用于索引时对一文本域的处理,也用于查询时查询字符串的文本处理.文本处理对搜索引擎的搜索结果有着重要的影响,特别是对如召回率的影响. 文本分析是将一个文本域的值转化为一个词序列.词是Lucene实际索引和搜索时的最小单元.分析作用于索引时原始的输入值,将转化后的词顺序保存到Lucene的索引结构中.文本分析也同样作用于查询时所输入的查询串中的查询词和查询短语,转化后的词将用于查询Lucene的索引.…
不像英文那样单词之间有空格作为天然的分界线, 中文词语之间没有明显界限.必须采用一些方法将中文语句划分为单词序列才能进一步处理, 这一划分步骤即是所谓的中文分词. 主流中文分词方法包括基于规则的分词,基于大规模语料库的统计学习方法以及在实践中应用最多的规则与统计综合方法. 隐马尔科夫模型(HMM)是中文分词中一类常用的统计模型, 本文将使用该模型构造分词器.关于HMM模型的介绍可以参见隐式马尔科夫模型. 方法介绍 中文分词问题可以表示为一个序列标注问题,定义两个类别: E代表词语中最后一个字 B…