CN110738059B - 一种文本相似度计算方法及系统 - Google Patents
一种文本相似度计算方法及系统 Download PDFInfo
- Publication number
- CN110738059B CN110738059B CN201911000110.7A CN201911000110A CN110738059B CN 110738059 B CN110738059 B CN 110738059B CN 201911000110 A CN201911000110 A CN 201911000110A CN 110738059 B CN110738059 B CN 110738059B
- Authority
- CN
- China
- Prior art keywords
- feature
- text
- determining
- attention
- model
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种文本相似度计算的方法及系统。所述方法包括:获取第一文本,并提取与所述第一文本相对应的至少一个第一特征;根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中;将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二本文本的相似度。
Description
技术领域
本说明书一个或多个实施例涉及自然语言处理(Natural Language Process,NLP)领域,特别涉及一种文本相似度计算方法和系统。
背景技术
在线上的推荐系统中,匹配模型起着关键性作用。例如,在问答系统中,可以使用BERT(Bidirectional Encoder Representation from Transformers)交互模型来计算问题和相关知识点之间的相似度。虽然BERT交互模型在各个场景识别效果很好,但是由于计算量太大,尤其当召回的知识点数目越大,模型运行时间就越长,较难满足线上使用的实时性要求。
因此,需要一种文本相似度计算方法和系统,减少线上推荐系统中输出知识点的时间,提升用户体验。
发明内容
本说明书实施例的一个方面提供一种文本相似度计算方法。所述文本相似度计算方法包括:获取第一文本,并提取与所述第一文本相对应的至少一个第一特征;根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中;将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二本文本的相似度。
本说明书实施例的另一方面提供一种文本相似度计算系统,所述系统包括:第一提取模块,用于获取第一文本,并提取与所述第一文本相对应的至少一个第一特征;获取模块,用于根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中;相似度确定模块,用于将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二本文本的相似度。
本说明书实施例的一个方面提供一种文本相似度计算装置,所述装置包括至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现文本相似度计算的方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的文本相似度计算系统的模块图;
图2是根据本说明书一些实施例所示的文本相似度计算方法的示例性流程图;
图3是根据本说明书一些实施例所示的使用特征提取模型提取文本特征的示例性流程图;以及
图4是根据本说明书一些实施例所示的使用交互模型计算文本相似度的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的文本相似度计算系统的模块图。
如图1所示,该文本相似度计算系统可以包括第二提取模块110、存储模块120、第一提取模块130、获取模块140、相似度确定模块150。
第二提取模块110可以用于在获取第一文本之前,获取多个第二文本,并提取与所述多个第二文本相对应的多个第二特征。
关于获取多个第二文本,并提取与所述多个第二文本相对应的多个第二特征的相关描述可以在本说明书的其他地方(如图2及其相关描述中)找到,在此不再赘述。
存储模块120用于将所述多个第二特征存储在所述特征数据库中,所述第一文本与所述多个第二文本分别为问题以及与问题相关的知识点。
关于将所述多个第二特征存储在所述特征数据库中的相关描述可以在本说明书的其他地方(如图2及其相关描述中)找到,在此不再赘述。
第一提取模块130可以用于获取第一文本,并提取与所述第一文本相对应的至少一个第一特征。
关于获取第一文本,并提取与所述第一文本相对应的至少一个第一特征的相关描述可以在本说明书的其他地方(如图2及其相关描述中)找到,在此不再赘述。
获取模块140可以用于根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中。关于根据所述第一文本得到与所述第一文本相关的多个第二文本的相关描述可以在本说明书的其他地方(如图2及其相关描述中)找到,在此不再赘述。
相似度确定模块150可以用于将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二本文本的相似度。
关于将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二本文本的相似度的相关描述可以在本说明书的其他地方(如图2及其相关描述中)找到,在此不再赘述。
应当理解,图1所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图1中披露的第二提取模块110、存储模块120、第一提取模块130、获取模块140和相似度确定模块150可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,第一提取模块130、获取模块140可以是两个模块,也可以是一个模块同时具有提取特征和获取文本功能。诸如此类的变形,均在本说明书的保护范围之内。
图2是根据本说明书一些实施例所示的文本相似度计算方法的示例性流程图。
如图2所示,该文本相似度计算方法可以包括:
步骤201,获取第一文本,并提取与所述第一文本相对应的至少一个第一特征。
具体的,该步骤可以由第一提取模块130执行。
在一些实施例中,文本指由字符有顺序组成的串。在一些实施例中,字符可以包括汉字、字母、符号、数字以及其他文字。在一些实施例中,符号还可以包括标点符号、换行符号或其他标识符号。第一文本指的是本说明书定义的一个文本,“第一”用以区分本说明书后文中描述的其他文本,例如,第二文本。在一些实施例中,第一文本可以包括用户问题(query)。用户问题(query)可以包括用户在数据库中寻找某一特定文件、网站、记录时,向搜索引擎或数据库发送的消息。例如,在支付宝APP场景下,在搜索框中键入“理财”两字并进行搜索,则“理财”为第一文本。
在一些实施例中,第一特征是指第一文本对应的语义特征。语义特征可以用来表示某个语句和/或词语的意义。在一些实施例中,可以使用字、词、短语、句子作为文本的语义特征。在一些实施例中,语义特征可以表示为向量的形式。例如,第一文本为“北京的公积金应该如何提取?”,第一特征可以为:使用深度学习模型从该句子中提取出来的特征向量。
第一文本的获取方式可以包括但不限于以下:语音输入、手动输入、客户端推送、服务器传输、数据库信息导入、计算机数据集导入、计算机自动获取等。例如,在智能问答系统中,用户通过语音输入或手动输入的方式输入问题,然后第一提取模块130接收该问题并将该问题内容对应的文本作为第一文本。
在一些实施例中,可以使用第一特征提取模型提取第一特征,更多细节可以参见图3及其相关描述。
步骤203,根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中。
具体的,该步骤可以由获取模块140执行。
在一些实施例中,第二文本可以包括知识点。知识点可以为对应于用户问题(query)的答案。例如,用户问题为“北京的公积金应该如何提取?”,相应的知识点可以为包含在“北京公积金提取流程”下的所有内容或部分内容。
在一些实施例中,与第一文本相关的多个第二文本可以是与查询文本相似的文字。例如,第一文本为“睡前看书能改善睡眠吗?”,第二文本可以为“睡前看书有利于入睡吗?”。
在一些实施例中,与第一文本相关的多个第二文本可以是查询对应的相关结果。例如,第一文本为问题“花呗分期怎么提前还款?”,第二文本可以为“进入支付宝主界面,选择‘我的’,打开帮助中心选择花呗提前还清;点击‘花呗提前结清’,点击‘全部还清’,最后完成支付即可。”。
在一些实施例中,可以根据第一文本得到与第一文本相关的多个第二文本。具体的,在线推荐系统中,可以通过查询系统知识库,召回与用户输入问题相关的所有知识点或部分知识点。召回是指基于数据库过滤、排序获得一定数量的知识点。例如,对于问题“如何改善睡眠?”,可以从知识库中召回10个相关知识点。
在一些实施例中,在得到与第一文本相关的多个第二文本之后,可以从特征数据库中提取与第二文本对应的第二特征。
在一些实施例中,在获取第一文本之前,第二提取模块110已经获取了多个第二文本,并提取与所述多个第二文本相对应的多个第二特征。
在一些实施例中,获取多个第二文本可以通过匹配知识库、查询数据库、从服务器中下载、或者连接API来完成。例如:定时从服务器中下载第二文本对应的知识点存储到系统知识库中。
在一些实施例中,可以使用第二特征提取模型提取多个第二文本的多个第二特征,更多细节可以参见图3及其相关描述。
在一些实施例中,在获取第一文本之前,存储模块120已经将多个第二文本对应的多个第二特征存储在特征数据库中。在一些实施例中,可以将所有第二文本对应的第二特征存储在特征数据库中。也可以将部分第二文本对应的第二特征存储在特征数据库中。
在一些实施例中,第二特征是指第二文本对应的语义特征。
在一些实施例中,第一特征、第二特征可以是字词向量和/或者句向量以及其他任意可以表示文本特定特征的向量,不受本说明书的描述所限。例如:可以统计文本的信息,信息包括字或者词的频率,字或词的文字比例,特征选择方法可以依赖于这两个统计量进行组合和补充,例如,特征选择方法可以包括:文档频率法(Document Frequency,DF)、互信息法(Mutual Information,MI)、信息增益法(Information Gain,IG)、CHI(Chi-square)、WLLR(Weighted Log Likelihood Ration)和WFO(Weighted Frequency and Odds)。
在一些实施例中,第二特征也可以是词向量、句向量经过映射或变换的方法变换成的新特征。例如:不同长度的句向量映射成一个固定长度的向量。又例如,两个词向量拼接变换成的向量。
在一些实施例中,特征数据库和系统知识库可以是相同的数据库。具体的,特征数据库和/或系统知识库可以为键值(Key-value,kv)数据库,是以键值对存储数据的一种数据库。在一些实施例中,可以通过知识点的索引号(作为key)存储和/或提取第二特征(作为value)。
在一些实施例中,特征数据库和系统知识库也可以是不同的数据库。可以使用其它方式存储和/或提取第二特征,不受本说明书的表述所限。
由于提前提取并存储了第二特征,在线上进行文本相似度判断时可以直接从特征数据库中提取第二特征,从而减少了线上进行特征提取的时间,使得用户体验更好。
步骤205,将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二文本的相似度。
具体的,该步骤可以由相似度确定模块150执行。在一些实施例中,计算所述第一文本与所述第二本文本的相似度,可以将步骤201中获取的第一特征以及与第二文本对应的特征数据库中存储的第二特征输入到交互模型中。
在一些实施例中,交互模型可以包括计算两个文本相似度的过程中融合了注意力机制的模型。例如:交互型的BERT模型,其在计算相似度过程中,会交互融合两个句子的特征向量,而不仅仅是计算两个句子各自特征之间的相似度。
在一些实施例中,可以基于软注意力机制(Soft-align-attention)实现交互模型。在一些实施例中,也可以是基于其它注意力机制(例如,hard attention)实现交互模型。
优选的,使用图4中的基于Soft-align-attention实现的交互模型来计算第一文本和第二文本的相似度。关于使用Soft-align-attention实现的交互模型计算第一文本与第二本文本的相似度的详述可以参见图4。
在一些实施例中,将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,可以保证所述第一特征以及所述特征数据库中存储的第二特征进行交互运算,而不只是简单的特征比较。融合了特征交互运算的相似度计算精度更高。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,可以将步骤201分为步骤201-1和步骤201-2。在步骤201-1中获取第一文本,在步骤201-2中提取第一文本对应的第一特征。
图3是根据本说明书一些实施例所示的使用特征提取模型提取文本特征的示例性流程图。
在一些实施例中,可以利用深度学习模型将原始文本信息编码成用向量表示的语义特征。深度学习模型可以包括但不限于以下:BERT模型(Bidirectional EncoderRepresentation from Transformers)循环神经网络模型(Recurrent Neural Network,RNN)和卷积神经网络模型(Convolutional Neural Networks,CNN)等。
在一些实施例中,可以使用第一特征提取模型提取第一文本对应的第一特征。在一些实施例中,可以使用第二特征提取模型提取第二文本对应的第二特征。
在一些实施例中,第一特征提取模型和第二特征提取模型可以是不同的深度学习模型。在一些实施例中,第一特征提取模型和第二特征提取模型也可以是相同的深度学习模型。
下面以BERT模型作为第一特征提取模型和/或第二特征提取模型为例进行说明。
BERT模型是双向注意力神经网络模型。BERT模型可以通过自注意力机制(self-attention)利用Transformer中的解码器(encoder)实现双向机制。Transformer可以并行处理序列中的所有单词或符号,同时利用自注意力(self-attention)机制将上下文与较远的单词结合起来。
使用BERT模型可能带来的有益效果包括但不限于:(1)适应于不同任务类型,无需针对具体任务进行大幅架构调整;(2)更为精准的文本预测生成;(3)使得低成本训练超大规模语料成为可能。
如图3所示,使用特征提取模型提取文本特征的过程包括:
步骤301,将第一文本和/或第二文本输入BERT模型,使用BERT模型提取第一特征和/或第二特征。
具体的,该步骤可由第一提取模块130和/或第二提取模块110执行。
BERT模型具有分词、自转向量等功能,所以输入可以为经过预处理的文本。例如,第一文本为“北京的公积金应该如何提取?”。可以在文本前加分类标记【CLS】,文本后加分隔符【SEP】,得到文本“【CLS】北京的公积金应该如何提取【SEP】”,将该文本作为BERT模型的输入。
步骤303,将BERT模型输出的特征向量作为第一文本和/或第二文本对应的第一特征和/或第二特征。
关于第一特征和第二特征的更多描述可以在图2及其相关内容中找到,在此不作赘述。如果第一文本和第二文本语义相近或相似,第一文本和第二文本在特征向量上的空间距离也会比较相近,因此还可以使用BERT模型提取的特征向量做句子的相似度计算或者其他应用。
应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,将步骤301分解为步骤301-1和步骤301-2。在301-1中将第一文本输入BERT模型,在301-2中将第二文本输入BERT模型。
图4是根据本说明书一些实施例所示的使用交互模型计算文本相似度的示例性流程图。
本说明书的一个或多个实施例使用基于Soft-align-attention实现的交互模型来计算第一特征和第二特征的相似度。
Soft-align-attention是一种注意力计算框架,可以在该框架下使用不同的方法来实现注意力机制。
下面以计算第一特征A和第二特征B的相似度为例说明,具体的,该过程可由相似度确定模块150执行。
如图4所示,交互模型的计算过程包括:
步骤401,确定注意力矩阵C。
在一些实施例中,可以基于所述第一特征A和所述第二特征B的乘积,确定注意力矩阵C,即C=A*B。第一特征A的大小为len1*dim,其中,len1表示第一特征A包含的向量个数,dim表示每个向量的维度。第二特征B的大小为len2*dim,其中,len2表示第二特征B包含的向量个数,dim表示每个向量的维度。
步骤403,计算第一注意力特征A1和第二注意力特征B1。
在一些实施例中可以基于第一特征A与注意力矩阵C的乘积,确定第一注意力特征A1,即A1=C*A。在一些实施例中,可以基于第二特征B与注意力矩阵C的乘积,确定第二注意力特征B1,即B1=C*B。
上述步骤401、403实现了一种Soft-align-attention。该Soft-align-attention使得:第一注意力特征A1中融合了第二特征B;相应的,第二注意力特征B1中融合了第一特征A。
在一些实施例中,也可以使用其它方法实现Soft-align-attention,不受本说明书的表述所限。
步骤405,确定第一组合特征a和第二组合特征b。
在一些实施例中,可以通过第一特征A和步骤403中获取的第一注意力特征A1的一种或多种组合方式,确定多个向量表示的第一组合特征a。例如,a=(A,A1,A1+A,A1*A)。
在一些实施例中,可以通过第二特征B和步骤503中获取的第二注意力特征B1的一种或多种组合方式,确定多个向量组成的第二组合特征b。例如,b=(B,B1,B1+B,B1*B)。
对于A和A1,以及B和B1的一种或多种组合方式,本说明书说明书的一个或多个实施例不做限制。
步骤407,确定第一交互特征a1和第二交互特征b1。
在一些实施例中,可以对步骤405中获得的第一组合特征a和第二组合特征b做线性变换,以获得便于计算的一个或多个特征向量表示的第一交互特征a1和第二交互特征b1。
线性变换是指线性空间到其自身的线性映射。线性映射是指一个向量空间到另一个向量空间的映射。
在一些实施例中,可以通过计算均值来做线性变换。例如,a1可以是:(A+A1+A1+A+A1*A)/4;b1可以是:(B+B1+B1+B+B1*B)/4。
在一些实施例中,可以通过求和来做线性变换。例如,a1可以是:A+A1+A1+A+A1*A;b1可以是:B+B1+B1+B+B1+B。
在一些实施例中,还可以通过其他的方式对组合特征做线性变换,本说明书的一个或多个实施例不作限制。
步骤409,对所述第一交互特征a1和所述第二交互特征b1做线性变换,获取所述相似度。
在一些实施例中,对步骤407中获得的第一交互特征a1和第二交互特征b1做线性变换,获得第一特征A对应的第一文本和第二特征B对应的第二文本之间的相似度。
在一些实施例中,可以通过点乘计算的方式做线性变换。例如,相似度s=a1*b1,s的值越接近1,则表示两个文本越相似。
在一些实施例中,还可以使用其他方式对第一交互特征a1和第二交互特征b1做线性变换,不受本说明书的表述所限。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,将步骤405分为两个子步骤执行:确定第一组合特征a和确定第二组合特征b。
本说明书实施例可能带来的有益效果包括但不限于:(1)减少线上进行特征提取的时间;(2)提高相似度计算的精度;(3)可以提升用户体验感。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (15)
1.一种文本相似度计算方法,所述方法包括:
获取第一文本,并提取与所述第一文本相对应的至少一个第一特征;
根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中;
将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二文本的相似度,具体包括:
基于软注意力机制,确定所述第一特征A对应的第一组合特征a;
基于软注意力机制,确定所述第二特征B对应的第二组合特征b;
对所述第一组合特征a中的多个向量表示做线性变换,获取至少一个向量表示的第一交互特征a1;
对所述第二组合特征b中的多个向量表示做线性变换,获取至少一个向量表示的第二交互特征b1;
对所述第一交互特征a1和所述第二交互特征b1做线性变换,获取所述相似度;
其中,所述基于软注意力机制,确定所述第一特征A对应的第一组合特征a包括:
基于所述第一特征A和所述第二特征B的乘积,确定注意力矩阵C,C=A*B;
基于所述第一特征A与所述注意力矩阵C,确定第一注意力特征A1,A1=C*A;
基于所述第一特征A与所述第一注意力特征A1,确定多个向量表示的第一组合特征a,a=(A,A1,A1+A,A1*A);
所述基于软注意力机制,确定所述第二特征B对应的第二组合特征b包括:
基于所述第一特征A和所述第二特征B的乘积,确定注意力矩阵C,C=A*B;
基于所述第二特征B与所述注意力矩阵C,确定第二注意力特征B1,B1=C*B;
基于所述第二特征B与所述第二注意力特征B1,确定多个向量表示的第二组合特征b,b=(B,B1,B1+B,B1*B)。
2.根据权利要求1所述的方法,其中,所述提取与所述第一文本相对应的至少一个第一特征包括:
将所述第一文本输入第一特征提取模型,使用所述第一特征提取模型提取所述第一特征。
3.根据权利要求2所述的方法,其中,所述获取第一文本之前,所述方法还包括:
获取多个第二文本,并提取与所述多个第二文本相对应的多个第二特征;
将所述多个第二特征存储在所述特征数据库中,所述第一文本与所述多个第二文本分别为问题以及与问题相关的知识点。
4.根据权利要求3所述的方法,其中,所述提取与所述多个第二文本相对应的多个第二特征包括:
将所述多个第二文本分别输入第二特征提取模型,使用所述第二特征提取模型提取多个第二特征。
5.根据权利要求4所述的方法,其中,所述第一特征提取模型和/或第二特征提取模型可以包括以下至少一种:
BERT模型、RNN模型和CNN模型。
6.根据权利要求5所述的方法,其中,所述根据所述第一文本得到与所述第一文本相关的多个第二文本包括:
获取用户输入的问题;
查询系统知识库,召回多个与所述问题相关的知识点。
7.根据权利要求1所述的方法,其中,所述线性变换可以包括以下至少一种:计算均值和计算最大值。
8.一种文本相似度计算系统,所述系统包括:
第一提取模块,用于获取第一文本,并提取与所述第一文本相对应的至少一个第一特征;
获取模块,用于根据所述第一文本得到与所述第一文本相关的多个第二文本;其中,与所述多个第二文本中的至少一个第二文本对应的至少一个第二特征已经存储在特征数据库中;
相似度确定模块,用于将所述第一特征以及所述特征数据库中存储的第二特征输入交互模型,使用所述交互模型计算所述第一文本与所述第二文本的相似度,具体包括:
基于软注意力机制,确定所述第一特征A对应的第一组合特征a;
基于软注意力机制,确定所述第二特征B对应的第二组合特征b;
对所述第一组合特征a中的多个向量表示做线性变换,获取至少一个向量表示的第一交互特征a1;
对所述第二组合特征b中的多个向量表示做线性变换,获取至少一个向量表示的第二交互特征b1;
对所述第一交互特征a1和所述第二交互特征b1做线性变换,获取所述相似度;
其中,所述基于软注意力机制,确定所述第一特征A对应的第一组合特征a包括:
基于所述第一特征A和所述第二特征B的乘积,确定注意力矩阵C,C=A*B;
基于所述第一特征A与所述注意力矩阵C,确定第一注意力特征A1,A1=C*A;
基于所述第一特征A与所述第一注意力特征A1,确定多个向量表示的第一组合特征a,a=(A,A1,A1+A,A1*A);
所述基于软注意力机制,确定所述第二特征B对应的第二组合特征b包括:
基于所述第一特征A和所述第二特征B的乘积,确定注意力矩阵C,C=A*B;
基于所述第二特征B与所述注意力矩阵C,确定第二注意力特征B1,B1=C*B;
基于所述第二特征B与所述第二注意力特征B1,确定多个向量表示的第二组合特征b,b=(B,B1,B1+B,B1*B)。
9.根据权利要求8所述的系统,其中,所述提取与所述第一文本相对应的至少一个第一特征包括:
将所述第一文本输入第一特征提取模型,使用所述第一特征提取模型提取所述第一特征。
10.根据权利要求9所述的系统,其中,所述系统还包括:
第二提取模块,用于获取多个第二文本,并提取与所述多个第二文本相对应的多个第二特征;
存储模块,用于将所述多个第二特征存储在所述特征数据库中,所述第一文本与所述多个第二文本分别为问题以及与问题相关的知识点。
11.根据权利要求10所述的系统,其中,所述提取与所述多个第二文本相对应的多个第二特征包括:
将所述多个第二文本分别输入第二特征提取模型,使用所述第二特征提取模型提取多个第二特征。
12.根据权利要求11所述的系统,其中,所述第一特征提取模型和/或第二特征提取模型可以包括以下至少一种:
BERT模型、RNN模型和CNN模型。
13.根据权利要求12所述的系统,其中,所述根据所述第一文本得到与所述第一文本相关的多个第二文本包括:
获取用户输入的问题;
查询系统知识库,召回多个与所述问题相关的知识点。
14.根据权利要求8所述的系统,其中,所述线性变换可以包括以下至少一种:计算均值和计算最大值。
15.一种文本相似度计算装置,其中,所述装置包括至少一个处理器以及至少一个存储器;
所述至少一个存储器用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911000110.7A CN110738059B (zh) | 2019-10-21 | 2019-10-21 | 一种文本相似度计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911000110.7A CN110738059B (zh) | 2019-10-21 | 2019-10-21 | 一种文本相似度计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110738059A CN110738059A (zh) | 2020-01-31 |
CN110738059B true CN110738059B (zh) | 2023-07-14 |
Family
ID=69270664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911000110.7A Active CN110738059B (zh) | 2019-10-21 | 2019-10-21 | 一种文本相似度计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738059B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340218B (zh) * | 2020-02-24 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 一种训练问题识别模型的方法和系统 |
CN111353033B (zh) * | 2020-02-27 | 2023-04-07 | 支付宝(杭州)信息技术有限公司 | 一种训练文本相似度模型的方法和系统 |
CN111832288B (zh) * | 2020-07-27 | 2023-09-29 | 网易有道信息技术(北京)有限公司 | 文本修正方法及装置、电子设备、存储介质 |
CN112329429B (zh) * | 2020-11-30 | 2024-04-26 | 北京百度网讯科技有限公司 | 文本相似度学习方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065387A (ja) * | 2004-08-24 | 2006-03-09 | Fuji Xerox Co Ltd | テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム |
CN102063469A (zh) * | 2010-12-03 | 2011-05-18 | 百度在线网络技术(北京)有限公司 | 一种用于获取相关关键词信息的方法、装置和计算机设备 |
CN110097089A (zh) * | 2019-04-05 | 2019-08-06 | 华南理工大学 | 一种基于注意力组合神经网络的文档级别的情感分类方法 |
WO2019156875A1 (en) * | 2018-02-09 | 2019-08-15 | Salesforce.Com, Inc. | Multitask learning as question answering |
CN110287312A (zh) * | 2019-05-10 | 2019-09-27 | 平安科技(深圳)有限公司 | 文本相似度的计算方法、装置、计算机设备及计算机存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087043B2 (en) * | 2010-09-29 | 2015-07-21 | Rhonda Enterprises, Llc | Method, system, and computer readable medium for creating clusters of text in an electronic document |
WO2013102052A1 (en) * | 2011-12-28 | 2013-07-04 | Bloomberg Finance L.P. | System and method for interactive automatic translation |
CN106339495A (zh) * | 2016-08-31 | 2017-01-18 | 广州智索信息科技有限公司 | 一种基于层次增量聚类的话题检测方法及系统 |
US11087199B2 (en) * | 2016-11-03 | 2021-08-10 | Nec Corporation | Context-aware attention-based neural network for interactive question answering |
JP6872505B2 (ja) * | 2018-03-02 | 2021-05-19 | 日本電信電話株式会社 | ベクトル生成装置、文ペア学習装置、ベクトル生成方法、文ペア学習方法、およびプログラム |
CN108628825A (zh) * | 2018-04-10 | 2018-10-09 | 平安科技(深圳)有限公司 | 文本信息相似度匹配方法、装置、计算机设备及存储介质 |
US11397851B2 (en) * | 2018-04-13 | 2022-07-26 | International Business Machines Corporation | Classifying text to determine a goal type used to select machine learning algorithm outcomes |
CN109376222B (zh) * | 2018-09-27 | 2021-05-25 | 国信优易数据股份有限公司 | 问答匹配度计算方法、问答自动匹配方法及装置 |
CN109543009B (zh) * | 2018-10-17 | 2019-10-25 | 龙马智芯(珠海横琴)科技有限公司 | 文本相似度评估系统及文本相似度评估方法 |
CN109871428B (zh) * | 2019-01-30 | 2022-02-18 | 北京百度网讯科技有限公司 | 用于确定文本相关度的方法、装置、设备和介质 |
CN109948165B (zh) * | 2019-04-24 | 2023-04-25 | 吉林大学 | 基于混合注意力网络的细粒度情感极性预测方法 |
-
2019
- 2019-10-21 CN CN201911000110.7A patent/CN110738059B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065387A (ja) * | 2004-08-24 | 2006-03-09 | Fuji Xerox Co Ltd | テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム |
CN102063469A (zh) * | 2010-12-03 | 2011-05-18 | 百度在线网络技术(北京)有限公司 | 一种用于获取相关关键词信息的方法、装置和计算机设备 |
WO2019156875A1 (en) * | 2018-02-09 | 2019-08-15 | Salesforce.Com, Inc. | Multitask learning as question answering |
CN110097089A (zh) * | 2019-04-05 | 2019-08-06 | 华南理工大学 | 一种基于注意力组合神经网络的文档级别的情感分类方法 |
CN110287312A (zh) * | 2019-05-10 | 2019-09-27 | 平安科技(深圳)有限公司 | 文本相似度的计算方法、装置、计算机设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110738059A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738059B (zh) | 一种文本相似度计算方法及系统 | |
CN109214386B (zh) | 用于生成图像识别模型的方法和装置 | |
CN107491547B (zh) | 基于人工智能的搜索方法和装置 | |
CN105989040B (zh) | 智能问答的方法、装置及系统 | |
US11645314B2 (en) | Interactive information retrieval using knowledge graphs | |
US20200012953A1 (en) | Method and apparatus for generating model | |
CN111310440B (zh) | 文本的纠错方法、装置和系统 | |
CN110750977B (zh) | 一种文本相似度计算方法及系统 | |
US11238050B2 (en) | Method and apparatus for determining response for user input data, and medium | |
CN112100354A (zh) | 人机对话方法、装置、设备及存储介质 | |
CN111858913A (zh) | 一种自动生成文本摘要的方法和系统 | |
CN110765247A (zh) | 一种用于问答机器人的输入提示方法及装置 | |
CN110955766A (zh) | 一种自动扩充智能客服标准问题对的方法和系统 | |
CN111414746A (zh) | 一种匹配语句确定方法、装置、设备及存储介质 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN113849623A (zh) | 文本视觉问答方法和装置 | |
CN116303537A (zh) | 数据查询方法及装置、电子设备、存储介质 | |
CN117688163A (zh) | 基于指令微调和检索增强生成的在线智能问答方法及装置 | |
CN113468323B (zh) | 争议焦点类别及相似判断方法及系统及装置及推荐方法 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN110717008B (zh) | 基于语意识别的搜索结果排序方法及相关装置 | |
CN117131155A (zh) | 多类目识别方法、装置、电子设备及储存介质 | |
CN116680387A (zh) | 基于检索增强的对话答复方法、装置、设备及存储介质 | |
CN114647739B (zh) | 实体链指方法、装置、电子设备及存储介质 | |
CN116049370A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |