成语大全网 - 成语解释 - 知识图谱-LSTM+CRF知识抽取实战

知识图谱-LSTM+CRF知识抽取实战

本文的idea主要来源于LSTM+CRF的命名实体识别,在命名实体识别中,可以通过BIO或者BIOSE等标注进行人名、地名、机构名或者其他专有名词的识别,那么把三元组的主语、谓语、宾语(也可理解为:实体-关系-实体)三个部分当成三个需要识别的专有名词,也就可以实现三元组的抽取了,基于此想法,具体实践看看效果。

本文主要基于历史文章中的人物关系抽取,数据来源于 和 /

keras

本次抽取本质上还是基于LSTM的一个分类问题,至于CRF层,完全是为了保证序列的输出严格性,因为CRF对于预测序列有较强的的限制性,比如B-PRESON后面只能为I-PERSON或者O之类的限制。

关于训练数据,未找到合适的标注数据,只能自己标注了,如下:

主要是 低频词过滤,字与id的映射(word2id)、预测类别与id的映射(lable2id) ,具体实现方式各有不同,不做重点讲解,但要特别注意未登录词的处理:

将输入的文本,通过词典,转换成数字序列:

为了保证数据的维度一致,进行句子填充

通过简单的测试结果如下:

比较简单的句子上都能取得比较好的成果,但是由于训练数据不够,还是会出现无法抽取到结果或者抽取错误的情况,比如:

本文主要针对历史故事的人物关系进行抽取,从数据获取,到数据标注,到模型训练。由于时间和人力关系,很多方面都采取了简单模式,比如数据标注,数据量远远没有达到一个量级,比如测试环节,主要还是通过人为观察抽取结果来验证是否准确,无法达到工业级别。但对于三元组的抽取,可以作为一种参考和借鉴。