如何使用SpaCy从Pandas DataFrame中提取命名实体



我正在尝试使用这个问题的第一个答案提取命名实体,代码如下

for i in df['Article'].to_list():
doc = nlp(i)
for entity in doc.ents:
print((entity.text))

但它并不是在印刷实体。我尝试过print(i)print(doc),这两个变量都有值,而df['Article']包含新闻文本。有人能帮助解释为什么第二个循环没有提取实体吗?谢谢

编辑:
这是数据集文件,请运行以下代码以形成我所做的预处理。

df.iloc[:,0].dropna(inplace=True)
df = df[df.iloc[:,0].notna()]

df['Articles']中删除特殊字符

df['Article'] = df['Article'].map(lambda x: re.sub(r'W+', '', x))

使用df['Article'].map(lambda x: re.sub(r'W+', '', x)),您可以从文章中删除所有空白字符。

你需要使用

df['Article'] = df['Article'].str.replace(r'(?:_|[^ws])+', '')

使用该正则表达式,您将只删除除空格之外的特殊字符。

相关内容

  • 没有找到相关文章

最新更新