Bootstrap

常用正则表达式匹配Antconc英文句式搭配

引言:标准英文句式不会写?逐个百度google太麻烦?快用Antconc啊,导入语料仅需几步操作即可帮你分析词频,找到常用搭配!

一、正则常用特殊字符

字符描述
^匹配输入字符串的开始位置。
$匹配输入字符串的结束位置。
*匹配前一个子表达式零次多次。例如,zo* 能匹配 z以及 zoo* 等价于{0,}
+匹配前面的子表达式一次多次。例如,’zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}
?匹配前面的子表达式零次一次。例如,"do(es)?" 可以匹配 “do” 或 “does” 。? 等价于 {0,1}
.匹配除换行符 \n 之外的任何单字符。
()标记一个子表达式的开始和结束位置。
[]中括号表达式。
{}标记限定数量符。如wor{2}可以匹配words而不能匹配word
x|y匹配 x 或 y。例如,‘z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。
[xyz]字符集合,等价于x|y|z
[^xyz]负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以匹配 “plain” 中的’p’、‘l’、‘i’、‘n’。
[a-z]字符范围。
[^a-z]负值字符范围。如’[^a-z]’ 可以匹配任何不在 ‘a’ 到 ‘z’ 范围内的任意字符。

二、正则常用元字符

字符描述
\s匹配任何空白字符。
\S匹配任何空白字符。
\w匹配字母、数字、下划线。等价于’[A-Za-z0-9_]’。
\W匹配字母、数字、下划线。等价于 ‘[^A-Za-z0-9_]’。
\b匹配一个单词边界。例如 ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。
\B匹配单词边界。‘er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’。
\d匹配一个数字字符。等价于 [^0-9]。
\D匹配一个数字字符。等价于 [^0-9]。

三、英文常用词性对照表整理

词性标记英文全称中文解释示例
ADAdverbs副词包括情态副词、频率副词、程度副词、连接副词等
CCCoordinating conjunction并列连词和、与、或、或者
CSSubordinating conj从属连词若,如果,如
DTDeterminer限定词,冠词the,a,an,this,every,each,any,your,their,whose等)
EXExistence There存在词汇there
INPrepositions and
Subordinating Conjunctions
介词和从属连词in,about,to
JJNoun-modifier other thannouns其他名词形容词共同/JJ的/DEG目的/NN
他/PN是/VC男//JJ的/DEG
NNCommon nouns普通名词(单数或复数)桌子(一般正则用_N\w*)
NRProper nouns专有名词天安门
VBVerbs (base form)动词原形
VH动词"有" 的词类标记have
VVverbs其他动词情态动词,提升谓词(如“can”),控制动词(如“要”、“想”),
行为动词(如“走”),心理动词(如“喜欢”、“了解”、“怨恨”
VAPredicative adjective谓词形容词太阳红彤彤/VA
MDModal Verbs情态动词can,may
VCCopula系动词am.is.are,was
RBAdverbs副词
TOto单词to
RPParticles小品词along,away,by,down,in,off,on,out,over

以下根据Antconc软件以及词性标注数据,做了一个词频如下图

然后导出到Excel中进行清洗,得到如下图,并进行重点标注,方便正对性记忆。

四、使用案例

首先,我们使用已词性标记英文语料,标记形式如下图。可见词性标记先将文本内容分词(常用HMM隐马模型进行词性标注任务),然后在每个词后面加入_<词性缩写>来达到标记效果,如The_DT表示标记为冠词的单词The

在了解了具体词性标注文本格式后,我们在匹配想要的句式结构时,就可以利用<原词>_<词性缩写>格式特点来写正则表达式。

【句式1】:be动词+冠词/副词(if any)+形容词+名词/介词

【正则表达式】:

\S+_VB\w*\s\S+((_DT)|(_RB\w*))\s\S+_JJ\w*\s\S+((_NN\w*)|(_IN))\s

【部分解释】:

  • \S+意图匹配下划线_前的非空原词字符串+表示非空字符\S1个或个,这样我们就可匹配到_前的一个任意长度单词(字符串),例如该项可匹配到is_VBZ中的is
  • _VB\w*\s匹配词性,但是词性按粗粒度到细粒度划分有很多,比如VB(动词原形)下属有VBZ(第三人称单数动词),VBG(动名词或现在分词),VBP(非第三人称单数动词)。因此,我们在后面加\w*表示可以匹配0或多个字符*采用贪心匹配,选择最长字符作为结果),最后因为词与词之间是空格,因此再加入\s用来匹配一个空字符。例如该项可匹配到is_VBZ中的_VBZ(空格)
  • ((_DT)|(_RB\w*))意图匹配DT冠词或RB副词()中为子表达式,如(_DT)_DT作为一个整体,通过|或关系对冠词或副词进行匹配。例如该项可匹配到also_RB中的_RBa_DT中的_DT
  • 其余原理相似,不再赘述。

【句式1的其他等价写法】:能合并同类项可以少些点。

\S+_VB\w*\s((\S+_DT)|(\S+_RB\w*))\s\S+_JJ\w*\s\S+((_NN\w*)|(_IN))\s
\S+_VB\w*\s((\S+_DT\s\S+)|(\S+_RB\w*\s\S+))_JJ\w*\s\S+((_NN\w*)|(_IN))\s

得到结果如下图

可见有驸马标记,为了简洁好看,我们可以通过全局设置将其隐藏,如下图

最终结果如下图,可见有很多实用的论文书面搭配。

【句式2】:形容词+名词+have(has)+动词过去式+that

【正则表达式】:

\S+_JJ\w*\s\S+_N\w*\s\S+_VH\w*\s\S+_VV\w*\sthat

【部分解释】:

  • VH\w*意图匹配动词及其下属词性,如have,has等。
  • \sthat注意匹配的是(空格)that
  • VV匹配其他动词词性,如shown,found等。

【句式3】:形容词+名词+动词(任意形式)+that

【正则表达式】:

\S+_JJ\w*\s\S+_N\w*\s\S+_V\w*\sthat

【句式4】:…+形容词+classifier(s)+…

【正则表达式】:

\S+_JJ\sclassifiers?

【部分解释】:

  • classifiers?意图匹配classifier后面的字符s可有可无,可匹配到classifier以及classifiers

【句式5】:however/although/nevertheless(固定连词)+带有形容词的从句

【正则表达式】:

((however)|(although)|(nevertheless)).+\S+_JJ\w*\s

【部分解释】:

  • .+匹配如although之后的长度为1及以上非换行符\n字符串。本例中匹配although_IN in_IN many_JJ中的_IN in_IN(空格)

【句式6】:we/study/research/paper+任意词(if any)+动词

【正则表达式】:

((we)|(study)|(research)|(paper))_\S+\s(\S+_\S+\s)?\S+_VV\w*\s

如果想精确性查找This paper+任意词(if any)+动词则可以使用

this_DT\spaper_NN\s(\S+_\S+\s)?\S+_VV\w*\s

【部分解释】:

  • (\S+_\S+\s)?匹配0个或1个任意词<原词>_<词性>(空格),若替换为*则匹配0个或多个

【注】:修改底部KWIC的排序方式,从左到右依次按照ASCII码大小排序,修改后排序方式变化但总记录数不变。

【句式7】:动词+任意词(if any)+question

【正则表达式】:

\S+_VV\w*\s(\S+_\S+\s)?questions?

【部分解释】:

  • (\S+_\S+\s)?匹配0个或1个任意词<原词>_<词性>(空格),若替换为*则匹配0个或多个
  • questions?匹配questionquestions

【句式8】:This paper+be动词+动词被动+as follows

【正则表达式】:

paper_NN\s\S+_VB\w*\s\S+_VV\w*

附录-完整词性表

英文简写英文全称中文解释
CCCoordinating Conjunctions并列连词
CDCardinal Numbers基数词
DTDeterminers限定词(例:the,a,an,this,every,each,any,your,their,whose等)
EXExistence There存在词汇there
FWForeign Words外来语/词
INPrepositions and Subordinating Conjunctions介词和从属连词
JJAdjectives形容词
JJRComparative Adjectives形容词比较级
JJSSuperlative Adjectives形容词最高级
LSList Item Markers列表项标记(例:1. , 2., a, a., ….)
MDModal Verbs情态动词
NNCommon Nouns(Singular or Mass)普通名词(单数或复数)
NNSCommon Nouns (Plural)普通名词(复数)
NNPProper Nouns (Singular)专有名词(单数)
NNPSProper Nouns (Plural)专有名词(复数)
PDTPredeterminers前置限定词(例:both,all…)
POSPossessive Endings ‘s以’s结束的词(例:he’s, it’s.)
PRPPersonal Pronouns人称代词(例:i,me,my,you…)
PRP$Possessive Pronouns物主代词(例:mine,ours,thine,yours,his,hers,its…)
RBAdverbs副词
RBRComparative Adverbs程度副词(例:hard,fast,early,well,badly,far,quietly,carefully,happily …)
RBSSuperlative Adverbs副词最高级
RPParticles小品词(例:along,away,back,by,down,forward,in,off,on,out,over,round,under,up…)
SYMSymbols符号
TOto单词to
UHInterjection感叹词(例:aha, ahem, ahh, ahoy, alas, arg, aw, bam, bingo, blah, boo, bravo, brrr,oh …)
VBVerbs (base form)动词原形
VBDVerbs (past tense)动词(过去时态)
VBGVerbs (gerund or present participle)动词(动名词或现分词)
VBNVerbs (past participle)动词(过去分词)
VBPVerbs (non 3rd person singular present)动词(非第三人称单数)
VBZVerbs (3rd person singular present)动词(第三人称单数)
WDTWh-determinerWh开头的限定词(例:what,which…)
WP$Possessive wh-pronounWh开头代词的所有格(例:whom, whose…)
WRBWh-adverbWh开头的副词(例:when, where, why, how, whence, whereby, wherein, whereupon, and how)

【参考资料】
[1] 菜鸟教程.正则表达式-元字符
[2] stanfordCorenlp在python3中的安装使用+词性学习
[3] 斯坦福Stanford coreNLP宾州树库的词性标注规范

;