基于微信的预防接种问答系统的研发与探讨
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- 31 -
信 息 技 术
当前,某市全市疫苗接种儿童数量139万,全市接种门诊共有195个,预防接种门诊工作人员960余人,工作人员的数量严重不足,且预防接种门诊的工作量巨大,日常预防接种的工作任务繁重,另外每天都有大量的预防接种咨询问题,工作人员很难及时接听和回复,有时甚至会引起投诉。
该文以微信公众平台为基础,快速研发了预防接种问答系统,该系统可以实现24 h 自动回复预防接种咨询问题的功能[1-2]。
该系统由1名专业人员进行开发,其开发周期为27个工作日,完成了问题整理、问题逻辑形式整理和映射构建语法树3项主要工作。
问答系统开发完成后,进行了为期1周的上线测试,系统测试期间平均每天减少了大约680个咨询电话。
系统能够减少预防接种咨询电话的数量以及预防接种接种人员工作量,并且系统开发快速简单,不需要过多的专业人员参与其中,系统模式也是可以复制的,可以在该系统的基础上快速开发针对传染病、艾滋病等疾病的问答系统,可以在在其他疾控机构推广该系统,甚至可以在其他部门或是企业对该系统进行推广,从而达到提高预防接种工作效率的目的。
1 对象与方法1.1 数据来源
该系统的问题主要有以下4个来源:1) 免疫规划科日常
预防接种咨询问题汇总。
2) 某市部分预防接种门诊日常群众咨询问题汇总。
3) 百度、360搜索部分防接种问题汇总。
4) 某省疾控中心预防接种问题库。
1.2 开发问答系统使用的方法
正常情况下,该系统的开发工作主要包括语义解析、信息抽取和向量建模3个部分。
由于微信公众平台自带关键字回复功能,且该系统的预防接种咨询问题都有标准统一的答案,因此在开发基于微信公众平台的预防接种问答系统的过程中,不需要通过向量抽取和向量建模来完成问题匹配和寻找最佳答案的工作。
综上所述,语义解析是该系统的关键。
语义解析例子,如图1所示。
该系统用经典的baseline
方法进行
语义解析,语义解析是将预防接种咨询问题转化为能够让问答库识别的问题表达形式,即逻辑形式,而该系统使用Lambda Dependency-Based Compositional Semantics ( Lambda-DCS)逻辑语言对问答库进行访问,并以此为基础对系统进行开发。
图1 语义解析例子
2 系统开发过程及结果2.1 使用问答系统的总体流程
问答系统(Question Answering System,QA)是人工智能和自然语言处理领域中倍受关注且具有广阔发展前景的研究内容 [3]。
该问答系统以微信公众平台为基础,使用大数据、人工智能以及互联网+等技术手段 [4],实现了24 h 自动回复咨询预防接种问题的功能。
总体流程包括以下4个步骤:1) 群众提出问题。
2) 问答系统进行语义解析。
3) 判断是否建立词汇映射。
4) 映射匹配成功自动回复,否则转人工电话。
为了进一步完善系统,研究人员考虑在问答系统上线后,定期整理问答系统的问答记录和人工电话的咨询记录,并将这些咨询问题补充到问题库中,从而让系统更加完善,如图2所示。
2.2 问答系统研发主要过程
微信公众平台自带关键字回复功能,且预防接种问题都有标准、统一的答案,不需要通过向量抽取和向量建模来完成问题匹配和寻找最佳答案的工作,因此该系统运行的关键
基于微信的预防接种问答系统的研发与探讨
陈明华 李文宇 韩明奎 王颖馨 陈 伟(潍坊市疾病预防控制中心,山东 潍坊 261061)
摘 要:预防接种门诊的常规工作量大,且需要接听预防接种咨询电话,为了方便预防接种工作的开展,提高群众的满意度,减少疾控机构和预防接种门诊接听咨询电话的数量,该文研发了基于微信公众平台的预防接种问答系统,提供24 h 预防接种咨询问题自动回复的服务。
该预防接种自动问答系统以微信公众平台为基础,使用baseline 的方法,用Lambda-DCS 逻辑语言对其进行研发。
系统测试期间平均每天减少了大约680个电话,能够有效回复多数咨询预防接种的问题,该系统开发快速简单,1名研发人员大约27 d 就可以完成系统的开发工作,因此可以以此为基础快速开发针对传染病、艾滋病等疾病的问答系统,可以在其他疾控机构推广该系统,甚至可以在其他部门或是企业对该系统进行推广,从而达到提高预防接种工作效率的目的。
关键词:预防接种;咨询电话;问答系统;Lambda-DCS 逻辑语言中图分类号:TP 391;TP 18 文献标志码:A
基金项目:潍坊市卫生健康委科研项目(项目编号:wfwsjk_2019_057);潍坊市卫生健康委科研项目(项目编号:wfws js_2018_124)。
- 32 -
信 息 技 术
步骤是要对预防接种咨询问题进行解析,并把解析后的问题
与问题库进行匹配。
同时横向扩充该系统问答库中的类似答案,即对类似问题答案进行关联,将其作为对当前答案的有效补充,从而解决对预防接种咨询问题回复不准确的问题,因此对类似问题答案进行横向关联,可以使咨询人员尽快得到有效的答案。
图2 问答系统使用流程
群众问题匹配
是否新生儿是否匹配
人工电话
反馈
否
是
是否一类苗问题库
婴儿大小
接种门诊位置
语义解析(词汇映射、构建)
2.2.1 整理问题库
将问题进行整理分类,从而提高预防接种咨询人员的咨询效率,该系统的主要分类依据包括是否为新生儿、是否为一类苗、婴儿大小和预防接种门位置等。
2.2.2 预防接种咨询问题的逻辑形式
逻辑形式就是将用户咨询的问题(自然语言)转化为系统可以识别的形式。
该系统使用经典的逻辑语言λ-依存组合语义(Lambda Dependency-Based Compositional Semantics) 对问答库进行访问,将系统的答案库看作是数据库,那么逻辑形式(Logic Form)就是查询语句要表达的意思。
具体实现过程如下。
Unary base case: If e ∈ε is an entity(e.g.,上海),then is a unary logical form with [[z ]]κ={e }. Binary base case: If p ∈ρ is a property (e.g.,出生地h), then p is a binary logical form with [[p ]]κ={(e 1,e 2)∶(e 1,p ,e 2)∈κ}2 .Join : If b is binary and u false is a unary, then b.u false (e.g.,出生地.上海) is a unary denoting a join and project :[[b.u ]]κ={(e 1∈ε∶e 2.(e 1,e 2)∈[[b ]]κ∧e 2∈[[u ]]κ}.Intersection: If u 1 and u 2 are both unaries, then u 1u 2 (e.g.,职业.科学家出生地.上海) denotes set intersection :[[u 1u 2]]κ=[[u 1]]κ∩[[u 2]]κ. Aggregation : If u false is a unary, then count (u ) denotes the cardinality :[[count (u ) ]]κ={|[[u ]]κ|}.
z 是表示逻辑形式,κ是表示知识库,e 是表示实体,p 是表示实体关系。
一元形式(unary)和二元形式(binary)是2种不同的逻辑形式。
通过查询一元实体e 对应的实体,可以查到与二元实体关系p 相关的三元组中的实体对[4]。
同时,还可以可以进行连接Join,求交集Intersection 和聚合Aggregate。
这样就可以把用户咨询的问题(自然语言)解析为可以在问答库中查询的逻辑形式,例如问题 “孩子要打几针乙肝?”对应的逻辑形式是:Count( 人类.孩子∩注射.疫苗.乙肝)。
2.2.3 语义解析,搭建基础问题库
可以将语义解析的过程看作是自下而上构造语法树的
过程。
解析过程分为词汇映射和构建语法树2个步骤。
词汇映射就是构造语法树的底层节点,即将单个短语或者单词映射到问答库关系所对应的逻辑形式。
构建语法树就是自下而上地对树的节点进行两两合并和汇总,最后完成语法树的构建工作,语法树的根节点是用户咨询问题的最终逻辑表达形式。
执行连接Join、求交Intersection 和聚合Aggregate 是该系统对2个节点的3种不同的操作方式。
这种合并方式的复杂度是呈指数级增长的,因此最终会生成很多棵语法树,且需要对语法树进行筛选。
通过比较用户咨询问题集合F (r [t 1,
t 2])和问答库集合F (r 2)与类似Jaccard 距离的特征来确定是否建立词汇映射,如图3所示。
图3 统计问答库建立映射
F (r 1)
F (r 2)
C (r 1,r 2)
r 1是三元组中咨询预防接种问题(自然语言)的短语,
统计r 1两边的实体对(entity1,entity2),对r 1两边的实体类型进行查询,就可以得到主语实体的类型t 1和宾语实体的类型t 2可以将其表示为r [t 1,t 2],对三元组两边的实体进行统计,得到实体对集合F (r [t 1,t 2])[4]。
对知识库进行统计,得到实体对集合F (r 2)[4]。
2.2.4 微信公众平台录入数据
由于用户咨询预防接种相关问题都有准确的答案,且微信公众平台自带关键字回复功能,因此不需要通过向量抽取和向量建模去完成寻找最佳答案的工作,这样将大大减少开发的难度和工作量,因此在开发该系统的过程中,只需要根据逻辑形式(关键字)录入数据就可以完成相关工作了。
- 33 -
信 息 技 术
2.2.5 收集整理反馈问题,对问答系统进行完善
正常情况下问答系统上线后,就会进入系统维护阶段。
一般情况下,系统维护分为更正性维护、适应性维护、完善性维护和预防性维护。
4种维护比例的统计结果如下:纠错性维护为21%,适应性维护为25%,完善性维护为50%,预防性维护为4%。
因为要在问答系统上线后定期整理问答和人工电话咨询记录,记录这些咨询问题并将其补充到问题库中,从而使问答系统更加完善。
所以维护阶段主要对问答系统进行适应性维护和完善性维护。
2.3 效果
2.3.1 研发问答系统成本分析
因为该问答系统是基于微信公众平台进行建设的,不需要进行关键字匹配功能的开发,且预防接种问题有标准、统一的答案,所以开发该系统的工作主要包括问题整理、问题逻辑形式整理和映射构建语法树。
该系统的开发成本包括人力成本和时间成本,即需要1名信息化人员花费27 d 完成基本工作,开发时间分配见表1。
表1 问答系统开发时间
开发过程开发时间问题整理15 d问题逻辑形式5 d
映射构建语法树
7 d合计:
27 d
2.3.2 应用效果
2020年1月26日~2月2日进行了问答系统的上线测
试,在测试期间通过微信公众号使用过问答系统的人数累计4 803人次,疾控机构和预防接种门诊平均每天的咨询电话减少了大约680个,问答系统主要问题提问比例,如图4所示。
注:图中显示百分数是在测试期间该问题占总提问次数的百分比。
图4 问答系统主要问题提问比例
对用户咨询的问题进行统计分析,其中24题(“孩子更换住址,应到何处接种门诊接种?”)、第25题(“满月孩子如何办理儿童接种档案”)以及第26题(“HPV 疫苗接种条件,如何预约?”的咨询数量比较多,提问比例大约为10%,测试表明,问答系统能够自动回复这些常见问题。
3 讨论
3.1 问答系统效果
问答系统测试期间,平均每天每个接种门诊少接听了
3个电话,考虑到乡村及偏远地区使用微信的情况,问答系统实际效果略好于预期效果。
问答系统能够自动回复群众提出的部分问题,在一定程度上减轻了预防接种人员的工作压力。
3.2 系统便于开发维护
当前智能手机已经成为提供获取信息服务的主流载体[5]。
微信具有功能丰富、接口方便使用的优点,以微信公众平台为基础的智慧预防接种问答系统[6]的开发和维护工作也比较简单。
3.3 群众问题相对集中
对系统收到的问题进行统计可以发现,用户的问题包括以下3点:1) 孩子出生、满月到接种门诊的衔接过程。
2) 预防接种门诊变更的衔接。
3) 紧俏疫苗的接种问题。
该系统还存在以下2个问题:1) 开发周期短,系统的相关功能不完善。
2) 测试时间短,测试效果不是特别准确[7]。
4 结语
该文通过系统开发和上线测试得出以下3个结论:1) 问答系统可以作为预防接种工作寻求突破的尝试。
当前预防接种工作的开展已经达到较好的水平,需要结合信息化来寻求更进一步的发展。
2) 问答系统需要进一步完善,才能更好地服务于预防接种工作。
根据问答系统的后台数据,群众一般会提2个~3个问题才能完成问题的咨询。
问答系统存在继续优化的空间,在条件允许的情况下,适当增加开发周期和测试时间,可以提高系统的效率和性能,减少群众提问的次数。
3) 需要推广问答系统。
不仅疫苗预防接种工作需要寻求突破,疾控的其他业务工作也需要进一步发展,以问答系统为起点,借助于信息化手段,探索互联网+其他模式,为疾控工作寻求新的发展。
参考文献
[1]乔宇,崔亮亮,李帅,等.智能问答机器人系统研发及应用研究——以济南市新型冠状病毒肺炎疫情处置应对为例[J].山东大学学报(医学版), 2020,4(11):17-22.
[2]李俊林. 基于微信公众平台的课堂问答系统的设计与实现[D].武汉:华中师范大学,2017.
[3]詹晨迪.基于知识库的自然语言问答方法研究[D].合肥:中国科学技术大学,2017.
[4]何国对,黄容鑫,黄伟刚,等.基于知识图谱的广西文化旅游问答系统研究与实现[J].广西科学,2020,27(6):609-615.
[5]屠要峰.基于电信业务场景的智能问答机器人关键技术[J].计算机科学与应用,2017,7(4):291-300.
[6]禹尧.微信公众号互动功能开发及设计[J].电子技术与软件工程,2020(11):42-43.
[7]吴佳泽,汤荣亮,冉浩.专业课程问答系统的设计与实现[J].福建电脑,2021,37(2):97-99.。