Azure Form Recognitition货币识别不准确求助(API版本2024-02-29-preview)
优化Azure Form Recognizer发票货币识别准确性的方案
1. 明确指定候选货币范围
调用API时,通过配置参数限定模型优先识别的货币,避免被地址等无关信息干扰:
- 设置
locale参数为对应地区(比如瑞士德语区用de-CH),强化区域关联的货币优先级; - 在
invoiceOptions中添加allowedCurrencies字段,明确将CHF列为优先候选。示例请求参数:
{ "locale": "de-CH", "features": ["invoice"], "invoiceOptions": { "allowedCurrencies": ["CHF", "EUR"] } }
2. 训练自定义发票模型
如果通用模型适配性不足,收集一批带明确CHF标注的瑞士发票,训练自定义发票模型:
- 标注时重点标记货币字段及对应金额,让模型学习瑞士发票的货币标注规律;
- 训练完成后调用自定义模型,替代通用发票模型,减少无关信息(如供应商地址)的干扰。
3. 添加后处理校验逻辑
在API返回结果后,通过自定义代码修正识别偏差:
- 扫描返回的所有文本片段,提取带有
CHF的金额标记(比如你提到的“16 CHF”),将其作为基准货币覆盖模型识别的EUR结果; - 优先采用发票中明确标注的货币代码,忽略地址关联的推断货币。
4. 切换至稳定版API对比效果
你当前使用的是预览版API(2024-02-29-preview),可尝试切换至正式版(如2023-07-31),预览版可能存在部分场景的识别偏差,正式版的稳定性和场景适配性更成熟。
关于EUR识别来源的说明
模型确实会通过供应商地址中的国家(爱尔兰默认货币为EUR)作为 fallback 逻辑推断货币,但正常情况下应优先匹配发票内明确标注的货币。如果出现偏差,大概率是标注位置不显眼、字体差异大导致模型优先级判断失误,通过上述方案可有效修正。
内容的提问来源于stack exchange,提问作者John Clayton
相关产品推荐
相关产品推荐

