中文句子关系抽取

albert-fc for RE(Relation Extraction),中文关系抽取

项目地址:https://github.com/jiangnanboy/albert_re

概述

关系抽取是指从非结构化文本中抽取语义关系的一项基本任务。提取出来的关系通常发生在两个或多个特定类型的实体之间(例如,人、组织、地点等), 比如在人际之间的关系有同门、朋友、夫妻、同事、父母、上下级等。

中文句子关系抽取

 

方法

利用huggingface/transformers中的albert+fc进行中文句子关系分类。

利用albert加载中文预训练模型,后接一个前馈分类网络。利用albert预训练模型进行fine-tune。

整个流程是:

  • 数据经albert后获取最后的隐层hidden_state=768
  • 根据albert的last hidden_state=768,将头实体和尾实体的hidden_state提取,并拼接,最后维度是(2 * 768)经一层前馈网络进行分类

中文句子关系抽取

 

数据说明

数据形式见data/

训练数据示例如下,其中各列为头实体尾实体关系句子

李敖	王尚勤	夫妻	李敖后来也认为,“任何当过王尚勤女朋友的人,未来的婚姻都是不幸的!
傅家俊	丁俊晖	好友	改写23年历史2010年10月29日,傅家俊1-5输给丁俊晖,这是联盟杯历史上首次出现了中国德比,丁俊晖傅家俊携手改写了
梁左	梁天	兄弟姐妹	-简介梁左与丈夫英达梁欢,女,梁欢和梁天的妹妹,英达的现任妻子。

训练和预测见(examples/test_re.py)

    re = RE(args)
    if train_bool(args.train):
        re.train()
        '''
        epoch: 58, acc_loss: 0.0080563764
        dev_score: 0.67
        val_loss: 0.06119863061138485, best_val_loss: 0.055413116525741
        '''
    else:
        re.load()
        # ner.test(args.test_path)
        # 钱钟书	辛笛	同门	与辛笛京沪唱和聽钱钟书与钱钟书是清华校友,钱钟书高辛笛两班。
        print(re.predict(text=('钱钟书', '辛笛', '与辛笛京沪唱和聽钱钟书与钱钟书是清华校友,钱钟书高辛笛两班。')))
        # (0.9997676014900208, '同门')

        # 平儿	贾琏	夫妻	此外,如贾琏偷娶尤二姐事,平儿虽然告诉了凤姐,但她对凤姐虐待尤二姐、害死尤二姐一事并不赞成
        print(re.predict(text=('平儿', '贾琏', '此外,如贾琏偷娶尤二姐事,平儿虽然告诉了凤姐,但她对凤姐虐待尤二姐、害死尤二姐一事并不赞成')))
        # (0.9999169111251831, '夫妻')

 

上一篇:正则校验 js


下一篇:[JSOI2008]球形空间产生器