java文明用语的检测_语言检测工具language-detection

给你一段文字,让你检测它是什么语言?有两个开源的项目可以使用。一个是Apache Tika,一个是language-detection。language-detection是google Code上开源的一个语言检测软件包,不折不扣的日货,但使用起来非常方便,其project链接如下:http://code.google.com/p/language-detection。基本上,你只需要引用langdetect.jar和其依赖的jsonic-1.3.0.jar(也是日货)即可,下面是一个简单的例子。

新建一个Java工程,将上述两个jar包引入工程,新建一个测试类,如下:

import java.net.URISyntaxException;

import com.cybozu.labs.langdetect.*;

/***@authorXXX

**/

public class LangTest

{

/***@paramargs*/

public static void main(String[] args)

{

try

{

DetectorFactory.loadProfile(Thread.currentThread().getContextClassLoader().getResource("lang").getPath());

} catch (LangDetectException e)

{

e.printStackTrace();

}

Detector detect;

try

{

detect = DetectorFactory.create();

detect.append("我靠a靠靠靠a");

System.out.println(detect.detect());

} catch (LangDetectException e)

{

e.printStackTrace();

}

}

}

这段文字的检测结果是zh-cn,很简单。

language-detection基本的初始化工作都由DetectorFactory完成。检测前,需要先载入语言包(其实就是各个语言的样本,可以自行添加)。语言包最初是通过addProfile方法加入,其方法原型是addProfile(LangProfile profile, int index, int langsize),你可以构建自己的词汇表,然后通过addProfile方法添加。也可以使用loadProfile方法,把一个目录下的所有语言文件(按照要求的格式,下载的jar包有样例)一次性载入。后面就很简单了,通过DetectorFactory创建一个Detector,append需要检测的文字,detect一下,就返回语言类别,收工。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值