使用正则表达式模式查找英语POS标记语料库中后缀,结尾引号和单词的所有匹配项

问题描述 投票:0回答:1

我正在一个NLP项目中,在该项目中我得到了一个POS标记的句子数据集以供使用。数据集的格式(也应提供例句)是

('word','pos_tag')

除非单词有单引号(在末尾加引号,例如're,',n't和'),在这种情况下,格式为

(“ word”,“ pos_tag”)

我用于处理此数据集的代码段如下

def corpus_reader(filepath):
 pattern = '\(\'(\w+)\', |(?<=\").*?\", ' 
 sentences = []
 with open( filepath ) as f:
     corpus = f.readlines()

 for line in corpus:
    temp = re.findall( pattern, line )
    sentences.append( temp )

return sentences

该模式由要检测的两个模式cond1 | cond2组成。

cond1匹配并提取语料库中的所有单词。

cond2旨在匹配'',n't,'s和're,它们被包含在双引号中,如我之前提到的,但是第二个条件不能做到这一点。

期望的结果是所有带有pos标签的令牌的列表

有人可以提供正确的正则表达式模式来检测我提到的情况吗?

以下是要分析的示例语句,其中包含're,n't,'s和''

[[('We','PRP'),(“'re”,'VBP'),('talking','VBG'),('about','IN'),('years,' NNS'),('ago','IN'),('before','IN'),('anyone','NN'),('heard','VBD'),('of',' IN'),('asbestos','NN'),('having','VBG'),('any','DT'),('questionable','JJ'),('properties',' NNS'),('。','。')]

[((', ''),('We','PRP'),('have','VBP'),('no','DT'),('有用','JJ') ,('信息','NN'),('on','IN'),('是否','IN'),('用户','NNS'),('are','VBP') ,('at','IN'),('risk','NN'),(',',','),(“''”,“''”),('said','VBD '),('T-1','-NONE-'),('James','NNP'),('A。','NNP'),('Talcott','NNP' ),(“ of”,“ IN”),(“ Boston”,“ NNP”),(“ s”,“ POS”),(“ Dana-Farber”,“ NNP”),(“ Cancer”, 'NNP'),('Institute','NNP'),('。','。')]

[(('The','DT'),('US','NNP'),('is','VBZ'),('one','CD'),('of','IN '),('the','DT'),('few','JJ'),('工业化','VBN'),('民族','NNS'),('that','WDT '),('T-7','-NONE-'),('does','VBZ'),(“ n't”,'RB'),('have','VB '),('a','DT'),('更高','JJR'),('标准','NN'),('of','IN'),('规制','NN '),('for','IN'),('the','DT'),('smooth','JJ'),(',',','),('needle-like', 'JJ'),('fibers','NNS'),('such','JJ'),('as','IN'),('crocidolite','NN'),('that', 'WDT'),('T-1','-NONE-'),('are','VBP'),('classified','VBN'),('*-5', '-NONE-'),('as','IN'),('amphobiles','NNS'),(',',','),('according','VBG'),('to ','TO'),('Brooke','NNP'),('T.,'NNP'),('Mossman','NNP'),(',',','),(' a','DT'),('教授','NN'),('of','IN'),('病理','NN'),('at','IN'),(' ,'DT'),('大学','NNP'),('of','IN'),('佛蒙特州','NNP'),('学院','NNP'),(' of,'IN'),('Medicine','NNP'),('。','。')]

[('', ''),('What','WP'),('T-14','-NONE-'),('matter','VBZ'),( '是','VBZ'),('什么','WP'),('广告商','NNS'),('是','VBP'),('付款','VBG'),( 'T-15','-NONE-'),('per','IN'),('page','NN'),(',',','),('和','CC'),('in','IN'),('that','DT'),('部门','NN'),('我们','PRP'),(' ','VBP'),('正在做','VBG'),('精细','RB'),('this','DT'),('fall','NN'),(', ',','),(“''”,“''”),('said','VBD'),('T-1','-NONE-'),('Mr 。','NNP'),('Spoon','NNP'),('。','。')]

感谢和感谢所有尝试回答和帮助的人>

我正在一个NLP项目中,在该项目中我得到了一个POS标记的句子数据集以供使用。数据集的格式(也应提供例句)为('word','pos_tag')...

python regex nlp pos-tagger re
1个回答
0
投票

我会使用:

© www.soinside.com 2019 - 2024. All rights reserved.