正文
对于结构化的数据转换为图结构是比较容易和相对轻松的工程,所以建议这一步应该首先被完成。
对于复杂的非结构化数据,现阶段进行知识图谱构建的主要方法有传统NLP和基于深度学习模型两类方法,而目前越来越多倾向于使用深度学习来抽取AVP(属性-值对)。
有很多深度学习模型可以用来完成端到端的包括命名实体识别NER、关系抽取和关系补全等任务,从而构建和丰富知识图谱。
命名实体识别(Named Entity Recognition, NER)是从一段非结构化文本中找出相关实体(triplet中的主词和宾词),并标注出其位置以及类型,它是NLP领域中一些复杂任务(如关系抽取、信息检索等)的基础。
NER一直是NLP领域的热点,从早期基于字典和规则的方法,到传统机器学习的方法,再到近年来基于深度学习的方法,NER方法的大致演化如下所示。
在机器学习中,NER被定义为序列标注问题。不同于分类问题,序列标注问题中的预测标签不仅与输入特征有关,还与之前的预测标签有关,也就是预测标签之间存在相互依赖和影响。
条件随机场(Conditional Random Field,CRF)是序列标注的主流模型。它的目标函数不仅考虑输入的状态特征函数,还包含了标签转移特征函数。在训练的时候可以使用SGD学习参数。在预测时,可以使用Vertibi算法求解使目标函数最大化的最优序列。
目前常见的基于深度学习的序列标注模型有BiLSTM-CNN-CRF。它主要由Embedding层(词向量、字向量等)、BiLSTM、tanh隐藏层以及CRF层组成(对于中文可以不需要CNN)。我们的实验表明BiLSTM-CRF可以获得较好的效果。在特征方面,由于秉承了深度学习的优点,所以无需特征工作的铺垫,使用词向量及字向量就可以得到不错的效果。
近几个月来,我们也在尝试使用Attention机制,以及仅需少量标注样本的半监督来进行相应的工作。