我是靠谱客的博主 有魅力大象,最近开发中收集的这篇文章主要介绍庖丁解牛分词器增加对日文,韩文分词的支持问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近遇到一个问题,paoding切词的时候把日语和韩文的部分字符都过滤了。
原因是:

在用CJKKnife刀时执行该if (CharSet.isCjkUnifiedIdeographs(ch))语句进入到
CharSet类中的
public static boolean isCjkUnifiedIdeographs(char ch) {
return ch >= 0x4E00 && ch < 0xA000;
}
因为0x4E00 -0xA000只属于CJK中日韩统一汉字范围,如:3040-309F:日文平假名 (Hiragana) 30A0-30FF:日文片假名 (Katakana) 不在此范围内所以返回的值为false,此时程序中index和offset的值是相等的所以直接
return LIMIT=-1返回从而日文的文字被过滤掉了。

解决办法:
public static boolean isCjkUnifiedIdeographs(char ch) {
//return ch >= 0x4E00 && ch < 0xA000;
return (ch >= 0x4E00 && ch < 0xA000) //中日韩统一表意文字
||(ch >= 0x3400 && ch < 0x4DBF) //中日韩统一表意文字扩充A
//日文字符集
||(ch >= 0x3040 && ch < 0x309F) //日文平假名
||(ch >= 0x30A0 && ch < 0x30FF) //日文片假名
||(ch >= 0x31F0 && ch < 0x31FF) //片假名音标扩充
//韩文字符集
||(ch >= 0xAC00 && ch < 0xD7AF) //朝鲜文音节
||(ch >= 0x1100 && ch < 0x11FF) //朝鲜文
||(ch >= 0x3130 && ch < 0x318F); //朝鲜文兼容字母
}

对于完整的CJK Unicode范围,可参考[url]http://blog.163.com/eric_wyf@126/blog/static/2086536520101019104615122/[/url]

最后

以上就是有魅力大象为你收集整理的庖丁解牛分词器增加对日文,韩文分词的支持问题的全部内容,希望文章能够帮你解决庖丁解牛分词器增加对日文,韩文分词的支持问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部