CN110348007B - 一种文本相似度确定方法及装置 - Google Patents
一种文本相似度确定方法及装置 Download PDFInfo
- Publication number
- CN110348007B CN110348007B CN201910518009.4A CN201910518009A CN110348007B CN 110348007 B CN110348007 B CN 110348007B CN 201910518009 A CN201910518009 A CN 201910518009A CN 110348007 B CN110348007 B CN 110348007B
- Authority
- CN
- China
- Prior art keywords
- vector
- text
- word
- tree
- similarity
- 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
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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供了一种文本相似度确定方法及装置,其中,方法包括:对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;提取第一分词的词义向量和词性向量,得到第一词向量;并提取第二分词的词义向量和词性向量,得到第二词向量;得到第一文本的序列编码向量;并得到第二文本的序列编码向量;得到第一文本的树型编码向量;并得到第二文本的树型编码向量;融合第一文本的序列编码向量和树型编码向量,得到第一句向量;并融合第二文本的序列编码向量和树型编码向量,得到第二句向量;确定第一句向量和第二句向量之间的相似度,作为第一文本和第二文本的相似度。可以有效提高得到的相似度的准确性。
Description
技术领域
本申请涉及深度学习技术领域,特别是涉及一种文本相似度确定方法及装置。
背景技术
在一些应用场景中,需要确定两个文本之间的相似度,相关技术中,可以基于两个文本中各个词所表示的词义,对两个文本之间的相似度进行确定。但是,相同词义的词语在不同语句中,根据语句的具体情况,可能表示不同的意思。因此,基于词的语义确定得到的相似度可能是不准确的。
发明内容
本申请实施例的目的在于提供一种文本相似度确定方法及装置,以实现更准确的确定两个文本之间的相似度。具体技术方案如下:
在本发明实施例的第一方面,提供了一种文本相似度确定方法,所述方法包括:
对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
提取所述第一分词的词义向量和词性向量,得到由所述第一次分词的词义向量和词性向量组成的第一词向量;并提取所述第二分词的词义向量和词性向量,得到由所述第二分词的词义向量和词性向量组成的第二词向量,其中,词义向量用于表示分词的词义,词性向量用于表示分词的词性;
将所述第一词向量输入至于预先经过训练的序列编码器,得到所述序列编码器的输出,作为所述第一文本的序列编码向量;并将所述第二词向量输入至所述序列编码器,得到所述序列编码器的输出,作为所述第二文本的序列编码向量,所述序列编码向量用于表示文本中分词之间的上下文关系;
将所述第一词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第一文本的树型编码向量;并将所述第二词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第二文本的树型编码向量,所述树型编码向量用于表示文本的语法结构;
融合所述第一文本的所述序列编码向量和所述树型编码向量,得到所述第一文本的融合编码向量,作为第一句向量;并融合所述第二文本的所述序列编码向量和所述树型编码向量,得到所述第二文本的融合编码向量,作为第二句向量;
确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度。
在一种可能的实现方式中,按照下式融合所述序列编码向量和所述树型编码向量:
ssub=stree-sseq
smul=stree⊙sseq
s′sub=stree-s′seq
s′mul=stree⊙s′seq
sfinal=ssub:smul:s′sub:s′mul:stree:sseq
其中,sfinal为融合编码向量,stree为所述树型编码向量,sseq为所述序列编码向量,⊙表示元素级乘法,:表示向量之间的首位拼接。
在一种可能的实现方式中,所述确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度,包括:
确定所述第一句向量和所述第二局向量在预设领域内的相似度,作为所述第一文本和所述第二文本的相似度。
在一种可能的实现方式中,所述确定所述第一句向量和所述第二句向量在预设领域内的相似度,作为所述第一文本和所述第二文本的相似度,包括:
将所述第一局向量、领域向量、所述第二句向量首位拼接,输入至预先经过训练的分类器,得到所述第一句向量和所述第二局向量在所述领域向量所表示的领域内的相似度,作为所述第一文本和所述第二文本的相似度,所述领域向量为用于表示多个预设领域中的一个领域的独热(one-hot)编码。
在一种可能的方式中,所述提取所述第一分词的词义向量和词性向量,得到第一词向量,包括:
提取所述第一分词的词义向量和词性向量;并将所述第一分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量;
所述提取所述第二分词的词义向量和词性向量,得到第二词向量,包括:
提取所述第二分词的词义向量和词性向量;并将所述第二分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量。
在本发明实施例的第二方面,提供了一种文本相似度确定装置,所述装置包括:
分词提取模块,用于对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
词向量提取模块,用于提取所述第一分词的词义向量和词性向量,得到第一词向量;并提取所述第二分词的词义向量和词性向量,得到第二词向量;
序列编码模块,用于将所述第一词向量输入至于预先经过训练的序列编码器,得到所述序列编码器的输出,作为所述第一文本的序列编码向量;并将所述第二词向量输入至所述序列编码器,得到所述序列编码器的输出,作为所述第二文本的序列编码向量,所述序列编码向量用于表示文本中分词之间的上下文关系;
树型编码模块,用于将所述第一词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第一文本的树型编码向量;并将所述第二词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第二文本的树型编码向量,所述树型编码向量用于表示文本的语法结构;
融合模块,用于融合所述第一文本的所述序列编码向量和所述树型编码向量,得到所述第一文本的融合编码向量,作为第一句向量;并融合所述第二文本的所述序列编码向量和所述树型编码向量,得到所述第二文本的融合编码向量,作为第二句向量;
相似度确定模块,用于确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度。
在一种可能的实现方式中,按照下式融合所述序列编码树型:
ssub=stree-sseq
smul=stree⊙sseq
s′sub=stree-s′seq
s′mul=stree⊙s′seq
sfinal=ssub:smul:ss′ub:s′mul:stree:sseq
其中,sfinal为融合编码向量,stree为所述树型编码向量,sseq为所述序列编码向量,⊙表示元素级乘法,:表示向量之间的首位拼接。
在一种可能的实现方式中,所述相似度确定模块,具体用于:
确定所述第一句向量和所述第二局向量在预设领域内的相似度,作为所述第一文本和所述第二文本的相似度。
在一种可能的实现方式中,所述相似度确定模块,具体用于:
将所述第一局向量、领域向量、所述第二句向量首位拼接,输入至预先经过训练的分类器,得到所述第一句向量和所述第二局向量在所述领域向量所表示的领域内的相似度,作为所述第一文本和所述第二文本的相似度,所述领域向量为用于表示多个预设领域中的一个领域的独热(one-hot)编码。
在一种可能的实现方式中,所述词向量提取模块,具体用于提取所述第一分词的词义向量和词性向量;并将所述第一分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量;并提取所述第二分词的词义向量和词性向量;并将所述第二分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量。
在本发明实施例的第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的文本相似度确定方法。
在本申请实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的文本相似度确定方法。
在本申请实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的文本相似度确定方法。
本申请实施例提供的一种文本相似度确定方法及装置,在构建第一文本和第二文本的词向量中,包括了用于表示词义的词义向量和表示词性的词性向量,而词性向量可以反映出一个词在句子的语法结构中的位置,并利用树型编码器在词义向量和词性向量的基础上分析出第一文本和第二文本的语法结构,进而综合语法结构以及分词之间的语义关联,使得得到的句向量能够更准确的表征出文本的特征,并基于更准确的句向量确定得到更准确的文本相似度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的文本相似度确定方法的一种流程图;
图2为文本进行词性替换后的一种示意图;
图3为本发明实施例提供的相似度确定网络模型的一种结构示意图;
图4为本申请实施例提供的文本相似度确定装置的一种结构示意图;
图5为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了实现根据更全面的确定文本之间的相似度,提高计算得到的相似度的准确性,本申请实施例提供了一种文本相似度确定方法及装置,其中,本申请实施例提供的一种文本相似度确定方法包括:
对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
提取所述第一分词的词义向量和词性向量,得到由所述第一次分词的词义向量和词性向量组成的第一词向量;并提取所述第二分词的词义向量和词性向量,得到由所述第二分词的词义向量和词性向量组成的第二词向量,其中,词义向量用于表示分词的词义,词性向量用于表示分词的词性;
将所述第一词向量输入至于预先经过训练的序列编码器,得到所述序列编码器的输出,作为所述第一文本的序列编码向量;并将所述第二词向量输入至所述序列编码器,得到所述序列编码器的输出,作为所述第二文本的序列编码向量,所述序列编码向量用于表示文本中分词之间的上下文关系;
将所述第一词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第一文本的树型编码向量;并将所述第二词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第二文本的树型编码向量,所述树型编码向量用于表示文本的语法结构;
融合所述第一文本的所述序列编码向量和所述树型编码向量,得到所述第一文本的融合编码向量,作为第一句向量;并融合所述第二文本的所述序列编码向量和所述树型编码向量,得到所述第二文本的融合编码向量,作为第二句向量;
确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度。
本申请实施例提供的一种文本相似度确定方法及装置,在构建第一文本和第二文本的词向量中,包括了用于表示词义的词义向量和表示词性的词性向量,而词性向量可以反映出一个词在句子的语法结构中的位置,并利用树型编码器在词义向量和词性向量的基础上分析出第一文本和第二文本的语法结构,进而综合语法结构以及分词之间的语义关联,使得得到的句向量能够更准确的表征出文本的特征,并基于更准确的句向量确定得到更准确的文本相似度。
下面首先对本申请实施例提供的一种文本相似度确定方法进行介绍。如图 1所示,本申请实施例提供的一种文本相似度确定方法包括如下步骤。
S101,对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词。
其中,第一文本和第二文本可以是自定义的。第一文本和第二文本可以是由多个文字或词所组成的文本。所得到的分词可以是单个的字,还可以是词语。以第一文本为例,例如,第一文本为“我是公司的算法工程师”,经过分词处理后,所得到的分词分别为:我、是、公司、的、算法工程师。
其中,分词处理可以是由预设的分词工具完成的,预设的分词工具可以是Stanford CoreNLP、jieba、NLTK(natural language toolkit,自然语言工具包) 等,本实施例对此不做限制。
S102,提取第一分词的词义向量和词性向量,得到由第一分词的词义向量和词义向量组成的第一词向量;并提取第二分词的词义向量和词性向量,得到由第二分词的词义向量和词性向量组成的第二词向量。
其中,词义向量用于表示分词的词义,词性向量用于表示分词的词性。在不同的应用场景中,词义向量和词性向量的表示方式可以不同,本实施例对此不做限制。
可以是将分词输入至预先经过训练的向量替换网络模型,得到每一个分词的由该分词的词义向量和该分词的词性向量组成的词向量,在一种可能的实施例中,一个分词的词向量可以是该分词的词性向量和词义向量首尾拼接得到的,例如可以是将词性向量拼接于词义向量之后,也可以是将词义向量拼接于词性向量之后,本实施例对此不做限制。其中,向量替换网络模型用于将输入的分词替换为用词向量和词性向量表示。可以认为,向量替换网络模型包括两个部分,一个部分是将输入的分词替换为预先训练好的词义向量,另一个部分是将输入的分词替换为预先训练好的词性向量。下面针对两个部分分别进行说明。这样,向量替换网络模型输出的是用词义向量和词性向量将输入的分词替换后的词向量。
针对于词义向量部分,词义向量用于将每一分词以计算机的方式表示出。可以采用离散表示(one-hot representation),还可以采用分布式表示(distributionrepresentation),在此不作限定。
针对于词性向量部分,词性向量用于表示每一分词的词性。一般来说,词性向量可表示的词性包括34种:CC(并列连词)、CD(基数)、DT(限定词)、EX(存在词)、FW(外语词汇)、IN(介词、连词、从属词)、JJ(形容词、序数形容词)、JJR(形容词比较级)、LS(列表项)、JJS(形容词最高级)、MD (情态助动词)、NN(名词、单数、物资名词)、NNP(专有名词单数)、NNS(名词复数)、NNPS(专有名词复数)、SYM(符号)、PDT(前置限定词)、 TO(不定式或介词的)、POS(名词所有格)、UH(感叹词)、PRP(人称代词)、 VB(动词原型)、PRP$(物主代词)、VBD(动词过去分词)、RB(副词)、 VBG(动词现在分词)、RBR(副词比较级)、VBN(动词过去分词)、RBS(副词最高级)、VBP(动词非第三人称单数)、RP(相近)、VBZ(动词第三人称单数)、WDT(限定词)、WP$(物主代词)。对于每一分词,均可以根据上述 34种词性确定该分词的词性,进而用所确定的词性对应的词性向量来替换该分词。
其中,词性向量可以是预先训练好的,对词性向量进行训练的一种实现方式中,可以确定训练文本,训练文本可以是自定义设定的,比如,可以是新闻、百科、文学作品等本文。利用预设的分词工具对训练文本进行分词处理,并对每一个分词进行词性标注。在完成词性标注后,可以用词性来代替分词,并形成由词性组成的新的文本,新的文本如图2所示。再利用Word2Vec算法对该新的文本进行训练,进而可以得到上述34个词性对应的词性向量。
对于词性向量的训练,除了上述方式以外,还可以通过其他方式进行训练进而得到词性向量,在此不作限定。
向量替换网络模型输出的是输入的分词对应的词向量,该词向量中包括词义向量和词性向量。当一个文本的多个分词依次输入至向量替换网络模型时,该向量替换网络模型输出的是该一个文本对应的词向量,该词向量中包括各个分词的向量,每个分词的向量由该分词对应的词向量和词性向量组成的。
例如,以第一文本为例,假设第一文本为S,经过分词处理后的第一文本S 为{w1,w2,w3…wn},其中,n表示分词的数量,利用训练好的词向量和词性向量对每一个分词进行替换,替换完后S为{v1,v2,v3…vn},其中,vi为1×d的向量,表示第i个分词对应的向量,d=dw+dp,dw表示词义向量,w为词义向量的维度,dp表示词性向量,p为词性向量的维度。
S103,将第一词向量输入至于预先经过训练的序列编码器,得到序列编码器的输出,作为第一文本的序列编码向量;并将第二词向量输入至序列编码器,得到序列编码器的输出,作为第二文本的序列编码向量。
其中,预先经过训练可以是指预先经过执行主体的训练,也可以是预先经过执行主体以外的其他具有计算能力的电子设备的训练,根据实际需求,预先训练所采用的方法可以不同,本实施例对此不做限制。
S104,将第一词向量输入至预先经过训练的树型编码器,得到树型编码器的输出,作为第一文本的树型编码向量;并将第二词向量输入至预先经过训练的树型编码器,得到树型编码器的输出。
可以理解的是,图1所示仅为本发明实施例一种可能的实施例,在其他实施例中,S103也可以是在S104之后执行的,还可以是与S104并行执行或者交替执行的,本实施例对此不做限制。
序列编码器和树型编码器可以是一个预先经过训练的相似度确定网络模型中的两个编码器,其中,相似度确定网络模型可以是预先训练好的神经网络模型,该相似度确定网络模型可以确定输入的文本对的相似度,
其中,相似度可以是0至1之间的数值,该数值越高,表示第一文本和第二文本越相近。该数值越低表示该第一文本和第二文本越不相似。
其中,序列编码器可以用于确定所输入的分词之间的上下文关系。序列编码器可以是基于循环神经网络(Recurrent Neural Network,RNN)经过训练得到的。序列编码器可以是Bi-LSTM(Bi-directional Long Short-Term Memory,双向长短时记忆)网络,Bi-LSTM由前向LSTM与后向LSTM组合而成。
其中,Bi-LSTM网络中隐层的维度为h维,则在各分词的词向量依次输入至序列编码器,输出的第一句向量为h维的向量。其中,各分词输入至序列编码器时,应按照各分词在第一文本和第二文本中的位置依次输入。例如,第一文本和第二文本“我是公司的算法工程师”经过分词处理后所得到的分词为:我、是、公司、的、算法工程师,则先将分词“我”的向量输入至序列编码器,再输入分词“是”,然后按顺序依次输入,直至最后输入分词“算法工程师”。
树型编码器用于确定所输入的分词之间的语法关系。树型编码器是基于循环神经网络经过训练得到的,树型编码器可以是Tree-LSTM(Tree Long Short-Term Memory,树型长短时记忆)网络,Tree-LSTM是采用树的结构来保存文本中各分词的依存关系。
Tree-LSTM的公式表达如下所示:
ht=ot⊙tanh(ct)
其中:xt为输入,W和V是预设的矩阵,可以对该矩阵进行训练,b为预设的偏置向量,可以对该偏置向量进行训练,N为Tree-LSTM网络中子树的个数。为选择每一个子树细胞状态中有效的信息并求和加入当前单元的细胞状态,为选择有效的输入信息加入细胞状态,⊙表示元素级乘法,ht表示Tree-LSTM网络的隐层的向量。当N等于1 时,Tree-LSTM网络就退化成了序列LSTM。
S105,融合第一文本的序列编码向量和树型编码向量,得到第一文本的融合编码向量,作为第一句向量;并融合第二文本的序列编码向量和树型编码向量,得到第二文本的融合编码向量,作为第二句向量。
示例性的,假设序列编码向量和树型编码向量均为h维的向量,可以设定序列编码向量为sseq,树型编码向量为stree,则按照以下过程进行融合:
正向混合:
ssub=stree-sseq
smul=stree⊙sseq
反向混合:
s′sub=stree-s′seq
s′mul=stree⊙s′seq
融合后的向量为:
sfinal=ssub:smul:s′sub:s′mul:stree:sseq
其中,“:”表示向量首尾拼接。“′”表示经过翻转的向量,例如s′sub表示经过翻转的ssub,s′seq表示经过翻转的sseq,依次类推。
S106,确定第一句向量和第二句向量的相似度,作为第一文本和第二文本的相似度。
可以是将第一句向量和第二句向量输入至预先经过训练的分类器,得到第一文本和第二文本的相似度。此时,所得到的相似度除了考虑词义向量和各分词的词性向量以外,还考虑了各分词的语法结构关系,进而可以使得针对第一文本和第二文本的相似度更精确。
在上述实施方式的基础上,一种实施方式中,可以将第一局向量、领域向量、第二句向量首位拼接,输入至预先经过训练的分类器,得到第一句向量和第二局向量在领域向量所表示的领域内的相似度,作为第一文本和第二文本的相似度,领域向量为用于表示多个预设领域中的一个领域的独热编码,例如,可以设定医疗领域的领域向量为{001},快销领域的领域向量为{010},保险领域的领域向量为{100}。选用该实施例,可以通过一个网络模型,计算第一文本和第二文本在多个不同领域内的相似度,无需针对不同领域内的相似度分别部署多个不同的网络模型。
本申请实施例提供的一种文本相似度确定方法及装置,在构建第一文本和第二文本的词向量中,包括了用于表示词义的词义向量和表示词性的词性向量,而词性向量可以反映出一个词在句子的语法结构中的位置,并利用树型编码器在词义向量和词性向量的基础上分析出第一文本和第二文本的语法结构,进而综合语法结构以及分词之间的语义关联,使得得到的句向量能够更准确的表征出文本的向量,并基于更准确的句向量确定得到更准确的文本相似度。
图3所示为本发明实施例提供的相似度确定网络模型的一种结构示意图,可以包括:单词层(Word Layer)310、编码层(Coding Layer)320、融合层(Fusion Layer)330以及输出层(Output Layer)340。为描述方便,下面将分别对单词层310、编码层320、融合层330以及输出层340进行描述。
单词层310的输入为第一文本和第二文本,单词层310用于对第一文本和第二文本进行分词,得到第一文本的第一分词和第二文本的第二分词,并将每个分词替换为由该分词的词义向量和词性向量组成的词向量,得到第一文本的第一词向量和第二文本的第二词向量。关于词义向量和词性向量可以参见前述相关描述,在此不再赘述。
编码层320可以包括两个相同的序列编码器(Bi-LSTM)321以及两个相同的树型编码器(Tree-LSTM)322,其中,序列编码器的输入为单词层输出的词向量,输出为序列编码向量。树型编码器的输入为单词层输出的词向量,输出为树型编码向量。
融合层330的输入为序列编码向量和树型编码向量,融合层可以包括正向混合(Forward Fusion)子网络331、反向混合(Reverse Fusion)子网络332以及向量混合(Vector Fusion)子网络333。其中,正向混合子网络用于通过减法(subtract)和元素级乘法(multiply)对输入的序列编码向量和树型编码向量进行正向混合,在一种可能的实施例中,正向混合可以如下式所示:
ssub=stree-sseq
smul=stree⊙sseq
反向混合子网络用于通过减法和元素级乘法对输入的序列编码特征和树型编码特征进行反向混合,在一种可能的实施例中,反向混合可以如下式所示:
s′sub=stree-s′seq
s′mul=stree⊙s′seq
向量混合子网络333可以用于按照下式拼接得到融合编码向量:
sfinal=ssub:smul:s′sub:s′mul:stree:sseq
关于正向混合层子网络、反向混合子网络以及向量混合子网络各自的公式的解释,可以参见前述相关描述,在此不再赘述。
输出层340,的输入为向量混合子网络输出的融合编码向量(第一句向量和第二句向量)。输出层340可以包括三个激活函数为ReLU(Rectified Linear Units,线性整流函数)的全连接(Full Connect,FC)层,以及利用Sigmoid函数进行分类的分类器。可以理解的是图3所示仅是本发明实施例提供的相似度确定网络模型的一种可能的结构示意图,在其他可能的实施例中,输出层中也可以包括其他数目个全连接层,本实施例对此不做限制。输出层用于利用经过训练学习到的向量对到相似度的映射关系,将融合层输出的第一句向量和第二句向量映射至相似度。
相应于上述文本相似度确定方法实施例,本申请实施例还提供一种文本相似度确定装置,如图4所示,可以包括:
分词提取模块401,用于对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
词向量提取模块402,用于提取第一分词的词义向量和词性向量,得到第一词向量;并提取第二分词的词义向量和词性向量,得到第二词向量;
序列编码模块403,用于将第一词向量输入至于预先经过训练的序列编码器,得到序列编码器的输出,作为第一文本的序列编码向量;并将第二词向量输入至序列编码器,得到序列编码器的输出,作为第二文本的序列编码向量,序列编码向量用于表示文本中分词之间的上下文关系;
树型编码模块404,用于将第一词向量输入至预先经过训练的树型编码器,得到树型编码器的输出,作为第一文本的树型编码向量;并将第二词向量输入至预先经过训练的树型编码器,得到树型编码器的输出,作为第二文本的树型编码向量,树型编码向量用于表示文本的语法结构;
融合模块405,融合第一文本的序列编码向量和树型编码向量,得到第一文本的融合编码向量,作为第一句向量;并融合第二文本的序列编码向量和树型编码向量,得到第二文本的融合编码向量,作为第二句向量;
相似度确定模块406,用于确定第一句向量和第二句向量之间的相似度,作为第一文本和第二文本的相似度。
在一种可能实施例中,按照下式融合序列编码向量和树型编码向量:
ssub=stree-sseq
smul=stree⊙sseq
s′sub=stree-s′seq
s′mul=stree⊙s′seq
sfinal=ssub:smul:s′sub:s′mul:stree:sseq
其中,sfinal为融合编码向量,stree为树型编码向量,sseq为序列编码向量,⊙表示元素级乘法,:表示向量之间的首位拼接。“′”表示经过翻转的向量,例如s′sub表示经过翻转的ssub,s′seq表示经过翻转的sseq,依次类推。
在一种可能的实施例中,相似度确定模块406,具体用于:
确定第一句向量和第二局向量在预设领域内的相似度,作为第一文本和第二文本的相似度。
在一种可能的实施例中,相似度确定模块406,具体用于:
将第一局向量、领域向量、第二句向量首位拼接,输入至预先经过训练的分类器,得到第一句向量和第二局向量在领域向量所表示的领域内的相似度,作为第一文本和第二文本的相似度,领域向量为用于表示多个预设领域中的一个领域的独热编码。
在一种可能的实施例中,词向量提取模块402,具体用于提取第一分词的词义向量和词性向量;并将第一分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量;并提取第二分词的词义向量和词性向量;并将第二分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量。
相应于上述文本相似度确定方法实施例,本申请实施例还提供了一种电子设备,如图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信,
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现如下步骤:
对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
提取第一分词的词义向量和词性向量,得到由第一次分词的词义向量和词性向量组成的第一词向量;并提取第二分词的词义向量和词性向量,得到由第二分词的词义向量和词性向量组成的第二词向量,其中,词义向量用于表示分词的词义,词性向量用于表示分词的词性;
将第一词向量输入至于预先经过训练的序列编码器,得到序列编码器的输出,作为第一文本的序列编码向量;并将第二词向量输入至序列编码器,得到序列编码器的输出,作为第二文本的序列编码向量,序列编码向量用于表示文本中分词之间的上下文关系;
将第一词向量输入至预先经过训练的树型编码器,得到树型编码器的输出,作为第一文本的树型编码向量;并将第二词向量输入至预先经过训练的树型编码器,得到树型编码器的输出,作为第二文本的树型编码向量,树型编码向量用于表示文本的语法结构;
融合第一文本的序列编码向量和树型编码向量,得到第一文本的融合编码向量,作为第一句向量;并融合第二文本的序列编码向量和树型编码向量,得到第二文本的融合编码向量,作为第二句向量;
确定第一句向量和第二句向量之间的相似度,作为第一文本和第二文本的相似度。
本申请实施例提供的一种文本相似度确定方法及装置,在构建第一文本和第二文本的词向量中,包括了用于表示词义的词义向量和表示词性的词性向量,而词性向量可以反映出一个词在句子的语法结构中的位置,并利用树型编码器在词义向量和词性向量的基础上分析出第一文本和第二文本的语法结构,进而综合语法结构以及分词之间的语义关联,使得得到的句向量能够更准确的表征出文本的特征,并基于更准确的句向量确定得到更准确的文本相似度。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器 (DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述文本相似度确定方法实施例,在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的文本相似度确定方法。
相应于上述文本相似度确定方法实施例,在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的文本相似度确定方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于文本相似度确定装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于文本相似度确定方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (11)
1.一种文本相似度确定方法,其特征在于,所述方法包括:
对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
提取所述第一分词的词义向量和词性向量,得到由所述第一分词的词义向量和词性向量组成的第一词向量;并提取所述第二分词的词义向量和词性向量,得到由所述第二分词的词义向量和词性向量组成的第二词向量,其中,词义向量用于表示分词的词义,词性向量用于表示分词的词性;
将所述第一词向量输入至于预先经过训练的序列编码器,得到所述序列编码器的输出,作为所述第一文本的序列编码向量;并将所述第二词向量输入至所述序列编码器,得到所述序列编码器的输出,作为所述第二文本的序列编码向量,所述序列编码向量用于表示文本中分词之间的上下文关系;
将所述第一词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第一文本的树型编码向量;并将所述第二词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第二文本的树型编码向量,所述树型编码向量用于表示文本的语法结构;
融合所述第一文本的所述序列编码向量和所述树型编码向量,得到所述第一文本的融合编码向量,作为第一句向量;并融合所述第二文本的所述序列编码向量和所述树型编码向量,得到所述第二文本的融合编码向量,作为第二句向量;
确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度。
2.根据权利要求1所述的方法,其特征在于,按照下式融合所述序列编码向量和所述树型编码向量:
ssub=stree-sseq
smul=stree⊙sseq
s′sub=stree-s′seq
s′mul=stree⊙s′seq
sfinal=ssub∶smul∶s′sub∶s′mul∶stree∶sseq
其中,sfinal为融合编码向量,stree为所述树型编码向量,sseq为所述序列编码向量,⊙表示元素级乘法,:表示向量之间的首位拼接;“′”表示经过翻转的向量。
3.根据权利要求1所述的方法,其特征在于,所述确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度,包括:
确定所述第一句向量和所述第二句向量在预设领域内的相似度,作为所述第一文本和所述第二文本的相似度。
4.根据权利要求3所述的方法,其特征在于,所述确定所述第一句向量和所述第二句向量在预设领域内的相似度,作为所述第一文本和所述第二文本的相似度,包括:
将所述第一句向量、领域向量、所述第二句向量首位拼接,输入至预先经过训练的分类器,得到所述第一句向量和所述第二句向量在所述领域向量所表示的领域内的相似度,作为所述第一文本和所述第二文本的相似度,所述领域向量为用于表示多个预设领域中的一个领域的独热(one-hot)编码。
5.根据权利要求1所述的方法,其特征在于,所述提取所述第一分词的词义向量和词性向量,得到第一词向量,包括:
提取所述第一分词的词义向量和词性向量;并将所述第一分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量;
所述提取所述第二分词的词义向量和词性向量,得到第二词向量,包括:
提取所述第二分词的词义向量和词性向量;并将所述第二分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量。
6.一种文本相似度确定装置,其特征在于,所述装置包括:
分词提取模块,用于对第一文本和第二文本进行分词处理,得到第一文本的第一分词和第二文本的第二分词;
词向量提取模块,用于提取所述第一分词的词义向量和词性向量,得到第一词向量;并提取所述第二分词的词义向量和词性向量,得到第二词向量;
序列编码模块,用于将所述第一词向量输入至于预先经过训练的序列编码器,得到所述序列编码器的输出,作为所述第一文本的序列编码向量;并将所述第二词向量输入至所述序列编码器,得到所述序列编码器的输出,作为所述第二文本的序列编码向量,所述序列编码向量用于表示文本中分词之间的上下文关系;
树型编码模块,用于将所述第一词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第一文本的树型编码向量;并将所述第二词向量输入至预先经过训练的树型编码器,得到所述树型编码器的输出,作为所述第二文本的树型编码向量,所述树型编码向量用于表示文本的语法结构;
融合模块,用于融合所述第一文本的所述序列编码向量和所述树型编码向量,得到所述第一文本的融合编码向量,作为第一句向量;并融合所述第二文本的所述序列编码向量和所述树型编码向量,得到所述第二文本的融合编码向量,作为第二句向量;
相似度确定模块,用于确定所述第一句向量和所述第二句向量之间的相似度,作为所述第一文本和所述第二文本的相似度。
7.根据权利要求6所述的装置,其特征在于,按照下式融合所述序列编码向量和所述树型编码向量:
ssub=stree-sseq
smul=stree⊙sseq
s′sub=stree-s′seq
s′mul=stree⊙s′seq
sfinal=ssub∶smul∶s′sub∶s′mul∶stree∶sseq
其中,sfinal为融合编码向量,stree为所述树型编码向量,sseq为所述序列编码向量,⊙表示元素级乘法,:表示向量之间的首位拼接;“′”表示经过翻转的向量。
8.根据权利要求7所述的装置,其特征在于,所述相似度确定模块,具体用于:
确定所述第一句向量和所述第二句向量在预设领域内的相似度,作为所述第一文本和所述第二文本的相似度。
9.根据权利要求8所述的装置,其特征在于,所述相似度确定模块,具体用于:
将所述第一句向量、领域向量、所述第二句向量首位拼接,输入至预先经过训练的分类器,得到所述第一句向量和所述第二句向量在所述领域向量所表示的领域内的相似度,作为所述第一文本和所述第二文本的相似度,所述领域向量为用于表示多个预设领域中的一个领域的独热(one-hot)编码。
10.根据权利要求6所述的装置,其特征在于,所述词向量提取模块,具体用于提取所述第一分词的词义向量和词性向量;并将所述第一分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量;并提取所述第二分词的词义向量和词性向量;并将所述第二分词的词义向量和词性向量首尾拼接,得到拼接结果,作为第一词向量。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910518009.4A CN110348007B (zh) | 2019-06-14 | 2019-06-14 | 一种文本相似度确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910518009.4A CN110348007B (zh) | 2019-06-14 | 2019-06-14 | 一种文本相似度确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110348007A CN110348007A (zh) | 2019-10-18 |
CN110348007B true CN110348007B (zh) | 2023-04-07 |
Family
ID=68182088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910518009.4A Active CN110348007B (zh) | 2019-06-14 | 2019-06-14 | 一种文本相似度确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110348007B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111553149A (zh) * | 2020-03-31 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 文本断言测试方法、装置、计算机设备及存储介质 |
CN112016306B (zh) * | 2020-08-28 | 2023-10-20 | 重庆邂智科技有限公司 | 基于词性对齐的文本相似度计算方法 |
CN112559820B (zh) * | 2020-12-17 | 2022-08-30 | 中国科学院空天信息创新研究院 | 基于深度学习的样本数据集智能出题方法、装置及设备 |
CN113011172B (zh) * | 2021-03-15 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
CN116070641B (zh) * | 2023-03-13 | 2023-06-06 | 北京点聚信息技术有限公司 | 一种电子合同的在线解读方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651012A (zh) * | 2012-03-09 | 2012-08-29 | 华中科技大学 | 互联网新闻文本之间的转载关系识别方法 |
CN102955774A (zh) * | 2012-05-30 | 2013-03-06 | 华东师范大学 | 一种计算中文词语语义相似度的控制方法以及装置 |
CN106372061A (zh) * | 2016-09-12 | 2017-02-01 | 电子科技大学 | 基于语义的短文本相似度计算方法 |
CN109783806A (zh) * | 2018-12-21 | 2019-05-21 | 众安信息技术服务有限公司 | 一种利用语义解析结构的文本匹配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824797B (zh) * | 2015-01-04 | 2019-11-12 | 华为技术有限公司 | 一种评价语义相似度的方法、装置和系统 |
-
2019
- 2019-06-14 CN CN201910518009.4A patent/CN110348007B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651012A (zh) * | 2012-03-09 | 2012-08-29 | 华中科技大学 | 互联网新闻文本之间的转载关系识别方法 |
CN102955774A (zh) * | 2012-05-30 | 2013-03-06 | 华东师范大学 | 一种计算中文词语语义相似度的控制方法以及装置 |
CN106372061A (zh) * | 2016-09-12 | 2017-02-01 | 电子科技大学 | 基于语义的短文本相似度计算方法 |
CN109783806A (zh) * | 2018-12-21 | 2019-05-21 | 众安信息技术服务有限公司 | 一种利用语义解析结构的文本匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110348007A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309282B (zh) | 一种答案确定方法及装置 | |
CN110348007B (zh) | 一种文本相似度确定方法及装置 | |
US9922025B2 (en) | Generating distributed word embeddings using structured information | |
CN111611810B (zh) | 一种多音字读音消歧装置及方法 | |
Sproat et al. | RNN approaches to text normalization: A challenge | |
CN110298038B (zh) | 一种文本打分方法及装置 | |
CN110427623A (zh) | 半结构化文档知识抽取方法、装置、电子设备及存储介质 | |
CN113886601B (zh) | 电子文本事件抽取方法、装置、设备及存储介质 | |
CN114896983A (zh) | 模型训练方法、文本处理方法、装置和计算机设备 | |
CN112818698A (zh) | 一种基于双通道模型的细粒度的用户评论情感分析方法 | |
CN112686049A (zh) | 文本审核方法、装置、设备及存储介质 | |
CN114491018A (zh) | 敏感信息检测模型的构建方法、敏感信息检测方法及装置 | |
CN115688784A (zh) | 一种融合字与词语特征的中文命名实体识别方法 | |
CN117725203A (zh) | 文档摘要生成方法、装置、计算机设备和存储介质 | |
Hifny | Hybrid LSTM/MaxEnt networks for Arabic syntactic diacritics restoration | |
Chimalamarri et al. | Linguistically enhanced word segmentation for better neural machine translation of low resource agglutinative languages | |
CN113012685A (zh) | 音频识别方法、装置、电子设备及存储介质 | |
Tran et al. | Hierarchical transformer encoders for Vietnamese spelling correction | |
CN114722832A (zh) | 一种摘要提取方法、装置、设备以及存储介质 | |
Chavali et al. | A study on named entity recognition with different word embeddings on gmb dataset using deep learning pipelines | |
CN117172241B (zh) | 一种藏语句法成分标注方法 | |
CN118377871A (zh) | 基于大语言模型的敏感词审核方法、装置、设备及介质 | |
CN114282542B (zh) | 网络舆情监控方法及设备 | |
Lőrincz et al. | Romanian part of speech tagging using lstm networks | |
Aydinov et al. | Investigation of automatic part-of-speech tagging using CRF, HMM and LSTM on misspelled and edited texts |
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 |