智能医疗问答系统的设计与实现
2021-10-13何艳张宁
何艳,张宁
西安邮电大学 通信与信息工程学院,陕西 西安 710121
引言
通过互联网得到科学准确的医疗服务与人们的幸福生活密切相关,智能问答平台有助于快速筛选搜索信息。自动聊天机器人可分为以信息提取为基础的专家系统和自主生产学习式的开放领域问答平台系统[1]。垂直领域的专家系统大大压缩了数据规模,适用于医疗领域的应用开发[2]。语义分析是实现智能问答的基本途径。在传统TextRank算法和Word2Vec基础上,Python以MySQL+Flask web +vue分级架构实现了知识自动问答[3]。医疗数据包含大量冗余文本数据。联合标注策略的实体关系抽取模型使用NoSQL数据库Neo4j存储知识数据,获得较高检索效率[4]。Java语言的MVC(Model、View、Controller)架构将后台运算与前端显示分离[5-6]。利用多源异构数据构建医疗相关知识库,联合中文分词和医疗词典,准确识别医疗相关领域词汇[7]。不同数据库的知识存储会影响问答效率。MySQL体积小、速度快,在灵活性上远超SQL Sever和Oracle数据库[8]。利用Redis数据库缓存,可提高系统处理高并发场景时的效率[9]。ANSJ实现分词,且标注分词后词性,在内存中分词速率100万字/s,准确度达96%以上[10-11]。Spring作为JavaWeb框架,集成了控制翻转和面向切面编程的特点[12-13]。布隆过滤器利用错误率换取更小的空间占用,其操作时间复杂度为O(1)[14-15]。本文旨在设计实现一款智能问答系统,通过用户对自身病情症状的描述,系统通过语义解析得到合理准确的医疗指导,进而给人们提供日常的健康医疗咨询。
1 医疗问答系统设计
本医疗问答系统设计框图如图1所示,系统采用分级架构,使得数据库、逻辑层、展示层分开,便于分层开发维护。……
