阿里人工智能交流互动 阿里巴巴智能对话交互
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
来源:人工智能头条
作者 :孙健,李永彬,陈海青,邱明辉
概要:过去 20 多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,「连接」这个词再合适不过。
过去 20 多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,「连接」这个词再合适不过。这个时代主要建立了四种连接:第一,人和商品的连接;第二,人和人的连接;第三,人和信息的连接;第四,人和设备的连接。
「连接」本身不是目的,它只是为「交互」建立了通道。在人机交互(Human-Computer Interaction)中,人通过输入设备给机器输入相关信号,这些信号包括语音、文本、图像、触控等中的一种模态或多种模态,机器通过输出或显示设备给人提供相关反馈信号。「连接」为「交互」双方架起了桥梁。
「交互」的演进方向是更加自然、高效、友好和智能。对人来说,采用自然语言与机器进行智能对话交互是最自然的交互方式之一,但这条路上充满了各种挑战。?
如何让机器理解人类复杂的自然语言?如何对用户的提问给出精准的答案而不是一堆候选?如何更加友好地与用户闲聊而不是答非所问?如何管理复杂的多轮对话状态和对话上下文?
在阿里巴巴,我们从 2014 年初开始对智能对话交互进行探索和实践创新,研发成果逐步大规模应用在了智能客服(针对阿里巴巴生态内部企业的阿里小蜜、针对阿里零售平台上的千万商家的店小蜜,以及针对阿里之外企业及政府的云小蜜等)和各种设备(如 YunOS 手机、天猫魔盒、互联网汽车等)上。
智能对话交互框架
典型的智能对话交互框架如图 1 所示。其中,语音识别模块和文本转语音模块为可选模块,比如在某些场景下用户用文本输入,系统也用文本回复。自然语言理解和对话管理是其中的核心模块,广义的自然语言理解模块包括对任务类、问答类和闲聊类用户输入的理解,但在深度学习兴起后,大量端到端(End-to-End)的方法涌现出来,问答和聊天的很多模型都是端到端训练和部署的,所以本文中的自然语言理解狭义的单指任务类用户输入的语义理解。在图 2 所示的智能对话交互核心功能模块中,自然语言理解和对话管理之外,智能问答用来完成问答类任务,智能聊天用来完成闲聊类任务。在对外输出层,我们提供了 SaaS 平台、PaaS 平台和 Bot Framework 三种方式,其中 Bot Framework 为用户提供了定制智能助理的平台。
图1 智能对话交互框架
智能对话交互核心技术
智能对话交互中的核心功能模块如图 2 所示,本部分详细介绍智能对话交互中除输出层外的自然语言理解、智能问答、智能聊天和对话管理四个核心模块。
图2 智能对话交互中的核心功能模块
自然语言理解是人工智能的 AI-Hard 问题 [1],也是目前智能对话交互的核心难题。机器要理解自然语言,主要面临语言的多样性、语言的多义性、语言的表达错误、语言的知识依赖和语言的上下文(示例见表 1)的五个挑战。
表 1 上下文示例?
整个自然语言理解围绕着如何解决以上难点问题展开。
自然语言理解语义表示
自然语言理解的语义表示主要有分布语义表示 (Distributional semantics)、框架语义表示 (Frame semantics) 和模型论语义表示 (Model-theoretic semantics) 三种方式 [2]。
在智能对话交互中,自然语言理解一般采用的是 frame semantics 表示的一种变形,即采用领域(domain)、意图(intent)和属性槽(slots)来表示语义结果,如图 3 所示。
图3 domain ongology 示意图
在定义了上述的 domain ontology 结构后,整个算法流程如图 4 所示。
图4 自然语言理解流程简图
意图分类
意图分类是一种文本分类,主要分为基于规则的方法、基于传统机器学习的方法和基于深度学习的方法,如 CNN[3]、LSTM[4]、RCNN[5]、C-LSTM[6] 及 FastText[7] 等。针对 CNN、LSTM、RCNN、C-LSTM 四种典型的模型框架,我们在 14 个领域的数据集上进行训练,在 4 万左右规模的测试集上进行测试,采用 Micro F1 作为度量指标(注:此处的训练和测试中,神经网络的输入只包含 word embedding,没有融合符号表示),结果如图 5 所示,其中 Yoon Kim 在 2014 年提出的基于 CNN[3] 的分类算法效果最好。
图5 四种模型的分类效果对比
单纯以 word vector 为输入的 CNN 分类效果,在某些领域上无法超越复杂特征工程的 SVM 分类器。如何进一步提升深度学习的效果,其中一个探索方向就是试图把分布式表示和符号表示进行融合。比如对于「刘德华的忘情水」这句话,通过知识库可以标注刘德华为 singer、忘情水为 song,期望能把 singer 和 song 这样的符号表示融入到网络中去。具体融合方法,既可以把符号标签进行 embedding,然后把 embedding 后的 vector 拼接到 word vector 后进行分类,也可以直接用 multihot 的方式拼接到 word vector 后面。分布式表示和符号表示融合后的 CNN 结构如图 6 所示。
图6 分布式表示和符号表示融合后的 CNN 分类网络结构
经过融合后,在 14 个领域约 4 万条测试数据集上,对比融合前后的 F1 值(如图 7 所示),从中可以看出,像餐厅、酒店、音乐等命名实体多且命名形式自由的领域,效果提升非常明显。
图7 在 CNN 中分布式表示融合符号表示前后效果对比
在以词为输入单位的 CNN 中,经常会遇到 OOV(【【微信】】)问题,一般情况下会使用一个特殊向量(比如固定的随机向量或者已知词向量的平均值)来表示所有的 OOV,这样做的效果肯定不够好。在我们的实现中,引入了 FastText[8] 来训练 word vector,对于 OOV,可以用其 【【微信】】 向量计算得到,有效地解决了 OOV 的问题。
在 效 果 优 化 方 面,除了本文中所述的 word vector 的动态训练和 dropout 之外,通过对训练数据进行数据增强(data augmentation),效果会有较大的提升。
属性抽取
属性抽取问题可以抽象为一个序列标注问题,可以以字为单位进行序列标注,也可以以词为单位进行序列标注,如图 8 所示为以词为单位进行序列标注的示例。在这个例子中包含 departure、destination 和 time 三个待标注标签;B 表示一个待标注标签的起始词;I 表示一个待标注标签的非起始词,O 表示非待标注标签词。
图8 序列标注示例
属性抽取的方法,包括基于规则的方法和基于传统统计模型的方法,经典的如 CRF[9],以及基于深度学习模型的方法。
2014 年,在 ARTIS 数据集上,RNN[10] 模型的效果超过了 CRF。此后,R-CRF [11]、LSTM[12]、Bi-RNN[13]、 Bi-LSTM-CRF[14] 等各种模型陆续出来。
在属性抽取这个任务中,我们采用了如图 9 的网络结构,该结构具有以下优点。
图9 属性抽取网络结构
输入层?
在输入层,我们做了三部分工作:① 采用了分布式表示(word vector)和符号表示(【【微信】】)融合的方式,有效利用了分布式的上下文学习能力和符号的抽象知识表示能力;② 采用了局部上下文窗口(localcontext window),将窗口内的词的表示拼接在一起送入一个非线性映射层,非线性映射具有特征学习和特征降维的作用;③ 采用了 FastText [8] 进行 word embedding 的学习,可以有效解决 OOV 的问题。
Bi-LSTM 层?
在中间的隐藏层,采用 Bi-LSTM 进行特征学习,既能捕捉上文特征,也能捕捉下文特征。
输出层?
在输出层有几种典型的做法,比如 Bi-LSTM+Softmax、Bi-LSTM+CRF 等,Bi-LSTM+Softmax 是把属性抽取在输出层当成了一个分类问题,得到的标注结果是局部最优,Bi-LSTM+CRF 在输出层会综合句子层面的信息得到全局最优结果。
意图排序?
在表1 中,我们展示了一个例子,如果不看上下文,无法确定「后天呢」的意图。为了解决这个问题,在系统中我们设计了意图排序模块,其流程如图 10 所示。对于用户输入的 utterance,一方面先利用分类抽取模型去判定意图并做抽取;另一方面,直接继承上文的意图,然后根据这个意图做属性抽取。这两个结果通过特征抽取后一起送入一个 LR 分类器,以判定当前 utterance 是应该继承上文的意图,还是遵循分类器分类的意图。如果是继承上文意图,那么可以把这个意图及其属性抽取结果作为最终结果输出;如果是遵循分类器分类的结果,那么可以把各个结果按照分类器分类的置信度排序输出。
图10 基于上下文的意图延续判定
在具体的业务场景中有三种典型的问答任务,一是用户提供 【【微信】】,一问一答;二是建立结构化的知识图谱,进行基于知识图谱的问答;三是针对非结构化的文本,进行基于阅读理解的问答。本文重点介绍我们在阅读理解方面做的工作,比如利用阅读理解解决淘宝活动规则的问答。
在阅读理解的方法上,目前针对斯坦福大学的数据集 SquAD,有大量优秀的方法不断涌现,比如 match-LSTM[15]、BiDAF[16]、DCN[17]、 FastQA[18] 等。文献 [18] 给出了目前的通用框架,如图 11 所示,主要分为 4 层:① Word Embedder,对问题和文档中的词进行 embedding;② Encoder,对问题和文档进行编码,一般采用 RNN/LSTM/BiLSTM; ③ Interaction Layer(交互层),在问题和文档之间逐词进行交互,这是目前研究的热点,主流方法是采用注意力机制(attention);④ Answer Laye 点击“技术领导力”关注?每天早上8:30推送 作者|?Mr.K 编辑| Emma 来源|?技术领导力(ID:jishulingdaoli) 本文整理自,阿里高级技术专家 王晶昱,在技术大会上的分享的《淘宝技术发展历程和架构经验》。 淘宝的整个发展过程,技术架构演进历程,以及演进过程中的思考,对我们是有借鉴意义的,尤其是正处在快速发展期的系统。架构如何演进、如何更好的对业务支撑、如何设计数据存储方案等等。以下是正文: 01 淘宝前期的技术架构 淘宝早期,上百人维护一个核心工程,会造成代码冲突问题特别严重,项目团队之间协同代价高。人员更新速度比较快,代码交接比较困难,源代码膨胀很快。 这个阶段在使用JBoss服务器、Spring框架、OR-Mapping框架等,也开始用到一些cache、分布式文件系统。 (本文图片来源@阿里中间件团队) 02 淘宝前期技术发展的问题 主要有三个问题: 1.业务支持缓慢,所有东西交叉盘绕在一起。 2.数据孤岛。数据库总是被不明来源的SQL查挂,同类数据格式不统一,无法形成合力。 3.数据库能力达到上限。无法支撑海量数据,及巨量读写请求。 数据库CPU90%以上,每年down机最少一次,连接数不够用。 维护人员多,团队职责不清,数据无法共享,团队各自为战。 小型机数据库压力过大连接数,单点系统风险很高。 03 淘宝3.0架构应运而生 淘宝3.0架构的特性: 服务化(SOA)?。系统专业化分工,减少学习成本。拆分出了第一个业务服务中心:用户中心 (UIC),在2008年初上线,标志着淘宝分布式架构的一个里程碑。接着,千岛湖项目上线,包括交易中心(TC) ,类目属性中心(Forest)。以及五彩石项目,包含:店铺中心(SC) ,商品中心(IC) ,评价中心 (RC)。 组织结构支持。在组织架构上也随之改变,按职能拆分成:服务中心团队、中间件团队、垂直产品团队,分式上更加精细化。 数据库拆分。可按需扩容、尽可能对业务透明、用代理模型减少连接数,选择恰当的切分维度。按业务场景的需要进行拆分,比如:订单表按用户维度、时间维度进行表拆分,数据异构等等,都是在这个时期开始做的。 04 淘宝3.0技术架构全景图 淘宝3.0技术架构,从用户场景来看,用户发起一个请求,透过CDN层,到达Web应用层,在IDC内部这些请求,通过EDAS分发到各个业务服务中心,如商品中心、用户中心等等。这些应用会访问OCS缓存服务、OSS文件存储服务。 通过数据库访问层,SQL查询被路由到各分库、分表当中,部分查询调用搜索引擎【【淘密令】】。 这个技术架构,支撑着天猫、淘宝、国际、聚划算等事业群,以及他们下面的具体业务线,如高德、阿里健康、钉钉等。 05 淘宝服务化系统的演进 淘宝服务化系统的演进,包括: 服务化架构。把应用打散拆分,能力和业务内聚形成统一服务能力单元。 自动化、高可靠。任何节点、链路夹在昂,能够自动检测,优化确保高可用。 去中心化,线性扩展。服务能力,随着资源增加微服务级线性性能和扩容。 数据化运营。服务运行实时监控,数据积累可视化,提供系统优化基础。 异步化,最终一致性。高性能消息服务框架、系统应用尽量无状态化,确保最终一致性。 使用成熟组件。使用在生产环境中证明过的可靠成熟组件,用户量翻倍,系统复杂度也会翻倍。 06 淘宝服务化架构 服务化特征。系统由服务单元组成,服务能力开放,数据共享,团队垂直化。 ?优势。业务支撑更敏捷,利于数据分析与挖掘,无数据孤岛,技术引领无限可能 07 系统架构去中心化,线性扩展 特征:整个系统无单点,系统中所有角色可单独扩缩,故障影响小。 优势:应用更稳定、扩展性好。 08 异步化,最终一致 流程异步化,去锁,并行,最终一致。 降低延迟,提升用户体验;系统解耦合,提升开发效率;部分替代分布式事务功能。 09 使用成熟基础组件 选择用户广泛的产品,选择经过4~6年左右的稳定期的软件,规避销售主导的软件产品。 保证项目按期支付,保证项目上线后的系统稳定,出现问题以后有充分的掌控力 10 运维工作自动化 运维自动化,水平扩展自动化,部署自动化,故障处理自动化。云计算的基本属性,人不能随着机器增加而增加。 11 数据化技术运营 具有亿级数据的分钟级计算能力、 成熟的数据化运维/运营工具 、 技术、管理、运营有数据化运 营的方法论和意识的特征。具有 改善可量化,更科学、1分钟内故障确切定位位置、 “不能比我们的客户更晚知道 我们不可服务“的优势。 12 阿里关键技术组件介绍 主要包括:企业级分布式应用服务(EDAS),阿里分布式数据库服务(DRDS),阿里分布消息服务(ONS)。 企业级分布式应用服务(EDAS),包括对各个服务化组件,进行链路监控治理,服务调用是否健康,故障自恢复等。 分布式数据库(DRDS),可无限线性扩容的分布式数据库,最大节点数超过500台机器,容量、吞吐 线性增长。 可运维的分布式数据库,分布式DDL语句支持,平滑流畅的控制台体验,各类MySQL 图形工具兼容。 兼容复杂MySQL语法的分布式数据库,分布式跨机Join,跨机分页聚合,多机嵌套查询,MySQL函数兼容性支持 ,在多个政务类场景中应用广泛。 分布式消息通知系统(ONS),通过消息将业务系统解耦,持久化消息,100%可靠;支持集群订阅;支持事务消息。 12 本文小结 一、淘宝前期技术发展的三个问题: 业务支持缓慢,所有东西交叉盘绕在一起。 数据孤岛。数据库总是被不明来源的SQL查挂,同类数据格式不统一,无法形成合力。 数据库能力达到上限。无法支撑海量数据,及巨量读写请求。 二、淘宝3.0架构的特性:服务化(SOA) 、组织结构支持、数据库拆分。 三、淘宝服务化系统的演进,包括: 服务化架构。把应用打散拆分,能力和业务内聚形成统一服务能力单元。 自动化、高可靠。任何节点、链路夹在昂,能够自动检测,优化确保高可用。 去中心化,线性扩展。服务能力,随着资源增加微服务级线性性能和扩容。 数据化运营。服务运行实时监控,数据积累可视化,提供系统优化基础。 异步化,最终一致性。高性能消息服务框架、系统应用尽量无状态化,确保最终一致性。 使用成熟组件。使用在生产环境中证明过的可靠成熟组件,用户量翻倍,系统复杂度也会翻倍。 如果觉得本文对您有帮助,请点在看、分享朋友圈,感谢您的支持! ?-END-? 关注“技术领导力”公众号 用故事讲技术,有趣,有料! 想加入社区,跟100位互联网大咖学习? 请在公众号中回复:“加群” 大家在看: 1.迷信中台是一种病,得治 2.微信架构总监:10亿日活场景下的微服务架构 3.雷军、张小龙:为何高手的努力深入而轻松 4.阿里VP李飞飞:下一代云原生数据库技术 5.马化腾和张一鸣的灰度思维是什么? 6.我是如何在独角兽公司做业务中台、数据中台? 喜欢就点在看!阿里淘宝的经营架构 阿里淘宝转型升级
阿里巴巴在淘宝是怎么盈利的,淘宝在阿里巴巴的地位,阿里发展淘宝的目的意义,淘宝的发展史了解阿里的发展
..天猫互助群500人最新2023,天猫互助群500人最新2023,天猫 618 互点微信群,大家在天猫618 狂欢盛典互帮群微信号里互相交流、分享资讯和玩游戏,非常热闹。加入我们,一起享受这个群的乐趣吧!