分站入口:抖音快手短视频解析 | 领取购物优惠券
百度360必应搜狗本站头条热榜
当前位置:网站首页 > 抖音AI > 正文

百度ai聊天机器人(百度ai聊天机器人怎么不见了)

DouJia 2025-02-24 10:30 177 浏览

  想掌握对话沟通,语境为王。

  我们将使用Tensorflow构建一个聊天机器人框架,向大家示范如何实现上下文的语境处理。

  

  有没有想过为什么大多数聊天机器人缺乏会话语境百度ai聊天机器人

  我们将创建一个聊天机器人框架,为一个小岛上的轻便摩托车租赁店建立一个对话模型。这家小店的聊天机器人需要处理营业时间,预订选项等简单问答。我们也希望它能处理客户根据上下文提出的问题,例如关于同一天租金的查询。体验能做好的话,可以让客户的假期留下美好回忆百度ai聊天机器人

  这将通过三个步骤实现:

  将对话意图的定义转换为Tensorflow模型

  接下来,构建一个聊天机器人框架来处理响应

  将基础的上下文语料,整合进响应处理过程

  我们将使用tflearn,一个基于tensorflow的Python包。 一般用iPython notbook作为辅助工具

  把会话意图的定义,转化为 TensorFlow 模型

  第一步,完整的notebook脚本可以在这里(https://github.com/ugik/notebooks/blob/master/Tensorflow%20chat-bot%20model.ipynb))找到。

  聊天机器人框架框架需要一个能定义会话意图的架构。有一个简洁的实现方式,是使用JSON文件(https://github.com/ugik/notebooks/blob/master/intents.json)。

  每个会话意图包含:

  一个标签(唯一的命名)

  模式组(用于神经网络文本分类器的句子模式)

  响应组

  稍后我们将添加一些基本的上下文元素。首先是导入的包:

  

  如果是新手,看看“7行代码搞定深度学习”(https://chatbotslife.com/deep-learning-in-7-lines-of-code-7879a8ef8cfb)。

  

  加载 JSON 会话意图文件(https://github.com/ugik/notebooks/blob/master/intents.json)后,现在可以开始设计我们的文件、词语和分类器的类。

  

  我们创建了文件(句子)列表,每个句子是一个由词干组成的列表,每个文件关联一个意图(一个类对象)。

  

  词干"tak"将匹配“take”,“taking”,“takers”等。我们可以清理词语列表,删除无用的词目。但现在这样处理就够了。

  麻烦的是,这个数据结构不能用到Tensorflow,需要进一步转换:从由词语组成的文本转换成由数值型变量组成的张量。

  

  注意我们的数据是被打乱了的。Tensorflow将取出其中一些数据,并将其用作测试数据,以衡量新拟合模型的精度。

  如果我们看一个单一的x和y列表元素,我们会得到词袋数组,一个用于意图模式,另一个用于意图类。

  

  现在可以准备建模了。

  

  同样的张量结构,也用在了 'toy’ 例子里的2层神经网络上,观察理解这个模型拟合训练数据的过程,会一直有用。

  

  要完成这一部分的工作,我们将保存('pickle')模型和文档,以便下一个notbook脚本可以调用。

  搭建聊天机器人框架

  第二步的完整notebook脚本看这里(https://github.com/ugik/notebooks/blob/master/Tensorflow%20chat-bot%20response.ipynb)。

  我们将构建一个简单的状态机来处理响应,使用我们(从上一步)的意图模型作为分类器。这就是聊天机器人的工作原理。

  语境聊天机器人框架,是带状态机的分类器。

  导入相同的库之后,我们 unpickle 模型和文件,并重新加载意图文件。注意,聊天框架与我们构建的模型是分开的。除非意图模式改变,否则不需要重建模型。由于有数百种意图和数千种模式,模型可能需要几分钟的时间才能建立。

  

  接下来,我们将加载保存的Tensorflow(tflearn框架)模型。需要注意的是,首先需要定义Tensorflow模型需要的数据结构,就像上一节所述。

  

  在处理意图之前,我们要想办法把用户输入生成词袋。这个技巧与我们以前使用过的训练文本相同。

  

  

  现在可以建立响应处理器了。

  

  每个传递给response方法的句子都被分类。分类器使用model.predict()并且非常快。模型返回的概率向量与我们的意图按顺序一一对应,生成潜在响应列表。

  如果一个或多个分类结果高于阈值,就可以判断一个标签是否与意图匹配,然后处理。我们将分类列表作为一个堆栈,并删除栈顶来寻找合适的匹配意图,直到找到一个或者栈为空。

  我们来看一个分类示例,返回值中最有可能的标签及其概率。

  雷锋网提醒,“你的店今天营业吗?”不是这个意图的模式之一:“模式”: [“今天营业吗?”, “今天什么时候开业?”, “今天的营业时间?”] ;而不管对应项“营业”和“今天” 多么适合模型(它们在选择的意图中是突出的)。

  我们现在可以从用户输入中生成聊天机器人的响应。

  以及上下文无关的其百度ai聊天机器人他响应..

  

  让我们利用一些基本的上下文,实现我们聊天机器人的拖欠租赁谈话模型。

  

  语境化

  我们想要处理一个关于租赁摩托车的问题,并咨询租金是否今天到期。是非问题是一个简单的语境响应。如果用户回答“今天” ,上下文是租赁的时间范围,那么最好调取租赁公司编号1-800的问答响应。不占用时间。

  为了实现这一点,我们将把“状态”的概念加入我们的框架。这包括用来维护状态的一个数据结构,和在处理意图时用来操作这个数据结构的特定代码。

  因为我们的状态机的状态需要容易维护,恢复和复制等等,所以很重要的是要把它全部保存在像字典这样的数据结构中。

  这是基本语境的处理过程:

  

  我们的上下文状态是一个字典数据结构,它将包含每个用户的状态。我们将为每个用户使用一些唯一的标识(例如,元胞数)。这使得我们的框架和状态机可以同时维护多个用户的状态。

  

  在意图处理流程中添加了上下文处理流程,如下所示:

  

  如果一个意图想设值相应的上下文,则可以这样做:

  

  如果其他意图想要与上下文相关联,则可以这样做:

百度ai聊天机器人(百度ai聊天机器人怎么不见了)

  

  以这种方式,如果用户刚刚输入“today”而与蓝色没有关联(无上下文信息),则我们的“today”意图将不被处理。如果他们输入“today” 作为对我们的Y/N问题(意图标签:“rental”)的回应,则意图被处理。

  

  上下文状态更新了。

  

  我们定义了“greeting”意图来简化上下文,就像通常的短对话一样。添加一个“show_details”参数来帮助我们理解其中的含义。

  

  再试试输入“today”,这里有一些值得注意的...

  

  首先,我们对无上下文相关的“today”的回应是不同的。我们的分类产生了2个合适的意图,而“opentoday”被选中,因为“今天”的意图虽然较高的概率,而被限制在不再适用的上下文中。语境很有用!

  

  有一些事情需要考虑了,那就是下面的语境化...

  带状态的状态模型

  没错,你的聊天机器人将不再像无状态的服务端那么轻松愉快了。

  除非要重置状态,重新加载模型和文档 - 每次调用您的聊天机器人框架时,那你都需要引入"状态"概念。

百度ai聊天机器人(百度ai聊天机器人怎么不见了)

  这个不难。可以在其进程中运行一个有状态的聊天框架,并使用RPC(远程过程调用)或RMI(远程方法调用)来调用,我推荐Pyro。

  

  用户界面(客户端)通常是无状态的,例如。HTTP或SMS。

  聊天机器人的客户端将调用Pyro函数,有状态服务来处理。看,惊不惊喜,意不意外!

  这是一个构建Twilio SMS聊天机器人客户端的逐步指南,这里是FB Messenger的一个实现。

  别把状态存到本地变量

  所有状态信息都必须放在像字典一样的数据结构中,容易地持久化,重载或以原子复制。

  每个用户的会话将生成上下文,这将为带有该用户状态的上下文。用户ID可以用他们的元胞数,Facebook用户ID或着其他唯一标识符。

  有些情况需要(按值)复制用户的会话状态,然后作为意图过程来恢复。如果状态机在框架内带有状态相关的变量,那么在实际中难以有效的。

  所以现在你有一个聊天机器人框架,一个有状态服务的方案,以及可以添加上下文的demo。以后大多数聊天机器人框架都将无缝地衔接上下文。

  想想意图影响和反应不同上下文(语境)设定的创意方式。用户的上下文字典可以包含各种各样的会话上下文。

  来一起愉快地玩耍起来!

  文章来源:AI科技评论

  《人工智能前沿系列之基于Tensorflow的案例实践》主要是使用Tensorflow手把手实现一些真实的应用案例,其中包括对相关应用主题的论文进行分享讲解,力求让参加本课程的同学可以对深度学习从理论到应用进行跨越,提高真实的开发能力。

相关推荐

探索97ai图片:未来的视觉革命,97px

在这个数字化迅速发展的时代,图片和图像不仅仅是视觉艺术的展现,它们还成为了信息传递和情感表达的重要媒介。然而,随着人工智能(AI)技术的不断进步,一种名为97ai的图片技术正在悄然兴起,预示着一场视觉...

探索48AI.COM:未来科技的新前沿,

在这个信息爆炸的时代,人工智能(AI)已经成为推动科技发展的新引擎。48AI.COM作为这一领域的新兴参与者,正吸引着全球的目光。它不仅仅是一个网站,更是一个承载着创新、智能与无限可能的平台。本文将深...

探索97ai:未来智能技术的新篇章,八戒在线观看免费观看第二集

在科技飞速发展的今天,人工智能(AI)已经成为推动社会进步的重要力量。随着AI技术的不断成熟和应用领域的不断拓宽,我们即将迎来一个由智能技术引领的新时代。本文将深入探讨“97ai”这一概念,并分析其对...

由于我无法访问外部网站和链接,包括[www.78ai.com],我将无法直接撰写关于该特定主题的文章。但是,我可以为你创建一个示例性的文章模板,你可以根据实际主题填充内容。以下是一个假设性的文章,你可以根据需要替换其中的信息:,

由于我无法访问外部网站和链接,包括[www.78ai.com],我将无法直接撰写关于该特定主题的文章。但是,我可以为你创建一个示例性的文章模板,你可以根据实际主题填充内容。以下是一个假设性的文章,你可...

探索DOTA6.59AI:AI的进化与玩家的挑战,

在电子竞技的世界里,DOTA(DefenseoftheAncients)一直是一个备受瞩目的名字。自从它的诞生,这款基于魔兽争霸III:冰封王座的自定义地图,就以它复杂的战略和团队协作要求吸引了...

如何打开CDR文件:解决AI文件打开难题,cdr可以打开ai

在数字设计的世界里,设计师们经常需要处理各种格式的文件。CDR和AI文件是矢量图形设计中常见的文件格式,分别代表CorelDRAW的原生格式和AdobeIllustrator的原生格式。尽管它们在设...

探索Dota6.48AI:游戏人工智能的新纪元,

电子竞技游戏《Dota2》的前身,DotaAllstars,长期以来一直是全球玩家和开发者社区中一个非常受欢迎的自定义地图。在众多版本中,Dota6.48以其平衡性和创新性被广泛讨论。然而,随着...

探索Dota6.70AI地图下载:游戏策略的新篇章,dota6.83ai地图下载

自从Dota6.70AI地图版本发布以来,无数的策略游戏玩家为之疯狂。这个版本不仅仅是对原有Dota地图的更新,更是对AI(人工智能)的大幅增强。AI的改进意味着电脑控制的英雄更加智能,能够为玩家...

探索AIKago:未来交通的革命性设计,艾卡公司

随着人工智能技术的飞速发展,我们已经进入了一个前所未有的时代,其中交通工具的创新尤其引人注目。AIKago,这一概念在智能交通领域中脱颖而出,它不仅是一种新型的交通工具,更是一种对未来城市移动方式的...

人工智能时代:打造未来电影的奇幻旅程,

随着科技的飞速发展,人工智能(AI)已不再是科幻小说中的概念,而是逐步渗透到我们生活的方方面面。电影产业,作为创意和科技的交汇点,正经历着一场由AI引领的革命。AI电影的诞生不仅预示着电影制作方式的变...

蓝宝石AI:科技新星的崛起,蓝宝石aigs证书解读

在这个信息爆炸的时代,人工智能(AI)已经成为了推动科技进步的重要力量。而在这其中,蓝宝石AI以其独特的魅力和强大的功能,正逐渐成为业界关注的焦点。本文将深入探讨蓝宝石AI的前世今生,以及它对未来的潜...

Dota6.72AI:TheEvolutionofStrategyandArtificialIntelligenceinGaming,

Sinceitsinception,Dotahasbeenattheforefrontofcompetitivegaming,captivatingmillionsofp...