Code Monkey home page Code Monkey logo

bert-in-relation-extraction's Introduction

Hi there 👋

  • 🔭 Working in Nanjing University as PhD candidate Under the supervision of Prof.Huang Shujian
  • 🌱 Learning NLP especially on Summarizaion and Factual Consistency
  • 👯 My Blog : https://ricardokevins.github.io/
  • 📫 How to reach me: [email protected]
Languages I use

C C++ Python

Anurag's GitHub stats

Visitor count

Star History

Star History Chart

bert-in-relation-extraction's People

Contributors

ricardokevins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bert-in-relation-extraction's Issues

data

大佬,您好,在github看了您的bert关系抽取项目,冒昧打扰您。您的训练数据和测试数据为什么都是用的一个呀?
那我要将这个模型用于抽取输入的文本,那也要把输入文本处理成train.json格式吗?

sent = ent1 + ent2+ text

请问test.py里,为什么sent是ent1 + ent2+ text的结合,他们之后还会被分开吗,还是说作为一个sent整体进行识别了?如果是后者,那么他怎么知道要判别哪两个实体之间的关系?

调用训练后model的问题

博主你好,在弄好数据和预处理之后我尝试自己用main.py训练(train的训练次数调成了3次)然后调用demo.py输出成功了,但应该是因为训练不够的原因(三次训练最后一次产生的用acc当文件名的文件acc有0.6799) , 所以在demo.py输出的正确率比较低(如图)
123123,所以我下载了博主给的训练之后的model.pth,然后把它放在了bert-base-chinere文件夹下(和main.py生成test.pth同一个文件夹) , 然后在demo.py的test函数中把路径最后的test.pth改成了model.pth,但是运行的时候就会有报错了,报的错是

ModuleNotFoundError: No module named 'transformers.modeling_bert'

请问这是什么原因呢?谢谢

没有测试集test

请问是没有测试集吗?只有训练集、验证集,test.py的111行是读取train.json训练集来做测试的?

main.py

挺好的,main函数导的包利用率10%

训练过程不收敛

你好,我在使用您的项目时,训练的结果不收敛,ACC一直在0.16左右,请问您之前有出现过这种情况吗

调用demo的问题

我在调用博主你上传的已训练文件进行测试时 出现了'BertConfig' object has no attribute 'return_dict'的问题 请问改怎么解决 ,我自己尝试了一下没有解决成功

效果复现

hi
拜读了你的代码,有几个问题烦请解答一下:
1、修正:后来在所有的数据上训练和测试,测试数据36w,测试数据4w,eval正确率95+%
源训练数据共17W左右,源测试数据2W左右,请问36W、4W是如何构建的?
2、id2rel={0: 'UNK', 1: '主演', 2: '歌手', 3: '简称', 4: '总部地点', 5: '导演',
6: '出生地', 7: '目', 8: '出生日期', 9: '占地面积', 10: '上映时间',
11: '出版社', 12: '作者', 13: '号', 14: '父亲', 15: '毕业院校',
16: '成立日期', 17: '改编自', 18: '主持人', 19: '所属专辑',
20: '连载网站', 21: '作词', 22: '作曲', 23: '创始人', 24: '丈夫',
25: '妻子', 26: '朝代', 27: '民族', 28: '国籍', 29: '身高', 30: '出品公司',
31: '母亲', 32: '编剧', 33: '首都', 34: '面积', 35: '祖籍', 36: '嘉宾',
37: '字', 38: '海拔', 39: '注册资本', 40: '制片人', 41: '董事长', 42: '所在城市',
43: '气候', 44: '人口数量', 45: '邮政编码', 46: '主角', 47: '官方语言', 48: '修业年限'}
源数据schema有一个关系标签‘专业代码’,而id2rel却没有,是用“UNK”替换。
3、整个网络架构,ent1+ent2+sentence 组成新的sentence,取last_hidden_states 中‘[CLS]’处的表征信息,
再通过一个Linear Layer 输出,请问是否对bert fine-tune?
4、相同的网络结构并没达到你92%的效果,训练过程如下:
image

语言

您好,可以使用别的语言训练模型吗?别的语言关系抽取准确率怎么样呢

请问怎么用自己的数据做关系抽取?

很高的准确率! 非常期待可以试试.
我现在已经实现了NER, 也有很多自己的数据, 现在先通过自己的NER和文本数据做关系抽取, 怎么应该怎么实现啊?

训练结果的一些问题

image
博主您好,我尝试用您的36w条数据+4w验证集训练了一下,这个结果算是复现了您的训练结果吗?
还有一个问题,这个报错是不是因为我服务器的空间不足了所以模型保存不了了呀

当时跑的时候
image
当时跑的时候一直在这里卡着不动,就是这个using GPU这里,这个情况正常吗?

demo,py问题

在demo中,直接替换test函数中保存后的.pth模型,在windows下,exit那出现问题怎么解决,非常感谢解答

英文数据集

你好 我想问一下能否修改模型为bert-base-cased,并将英文数据写入并运行,我简单改了一下模型和数据,但报错很多,能帮我看一下吗?
QQ图片20231130163732
QQ图片20231130163737

运行main.py的错误

执行时提示ValueError: Connection error, and we cannot find the requested files in the cached path. Please try again or make sure your Internet connection is on. 请问要怎么处理

demo

老师,为什么我用您的main训练出模型后,运行demo出错,AttributeError: 'NoneType' object has no attribute 'data'。

大佬 ,运行main.py时候报错了,是格式的问题吗

Traceback (most recent call last):
File "main.py", line 64, in
data=load_train()
File "/data/xinhao/nlpCode/Bert-In-Relation-Extraction-main/loader.py", line 108, in load_train
sent=dic['ent1']+dic['ent2']+dic['text']
TypeError: unsupported operand type(s) for +: 'dict' and 'str'

运行test时报错

老师你好,我完成了你仓库中训练的部分,现在希望对模型结果进行检测,在运行test.py时,报错信息如下:
Traceback (most recent call last): File "test.py", line 126, in <module> test(model,text_list,ent1,ent2,result) File "test.py", line 92, in test _, predicted = torch.max(logits.data, 1) AttributeError: 'NoneType' object has no attribute 'data'

想请教这是什么原因,应该如何解决,谢谢!

有问题

您好 请问我为啥报这个错误呀
Uploading mmexport1645277170516.png…

gpu训练运行环境

您好,大佬,请问各个组件的版本是多少:
pytorch、cuda
我想尽快调试,然后跑通代码

英文数据集训练

如果使用英文数据集进行训练的话是否只需要修改为相应格式的英文数据集,以及将bert-base-chinese改成英文的bert模型即可?

loader.py

运行这个没反应
没得到dev.json

请教一下

您好,看了您的代码,请问下是已知句子本身,以及两个实体去预测关系对吧?可以输入句子,直接提取出实体和他们的关系吗?

请问 能从一句话中发现新的关系吗?

你好,我是新手,想问下这个问题
比如 我的老家在东北 ,
我 家乡 东北
比如 我的XX在东北
新的关系词 如何发现呢?
id2rel 这里的关系是怎么得到的?

关于transformers 2.5.1

您好,我尝试了conda install transformers=2.5.1
和pip install transformers==2.5.1均找不到包,有什么好的办法吗

gpu/cpu?

博主你好,我下载的是cpu版的pytorch,运行报错:raise RuntimeError('Attempting to deserialize object on a CUDA '
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.想问一下这个程序是只支持gpu环境吗

demo.py

79-83行有一些git合并冲突

<<<<<<< HEAD
            outputs = net(indexed_tokens, mask=att_mask)
=======
            outputs = net(indexed_tokens, att_mask)
>>>>>>> 16d86b2eeb56099ab75c63f83bb2b572bcd172dd

您好,关于运行mian的问题,已star,望解答,谢谢!

您好,我刚接触深度学习不久,所以问题比较简单,希望您别介意。

问题一:

我遵循了您readme中的步骤,现在正在运行main.py,但是一直卡在epoch 0 loss 就不往下进行了,运行过程如下所示
---Regenerate Data---
49
{0: 'UNK', 1: '主演', 2: '歌手', 3: '简称', 4: '总部地点', 5: '导演', 6: '出生地', 7: '目', 8: '出生日期', 9: '占地面积', 10: '上映时间', 11: '出版社', 12: '作者', 13: '号', 14: '父亲', 15: '毕业院校', 16: '成立日期', 17: '改编自', 18: '主持人', 19: '所属专辑', 20: '连载网站', 21: '作词', 22: '作曲', 23: '创始人', 24: '丈夫', 25: '妻子', 26: '朝代', 27: '民族', 28: '国籍', 29: '身高', 30: '出品公司', 31: '母亲', 32: '编剧', 33: '首都', 34: '面积', 35: '祖籍', 36: '嘉宾', 37: '字', 38: '海拔', 39: '注册资本', 40: '制片人', 41: '董事长', 42: '所在城市', 43: '气候', 44: '人口数量', 45: '邮政编码', 46: '主角', 47: '官方语言', 48: '修业年限'}
Some weights of the model checkpoint at ./bert-base-chinese were not used when initializing BertModel: ['cls.predictions.decoder.weight', 'cls.seq_relationship.bias', 'cls.seq_relationship.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.transform.dense.bias', 'cls.predictions.bias', 'cls.predictions.transform.LayerNorm.weight']

  • This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
  • This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
    --train data--
    torch.Size([200, 1, 128])
    torch.Size([200, 1, 128])
    torch.Size([200])
    --train data--
    torch.Size([200, 1, 128])
    torch.Size([200, 1, 128])
    torch.Size([200])
    --eval data--
    torch.Size([45558, 1, 128])
    torch.Size([45558, 1, 128])
    torch.Size([45558])
    epoch 0 loss: 2.12479829788208 right 51 total 200 Acc: 0.255

问题二:
另外,请问一下,看了您的readme,如果能够跑通,或者直接使用您的模型,修改test,然后运行demo,就可以了吧?

demo.py报错

使用python3.7+readme中给的环境要求
运行main.py正常,运行demo.py 第79行报错,提示mask问题
outputs = net(indexed_tokens, mask=att_mask)
改为outputs = net(indexed_tokens, attention_mask=att_mask)后,解决

但是81行 logits = outputs[1]报错
IndexError: tuple index out of range

Demo问题

博主你好,我在运行完main.py之后原文件夹有了一个新的pth文件,名字是一串数字。然后运行demo.py的时候会报出
E FileNotFoundError: [Errno 2] No such file or directory: './bert-base-chinese/test.pth'
但是bert-base-chinese文件夹里就只有vocab.txt pytorch_model.bin 和 config.json三个文件哇,请问这是哪里出错了吗

关于模型结构

请问博主 整个模型是单独bert的应用还是bert加上其他lstm等神经网络 就是有没有那种模型的整体结构图呢? 如果有能参考一下吗 谢谢啦

预处理问题

您好,我想请教一下为什么我按照readmem里面对训练集预处理后报错了
image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.