`
linliangyi2007
  • 浏览: 1014460 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

应网友需求发布IKAnalyzer3.1.1GA2

阅读更多
3.1.1GA2版本变更:
1.修订了大文本处理时,缓冲区边界指针位置不正确的异常
2.添加“正向最大切分算法”
新增API更新如下:

 类org.wltea.analyzer.lucene.IKAnalyzer
 public IKAnalyzer(boolean isMaxWordLength)
说明:新构造函数,从版本V3.1.1起
参数1 :boolean isMaxWordLength , 当为true时,分词器进行最大词长切分  ;当为false时,分词器进行最细粒度切分。


 类org.wltea.analyzer.IKSegmentation
 public IKSegmentation(Reader input , boolean isMaxWordLength)
说明:IK主分词器新构造函数,从版本V3.1.1起
参数1:Reader input , 字符输入读取
参数2:boolean isMaxWordLength , 当为true时,分词器进行最大词长切分  ;当为false时,分词器进行最细粒度切分。


下载 :IKAnalyzer3.1.1稳定版完整包.rar

更多详细请参看《IKAnalyzer中文分词器V3.1.1使用手册.pdf》


分享到:
评论
46 楼 linliangyi2007 2009-08-18  
xyf_84 写道
楼主啊,包中没有说明,系统需求啊!

系统需求? 没什么系统需求啊,你的服务器内存不至于小于64M吧
45 楼 xyf_84 2009-08-18  
楼主啊,包中没有说明,系统需求啊!
44 楼 linliangyi2007 2009-08-17  
rongxh7 写道
楼主,有没有试过,把词典记录保存在数据库中,用读数据库来代码读文件,两者速度怎么样?


没试过,不用应该不会太慢,再说了,在服务器启动时,花上10秒中读取词典,应该是能够忍受的问题
43 楼 rongxh7 2009-08-17  
楼主,有没有试过,把词典记录保存在数据库中,用读数据库来代码读文件,两者速度怎么样?
42 楼 linliangyi2007 2009-08-15  
poppk 写道
linliangyi2007 写道
poppk 写道
目前带词性分析标注的只有中科院ictclas衍生出来的几个开源版本,java的只有ictclas4j,ictclas4j还是半拉子工程,bug很多,貌似作者也小一年不更新了。
楼主可以考虑把这个加入进来,就可以在目前几个主流的开源中文分词包中脱颖而出了。


老兄看了一直很关心分词啊,居然被你发现有一年没更新了,呵呵


最近在做搜索这块的工作,所以比较关心。 

很多场合需要对关键字进行词性分析,所以对这个功能点比较关注了。

否则你这个和庖丁有什么区别呢?  效率,速度,准确率?


要声明一下,IKAnalyzer是比paoding更早问世的一个中文分词器,因为它的存在不需要和paoding做比较吧,何况特性还是很明显的。
41 楼 linliangyi2007 2009-08-14  
rongxh7 写道
IK3的词典真丰富,几乎包含了汉语中所有的词和习语,我有点好奇:楼主的词典应该不是自己一个一个写上去的,那从哪里得来的?


词典的来源有n个地方,多是朋友从不同渠道搜集的,因此良莠不齐,需要整理的,而且相当的辛苦啊。整理起来比写分词器本身痛苦多了
40 楼 rongxh7 2009-08-14  
IK3的词典真丰富,几乎包含了汉语中所有的词和习语,我有点好奇:楼主的词典应该不是自己一个一个写上去的,那从哪里得来的?
39 楼 poppk 2009-08-14  
基于ictclas的分词

如何观测日全食
如何/r 观测/vn 日全食/n

r 代词
vn 名动词
n 名词

大概就是这样
38 楼 poppk 2009-08-14  
上面的"而不是,"应该是
而不是 如何观测。
37 楼 poppk 2009-08-14  
linliangyi2007 写道
poppk 写道
linliangyi2007 写道
poppk 写道
目前带词性分析标注的只有中科院ictclas衍生出来的几个开源版本,java的只有ictclas4j,ictclas4j还是半拉子工程,bug很多,貌似作者也小一年不更新了。
楼主可以考虑把这个加入进来,就可以在目前几个主流的开源中文分词包中脱颖而出了。


老兄看了一直很关心分词啊,居然被你发现有一年没更新了,呵呵


最近在做搜索这块的工作,所以比较关心。 

很多场合需要对关键字进行词性分析,所以对这个功能点比较关注了。

否则你这个和庖丁有什么区别呢?  效率,速度,准确率?


说说你对词性的用途吧,我好有的放矢。
IK跟paoding的区别还是很多的,呵呵,这在搜索过程中(尤其使用IKQueryParser后)是能感受到的


比如:"如何观测日全食","我想买一个好的橱柜"

搜索引擎可以分析出来,关键字真正包含的侧重点在哪,毕竟这种傻瓜式的输入,要求整句命中不太现实
但是第一个,搜索引擎该知道,用户想搜 "观测日全食" 相关,而不是,第二个,用户想搜的是 "橱柜" 相关,而不是  "买 好的"

36 楼 poppk 2009-08-14  
tangfl 写道
compareAnalyzers: (skey) : Y550A-TSI(H)(灰白蓝红)
paoding: (0 ms)
y | 550 | tsi | a-tsi | 550a-tsi | y550a-tsi | h | 灰白 | 蓝红 |
-imdict: (1 ms)
y | 550 | a | tsi | h | 灰白 | 蓝 | 红 |
-ik-max: (0 ms)
y550a-tsi | 550 | h | 灰白 | 白 | 蓝 | 红 |
-ikmost: (0 ms)
y550a-tsi | 550 | h | 灰白 | 白 | 蓝 | 红 |
-mmseg4j: (1 ms)
y | 550 | a | tsi | h | 灰白 | 蓝 | 红 |

关于单词之间的连接符,是不是可以考虑单独处理一下?


Y550A-TSI(H)(灰白蓝红)
ictclas4j:
Y550A-TSI/nx (/w H/nx )/w (/w 灰白/z 蓝/a 红/a )/w

个人感觉对这种  产品型号 的处理,庖丁做的最好,尤其在用户只记得部分型号,试探性输入时
35 楼 linliangyi2007 2009-08-14  
poppk 写道
linliangyi2007 写道
poppk 写道
目前带词性分析标注的只有中科院ictclas衍生出来的几个开源版本,java的只有ictclas4j,ictclas4j还是半拉子工程,bug很多,貌似作者也小一年不更新了。
楼主可以考虑把这个加入进来,就可以在目前几个主流的开源中文分词包中脱颖而出了。


老兄看了一直很关心分词啊,居然被你发现有一年没更新了,呵呵


最近在做搜索这块的工作,所以比较关心。 

很多场合需要对关键字进行词性分析,所以对这个功能点比较关注了。

否则你这个和庖丁有什么区别呢?  效率,速度,准确率?


说说你对词性的用途吧,我好有的放矢。
IK跟paoding的区别还是很多的,呵呵,这在搜索过程中(尤其使用IKQueryParser后)是能感受到的
34 楼 poppk 2009-08-14  
linliangyi2007 写道
poppk 写道
目前带词性分析标注的只有中科院ictclas衍生出来的几个开源版本,java的只有ictclas4j,ictclas4j还是半拉子工程,bug很多,貌似作者也小一年不更新了。
楼主可以考虑把这个加入进来,就可以在目前几个主流的开源中文分词包中脱颖而出了。


老兄看了一直很关心分词啊,居然被你发现有一年没更新了,呵呵


最近在做搜索这块的工作,所以比较关心。 

很多场合需要对关键字进行词性分析,所以对这个功能点比较关注了。

否则你这个和庖丁有什么区别呢?  效率,速度,准确率?
33 楼 andylau8250 2009-08-13  
原來這是大家的困擾= ="
感謝你分享的經驗!
32 楼 linliangyi2007 2009-08-13  
andylau8250 写道
你好!
可否根你請教一下關於lucene的相關問題!

我在建立索引及合併上有幾個問題!
1.假設我每增加一篇文章,我會去增加索引,然後再合併(原本的索引檔)!
在修改文章上的處理方式為,先刪除該文章的索引,再將其建立及合併一次!
但是這樣似乎效率上是不太好的! 所以我改成將這些新的文章或修改的文章,
先記錄到資料庫!要搜尋時,再去將這些文章建立索引及合併!

2.我找了一下lucene的api似乎不能直接對索引檔增加一筆索引!
只能利用合併的方式!所以我用上述方式,記在資料庫中,如果資料太多,
好像在效率上也不是太好!

想請問你,對於建立索引這方面有什麼看法!
或是我的理解有錯! lucene可以增加單筆索引?

如果您知道有什麼好方法,請您指教一下! 謝謝!


这个问题是困扰了很多lucene使用者。目前,在我设计的网站中,采用定时批量更新方式,即,将新增或修改的数据加入一个待处理的队列,而后在固定时间间隔进行更新,固定时间可以根据应用的时效性定为 5分钟-10分钟-30分钟-1个小时。
并在每天的凌晨1点进行索引的合并整理。

要注意,每次查询lucene的时候,必须使用新的IndexSearcher实例,这样才能把新增的文章包括进来。
31 楼 andylau8250 2009-08-13  
你好!
可否根你請教一下關於lucene的相關問題!

我在建立索引及合併上有幾個問題!
1.假設我每增加一篇文章,我會去增加索引,然後再合併(原本的索引檔)!
在修改文章上的處理方式為,先刪除該文章的索引,再將其建立及合併一次!
但是這樣似乎效率上是不太好的! 所以我改成將這些新的文章或修改的文章,
先記錄到資料庫!要搜尋時,再去將這些文章建立索引及合併!

2.我找了一下lucene的api似乎不能直接對索引檔增加一筆索引!
只能利用合併的方式!所以我用上述方式,記在資料庫中,如果資料太多,
好像在效率上也不是太好!

想請問你,對於建立索引這方面有什麼看法!
或是我的理解有錯! lucene可以增加單筆索引?

如果您知道有什麼好方法,請您指教一下! 謝謝!
30 楼 linliangyi2007 2009-08-13  
tangfl 写道


当字母连续出现超过一定的阈值,比如3个字母的时候,看起来像是一个英文单词了,不知道是否可以也单独切分出一个结果来呢?


实际上,之所以连续切分,是按照英文的使用习惯来进行的,我们不应该去假设某种特定的短语模型。分词器要处理的是针对现实中,人们的语言习惯。

分词器是一种自然语言处理过程,同机器语言处理有一定的类型之处。在机器语言上,我们会限制语言的语法,如在Java中
你只能像这样 “int count = 0;”去申明变量,如果你要写成“ count : int ”那么Java编译器将报错。自然语言则相对要求的比较宽松,但也必须遵循一定的日常用语规范。

要分离字母和数字是简单的,你可以参考IKAnalyzer2.0.2,它就是这么做的。

29 楼 tangfl 2009-08-13  
compareAnalyzers: (skey) : Y550A-TSI(H)(灰白蓝红)
paoding: (0 ms)
y | 550 | tsi | a-tsi | 550a-tsi | y550a-tsi | h | 灰白 | 蓝红 |
-imdict: (1 ms)
y | 550 | a | tsi | h | 灰白 | 蓝 | 红 |
-ik-max: (0 ms)
y550a-tsi | 550 | h | 灰白 | 白 | 蓝 | 红 |
-ikmost: (0 ms)
y550a-tsi | 550 | h | 灰白 | 白 | 蓝 | 红 |
-mmseg4j: (1 ms)
y | 550 | a | tsi | h | 灰白 | 蓝 | 红 |

关于单词之间的连接符,是不是可以考虑单独处理一下?
28 楼 tangfl 2009-08-13  
linliangyi2007 写道
tangfl 写道
compareAnalyzers: (skey) : A236Kitty
paoding: (0 ms)
236 | kitty | 236kitty | a236kitty |
-imdict: (0 ms)
a | 236 | kitti |
-ik-max: (1 ms)
a236kitty | 236 |
-ikmost: (0 ms)
a236kitty | 236 |
-mmseg4j: (0 ms)
a | 236 | kitty |

在字母和数字混排的时候(品牌,型号等等,比较常见),ik 的处理逻辑是怎样的?我觉得 paoding 的结果似乎更接近搜索引擎的需求一些


IK的处理分为两个部分;
1.对英文的处理,这部分完成是采用了Lucene的 StandardAnalyzer 的分词策略,将数字和字母连接一起。
2.对数词的处理,则是会将数词单独切分。
因此就出现了 a236kitty | 236 |


当字母连续出现超过一定的阈值,比如3个字母的时候,看起来像是一个英文单词了,不知道是否可以也单独切分出一个结果来呢?
27 楼 linliangyi2007 2009-08-12  
andylau8250 写道
你好! 想請問個問題!
在自訂的辭典中,
是不是英文部份會沒有效果!
因為我在自己的英文辭典中,加入了 "absolute expression"
但是斷詞器還是把它拆成 "absolute" 、 "expression" 兩個了!

想請問,是否斷詞系統沒有特別對英文作匹配處理!
還是你有提供什麼api輔助?


是的,对英文处理不采用词典,而采用分隔符识别,因此添加词典是无效的

相关推荐

    IKAnalyzer3.1.1中文分词器

    IKAnalyzer3.1.1中文分词器是针对中文文本处理的一款强大工具,主要用于中文文本的分词。在自然语言处理、搜索引擎构建、信息检索等领域,分词是基础且关键的一步,因为中文没有明显的空格来区分单词,所以需要通过...

    IKAnalyzer3.1.1Stable_AllInOne

    IKAnalyzer3.1.1Stable_AllInOne是一款流行的中文分词工具,广泛应用于信息检索、文本挖掘等领域。它是基于Java开发的,旨在提供高效、灵活的中文分词解决方案。这款分词器以其稳定性、准确性和易用性而受到开发者们...

    IKAnalyzer3.1.6GA.jar下载

    IKAnalyzer3.1.6GA.jar IKAnalyzer3.1.6GA.jar

    IKAnalyzer3.1.6GA完整包

    IK Analyzer 是一个开源的,基于java 语言开发的轻量级的中文分词工具包。从2006 年12 月推出1.0 版开始, IKAnalyzer 已经推出了3 个大版本。最初,它是以开源项目 Luence 为应用主体的,结合词典分词和文法分析...

    IKAnalyzer3.2.5Stable.jar

    IKAnalyzer的设计理念是易于扩展和配置,可以根据实际需求定制词典,支持热更新,使得在运行时可以动态添加或修改词典内容。它的核心特点是支持多种分词模式,包括精确模式、全模式、快速模式以及智能模糊模式,能...

    IKAnalyzer3.1.2GA_AllInOne

    IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词...

    IKAnalyzer2012完整分发包

    2. IKAnalyzer2012.jar(主jar包) 3. IKAnalyzer.cfg.xml(分词器扩展配置文件) 4. stopword.dic(停止词典) 5. LICENSE.TXT ; NOTICE.TXT (apache版权申明) 它的安装部署十分简单,将 IKAnalyzer2012.jar ...

    IKAnalyzer6.5.0.jar

    IK Analyzer的名字来源于“Intelligent Keyword”(智能关键词),它的设计理念是通过灵活的配置来满足不同场景下的分词需求。 IK Analyzer的6.5.0版本是其发展过程中的一个重要里程碑,它在前一版本的基础上进行了...

    IKAnalyzer2012_u6

    2. **分词模式**:IKAnalyzer提供了两种分词模式——“精确模式”和“全模式”,前者尽可能保证分词的准确性,后者则追求更高的召回率,用户可根据应用场景选择合适的模式。 3. **扩展性**:IKAnalyzer支持自定义...

    IKAnalyzer 支持高版本最新Lucene 5.x、6.x、7.x

    - 使用IKAnalyzer配合Solr,可以构建企业级的搜索应用,满足大规模数据的高效检索需求。 5. **安装和使用IKAnalyzer**: - 将IKAnalyzer的jar包添加到项目的类路径中,然后在配置文件中指定使用IKAnalyzer作为...

    IKAnalyzer配置文件、扩展词典和停用词词典.zip

    IKAnalyzer是一款广泛应用于Java环境中的中文分词器,它的全称是"Intelligent Chinese Analyzer for Java"。这个压缩包文件包含的是IKAnalyzer的配置文件、扩展词典和停用词词典,这些组件对于优化IKAnalyzer的性能...

    IKAnalyzer2012FF_hf1.zip

    标题中的"IKAnalyzer2012FF_hf1.zip"指的是IK Analyzer的2012年最终版(Final)的高频率更新1(Hot Fix 1)。IK Analyzer是一款开源的、基于Java语言开发的轻量级中文分词器,主要用于Java环境下对中文文本的分词...

    ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_

    2. **添加依赖**:将解压后的 ikanalyzer 相关 jar 文件添加到 Solr 的 lib 目录下。这使得 Solr 在启动时能够自动加载 ikanalyzer 类库。 3. **配置Schema.xml**:在 Solr 的 schema.xml 文件中,我们需要定义字段...

    IKAnalyzer-5.0.jar及solr-analyzer-extra-5.3.jar

    标题中的"IKAnalyzer-5.0.jar"和"solr-analyzer-extra-5.3.jar"是两个在中文搜索引擎系统Solr中常见的组件,主要用于处理中文分词问题。这两个组件在构建高性能的中文搜索解决方案中扮演着至关重要的角色。 首先,...

    IK Analyzer 2012FF_hf1.7z

    "2012FF_hf1.7z" 是IK Analyzer的一个特定版本,可能包含了优化和改进,适应了2012年及之后的技术需求。 在Solr中,分词器扮演着至关重要的角色。它们负责将输入的中文文本分解成一系列的词汇单元,这些单元通常被...

    IK Analyzer 中文分词器下载

    IK Analyzer 2012FF_hf1 版本是该分词器的一个特定版本,"2012FF"可能表示发布于2012年,而"hf1"可能是_hotfix1_的缩写,意味着这是一个修复了一些问题的小版本更新。这个版本可能包含性能优化、错误修复或者增加了...

    Lucene的IK Analyzer 3.0 中文分词器 全解

    - 安装过程简单,只需将IKAnalyzer3.0GA.jar添加到项目的lib目录,配置文件IKAnalyzer.cfg.xml则应放在代码根目录或WEB-INF/classes目录下。 - 对于Lucene用户,可以快速入门通过Java代码示例进行索引和查询操作,...

    Ikanalyzer分词器动态自定义词库的方法.doc

    IKAnalyzer提供了动态自定义词库的方法,使得开发者可以根据不同的应用场景和需求,灵活地配置分词器的词库。 动态自定义词库的方法主要通过自定义Configuration类来实现。Configuration类是IKAnalyzer的核心配置类...

Global site tag (gtag.js) - Google Analytics