neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j

现在中老年人中有糖尿病的朋友越来越多了,大家都觉得我很有知识的样子,总是要俺帮着查查和咨询俺关于糖尿病的相关知识和问题。其实吧,我并不知道,但是为了回答有时会看一些这方面的论文,然后加上“扯商”还有一点,总能把周围的中老年人忽悠得七荤八素。

今天俺就用知识图谱去试着看看糖尿病的相关注意事项,这样以后再扯的时候就有根有据一点e34d222e9bdcdc1809976a94d863a00c.png

数据源:天池。

一、把天池上提供的原始数据,基于自然语言处理和机器学习进行了分词以及抽取关系,这一块,以后有时间在聊。今天主要关心的是糖尿病的注意事项。

这是处理完了后的结果:

node:

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第1张图片

edge:

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第2张图片

二、创建有向图

结果就是这样的,一大坨,因为节点太多。那张图忘记截图了,就把给大家讲课的时候讲的这张NBA的知识图谱在这里充个数,不想在运行一次,老师的电脑设备太差了,运行一次时间太长了36b1fd0835cf798cc4661242247c6e59.png

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第3张图片

然后在neo4j中创建了图谱,这样看着舒服多了。另外neo4j用的是CQL。

CQL代表Cypher查询语言。像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。和SQL一样好用,咱们有SQL的基础,学这个CQL二天可以搞定。

MATCH (n:Node) WHERE n.name ="格列齐特缓释片" RETURN n

然后点击节点展开。

大家看看这个常用药“格列齐特缓释片”的知识图谱,使我们充分了解了是药三分毒的道理:肾脏事件风险、心血管风险、严重低血糖、微血管事件。当然,吃药的时候还是要考虑到底是利大于弊还是弊大于利。

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第4张图片

MATCH (n:Node) WHERE n.name ="二甲双胍" RETURN n

然后点击节点展开。

在看看神药“二甲双胍”,毕竟是神药,各种剂量种类真是多,常用于儿童和青少年糖尿病,可以防止动脉粥样硬化、抑制代谢综合征,但是会造成(?)卵巢过度刺激综合征、ED?难道它的药物机制和药物动力学会抑制性激素的分泌或者产生啥的?这个我需要进一步查下相关论文。

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第5张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第6张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第7张图片

三、对创建的网络信息进行分析

有向网络平均最短距离、无向网络平均最短距离、所有节点的度分布序列、计算每个点的度中心性、计算每个点的入(出)度中心性、紧密中心度、介数中心度、特征向量中心度、网络密度、网络传递性、无向网络群聚系数、无向节点度的匹配性等进行分析,结果如下:

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第8张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第9张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第10张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第11张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第12张图片

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第13张图片

四、用PageRank分析这些节点的重要性

我们取了排序前十的节点。从结果简单的知道,糖尿病多二型(二型糖尿病、T2DM);它的并发症较多是个可怕的东西;然后和肥胖大大的相关;会造成慢性肾脏病(ckd);和多囊卵巢综合症(PCOS)也是大大相关的;和抗磷脂抗体综合征(ASP-2)也是相关很大;出现胰岛素抵抗等。

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第14张图片

五、用HITS分析这些节点的重要性

neo4j 知识图谱_用知识图谱解读糖尿病基于python和neo4j_第15张图片

(1)指向权威节点的链接集合节点如下:

血糖 0.001770860437495387

胰岛素 0.0015051819744990884

体重 0.0013762591471278701

HBA1C 0.0013757884405743424

LDL-C 0.0012768823661345248

体重指数 0.001242657762818237

血脂 0.0012361685905070833

二甲双胍 0.0012307726244180878

空腹血糖 0.0012239952026656374

血压 0.0012122107728914588

这些都是我们平时应该注意的生理指标,不要超标!还有神药二甲双胍。

(2)权威节点如下:

糖尿病 0.056831631480538686

2型糖尿病 0.04754696513663912

肥胖 0.020149646432667725

胰岛素抵抗 0.015311262284329665

T2DM 0.01329652985096264

1型糖尿病 0.011878102226490056

动脉粥样硬化 0.010733389280076716

心血管疾病 0.009715542052562968

NAFLD 0.009606968498475947

糖尿病肾病 0.008809030222871828

都是些相关的疾病和并发症!

这是用知识图谱做的一个最最简单的分析。

写在后面:写这篇推文,还有个原因是俺为了防止糖尿病特意去买了个控糖的电饭煲,想着多吃点也能保持身体健康和减肥,但是用了几天,感觉是交了“智商税”。所以,要想减肥控糖,方法唯有“管住嘴迈开腿”,没有之一。多运动少吃,糖尿病是个需要克制力的疾病。

关于PageRank和HITS大家可以参考下面这篇文章:

跟谁约会呢(PageRank)

你可能感兴趣的:(neo4j,知识图谱)