The invention provides an information matching method and device, including: according to the matching information of the character sequence to receive the information to be matched; the matching information in the pre built finite state machine in DFA, the DFA by default keyword, the DFA in each state of the output list including the state children failed the output list state, the state of the future failure condition and the state of the same characters; in the matching process, if the current state is not matched with the matching information of the character of the next state, jump to the current state of the state failed to match. With the technical scheme for the matching process only with DFA in the state of step by step, a state transition, without the need to return to a state to match other keywords, which can ensure the matching information need only scan can be completed, and greatly improves the matching efficiency.
【技术实现步骤摘要】
一种信息匹配方法及装置
本申请涉及计算机
,尤其涉及一种信息匹配方法及装置。
技术介绍
随着信息技术的不断发展,越来越多的应用场景需要进行信息匹配,例如:搜索引擎的检索词匹配、论文的相似度匹配、拼写检查等。目前,信息匹配技术通常为利用java语言的indexof函数实现关键字匹配,即,建立预先写有若干关键字的文件,将用户在客户端输入的内容与该文件中所含的每个关键字进行匹配。假设预先建立的文件中包括100个关键字,那么,则需要进行100次的全文扫描才能完成对用户输入内容的信息匹配。在这个信息爆炸的时代,采用上述匹配方式进行匹配的效率非常低,无法适应信息量较大的场景。现有技术不足在于:现有的信息匹配方式效率低下,不能适应信息量较大的场景。
技术实现思路
本申请实施例提出了一种信息匹配方法及装置,以解决现有技术中信息匹配方式效率低下,不能适应信息量较大的场景的技术问题。本申请实施例提供了一种信息匹配方法,包括如下步骤:按照待匹配信息的字符顺序接收所述待匹配信息;将待匹配信息在预先构建的有穷状态机DFA中进行匹配,所述DFA由预设的关键字构成,所述DFA中每个状态的输出列表包含所述状态的子孙失败状态的输出列表,所述状态的子孙失败状态与所述状态的字符相同;在匹配过程中,如果当前状态没有与所述待匹配信息的字符相匹配的下一状态,跳转到所述当前状态的失败状态继续匹配。本申请实施例提供了一种信息匹配装置,包括:接收模块,用于按照待匹配信息的字符顺序接收所述待匹配信息;匹配模块,用于将待匹配信息在预先构建的有穷状态机DFA中进行匹配,所述DFA由预设的关键字构成,所述DFA ...
【技术保护点】
一种信息匹配方法,其特征在于,包括如下步骤:按照待匹配信息的字符顺序接收所述待匹配信息;将待匹配信息在预先构建的有穷状态机DFA中进行匹配,所述DFA由预设的关键字构成,所述DFA中每个状态的输出列表包含所述状态的子孙失败状态的输出列表,所述状态的子孙失败状态与所述状态的字符相同;在匹配过程中,如果当前状态没有与所述待匹配信息的字符相匹配的下一状态,跳转到所述当前状态的失败状态继续匹配。
【技术特征摘要】
1.一种信息匹配方法,其特征在于,包括如下步骤:按照待匹配信息的字符顺序接收所述待匹配信息;将待匹配信息在预先构建的有穷状态机DFA中进行匹配,所述DFA由预设的关键字构成,所述DFA中每个状态的输出列表包含所述状态的子孙失败状态的输出列表,所述状态的子孙失败状态与所述状态的字符相同;在匹配过程中,如果当前状态没有与所述待匹配信息的字符相匹配的下一状态,跳转到所述当前状态的失败状态继续匹配。2.如权利要求1所述的方法,其特征在于,进一步包括:输出与所述待匹配信息匹配的关键字集合。3.如权利要求2所述的方法,其特征在于,进一步包括:确定匹配的关键字在所述待匹配信息中的位置;根据关键字所在位置、预设关键字权重和关键字的匹配次数计算所述待匹配信息的重要度。4.如权利要求1所述的方法,其特征在于,在所述按照待匹配信息的字符顺序接收所述待匹配信息之后,将待匹配信息在有穷状态机DFA中进行匹配之前,进一步包括:对所述待匹配信息进行预处理操作。5.如权利要求4所述的方法,其特征在于,所述预处理操作包括以下至少一种:中英文转换、拼音汉字转换、繁简体转换、全角半角转换、数字大小写转换、去除干扰字符。6.如权利要求1所述的方法,其特征在于,在所述按照待匹配信息的字符顺序接收所述待匹配信息之前,进一步包括:根据预先设置的关键字构建有穷状态机DFA,所述DFA初始化时所有叶子节点分别获得各自的输出列表;建立所述DFA中各状态与其子孙失败状态的关联关系,每个状态获得所述状态的子孙失败状态的输出列表。7.一种信息匹配装置,其特征在于,包括:接收模块,用于按照待匹配信息的字符顺序接收所述待匹配信息;匹配模块,用于将待匹配...
【专利技术属性】
技术研发人员:黎久希,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。