福州企业建站服务提供手机网站建设企业
news/
2025/9/30 5:46:31/
文章来源:
福州企业建站服务,提供手机网站建设企业,html个人网页制作教程,商城建设网站策划本文转载自公众号#xff1a;浙大 KG。作者#xff1a;余海阳机构#xff1a;浙江大学代码地址: https://github.com/zjunlp/deepkeOpenKG 发布地址: http://openkg.cn/tool/deepke一、系统简介关系抽取是知识图谱构建的基本子任务之一#xff0c;它主要面向非结构化的文本… 本文转载自公众号浙大 KG。作者余海阳机构浙江大学代码地址: https://github.com/zjunlp/deepkeOpenKG 发布地址: http://openkg.cn/tool/deepke 一、系统简介关系抽取是知识图谱构建的基本子任务之一它主要面向非结构化的文本数据抽取文本/句子中两个或多个实体之间的语义关系从而组成结构化的知识用于信息抽取、问答系统和知识库补全等任务中。基于传统方法的关系抽取工作依赖人工设计的特征及抽取特征的质量有很大的局限性。而随着深度学习在图像、语音等领域取得的成功许多关系抽取的研究工作也引入神经网络以自动提取文本/句子中的特征减少人工工作的同时取得了非常好的效果。本系统基于深度学习以统一的接口实现了目前主流的关系抽取模型。包括卷积神经网络、循环神经网络、注意力机制网络、图卷积神经网络、胶囊神经网络以及使用语言预训练模型等在内的深度学习算法。后续仍将持续更新添加如端到端实体关系联合抽取等新模型。 二、主要算法简介1. 基于 CNN 的关系抽取模型使用 CNN 抽取每个句子中最重要的特征得到句子的特征向量表示并用于最终的分类。模型首先通过预训练或者随机初始化的 embedding 将句子中的词转化为词向量同时使用句子中的实体词及其上下文相对位置表征实体词的位置向量随后通过 CNN 网络抽取句子级别的特征并使用池化方式得到压缩后的特征向量表示。最后将特征向量输入一个全连接的神经网络层对句子所表述的关系进行分类。2. 基于 RNN 的关系抽取模型与使用 CNN 网络抽取句子特征不同本模型主要通过双向 LSTM 网络抽取句子的特征并且加入 Attention 机制对输出的特征向量施加权重最终生成有偏向性的向量表示同样地生成的向量输入全连接的神经网络层最终实现对关系的分类。3、基于 PCNN 的远程监督关系抽取模型在关系抽取任务中引入远程监督学习的方法尤其是针对远程监督中的标记噪声问题使用分段的 CNNPiecewise CNN简写为 PCNN抽取句子特征向量表示的同时考虑到同一个 Bag 中句子表达关系的不同重要性引入了句子级别的Attention 机制。句子特征向量表示: PCNN 与 CNN 模型抽取句子特征向量方法相同组合词和词相对位置的 embedding 表示输入 CNN 模型进行卷积。不同的是在池化部分使用分段池化取代前面的最大值池化操作。分段池化根据句子中两个实体的位置将句子分为三个片段再分别进行池化操作这样能捕捉句子中的结构信息以及更加细粒度的特征。4. 基于 Capsule 的关系抽取模型模型首先通过预训练的 embedding 将句子中的词转化为词向量随后使用 BiLSTM 网络得到粗粒度的句子特征表示再将所得结果输入到胶囊网络首先构建出 primary capsule经由动态路由的方法得到与分类结果相匹配的输出胶囊。胶囊的模长代表分类结果的概率大小。5. 基于 Transformer 的关系抽取模型模型使用 Transformer 的 encoder 部分编码句子信息。使用 multi-head attention 模块不断的抽取句子中重要的特征并且使用残差网络的叠加方法将注意力层得到的输出与输入拼接到一起并正则化。如此方式可以堆叠多层更好的抽取句子信息。最后将 Transformer 的结果接一层全连接层得到最终的分类效果。 6. 基于 GCN 的关系抽取模型GCN 在图像领域的成功应用证明了以节点为中心的局部信息聚合同样可以有效的提取图像信息。因此仿照在图像领域的应用方式将方法迁移到关系抽取中利用句子的依赖解析树构成图卷积中的邻接矩阵以句子中的每个单词为节点做图卷积操作。如此就可以抽取句子信息再经过池化层和全连接层即可做关系抽取的任务。 7. 基于 BERT 语言预训练模型的关系抽取模型BERT 的问世证明了语言预训练模型对下游的 nlp 任务有很大的提升可以帮助提升关系抽取的效果。简单的使用 BERT 语言预训练模型方式将句子输入到 BERT 后得到的结果输入到全连接层即可做关系抽取任务。实验结果表明可以取得相当不错的效果。三、安装与使用1. 首先推荐使用 Anaconda可以更方便的管理python虚拟环境。在 Anaconda官网下载安装后在终端输入conda info 检查是否成功安装 conda。2. 新建python虚拟环境。终端输入conda create -n deepkeTest python3.7需要确认的命令时输入 y直到虚拟环境安装完成。此时终端中输入conda activate deepkeTest即可进入新建的虚拟环境。3. 安装python依赖包。终端输入命令pip install -r requirements.txt即可开始安装。若是安装速度较慢建议添加pip国内镜像。具体方法为终端输入命令vim ~/.pip/pip.conf 打开pip配置文件如果找不到该文件就新建一个。打开文件后写入如下内容[global]index-url https://mirrors.aliyun.com/pypi/simple/[install]trusted-hostmirrors.aliyun.com写完保存之后重新输入依赖包安装命令 pip install -r requirements.txt即可大幅加快安装速度。4. 安装完成后即可开始使用本系统。终端输入python main.py 即可立刻开始运行系统此时为默认配置效果。具体运行效果如下 start preprocess data load raw files...load data/origin/train.csvload data/origin/test.csvverify whether need split words...need word segment, use jieba to split sentencebuild sentence vocab...after trim, keep words [6615 / 18645] 35.48%Directory data/out do not exist; creating...save vocab in data/out/vocab.pkl build train data...build test data...build relation data... save train data in data/out/train.pklsave test data in data/out/test.pkl end preprocess data load data in data/out/vocab.pklload data in data/out/train.pklload data in data/out/test.pkl CNN( (embedding): Embedding( (word_embed):Embedding(6615, 50, padding_idx0) (head_pos_embed):Embedding(102, 5, padding_idx0) (tail_pos_embed):Embedding(102, 5, padding_idx0) ) (mask_embed):Embedding(4, 3) (convs): ModuleList( (0): Conv1d(60, 100,kernel_size(3,), stride(1,), padding(1,), biasFalse) (1): Conv1d(60, 100,kernel_size(5,), stride(1,), padding(2,), biasFalse) ) (fc1):Linear(in_features600, out_features100, biasTrue) (fc2):Linear(in_features100, out_features10, biasTrue) (dropout):Dropout(p0.3, inplaceFalse)) Starttraining Train Epoch: 1 [640/4000 (16%)] Loss:2.115848Train Epoch: 1 [1280/4000 (32%)] Loss: 1.695553Train Epoch: 1 [1920/4000 (48%)] Loss: 1.826675Train Epoch: 1 [2560/4000 (63%)] Loss: 1.423478Train Epoch: 1 [3200/4000 (79%)] Loss: 1.081029Train Epoch: 1 [3840/4000 (95%)] Loss: 0.764394Train Epoch: 1 [4000/4000 (100%)] Loss: 0.771318 macro metrics: [p:0.8403, r:0.7970, f1:0.7709]micro metrics: [p:0.7970, r:0.7970, f1:0.7970] ...... 5. 其他配置详情见 deepke/config.py 文件。 参考文献[1] Zeng, D., Liu, K., Lai, S., Zhou, G., Zhao, J.: Relation classification via convolutional deep neural network. In: COLING. pp. 2335–2344.ACL (2014)[2] Zhou, P., Shi, W., Tian, J., Qi, Z., Li, B., Hao, H., Xu, B.: Attention-based bidirectional long short-term memory networks for relation classification. In:ACL (2). The Association for Computer Linguistics (2016)[3] i, G., Liu, K., He, S., Zhao, J.: Distant supervision for relation extraction with sentence-level attention and entity descriptions. In: AAAI. pp. 3060–3066. AAAI Press (2017)[4] Zhang N, Deng S, Sun Z, et al. Attention-based capsule networks with dynamic routingfor relation extraction[J]. arXiv preprint arXiv:1812.11321, 2018.[5] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.[6] Zhang Y, Qi P, Manning C D, et al. Graph Convolution over Pruned Dependency Trees Improves Relation Extraction[C]. Empirical Methods in Natural Language Processing, 2018: 2205-2215.[7] Shi P, Lin J. Simple BERT Models for Relation Extraction and Semantic Role Labeling[J]. arXiv preprint arXiv:1904.05255, 2019.OpenKG开放知识图谱简称 OpenKG旨在促进中文知识图谱数据的开放与互联促进知识图谱和语义技术的普及和广泛应用。点击阅读原文了解 DeepKE。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922503.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!