lingua: 最准确的Java和JVM自然语言检测库


最准确的Java和JVM自然语言检测库,适用于长文本和短文本

语言检测通常作为大型机器学习框架或自然语言处理应用程序的一部分来完成。如果您不需要这些系统的完整功能或不想了解这些系统的原理,那么一个小型灵活的库会派上用场。
到目前为止,为这项任务在 JVM 上工作的其他三个综合开源库是Apache TikaApache OpenNLPOptimaize Language Detector。不幸的是,尤其是后者有三个主要缺点:

  1. 检测仅适用于相当长的文本片段。对于非常短的文本片段,例如 Twitter 消息,它不能提供足够的结果。
  2. 参与决策过程的语言越多,检测结果的准确性就越低。
  3. 库的配置相当繁琐,需要了解一些内部使用的统计方法。

Lingua旨在消除这些问题。它几乎不需要任何配置,并且可以在长文本和短文本上产生非常准确的结果,即使是单个单词和短语也是如此。它利用了基于规则的方法和统计方法,但不使用任何单词词典。它也不需要连接到任何外部 API 或服务。下载库后,可以完全离线使用。

Lingua的任务很简单:它告诉您某些提供的文本数据是用哪种语言编写的。这在自然语言处理应用程序(如文本分类和拼写检查)中作为语言数据的预处理步骤非常有用。例如,其他用例可能包括根据电子邮件的语言将电子邮件路由到地理位置正确的客户服务部门。

特点:

  • 这个库试图解决非常短的单词和短语的语言检测,甚至比推文更短
  • 利用统计和基于规则的方法
  • 超过 70 种语言的性能优于Apache Tika、Apache OpenNLP和Optimaize Language Detector
  • 适用于每个 Java 6+ 应用程序
  • 无需额外培训语言模型
  • 用于添加您自己的语言模型的 api
  • 离线使用,无需连接到外部服务或 API
  • 可用于 REPL 以进行快速试用

支持中文