CN101329680B - 句子层面的大规模快速匹配方法 - Google Patents

句子层面的大规模快速匹配方法 Download PDF

Info

Publication number
CN101329680B
CN101329680B CN2008101071174A CN200810107117A CN101329680B CN 101329680 B CN101329680 B CN 101329680B CN 2008101071174 A CN2008101071174 A CN 2008101071174A CN 200810107117 A CN200810107117 A CN 200810107117A CN 101329680 B CN101329680 B CN 101329680B
Authority
CN
China
Prior art keywords
sentence
index
character
matching
substring
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
Application number
CN2008101071174A
Other languages
English (en)
Other versions
CN101329680A (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.)
Iflytek Medical Technology Co ltd
Original Assignee
iFlytek Co Ltd
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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN2008101071174A priority Critical patent/CN101329680B/zh
Publication of CN101329680A publication Critical patent/CN101329680A/zh
Application granted granted Critical
Publication of CN101329680B publication Critical patent/CN101329680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及句子层面的大规模快速匹配方法,本方法包括索引建立、模糊匹配和精确匹配三个阶段。索引建立阶段进行句子内容的标准化、编码转换;模糊匹配阶段的目的是从海量句子中挑选出可能与新句子匹配的候选句子,其数量控制在一个可行的范围内;精确匹配阶段采用了基于编辑距离的相似性衡量算法,再根据精确匹配的相似性对候选句子排序得到最终匹配的句子。本发明方法的优点是实际测试性能优异,搜索效率高、漏检率低,满足实用要求。

Description

句子层面的大规模快速匹配方法
技术领域
本发明涉及一种文本检索方法,具体涉及一种在文本检索查询中句子层面大规模快速匹配的方法。
背景技术
目前,搜索匹配算法在互联网搜索、管理信息系统中均得到大量应用。根据应用目的的不同,搜索匹配算法有所不同。最常见的算法是根据固定的关键词,组合以不同的逻辑与或关系,生成匹配规则。更为智能一点的算法支持音近或形近的关键词的搜索。
中国国家知识产权局网站公开检索的专利“短信内容的线性参数匹配算法”(公开号为200410061271.4)给出了一种可以通过匹配反馈信息线性调整匹配参数,使得对于一定流量的短信进行匹配的结果在理想范围之内。这个发明专利就是一种改进了的基于关键词的搜索匹配算法。
随着移动短信业务火爆开展,点歌短信匹配、转发短信匹配等句子层面的模糊匹配需求也与日俱增,由于短信内容为文本格式,内容虽然有限,但是数量和流量巨大,因此句子层面的模糊匹配的精确性以及实时性决定了业务成败。常用的计算句子相似度方法可以用来做句子的模糊匹配,但是不适合大规模文本应用;基于关键词搜索匹配算法如果应用在句子层面的模糊匹配需求上,可以为句子各子串建立多个关键词,会导致关键词数量庞大,匹配规则复杂,匹配效率低下,同样也满足不了对大容量、高速短信内容进行模糊匹配的要求。
发明内容
本发明的目的是解决句子层面大规模匹配时的效率问题,本发明公开的句子层面的快速匹配算法,对于给定的一个源句与海量的句子库,能够在实用的时间开销内找到与源句最为匹配的目标句,同时能给出匹配的相似度。
句子层面的大规模快速匹配方法,实现从大规模的句子中快速查询到与给定句子相似的句子,方法包括索引和查询两个阶段,还包括以下步骤:
(1)对每个句子进行预处理后,把有效编码的字符串作为后续操作的输入;
(2)索引阶段,对待索引的大规模句子中的每一个句子,从句首开始,在长度为L个字符的窗口内寻找某个符合特定条件的字符,并将此字符后面的K个字符组成一个子串,进行哈希编码并建立索引,然后将窗口滑动至索引子串后面的位置,继续以上操作,直到句子结束位置;
(3)查询阶段,对于待查询的新句子,采用与索引阶段相同的方法构建子串并以子串为单位去查找哈希表,得到所有与新句子有相同子串的候选句子以及每个候选句子匹配成功的子串数目,根据匹配成功的子串数目以及候选句子的索引子串数目计算其粗匹配率;
(4)根据粗匹配率,排序所有候选句子,选择最高粗匹配率的M个,句子快速模糊匹配结束。
句子层面的大规模快速匹配方法,所述步骤(4)中选择最高粗匹配率的M个后,采用精确匹配算法计算新句子与这M个候选句子的精确匹配率;选择精确匹配率最高的那个句子,如果其精确匹配率大于某个设定的阀值,那么这个句子作为匹配上的结果,否则未能成功匹配上。
句子层面的大规模快速匹配方法,所述步骤(2)中窗口内寻找字符的特定条件为窗口内字符编码值最小的字符。
句子层面的大规模快速匹配方法,所述精确匹配算法为基于字符串编辑距离算法。
本发明公开的句子层面的快速匹配算法,对于给定的一个源句与海量的句子库,能够在实用的时间开销内找到与源句最为匹配的目标句,同时能给出匹配的相似度。本算法的有益效果是通过建立海量句子冗余索引库以及模糊和精确2层匹配机制,完全可以满足目前的十万、百万级的句子层面匹配的实用需求。经过实际验证,在N等于20多万的短消息业务中,M取值为2就基本不会出现漏检。
附图说明
图1是本发明算法中索引建立以及实际句子匹配应用的流程示意图。
图2是本发明算法中滑动窗移动算法示意图。
具体实施方式
下面对本发明所给出的句子快速匹配算法,结合附图做进一步的解释,具体来说,如附图1所示,算法可以分为索引库建立和匹配查找两个阶段。
为了提高匹配的精确度,算法提供了文本预处理模块对于句子进行预处理,具体来说,包括删除空格、特殊符号等不可能作为匹配关键词的字符;全角半角转换;大小写转换;统一编码转换以支持不同编码句子之间匹配;本模块在索引建立阶段以及匹配阶段均被调用。在预处理之后,所有句子可以看成为一个编码序列,每个字符2个字节。
对于每个句子建立多重索引,具体来说,以一个可以容纳L个字符的滑动窗口从句子编码序列的开始往后滑动,每滑动一次,就以窗口内的L个字符为输入,可以采用某一选定的哈希函数计算得到一个哈希值,建立该哈希值与句子之间的索引关系;然后滑动窗口移至当前窗口中最小编码值字符的下一个字符的位置,继续建立哈希值与句子的索引关系;当滑动窗口超出句子的最后字符位置时结束;这样一个句子就可以建立多重索引,这里取最小值的目的是为了不同字符串按此算法取子串时能大致相同,而且一般符号类字符的编码值较小,最小值能保证从符号处断开。以附图2的说明,L值取5,初始滑动窗口为“滑动窗-1”,根据窗口内的C1~C5得到哈希值,建立哈希值与句子索引关系后,比较C1~C5,假如C4编码值最小,那么滑动窗移至C5位置;根据窗口内的C5~C9得到哈希值,继续建立哈希值与句子索引关系,然后窗口移至C5~C9中的最小值C6后面的C7位置;最后窗口抵达最后位置时结束算法。
在索引建立阶段,对于每个句子调用上述冗余索引生成算法就完成整个索引库的建立。
新句子匹配查找时,同样采用冗余索引生成算法得到句子的多个哈希值,对于每个哈希值,可以得到其索引的所有句子,模糊匹配算法就是找到在所有哈希值索引的句子中,模糊匹配率最大的那M个句子。模糊匹配率定义为:匹配索引个数/句子总索引个数。
模糊匹配率给出的是以窗口大小为单位的匹配率,不能精确反映句子的匹配率,本发明采用了基于编辑距离的相似度计算算法。编辑距离算法是一种经典的动态规划算法,本发明对其稍加改进使其能方便应用于字符串匹配率的计算上,具体来说,对于编辑距离中的不变操作,可以认为字符对齐,匹配字符数加1;删除、插入、替换、交换操作认为匹配字符不变(如果对于精度以及字符相似等有特殊要求的,可以设置这些操作的匹配字符数变化);最后精确匹配率计算公式定义为:字符匹配数/索引句子的总字符数。
计算新句子与对于M个句子的精确匹配率,并把精确匹配率最高的那个句子返回作为匹配结果。

Claims (4)

1.句子层面的大规模快速匹配方法,包括索引和查询两个阶段,其特征在于还包括以下步骤:
(1)对每个句子进行预处理后,把有效编码的字符串作为后续操作的输入;
(2)索引阶段,对待索引的大规模句子中的每一个句子,从句首开始,在长度为L个字符的窗口内寻找某个符合特定条件的字符,并将此字符后面的K个字符组成一个子串,进行哈希编码并建立索引,然后将窗口滑动至索引子串后面的位置,继续以上操作,直到句子结束位置;
(3)查询阶段,对于待查询的新句子,采用与索引阶段相同的方法构建子串并以子串为单位去查找哈希表,得到所有与新句子有相同子串的候选句子以及每个候选句子匹配成功的子串数目,根据匹配成功的子串数目以及候选句子的索引子串数目计算其粗匹配率;
(4)根据粗匹配率,排序所有候选句子,选择最高粗匹配率的M个,句子快速模糊匹配结束。
2.根据权利要求1所述的句子层面的大规模快速匹配方法,其特征在于所述步骤(4)中选择最高粗匹配率的M个后,采用精确匹配算法计算新句子与这M个候选句子的精确匹配率;选择精确匹配率最高的那个句子,如果其精确匹配率大于某个设定的阀值,那么这个句子作为匹配上的结果,否则未能成功匹配上。
3.根据权利要求1所述的句子层面的大规模快速匹配方法,其特征在于所述步骤(2)中窗口内寻找字符的特定条件为窗口内字符编码值最小的字符。
4.根据权利要求2所述的句子层面的大规模快速匹配方法,其特征在于所述精确匹配算法为基于字符串编辑距离算法。
CN2008101071174A 2008-07-17 2008-07-17 句子层面的大规模快速匹配方法 Active CN101329680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101071174A CN101329680B (zh) 2008-07-17 2008-07-17 句子层面的大规模快速匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101071174A CN101329680B (zh) 2008-07-17 2008-07-17 句子层面的大规模快速匹配方法

Publications (2)

Publication Number Publication Date
CN101329680A CN101329680A (zh) 2008-12-24
CN101329680B true CN101329680B (zh) 2010-12-08

Family

ID=40205491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101071174A Active CN101329680B (zh) 2008-07-17 2008-07-17 句子层面的大规模快速匹配方法

Country Status (1)

Country Link
CN (1) CN101329680B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104395900B (zh) * 2013-03-15 2017-08-25 北京未名博思生物智能科技开发有限公司 序列比对的空间计数运算方法
CN104298684B (zh) * 2013-07-18 2018-04-06 深圳中兴网信科技有限公司 一种查询方法、装置及服务器
CN104008119B (zh) * 2013-12-30 2017-09-26 西南交通大学 一种一对多的混合字符串融合比对方法
CN104750673B (zh) * 2013-12-31 2018-02-23 中国移动通信集团公司 文本匹配过滤方法及装置
CN105183732A (zh) * 2014-06-04 2015-12-23 广州市动景计算机科技有限公司 网页的处理方法及装置
CN104063500B (zh) * 2014-07-07 2019-03-29 联想(北京)有限公司 信息处理设备以及信息处理方法
CN106897258B (zh) * 2017-02-27 2020-05-29 郑州云海信息技术有限公司 一种文本差异性的计算方法及装置
CN108363715A (zh) * 2017-12-28 2018-08-03 中兴智能交通股份有限公司 一种车牌图片管理方法和装置
CN111797285A (zh) * 2020-06-30 2020-10-20 深圳壹账通智能科技有限公司 字符串模糊匹配方法、装置、设备及可读存储介质
CN116029284B (zh) * 2023-03-27 2023-07-21 上海蜜度信息技术有限公司 中文子串提取方法、系统、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794236A (zh) * 2004-12-21 2006-06-28 英特尔公司 高效的基于cam在分组有效载荷中进行串搜索的技术
CN101030221A (zh) * 2007-04-13 2007-09-05 清华大学 一种用于文本或网络内容分析的大规模多关键词匹配方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794236A (zh) * 2004-12-21 2006-06-28 英特尔公司 高效的基于cam在分组有效载荷中进行串搜索的技术
CN101030221A (zh) * 2007-04-13 2007-09-05 清华大学 一种用于文本或网络内容分析的大规模多关键词匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龚才春、黄玉兰、许洪波、白硕.基于多重索引模型的大规模词典近似匹配算法.第三届全国信息检索与内容安全学术会议.2007,333-339. *

Also Published As

Publication number Publication date
CN101329680A (zh) 2008-12-24

Similar Documents

Publication Publication Date Title
CN101329680B (zh) 句子层面的大规模快速匹配方法
CN101706807B (zh) 一种中文网页新词自动获取方法
US8554561B2 (en) Efficient indexing of documents with similar content
CN100527125C (zh) 一种统计机器翻译中的在线翻译模型选择方法和系统
US7644069B2 (en) Search ranking method for file system and related search engine
CN104391908B (zh) 一种图上基于局部敏感哈希的多关键字索引方法
CN101794307A (zh) 基于互联网分词思想的车载导航poi搜索引擎
CN101542475A (zh) 用于对具有象形表意内容的数据进行搜索和匹配的系统和方法
CN106557777B (zh) 一种基于SimHash改进的Kmeans文档聚类方法
CN102750379B (zh) 一种基于过滤型的字符串快速匹配方法
CN103198149A (zh) 一种查询纠错方法和系统
CN103020054B (zh) 模糊查询方法及系统
CN102402537A (zh) 中文网页文本除重系统及方法
CN103678694A (zh) 视频资源的倒排索引文件建立方法及其系统
CN103345496A (zh) 多媒体信息检索方法和系统
Keivanloo et al. Seclone-a hybrid approach to internet-scale real-time code clone search
CN110955806A (zh) 一种针对中文文本的字符串匹配方法
CN101369278A (zh) 一种近似匹配方法和装置
CN115563313A (zh) 基于知识图谱的文献书籍语义检索系统
CN109446293B (zh) 一种并行的高维近邻查询方法
CN102915381A (zh) 基于多维语义的可视化网络检索呈现系统及呈现控制方法
CN105515586B (zh) 一种快速差量压缩方法
CN112836008B (zh) 基于去中心化存储数据的索引建立方法
Zhen et al. Notice of Retraction: Multi-modal music genre classification approach
CN117235199A (zh) 一种基于文档树的信息智能匹配检索的方法

Legal Events

Date Code Title Description
C06 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
C56 Change in the name or address of the patentee

Owner name: IFLYTEK CO., LTD.

Free format text: FORMER NAME: ANHUI USTC IFLYTEK CO., LTD.

CP03 Change of name, title or address

Address after: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666

Patentee after: IFLYTEK Co.,Ltd.

Address before: 230088 information industry base, No. 616, Mount Huangshan Road, hi tech Zone, Anhui, Hefei

Patentee before: ANHUI USTC IFLYTEK Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190325

Address after: 230088 18 Floor, A5 Building, 666 Wangjiangxi Road, Hefei High-tech Zone, Anhui Province

Patentee after: ANHUI IFLYTEK MEDICAL INFORMATION TECHNOLOGY CO.,LTD.

Address before: 230088 No. 666 Wangjiangxi Road, Hefei High-tech Development Zone, Anhui Province (230088)

Patentee before: IFLYTEK Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 230088 floor 23-24, building A5, No. 666, Wangjiang West Road, high tech Zone, Hefei, Anhui Province

Patentee after: Anhui Xunfei Medical Co.,Ltd.

Address before: 230088 18th floor, building A5, NO.666, Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Patentee before: ANHUI IFLYTEK MEDICAL INFORMATION TECHNOLOGY CO.,LTD.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 230088 floor 23-24, building A5, No. 666, Wangjiang West Road, high tech Zone, Hefei, Anhui Province

Patentee after: IFLYTEK Medical Technology Co.,Ltd.

Address before: 230088 floor 23-24, building A5, No. 666, Wangjiang West Road, high tech Zone, Hefei, Anhui Province

Patentee before: Anhui Xunfei Medical Co.,Ltd.