autoliuweijie / k-bert Goto Github PK
View Code? Open in Web Editor NEWSource code of K-BERT (AAAI2020)
Home Page: https://ojs.aaai.org//index.php/AAAI/article/view/5681
Source code of K-BERT (AAAI2020)
Home Page: https://ojs.aaai.org//index.php/AAAI/article/view/5681
您好,请教您一个问题,怎样基于训练好的模型bin文件,加载模型进行交互识别呢?
请问你们在预训练K-bert的时候用了什么设备呢?预训练K-bert需要多大的显存?你们训练了多久呢?
Since the knowledge graph is only for CNBopedia, how do you generalize this for another domain?
作者你好我想请问关于像是HowNet.spo这种资料如果在我的任务上没有相关资料是否有办法自动产生呢?
像这种Entity Relation Entity自动产生的方法作者有没有参考过相关的论文或作法呢
谢谢
你好,想请问一下我发现你的 NER 在计算 F1 的时候似乎只有考虑 token 的位置正确性( line 332) 但没有判断 entity 的分类正确性。我的理解是正确吗?
for entity in pred_entities_pos: if entity not in gold_entities_pos: continue else: correct += 1
Dear Dr.Liu:
I am a master's student at ISCAS, My research is focused on EMR information extraction. I have recently read your paper "K-BERT: Enabling Language Representation with Knowledge Graph" and got a lot of inspiration from it, thank you!
I am wondering if you could kindly send me the slides for presentation or other materials about it. I promise they will be used only for research purposed.
My email:[email protected]
Yours sincerely,
Wenwen Xu
Any way to build a custom knowledge graph from a corpus of data and use that for training a multi-label classification?
您好,看到在以前的讨论Issue2中提到了关于k-bert在一些任务上效果不显著的问题。其中第二点提到
知识图谱的质量不高,目前我们的知识图谱大多从开放领域图谱中筛选的,其中的知识BERT通过大规模语料预训练也能得到。
1 怎样的知识是比较适合在k-bert场景中引入的?
2 我理解获取大规模语料应该比获取知识的成本要低,如果模型通过大规模的语料预训练也能得到知识的话,那么通过如k-bert这样的方式引入知识的具体意义 或者说 适用场景在哪里?
Hi, I am interested in this paper, while I can not find the NLPCC-DBQA dataset from your source codes. Could you show the results of the NLPCC-DBQA from your codes? Thanks.
您好,我就着您的框架做了一些实验,效果都很不错。不过对知识所起的作用有一些不同理解,我做的实验结果显示并非有助于句子理解的知识起到的作用效果更好,因此我对kbert的起作用的机制有一些其他推测,您如果有兴趣可以详细探讨一下。想问您有相关消融实验数据么,软位置,可见矩阵等哪个机制起到了作用呢。谢谢
您好,方便把qa的代码放出来吗
Is there an approximate date that the code will be released on?
同学您好,感谢分享您的工作,想请教一下指定了随机种子后(默认是seed=7),训练的结果(包括每一步的损失和ACC)还是有一定的随机性,这是为什么呢?
autoliuweijie您好:
这个模型可以转为tensorflow格式或者有tensorflow版吗?主要是对比实验需要用您这个模型。
谢谢!
I have run the run_kbert_ner.py script with the Medicine_NER data. I have obtained the fine-tuned model. However, I was wondering to do the inference to obtain the prediction. I have seen in the UER repository, that there is an additional folder with the inference scripts "inference/run_ner_infer.py"
How does this work for your code?
可以是dbpedia probase hownet wordnet等知识库的.spo文件,或者有没有其他的下载或者查询方式!万分感谢!
您好
我想请问K-BERT是否也能应用在阅读理解上的任务(像是SQuAD资料集)
谢谢
Hi~
通过soft position index和visible matrix来保持同质embedding空间,避免知识噪音的做法真的是巧妙,但是我有一个疑问,如果把input sentence里面的entity在知识库里找到之后不做soft position index和visible matrix的变换,而是直接转换为几个句子,其中包含原始的input sentence和找到的entity对应到知识库中的句子,然后一句一句的输入到bert中去fine tune的话,是不是也可以达到知识注入的效果呢?并且因为是每个知识都转换成了独立的句子,对应于bert里的hard position index, 这样做会有什么问题吗?请指教,谢谢~
你好,我发现K-bert目前的entity linking的方式比较直接,并不会对有多种含义的实体进行区别,在实际使用过程中这往往会带来噪声,特别是一些大的知识库,有高频词带低频标签的情况。
比如用到过一个百科知识库里,有 舒适 → 作家名 这样的实体映射,也有大量一词多义的现象,单纯从word matching选择实体很容易将大量的噪声带入。
在实际使用中我发现特别是inference过程,大量是因为这类噪声知识的引入,反而让模型错判。
1 针对目前直接查表的entity linking,请问有没有合适的降噪思路?
2 我看到作者提到“知识驱动”型任务,在微观层面是对每个识别的实体判断是否需要引入知识,请问这方面有没有什么思路或者可以借鉴的前沿研究可以参考?
比如早年比较火的attention机制,有没有可能引入类似selective attention的方法,来判断实体是否应该挂载知识以及挂载哪个知识,这类思路和k-bert的知识挂载方式有没有结合点?
主要是XNLI、LCQMC、NLPCC-DBQA这三个数据集,不知道您是如何划分训练、dev和test集的。
请问提供K-Bbert的预训练模型嘛
你好
我想请问在run_kbert_cls.py中evaluate部分有一个pred预测结果,目前他只是一个分数如果我想要还原成原句子(文字)该如何修改
谢谢
您好,请问Knowgraph.py中add_knowledge_with_vm函数通过pkseg分词得到的是每个字而不是单词,而brain知识图谱中的实体都是词组,这样不是匹配不上吗?
如:
['[CLS]两小时读完']
[['[CLS]', '两', '小', '时', '读', '完', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', '[PAD]', ...
好像没有找到相关的预训练代码
您好,
您的论文和idea真的令人印象深刻!
有过一个问题想要请教您。
我尝试用您的framework load 我自己的model的时候,是会报错的。
我看了您之前的回答,您对您的bin文件是做了一定的修改
想问下,您对您的bin文件做了怎样的修改呢?
麻烦您了
請問有已經訓練好的lcqmc with HowNet 模型可以公開嗎?
因為我嘗試利用KG HowNet 做在lcqmc 資料集上都無法訓練得跟論文中的數據一樣好
謝謝
你好,我想请教一下CNDBpedia.spo这个三元组的制作方式?我使用您共享的文件里面的词语进行检索,会出现多个关系组,请问您是根据什么规则进行过滤的呢?还有就是使用CNDBpedia.spo的网站提供的API是否需要申请apiKey以获得大规模调用的功能?
你好
我想问关于finance_qa的label中0和1各代表什么意思?
谢谢!
Hi,
您好,KBERT的构思非常巧妙,最近使用这套框架做了一系列的实验。中间有关于K-BERT的疑问,想向您探讨咨询一下:
从代码看到,KBERT在训练和inference两个过程里都会将知识挂载到训练样本上,训练(或者说finetune)过程中把知识挂载上去,我理解有两种可能的作用:
第一种是让模型“学习”这些带有知识的训练样本,从而让知识被模型学到。
第二种是让模型学习到可以在训练样本上挂在知识这件事情,从而在inference的时候,模型可以有效的handle这些挂载了知识的训练样本。
从论文推断我理解作者应该是第一种情况。
那么,理论上因为模型已经通过样本学习到了知识,是否在inference时,不挂载知识而采用普通样本,模型也能inference出相对更好的效果?
if there is any source about dbpedia.spo(in english not CnDbpedia) ,thanks!
WIll Question Answering code be released? If so, when?
从论文的实现思路来看,应该还是比较清晰的。
但从实验结果来看,似乎在特定领域上相比BERT的性能提升幅度不明显,不知道是否深入分析过原因?
感谢!
论文的图2中,可视矩阵是否有问题呀?
下文中对可视的情况进行了说明,在同一个分支为可视;否则不可视。
那么图2中,1为什么能看到4?4为什么能看到1?
是谷歌发布的 bert-base-chinese 吗
谢谢!!!
你好 想請問 是否能
其他方式可以下载google_model.bin和CnDbpedia.spo方式,我沒有QQ帳號也一直辦不成功
或是能否直接Email至:[email protected]信箱,
Thanks for your help
Traceback (most recent call last):
File "run_kbert_cls.py", line 582, in
main()
File "run_kbert_cls.py", line 501, in main
trainset = read_dataset(args.train_path, workers_num=args.workers_num)
File "run_kbert_cls.py", line 329, in read_dataset
dataset = add_knowledge_worker(params)
File "run_kbert_cls.py", line 84, in add_knowledge_worker
label = int(line[columns["label"]])
ValueError: invalid literal for int() with base 10: 'O O O O O O O O O O O O O O O O O O O O O O O O O O O O'
请问您给的下载链接中的google_models.bin预训练模型,是您自己训练的,还是谷歌官方的版本呢?
万分感谢!
博主好:
看到你的文章有一些思考, 中文状态下, apple就是苹果, china就是**, 而bert的输入是字符级别的,那么在做soft position的时候, 苹果和**, 属于同一个索引还是分开索引, 分开索引的话visible matric应该怎么构建, 谢谢.
I use Bert (model and tokenizer) to change K-BERT to the English version K-BERT. However, I got poor scores on the classification tasks. If you have K-BERT code of fine-tuning on English Corpus, could you please release it?
您好,感谢您开源代码,我使用您的代码和您分享的book_review数据集进行试验,但是准确率只有79%,比您的结果低了快10个百分点。想问问您有没有什么建议呢?
我的运行指令为:nohup python3 -u run_kbert_cls.py --train_path /data/book_review/train.tsv --dev_path /data/book_review/dev.tsv --test_path /data/book_review/test.tsv --epochs_num 5 --batch_size 32 --kg_name CnDbpedia --output_model_path ./outputs/kbert_bookreview_CnDbpedia.bin > ./outputs/kbert_bookreview_CnDbpedia.log &
(谷歌预训练模型和词表等文件路径我在程序中指定,max_length是默认的256)
我的结果为:79%
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.