Closed l-besiege-l closed 7 months ago
可以转换成SPO格式的任务,但是IEPILE模型是在RE格式的数据上训练的,因此对于SPO格式的任务效果可能不会太好(DuIE2.0从RE的75降到SPO上的55)。因此如果需要支持SPO格式的任务,还需要进行二次继续训练。
感谢大佬的回复,我准备使用生成的SPO数据微调模型,我看数据里生成的样本中,schema大多与input不太相关,导致样本的output很多都是空列表,请问这个负例的生成比例可以调整吗,显卡算力不太够想减少点样本量😂
我们更新了难负样本生成的代码,并上传了IEPILE中涉及的所有数据集的难负样本字典。 难负样本即那些处于相同主题、语义相近容易混淆的schema。通过难负样本生成可以有效减少样本量。 后续若样本量还是很大,还可以根据output进行下采样。
好的,十分感谢
可以转换成SPO格式的任务,但是IEPILE模型是在RE格式的数据上训练的,因此对于SPO格式的任务效果可能不会太好(DuIE2.0从RE的75降到SPO上的55)。因此如果需要支持SPO格式的任务,还需要进行二次继续训练。
大佬您好,请问IEPILE和instructkgc两个项目中,哪个抽取模型对于spo抽取效果较好呀? task支持直接设置spo进行微调训练吗?
两个项目中的模型均只考虑了RE任务,其中 https://github.com/zjunlp/DeepKE/blob/main/example/llm/OneKE.md 支持在指令中增加schema解释,因此你可以尝试将SPO任务中的头、尾实体类型的信息加到schema解释中来实现。
{
"instruction": "你是专门进行关系抽取的专家。请从input中抽取出符合schema定义的关系三元组,不存在的关系返回空列表。请按照JSON字符串的格式回答。",
"schema": {
"民族": "民族",
"毕业院校": "该关系类型描述的是人物和其毕业学院之间的关系,人物是主体,毕业学院是客体。通过识别出文本中的人物名称和学校名称,然后通过词语的组合、上下文情境等信息,分析出人物和学院之间的毕业关系。",
"主演": "这是一个描述影视作品与其主要演员之间关系的类型,主体是影视作品,客体是演员。在一个有效的'主演'关系中,演员(客体)在影视作品(主体)中担任重要的角色。",
"父亲": "这个关系类型用来表示人物关系中的父亲和子女之间的亲属关系,即父亲是子女的出生或抚养者。在关系三元组中,'父亲'这个关系类型的主体是子女,客体是父亲。"
},
"input": "古往今来,能饰演古龙小说人物“楚留香”的,无一不是娱乐圈公认的美男子,2011年,36岁的张智尧在《楚留香新传》里饰演楚留香,依旧帅得让人无法自拔"
}
将SPO任务中的头、尾实体类型的信息加到schema解释中来实现。
{
好的感谢您,还想请教您一个问题:目前大模型的spo抽取效果是否没有传统实体关系联合抽取模型通过标注的效果佳呢?
请问一下,我可以直接使用convert_func.py脚本,将InstructIE数据集转化为SPO格式的任务吗?我看代码里实际上是包含对SPO任务数据进行处理的,我在脚本里加了个模板就可以直接运行convert_func.py脚本