知识图谱医疗项目实战一 走起来!Python+Neo4j构建图谱
前言
知识图谱技术,是人工智能自然语言处理领域将知识文本形成“图”或者“网络”的一种技术,进而可以根据构建好的知识网络,做进一步分析或预测。
比如医疗领域,我们将门诊的问诊记录,诊断结果,建议饮食,开具药物等信息按照选定的建模方式,构建出完整的门诊知识图谱,我们再问诊,就可以先基于知识图谱进行提问,系统根据知识图谱中已经构建好的关系和症状等等信息作匹配后进行回答。
再比如金融领域,将申请金融贷款用户的所有相关信息,包括但不限于通讯录,购物记录,网络贷款申请记录,app使用情况等等丰富的信息构建出完整的关系图谱,信贷审核人员根据不同的风控模型,对网络中不同区域或者节点做出判断,提取出高风险的网络关系,再进一步做出批贷决定。
本篇,开始医疗领域下的知识图谱项目。
技术介绍
想要完成一个完整的知识图谱项目,需要以下几个方面的自然语言处理技术:
对人名,地名,物体名,公司名等实体进行提取
识别实体之间的关系,比如“我” “买了” “一双筷子”,“我”和“一双筷子”之间的关系就是 “买了”,从“我”这个实体指向“一双筷子”这个实体。
构建知识图谱之前,我们获取到的数据源一般不止一个,大体分为 结构化数据,非结构化数据,半结构化数据 三种。而每一种类型的数据,特别是非结构化数据,一般都是很多文档,这也是为什么需要识别实体,提取关系的原因, 不同文档之间对同一个实体可能有不同的命名,所以,需要通过知识融合技术,将实际上相同的实体进行融合,去除冗余。这一过程也叫实体消歧(Entity Resolution)或 实体消解
如果参考其他介绍知识图谱的博文,大概率是没有这个技术介绍的,但是本博主觉得这个gragh embedding不仅重要,而且很有意思。
我们对词嵌入embedding一定不陌生,无论是做自然语言处理的何种场景下,几乎都需要先对分词或分字后的结果做词嵌入转换,得到一个指定大小的n维向量。
在这里,我们不妨拓宽一下embedding的范围,打个比方,在做语义分析的时候,我们让输入的文本输入进LSTM模型里,会输出一个隐层向量,进而我们是根据这个隐层向量再去通过一个全连接神经网络,输出情感分析后的分类结果。
那么这里的隐层向量,是不是其实也是一种embedding?是不是就是我们通过模型提取出的文字特征?
思维打开一点点后,我们再来理解一
作者:唯你所有