Python 真套管间距

Python 真套管间距,python,nltk,spacy,Python,Nltk,Spacy,目的是基于POS标签进行资本化,我可以通过下面的链接实现这一点 尝试使用spacy获得类似的结果 def truecase(doc): truecased_sents = [] # list of truecased sentences tagged_sent = token.tag_([word.lower() for token in doc]) normalized_sent = [w.capitalize() if t in ["NN","NNS"] else

目的是基于POS标签进行资本化,我可以通过下面的链接实现这一点

尝试使用spacy获得类似的结果

def truecase(doc):
    truecased_sents = [] # list of truecased sentences
    tagged_sent = token.tag_([word.lower() for token in doc])
    normalized_sent = [w.capitalize() if t in ["NN","NNS"] else w for (w,t) in tagged_sent]
    normalized_sent[0] = normalized_sent[0].capitalize()
    string = re.sub(" (?=[\.,'!?:;])", "", ' '.join(normalized_sent))
    return string
它抛出了这个错误

  tagged_sent = token.tag_([word.lower() for token in doc])
NameError: global name 'token' is not defined
如何将令牌声明为全局令牌并解决此问题。我的方法正确吗

import spacy, re
nlp = spacy.load('en_core_web_sm')
doc = nlp(u'autonomous cars shift insurance liability toward manufacturers.')
tagged_sent = [(w.text, w.tag_) for w in doc]
normalized_sent = [w.capitalize() if t in ["NN","NNS"] else w for (w,t) in tagged_sent]
normalized_sent[0] = normalized_sent[0].capitalize()
string = re.sub(" (?=[\.,'!?:;])", "", ' '.join(normalized_sent))
print string
输出: 自动驾驶汽车将保险责任转移给制造商