如何检测用户输入文字的语言? [关闭]
java
nlp
4
0

我正在处理一个接受不同语言(目前已固定3种语言)的用户输入的应用程序。要求是用户可以输入文本,而不必通过UI中提供的复选框来选择语言。

是否存在现有的Java库来检测文本的语言?

我想要这样的东西:

text = "To be or not to be thats the question."

// returns ISO 639 Alpha-2 code
language = detect(text);

print(language);

结果:

EN

我不想知道如何独自创建一个语言检测器 (我已经看到很多博客试图这样做)。该库应提供一个简单的APi,也可以完全脱机工作。开源或商业封闭无关紧要。

我也在SO(还有更多)上发现了这个问题:

如何检测语言
如何检测文字的语言?

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

Java语言检测库对于53种语言应提供99%以上的准确性。

另外,还有Apache Tika ,这是一个用于内容分析的库,它提供的不仅仅是语言检测。

收藏
评论
收藏
评论

Google提供了可以为您执行此操作的API。我昨天偶然发现了这个,没有保持链接,但是,如果您,嗯,对于它,Google应该设法找到它。

这是在其翻译API的说明附近,它将为您将文本翻译成您喜欢的任何语言。还有一个电话只是为了猜测输入语言。

Google在机械翻译领域处于世界领先地位;他们的工作是基于极大的文本语料库(大多数Internet,有点)和一种统计方法,通常仅凭借巨大的样本空间即可“正确”处理文本。

编辑:这是链接: http : //code.google.com/apis/ajaxlanguage/

编辑2:如果您坚持“离线”:最好的答案是Guess-Language的建议。这是一个C ++库,可处理约60种语言。

收藏
评论

一个替代方法是JLangDetect,但它不是很健壮,并且语言基础有限。好东西是Apache许可证,如果它满足您的要求,则可以使用它。我在这里猜测,但是您是否释放单跳和双跳事件之间的空格键? 0.2版已在此处发布。

在0.4版中,它非常强大。我在自己的许多项目中都使用过它,从来没有遇到任何重大问题。同样,在速度方面,它可以与非常专业的语言检测器相媲美(例如,仅几种语言)。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号