毕业设计 面向金融领域的实体关系抽取系统设计与实现(源码+论文)


0 项目说明

面向金融领域的实体关系抽取系统设计与实现

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 项目说明

经过大量的调研发现,有监督的机器学习方法在关系抽取的效果上要优于半监督和无监督的机器学习方法,因此本系统将使用有监督的机器学习方法来进行关系抽取。因为实体种类繁多,针对金融领域,我们只抽取机构与机构之间、人与机构之间的实体关系。基于有监督的机器学习方法来进行关系抽取,系统的开发大致分为两个部分:一是模型训练,二是应用训练好的模型进行关系抽取。主要工作内容可概括为以下几个方面:
(1)使用爬虫技术爬取新闻,搭建训练语料库;
(2)人工标注语料库;
(3)针对不同的分类算法进行调参,并选择最佳的分类算法;
(4)使用最佳的分类算法训练模型并保存模型;
(5)使用已有的模型对金融新闻进行实体关系抽取。

2 需求分析

实体关系抽取的进行是在实体识别的基础上进行的,因此系统首先应该允许用户选择需要进行关系预测的实体对,然后让系统读取描述实体间关系的新闻内容,再进行实体间关系抽取,并给出模型预测的实体间关系。
在这里插入图片描述

3 系统设计

本系统在特定的金融网站上采集数据,搭建语料库并进行人工标注。在标注完成后,选定分类算法进行训练,训练完完成后即可使用该模型来对新来的文本进行实体关系抽取,文本的来源可以使微信、股吧、公告和新闻网站等。将关系抽取的结果进行保存,以服务于其他应用。
在这里插入图片描述

3.1 系统功能

本系统主要包括模型训练和关系抽取两个方面,关系抽取是在模型训练完成的基础上,利用已经训练好的模型来对实体关系进行抽取。模型训练模块和关系抽取模块又可以根据其处理的流程,细分为一些具体的小模块。
在这里插入图片描述

3.2 实现流程

面向金融领域的实体关系抽取系统主要包含两部分,模型训练和关系抽取,关系抽取是应用模型训练完成后保存的模型来进行关系抽取活动的。下图展示了这两个部分的实现流程以及之间的交互关系。从图可以看出,两部分的实现流程基本一致。
在这里插入图片描述

4 效果展示

(1)买卖关系
在这里插入图片描述
(2)合并关系
在这里插入图片描述
(3)合作关系
在这里插入图片描述
(4)从属关系
在这里插入图片描述

5 论文概览

在这里插入图片描述

6 项目工程

**项目分享: ** https://gitee.com/asoonis/htw

【资源说明】 课程大作业基于bert4keras开放领域关系抽取python源码+部署说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 欢迎下载,欢迎交流,互相学习进步! 本项目是利用深度学习技术进行开放领域关系抽取,算法模型可以处理多个三元组。 开放领域关系抽取是从文本中抽取三元组,不同于限定域的关系抽取,开放关系抽取并不限制关系的种类和数量,即所识别的关系(relation)在文本中体现。于是将("n", 标签)组合成一个大类,然后可以将开放关系抽取转化为一个NER问题,其中n对应的是文本中三元组的数量。对于NER任务,我们采用[GPLinker模型](https://kexue.fm/archives/8926),相应代码在openRE_train_v2中。 所需环境 Python==3.6 tensorflow==1.14.0 keras==2.3.1 bert4keras==0.10.9 项目目录 ├── bert4keras ├── data    存放数据 ├── pretrained_model    存放预训练模型 ├── extract_chinese_and_punct.py ├── openRE_train.py    训练代码 ├── openRE_train_v2.py    训练代码v2 ├── openRE_predict.py    评估和测试代码 数据集 采用[COER语料库],对原始数据进行了筛选,处理好的数据存放在data/CORE文件夹下。 ``` "text": "巴基斯坦国家灾害管理局局长法鲁克、巴内阁事务部长穆罕默德", "sro_list": [{"subject": "巴", "relation": "内阁事务部长", "object": "穆罕默德"}, {"subject": "巴基斯坦国家灾害管理局", "relation": "局长", "object": "法鲁克"}] ``` 三元组中的实体和关系均出现在文本中。 训练集和验证集中的每个句子都有n个三元组(2=<n<=4),数据统计情况: | 数据集 | 2个 | 3个 | 4个 | | :------:| :------: | :------: | :------: | | train | 8858 | 767 | 264 | | dev | 2238 | 177 | 58 | 使用说明 1.[下载预训练语言模型] 可采用BERT-Base, Chinese等模型 2.构建数据集(数据集已处理好)   train.json和dev.json 3.训练模型 ``` python openRE_train.py ``` 4.评估和测试 ``` python openRE_predict.py ``` 结果 | 数据集 | f1 | precision | recall | | :------:| :------: | :------: | :------: | | train | 0.92781 | 0.92947 | 0.92616 | | dev | 0.62125 | 0.61854 | 0.62397 | | dev(v2) | 0.76922 | 0.80624 | 0.73545 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值