[0026] 若计算得到的语义相似度最大值小于S0,则以该提问语句或提问语句中的新关键词作为检索基础,从网络上获得对应问题的文本信息,对对应问题的文本信息进行噪音消除操作后从对应问题的文本信息中提取文字,划分出问题和答案信息,补充到问答对知识库中;
[0027] 若计算得到的语义相似度最大值大于S1,则将与提问语句语义相似度最高的问题语句对应的答案作为推荐答案;若计算得到的语义相似度最大值不大于S1,则将所有预选答案作为推荐答案。
[0028] 进一步的优选方案,所述一种结合BERT的用于教学任务的跨平台智能问答实现方法,其特征在于:利用Web开发
框架搭建跨平台系统,将步骤4得到的基于BERT的智能问答模型M1嵌入系统,构建跨平台智能问答系统。
[0029] 有益效果
[0030] 本发明结合双向最大匹配分词方法和BERT模型,利用BERT模型高效的并行运算和准确的上下文信息分析和提取能力以及Web框架的平台无关特性,提高了智能问答模型的训练效率和分析精度以及跨平台能力。
[0031] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0032] 本发明的上述和/或附加的方面和优点从结合下面附图对
实施例的描述中将变得明显和容易理解,其中:
[0033] 图1为本发明所述的结合BERT的跨平台智能问答实现方法图;
[0034] 图2为本发明所述的BERT模型及其内部组成框架图。
具体实施方式
[0035] 下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0036] 本实施例中的一种结合BERT的用于教学任务的跨平台智能问答实现方法,包括以下步骤:
[0037] 步骤1:利用人工和信息分析脚本相结合与基于应用情况的实时更新策略构造智能问答的问答对知识库。具体包括以下内容:
[0038] 1)利用人工和信息分析脚本相结合生成问答对知识库:
[0039] 通过课程资料整理和专家咨询,收集面向对象课程的专业术语、关键词和课程问题等领域相关信息,以这些信息为检索基础,通过信息分析脚本从网络上采集网页信息,对网页信息进行解析,获得原始文本信息。对原始文本信息进行噪音消除操作,移除导航条、广告等噪声数据,然后从原始文本信息中提取文字,划分出问题和答案信息,生成初始问答对知识库。同时,根据已收集到的问题人工生成衍生信息,包括新的专业术语、关键词以及衍生问题。以衍生信息作为检索基础,应用相同的信息采集方法扩充知识库规模直至阈值,该阈值根据面向对象课程教学的具体智能问答应用任务设定。
[0040] 2)基于应用情况实时更新问答对知识库:
[0041] 设计问答对知识库更新策略:在面向对象课程的教学过程中出现提问问题匹配程度低于设定的语义相似度阈值的情况时,根据出现的新问题或问题中的新关键词,利用信息分析脚本从网络上获取对应问题的信息,更新问答对知识库。
[0042] 步骤2:利用现代汉语语料库和面向对象课程的领域知识构建智能问答词典;根据建立的智能问答词典,采用双向最大匹配法对问答对知识库中的问题语句进行切分。具体包括以下内容:
[0043] 1)通过对智能问答任务的分析,构建用于面向对象课程教学任务的智能问答词典。智能问答词典包括标准的现代汉语语料库和面向对象课程的领域关键词以及专业术语。设定词典的更新
频率,定期添加新的面向对象课程相关的领域知识和专业术语。
[0044] 2)利用对比正向最大匹配算法和逆向最大匹配算法的双向最大匹配算法,对中文语句进行切分。具体过程为:基于步骤2中1)构建的用于面向对象课程教学的智能问答词典,采用正向最大匹配算法即从左向右扫描中文语句,查找词典进行词语匹配。若匹配成功,则将匹配字段进行切分;若匹配不成功,则从扫描字段的右侧开始逐字缩小扫描字段的长度,以剩下的扫描字段继续进行匹配。重复以上扫描和匹配过程,直到完成对语句的匹配为止,得到切分结果c={c1,c2,…,cm}。逆向最大匹配法是从右向左扫描中文语句,每次匹配不成功,则从扫描字段的左侧开始逐字缩小扫描字段的长度,得到切分结果c′={c′1,c′2,…,c′n}。从单个词语的字数、包含在词典中的词数和切分结果中词语数量的方面,对比分析切分结果c和c′,挑选出单个词语字数多、包含在词典中的词数多、切分结果词数少的最优切分结果C。
[0045] 步骤3:利用现代汉语语料库对BERT模型进行预训练,生成关注上下文信息和句子间关系的语言模型,并结合面向对象课程相关的领域语料进行模型微调,构建基于BERT模型的智能问答模型。
[0046] 具体包括以下内容:
[0047] 1、利用词嵌入向量、句类别嵌入向量、位置嵌入向量相结合生成BERT模型的输入句向量序列X:
[0048] (1)在现代汉语语料库中选择两个语句,并进行分词,将分词结果转换为词语向量表示(v1,v2,…,vN),(v′1,v′2,…,v′N),其中vi和v′i分别代表分词结果中某一词语的词向量表示,N为现代汉语语料库所采用词典中的词语数量。然后利用训练好的word2vec模型对词语向量表示进行映射处理,分别生成由n个词嵌入向量组成的词嵌入向量组Vec1=(V1,V2,…,Vn),Vec2=(V′1,V′2,…,V′n),其中n的值取100,每个Vi和V′i的维数分别取128。
[0049] (2)为两个语句的分词结果均随机初始化一个位置向量p,获得两个语句对应的位置向量组P1=(p1,p2,…,pn)和P2=(p′1,p′2,…,p′n),分别相加到对应语句的词嵌入向量Vec1,Vec2中。将已添加位置向量的两个词嵌入向量Vec1,Vec2首尾拼接生成一个序列。在两个词嵌入向量之间添加特殊标记([SEP]),在序列的头尾分别添加特殊分类标记([CLS])和特殊标记([SEP]),构成句向量序列X=(Vec1,Vec2)。
[0050] (3)根据两个语句的先后位置关系,生成指示语句序列顺序的句类别嵌入向量Above=(a1,a2,…,an)和Blow=(b1,b2,…,bn),与句向量序列X相加,生成最终的BERT模型的输入句向量序列X。其中向量ai和bi的维数与句向量序列中Vec1和Vec2的各子向量Vi和V′i的维数相同,且向量ai和bi中的全部元素分别取0和1,序列X中末尾的特殊标记([SEP])类别取1,其他标记取0。
[0051] 2、构建基于多个双向Transformer编码器的BERT模型,利用预训练过程生成语言模型。
[0052] (1)利用H个包含多头自注意力子
块M和全连接
前馈神经网络子块FFNN的相同编码器顺序连接构建双向Transformer编码器,其中H=6。每个子块都包含残差连接和归一化处理,每个Transformer编码器的输出表示为:
[0053] Transformer(X)=Norm(M_output(X)+FFNN(M_output(X))) (1)
[0054] M_output(X)=Norm(X+M(X)) (2)
[0055] 其中Norm()为归一化函数,M()为多头自注意力子块的输出函数,FFNN()为全连接前馈网络子块FFNN的输出函数。
[0056] 归一化函数Norm的输出表示为:
[0057]
[0058] 其中xi为输入向量中第i个数值,xmin和xmax分别是输入向量中最小和最大的数值。
[0059] 多头自注意力子块M的输出表示为:
[0060] M(X)=Concat(head1,…,headh)WO (4)
[0061] 其中h=12,headi的输出表示为:
[0062]
[0063] 其中,X为多头自注意力子块M的输入向量, 是定义的三个转换矩阵。三个转换矩阵通过随机初始化,在预训练过程计算获得最终的参数值。
[0064] 上式中的Attention代表缩放点乘注意力模型,其输出表示为:
[0065]
[0066] 其中d为向量Q或K的维度n,softmax()是求解输入向量的元素指数与所有元素指数和的比值。
[0067] 全连接前馈网络子块FFNN的输出表示为:
[0068] FFNN(X)=XW1W2…WL (7)
[0069] 其中L是全连接前馈网络子块FFNN的网络层数,Wi表示全连接前馈网络子块中第i-1层到第i层的权重矩阵,该矩阵随机初始化,在预训练过程中利用误差逆向传播算法更新各权重矩阵。
[0070] (2)构建基于Y个双向Transformer编码器的BERT模型,其中Y=12个相同结构的Transformer编码器依次顺序连接起来,形成BERT模型。整个模型的输出表示为:
[0071] Tr1_output=Transformer1(X)
[0072] Tr2_output=Transformer2(Tr1_output) (8)
[0073] ……
[0074] BERT_output=TrY_output=TransformerY(TrY-1_output)
[0075] 其中Transformeri()表示第i个Transformer编码器对输入的处理。
[0076] (3)利用屏蔽语言模型训练和句对预测两个任务并结合现代汉语语料库预训练BERT模型。具体内容为:
[0077] 利用屏蔽语言模型训练任务即通过随机屏蔽输入语句中15%的词语训练BERT模型的深度双向表示能力。训练过程中被随机屏蔽的词语分布为:80%的词语替换为[MASK]标记,10%的词语使用其他词语随机替换,剩余10%的词语保留原词语信息。设置交叉熵函数 作为屏蔽语言模型训练任务的目标函数,其中p(x)是输入为x时模型的正确率。
[0078] 利用句对预测训练任务即使用包含上下句对的训练样本,训练模型对两个句子的关系判断能力。训练过程中训练语料包括50%的上下句相关样本和50%的上下句无关样本。设置均方误差函数 作为句对预测训练任务的目标函数,其中Z是测试集样本数,yi和y′i分别是句对真实相似值和模型预测值。
[0079] 将以上两个训练任务的目标函数的总和作为BERT模型的目标函数F=H+MSE,应用海量中文语料预训练模型,利用
误差反向传播算法更新BERT模型各参数,实现目标函数F最小化,获得语言模型M0。
[0080] 3、利用问答对知识库中的问题语句构建语料样本集,微调BERT模型M0生成智能问答模型M1。
[0081] 在语言模型M0的输出位置,添加一层连接网络W和一个softmax层,生成智能问答模型M1;其中网络W的输入为语言模型M0中特殊分类标记[CLS]对应的输出向量C,网络W维数为输出向量C的维数,softmax层用于对网络W的输出进行语义相似度计算,计算结果为P,输出表示为:
[0082] P=softmax(C·WT) (9)
[0083] 其中softmax()函数与式(6)中的相同。
[0084] 采用问答对知识库中切分后的问题语句作为语料样本集,以智能问答模型M1的输出准确率最大化为目标函数,利用误差反向传播算法对智能问答模型M1进行调整,得到基于BERT的最终的智能问答模型M1。
[0085] 步骤4:接收实际的中文提问语句,利用微调后的基于BERT模型的智能问答模型M1计算提问语句与问答对知识库问题的语义相似度,并结合实际情况设计答案选择策略,具体包括以下内容:
[0086] 1、应用微调后的基于BERT模型的智能问答模型M1,分别计算提问语句与问答对知识库中各个存储问题的语义相似度,对各语义相似度计算结果进行排名。
[0087] 2、找出语义相似度计算结果中排名前五的知识库问题,将对应的答案作为提问语句的预选答案。基于面向对象课程教学的实际情况,设置动态语义相似度知识库更新阈值S0和答案选择阈值S1,其中0≤S0≤0.5,0.5
[0088] 最后可以利用Web开发框架搭建跨平台系统,将基于BERT模型的用于面向对象课程教学任务的智能问答模型嵌入系统,构建跨平台智能问答系统,具体包括以下内容:
[0089] 1、根据面向对象课程教学的实际应用情况和智能问答交互情景,利用Web开发框架搭建基于浏览器的跨平台系统。结合智能问答的原理和实现,创建存储知识库信息的数据持久化模型,并在跨平台系统的基础上添加知识库更新功能。
[0090] 2、将微调后的基于BERT模型的智能问答模型通过Web开发框架的API
接口嵌入到跨平台系统上,实现基于BERT模型的用于面向对象课程教学任务的跨平台智能问答系统。
[0091] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、
修改、替换和变型。