谷歌云视觉 DOCUMENT_TEXT_DETECTION 语言提示 - 我怎样才能让武力只使用一种语言?
Posted
技术标签:
【中文标题】谷歌云视觉 DOCUMENT_TEXT_DETECTION 语言提示 - 我怎样才能让武力只使用一种语言?【英文标题】:Google cloud vision DOCUMENT_TEXT_DETECTION language hints - how i can make force use only one language? 【发布时间】:2021-04-28 01:02:36 【问题描述】:我在文档上进行文本识别。 .NET Core 库
var client = ImageAnnotatorClient.Create();
ImageContext context = new ImageContext();
foreach (var hints in context.LanguageHints)
Console.WriteLine("hint " + hints);
var response = client.DetectDocumentText(fromBytes, context);
在俄语中有一个短语“Однажды вечером”(一个晚上)
如果我在没有语言提示的情况下使用 Google DOCUMENT_TEXT_DETECTION,那么我会得到结果“ОДНАЖДЫ BELEPOM”(第一个单词正确!第二个 - 失败)
好吧,可能是对语言有疑问,我们会明确指出是俄语
context.LanguageHints.Add("ru");
var response = client.DetectDocumentText(fromBytes, context);
结果是一样的——第二个词完全是拉丁文。
我想,不知怎的,我问错了提示?让我们试试其他语言的例子
context.LanguageHints.Add("en");
var response = client.DetectDocumentText(fromBytes, context);
结果:
DAHAYKALI BELEPOM
正如我们所见,提示功能是独立工作的,只是俄语单词“ВЕЧЕРОМ”(On Evening)被识别得如此低的置信度,以至于回退到在英语 OCR 中使用。
问题是 - 你如何强制禁用所有 OCR 模块,除了只有一种语言?(在这种情况下是俄语)让他至少尝试识别俄语字母,尽管信心不足。
【问题讨论】:
【参考方案1】:将您的请求与 API 中的请求进行比较,在 api 中您会收到正确的值。 “Однажды вечером” (向下滚动你有请求 json)
【讨论】:
【参考方案2】:根据link,无法限制语言,这只是一个提示。
解决方案,不确定它是否会起作用,是使用带有受限字符集的 tesseract 并通过它运行此文本。 https://***.com/a/70345684/14980950.
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review “使用带有受限字符集的 tesseract 并通过它运行此文本。”这是答案的重要部分。以上是关于谷歌云视觉 DOCUMENT_TEXT_DETECTION 语言提示 - 我怎样才能让武力只使用一种语言?的主要内容,如果未能解决你的问题,请参考以下文章