ModelArts Pro的文字识别套件提供了多模板工作流,通过工作流指引支持自定义多个 文字识别模板,通过模型训练,自动识别图片所属模板,从而支持从大量不同板式图 像中提取结构化信息。
本章节提供一个票证类型的样例,帮助您快速熟悉使用文字识别套件中的多模板工作 流开发应用的过程。通过上传模板图片、框选参照字段和识别区、上传训练集,自动 训练并生成模板分类器和文字识别模型,并将生成的模型部署为在线服务。部署完成 后,用户可通过在线服务自动分类模板并识别模板中的文字。
首先,请仔细阅读准备工作罗列的要求,提前完成准备工作。使用多模板分类工作流 开发应用的步骤如下所示:
● 步骤1:准备数据
● 步骤2:新建应用
● 步骤3:上传多个模板图片
● 步骤4:定义预处理
● 步骤5:框选参照字段
● 步骤6:框选识别区
● 步骤7:上传训练集
● 步骤8:评估模板
● 步骤9:部署模板
准备工作
注册华为云帐号,并完成套件申请、访问授权配置等准备工作,详情请见准备工作。
步骤 1:准备数据
在本地准备好用于制作模板的图片、用于训练多模板分类器的训练集、用于评估模板 的图片,图片要求如下:
● 只支持PNG、JPG、JPEG、BMP、TIFF格式的图片。
● 图像各边的像素大小在100px到4096px之间。
● 图像中识别区域有效占比超过80%,保证所有文字及其边缘包含在图像内。
● 支持图像任意角度的水平旋转。
● 目前不支持复杂背景(如户外自然场景、防伪水印等)和文字扭曲图像的文字识 别。
● 用于训练多模板分类器的训练集,需要把各个模板的训练图片打包成一个文件夹 并压缩成“zip”包,“zip”包文件大小不超过10M。
例如训练“保险单”模板的训练集,需要把同模板的保险单图片打包成一个文件 夹并压缩成“zip”包。
步骤 2:新建应用
1. 登录ModelArts Pro控制台,单击“文字识别”套件卡片的“进入套件”。
默认进入“应用开发>工作台”页面的“我的应用”页签。
图1-15 进入套件
2. 在“我的应用”页签下,单击“新建应用”。
进入“新建应用”页面。
图1-16 新建应用
3. 根据业务需求填写“应用名称”、“应用负责人”和“应用描述”,仅支持英 文、中文、数字、下划线、中划线。选择“所属行业”及工作流。
本样例“工作流”选择“多模板分类工作流”。
图1-17 新建应用
4. 确认信息后,单击右下角的“确定”。
成功新建应用,进入“应用资产”页面。
步骤 3:上传多个模板图片
1. 在“应用资产”页面单击模板列表下方的“创建分类器”。
进入“应用开发>上传模板图片”页面。
图1-18 创建分类器
2. 输入多模板分类器的“名称”和“描述”。
图1-19 基本信息
3. 在“新增模板配置”页签下,单击下方的添加模板图标 ,配置第一个模板信 息。
本样例选择“模板类型”为“票证”。
单击“上传图片”区域,上传提前在本地准备好的用于制作模板的图片。
单击上传图片右侧的 ,更改模板名称为“保险单”。
图1-20 模板 1
4. 单击添加模板图标 ,配置第二个模板信息。
本样例选择“模板类型”为“票证”。
单击“上传图片”区域,上传提前在本地准备好的用于制作模板的图片。
单击上传图片右侧的 ,更改模板名称为“增值税”。
图1-21 上传模板图片
5. 单击右下角的“下一步”。
进入“应用开发>定义预处理”页面。
步骤 4:定义预处理
1. 在“应用开发>定义预处理”页面,单击“选择预处理逻辑”的自动旋转,快速处 理当前模板的方向。
也可以按左上角操作指标手动调整图片。详情请见定义预处理。
图1-22 定义预处理
2. 在页面上方通过 调整成第二个模板,对第二个模板进行预处理。
图1-23 定义预处理
3. 所有模板均完成预处理后,单击右下角的“下一步”。
进入“应用开发>框选参照字段”页面。
步骤 5:框选参照字段
1. 在“应用开发>框选参照字段”页面,通过单击左上方操作图标,调整当前模板图 片到合适大小。
2. 单击框选操作图标 ,单击参照字段左上角,移动鼠标,使得矩形框覆盖参照字 段。
– 参照字段是文字内容、位置固定不变的文本框区域。
– 建议选取图片中不会重复出现的文字作为参照字段,否则影响模板匹配效 果。
– 参照字段为单行文本框,不可以框选竖版文字或跨行框选。
– 框选参照字段个数须不少于4个,并尽量分散在图片的四周。
– 参考字段尽量框选独立文本块,避免框选某一个文本块的一部分,有利于识 别精度提升。
本样例框选的参照字段如图1-24所示。
图1-24 框选参照字段
3. 页面上方通过 调整成第二个模板,弹出“保存操作”对话框,单击“确 认”。
4. 对第二个模板框选参照字段。
本样例框选的参照字段如图1-25所示。
图1-25 框选参照字段
5. 所有模板都框选完参照字段后,单击右下角的“下一步”。
进入“应用开发>框选识别区”页面。
步骤 6:框选识别区
1. 在“应用开发>框选识别区”页面,通过单击左上方操作图标,调整当前模板图片 到合适大小。
2. 单击框选操作图标 ,单击待识别文字的左上角,移动鼠标框选识别区,使得矩 形框覆盖待识别的文字。
识别区是对应字段内容所在区域。在框选时,建议尽量扩大识别区的框选范围使 其覆盖对应字段内容可能出现的区域,防止在不同图片识别时出现漏字。
本样例框选的识别区如图1-26所示。
图1-26 框选识别区
3. 在右侧“框选识别区”中填写“框选字段”,选择“字段类型”。
本样例的框选字段可按框选内容自己定义,字段类型均可选择“常规”。
如果“默认字段类型”不能满足您的业务需求,您可以在字段类型下拉框单击
“创建新字段类型”,创建新字段类型。
4. 页面上方通过 调整成第二个模板,弹出“保存操作”对话框,单击“确 认”。
5. 对第二个模板框选识别区,并在右侧“框选识别区”中填写“框选字段”,选择
“字段类型”。。
本样例框选的识别区如图1-27所示。
本样例的框选字段可按框选内容自己定义,字段类型均可选择“常规”。
如果“默认字段类型”不能满足您的业务需求,您可以在字段类型下拉框单击
“创建新字段类型”,创建新字段类型。
图1-27 框选识别区
6. 框选并核对完所有模板识别区后,单击“下一步”,在提示框中单击“确认”。
进入“应用开发>上传训练集”页面。
步骤 7:上传训练集
1. 在“应用开发>上传训练集”页面,选择模板,单击操作列的“上传训练集”。
弹出上传文件对话框。
2. 单击上传文件对话框,在本地选择已经准备好的模板“zip”包文件。
上传成功后页面右上方会提示“文件上传成功”。
3. 确定每个模板上传训练集后,单击“开始训练”。
服务进入“应用开发>评估”页面,开始训练模型。
模型训练完成后,可在“应用开发>评估”页面评估分类器和模板,详情请见步骤 8:评估模板。
步骤 8:评估模板
在“应用开发>评估”页面包含分类器评估和模板评估 ,其中分类器评估用于识别模 板类型,模板评估用于识别对应模板中的文字。
分类器评估
1. 默认进入“本地上传”页签,打开“分类模式”和“动态识别”开关。
2. 单击“上传图片”,上传本地提前准备好的用于评估的图片。
右侧会显示模板识别的结果,包括“模板ID”、“模板名”、“置信度”。
图1-28 分类器评估
模板评估
1. 单击模板评估,进入“模板评估”页签。
2. 在右侧选择与待评估模板对应的原模板。
3. 在左侧单击“上传图片”,上传本地提前准备好的用于评估的图片。
右侧会显示模板识别的结果,包括“识别区”、“识别结果”。
图1-29 模板评估
步骤 9:部署模板
分类器和模板评估好了以后,单击“应用开发>评估”页面右下角的“下一步”,进入
“应用开发>部署”页面,直接部署模板,页面显示“恭喜您,已发布成功”。
部署模板后,您可以通过调用API和SDK使用当前模板服务,详情请见API调用指南和 SDK使用指南。
图1-30 部署服务
2 自然语言处理套件(使用文本分类工作流开 发应用)
ModelArts Pro的自然语言处理套件提供了通用文本分类工作流和多语种文本分类工作 流,通过工作流指引支持自主上传文本数据,构建高精度文本分类预测模型,适配不 同行业场景的业务数据,快速获得定制服务。
通用文本分类工作流仅支持中文文本分类,多语种文本分类工作流支持对英语、法 语、德语、西班牙语、葡萄牙语、阿拉伯语等语种文本进行分类。使用两种工作流开 发应用的流程相同。
由于通用文本分类工作流和多语种文本分类工作流开发应用的流程相同,因此本章节 以通用文本分类工作流为例,介绍如何使用自然语言处理套件中的文本分类工作流开 发应用,通过上传训练数据、训练模型,将生成的模型部署为在线服务。部署完成 后,用户可通过在线服务分类文本内容。
首先,请仔细阅读准备工作罗列的要求,提前完成准备工作。使用通用文本分类工作 流开发应用的步骤如下所示:
● 步骤1:准备数据
● 步骤2:新建应用
● 步骤3:选择数据
● 步骤4:训练模型
● 步骤5:评估模型
● 步骤6:部署服务
准备工作
注册华为云帐号,并完成套件申请、访问授权配置等准备工作,详情请见准备工作。
步骤 1:准备数据
在开发应用之前,您需要自行准备训练数据集并上传至OBS桶及文件夹中。由于数据 安全原因,本样例不提供具体的样例数据,仅提供样例数据要求。
本样例使用已标注数据训练模型,数据集要求如下:
● 文件格式要求为txt或者csv,文件大小不能超过8MB。
● 以换行符作为分隔符,每行数据代表一个标注对象。
● 每个分类标签需要准备5个及以上数据,为了训练出效果较好的模型,建议每个分 类标签准备100个以上的数据。
● 文本分类的标注对象和标注内容在一个文本文件内,标注对象与标注内容之间,
多个标注内容之间可分别指定分隔符。
多个标注内容之间可分别指定分隔符。