如何根据多语言自动选用不同的分词器?
TonyLian
2010-03-08
我的系统在构建索引时,所处理的文本,涉及多种语言,如 英文、中文、德文、日文。
除了StandardAnalyzer外,Analyzer包中提供了很多长见语言的分词器。当然还有一些第三方专业分词器。 问题是,没有一个统一的分词器可以对应所有所需语言。程序中如何根据当前文档的语种,自动选择不同的分词器呢?? |
|
TonyLian
2010-03-17
自己顶。
比如IK处理英文就不是很好,时态、变形 等都未做处理 CJK对中文、日文、韩文 都是简单的二分法,过于简单机械,且效果不好、大量冗余 所以,我在寻求一种用不同分词器,“对付”不同语言的方法 (类似Tika用不同的Parser“对付”不同种类的文件的思路) 不知有没有人曾经也这样考虑过? |
|
TonyLian
2010-03-31
还是没有人,关注此问题呀?
|
|
stta04
2010-05-17
我现在也遇到这个问题,网上有提供针对不同Field可以采用不同的分词器PerFieldAnalyzerWrapper aWrapper =
* new PerFieldAnalyzerWrapper(new StandardAnalyzer()); * aWrapper.addAnalyzer("firstname", new KeywordAnalyzer()); * aWrapper.addAnalyzer("lastname", new KeywordAnalyzer()); 不知楼主最后是怎么解决的? |
|
a276202460
2010-05-21
如果在analyz文本信息的时候 使用通用的分词器 那么在一段文字中
“中文,日文,英语,韩语,德语。。。“ 似乎unicode是不一样的 不肯能每个字符取到一周用Character去判断下属于那种语言 然后在调用不同的策略吧 要是那么容易解决 我想百度早就可以和google媲美了 刚接触lucene 多多指教 |
|
TonyLian
2010-05-31
这个问题真的很困难吗? 还是没有解呀~
|
|
eood
2010-06-06
可以判断语种,然后选用不同的分词器
|
|
TonyLian
2010-06-07
eood 写道 可以判断语种,然后选用不同的分词器
如何来判断呢?能否说仔细一点? |
|
Stefen_720
2011-11-11
我现在也遇到了这个问题啊
|
|
lengbamboo
2012-03-19
经测试ICUAnalyzer能处理多种语言的混合体,能识别语言,但分词效果不好,都是英文单词,中日韩单字,对俄文的支持就更弱了,会分解成单个字符;
SmartCNAnalyzer能处理中英文混合体,分词效果也不错,但缺点是对其他的语言支持不好; 要同时处理多语言混合体分词,这确实是个NLP难题,我的一种想法是实现一个Analyzer的Facade,实现二次分词: 首先是进行一次WhiteSpaceAnalyzer分词,然后再对分词结果来调用不同语言的分词器来分词; 仅仅是个初步想法,不知道是否可行 |