CN112131341A - 文本相似度计算方法、装置、电子设备和存储介质 - Google Patents
文本相似度计算方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112131341A CN112131341A CN202010859824.XA CN202010859824A CN112131341A CN 112131341 A CN112131341 A CN 112131341A CN 202010859824 A CN202010859824 A CN 202010859824A CN 112131341 A CN112131341 A CN 112131341A
- Authority
- CN
- China
- Prior art keywords
- word
- text
- similarity
- target
- words
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 239000011159 matrix material Substances 0.000 claims abstract description 45
- 230000011218 segmentation Effects 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012935 Averaging Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 9
- 238000011217 control strategy Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000013519 translation Methods 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/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- 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
Abstract
本发明实施例提供了一种文本相似度计算方法、装置、电子设备和存储介质。本发明实施例的技术方案,对于专业领域,在项目初期以普通词林为基础,对第一文本和第二文本进行分词,获得词集合,根据词集合中各词的相似度确定词相似度矩阵,根据词相似度矩阵计算第一文本和第二文本的相似度,从而,在项目初期,不需要积累大量的专业词汇语料的情况,就能够并获得较好的文本相似度计算结果。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种文本相似度计算方法、装置、电子设备和存储介质。
背景技术
文本相似度计算在信息检索、推荐领域发挥重大作用。高效准确的文本相似度方法极大提高各种场合信息检索、匹配、整合的效率。文本相似度可分为三类,分别是基于字符串的方法,基于向量空间的方法和深度学习的方法。其一,基于字符串的方法不考虑字符的语义,准确率上限比较低。其二,基于向量空间的方法根据如何表示向量,也可以分为三类,分别是人工编撰词典、离散式分布、分布式分布。其三,深度学习的方法,在这种方法大规模在文本相似度领域应用之前,基于向量空间的方法是主流。然而,深度学习的方法需要大量的语料,在垂直领域想要有不错的效果,通常需要人工收集整理大量的语料。例如,建筑专业领域的文字信息的近似性搜索查找,涉及到建筑相关专业的语料没有通用领域那么充沛,且语料的格式、形式不统一,如果通过深度学习的方法来实现文本相似度计算方法,需要事先由人工收集整理大量的语料,从而导致在专业领域的文本相似度计算方法难以落地,并耗费大量的人力。
发明内容
有鉴于此,本发明实施例的目的是提供一种文本相似度计算方法、装置、电子设备和存储介质,以提高专业领域文本相似度计算的准确率。
第一方面,本发明实施例提供一种文本相似度计算方法,所述方法包括:
获取第一文本,对所述第一文本分词处理,获取第一文本的词集合;
获取第二文本,对所述第二文本分词处理,获取第二文本的词集合;
计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的相似度,确定词相似度矩阵;
根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度。
优选地,计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的相似度,确定词相似度矩阵,通过如下步骤确定所述相似度矩阵中的每一个元素:
获取所述第一文本的词集合的第n个词作为第一目标词;
获取所述第二文本的词集合的第m个词作为第二目标词;
根据词林确定第一目标词对应的第一词编码;
根据词林确定第二目标词对应的第二词编码;
根据所述第一词编码和所述第二词编码计算所述第一目标词和第二目标词的词相似度作为相似度矩阵第n行第m列的元素。
优选地,根据所述第一词编码和所述第二词编码计算所述第一目标词和第二目标词的词相似度包括:
所述词编码包括多个编码段,不同的编码段层级化地表征对应的词的类别;
分别计算第一词编码和所述第二词编码各对应的编码段的相似度确定相似度集合;
根据所述相似度集合计算所述第一目标词和第二目标词的词相似度。
优选地,根据所述相似度集合计算所述第一目标词和第二目标词的词相似度包括:
将所述相似度集合中全部元素求和获得所述第一目标词和第二目标词的词相似度。
优选地,根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度。
获取所述词语相似度矩阵每行的最大值,生成行最大值集合,求平均值后,获得行平均值;
获取所述词语相似度矩阵每列的最大值,生成列最大值集合,求平均值后,获得列平均值;
计算文本相似度,所述文本相似度为所述行平均值和所述列平均值的平均值。
优选地,所述方法还包括:
收集新词语料,对所述新词语料分词处理获得新词,用所述新词更新所述词林;或
接收删除指令,从所述词林中删除无效词;或
接收调整指令,在所述词林中修改调整词的词编码。
优选地,所述用所述新词更新所述词林包括:
获取所述新词的多个近似词语;
获取所述多个近似词语的所述词编码;
将出现频率最高的词编码作为所述新词的词编码;
根据新词的词编码更新所述词林。
第二方面,本发明实施例提供一种文本相似度计算装置,所述装置包括:
第一分词单元,被配置为获取第一文本,对所述第一文本分词处理,获取第一文本的词集合;
第二分词单元,被配置为获取第二文本,对所述第二文本分词处理,获取第二文本的词集合;
词相似度计算单元,被配置为计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的词相似度,确定词相似度矩阵;
文本相似度计算单元,被配置为根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度。
第三方面本发明实施例提供一种可读存储介质,用于存储计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现上述方面中任一项所述的方法。
第四方面本发明实施例提供一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现上述方法中任一项所述的方法。
本发明实施例的技术方案,对于专业领域,在项目初期以普通词林为基础,对第一文本和第二文本进行分词,获得词集合,根据词集合中各词的相似度确定词相似度矩阵,根据词相似度矩阵计算第一文本和第二文本的相似度,从而,在项目初期,不需要积累大量的专业词汇语料的情况,就能够并获得较好的文本相似度计算结果。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例文本相似度计算方法的流程图;
图2是本发明实施例确定相似度矩阵的流程图;
图3是本发明实施例确定词相似度的流程图;
图4是本发明实施例文本相似度计算的流程图;
图5是发明实施例文本相似度计算装置的系统框图;
图6是本发明实施例词林更新的流程图;
图7是本发明实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
自然语言处理、智能检索、文本聚类、文本分类、自动应答、词义排歧和机器翻译等领域都会用到文本相似度计算。比较常用的一种做法是基于人工编撰的字典的文本相似度计算。但是,这种基于人工编撰的字典的文本相似度计算方法在应用到专业领域时存在问题,具体表现为,现有人工编撰的词典收录的专业词汇有限,直接应用到专业领域得到的文本相似度结果不理想。如果通过人工收集、整理专业词汇语料,并使用收集、整理后的语料更新现有的词典,需要花费大量的精力,从而使得垂直领域(也即某些具体的专业领域)的文本相似度计算难以展开。由此,本发明实施例提供了一种文本相似度计算的方法,对于专业领域,在项目初期以普通词林为基础,不需要积累大量的专业词汇语料的情况,进行文本相似度计算,并获得较好的相似度计算结果。在使用过程中,本发明实施例提供的文本相似度计算方法能够逐步更新已有的词林,通过对词林的更新,本发明实施例提供的文本相似度计算的方法能够逐渐提高文本相似度计算结果的准确率。
首先对词林进行介绍。词林是按照树状的层次结构把收录的词语组织到一起,把词语进行分类。本发明实施例采用的词林具有多层结构,在一种可选的实现方式中,本发明实施例的词林具备5层结构。
本发明实施例的词林第一层用大写英文字母表示,第二层用小写英文字母表示,第三层用两位十进制整数表示,第四层用大写英文字母表示,第五层用两位十进制整数表示。例如,本发明词林中的词语采用表1所示的词编码进行表示。具体参见表1:
表1词编码
其中,编码位的第8位的标记有三种,分别是=、#和@,=表示相等、同义;#表示不等、同类;@表示自我封闭、独立。
优选地,对词林建立哈希表索引,按词林中的第五层编码建立哈希表,从而能够快速检索出词语对应的词编码。通过两个词的词编码匹配获得两个词进行词相似度;根据词相似度生成词相似度矩阵;根据词相似度矩阵计算文本相似度。
图1是本发明实施例文本相似度计算方法的流程图。
参见图1,本发明实施例的文本相似度计算方法包括步骤100-步骤400。
步骤100,获取第一文本,对所述第一文本分词处理,获取第一文本的词集合。
步骤200,获取第二文本,对所述第二文本分词处理,获取第二文本的词集合。
在具体的应用场景下,第一文本和第二文本可以是长句也可以是短句。例如,第一文本为“环境算法实现”,第二文本为“温度控制策略”。通过步骤100对第一文本进行分词处理,通过步骤200对第二文本进行分词处理。分词处理的过程就是将文本处理为词集合的过程。
在一种可选的实现方式中,利用结巴分词对获取的文本进行分词处理。优选地,在分词前,将词林已收录的所有词语加入分词工具的词林中,避免了分词工具将收录的词语分开,进而,能够提高后续文本相似度计算的准确率。
在具体的应用场景下,接收到第一文本,通过分词处理,将第一文本分词;接收第二文本,将第二文本分词。
例如,第一文本为“环境算法实现”,对第一文本进行分词处理,处理后的结果为“环境”、“算法”和“实现”。类似的,接收到的第二文本为“温度控制策略”,对第二文本进行分词处理,处理后的结果为“温度”、“控制”和“策略”。也即,通过分词处理后,第一文本为“环境算法实现”,将第一文本分词,得到{环境、算法、实现}的词集合;第二文本为“温度控制策略”,将第二文本分词,得到{温度、控制、策略}的词集合。
步骤300,计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的词相似度,确定词相似度矩阵。
图2是本发明实施例确定相似度矩阵的流程图。
参照图2,步骤300包括步骤310-步骤350五个子步骤。
步骤310,获取所述第一文本的词集合的第n个词作为第一目标词。
例如,第一文本词集合为{环境、算法、实现},获取集合中的一个词(当n=1时,也即第一目标词是“环境”,当n=2是,也即第二目标词是“算法”,……)作为第一目标词,例如,获取上述集合中“环境”为第一目标词。
步骤320,获取所述第二文本的词集合的第m个词作为第二目标词。
例如,第二文本词集合为{温度、控制、策略},获取集合中一个词(当m=1时,第二目标词为“温度”,当m=2时,第二目标词为“控制”,……)作为第二目标词,例如,获取上述集合中“温度”为第二目标词。
步骤330,根据词林确定第一目标词对应的第一词编码。
步骤340,根据词林确定第二目标词对应的第二词编码。
通过步骤330和步骤340可以获得两个词的词编码。优选地,通过哈希表获得第一目标词在词林中的词编码;通过哈希表获得第二目标词在词林中的词编码。
步骤350,根据所述第一词编码和所述第二词编码计算所述第一目标词和第二目标词的词相似度作为相似度矩阵第n行第m列的元素。
图3是本发明实施例确定词相似度的流程图。
参照图3,步骤350包括步骤351-步骤353三个子步骤。
步骤351,所述词编码包括多个编码段,不同的编码段层级化地表征对应的词的类别。
参照表1,可选地,本发明实施例的词编码采用五层的编码段,例如,第一层用大写英文字母表示,第二层用小写英文字母表示,第三层用两位十进制整数表示,第四层用大写英文字母表示,第五层用两位十进制整数表示。
步骤352,分别计算第一词编码和所述第二词编码各对应的编码段的相似度确定相似度集合。首先,接收步骤330和步骤340分别获得的第一目标词和第二目标词的词编码。
例如,第一目标词位于矩阵的第n行,第二目标词位于第m列,获取的第一词编码为Bo01A02,获取的第二词编码为Bp02A03。根据第一目标词和第二目标词的词编码的匹配度确定相似度集合,首先确定词编码各层的匹配结果,参见表2:
第一词编码 | 第二词编码 | 匹配结果 | |
第一层 | B | B | 匹配 |
第二层 | o | p | 不匹配 |
第三层 | 01 | 02 | 不匹配 |
第四层 | A | A | 匹配 |
第五层 | 02 | 03 | 不匹配 |
表2词编码各层匹配结果举例
具体地,获取第一词编码,获取第二词编码;接下来,比较第一词编码和第二词编码,在某一层的词编码相同,判断出词编码匹配,则给定一个分值;在某一层的词编码不同,判断出词编码不匹配,给定分值为0。
参见表2,第一词编码和第二词编码在第一层的词编码相同,都是B,判断第一层词编码匹配,例如,给定分值0.3;
假设,第一词编码的第一层是B,第二词编码的第一层为C,那么,第一层词编码不匹配,给定分值为0。
类似的,计算第一词编码和第二词编码在第二层是否匹配,匹配则给定一个具体的分值,不匹配则给定分值为O。
优选地,根据第一目标词和第二目标词的词编码匹配结果,如果匹配,给出“匹配给定值”,优选地,第一层和第二层的“匹配给定值”可以设置的较高,第三层的匹配给定值设置可以略低于第一层和第二层,第四层和第五层的“匹配给定值”可以设置的较低;如果不匹配,给出“不匹配给定定值”为0,具体,本实施例的“匹配给定值”和“不匹配给定值”参见表3所示:
匹配给定值 | 不匹配给定值 | |
第一层 | 0.3 | 0 |
第二层 | 0.3 | 0 |
第三层 | 0.2 | 0 |
第四层 | 0.1 | 0 |
第五层 | 0.1 | 0 |
表3匹配给定值举例
根据表3的词编码给定值,第一目标词的词编码为第一词编码,例如,第一词编码可以为Bo01A02,第二目标词的词编码为第二词编码,例如,第二词编码可以为Bp02A03,第一词编码和第二词编码的第一层匹配,获得匹配给定值0.3,第四层匹配,获得匹配给定值0.1,其余各层不匹配,获得不匹配给定值,且都为0,由此,得出第一词编码和第二词编码对应的编码段的相似度集合为{0.3,0,0,0.1,0}。
步骤353,根据所述相似度集合计算所述第一目标词和第二目标词的词相似度。
将所述相似度集合中全部元素求和获得所述第一目标词和第二目标词的词相似度。
也就是说,将步骤352获得的相似度集合中的各元素求和,从而得到第一目标词和第二目标词的词相似度。例如,相似度集合为{0.3,0,0,0.1,0},那么,通过将相似度集合中各元素相加后获得第一目标词和第二目标词的词相似度为0.3+0+0+0.1+0=0.4,也即第一目标词和第二目标词的词相似度为40%。
通过步骤351-步骤353能够获得第一目标词和第二目标词各自的词编码,通过计算第一目标词和第二目标词编码各层的匹配情况,能够获得各层的匹配给定值,将各层的匹配给定值生成相似度集合,将相似度集合中全部元素求和,从而,获得第一目标词和第二目标词的词相似度。
通过上述步骤351-步骤353,能够获得第一文本和第二文本的词相似度矩阵。例如,第一文本为“环境算法实现”,第二文本为“温度控制策略”,将第一文本分词处理后获得3个词,分别是“环境”“算法”“实现”;将第二文本分词处理后获得3个词,分别是“温度”“控制”“策略”;对第一文本和第二文本的词集合的各词两两计算相似度,后得到的词相似度矩阵为一个3*3的词相似度矩阵,参见表4:
环境 | 算法 | 实现 | |
温度 | A11 | A12 | A13 |
控制 | A21 | A22 | A23 |
策略 | A31 | A32 | A33 |
表4词相似度矩阵示例1
其中,A11是“温度”和“环境”的词相似度,A12是“温度”和“算法”的词相似度,以此类推,通过步骤353计算出具体的词相似度后,也即,计算第一文本和第二文本的词集合的各词两两计算相似度计算。本实施例,根据所述第一词编码和所述第二词编码计算所述第一目标词和第二目标词的词相似度作为相似度矩阵第n行第m列的元素。例如,n=1,m=1,那么计算得到A11,A11“温度”和“环境”的词相似度;类似的,n=1,m=2,那么计算得到A12,A12是“温度”和“算法”的词相似度。
本实施例通过步骤353计算出具体的词相似度后,也即,计算第一文本和第二文本的词集合的各词两两计算相似度计算后,获得的第一文本和第二文本的词相似度矩阵,如表5所示:
环境 | 算法 | 实现 | |
温度 | 0.4 | 0.3 | 0.2 |
控制 | 0.1 | 0.3 | 0.4 |
策略 | 0.4 | 0.6 | 0.2 |
表5词相似度矩阵示例2
步骤400,根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度。
图4是本发明实施例文本相似度计算的流程图。
参照图4,步骤400包括步骤410-步骤430。
步骤410,获取所述词语相似度矩阵每行的最大值,生成行最大值集合,求平均值后,获得行平均值,参见表6:
A11 | A12 | A13 | H1 |
A21 | A22 | A23 | H2 |
A31 | A32 | A33 | H3 |
L1 | L2 | L3 |
表6行最大值和列最大值生成示例
其中,A11-A33是词相似度矩阵,第一行的最大值为H1,第二行的最大值为H2,第三行的最大值为H3;
参照表6,具体地,第一列的最大值为L1,第二列的最大值为L2,第三行的最大值为L3。以第一文本为“环境算法实现”,第二文本为“温度控制策略”为例,结合表5,第一行的最大值为0.4,第二行的最大值为0.4,第三行的最大值为0.6,行最大值集合为{0.4,0.4,0.6},对集合中的元素求平均后得到行平均值为0.46。
步骤420,获取所述词语相似度矩阵每列的最大值,生成列最大值集合,求平均值后,获得列平均值
参见表6,第一列的最大值为L1,第二列的最大值为L2,第三行的最大值为L3。
结合表5,以第一文本为“环境算法实现”,第二文本为“温度控制策略”为例,第一列的最大值为0.4,第二列的最大值为0.6,第三列的最大值为0.4,列最大值集合为{0.4,0.4,0.6},对集合中的元素求平均后得到列平均值为0.46。
步骤430,计算文本相似度,所述文本相似度为所述行平均值和所述列平均值的平均值。
对行最大值求平均值和列最大值的平均值求平均后得到第一文本和第二文本的文本相似度。
具体地,行最大值求平均值AveH=(H1+H2+H3)/3;
列最大值求平均值AveL=(L1+L2+L3)/3;
第一文本和第二文本的文本相似度=(AveH+AveL)/2。
具体地,参见表4,以第一文本为“环境算法实现”,第二文本为“温度控制策略”为例,将文本相似度矩阵的行平均值0.46与列平均值0.46求平均值为0.46,也即,行平均值与列平均值的平均值就是文本相似度。
本发明实施例提供了一种文本相似度计算的方法,对于专业领域,在项目初期以普通词林为基础,不需要积累大量的专业词汇语料的情况,进行文本相似度计算,并获得较好的相似度计算结果。
将文本相似度计算方法部署到生产环境中,例如,推荐的结果没有被用户采纳,搜索排名靠前的结果没有被用户点击,记录这些用例中的语料为待更正语料。本发明实施例提供的文本相似度计算方法能够逐步更新已有的词林,通过对词林的更新,本发明实施例提供的文本相似度计算的方法能够逐渐提高文本相似度计算结果的准确率。
图5是发明实施例文本相似度计算装置的框图。
参照图5,本实施例的文本相似度计算装置包括词林单元1、词编码单元2、分词单元3(包括第一分词单元31和第二分词单元32)、词相似度计算单元4、文本相似度计算单元5、记录效果不好的语料单元6、记录未收录词单元7、更新词林单元8、词林更新校验单元9、通用测试集单元10。其中,本实施例的装置通过应用场景数据接收单元11接收第一文本和第二文本。词林单元1用于存储词林,词编码单元2用为词林建立哈希表索引并存储在计算机存储介质上。词编码单元2按词林中的第五层编码建立哈希表,从而能够快速检索出词语对应的词编码。
分词单元3用于执行步骤100和步骤200,用于对获取的第一文本和第二文本(通过应用场景数据接收单元11获取第一文本和第二文本)进行分词处理,在一种可选的实现方式中,利用结巴分词对获取的文本进行分词处理。在分词前,将词林已收录的所有词语加入分词工具的词林中,避免了分词工具将收录的词语分开,进而,能够提高后续文本相似度计算的准确率。例如,在一个应用场景下,接收到第一文本“环境算法实现”,利用分词模块分词单元3对第一文本进行分词处理,处理后的结果为“环境”、“算法”和“实现”。类似的,接收到的第二文本为“温度控制策略”,利用分词模块分词单元3对第二文本进行分词处理,处理后的结果为“温度”、“控制”和“策略”。
词语相似度计算单元4用于执行步骤300,用于计算两个词语之间的词相似度。首先,通过哈希表获得者两个词语在词林中的词编码,然后,根据这两个词语的词编码的匹配度计算词语相似度。具体地,获取第一词编码,获取第二词编码,第一词编码和第二词编码在第一层的词编码相同,则给定一个分值,例如,第一词编码和第二词编码在第一层的词编码相同,假设,都是B,第一层词编码匹配,则给定分值0.3;假设第一词编码的第一层是B,第二词编码的第一层为C,第一层词编码不匹配,则给定分值为0。类似的,计算第一词编码和第二词编码在第二层是否匹配,匹配则给定一个具体的分值,不匹配则给定分值为O。例如,第一词编码为Bo01A02,第二词编码为Bp02A03,两者的第一层匹配获得给定值0.3,两者的第四层匹配获得给定值0.1,其余层不匹配,获得的给定值均为0,将全部获得的给定值相加后,第一词编码和第二词编码的词相似度为0.4(也即,词相似度为40%)。
文本相似度计算单元5用于执行步骤400,用于计算两个文本之间的文本相似度。具体地,通过计算文本相似度矩阵的行最大值,计算文本相似度矩阵的列最大值,根据行最大值和列最大值的均值获得第一文本和第二文本的文本相似度。
本实施例还设置更新词林单元8,可选地,本实施例的文本相似度计算方法部署到应用场景,通过应用场景数据接收单元11的接收文本时,推荐的结果没有被用户采纳,搜索排名靠前的结果没有被用户点击,记录这些用例中的语料为待更正语料。在词相似度计算单元4,如果有某个词未被词林收录,通过记录未收录词单元7将包含上述词的语料记录为新词语料。在文本相似计算单元5的某个推荐语料没有被点击,通过记录效果不好的语料单元6记录上述文本。通过词林更新单元8执行步骤510-步骤540,将记录未收录词单元7和记录效果不好的语料单元6收集的语料做分词处理,删除掉不合汉语规则的假词,删除包含错别字的词,得到待更正新词列表。可选地,对于新词列表中的词,通过腾讯中文词向量推荐出最相近的十个词,分别获取这十个词在词林中的编码,统计各个编码出现的次数,取频率最高的编码作为目标编码,如果编码出现频率最高的有多个编码,取排名综合靠前的为目标编码,用该目标编码作为新词的编码,即将该词添加在目标编码所属的词群,并将该结果记录在词林更新过程文档,方便后续校验。
图6是本发明实施例词林更新的流程图。
本实施例更新词林包括收集新词语料,对所述新词语料分词处理获得新词,用所述新词更新所述词林;或接收删除指令,从所述词林中删除无效词;或接收调整指令,在所述词林中修改调整词的词编码。
其中,用所述新词更新所述词林包括步骤510-步骤540:
步骤510,获取所述新词的多个近似词语;例如,通过腾讯中文词向量推荐出最相近的10个词。
步骤520,获取所述多个近似词语的所述词编码;例如,分别获取10个词在词林中的词编码。
步骤530,将出现频率最高的词编码作为所述新词的词编码;例如,统计各个词编码出现的次数,出现次数最多的词编码作为新词的词编码。
步骤540,根据新词的词编码更新所述词林。例如,用上述新词的词编码作为新词的编码,即将该词添加在目标编码所属的词群,并将该结果记录在词林更新过程文档,方便后续校验。
其中,接收删除指令,从所述词林中删除无效词;可以通过人工的方式,将待更正语料进行分词处理,根据分词结果获得待更正词列表,对于上述词列表中的新词,安排人员通过词林更新校验单元9定期校验。校验的内容为,新词在词林单元1中的位置是否符合应用场景的要求。具体准则是新词所在位置要符合词林分类的逻辑,新词所在词群中应该是同义或近义词,如果不满足,重新调整上述新词的位置,并记录在词林更新过程文档。
接收调整指令,在词林单元1中修改调整词的词编码。具体地,可以收集所有应用场景已有的数据,建立一个通用测试集单元10。通用测试集单元10中包含一个个样本对,每个样本对包含两个文本,以及这两个文本是否近似的布尔值。通用测试集单元10的建立可以帮助衡量词林调整是否有效。
本实施例通过对词林的更新,可以得到一个基于应用场景逐步调整的词林单元1,基于上述词林单元1通过文本相似度计算单元5做文本相似度计算,随着使用时间的增长,文本相似度计算单元5的准确率会越来越高,需要添加的新词会越来越少。
本发明实施例提供了一种文本相似度计算的方法,对于专业领域,在项目初期,以普通词林为基础,不需要积累大量的专业词汇语料的情况,进行文本相似度计算,能够获得较好的相似度计算结果。在使用过程中,本发明实施例提供的文本相似度计算方法能够逐步更新已有的词林,通过对词林的更新,本发明实施例提供的文本相似度计算的方法能够逐渐提高文本相似度计算结果的准确率。
图7是本发明实施例的电子设备的示意图。
如图7所示的电子设备12包括通用的硬件结构,其至少包括处理器121和存储器122。处理器121和存储器122通过总线123连接。存储器122适于存储处理器121可执行的指令或程序。处理器121可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器121通过执行存储器122所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线123将上述多个组件连接在一起,同时将上述组件连接到显示控制器124和显示装置以及输入/输出(I/O)装置125。输入/输出(I/O)装置125可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置125通过输入/输出(I/O)控制器126与系统相连。
本领域的技术人员应明白,本申请的实施例可提供方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
本发明的另一实施例涉及一种非易失性可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部方法的实施例。
即,本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤是可以通过程序来指定相关的硬件来完成,该程序存储在一个可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文本相似度计算方法,其特征在于,所述方法包括:
获取第一文本,对所述第一文本分词处理,获取第一文本的词集合;
获取第二文本,对所述第二文本分词处理,获取第二文本的词集合;
计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的词相似度,确定词相似度矩阵;
根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度。
2.根据权利要求1所述的方法,其特征在于,计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的相似度,确定词相似度矩阵,通过如下步骤确定所述相似度矩阵中的每一个元素:
获取所述第一文本的词集合的第n个词作为第一目标词;
获取所述第二文本的词集合的第m个词作为第二目标词;
根据词林确定第一目标词对应的第一词编码;
根据词林确定第二目标词对应的第二词编码;
根据所述第一词编码和所述第二词编码计算所述第一目标词和第二目标词的词相似度作为相似度矩阵第n行第m列的元素。
3.根据权利要求2所述的方法,其特征在于,根据所述第一词编码和所述第二词编码计算所述第一目标词和第二目标词的词相似度包括:
所述词编码包括多个编码段,不同的编码段层级化地表征对应的词的类别;
分别计算第一词编码和所述第二词编码各对应的编码段的相似度确定相似度集合;
根据所述相似度集合计算所述第一目标词和第二目标词的词相似度。
4.根据权利要求3所述的方法,其特征在于,根据所述相似度集合计算所述第一目标词和第二目标词的词相似度包括:
将所述相似度集合中全部元素求和获得所述第一目标词和第二目标词的词相似度。
5.根据权利要求1所述的方法,其特征在于,根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度;
获取所述词语相似度矩阵每行的最大值,生成行最大值集合,求平均值后,获得行平均值;
获取所述词语相似度矩阵每列的最大值,生成列最大值集合,求平均值后,获得列平均值;
计算文本相似度,所述文本相似度为所述行平均值和所述列平均值的平均值。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
收集新词语料,对所述新词语料分词处理获得新词,用所述新词更新所述词林;或
接收删除指令,从所述词林中删除无效词;或
接收调整指令,在所述词林中修改调整词的词编码。
7.根据权利要求6所述的方法,其特征在于,所述用所述新词更新所述词林包括:
获取所述新词的多个近似词语;
获取所述多个近似词语的所述词编码;
将出现频率最高的词编码作为所述新词的词编码;
根据新词的词编码更新所述词林。
8.一种文本相似度计算装置,其特征在于,所述装置包括:
第一分词单元,被配置为获取第一文本,对所述第一文本分词处理,获取第一文本的词集合;
第二分词单元,被配置为获取第二文本,对所述第二文本分词处理,获取第二文本的词集合;
词相似度计算单元,被配置为计算所述第一文本的词集合的各词和所述第二文本的词集合中各词两两之间的词相似度,确定词相似度矩阵;
文本相似度计算单元,被配置为根据所述词相似度矩阵计算所述第一文本和所述第二文本的文本相似度。
9.一种计算机可读存储介质,用于存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010859824.XA CN112131341A (zh) | 2020-08-24 | 2020-08-24 | 文本相似度计算方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010859824.XA CN112131341A (zh) | 2020-08-24 | 2020-08-24 | 文本相似度计算方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131341A true CN112131341A (zh) | 2020-12-25 |
Family
ID=73847452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010859824.XA Pending CN112131341A (zh) | 2020-08-24 | 2020-08-24 | 文本相似度计算方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131341A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765976A (zh) * | 2020-12-30 | 2021-05-07 | 北京知因智慧科技有限公司 | 文本相似度计算方法、装置、设备及存储介质 |
CN113283229A (zh) * | 2021-06-24 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 文本相似度计算方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622338A (zh) * | 2012-02-24 | 2012-08-01 | 北京工业大学 | 一种短文本间语义距离的计算机辅助计算方法 |
CN103500160A (zh) * | 2013-10-18 | 2014-01-08 | 大连理工大学 | 一种基于滑动语义串匹配的句法分析方法 |
CN105893481A (zh) * | 2016-03-29 | 2016-08-24 | 国家计算机网络与信息安全管理中心 | 一种基于马尔可夫聚类的实体间关系消解方法 |
CN106372061A (zh) * | 2016-09-12 | 2017-02-01 | 电子科技大学 | 基于语义的短文本相似度计算方法 |
CN106708966A (zh) * | 2016-11-29 | 2017-05-24 | 中国计量大学 | 基于相似度计算的垃圾评论检测方法 |
CN109597992A (zh) * | 2018-11-27 | 2019-04-09 | 苏州浪潮智能软件有限公司 | 一种结合同义词词典和词嵌入向量的问句相似度计算方法 |
CN110347796A (zh) * | 2019-07-05 | 2019-10-18 | 神思电子技术股份有限公司 | 向量语义张量空间下的短文本相似度计算方法 |
CN111062218A (zh) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | 一种结合依存关系与同义词词林的语义相似度计算方法 |
-
2020
- 2020-08-24 CN CN202010859824.XA patent/CN112131341A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622338A (zh) * | 2012-02-24 | 2012-08-01 | 北京工业大学 | 一种短文本间语义距离的计算机辅助计算方法 |
CN103500160A (zh) * | 2013-10-18 | 2014-01-08 | 大连理工大学 | 一种基于滑动语义串匹配的句法分析方法 |
CN105893481A (zh) * | 2016-03-29 | 2016-08-24 | 国家计算机网络与信息安全管理中心 | 一种基于马尔可夫聚类的实体间关系消解方法 |
CN106372061A (zh) * | 2016-09-12 | 2017-02-01 | 电子科技大学 | 基于语义的短文本相似度计算方法 |
CN106708966A (zh) * | 2016-11-29 | 2017-05-24 | 中国计量大学 | 基于相似度计算的垃圾评论检测方法 |
CN109597992A (zh) * | 2018-11-27 | 2019-04-09 | 苏州浪潮智能软件有限公司 | 一种结合同义词词典和词嵌入向量的问句相似度计算方法 |
CN110347796A (zh) * | 2019-07-05 | 2019-10-18 | 神思电子技术股份有限公司 | 向量语义张量空间下的短文本相似度计算方法 |
CN111062218A (zh) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | 一种结合依存关系与同义词词林的语义相似度计算方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765976A (zh) * | 2020-12-30 | 2021-05-07 | 北京知因智慧科技有限公司 | 文本相似度计算方法、装置、设备及存储介质 |
CN113283229A (zh) * | 2021-06-24 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 文本相似度计算方法、装置、电子设备及存储介质 |
CN113283229B (zh) * | 2021-06-24 | 2024-04-02 | 中国平安人寿保险股份有限公司 | 文本相似度计算方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299480B (zh) | 基于上下文语境的术语翻译方法及装置 | |
CN105095204B (zh) | 同义词的获取方法及装置 | |
CN106598959B (zh) | 一种确定双语语句对互译关系方法及系统 | |
CN106708929B (zh) | 视频节目的搜索方法和装置 | |
CN112818694A (zh) | 一种基于规则和改进预训练模型的命名实体识别方法 | |
US20150199567A1 (en) | Document classification assisting apparatus, method and program | |
CN114997288A (zh) | 一种设计资源关联方法 | |
CN112307182A (zh) | 一种基于问答系统的伪相关反馈的扩展查询方法 | |
CN112131341A (zh) | 文本相似度计算方法、装置、电子设备和存储介质 | |
CN106570196B (zh) | 视频节目的搜索方法和装置 | |
CN113961666A (zh) | 关键词识别方法、装置、设备、介质及计算机程序产品 | |
CN114491062B (zh) | 一种融合知识图谱和主题模型的短文本分类方法 | |
CN110929518A (zh) | 一种使用重叠拆分规则的文本序列标注算法 | |
WO2019163642A1 (ja) | 要約評価装置、方法、プログラム、及び記憶媒体 | |
Selamat | Improved N-grams approach for web page language identification | |
CN114970554B (zh) | 一种基于自然语言处理的文档校验方法 | |
Saini et al. | Intrinsic plagiarism detection system using stylometric features and DBSCAN | |
JP2013222418A (ja) | パッセージ分割方法、装置、及びプログラム | |
JP4567025B2 (ja) | テキスト分類装置、テキスト分類方法及びテキスト分類プログラム並びにそのプログラムを記録した記録媒体 | |
JP5298834B2 (ja) | 例文マッチング翻訳装置、およびプログラム、並びに翻訳装置を含んで構成された句翻訳装置 | |
CN114003750A (zh) | 物料上线方法、装置、设备及存储介质 | |
CN107463549B (zh) | 一种提取实例模板的方法和设备 | |
CN111061939A (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
CN110598209A (zh) | 用于提取关键词的方法、系统及存储介质 | |
CN109189913B (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 |