百度商桥怎么添加到网站,单位网站服务的建设及维护,如何在aws上创建wordpress,企业推广网络营销外包服务1. 为什么谈有限自动机时要谈正则表达式#xff1f;原因是#xff1a;正则表达式所匹配的所有字符串所构成的语言可以用有限自动机识别。根本原因是#xff1a;正则集#xff08;正则表达式所匹配的所有字符串集合#xff09;是由右线性文法#xff08;3型文法#xff0…1. 为什么谈有限自动机时要谈正则表达式原因是正则表达式所匹配的所有字符串所构成的语言可以用有限自动机识别。根本原因是正则集正则表达式所匹配的所有字符串集合是由右线性文法3型文法所产生的语言两者是等同的。2. 单词拼写检查有限自动机除了可以匹配正则表达式描述的字符集语言也可以用来做单词拼写检查。当然还是要基于字符变化距离度量来提供候选串的。具体操作就是设T为字母表可构造一个识别字母表T上的字母构成的所有合法单词的有限自动机。该自动机对应的状态转换图可看作是一个边上有字母标记的有向图。那么字母表T上的字母构成的所有合法单词都对应着有限自动机中的一条从初始状态到终止状态的路径。字符串识别的过程就是对有向图从初始状态到终止状态遍历的过程一条路径从初始状态到终止状态经过的所有弧上的字母连接起来构成一个字符串。给定一个字符串对其进行拼写检查的过程实际上是在给定阈值t(t0)的范围内寻找那些与输入串的编辑距离小于t的路径这些路径从初始状态到终止状态经过的所有弧上的字母连接起来构成的字符串就是要找的与输入串最相似的单词。自动机的实现按照何晗的文章https://www.hankcs.com/nlp/%E7%AC%AC3%E7%AB%A0-%E5%BD%A2%E5%BC%8F%E8%AF%AD%E8%A8%80%E4%B8%8E%E8%87%AA%E5%8A%A8%E6%9C%BA.htmlwww.hankcs.com所述关于有限自动机找出正确字串修改图的深度优先搜索算法即可弄个stack注意剪枝就行。编辑距离指的是Damerau所定义的编辑距离即两个字符串之间的编辑距离等于使一个字符串变成另一个字符串而进行的插入、删除、替换或相邻字符交换位置而进行操作的最少次数。编辑距离可以参考何晗搜集整理的https://www.hankcs.com/program/java/several-string-edit-distance-achieved.htmlwww.hankcs.com我之前找到过一个Python版本的但是那时候没有写知乎又不知道哪去了。什么语言不重要知道实现过程比较重要怎么优化不重要因为没见过会优化的。基于有限自动机的单词拼写检查完整实现没有找到合适的代码有关拼写检查的仓库有https://github.com/hunspell/hunspell star最多的一个拼写检查https://github.com/jmoy/norvig-spell norvig拼写检查的各种编程语言实现https://github.com/barrust/pyspellchecker norvig拼写检查的纯Python实现https://github.com/bakwc/JamSpell 有关于拼写检查这个事有时间再写其他文章说。写形式语言自动机主要就是为了补上2型上下文无关文法以及对应的下推自动机。3.grep命令虽然说操作机器是最没脑子的技术但是还是把它弄熟然后再狠狠地鄙视跟导数据一样一个月开200块钱都多就是个女工接线头。$ cat kkk
akkk
test file
oooo
ppppp# 在文件kkk中搜索匹配字符串test file
$ grep test file kkk
test file# 在文件kkk中搜索匹配字符串es并且加上行号输出
$ grep -n es kkk
2:test file# 显示所有以d开头的文件中包含test的行数据内容
$ cat d1
1
test1
$ cat d2
2
test2
$ grep test d*
d1:test1
d2:test2# 在文件aa中显示所有包含至少有5个连续小写字符的行数据内容
$ cat aa
aaaaa
bbb
AAAAA
BBB
aaaaaa
$ grep -E [a-z]{5} aa
aaaaa
aaaaaa# 查找sshd进行信息
# ps -ef|grep sshd
root 3390 3376 0 09:09 pts/2 00:00:00 grep --colorauto sshd# 在aa文件中找出以b开头的行内容
$ grep ^b aa
bbb# 在kkk文件中输出以le结尾的行内容
$ grep -E le$ kkk
test file# 在kkk文件中输出包含es或 kk的行内容
$ grep -E (es)|(kk) kkk
akkk
test file