re.sub()方法未返回我期望的结果

时间:2019-06-25 16:14:10

标签: python nlp

使用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'标签仍然保持不变。我已经修改了几个小时并更改了详细信息,但我仍然保持不变。有什么我要跳过的吗? 谢谢

0 个答案:

没有答案