帮助与文档 > 产品文档 > 智慧学习服务 > API文档 > 英语作文批改(文本输入)
英语作文批改(文本输入)

英文作文批改(文本输入) API 简介

说明

Hi,您好,欢迎使用有道智云英文作文批改(文本输入)API 接口服务。

本文档主要针对需要集成 HTTP API 的技术开发工程师,详细描述英文作文批改(文本输入)能力相关的技术内容。

如果您有与我们商务合作的需求,可以通过以下方式联系我们:

商务邮箱: AIcloud_Business@corp.youdao.com

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

客服 QQ:1906538062

智云作文批改技术交流 QQ 1 群: 1092639188

联系邮箱: zhiyun@corp.youdao.com

温馨提示:

本文档主要针对开发人员,接入测试前需要获取应用 ID 和应用密钥;如果您还没有,请按照 新手指南 获取。
平台向每个账户赠送 50 元的体验金,供用户集成前测试所用,具体资费规则详见 英文作文批改服务报价

接口说明

有道 AI 团队自研的基于深度学习网络技术的自动作文批改技术。覆盖学生英语学习全周期,提供高参考价值的智能批改功能,用户只需要输入一篇英文作文,选择对应的英文级别,智能批改服务即可一键给出文章得分、整体评价、拼写错误反馈、语法错误反馈、主题相关度反馈、以及高级词汇和推荐词组等一系列结果,从而向用户提供针对性的作文指导意见。

请求地址

https://openapi.youdao.com/v2/correct_writing_text

协议须知

调用方在集成文本翻译 API 时,请遵循以下规则。

规则描述
传输方式HTTPS
求方式POST
字符编码统一使用 UTF-8 编码
请求格式表单
响应格式JSON

请求参数

字段名含义备注必填
appKey应用标识(应用 ID)控制台获取true
curtime时间戳当前UTC时间戳(秒)true
q正文文本作文内容文本true
salt随机字符串推荐使用uuid确保唯一性true
sign签名信息:sha256(appKey+input+salt+密钥)sha256(appKey+input+salt+密钥)true
signType签名类型v3true
grade作文等级参考gradefalse
title作文标题标题内容false
modelContent作文参考范文参考范文,长度限制为[0,5000]false
isNeedSynonyms是否查询同义词默认为 false(true/false)false
correctVersion作文批改版本:基础,高级默认为 basic(basic/advanced)返回结果见示例false
isNeedEssayReport是否返回写作报告(essayReport字段,仅在高级批改时生效)默认为 false(true/false)false

最好传输 limitedWords,这样评分更精确。
签名生成算法如下:

signType=v3,sha256(应用 ID+input+salt+curtime+密钥),推荐使用
sha256 签名计算方法为:sha256(应用 ID+input+salt+当前 UTC 时间戳+密钥)。

其中,input 的计算方式为:input=多个q拼接后前10个字符 + 多个q拼接长度 + 多个q拼接后十个字符(当多个 q 拼接后长度大于 20)或 input=多个q拼接的字符串(当多个 q 拼接后长度小于等于 20)。

不同语言获取时间戳,请参看此链接

如果对签名有疑问,可以参看各语言 demo。

grade取值

学级代码分数
不考虑级别,单纯评价句子好坏default100
小学elementary100
初中junior100
高中high25
四级cet4106.5
六级cet6106.5
考研graduate20
考研英语(一)大作文graduate_b120
考研英语(一)小作文graduate_a110
考研英语(二)小作文graduate_a210
考研英语(二)大作文graduate_b215
托福toefl30
托福-独立写作toefl_independent30
托福-综合写作toefl_comprehensive30
考研graduate20
GREgre6
雅思ielts9
雅思-task1ielts_task19
雅思-task2ielts_task29
学术写作academic100

同义词推荐类型信息

编码名称解释
1LEXICAL词级近义推荐
2PHRASE不合适的搭配
3VERY固定搭配

返回结果

参数名称描述
RequestId请求Id
errorCode错误码
Result返回结果

服务配置

服务内容说明
文本输入最大支持 5000 字符

错误代码列表

错误码含义
101缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。
102不支持的语言类型
103翻译文本过长
104不支持的API类型
105不支持的签名类型
106不支持的响应类型
107不支持的传输加密类型
108应用ID无效,注册账号,登录后台创建应用,可获得应用ID和应用密钥等信息
109batchLog格式不正确
110无相关服务的有效应用,。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。
111开发者账号无效
112请求服务无效
113q不能为空
114不支持的图片传输方式
201解密失败,可能为DES,BASE64,URLDecode的错误
202签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码.
203访问IP地址不在可访问IP列表
205请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206因为时间戳无效导致签名校验失败
207重放请求
301辞典查询失败
302翻译查询失败
303服务端的其它异常
304会话闲置太久超时
401账户已经欠费停
402offlinesdk不可用
411访问频率受限,请稍后访问
412长请求过于频繁,请稍后访问
29001inputType 类型不对
29002needTypo 类型不对
29003Q 超过限制长度
29004grade 类型不对
29005文件为空
29006图片过大
29007作文批改的文本内容为空
29008isNeedSynonyms参数错误
29009ocr识别结果为空
29301作文批改请求失败

基础版basic

例:

{
    "RequestId": "9cd0e024-5927-4c43-8fbf-0d36462cb4ca",
    "errorCode": "0",
    "Result": {
      // 请求原文
      "rawEssay": "Nowadays, more and more middle-aged people are suffering from insomnia, as life for the middle-aged is stressful indeed. For one thing, as they are the backbones of their companies, they have plenty of things to do at work. And they usually have to work overtime. For another, they have to take great responsibilities at home, for their aged parents need to be supported and their little children need to be brought up. That's why they don't have enough time to have a good rest.To sleep well, some of them often take sleeping pills. I don't think it's good for them to do so, because the sleeping pills can only get rid of the sign of insomnia, not the cause. And taking too much sleeping pills is bad for their health.Therefore, I suggest those middle-aged people should know how to relax themselves and rest their brains. Taking a simple work after supper will be beneficial for them. Besides, they can have a glass of milk before going to bed, which can be helpful for their sleep.",
      // 文章句子数
      "sentNum": 11,
      // 每个请求独一无二的字符串标识
      "uniqueKey": "46df4a57-1804-404f-985c-898401dfe1ab",
      // 文章最终评价
      "essayAdvice": "作文整体水平较高",
      // 文章最终得分
      "totalScore": 93,
      // 文章最终简短评价
      "totalEvaluation": "Excellent!",
      // 语言信息
      "essayLangName": "English",
      // 是AllFeatureScore中score整合结果
      "majorScore": {
        // 语法得分:包括拼写、语法、句子复杂度得分等
        "grammarScore": 89.8,
        // 语法评价
        "grammarAdvice": "存在少量语法错误,建议认真检查",
        // 内容(主题相关性)得分,如果没有参考范文,该部分得分会从语法和复杂度上考虑
        "topicScore": 66.2,
        // 词汇得分:包括词数、丰富度、高级词汇等得分
        "wordScore": 89,
        // 词汇评价
        "wordAdvice": "单词拼写基本正确,单词拼写基础扎实;词汇量较为丰富,能使用一定数量的高级词汇",
        // 逻辑得分:包括段落和连接词得分
        "structureScore": 88.3,
        // 逻辑评价
        "structureAdvice": "逻辑性不错,上下文关系衔接较为紧密"
      },
      // 段落数
      "paraNum": 1,
      // 文章批改结果
      "essayFeedback": {
        // 句子批改结果
        // 每个句子的批改结果当errorPosInfos不为空数组时,synInfo==null,errorPosInfos为空数组时,且isNeedSynonyms=true synInfo可能存在
        "sentsFeedback": [
          // 第1句话,没有任何错误和同义词推荐信息
          {
            // 原句
            "rawSent": "Nowadays, more and more middle-aged people are suffering from insomnia, as life for the middle-aged is stressful indeed.",
            // 段落id,从0有序编号
            "paraId": 0,
            // 句子id,从0有序编号
            "sentId": 0,
            // 本句话中所有的语法错误
            "errorPosInfos": [],
            // 本句话中所有的同义词推荐
            "synInfo": null,
            // 错误原因反馈,基于errorPosInfos中所有reason字段拼接而成
            "sentFeedback": "",
            // 该句子在全文中相对于文章 初始位置的偏移量
            "sentStartPos": 0,
            // 正确的句子
            "correctedSent": "Nowadays, more and more middle-aged people are suffering from insomnia, as life for the middle-aged is stressful indeed.",
            // 返回是否含有语法错误
            "isContainGrammarError": false,
            // 返回是否含有typo错误
            "isContainTypoError": false,
            // 是否为合法句子(合法与否取决于语言检测对该句的语言信息识别结果与期望结果是否一致)  
            "isValidLangSent": true
          },
          // 第2句话,有同义词推荐信息
          {
            "rawSent": "For one thing, as they are the backbones of their companies, they have plenty of things to do at work.",
            "paraId": 0,
            "sentId": 1,
            "errorPosInfos": [],
            "synInfo": [
              {
                // 推荐标识id
                "id": 1667303677314,
                // 核心词词性
                "sourcePos": "名词",
                // 核心词类型,类型可看上方
                "synType": "LEXICAL",
                // 核心词解释
                "sourceTran": "n. 公司,企业;演出团,歌舞团;连队(company 的复数); v. 陪伴,伴随(company 的第三人称单数)",
                // 核心词一些标签,目前仅有核心词词性
                "tagList": [
                  "名词"
                ],
                // 推荐标识有序id
                "synId": 0,
                // 核心词信息,核心词可能由多个组成
                "source": [
                  {
                    // 当前词相对于当前句子 初始的偏移量
                    "startPos": 50,
                    // 当前词相对于当前句子 结束的偏移量
                    "endPos": 59,
                    // 当前词
                    "word": "companies",
                    // 当前词学段,可能有多个,学段信息等同入参stLevel列表
                    "stuLevel": [
                      2
                    ]
                  }
                ],
                // 候选词信息,有多个候选词
                "target": [
                  // 第一个候选词,每一个候选词都可能由多个词组成
                  [
                    {
                      // 当前词相对于当前句子 初始的偏移量
                      "startPos": 50,
                      // 当前词相对于当前句子 结束的偏移量
                      "endPos": 59,
                      // 当前词
                      "word": "firms",
                      // 当前词解释
                      "tran": "n. 公司,厂商(firm 的复数); v. 变得坚实(firm 的第三人称单数)",
                      // 当前词学段,可能有多个,学段信息等同入参stLevel列表
                      "stuLevel": [
                        2
                      ]
                    }
                  ]
                ]
              }
            ],
            "sentFeedback": "",
            "sentStartPos": 121,
            "correctedSent": "For one thing, as they are the backbones of their companies, they have plenty of things to do at work.",
            "isContainGrammarError": false,
            "isContainTypoError": false,
            "isValidLangSent": true
          },
          // 省略的中间的句子反馈信息
          // 第8句话,仅有语法错误信息  
          {
            "rawSent": "And taking too much sleeping pills is bad for their health.",
            "paraId": 0,
            "sentId": 7,
            // 所有的错误信息
            "errorPosInfos": [
              {
                // 错误唯一标识id
                "id": 1667303701251,
                // 类似下面的isValidSent,判断是否为合法片段(该片段如果语言检测结果与期望不一致,则认为不合法)
                "isValidLangChunk": true,
                // 发生错误的内容
                "orgChunk": "much",
                // 业务错误一级信息
                "errorTypeTitle": "不同类代词混淆",
                // orgChunk相对rawSent 起始位置的偏移量
                "startPos": 15,
                // 错误块修正后的具体内容
                "correctChunk": "many",
                // orgChunk相对rawSent 结束位置的偏移量
                "endPos": 19,
                // 错误的副标题信息
                "cardSubtitle": "修改代词",
                // 错误基本信息
                "errBaseInfo": "代词类型混淆会使指代对象有误,建议将【much】修改为【many】",
                // 业务划定的错误大类信息
                "errToBBasicType": "句法",
                // 错误原因的详细解释(比reason更进一步)
                "detailReason": "代词类型混淆会使指代对象有误",
                // 知识点或讲解
                "knowledgeExp": "代词代替名词、名词性短语等,在句子可以作主语、宾语等。作主语时,代词可以表示动作的施动者;作宾语时,表明行为或动作的承受者。由此可见,不同类型代词的使用方式有一定的差别。",
                // 所有例句
                "exampleCases": [
                  {
                    // 例句
                    "right": "Half of the money was mine.",
                    // 例句翻译
                    "rightTranslate": "一半的钱是我的。",
                    // 原句
                    "error": "Half of the money was my."
                  },
                  {
                    "right": "They did the cooking by themselves.",
                    "rightTranslate": "他们自己做饭。",
                    "error": "They did the cooking by theirs."
                  }
                ]
              }
            ],
            "synInfo": null,
            "sentFeedback": "不同类代词混淆,建议将〖much〗修改为【many】",
            "sentStartPos": 661,
            "correctedSent": "And taking too many sleeping pills is bad for their health.",
            "isContainGrammarError": true,
            "isContainTypoError": false,
            "isValidLangSent": true
          },
          // 省略末尾句子反馈信息
        ]
      },
      // 单词数
      "wordNum": 204,
      // 文章总分
      "fullScore": 100,
      // 请求学段英文名称
      "stLevel": "DEFAULT",
      // 请求学段学段code
      "stLevelCode": 0,
      // 请求标题
      "title": "web",
      // 请求写作模式
      "writeModel": 1,
      // 请求文体类型
      "writeType": 1
    }
}

高级版advanced

例:

{
    "RequestId": "9cd0e024-5927-4c43-8fbf-0d36462cb4ca",
    "errorCode": "0",
    "Result": {
      // 请求原文
      "rawEssay": "Actually, it is sort of a fish berry jam.  Lots of job loss is just one thing resulting from automation. We do the essential Python on 22nd September 2019. We do an important python on the 22nd of September 2019. We have 5 apples in the important things 5 on Sep 2019.",
      // 文章句子数
      "sentNum": 5,
      // 每个请求独一无二的字符串标识 
      "uniqueKey": "3b9e61e0-d6c1-4194-8cf6-2c4c9ae209c2",
      // 文章最终评价
      "essayAdvice": "",
      // 文章最终得分
      "totalScore": 0,
      // 文章最终简短评价
      "totalEvaluation": "Excellent!",
      // 语言信息
      "essayLangName": "English",
      // 是AllFeatureScore中score整合结果
      "majorScore": {
        // 语法得分:包括拼写、语法、句子复杂度得分等
        "grammarScore": 89.8,
        // 语法评价
        "grammarAdvice": "存在少量语法错误,建议认真检查",
        // 内容(主题相关性)得分,如果没有参考范文,该部分得分会从语法和复杂度上考虑
        "topicScore": 66.2,
        // 词汇得分:包括词数、丰富度、高级词汇等得分
        "wordScore": 89,
        // 词汇评价
        "wordAdvice": "单词拼写基本正确,单词拼写基础扎实;词汇量较为丰富,能使用一定数量的高级词汇",
        // 逻辑得分:包括段落和连接词得分
        "structureScore": 88.3,
        // 逻辑评价
        "structureAdvice": "逻辑性不错,上下文关系衔接较为紧密"
      },
      // 段落数
      "paraNum": 1,
      // 文章批改结果
      "essayFeedback": {
        // 句子批改结果,所有的句子都仅有语法错误,语法错误详细说明看下方:语法错误类型详细说明
        "sentsFeedback": [
          // 第1句话,包含单节点-点击多项替换错误、单节点-展示类型
          {
            // 原句
            "rawSent": "Actually, it is sort of a fish berry jam.",
            // 段落id,从0有序编号
            "paraId": 0,
            // 句子id,从0有序编号
            "sentId": 0,
            // 本句话中所有的语法错误,包括基础和高级错误
            "errorPosInfos": [
              // 这是一个单节点-点击多项替换错误
              {
                // 推荐标识id
                "id": 1668590140818,
                // 类似下面的isValidSent,判断是否为合法片段(该片段如果语言检测结果与期望不一致,则认为不合法)
                "isValidLangChunk": true,
                // 发生错误的内容
                "orgChunk": "Actually",
                // 业务错误一级信息
                "errorTypeTitle": "词汇频繁使用",
                // orgChunk相对rawSent 起始位置的偏移量
                "startPos": 0,
                // 错误块修正后的具体内容
                "correctChunk": "Actually",
                // orgChunk相对rawSent 结束位置的偏移量
                "endPos": 8,
                // 错误的副标题信息
                "cardSubtitle": "替换新单词",
                // 错误基本信息
                "errBaseInfo": "词汇使用频繁,建议替换新单词",
                // 业务划定的错误大类信息
                "errToBBasicType": "",
                // 错误原因的详细解释(比reason更进一步)
                "detailReason": "词汇使用频繁",
                // 所有例句
                "exampleCases": [],
                // 节点类型 1-单节点,2-多节点
                "nodeType": 1,
                // 结构类型 1-提示类,2-点击单项替换,3-点击多项替换,4-点击选择替换类
                "structType": 3,
                // 展示类型,1-基础卡片与1.0一致,2-高级卡片
                "showType": 2,
                // 当nodeType=1,structType=3时,表示多项值
                "target": [
                  "Really",
                  "Indeed"
                ],
                // 是否vip卡片
                "vip": true
              },
              // 这是一个单节点-提示类型错误
              {
                "id": 1668590140820,
                "isValidLangChunk": true,
                "orgChunk": "sort of",
                "errorTypeTitle": "不必要的修饰词",
                "startPos": 16,
                "correctChunk": "sort of",
                "endPos": 23,
                "cardSubtitle": "删除修饰词",
                "errBaseInfo": "学术用词具体、简洁,口语化的一些补白词不够正式,表意模糊,建议删除[rValidChunk]",
                "errToBBasicType": "",
                "detailReason": "学术用词具体、简洁,口语化的一些补白词不够正式,表意模糊",
                "knowledgeExp": "学术写作要求用词<b>明确、简洁</b>,类似kind of的补白词模糊性较强,过于口语化,建议删除。",
                // 所有例句
                "exampleCases": [
                  {
                    // 原句
                    "error": "An oil does not blend with water",
                    // 例句翻译
                    "rightTranslate": "油不溶于水。",
                    // 例句
                    "right": "Oil does not blend with water."
                  }
                ],
                "nodeType": 1,
                "showType": 2,
                "structType": 2,
                "target": [],
                "vip": true
              }
            ],
            // 错误原因反馈,基于errorPosInfos中所有reason字段拼接而成
            "sentFeedback": "词汇频繁使用,建议替换新单词;不必要的修饰词,建议删除〖sort of〗",
            // 该句子在全文中相对于文章 初始位置的偏移量
            "sentStartPos": 0,
            // 正确的句子
            "correctedSent": "Actually, it is sort of a fish berry jam.",
            // 返回是否含有语法错误
            "isContainGrammarError": false,
            // 返回是否含有typo错误
            "isContainTypoError": false,
            // 是否为合法句子(合法与否取决于语言检测对该句的语言信息识别结果与期望结果是否一致)  
            "isValidLangSent": true,
          },
          // 省略的中间的句子反馈信息
          // 第3句话,包含多节点选择替换错误
          {
            "rawSent": "We do the essential Python on 22nd September 2019.",
            "paraId": 0,
            "sentId": 2,
            "errorPosInfos": [
              // 这是一个多节点选择替换错误的其中一个节点
              {
                "id": 1668590140825,
                "isValidLangChunk": true,
                "orgChunk": "22nd September",
                "errorTypeTitle": "日期表达不一致",
                "startPos": 30,
                "correctChunk": "{\"DthMonth\":\"22nd September\",\"TheDthofMonth\":\"the 22nd of September\",\"MonthDth\":\"September 22nd\"}",
                "endPos": 44,
                "cardSubtitle": "使用一致的日期表达",
                "errBaseInfo": "上下文日期表达不一致,建议使用一致的日期表达",
                "errToBBasicType": "",
                "detailReason": "上下文日期表达不一致",
                "knowledgeExp": "<b>日期</b>有几种不同表达方式。January 20,January 20th,Jan. 20,以及20 January都是正确的。一篇文章通常<b>保持日期表达一致</b>。",
                "exampleCases": [

                ],
                // 多节点的parentId一致
                "parentId": "1668590140767",
                "nodeType": 2,
                // 只有nodeType=2,structType=4,且是日期错误才会出现
                // 原片段
                "orgDateType": "Dth Month",
                "showType": 2,
                "structType": 4,
                "vip": true,
                // 只有nodeType=2,structType=4,才会存在
                "statInfo": [
                  {
                    // 该类型出现的数量
                    "count": 1,
                    // 示例,日期类型才会存在
                    "demo": "5th Dec",
                    // 类型
                    "item": "Dth Month"
                  },
                  {
                    "count": 1,
                    "demo": "The 5th of Dec",
                    "item": "The Dth of Month"
                  }
                ],
              }
            ],
            "sentFeedback": "大小写不统一,建议修改大小写;日期表达不一致,建议使用一致的日期表达",
            "sentStartPos": 105,
            "correctedSent": "We do the essential {\"lower\":\"python\",\"capitalize\":\"Python\"} on {\"DthMonth\":\"22nd September\",\"TheDthofMonth\":\"the 22nd of September\",\"MonthDth\":\"September 22nd\"} 2019.",
            "isContainGrammarError": false,
            "isContainTypoError": false,
            "isValidLangSent": true
          },
          // 第4句话,包含多节点选择替换错误
          {
            "rawSent": "We do an important python on the 22nd of September 2019.",
            "paraId": 0,
            "sentId": 3,
            "errorPosInfos": [
              // 这是一个多节点选择替换错误的其中一个节点,与第3句话的错误有同样的父parentId
              {
                "id": 1668590140828,
                "isValidLangChunk": true,
                "orgChunk": "the 22nd of September",
                "orgDateType": "The Dth of Month",
                "errorTypeTitle": "日期表达不一致",
                "startPos": 29,
                "correctChunk": "{\"DthMonth\":\"22nd September\",\"TheDthofMonth\":\"the 22nd of September\",\"MonthDth\":\"September 22nd\"}",
                "endPos": 50,
                "cardSubtitle": "使用一致的日期表达",
                "errBaseInfo": "上下文日期表达不一致,建议使用一致的日期表达",
                "errToBBasicType": "",
                "detailReason": "上下文日期表达不一致",
                "knowledgeExp": "<b>日期</b>有几种不同表达方式。January 20,January 20th,Jan. 20,以及20 January都是正确的。一篇文章通常<b>保持日期表达一致</b>。",
                "exampleCases": [],
                "parentId": "1668590140767",
                "nodeType": 2,
                "showType": 2,
                "statInfo": [
                  {
                    "count": 1,
                    "demo": "5th Dec",
                    "item": "Dth Month"
                  },
                  {
                    "count": 1,
                    "demo": "The 5th of Dec",
                    "item": "The Dth of Month"
                  }
                ],
                "structType": 4,
                "vip": true
              }
            ],
            "sentFeedback": "词汇频繁使用,建议替换新单词;大小写不统一,建议修改大小写;日期表达不一致,建议使用一致的日期表达",
            "sentStartPos": 156,
            "correctedSent": "We do an important {\"lower\":\"python\",\"capitalize\":\"Python\"} on {\"DthMonth\":\"22nd September\",\"TheDthofMonth\":\"the 22nd of September\",\"MonthDth\":\"September 22nd\"} 2019.",
            "isContainGrammarError": false,
            "isContainTypoError": false,
            "isValidLangSent": true
          },
          // 第5句话,包含单节点点击单项替换错误
          {
            "rawSent": "We have 5 apples in the important things 5 on Sep 2019.",
            "paraId": 0,
            "sentId": 4,
            "errorPosInfos": [
              {
                "id": 1668590140830,
                "isValidLangChunk": true,
                "orgChunk": "5",
                "errorTypeTitle": "拼写不统一",
                "startPos": 8,
                "correctChunk": "five",
                "endPos": 9,
                "cardSubtitle": "拼写单词",
                "errBaseInfo": "阿拉伯数字应该使用英文拼写,建议将[orgChunk]修改为[correctChunk]",
                "errToBBasicType": "",
                "detailReason": "阿拉伯数字应该使用英文拼写",
                "knowledgeExp": "一般来说,<b>0到9的数字</b>都应该<b>拼写</b>出来。如果想要表达日期、地址、金钱、分数、百分比、分数和小数,可以直接使用数字。",
                "exampleCases": [],
                "nodeType": 1,
                "showType": 2,
                "structType": 2,
                "vip": true
              }
            ],
            "sentFeedback": "拼写不统一,建议将〖5〗修改为【five】;词汇频繁使用,建议替换新单词",
            "sentStartPos": 213,
            "correctedSent": "We have five apples in the important things 5 on Sep 2019.",
            "isContainGrammarError": true,
            "isContainTypoError": false,
            "isValidLangSent": true

          }
        ]
      },
      // 单词数
      "wordNum": 0,
      // 文章总分
      "fullScore": 100,
      // 请求学段英文名称
      "stLevel": "TASK1",
      // 请求学段code
      "stLevelCode": 9,
      // 请求标题
      "title": "yapi-test-1",
      // 请求写作模式
      "writeModel": 1,
      // 请求文体类型
      "writeType": 1,
      // 请求细分学段code
      "articleFormCode": 90102,
      // 写作报告,可看下方
      "essayReport": {}
    }
}

写作报告essayReport:

{
  "essayReport": {
    // 平均句长
    "avgSentLen": 17.1,
    // 平均句长建议
    "avgSentLenAdvice": "文章平均句长为17.1,达到四级优秀作文平均句长。",
    // 平均词长
    "avgWordLen": 4.8,
    // 平均词长建议
    "avgWordLenAdvice": "平均词长代表了文章单词的平均长度。\n文章平均词长为4.8,达到四级优秀作文平均词长。",
    // 字符数
    "charNum": 1013,
    // 文章连接词建议
    "conjAdvice": {
      // 需要将占位符替换的值列表
      "fillers": [
        6,
        [
          "并列",
          "因果",
          "顺序"
        ]
      ],
      // 建议,包括占位符字段
      "original": "文章行文连贯,衔接手段运用自如,段落间逻辑紧密层次分明,实为佳作!\n文中共使用了%s种逻辑连接词,使用较多的有表示%s关系的逻辑连接词。合理运用逻辑连接词可增强文章的连贯性与逻辑性,建议适当积累一些逻辑连接词。",
      // 占位符
      "placeholder": "%s"
    },
    // 逻辑连接词,按比例从降序排序
    "conjTypeInfos": [
      {
        // 数量
        "count": 4,
        // 名称
        "name": "并列",
        // 比例
        "percent": 0.29
      },
      {
        "count": 4,
        "name": "因果",
        "percent": 0.29
      },
      {
        "count": 2,
        "name": "顺序",
        "percent": 0.14
      },
      {
        "count": 2,
        "name": "让步",
        "percent": 0.14
      },
      {
        "count": 1,
        "name": "递进",
        "percent": 0.07
      },
      {
        "count": 1,
        "name": "其他",
        "percent": 0.07
      }
    ],
    // 逻辑连接词数量
    "conjWordNum": 7,
    // 文章最终评价
    "essayAdvice": "作文整体水平有待提高",
    // 对应级别满分
    "fullScore": 100,
    // 语法错误建议
    "grammarErrorAdvice": {
      // 建议
      "advice": "建议复习相关语法知识。",
      // 所有的语法错误,按比例降序排序
      "errors": [
        {
          // 出现次数
          "count": 12,
          // 错误类型
          "name": "词汇拼写错误",
          // 出现比例,二位小数
          "percent": 0.33
        },
        {
          "count": 7,
          "name": "词汇使用错误",
          "percent": 0.2
        },
        {
          "count": 4,
          "name": "固定搭配介词错误",
          "percent": 0.11
        },
        {
          "count": 3,
          "name": "名词单复数错误",
          "percent": 0.09
        },
        {
          "count": 2,
          "name": "限定词缺失",
          "percent": 0.06
        },
        {
          "count": 7,
          "name": "其他",
          "percent": 0.21
        }
      ],
      // 评价
      "evaluation": "整体语法错误较多,高频语法错误有",
      // 高频的语法错误
      "highFreqErrors": [
        "词汇拼写错误",
        "词汇使用错误"
      ]
    },
    // 真正的语法错误数量
    "grammarErrorNum": 23,
    // 错误的句子比率
    "grammarErrorSentRatio": 0.8,
    // 高频语法错误
    "highFreqErrors": [
      {
        // 出现次数
        "count": 12,
        // 错误类型
        "name": "词汇拼写错误"
      },
      {
        // 出现次数
        "count": 7,
        // 错误类型
        "name": "词汇使用错误"
      }
    ],
    // 词汇水平分布信息,占比保留3位小数
    "lexicalDistribution": {
      // 词汇水平分布建议
      "advice": "您的文章与<span>优秀四级</span>作文平均词汇分布相比:使用的词汇水平有限,词汇分布合理,满足考试的需求,建议继续通过写作练习词汇和表达哦!",
      //小学词汇数量
      "primaryWordNum": 0,
      //小学词汇数量占比
      "primaryWordNumPercent": 0.000,
      //初中词汇数量
      "juniorWordNum": 0,
      //初中词汇数量占比
      "juniorWordNumPercent": 0.000,
      //高中词汇数量
      "seniorWordNum": 0,
      //高中词汇数量占比
      "seniorWordNumPercent": 0.000,
      //四级词汇数量
      "cet4WordNum": 0,
      //四级词汇数量占比
      "cet4WordNumPercent": 0.000,
      //六级词汇数量
      "cet6WordNum": 0,
      //六级词汇数量占比
      "cet6WordNumPercent": 0.000,
      //托福词汇数量
      "toeflAndIeltsWordNum": 0,
      //托福词汇数量占比
      "toeflAndIeltsWordNumPercent": 0.000
    },
    // 主要得分和建议,分数一位小数
    "majorScore": {
      //语法得分:包括拼写、语法、句子复杂度得分等
      "grammarScore": 0.0,
      //语法评价
      "grammarAdvice": "",
      //内容(主题相关性)得分,如果没有参考范文,该部分得分会从语法和复杂度上考虑
      "topicScore": 0.0,
      //内容评价,目前均为null
      "topicAdvice": "",
      //词汇得分:包括词数、丰富度、高级词汇等得分
      "wordScore": 0.0,
      //词汇评价
      "wordAdvice": "",
      //逻辑得分:包括段落和连接词得分
      "structureScore": 0.0,
      //逻辑评价
      "structureAdvice": "",
      /**
       * 重点项
       * 0 :语法分项
       * 1 :单词分项
       * 2 :结构分项
       */
      "emphasis": 0
    },
    // 批改中包含在语法错误中,但在写作报告中并非语法错误的数量(标点、拼写、空格)
    "notTrueGrammarErrorNum": 15,
    // 段落数
    "paraNum": 1,
    // 原文长度
    "rawLength": 1024,
    // 可读性得分对应等级
    "readGrade": 5,
    // 可读性得分
    "readability": 71,
    // 可读性评价
    "readabilityEvaluation": "文章适合具有专家英语水平的人群阅读",
    // 优秀分界线,小数点数值类型保留1-3位小数
    "scoreBorders": {
      //水平编号
      "stLevel": "4",
      //水平名称
      "name": "四级",
      //优秀作文平均词长上边界
      "maxAvgWordsLen": 0.0,
      //优秀作文平均词长下边界
      "minAvgWordsLen": 0.0,
      //优秀作文平均句长上边界
      "maxAvgSentsLen": 0.0,
      //优秀作文平均句长下边界
      "minAvgSentsLen": 0.0,
      //优秀作文句子丰富度上边界
      "maxStdSentsLen": 0.0,
      //优秀作文句子丰富度下边界
      "minStdSentsLen": 0.0,
      //优秀作文小学词汇占比
      "maxPrimary": 0.0,
      //优秀作文初中词汇占比
      "maxJunior": 0.0,
      //优秀作文高中词汇占比
      "maxSenior": 0.0,
      //优秀作文四级词汇占比
      "maxCET4": 0.0,
      //优秀作文六级词汇占比
      "maxCET6": 0.0,
      //优秀作文托福雅思词汇占比
      "maxToeflAndIelts": 0.0
    },
    // 句子成分
    "sentComplexInfo": {
      // 复杂句数量
      "complexSentNum": 6,
      // 复杂句百分比
      "complexSentPercent": 0.5,
      // 句子评价建议
      "sentenceStructureAdvice": "简单句与复杂句均能综合使用,句子结构较为合理。",
      // 简单句数量
      "simpleSentNum": 6,
      // 简单句百分比
      "simpleSentPercent": 0.5
    },
    // 句子数
    "sentNum": 12,
    // 句长丰富度
    "stdSentLen": 7.9,
    // 句长丰富度建议,计算结果
    "stdSentLenAdvice": "句长丰富度会影响文章结构分。\n文章句长丰富度为7.9,达到四级优秀作文句长丰富度,文章读起来比较生动。",
    // 总得分
    "totalScore": 57,
    // 单子数
    "wordNum": 178
  },
}

常用语言 Demo

Java 示例

英文文本批改 Java demo

Python 示例~

英文文本批改 Python3 demo

C# 示例

英文文本批改 c# demo

PHP 示例

英文文本批改 php demo

go 示例

英文文本批改 go demo