语言检测

问题描述:

我使用tesseract进行OCR,主要用于发票。但是,tesseract需要在开始处理文件之前指定语言。语言检测

我以为我打算根据预定义的默认语言执行ocr。然后,我想使用结果文本来检查使用哪种语言。如果它不是默认语言,我会再次处理它以便从tesseract中获得更好的结果。

但是我该如何实现一种语言检测算法?有我可以使用的C++库吗?

本文“Natural Language Identification for OCR Applications”描述了与您的要求类似的识别任务中涉及的技术。

我不确定这是否会对Java库有帮助。但是我发现它非常酷,因为它能够从给定的文本中检测大约50种语言,并且具有相当好的精确度。您可能希望看看它,因为它是开源的,如果您的应用程序只需要用C++编写,您可以用C++重写代码并将其返回给开源社区。

这里是链接一样:

http://code.google.com/p/language-detection/

注:它使用了Apache的Nutch和提卡库进行分析。

您可能想要阅读我的论文The WiLI benchmark dataset for written language identification并尝试lidtk

TL; DR:试一试CLD-2。