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://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241223/sqecwj/%E7%B2%BE%E7%BB%86%E7%89%88%E7%BB%93%E6%9E%84%E5%8C%96%E5%88%87%E9%A2%98.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

错误码(如果识别成功,不会返回此字段)

noPermission
Messagestring

错误提示(如果识别成功,不会返回此字段)

You are not authorized to perform this operation.

返回参数说明


字段类型说明
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整题外矩形四个点的坐标按顺时针排列(左上、右上、右下、左下)。
answer_listlist答案位置坐标。
element_listlist题目元素。
figure_listlist插图位置信息。
table_listlist表格位置信息。
num_choicesint选择题答案数量。

题目元素信息(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": "noPermission",
  "Message": "You are not authorized to perform this operation."
}

错误码

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

变更历史

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