CN108182222A - 一种文本匹配方法及装置 - Google Patents
一种文本匹配方法及装置 Download PDFInfo
- Publication number
- CN108182222A CN108182222A CN201711431699.7A CN201711431699A CN108182222A CN 108182222 A CN108182222 A CN 108182222A CN 201711431699 A CN201711431699 A CN 201711431699A CN 108182222 A CN108182222 A CN 108182222A
- Authority
- CN
- China
- Prior art keywords
- text
- participle
- value
- sum
- eigenmatrix
- 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
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/3344—Query execution using natural language analysis
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文本匹配方法及装置,所述方法包括:对于待匹配的第一文本和第二文本;将所述第一文本进行分词处理,得到各个第一分词,并将所述第二文本进行分词处理,得到各个第二分词;根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。由于该文本匹配方式考虑了词在文本中的顺序,其匹配结果将更为准确。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文本匹配方法及装置。
背景技术
在文本分析领域中,文本匹配在很多实际场景中都扮演着重要角色。比如,在搜索场景中,用户输入一条待匹配文本,系统需要去语料库中寻找与该待匹配文本尽可能相似的内容,并将匹配结果返回给用户;再比如,在常见问答(Frequently Asked Questions,FAQ)系统中,用户提出一个问题,系统需要根据用户提出的问题在FAQ库中找到最相似的问题,并返回该相似问题对应的答案。在这些场景中,文本匹配的准确性直接影响用户体验效果,所以,在文本分析领域中,文本匹配具有非常重要的地位。
文本匹配过程一般是针对两条文本,通过算法计算这两条文本之间的相似度,通过相似度大小来判定这两条文本之间的匹配度。现有文本匹配方法主要是将两条文本分别经分词后处理成一个向量,即,用一个向量来描述一条文本,再计算这两个向量之间的相似度,根据相似度结果确定这两条文本的匹配度,这里,将这种匹配方式定义为横向匹配。
举例来说,对于两条文本,分别为“黑色的猫坐在黄色的椅子上”和“黄色的猫坐在黑色的椅子上”,如果采用上述横向匹配方式计算这两条文本之间的相似度,由于这两条文本在分词的共现上完全一致,所以这两条文本的相似度为1,也就是认为这两条文本完全匹配,但很显然,这两条文本中的关键信息“黑色”和“黄色”在这两条文本中的出现位置不一致,所以说,采用横向匹配方式得出的匹配结果不准确。
发明内容
本申请实施例的主要目的在于提供一种文本匹配方法及装置,能够提高文本匹配结果的准确性。
本申请实施例提供了一种文本匹配方法,包括:
获取待匹配的第一文本和第二文本;
将所述第一文本进行分词处理,得到各个第一分词;
将所述第二文本进行分词处理,得到各个第二分词;
根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度,包括:
绘制特征矩阵,所述特征矩阵的行数为第一分词的总数,所述特征矩阵的列数为第二分词的总数;
按照各个第一分词在所述第一文本中的顺序,将各个第一分词依次对应于所述特征矩阵的每一行;
按照各个第二分词在所述第二文本中的顺序,将各个第二分词依次对应于所述特征矩阵的每一列;
确定所述特征矩阵中每一元素位置对应的特征值,所述特征值表征了所述元素位置对应的第一分词与第二分词之间的相似度;
根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度,包括:
若所述特征值的大小与所述相似度的程度正相关,则当所述特征值大于第一特征阈值时,保留所述特征值;
若所述特征值的大小与所述相似度的程度反相关,则当所述特征值小于第二特征阈值时,保留所述特征值,所述第二特征阈值小于所述第一特征阈值;
将被保留的每一特征值定义为保留特征值,根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度,包括:
将各个保留特征值分别转换成二维坐标系中的一个坐标点,使各个坐标点在所述二维坐标系中的分布位置与各个保留特征值在所述特征矩阵中的分布位置相同;
在所述二维坐标系中生成一条特征直线,使各个坐标点到所述特征直线的距离之和最小;
计算每一坐标点到所述特征直线的距离值;
根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度,包括:
统计小于预设距离阈值的距离值,并确定统计出的距离值的第一总数。
根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度,包括:
根据计算得到的各个距离值以及最大总数,确定所述第一文本与所述第二文本之间的匹配度;
其中,所述最大总数为所述第一总数、第二总数以及第三总数中的最大值,所述第二总数为所述第一分词的总数,所述第三总数为所述第二分词的总数。
本申请实施例还提供了一种文本匹配装置,包括:
文本获取单元,用于获取待匹配的第一文本和第二文本;
第一分词单元,用于将所述第一文本进行分词处理,得到各个第一分词;
第二分词单元,用于将所述第二文本进行分词处理,得到各个第二分词;
文本匹配单元,用于根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述文本匹配单元包括:
矩阵绘制子单元,用于绘制特征矩阵,所述特征矩阵的行数为第一分词的总数,所述特征矩阵的列数为第二分词的总数;
行序对应子单元,用于按照各个第一分词在所述第一文本中的顺序,将各个第一分词依次对应于所述特征矩阵的每一行;
列序对应子单元,用于按照各个第二分词在所述第二文本中的顺序,将各个第二分词依次对应于所述特征矩阵的每一列;
特征值确定子单元,用于确定所述特征矩阵中每一元素位置对应的特征值,所述特征值表征了所述元素位置对应的第一分词与第二分词之间的相似度;
文本匹配子单元,用于根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述文本匹配子单元包括:
特征值保留子单元,用于若所述特征值的大小与所述相似度的程度正相关,则当所述特征值大于第一特征阈值时,保留所述特征值;若所述特征值的大小与所述相似度的程度反相关,则当所述特征值小于第二特征阈值时,保留所述特征值,所述第二特征阈值小于所述第一特征阈值;
第一匹配子单元,用于将被保留的每一特征值定义为保留特征值,根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述第一匹配子单元包括:
坐标点转换子单元,用于将各个保留特征值分别转换成二维坐标系中的一个坐标点,使各个坐标点在所述二维坐标系中的分布位置与各个保留特征值在所述特征矩阵中的分布位置相同;
直线生成子单元,用于在所述二维坐标系中生成一条特征直线,使各个坐标点到所述特征直线的距离之和最小;
距离值计算子单元,用于计算每一坐标点到所述特征直线的距离值;
第二匹配子单元,用于根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述第二匹配子单元包括:
总数统计子单元,用于统计小于预设距离阈值的距离值,并确定统计出的距离值的第一总数。
第三匹配子单元,用于根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度。
可选的,所述第三匹配子单元,具体用于根据计算得到的各个距离值以及最大总数,确定所述第一文本与所述第二文本之间的匹配度;其中,所述最大总数为所述第一总数、第二总数以及第三总数中的最大值,所述第二总数为所述第一分词的总数,所述第三总数为所述第二分词的总数。
本申请实施例还提供了一种文本匹配装置,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述任一项所述的方法。
本申请实施例还提供了一种计算机可读存储介质,其特征在于,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述任一项所述的方法。
本申请实施例还提供了一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述任一项所述的方法。
本申请实施例提供的一种文本匹配方法及装置,对于待匹配的第一文本和第二文本;将所述第一文本进行分词处理,得到各个第一分词,并将所述第二文本进行分词处理,得到各个第二分词;根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。由于该文本匹配方式考虑了词在文本中的顺序,相对于现有文本匹配方式,其匹配结果将更为准确。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种文本匹配方法的流程示意图之一;
图1B为本申请实施例提供的一种文本匹配方法的流程示意图之二;
图2为本申请实施例提供的特征矩阵示意图之一;
图3为本申请实施例提供的特征矩阵示意图之二;
图4为本申请实施例提供的一种文本匹配方法的流程示意图之三;
图5为本申请实施例提供的特征矩阵示意图之三;
图6为本申请实施例提供的一种文本匹配方法的流程示意图之四;
图7为本申请实施例提供的二维坐标系示意图之一;
图8为本申请实施例提供的二维坐标系示意图之二;
图9为本申请实施例提供的特征矩阵示意图之四;
图10为本申请实施例提供的特征矩阵示意图之五;
图11为本申请实施例提供的二维坐标系示意图之三;
图12为本申请实施例提供的一种文本匹配装置的组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有文本匹配方法采用的是横向匹配方式,申请人发现,这种横向匹配方式存在一个缺点,就是没有考虑词在文本中的顺序,而仅仅是将文本笼统的看作一个整体,而实际上,词在文本中的顺序也是决定文本匹配结果的关键因素。比如,对于“黑色的猫坐在黄色的椅子上”和“黄色的猫坐在黑色的椅子上”这两条文本,很显然,这两条文本中的关键信息“黑色”和“黄色”在这两条文本中的出现位置不一致,也即这两条文本不完全一致,但如果采用横向匹配方式,其结果是这两条文本完全匹配,即这两条文本完全一致,造成这种不准确匹配结果的原因在于,横向匹配方式忽略了词在文中的顺序。
基于横向匹配方式忽略了词在文本中的顺序这一缺陷,本申请实施例提供了一种文本匹配方法,采用的是纵向匹配方式,该纵向匹配方式不是简单的将两条文本分别处理成向量,再计算两个向量相似度的过程。而是确定一条文本中的词在对应文本中的顺序,并确定另一条文本在对应文本中的顺序,以根据词在文本中的顺序确定两条文本的匹配度,具体是将两条文本处理成矩阵,即,一条文本中的各个词按其在该文本中的顺序,依次对应于矩阵的各个行,另一条文本中的各个词按其在该文本中的顺序,依次对应于矩阵的各个列,此时,矩阵的每一元素位置均对应于不同文本的两个词,每一元素位置的元素值即为对应的两个词的相似度值,根据各个相似度值大小以及各个相似度值在矩阵中的分布位置,确定这两条文本的匹配度,从而实现文本的纵向语义匹配。由于该纵向匹配方式考虑了词在文本中的顺序,相对于横向匹配方式,其匹配结果将更为准确。
下面结合附图1至11对本申请实施例提供的文本匹配方法进行具体介绍。
第一实施例
参见图1A,为本实施例提供的一种文本匹配方法的流程示意图。该文本匹配方法包括以下步骤:
S101:获取待匹配的第一文本和第二文本。
为便于区分,本实施例将待匹配的两条文本分别定义为第一文本和第二文本。例如,在搜索场景中,可以将用户输入的文本作为第一文本,将语料库中的每一文本分别作为第二文本;或者,将语料库中的每一文本分别作为第一文本,将用户输入的文本作为第二文本。又例如,在FAQ系统中,将用户提出的问题作为第一文本,将FAQ库中的每一问题分别作为第二文本;或者,将FAQ库中的每一文本分别作为第一文本,将用户输入的问题作为第二文本。
为便于理解本实施例,后续步骤将均以文本S1“黄色的猫坐在黑色的椅子上”为所述第一文本、文本S2“黑色的猫坐在黄色的椅子上”为所述第二文本为例进行说明。
S102:将所述第一文本进行分词处理,得到各个第一分词。
可以对所述第一本文进行中文分词以及停用词过滤处理,得到多个词,本实施例将每一个词分别定义为第一分词。
例如,当文本S1“黄色的猫坐在黑色的椅子上”为所述第一文本时,文本S1的分词结果包括:“黄色”、“猫”、“坐在”、“黑色”、“椅子”和“上”。
S103:将所述第二文本进行分词处理,得到各个第二分词。
可以对所述第二本文进行中文分词以及停用词过滤处理,得到多个词,本实施例将每一个词分别定义为第二分词。
例如,当文本S2“黑色的猫坐在黄色的椅子上”为所述第二文本时,文本S2的分词结果包括:“黑色”、“猫”、“坐在”、“黄色”、“椅子”和“上”。
需要说明的是,本实施例不限制S102和S103的执行顺序,可以先执行S102再执行S103,也可以先执行S103再执行S102,还可以并行执行S102和S103。
考虑到词在文本中的出现顺序,本实施例将所述第一文本与所述第二文本分别看作一段词序列,下面介绍如何通过词序列来生成特征矩阵。
S104:根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。
在本实施例中,将各个第一分词按照其在第一文本中的顺序进行排序,比如,文本S1的各个分词的排序结果为:“黄色”、“猫”、“坐在”、“黑色”、“椅子”、“上”;同理,将各个第二分词按照其在第二文本中的顺序进行排序,比如,文本S2的各个分词的排序结果为:“黑色”、“猫”、“坐在”、“黄色”、“椅子”、“上”。由于词在本文中的顺序,很大程度上反映了该条文本的实际含义,因此,在将两条文本进行语义对比时,基于两条文本中的词顺序确定这两条文本的匹配度时,其匹配结果将更为准确。
综上,本实施例提供的一种文本匹配方法,对于待匹配的第一文本和第二文本;将所述第一文本进行分词处理,得到各个第一分词,并将所述第二文本进行分词处理,得到各个第二分词;根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。由于该文本匹配方式考虑了词在文本中的顺序,相对于现有文本匹配方式,其匹配结果将更为准确。
第二实施例
参见图1B,为本实施例提供的一种文本匹配方法的流程示意图。该文本匹配方法主要是针对第一实施例中的S104进行具体介绍,具体包括以下步骤:
S1041:绘制特征矩阵,所述特征矩阵的行数为第一分词的总数,所述特征矩阵的列数为第二分词的总数。
确定所述第一文本中的各个第一分词的总数Row,并确定所述第二文本中的各个第二分词的总数Col;之后,绘制特征矩阵M,特征矩阵M的行数和列数分别为Row和Col。
如图2所示的特征矩阵示意图,继续上述例子,以文本S1的分词数目为行数,以文本S2的分词数目为列数,绘制特征矩阵M,这样,特征矩阵M的行数和列数分别为6。
S1042:按照各个第一分词在所述第一文本中的顺序,将各个第一分词依次对应于所述特征矩阵的每一行。
将各个第一分词按照其在所述第一文本中的排序,从上到下依次对应于所述特征矩阵M的每一行。
如图2所示,将文本S1的分词结果顺序对应于特征矩阵M的各个行,即,将“黄色”、“猫”、“坐在”、“黑色”、“椅子”和“上”依次对应于特征矩阵M的各个行。
S1043:按照各个第二分词在所述第二文本中的顺序,将各个第二分词依次对应于所述特征矩阵的每一列。
将各个第二分词按照其在所述第二文本中的排序,从左到右依次对应于所述特征矩阵M的每一列。
如图2所示,将文本S2的分词结果顺序对应于特征矩阵M的各个列,即,将“黑色”、“猫”、“坐在”、“黄色”、“椅子”和“上”依次对应于特征矩阵M的各个列。
需要说明的是,本实施例不限制S1042和S1043的执行顺序,可以先执行S1042再执行S1043,也可以先执行S1043再执行S1042,还可以并行执行S1042和S1043。
S1044:确定所述特征矩阵中每一元素位置对应的特征值,所述特征值表征了所述元素位置对应的第一分词与第二分词之间的相似度。
其中,所述特征值的大小可以与所述相似度的程度正相关,即,当特征值越大,表示相似度越大,反之亦然;所述特征值的大小也可以与所述相似度的程度反相关,即,当特征值越小,表示相似度越大,反之亦然。
需要说明的是,所述特征值的大小与所述相似度的程度是正相关还是反相关,可以由词与词之间的特征值计算公式决定。具体来讲,对于某一给定的特征值计算公式,使用该特征值计算公式计算两个词之间的特征值时,如果计算得到的特征值越大,表明这两个词之间的相似度越高,说明二者之间正相关,反之,如果计算得到的特征值越小,表明这两个词之间的相似度越高,说明二者之间反相关。
作为一种示例,可以通过预先训练好的词向量(Word Embeddings)模型比如word2vec模型,计算特征矩阵M中每个元素位置对应的行词和列词之间的相似度,将该相似度的计算结果作为对应元素位置的特征值。采用该计算方式得到的特征值大小与所述相似度的程度正相关。
具体地,相似度计算公式可以为:
Sim(i,j)=Cos(vi,vj)
其中,vi表示特征矩阵M中第i行对应的第一分词,vj表示特征矩阵M中第j行对应的第二分词,Cos(vi,vj)表示对vi和vj进行相似度计算,Sim(i,j)为vi和vj的相似度计算结果。
继续上述例子,对图2中每一元素位置(即每一单元格)对应的两个词进行相似度计算,得到如图3所示的特征矩阵示意图。比如,Sim(1,1)=0.92,即“黑色”与“黄色”的相似度为0.92,表示这两个词的相似度较高但不完全相同;又比如,Sim(2,2)=1,即“猫”与“猫”的相似度为1,表示这两个词完全相同;还比如,Sim(3,1)=0.29,即“坐在”与“黑色”的相似度为0.29,表示这两个词的相似度较低即可能完全不同。
S1045:根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度。
在本实施例中,当特征值的大小与对应相似度的程度正相关时,如果所述第一文本与所述二文本实际上完全匹配或高度匹配,则特征矩阵M中的较大特征值将明显形成一条斜线(比如图3所示);如果所述第一文本与所述二文本实际上低度匹配,则特征矩阵M中较大的特征值将零散分布,不会明显形成一条斜线。例如,如图3所示,如果文本S1与文本S2完全一致,则特征矩阵M的对角线上将形成一条由特征值1组成的斜线,而实际上,文本S1与文本S2不完全一致但相似度较高,所以,特征矩阵M中大部分的较大特征值(1和0.92)形成一条斜线,而较少的较大特征值(两个1)零散分布。
同理,当特征值的大小与对应相似度的程度反相关时,如果所述第一文本和所述二文本实际上完全匹配或高度匹配,则特征矩阵M中较小的特征值将明显形成一条斜线,如果所述第一文本与所述二文本实际上低度匹配,则特征矩阵M中较小的特征值将零散分布,不会明显形成一条斜线。
因此,从特征矩阵M中的特征值大小以及各个特征值的分布情况,能反映出所述第一文本与所述第二文本之间的匹配情况,从而可以以此确定所述第一文本与所述第二文本之间的匹配度。
综上,本实施例提供的一种文本匹配方法,对于待匹配的第一文本和第二文本,将两条文本处理成特征矩阵,即,将第一文本中的各个词按其在该文本中的顺序,依次对应于特征矩阵的各个行,将第二条文本中的各个词按其在该文本中的顺序,依次对应于特征矩阵的各个列,此时,特征矩阵的每一元素位置均对应于不同文本的两个词,且特征矩阵中每一元素位置的特征值表征了对应的两个词的相似度,根据各个特征值大小以及各个特征值在特征矩阵中的分布位置,可以确定第一文与第二文本的匹配度,从而实现文本的纵向语义匹配。由于该纵向匹配方式考虑了词在文本中的顺序,相对于横向匹配方式,其匹配结果将更为准确。
第三实施例
参见图4,为本实施例提供的一种文本匹配方法的流程示意图。该文本匹配方法主要是针对第一实施例中的S1045进行具体介绍,具体包括以下步骤:
S401:若所述特征值的大小与所述相似度的程度正相关,则当所述特征值大于第一特征阈值时,保留所述特征值。
在本实施例中,对于特征矩阵M中的每一特征值,保留相似度较高的各组词对应的特征值。具体地,当特征值的取值范围为[a1,b1]时,若所述特征值的大小与所述相似度的程度正相关,则所述第一特征阈值可以是δ1=(b1-a1)*θ1%,其中,θ1%是大于50%的值,比如θ1=85%,在特征矩阵M中保留大于δ1的特征值。
例如,对于图3所示的特征矩阵,由于特征值的取值范围为[0,1],当取δ1=0.85时,保留大于0.85的特征值,保留下的特征值如图5所示。
S402:若所述特征值的大小与所述相似度的程度反相关,则当所述特征值小于第二特征阈值时,保留所述特征值,所述第二特征阈值小于所述第一特征阈值。
同理,若所述特征值的大小与所述相似度的程度反相关,则所述第二特征阈值可以是δ2=(b1-a1)*θ2%,其中,θ2%是小于50%的值,比如θ2%=15%,在特征矩阵M中保留小于δ2的特征值。
可以理解的是,本实施例是根据特征值与相似度之间的关系,执行S401或S402。
S403:将被保留的每一特征值定义为保留特征值,根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度。
在特征矩阵M中,为了使保留下的特征值与其它未保留的特征值进行区分,本实施例将保留下的每一特征值定义为保留特征值。
如果两条文本非常相似或完全相似,则各个保留特征值基本呈线性关系(比如图5所示),即各个保留特征值的线性相关性较好;反之,如果两条文本不太相似,则各个保留特征值会分散分布,并不具备很好的线性相关性。
因此,可以将各个保留特征值形成二维平面上的坐标点,然后通过各个坐标点之间的线性相关性,来衡量所述第一文本与所述第二文本之间的语义相关性,从而实现文本之间的纵向语义匹配。
参见图6所示,在本申请的一种实施方式中,本步骤S403具体可以包括:
S601:将各个保留特征值分别转换成二维坐标系中的一个坐标点,使各个坐标点在所述二维坐标系中的分布位置与各个保留特征值在所述特征矩阵中的分布位置相同。
在本实施例中,首先绘制一个二维坐标系;然后,根据每一保留特征值在所述特征矩阵M中的位置,确定每一保留特征值对应的二维坐标值(x,y),并根据二维坐标值(x,y)在二维坐标系中绘制坐标点。其中,x为保留特征值在特征矩阵M中的列值,y为特征矩阵M的总行值与(x-1)的差值。
例如,当特征矩阵M的行值和列值均从1开始时,将图5中的保留特征值转换成坐标点后如图7所示。
S602:在所述二维坐标系中生成一条特征直线,使各个坐标点到所述特征直线的距离之和最小。
如果所述第一文本与所述第二文本之间具有非常高的匹配度,则在二维坐标系上,各个坐标点之间应该具有非常高的线性相关性。那么,文本语义匹配问题就转换成了在二维坐标系上求解一条直线方程的问题,使得二维坐标系上的各个坐标点到该条直线的距离最短,本实施例将该直线定义为特征直线。例如,在图7中绘制的特征直线如图8所示。
本实施例可以按照以下方式求解特征直线。
设需要求解的特征直线方程为y=ax+b,则二维坐标系中所有坐标点到该条特征直线的距离总和为:
其中,xi和yi分别表示二维坐标系中第i个坐标点的横坐标值和纵坐标值,i=1,2……n,n为二维坐标系中的坐标点个数。
下面求解a和b,使Q(a,b)的取值最小。
将Q(a,b)展开可得到:
其中,
对公式(2)中的a和b分别求导,并使求导结果等于0,即:
计算得到的a和b分别为:
将计算得到的a和b代入y=ax+b中,便得到特征直线方程。
S603:计算每一坐标点到所述特征直线的距离值。
计算所述二维坐标系中的每一坐标点到特征直线y=ax+b的距离,比如,可以利用点到直线的距离计算公式进行计算。
S604:根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度。
可以理解的是,二维坐标系中各个坐标点到特征直线的距离之和越小,各个特征点之间的线性相关性越好,从而所述第一文本与所述第二文本之间的匹配度越高。因此,可以根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度。
在本申请的一种实施方式中,步骤S604具体可以包括:
步骤A:统计小于预设距离阈值的距离值,并确定统计出的距离值的第一总数。
可以预先设定一个距离阈值γ,对于二维坐标系中的各个坐标点,统计小于γ的距离值,得到统计出的距离值总数C,本实施例将该总数C定义为第一总数。
步骤B:根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度。
可以理解的是,二维坐标系中靠近特征直线的坐标点越多,说明各个坐标点之间的线性相关性越好,因此,当统计出比较靠近特征直线的一些坐标点后,统计这些坐标点总数即所述第一总数,可以结合所述第一总数与计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度,匹配度结果将更为准确。
进一步地,在本申请的一种实施方式中,步骤B具体可以包括:根据计算得到的各个距离值以及最大总数,确定所述第一文本与所述第二文本之间的匹配度;其中,所述最大总数为所述第一总数、第二总数以及第三总数中的最大值,所述第二总数为所述第一分词的总数,所述第三总数为所述第二分词的总数。
具体地,在本实施方式中,可以按照如下公式计算所述第一文本与所述第二文本之间的匹配度R:
其中,C为所述第一总数,Row为所述第二总数,Col为所述第三总数,si为所述二维坐标系中第i个坐标点与所述特征直线之间的距离,i=1,2……n,n为所述二维坐标系中的坐标点个数。
综上,本实施例提供的一种文本匹配方法,对于特征矩阵中的每一特征值,保留相似度较高的各组词对应的特征值,将各个保留特征值形成二维平面上的坐标点,通过各个坐标点之间的线性相关性,可以准确得出所述第一文本与所述第二文本之间的语义相关性,从而可以准确确定所述第一文本与所述第二文本之间的匹配度。
第四实施例
为了说明上述第二实施例实现的文本匹配效果,下面举例说明。
例如,对于文本S1=“黄色的猫坐在黑色的椅子上”、文本S2=“黑色的猫坐在黄色的椅子上”以及文本S3“猫坐在黄色的椅子上”。
如图9所示,当将文本S1作为所述第一文本、将文本S2作为所述第二文本时,在执行第二实施例中的步骤S401后,得到图9左侧所示的特征矩阵M1;当将文本S3作为所述第一文本、将文本S2作为所述第二文本时,在执行第二实施例中的步骤S401后,得到图9右侧所示的特征矩阵M2。
将特征矩阵M1与特征矩阵M2进行对比,很明显,M2中各个元素单元(各个保留特征值对应的矩阵元素)之间的线性相关性,要好于M1中各个元素单元(各个保留特征值对应的矩阵元素)之间的线性相关性。而且,通过公式(3)计算结果表明,文本S3与文本S2之间的匹配度要大于文本S1与文本S2之间的匹配度。
然而,如果采用现有的横向匹配方式,文本S1与文本S2之间的匹配度为1,表示这两条文本完全相同,而文本S3与文本S2之间的匹配度达不到1,也就是说,文本S1与文本S2之间的匹配度大于文本S3与文本S2之间的匹配度,而这个匹配结果是不准确的。可见,与现有的横向匹配方式相比,采用本申请的纵向匹配方进行文本匹配的匹配结果更为准确。
又例如,对于文本S4“个子很高的中学生都是美国来的”和文本S5“美国来的中学生个子都很高”,经过中文分词以及停用词处理后,S4的分词结果包括“个子”、“很”、“高”、“中学生”、“都”、“美国”和“来”,S5的分词结果包括“美国”、“来”、“中学生”、“个子”、“都”、“很”和“高”。当将文本S4作为所述第一文本、将文本S5作为所述第二文本时,得到图10所示的特征矩阵M3及其该矩阵中的保留特征值,很明显,M3中各个元素单元(即各个保留特征值对应的元素单元)之间的线性相关性较差。进一步地,可以将这些元素单元对应于二维坐标系中的坐标点,如图11所示,可以看出,该图中的坐标点并不具有很好的线性关系,通过第二实施例的方式拟合出的特征直线后,通过公式(3)进行匹配度计算后,匹配度计算结果也很低,这表明文本S4与文本S5的匹配度较低,不具有很强的语义匹配性。
然而,如果采用现有的横向匹配方式,文本S4与文本S5之间的匹配度为1,表示这两条文本完全相同,但实际上,这两条文本的含义是完全不一样的。可见,与现有的横向匹配方式相比,采用本申请的纵向匹配方进行文本匹配的匹配结果更为准确。
综上,本申请实施例考虑到词在文本中的顺序特征,利用线性相关性来判断文本之间的相关性,通过举例表明,本申请实施例能够克服传统横向匹配的缺点,在文本语义匹配结果上更能体现人类的自然语言逻辑。
第五实施例
参见图12,该图为本申请第四实施例提供的一种文本匹配装置的组成示意图,该装置1200包括:
文本获取单元1201,用于获取待匹配的第一文本和第二文本;
第一分词单元1202,用于将所述第一文本进行分词处理,得到各个第一分词;
第二分词单元1203,用于将所述第二文本进行分词处理,得到各个第二分词;
文本匹配单元1204,用于根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。
在本申请的一种实施方式中,所述文本匹配单元1204包括:
矩阵绘制子单元,用于绘制特征矩阵,所述特征矩阵的行数为第一分词的总数,所述特征矩阵的列数为第二分词的总数;
行序对应子单元,用于按照各个第一分词在所述第一文本中的顺序,将各个第一分词依次对应于所述特征矩阵的每一行;
列序对应子单元,用于按照各个第二分词在所述第二文本中的顺序,将各个第二分词依次对应于所述特征矩阵的每一列;
特征值确定子单元,用于确定所述特征矩阵中每一元素位置对应的特征值,所述特征值表征了所述元素位置对应的第一分词与第二分词之间的相似度;
文本匹配子单元,用于根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度。
在本申请的一种实施方式中,所述文本匹配子单元包括:
特征值保留子单元,用于若所述特征值的大小与所述相似度的程度正相关,则当所述特征值大于第一特征阈值时,保留所述特征值;若所述特征值的大小与所述相似度的程度反相关,则当所述特征值小于第二特征阈值时,保留所述特征值,所述第二特征阈值小于所述第一特征阈值;
第一匹配子单元,用于将被保留的每一特征值定义为保留特征值,根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度。
在本申请的一种实施方式中,所述第一匹配子单元包括:
坐标点转换子单元,用于将各个保留特征值分别转换成二维坐标系中的一个坐标点,使各个坐标点在所述二维坐标系中的分布位置与各个保留特征值在所述特征矩阵中的分布位置相同;
直线生成子单元,用于在所述二维坐标系中生成一条特征直线,使各个坐标点到所述特征直线的距离之和最小;
距离值计算子单元,用于计算每一坐标点到所述特征直线的距离值;
第二匹配子单元,用于根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度。
在本申请的一种实施方式中,所述第二匹配子单元包括:
总数统计子单元,用于统计小于预设距离阈值的距离值,并确定统计出的距离值的第一总数。
第三匹配子单元,用于根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度。
在本申请的一种实施方式中,所述第三匹配子单元,具体用于根据计算得到的各个距离值以及最大总数,确定所述第一文本与所述第二文本之间的匹配度;其中,所述最大总数为所述第一总数、第二总数以及第三总数中的最大值,所述第二总数为所述第一分词的总数,所述第三总数为所述第二分词的总数。
进一步地,本申请实施例还提供了另一种文本匹配装置,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文本匹配方法的任一种实现方法。
进一步地,申请实施例还提供了一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文本匹配方法的任一种实现方法。
进一步地,申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述文本匹配方法的任一种实现方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文本匹配方法,其特征在于,包括:
获取待匹配的第一文本和第二文本;
将所述第一文本进行分词处理,得到各个第一分词;
将所述第二文本进行分词处理,得到各个第二分词;
根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。
2.根据权利要求1所述的方法,其特征在于,所述根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度,包括:
绘制特征矩阵,所述特征矩阵的行数为第一分词的总数,所述特征矩阵的列数为第二分词的总数;
按照各个第一分词在所述第一文本中的顺序,将各个第一分词依次对应于所述特征矩阵的每一行;
按照各个第二分词在所述第二文本中的顺序,将各个第二分词依次对应于所述特征矩阵的每一列;
确定所述特征矩阵中每一元素位置对应的特征值,所述特征值表征了所述元素位置对应的第一分词与第二分词之间的相似度;
根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度。
3.根据权利要求2所述的方法,其特征在于,所述根据各个特征值的大小以及各个特征值在所述特征矩阵中的分布位置,确定所述第一文本与所述第二文本之间的匹配度,包括:
若所述特征值的大小与所述相似度的程度正相关,则当所述特征值大于第一特征阈值时,保留所述特征值;
若所述特征值的大小与所述相似度的程度反相关,则当所述特征值小于第二特征阈值时,保留所述特征值,所述第二特征阈值小于所述第一特征阈值;
将被保留的每一特征值定义为保留特征值,根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度。
4.根据权利要求3所述的方法,其特征在于,所述根据各个保留特征值在所述特征矩阵中的位置,确定所述第一文本与所述第二文本之间的匹配度,包括:
将各个保留特征值分别转换成二维坐标系中的一个坐标点,使各个坐标点在所述二维坐标系中的分布位置与各个保留特征值在所述特征矩阵中的分布位置相同;
在所述二维坐标系中生成一条特征直线,使各个坐标点到所述特征直线的距离之和最小;
计算每一坐标点到所述特征直线的距离值;
根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度。
5.根据权利要求4所述的方法,其特征在于,所述根据计算得到的各个距离值,确定所述第一文本与所述第二文本之间的匹配度,包括:
统计小于预设距离阈值的距离值,并确定统计出的距离值的第一总数。
根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度。
6.根据权利要求5所述的方法,其特征在于,所述根据计算得到的各个距离值以及所述第一总数,确定所述第一文本与所述第二文本之间的匹配度,包括:
根据计算得到的各个距离值以及最大总数,确定所述第一文本与所述第二文本之间的匹配度;
其中,所述最大总数为所述第一总数、第二总数以及第三总数中的最大值,所述第二总数为所述第一分词的总数,所述第三总数为所述第二分词的总数。
7.一种文本匹配装置,其特征在于,包括:
文本获取单元,用于获取待匹配的第一文本和第二文本;
第一分词单元,用于将所述第一文本进行分词处理,得到各个第一分词;
第二分词单元,用于将所述第二文本进行分词处理,得到各个第二分词;
文本匹配单元,用于根据各个第一分词在所述第一文本中的顺序以及各个第二分词在所述第二文本中的顺序,确定所述第一文本与所述第二文本之间的匹配度。
8.一种文本匹配装置,其特征在于,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711431699.7A CN108182222B (zh) | 2017-12-26 | 2017-12-26 | 一种文本匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711431699.7A CN108182222B (zh) | 2017-12-26 | 2017-12-26 | 一种文本匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108182222A true CN108182222A (zh) | 2018-06-19 |
CN108182222B CN108182222B (zh) | 2020-12-01 |
Family
ID=62547035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711431699.7A Active CN108182222B (zh) | 2017-12-26 | 2017-12-26 | 一种文本匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182222B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684629A (zh) * | 2018-11-26 | 2019-04-26 | 东软集团股份有限公司 | 文本间相似度计算方法、装置、存储介质及电子设备 |
CN110147429A (zh) * | 2019-04-15 | 2019-08-20 | 平安科技(深圳)有限公司 | 文本比较方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120070073A1 (en) * | 2010-09-18 | 2012-03-22 | Suryaprakash Kompalli | Searching document images |
CN106970912A (zh) * | 2017-04-21 | 2017-07-21 | 北京慧闻科技发展有限公司 | 中文语句相似度计算方法、计算装置以及计算机存储介质 |
-
2017
- 2017-12-26 CN CN201711431699.7A patent/CN108182222B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120070073A1 (en) * | 2010-09-18 | 2012-03-22 | Suryaprakash Kompalli | Searching document images |
CN106970912A (zh) * | 2017-04-21 | 2017-07-21 | 北京慧闻科技发展有限公司 | 中文语句相似度计算方法、计算装置以及计算机存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684629A (zh) * | 2018-11-26 | 2019-04-26 | 东软集团股份有限公司 | 文本间相似度计算方法、装置、存储介质及电子设备 |
CN109684629B (zh) * | 2018-11-26 | 2022-12-16 | 东软集团股份有限公司 | 文本间相似度计算方法、装置、存储介质及电子设备 |
CN110147429A (zh) * | 2019-04-15 | 2019-08-20 | 平安科技(深圳)有限公司 | 文本比较方法、装置、计算机设备和存储介质 |
CN110147429B (zh) * | 2019-04-15 | 2023-08-15 | 平安科技(深圳)有限公司 | 文本比较方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108182222B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Armstrong et al. | Quantitative stochastic homogenization and large-scale regularity | |
Wang et al. | Sketch-based 3d shape retrieval using convolutional neural networks | |
Gansner et al. | A maxent-stress model for graph layout | |
Carroll | Spatial, non-spatial and hybrid models for scaling | |
US8451292B2 (en) | Video summarization method based on mining story structure and semantic relations among concept entities thereof | |
CN106407420B (zh) | 一种多媒体资源的推荐方法及系统 | |
CN104657346A (zh) | 智能交互系统中的问题匹配方法和系统 | |
CN104881798A (zh) | 基于商品图像特征的个性化搜索装置及方法 | |
CN102750347B (zh) | 一种用于图像或视频搜索重排序的方法 | |
CN108628967B (zh) | 一种基于学习生成网络相似度的网络学习群组划分方法 | |
Arcozzi et al. | The Dirichlet space and related function spaces | |
CN107918778B (zh) | 一种信息匹配方法及相关装置 | |
CN112329460A (zh) | 文本的主题聚类方法、装置、设备及存储介质 | |
CN109145083B (zh) | 一种基于深度学习的候选答案选取方法 | |
CN110135380A (zh) | 一种基于人脸检测的课堂专注度识别的方法 | |
GREEN et al. | Dimensional interpretation and configuration invariance in multidimensional scaling: An empirical study | |
CN110706028A (zh) | 基于属性特征的商品评价情感分析系统 | |
TWI663583B (zh) | 發散思維測驗自動評分方法及系統 | |
Zhang et al. | Retargeting semantically-rich photos | |
CN108182222A (zh) | 一种文本匹配方法及装置 | |
CN109829110A (zh) | 一种学习资料的个性化推荐方法 | |
CN107818173B (zh) | 一种基于向量空间模型的中文虚假评论过滤方法 | |
CN112650869B (zh) | 图像检索重排序方法、装置、电子设备及存储介质 | |
CN106960397A (zh) | 推荐高考院校的方法及装置 | |
Yu et al. | The research of the recommendation algorithm in online learning |
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 |