论坛首页 Java企业应用论坛

应网友需求发布IKAnalyzer3.1.1GA2

浏览 14416 次
精华帖 (8) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-08-13  
tangfl 写道


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


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

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

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

0 请登录后投票
   发表时间:2009-08-13  
你好!
可否根你請教一下關於lucene的相關問題!

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

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

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

如果您知道有什麼好方法,請您指教一下! 謝謝!
0 请登录后投票
   发表时间:2009-08-13  
andylau8250 写道
你好!
可否根你請教一下關於lucene的相關問題!

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

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

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

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


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

要注意,每次查询lucene的时候,必须使用新的IndexSearcher实例,这样才能把新增的文章包括进来。
0 请登录后投票
   发表时间:2009-08-13  
原來這是大家的困擾= ="
感謝你分享的經驗!
0 请登录后投票
   发表时间:2009-08-14  
linliangyi2007 写道
poppk 写道
目前带词性分析标注的只有中科院ictclas衍生出来的几个开源版本,java的只有ictclas4j,ictclas4j还是半拉子工程,bug很多,貌似作者也小一年不更新了。
楼主可以考虑把这个加入进来,就可以在目前几个主流的开源中文分词包中脱颖而出了。


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


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

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

否则你这个和庖丁有什么区别呢?  效率,速度,准确率?
0 请登录后投票
   发表时间:2009-08-14  
poppk 写道
linliangyi2007 写道
poppk 写道
目前带词性分析标注的只有中科院ictclas衍生出来的几个开源版本,java的只有ictclas4j,ictclas4j还是半拉子工程,bug很多,貌似作者也小一年不更新了。
楼主可以考虑把这个加入进来,就可以在目前几个主流的开源中文分词包中脱颖而出了。


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


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

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

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


说说你对词性的用途吧,我好有的放矢。
IK跟paoding的区别还是很多的,呵呵,这在搜索过程中(尤其使用IKQueryParser后)是能感受到的
0 请登录后投票
   发表时间: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

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


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


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

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

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


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


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

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

0 请登录后投票
   发表时间:2009-08-14  
上面的"而不是,"应该是
而不是 如何观测。
0 请登录后投票
   发表时间:2009-08-14  
基于ictclas的分词

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

r 代词
vn 名动词
n 名词

大概就是这样
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics