我正在使用tesseract进行OCR,主要是发票。但是,tesseract需要在开始处理文件之前指定语言。
我以为我要根据预定义的默认语言执行ocr。然后,我想使用生成的文本来检查使用的语言。如果它不是默认语言,我会再次处理它,以便从tesseract获得更好的结果。
但是如何实现语言检测算法呢?我可以使用C ++库吗?
答案 0 :(得分:3)
本文“Natural Language Identification for OCR Applications”描述了与您的要求类似的识别任务所涉及的技术。
答案 1 :(得分:3)
我不确定这是否有用,因为库是Java的。但我发现它非常酷,因为它能够从给定的文本中检测出大约50种语言并且具有相当好的精度水平。您可能希望看一下它,因为它是开源的,如果您的应用程序只需要用C ++编写,您可以用C ++重写代码并将其交还给开源社区。 p>
以下是相同的链接:
http://code.google.com/p/language-detection/
注意:它使用Apache Nutch和Tika库进行分析。
答案 2 :(得分:0)
您可能需要阅读我的论文The WiLI benchmark dataset for written language identification并尝试lidtk
。
TL; DR:试试CLD-2。