RecognizeEduPaperStructed - 精细版结构化切题

支持多学科教辅试卷的结构化识别,将整页练习册、试卷或教辅中的题目进行自动切题,并识别出其中的文字内容和坐标位置。

接口说明

本接口适用场景

  • 阿里云精细版结构化切题,是阿里云官方自研 OCR 文字识别产品,适用于整页练习册、试卷或教辅种的题目场景。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
智能识别自动切题,并识别其中的全部字段和坐标位置。
图像增强默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。
多类型覆盖支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。
高精度识别总体识别准确率可达 98%。

如何使用本接口

步骤概述
1开通 教育场景识别 服务。开通服务前后,您可以通过体验馆免费体验本功能识别效果。
2购买精细版结构化切题资源包。本 API 会赠送免费额度,可使用免费额度测试。
3可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。

重要提示

类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP。暂不支持 PDF 格式。
图片尺寸
  • 图片长宽需要大于 15 像素,小于 8192 像素。
  • 长宽比需要小于 50。
  • 如需达到较好识别效果,建议长宽均大于 500px。
  • 图片尺寸过小,会影响识别精度。图片内单字大小在 10-50px 内时,识别效果较好。
图片大小
  • 图片二进制文件不能超过 10MB。
  • URL 长度不能超过 2048。
  • 图片过大会影响接口响应速度,建议使用小于 1.5M 图片进行识别,且通过传图片 URL 的方式调用接口。
  • 图片尺寸过小,会影响识别精度。图片内单字大小在 10-50px 内时,识别效果较好。
其他提示
  • 接口响应速度和图片中的文字数量有关,如果图片中文字数量越多,接口响应可能越慢。
  • 接口会自动处理反光、扭曲等干扰信息,但会影响精度。请尽量选择清晰度高、无反光、无扭曲的图片。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ocr:RecognizeEduPaperStructednone
*全部资源
*

请求参数

名称类型必填描述示例值
Urlstring
  • 本字段和 body 字段二选一,不可同时透传或同时为空。
  • 图片链接(长度不超 2048 字节,不支持 base64)。
https://example.png
bodybyte
  • 本字段和 URL 字段二选一,不可同时透传或同时为空。
  • 图片二进制文件,最大 10MB。
  • 使用 HTTP 方式调用,把图片二进制文件放到 HTTP body 中上传即可。
  • 使用 SDK 的方式调用,把图片放到 SDK 的 body 中即可。
图片二进制文件
Subjectstring
  • 年级学科。
  • default:默认, Math:数学, PrimarySchool_Math:小学数学, JHighSchool_Math: 初中数学, Chinese:语文, PrimarySchool_Chinese:小学语文, JHighSchool_Chinese:初中语文, English:英语, PrimarySchool_English:小学英语, JHighSchool_English:初中英语, Physics:物理, JHighSchool_Physics:初中物理, Chemistry: 化学, JHighSchool_Chemistry:初中化学, Biology:生物, JHighSchool_Biology:初中生物, History:历史, JHighSchool_History:初中历史, Geography:地理, JHighSchool_Geography:初中地理, Politics:政治, JHighSchool_Politics:初中政治。
default:默认, Math:数学, PrimarySchool_Math:小学数学, JHighSchool_Math: 初中数学, Chinese:语文, PrimarySchool_Chinese:小学语文, JHighSchool_Chinese:初中语文, English:英语, PrimarySchool_English:小学英语, JHighSchool_English:初中英语, Physics:物理, JHighSchool_Physics:初中物理, Chemistry: 化学, JHighSchool_Chemistry:初中化学, Biology:生物, JHighSchool_Biology:初中生物, History:历史, JHighSchool_History:初中历史, Geography:地理, JHighSchool_Geography:初中地理, Politics:政治, JHighSchool_Politics:初中政治
NeedRotateboolean
  • 是否需要自动旋转功能,默认不需要。
  • true:需要;false:不需要。
false
OutputOricoordboolean
  • 是否输出原图坐标信息(如果图片被做过旋转,图片校正等处理),默认不需要。
  • 如需输出原图坐标,建议同时将 NeedRotate 参数设置为 true。
  • true:需要;false:不需要。
false

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

43A29C77-405E-4CC0-BC55-EE694AD00655
Datastring

返回数据

{"figure":[{"type":"subject_bracket","x":1039,"y":2625,"w":124,"h":42,"box":{"x":0,"y":0,"w":0,"h":0,"angle":0},"points":[{"x":1039,"y":2625},{"x":1163,"y":2625},{"x":1163,"y":2667},{"x":1039,"y":2667}]}],"height":3442,"orgHeight":3442,"orgWidth":2377,"page_id":7,"page_title":"","part_info":[{"part_title":"选择题","pos_list":[[{"x":245,"y":3260},{"x":2235,"y":3265},{"x":2235,"y":3353},{"x":245,"y":3352}]],"subject_list":[{"index":0,"type":0,"prob":0,"text":"1.(疑难,★★☆)下列各组数据中,表示同一 时刻的是 ( ) A.前2s末、第2s末、第3s初 B.第1s末、第2s末、第3s末 C.前2s末、第2s末、前3s初 D.前2s初、第2s末、第3s初","pos_list":[[{"x":170,"y":417},{"x":1162,"y":416},{"x":1161,"y":757},{"x":170,"y":757}]],"element_list":[{"type":0,"text":"1.(疑难,★★☆)下列各组数据中,表示同一 时刻的是 ( )","pos_list":[[{"x":170,"y":417},{"x":1162,"y":416},{"x":1161,"y":520},{"x":170,"y":518}]],"content_list":[{"type":1,"prob":0,"string":"1.(疑难,★★☆)下列各组数据中,表示同一 时刻的是","option":"","pos":[{"x":170,"y":417},{"x":1131,"y":416},{"x":1131,"y":453},{"x":170,"y":454}]},{"type":1,"prob":0,"string":"( )","option":"","pos":[{"x":1033,"y":481},{"x":1162,"y":483},{"x":1161,"y":520},{"x":1033,"y":518}]}]},{"type":1,"text":"A.前2s末、第2s末、第3s初","pos_list":[[{"x":204,"y":541},{"x":746,"y":536},{"x":746,"y":572},{"x":204,"y":577}]],"content_list":[{"type":1,"prob":0,"string":"A.前2s末、第2s末、第3s初","option":"","pos":[{"x":204,"y":541},{"x":746,"y":536},{"x":746,"y":572},{"x":204,"y":577}]}]},{"type":1,"text":"B.第1s末、第2s末、第3s末","pos_list":[[{"x":205,"y":601},{"x":742,"y":596},{"x":743,"y":632},{"x":205,"y":637}]],"content_list":[{"type":1,"prob":0,"string":"B.第1s末、第2s末、第3s末","option":"","pos":[{"x":205,"y":601},{"x":742,"y":596},{"x":743,"y":632},{"x":205,"y":637}]}]},{"type":1,"text":"C.前2s末、第2s末、前3s初","pos_list":[[{"x":205,"y":660},{"x":743,"y":660},{"x":743,"y":696},{"x":205,"y":696}]],"content_list":[{"type":1,"prob":0,"string":"C.前2s末、第2s末、前3s初","option":"","pos":[{"x":205,"y":660},{"x":743,"y":660},{"x":743,"y":696},{"x":205,"y":696}]}]},{"type":1,"text":"D.前2s初、第2s末、第3s初","pos_list":[[{"x":205,"y":721},{"x":746,"y":721},{"x":746,"y":757},{"x":205,"y":757}]],"content_list":[{"type":1,"prob":0,"string":"D.前2s初、第2s末、第3s初","option":"","pos":[{"x":205,"y":721},{"x":746,"y":721},{"x":746,"y":757},{"x":205,"y":757}]}]}]}]}],"prism_version":"1.0.9","prism_wnum":0,"prism_wordsInfo":[],"width":2377}
Codestring

状态码

200
Messagestring

详细信息

message

返回参数说明


字段类型说明
doc_layoutlist版面信息。
doc_sptextlist特殊文字信息。
figurelist图案信息。
page_idint页码。
page_titlestring页标题。
part_infolist题型大类信息。
heightint算法矫正图片后的高度。
widthint算法矫正图片后的宽度。
orgHeightint原图的高度。
orgWidthint原图的宽度。

题目列表信息(doc_layout 字段)

字段类型说明
layout_typestring文字类型(text:普通文字,special_text:特殊文字,table:表格,head:页眉,foot:页脚,side_column:侧栏)。
poslist外矩形四个点的坐标按顺时针排列(左上、右上、右下、左下)。

特殊文字信息(doc_sptext 字段)

字段类型说明
layout_typestring文字类型(bold:黑体,complex:特殊体)。
poslist外矩形四个点的坐标按顺时针排列(左上、右上、右下、左下)。

图案信息(figure 字段)

字段类型说明
typestring配图类型(subject_sline:分栏线,竖线;subject_bline:空格线/下划线,竖线;subject_bracket:括号;subject_quad:田字格和四线三格;subject_table:表格;subject_pattern:图案;subject_big_bracket:大括号;subject_match_question:连线题;subject_question:非材料题;subject_material:材料题)。
xint图案左上角横坐标。
yint图案左上角纵坐标。
wint图案宽度。
hint图案高度。
boxobject图案坐标信息:中心横纵坐标,长宽,顺时针旋转角度。定义同 OpenCV 中 RotatedRect,请参见 OpenCV 文档
pointslist图案四个点坐标(左上、右上、右下、左下)。

题型大类信息(part_info 字段)

字段类型说明
part_titlestring题型标题(例如选择题,填空题,解答题)。
pos_listlist对应所有题型的外层大矩形的四个点的坐标数组。
subject_listlist题目列表。

题目列表信息(subject_list 字段)

字段类型说明
indexint在 part_info 中的序号。
typeint题目类型(0:选择题;1:填空题;2:阅读理解(阅读+问答选择);3:完型填空(阅读+选择);4:阅读填空(阅读+填空);5:问答题;6:选择题,多选多;7:填空、选择题混合;8:应用题;9:判断题;10:作图题;11:材料题;12:计算题;13:连线题;14:作文题;15:解答题;16:其他;17:图;18:表格)。
textstring整题文本信息,可能包含 latex 公式,需要自行解析还原。
probint置信度。
post_listlist整题外矩形四个点的坐标按顺时针排列(左上、右上、右下、左下)。
element_listlist题目元素。

题目元素信息(element_list 字段)

字段类型说明
typeint题目元素类型(0:题干;1:选项;2:解析;3:答案)。
textstring整题文本信息,可能包含 latex 公式,需要自行解析还原。
post_listlist外层大矩形的四个点的坐标数组。
content_listlist内容数组。

内容数组信息(content_list 字段)

字段类型说明
typeint内容类型(0:图片;1:文本;2:公式)。
stringstring整题文本信息,可能包含 latex 公式,需要自行解析还原。
poslist外层大矩形的四个点的坐标数组。

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": "{\"figure\":[{\"type\":\"subject_bracket\",\"x\":1039,\"y\":2625,\"w\":124,\"h\":42,\"box\":{\"x\":0,\"y\":0,\"w\":0,\"h\":0,\"angle\":0},\"points\":[{\"x\":1039,\"y\":2625},{\"x\":1163,\"y\":2625},{\"x\":1163,\"y\":2667},{\"x\":1039,\"y\":2667}]}],\"height\":3442,\"orgHeight\":3442,\"orgWidth\":2377,\"page_id\":7,\"page_title\":\"\",\"part_info\":[{\"part_title\":\"选择题\",\"pos_list\":[[{\"x\":245,\"y\":3260},{\"x\":2235,\"y\":3265},{\"x\":2235,\"y\":3353},{\"x\":245,\"y\":3352}]],\"subject_list\":[{\"index\":0,\"type\":0,\"prob\":0,\"text\":\"1.(疑难,★★☆)下列各组数据中,表示同一 时刻的是 ( ) A.前2s末、第2s末、第3s初 B.第1s末、第2s末、第3s末 C.前2s末、第2s末、前3s初 D.前2s初、第2s末、第3s初\",\"pos_list\":[[{\"x\":170,\"y\":417},{\"x\":1162,\"y\":416},{\"x\":1161,\"y\":757},{\"x\":170,\"y\":757}]],\"element_list\":[{\"type\":0,\"text\":\"1.(疑难,★★☆)下列各组数据中,表示同一 时刻的是 ( )\",\"pos_list\":[[{\"x\":170,\"y\":417},{\"x\":1162,\"y\":416},{\"x\":1161,\"y\":520},{\"x\":170,\"y\":518}]],\"content_list\":[{\"type\":1,\"prob\":0,\"string\":\"1.(疑难,★★☆)下列各组数据中,表示同一 时刻的是\",\"option\":\"\",\"pos\":[{\"x\":170,\"y\":417},{\"x\":1131,\"y\":416},{\"x\":1131,\"y\":453},{\"x\":170,\"y\":454}]},{\"type\":1,\"prob\":0,\"string\":\"( )\",\"option\":\"\",\"pos\":[{\"x\":1033,\"y\":481},{\"x\":1162,\"y\":483},{\"x\":1161,\"y\":520},{\"x\":1033,\"y\":518}]}]},{\"type\":1,\"text\":\"A.前2s末、第2s末、第3s初\",\"pos_list\":[[{\"x\":204,\"y\":541},{\"x\":746,\"y\":536},{\"x\":746,\"y\":572},{\"x\":204,\"y\":577}]],\"content_list\":[{\"type\":1,\"prob\":0,\"string\":\"A.前2s末、第2s末、第3s初\",\"option\":\"\",\"pos\":[{\"x\":204,\"y\":541},{\"x\":746,\"y\":536},{\"x\":746,\"y\":572},{\"x\":204,\"y\":577}]}]},{\"type\":1,\"text\":\"B.第1s末、第2s末、第3s末\",\"pos_list\":[[{\"x\":205,\"y\":601},{\"x\":742,\"y\":596},{\"x\":743,\"y\":632},{\"x\":205,\"y\":637}]],\"content_list\":[{\"type\":1,\"prob\":0,\"string\":\"B.第1s末、第2s末、第3s末\",\"option\":\"\",\"pos\":[{\"x\":205,\"y\":601},{\"x\":742,\"y\":596},{\"x\":743,\"y\":632},{\"x\":205,\"y\":637}]}]},{\"type\":1,\"text\":\"C.前2s末、第2s末、前3s初\",\"pos_list\":[[{\"x\":205,\"y\":660},{\"x\":743,\"y\":660},{\"x\":743,\"y\":696},{\"x\":205,\"y\":696}]],\"content_list\":[{\"type\":1,\"prob\":0,\"string\":\"C.前2s末、第2s末、前3s初\",\"option\":\"\",\"pos\":[{\"x\":205,\"y\":660},{\"x\":743,\"y\":660},{\"x\":743,\"y\":696},{\"x\":205,\"y\":696}]}]},{\"type\":1,\"text\":\"D.前2s初、第2s末、第3s初\",\"pos_list\":[[{\"x\":205,\"y\":721},{\"x\":746,\"y\":721},{\"x\":746,\"y\":757},{\"x\":205,\"y\":757}]],\"content_list\":[{\"type\":1,\"prob\":0,\"string\":\"D.前2s初、第2s末、第3s初\",\"option\":\"\",\"pos\":[{\"x\":205,\"y\":721},{\"x\":746,\"y\":721},{\"x\":746,\"y\":757},{\"x\":205,\"y\":757}]}]}]}]}],\"prism_version\":\"1.0.9\",\"prism_wnum\":0,\"prism_wordsInfo\":[],\"width\":2377}",
  "Code": "200",
  "Message": "message"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2021-08-17OpenAPI 入参发生变更查看变更详情