课程地址
https://www.coursera.org/course/nlp
记得以前在网页上查正则表达式时,总是被那些归纳总结的表看到头昏压花,今天学了视频课程,感觉学到好多,至少很基本的东西是知道了一些,自己能读写简单的正则表达式了。
[] 里面的字符表示每个都可以,比如
[wW]oodchuck 可以表示woodchuck和Woodchuck
[1234567890]表示任何单个数字
表示范围的-
[A-Z]表示所有大写字母
[a-z]表示所有小写字母
[0-9]表示所有单个数字
表示否定的^
[^A-Z]不要大写的字母
[^a-z]不要小写的字母
[^ae]不要a也不要e
[^e^]不要e也不要^,这里第二个^就表示字符^
a^b 没讲???
表示或者 |
groundhog|woodchuck表示要么是groundhog 要么是woodchuck
a|b|c与[abc]意思一样,都表示要么是a要么是b要么是c
[gG]roundhog|[wW]oodchuck表示groundhog,Groundhog,woodchuck,Woodchuck
? 表示前一个字符可有可没有
colou?r表示colour和color
* 表示前一个字符可以有0个或多个
oo*h表示oh,ooh,oooh,ooooh等
+表示前一个字符可以有1个或多个
o+h表示oh,ooh,oooh,ooooh等
.表示任意字符
beg.n表示begin,begun,beg3n等
表示打头^(注意与表示否定的格式区别)
^[A-Z]以大写字母打头
^[a-z]以小写字母打头
^[^A-Za-z]以非字母打头
表示 结尾$
\.$ 以句号.结尾,由于.是一个特殊字符,因此前面加上斜杠表示该字符
.$ 以任意字符结尾
测试
Which of the following common spelling of Britney Spear's first name are not covered in this regular expression:brit*[ea]?ne?y
[^A-Za-z]
false negtives
第一个词true和false表示对还是错,就是本次操作的结果是对的还是错的,上面的两种错误都是false
第二个词positive和negtive表示是匹配到了还是没匹配到
NLP里面也会有类似的错误
提高准确率->降低false positives
提高召回率->降低false negatives