ahocorasick 算法 aho Aho-Corasick算法_aho

Aho-Corasick算法
实际上,在改善Hatena Diary时,我们没有用Trie结构进行模式匹配,而是采用了更为高速的Aho-Corasick算法。
Aho-Corasick算法是Alfred V.Aho和Margaret J.Corasick于1975年在论文《Efficient String Matching: An Aid to Bibliographic Search》中提出的古典算法,根据字典创建执行模式匹配的自动机,以实现在线性时间内对输入文本进行计算。这种高速算法的复杂度与字典大小无关。
Aho-Corasick算法利用Trie进行模式匹配,但它添加了返回的边,匹配失败时可以沿着边返回。如果图示的话,如图7.4所示。
例如将"babcdex"输入图中的Trie,那么找到bab的同时也找到了ab。因此,如果能在查找到bab之后不要返回开头的节点0,而是直接移动到节点2的话,就能立即找到ab。而将"节点6的下一个是节点2"这种路径添加到Trie中的预处理,就是Aho-Corasick算法的主要原理。至于添加这些路径的方法,只需从Trie的根节点进行广度优先搜索,找到合适的节点就能建立,这种算法也是众所周知的。
2005年时我们并没有想到利用Aho-Corasick算法进行关键字链接,后来是工藤拓告诉我们的。工藤拓是きまぐれ日記 (神经质的日记)的博主,语素分析库MeCab 的开发者,现在在Google参与Google日文输入法相关开发。其背景是,实现语素分析引擎,要将输入的文章与字典中的所有单词进行模式匹配,这与关键字链接的处理几乎是一样的,而且在自然语言处理中,这种任务使用Trie已成为惯例。
另外,用Aho-Corasick算法实现关键字链接的课题请参见第8章。
[TR]
[TD][I]498)this.width=498;' onmousewheel = 'javascript:return big(this)' height=308 alt="" src="http://pic.aIhUaU.com/201602/15/131511988.jpg" width=530 border=0>[/TD][/TR]
[TR]
[TD](点击查看大图)图7.4 Aho-Corasick算法[/TD][/TR]
Aho-Corasick算法
复杂度与字典大小无关的高速算法
根据字典创建自动机进行模式匹配,对输入文本实现了线性的计算时间

ahocorasick 算法 aho Aho-Corasick算法_aho
  

爱华网本文地址 » http://www.aihuau.com/a/303751/437460340528.html

更多阅读

鸡兔同笼吹哨算法 ---古已有之 鸡兔同笼计算机算法

鸡和兔15只,共有40只脚,鸡和兔各几只?算法:假设鸡和兔训练有素:吹一声哨,抬起一只脚:40-15=25。再吹哨,又抬起一只脚:25-15=10。这时鸡都一屁股坐地上了,兔子还两只脚立着。所以,兔子有10÷2=5只,鸡有15-5=10只。【同一个知识点,有教育方法强弱的区别,找

“启发式搜索算法”简介 启发式搜索算法有哪些

何谓启发式搜索算法  在说它之前先提提状态空间搜索。状态空间搜索,如果按专业点的说法就是将问题求解过程表现为从初始状态到目标状态寻找这个路径的过程。通俗点说,就是在解一个问题时,找到一条解题的过程可以从求解的开始到问题的

转载 MeanShiftCodefortheEdgeDetectio meanshift聚类算法

原文地址:MeanShiftCodefortheEdgeDetectionandImageSegmentationsystem(Edison)作者:徐大帅哼一、概述MeanShift并不算一种很新的特征空间分析算法,但是它原理简单,计算速度较快,通常能在一次分割后形成大量小的模态区域。这样便直接将

C#程序实现Canny边缘检测算法 边缘检测算法实现

转载自:http://blog.csdn.net/yjz_uestc/article/details/6664937Canny边缘检测是被公认的检测效果最好的边缘检测方法,是由JohnF.Canny于1986年提出,算法目标是找出一个最优的边缘检测的方法,所谓最优即:1.好的检测:算法能够尽可能的标

遗传算法GAOT工具箱1 遗传算法工具箱

前一阵子搞了一些遗传算法的东西,使用的是gaot遗传算法工具箱,这个算法工具箱还是蛮使用的,不过貌似很久不更新了,将就用吧!貌似网上下载的工具箱代码有错误,不妨检查一下,f2b函数需要如下修改function [bval] = function(fval,bounds,bi

声明:《ahocorasick 算法 aho Aho-Corasick算法_aho》为网友我很好比你好分享!如侵犯到您的合法权益请联系我们删除