人和机器用自然语言对话的时代开始了

Posted 蝈蝈俊的技术心得

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人和机器用自然语言对话的时代开始了相关的知识,希望对你有一定的参考价值。

ChatGPT是一个语言模型,而不是知识模型。

当我们觉得ChatGPT在胡说八道时,实际上是把它误认为知识模型,当认知为知识模型时,就不能出错,不能胡说八道。

事实上,GPT不可能获得完整的知识,无论技术如何发展,知识错误是必然会出现的,这是因为:

  1. 部分知识具有时效性,从GPT训练的周期来看,它的训练数据在使用时就已经过时。

  2. 由于隐私、合规等问题,GPT即使再发展和迭代,训练数据也不可能是全面的数据,它只能使用公开的数据,如果使用隐私的数据就会出现问题。

由于像ChatGPT这样的NLP大模型无法获得全部知识,我们就不能把它当成万能AI,而应该把它看成语言模型,语言模型就是可以理解自然语言,能够生成文字(对话),即它擅长做文字工作,于是对于普通用户和创业者的机会分别如下:

  1. 给普通用户的机会是生成文字(对话);
  2. 给创业者的机会:
    • 在某个行业领域,增加行业知识后的生成文字(对话);
    • 理解自然语言,然后调用某个特定插件,完成某个任务,并用自然语言输出结果;

下面介绍给创业者的这两个机会的实现思路:

增加行业知识后的对话

这个可以用“如何把自有数据接入GPT大模型? ”这篇文章里提到的两个方法:

  • 在大模型基础上微调(Fine-tuning)注入专业领域知识,不过目前OpenAI只是开放了GPT3,建议等等再看,目前不推荐。

  • 在Prompt中带入知识,这个受Token数的限制,可带入的知识有限,近一步解决方案就是使用Embedding接口,把行业知识向量化,存在本地向量数据库上,用户对话时,先查询下本地向量数据库,找出最相关的,把相关的这部分作为Prompt的知识带入。

理解自然语言

宝玉在微博中提到王建硕老师开发的补全一些ChatGPT缺失的能力机器人,就是用的这个方案。

比如我们要补充ChatGPT的报时、算复杂数学任务的能力。

我们知道ChatGPT是有能力理解用户的问题,并且有一定的逻辑能力可以基于用户的输入做出一些判断和数据提取。

所以要实现这样的机器人,首先你要定义好一些插件,比如我有两个插件,定义好名称、描述、执行程序

name: 报时
description:当用户咨询当前时间使用这个工具
run: () => 现在下午4:27分

name: 计算器
description: 当用户询问数学计算时使用这个工具,并且把用户问题转换成可执行的python数学函数代码
run: (query) => eval(query)

当用户问

“29开根号等于多少?”

我们分两次OpenAI.ChatCompletion请求。

第一次请求判断用什么扩展工具?

第一次请求OpenAI的prompt会是这样:

你要帮助用户回答问题,这里有以下工具可供你选择:

报时:当用户咨询当前时间使用这个工具
计算器:当用户询问数学计算时使用这个工具,并且把用户问题转换成标准数学公式

你需要根据用户的问题输出:
工具名称:从上面的工具中选择一个
输入:要传入工具的值

下面是一个示例:
用户的问题是:59开根号等于多少?
你的输出结果:
工具名称:计算器
输入:math.sqrt(59)

拿到OpenAI返回的结果后,调用计算器的run函数,计算出来math.sqrt(29)的结果5.385。

第二次请求带上工具产生的知识

再次请求OpenAI的API,这次的Prompt看起来像这样:

已知math.sqrt(29)是5.385,
请回复用户的问题:
“29开根号等于多少?”

ChatGPT会返回:

“29开根号等于5.385”

这样基本上就实现了一个简单的可执行子任务的AI机器人。

小结

简单总结一下:

  • 事先你需要定义一系列工具插件,每个工具包含明显的名称、描述和参数定义。

  • 当用户问到一个复杂问题时,先让ChatGPT根据用户的问题,去选择你有的最合适的工具,并且从用户的输入中提取出你这个工具可以执行的参数。

  • 然后根据ChatGPT返回的工具名称和参数去调用工具的代码去执行,得到运算结果。

  • 上面两个步骤会反复执行,直到用户的所有问题都解决了,因为用户的问题可能需要多个工具或多次执行才能得到所有结果,当然ChatGPT会帮助你做出判断。

  • 当拿到所有结果后,将结果和用户的问题再次给到ChatGPT,ChatGPT归纳整理后,将最终结果返回给用户。

总结

自从ChatGPT问世以来,人们开始在各种场景中与机器用自然语言进行对话。这一时代的开端标志着人工智能在语言理解和自然交流方面取得了重要的突破,为人类带来了前所未有的便利。在这个过程中,人与机器之间的交流逐渐变得更加智能化、高效且自然。

在这个人机交流的新时代,沟通的障碍得到了有效的消除。无论是来自不同文化背景的人们之间的交流,还是面对复杂的技术问题求助于机器,都能够通过自然语言轻松地实现。语言的难题不再是阻碍人们交流的屏障,反而成为了拉近彼此距离的桥梁。

这个语言交流新时代也带来了一定的挑战,如信息的真实性和隐私问题。为了应对这些挑战,相关企业和机构需不断加强对技术的监管和研究,以确保人们在享受便利的同时,也能够维护好个人隐私和信息安全。这也是创业者的机会。

从ChatGPT开始的人与机器用自然语言对话的时代,为人类社会的发展带来了巨大的变革。在未来,这种交流方式将继续深入人们的生活,为我们带来更多的可能性和机遇。

业界 | 让机器在对话中学习自然语言:百度提出交互式学习方法

选自baidu.research

机器之心编译

参与:黄小天、李泽南


自然语言处理一直是人工智能发展道路上面临的巨大挑战。此前,大多数研究都是让机器学习模型在大量已标记数据集上进行训练的。最近,百度研究院人员提出了一种全新的方法,研究人员让人工智能系统通过与「教师」的口语对话来学习自然语言和知识。这种类似婴儿学习语言过程的方法展现出了很大的潜力。机器之心对该文及其研究论文摘要进行了编译,原文链接见文末。


四月上旬,百度研究团队通过由虚拟教师(a virtual teacher)发出自然语言指令,成功地教会了人工智能代理(agent)在迷宫中导航(参阅:)。今天,百度研究团队又很高兴地宣布,通过与虚拟老师之间的交互,其人工智能代理成功地学会了说话。


说话,以及其他人类基本能力,在创建通用人工智能的道路上不可或缺。尽管今天与机器进行简单的交谈很常见,但是百度研究团队教机器说话的方法与传统方法大不相同。


百度的人工智能代理以一种类似于婴儿互动的方式学习说话。相反,传统方法依赖于有监督训练,使用包含大量预搜集训练集的静态语料库,难以捕捉到语言学习过程中的动态交互属性。结果,通过传统方法训练的系统主要反映了数据集中的行为,适应性和泛化能力有限。百度的人工智能代理通过交互学习说话,旨在获取语言学习与理解能力而不仅仅是捕捉到数据之中的统计模式。


当一个婴儿学习说话时,他与人产生交互,并通过模仿和反馈进行学习。婴儿最初通过模仿其会话者来产生言语行为,掌握字句生成的技巧。婴儿也会向其父母发出声音,并根据父母的纠正和鼓励调节其言语行为。


研究概述


百度研究人员提出了一种基于自然语言学习的交互式方法,其中人工智能代理通过与虚拟教师(教授者)交互、获得反馈来学习自然语言,从而学习和提高自然语言技能以达到参与对话的程度。在这里,没有带标签数据形式的监督学习来引导学习者;取而代之的是,系统必须通过不断尝试说来学习说话,而教授者会提供口头反馈(如是/否)和非口头反馈(如点头/微笑)。


下图显示了训练中几种不同形式的对话。在一开始,代理只能生成无意义的句子,它只能在纯粹对话中提升自己的技能。而到了最后,代理可以正确运用自然语言回答教授者提出的问题。



另一方面的实验进一步证明了新方法具备学习自然语言的能力。研究人员证明训练后的人工智能代理可以回答由已知知识或问题中的概念组成,但经过重组后形成的全新问题。例如,在训练中,「avocado,east」组合从未出现在问答中;而 orange 仅被描述过,从未被教授者问到过。而在测试中,代理可以回答有关在「east」的「avocado」的问题,或有关「orange」的问题,如上图所示。


百度的研究人员表示,他们会在未来进一步增加语言学习环境的复杂性,以训练出更为复杂的语言行为。另外,他们还计划探索机器学习系统的知识建模与快速学习,让人工智能代理能够与人类进行自然交互,并让它可以从物理世界中进行有效的学习。


论文:Listen, Interact and Talk: Learning to Speak via Interaction



论文链接:https://arxiv.org/abs/1705.09906


摘要:人工智能的一个长期目标是构建一种可与人类进行自然语言交互的代理。然而,目前的大部分自然语言学习的研究都依赖大量带注释标签的数据集以进行训练,这导致人工智能代理的任务变成了外部数据集的统计学抓取。由于训练数据本质上是由标注者对知识进行的静态表述,人工智能代理经过学习后的适应性和拓展性受到了限制。此外,这种训练方法与人类学习自然语言的过程非常不同,后者是一个交流的过程,通过说话和获得反馈来进行。


在本论文中,我们提出了一种交互形式的自然语言学习方法。其中,人工智能代理通过与教授者(teacher)用自然语言互相交流,从而在谈话中学习和提高语言技能。为了达成这个目标,我们构建了一个包含模仿和强化学习方法的模型,用以比较句子和教授者的反馈。我们进行了实验,证明了这种方法的有效性。


原文链接:http://research.baidu.com/learning-speak-via-interaction/


✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:editor@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com


点击阅读原文,查看机器之心官网↓↓↓

以上是关于人和机器用自然语言对话的时代开始了的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow打造聊天机器人

全球第一批25个GPT模型开始自由生活

CNCC技术论坛|自然语言生成:机器写作背后的技术

机器之心专访哈工大刘挺教授:自然语言处理迎来黄金时代

专访哈工大刘挺教授:自然语言处理迎来黄金时代

自然语言处理迎来黄金时代 | 专访哈工大刘挺教授