CN106815179B - 一种文本相似度确定方法及装置 - Google Patents
一种文本相似度确定方法及装置 Download PDFInfo
- Publication number
- CN106815179B CN106815179B CN201510848994.7A CN201510848994A CN106815179B CN 106815179 B CN106815179 B CN 106815179B CN 201510848994 A CN201510848994 A CN 201510848994A CN 106815179 B CN106815179 B CN 106815179B
- Authority
- CN
- China
- Prior art keywords
- address
- text
- similarity
- determining
- character string
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例中提供了一种文本相似度确定方法及装置,该方法包括:获取第一文本与第二文本;确定第一文本与第二文本的相似字符串;确定相似字符串与第二文本的结构相似度;根据相似字符串与第一文本或第二文本的结构相似度,确定第一文本与第二文本的相似度。本申请实施例中的方案,能够解决现有技术中的本相似度的确定方法不够准确的问题。
Description
技术领域
本申请涉及大数据处理技术,具体涉及一种文本相似度确定方法及装置。
背景技术
在现有技术中,文本相似度确定方法如下:将待进行相似度比较的文本分别向量化;分别计算文本向量的余弦相似度,并将两个文本向量的余弦相似度作为两个文本之间的相似度。
现有技术中的文本相似度确定方法,由于是通过两个文本向量的余弦相似度来判断文本相似度,因此,偏向于将文字上重合度较高的文本认为是更相似的地址,但是,在待比较的文本为地址时,可能出现不够准确的情况,例如,采用现有技术中的方法,得到的结果可能是“XX省XX市淘宝城”与“淘宝城”的相似度要低于其与“XX省XX市”的相似度,准确性低。
发明内容
本申请实施例中提供了一种文本相似度确定方法及装置,用于解决现有技术中的文本相似度的确定方法准确性低的问题。
根据本申请实施例的一个方面,提供了一种文本相似度确定方法,包括:获取第一文本与第二文本;确定第一文本与第二文本的相似字符串;确定相似字符串与第二文本的结构相似度;根据相似字符串与第二文本的结构相似度,确定第一文本与第二文本的相似度。
根据本申请实施例的另一个方面,提供了一种文本相似度确定装置,包括:获取模块,用于获取第一文本与第二文本;相似字符串确定模块,用于确定第一文本与第二文本的相似字符串;字符串与文本相似度确定模块,用于确定相似字符串与第二文本的结构相似度;文本相似度确定模块,用于根据相似字符串与第二文本的结构相似度,确定第一文本与第二文本的相似度。
采用本申请实施例中的方案,先确定第一文本和第二文本之间的相似字符串,并根据相似字符串与所述第二文本的结构相似度来确定第一文本与第二文本的相似度,由于考虑两个文本之间相似字符串与第二文本的结构相似度,与现有技术中根据两个文本向量的余弦相似度来判断文本相似度的方法相比,提高了确定结果的准确度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例一所示的文本相似度确定方法的流程图;
图2为本申请实施例一中确定第一地址和第二地址的相似字符串的方法流程图;
图3为本申请实施例二所示的结构示意图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在实现本申请的过程中,申请人发现,现有技术中的文本相似度确定方法,由于是通过两个文本向量的余弦相似度来判断文本相似度,因此,偏向于将文字上重合度较高的文本认为是更相似的地址,但是,在待比较的文本为地址时,可能出现不够准确的情况,例如,采用现有技术中的方法,得到的结果可能是“XX省XX市淘宝城”与“淘宝城”的相似度要低于其与“XX省XX市”的相似度,不够准确。
针对上述问题,本申请实施例中提供了一种文本相似度确定方法及装置,先确定第一文本和第二文本之间的相似字符串,并根据相似字符串与第一文本或第二文本的结构相似度来确定第一文本与第二文本的相似度,由于考虑两个文本之间相似字符串与第二文本的结构相似度,与现有技术中根据两个文本向量的余弦相似度来判断文本相似度的方法相比,提高了准确度。
本申请实施例中的方案可以应用于电商平台的商品搜索中,也可以应用于车联网的车主档案搜索中,还可以应用于如高德地图、百度地图等的多种地图产品的地址搜索中。
本申请实施例中的文本相似度确定方法可以使用如面向对象的程序设计语言java语言等的计算机语言实现。
图1为本申请实施例一所示的文本相似度确定方法的流程图。
如图1所示,根据本申请实施例一所示的文本相似度确定方法包括以下步骤:
S102,获取第一文本与第二文本;
S104,确定第一文本与第二文本的相似字符串;
S106,确定相似字符串与第一文本或第二文本的结构相似度;
S108,根据相似字符串与第二文本的结构相似度,确定第一文本与第二文本的相似度。
在具体实施时,该第一文本和第二文本可以是如地址、商品名称的短文本,也可以是如车主档案等的长文本,本申请对此不作限制。
在本申请实施例中,结构相似度可以是指字符串的内容结构与文本的相似程度,更具体地,可以是指字符串在文本中出现的条件概率。
采用本申请实施例中的文本相似度确定方法,先确定第一文本和第二文本之间的相似字符串,并根据相似字符串与所述第二文本的结构相似度来确定第一文本与第二文本的相似度,由于考虑两个文本之间相似字符串与第二文本的结构相似度,与现有技术中根据两个文本向量的余弦相似度来判断文本相似度的方法相比,准确度较高。
后续实施例中,以第一文本和第二文本分别为待搜索地址和候选地址为例,对本申请实施例进行进一步描述。在具体实施时,可以是第一文本为待搜索地址,第二文本为候选地址;也可以是第一文本为候选地址,第二文本为待搜索地址,本申请对此不作限制。
在具体实施时,待搜索地址可以是用户输入的,想要搜索的地址。候选地址可以是地址库中与用户输入的待搜索地址相关的地址。在用户进行地址搜索时,有时会出现用户输入的地址和地址库中的地址不能完全匹配的情况。比如用户在搜索引擎中输入:“XX市淘宝城”,但是地址库中存储的、与用户输入的地址相关的候选地址可能是:“XX省XX区XXX号XXX淘宝城”或者“XX区XXX号XXX淘宝城”。此时,需要确定待搜索地址和候选地址之间的相似度来找出与用户输入的待搜索地址相似度最大的几个候选地址供用户参考和选择。
在现有技术中,确定参考地址的方法如下:从地址库中查询与用户输入的地址近似的多条候选地址;将用户输入的地址及该多条候选地址分别向量化;分别计算用户输入的地址向量和该多条地址向量的余弦相似度,并将两个地址向量的余铉相似度作为两个地址之间的相似度;然后按计算得到的余弦相似度从大到小排序,然后根据策略,取与用户输入地址相似度大于预定阈值的前N个地址供用户参考。
采用上述方法,由于是通过两个地址向量的余弦相似度来判断地址相似度,因此,偏向于将文字上重合度较高的地址认为是更相似的地址,例如,采用现有技术中的方法,得到的结果可能是“XX省XX市淘宝城”与“淘宝城”的相似度要低于其与“XX省XX市”的相似度,不够准确。
而采用本申请实施例中的方案以后,由于是先确定待搜索地址与候选地址的相似字符串,再根据相似字符串与某一地址的结构相似度来确定地址之间的相似度,即,考虑两个文本之间相似字符串与第二文本的结构相似度,与现有技术中根据两个文本向量的余弦相似度来判断文本相似度的方法相比,准确度较高。
优选地,获取第一文本与第二文本具体包括:接收用户输入的字符,其中,字符包括待搜索地址;从用户输入的字符中提取待搜索地址;获取地址库中与待搜索地址相关的候选地址。
在具体实施时,可以通过终端上的输入模块接收用户输入的字符;在包括待搜索地址之外,还可以包括用户输入的其他字符,例如,用户输入的字符为“我想去淘宝城”,则可以从该字符中提取待搜索地址为“淘宝城”。具体的地址提取方法可以采用现有技术中的常用方法,此处不赘述。
优选地,获取地址库中与所述待搜索地址相关的候选地址具体包括:确定所述待搜索地址中的最小单元;在地址库中查询最小单元对应的节点,并将节点下的所有分支地址作为搜索结果;其中,地址库中的地址按地址范围从小到大以树形结构存储;将搜索结果作为候选地址。
在具体实施时,待搜索地址的最小单元可以是待搜索地址的最后一个词语,例如,用户输入的待搜索地址为“XX市淘宝城”,则该待搜索地址的最小单元为“淘宝城”;或者用户输入的待搜索地址为“北京市长安街10号”,则该待搜索地址的最小单元为“长安街10号”。
在具体实施时,地址库中的地址按地址范围从小到大以树形结构存储可以采用以下形式:例如,将“淘宝城”作为父节点,“文一西路”作为子节点,“969号”也作为其子节点,同时“文一西路”也作为“969号”的子节点,从而,在地址库中查询“淘宝城”对应的节点时,将得到节点下的所有分支地址作为的搜索结果:“文一西路淘宝城”、“969号淘宝城”、“文一西路969号淘宝城”。
在具体实施时,还可以直接将最小单元作为关键词在地址库中进行搜索,例如,将地址库中包含该最小单元的所有地址作为搜索结果;或者优先将用户所在地的、包含该最小单元的地址作为搜索结果;或者在地址库中不存在包含该最小单元时,也可以将与该最小单元中的字符相匹配的地址作为搜索结果等,本申请对此不作限制。
采用本申请实施例中的文本相似度确定方法,由于将待搜索地址中的最小单元作为关键词在地址库中进行搜索,并将搜索结果作为候选地址,与相关技术中将与用户输入的所有字符相匹配的地址均作为候选地址相比,能够缩小候选地址的数量,提高了地址相似度的确定速度,能够快速的向用户返回参考地址,提升了用户体检,节省了计算资源。
优选地,确定第一文本与第二文本的相似字符串具体包括:获取第一文本的字符串长度L第一文本与第二文本字符串长度L第二文本;判断L第一文本与L第二文本的大小;根据所述L第一文本与L第二文本的大小确定第一地址和第二地址;确定第一地址和第二地址的相似字符串。
在具体实施时,第一文本的字符串长度和第二文本的字符串长度可以是第一文本的字符个数和第二文本的字符个数,例如,第一文本为待搜索地址“杭州市淘宝城”时,其长度L第一文本为6;第二文本为候选地址为“浙江省杭州市文一西路969号淘宝城”时,其长度L第二文本为17。
优选地,根据L第一文本与L第二文本的大小确定第一地址和第二地址具体包括:当L第一文本>L第二文本时,将第一文本作为第一地址,第二文本作为第二地址;当L第一文本≤L第二文本时,将第一文本作为第二地址,第二文本作为第一地址。
在具体实施时,可以将较短的文本作为第二地址。
优选地,确定第一地址和第二地址的相似字符串的具体流程如图2所示,具体包括:对第二地址中的每个字符执行以下步骤:
S201,判断第二地址的第x个字符是否包含在第一地址中,其中,x=L第二地址;如果第二地址的第x个字符未包含在第一地址中,则执行步骤S202;如果第二地址的第x个字符包含在第一地址中,则执行步骤S204;
S202,令x=x-1,执行步骤S203;
S203,判断x是否等于0;如果等于,则结束;如果不等于,则执行步骤S201;
S204,令循环计数i=1,其中,当i=1时,执行步骤S205;
S205,判断x是否等于1;如果等于,则结束;如果不等于,则执行步骤S206;
S206,判断第二地址的第x-1个字符是否包含在第一地址中;如果包含,则执行步骤S207;如果未包含,则执行步骤S208;
S207,令x=x-1,i=i+1,并执行步骤S205;
S208,将第x个字符至第x-i+1个字符作为第二地址与第一地址的相似字符串;并执行步骤S209;
S209,令x=x-i;执行步骤205。
在具体实施时,也可以将第二地址倒排,然后从倒排的第一个字符开始向后遍历,这与本申请实施例中从最后一个字符开始往前遍历的方式是一致的。
在具体实施时,从第二地址的最后一个字符开始,判断该字符是否存在于第一地址中,如果存在,均认为该字符成为相似字符串的起始字符,如果不存在,则继续判断下一字符是否存在,并将存在于第一地址中的第一个字符作为相似字符串的起始字符;如果第二地址的第x-n个字符包含在第一地址中,则继续判断该字符的下一字符是否包含在第一地址中,直到将第二地址中的所有字符遍历完,或者某一字符不包含在第一地址中,则将该不包含在第一地址中的后一字符作为相似字符串的结束字符,从而得到第二地址与第一地址的一个相似字符串;然后再继续判断该不包含在第一地址中的字符的前一字符是否包含在第一地址中,直到将第二地址中的所有字符遍历完;可以得到第二地址与第一地址之间的一个或多个相似字符串。
在实现本申请的过程中,申请人发现,在通常的搜索语句中,搜索语句中靠后的字符表达的信息更为重要,例如,对于地址来说,“浙江省杭州市文一西路969号”与“文一西路969号”的相似度要高于其与“浙江省杭州市文一西路”的相似度;或者对于商品名称来说,“三星galaxy s3”与“galaxy s3”的相似度要高于其与“三星galaxy”的相似度;因此,相较于从第二地址的第一个字符向后遍历的匹配,从第二地址的最后一个字符向前的匹配更能保留文本中的重要信息,使得相似度计算更加准确。
另外,现有技术中的方案需要将被比较的两个文本都向量化,所以要对两个文本都做一次循环比较,处理时间较长,而本申请实施例中的方案是将两个文本中较短的文本进行循环比较,减少了处理时间,提升了效率。
在具体实施时,确定相似字符串与第一文本或第二文本的结构相似度可以包括以下步骤:确定相似字符串在所述第二地址中出现的条件概率;根据条件概率确定相似字符串与第二地址的相似度。
在具体实施时,可以根据下式得到相似字符串在第二地址中出现的条件概率:其中,posB为相似字符串的最后一个字符在第二地址中的位置;end_point为相似字符串的第一个字符在第二地址中的位置;L第二地址为第二地址的长度;posA为相似字符串的最后一个字符在第一地址中的位置;L第一地址为第一地址的长度,w依次取小于等于相似字符串个数的整数。
在具体实施时,针对第二地址与第一地址之间的一个或多个相似字符串,分别根据上述公式计算得到一个或多个结构相似度。
优选地,根据相似字符串与第二文本的结构相似度,确定第一文本与第二文本的相似度具体包括:确定第一文本和第二文本的相似度为max{s1,s2,……sw},其中,s1,s2,……sw分别为第一文本与第二文本的多个相似字符串与第二地址的结构相似度。
在具体实施时,可以将第二地址中的多个相似字符串中,与第一地址结构相似度最大的相似字符串对应的相似度作为第一地址与第二地址的相似度。
在具体实施时,在根据上述的文本相似度确定方法确定待搜索地址与多个候选地址之间的相似度之后,还包括:判断待搜索地址和候选地址的相似度是否大于预定阈值,如果大于则将判断待搜索地址和候选地址相似;该预定阈值可以为0.5。
在具体实施时,还可以进一步对相似的候选地址进行排序,选出排序前N的候选地址作为参考地址,输出给用户供用户参考。
采用本申请实施例中的方案,先确定第一文本与第二文本的相似字符串,再根据相似字符串与某一文本的结构相似度来确定文本之间的相似度,因此,两个文本之间的相似度与彼此之间的相似字符串的长度相关,因此,与现有技术中仅考虑文字重合度的方法相比,准确度更高。
另外,现有技术中的方案需要将被比较的两个文本都向量化,所以要对两个文本都做一次循环比较,处理时间较长,而本申请实施例中的方案是将两个文本中较短的文本进行循环比较,减少了处理时间,提升了效率。
下面,以一具体实例为例,对本申请实施例中的文本相似度确定方法进行介绍。
例如,用户输入的待搜索地址为“杭州市淘宝城A座”;在地址库中搜索得到的候选地址有“浙江省杭州市文一西路9690号淘宝城”和“余杭区淘宝城”;设定相似度阈值为0.5,即,将相似度大于0.5的候选地址作为参考地址反馈给用户。
第一,确定“杭州市淘宝城A座”和“浙江省杭州市文一西路9690号淘宝城”的相似度。
(1)确定“杭州市淘宝城A座”和“浙江省杭州市文一西路9690号淘宝城”的相似字符串。“杭州市淘宝城A座”的字符串长度为8;“浙江省杭州市文一西路9690号淘宝城”的字符串长度为18;将“杭州市淘宝城A座”作为第二地址,“浙江省杭州市文一西路9690号淘宝城”作为第一地址。判断“杭州市淘宝城A座”中的第8个字符“座”未包含在第一地址中;则继续判断第7个字符“A”也未包含在第一地址中;继续判断第6个字符“城”包含在第一地址中;继续判断第5个字符“宝”也包含在第一地址中;继续判断第4个字符“淘”也包含在第一地址中,……最终判断得到相似字符串为“杭州市淘宝城”。
(2)利用以下公式确定相似字符串与第二地址的相似度:
其中,posB为该相似字符串的最后一个字符在第二地址中的位置为6;end_point为该相似字符串的第一个字符在第二地址中的位置为1;L第二地址为第二地址的长度为8;posA为该相似字符串的最后一个字符在第一地址中的位置为18;L第一地址为第一地址的长度为18。因此得到:
(3)得到“杭州市淘宝城A座”和“浙江省杭州市文一西路9690号淘宝城”的相似度。max{s1}=s1=0.582。
即,“杭州市淘宝城A座”和“浙江省杭州市文一西路9690号淘宝城”的相似度为0.582。
第二,进一步判断“杭州市淘宝城A座”和“余杭区淘宝城”的相似度。
(1)确定“杭州市淘宝城A座”和“余杭区淘宝城”的相似字符串。“杭州市淘宝城A座”的字符串长度为8;“余杭区淘宝城”的字符串长度为6;将“余杭区淘宝城”作为第二地址,“杭州市淘宝城A座”作为第一地址。判断“余杭区淘宝城”中的第6个字符“城”包含在第一地址中;继续判断第5个字符“宝”也包含在第一地址中;继续判断第4个字符“城”也包含在第一地址中;继续判断第3个字符“区”未包含在第一地址中;则将第4-6个字符“淘宝城”作为第一个相似字符串;并继续判断第2个字符“杭”包含在第一地址中;继续判断第1个字符“余”未包含在第一地址中,则将第2个字符作为第二个相似字符串。
(2)利用以下公式确定第一个相似字符串和第二个相似字符串与第二地址的相似度:
对于第一个相似字符串“淘宝城”;posB为该相似字符串的最后一个字符在第二地址中的位置为6;end_point为该相似字符串的第一个字符在第二地址中的位置为4;L第二地址为第二地址的长度为6;posA为该相似字符串的最后一个字符在第一地址中的位置为6;L第一地址为第一地址的长度为8。因此得到:
对于第二个相似字符串“杭”;posB为该相似字符串的最后一个字符在第二地址中的位置为2;end_point为该相似字符串的第一个字符在第二地址中的位置为2;L第二地址为第二地址的长度为6;posA为该相似字符串的最后一个字符在第一地址中的位置为1;L第一地址为第一地址的长度为8。因此得到:
(3)得到“杭州市淘宝城A座”和“余杭区淘宝城”的相似度。max{s1,s2}=s1=0.319。
即,“杭州市淘宝城A座”和“余杭区淘宝城”的相似度为0.319。
由于“杭州市淘宝城A座”与“浙江省杭州市文一西路9690号淘宝城”的相似度大于0.5,而“杭州市淘宝城A座”与“余杭区淘宝城”的相似度小于0.5,因此将“浙江省杭州市文一西路9690号淘宝城”作为参考地址提供给用户。
基于同一发明构思,本申请实施例中还提供了一种文本相似度确定装置,由于该装置解决问题的原理与本申请实施例所提供的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图3为本申请实施例二所示文本相似度确定装置的结构示意图。
如图3所示,根据本申请实施例二所示的文本相似度确定装置300,包括:获取模块302,用于获取第一文本与第二文本;相似字符串确定模块304,用于确定第一文本与第二文本的相似字符串;结构相似度确定模块306,用于确定相似字符串与第一文本或第二文本的结构相似度;文本相似度确定模块308,用于根据结构相似度,确定第一文本与第二文本的相似度。
在具体实施时,该文本相似度确定装置中的模块可以部分位于终端,部分位于服务器;也可以全部位于服务器,本申请对此不作限制。
在具体实施时,第一文本和第二文本分别为待搜索地址和候选地址。
在具体实施时,获取模块可以包括:接收子模块,用于接收用户输入的字符,其中,字符包括待搜索地址;提取子模块,用于从用户输入的字符中提取待搜索地址;候选地址获取子模块,用于获取地址库中与待搜索地址相关的候选地址。
在具体实施时,候选地址获取子模块可以具体包括:最小单元确定单元,用于确定待搜索地址中的最小单元;搜索单元,用于在地址库中查询最小单元对应的节点,并将节点下的所有分支地址作为搜索结果;其中,地址库中的地址按地址范围从小到大以树形结构存储;候选地址确定单元,用于将搜索结果作为候选地址。
在具体实施时,相似字符串确定模块可以包括:长度获取单元,用于获取第一文本的字符串长度L第一文本与第二文本字符串长度L第二文本;大小判断单元,用于判断L第一文本与L第二文本的大小;第一地址和第二地址确定单元,用于根据L第一文本与L第二文本的大小确定第一地址和第二地址;相似字符串确定单元,用于确定第一地址和第二地址的相似字符串。
在具体实施时,第一地址和第二地址确定单元具体可以用于在L第一文本>L第二文本时,将第一文本作为第一地址,第二文本作为第二地址;在L第一文本≤L第二文本时,将第一文本作为第二地址,第二文本作为第一地址。
在具体实施时,相似字符串确定单元具体可以用于对第二地址中的每个字符执行以下步骤:S201,判断第二地址的第x个字符是否包含在第一地址中,其中,x=L第二地址;如果第二地址的第x个字符未包含在第一地址中,则执行步骤S202;如果第二地址的第x个字符包含在第一地址中,则执行步骤S204;S202,令x=x-1,执行步骤S203;S203,判断x是否等于0;如果等于,则结束;如果不等于,则执行步骤S201;S204,令循环计数i=1,其中,当i=1时,执行步骤S205;205,判断x是否等于1;如果等于,则结束;如果不等于,则执行步骤S206;S206,判断第二地址的第x-1个字符是否包含在第一地址中;如果包含,则执行步骤S207;如果未包含,则执行步骤S208;S207,令x=x-1,i=i+1,并执行步骤S205;S208,将第x个字符至第x-i+1个字符作为第二地址与第一地址的相似字符串;并执行步骤S209;S209,令x=x-i;执行步骤205。
在具体实施时,结构相似度确定模块具体可以包括:条件概率确定子模块,用于确定相似字符串在第二地址中出现的条件概率;结构相似度确定子模块,用于根据该条件概率确定相似字符串与第二地址的相似度。
在具体实施时,条件概率确定子模块可以根据下式得到相似字符串在第二地址中出现的条件概率:其中,posB为该相似字符串的最后一个字符在第二地址中的位置;end_point为该相似字符串的第一个字符在第二地址中的位置;L第二地址为第二地址的长度;posA为该相似字符串的最后一个字符在第一地址中的位置;L第一地址为第一地址的长度,w依次取小于等于相似字符串个数的整数。
优选地,文本相似度确定模块具体用于确定第一文本和第二文本的相似度为max{s1,s2,……sw},其中,s1,s2,……sw分别为第一文本与第二文本的多个相似字符串与第二地址的结构相似度。
采用本申请实施例中的方案,先确定第一文本与第二文本的相似字符串,再根据相似字符串与某一文本的结构相似度来确定文本之间的相似度,因此,两个文本之间的相似度与彼此之间的相似字符串的长度相关,因此,与现有技术中仅考虑文字重合度的方法相比,准确度更高。
另外,现有技术中的方案需要将被比较的两个文本都向量化,所以要对两个文本都做一次循环比较,处理时间较长,而本申请实施例中的方案是将两个文本中较短的文本进行循环比较,减少了处理时间,提升了效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种文本相似度确定方法,其特征在于,包括:
获取第一文本与第二文本;
确定所述第一文本与所述第二文本的相似字符串;
确定所述相似字符串与所述第一文本或第二文本的结构相似度;所述结构相似度是指所述相似字符串在第一文本或第二文本中出现的条件概率;其中,所述相似字符串在第一文本或第二文本中出现的条件概率是根据所述相似字符串的第一个字符和最后一个字符在第二地址中的位置、所述第二地址的长度、所述相似字符串的最后一个字符在第一地址中的位置以及第一地址的长度计算得到的;其中,所述第一地址是第一文本或第二文本中长度较长的文本;所述第二地址是第一文本或第二文本中长度较短的文本;
根据所述结构相似度,确定所述第一文本与所述第二文本的相似度。
2.根据权利要求1所述的方法,其特征在于,所述第一文本和所述第二文本分别为待搜索地址和候选地址。
3.根据权利要求2所述的方法,其特征在于,获取第一文本与第二文本具体包括:
接收用户输入的字符,其中,所述字符包括待搜索地址;
从用户输入的字符中提取所述待搜索地址;
获取地址库中与所述待搜索地址相关的候选地址。
4.根据权利要求3所述的方法,其特征在于,获取地址库中与所述待搜索地址相关的候选地址具体包括:
确定所述待搜索地址中的最小单元;
在所述地址库中查询所述最小单元对应的节点,并将所述节点下的所有分支地址作为搜索结果;其中,所述地址库中的地址按地址范围从小到大以树形结构存储;
将搜索结果作为候选地址。
5.根据权利要求1所述的方法,其特征在于,确定第一文本和第二文本的相似字符串具体包括:
对所述第二地址中的每个字符执行以下步骤:
S1,判断所述第二地址的第x个字符是否包含在所述第一地址中,其中,x=L第二地址;其中,L第二地址为所述第二地址的长度;如果所述第二地址的第x个字符未包含在所述第一地址中,则执行步骤S2;如果所述第二地址的第x个字符包含在所述第一地址中,则执行步骤S4;
S2,令x=x-1,执行步骤S3;
S3,判断x是否等于0;如果等于,则结束;如果不等于,则执行步骤S1;
S4,令循环计数i=1,其中,当i=1时,执行步骤S5;
S5,判断x是否等于1;如果等于,则结束;如果不等于,则执行步骤S6;
S6,判断所述第二地址的第x-1个字符是否包含在所述第一地址中;如果包含,则执行步骤S7;如果未包含,则执行步骤S8;
S7,令x=x-1,i=i+1,并执行步骤S5;
S8,将所述第x个字符至第x-i+1个字符作为所述第二地址与所述第一地址的相似字符串;并执行步骤S9;
S9,令x=x-i;执行步骤S5。
6.根据权利要求1所述的方法,其特征在于,确定所述相似字符串与所述第一文本或第二文本的结构相似度具体包括:
确定所述相似字符串在所述第二地址中出现的条件概率;
根据所述条件概率确定所述相似字符串与所述第二地址的相似度;
确定所述相似字符串在所述第二地址中出现的条件概率具体包括:
根据下式得到所述相似字符串在所述第二地址中出现的条件概率:
其中,posB为所述相似字符串的最后一个字符在所述第二地址中的位置;end_point为所述相似字符串的第一个字符在所述第二地址中的位置;L第二地址为所述第二地址的长度;posA为所述相似字符串的最后一个字符在所述第一地址中的位置;L第一地址为所述第一地址的长度,w依次取小于等于相似字符串个数的整数;
根据所述结构相似度,确定所述第一文本与所述第二文本的相似度具体包括:
确定所述第一文本和所述第二文本的相似度为max{s1,s2,……sw},其中,所述s1,s2,……sw分别为所述第一文本与所述第二文本的第1个至第w个相似字符串与所述第二地址的结构相似度。
7.一种文本相似度确定装置,其特征在于,包括:
获取模块,用于获取第一文本与第二文本;
相似字符串确定模块,用于确定所述第一文本与所述第二文本的相似字符串;
结构相似度确定模块,用于确定所述相似字符串与所述第一文本或第二文本的结构相似度;所述结构相似度是指所述相似字符串在第一文本或第二文本中出现的条件概率;其中,所述相似字符串在第一文本或第二文本中出现的条件概率是根据所述相似字符串的第一个字符和最后一个字符在第二地址中的位置、所述第二地址的长度、所述相似字符串的最后一个字符在第一地址中的位置以及第一地址的长度计算得到的;其中,所述第一地址是第一文本或第二文本中长度较长的文本;所述第二地址是第一文本或第二文本中长度较短的文本;
文本相似度确定模块,用于根据所述结构相似度,确定所述第一文本与所述第二文本的相似度。
8.根据权利要求7所述的装置,其特征在于,所述第一文本和所述第二文本分别为待搜索地址和候选地址。
9.根据权利要求8所述的装置,其特征在于,获取模块具体包括:
接收子模块,用于接收用户输入的字符,其中,所述字符包括待搜索地址;
提取子模块,用于从用户输入的字符中提取所述待搜索地址;
候选地址获取子模块,用于获取地址库中与所述待搜索地址相关的候选地址。
10.根据权利要求9所述的装置,其特征在于,候选地址获取子模块具体包括:
最小单元确定单元,用于确定所述待搜索地址中的最小单元;
搜索单元,用于在所述地址库中查询所述最小单元对应的节点,并将所述节点下的所有分支地址作为搜索结果;其中,所述地址库中的地址按地址范围从小到大以树形结构存储;
候选地址确定单元,用于将搜索结果作为候选地址。
11.根据权利要求7所述的装置,其特征在于,相似字符串确定模块具体用于对所述第二地址中的每个字符依次执行以下步骤:S1,判断所述第二地址的第x个字符是否包含在所述第一地址中,其中,x=L第二地址;其中,所述L第二地址为所述第二地址的长度;如果所述第二地址的第x个字符未包含在所述第一地址中,则执行步骤S2;如果所述第二地址的第x个字符包含在所述第一地址中,则执行步骤S4;S2,令x=x-1,执行步骤S3;S3,判断x是否等于0;如果等于,则结束;如果不等于,则执行步骤S1;S4,令循环计数i=1,其中,当i=1时,执行步骤S5;S5,判断x是否等于1;如果等于,则结束;如果不等于,则执行步骤S6;S6,判断所述第二地址的第x-1个字符是否包含在所述第一地址中;如果包含,则执行步骤S7;如果未包含,则执行步骤S8;S7,令x=x-1,i=i+1,并执行步骤S5;S8,将所述第x个字符至第x-i+1个字符作为所述第二地址与所述第一地址的相似字符串;并执行步骤S9;S9,令x=x-i;执行步骤S5。
12.根据权利要求7所述的装置,其特征在于,结构相似度确定模块具体包括:
条件概率确定子模块,用于确定所述相似字符串在所述第二地址中出现的条件概率;
结构相似度确定子模块,用于根据所述条件概率确定所述相似字符串与所述第二地址的相似度;
条件概率确定子模块具体用于根据下式得到所述相似字符串在所述第二地址中出现的条件概率:其中,posB为所述相似字符串的最后一个字符在所述第二地址中的位置;end_point为所述相似字符串的第一个字符在所述第二地址中的位置;L第二地址为所述第二地址的长度;posA为所述相似字符串的最后一个字符在所述第一地址中的位置;L第一地址为所述第一地址的长度,w依次取小于等于相似字符串个数的整数;
文本相似度确定模块具体用于确定所述第一文本和所述第二文本的相似度为max{s1,s2,……sw},其中,所述s1,s2,……sw分别为所述第一文本与所述第二文本的第1个至第w个相似字符串,与所述第二地址的结构相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510848994.7A CN106815179B (zh) | 2015-11-27 | 2015-11-27 | 一种文本相似度确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510848994.7A CN106815179B (zh) | 2015-11-27 | 2015-11-27 | 一种文本相似度确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106815179A CN106815179A (zh) | 2017-06-09 |
CN106815179B true CN106815179B (zh) | 2020-10-20 |
Family
ID=59103377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510848994.7A Active CN106815179B (zh) | 2015-11-27 | 2015-11-27 | 一种文本相似度确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815179B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492213B (zh) * | 2017-09-11 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 句子相似度计算方法和装置 |
CN109597878B (zh) * | 2018-11-13 | 2020-06-05 | 北京合享智慧科技有限公司 | 一种确定文本相似度的方法及相关装置 |
CN111753147A (zh) | 2020-06-27 | 2020-10-09 | 百度在线网络技术(北京)有限公司 | 相似度处理方法、装置、服务器及存储介质 |
CN112100381B (zh) * | 2020-09-22 | 2022-05-17 | 福建天晴在线互动科技有限公司 | 一种文本相似度进行量化的方法及其系统 |
CN112559658B (zh) * | 2020-12-08 | 2022-12-30 | 中国科学技术大学 | 一种地址匹配方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014191777A (ja) * | 2013-03-28 | 2014-10-06 | Nippon Hoso Kyokai <Nhk> | 語義解析装置、及びプログラム |
CN104252445A (zh) * | 2013-06-26 | 2014-12-31 | 华为技术有限公司 | 文档相似度计算方法、近似重复文档检测方法及装置 |
-
2015
- 2015-11-27 CN CN201510848994.7A patent/CN106815179B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014191777A (ja) * | 2013-03-28 | 2014-10-06 | Nippon Hoso Kyokai <Nhk> | 語義解析装置、及びプログラム |
CN104252445A (zh) * | 2013-06-26 | 2014-12-31 | 华为技术有限公司 | 文档相似度计算方法、近似重复文档检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
字符串相似度度量中LCS和GST算法比较;于海英;《电子科技》;20110315;第24卷(第3期);第101-103页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106815179A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815179B (zh) | 一种文本相似度确定方法及装置 | |
US10783171B2 (en) | Address search method and device | |
CN106033416B (zh) | 一种字符串处理方法及装置 | |
CN107102981B (zh) | 词向量生成方法和装置 | |
US11651014B2 (en) | Source code retrieval | |
CN103106199B (zh) | 文本检索方法和装置 | |
CN107784110B (zh) | 一种索引建立方法及装置 | |
WO2017012243A1 (zh) | 语音识别方法、装置、终端设备及存储介质 | |
CN112083812B (zh) | 联想词确定方法、装置、存储介质和电子设备 | |
CN111325033B (zh) | 实体识别方法、装置、电子设备及计算机可读存储介质 | |
US20150356173A1 (en) | Search device | |
CN111611471B (zh) | 一种搜索方法、装置及电子设备 | |
CN110555108A (zh) | 事件脉络生成方法、装置、设备及存储介质 | |
CN109614478B (zh) | 词向量模型的构建方法、关键词匹配方法及装置 | |
CN106202127B (zh) | 一种垂直搜索引擎对检索请求的处理方法及装置 | |
CN113656575A (zh) | 训练数据的生成方法、装置、电子设备及可读介质 | |
CN112100313B (zh) | 一种基于最细粒度切分的数据索引方法及系统 | |
CN112579713B (zh) | 地址识别方法、装置、计算设备及计算机存储介质 | |
CN112579774B (zh) | 模型训练方法、模型训练装置及终端设备 | |
CN112380445B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN113139379B (zh) | 信息识别方法和系统 | |
CN111061869B (zh) | 一种基于TextRank的应用偏好文本分类方法 | |
CN110046180B (zh) | 一种用于定位相似实例的方法、装置和电子设备 | |
CN114003685A (zh) | 分词位置索引构建方法及其装置、文档检索方法及其装置 | |
CN110543622A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211112 Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang Patentee after: Alibaba (China) Network Technology Co., Ltd Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands Patentee before: Alibaba Group Holdings Limited |
|
TR01 | Transfer of patent right |