售前电话
135-3656-7657
售前电话 : 135-3656-7657
研究论著 中国医疗设备 2021年第36卷 09期 VOL.36 No.09引言通过互联网得到科学准确的医疗服务与人们的幸福生活密切相关,智能问答平台有助于快速筛选搜索信息。自动聊天机器人可分为以信息提取为基础的专家系统和自主生产学习式的开放领域问答平台系统[1] 。垂直领域的专家系统大大压缩了数据规模,适用于医疗领域的应用开发[2] 。语义分析是实现智能问答的基本途径。在传统 算法和 基础上, 以 MySQL+Flask web +vue分级架构实现了知识自动问答[3] 。医疗数据包含大量冗余文本数据。联合标注策略的实体关系抽取模型使用 NoSQL数据库 Neo4j 存储知识数据,获得较高检索效率[4] 。Java语言的 MVC(Model、View、)架构将后台运算与前端显示分离[5-6] 。利用多源异构数据构建医疗相关知识库智能医疗问答系统,联合中文分词和医疗词典,准确识别医疗相关领域词汇[7] 。不同数据库的知识存储会影响问答效率。MySQL 体积小、速度快,在灵活性上远超 SQL Sever 和 数据库[8] 。
利用 Redis 数据库缓存,可提高系统处理高并发场景时的效率[9] 。ANSJ 实现分词,且标注分词后词性,在内存中分词速率 100 万字 /s,准确度达 96% 以上[10-11] 。作为 框架,集成了控制翻转和面向切面编程的特点[12-13] 。布隆过滤器利用错误率换取更小的空间占用,其操作时间复杂度为 O(1) [14-15] 。本文旨在设计实现一款智能智能医疗问答系统的设计与实现何艳,张宁西安邮电大学 通信与信息工程学院,陕西 西安 [摘 要] 目的 设计与实现智能医疗问答系统,为医疗服务信息化和智慧化的建设提供支持。方法 本系统平台引入B/S架构设计,采用前后端分离开发。其中利用Vue.JS开发Web端,以作为基础语言搭建后端,配合框架实现MVC模式对项目解耦合处理。项目数据库的数据来源于寻医问药网(),以框架多线程进行数据爬取。采用关系型数据库MySQL实现医疗信息以及用户信息的数据存储。结果 本文设计实现了一款基于的医疗问答系统。通过数据库设计、服务逻辑设计、系统优化设计和数据交互设计,利用中文分词技术和数据库对象映射与知识推理,实现基本的医疗问答。
结论 智能医疗问答系统能够满足用户健康需求,在B/S模式下让用户通过网页浏览器实现医疗健康信息咨询。[关键词] 智能医疗问答系统;医疗服务;关系型数据库 and of Yan, ZHANG of and , Xi’an of Posts & ,Xi’an , : To for the of and , the is . By B/S , was in with front-end and back-end . i cally, Vue.JS was used to the Web end, was taken as the basic to build up the back end, and the union of the the under MVC . All the that in this came from the (), where multi- data was under the of . The MySQL was to store as well as . In this study, a was and based on . The fulf i of this was of , logic , and data , the of and was the of word and as well as . The can meet the needs of users, users to and a web in the B/S mode. Key words: ; ; [中图分类号] R197.39;TP391.1[文献标识码] Adoi:10.3969/j.issn.1674-1633.2021.09.023 [文章编号] 1674-1633(2021)09-0100-04收稿日期:2020-12-15基金项目:国家自然科学基金();陕西省自然科学基础研究计划项目(-861)。
通信作者:何艳,副教授,主要研究方向为复杂系统与复杂网络。通信作者邮箱: i 研究论著 中国医疗设备 2021年第36卷 09期 VOL.36 No.09问答系统,通过用户对自身病情症状的描述,系统通过语义解析得到合理准确的医疗指导,进而给人们提供日常的健康医疗咨询。1 医疗问答系统设计本医疗问答系统设计框图如图 1 所示,系统采用分级架构,使得数据库、逻辑层、展示层分开,便于分层开发维护。1.1 后端结构设计后 端 代 码 结 构 大 致 分 为 、Dao、Pojo、、Test 五部分。其中 层负责与前端代码的交互,接收或发送数据到前端。Pojo 层存储项目对应的数据模型类。 层负责处理项目的主要逻辑。Test 负责代码的调试与测试功能。图 2 展示了后端项目代码结构。1.2 数据库连接设计在数据库连接的部分,采用基于 JDBC 的 Java 数据库连接工具 进行 Java 程序与 MySQL 数据库的连接。使用注解的方式完成连接,并将 SQL 语句卸载至 xml 文件中,便于维护管理[16] 。
同时项目采用了 自带的SQL 预处理方式,避免了 SQL 注入的风险。1.3 医疗问答系统数据库设计医疗问答系统的数据模型包括用户集合、疾病集合和用户患病集合。用户集合用于存储普通用户在平台进行登录、注册、问答咨询所需的基本信息 ;疾病集合用于存储爬取的医疗相关信息 ;用户患病集合用于存储疾病与用户之间的对应关系,形成用户表与疾病表之间多对多的表间关系。各表间关系绘制成实体联系图如图 3 所示。1.4 前后端交互资源使用设计由于项目前后端分离的设计,在本机测试时两端会分别占用不同端口,前端 Vue 部分占用 8080 端口,后端占用 8081 端口。前后端的数据交互采用 JSON( )数据格式。依照 JSON 将后端 Java 实体类序列化成字符串的格式发送至前端解析,同时前端也能发送 JSON 至后端,经由后端转换为实体类。在 Java 中,可以将 JSON 还原为 结构或者一个基本对象。1.5 系统并发设计本系统在多个角度进行了并发设计,确保了程序的稳定性(图 4)。系统设计将 服务器默认提供的 BIO模式改配置为 NIO 模式。