我试图在数据框架中创建显示来自spaCy模型的实体和标签的列,到目前为止,通过输入以下代码,我可以生成实体列:
df['new_col'] = df['Combined'].apply(lambda x: list(ner_model(x).ents))
然而,如果我对标签做同样的尝试:
#df['new_col1'] = df['Combined'].apply(lambda x: list(nlp(x).label_))
我得到'AttributeError: ' space .tokens.doc. doc '对象没有属性'label_ "
我怀疑我可能不得不迭代单个令牌,但我不确定如何做到这一点?
你需要做这样的事情
df['new_col1'] = df['Combined'].apply(lambda x: [ent.label_ for ent in nlp(x).ents])
nlp(x)
的输出是一个Doc
对象,并且Doc
对象上没有label
属性(正如您得到的错误中明确指出的那样)。您需要Doc
对象上实体的标签,这就是为什么您需要迭代nlp(x).ents
并获得每个实体的label_
。