Flutter中google_mlkit_digital_ink_recognition候选结果score始终为0问题
解决google_mlkit_digital_ink_recognition候选结果score始终为0的问题
可能原因及修复方案
- 语言模型加载不完整:阿拉伯语(
ar)的本地识别模型可能未正确下载或加载,导致无法生成置信度分数。可以手动触发模型下载:final modelManager = DigitalInkModelManager(); await modelManager.downloadModel('ar'); - 插件版本存在bug:旧版本插件可能存在分数返回异常的问题,建议升级到最新稳定版,修改
pubspec.yaml中的依赖:dependencies: google_mlkit_digital_ink_recognition: ^最新稳定版本号 - 模型本身不支持分数输出:部分语言的预训练模型设计上不返回置信度分数。可以先测试英语(
en)识别验证是否能正常获取分数:
如果英语识别能正常返回分数,说明是阿拉伯语模型的特性限制。var _digitalInkRecognizer = DigitalInkRecognizer(languageCode: 'en'); final candidates = await _digitalInkRecognizer.recognize(_ink); candidates.forEach((element) { print('${element.text} - ${element.score}'); }); - 未启用分数计算配置:尝试使用自定义配置开启分数选项(若插件支持):
final options = DigitalInkRecognizerOptions(languageCode: 'ar', enableScore: true); var _digitalInkRecognizer = DigitalInkRecognizer(options: options);
内容的提问来源于stack exchange,提问作者aboahmad
相关产品推荐
相关产品推荐

