GTAnalyzer-lucene中文分词

原创 2013年12月02日 16:56:23
此分词算法主要来源于:http://xiecc.blog.163.com/blog/static/14032200671110224190/


源码svn地址:http://code.taobao.org/svn/gtanalyzer/trunk



可以使用svn下载源代码

 
 1.词典使用树形结构保存,每一个字符占一个树的节点,相同前缀的词在同一棵子树中


 2.使用了正向匹配分词法,但是不受词长限制,可以是任意长度的词
 3.消除歧义,比如:中华人民共和国,可以分为:中华人民共和国/中华人民/人民共和国/人民/共和/共和国;前提是你的词典中有这些词
 4.这个组件不光是lucene的中文分词实现,也是一个独立的java分词组件,不依赖任何jar包,具体的分词在com.wuda.segmentation包下
 5.util包中的CharacterTree.java的findPrefix提供根据前缀找单词的功能,这个可以用于搜索框的输入提示功能
 

测试结构: 我的是联想E420电脑,加载28万个单词 1.加载平均用时9秒; 2.分词速度平均110万中文字/秒,平均2100KB/S 3.随机查找5866个前缀,共用时190ms,平均用时0.032390043ms,包括了排序,提供的排序接口可以是升序或者降序

使用: 1.如果只用于lucene分词,则只需 a)Analyzer analyzer = new GTAnalyzer();

主要是基于lucene4.0开发,不同版本可能有可能不兼容

b)可以在src目录下新增一个gt.properties文件,用于配置自定义词典位置和句分隔符,默认有提供词典。

2.如果只用于前缀匹配: a)CharacterTree tree = new CharacterTree(); //生成空词典 b)tree.load(resource); 或者 tree.add(word); //加载单词 c)PriorityLinkedQueue<Word> queue=new PriorityLinkedQueue<Word>(10,Order.DESC);//降序队列 d)tree.findPrefix(prefix, queue); //前缀查找 e)queue.next() //获取元素

2)如果是作为独立的java分词组件:

a)CharacterTree tree = new CharacterTree(); //生成空词典 

b)tree.load(resource); 或者 tree.add(word); //加载单词

c)Segmenter seg = new GTSegmenter(dic); //分词实例

d)List<Token> tokens= seg.seg(str); // 执行分词

用HMM模型进行中文分词

用HMM模型进行中文分词
  • PKU_ZZY
  • PKU_ZZY
  • 2017年02月22日 09:49
  • 1034

中文分词技术介绍

随着需求的变化和技术的发展,互联网企业对数据的分析越来越深入,尤其是自然语言处理处理领域,近几年,在搜索引擎、数据挖掘、推荐系统等应用方面,都向前迈出了坚实的步伐。自然语言处理领域涉及的技术非常多,为...
  • shibing624
  • shibing624
  • 2016年05月27日 17:23
  • 828

Spark 大数据中文分词统计 (一) 开发环境搭建

几年前搞BI项目时就听说过大数据技术,当时也买了书,可惜没有认真去学。几年5月份 开始,报名参加王家林老师的大数据蘑菇云行动,才算真正开始学习Spark,学习大数据技术。           网上很多...
  • yangdanbo1975
  • yangdanbo1975
  • 2016年08月13日 10:07
  • 2470

Elasticsearch设置中文分词

安装分词插件在ES安装目录下:./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik...
  • lilongsy
  • lilongsy
  • 2017年10月19日 14:52
  • 494

中文分词综述

现有分词介绍: 自然语言处理是一个信息时代最重要的技术之一,简单来讲,就是让计算机能够理解人类语言的一种技术。在其中,分词技术是一种比较基础的模块。对于英文等拉丁语系而言,由于词之间有空格作为词边际...
  • weekyin
  • weekyin
  • 2016年08月04日 15:10
  • 1022

Nutch1.2 添加IKAnalyzer中文分词

原版nutch中对中文的处理是按字划分,而不是按词划分,我们可以为其添加一些中文分词插件,例如IKAnalyzer。参看了网上很多教程,最后也没能成功,最后综合了几个教程的内容,最终成功。首先作以下几...
  • jiutao_tang
  • jiutao_tang
  • 2011年06月02日 17:24
  • 7263

使用Postgresql进行中文分词

使用Postgresql进行中文分词安装 postgresql 数据库解压tar -zxvf postgresql-9.6.6.tar.gz配置./configure可能会缺少这个依赖,安装readl...
  • u012995856
  • u012995856
  • 2017年11月19日 23:05
  • 240

CRF++中文分词使用指南

1 下载和安装CRF的概念,请google,我就不浪费资源啦。官方地址如下:http://crfpp.sourceforge.net/我用的是Ubutnu,所以,下载的是源码:http://sourc...
  • marising
  • marising
  • 2010年07月27日 18:26
  • 22227

php 中文分词使用

scws 中文分词 文档地址 :http://www.xunsearch.com/scws/docs.php 1. 取得 scws-1.2.3 的代码 wget http://www.xu...
  • wujiangwei567
  • wujiangwei567
  • 2016年06月07日 09:45
  • 1445

中文分词的一些最新研究进展

最近,读了几篇这两年发表的关于分词的会议论文,发现现在主要的研究方向是解决分词的领域适用问题,采用的主要模型是已有的分词算法+训练集+部分标记语料的半监督学习方式,分词算法包括感知器、条件随机场,部分...
  • yueliangku
  • yueliangku
  • 2015年01月02日 15:18
  • 608
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GTAnalyzer-lucene中文分词
举报原因:
原因补充:

(最多只允许输入30个字)