在文字识别OCR怎么样识别上面的订单产品?
一个订单有M个产品,每个产品有N个交付日期,M,N都是不确定的,而且每页都有固定的表头。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在文字识别OCR中,针对订单产品信息的提取(一个订单有M个产品,每个产品有N个交付日期,且每页都有固定的表头),可以通过以下步骤实现:
为了确保OCR模型能够准确识别订单中的产品信息,需要对输入数据进行预处理: - 图片质量优化:确保图片清晰、无反光、无扭曲。如果图片过大,建议压缩至小于1.5MB以提高接口响应速度。 - 固定表头处理:由于每页都有固定的表头,可以在数据标注阶段将表头区域排除,避免干扰模型对产品信息的识别。
根据知识库资料,OCR支持表格信息抽取功能,适用于结构化数据的识别。以下是具体操作步骤:
Type
参数指定图片类型为Table
(表格)。IsHandWritingTable
:设置是否为手写表格(默认值为false
)。IsLineLessTable
:设置是否为无线表格(默认值为false
)。OutputTableExcel
:设置为true
,将表格结果导出为Excel文件链接。OutputTableHtml
:设置为true
,将表格结果导出为HTML格式文件链接。对于复杂的订单结构(如M个产品和N个交付日期),建议使用OCR文档自学习功能进行定制化模型训练:
Languages
),可以进一步提高识别准确率。完成模型训练后,按照以下步骤部署并调用服务:
RecognizeAllText
接口时,需传入以下关键参数:
Url
:图片链接(长度不超过2048字节)。Type
:图片类型,设置为Table
。TableConfig
:配置表格相关参数(如是否为手写表格、是否为无线表格等)。示例代码(Python):
from alibabacloud_ocr_api20210707.client import Client as ocr_api20210707Client
from alibabacloud_ocr_api20210707.models import RecognizeAllTextRequest
from alibabacloud_tea_openapi.models import Config
# 创建客户端
config = Config(
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
config.endpoint = "ocr-api.cn-hangzhou.aliyuncs.com"
client = ocr_api20210707Client(config)
# 调用接口
request = RecognizeAllTextRequest(
url="https://example.png",
type="Table",
table_config={"IsHandWritingTable": False, "IsLineLessTable": False}
)
response = client.recognize_all_text_with_options(request)
print(response.body.data)
通过以上步骤,您可以高效地使用阿里云文字识别OCR服务提取订单中的产品信息,并处理复杂的表格结构。