CN103678708A - 一种识别预设地址的方法及装置 - Google Patents

一种识别预设地址的方法及装置 Download PDF

Info

Publication number
CN103678708A
CN103678708A CN201310746785.2A CN201310746785A CN103678708A CN 103678708 A CN103678708 A CN 103678708A CN 201310746785 A CN201310746785 A CN 201310746785A CN 103678708 A CN103678708 A CN 103678708A
Authority
CN
China
Prior art keywords
address
default
vocabulary
identified
similar value
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
Application number
CN201310746785.2A
Other languages
English (en)
Other versions
CN103678708B (zh
Inventor
黄柏林
李名进
张晔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201310746785.2A priority Critical patent/CN103678708B/zh
Publication of CN103678708A publication Critical patent/CN103678708A/zh
Application granted granted Critical
Publication of CN103678708B publication Critical patent/CN103678708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种识别预设地址的方法及装置,属于计算机技术领域。所述方法包括:将待识别的地址在预先生成的词汇树中进行遍历查询;根据待识别的地址在词汇树中匹配到的词汇的相似值,计算待识别的地址与匹配到的词汇对应的至少一个预设地址之间的相似值;当待识别的地址对应的相似值大于预设相似值时,则确定待识别的地址为预设地址。本公开预先生成的词汇树,对待识别的地址进行遍历查询,并根据查询到的词汇的相似值计算待识别地址的相似值,以根据待识别的地址的相似值最终确定识别该待识别的地址是否属于预设地址。避免了待识别的地址中增加了阻碍识别的字符后无法识别出预设地址的缺陷,提高了识别预设地址的准确率。

Description

一种识别预设地址的方法及装置
技术领域
本公开涉及计算机技术领域,特别涉及一种识别预设地址的方法及装置。
背景技术
随着电子商务的发展,网络购物已经在人们的生活中越来越普及。在网络购物中紧俏的商品会被不良用户大量购入,从而影响正常用户的购物体验。因此,电子商务网站有必要提供一种对大量购入的不良用户进行识别,以保护正常用户购物体验的方法。
发明内容
为了解决上述技术的问题,本公开实施例提供了一种识别预设地址的方法及装置。所述技术方案如下:
一方面,提供了一种识别预设地址的方法,所述方法包括:
将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的预设地址进行分词处理后的所有词汇;
根据所述待识别的地址在所述词汇树中查询到的词汇的相似值,计算所述待识别的地址对应的相似值;
当所述待识别的地址对应的相似值大于预设相似度时,则确定所述待识别的地址为预设地址。
另一方面,提供了一种识别预设地址的装置,所述装置包括:
查询模块,用于将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的预设地址进行分词处理后的所有词汇;
第一计算模块,用于根据所述待识别的地址在所述词汇树中查询到的词汇的相似值,计算所述待识别的地址对应的相似值;
识别模块,用于当所述待识别的地址对应的相似值大于预设相似度时,则确定所述待识别的地址为预设地址。
还一方面,提供了一种服务器,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值;
根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值;
当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址。
本公开实施例提供的技术方案带来的有益效果是:
通过预先生成的词汇树,对待识别的地址进行遍历查询,并根据查询到的词汇的相似值计算待识别地址的相似值,以根据待识别的地址的相似值最终确定识别该待识别的地址是否属于预设地址。避免了待识别的地址中增加了阻碍识别的字符后无法识别出预设地址的缺陷,提高了识别预设地址的准确率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例一提供的识别预设地址的方法流程图;
图2是本公开实施例二提供的识别预设地址的方法中在历史地址集合中确定预设地址的流程图;
图3是本公开实施例二提供的识别预设地址的方法中生成词汇树的流程图;
图4是本公开实施例二提供的识别预设地址的方法中生成的词汇树的结构示意图;
图5是本公开实施例三提供的识别预设地址的方法流程图;
图6是本公开实施例四提供的识别预设地址的装置结构示意图;
图7是本公开实施例四提供的服务器设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
实施例一
本公开实施例提供了一种识别预设地址的方法,参见图1,方法流程包括:
在步骤101中,将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值,本实施例的方法用于服务器中;
在步骤102中,根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值,本实施例的方法用于服务器中;
在步骤103中,当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址,本实施例的方法用于服务器中。
本公开实施例通过预先生成的词汇树,对待识别的地址进行遍历查询,并根据查询到的词汇的相似值计算待识别地址的相似值,以根据待识别的地址的相似值最终确定识别该待识别的地址是否属于预设地址。避免了待识别的地址中增加了阻碍识别的字符后无法识别出预设地址的缺陷,提高了识别预设地址的准确率。
实施例二
本公开实施例提供了一种识别预设地址的方法中在历史地址集合中确定预设地址的方法,参见图2。
其中,方法流程包括:
在步骤201中,在预先存储的历史地址集合中选取第一地址和第二地址,本实施例的方法用于服务器中。
首先,根据预设的区域信息和文字排列顺序,对记录的历史地址集合中的地址进行排序。
其中,历史地址集合为历史订单中对应的所有收货地址的集合。地址是由省、市、区、街道、楼宇、门牌号等地址基础信息,并按照当前排列的地址基础信息的排列顺序组成的。
在生成词汇树的过程中,首先需要在历史地址集合中对所有历史地址进行排序。由于省、市、区这几个地址基础信息中的区域信息是可以被标准化的,可以按照预设的省市区对应的区域信息排列顺序进行排序,以表1为例,表1中描述的为预设的区域信息排列顺序。
区域信息排列顺序
北京市东城区
北京市西城区
北京市朝阳区
北京市海淀区
………………
表1
进一步的,对地址中的街道、楼宇、门牌号的排序方式则按照文字排列顺序进行排序。其中,文字排列顺序的方式包含单不限于以下方式:当文字为汉字时,根据每一个汉字的拼音顺序进行排序;当文字为英文单词时,根据英文字母排列顺序进行排序;当文字为数字时,根据数字从小到大的排列顺继续进行排序。当文字中涉及到汉字、英文、数字多种类型的文字时,可以按照先英文、再数字、最后汉字的方式进行排序。其中,文字排序的方式在本公开实施例中并不限定。
例如对于以下地址:北京市海淀区中关村大街1号海龙电子城;北京市海淀区中关村银科大厦1楼;北京市海淀区中关村大街27号;北京市海淀区中关村丹棱街甲1号。为这些地址进行排序后如表2所示:
北京市海淀区中关村大街1号海龙电子城
北京市海淀区中关村大街27号
北京市海淀区中关村丹棱街甲1号
北京市海淀区中关村银科大厦1楼
表2
由于上述地址中区域信息都相同,因此从区域信息之后的街道开始进行对比,各个地址中都包含“中关村”三字,因此从“中关村”三字之后进行对比。由于“大街”二字中的拼音首字母为“DJ”,而“丹棱街”的拼音首字母为“DLJ”因此“丹棱街”需要排在“大街”之后;进一步的,数字“1号”大于“27号”因此包含该“1号”的地址排在首位,依次类推。另外,按照先数字,后文字的排列方式,“银科大厦”在数字“1号”的地址之后,并且排列“银科大厦”的拼音首字母为“YKDS”,因此将该地址排列在“丹棱街”对应的地址之后。
经过上述设定的排列规则,将历史地址集合中的所有地址进行排序,并将排序后的历史地址集合中首地址作为第一地址,首地址之后一位的地址作为第二地址。
在步骤202中,计算所述第一地址和所述第二地址之间的相似度,本实施例的方法用于服务器中。
在本公开实施例中,根据预设的相似度算法,不断重复的计算排序后的历史地址集合中第一地址即首地址与第二地址即首地址之后一位的地址之间的相似度,直至历史地址集合中所有地址计算完毕结束循环。其中,第一地址和第二地址会在每一次计算后重新设置,将历史地址集合中的每一个地址进行一次筛选。
从步骤202开始对历史地址集合中的地址进行相似度的计算,对整个历史地址集合进行相似度的计算过程是一个循环的过程,由于在步骤201中将历史地址集合中的所有地址进行了排序,因此地址相同或相近的地址会在排序后的历史地址集合中聚集在一起。进一步的,通过对历史地址集合中的地址进行相似度的计算,可以识别出这些聚集的地址中具备相似性的地址,最终将出现次数大于预设数值的具备相似性的地址确定为预设地址,即不良用户的收货地址。其中,由于这类预设地址经常会被不良用户输入一些不影响识别收货地址的数字或文字,因此通过保留具备相似性的地址中具有较长的地址字数的地址,最终确定预设地址。
这个对聚集的地址进行相似度计算的过程,通过历史地址集合中位于首位的首地址和该首地址之后一位的地址之间开始进行相似度的计算。当相似度大于预设相似度时执行步骤203,当相似度小于或等于预设相似度时则执行步骤204。
进一步的,步骤202中所使用的相似度算法可以包含但不限于以下算法:
最长公共子序列算法,SimHash算法,余弦相似度算法。
在步骤203中,当所述第一地址和第二地址之间的相似度大于或等于预设相似度时,则将所述第一地址和第二地址合并,并记录合并后的地址的合并次数,本实施例的方法用于服务器中。
其中,第一地址第二地址合并的方式为:将所述第一地址和所述第二地址中字数最多的地址作为合并后的地址。
并将该合并后的地址确定为第一地址,重新执行计算历史地址集合中第一地址与第二地址的相似度的流程,其中此时的第二地址则为上次计算过程中位于首位之后两位的地址,即在上次计算过程中在排序后的历史地址集合中位于第三位的地址。
相似度大于或等于预设相似度,则说明第一地址和第二地址属于具备相似性的地址。保留其中地址字数最多的地址作为历史地址集合中的首地址,并在历史地址集合中删除对比后字数较少的地址。
当前的步骤确定相似度大于或等于预设相似度后,则重复进行步骤202的过程。
在步骤204中,当所述合并后的地址的合并次数大于预设数值时,则确定所述合并后的地址为预设地址,并将所述合并后的地址加入预先建立的预设地址库中,本实施例的方法用于服务器中。
步骤202中不断进行计算,直至当相似度小于预设相似度时,判断合并后的地址的合并次输是否大于或等于预设数值,若计数器中的数值大于预设数值,则确定合并后的地址为预设地址。
此时,该合并后的地址为之前多次计算并保留的地址字数最长的具备相似性的地址,此时该合并后的地址位于历史地址集合中的首位。而相似度小于预设相似度,则说明该合并后的地址和当前位于该合并后的地址之后一位的地址不属于具备相似性的地址,可以判断出位于该合并后的地址之后一位的地址与之前计算的所有的地址并不属于聚集的地址,需要对合并后的地址之后一位的地址,以及合并后的地址之后两位的地址开始重新进行判断和计算。
因此,需要通过合并后的地址的合并次数,来判断之前计算并保留的具备相似性的地址是否属于预设地址。其中,通过设定预设数值作为判断计算并保留的具备相似性的地址是否属于预设地址的阈值。合并后的地址的合并次数大于或等于预设数值,则确定该合并后的地址为预设地址;合并后的地址的合并次数小于预设数值,则确定该合并后的地址为非预设地址。
这两种情况之后,则需要对合并后的地址的合并次数清零,并且需要对历史地址集合中的首地址进行重新确定。
此时,将合并后的地址的后一个地址作为历史地址集合中第一地址。
整个步骤202开始的循环过程需要将历史地址集合中的每一个地址都计算一遍,直至计算完毕后跳出循环过程。因此,确定预设地址的流程也执行完毕,此时需要根据预设地址,进行生成词汇树的步骤。
进一步的,对于在历史地址集合中确定的预设地址,可以对其中的部分不用的字符进行删除,如预设地址中携带的门牌号,联系电话等内容,因此在确定了所有预设地址后,还可以执行的步骤为:
在预设地址中去除预设的门牌号信息和预设长度的数字。
例如:XX房、XX单元、XX室等。
在本公开实施例中还提供了一种识别预设地址的方法中生成词汇树的方法,如图3所示,该方法流程包括。
在步骤301中,将预先建立的预设地址库中的预设地址进行分词处理,并记录分词后每个词汇与其对应的预设地址的对应关系,本实施例的方法用于服务器中。
由于分词后的词汇可能会出现在一个或多个预设地址中,因此在对预设地址进行分词时,需要记录该预设地址与属于该预设地址的所有词汇的对应关系。
在步骤302中,根据所述预设地址的字数和所述每个词汇的字数,计算所述每个词汇在对应的所述预设地址中的相似值,本实施例的方法用于服务器中。
其中,每个词汇的相似值=词汇的字数/词汇所属预设地址的字数。
在步骤303中,根据预设的多模匹配算法,构造包含所有词汇的词汇树,其中所述词汇树中每个分支对应每个词汇,所述每个词汇中的每个文字按顺序作为每个分支中的每层节点,所述每个词汇的最后一个文字带有结束状态标记点并指向所述词汇树的根节点,本实施例的方法用于服务器中。
其中,多模匹配算法为AC(Aho-Corasick automaton,AC自动机)自动机算法,根据该算法构造的词汇树,包括一个根节点r0,每个分词后的词汇对应一条词汇树中的分支,每个词汇中的每个字按照先后顺序构成该分支中的每一层节点,每个词汇中的最后一个字的属性中带有该分支中的结束状态标记点。
当在词汇树中进行遍历时,如果没匹配到当前字的下一个字时(譬如字是A),会转向失败指针所指向的节点继续匹配,如果在失败指针节点无法匹配A时,会继续回到失败指针的失败指针节点来匹配,如果一直都没法匹配的话,最后会沿着失败指针回到根节点。如果在根节点也无法匹配A,则忽略A,从根开始匹配下一个字。
当在词汇树中进行遍历时,如果遍历到结束状态标记点时,继续匹配下一个字,如果不匹配就回到失败指针,示例中会回到根节点是因为示例的结束状态标记点的失败指针刚好都指向根节点,而且没有儿子节点,所以在匹配下一个字时会导致无法匹配而回到失败指针,所以会沿着失败指针回到根节点。
例如,夏日西路199号,解放南路18号,这两个预设地址进行分词后得到:夏日;西路;199;号;解放;南路;18;号,这几个词汇。生成的词汇树如图4所示。
本公开实施例通过预先生成的词汇树,对待识别的地址进行遍历查询,并根据查询到的词汇的相似值计算待识别地址的相似值,以根据待识别的地址的相似值最终确定识别该待识别的地址是否属于预设地址。避免了待识别的地址中增加了阻碍识别的字符后无法识别出预设地址的缺陷,提高了识别预设地址的准确率。
实施例三
本公开实施例提供了一种识别预设地址的方法,参见图5。
其中,方法流程包括:
在步骤501中,将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值,本实施例的方法用于服务器中。
当服务器接收到用户的订单时,将订单中的收货地址作为待识别的地址进行预设地址的识别流程。
其中,遍历的过程可以进一步的为:
在步骤5011中,根据所述待识别的地址中文字的排列顺序,将所述待识别的地址中文字在所述词汇树中进行遍历查询,本实施例的方法用于服务器中;
在步骤5012中,当在所述词汇树中遍历到的文字带有结束状态标记点时,则确定当前遍历到的分支对应的词汇为匹配到的词汇,本实施例的方法用于服务器中。
在步骤502中,根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值,本实施例的方法用于服务器中。
其中,计算待识别的地址对应的相似值的过程可以进一步的为:
在步骤5021中,根据预先存储的每个词汇与其对应的预设地址的对应关系,分别确定所述匹配到的词汇所对应的一个或多个预设地址,并确定所述匹配到的词汇在所述一个或多个预设地址中的相似值,本实施例的方法用于服务器中。
在步骤5022中,计算所述待识别的地址在属于同一个预设地址中匹配到的词汇的相似值之和,并在计算后将相似值之和中的最大值确定为所述待识别的地址对应的相似值,本实施例的方法用于服务器中。
由于每个查询到的词汇会对应一个或多个预设地址,因此需要选取属于同一个预设地址中包括的所有的查询到的词汇对应的相似值进行计算,得到待识别的地址对应的一个或多个相似值,取这些相似值中最大的作为待识别的地址的相似值。
在步骤503中,当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址,本实施例的方法用于服务器中。
例如:待识别的地址为:夏日西路龙新桥北199,以实施例二中图4的词汇树为例进行说明。将该待识别的地址进行遍历得到的遍历点为:r0,r3,r9,r0,r4,r10,r0,r0,r0,r0,r0,r2,r7,r13,r0,r15。其中,确定出遍历到词汇为:夏日,西路,199,分别确定每个词汇都出现的预设地址中每个词汇的相似值,并进行累加求和。例如:第一个地址对应的每个词汇的相似值之和为87.5%;第二个地址对应的每个词汇的相似值之和为14.5%。因此将87.5%作为待识别的地址对应的相似值,并将该值与预设相似值进行对比,假设预设相似值为80%,则该待识别的地址可以确定为预设地址,需要对该待识别的地址对应的订单进行拦截处理。
实施例四
本公开实施例提供了一种识别预设地址的装置,参见图6,该装置包括:
查询模块601,用于将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值;
第一计算模块602,用于根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值;
第一确定模块603,用于当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址。
其中,所述装置还包括:
分词模块604,用于将预先建立的预设地址库中的预设地址进行分词处理,并记录分词后每个词汇与其对应的预设地址的对应关系;
第二计算模块605,用于根据所述预设地址的字数和所述每个词汇的字数,计算所述每个词汇在对应的所述预设地址中的相似值;
词汇树构造模块606,用于根据预设的多模匹配算法,构造包含所有词汇的词汇树,其中所述词汇树中每个分支对应每个词汇,所述每个词汇中的每个文字按顺序作为每个分支中的每层节点,所述每个词汇的最后一个文字带有结束状态标记点并指向所述词汇树的根节点。
其中,所述查询模块601,包括:
查询单元,用于根据所述待识别的地址中文字的排列顺序,将所述待识别的地址中文字在所述词汇树中进行遍历查询;
第一确定单元,用于当在所述词汇树中遍历到的文字带有结束状态标记点时,则确定当前遍历到的分支对应的词汇为匹配到的词汇。
其中,所述第一计算模块602,包括:
第二确定单元,用于根据预先存储的每个词汇与其对应的预设地址的对应关系,分别确定所述匹配到的词汇所对应的一个或多个预设地址,并确定所述匹配到的词汇在所述一个或多个预设地址中的相似值;
计算单元,用于计算所述待识别的地址在属于同一个预设地址中匹配到的词汇的相似值之和,并在计算后将相似值之和中的最大值确定为所述待识别的地址对应的相似值。
其中,所述装置还包括:
选取模块607,用于在预先存储的历史地址集合中选取第一地址和第二地址;
第三计算模块608,用于计算所述第一地址和所述第二地址之间的相似度;
合并模块609,用于当所述第一地址和第二地址之间的相似度大于或等于预设相似度时,则将所述第一地址和第二地址合并,并记录合并后的地址的合并次数;
第二确定模块610,用于当所述合并后的地址的合并次数大于预设数值时,则确定所述合并后的地址为预设地址,并将所述合并后的地址加入预先建立的预设地址库中。
其中,所述合并模块609用于:
将所述第一地址和所述第二地址中字数最多的地址作为合并后的地址。
其中,所述装置还包括:
去除模块611,用于在所述预设地址库中的预设地址中去除预设的门牌号信息和预设长度的数字。
本公开实施例通过预先生成的词汇树,对待识别的地址进行遍历查询,并根据查询到的词汇的相似值计算待识别地址的相似值,以根据待识别的地址的相似值最终确定识别该待识别的地址是否属于预设地址。避免了待识别的地址中增加了阻碍识别的字符后无法识别出预设地址的缺陷,提高了识别预设地址的准确率。
实施例五
本公开实施例提供了一种服务器设备,参见图7,是本公开实施例中服务器设备的结构示意图。参见图7,该服务器可以用于实施上述实施例中提供的方法。
该服务器设备1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器设备1900上执行存储介质1930中的一系列指令操作。
服务器设备1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本公开实施例通过预先生成的词汇树,对待识别的地址进行遍历查询,并根据查询到的词汇的相似值计算待识别地址的相似值,以根据待识别的地址的相似值最终确定识别该待识别的地址是否属于预设地址。避免了待识别的地址中增加了阻碍识别的字符后无法识别出预设地址的缺陷,提高了识别预设地址的准确率。
此外,典型地,本公开所述的终端可为各种手持终端设备,例如手机、个人数字助理(PDA)等,因此本公开的保护范围不应限定为某种特定类型的终端。
此外,根据本公开的方法还可以被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
此外,应该明白的是,本文所述的计算机可读存储设备(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接RambusRAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外先、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
尽管前面公开的内容示出了本公开的示例性实施例,但是应当注意,在不背离权利要求限定的本公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本公开的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
以上所述的具体实施方式,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施方式而已,并不用于限定本公开的保护范围,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (15)

1.一种识别预设地址的方法,其特征在于,所述方法包括:
将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值;
根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值;
当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址。
2.根据权利要求1所述的方法,其特征在于,所述将待识别的地址在预先生成的词汇树中进行遍历查询之前,所述方法还包括:
将预先建立的预设地址库中的预设地址进行分词处理,并记录分词后每个词汇与其对应的预设地址的对应关系;
根据所述预设地址的字数和所述每个词汇的字数,计算所述每个词汇在对应的所述预设地址中的相似值;
根据预设的多模匹配算法,构造包含所有词汇的词汇树,其中所述词汇树中每个分支对应每个词汇,所述每个词汇中的每个文字按顺序作为每个分支中的每层节点,所述每个词汇的最后一个文字带有结束状态标记点并指向所述词汇树的根节点。
3.根据权利要求2所述的方法,其特征在于,所述将待识别的地址在预先生成的词汇树中进行遍历查询,包括:
根据所述待识别的地址中文字的排列顺序,将所述待识别的地址中文字在所述词汇树中进行遍历查询;
当在所述词汇树中遍历到的文字带有结束状态标记点时,则确定当前遍历到的分支对应的词汇为匹配到的词汇。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间相似值,包括:
根据预先存储的每个词汇与其对应的预设地址的对应关系,分别确定所述匹配到的词汇所对应的一个或多个预设地址,并确定所述匹配到的词汇在所述一个或多个预设地址中的相似值;
计算所述待识别的地址在属于同一个预设地址中匹配到的词汇的相似值之和,并在计算后将相似值之和中的最大值确定为所述待识别的地址对应的相似值。
5.根据权利要求1所述的方法,其特征在于,所述将待识别的地址在预先生成的词汇树中进行遍历查询之前,所述方法还包括:
在预先存储的历史地址集合中选取第一地址和第二地址;
计算所述第一地址和所述第二地址之间的相似度;
当所述第一地址和第二地址之间的相似度大于或等于预设相似度时,则将所述第一地址和第二地址合并,并记录合并后的地址的合并次数;
当所述合并后的地址的合并次数大于预设数值时,则确定所述合并后的地址为预设地址,并将所述合并后的地址加入预先建立的预设地址库中。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一地址和第二地址合并,包括:
将所述第一地址和所述第二地址中字数最多的地址作为合并后的地址。
7.根据权利要求5所述的方法,其特征在于,所述将所述合并后的地址加入预先建立的预设地址库中之后,所述方法还包括:
在所述预设地址库中的预设地址中去除预设的门牌号信息和预设长度的数字。
8.一种识别预设地址的装置,其特征在于,所述装置包括:
查询模块,用于将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值;
第一计算模块,用于根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值;
第一确定模块,用于当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
分词模块,用于将预先建立的预设地址库中的预设地址进行分词处理,并记录分词后每个词汇与其对应的预设地址的对应关系;
第二计算模块,用于根据所述预设地址的字数和所述每个词汇的字数,计算所述每个词汇在对应的所述预设地址中的相似值;
词汇树构造模块,用于根据预设的多模匹配算法,构造包含所有词汇的词汇树,其中所述词汇树中每个分支对应每个词汇,所述每个词汇中的每个文字按顺序作为每个分支中的每层节点,所述每个词汇的最后一个文字带有结束状态标记点并指向所述词汇树的根节点。
10.根据权利要求9所述的装置,其特征在于,所述查询模块,包括:
查询单元,用于根据所述待识别的地址中文字的排列顺序,将所述待识别的地址中文字在所述词汇树中进行遍历查询;
第一确定单元,用于当在所述词汇树中遍历到的文字带有结束状态标记点时,则确定当前遍历到的分支对应的词汇为匹配到的词汇。
11.根据权利要求10所述的装置,其特征在于,所述第一计算模块,包括:
第二确定单元,用于根据预先存储的每个词汇与其对应的预设地址的对应关系,分别确定所述匹配到的词汇所对应的一个或多个预设地址,并确定所述匹配到的词汇在所述一个或多个预设地址中的相似值;
计算单元,用于计算所述待识别的地址在属于同一个预设地址中匹配到的词汇的相似值之和,并在计算后将相似值之和中的最大值确定为所述待识别的地址对应的相似值。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
选取模块,用于在预先存储的历史地址集合中选取第一地址和第二地址;
第三计算模块,用于计算所述第一地址和所述第二地址之间的相似度;
合并模块,用于当所述第一地址和第二地址之间的相似度大于或等于预设相似度时,则将所述第一地址和第二地址合并,并记录合并后的地址的合并次数;
第二确定模块,用于当所述合并后的地址的合并次数大于预设数值时,则确定所述合并后的地址为预设地址,并将所述合并后的地址加入预先建立的预设地址库中。
13.根据权利要求12所述的装置,其特征在于,所述合并模块用于:
将所述第一地址和所述第二地址中字数最多的地址作为合并后的地址。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
去除模块,用于在所述预设地址库中的预设地址中去除预设的门牌号信息和预设长度的数字。
15.一种服务器,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
将待识别的地址在预先生成的词汇树中进行遍历查询,其中所述词汇树中包含预先存储的至少一个预设地址进行分词处理后的词汇以及词汇对应的相似值;
根据所述待识别的地址在所述词汇树中匹配到的词汇的相似值,计算所述待识别的地址与所述匹配到的词汇对应的至少一个预设地址之间的相似值;
当所述待识别的地址对应的相似值大于预设相似值时,则确定所述待识别的地址为预设地址。
CN201310746785.2A 2013-12-30 2013-12-30 一种识别预设地址的方法及装置 Active CN103678708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310746785.2A CN103678708B (zh) 2013-12-30 2013-12-30 一种识别预设地址的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310746785.2A CN103678708B (zh) 2013-12-30 2013-12-30 一种识别预设地址的方法及装置

Publications (2)

Publication Number Publication Date
CN103678708A true CN103678708A (zh) 2014-03-26
CN103678708B CN103678708B (zh) 2017-01-18

Family

ID=50316252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310746785.2A Active CN103678708B (zh) 2013-12-30 2013-12-30 一种识别预设地址的方法及装置

Country Status (1)

Country Link
CN (1) CN103678708B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598887A (zh) * 2015-01-29 2015-05-06 华东师范大学 用于非规范格式手写中文地址的识别方法
CN105389722A (zh) * 2015-11-20 2016-03-09 小米科技有限责任公司 恶意订单识别方法及装置
CN106528176A (zh) * 2016-11-28 2017-03-22 深圳市金立通信设备有限公司 一种地址判定方法及终端
CN108460046A (zh) * 2017-02-21 2018-08-28 菜鸟智能物流控股有限公司 一种地址聚合的方法以及设备
CN108763215A (zh) * 2018-05-30 2018-11-06 中智诚征信有限公司 一种基于地址分词的地址存储方法、装置及计算机设备
CN108960645A (zh) * 2018-07-10 2018-12-07 阿里巴巴集团控股有限公司 一种风险防控方法、系统及终端设备
CN109145073A (zh) * 2018-08-28 2019-01-04 成都市映潮科技股份有限公司 一种基于分词算法的地址解析方法及装置
CN109509048A (zh) * 2017-09-15 2019-03-22 北京京东尚科信息技术有限公司 恶意订单识别方法、装置、电子设备及存储介质
CN110019659A (zh) * 2017-07-31 2019-07-16 北京国双科技有限公司 裁判文书的检索方法及装置
CN110334162A (zh) * 2019-05-09 2019-10-15 德邦物流股份有限公司 地址识别方法及装置
CN110892394A (zh) * 2017-06-29 2020-03-17 亚马逊科技公司 对包裹交付的不正确地址的标识
CN111079386A (zh) * 2019-11-11 2020-04-28 浙江省北大信息技术高等研究院 地址识别方法、装置、设备及存储介质
CN111680500A (zh) * 2020-06-10 2020-09-18 深圳前海微众银行股份有限公司 地址识别方法、装置、设备与计算机可读存储介质
CN112184350A (zh) * 2019-07-04 2021-01-05 中国移动通信集团江西有限公司 一种用户订单处理方法、装置、存储介质和服务器
CN112651232A (zh) * 2020-12-29 2021-04-13 中国平安人寿保险股份有限公司 一种地址纠错方法、装置、设备及存储介质
CN113761909A (zh) * 2021-01-18 2021-12-07 北京京东振世信息技术有限公司 一种识别地址的方法及装置
CN113836357A (zh) * 2021-10-12 2021-12-24 北京商越网络科技有限公司 基于文本相似度计算的地址库数据处理方法和控制系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005086A1 (en) * 2008-07-03 2010-01-07 Google Inc. Resource locator suggestions from input character sequence
CN101882163A (zh) * 2010-06-30 2010-11-10 中国科学院地理科学与资源研究所 一种基于匹配规则的模糊中文地址地理赋值方法
CN102024024A (zh) * 2010-11-10 2011-04-20 百度在线网络技术(北京)有限公司 地址数据库的建构方法及装置
CN102289467A (zh) * 2011-07-22 2011-12-21 浙江百世技术有限公司 确定目标网点的方法和装置
CN102682017A (zh) * 2011-03-15 2012-09-19 阿里巴巴集团控股有限公司 一种信息检索方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005086A1 (en) * 2008-07-03 2010-01-07 Google Inc. Resource locator suggestions from input character sequence
CN101882163A (zh) * 2010-06-30 2010-11-10 中国科学院地理科学与资源研究所 一种基于匹配规则的模糊中文地址地理赋值方法
CN102024024A (zh) * 2010-11-10 2011-04-20 百度在线网络技术(北京)有限公司 地址数据库的建构方法及装置
CN102682017A (zh) * 2011-03-15 2012-09-19 阿里巴巴集团控股有限公司 一种信息检索方法和系统
CN102289467A (zh) * 2011-07-22 2011-12-21 浙江百世技术有限公司 确定目标网点的方法和装置

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598887B (zh) * 2015-01-29 2017-11-24 华东师范大学 用于非规范格式手写中文地址的识别方法
CN104598887A (zh) * 2015-01-29 2015-05-06 华东师范大学 用于非规范格式手写中文地址的识别方法
CN105389722B (zh) * 2015-11-20 2019-12-13 小米科技有限责任公司 恶意订单识别方法及装置
CN105389722A (zh) * 2015-11-20 2016-03-09 小米科技有限责任公司 恶意订单识别方法及装置
CN106528176A (zh) * 2016-11-28 2017-03-22 深圳市金立通信设备有限公司 一种地址判定方法及终端
CN108460046A (zh) * 2017-02-21 2018-08-28 菜鸟智能物流控股有限公司 一种地址聚合的方法以及设备
CN110892394B (zh) * 2017-06-29 2023-11-17 亚马逊科技公司 对包裹交付的不正确地址的标识
CN110892394A (zh) * 2017-06-29 2020-03-17 亚马逊科技公司 对包裹交付的不正确地址的标识
CN110019659B (zh) * 2017-07-31 2021-07-30 北京国双科技有限公司 裁判文书的检索方法及装置
CN110019659A (zh) * 2017-07-31 2019-07-16 北京国双科技有限公司 裁判文书的检索方法及装置
CN109509048B (zh) * 2017-09-15 2020-09-29 北京京东尚科信息技术有限公司 恶意订单识别方法、装置、电子设备及存储介质
CN109509048A (zh) * 2017-09-15 2019-03-22 北京京东尚科信息技术有限公司 恶意订单识别方法、装置、电子设备及存储介质
CN108763215A (zh) * 2018-05-30 2018-11-06 中智诚征信有限公司 一种基于地址分词的地址存储方法、装置及计算机设备
CN108763215B (zh) * 2018-05-30 2022-04-29 中智诚征信有限公司 一种基于地址分词的地址存储方法、装置及计算机设备
CN112598321A (zh) * 2018-07-10 2021-04-02 创新先进技术有限公司 一种风险防控方法、系统及终端设备
WO2020010982A1 (zh) * 2018-07-10 2020-01-16 阿里巴巴集团控股有限公司 一种风险防控方法、系统及终端设备
CN112598321B (zh) * 2018-07-10 2024-07-02 创新先进技术有限公司 一种风险防控方法、系统及终端设备
CN108960645B (zh) * 2018-07-10 2020-11-13 创新先进技术有限公司 一种风险防控方法、系统及终端设备
CN108960645A (zh) * 2018-07-10 2018-12-07 阿里巴巴集团控股有限公司 一种风险防控方法、系统及终端设备
CN109145073A (zh) * 2018-08-28 2019-01-04 成都市映潮科技股份有限公司 一种基于分词算法的地址解析方法及装置
CN110334162B (zh) * 2019-05-09 2021-11-09 德邦物流股份有限公司 地址识别方法及装置
CN110334162A (zh) * 2019-05-09 2019-10-15 德邦物流股份有限公司 地址识别方法及装置
CN112184350A (zh) * 2019-07-04 2021-01-05 中国移动通信集团江西有限公司 一种用户订单处理方法、装置、存储介质和服务器
CN111079386B (zh) * 2019-11-11 2023-08-25 杭州未名信科科技有限公司 地址识别方法、装置、设备及存储介质
CN111079386A (zh) * 2019-11-11 2020-04-28 浙江省北大信息技术高等研究院 地址识别方法、装置、设备及存储介质
CN111680500B (zh) * 2020-06-10 2023-07-14 深圳前海微众银行股份有限公司 地址识别方法、装置、设备与计算机可读存储介质
CN111680500A (zh) * 2020-06-10 2020-09-18 深圳前海微众银行股份有限公司 地址识别方法、装置、设备与计算机可读存储介质
CN112651232A (zh) * 2020-12-29 2021-04-13 中国平安人寿保险股份有限公司 一种地址纠错方法、装置、设备及存储介质
CN112651232B (zh) * 2020-12-29 2023-07-25 中国平安人寿保险股份有限公司 一种地址纠错方法、装置、设备及存储介质
CN113761909A (zh) * 2021-01-18 2021-12-07 北京京东振世信息技术有限公司 一种识别地址的方法及装置
CN113761909B (zh) * 2021-01-18 2023-11-07 北京京东振世信息技术有限公司 一种识别地址的方法及装置
CN113836357A (zh) * 2021-10-12 2021-12-24 北京商越网络科技有限公司 基于文本相似度计算的地址库数据处理方法和控制系统

Also Published As

Publication number Publication date
CN103678708B (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN103678708A (zh) 一种识别预设地址的方法及装置
CN111737499B (zh) 基于自然语言处理的数据搜索方法及相关设备
CN108628811B (zh) 地址文本的匹配方法和装置
KR101276602B1 (ko) 표의문자적 내용을 가지는 데이터를 서치하고 매칭하기위한 시스템 및 방법
CN110765770A (zh) 一种合同自动生成方法及装置
CN103778151A (zh) 一种识别特征群体的方法及装置和搜索方法及装置
CN108153824B (zh) 目标用户群体的确定方法及装置
KR20150109447A (ko) 텍스트 입력 시스템 및 방법
CN112069276A (zh) 地址编码方法、装置、计算机设备及计算机可读存储介质
CN112148843B (zh) 文本处理方法、装置、终端设备和存储介质
CN108733810B (zh) 一种地址数据匹配方法及装置
CN110275940B (zh) 一种中文地址识别方法及设备
CN110990520A (zh) 一种地址编码方法、装置、电子设备和存储介质
US20230205755A1 (en) Methods and systems for improved search for data loss prevention
CN105209858A (zh) 企业场所数据的非确定性消岐和匹配
CN113434542B (zh) 数据关系识别方法、装置、电子设备及存储介质
CN117807691A (zh) 一种基于建筑可视化的信息模型数据集成方法及系统
CN110688995B (zh) 地图查询的处理方法,计算机可读存储介质和移动终端
CN112560425B (zh) 模板生成方法、装置、电子设备及存储介质
CN103559177A (zh) 一种地名识别方法及装置
CN116756382A (zh) 检测敏感字符串的方法、装置、设置及存储介质
CN116861060A (zh) 一种私域电商数据搜索方法、装置、设备及存储介质
CN113204613B (zh) 地址生成方法、装置、设备和存储介质
CN114417862A (zh) 文本匹配方法、文本匹配模型的训练方法和装置
CN111310477B (zh) 文档查询方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant