CN111160028A - 判断两个文本语义相似度的方法、装置、存储介质及设备 - Google Patents
判断两个文本语义相似度的方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN111160028A CN111160028A CN201911423457.2A CN201911423457A CN111160028A CN 111160028 A CN111160028 A CN 111160028A CN 201911423457 A CN201911423457 A CN 201911423457A CN 111160028 A CN111160028 A CN 111160028A
- Authority
- CN
- China
- Prior art keywords
- text
- word
- segmentation result
- words
- texts
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种判断两个文本语义相似度的方法、装置、存储介质及设备,用于判断以下两个文本的语义相似度:第一文本和第二文本;包括:分别对所述第一文本和所述第二文本进行分词得到第一分词结果和第二分词结果;分别过滤掉所述第一分词结果和第二分词结果中的无意义词;利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合;通过所述差异词集合判断两个文本的语义相似度。该方法可以有效消除两个文本中非差异词对判断结果带来的影响,从而能够得到更加准确的判断结果。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种判断两个文本语义相似度的方法、装置、存储介质及设备。
背景技术
随着人工智能的发展,信息数据处理量越来越大,文本数量更是成指数型增长,如何准确判断出文本间的相似度,以便于精确检索出信息,已成为目前亟待解决的问题。
但在现有技术中,仅单纯利用词频-逆文本频率指数tf-idf算法或word2vec来计算两个文本之间的相似度,这种计算方式仅仅能够在语义层面判断出两个文本之间的相似度,并未考虑文本所处的语境,即,仅能够通过预先设定的阈值来判断两个文本所描述的内容是否一致,却无法获得这两个文本间在所属语境中更加准确的语义相似度,例如,在利用现有的向量化方式对文本“沈阳地铁建设项目”和“沈阳地铁系统建设项目”进行相似度计算时,通常会得到较好的相似度计算结果。
但是,根据人工判断可知,这两个文本之间存在差异词“系统”,且文本“沈阳地铁建设项目”描述的可能是沈阳地铁具体的工程项目建设情况(如建设地点、招标单位等),而文本“沈阳地铁系统建设项目”描述的可能是有关沈阳地铁的软件系统(如通信系统等)或硬件系统(如排水系统等)的构建项目,也就是说,这两个文本描述的内容可能存在极大的差距。因此,现有技术中的方法不能准确判断两个文本的语义相似度。
发明内容
本申请提供了一种判断两个文本语义相似度的方法、装置、存储介质及设备,能够准确判断两个文本的语义相似度。
本申请提供一种判断两个文本语义相似度的方法,用于判断以下两个文本的语义相似度:第一文本和第二文本;包括:
分别对所述第一文本和所述第二文本进行分词得到第一分词结果和第二分词结果;
分别过滤掉所述第一分词结果和第二分词结果中的无意义词;
利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合;
通过所述差异词集合判断两个文本的语义相似度。
优选地,所述分别过滤掉所述第一分词结果和第二分词结果中的无意义词,具体包括:
分别对所述第一分词结果和所述第二分词结果进行词性标注,根据词性标注结果过滤掉所述第一分词结果和所述第二分词结果中的无意义词。
优选地,所述分别过滤掉所述第一分词结果和第二分词结果中的无意义词,具体包括:
对于所述第一分词结果和所述第二分词结果中非地名的词语,利用词频-逆文本频率指数tf-idf算法获得idf值小于第一预设阈值的词作为无意义词;
将所述无意义词过滤掉。
优选地,在所述利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,之前还包括:
对于动词存在相邻的名词时,将所述动词以及与其相邻的名词进行合并作为一个复合名词。
优选地,所述通过所述差异词集合判断两个文本的语义相似度,具体包括:
当所述第一文本和所述第二文本的差异词集合一个为空集合,另一个为非空集合时,通过搜索引擎搜索所述非空集合中的所有词,通过词频-逆文本频率指数tf-idf算法判断所述非空集合中的至少一个词具有独立含义,则确定所述第一文本和所述第二文本语义不相似,如果判断所述非空集合中的所有词均不具有独立含义,则判断所述第一文本和所述第二文本语义相似。
优选地,所述通过词频-逆文本频率指数tf-idf算法判断所述非空集合中的至少一个词具有独立含义,具体包括:
通过词频-逆文本频率指数tf-idf算法获得所述非空集合中的至少一个词的idf值;
当所述非空集合中的至少一个词的idf值大于第二预设阈值时,判断所述非空集合中的至少一个词具有独立含义。
优选地,所述通过所述差异词集合判断两个文本的语义相似度,具体包括:
当所述第一文本和所述第二文本的差异词集合均为非空集合时,通过搜索引擎搜索所述第一文本对应的非空集合中的所有词和所述第二文本对应的第二非空集合中的所有词;
通过word2vec分别获得所述第一非空集合中所有词的向量相加得到的第一向量和所述第二非空集合中所有的词的向量相加得到的第二向量;
利用余弦相似度获得所述第一向量和所述第二向量的相似度,如果所述相似度大于预设相似度阈值,则确定所述第一文本和所述第二文本语义相似。
优选地,如果所述相似度小于等于预设相似度阈值,则还包括:
通过所述搜索引擎搜索包括所述第一非空集合中的所有词的第一网页集合,通过所述搜索引擎搜索包括所述第二非空集合中的所有词的第二网页集合;
获得所述第一网页集合中包括所述第二非空集合中至少一个词的第一网页数目,获得所述第二网页集合中包括所述第一非空集合中至少一个词的第二网页数目;
获得所述第一网页数目与所述第一网页集合中网页总数目的第一比值,获得所述第二网页数目与所述第二网页集合中网页总数目的第二比值;
获得包括所述第一非空集合中的词和所述第二非空集合中词两两组合的网页总数目;利用所述第一非空集合中的词和所述第二非空集合中词两两组合的种类和所述两两组合的网页总数目获得两两组合对应的平均值;
利用所述第一比值与所述第二比值的和以及所述平均值来修正所述相似度;
当修正后的相似度大于所述预设相似度阈值,则确定所述第一文本和所述第二文本语义相似,反之确定则确定所述第一文本和所述第二文本语义不相似。
本申请还提供一种判断两个文本语义相似度的装置,用于判断以下两个文本的语义相似度:第一文本和第二文本;包括:
分词单元,用于分别对所述第一文本和所述第二文本进行分词得到第一分词结果和第二分词结果;
过滤单元,用于分别过滤掉所述第一分词结果和第二分词结果中的无意义词;
获得单元,用于利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合;
判断单元,用于通过所述差异词集合判断两个文本的语义相似度。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的判断两个文本语义相似度的方法。
本申请还提供一种判断两个文本语义相似度的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如所述的判断两个文本语义相似度的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供的判断两个文本语义相似度的方法、装置及存储介质,在判断第一文本和第二文本的语义相似度时,首先分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果,再分别过滤掉第一分词结果和第二分词结果中的无意义词,接着,再利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,进而可以通过差异词集合判断两个文本的语义相似度。
可见,本申请实施例是先对文本进行分词,过滤掉两个分词结果中的无意义词,再对两个分词结果中的差异词进行对比,根据差异词来判断两个文本的语义是否相似。由于两个文本是否相似取决于差异词的语义是否相同。相比于现有技术仅单纯利用tf-idf算法或word2vec来计算两个文本整体之间的相似度的方式,该方法可以有效消除两个文本中非差异词对判断结果带来的影响,从而能够得到更加准确的判断结果。
附图说明
图1为本申请实施例提供的一种判断两个文本语义相似度的方法的流程示意图;
图2为本申请实施例提供的通过词频-逆文本频率指数tf-idf算法判断非空集合中的至少一个词具有独立含义的流程示意图;
图3为本申请实施例提供的一种判断两个文本语义相似度的装置的结构框图;
图4为本申请实施例提供的一种判断两个文本语义相似度的设备的硬件结构图。
具体实施方式
通常单纯采用tf-idf算法或word2vec的向量化方式来判断两个文本语义相似度,即,仅通过预先设定的阈值来判断两个文本所描述的内容是否一致。但这种向量化的判断方式,并未考虑两个文本所处的语境,仅能够在语义层面判断出两个文本之间的相似度,判断结果的准确率不高。而在一些特殊语境中,需要根据两个文本之间的差异词的相似度来判断文本间的语义相似度。尤其在一些特定的业务场景中,更需要通过判断两个文本之间的差异词的相似度来判断两个文本所描述的内容是否一致。
为解决上述缺陷,本申请实施例提供了一种判断两个文本语义相似度的方法,在判断第一文本和第二文本的语义相似度时,首先分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果,再分别过滤掉第一分词结果和第二分词结果中的无意义词,接着,利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,进而可以通过差异词集合判断两个文本的语义相似度,可见,本申请实施例是先过滤掉两个分词结果中的无意义词,再利用对两个分词结果中的差异词的处理结果来准确判断出两个文本的语义相似度,从而能够有效消除两个文本对应的分词结果中非差异词对判断结果带来的影响,得到更加准确的判断结果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
参见图1,为本实施例提供的一种判断两个文本语义相似度的方法的流程示意图,该方法用于判断以下两个文本的语义相似度:第一文本和第二文本;具体包括以下步骤:
S101:分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果。
本实施例中,为了更好地判断出第一文本和第二文本的语义相似度,首先分别对第一文本和第二文本进行分词,以得到第一文本对应的第一分词结果和第二文本对应的第二分词结果。
举例说明:假设第一文本为“沈阳地铁建设项目”,第二文本为“沈阳地铁系统项目”,则利用中文分词算法,将这两个文本进行分词处理后,可以得到第一文本“沈阳建设地铁项目”对应的第一分词结果为:“沈阳”、“地铁”、“建设”、“项目”。第二文本“沈阳地铁系统建设项目”对应的第二分词结果为:“沈阳”、“地铁”、“系统”、“建设”、“项目”。
或者,假设第一文本为“新民县养鸡场项目”,第二文本为“新民畜牧养殖项目”,则利用中文分词算法,将这两个文本进行分词处理后,可以得到第一文本“新民县养鸡场项目”对应的第一分词结果为:“新民县”、“养鸡场”、“项目”。第二文本“新民畜牧养殖项目”对应的第二分词结果为:“新民”、“畜牧”、“养殖”、“项目”。
由于对于文本进行分词属于比较成熟的技术,在此不再详述。
S102:分别过滤掉所述第一分词结果和第二分词结果中的无意义词。
在本实施例中,通过步骤S101分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果后,可以过滤掉其中的无意义词。
具体的过滤方式可以先进行词性标注,然后根据词性标注的结果进行过滤。
进一步可以根据第一分词结果和第二分词结果中每个分词的词性,对各个分词进行词性标注,得到标注结果。比如可以将分词标注为名词、动词、虚词、介词、助词等。目的是为了能够过滤掉第一分词结果和第二分词结果各自对应的标注结果中的无意义词。
其中,无意义词指的是不具有特定意义或者指代性的分词,如被标注为虚词、介词、助词的分词。
举例说明:假设第一文本“苹果的颜色不错”对应的第一分词结果为“苹果”、“的”、“颜色”、“不错”,则其中的分词“的”的词性标注结果为“助词”,可见,“的”是第一分词结果中的无意义词,可将其过滤掉。
在本实施例中,还有一种可选的实现方式是,利用词频-逆文本频率指数tf-idf算法进行过滤,具体实现过程可以包括下述步骤A1-A2:
步骤A1:对于第一分词结果和第二分词结果中非地名的词语,利用词频-逆文本频率指数tf-idf算法获得idf值小于第一预设阈值的词作为无意义词。
在本实现方式中,由于表示地名的词语必然是具有特定意义或者指代性的词语,如词语“北京”,所以,这些词语必然不会是无意义词。因此,可以先选择出第一分词结果和第二分词结果中非地名的词语,然后,再对选择出的这些非地名的词语进行处理,以确定出其中哪些词语可以作为无意义词。
具体来讲,可以利用tf-idf算法计算出第一分词结果和第二分词结果中每一非地名的词语的逆文本频率idf值,每一非地名的词语的idf值表征对应词语在文本中出现的频率,计算每一非地名的词语的idf值的算法为:lg(总文本数/出现该词语的文本数),该比值越小,表明该对应词语在文本中出现的频率越高,即在所有文本中,出现该词语的文本数量越多。例如:假设总文本数为100,其中,65个文本中出现过非地名的词语“项目”,则词语“项目”的idf值即为:lg(100/65)。
进一步的,可以判断出每一非地名的词语的idf值是否小于第一预设阈值,若某一非地名的词语的idf值小于第一预设阈值,则表明该词语在文本中出现的频率较高,可以作为无意义词,如动词“建设”等。反之,若某一非地名的词语的idf值不小于第一预设阈值,则表明该词语在文本中出现的频率较低,很有可能是具有特定意义的词语,不可以作为无意义词,如名词“系统”等。
其中,第一预设阈值指的是区分每一非地名的词语是否为无意义词的临界值,若某一非地名的词语的idf值小于该临界值,则表明该非地名的词语在文本中出现的频率较高,可以作为无意义词,但若某一非地名的词语的idf值大于等于该临界值,则表明该非地名的词语在文本中出现的频率较低,很可能是表示特定含义的词语,不可以将其作为无意义词。需要说明的是,第一预设阈值的取值可根据实际情况进行设定,本申请实施例对此不进行限定。
步骤A2:将无意义词过滤掉。
在本实现方式中,通过步骤A1确定出第一分词结果和第二分词结果中的无意义词后,为了更好地判断出第一文本和第二文本的语义相似度,可以将这些无意义词过滤掉,以消除这些无意义词对判断结果的影响。
举例说明:假设第二分词结果为:“新民”、“畜牧”、“养殖”、“项目”,且通过步骤A1确定出其中的“项目”为无意义词,则可以将该词过滤掉,得到过滤后的第二分词结果为:“新民”、“畜牧”、“养殖”。
S103:利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合。
需要说明的是,在本实施例中,一种可选的实现方式是,在执行本步骤S103之前,若过滤后的第一分词结果和/或第二分词结果中的动词存在相邻的名词,则可以将动词以及与其相邻的名词进行合并作为一个复合名词。
具体来讲,在本实现方式中,对于过滤后的第一分词结果和/或第二分词结果中动词存在相邻的名词时,即,对于动词前和/或动词后存在名词时,为了更加准确的表征这些词语的语义范围,可以将动词与其前和/或后的名词进行合并,得到一个复合名词,并用该复合名词取代合并之前的动词和名词,相对于原动词和名词而言,合并后的复合名词表征的语义更加单一,进而能够确定出更为准确的语义范围。
举例说明:基于上述举例,假设过滤后的第二分词结果为:“新民”、“畜牧”、“养殖”。其中,动词“养殖”前存在名词“畜牧”,则可以将二者进行合并,得到复合名词“畜牧养殖”,该词表征的语义更加单一,准确确定了是畜牧养殖,而不是其他物种的养殖。
另外,在本实施例中,另一种可选的实现方式是,在执行本步骤S103之前,若过滤后的第一分词结果和/或第二分词结果中的地名末尾存在行政区划词汇,则可以将这些行政区划词汇进行滤除。
具体来讲,在本实现方式中,对于过滤后的第一分词结果和/或第二分词结果中地名末尾存在行政区划词汇时,比如,地名末尾存在“区”、“县”、“市”等行政区划词汇,为了提高分词准确性,可以将地名末尾的行政区划词汇进行滤除,并用滤除后的地名词替换原地名词,以尽可能消除这些行政区划词汇对于分词结果的准确性的影响,进而可以消除其对后续文本编辑距离计算结果的影响。
举例说明:假设过滤后的第二分词结果为:“沈阳市”、“地铁”。其中,地名“沈阳”末尾存在行政区划词汇“市”,则可以将该行政区划词汇“市”进行滤除,将“沈阳市”替换为“沈阳”。
在此基础上,在过滤掉无意义词、合成复合名词以及滤除地名末尾的行政区划词汇之后,进一步可以利用文本编辑距离算法对经过这些操作后的第一分词结果和第二分词结果中剩下的词语进行处理,以确定出第一分词结果和第二分词结果之间的差异词,并利用第一分词结果中存在的差异词组成第一文本对应的差异词集合,同时,利用第二分词结果中存在的差异词组成第二文本对应的差异词集合,用以执行后续步骤S104。
举例说明:假设在经过过滤掉无意义词、合成复合名词以及滤除地名末尾的行政区划词汇的操作后,得到的第一分词结果为:“沈阳”、“地铁”,第二分词结果为:“沈阳”、“地铁”、“系统”,则以词语为单位,利用文本编辑距离算法对这两个分词结果进行处理后,可以确定出第一文本对应的差异词集合为空集,并利用“[]”来表示,同时,可以确定出第二文本对应的差异词集合为“[系统]”。
或者,假设在经过过滤掉无意义词、合成复合名词以及滤除地名末尾的行政区划词汇的操作后,得到的第一分词结果为:“新民”、“养鸡场”,第二分词结果为:“新民”、“畜牧养殖”,则以词语为单位,利用文本编辑距离算法对这两个分词结果进行处理后,可以确定出第一文本对应的差异词集合为“[养鸡场]”,同时,可以确定出第二文本对应的差异词集合为“[畜牧养殖]”。
S104:通过差异词集合判断两个文本的语义相似度。
在本实施例中,通过步骤S103确定出第一文本对应的差异词集合以及第二文本对应的差异词集合后,进一步可以对这两个差异词集合进行数据处理,并根据处理结果,判断出第一文本和第二文本的语义相似度。
进一步的,一种可选实现方式是,在通过差异词集合判断出两个文本的语义相似度后,可以利用这些差异词集合构建用于判断两个文本间语义相似度的语料库,以便于后续当确定出另外某两个文本之间同样存在这些差异词集合时,可根据该语料库中已存储的差异词集合数据,快速的判断出另外这两个文本之间的语义相似度。
综上,本申请实施例提供的判断两个文本语义相似度的方法、装置及存储介质,在判断第一文本和第二文本的语义相似度时,首先分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果,再分别过滤掉第一分词结果和第二分词结果中的无意义词,接着,再利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,进而可以通过差异词集合判断两个文本的语义相似度。
可见,本申请实施例是先对文本分词,过滤掉两个分词结果中的无意义词,再对两个分词结果中的差异词进行对比,根据差异词来判断两个文本的语义是否相似。由于两个文本是否相似取决于差异词的语义是否相同。相比于仅单纯利用tf-idf算法或word2vec来计算两个文本整体之间的相似度的方式,该方法可以有效消除两个文本中非差异词对判断结果带来的影响,从而能够得到更加准确的判断结果。
实施例二
本实施例将对实施例一中的步骤S104“通过差异词集合判断两个文本的语义相似度”的具体实现方式进行介绍。
需要说明的是,由于通过步骤S103确定出的第一文本对应的差异词集合以及第二文本对应的差异词集合可以包含两种情况:一种情况是这两个差异词集合中一个为空集合、另一个为非空集合(即,第一文本对应的差异词集合为空集合、第二文本对应的差异词集合为非空集合;或者,第一文本对应的差异词集合为非空集合、第二文本对应的差异词集合为空集合);另一种情况是这两个差异词集合均为非空集合,即,第一文本对应的差异词集合为非空集合,且第二文本对应的差异词集合也为非空集合。
针对上述两种不同的差异词集合情况,可以采用不同的方式,来判断出第一文本和第二文本之间的语义相似度。即,步骤S104“通过差异词集合判断两个文本的语义相似度”的具体实现方式可以有两种,接下来,本实施例将对这两种实现方式进行具体介绍:
(1)、当第一文本和第二文本的差异词集合一个为空集合,另一个为非空集合时,可以通过搜索引擎搜索非空集合中的所有词,通过tf-idf算法判断非空集合中的至少一个词具有独立含义,则确定第一文本和第二文本语义不相似,如果判断非空集合中的所有词均不具有独立含义,则判断第一文本和第二文本语义相似。
在本实现方式中,为了准确判断出第一文本和第二文本的语义相似度,在确定出当第一文本和第二文本的差异词集合一个为空集合,另一个为非空集合时,进一步可以按照非空集合中对于词语预先设定的先后顺序(根据实际情况进行设定,本申请实施例不进行限定),通过搜索引擎进行搜索,以获取到包含这些词的所有实时网页信息,并通过对这些网页信息进行数据处理,以确定出包含这些词的大量文本,比如,可以通过对这些网页信息进行爬虫抓取,以得到包含这些词的大量文本,进而可以根据这些文本,通过tf-idf算法逐个判断出非空集合中的词是否具有独立含义,若判断出非空集合中的至少一个词具有独立含义,则可以确定第一文本和第二文本语义不相似,若判断出非空集合中的所有词均不具有独立含义,则可以确定第一文本和第二文本语义相似。
举例说明:假设非空集合是由分词A、分词B以及分词C组成的集合“[A、B、C]”,且预先设定的判断先后顺序为从左至右,则可以先通过搜索引擎搜索非空集合中的分词A,以获取到包含分词A的所有实时网页信息,再通过对这些网页信息进行爬虫抓取,以得到包含分词A的大量文本,进而可以根据这些文本,通过tf-idf算法判断出分词A是否具有独立含义,若是,则无需再判断分词B和分词C是否具有独立含义,直接可以确定第一文本和第二文本语义不相似。若判断出分词A不具有独立含义,则还需要判断分词B是否具有独立含义,若是,则无需再判断分词C是否具有独立含义,即可确定第一文本和第二文本语义不相似,若判断出分词B不具有独立含义,则还需要判断分词C是否具有独立含义,若是,则可以确定第一文本和第二文本语义不相似,若否,则可以确定第一文本和第二文本语义相似。
在本实施例中,一种可选的实现方式是,上述实现方式(1)中“通过词频-逆文本频率指数tf-idf算法判断非空集合中的至少一个词具有独立含义”的方法具体可以包括下述步骤S201-S202:
S201:通过词频-逆文本频率指数tf-idf算法获得非空集合中的至少一个词的idf值。
在本实现方式中,为了判断出非空集合中的词是否具有独立含义,可以利用tf-idf算法计算出非空集合中的至少一个词的逆文本频率idf值,以表征对应词在文本中出现的频率,具体计算过程可参见步骤A1的相关介绍,仅将其中的非地名的词语替换为非空集合中的词即可,具体实现过程在此不再赘述。
S202:当非空集合中的至少一个词的idf值大于第二预设阈值时,判断非空集合中的至少一个词具有独立含义。
在本实现方式中,通过步骤S201确定出非空集合中的至少一个词的idf值后,进一步可以判断出非空集合中的至少一个词的idf值是否大于第二预设阈值,若是,则表明该非空集合中的至少一个词在文本中出现的频率越低,即在所有文本中,出现这些词语的文本数量越少,从而说明非空集合中的至少一个词很有可能是具有特定意义的词,进而可以确定非空集合中的至少一个词具有独立含义。
其中,第二预设阈值指的是区分非空集合中是否存在至少一个词具有独立含义的临界值,若非空集合中的至少一个词的idf值大于该临界值,则表明非空集合中存在至少一个词在文本中出现的频率较低,很可能是用来表示特定含义的词,从而可以确定非空集合中的至少一个词具有独立含义,但若非空集合中所有词的idf值均不大于该临界值,则表明非空集合中所有词在文本中出现的频率均较高,均不具有独立含义。需要说明的是,第二预设阈值的取值可根据实际情况进行设定,本申请实施例对此不进行限定。
一般情况下,第二预设阈值大于第一预设阈值。
(2)、当第一文本和第二文本的差异词集合均为非空集合时,实施例一中的步骤S104“通过差异词集合判断两个文本的语义相似度”的具体实现方式可以包括下述步骤B1-B3:
步骤B1:当第一文本和第二文本的差异词集合均为非空集合时,通过搜索引擎搜索第一文本和第二文本分别对应的非空集合中的所有词。
在本实现方式中,为了准确判断出第一文本和第二文本的语义相似度,在确定出第一文本和第二文本的差异词集合均为非空集合时,进一步可以通过搜索引擎搜索第一文本和第二文本分别对应的非空集合中的所有词,以获取到包含这些词的所有实时网页信息,并通过对这些网页信息进行数据处理,以确定出包含这些词的大量文本,比如,可以通过对这些网页信息进行爬虫抓取,以得到包含这些词的大量文本。
步骤B2:通过word2vec分别获得第一文本对应的非空集合中所有词的向量相加得到的第一向量和第二文本对应的非空集合中所有的词的向量相加得到的第二向量。
在本实现方式中,通过步骤B1搜索出包含第一文本和第二文本分别对应的非空集合中的所有词的大量文本后,对于第一文本和第二文本分别对应的非空集合中的每一词而言,可以将包含该词的所有文本作为输入数据,输入至word2vec模型,并通过模型输出该词对应的向量,且该向量的维度是由word2vec模型确定的。
进一步的,可以对模型输出的第一文本对应的非空集合中所有词的向量进行相加以及归一化处理,得到第一向量。同理,可以对模型输出的第二文本对应的非空集合中所有词的向量进行相加以及归一化处理,得到第二向量。
举例说明:假设第一文本对应的非空集合是由分词A、分词B以及分词C组成的集合“[A、B、C]”,第二文本对应的非空集合是由分词D、分词E、分词F以及分词G组成的集合“[D、E、F、G]”,且通过步骤B1搜索出包含分词A的100篇文本,则可以将这100篇文本作为输入数据,输入至word2vec模型,并通过模型输出分词A对应的向量为三维向量[1、0、0]。同理,该模型还输出了分词B对应的三维向量[0、1、0]以及分词C对应的三维向量[0、0、1],进而可以对分词A、分词B以及分词C的向量进行相加以及归一化处理,得到第一向量为[1、1、1]。同理也可以对分词D、分词E、分词F以及分词G的三维向量进行相加以及归一化处理,得到第二向量,具体过程于获得第一向量的过程类似,在此不再赘述。
步骤B3:利用余弦相似度获得第一向量和第二向量的相似度,如果相似度大于预设相似度阈值,则确定第一文本和第二文本语义相似。
在本实现方式中,通过步骤B2获得第一向量和第二向量后,进一步可以利用余弦相似度对第一向量和第二向量进行相似度计算,以确定出二者之间的相似度,若该相似度大于预设相似度阈值,则可以确定第一文本和第二文本语义相似,即,第一文本和第二文本所描述的内容是一致的。
反之,利用如下方式获得修正后的相似度,将修正后的相似度继续与预设相似度阈值进行比较,如果修正后的相似度大于预设相似度阈值,则确定第一文本和第二文本所描述的内容是一致的,反之确定第一文本和第二文本所描述的内容不相似。
即,如果所述相似度小于等于预设相似度阈值,则还包括:
通过所述搜索引擎搜索包括所述第一非空集合中的所有词的第一网页集合,通过所述搜索引擎搜索包括所述第二非空集合中的所有词的第二网页集合;
获得所述第一网页集合中包括所述第二非空集合中至少一个词的第一网页数目,获得所述第二网页集合中包括所述第一非空集合中至少一个词的第二网页数目;
因为,如果第一文本和第二文本的语义非常相似,则两个集合中的词应该都在通过另一个集合的词搜索的结果中有所出现。
例如,第一非空集合为“[A、B、C]”,第二非空集合为“[D、E、F、G]”;则需要获得第一网页集合中包括D、E、F和G中至少一个词的网页数目,同样获得第二网页集合中包括A、B和C中至少一个词的网页数目。
获得所述第一网页数目与所述第一网页集合中网页总数目的第一比值,获得所述第二网页数目与所述第二网页集合中网页总数目的第二比值;
例如,第一网页集合包括20个,其中第一网页数目为8个,则第一比值为8/20。同理,可以得到第二比值。
获得包括所述第一非空集合中的词和所述第二非空集合中词两两组合的网页总数目;利用所述第一非空集合中的词和所述第二非空集合中词两两组合的种类和所述两两组合的网页总数目获得两两组合对应的平均值;
该步骤是为了通过搜索引擎获得两个非空集合中词的共现率。
即通过搜索,获得包括第一非空集合中的一个词,且包括第二非空集合中的一个词的网页数目。由于第一非空集合可能包括多个词,第二非空集合也可能包括多个词,所以两个集合中的词进行两两的排列组合,例如同时包括A和D的网页,同时包括A和E的网页,同时包括A和F的网页,同时包括A和G的网页。例如共有12种组合方式,将所有搜索到的网页数目除以12即可得到平均值。
利用所述第一比值与所述第二比值的和以及所述平均值来修正所述相似度;
修正相似度可以先获得第一比值与第二比值的和,再将所述第一比值与第二比值的和乘以平均值,作为相似度的系数,即乘以相似度获得修正后的相似度。
当修正后的相似度大于所述预设相似度阈值,则确定所述第一文本和所述第二文本语义相似,反之确定则确定所述第一文本和所述第二文本语义不相似。
若该相似度不大于预设相似度阈值,则可以确定第一文本和第二文本语义不相似,即,第一文本和第二文本所描述的内容是不一致的。
其中,预设相似度阈值指的是区分第一文本和第二文本是否语义相似的临界值,若第一向量和第二向量之间的相似度大于该临界值,则表明第一文本和第二文本是语义相似的,即,二者所描述的内容是一致的,但若第一向量和第二向量之间的相似度不大于该临界值,则表明第一文本和第二文本是语义不相似的,即,二者所描述的内容是不一致的。需要说明的是,预设相似度阈值的取值可根据实际情况进行设定,本申请实施例对此不进行限定。
综上,本实施例针对差异词集合包含的两种不同情况,分别采用了不同的处理方式,利用搜索引擎与tf-idf算法相结合的数据处理方法,以判断出差异词集合中是否存在至少一个词具有独立含义,从而可以精准判断出第一文本和第二文本是否语义相似,提高了判断结果的准确性。
实施例三
本实施例将对一种判断两个文本语义相似度的装置进行介绍,相关内容请参见上述方法实施例。
参见图3,为本实施例提供的一种判断两个文本语义相似度的装置的结构示意图,该装置包括:
分词单元301,用于分别对所述第一文本和所述第二文本进行分词得到第一分词结果和第二分词结果;
过滤单元302,用于分别过滤掉所述第一分词结果和所述第二分词结果中的无意义词;
获得单元303,用于利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合;
判断单元304,用于通过所述差异词集合判断两个文本的语义相似度。
该装置在判断第一文本和第二文本的语义相似度时,首先分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果,然后,再分别对第一分词结果和第二分词结果进行词性标注,根据词性标注结果过滤掉第一分词结果和第二分词结果中的无意义词,接着,再利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,进而可以通过差异词集合判断两个文本的语义相似度。
可见,该装置是先对文本进行分词,过滤掉两个分词结果中的无意义词,再对两个分词结果中的差异词进行对比,根据差异词来判断两个文本的语义是否相似。由于两个文本是否相似取决于差异词的语义是否相同。所以,该装置可以有效消除两个文本中非差异词对判断结果带来的影响,从而能够得到更加准确的判断结果。
可选地,过滤单元302包括:
第一获得子单元,用于对于所述第一分词结果和所述第二分词结果中非地名的词语,利用词频-逆文本频率指数tf-idf算法获得idf值小于第一预设阈值的词作为无意义词;
过滤子单元,用于将所述无意义词过滤掉。
可选地,所述装置还包括:
合并单元,用于在所述利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合之前,对于动词存在相邻的名词时,将所述动词以及与其相邻的名词进行合并作为一个复合名词。
可选地,所述装置还包括:
滤除单元,用于在所述利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合之前,对于地名末尾的行政区划词汇进行滤除。
可选地,判断单元304,具体用于:
当所述第一文本和所述第二文本的差异词集合一个为空集合,另一个为非空集合时,通过搜索引擎搜索所述非空集合中的所有词,通过词频-逆文本频率指数tf-idf算法判断所述非空集合中的至少一个词具有独立含义,则确定所述第一文本和所述第二文本语义不相似,如果判断所述非空集合中的所有词均不具有独立含义,则判断所述第一文本和所述第二文本语义相似。
可选地,判断单元304,具体包括:
第二获得子单元,用于通过词频-逆文本频率指数tf-idf算法获得所述非空集合中的至少一个词的idf值;
判断子单元,用于当所述非空集合中的至少一个词的idf值大于第二预设阈值时,判断所述非空集合中的至少一个词具有独立含义。
可选地,判断单元304,具体包括:
搜索子单元,用于当所述第一文本和所述第二文本的差异词集合均为非空集合时,通过搜索引擎搜索所述第一文本和所述第二文本分别对应的非空集合中的所有词;
第三获得子单元,用于通过word2vec分别获得所述第一文本对应的非空集合中所有词的向量相加得到的第一向量和所述第二文本对应的非空集合中所有的词的向量相加得到的第二向量;
第四获得子单元,用于利用余弦相似度获得所述第一向量和所述第二向量的相似度,如果所述相似度大于预设相似度阈值,则确定所述第一文本和所述第二文本语义相似。
基于前述实施例提供的判断两个文本语义相似度的方法和装置,本申请实施例还提供了一种计算机可读存储介质。
该存储介质上存储有程序,该程序被处理器执行时实现本申请前述方法实施例保护的判断两个文本语义相似度的方法中部分或全部步骤。
该存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于前述实施例提供的判断两个文本语义相似度的方法、装置和存储介质,本申请实施例提供了一种处理器。该处理器用于运行程序,其中,所述程序运行时执行前述方法实施例保护的判断两个文本语义相似度的方法中部分或全部步骤。
基于前述实施例提供的存储介质和处理器,本申请还提供了一种判断两个文本语义相似度的设备。
参见图4,该图为本实施例提供的判断两个文本语义相似度的设备的硬件结构图。
如图4所示,判断两个文本语义相似度的设备包括:存储器401、处理器402、通信总线403和通信接口404。
其中,存储器401上存储有可在处理器上运行的程序,程序执行时实现本申请前述方法实施例提供的判断两个文本语义相似度的方法中部分或全部步骤。存储器401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
该设备中,处理器402与存储器401通过通信总线传输信令、逻辑指令等。该设备能够通过通信接口404与其他设备进行通信交互。
在本申请技术方案中,在判断第一文本和第二文本的语义相似度时,首先分别对第一文本和第二文本进行分词得到第一分词结果和第二分词结果,然后,再过滤掉第一分词结果和第二分词结果中的无意义词,接着,再利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,进而可以通过差异词集合判断两个文本的语义相似度。
可见,本申请实施例是先对文本进行分词,过滤掉两个分词结果中的无意义词,再对两个分词结果中的差异词进行对比,根据差异词来判断两个文本的语义是否相似。由于两个文本是否相似取决于差异词的语义是否相同。相比于现有技术仅单纯利用tf-idf算法或word2vec来计算两个文本整体之间的相似度的方式,该方法可以有效消除两个文本中非差异词对判断结果带来的影响,从而能够得到更加准确的判断结果。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种判断两个文本语义相似度的方法,其特征在于,用于判断以下两个文本的语义相似度:第一文本和第二文本;包括:
分别对所述第一文本和所述第二文本进行分词得到第一分词结果和第二分词结果;
分别过滤掉所述第一分词结果和第二分词结果中的无意义词;
利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合;
通过所述差异词集合判断两个文本的语义相似度。
2.根据权利要求1所述的方法,其特征在于,所述分别过滤掉所述第一分词结果和第二分词结果中的无意义词,具体包括:
分别对所述第一分词结果和所述第二分词结果进行词性标注,根据词性标注结果过滤掉所述第一分词结果和所述第二分词结果中的无意义词。
3.根据权利要求1所述的方法,其特征在于,所述分别过滤掉所述第一分词结果和第二分词结果中的无意义词,具体包括:
对于所述第一分词结果和所述第二分词结果中非地名的词语,利用词频-逆文本频率指数tf-idf算法获得idf值小于第一预设阈值的词作为无意义词;
将所述无意义词过滤掉。
4.根据权利要求1所述的方法,其特征在于,在所述利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合,之前还包括:
对于动词存在相邻的名词时,将所述动词以及与其相邻的名词进行合并作为一个复合名词。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述通过所述差异词集合判断两个文本的语义相似度,具体包括:
当所述第一文本和所述第二文本的差异词集合一个为空集合,另一个为非空集合时,通过搜索引擎搜索所述非空集合中的所有词,通过词频-逆文本频率指数tf-idf算法判断所述非空集合中的至少一个词具有独立含义,则确定所述第一文本和所述第二文本语义不相似,如果判断所述非空集合中的所有词均不具有独立含义,则判断所述第一文本和所述第二文本语义相似。
6.根据权利要求5所述的方法,其特征在于,所述通过词频-逆文本频率指数tf-idf算法判断所述非空集合中的至少一个词具有独立含义,具体包括:
通过词频-逆文本频率指数tf-idf算法获得所述非空集合中的至少一个词的idf值;
当所述非空集合中的至少一个词的idf值大于第二预设阈值时,判断所述非空集合中的至少一个词具有独立含义。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述通过所述差异词集合判断两个文本的语义相似度,具体包括:
当所述第一文本和所述第二文本的差异词集合均为非空集合时,通过搜索引擎搜索所述第一文本对应的非空集合中的所有词和所述第二文本对应的第二非空集合中的所有词;
通过word2vec分别获得所述第一非空集合中所有词的向量相加得到的第一向量和所述第二非空集合中所有的词的向量相加得到的第二向量;
利用余弦相似度获得所述第一向量和所述第二向量的相似度,如果所述相似度大于预设相似度阈值,则确定所述第一文本和所述第二文本语义相似。
8.一种判断两个文本语义相似度的装置,其特征在于,用于判断以下两个文本的语义相似度:第一文本和第二文本;包括:
分词单元,用于分别对所述第一文本和所述第二文本进行分词得到第一分词结果和第二分词结果;
过滤单元,用于分别过滤掉所述第一分词结果和第二分词结果中的无意义词;
获得单元,用于利用文本编辑距离算法获得过滤后的第一分词结果和第二分词结果之间的差异词集合;
判断单元,用于通过所述差异词集合判断两个文本的语义相似度。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-8任一项所述的判断两个文本语义相似度的方法。
10.一种判断两个文本语义相似度的设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的判断两个文本语义相似度的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423457.2A CN111160028B (zh) | 2019-12-31 | 2019-12-31 | 判断两个文本语义相似度的方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423457.2A CN111160028B (zh) | 2019-12-31 | 2019-12-31 | 判断两个文本语义相似度的方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160028A true CN111160028A (zh) | 2020-05-15 |
CN111160028B CN111160028B (zh) | 2023-05-16 |
Family
ID=70560616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911423457.2A Active CN111160028B (zh) | 2019-12-31 | 2019-12-31 | 判断两个文本语义相似度的方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160028B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114742029A (zh) * | 2022-04-20 | 2022-07-12 | 中国传媒大学 | 一种汉语文本比对方法、存储介质及设备 |
CN117436551A (zh) * | 2023-12-18 | 2024-01-23 | 杭州宇谷科技股份有限公司 | 一种智能客服模型的训练方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436864A (zh) * | 2017-08-04 | 2017-12-05 | 逸途(北京)科技有限公司 | 一种基于Word2Vec的中文问答语义相似度计算方法 |
CN108170684A (zh) * | 2018-01-22 | 2018-06-15 | 京东方科技集团股份有限公司 | 文本相似度计算方法及系统、数据查询系统和计算机产品 |
CN109284490A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN109684629A (zh) * | 2018-11-26 | 2019-04-26 | 东软集团股份有限公司 | 文本间相似度计算方法、装置、存储介质及电子设备 |
-
2019
- 2019-12-31 CN CN201911423457.2A patent/CN111160028B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436864A (zh) * | 2017-08-04 | 2017-12-05 | 逸途(北京)科技有限公司 | 一种基于Word2Vec的中文问答语义相似度计算方法 |
CN108170684A (zh) * | 2018-01-22 | 2018-06-15 | 京东方科技集团股份有限公司 | 文本相似度计算方法及系统、数据查询系统和计算机产品 |
CN109284490A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN109684629A (zh) * | 2018-11-26 | 2019-04-26 | 东软集团股份有限公司 | 文本间相似度计算方法、装置、存储介质及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114742029A (zh) * | 2022-04-20 | 2022-07-12 | 中国传媒大学 | 一种汉语文本比对方法、存储介质及设备 |
CN114742029B (zh) * | 2022-04-20 | 2022-12-16 | 中国传媒大学 | 一种汉语文本比对方法、存储介质及设备 |
CN117436551A (zh) * | 2023-12-18 | 2024-01-23 | 杭州宇谷科技股份有限公司 | 一种智能客服模型的训练方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111160028B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8042053B2 (en) | Method for making digital documents browseable | |
CN107644010A (zh) | 一种文本相似度计算方法及装置 | |
CN111126060B (zh) | 一种主题词的提取方法、装置、设备及存储介质 | |
CN108846138B (zh) | 一种融合答案信息的问题分类模型构建方法、装置和介质 | |
CN109033074B (zh) | 新闻摘要生成方法、装置、设备及计算机可读介质 | |
CN110347790B (zh) | 基于注意力机制的文本查重方法、装置、设备及存储介质 | |
CN111241813B (zh) | 语料扩展方法、装置、设备及介质 | |
CN112464656A (zh) | 关键词抽取方法、装置、电子设备和存储介质 | |
CN106844341A (zh) | 基于人工智能的新闻摘要提取方法及装置 | |
CN111291177A (zh) | 一种信息处理方法、装置和计算机存储介质 | |
CN111160028B (zh) | 判断两个文本语义相似度的方法、装置、存储介质及设备 | |
CN112487197A (zh) | 基于会议记录构建知识图谱的方法、装置及处理器 | |
CN109657043B (zh) | 自动生成文章的方法、装置、设备及存储介质 | |
US10719663B2 (en) | Assisted free form decision definition using rules vocabulary | |
CN104021202A (zh) | 一种知识共享平台的词条处理装置和方法 | |
US20200387815A1 (en) | Building training data and similarity relations for semantic space | |
CN113434631A (zh) | 基于事件的情感分析方法、装置、计算机设备及存储介质 | |
CN117216214A (zh) | 一种问答抽取的生成方法、装置、设备及介质 | |
CN109670047B (zh) | 一种抽象笔记生成方法、计算机装置及可读存储介质 | |
CN111680146A (zh) | 确定新词的方法、装置、电子设备及可读存储介质 | |
CN111625579B (zh) | 一种信息处理方法、装置及系统 | |
CN109815996B (zh) | 一种基于循环神经网络的场景自适配方法及装置 | |
CN113010642A (zh) | 语义关系的识别方法、装置、电子设备及可读存储介质 | |
CN115688771B (zh) | 一种文书内容比对性能提升方法及系统 | |
CN113553410B (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 |