使用re.sub()方法时,它将返回我提供的输入内容,而无需进行任何更改。
我正在重新标记几千个句子的语料库。整个语料库是一个列表列表,其中每个列表都是一个句子。每个句子由元组的二元组组成,每个元组包含一个单词和与我的任务相关的标签:(索引,单词,词性,依赖项,功能),例如(1,The,article,2,det)实例。
我创建了一个函数(下面的代码首先可调用),该函数将一个变量分配给元组中的每个位置。之后,我定义了另一个函数,该函数将先前的标签“ nsubj”和“ csubj”更改为“ subj”(我想要的标签)。这是下面代码的第二部分
def index(bigrams):
for s in bigrams:
for b in s:
for t in b:
if len(t) >1:
index = t[0]
return index
def lemma(bigrams):
for s in bigrams:
for b in s:
for t in b:
if len(t) >1:
lemma = t[1]
return lemma
def pos(bigrams):
for s in bigrams:
for b in s:
for t in b:
if len(t) >1:
pos = t[2]
return pos
def dependency(bigrams):
for s in bigrams:
for b in s:
for t in b:
if len(t) >1:
dependency = t[3]
return dependency
def function(bigrams):
for s in bigrams:
for b in s:
for t in b:
if len(t) >1:
function = t[4]
return function
def subjects(bigrams):
result = []
for s in bigrams:
s2 = []
for b in s:
for t in b:
subjects = ('''(x?) nsubj | csubj''')
re.sub(subjects, 'subj', function)
s2.append(b)
result.append(s2)
return result
运行此命令时,得到的是没有新变化的语料库。 'nsubj'和'csubj'标签仍然保持不变。我已经修改了几个小时并更改了详细信息,但我仍然保持不变。有什么我要跳过的吗? 谢谢