【发布时间】:2018-07-19 22:39:51
【问题描述】:
我有一个基于文本的数据集,我希望将 SpaCy 的 EntityRecognizer 应用于特定列的每一行。
我可以通过执行以下操作来应用一般 spaCy 管道:
df['new_col'] = df['col'].apply(lambda x: nlp(x))
如何仅应用实体识别器并获取其值?
【问题讨论】:
标签: python pandas dataframe nlp spacy
我有一个基于文本的数据集,我希望将 SpaCy 的 EntityRecognizer 应用于特定列的每一行。
我可以通过执行以下操作来应用一般 spaCy 管道:
df['new_col'] = df['col'].apply(lambda x: nlp(x))
如何仅应用实体识别器并获取其值?
【问题讨论】:
标签: python pandas dataframe nlp spacy
在 Spacy 中,文档有一个属性 .ents,它会在其命名实体上返回一个生成器。
所以你可以使用:
df['new_col'] = df['col'].apply(lambda x: list(nlp(x).ents))
【讨论】:
df['new_col'] = df['col'].apply(lambda x: list(nlp(x).label_))