随着传感器微型化,智能手机的兴起,以及 3G/4G 网络的普及使得智能穿戴设备受到了消费者的广泛关注;与此同时,受益于各大智能设备和手机厂商的大力推广和消费者对自身健康的高度关注,穿戴设备在都市人群中变得愈加普及开来。
因此,消费者健康数据的采集这一顽疾问题得到了一定程度的解决,然而针对此类健康数据的个性化服务,却并未随着设备的普及和数据的丰富得到满足。来康平台在产品开发过程中,也通过各种设备采集人体健康数据,形成个人健康档案(PHR),如何通过这些健康数据为用户提供更加丰富和贴近用户实际需求的服务,就显得尤为迫切。
因此,我们开放平台,在这方面进行了自己的探索,开发了一系列组件,形成了一套行之有效的数据融合框架,达到了数据融合贯通,初步满足了用户个性化和多方位数据消费的要求。
图 1 数据融合框架架构图
框架采用微服务架构,通过 PaaS 平台搭建基础服务组件,在此基础上构建规则引擎、事件引擎、智能导航引擎、数据网关和管理后台。
图 2 后台操作界面
针对数据网关而言,主要目标是实现数据的标准化和内外数据的转换与分发。因此,我们围绕数据转换和数据分发为核心功能,构建可配置化的访问路径,和数据格式。
图 3 数据网关数据流图
外部请求配置的网关目标路径,通过标准输入层,过滤请求,将请求参数字段通过转换,变成标准输入请求数据格式。
通过响应层的权限认证,由标准输出层进行分发,调用后端 API 接口,获取目标服务响应数据,这里支持多路分发至不同 API,或者是 MQ。
接口服务响应数据,同时也将通过标准输出转换器,转换成外部所需数据格式,完成整个数据处理逻辑。
与此同时,数据网关支持基于数据的简单路由规则分发,如根据某字段值判断其应该向其中目标 API 接口发送请求;
规则引擎主要实现的是规则集合的管理与执行。允许业务人员通过业务需要定义规则,配置源数据 API 和对应数据规则。通过在规则调用参数获取规则因素,配置各因素响应规则,目前支持因素值判断和 API 调用两种响应模式。
值判断是根据算法 (大于、等于、区间判断等),给出对应结果。API 响应,则是通过规则参数和配置好的数据源参数归集 API 请求数据,满足某些条件时请求对应 API 获取响应数据。
图 4 规则引擎数据流图
事件引擎充当触发器,由用户行为收集系统,将用户事件推送至 MQ,使用 Kafka SQL 监听具体事件,出发对应绑定规则。
规则引擎则从规则库获取规则配置,分析规则依赖,通过业务规则解析器解析规则,执行器判定因素相关规则执行对应规则动作,获取规则响应结果,并返回给触发器。
触发器根据响应结果,执行最后业务动作。
某些规则可以触发定时任务或者批处理任务,交由 Spark 或者 XXLJob 执行。
事件引擎是为了灵活处理用户行为事件而开发的,为统一配置事件与规则的绑定关系,自动生成对应消息筛选器,从而针对特定事件触发对应业务规则。并根据规则引擎返回结果,推送对应消息或是做出相应动作,形成事件筛选,规则触发,动作响应三个流程。
在管理平台配置事件和事件与规则绑定关系,发布之后,事件引擎自动生成 KQL,创建新的事件监听 topic,将对于事件消息分发至该 topic,同时创建 consumer,消费处理具体事件消息。
图 5 事件处理流程
运营人员可对用户行为进行收集,通过规则设置平台设置用户行为参数阀值,并触发相应的业务流程。与此同时,后台可对用户行为数据进行分析与统计。
目前支持场景为:
该引擎其主要功能是同用户进行基本沟通,并自动回复用户有关来康产品与服务的问题,以达到降低企业客服运营成本、提升用户体验的目的。同市场上同类在线聊天机器人相比,本系统具有更加清晰明确的业务指向,围绕健康领域,提供丰富多样的功能。
通过配置的方式,支持在线智能客服相关功能快速上线;同时集成规则引擎和事件引擎,为用户提供更加个性化的客服服务;如根据用户健康档案,获取其健康画像,根据规则引擎生成更个性化的问候或是健康提醒。
图 6 智能导航引擎处理逻辑
如图 6 所示,用户语音或者文字输入,会通过自然语言理解模块获取用户意图,通过判断用户因素分解,收集因素属性,然后根据配置意图,调用对应服务模块,给予用户对应的服务响应。
通过问答模板引擎,可以动态配置问题模板,将那些用户意图不明显,或是收集的参数不足时,可以通过问答模板,把未收集齐的参数问题发送给用户,在收集齐后再请求后台,获取对应内容。
如用户说:我要看天气预报。那么我们知道了“天气预报”这个用户意图,但不知道用户是要那个地方的天气预报。那么这个时候,问答模板会问:请问您想知道本地的天气预报嘛?如果用户回答是,那就根据本地定位获取当地天气信息;如用户回答:不是,我想看北京的,NLP 引擎就会提取出“北京“这个属性,然后调取天气预报接口,获取北京的天气预报返回给用户。
图 7 管理后台界面
管理后台界面则是用于管理平台各组件的用户界面,通过向导模式等手段,便于用户自行配置相关规则和事件;从而满足业务灵活变动的需要。
图 8 用户主动关怀场景
在健康管理这个领域,针对用户的具体数据变化,给予相对应的健康建议。尤其是在数据出现异常时给予及时准确的健康提醒,愈加显得重要。
在传统的应用当中,通常需要将这些业务逻辑由程序员固化在应用代码之中,开发时间长, 可维护性和灵活性相当低,所产生的效果极为有限,仅能满足很少一部分个性化要求。
因此,将业务规则与应用相剥离,形成独立的业务规则,然后将其配置到规则引擎当中,由事件引擎监听用户数据变化,触发对应业务规则,获取与之对应的业务响应。
如用户地理位置发生变化,从常住地上海到北京,那么推送的当地的天气信息结合用户自身健康状况,从知识图谱中获取其应当注意的健康建议,再推送给用户。如此一来,比纯粹的天寒请加衣这种普通的关怀信息,显得更加个性化。
与此同时,通过用户日常行为分析,结合用户画像,亦可以通过匹配该用户喜好,健康特征,推荐养生服务,资讯,商品等信息,促进平台相关业务的用户触达率,进而提升平台销售能力。
通过用户行为收集,使用消息驱动模式,事件引擎作为触发器,规则引擎配置业务规则,可以灵活的部署和应对市场变化,动态添加对应事件响应规则。
亦能快速部署新业务规则上线,后端服务也可以灵活切换;在日益要求快速响应用户需求的现在,灵活部署应用就显得尤为迫切。
规则引擎还通过集成用户信息等相关数据源,使得事件发生时,不必获取全部用户信息,而是由规则引擎配置规则时,配置规则对应所需数据,事件引擎只需要传递用户 ID、事件 ID 和事件值就可以触发对应规则,而无需由调用方获取,有效降低前端交互数据量。
图 9 健康物联场景
来康平台自研了智能健康镜,脉诊仪,智能尿检仪等健康检查设备之外,还引入了第三方穿戴设备。这些设备通过数据网关将用户健康数据统一归集,转换和标准化之后存入 PHR,同时根据规则分发至事件引擎,与此同时也与第三方穿戴设备平台的数据集成,实现了物联设备的数据统一入口。
在此基础上,数据分发功能可以实现多渠道数据分发,通过配置数据来源,分发规则,将指定数据分发至相关需求 API,满足个性化业务需求。
对于实时数据监测和健康预警需求来讲,通过数据网关的消息分发,事件引擎结合规则引擎实现了更精细化更个性化的业务触发,从而实现千人千面的用户反馈。
通过对智能穿戴设备数据的实时监控亦可以在老人等需要间接看护的人群健康数据发生异常时,予以及时的救治,如长时间停留不动,血压、心率等数据异常时,及时通知社区医院医生予以关注,并通过电话及时通知其家属或者社区工作人员,及时上门检查患者身体情况。
目前,该应用已在基层社区医院得到试点,实现了对特殊病人的健康数据的实时监控,智能预警和健康档案管理。
图 10 健康物联场景
在智能客服场景下,需要指出用户可以通过智能客服功能快速获取相关信息,如根据用户位置,获取当地天气预报信息,结合用户健康档案信息给用户推送适合其健康状况的健康信息和生活提醒。
此场景下,规则引擎作为核心组件,通过用户位置信息事件触发天气预告规则,调用获取外部天气信息,而后根据天气预报数据规则,融合用户信息和健康档案数据,调用对应规则,获取个性化关怀信息后及时通知用户。用户同样也可以主动发起问询任务,评估任务等功能。
智能导航引擎可以支持命令式和提问式智能导航。
提问式是使用 NLP 技术判断用户意图,从而可以使得用户可以通过语音和文字形式快速访问来康平台相关功能。通过问答模板的配置,采用多轮对话方式,收集完整相关上下文信息后,获取对应服务内容。如用户需要购买火车票,则可以输入购买火车票。
NLP 引擎判断意图为购买,领域是火车票,但购买火车票需要提供时间,起始站点等信息。通过配置对应问答模板,则智能导航引擎会提问:请输入出行时间,起始站点信息。
如用户输入信息不完整,问答模板则判断缺失信息,再将缺失信息对应问题输出,要求用户输入。
命令式则是配置对应客服命令,如打开健康档案,NLP 引擎意图判断是打开,对象是健康档案,那么就获取对应功能地址,自动获取用户信息并加载对应页面。