黑科技的黑历史——专业细说培生IEA评分引擎

数据建模、语音识别、语义分析、人机交互、深度学习……我原本以为这些概念早已经被大家所熟知和接受,毕竟人工智能的触角已经延伸到了现代人的日常生活之中。但最近和身边朋友的聊天让我认识到大家对人工智能这件事情在骨子里还是比较怀疑和警觉,甚至有些排斥的。自从上次吐槽雅思机考的文章中顺便提到了PTE学术英语考试之后,身边一些教师朋友都对这个考试表达了自己的看法。基本上所有人的第一反应都是:

Really? 机器评分?

真的吗?好厉害的样子……

Really? 机器评分?

真的吗?很不靠谱的赶脚……

语音识别还好,毕竟现在像讯飞输入法啊,微信的语音转文字功能啊大家都还比较熟悉了。怀疑的方向集中在了作文批改上。

PTE学术英语的写作部分的Write Essay题的批改流程如下:

Step 1:

机器先会对作文的内容(Content)维度进行评分。

如果内容是零分,批改流程自动终结,作文零分。

Step 2:

如果内容分值不为零,评分将进入下一阶段,机器会对接着文章的格式(Form)进行评分。当然,这个分数基本就是白送的,因为这里的格式要求主要就是就是字数(200-300字)要求。

如果考生的作文符合以下几个特征之一:

· 字数少于120,或多于380(是的,字数太多也不行!!!)

· 字数合格,但通篇只有bullet points或极短的句子(说白了就是凑字数)

· 全文使用大写字母;

· 通篇没有使用标点符号;

那么格式分为零,评分流程自动终结,作文最终只有Content的分。

Step 3:

如果内容和格式都有得分,那么机器接下来将进入到语法、词汇、拼写、结构、衔接等具体的技能评分。

拼写、词汇、语法、篇章结构、连贯与衔接这些层面的机器自动评分比较容易理解。只要给机器预设好一些(其实是好多)既定的规则,比如句法规则啊、词汇级别啊、平均句长要求啊,搭配规则啊等等,就能够执行。至于大数据驱动的智能批改引擎来说,完成这些任务更是不在话下。

但是,机器是如何对内容进行评分的呢?从上图所示的评分流程不难看出,内容(Content)部分的分数是至关重要的。内容不得分,文章等于白写。因此,关于这个部分的评分那可是马虎不得。

PTE学术英语考试的写作批改引擎的内核是培生(Pearson)自主研发的 Intelligent Essay Assessor (简称IEA)。这个引擎的架构如下:

从这个结构来看,PTE学术英语考试的作文评分与IEA的评分逻辑基本是一致的,只是针对考试的特点在细节上做了一些优化与调整。而IEA在内容层面的评分,采用的是由Harverd大学博士,美国Colorado大学Thomas K. Landauer教授的团队开发的一种叫做“潜在语义分析”(Latent Semantic Analysis)的技术。

Professor Thomas Landauer

这项技术的研发,可以追溯到上个世纪80年代中期,但是研发的初衷,却是为了解决一个与作文评分八竿子打不着的问题。

彼时Landauer博士就职于美国著名的贝尔实验室(Bell Lab),主要从事于认知科学领域的研究。那个时候,个人电脑(PC)才刚刚开始进入工作环境,电脑的操作界面极其原始,屏幕基本就是一块小黑板,上面爬满了密密麻麻的符号指令,仿若天书。

在工作中使用电脑,对当时的人来说绝对是一种负担,甚至是一种折磨。当时真的有人因为在工作中必须要面对UNIX系统而从贝尔实验室愤然辞职!我上大学那会儿计算机课还要学MS-DOS系统。相比最早的UNIX和后来的Linux,MS-DOS已经算是很“人性化”了,但依然把我逼得苦不堪言。

俗话说,哪里有压迫,哪里就有反抗。饱受原始电脑折磨的Landauer先生时决定向这种反人类的人机交互宣战。在经过一番研究之后,Landauer发现,人机交互的根本问题,是语言问题!

当时的电脑操作主要是用键盘敲入命令,指导计算机来执行各种运算。但问题是,这些命令语言往往违反直觉。比如我想要计算机搜索(search)并列出一个某类型文件的列表(list),直觉会让我习惯输入“search”或“list”这样的命令,但这些操作是无效的!正确的命令是“DIR”,也就是英文“Directory (目录)”的缩写。所以这个命令只能强行记忆,反复使用,直到形成习惯。

数据库检索工具和搜索引擎也面临同样的问题。搜索的关键词必须精准,若稍有差池,检索结果可能相去万里。

近义词(Synonym)规则的嵌入并不能解决这个问题,因为:

1)近义词在单字/词层面容易实现语义匹配,但用户经常要搜索一些短语,甚至是一个问句。近义词规则在这个层面上几乎无法建立;

2)用户可能连关键词的近义词也不记得了。

而语义场(semantic field,通俗来讲就是由一个单词/词组能够联想到的有关联所有单词/词组所构成的一个虚拟的语义空间)规则的嵌入又会使检索生成海量的冗余信息,因为语义场中的语义单元之间的相关性任意而松散。

经过一番思考,Landauer博士意识到,解决问题的关键就在于如何让机器能够自动学习单词之间的相关性,并且(关键是)能够量化其相关性的强度。

Landauer团队解决问题的思路,用现在的话来说,比较清奇。他们摒弃了传统的由人给机器制定语义场规则的套路,转而思考人脑中语义场是如何建立的,也就是说我们为什么会觉得两个单词的语义是有关联(即在同一个语义场之中)的。他认为,任意两个单词之间都有相关性,只是相关性强弱不同;而相关性的强弱,可以体现为两个单词在同一个语境下共(Co-occur)的可能性。两个单词经常在同一个语境中出现,那么我们自然就会认为他们的相关性较强,也就是说他们在同一个语义场中位置较近。

而句子的意义主要也是由句子中单词的意义决定的,词序(word order)对Landauer来说并不重要。这个观点听起来似乎违背常理,但仔细想想也不无道理。世界上不同的语言有不同的词序,比如汉语和英语都是主谓宾(SVO)结构为主(古英语其实是SOV结构),日语藏语等则是SOV,爱尔兰语和苏格兰盖尔语等语言的主流语序是VSO,而斐济语和古爪哇语等语言则使用VOS,在一些极少数语言中甚至还有OSV和OVS这样的词序。但说着这些不同词序的语言的人对世界却有着十分近似的认知。

基于这样一种全新的观念,Landauer的团队开始搭建他们的语义相关性计算模型。他们计算的不是一个单词和它的近义词或语义场内其他词的相关性,而是一个单词和一个给定的语料库内的所有单词之间的相关性!这种语义关联是隐性的,潜藏于单词的词典意义之下的。因此,Landauer把这种相关性分析技术命名为潜在语义分析(Latent Semantic Analysis)技术。

其操作原理(粗略版)如下:

Step 1:

建立一个语料库。

Step 2:

在语料库内构建一个语义空间(Semantic Space)

语义空间是一个比较抽象的概念,请容许我尝试描述一下。想象这样一个矩阵表格,每一行的表头(最左边的一格)都有一个在语料库中有的单词(a word),而每一列的表(最顶端的一格)则是语料库中的一个句子或句群(a body of text)。表格中每一个单元格则代表所在行的单词在所在列的文本中出现的次数(frequeny)。

Step 3:

将矩阵中每一个单元格里的数值通过一个函数进行初步换算。该函数与两个变量相关:

1)单元格所在行的单词 word n 相对于单元格所在列的文本 text n 的重要性(Importance);

2)该单元格所在行的单词 word n 的词性(Word Type)在一般的话语交际中能够承载的信息量的能力(比如在言语交际中人们不会去听对方说的每一个字,而只会抓取一些关键词。这些词所承载信息的能力显然就比被忽略的那些词要高)。

这样我们会得到与上图类似的一个新的二维矩阵,只是每个单元格的赋值发生了变化。

Step 4:

将这个新的矩阵用奇异值分解(Singular Value Decomposition)的方式进行矩阵分解,然后再通过一系列算法进行二维向量重建(请原谅我实在无法用日常语言来描述这个过程。爱因斯坦说的对,无法用简单的语言来描述,说明我自己也不是特别明白。对不住各位了!)总而言之(擦把汗……),LSA在经过一系列惊天地泣鬼神的运算之后,会得到一个在给定的语料库之内的每两个单词之间的相关系数。该系数的值域为-1.0到+1.0。如果两个单词的相关系数接近-1.0,说明这俩基本不太可能会在同一个话题下的任何(正常)文本中共现。

通过计算所有单词之间的相关性,LSA引擎不仅可以“学习”每个单词的同义词,而且还能推测(infer)某个多义词在特定的语境中的确切语义,以及该语境的话题范围。比如当有人说:“I will fly to London tomorrow.”的时候,LSA会“知道”这个句子大概是在说关于“旅行”和“交通”相关的话题,句子里的“fly”的意思是“乘坐飞机旅行”,因为“fly”和“I”以及“to”+“London”一般会在和旅行交通相关话题的语境中共现,而“fly”表示其他语义比如“苍蝇”的时候和句子中其他单词共现的几率几乎为零。

到90年代中期,Landauer的团队完成了对近500万字的Grolier美国学术百科全书(Grolier's Academic American Encyclopedia)的LSA语义空间的建立。随后,他们用托福考试(TOEFL)中的近义词题来测试引擎,结果LSA得了65分,和真实托福考生的平均分相同!在一系列类似的关于语义识别与分析的测试获得令人咂舌的成功之后,LSA终于获得了学术界和商业领域的广泛认可。

LSA的巨大成功吸引了一大批研究者的追随,其中就有当时还在卡罗拉多大学读研究生的 Peter Foltz。他在Bellcore实习的时候认识了Landauer,并开始学习LSA。一年后,Peter回到大学攻读博士学位,恰巧同时Landauer在卡罗拉多大学心理学系获得了一个教职。于是,两人继续合作,开始探索LSA在实践领域的应用,其中就包括利用LSA来进行作文评分。

如果您看明白了上文对LSA技术的介绍,那么利用LSA进行作文评分的流程就比较好理解了:

首先,构建一个与作文题话题相关的各种文献、书摘等文本组成的语料库;然后基于这个语料库来构建语义空间,并计算里面各种上文提到的词与词之间、词与话题之间和词与特定文本之间的相关性系数。到此,LSA关于这个特定话题的批改引擎训练完毕。

当学生的作文样本输入进系统之后,LSA会判定作文中每一个单词与话题的相关性,而这些数值的相加就是这个作文样本与话题的相关度。相关度越高的作文得分越高。

那么,既然LSA主要是计算内容相关性,且不考虑词序,是不是意味着考生只要写一堆话题关键词,不用管句法结构,就可以骗过机器获得高分呢?

当然不可能,因为上文提过,LSA会计算几种不同维度的相关性,而胡乱写的句子会各种违背单词共现的规律,系统会自动预警。

另外,PTE学术英语考试使用的批改引擎是IEA,而LSA只是用来判定内容(Content)分值的核心技术。IEA引擎中还有其他的算法规则来判定拼写、词汇、搭配、句法、结构等维度的得分,确保最终评分的可靠性。

严格来说,IEA不是纯粹意义上的“AI”引擎,因为IEA不会自主获取新的信息并据此自动调整核心算法。但是,这种有人工干预的复杂算法比AI技术(至少在先阶段)更能够胜任精准评分的工作。

经过30年的不断优化,IEA在作文评分方面的表现已经超过了人类评分员。

在GMAT考试的评分中,人类评分员与IEA的分数离散表现几乎相当:

IEA与人类评分之间的评分拟合度超越了人类评分员之间的评分拟合度:

水平越高的人类评分员的评分与IEA的评分越接近:

IEA对学生的成绩预测的准确度超越人类评分员:

可以说,由IEA智能评分引擎加持的PTE学术英语考试,不仅可以避免人类考官在评分过程中出现的评分员偏移(rater drift)所导致的评分不一致的情况,而且比人类评分员在状态良好情况下的评分更加精准可靠。

当然了,在说完了IEA的一大堆优点之后,按照惯例还是要挑一挑毛病的。

IEA比较适合在给定的相对窄的话题之下的短作文(Short Essay)的评分,而不适合涉及的话题范围很广的长篇大论。另外,IEA不适合用来批改脑洞巨大,特别creative的作文。所以建议那些特别思路清奇行文诡异的考生在考试的时候尽量接近ordinary people的水平来进行写作。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();