过程:数据采集,接着对采集到的数据进行预处理,预处理阶段主要包括冗余数据和空白数据的删除、去停用词、分词、构建词向量等,该阶段的工作主要为后续知识图谱的搭建做好基础。使用深度学习技术实现医疗实体的识别、实体关系抽取、知识融合和知识存储等工作。
一、知识获取
知识获取是指从海量异构数据源中提取出目标知识,构建知识图谱的数据源可以分为结构化数据、半结构化数据和非结构化数据。
1.结构化数据:对存储在关系型数据库中的结构化数据,我们可以使用 D2R 工具将其转化成三元组格式。
2.半结构化数据:通过包装器从非结构化数据中抽取正文。
3.非结构化数据: 需要使用与信息抽取有关的技术,这些技术是自然语言处理领域研究的主要内容,实现从文本中提取出我们需要的实体和关系。如何确保所抽取的实体以及关系的准确率和覆盖率是研究这些技术的难点。
从非结构化数据中获取命名实体主要有三种方法,基于规则的方法、基于统计的方法、混合方法。在统计学习方法中采用机器学习中的相关算法,最常用的方法有 Bootsrapping 方法、隐马尔可夫模型(Hidden Markov Model, HMM)、条件随机场(Condititional Radom Field, CRF)和长短期记忆网络(Long Short-Term Memory, LSTM)。
二、分词
在英文文本中,每个单词之间都有空格分隔,而中文则不是,词与词之间没有明确的分割标记,而是连续的汉字或标点符号。在许多中文信息处理的任务中,第一步就需要将中文文本分割为正确的词串。
在实体识别中,词性也是一个重要的属性,因此我们还需要对分好的词进行词性标注,分词和词性标注均采用 Jieba 分词工具完成。
HanLP 分词工具对文本数据进行中文分词、去除停用词,最后使用Word2Vec构建词向量。
三、命名实体和关系识别
命名实体识别(NER)是信息抽取的基础性工作,其任务是从文本中识别出诸如人名、组织名、日期、时间、地点、特定的数字形式等内容,并为之添加相应的标注信息,为信息抽取后续任务提供便利。到目前为止,用于命名实体识别的方法主要有四种,分别是基于规则的方法、基于统计的方法、基于混合模型的方法和基于深度学习的识别方法。
目前实体抽取方法有监督学习方法、无监督学习方法和基于规则的实体抽取[20],其中有监督学习方法包括隐马尔可夫(HMM)、最大熵马尔科夫模型(MEMM)和条件随机场(CRF)等,从没有标注的数据中抽取实体时,不能使用有监督学习方法,这时可以考虑使用无监督学习方法,利用文本数据集中的内部结构抽取实体。基于规则的方法适用于描述较为规则,且有一定的规则的文本数据集,根据文本中的规则寻找相关实体。
训练BiLSTM-CRF模型实现命名实体识别。将识别出的实体使用BIO的标注方式进行标注,
采用BiLSTM-ATT模型对已识别出的实体之间的关系进行抽取
基于半监督学习的关系抽取算法比较典型的有BootStrapping 算法,对于将要抽取的关系,使用BootStrapping算法首先需要设定若干种子实例,然后以迭代的方式从数据中抽取关系对应的关系模板和其他更多的实例。
四、实体对齐
实体对齐,就是对一个实体,可能同时存在多个名称,但只是名称的区别,实际上它们指向同一个事物。由于“故障现象”实体来自于半结构化文本,通过规则模型提取,两个不同名称的“故障现象”实体可能是同一个实体,如“车身抖动”、“车辆抖动”和“车身发动”都是指向同一个实体,为此,我们选择相似度来解决这个问题,**计算每个命名实体与其他命名实体的相似度,**对相似度超过阈值的命名实体对,我们只保留一个命名实体,将不保留的命名实体的名称作为保留命名实体的一个属性,并将全部关系进行替换。最终完成了实体的对齐和关系的融合。相似度计算方法有:编辑距离(Edit Distance)、Jaccard 相关系数法等。