Text 使用spacy或nltk从德语文本数据中提取人名?
我使用德语的spacy模型来提取命名实体,如位置名、人名和公司名,但没有得到正确的结果作为输出。是否有我无法准确理解的遗漏概念Text 使用spacy或nltk从德语文本数据中提取人名?,text,corpus,named-entity-recognition,Text,Corpus,Named Entity Recognition,我使用德语的spacy模型来提取命名实体,如位置名、人名和公司名,但没有得到正确的结果作为输出。是否有我无法准确理解的遗漏概念 def city_finder(text_data): nlp = spacy.load('en_core_web_sm') doc = nlp(text_data) for ents in doc.ents: if(ents.label_ == 'GPE'): return (ents.text) 这是
def city_finder(text_data):
nlp = spacy.load('en_core_web_sm')
doc = nlp(text_data)
for ents in doc.ents:
if(ents.label_ == 'GPE'):
return (ents.text)
这是我用来从文本数据中查找城市名称的代码,但它的准确性不是很高。当我运行这段代码时,结果是其他东西,而不是城市名称。作为自然语言处理或其他领域的一部分,我是否遗漏了一些东西 有标准库可用于提取特定于语言的POS。您可以检查其他库以提取名词,例如,从剪辑中提取模式库(请参阅)为德语和西班牙语等语言实现POS。您必须加载德语模型,当前加载的是英语模型(请参阅前缀“en”))。有两种德国型号可供选择:
- 核心新闻
- de_core_news_md
python -m spacy download de_core_news_sm
但是,目前只支持四种不同的实体(根据我的经验,如果不进行再培训,实体提取在德语中不会很好地工作)
支持的NER:LOC、MISC、组织、PER
您必须按照以下方式调整代码:
def city_finder(text_data):
nlp = spacy.load('de_core_news_sm') # load German language model
doc = nlp(text_data)
for ents in doc.ents:
if(ents.label_ == 'LOC'): # GPE is not supported
return (ents.text)