一种基于自然语义理解的反作弊方法及相关设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于自然语义理解的反作弊方法及设备。
背景技术
目前很多招聘都存在笔试环节,一直以来笔试环节作弊的行为屡见不鲜,目前很多企业都是通过人工筛查比对的方式甄别作弊行为,然而针对应聘数量较少的情况可以人工甄别,针对应聘数量较多的情况则无法人工甄别。随着人工智能的发展,已经有一些企业尝试通过计算机识别作弊行为,目前计算机识别的原理是直接将两个文档进行对比,如果两个文档的内容一样则存在作弊,如果不一样则不存在作弊,针对这种确定作弊的方式,作弊者是很容易避免被发现的,例如,作弊者对答案稍作关键词改动,如同义词替换;再如,作弊者对文档的语句顺序稍作改动,等等。关键词改动和句子顺序调整之后,计算机就不认为存在作弊行为,而实际作弊是客观存在的。如何通过计算机更精准高效地甄别作弊行为是本领域的技术人员正在研究的技术问题。
发明内容
本发明实施例公开了一种基于自然语义理解的反作弊方法及设备,能够更准确地确定出作弊行为。
第一方面,本发明实施例提供了一种基于自然语义理解的反作弊方法,该方法包括:
通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,其中,每一个句子中的文字特征构成一个第一向量;
通过所述自编码模型中的注意力网络训练所述多个第一向量以获得所述多个第一向量中每个第一向量的注意力权重;
将所述多个第一向量和所述多个第一向量中每个第一向量的注意力权重输入到所述自编码模型中的长短期记忆网络(Long Short-Term Memory,LSTM)训练,以生成第一语义向量;
通过所述LSTM解码所述第一语义向量以获得多个第一解码向量;
若所述多个第一解码向量与所述多个第一向量满足预设相似条件,则将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为。
通过实施上述方法,以文档中的句子为单位提取词语特征,从而为每一个句子分别生成一个特征向量,而不是根据整个文档中的词语特征构成一个特征向量,采用这种方式能够尽可能地保留各个各自中的重要语义,使得后续生成语义向量时语义向量更能反映该文档的语义。另外,自编码模型的编码层采用CNN提取词语特征,CNN具有很好的降噪和去冗余性能,因此提取的文字特征更体现句子本身语义。除此之外,编码层的注意力网络以特征向量为单位训练各个特征向量的注意力权重,而不是以词语特征为单位训练各个特征的注意力权重,能够明显降注意力权重的训练压力,提高注意力权重的训练效率,也使得训练出的注意力权重更具有参考价值。编码层还采用LSTM生成语义向量,能够更好地刻画文档的语义。
结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为之前,还包括:
通过所述自编码模型中的分词算法提取第二文档中的多个句子中的文字特征以构成多个第二向量,其中,每一个句子中的文字特征构成一个第二向量;
通过所述自编码模型中的注意力网络训练所述多个第二向量以获得所述多个第二向量中每个第二向量的注意力权重;
将所述多个第二向量和所述多个第二向量中每个第二向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第二语义向量;
通过所述LSTM解码所述第二语义向量以获得多个第二解码向量,其中,所述多个第二解码向量与所述多个第二向量满足预设相似条件。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为,包括:
确定所述第一语义向量与所述第二语义向量的余弦值;
若所述余弦值大于或等于预设阈值则确定存在作弊行为。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量之前,还包括:
调整所述自编码模型中的所述分词算法、所述注意力网络和所述LSTM中至少一项的参数,以使所述自编码模型的输出向所述自编码模型的输入收敛。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第四种可能的实现方式中,通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,包括:
通过自编码模型中的卷积神经网络(Convolutional Neural Networks,CNN)提取第一文档中的多个句子中的文字特征以构成多个第一向量。
第二方面,本申请实施例提供一种基于自然语义理解的反作弊设备,该设备包括:
第一提取单元,用于通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,其中,每一个句子中的文字特征构成一个第一向量;
第一训练单元,用于通过所述自编码模型中的注意力网络训练所述多个第一向量以获得所述多个第一向量中每个第一向量的注意力权重;
第一生成单元,用于将所述多个第一向量和所述多个第一向量中每个第一向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第一语义向量;
第一解码单元,用于通过所述LSTM解码所述第一语义向量以获得多个第一解码向量;
对比单元,用于若所述多个第一解码向量与所述多个第一向量满足预设相似条件,则将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为。
通过运行上述单元,以文档中的句子为单位提取词语特征,从而为每一个句子分别生成一个特征向量,而不是根据整个文档中的词语特征构成一个特征向量,采用这种方式能够尽可能地保留各个各自中的重要语义,使得后续生成语义向量时语义向量更能反映该文档的语义。另外,自编码模型的编码层采用CNN提取词语特征,CNN具有很好的降噪和去冗余性能,因此提取的文字特征更体现句子本身语义。除此之外,编码层的注意力网络以特征向量为单位训练各个特征向量的注意力权重,而不是以词语特征为单位训练各个特征的注意力权重,能够明显降注意力权重的训练压力,提高注意力权重的训练效率,也使得训练出的注意力权重更具有参考价值。编码层还采用LSTM生成语义向量,能够更好地刻画文档的语义。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:
第二提取单元,用于通过所述自编码模型中的分词算法提取第二文档中的多个句子中的文字特征以构成多个第二向量,其中,每一个句子中的文字特征构成一个第二向量;
第二训练单元,用于通过所述自编码模型中的注意力网络训练所述多个第二向量以获得所述多个第二向量中每个第二向量的注意力权重;
第二生成单元,用于将所述多个第二向量和所述多个第二向量中每个第二向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第二语义向量;
第二解码单元,用于通过所述LSTM解码所述第二语义向量以获得多个第二解码向量,其中,所述多个第二解码向量与所述多个第二向量满足预设相似条件。
结合第二方面,或者第二方面的上述任一可能的实现方式,在第二方面的第二种可能的实现方式中,所述对比单元将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为,包括:
确定所述第一语义向量与所述第二语义向量的余弦值;
若所述余弦值大于或等于预设阈值则确定存在作弊行为。
结合第二方面,或者第二方面的上述任一可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:
调整单元,用于在所述第一提取单元通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量之前,调整所述自编码模型中的所述分词算法、所述注意力网络和所述LSTM中至少一项的参数,以使所述自编码模型的输出向所述自编码模型的输入收敛。
结合第二方面,或者第二方面的上述任一可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一提取单元,用于通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,具体为:
通过自编码模型中的卷积神经网络CNN提取第一文档中的多个句子中的文字特征以构成多个第一向量。
第三方面,本申请实施例提供一种设备,所述设备包括处理器、存储器,其中,所述存储器用于存储指令,当所述指令在处理器上运行时,实现第一方面,或者第一方面的任一可能的实现方式所描述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,实现第一方面,或者第一方面的任一可能的实现方式所描述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现第一方面,或者第一方面的任一可能的实现方式所描述的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种基于自然语义理解的反作弊方法的流程示意图;
图2是本发明实施例提供的一种设备的结构示意图;
图3是本发明实施例提供的又一种设备的结构示意图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行描述。
本申请实施例的主要思想是通过自编码模型(Autoencoder,AE)获得文档的语义向量,然后将两个文档的语义向量进行比对,如果这两个语义向量比较接近则代表两个文档类似,从而确定存在作弊行为。该自编码模型包括编码层和解码层,其中,编码层包括分词算法(例如,卷积神经网络(Convolutional Neural Networks,CNN))、注意力网络Attention和长短期记忆网络(Long Short-Term Memory,LSTM);解码层包括LSTM。
其中,分词算法用于以句子为单位从文档中提取文字特征构成文字向量。注意力网络attention用于对多个文字向量进行训练,从而获得多个文字向量中每个文字向量的注意力权重,一般来说,若文字特征代表的词语比较重要,那么通常可以获得较高的注意力权重。LSTM用于在编码层根据各个文字特征和各个文字特征的注意力权重训练出语义向量,该LSTM还用于在解码层将该语义向量进行解码,解码之后得到的向量可以称为解码向量。该自编码模型的目标是使得最终解码出的解码向量尽可能地向编码环节中的词语向量收敛,如果收敛得到一定的程度,那么说明该自编码模型中的LSTM编码得到的语义向量基本能够代表相应文本的语义。
在甄别作弊行为的过程中,通常涉及将两个文档(例如,两个应聘者各自的答卷、一个应聘者的答卷与标准答案,等)进行比较,后面称这两个文档为第一文档和第二文档以方便描述。
请参见图1,图1是本发明实施例提供的一种基于自然语义理解的反作弊方法,该方法可以基于图1所示的自编码模型来实现,执行该方法的设备可以为一个硬件设备(如服务器)或者多个硬件设备构成的集群(如服务器集群),该方法包括但不限于如下步骤:
步骤S101:设备通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量。
具体地,该分词算法可以为卷积神经网络CNN,卷积神经网络可以较好地对句子进行降噪和去除冗余(滤除句子中没有影响较小的字或词)。另外,该分词算法中的模型参数可以包括先前通过对大量其他文档进行训练得到的参数,也可以包括人为配置的参数。
本申请实施例以句子为单位从第一文档中提取文字特征来构成特征向量,例如,假若第一文档包括20个句子,那么可以从其中每个句子分别提取文字特征,每一个句子中的文字特征构成一个特征向量,为了与后续从第二文档中提取的特征向量区分,可以称从第一文档中提取的文字特征构成的特征向量为第一向量,称从第二文档中提取的文字特征构成的特征向量为第二向量。可选的,假若第一文档包括20个句子,也可以从仅从其中部分句子(例如其中的18个句子,这18个可以是通过预先定义的算法从这20个句子总选择的)提取文字特征,依旧是每个句子中的文字特征构成一个特征向量。
举例来说,假若第一文档中存在“我的爱好是打篮球和乒乓球”这样一句话,且通过分词算法从这句话中提取的文字特征为“我”、“的”、“爱好”、“是”、“打”、“篮球”、“和”、“乒乓球”,在通过这些文字特征(即词)确定第一向量时,可以直接使用全部的词,也可以选择部分的词。词到向量转化的方式,可以使用One-hot也可以使用预训练的词向量。可选的,假若使用全部的词来转化为向量,那么根据这8个文字特征得到的特征向量可以为一个第一向量X11=(t1,t2,t3,t4,t5,t6,t7,t8),其中,t1表示“我”,t2表示“的”,t3表示“爱好”,t4表示“是”,t5表示“打”,t6表示“篮球”,t7表示“和”,t8表示“乒乓球”。通过这种方式可以得到多个第一向量。
步骤S102:设备通过该自编码模型中的注意力网络训练该多个第一向量以获得该多个第一向量中每个第一向量的注意力权重。
具体地,该注意力网络用于刻画不同的第一向量的重要性,注意力网络的模型参数可以包括通过对其他大量向量(包括重要的向量和不重要的向量)进行训练得到的参数,也可以包括人为设置的参数,因此当把上述多个第一向量输入到该注意力往后,可以获得该多个第一向量中每个第一向量的注意力权重,注意力权重越高的第一向量在体现语义时作用越大。
举例来说,假若该多个第一向量分别为:X11,X12,X13,X14,X15,X16,X17,X18,X19,X10,通过注意力网络训练得到的这些第一向量的注意力权重如表1所示:
表1
第一向量 |
注意力权重 |
X11 |
0.01 |
X12 |
0.05 |
X13 |
0.1 |
X14 |
0.2 |
X15 |
0.05 |
X16 |
0.09 |
X17 |
0.091 |
X18 |
0.009 |
X19 |
0.3 |
X10 |
0.1 |
从表1可以看出,第一X19、X14、X13、X10的注意力权重较大,因此预计这几个第一向量相比其他第一向量而言,在表达第一文档的语义方便具有更多的信息量。
步骤S103:设备将该多个第一向量和该多个第一向量中每个第一向量的注意力权重输入到该自编码模型中的长短期记忆网络LSTM训练,以生成第一语义向量。
具体地,该LSTM能够根据代表词语的特征向量生成语义向量,本申请实施例的LSTM在生成第一语义向量的过程中不仅要依据输入的各个第一向量,还要依据各个第一向量的注意力权重。在刻画语义时向注意力权重大的第一向量倾向更多。举例来说,第一向量X19主要表达“喜欢”一类的意思,而第一向量X15主要表达“讨厌”一类的意思,并且第一向量X19的注意力权重远大于第二向量X15的注意力权重,那么生成的第一语义向量更倾向于表达“喜欢”的意思。
LSTM根据多个第一向量和相应的注意力权重得到第一语义向量可以看做是一个编码过程,编码之前是多个向量,编码之后得到一个向量,表2例举性地示意了编码前后的向量。
表2
步骤S104:设备通过该LSTM解码该第一语义向量以获得多个第一解码向量。
具体地,在编码层通过LSTM获得第一语义向量之后,在解码层还要通过LSTM解码该第一语义向量,可以称解码获得的向量为第一解码向量以方便后续描述。解码之前是一个向量,解码之后是多个向量,表3例举性地示意了解码前后的向量。
表3
本申请实施例中的自编码器的目标是使得解码层的LSTM解码得到的多个第一解码向量向通过分词算法得到的多个第一向量收敛,即使得多个第一解码向量尽可能接近多个第一向量(可以通过预先定义损失函数(loss function)来规定收敛的到什么程度)。通常来说需要多次执行上述步骤S101-S104,每次执行完步骤S101-S104之后,若多个第一解码向量与多个第一向量无法达到预期的相似条件,则对自编码模型中分词算法、注意力网络和LSTM中至少一项的模型参数进行优化,优化之后再次执行步骤S101-S104;如此循环,直至多个第一解码向量与多个第一向量无法达到预期的相似条件。
该预期的相似条件(也称预设相似条件)可以通过配置对自编码模型进配置,使得该自编码模型具有判断是否达到预期的相似条件的能力。下面通过较简单的案例来讲述多个第一解码向量与多个第一向量无法达到预期的相似条件的情形(实际应用中可以配置更复杂的规则)。
举例来说,定义解码后的多个第一解码向量中有70%以上的第一解码向量与第一向量相同,则认为该多个第一解码向量与多个第一向量满足预期的相似条件。那么假若有10个第一向量,解码后有10个第一解码向量,其中有8个第一向量与8个第一解码向量一一对应相同,只有剩余2个第一解码向量没有对应相同的第一向量,相同率达到了80%,大于规定的70%,因此认为这10个第一解码向量与这10个第一向量满足预期的相似条件。
步骤S105:设备通过该自编码模型中的分词算法提取第二文档中的多个句子中的文字特征以构成多个第二向量。
具体地,本申请实施例以句子为单位从第二文档中提取文字特征来构成特征向量,例如,假若第一文档包括16个句子,那么可以从其中每个句子分别提取文字特征,每一个句子中的文字特征构成一个特征向量,为了与后续从第一文档中提取的特征向量区分,可以称从第二文档中提取的文字特征构成的特征向量为第二向量,称从第一文档中提取的文字特征构成的特征向量为第一向量。可选的,假若第二文档包括16个句子,也可以从仅从其中部分句子(例如其中的15个句子,这15个可以是通过预先定义的算法从这16个句子总选择的)提取文字特征,依旧是每个句子中的文字特征构成一个特征向量。
举例来说,假若第二文档中存在“我的爱好是打篮球和羽毛球”这样一句话,且通过分词算法从这句话中提取的文字特征为“爱好”、“篮球”、“羽毛”,那么根据这三个文字特征得到的特征向量可以为一个第二向量X21=(t1,t2,t4),其中,t1表示“爱好”,t2表示“篮球”,t4表示“羽毛球”。通过这种方式可以得到多个第二向量。
步骤S106:通过该自编码模型中的注意力网络训练该多个第二向量以获得该多个第二向量中每个第二向量的注意力权重。
具体地,该注意力网络用于刻画不同的第二向量的重要性,注意力网络的模型参数可以包括通过对其他大量向量(包括重要的向量和不重要的向量)进行训练得到的参数,也可以包括人为设置的参数,因此当把上述多个第二向量输入到该注意力往后,可以获得该多个第二向量中每个第二向量的注意力权重,注意力权重越高的第二向量在体现语义时作用越大。
举例来说,假若该多个第二向量分别为:X21,X22,X23,X24,X25,X26,X27,X28,X29,X210,通过注意力网络训练得到的这些第二向量的注意力权重如表1所示:
表4
第二向量 |
注意力权重 |
X21 |
0.02 |
X22 |
0.04 |
X23 |
0.15 |
X24 |
0.15 |
X25 |
0.04 |
X26 |
0.1 |
X27 |
0.09 |
X28 |
0.01 |
X29 |
0.3 |
X20 |
0.1 |
从表4可以看出,第二X29、X24、X23、X20的注意力权重较大,因此预计这几个第二向量相比其他第二向量而言,在表达第二文档的语义方便具有更多的信息量。
步骤S107:将该多个第二向量和该多个第二向量中每个第二向量的注意力权重输入到该自编码模型中的长短期记忆网络LSTM训练,以生成第二语义向量。
具体地,该LSTM能够根据代表词语的特征向量生成语义向量,本申请实施例的LSTM在生成第二语义向量的过程中不仅要依据输入的各个第二向量,还要依据各个第二向量的注意力权重。在刻画语义时向注意力权重大的第二向量倾向更多。举例来说,第二向量X29主要表达“开心”一类的意思,而第二向量X25主要表达“烦躁”一类的意思,并且第二向量X29的注意力权重远大于第二向量X25的注意力权重,那么生成的第二语义向量更倾向于表达“开心”的意思。
LSTM根据多个第二向量和相应的注意力权重得到第二语义向量可以看作是一个编码过程,编码之前是多个向量,编码之后得到一个向量,表5例举性地示意了编码前后的向量。
表5
步骤S108:通过该LSTM解码该第二语义向量以获得多个第二解码向量。
具体地,在编码层通过LSTM获得第二语义向量之后,在解码层还要通过LSTM解码该第二语义向量,可以称解码获得的向量为第二解码向量以方便后续描述。解码之前是一个向量,解码之后是多个向量,表6例举性地示意了解码前后的向量。
表6
本申请实施例中的自编码器的目标是使得解码层的LSTM解码得到的多个第二解码向量向通过分词算法得到的多个第二向量收敛,即使得多个第二解码向量尽可能接近多个第二向量。通常来说需要多次执行上述步骤S105-S108,每次执行完步骤S105-S108之后,若多个第二解码向量与多个第二向量无法达到预期的相似条件,则对自编码模型中分词算法、注意力网络和LSTM中至少一项的模型参数进行优化,优化之后再次执行步骤S105-S108;如此循环,直至多个第二解码向量与多个第二向量无法达到预期的相似条件。
该预期的相似条件(也称预设相似条件)可以通过配置对自编码模型进配置,使得该自编码模型具有判断是否达到预期的相似条件的能力。下面通过较简单的案例来讲述多个第二解码向量与多个第二向量无法达到预期的相似条件的情形(实际应用中可以配置更复杂的规则)。
举例来说,定义解码后的多个第二解码向量中有70%以上的第二解码向量与第二向量相同,则认为该多个第二解码向量与多个第二向量满足预期的相似条件。那么假若有10个第二向量,解码后有10个第二解码向量,其中有8个第二向量与8个第二解码向量一一对应相同,只有剩余2个第二解码向量没有对应相同的第二向量,相同率达到了80%,大于规定的70%,因此认为这10个第二解码向量与这10个第二向量满足预期的相似条件。
步骤S109:设备将该第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为。
具体地,在该多个第一解码向量与该多个第一向量满足预设相似条件,第一语义向量能够很好地反映第一文档的语义;在该多个第二解码向量与该多个第二向量满足预设相似条件的情况下,第二语义向量能够很好地反映第二文档的语义;因此,在该多个第一解码向量与该多个第一向量满足预设相似条件,以及该多个第二解码向量与该多个第二向量满足预设相似条件的情况下,比对第一语义向量与第二语义向量的相似度,即可反映第一文档与第二文档的相似度。比对第一语义向量与第二语义向量的相似度的方式有很多,下面举例说明。
例如,该将该第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为,可以具体为:确定该第一语义向量与该第二语义向量的余弦值;若该余弦值大于或等于预设阈值则认为第一文档与第二文档的语义很相似,因此确定存在作弊行为。该预设阈值的大小可以根据实际需要来继续设置,可选的,可以设置为0.6-0.9之间的值。
在一种可选的方案中,在执行步骤S101之前,第一文档被执行过关键词替换,在执行步骤S102之前,第二文档被执行过关键词替换。需要说明的是,一些同义关键词被替换之后更有利于设备提取分词,也更有利于不同文档之间的对比。例如,假若第一文档中有一句“我精通前端开发”,第二文档中有一句“我擅长前端开发”,实质上这两句中的“擅长”和“精通”是同义词,这两句话的语义相同,如果不进行同义词替换,这两个句子相对于设备而言,有一定的风险被识别为不同含义。
需要说明的是,上面的第一文档和第二文档可以分别为两个不同应聘者的应聘答卷,也可以为考试过程中两个不同考生的答卷,也可以是其他场景中具有两个具有可比性的文档。
通过实施上述方法,以文档中的句子为单位提取词语特征,从而为每一个句子分别生成一个特征向量,而不是根据整个文档中的词语特征构成一个特征向量,采用这种方式能够尽可能地保留各个各自中的重要语义,使得后续生成语义向量时语义向量更能反映该文档的语义。另外,自编码模型的编码层采用CNN提取词语特征,CNN具有很好的降噪和去冗余性能,因此提取的文字特征更体现句子本身语义。除此之外,编码层的注意力网络以特征向量为单位训练各个特征向量的注意力权重,而不是以词语特征为单位训练各个特征的注意力权重,能够明显降注意力权重的训练压力,提高注意力权重的训练效率,也使得训练出的注意力权重更具有参考价值。编码层还采用LSTM生成语义向量,能够更好地刻画文档的语义。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
请参见图2,图2是本发明实施例提供的一种设备20的结构示意图,该设备20可以包括第一提取单元201、第一训练单元202、第一生成单元203、第一解码单元204和对比单元205,其中,各个单元的详细描述如下。
第一提取单元201用于通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,其中,每一个句子中的文字特征构成一个第一向量;
第一训练单元202用于通过所述自编码模型中的注意力网络训练所述多个第一向量以获得所述多个第一向量中每个第一向量的注意力权重;
第一生成单元203用于将所述多个第一向量和所述多个第一向量中每个第一向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第一语义向量;
第一解码单元204用于通过所述LSTM解码所述第一语义向量以获得多个第一解码向量;
对比单元205用于若所述多个第一解码向量与所述多个第一向量满足预设相似条件,则将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为。
通过运行上述单元,以文档中的句子为单位提取词语特征,从而为每一个句子分别生成一个特征向量,而不是根据整个文档中的词语特征构成一个特征向量,采用这种方式能够尽可能地保留各个各自中的重要语义,使得后续生成语义向量时语义向量更能反映该文档的语义。另外,自编码模型的编码层采用CNN提取词语特征,CNN具有很好的降噪和去冗余性能,因此提取的文字特征更体现句子本身语义。除此之外,编码层的注意力网络以特征向量为单位训练各个特征向量的注意力权重,而不是以词语特征为单位训练各个特征的注意力权重,能够明显降注意力权重的训练压力,提高注意力权重的训练效率,也使得训练出的注意力权重更具有参考价值。编码层还采用LSTM生成语义向量,能够更好地刻画文档的语义。
在一种可能的实现方式中,设备20还包括:
第二提取单元,用于通过所述自编码模型中的分词算法提取第二文档中的多个句子中的文字特征以构成多个第二向量,其中,每一个句子中的文字特征构成一个第二向量;
第二训练单元,用于通过所述自编码模型中的注意力网络训练所述多个第二向量以获得所述多个第二向量中每个第二向量的注意力权重;
第二生成单元,用于将所述多个第二向量和所述多个第二向量中每个第二向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第二语义向量;
第二解码单元,用于通过所述LSTM解码所述第二语义向量以获得多个第二解码向量,其中,所述多个第二解码向量与所述多个第二向量满足预设相似条件。
在又一种可能的实现方式中,所述对比单元将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为,包括:
确定所述第一语义向量与所述第二语义向量的余弦值;
若所述余弦值大于或等于预设阈值则确定存在作弊行为。
在又一种可能的实现方式中,还包括:
调整单元,用于在所述第一提取单元通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量之前,调整所述自编码模型中的所述分词算法、所述注意力网络和所述LSTM中至少一项的参数,以使所述自编码模型的输出向所述自编码模型的输入收敛。
在又一种可能的实现方式中,所述第一提取单元,用于通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,具体为:
通过自编码模型中的卷积神经网络CNN提取第一文档中的多个句子中的文字特征以构成多个第一向量。
需要说明的是,各个单元的实现还可以对应参照图1所示的方法实施例的相应描述。
请参见图3,图3是本发明实施例提供的一种设备30,该设备30包括处理器301、存储器302和通信接口303,所述处理器301、存储器302和通信接口303通过总线相互连接。
存储器302包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器302用于相关指令及数据。通信接口303用于接收和发送数据。
处理器301可以是一个或多个中央处理器(central processing unit,CPU),在处理器301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该设备30中的处理器301用于读取所述存储器302中存储的程序代码,执行以下操作:
通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,其中,每一个句子中的文字特征构成一个第一向量;
通过所述自编码模型中的注意力网络训练所述多个第一向量以获得所述多个第一向量中每个第一向量的注意力权重;
将所述多个第一向量和所述多个第一向量中每个第一向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第一语义向量;
通过所述LSTM解码所述第一语义向量以获得多个第一解码向量;
若所述多个第一解码向量与所述多个第一向量满足预设相似条件,则将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为。
通过实施上述方法,以文档中的句子为单位提取词语特征,从而为每一个句子分别生成一个特征向量,而不是根据整个文档中的词语特征构成一个特征向量,采用这种方式能够尽可能地保留各个各自中的重要语义,使得后续生成语义向量时语义向量更能反映该文档的语义。另外,自编码模型的编码层采用CNN提取词语特征,CNN具有很好的降噪和去冗余性能,因此提取的文字特征更体现句子本身语义。除此之外,编码层的注意力网络以特征向量为单位训练各个特征向量的注意力权重,而不是以词语特征为单位训练各个特征的注意力权重,能够明显降注意力权重的训练压力,提高注意力权重的训练效率,也使得训练出的注意力权重更具有参考价值。编码层还采用LSTM生成语义向量,能够更好地刻画文档的语义。
在一种可能的实现方式中,所述处理器将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为之前,还用于:
通过所述自编码模型中的分词算法提取第二文档中的多个句子中的文字特征以构成多个第二向量,其中,每一个句子中的文字特征构成一个第二向量;
通过所述自编码模型中的注意力网络训练所述多个第二向量以获得所述多个第二向量中每个第二向量的注意力权重;
将所述多个第二向量和所述多个第二向量中每个第二向量的注意力权重输入到所述自编码模型中的长短期记忆网络LSTM训练,以生成第二语义向量;
通过所述LSTM解码所述第二语义向量以获得多个第二解码向量,其中,所述多个第二解码向量与所述多个第二向量满足预设相似条件。
在又一种可能的实现方式中,所述处理器将所述第一语义向量与第二文档的第二语义向量比较,以确定是否存在作弊行为,具体为:
确定所述第一语义向量与所述第二语义向量的余弦值;
若所述余弦值大于或等于预设阈值则确定存在作弊行为。
在又一种可能的实现方式中,所述处理器通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量之前,还用于:
调整所述自编码模型中的所述分词算法、所述注意力网络和所述LSTM中至少一项的参数,以使所述自编码模型的输出向所述自编码模型的输入收敛。
在又一种可能的实现方式中,所述处理器通过自编码模型中的分词算法提取第一文档中的多个句子中的文字特征以构成多个第一向量,具体为:
通过自编码模型中的卷积神经网络CNN提取第一文档中的多个句子中的文字特征以构成多个第一向量。
需要说明的是,各个操作的实现还可以对应参照图1所示的方法实施例的相应描述
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,图1所示的方法流程得以实现。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图1所示的方法流程得以实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质。