多语言展示
当前在线:323今日阅读:176今日分享:34

AntConc的语料神技:模糊匹配

工具/原料

AntConc 3.5

方法/步骤
1

“竖线”,也就是“|”,在正则表达式(模糊检索)中的意思是“或者”,因此某个词或某两三个词的屈折形式的检索,可以用下面的表达法(首先勾上“regex”这个选项哟):

2

但是,如果你要检索的单词也往往成为其他单词的一部分的话,上面的做法就会出现严重偏差,例如你想要检索off,这个词就容易出现在其他单词的开始或中间位置:

3

因此,必须指定在“off”的前后必须有一个空格,而空格在正则表达式中就是“\s”,也就是“反斜线与字母s”,这里的字母s就是space(“空格”)这个英语单词。

4

英语单词的主要形式是多个字母所组成,虽然也有一些单词是字母与数字构成,或者是“纯数字”构成。所以,绝大多数情况下,纯粹字母构成的单词是我们关注的对象。

5

用正则表达式来表达一个字母,就是“[a-zA-Z]”,这里的方括号就是表示方括号里面的所有内容只是一个字符而已,a-z就是所有的小写字母中的某一个,A-Z就是所有的大写字母中的某一个,而[a-zA-Z]就表示“一个大写或小写字母”。那么,英语单词的开始和结束有什么特征呢?最主要的特征就是前后都有一个空格,而空格的正则表达式就是“\s”,也就是反斜线后面有一个字母s。所以,要检索“4个字母组成的单词”就是下面的表达,即“\s[a-zA-Z]{4}\s”:

6

要检索“4个或5个或6个字母组成的单词”就是下面的表达,即“\s[a-zA-Z]{4,6}\s”:

7

要检索“6个或更多字母组成的单词”就是下面的表达:

8

要检索ful结尾的单词,就是(表达式中的“+”表示至少1个的意思):

9

要检索ful或less结尾的单词,就是:

10

要检索“un”为前缀的单词,就是:

11

要检索“the * of”这种结构,这里的*表示某个单词,就用“\sthe\s[a-zA-Z]+\sof\s”:

12

要检索“the * * * of”这种结构,这里的3个*表示3个单词,就用“\sthe\s([a-zA-Z]+\s){3}of\s”,这里的圆括号就表示把圆括号里面的内容重复多次,重复的次数在后面的{}里面用数字进行指定:

13

要检索“ed结尾的动词与ly结尾的副词的搭配”,就用“\s[a-zA-Z]+ed\s[a-zA-Z]+ly\s”:

14

上面的检索办法并不完美,其实以ed结尾的却不是动词的单词也会有一些,而且以ly结尾的单词也未必就是副词。要真正做到“对某种词性的某个词的检索”,就必须先对所有句子段落都进行POS taggging(词类标注,也叫“词类标注”),这样的标注就会把每个词的后面都添加一个下划线或斜线或反斜线,然后再添加一个标签,例如用JJ表示形容词,VV表示动词(前面是两个字母V),这样的标签有多套,每套都是不同的高校或开发者指定的,例如,美国宾西法尼亚州立大学的那套就是这个清单: https://www.sketchengine.co.uk/documentation/wiki/tagsets/penn

15

下面就是在语料库中检索love这个词的动词用法的正则表达式,从前后词的标注你也就明白了“被标注了词性的语料”是什么样子的:

16

love的名词用法的检索就是:

17

如果介词都被标注为“IN”这个标签,那么,想要找“介词+名词”这种结构,就:

18

如果被标注词与标签之间的连接符号不是下划线,而是斜线,就需要输入“/IN [a-zA-Z]+/NN”:

19

如果被标注词与标签之间的连接符号是反斜线,就需要输入“\\IN [a-zA-Z]+\\NN”,注意,因为反斜线是特殊符号,所以需要用两个反斜线代表一个反斜线哟:

20

同理,如果标签左右是方括号包住的,就需要输入“\[IN\] [a-zA-Z]+\[NN\]”,注意,这是因为左方括号和右方括号都是特殊符号,所以需要用在方括号的左侧添加一个反斜线哟:

21

上面的内容虽然只是让你掌握到了正则表达式的初级水平,但是,你已经清晰地明白了“竖线、斜线、反斜线、方括号、花括号、加号、下划线”这7种符号的威力,尤其是你能进行多重组合的时候,就能构建出相当复杂也相当广泛的语言结构与语言现象了,恭喜你!

推荐信息