一种神经网络训练方法、语义检索方法及系统与流程

文档序号:29945212发布日期:2022-05-07 15:54阅读:129来源:国知局
一种神经网络训练方法、语义检索方法及系统与流程

1.本发明涉及信息检索技术领域,尤其涉及一种神经网络训练方法、语义检索方法及系统。


背景技术:

2.海量的信息中,信息搜索是重要的技术之一,由于语言的特点,同一个意思,都会有较多的相同以及相似的词汇进行表达,为了更进一步检索到想要的信息,有的还基于句子的意思进行概括和总结。
3.随着自然语言处理技术的发展,语义搜索作为信息搜索搜得到了快速的发展,语音搜索能从海量的文本中,根据用户输入的词语或者句子,能够搜索出语义相同或者相似的语句,由于其具有深度的信息检索和挖掘能力,在文献搜索、智能客户、智能问答、推荐系统等领域得到了广泛的应用。
4.现有技术中,有的语义搜索技术已经结合深度神经网络来进行探索,现有的检索算法主要是基于文本相似度bm2.5和tf-idf(term frequency

inverse document frequency)来实现,其技术缺陷在于,只能能够计算词的词频特征,检索的词在文本中出现才可以被检索到。只能获取词频信息,但是很难获取文本的语义信息,如果不出现,但是语义相近的词无法被检索到。导致其检索准确率不高。


技术实现要素:

5.本发明为解决现有技术中存在的技术问题,提供一种神经网络训练方法,包括步骤:
6.s1:对句子进行标注;
7.s2:将标注好的句子输入神经网络模型;
8.s3:设置损失函数;
9.s4:根据损失函数的损失值,对神经网络进行训练。
10.进一步地,步骤s1:对句子进行标注为:sentencea,sentenceb,score。
11.进一步地,步骤s3:设置损失函数中的损失函数公式为:
[0012][0013]
其中,m为训练的样本数量,label为人工标注的sentencea和sentenceb的相似度,esentencea和esentenceb为神经网络模型中抽取出来的句向量,cos为余弦相似度。
[0014]
进一步地,s2:将标注好的句子输入神经网络模型包括步骤:
[0015]
将字向量、位置编码、字所在的句子信息均设置为128维;
[0016]
将上述各向量乘以矩阵,得到768维的向量;
[0017]
输入神经网络,得到句子特征f,句子特征维度为:输入句子个数*最长句子长度*768;
[0018]
将句子特征f输入至卷积神经网络,对句子的每个字的特征进行加权求和。
[0019]
进一步地,所述神经网络结构为依次串联的6对transformer组和卷积神经网络构成,其中,每对transformer组由二层transformer构成,每组的transformer参数完全共享。
[0020]
本发明还提供一种基于神经网络的语义检索方法,包括步骤:
[0021]
对文本库进行计算得到特征向量e_total,并存储;
[0022]
将用户查询的信息转换为向量s_f;
[0023]
计算s_f和e_total的余弦相似度;
[0024]
将余弦相似度得分最高的前n条句子返回检索结果。
[0025]
本发明还提供一种基于神经网络的语义检索系统,包括采集模块、处理模块以及输出模块,其中:
[0026]
采集模块对文本库进行计算得到特征向量e_total,并存储;
[0027]
处理模块用以对用户的输入的信息进行处理;
[0028]
输出模块用以将处理模块的处理结果返回给用户。
[0029]
本发明还提供一种计算机可读存储介质,所述存储介质中存储有指令或者程序,所述指令或者程序由处理器加载并执行以实现所述的语义检索方法。
[0030]
本发明还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行所述的语义检索方法。
[0031]
本发明公开的方法和系统中所述模块,在实际应用中,即可以在一台目标服务器上部署多个模块,也可以每一模块独立部署在不同的目标服务器上,特别的,根据需要,为了提供更强大的计算处理能力,也可以根据需要将模块部署到集群目标服务器上。
[0032]
由此可见,本发明采取的技术方案使用的神经网络训练方法得到的模型参数少,检索速度快,能够获取文本的语义信息,从而提高了检索的准确率。
[0033]
为了对本发明有更清楚全面的了解,下面结合附图,对本发明的具体实施方式进行详细描述。
附图说明
[0034]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]
图1为本技术实施例的神经网络训练示意图。
具体实施方式
[0036]
现有的检索算法主要是基于bm2.5和tf-idf的,只能计算词的词频特征,检索的词在文本中出现才可以被检索到。如果不出现,但是语义相近的词无法被检索到。因此传统检索模型只能获取词频信息很难获取文本的语义信息。
[0037]
也有的基于bert的语义检索模型在训练时采用的是交叉熵损失函数,而在测试(实际检索)的时候,采用的是其他算法来计算得分,因此造成训练和预测阶段不一致,也导
致准确率不高。为此,本技术针对现有技术的技术缺陷,公开一种神经网络训练方法,包括步骤:
[0038]
s1:对句子进行标注;
[0039]
s2:将标注好的句子输入神经网络模型;
[0040]
s3:设置损失函数;
[0041]
s4:根据损失函数的损失值,对神经网络进行训练。
[0042]
下面结合各种优选的实施方式进一步说明本技术的技术方案。
[0043]
s1:对句子进行标注;
[0044]
此步骤的目的是把输入句子变成用于训练神经网络可以处理的句子格式。标注的一行的格式为:sentencea,sentenceb,score,即二条句子,以及相似度的数值,比如:
[0045]
今天上海天气怎么样?今天上海天气如何?0.99,score(数值)是0至1之间的数。
[0046]
上述这行表述中,sentencea即为:今天上海天气怎么样?
[0047]
sentenceb即为:今天上海天气如何?
[0048]
这二条句子的相似度数值为0.99,即为这二条句子的语义所表达的意思基本一样,当检索到其中任何一条句子,其另外一条也能检索出来。
[0049]
s2:将标注好的句子输入神经网络模型:
[0050]
对文本标注完之后,即可将标注完的数据集输入到神经网络模型中进行训练。
[0051]
请参考图1,作为一种优选的神经网络训练实施方式,本技术构建的神经网络结构是基于albert,并结合卷积神经网络进行改进,得到的神经网络结构,最后进行加权求和,从而最终得到句向量,其具体为:
[0052]
albert采用12层的transformer,为了降低训练的计算量和过拟合,本技术压缩了模型参数:具体为对字向量、位置编码、以及字来自哪个句子的信息均设置为128维,通过乘以128*768的矩阵,得到768维的向量。再把768维向量放入12层的transformer里面。
[0053]
为了进一步提高训练效率,本技术还对12层的transformer进行改进,从而能够进一步压缩参数,其方案是把12层transformer分为串联的6对,每对即包含2层transformer,每对的transformer参数完全共享,从而能够进一步减少了训练的计算量。
[0054]
通过这6对transformer,对句子抽取出来得到句子中每个字的特征,为768维,此时句子的特征f的维度为:输入句子个数*最长句子长度*768。
[0055]
然后再把特征f放入一个一层的卷积神经网络进一步对每个字的特征进行加权求和,得到最后的特征向量f1为:输入句子个数*768。
[0056]
s3:设置损失函数
[0057]
设置损失函数中的损失函数公式为:
[0058][0059]
其中,m为训练的样本数量,label为人工标注的sentencea和sentenceb的相似度,esentencea和esentenceb为神经网络模型中抽取出来的句向量,cos为余弦相似度。
[0060]
s4:根据损失函数的损失值,对神经网络进行训练,具体的训练或者优化方式可以采用各种现有的算法来实现。
[0061]
基于上述神经网络的训练方法,得到的神经网络即可用于预测(检索)了。作为一
种实施方式,本技术提出的一种基于神经网络的语义检索方法,包括步骤:
[0062]
对文本库进行计算得到特征向量e_total,并存储;
[0063]
将用户查询的信息转换为向量s_f;
[0064]
计算s_f和e_total的余弦相似度;
[0065]
将余弦相似度得分最高的前n条句子返回检索结果。
[0066]
其中,对文本库进行计算以及对用户查询的信息进行计算所使用的神经网络为上述训练方法得到的神经网络。
[0067]
基于上述语义检索方法,本技术还提供一种基于神经网络的语义检索系统,包括采集模块、处理模块以及输出模块,其中:
[0068]
采集模块对文本库进行计算得到特征向量e_total,并存储;
[0069]
处理模块用以对用户的输入的信息进行处理;
[0070]
输出模块用以将处理模块的处理结果返回给用户。
[0071]
本技术实施例还提供一种计算机可读存储介质,所述存储介质中存储有指令或者程序,所述指令或者程序由处理器加载并执行如上述任一所述的语义检索方法。
[0072]
本技术实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述任一所述的语义检索方法。
[0073]
需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
[0074]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1