我有一个空间NER模型,其中我试图提取数据框架列中标识的每个实体作为单独的列-因此例如创建和填充'GPE'和'PERSON列:
<表类>
文本
GPE
人
随机文本London George
London
George
表类>
我想我已经通过提取所有实体到一个列的解决方案:
def all_ents(v):
return [(ent.text, ent.label_) for ent in ner_model(v).ents]
df['Entities'] = df['Combined'].apply(lambda v: all_ents(v))
df.head()
然后用下面的内容遍历这一列,例如:
def person(v):
r = [(x,y) for x,y in v if ('PERSON' == y)]
return [(x) for x,y in r]
df['Person'] = df['Entities'].apply(lambda v: person(v))
df.head()
似乎有效!