You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
886 B

from transformers import pipeline
# 加载模型
ner_pipeline = pipeline("ner", model="./models/resume_ner_model", tokenizer="./models/resume_ner_model")
# 解析文本
def parse_resume(text):
results = ner_pipeline(text)
parsed_data = []
current_entity = {}
for result in results:
if result["entity"].startswith("B-"):
if current_entity:
parsed_data.append(current_entity)
current_entity = {
"label": result["entity"][2:],
"text": result["word"]
}
elif result["entity"].startswith("I-"):
current_entity["text"] += result["word"]
if current_entity:
parsed_data.append(current_entity)
return parsed_data
# 示例
text = "2001.09--2005.07  佳木斯大学中文系汉语言文学专业学生"
results = parse_resume(text)
print(results)