APP下载

基于AI智能语音交互气象服务的研究与应用

2020-12-25李俊徽

计算机技术与发展 2020年12期
关键词:气象语音天气

李 建,张 锋,陈 冲,李俊徽,王 伟

(浙江省气象服务中心,浙江 杭州 310017)

0 引 言

随着AI智能技术的发展,人机智能交互的应用也愈加广泛和深入。然而人机智能交互并非是全新的概念,第一个人机对话系统是麻省理工学院的Weizenbaum于20世纪60年代开发的Eliza[1]。Wallace交互系统通过一种纯模式匹配的方法在对话质量上与以往相比有大幅提高,它利用启发式的会话规则并嵌入AIML(artificial intelligence markup language)[2],创造出了A.L.I.C.E(artificial linguistic internet computer entity)。人机交互已有60年的发展史,从命令行操作界面到使用鼠标键盘的图形界面发展到基于触摸屏的无形界面再到语音交互,而硬件则从PC机发展到手机,随着技术革新人机交互方式和介质发生变化。无形界面指机器和系统与用户以自然的交流方式互动[3],利用人的视觉、听觉、触觉、嗅觉、味觉五个交流通道进行信息传递和交流互动。在这五个交流通道中视觉占据最主要位置,其次是听觉,而在信息传递中听觉语言的综合利用率远高于视觉符号,所以语音交互受到广泛关注。智能语音产品如天猫精灵、小爱音箱、亚马逊、谷歌等呈爆发式增长,并在智能制造、智慧医疗、智慧气象领域的应用越来越广泛,逐渐改变着人们的生活方式。

为迎合智能语音技术的发展和应用,微软、Google和百度等科技巨头智能对话领域的产品层出不穷。而对于大多数开发者而言,智能交互系统的研发却是一个很困难的工作,对技术和数据的要求都很高。在百度AI开发者大会上,百度宣布将其研究多年的自然语言理解与交互技术对外开放,这大大降低了普通开发者的研发门槛。该文正是基于百度AI的UNIT技术,结合在用户使用气象应用软件过程中收集的相关行为数据,采用了基于Hadoop的用户行为分析方法,建立基于用户行为分析的AI语音智能气象服务系统,为公众提供更便捷、内容更具针对性的个性化气象服务,实现智能交互气象服务的研发和应用,探索智慧化的气象服务。

1 建立用户行为分析系统

1.1 构建Hadoop用户行为分析架构

该文针对“智慧气象”APP、“天气罗盘”小程序、“气象安全导航”APP等浙江省气象局服务平台和出口的海量用户行为信息采集日志,搭建HDFS分布式文件系统对其进行存储,通过搭建Hadoop分布式集群环境并结合MapReduce编程框架,建立基于Hadoop的用户行为数据分析系统[4-7],对大量相关的用户行为分析资料进行分布式批处理,并对处理结果分析总结形成用户行为画像。

基于Hadoop的用户行为分析方法在架构上分4个层次来实现,分别是数据、业务逻辑、业务服务、应用层。数据层,首先利用抓包工具PF_RING抓取各服务平台的用户行为分析数据源进行分布式存储,然后调用网络安全开发包工具Libnids对数据包进行重组,指对结构化和非结构化数据库的管理;业务逻辑层,主要负责利用分布式MapReduce编程来分析用户网络行为活动,并协调数据与各功能层间的关系,包括功能逻辑、处理逻辑以及数据操作;业务服务层主要利用Hadoop集群提供相应的技术支持和服务,即MVC框架中控制层所完成的功能,包括身份认证、参数管理以及控制管理功能;应用层,主要包含用户能够具体请求和使用的实际功能,指对用户行为信息的内容、功能和交互管理。通过以上4个层次的架构设计实现从物理层到应用层的全层分析。图1为用户行为分析系统的架构。

图1 用户行为分析系统架构

1.2 用户行为分析的方法

对用户行为日志数据的采集,该文考虑基于Java技术使用Hadoop平台的Chukwa工具完成,同时开展用户行为数据的分析[8-9]。数据和数据结构化日志的转换是通过在Chukwa内部设置了2个MapReduce作业来实现,然后存储到SQLServer数据库和HDFS分布式存储系统中。用户行为日志的采集格式和实例如表1所示。

表1 日志采集格式及实例

关键字、用户ID等用户行为记录关键信息,可通过分析用户行为相关的日志获得,采用计算模型MapReduce分析用户行为的特征,并根据时间进行分段显示。为计算模型MapReduce定义好格式,通过Key对信息进行排序和分类,分析统计出同一键值的Value数据。同时为用户提供相应的提示信息增强用户体验感,引入Word2vec工具实现关键词分析来提供“热词”服务。该文首先引入了复杂度MapReduce计算模型,其基本定义为:

S=E·M·T

(1)

其中,S为模型复杂度,E为关键词的数量,M在具体模型中定义,根据模型不同确定,T为系统可设置的学习训练次数。

CBOW模型开展训练利用的是Word2vec工具,该模型相比传统的神经网络模型省略了隐含层,能够实现词语的学习训练。通过上下文来影响当前关键词出现的概率是CBOW模型的核心。在此模型中,类似于从袋子中取关键词,在取词数量足够多的情况下,取词的先后顺序是不重要的,所有上下文的关键词对目前关键词出现的概率的影响程度是相同的。CBOW模型的结构描述如图2所示。

图2 CBOW模型

CBOW模型的训练复杂度表示为:

P=V·|S|+N·V

(2)

其中,P为CBOW模型复杂度,V为发射层的维度,S为训练词典的规模,N为输入层的总长度。V·|S|是计算量,通过矩阵的形式进行计算和表示学习训练的复杂度。

通过收集用户在使用天气软件过程中留下的使用时间、所在位置、查询要素、关注的功能模块等相关信息,同时根据用户的ID信息(实名认证获取的手机号、微信、QQ号等)结合采集的用户走路步数、出行目的地等综合信息,采用CBOW模型分析用户使用天气软件的应用场景,从而获得用户的真实意图,如早锻炼、穿衣、外出旅游等。

2 语音交互气象服务系统的设计

2.1 基于AI的UNIT技术应用

UNIT(understanding and interaction technology)是百度公司开发的可定制的人机对话技术。UNIT提供了融合深度学习与启发式规则的意图理解模型,还包含NLP(natural language processing)的“口语化分析”与“query纠错”技术,可对用户的表达进行进一步分析与抽象。通过DM Kit建立对话管理与任务执行框架,可无缝对接外部知识库具有UNIT云端对话理解能力,丰富了人工智能的回复信息量,实现多状态的复杂对话流程控制。此外,UNIT还具备交互学习能力,让对话系统可以像人一样在对话中理解与学习。它可以主动向用户进行澄清询问发现系统理解模糊的问题,也可以被动等待用户发起纠正。通过正常定义对话任务,就可以得到系统内置的交互式理解能力。实验表明,UNIT技术应用模型可以让98.1%的用户对话被系统正确的理解,并具备持续学习的能力。

智能语音对话系统的开放域(open-domain)和封闭域(closed-domain)两种类型的问题[10-12]是根据应用场景的不同划分的。开放域对话系统没有限定主题或明确目标,用户和系统之间可以进行任何话题的自由对话,开发和实现难度非常大。封闭域的对话系统是面向具体任务的,具有明确的目标和限定的知识范围。基于UNIT技术的智能语音主要应用于封闭域的对话系统,按自身业务需求定制对话BOT(机器人英文缩写),可以为用户解答(如:今天会下雨吗?杭州樱花什么时候盛开?),执行用户指令(如:查一下我的快递什么时候到),甚至通过一系列交互引导用户达成某项需求(如:通过注册-选座-下单完成订票)。这种面向任务的理解与交互能力,可以满足智能助手、智能家居、智能汽车、智能客服、机器人等各类产品和场景应用。

2.2 智能交互气象服务的实现

智能交互气象服务依托浙江省气象部门的海量数据支撑,利用UNIT技术理解分析用户的语义并结合用户行为分析后获取的用户意图,为用户智能提供天气实况和预报、气象预警、出行提醒等信息[13-17],并通过百度语音识别和转换技术,实现智能语音交互服务。

图3为智能交互气象服务系统的实现逻辑图。

图3 实现逻辑

首先,用户通过语音或文字输入,将需求提交至UNIT技术功能模块,先进行语义解析,若解析失败则返回请用户重新输入,若解析成功则进行意图分析。若意图不明确或意图无法满足,均返回请用户补充或重新输入,若意图可满足则根据需求调取气象相关数据,最终生成文字和语音返回给用户。该逻辑的核心节点是意图分析,也是UNIT最关键的理解能力。在其平台上可根据实际需求进行对话BOT的技能定制和训练。

具体的操作流程如图4所示。

图4 BOT模型训练操作流程

第一步,新建一个自定义BOT;第二步,定义技能,即建立一系列的对话意图的模型。比如天气预报查询,需要知道时间、地点两个基本要素,所以需要添加时间、地点两个词槽(限定条件的词汇类型),词槽的提取已在语义解析中完成。除词槽之外,还可以添加特征词,使意图分析更加细化。结合常见天气类需求,增加一定的特征词,如表2所示。

表2 天气需求意图分析

填写完意图和词槽之后,标注训练数据,添加对话模板,配置触发规则,满足相应规则后触发数据调用或相应回复。以表2的查天气意图为例,在对话模板中,特征词“天气”是必须的,而时间、地点用户并不一定会表述和提供,一般情况下可以结合用户行为分析得到目标地点和时间。但特殊情况下当词槽缺失时,需要返回澄清话术,要求补充说明。

通过以上流程的设计,完成一个技能模型的搭建,最后进行BOT模型的训练,训练完成并生效后进行对话BOT的应用。语音交互气象服务系统以WebService后台服务的形式对接前端应用,应用端只要提供用户的ID和语音服务信息就可以建立交互关系提供服务。

3 应用情况

浙江省气象服务中心基于微信和智能手机开发平台,将天气与新闻、视频和图片等多种形式相融合,开发了微信小程序和手机APP“天气罗盘”(见图5(a))。以卡通人物“小诸葛”为入口,基于国内城市的天气实况和预报数据,利用基于AI的UNIT技术,开发智能语音互动服务,实现天气查询、常识解答及日常交互等丰富功能(见图5(b)、图5(c))。2017年12月5日“天气罗盘”微信小程序上线,用户可通过扫描二维码或微信小程序入口搜索“天气罗盘”访问。浙江省旅游局、安监局和气象局2018年7月27日联合发文,要求将二维码印制在浙江省3A级以上景区的门票和入口处,引导游客主动接收基于位置的气象灾害预警信息。“天气罗盘”APP也于2019年下半年上线。截至2019年12月14日,两款应用累计访问已超过1 853万次。

(a)“天气罗盘”首页 (b)智能交互页面一 (c)智能交互页面二

该文根据系统的框架设计和功能需求,分模块设计了用例测试检验,对2019年以来的用户对话样本数据11 G进行统计,分析其功能实现情况,如表3所示。用例数、输入、输出、描述为用例的主要选项。该文设计的语音交互和用户行为分析系统采集并存储的数据与样本数量是一致的,通过将样本数量与存储在系统中的语音交互数进行对比得到完成率。

表3 语音交互样本测试结果

4 结束语

通过构建Hadoop平台引入MapReduce计算模式,依托“智慧气象”APP、“天气罗盘”小程序、“气象安全导航”APP等浙江省气象局的服务平台和出口积累的用户行为数据,建立了基于Hadoop的用户行为数据分析方法,利用UNIT技术通过DM Kit建立对话管理与任务执行框架,结合用户行为分析实现智能语音交互气象服务系统。测试结果表明,所设计的基于AI智能语音交互气象服务能够结合用户行为分析完成气象服务的语音交互。在用户行为分析方面,由于缺乏足够的用户行为记录做分析,在语音交互的过程中未能达到100%的用户行为分析关联,而50%的行为分析关联用户中绝大部分都是关注浙江气象服务出口的忠实用户。为进一步加强应用效果,下一步可以扩大收集范围接入第三方的用户行为数据,同时不断完善BOT模型的词槽开展大量的训练,改进应用功能和服务体验。

猜你喜欢

气象语音天气
气象树
专栏:红色气象 别有洞天
天气冷了,就容易抑郁吗?
谁是天气之子
盛暑天气,觅得书中一味凉
魔力语音
基于MQ3与MP3的价廉物美的酒驾语音提醒器
数字滤波在语音信号降噪中的应用
对方正在输入……
Weather(天气)