我有很多简历文本文件。其中,日期有不同的格式,例如出生日期-12-12-1995,工作年限-2000年至今或1995-2005或1995/2005,加入日期-2015年3月5日等。我只想从这些数据中提取经验年数。如何使用NLP在Python中实现这一点?请回答。在
我尝试了以下方法:
#This gives me all the dates from documents
import datefinder
data = open("/home/system/Desktop/samplecv/5c22fcad79fcc1.33753024.txt")
str1 = ''.join(str(e) for e in data)
matches = datefinder.find_dates(str1)
for match in matches:
print(match)
如果您已经提取了日期,那么看起来您缺少的是每个日期的“类型”。如果datefinder不能跟踪语料库中日期的位置结构,那么使用它进行日期提取就不会有太大用处。在
然而,这不仅仅是一个实体识别问题。您必须将一个NER与一个POS标记器(甚至可能是一个synatic依赖性解析器)配对,Spacy是一个不错的选择。在
你应该首先在你的语料库上运行词性标签,看看它是否能找到像“经验”或“工作经历”这样的短语。如果没有,你应该给它加上你自己的标签,这样它就可以根据你的需要特别标记这些单词。在
然后你可以运行一个NER来确定日期。请记住,NER最多会将所有日期标记为日期实体,并且无法找到这些日期类型之间的区别。在
您必须使用某种语言语法或正则表达式将相应的日期链接到讲话的前面或后面。在
例如,您可以将单词Experience后面的所有日期与Experience POS标记关联起来。在
或者,您可以尝试NLTK(这是Spacy的一种替代方法,但是您也需要使用它运行相同的管道)。阅读here了解更多信息。在
相关问题 更多 >
编程相关推荐