Closed jjjjjjjjj58 closed 2 years ago
https://github.com/zjunlp/OpenUE/blob/main/scripts/interactive.sh
这个脚本是使用已经训练好的ner_model
和seq_model
进行知识抽取。
如果想对无标注的纯文本进行抽取,可以在初始化模型Inference
之后使用以下代码进行抽取。
inputs = data.tokenizer("姚明出生在中国。", return_tensors='pt')
print(lit_model.inference(inputs))
学长我刚刚把interactive.sh跑了一边,最后的结果是会保存在./dataset/ske/cached_train_BertTokenizerFast_interactive中吗?如果是的话能否请教下如何打开这个CACHED文件0.0
就是知识抽取出来的结果。。。
./dataset/ske/cached_train_BertTokenizerFast_interactive
是缓存训练样本用的,不会保存得到的三元组。
interactive.sh
脚本是用来合并ner_model
和seq_model
并得到具体的比如F1
的指标并不会保存抽取的三元组(计算F1后就扔了)。
如果想得到单一句子中抽取出来的三元组,可以使用lit_model.inference(inputs)
单独使用模型去抽取句子的实体或者你可以在lit_model.test_step
和lit_model.test_epoch_end
中修改代码来保存得到的三元组。
谢谢学长
作者你好,config在哪里设置啊,然后训练的epoch设置多少比较合适呢
config
是根据yaml
文件设置的。 如果是使用脚本运行,那么直接在运行的脚本中加入命令 --key value
即可。
请问是否所有的脚本都需 max_steps limit_train_batches max_epochs,改为 0,0(也就是不限制),和5呢,我ner.sh与seq.sh更改后都出现了的BUG,很奇怪。。。(更改前没有问题)
这是SEQ.SH的结果
针对不同的数据集需要不同的超参,有的时候需要更多的epochs
,出现的那个bug检查一下test_only
是否启用的,那个是用来推理的。
这个代码是否包含将数据知识抽取的代码啊,我只找到了训练的