基于机器学习的句子距离映射方法、装置和计算机设备与流程

文档序号:17643404发布日期:2019-05-11 00:49阅读:243来源:国知局
基于机器学习的句子距离映射方法、装置和计算机设备与流程

本申请涉及到计算机领域,特别是涉及到一种基于机器学习的句子距离映射方法、装置、计算机设备和存储介质。



背景技术:

自然语言处理领域中,句子相似度计算是其中的一项重要内容(即计算出两个句子之间的相似程度),具体地,在信息检索、问答系统、机器翻译等应用领域中被应用地越来越频繁。但是,现有技术多是余弦相似性,以计算两个句子的相似程度。这种方法一般是统计两个句子间相同的词的词频,以形成词频向量,再利用词频向量以计算两个句子的相似程度。由于现有技术的方法仅是利用两个句子的相同词的词频,因此计算出的相似度准确度不高。另外,现有技术计算出的相似程度一般不为人类习惯用的打分制度(例如百分制),因此将计算出的相似度输出时,不能直观地反映两个句子间究竟有多高的相似程度。



技术实现要素:

本申请的主要目的为提供一种基于机器学习的句子距离映射方法、装置、计算机设备和存储介质,旨在精确计算出句子间的相似度,直观准确地反映句子间的相似度。

为了实现上述发明目的,本申请提出一种基于机器学习的句子距离映射方法,包括以下步骤:

获取输入的单句语音信息;

将所述单句语音信息转换为单句文字信息;

对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理;

根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离,其中所述预设的标准单句至少经过了分词处理;

将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

进一步地,所述对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理的步骤,包括;

对所述单句文字信息进行分词处理,得到包含多个单词的单词序列;

通过查询预设的同义词库,判断所述单词序列中是否存在同义词组;

若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。

进一步地,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤,包括:

采用公式:

计算出所述单句文字信息与预设的标准单句的距离,其中,distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;|i|是所述单句文字信息所包含具有词向量的单词数;|r|是所述预设的标准单句所包含具有词向量的单词数;w是词向量;α为调整两个词向量间的余弦相似度的放大系数;max(α×cosdis(w,r))是计算单句r中所有词对应的词向量与单句i中的词向量w的余弦相似度中的最大值。

进一步地,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤,包括:采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

进一步地,所述预设函数为一元二次方程,所述预设函数通过训练数据训练得出的步骤,包括:

建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;

获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练单句与标准单句的训练距离,以及与所述训练距离对应的人工评分结果,n为3的倍数;

将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;

对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

进一步地,所述预设的词向量库通过产生词向量工具word2vec训练得到,所述词向量库的获得方法包括:

使用word2vec工具的cbow模型(连续词袋模型),对预设的语料库中的单词进行词向量训练,以得到所述预设的词向量库,其中所述语料库是用于训练词向量的单词库。

进一步地,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤之前,包括:

采用重叠词相似度算法计算所述单句文字信息与标准单句库中所有标准单句的相似度;

判断是否存在所述相似度大于第一阈值的标准单句;

若存在,则将所述相似度大于第一阈值的标准单句设置为所述预设的标准单句。

本申请提供一种基于机器学习的句子距离映射装置,包括:

单句语音信息获取单元,用于获取输入的单句语音信息;

单句文字信息转换单元,用于将所述单句语音信息转换为单句文字信息;

预处理单元,用于对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理;

句子距离计算单元,用于根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离,其中所述预设的标准单句至少经过了分词处理;

评分映射单元,用于将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的基于机器学习的句子距离映射方法、装置、计算机设备和存储介质,通过将获取的单句语音信息转换为单句文字信息,再经由预处理获得所述预处理后的单句文字信息中各个单词对应的词向量,利用所述词向量使用预设算法计算出所述单句文字信息与预设的标准单句的距离,更将所述距离输入预设函数以映射出评分,具有更准确、更直观的技术效果。

附图说明

图1为本申请一实施例的基于机器学习的句子距离映射方法的流程示意图;

图2为本申请一实施例的基于机器学习的句子距离映射装置的结构示意框图;

图3为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请实施例提供一种基于机器学习的句子距离映射方法,包括以下步骤:

s1、获取输入的单句语音信息;

s2、将所述单句语音信息转换为单句文字信息;

s3、对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理;

s4、根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离,其中所述预设的标准单句至少经过了分词处理;

s5、将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

如上述步骤s1所述,获取输入的单句语音信息。本实施例可在话术学习、演讲试练、模拟保险销售等情景下使用,因此首先要获取用户的输入的单句语音信息。其中,获取的方式包括:采用麦克风采集语音信息;采用麦克风阵列采集语音信息等。在本实施例中,采集的语音信息为单个单句。

如上述步骤s2所述,将所述单句语音信息转换为单句文字信息。语音转换的方法可以为任意可行方法,可以用任意市面上已成熟的软件来实现将所述单句语音信息转换为单句文字信息。

如上述步骤s3所述,对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理。从而,将所述单句分为多个单词。其中预处理包括:分词、分词纠正、同义词替换、去除停用词等。分词可使用开源的分词工具,例如jieba、snownlp、thulac、nlpir。分词方法包括:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

如上述步骤s4所述,根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离。其中,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的方法包括:采用wmd算法(wordmover’sdistance)、simhash算法、基于余弦相似度的算法以计算出所述单句文字信息与预设的标准单句的距离。

如上述步骤s5所述,将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。其中,预设函数是通过机器学习获得的,从而预设函数的映射出的评分更为准确。其中,所述预设函数的作用是将所述单句文字信息与预设的标准单句的距离,映射为评分,从而用户可以直观地了解所述单句文字信息与预设的标准单句的相似程度。优选的,所述评分为百分制。优选的,所述预设函数为一元二次方程。

在一个实施方式中,对所述单句文字信息进行预处理的步骤s3,包括;

s301、对所述单句文字信息进行分词,得到包含多个词的单词序列;

s302、通过查询预设的同义词库,判断所述单词序列中是否存在同义词组;

s303、若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。

如上述步骤s301-s303所述,实现了对所述单句文字信息进行预处理。其中分词可使用开源的分词工具,例如jieba、snownlp、thulac、nlpir。分词方法包括:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。从而将单个单句分为多个词。例如,将“北京风景好,是旅游胜地”,可分为“|北京|风景|好|是|旅游|胜地|”。为了减少计算量,也为了增加词意的准确度,通过查询预设的同义词库,判断所述单词序列中是否存在同义词组,若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。具体地,同义词库中包括多个同义词条,若在所述单词序列中有两个以上单词出现在同一个同义词条中,表明所述两个以上单词构成了同义词组。一般而言,同义词的替换并不会导致单句的原义发生改变,因此采用同义词替换的方式以减少计算量与数据存储量。其中,可以通过查询预设的同义词库,以判断所述单词序列中是否存在同义词组。

在一个实施方式中,根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤s4,包括:

s401、采用公式:

计算出所述单句文字信息与预设的标准单句的距离,其中,distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;|i|是所述单句文字信息所包含具有词向量的单词数;|r|是所述预设的标准单句所包含具有词向量的单词数;w是词向量;α为调整两个词向量间的余弦相似度的放大系数;max(α×cosdis(w,r))是计算单句r中所有词对应的词向量与单句i中的词向量w的余弦相似度中的最大值。

如上述步骤s401所述,实现了使用预设算法计算出所述单句文字信息与预设的标准单句的距离。其中,上述公式利用了词向量的余弦相似度。所述余弦相似度的计算公式为:

其中,w1是第一个词向量(所述单句文字信息中各单词的词向量);w2是第二个词向量(所述预设的标准单句中各单词的词向量);n为词向量的维度,从而计算词向量w1与w2之间的相似度。将余弦相似度计算公式代入所述单句文字信息与预设的标准单句的距离的计算公式中,即可算出所述单句文字信息与预设的标准单句的距离。

在一个实施方式中,根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤s4,包括:

s402、采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

如上述步骤s402所述,实现了使用预设算法计算出所述单句文字信息与预设的标准单句的距离。其中,上述公式利用了词向量的欧氏距离。所述欧氏距离的计算公式为:

其中d(x,y)为词向量x=(x1,x2,x3…,xn)与词向量y=(y1,y2,y3…,yn)间的欧氏距离,n为词向量的维度。将欧氏距离计算公式代入所述单句文字信息与预设的标准单句的距离的计算公式中,即可算出所述单句文字信息与预设的标准单句的距离。

在一个实施方式中,所述预设函数为一元二次方程,所述预设函数通过训练数据训练得出的步骤,包括:

s501、建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;

s502、获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练单句与标准单句的训练距离,以及与所述训练距离对应的人工评分结果,n为3的倍数;

s503、将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;

s504、对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

如上述步骤s501-s504所述,实现了通过训练数据训练得出预设函数。其中人工评分指,对于训练单句与标准单句的相似程度,用人为感受进行评分以反应训练单句与标准单句的相似程度。其中评分可采用百分制,即评分100表示完全相似,评分0表示完全不相似。由于一元二次方程具有三个参数a、b、c,采用3个样本即可得到确切的参数值,因此分为n/3组,从而在一定的计算量的前提下,得到不重复的n/3组参数值。为得到更准确的参数,将所述n/3组参数值做均值处理,作为参数a、b、c的最终值。其中均值处理包括:算术平均处理,几何平均处理,均方根平均处理,加权平均处理等。

在一个实施方式中,预设的词向量库通过word2vec工具训练得到,所述训练方法包括:

s311、使用word2vec工具的cbow模型(连续词袋模型),对预设的语料库中的单词进行词向量训练,以得到所述预设的词向量库,其中所述语料库是用于训练词向量的单词库。

如上述步骤所述,实现了获得预设的词向量库。word2vec是用于训练词向量的工具,包括cbow(continuousbagofwords,连续词袋模型)和skip-gram两种模型。cbow是从原始语句推测目标字词;而skip-gram是从目标字词推测出原始语句。其中,cbow更适用于小型词料库,本申请选择采用cbow模型进行词向量训练。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤s4之前包括:

s31、采用重叠词相似度算法计算所述单句文字信息与标准单句库中所有标准单句的相似度;

s32、判断是否存在所述相似度大于第一阈值的标准单句;

s33、若存在,则将所述相似度大于第一阈值的标准单句设置为所述预设的标准单句。

如上述步骤s31-s33所述,实现了确定预设的标准单句。所述重叠词相似度算法是根据两个句子的余弦相似度进行计算得到,以反应两个句子间的相似程度。由于其仅采用叠词以确定准确度,对于句子的相似程度判断不够准确,但可以用来筛选标准单句。所述相似度算法为:

其中,a为所述单句文字信息词频向量,b为标准单句的词频向量,ai为所述单句文字信息的第i个单词在整个单句中出现的次数。据此,可以粗略得出两个单句的相似度。若所述相似度大于第一阈值,可认为两个单句较为相似,可将其设置为预设的标准单句。其中第一阈值可根据实际需要设置,例如设置为[80%-98%]中的任一数值。

本申请的基于机器学习的句子距离映射方法,通过将获取的单句语音信息转换为单句文字信息,再经由预处理获得所述预处理后的单句文字信息中各个单词对应的词向量,利用所述词向量使用预设算法计算出所述单句文字信息与预设的标准单句的距离,更将所述距离输入预设函数以映射出评分,具有更准确、更直观的技术效果。

参照图2,本申请实施例提供一种基于机器学习的句子距离映射装置,包括:

单句语音信息获取单元10,用于获取输入的单句语音信息;

单句文字信息转换单元20,用于将所述单句语音信息转换为单句文字信息;

预处理单元30,用于对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理;

句子距离计算单元40,用于根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离,其中所述预设的标准单句至少经过了分词处理;

评分映射单元50,用于将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

如上述单元10所述,获取输入的单句语音信息。本实施例可在话术学习、演讲试练、模拟保险销售等情景下使用,因此首先要获取用户的输入的单句语音信息。其中,获取的方式包括:采用麦克风采集语音信息;采用麦克风阵列采集语音信息等。在本实施例中,采集的语音信息为单个单句。

如上述单元20所述,将所述单句语音信息转换为单句文字信息。语音转换的方法可以为任意可行方法,可以用任意市面上已成熟的软件来实现将所述单句语音信息转换为单句文字信息。

如上述单元30所述,对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理。从而,将所述单句分为多个单词。其中预处理包括:分词、分词纠正、同义词替换、去除停用词等。分词可使用开源的分词工具,例如jieba、snownlp、thulac、nlpir。分词方法包括:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

如上述单元40所述,根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离。其中,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的方法包括:采用wmd算法(wordmover’sdistance)、simhash算法、基于余弦相似度的算法以使用预设算法计算出所述单句文字信息与预设的标准单句的距离。

如上述单元50所述,将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。其中,预设函数是通过机器学习获得的,从而预设函数的映射出的评分更为准确。其中,所述预设函数的作用是将所述单句文字信息与预设的标准单句的距离,映射为评分,从而用户可以直观地了解所述单句文字信息与预设的标准单句的相似程度。优选的,所述评分为百分制。优选的,所述预设函数为一元二次方程。

在一个实施方式中,预处理单元30,包括;

分词子单元,用于对所述单句文字信息进行分词,得到包含多个词的单词序列;

同义词组判断子单元,用于通过查询预设的同义词库,判断所述单词序列中是否存在同义词组;

同义词替换子单元,用于若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。

如上所述,实现了对所述单句文字信息进行预处理。其中分词可使用开源的分词工具,例如jieba、snownlp、thulac、nlpir。分词方法包括:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。从而将单个单句分为多个词。例如,将“北京风景好,是旅游胜地”,可分为“|北京|风景|好|是|旅游|胜地|”。为了减少计算量,也为了增加词意的准确度,通过查询预设的同义词库,判断所述单词序列中是否存在同义词组,若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。具体地,同义词库中包括多个同义词条,若在所述单词序列中有两个以上单词出现在同一个同义词条中,表明所述两个以上单词构成了同义词组。一般而言,同义词的替换并不会导致单句的原义发生改变,因此采用同义词替换的方式以减少计算量与数据存储量。其中,可以通过查询预设的同义词库,以判断所述单词序列中是否存在同义词组。

在一个实施方式中,句子距离计算单元40,包括:

第一句子距离计算单元,用于采用公式:

计算出所述单句文字信息与预设的标准单句的距离,其中,distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;|i|是所述单句文字信息所包含具有词向量的单词数;|r|是所述预设的标准单句所包含具有词向量的单词数;w是词向量;α为调整两个词向量间的余弦相似度的放大系数;max(α×cosdis(w,r))是计算单句r中所有词对应的词向量与单句i中的词向量w的余弦相似度中的最大值。

如上所述,实现了使用预设算法计算出所述单句文字信息与预设的标准单句的距离。其中,上述公式利用了词向量的余弦相似度。所述余弦相似度的计算公式为:

其中,w1是第一个词向量(所述单句文字信息中各单词的词向量);w2是第二个词向量(所述预设的标准单句中各单词的词向量);n为词向量的维度,从而计算词向量w1与w2之间的相似度。将余弦相似度计算公式代入所述单句文字信息与预设的标准单句的距离的计算公式中,即可算出所述单句文字信息与预设的标准单句的距离。

在一个实施方式中,句子距离计算单元40,包括:

第二句子距离计算单元,用于采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

如上所述,实现了使用预设算法计算出所述单句文字信息与预设的标准单句的距离。其中,上述公式利用了词向量的欧氏距离。所述欧氏距离的计算公式为:

其中d(x,y)为词向量x=(x1,x2,x3…,xn)与词向量y=(y1,y2,y3…,yn)间的欧氏距离,n为词向量的维度。将欧氏距离计算公式代入所述单句文字信息与预设的标准单句的距离的计算公式中,即可算出所述单句文字信息与预设的标准单句的距离。

在一个实施方式中,所述预设函数为一元二次方程,所述装置包括:

方程建立单元,用于建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;

样本数据获取单元,用于获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练单句与标准单句的训练距离,以及与所述训练距离对应的人工评分结果,n为3的倍数;

数据代入单元,用于将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;

均值处理单元,用于对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

如上所述,实现了通过训练数据训练得出预设函数。其中人工评分指,对于训练单句与标准单句的相似程度,用人为感受进行评分以反应训练单句与标准单句的相似程度。其中评分可采用百分制,即评分100表示完全相似,评分0表示完全不相似。由于一元二次方程具有三个参数a、b、c,采用3个样本即可得到确切的参数值,因此分为n/3组,从而在一定的计算量的前提下,得到不重复的n/3组参数值。为得到更准确的参数,将所述n/3组参数值做均值处理,作为参数a、b、c的最终值。其中均值处理包括:算术平均处理,几何平均处理,均方根平均处理,加权平均处理等。

在一个实施方式中,预设的词向量库通过word2vec工具训练得到,所述装置,包括:

词向量训练单元,用于使用word2vec工具的cbow模型,对预设的语料库中的单词进行词向量训练,以得到所述预设的词向量库,其中所述语料库是用于训练词向量的单词库。

如上所述,实现了获得预设的词向量库。word2vec是用于训练词向量的工具,包括cbow(continuousbagofwords)和skip-gram两种模型。cbow是从原始语句推测目标字词;而skip-gram是从目标字词推测出原始语句。其中,cbow更适用于小型词料库,本申请选择采用cbow模型进行词向量训练。

在一个实施方式中,所述装置,包括:

重叠词相似度算法计算单元,用于采用重叠词相似度算法计算所述单句文字信息与标准单句库中所有标准单句的相似度;

标准单句判断单元,用于判断是否存在所述相似度大于第一阈值的标准单句;

标准单句设置单元,用于若存在,则将所述相似度大于第一阈值的标准单句设置为所述预设的标准单句。

如上所述,实现了确定预设的标准单句。所述重叠词相似度算法是根据两个句子的余弦相似度进行计算得到,以反应两个句子间的相似程度。由于其仅采用叠词以确定准确度,对于句子的相似程度判断不够准确,但可以用来筛选标准单句。所述相似度算法为:

其中,a为所述单句文字信息词频向量,b为标准单句的词频向量,ai为所述单句文字信息的第i个单词在整个单句中出现的次数。据此,可以粗略得出两个单句的相似度。若所述相似度大于第一阈值,可认为两个单句较为相似,可将其设置为预设的标准单句。其中第一阈值可根据实际需要设置,例如设置为[80%-98%]中的任一数值。

本申请的基于机器学习的句子距离映射装置,通过将获取的单句语音信息转换为单句文字信息,再经由预处理获得所述预处理后的单句文字信息中各个单词对应的词向量,利用所述词向量使用预设算法计算出所述单句文字信息与预设的标准单句的距离,更将所述距离输入预设函数以映射出评分,具有更准确、更直观的技术效果。

参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于机器学习的句子距离映射方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于机器学习的句子距离映射方法。

上述处理器执行上述基于机器学习的句子距离映射方法,包括以下步骤:获取输入的单句语音信息;将所述单句语音信息转换为单句文字信息;对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理;根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离,其中所述预设的标准单句至少经过了分词处理;将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

在一个实施方式中,所述对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理的步骤,包括;对所述单句文字信息进行分词处理,得到包含多个单词的单词序列;通过查询预设的同义词库,判断所述单词序列中是否存在同义词组;若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤,包括:

采用公式:

计算出所述单句文字信息与预设的标准单句的距离,其中,distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;|i|是所述单句文字信息所包含具有词向量的单词数;|r|是所述预设的标准单句所包含具有词向量的单词数;w是词向量;α为调整两个词向量间的余弦相似度的放大系数;max(α×cosdis(w,r))是计算单句r中所有词对应的词向量与单句i中的词向量w的余弦相似度中的最大值。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤,包括:

采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

在一个实施方式中,所述预设函数为一元二次方程,所述预设函数通过训练数据训练得出的步骤,包括:建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练单句与标准单句的训练距离,以及与所述训练距离对应的人工评分结果,n为3的倍数;将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

在一个实施方式中,所述预设的词向量库通过产生词向量工具word2vec训练得到,所述词向量库的获得方法包括:使用word2vec工具的cbow模型,对预设的语料库中的单词进行词向量训练,以得到所述预设的词向量库,其中所述语料库是用于训练词向量的单词库。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤之前,包括:采用重叠词相似度算法计算所述单句文字信息与标准单句库中所有标准单句的相似度;判断是否存在所述相似度大于第一阈值的标准单句;若存在,则将所述相似度大于第一阈值的标准单句设置为所述预设的标准单句。

本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请的计算机设备,通过将获取的单句语音信息转换为单句文字信息,再经由预处理获得所述预处理后的单句文字信息中各个单词对应的词向量,利用所述词向量使用预设算法计算出所述单句文字信息与预设的标准单句的距离,更将所述距离输入预设函数以映射出评分,具有更准确、更直观的技术效果。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于机器学习的句子距离映射方法,包括以下步骤:

获取输入的单句语音信息;将所述单句语音信息转换为单句文字信息;对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理;根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离,其中所述预设的标准单句至少经过了分词处理;将所述距离输入预设函数,映射出评分,其中所述预设函数通过训练数据训练得出,所述训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

在一个实施方式中,所述对所述单句文字信息进行预处理,并查询预设的词向量库以获取所述预处理后的单句文字信息中各个单词对应的词向量,其中,所述预处理至少包括分词处理的步骤,包括;对所述单句文字信息进行分词处理,得到包含多个单词的单词序列;通过查询预设的同义词库,判断所述单词序列中是否存在同义词组;若存在同义词组,则将所述同义词组中所有单词替换为所述同义词组中的任意一个。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤,包括:

采用公式:

计算出所述单句文字信息与预设的标准单句的距离,其中,distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;|i|是所述单句文字信息所包含具有词向量的单词数;|r|是所述预设的标准单句所包含具有词向量的单词数;w是词向量;α为调整两个词向量间的余弦相似度的放大系数;max(α×cosdis(w,r))是计算单句r中所有词对应的词向量与单句i中的词向量w的余弦相似度中的最大值。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤,包括:

采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

在一个实施方式中,所述预设函数为一元二次方程,所述预设函数通过训练数据训练得出的步骤,包括:建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练单句与标准单句的训练距离,以及与所述训练距离对应的人工评分结果,n为3的倍数;将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

在一个实施方式中,所述预设的词向量库通过产生词向量工具word2vec训练得到,所述词向量库的获得方法包括:使用word2vec工具的cbow模型,对预设的语料库中的单词进行词向量训练,以得到所述预设的词向量库,其中所述语料库是用于训练词向量的单词库。

在一个实施方式中,所述根据所述单句文字信息中各个单词对应的词向量,使用预设算法计算出所述单句文字信息与预设的标准单句的距离的步骤之前,包括:采用重叠词相似度算法计算所述单句文字信息与标准单句库中所有标准单句的相似度;判断是否存在所述相似度大于第一阈值的标准单句;若存在,则将所述相似度大于第一阈值的标准单句设置为所述预设的标准单句。

本申请的计算机可读存储介质,通过将获取的单句语音信息转换为单句文字信息,再经由预处理获得所述预处理后的单句文字信息中各个单词对应的词向量,利用所述词向量使用预设算法计算出所述单句文字信息与预设的标准单句的距离,更将所述距离输入预设函数以映射出评分,具有更准确、更直观的技术效果。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1