学习
实践
活动
专区
工具
TVP
写文章

使用Bert完成实体之间关系抽取

文件路径放置于代码同目录(或者自己的数据,具体可见loader.py),更加具体的获取和数据处理见下文 将bert-base-chinese放置于同目录下的bert-base-chinese下或者自行指定位置 安装pytorch ,cuda,transformer,numpy等组件(实际测试可运行环境为pytorch=1.5.1 transformers=2.5.1) train and eval (注意,在此之前,请做好数据的获取和预处理 如果仅用于测试和实际使用,可以下载已经训练好的Model,然后调用demo.py下对应函数 caculate_acc:计算每一个类别的正确率 demo_output:随机选择样本,输出原文,实体对以及预测的关系 prepare_data,观察到目录里生成了train.json和dev.json 截止这里,数据的预处理完成了,可以运行main和demo 我对数据进行了预处理,提取关系抽取需要的部分 关系设定有49, 92.5% 修正:后来在所有的数据上训练和测试,测试数据36w,测试数据4w,eval正确率95+% 实际测试 在数据中抽取一部分实际测试 效果不错

68920
  • 广告
    关闭

    新年·上云精选

    热卖云产品年终特惠,2核2G轻量应用服务器7.33元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    刷剧不忘学CNN:TF+Keras识别辛普森一家人物 | 教程+代码+数据集

    △ 部分人物的图片 在训练集中,每个人物各大约包括1000个样本(还在标注数据来达到这个数量)。每个人物不一定处于图像中间,有时周围还带有其他人物。 ? △ 各类别的识别效果 从上图可以看出,模型的正确率(f1-score)较高:除了Lisa,其余各类的正确率都超过了80%。Lisa的平均正确率为82%,可能是在样本中Lisa与其他人物混在一起。 △ 各类别的交叉关系图 的确,Lisa样本中经常带有Bart,所以正确率较低可能受到Bart的影响。 添加阈值来提高正确率 为了提高模型正确率和减少召回率,我添加了一个阈值。 我们希望在提高准确性的同时,而不会很大程度上影响召回率,因此要为每个人物或是低正确率的人物(如Lisa Simpson)来绘制这些散点图。 此外,对于没有主角或是不存在人物的样本,加入阈值后效果很好。 对于预测类别的概率最小值,画出F1-score、召回率和正确率来比较效果。 ?

    84050

    Pytorch打怪路(一)pytorch进行CIFAR-10分(5)测试

    https://blog.csdn.net/Teeyohuang/article/details/79222857 pytorch进行CIFAR-10分(5)测试 我的系列博文: Pytorch 打怪路(一)pytorch进行CIFAR-10分(1)CIFAR-10数据加载和处理 Pytorch打怪路(一)pytorch进行CIFAR-10分(2)定义卷积神经网络 Pytorch打怪路(一) pytorch进行CIFAR-10分(3)定义损失函数和优化器 Pytorch打怪路(一)pytorch进行CIFAR-10分(4)训练 Pytorch打怪路(一)pytorch进行CIFAR-10 test images: %d %%' % ( 100 * correct / total)) # 最后打印结果 tutorial给的结果是53% 代码第四部分 来测试一下每一的分类正确率 torch.max(outputs.data, 1) c = (predicted == labels).squeeze() for i in range(4): # 因为每个

    2K31

    分类模型 第1篇:分类模型概述

    二分是指在两个类别中选择一个类别,在二分问题中,其中一个类别称作正(positive class),另一个类别称作负(negative class),比如判断垃圾邮件。 元组中的每个字段叫做数据的特征,或属性;标号是指该数据元组的类别。 四,分类模型的评估 分类模型的评估由模型的正确率和预测的不确定度构成: score(x,y):模型的正确率,用于对模型的正确率进行评分(范围0-1),计算公式是:count(预测正确的数据点)/总的数据点数量 predict_prob(x):每个别的概率,表示预测的置信度。 在评估模型时,不能仅仅限于模型的正确率(score),由于在不同的问题下,评判模型优劣的的标准不限于简单的正确率,可能还包括召回率或者是查准率等其他的指标,特别是对于类别失衡的样本,准确率并不能很好的评估模型的优劣

    11310

    Pytorch神器(10)

    虽然人工智能的“coding”看上去非常不像coding,但是不能否认的是,用它训练出来的各种模型效率和正确率已经超过人类纯手工编程来实现同样应用功能的水平了。 就看看MNIST手写数字识别的这个需求就知道,用人类手写规则匹配将会耗费多少脑细胞和成本,而用深度学习呢?几乎是秒得。那么在其它领域的差距可想而知。 还是什么别的框架,我觉得都没关系,看你个人喜欢,我这里主要说我比较喜欢的两个框架吧。 Pytorch 优点:社区丰富、网上代码示例多,不过这是相对的,比Tensorflow还是要少——作为一个年轻框架,我们还是要宽容它一点。 不过我们还是要坚信Pytorch会越来越好的,毕竟Caffe并入Pytorch这是个利好的消息。 众多框架经过群雄逐鹿,现在死走逃亡剩下的基本都是有其可取之处的。

    27120

    ·探究训练集样本不平衡问题对CNN的影响与解决方法(转)

    共有10(airplane,automobile,bird,cat,deer,dog, frog,horse,ship,truck),每一含有5000张训练图片,1000张测试图片。 二、类别不平衡数据的生成 直接从原始CIFAR-10采样,通过控制每一采样的个数,就可以产生类别不平衡的训练数据。如下表所示: ? 这里的每一行就表示“一份”训练数据。 而每个数字就表示这个类别占这“一份”训练数据的百分比。 Dist. 1:类别平衡,每一都占用10%的数据。 Dist. 2、Dist. 3:一部分类别的数据比另一部分多。 Dist. 4、Dist 5:只有一数据比较多。 Dist. 6、Dist 7:只有一数据比较少。 Dist. 8: 数据个数呈线性分布。 Dist. 9:数据个数呈指数级分布。 三、类别不平衡数据的训练结果 以上数据经过训练后,每一对应的预测正确率如下: ? 第一列Total表示总的正确率,下面是每一别的正确率。 从实验结果中可以看出: 类别完全平衡时,结果最好。

    1.3K20

    针对后门攻击的防御手段之Neural Cleanse

    介绍 后门攻击是一针对深度学习的攻击,其主要组成部分有两个: 触发器 带后门的模型 当模型接收到带有触发器的输入,便会导致对应的触发结果。 并且,一但没有触发器,模型的表现和正常的模型相似。 image.png 这个直觉的想法是整篇文章的精髓所在 顺着这个直觉,我们直接地可以想到,那只要我们对类别进行逆向,反向地构造出每个别的触发器,看看这些触发器的大小,不就可以知道哪些类别可能被植入后门了 裁剪对于正确率和后门的影响 如上图所示,裁剪会令正常任务的正确率降低,同时使后门的成功率降低。可以看到裁剪比例达到0.2左右的时候已经可以使得后门完全失效,同时正确率降低的幅度也不多。

    65920

    如何做特征选择

    Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。 2.3 K-means聚算法 由于聚算法是给予数据自然上的相似划法,要求得到的聚每个内部数据尽可能的相似而聚之间要尽可能的大差异。所以定义一种尺度来衡量相似度就显得非常重要了。 对于混合,说明里面的数据较其他数据更加接近于偏离病例的典型数据,所以进一步分析在第一中和第二中的分类正确率: 1.第一为良性,共448条数据,分类正确率为96.88%; 2.第二为恶性,共99 条数据,分类正确率为 100% ; 3.第三为混合,共136条数据 因此单独从分类后的正确率来看,效果有提高,说明对典型的病例数据分类更准确,但是对于第三数据,而无法区分,因此这种情况下,其意义不在于分类的整体正确率 1.第一为良性,共281条数据,分类正确率为97.51% ; 2.第二为恶性,共211条数据,分类正确率为 97.16% ; 3.第三为混合,共191条数据 因此,对比可以看到,虽然良性的正确率增加了

    1.1K50

    Spark应用HanLP对中文语料进行文本挖掘--聚

    问题描述     现在有一个中文文本数据集,这个数据集已经对其中的文本做了分类,如下: image.png 其中每个文件夹中含有个数不等的文件,比如环境有200个,艺术有248个;同时,每个文件的内容基本上就是一些新闻报道或者中文描述 ,如下: image.png 现在需要做的就是,把这些文档进行聚,看其和原始给定的类别的重合度有多少,这样也可以反过来验证我们聚算法的正确度。 2.4 使用每个文档的词向量进行聚建模 在进行聚建模的时候,需要提供一个初始的聚个数,这里面设置为10,因为我们的数据是有10个分组的。 2.5 对聚后的结果进行评估 这里面采用的思路是: 1. 得到聚模型后,对原始数据进行分类,得到原始文件名和预测的分类id的二元组(fileName,predictId); 2. 得到每个实际类别的预测的正确率后就可以去平均预测率了。 5. 改变numFeatuers的值,看下是否numFeatures设置的比较大,其正确率也会比较大? 3.

    94400

    【深度学习】翻译:60分钟入门PyTorch(四)——训练一个分类器

    前言 翻译自:Deep Learning with PyTorch: A 60 Minute Blitz 翻译:林不清 目录 60分钟入门PyTorch(一)——Tensors 60分钟入门PyTorch (二)——Autograd自动求导 60分钟入门Pytorch(三)——神经网络 60分钟入门PyTorch(四)——训练一个分类器 训练一个分类器 你已经学会如何去定义一个神经网络,计算损失值和更新网络的权重 一个类别的概率越大,神经网络越认为他是这个类别。所以让我们得到最高概率的标签。 Accuracy of the network on the 10000 test images: %d %%' % ( 100 * correct / total)) 结果看起来好于偶然,偶然的正确率为 那在什么上预测较好,什么预测结果不好呢?

    19010

    数据挖掘案例:基于 ReliefF和K-means算法的应用

    Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。 2.3 K-means聚算法 由于聚算法是给予数据自然上的相似划法,要求得到的聚每个内部数据尽可能的相似而聚之间要尽可能的大差异。所以定义一种尺度来衡量相似度就显得非常重要了。 对于混合,说明里面的数据较其他数据更加接近于偏离病例的典型数据,所以进一步分析在第一中和第二中的分类正确率: 1.第一为良性,共448条数据,分类正确率为96.88%; 2.第二为恶性,共99 条数据,分类正确率为 100% ; 3.第三为混合,共136条数据 因此单独从分类后的正确率来看,效果有提高,说明对典型的病例数据分类更准确,但是对于第三数据,而无法区分,因此这种情况下,其意义不在于分类的整体正确率 1.第一为良性,共281条数据,分类正确率为97.51% ; 2.第二为恶性,共211条数据,分类正确率为 97.16% ; 3.第三为混合,共191条数据 因此,对比可以看到,虽然良性的正确率增加了

    57480

    特征选择算法实战

    Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。 2.3 K-means聚算法 由于聚算法是给予数据自然上的相似划法,要求得到的聚每个内部数据尽可能的相似而聚之间要尽可能的大差异。所以定义一种尺度来衡量相似度就显得非常重要了。 对于混合,说明里面的数据较其他数据更加接近于偏离病例的典型数据,所以进一步分析在第一中和第二中的分类正确率: 1.第一为良性,共448条数据,分类正确率为96.88%; 2.第二为恶性,共99 条数据,分类正确率为 100% ; 3.第三为混合,共136条数据 因此单独从分类后的正确率来看,效果有提高,说明对典型的病例数据分类更准确,但是对于第三数据,而无法区分,因此这种情况下,其意义不在于分类的整体正确率 1.第一为良性,共281条数据,分类正确率为97.51% ; 2.第二为恶性,共211条数据,分类正确率为 97.16% ; 3.第三为混合,共191条数据 因此,对比可以看到,虽然良性的正确率增加了

    84540

    吐血整理!12种通用知识图谱项目简介

    下面,我们将对两知识图谱做详细介绍。 01 百科知识图谱 百科知识图谱构建模式可以分为两。一是对单百科数据源进行深度抽取,典型代表有DBpedia。 根据抽样评测,RDF三元组的正确率达到88%[1]。 2. BabelNet中每个概念包含所有表达相同含义的不同语言的同义词。由于BabelNet中的错误来源主要在于维基百科与WordNet之间的映射,目前的映射正确率大约在91%。 5. 此外,Wikidata利用参考文献标识每个条目的来源或出处,通过备注处理复杂多元表示,刻画多元关系。 精通PyTorch、TensorFlow等主流深度学习框架,擅长运用NLP前沿技术解决工业项目难题。 蔡月,清华-深圳湾实验室联合培养博士后,于2017年获得北京大学生物医学工程博士学位。

    48610

    简单的TensorFlow分类教程

    0和1只是现实世界中某两个关联的类别的代表,例如车和行人。注意,参数N是每个别的样本数。 为了满足随机梯度下降的特点,在gen_data()方法内部还对数据进行了重新随机排列,同时也考虑到了每个别的样本数量。 线性模型 对于线性可分的数据,只需要SoftMax回归模型就可以应付。 正确率很低,但却不再提升,一种过拟合的状态。如下图: 正确率曲线: ? accuracy1 loss曲线: ? 每个epoch完毕,正好训练集的所有样本被迭代一遍。 moon 圆模型 第三组数据是环形数据,为了得到一个圆的分类边界,我们需要增加神经网络的隐藏层数量,一个有四个隐藏层的神经网络分类器。

    37730

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 日志服务

      日志服务

      日志服务(CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索分析、实时消费、日志投递等多项服务,协助用户通过日志来解决业务运营、安全监控、日志审计、日志分析等问题。用户无需关注资源扩容问题,五分钟快速便捷接入,即可享受稳定可靠的日志服务。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券