如何解决如何从python中的简历中提取名称
我正在尝试提取简历的人名。我没有得到正确的输出。到目前为止,我所做的是。
import en_core_web_sm
import spacy
import pdfplumber
nlp = en_core_web_sm.load()
nlp = spacy.load("en_core_web_sm")
pdf = pdfplumber.open('C:/Person.pdf')
page = pdf.pages[0]
doc = nlp(page.extract_text())
print([(X.text,X.label_) for X in doc.ents if X.label_ == 'PERSON'])
我的输出是:
[('Mohamme mohammed24@yahoo.com\n','PERSON'),('Mangalore',('Demo Design1',('Demo Design2',('Demo Design3',('Java','PERSON')]
我尝试了很多事情,但无法获得唯一的名字。它包括技能,电子邮件等许多内容。
我该如何从简历示例技能,电话号码,姓名,工作年限,电子邮件中提取所有详细信息。
解决方法
使用空格提取名字和姓氏
我们首先定义了一个我们要在文本中搜索的模式。在这里,我们基于一个人的名字和姓氏始终是专有名词这一事实创建了一个简单的模式。因此,我们指定了spacy来搜索模式,以使两个连续的单词的语音标签部分等于PROPN(专有名词)。
import spacy
from spacy.matcher import Matcher
# load pre-trained model
nlp = spacy.load('en_core_web_sm')
# initialize matcher with a vocab
matcher = Matcher(nlp.vocab)
def extract_name(resume_text):
nlp_text = nlp(resume_text)
# First name and Last name are always Proper Nouns
pattern = [{'POS': 'PROPN'},{'POS': 'PROPN'}]
matcher.add('NAME',None,[pattern])
matches = matcher(nlp_text)
for match_id,start,end in matches:
span = nlp_text[start:end]
return span.text
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。