首先声明我不是程序员,我顶多算一个硬件工程师,或者中医师。所以我写的这个程序肯定不是最优的,优化优化我觉得100行不到都可以实现。

希望大家共同来参与改进,我准备按这个思路写一系列的中医诊断,比如原来搞丢的小儿感冒,还有高血压,糖尿病,肝炎,睡眠不好等等。也希望更多的朋友一起参与建设。

我儿子问我,老爸,计算机AI可以干什么?

我说计算机人工智能可以干很多事情啊,比如给人看病啊,等等。我在几年前委托一位程序员帮忙做了一个小儿感冒诊断系统。帮助了不少妈妈。

后来程序员把这程序搞丢了,这项目没再继续。被我儿子笑话了好久,这也行。

然后他问我,计算机AI最适合的语言是什么?我说是Python(他学过C++,C#)。

他说Python难吗?我说不难,去年我花功夫学了一小段时间,当时想做一个计算机自学伤寒的程序来着。

他问那做出来了没有?我告诉他没有,思路都有了,程序也写了一点,输入输出太麻烦了,放弃了。

输出个网页有什么难的?很难啊,又要框架,又要前端后端,这个花了很多功夫都搞不定,直接放弃了。又被他笑话了一通。

中午我就想,我能不能写个程序?从中医的角度去诊断,去辩证论治。也算是贡献点自己的力量。而且也为孩子做个榜样,不要被他小看了。

然后开干,一开始碰到的还是输入输出的问题,后来找到了streamlit。这问题一下子就解决了。所以嘛,有痛点就有人去开发相应的技术。

结果我就用了两个晚上,将中医AI做出来了。实际上大部分时间都用于安装环境上了,特别是远程服务器的安装。真正写程序的时间也就几小时了。

朋友们可以点这里访问。

这是按照症状,低烧,干咳,鼻塞,无力,咽痛,腹泻进行输入,计算机自动诊断和开方如上。这个方子中规中矩,和临床医生的思路也类似,当然输入条件更精准,开出来的方也会更精准。是不是很棒?(为自己赞一个)

和大家讲讲设计思路,我们可能认为AI很难做。为什么难?实际上是因为程序员不懂中医,懂中医的不懂编程。

所以做出来东西要么就不实用,要么就根本不符合中医,没法用。有很多所谓的中医产品,其实是个不中不西的“怪物”。

而我刚好两个都懂一点,中医我懂一点,编程也懂一点。所以我就尝试做一个吧。再次声明我不是程序员,我也对开发程序没有太多兴趣。

中医AI的难点在于患者的症状各种各样,诊断描述比较含糊,用药也是各种各样。有些程序员就认为输入条件很多,输出条件很多,这东西就很难做,甚至没法做。

而中医师很难用精确的语言去描述中医诊断和开方用药。所以你会看到同一个患者,不同的医生开的药方是不一样的,虽然可能都有效。

这就是多个模糊输入对应着多个模糊输出,这增加了中医AI的难度。同时这也是中医被人诟病的原因之一。

正是这种差异性造成了程序开发的难度。换句话来说,程序员没有中医思维,中医师没有程序思维。

我这人的特点是非常擅长化繁为简,我的思路其实非常简单。现在主要是上呼吸道感染。上呼吸道感染有哪些症状呢?我将症状列表列了出来。

那从中医的角度上去,怎么诊断开方用药呢?《伤寒论》是张仲景论述外感对人体影响的中医学专著。其实也是论述传染病进入人体之后的人体经络反应。

我将中医称的外感,西医称的病毒感染,或者呼吸道感染。所能引起人体经络的变化,按《伤寒论》的区分法,分为伤寒太阳证用a表示,伤寒少阳证用b表示,伤寒阳明证用c表示。

将所有的症状输入简化为三条输出,一下子是不是变得很简单了。但实际上单单这三个诊断是不足够的,我将之称为三个主证。

然后再从身体的湿气d,身体的头e,肺f,胸g,上腹h,下腹i,膀胱j等部位分别辅助诊断。

然后我给每一个输入症状分配个权重0.1-0.9的权重。比如高烧,太阳证的权重就是0.8,阳明证的权重0.6。又比如低烧,太阳证的权重是0.7,少阳证是0.8。

这样子很容易就将不同症状导出到三个主证上。再辅助身体的湿,以及身体不同部位的诊断,就很容易开出药方。

其实作为中医师也是这么思维的,先抓主证,看以什么证,什么方为主。然后再细化到各个部位,再加减一些药。

花了两个晚上做出来个很粗燥的模型,开个头,抛砖引玉,希望更多的朋友能深入研究。

严格意义上来说,这不是计算机学习后掌握的技能,这是中医师的经验总结,用计算机来实现,这效果我认为是可以的,至少我是满意的。

其实还可以让计算机学习《伤寒论》,我不知道学习效果如何,这是去年我想做的,也许我们可以一起来试试。

工作环境Python3.7,streamlit。一个主文件,总共320行简单代码。

谢谢大家!

如何用python 300行代码实现中医问诊AI相关推荐

  1. python编程小游戏代码-Python小游戏之300行代码实现俄罗斯方块

    前言 本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很 ...

  2. python小游戏源码-Python小游戏之300行代码实现俄罗斯方块

    Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...

  3. 三百行python代码的项目_使用300行代码创建一个分布式系统

    使用 300 行代码创建一个分布式系统 构建一个分布式系统是很困难的. 它需要可扩展性. 容错性. 高可用性. 一致性. 可伸缩以及高效.为了达到这些目的,分布式系统需要很多复杂的组件以一 种 复杂的 ...

  4. python小技巧:300行代码实现俄罗斯方块

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 文章目录 前言 外形 方块 停靠 前言 本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游 ...

  5. Python 游戏:300行代码实现俄罗斯方块

    本文代码基于 python 3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很难啊 ...

  6. python编写小游戏代码_Python小游戏之300行代码实现俄罗斯方块

    Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...

  7. python小游戏代码大全-Python小游戏之300行代码实现俄罗斯方块

    前言 本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很 ...

  8. python编写游戏300行代码_300行代码实现Python游戏:俄罗斯方块

    本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很难啊, ...

  9. 通过Mesos、Docker和Go,使用300行代码创建一个分布式系统

    [摘要]虽然 Docker 和 Mesos 已成为不折不扣的 Buzzwords ,但是对于大部分人来说它们仍然是陌生的,下面我们就一起领略 Mesos .Docker 和 Go 配合带来的强大破坏力 ...

最新文章

  1. 2015第22周一Web性能测试工具及IE扩展区别
  2. 浅谈Java SE、Java EE、Java ME三者的区别
  3. ai算子是什么_肇观电子刷新端侧AI芯片性能记录并发布“5分钟部署”AI开发平台 - 企业资讯...
  4. 【代码托管】如何使用Git工具托管本地代码到GitHub(也许是最简单易懂的图文教程)【含 Git+第三方工具TortoiseGit+中文语言包 百度云盘资源】
  5. Android 的滑动分析以及各种实现
  6. Windows Developer Day - Windows AI Platform
  7. Spiking-YOLO : 前沿!脉冲神经网络在目标检测的首次尝试 | AAAI 2020
  8. 【原创】定制ROM时自定义默认主题
  9. 深入了解Cookie(1)------selenium2进行Cookie操作的前奏
  10. L230 RF可靠性测试-RF指标
  11. 【效率工具合集】Win10镜像迅雷快速安装
  12. 企业微信url及生成授权链接
  13. 生而神灵,弱而能言,幼而徇齐,长而敦敏,成而聪明
  14. maven profile <filtering>true</filtering>的作用
  15. 做phodal的御用编辑,其实我是拒绝的
  16. 字符串常见方法总结:方法的作用、参数、返回值(构造方法可省略)
  17. HAUT 1262 魔法宝石 暴力思想,多种解决方案
  18. 把踢毽子的寒冷过程和心理描写出来
  19. husky v8 lint-stage eslint
  20. STC89C52实现时钟功能

热门文章

  1. Codeforces 1263D(Secret Passwords )
  2. 4步打造出完美的社群运营的秘籍
  3. qml草地足球简单案例
  4. 如何将Excel中的多个子表合并后转成一个PDF?
  5. 微信小程序+.NET(八) 小程序之web-view讲解
  6. 教你使用python实现微信每天给女朋友说晚安
  7. 奇思乐高机器人怎么样_奇思机器人:如果孩子和优质的教育只有一步之遥,那就是乐高的差距...
  8. Lock中的Condition
  9. 网页标题乱码的解决办法
  10. 蛋糕是叫胚子还是坯子_【蛋糕胚子配方】_材料_做法-大众养生网