CN110688472A - 一种自动筛选问题答案的方法、终端设备及存储介质 - Google Patents
一种自动筛选问题答案的方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN110688472A CN110688472A CN201910954584.9A CN201910954584A CN110688472A CN 110688472 A CN110688472 A CN 110688472A CN 201910954584 A CN201910954584 A CN 201910954584A CN 110688472 A CN110688472 A CN 110688472A
- Authority
- CN
- China
- Prior art keywords
- similarity
- word
- data
- question data
- questions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012216 screening Methods 0.000 title claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 239000013598 vector Substances 0.000 claims description 68
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 12
- 230000014509 gene expression Effects 0.000 abstract description 3
- 238000010606 normalization Methods 0.000 abstract description 3
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种自动筛选问题答案的方法、终端设备及存储介质,该方法中包括:将待回答问题数据进行预处理;将待回答预处理后的问题数据进行同义词归一化操作;根据待回答问题数据与数据库中的问题的第一相似度、第二相似度和第三相似度的大小,计算数据库中相似度最终排名第一的问题数据;将最终排名第一的问题数据在数据库中对应的答案作为待回答问题数据的答案。本发明改进了目前大部分基于词嵌入的相似度算法中不考虑句子的词序及语义的问题,引入了基于词流特征的第二相似度和基于向心词槽的第三相似度的计算,可以用于表征文本之间词序以及语义的隐藏关联,提升了相似度计算的准确度与稳定性,在各项表现上均有所提升。
Description
技术领域
本发明涉及自动筛选问题答案的领域,尤其涉及一种自动筛选问题答案的方法、终端设备及存储介质。
背景技术
自动问答旨在通过计算机自动地回复用户所提出的问题,以满足用户对知识的需求、解决用户的疑问。自动问答***在回答用户问题的过程中,需要能够正确地理解用户所输入的自然语言形式的问句,分析并获取其中的关键信息,进而在预设的语料数据库、问答数据库或知识数据库中,通过获取的信息匹配到最适合的答案返回给用户。
目前,对问题排序处理的主流方法是通过文本相似度实现的。计算文本相似度的主流方法有几种分支,而其中,使用词嵌入的方法获取词向量,并以此计算句向量的方法由于其简单高效的特征,获得了比较广泛的应用。但是,这种方法往往只考虑文本之中成分的相似度,而没有考虑文本中的词序与语义,导致对文本的理解错误。例如“他是我的前辈”与“我是他的前辈”这两个文本虽然意思完全不同,但是许多相似度算法会判断他们的相似度很高。
发明内容
为了解决上述问题,本发明提出了一种自动筛选问题答案的方法、终端设备及存储介质。
具体方案如下:
一种自动筛选问题答案的方法,包括以下步骤:
S1:将待回答问题数据进行预处理,所述预处理包括分词和去除无意义词;
S2:将待回答预处理后的问题数据中所有具有相同意义或相近意义的词均替换为一个相同的词,该相同的词为与被替换词具有相同意义或相近意义的词;
S3:计算待回答问题数据与数据库中所有问题的第一相似度,并对所有问题的第一相似度值按照从大到小排序,筛选出第一相似度值最大的N个问题数据;
S4:分别计算上述N个问题数据与待回答问题数据的第二相似度,并分别按照第二相似度的大小,对N个问题数据进行排序;
S5:分别计算上述N个问题数据与待回答问题数据的第三相似度,并分别按照第三相似度的大小,对N个问题数据进行排序;
S6:根据N个问题数据中每个问题数据针对第一相似度值、第二相似度和第三相似度的大小和排名情况,计算最终排名第一的问题数据;
S7:将最终排名第一的问题数据在数据库中对应的答案作为待回答问题数据的答案。
进一步的,所述第一相似度的计算方法为:
S31:针对待比对的两个问题数据,计算每个问题数据的文本向量;
S32:将两个问题数据的文本向量共同组成文本矩阵X,对该文本矩阵X进行奇异值分解为三个矩阵U、∑、Vτ:
X=U·∑·Vτ
并计算文本矩阵X中去除主要成分后的矩阵Y:
Y=X-X·V·Vτ
其中,V为Vτ的转置矩阵;
S33:从矩阵Y中提取出两个问题数据对应的向量作为其优选文本向量,根据每个问题数据对应的优选文本向量计算两个问题数据之间的相似度作为第一相似度。
进一步的,步骤S31中每个问题数据的文本向量的计算过程为:
S311:计算问题数据中每个词的词向量;
S312:计算该词在问题数据中的权重;
S313:根据问题数据中每个词的词向量和该词在问题数据中的权重,计算该问题数据的文本向量。
进一步的,步骤S312中词ω的权重Wω的计算公式为:
其中,α为调节常数,P(ω)为词ω在语料库中出现的频率。
进一步的,步骤S313中问题数据的文本向量的计算方法为:
其中,KS表示问题数据S的文本向量,i表示问题数据中的第i个词,n表示问题数据中词的数量,Wi为问题数据中第i个词的权重,Vi表示问题数据中第i个词的词向量。
进一步的,步骤S33中第一相似度Sy的计算公式为:
其中,Ki、Kj分别表示两个问题数据的优选文本向量,‖.‖表示求模运算。
进一步的,所述第二相似度的计算方法为:
S41:针对待比对的两个问题数据,将两个问题数据中的所有词组成词集合,并分别对词集合中的每个词进行唯一编号;
S42:分别构建两个问题数据中每个问题数据的特征向量;
每个问题数据的特征向量的构建方法为:针对词集合中的每个词,在该问题中查找是否存在与该词具有相同或相近意义的词,如果存在相同或相近意义的词,则将特征向量中的与该词在词集合中处于相同序列处的元素的值设置为该词的唯一编号;如果不存在相同和相近意义的词,则将特征向量中的与该词在词集合中处于相同序列处的元素的值设置为0;
S43:根据特征向量计算两个问题数据的第二相似度。
进一步的,步骤S43中具体计算公式为:
进一步的,所述第三相似度的计算方法为:
S51:将两个问题数据中的所有词分为核心词、关键词和其他词三类;
S52:根据词的类别将每个问题数据分为核心词组、关键词组和其他词组三个词组;
S53:计算两个问题数据的核心词组之间的核心词相似度、关键词组之间的关键词相似度和其他词组之间的其他词相似度;
S54:根据两个问题数据的核心词相似度、关键词相似度和其他词相似度,计算两个问题数据的第三相似度。
进一步的,步骤S53中三个相似度的计算方法均为:
其中,表示相似度,函数Sim(.)表示两个向量之间的相似度,i表示第一个问题数据的词组中的第i个词,j表示第二个问题数据的词组中的第j个词,m和n分别表示第一个问题数据的词组和第二个问题数据的词组中词的总数,p和q均表示词的序号,Vi、Vj、Vp和Vq均表示对应序号的词的向量。
进一步的,步骤S6的具体过程为:
S61:计算每个问题数据的总排名rank:
rank=α·rankvec+β·rankwo+γ·ranksdp
其中,α、β、γ为权重调节参数,α+β+γ=1,rankvec为第一相似度排名,rankwo为第二相似度排名,ranksdp为第三相似度排名;
S62:判断总排名第一的问题数据的个数是否大于1,如果是,进入S63,否则,将总排名第一的问题数据作为最终排名第一的问题数据,结束;
S63:计算总排名第一的多个问题数据中每个问题的总相似度sim,根据总相似度值最大的问题数据作为最终排名第一的问题数据,结束;
sim=α·Sy+β·Sr+γ·Sl
其中,Sy为第一相似度,Sr为第二相似度,Sl为第三相似度。
进一步的,包括以下步骤:
S1:将待回答问题数据进行预处理,所述预处理包括分词和去除无意义词;
S2:将待回答预处理后的问题数据中所有具有相同意义或相近意义的词均替换为一个相同的词,该相同的词为与被替换词具有相同意义或相近意义的词;
S3:计算待回答问题数据与数据库中所有问题的第一相似度,并对所有问题的第一相似度值按照从大到小排序,筛选出第一相似度值最大的多个问题数据;
S4:计算待回答问题数据与数据库中所有问题的第二相似度,并对所有问题的第二相似度值按照从大到小排序,筛选出第二相似度值最大的多个问题数据;
S5:计算待回答问题数据与数据库中所有问题的第三相似度,并对所有问题的第三相似度值按照从大到小排序,筛选出第三相似度值最大的多个问题数据;
S6:根据S3、S4和S5筛选出的所有问题数据中每个问题数据针对第一相似度值、第二相似度和第三相似度的大小和排名情况,计算最终排名第一的问题数据;
S7:将最终排名第一的问题数据在数据库中对应的答案作为待回答问题数据的答案。
一种自动筛选问题答案的终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,改进了目前大部分基于词嵌入的相似度算法中不考虑句子的词序及语义的问题,引入了基于词流特征的第二相似度和基于向心词槽的第三相似度的计算,可以用于表征文本之间词序以及语义的隐藏关联,提升了相似度计算的准确度与稳定性,在各项表现上均有所提升。
附图说明
图1所示为本发明实施例一的流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种自动筛选问题答案的方法,如图1所示,包括以下步骤:
S1:对待回答问题数据进行预处理。
该实施例中所述预处理包括但不限于分词和去停用词。
所述分词即为将问题数据(句子或文本)按照一定的规范重新组合成词的序列,分词采用现有的算法处理即可。
在分词之后的结果中,往往可能存在一些不具有具体含义的字符或词,比如语气词(啊、呀等)、标点符号(逗号、句号等)等,这些不具有具体含义的字符或词在问题实际内容的获取中起干扰作用,因此还需要将这些停用词去除。
该实施例中去停用词的方法为设置停用词词典,将常用的停用词添加至停用词词典内,在一些特别的应用场景下,可以手动对停用词词典中的内容进行增加或删除。在其他的实施例中,去停用词也可以采用其他的方法,在此不做限制。
S2:对预处理后的待回答问题数据进行同义词归一化操作,即将预处理后的数据中所有具有相同意义或相近意义的词均替换为一个相同的词,该相同的词为与被替换词具有相同意义或相近意义的词。
该实施例中设置同义词词典,在同义词词典中,所有具有相同意思或相近意思的词全部与某一个与这些词具有相同意思或相近意思的词相对应,如电视、电视机、TV三个词全部指向同一个词即电视/电视机/TV,该指向的词为上述同意词或近义词中的任意一个。
通过同义词归一化操作,可以减小相似度计算过程中的误差。
S3:计算待回答问题数据与数据库中存储的所有问题的第一相似度,并对所有问题的第一相似度值按照从大到小排序,筛选出第一相似度值最大的N个问题数据。
所述数据库中存储有大量问题及其对应的答案,当选择数据库中的任意问题时,都能得到其对应的答案。所述数据库中的内容可以认为的进行增减。
该实施例中,所述第一相似度的计算方法包括以下步骤:
S31:针对每两个待比对的问题数据,计算每个问题数据的文本向量,每个文本向量的计算过程为:
S311:计算问题数据中每个词的词向量。
所述词向量可以根据具体的场景需求来选择生成算法来生成,如通过Word2Vec、FastText等算法进行词向量的生成。
S312:计算该词在问题数据中的权重。
该实施例中设定词ω的权重Wω的计算公式为:
其中,α为调节常数,本领域技术人员根据经验进行设定,P(ω)为词ω在语料库中出现的频率,即该词的词频。
S313:根据问题数据中每个词的词向量和该词在问题数据中的权重,计算该问题数据的文本向量。
该实施例中问题数据S的问题向量KS的计算公式为:
其中,i表示第i个词,即词的序号,Wi为问题数据S中第i个词的权重,n表示问题数据中词的数量,Vi表示问题数据S中第i个词的词向量。
S32:将两个问题数据的文本向量共同组成文本矩阵X,对该文本矩阵X进行奇异值分解为三个矩阵U、∑、Vτ:
X=U·∑·Vτ
其中,得到的矩阵Vτ为文本矩阵X的最大主成分,在文本矩阵X中文本的主题普遍相近的情况下,通过下式计算的文本矩阵X中去除主要成分后的矩阵Y,其通过去除主成分能够移除无意义的信息,即对相似度计算影响较小的信息,增大计算的准确度。
Y=X-X·V·Vτ
其中,V为Vτ的转置矩阵;
S33:从矩阵Y中提取出两个问题数据对应的向量作为其优选文本向量,根据每个问题数据对应的优选文本向量计算两个问题数据之间的相似度作为第一相似度。
该实施例中采用的第一相似度Sy的计算公式为:
其中,Sy表示两个文本数据之间的第一相似度,Ki、Kj分别表示两个文本数据的优选文本向量,‖.‖表示求模运算。
S4:分别计算上述N个问题数据与待回答问题数据的第二相似度,并分别按照第二相似度的大小,对N个问题数据进行排序。
所述第二相似度的计算中综合考虑词的顺序和语义两者的影响。
该实施例中,所述第二相似度的计算方法包括以下步骤:
S41:针对待比对的两个问题数据,将两个问题数据中的所有的词组成词集合,并分别对词集合中的每个词进行唯一编号。
该实施例中,将两个问题数据中的所有的词组成的词集合设为T,假设问题数据S1包含的词集合为{你、我、他},问题数据S2包含的词集合为{你、我、他们},则词集合T为{你、我、他、他们},分别赋予的唯一编号为:你=a,我=b,他=c,他们=d。
S42:分别构建两个问题数据中每个问题数据的特征向量;
每个问题数据的特征向量的构建方法为:针对词集合中的每个词,在该问题中查找是否存在与该词具有相同或相近意义的词,如果存在相同或相近意义的词,则将特征向量中的与该词在词集合中处于相同序列处的元素的值设置为该词的唯一编号;如果不存在相同和相近意义的词,则将特征向量中的与该词在词集合中处于相同序列处的元素的值设置为0。
该实施例中,查找词集合T中的第1个词“你”,其在S1中存在相同的词,则将特征向量中的第1个元素(序列1)设定为a;查找词集合T中的第2个词“我”,其在S1中存在相同的词,则将特征向量中的第2个元素设定为b;查找词集合T中的第3个词“他”,其在S1中存在相同的词,则将特征向量中的第3个元素设定为c;查找词集合T中的第4个词“他们”,其在S1中不存在相同的词,存在相近的词“他”,则将特征向量中的第4个元素设定为d;则特征向量为{a、b、c、d}。
该实施例中设定存在相近意义的词为两个词的相似度大于预设的阈值。
S43:根据特征向量计算两个问题数据的第二相似度。
该实施例中,两个问题数据的第二相似度Sr的计算公式为:
S5:分别计算上述N个问题数据与待回答问题数据的第三相似度,并分别按照第三相似度的大小,对N个问题数据进行排序。
该实施例中,所述第二相似度的计算方法包括以下步骤:
S51:将两个问题数据中的所有词分为核心词、关键词和其他词三类。
针对每个问题数据进行语义依存分析,可以得到该问题数据的语义依存树,根据语义依存树将组成该问题数据的词分为核心词、关键词和其他词三类。
其中,核心词为语义依存树中作为根节点的词,关键词为语义依存树中作为与根节点距离为1的子节点的词,其他词为核心词和关键词之外的词。
S52:根据词的类别将每个问题数据分为核心词组、关键词组和其他词组三个词组,即将每个问题数据中所有核心词组成核心词组,所有关键词组成关键词组,所述其他词组成其他词组。
S53:计算两个问题数据的核心词组之间的核心词相似度、关键词组之间的关键词相似度和其他词组之间的其他词相似度。
核心词相似度、关键词相似度和其他词相似度三种相似度该实施例中采用相同的计算方法,即:
其中,表示相似度,函数Sim(.)表示两个向量之间的相似度,该实施例中为两个词向量之间的相似度,i表示第一个问题数据的词组中的第i个词,j表示第二个问题数据的词组中的第j个词,m和n分别表示第一个问题数据的词组和第二个问题数据的词组中词的总数,p和q均表示词的序号,Vi、Vj、Vp和Vq均表示对应序号的词的向量。
该实施例中,Sim(Vi,Vp)的计算公式为:
S54:根据两个问题数据的核心词相似度、关键词相似度和其他词相似度,计算两个问题数据的第三相似度。
该实施例中,第三相似度Sl的计算公式为:
Sl=φ1sim_c+φ2sim_k+φ3sim_b
其中,φ1、φ2、φ3为权重调节参数,φ1+φ2+φ3=1。sim_c、im_k、sim_b分别为核心词相似度、关键词相似度与其他词相似度。
S6:根据N个问题数据中每个问题数据针对第一相似度值、第二相似度和第三相似度的大小和排名情况,计算最终排名第一的问题数据。
该实施例中具体计算过程为:
S61:计算每个问题数据的总排名rank:
rank=α·rankvec+β·rankwo+γ·ranksdp
其中,α、β、γ为权重调节参数,α+β+γ=1,rankvec为第一相似度排名,rankwo为第二相似度排名,ranksdp为第三相似度排名。
S62:判断总排名第一的问题数据的个数是否大于1,如果是,进入S63,否则,将总排名第一的问题数据作为最终排名第一的问题数据,结束。
S63:计算总排名第一的多个问题数据中每个问题的总相似度sim,根据总相似度值最大的问题数据作为最终排名第一的问题数据,结束。
sim=α·Sy+β·Sr+γ·Sl
其中,Sy为第一相似度,Sr为第二相似度,Sl为第三相似度。
S7:将最终排名第一的问题数据在数据库中对应的答案作为待回答问题数据的答案。
本发明实施例一改进了目前大部分基于词嵌入的相似度算法中不考虑句子的词序及语义的问题,引入了基于词流特征的第二相似度和基于向心词槽的第三相似度的计算,可以用于表征文本之间词序以及语义的隐藏关联,提升了相似度计算的准确度与稳定性,在各项表现上均有所提升。
本实施例中方法的将第一相似度算法筛选出来的N个候选问题数据再通过第二相似度与第三相似度分别进行排序,以计算出最优的问题,该方式的时间开销及计算开销较小;在其他实施例中,也可以采用分别通过第一相似度算法、第二相似度算法和第三相似度算法得到各自的多个候选问题数据,在从中计算出最优问题,该方式的时间开销及计算开销相对较大,但是能够覆盖到更多的要素,因此更为准确。
需要说明的是,采用第二种方式的分别通过第一相似度算法、第二相似度算法和第三相似度算法得到各自的多个候选问题数据时,通过每种相似度算法得到的多个候选问题数据的数量可以相同,也可以不相同,在此不做限制,当某个候选问题数据在没有同时出现在其他相似度算法得到的问题中时,采用下式进行总排名计算时,在没出现的相似度算法中的排名人为设定一极大值。
rank=α·rankvec+β·rankwo+γ·ranksdp
实施例二:
本发明还提供一种自动筛选问题答案的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述自动筛选问题答案的终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述自动筛选问题答案的终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述自动筛选问题答案的终端设备的组成结构仅仅是自动筛选问题答案的终端设备的示例,并不构成对自动筛选问题答案的终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述自动筛选问题答案的终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述自动筛选问题答案的终端设备的控制中心,利用各种接口和线路连接整个自动筛选问题答案的终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述自动筛选问题答案的终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述自动筛选问题答案的终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (10)
1.一种自动筛选问题答案的方法,其特征在于,包括以下步骤:
S1:将待回答问题数据进行预处理,所述预处理包括分词和去除无意义词;
S2:将待回答预处理后的问题数据中所有具有相同意义或相近意义的词均替换为一个相同的词,该相同的词为与被替换词具有相同意义或相近意义的词;
S3:计算待回答问题数据与数据库中所有问题的第一相似度,并对所有问题的第一相似度值按照从大到小排序,筛选出第一相似度值最大的N个问题数据;
S4:分别计算上述N个问题数据与待回答问题数据的第二相似度,并分别按照第二相似度的大小,对N个问题数据进行排序;
S5:分别计算上述N个问题数据与待回答问题数据的第三相似度,并分别按照第三相似度的大小,对N个问题数据进行排序;
S6:根据N个问题数据中每个问题数据针对第一相似度值、第二相似度和第三相似度的大小和排名情况,计算最终排名第一的问题数据;
S7:将最终排名第一的问题数据在数据库中对应的答案作为待回答问题数据的答案。
2.根据权利要求1所述的自动筛选问题答案的方法,其特征在于:所述第一相似度的计算方法为:
S31:针对待比对的两个问题数据,计算每个问题数据的文本向量;
S32:将两个问题数据的文本向量共同组成文本矩阵X,对该文本矩阵X进行奇异值分解为三个矩阵U、∑、Vτ:
X=U·∑·Vτ
并计算文本矩阵X中去除主要成分后的矩阵Y:
Y=X-X·V·Vτ
其中,V为Vτ的转置矩阵;
S33:从矩阵Y中提取出两个问题数据对应的向量作为其优选文本向量,根据每个问题数据对应的优选文本向量计算两个问题数据之间的相似度作为第一相似度。
3.根据权利要求1所述的自动筛选问题答案的方法,其特征在于:所述第二相似度的计算方法为:
S41:针对待比对的两个问题数据,将两个问题数据中的所有词组成词集合,并分别对词集合中的每个词进行唯一编号;
S42:分别构建两个问题数据中每个问题数据的特征向量;
每个问题数据的特征向量的构建方法为:针对词集合中的每个词,在该问题中查找是否存在与该词具有相同或相近意义的词,如果存在相同或相近意义的词,则将特征向量中的与该词在词集合中处于相同序列处的元素的值设置为该词的唯一编号;如果不存在相同和相近意义的词,则将特征向量中的与该词在词集合中处于相同序列处的元素的值设置为0;
S43:根据特征向量计算两个问题数据的第二相似度。
5.根据权利要求1所述的自动筛选问题答案的方法,其特征在于:所述第三相似度的计算方法为:
S51:将两个问题数据中的所有词分为核心词、关键词和其他词三类;
S52:根据词的类别将每个问题数据分为核心词组、关键词组和其他词组三个词组;
S53:计算两个问题数据的核心词组之间的核心词相似度、关键词组之间的关键词相似度和其他词组之间的其他词相似度;
S54:根据两个问题数据的核心词相似度、关键词相似度和其他词相似度,计算两个问题数据的第三相似度。
7.根据权利要求5所述的自动筛选问题答案的方法,其特征在于:步骤S6的具体过程为:
S61:计算每个问题数据的总排名rank:
rank=α·rankvec+β·rankwo+γ·ranksdp
其中,α、β、γ为权重调节参数,α+β+γ=1,rankvec为第一相似度排名,rankwo为第二相似度排名,ranksdp为第三相似度排名;
S62:判断总排名第一的问题数据的个数是否大于1,如果是,进入S63,否则,将总排名第一的问题数据作为最终排名第一的问题数据,结束;
S63:计算总排名第一的多个问题数据中每个问题的总相似度sim,根据总相似度值最大的问题数据作为最终排名第一的问题数据,结束;
sim=α·Sy+β·Sr+γ·Sl
其中,Sy为第一相似度,Sr为第二相似度,Sl为第三相似度。
8.一种自动筛选问题答案的方法,其特征在于,包括以下步骤:
S1:将待回答问题数据进行预处理,所述预处理包括分词和去除无意义词;
S2:将待回答预处理后的问题数据中所有具有相同意义或相近意义的词均替换为一个相同的词,该相同的词为与被替换词具有相同意义或相近意义的词;
S3:计算待回答问题数据与数据库中所有问题的第一相似度,并对所有问题的第一相似度值按照从大到小排序,筛选出第一相似度值最大的多个问题数据;
S4:计算待回答问题数据与数据库中所有问题的第二相似度,并对所有问题的第二相似度值按照从大到小排序,筛选出第二相似度值最大的多个问题数据;
S5:计算待回答问题数据与数据库中所有问题的第三相似度,并对所有问题的第三相似度值按照从大到小排序,筛选出第三相似度值最大的多个问题数据;
S6:根据S3、S4和S5筛选出的所有问题数据中每个问题数据针对第一相似度值、第二相似度和第三相似度的大小和排名情况,计算最终排名第一的问题数据;
S7:将最终排名第一的问题数据在数据库中对应的答案作为待回答问题数据的答案。
9.一种自动筛选问题答案的终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~8中任一所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~8中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954584.9A CN110688472A (zh) | 2019-10-09 | 2019-10-09 | 一种自动筛选问题答案的方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954584.9A CN110688472A (zh) | 2019-10-09 | 2019-10-09 | 一种自动筛选问题答案的方法、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110688472A true CN110688472A (zh) | 2020-01-14 |
Family
ID=69111705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910954584.9A Pending CN110688472A (zh) | 2019-10-09 | 2019-10-09 | 一种自动筛选问题答案的方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688472A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633009A (zh) * | 2020-12-29 | 2021-04-09 | 扬州大学 | 一种随机组合上传字段的识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268346A (zh) * | 2013-05-27 | 2013-08-28 | 翁时锋 | 半监督分类方法及*** |
CN108710613A (zh) * | 2018-05-22 | 2018-10-26 | 平安科技(深圳)有限公司 | 文本相似度的获取方法、终端设备及介质 |
CN109062892A (zh) * | 2018-07-10 | 2018-12-21 | 东北大学 | 一种基于Word2Vec的中文语句相似度计算方法 |
CN109948143A (zh) * | 2019-01-25 | 2019-06-28 | 网经科技(苏州)有限公司 | 社区问答***的答案抽取方法 |
CN109977421A (zh) * | 2019-04-15 | 2019-07-05 | 南京邮电大学 | 一种程序设计类课程课后答疑***的知识库建立方法 |
-
2019
- 2019-10-09 CN CN201910954584.9A patent/CN110688472A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268346A (zh) * | 2013-05-27 | 2013-08-28 | 翁时锋 | 半监督分类方法及*** |
CN108710613A (zh) * | 2018-05-22 | 2018-10-26 | 平安科技(深圳)有限公司 | 文本相似度的获取方法、终端设备及介质 |
CN109062892A (zh) * | 2018-07-10 | 2018-12-21 | 东北大学 | 一种基于Word2Vec的中文语句相似度计算方法 |
CN109948143A (zh) * | 2019-01-25 | 2019-06-28 | 网经科技(苏州)有限公司 | 社区问答***的答案抽取方法 |
CN109977421A (zh) * | 2019-04-15 | 2019-07-05 | 南京邮电大学 | 一种程序设计类课程课后答疑***的知识库建立方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633009A (zh) * | 2020-12-29 | 2021-04-09 | 扬州大学 | 一种随机组合上传字段的识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11227118B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
CN109299280B (zh) | 短文本聚类分析方法、装置和终端设备 | |
CN109117474B (zh) | 语句相似度的计算方法、装置及存储介质 | |
CN112417846B (zh) | 文本自动化生成方法、装置、电子设备及存储介质 | |
CN109840255B (zh) | 答复文本生成方法、装置、设备及存储介质 | |
CN110597971B (zh) | 基于神经网络的自动问答装置、方法及可读存储介质 | |
CN110705248A (zh) | 一种文本相似度计算方法、终端设备及存储介质 | |
CN112527958A (zh) | 用户行为倾向识别方法、装置、设备及存储介质 | |
CN111159404A (zh) | 文本的分类方法及装置 | |
CN111813993A (zh) | 视频内容的拓展方法、装置、终端设备及存储介质 | |
CN112632261A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN115795061A (zh) | 一种基于词向量和依存句法的知识图谱构建方法及*** | |
CN114818729A (zh) | 一种训练语义识别模型、查找语句的方法、装置及介质 | |
CN110046344B (zh) | 添加分隔符的方法及终端设备 | |
CN113590811A (zh) | 文本摘要生成方法、装置、电子设备及存储介质 | |
CN111401034A (zh) | 文本的语义分析方法、语义分析装置及终端 | |
CN113743090A (zh) | 一种关键词提取方法及装置 | |
CN110427626B (zh) | 关键词的提取方法及装置 | |
CN110688472A (zh) | 一种自动筛选问题答案的方法、终端设备及存储介质 | |
CN112199958A (zh) | 概念词序列生成方法、装置、计算机设备及存储介质 | |
CN117112727A (zh) | 适用于云计算业务的大语言模型微调指令集构建方法 | |
CN110413985B (zh) | 一种相关文本片段搜索方法及装置 | |
CN112597287B (zh) | 一种语句处理方法、语句处理装置及智能设备 | |
CN116432638A (zh) | 一种文本关键词提取方法、装置、电子设备及存储介质 | |
CN112650951A (zh) | 一种企业相似度匹配方法、***和计算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |
|
RJ01 | Rejection of invention patent application after publication |