一次关于批改网的fuzz测试

news/2024/11/15 4:20:12/

一次关于批改网的fuzz测试

前言

本学期的期中作业要求要写一篇英语作文,完了以后还要在批改网上提交,如果分数大于90分的话,好像可以得到特等奖,有两百元的奖金。我奋斗了一下午,通过句子与句子之间疯狂使用that和which构造从句,增加连接词,将文章分数提高到了94.
在这里插入图片描述
通过查阅相关的资料,猜测可以通过按照规则构造句子的方式,达到高分的效果。具体尝试如下:(尝试分析过程比较无聊且枯燥,想要看结论的同学建议直接跳转总结)

分析

在这里插入图片描述
批改网的分数维度由四个方向组成,分别是词汇,句子,篇章结构和内容相关。

内容相关

在我94分的文章里,内容相关的分数是最低的,所以我首先在网站论坛上查找了相关的规则。
在这里插入图片描述
这个描述很模糊,但是大概可以知道,是通过检测文章内容之间的相关性来计算内容相关的。那么尝试一下构造fuzz:
在这里插入图片描述
发现内容相关度很高,但是并没有达到满相关度,但验证了我猜测的思路,它是通过匹配重复语义的词汇出现的频率来进行判断的,于是尝试构造极端fuzz payload:
在这里插入图片描述
果然内容相关度达到了满分,但是仅靠单个词语的堆砌肯定不能满足句子及篇章结构的要求,于是尝试构造句子,发现并不如意:
在这里插入图片描述
尝试转换思路,多个词汇重复出现,但是依旧没有达到我们想要的结果:
在这里插入图片描述
盲猜文章判断的依据可不可能是第一句,构造极端payload:
在这里插入图片描述
在这个极端payload中,第一句话里并没有包含后文内容,但似乎内容相关性还要比前一个payload更高一些,所以猜测可能是提取语义中出现的高频词汇的重复出现率来进行计算的。
在这里插入图片描述
确实通过这样的方法把内容相关性保持在了一个比较高的水平,尝试在每个句子中都包含有visit 和 morning。
在这里插入图片描述
并没有起到想要的效果,在这里思路突然被卡住了,但是想到除了词与词还有句与句之间的连贯性。尝试将连接词加入到文章中,并修正了一定的语法错误。
在这里插入图片描述
果然在加入了一些连接词以后,即使类似的内容,也没有因为词汇间的不连贯而掉内容相关的分数。虽然没有得到满分,但是由此可知我们的内容相关规则应该就是重点词汇重复出现+语句间连贯,而语句间的连贯可以通过增加一些连接词来实现。

词汇

接下来,我们按照顺序对词汇进行测试,它如何检测词汇的高级与否,我猜测应当是词汇使用频率高低来进行的,众所周知,高级词汇的出现率往往要比低频词汇多得多。那么尝试让我们的动物园里换一些有的没的高级动物试试。
在这里插入图片描述
将文中的动物换成了河马犀牛鹦鹉之类的词汇,然后将visit、zoo之类的词汇换成了一些不是很常用的addressed和menagerie.果然,评语对我说的是高级词汇使用准确,但是文中词汇表达贫乏,根据我的观察,应该是缺少一些固定搭配或者短语的存在,那么进一步对payload进行修饰。
在这里插入图片描述
词汇得分不进反退,可能是因为高级词汇出现的频率又出现了下降,反思存在的问题,参观动物园,I作为主人公就很吃亏,还有一种词汇表达贫乏的情况可能是因为重复出现的词汇比较多,应该尝试转换一些不太容易出现的词汇进行测试。
在这里插入图片描述
将我们的主人公从I换成了AI以后,果然词汇得分出现了大幅的增长,但是内容相关性出现了很大程度上的下滑,尝试通过修复连接词,替换相关内容来修复内容相关性。
在这里插入图片描述
果然,根据猜测,AI这个词汇虽然作为一个高级词汇,在词汇方面能增分不少,但是内容相关性和我们的其他动物类词汇,动物园之类的词汇同时出现的可能性很低,所以我们应该使用出现关联性比较高的词汇来进行构造,保证名词间的联系,高级词汇在动词副词形容词上下功夫。词汇这方面的规则即可总结为:多使用出现频率较少的词汇,灵活穿插但要保证词汇与词汇之间语义上的相近。

句子

句子这方面其实在下午我对本身文章的修改中就发现了,多使用固定句式,从句,即可得到一个比较高的句子分数,这里有个小技巧,在进行从句构造时,实在想不出来,可以使用which that来引导从句,将简单句组合成复杂句式,分数可以得到很大的提高。因为构造的payload句式都比较短,所以我不得不在这一步上耗费了比较多的时间。
在这里插入图片描述
通过对文章句式的改进,拼凑了一些莫名其妙(?)的句式,我们这篇狗屁不通的payload也得到了一个很高的分数。由于时间有限,所以也没有进一步对它进行一些修饰,句子的原理很简单,构造复杂长难句即可。在我这篇狗屁不通的payload里可以看到:
在这里插入图片描述
句子长度都不是很长,如果作为大文章来说,例如我构造到94分的那篇文章,其实很容易将句子的分数提上来,尽量将简单句构造成复杂句式即可。
在这里插入图片描述
在这里插入图片描述

篇章结构

篇章结构这个概念也比较抽象,在我前面对句子的构造中,篇章结构的分数基本上是和句子得分同时提升的,
在这里插入图片描述
经过查询,它是通过对文章中使用的过程性词汇的相对数量和连接词的数量进行判断的,那么我们可以通过堆砌一些类似词汇来达到一定的提升的效果。
在这里插入图片描述
可以发现篇章结构确实得到了一定的提高:
在这里插入图片描述

改正部分

在对四个维度的内容进行了一系列修改以后,批改网分数提高还有一个很重要的部分,就是根据他给出的按句点评来对文章进行修改。将他所有的警示,错误及推荐表达,在不影响短语或连接词的情况下进行修正,一定要注意不要影响到连接词的搭配否则会被扣分。
在这里插入图片描述
这样文章又能得到一定程度上的分数提升。之后的过程就会很枯燥很无聊,无非就是根据我们以上掌握的部分,来对文章进行一些修饰罢了。虽然狗屁不通,但是程序会很爱。其中,批改网还有一些所谓闪光短语和亮点句式的推荐,具体不再赘述,无非也就是一个搬砖堆砌的过程。大家可以自行百度。

总结

这篇文章只是想记录一下这个无聊的fuzz过程,加深了对批改网总的判分情况的认识,举例的这篇payload,或者说范文吧,最后没有达到想要达到的效果(fuzz到满分)还是比较遗憾(其实是我偷懒不想继续搞了),但是在这里也可以给大家总结一下高分的思路:

  1. 词汇尽量使用相关的但是比较生僻的词汇,灵活运用词组。
  2. 句子可以多使用固定搭配及模板例句,或者通过(which-that)大法 构造大量的从句来获得高分。(另外在测试中发现似乎批改网对于非限定性定语从句,条件状语从句等高级从句类型不太敏感,使用普通的that,which引导的宾语或定语从句即可)
  3. 在写文章的时候多使用连接性词汇和过程性词汇,可以大幅提升文章的篇章结构得分。
  4. 内容相关分数确实比较玄学,它分为内相关(即老师给出的范文与你文章内容的匹配度)及外相关(即你文章本身内容的前后联系程度)如果你的文章内容和行文思路与范文五五开,很大程度上会容易获得高分或者你一个单词重重复复在文章里反复出现也可以获得高分

总的来说,通过计算机系统对文章给作文打分这种操作确实非常的反人类,文章这种东西,无论是中文还是英文,都应当充满了它本身的丰富多样的变化。通过程序设定好的框架,最终只是一个无聊的堆砌而已。不过对于中学阶段更加注重语法的学习过程来说,确实起到了他特定的作用,以上。


http://www.ppmy.cn/news/704318.html

相关文章

cron表达式每N,秒,分,小时执行一次 cron常用表达式

常用cron表达式例子 这里稍微解释几下这个地方 0/2 * * * * ? 表示每2秒 执行任务(数值不能超过60,如超过好像会按最大上限执行每60秒执行一次,即最多每60秒执行一次,错误表达0/120 * * * * ?,并不会每120秒&…

git将多次commit提交合并为一次

使用 git rebase -i 命令可以将指定版本之前的多次提交合并为一次。 1.先 git log 查看提交记录 2.执行 git rebase -i HEAD~2 或者 git rebase -i a91e660d HEAD~2 是指当前版本的上 2 个版本 a91e660dd 为 9b45a0d4 前一次的提交记录 3.将 pick 改为 squash 之后会弹出现目…

第一次作为面试官的感悟

这几天有幸跟着老员工经历了一场校园招聘。遥想去年还是一个小小求职者,现在就要坐在桌子的对面,角色的转变,还是感触良多,就简单记下来。最近半年绝少写博客了,第一个原因当然是工作太忙了~ 显然&#xff…

英文歌曲:Just One Last Dance(最后一支舞)

Just one last dance….oh baby…just one last dance 最后一曲 哦 亲爱的 最后一曲 We meet in the night in the Spanish caf 那个夜晚 我们在西班牙咖啡馆相遇 I look in your eyes just don’t know what to say 望着你的双眸 心有千言竟无语 It feels like I’m dro…

12.匹配一次或多次出现的字符

说明 有时,你需要匹配一行中一次或多次出现的字符(或一组字符)。这意味着它至少出现了一次,并可能重复出现。 你可以使用字符来检查是否是这种情况。需要记住,字符或模式必须连续出现。也就是说,字符必须…

java设置job时间 例:每小时一次

每天每小时(整点)执行一次:0 0 0/1 * * ? 例1:每隔5秒执行一次:*/5 * * * * ? 例2:每隔5分执行一次:0 */5 * * * ? 在26分、29分、33分执行一次:0 26,29,33 * * * ? 例3&…

如何从字符串中删除最后一个字符?

我想从字符串中删除最后一个字符。 我尝试这样做: public String method(String str) {if (str.charAt(str.length()-1)x){str str.replace(str.substring(str.length()-1), "");return str;} else{return str;} }得到字符串的长度-1并用任何内容替换最…

quartz 每30秒执行一次_作业调度框架 Quartz 学习笔记(三) -- Cron表达式

前面两篇说的是简单的触发器(SimpleTrigger) , SimpleTrigger 只能处理简单的事件出发,如果想灵活的进行任务的触发,就要请出 CronTrigger 这个重要人物了. CronTrigger也是Quartz最重要的特色之一,通过Quartz特有的Cron表达式来确定某类时间,能完成类似"2011年11月11号…