[英]How to define ner_model in spacy
def all_ents(v):
return [(ent.text, ent.label_) for ent in ner_model(v).ents]
df1['Entities'] = df1['text'].apply(lambda v: all_ents(v))
df1.head()
執行此操作時顯示 ner_model not defined 我可以知道如何在 spacy 中定義 ner model
有些東西告訴我你沒有正確加載你的 spaCy model。 不知道df1
長什么樣子,我決定用我自己的一個 go,如下:
import spacy
import pandas as pd
# Building my own `df1`, it should look similar to yours
texts = [
"Net income was $9.4 million compared to the prior year of $2.7 million.",
"Revenue exceeded twelve billion dollars, with a loss of $1b.",
"I don't have any entity in me"
]
df1 = pd.DataFrame(texts, columns =['text'])
# Loading spaCy model
model_to_use = "en_core_web_lg" # Or use the path to your own model
ner_model = spacy.load(model_to_use)
# Your code works now
def all_ents(v):
return [(ent.text, ent.label_) for ent in ner_model(v).ents]
df1['Entities'] = df1['text'].apply(lambda v: all_ents(v))
注意:
根據我自己的經驗,如果df1
相當大(即,它包含數千個句子),您可能希望將df1["text"]
轉換為列表或生成器,然后應用這些提示。 如果您不是這種情況,或者如果您對速度優化代碼不感興趣,那么在您當前的實施之前不要注意此注釋和 go。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.