杨凯一,刘中旺,王楚翘,范月圆,顾 莹,罗 严,尹 航,冯国峰,白志坤
(1.东北农业大学动物医学学院 实验动物与比较医学重点实验室,黑龙江哈尔滨150030 ; 2.东北农业大学经济管理学院,黑龙江哈尔滨150030 ; 3.东北农业大学动物科学与技术学院,黑龙江哈尔滨150030)
兽医临床诊断是兽医通过检查后,对家畜的健康状况和疾病情况所做出的判断[1]。现今兽医诊治病畜主要依靠个人临床经验和临床资料,如果有可供快速查阅的数据库,同时与互联网信息技术相结合,就可实现在线分析和诊断。在人医领域,关于医学文献类的软件有READ、杏树林;医学资讯类的有MedPage Today、医学时间;医学循证类的有UpToDate、DynaMed;医学社区类的有Figure、丁香园等[2]。但在兽医领域,只有极少数量的此类软件,更没有找到一款适用于兽医临床诊断的APP。
本文介绍了APP Inventor 2广州服务器(广州市教育信息中心APP Inventor服务器,网址为http://app.gzjkw.net)与图灵机器人相结合设计开发兽医临床诊断APP——“宠伴”的过程,希望最大化的支撑临床兽医的决策过程,使其随时随地得到循证服务,并应用所能获得的最好的研究依据,根据动物医生的个人专业技能和多年临床经验,考虑病畜的实际情况,将三者结合制定出治疗措施。
1.1 图灵机器人 图灵机器人开放平台是北京光年无限科技旗下的智能聊天机器人开放平台,通过此平台,用户可快速构建自己的专属聊天机器人,并为其添加丰富的机器人云端技能[3]。图灵机器人拥有诸多优秀的功能,其中较为实用的功能,比如中文聊天对话、自然语言处理(NPL)知识库、自定义身份属性、情感识别引擎、多领域智能问答等都深受开发者的推崇。图灵机器人开放基于NLP技术的自定义知识库功能,将领先人工智能技术与用户私有知识库进行有效结合,机器人拥有者可批量导入知识库,为自己的机器人注入“独家内容”,以满足不同的需求。而图灵机器人API(应用程序编程接口)是在人工智能的核心能力的基础上,为广大开发者提供的一系列基于云计算和大数据平台的在线服务和开发接口,开发者可以利用图灵机器人的API创建各种在线服务,自定义机器人数据库及其他属性,打造其专属的智能交互机器人。
1.2 APP Inventor APP Inventor是2010年谷歌公司推出一款手机编程软件,是一个完全在线开发的Android编程环境[4]。此软件为开发者提供了极大的便捷,软件的制作时间短,便于测试。抛弃复杂的程式代码而使用积木式的堆叠法来完成所需的Android程式,用户只需要根据自己的需求向其中添加服务选项即可,也就是说我们所要做的只是“拼装”简单的代码程序。该软件一经问世就得到广泛的认可。App Inventor的组件分为可视化组件和非可视化组件。可视化组件构成了应用程序界面的主体。通过可视化界面,将系统所需要的组件,例如按钮、文本输入框和图像等组件,选取到所开发的移动设备界面。非可视组件,例如音频播放器、视频播放器等组件,此类组件具有很强的关联性,是应用能发挥功能的重要组成部分。
2.1 设计思路 基于图灵机器人与APP Inventor开发的兽医临床诊断APP是一款辅助兽医师诊断决策的软件,运用图灵机器人API可以将数据库“镶嵌”于APP Inventor之中成为一个专为兽医临床服务的软件。该软件拥有智能诊断及病例导入两大功能,可以保证每一位注册用户拥有强大的数据库支持,收集大量临床病例并不断更新数据,使得智能诊断更为精准,为兽医师提供快速、可靠的服务。图1为该软件的主程序流程图。
图1 主程序流程图
2.2 构建过程
2.2.1 APP组件设计 该软件共有2个屏幕,分别为登录界面和智能诊断界面,其中每个屏幕含有多种组件,是本应用的界面,其中包含有按钮、标签、文本输入框、密码输入框等可视化组件,包含有网络微数据库、计时器、对话框等非可视化组件,具体逻辑设计见图2。
图2 软件界面
2.2.2 APP逻辑设计 对组件进行逻辑设计要在模块编辑视图中完成,逻辑模块中,每一个组件的代码都被分割成代码模块。每一个代码模块拥有属于自己的功能。当我们在编辑逻辑语言时,通过不同代码模块间的拼接,从而使每一个组件都拥有自己的功能。
登录注册功能逻辑:此模块包含登录按钮、创建新账号按钮、标签、文本输入框、密码输入框等可视化组件,包含计时器、网络微数据库、对话框等非可视化组件。当新用户进行注册时,用户编辑的用户名的密码分别以标签一一对应的形式保存在网络数据库中。当用户再次进入应用时通过输入自己的用户名和密码向网络数据库发出请求,从而获得登录权限。若账号密码不匹配则不能进入软件,见图3。
智能诊断功能逻辑:此模块组件较为简单,包含文本输入框、提交按钮、标签等可视化组件,包含Web浏览框及Web客户端等非可视化组件,当用户输入文本并提交时,接入的图灵机器人API便会在数据库中智能解析问题,然后反馈给用户最接近的答案,见图4。
2.3 图灵机器人的接入与数据库搭建
2.3.1 图灵机器人的接入 注册登入图灵机器人官网(www.tuling123.com),获取图灵机器人APIKEY,在APP Inventor逻辑设计界面,将初始化全局变量网址设置为:http://openapi.tuling123.com/openapi/api/v2(此为图灵机器人的接口地址),初始化全局变量KEY设置为在官网获取到的APIKEY,最后将初始化全局变量USERID设置为图灵用户的账号编码,一般为6位,此过程即为图灵机器人的接入过程,见图5。
2.3.2 图灵机器人数据库的搭建 图灵机器人的数据库导入需要大量的信息,在录入初期,我们需要将大量的病例、问题整理为Excel格式,再导入数据库,工作量较大,所以在数据库的导入上要花费大部分的时间,若将数据库做到完善,则需要较久时间来进行信息的校准、整理、录入的过程。我们的数据目前主要来源于东北农业大学动物医院的临床病例及部分网络内容,将大量的数据筛选确认后,以Excel的形式逐条导入到图灵机器人的后台数据库当中。
图3 登录注册功能逻辑设计
图4 智能诊断功能逻辑设计
图5 机器人接入逻辑设计
在模糊搜索方面,畜主大多不了解专业词汇,因此保证一个专业词汇要有几种到十几种的模糊定义,才能让用户使用流畅。目前模糊搜索的功能尚不完善,对于专业名词的“校准”需要在测试中不断发展。在数据库的导入上,我们也为软件的智能化做出了努力,对同一条备选信息,尽可能多的设置多个预设问题,可以支持使用者对获得同一信息的多种提问方式,使得兽医师搜索答案更为全面。
根据国家统计局数据显示,2010-2016年,中国宠物行业年复合增长率为49.1%,位于各行业增长之首[5]。来自美国宠物用品协会的数据表明,2016年我国宠物行业细分市场占比中,宠物医疗行业占比为22.88%。与此同时,人们对医疗的认知也发生了变化,移动医疗渐渐被人们重视。由此软件的开发顺应行业的发展,表现出了良好的生存环境和发展空间。国内移动医疗APP发展迅速,现阶段已达2 000多款,遗憾的是针对于家畜或宠物的移动医疗APP不足一成[6]。因此,宠物医疗APP具有较大的发展潜力与行业优势。
早期的诸如“动物疾病诊断专家系统”,其主要功能是对某种动物进行智能诊断,通过输入精准的数据,利用算法对数据进行分析,以列表形式根据疾病发生的概率由大至小显示,达到智能诊断的效果。这种诊断系统得到的结果更加准确,同样,要得到准确的结果,对于收集数据的要求更严谨、精确。而大多数的宠物主人和一部分的小型养殖场畜主并不具备这样的条件,他们提供的信息是模糊的。我们构建的APP相对于电脑端的专家系统,软件小巧了很多,不但可用于Android系统的手机、平板电脑,兽医师使用较为便捷,甚至可为兽医师提供内嵌平板的诊断工作台,简化操作,方便辅助兽医师的诊疗。我们以API中的图灵机器人为基础,以模糊搜索为辅助,增加了搜索的智能性和准确性。其中图灵机器人具备强大的中文理解能力,能够满足兽医师多方面的问答需求。内置的NLP知识库,具有准确率高,操作简单的特点,通过该模块,批量导入垂直领域的问答知识,赋予了机器人快速实现垂直领域的问答能力。用户只需根据动物的症状,向图灵机器人发起对话,输入关键词后就可以得到需要的机器人的回答,得到较为权威的畜禽病源病因参考解释和解决方法。
本文介绍的兽医智能诊断APP能够基本实现辅助兽医诊断决策的功能,但仍然有很多不足之处,需要我们进一步改善和加强,做到操作更简单,应答更迅捷。例如数据库虽然覆盖面广,但有时会遇到其没有收录的个体案例,为了完善这一问题,我们希望未来可以增加用户在线循证服务,将其发展为兽医师的病例交流平台,同时将解决的问题认证后整理并导入到数据库当中,使数据库涵盖更加全面详细。同时,我们将进一步学习和熟悉图灵机器人及Android开发平台的应用,在提高用户体验的同时,逐步完善其功能,加入新技术,将“医工”相结合,突出交叉学科优势,打造更完美的专属宠物医疗的实用性APP,以最大化辅助兽医师的诊断决策。