zjunlp / DeepKE

[EMNLP 2022] An Open Toolkit for Knowledge Graph Extraction and Construction
http://deepke.zjukg.cn/
MIT License
3.6k stars 694 forks source link

你好,请问可以用OneKE做段落级EE事件抽取吗?段落中存在event list可能包含多个event和触发词,以下是示例数据。如果可以的话需要怎样修改代码呢? #594

Closed Azzz123 closed 1 month ago

Azzz123 commented 1 month ago
{
    "id": "1",
    "text": "俄罗斯海军总司令部对外表示,俄罗斯和印度已经签署海豹号核潜艇验收交付书。 按照海军总司令部代表的意思,目前海豹号核潜艇所有的试验已经成功完成,新年之后印度艇员将登舰训练,明年1月下旬潜艇将驶往印度东部海军基地。 海豹号属于俄罗斯第三代潜艇,于1991年在阿穆尔造船厂开工建造,但上世纪90年代中期由于资金不足导致建造中止,在获得印度方面的投资后才得以恢复。2008年11月该潜艇在日本海进行工厂航行试验时,由于氟利昂泄漏造成20人牺牲、21人受伤的事故。事故后,海豹号潜艇进行了维修,更换了灭火设备,并成功完成试验后于去年底加入俄罗斯海军服役。海豹号潜艇排水量12770吨、最大航速30节、最大潜深600米、自持力100天,装备有巡航导弹、鱼雷,人员编制80余人。 目前印度海军组成中还没有核潜艇,本国第一艘潜艇于2009年开工建造,正准备进行航行试验。 印度向俄罗斯租借潜艇一事引起巴基斯坦的恐慌,巴基斯坦外事部官方代表表示将密切关注事态的发展,并将自己国家的核武器提高到战备状态。 ",
    "event_list": [
        {
            "event_type": "Experiment",
            "trigger": {
                "text": "试验",
                "offset": [
                    199,
                    201
                ]
            },
            "arguments": [
                {
                    "role": "Subject",
                    "text": "俄罗斯海军总司令部",
                    "offset": [
                        0,
                        9
                    ]
                },
                {
                    "role": "Equipment",
                    "text": "海豹号核潜艇",
                    "offset": [
                        53,
                        59
                    ]
                },
                {
                    "role": "Date",
                    "text": "2008年11月",
                    "offset": [
                        178,
                        186
                    ]
                },
                {
                    "role": "Location",
                    "text": "日本海",
                    "offset": [
                        190,
                        193
                    ]
                }
            ]
        },
        {
            "event_type": "Accident",
            "trigger": {
                "text": "泄漏",
                "offset": [
                    208,
                    210
                ]
            },
            "arguments": [
                {
                    "role": "Subject",
                    "text": "海豹号核潜艇",
                    "offset": [
                        53,
                        59
                    ]
                },
                {
                    "role": "Date",
                    "text": "2008年11月",
                    "offset": [
                        178,
                        186
                    ]
                },
                {
                    "role": "Location",
                    "text": "日本海",
                    "offset": [
                        190,
                        193
                    ]
                },
                {
                    "role": "Result",
                    "text": "20人牺牲、21人受伤",
                    "offset": [
                        212,
                        223
                    ]
                }
            ]
        },
        {
            "event_type": "Injure",
            "trigger": {
                "text": "受伤",
                "offset": [
                    221,
                    223
                ]
            },
            "arguments": [
                {
                    "role": "Date",
                    "text": "2008年11月",
                    "offset": [
                        178,
                        186
                    ]
                },
                {
                    "role": "Location",
                    "text": "日本海",
                    "offset": [
                        190,
                        193
                    ]
                },
                {
                    "role": "Quantity",
                    "text": "21",
                    "offset": [
                        218,
                        220
                    ]
                },
                {
                    "role": "Subject",
                    "text": "人",
                    "offset": [
                        220,
                        221
                    ]
                }
            ]
        },
        {
            "event_type": "Injure",
            "trigger": {
                "text": "牺牲",
                "offset": [
                    215,
                    217
                ]
            },
            "arguments": [
                {
                    "role": "Date",
                    "text": "2008年11月",
                    "offset": [
                        178,
                        186
                    ]
                },
                {
                    "role": "Location",
                    "text": "日本海",
                    "offset": [
                        190,
                        193
                    ]
                },
                {
                    "role": "Quantity",
                    "text": "20",
                    "offset": [
                        212,
                        214
                    ]
                },
                {
                    "role": "Subject",
                    "text": "人",
                    "offset": [
                        214,
                        215
                    ]
                }
            ]
        },
        {
            "event_type": "Experiment",
            "trigger": {
                "text": "试验",
                "offset": [
                    374,
                    376
                ]
            },
            "arguments": [
                {
                    "role": "Subject",
                    "text": "印度海军",
                    "offset": [
                        335,
                        339
                    ]
                },
                {
                    "role": "Equipment",
                    "text": "本国第一艘潜艇",
                    "offset": [
                        349,
                        356
                    ]
                }
            ]
        }
    ],
    "coref_arguments": [
        [
            {
                "text": "海豹号核潜艇",
                "offset": [
                    24,
                    30
                ]
            },
            {
                "text": "海豹号核潜艇",
                "offset": [
                    53,
                    59
                ]
            },
            {
                "text": "海豹号",
                "offset": [
                    106,
                    109
                ]
            },
            {
                "text": "海豹号潜艇",
                "offset": [
                    231,
                    236
                ]
            },
            {
                "text": "海豹号潜艇",
                "offset": [
                    272,
                    277
                ]
            }
        ]
    ]
},
guihonghao commented 1 month ago

https://github.com/zjunlp/DeepKE/blob/main/example/llm/OneKE_old.md#oneke%E6%8C%87%E4%BB%A4%E6%A0%BC%E5%BC%8F 参考这里的格式

{
    "instruction": "你是专门进行事件提取的专家。请从input中抽取出符合schema定义的事件,不存在的事件返回空列表,不存在的论元返回NAN,如果论元存在多值请返回列表。请按照JSON字符串的格式回答。",
    "schema": [
        {
            "event_type": "财经/交易-加息",
            "trigger": True,
            "arguments": [
                "时间"
            ]
        },
        {
            "event_type": "财经/交易-降息",
            "trigger": True,
            "arguments": [
                "降息幅度"
            ]
        },
        {
            "event_type": "财经/交易-涨价",
            "trigger": True,
            "arguments": [
                "涨价方"
            ]
        },
        {
            "event_type": "灾害/意外-坍/垮塌",
            "trigger": True,
            "arguments": [
                "时间", 
                "死亡人数", 
                "坍塌主体", 
                "受伤人数"
            ]
        }
    ],
    "input": "深圳市体育中心坍塌事故已致3人死亡,5人受伤"
}
guihonghao commented 1 month ago

schema如何组织参考 https://github.com/zjunlp/DeepKE/blob/main/example/llm/InstructKGC/data/EE/schema.json

["交往-感谢", "组织行为-开幕", "竞赛行为-退赛", "组织关系-加盟", "组织关系-辞/离职", "财经/交易-涨价", "人生-产子/女", "灾害/意外-起火", "组织关系-裁员", "财经/交易-降息", "财经/交易-降价", "产品行为-下架", "财经/交易-融资", "组织关系-解散", "组织行为-闭幕", "人生-失联", "竞赛行为-胜负", "灾害/意外-坠机", "司法行为-开庭", "组织关系-解雇", "组织关系-退出", "财经/交易-跌停", "司法行为-约谈", "交往-点赞", "人生-结婚", "竞赛行为-禁赛", "竞赛行为-晋级", "人生-婚礼", "组织关系-解约", "人生-死亡", "组织行为-游行", "人生-求婚", "司法行为-入狱", "司法行为-立案", "产品行为-上映", "产品行为-发布", "司法行为-拘捕", "组织行为-罢工", "财经/交易-上市", "司法行为-起诉", "灾害/意外-爆炸", "组织关系-停职", "财经/交易-出售/收购", "人生-离婚", "财经/交易-加息", "产品行为-获奖", "人生-分手", "产品行为-召回", "交往-探班", "人生-怀孕", "竞赛行为-夺冠", "灾害/意外-地震", "灾害/意外-袭击", "灾害/意外-坍/垮塌", "灾害/意外-车祸", "人生-订婚", "人生-出轨", "财经/交易-涨停", "交往-会见", "交往-道歉", "灾害/意外-洪灾", "司法行为-举报", "竞赛行为-退役", "司法行为-罚款", "人生-庆生"]
["解雇方", "解约方", "举报发起方", "被拘捕者", "颁奖机构", "晋级方", "受伤人数", "道歉对象", "晋级赛事", "出轨对象", "原告", "离婚双方", "结婚双方", "点赞方", "退赛方", "举报对象", "震中", "开庭法院", "离职者", "出售方", "获奖人", "出售价格", "被禁赛人员", "融资金额", "致谢人", "涨价方", "降价幅度", "发布产品", "降价物", "死亡人数", "探班主体", "退役者", "探班对象", "赛事名称", "退赛赛事", "约谈发起方", "被告", "罢工人数", "刑期", "上映方", "会见主体", "罚款对象", "降息幅度", "涨价幅度", "下架方", "胜者", "生日方", "时间", "立案机构", "约谈对象", "被解雇人员", "订婚主体", "停职人员", "开庭案件", "上映影视", "涨停股票", "奖项", "参礼人员", "生日方年龄", "会见对象", "禁赛机构", "所加盟组织", "原所属组织", "求婚对象", "裁员人数", "游行人数", "融资方", "被感谢人", "涨价物", "降价方", "收购方", "袭击对象", "死者年龄", "怀孕者", "禁赛时长", "震级", "拘捕者", "死者", "罚款金额", "袭击者", "失联者", "召回方", "坍塌主体", "下架产品", "败者", "降息机构", "出生者", "执法机构", "立案对象", "被下架方", "产子者", "地点", "加息机构", "领投方", "融资轮次", "裁员方", "震源深度", "发布方", "跟投方", "分手双方", "跌停股票", "罢工人员", "所属组织", "退出方", "上市企业", "冠军", "道歉者", "活动名称", "出轨方", "庆祝方", "交易物", "加息幅度", "被解约方", "求婚者", "夺冠赛事", "加盟者", "点赞对象", "解散方", "游行组织", "入狱者", "召回内容"]
{"组织关系-裁员": ["裁员方", "裁员人数", "时间"], "司法行为-起诉": ["原告", "被告", "时间"], "组织关系-解散": ["解散方", "时间"], "组织关系-加盟": ["加盟者", "所加盟组织", "时间"], "司法行为-拘捕": ["时间", "拘捕者", "被拘捕者"], "组织行为-罢工": ["罢工人数", "罢工人员", "时间", "所属组织"], "组织关系-辞/离职": ["原所属组织", "时间", "离职者"], "财经/交易-上市": ["地点", "上市企业", "时间", "融资金额"], "灾害/意外-坍/垮塌": ["时间", "死亡人数", "坍塌主体", "受伤人数"], "人生-死亡": ["死者", "地点", "死者年龄", "时间"], "人生-失联": ["失联者", "地点", "时间"], "交往-感谢": ["致谢人", "被感谢人", "时间"], "组织关系-解约": ["被解约方", "时间", "解约方"], "交往-道歉": ["时间", "道歉对象", "道歉者"], "产品行为-召回": ["召回内容", "召回方", "时间"], "司法行为-约谈": ["约谈发起方", "约谈对象", "时间"], "司法行为-举报": ["举报发起方", "时间", "举报对象"], "司法行为-罚款": ["执法机构", "罚款金额", "罚款对象", "时间"], "灾害/意外-车祸": ["地点", "死亡人数", "时间", "受伤人数"], "交往-点赞": ["点赞对象", "点赞方", "时间"], "财经/交易-降息": ["降息幅度", "降息机构", "时间"], "财经/交易-涨价": ["涨价方", "涨价幅度", "时间", "涨价物"], "灾害/意外-爆炸": ["地点", "死亡人数", "时间", "受伤人数"], "灾害/意外-起火": ["地点", "死亡人数", "时间", "受伤人数"], "财经/交易-降价": ["降价物", "降价方", "降价幅度", "时间"], "产品行为-发布": ["发布产品", "时间", "发布方"], "交往-会见": ["会见主体", "地点", "会见对象", "时间"], "组织行为-开幕": ["活动名称", "地点", "时间"], "竞赛行为-退役": ["退役者", "时间"], "竞赛行为-夺冠": ["夺冠赛事", "冠军", "时间"], "人生-结婚": ["结婚双方", "时间"], "人生-产子/女": ["出生者", "产子者", "时间"], "产品行为-下架": ["下架产品", "被下架方", "时间", "下架方"], "人生-怀孕": ["时间", "怀孕者"], "产品行为-获奖": ["奖项", "颁奖机构", "时间", "获奖人"], "竞赛行为-晋级": ["晋级赛事", "晋级方", "时间"], "组织关系-退出": ["原所属组织", "时间", "退出方"], "财经/交易-出售/收购": ["出售价格", "收购方", "交易物", "出售方", "时间"], "竞赛行为-胜负": ["赛事名称", "败者", "时间", "胜者"], "产品行为-上映": ["上映方", "上映影视", "时间"], "灾害/意外-洪灾": ["地点", "死亡人数", "时间", "受伤人数"], "交往-探班": ["探班对象", "探班主体", "时间"], "组织关系-解雇": ["被解雇人员", "解雇方", "时间"], "司法行为-入狱": ["刑期", "时间", "入狱者"], "组织关系-停职": ["停职人员", "时间", "所属组织"], "财经/交易-跌停": ["跌停股票", "时间"], "司法行为-立案": ["立案机构", "立案对象", "时间"], "人生-求婚": ["求婚对象", "求婚者", "时间"], "竞赛行为-退赛": ["时间", "退赛赛事", "退赛方"], "人生-离婚": ["离婚双方", "时间"], "组织行为-游行": ["游行人数", "地点", "游行组织", "时间"], "财经/交易-加息": ["加息幅度", "加息机构", "时间"], "灾害/意外-坠机": ["地点", "死亡人数", "时间", "受伤人数"], "人生-婚礼": ["地点", "结婚双方", "参礼人员", "时间"], "人生-分手": ["分手双方", "时间"], "灾害/意外-袭击": ["袭击对象", "袭击者", "受伤人数", "地点", "死亡人数", "时间"], "财经/交易-融资": ["领投方", "融资金额", "融资方", "融资轮次", "跟投方", "时间"], "人生-订婚": ["订婚主体", "时间"], "财经/交易-涨停": ["时间", "涨停股票"], "竞赛行为-禁赛": ["禁赛时长", "禁赛机构", "被禁赛人员", "时间"], "司法行为-开庭": ["开庭案件", "开庭法院", "时间"], "人生-出轨": ["出轨方", "出轨对象", "时间"], "人生-庆生": ["生日方年龄", "生日方", "时间", "庆祝方"], "组织行为-闭幕": ["活动名称", "地点", "时间"], "灾害/意外-地震": ["震中", "震源深度", "受伤人数", "震级", "死亡人数", "时间"]}
Azzz123 commented 1 month ago

好的 谢谢

zxlzr commented 1 month ago

请问您还有其他问题吗?

Azzz123 commented 1 month ago

请问如果做EE任务的话,在数据转换步骤时,验证集和测试集的负采样比例是不是应该设置为0呢?

guihonghao commented 1 month ago

不需要自己设置,改动--split参数的值即可,traintest

python ie2instruction/convert_func.py \
    --src_path data/NER/sample.json \
    --tgt_path data/NER/train.json \
    --schema_path data/NER/schema.json \
    --language zh \
    --task NER \
    --split_num 6 \       
    --random_sort \
    --split train
guihonghao commented 1 month ago

如何进行训练数据、测试数据的转化请参考 https://github.com/zjunlp/DeepKE/blob/main/example/llm/InstructKGC/README_CN.md/#22%E8%AE%AD%E7%BB%83%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2

Azzz123 commented 1 month ago

好的 感谢

zxlzr commented 1 month ago

请问您还有其他问题吗?

Azzz123 commented 1 month ago

如果用qwen2.5系列(如qwen2.5-14b-instruct)和hfl/llama-3-chinese-8b-instruct-v3进行lora微调,model_name和template应该设置为什么呢?qwen2+qwen和llama+alpaca吗

Azzz123 commented 1 month ago

image 这个报错怎么解决呢

guihonghao commented 1 month ago

如果用qwen2.5系列(如qwen2.5-14b-instruct)和hfl/llama-3-chinese-8b-instruct-v3进行lora微调,model_name和template应该设置为什么呢?qwen2+qwen和llama+alpaca吗

是的

guihonghao commented 1 month ago

image 这个报错怎么解决呢

报错显示未支持BF16精度