从非结构化的文本中提取关键信息(如时间、地点、任务、事件)一直是人工智能的一个重要应用方向。本人运用人
知识图谱实体抽取提取了全市场2900多位基金经理的毕业学校、专业、学历、供职过的公司(含现在和过往)、部门、职位。供各位读者参考。
一、原始数据及分析目标
我们可以通过东方财富、万得等获取全市场每一位基金经理的简历,然后通过模型抽取每一份简历中的关键要素。
例如有如下一段基金经理的简介:
上海东方证券资产管理有限公司执行董事、公募权益投资部投资经理,北京大学经济学博士,证券从业12年,曾任东方证券研究所宏观策略高级研究员,东方证券资产管理业务总部首席策略师、上海东方证券资产管理有限公司研究部宏观策略研究员、私募权益投资部投资主办人、公募集合权益投资部投资经理。2021年1月起担任东方红多元策略混合型证券投资基金基金经理。
我们希望提取出该段文字中的关键信息,返回如下结果:
1、公司:上海东方证券资产管理有限公司,东方证券
2、部门:公募权益投资部、研究所、私募权益投资部
3、职位:执行董事、投资经理、研究员
4、院校:北京大学
5、专业:经济学
6、学历:博士
将全市场基金经理的信息抽取并汇总,得到基金经理毕业院校、专业、供职公司、部门的汇总统计结果。
二、运行环境和计算框架
飞浆paddle中的通用信息提取(UIE)模块、doccano文本标注工具、CUDA+cuDNN计算框架
限于篇幅字数限制,详细实现步骤请关注本人公众号
三、分析步骤
1、对doccano标注的数据集进行序列化处理
python doccano.py --doccano_file ./data/doccano_ext.jsonl --task_type ext --save_dir ./data --splits 0.8 0.2 0
注:doccano_ext.jsonl 由doccano的Sequence Labeling任务实现
2、对模型进行单卡微调
python finetune.py --train_path ./data/train.txt --dev_path ./data/dev.txt --save_dir ./checkpoint --learning_rate 1e-5 --batch_size 16 --max_seq_len 64 --num_epochs 30 --model uie-base --seed 1000 --logging_steps 10 --valid_steps 100 --device gpu
注:需要使用gpu进行调优,调优后的最佳模型存放在checkpoint目录中,可供后续调用
3、在验证集上验证模型性能schema python evaluate.py --model_path ./checkpoint/model_best --test_path ./data/dev.txt --debug
三、分析结果
1、基金经理毕业院校TOP50
2、基金经理学历统计
3、基金经理所学专业TOP50及各专业大类占比
其中专业大类按照我国13个学科门类分类(哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、军事学、管理学、艺术学)。可以看出基金经理们大多数都是经济、管理类专业出身,也有部分是理工类专业出身。
4、基金经理供职公司、部门、职位统计
在此需要说明,基金公司供职公司、部门、职位既包括现任单位,也包括曾经供职过的单位