当前位置:首页 > 文章 > 正文内容

ChatGPT的前世今生

廖万里2年前 (2023-02-24)文章116858

本文将细数聊天机器人chatbot的发展历程中的关键事件,帮助读者建立智能聊天机器人发展时间线的初步概念,文章比较长,读者可以收藏慢读。

萌芽:20世纪60年代 - 70年代

在这个时期,聊天机器人的早期原型被开发出来。其中最著名的是Eliza,它模拟了心理医生的对话过程。在这个时期,主要使用的技术框架是基于规则的语法解析。

ChatGPT的前世今生

ELIZA是一个早期的自然语言处理计算机程序,由Joseph Weizenbaum1964年至1966年期间在麻省理工学院创建。最初使用MAD-SLIP在IBM 7094上开发,旨在探索人与机器之间的交流,它使用一种模式匹配和替换的方法来模拟对话,让用户产生了一种程序理解他们所说的话的错觉,但实际上它没有真正理解任何一方所说的话。

ELIZA有五个基本的技术问题需要解决:关键词的识别、最小语境的发现、选择适当的转换、根据转换或没有关键词产生适当的响应以及提供ELIZA脚本的结束容量。为了解决这些问题,Weizenbaum使ELIZA没有内置的上下文框架或话语世界,但这需要ELIZA有一套脚本来指导它如何响应用户的输入。

ELIZA处理用户输入的过程是首先检查文本输入的关键词,将这些关键词按重要程度排序并放入一个关键词堆栈中。然后根据堆栈中排名最高的关键词,对输入的语句进行操作和转换,以产生响应。接下来,根据适当的转换规则,将输入的句子进行分解和重组,形成响应,并将响应以文本形式发送给用户。 ELIZA的操作方式取决于操作脚本,脚本是可以编辑或创建新的,以满足需要的上下文环境。ELIZA最著名的脚本是DOCTOR,它模拟罗杰斯式的心理治疗师。 ELIZA也有一些专门的功能,例如当没有关键词时,可以使用“MEMORY”结构记录以前的输入,并在遇到没有关键词的情况下使用这些输入来创建响应。

ELIZA的成功启示了许多研究者,让他们开始探索如何使用自然语言处理和人工智能技术来模拟人类的对话和思考过程。这项研究成果也催生了一系列与ELIZA相似的对话机器人,如PARRY和Jabberwacky等。这些对话机器人虽然也能够实现简单的自然语言交互,但是由于缺乏深度的理解和推理能力,很难与人类的对话水平相比。

然而,ELIZA的设计理念和技术手段在后来的自然语言处理研究中仍然发挥了重要作用。例如,基于关键词的文本生成和问答系统、对话状态跟踪和对话策略等技术都受到了ELIZA的启示。

此外,ELIZA也成为了许多文化作品的灵感源泉,如电影《Her》「链接」中的人工智能角色Samantha就受到了ELIZA的影响。

探索:1990年代 - 2000年代

在这个时期,聊天机器人的关键技术框架是基于有限状态机(FSM)和模板匹配的技术。这个时期开发的聊天机器人有Jabberwacky和Alice等。

Jabberwacky — 1986

ChatGPT的前世今生

Jabberwacky 是由英国人 Rollo Carpenter 在 1986 年开始开发的。它最初是一个具有人工智能的聊天程序,使用了一些语言处理和机器学习技术,能够模拟人类的对话。

Jabberwacky 的特点是它能够通过对话来学习和适应用户的喜好和行为,从而使其对话能力不断提高。例如,当用户询问 Jabberwacky 的兴趣爱好时,Jabberwacky 会记住用户的回答并使用这些信息来生成更有针对性的回答。

Jabberwacky的技术原理是基于人工智能技术中的自然语言处理和机器学习算法。其系统基于已有的对话库和语言模型,通过对用户输入的文本进行分析和匹配,生成相应的回复。

Jabberwacky的系统包括两个主要组成部分:前端和后端。前端包括用户界面和对话交互,后端则是包括机器学习算法和语言模型的核心技术。

在使用过程中,用户输入的文本会经过前端传递到后端处理。后端首先会将输入文本进行分词、词性标注等自然语言处理技术,以得到更具语义的表示。然后,系统会将这个表示与已有的对话库中的文本进行比较匹配,找出与之最相似的对话内容,并根据对话库中的规则生成回复。

对于对话库中没有的问题或者无法准确匹配的情况,Jabberwacky还可以通过机器学习算法自动学习用户输入和回复之间的关系,并不断地更新和完善自己的语言模型,以提高对话的质量和流畅度。

Alice — 1995

ChatGPT的前世今生

Alice(也称为AIML Bot)是一个基于AIML(Artificial Intelligence Markup Language)语言的聊天机器人。AIML是一种基于XML的标记语言,用于定义人工智能聊天机器人的对话逻辑和模式匹配规则,创建对话机器人。Alice最初由Richard Wallace于1995年开始开发,它被认为是最早的聊天机器人之一。

Alice的目标是模仿人类的自然语言,与用户进行有意义的对话。它可以回答关于天气、新闻、体育等各种话题的问题,还可以与用户进行有趣的聊天。 Alice通过使用AIML模板来生成其回复。 AIML模板是一种规则系统,它将输入文本与预先定义的模式进行匹配,并生成适当的回答。 Alice还使用了一些自然语言处理(NLP)技术,例如词性标注和词义消歧,以提高其对话的准确性和流畅性。

Alice的源代码和AIML模板是开放的,因此开发人员可以自由修改和扩展它们。 Alice已经被集成到多个应用程序中,包括在线聊天室、语音助手和智能家居系统。

Alice的技术原理主要是基于自然语言处理和机器学习技术。它的对话逻辑主要包括模式匹配和响应。模式匹配通过比较用户输入和预定义的模式来确定用户意图。响应部分则根据匹配的模式生成回答,以及在需要的时候使用机器学习算法对用户的输入进行分类和处理,以提高对话的准确性和流畅度。

Alice还使用了基于知识库的方法来增强其回答能力。它通过收集和存储各种领域的知识和信息,从而能够回答更复杂的问题。

预定义的模式(predefined patterns)是一种文本处理技术,用于从用户输入中识别出特定的语言模式并提取相关信息。在聊天机器人中,预定义的模式通常用于匹配用户提问的主题、意图或关键词,并在不需要进行复杂的自然语言处理的情况下回答问题。

预定义的模式可以采用正则表达式、关键字匹配、语言模型等方式实现。一些聊天机器人平台提供了图形化的界面,让用户可以方便地创建自己的预定义模式。

例如,用户提问“你会做什么?”时,可以使用预定义模式匹配关键字“做什么”,并返回一个相关的回答,如“我可以回答你的问题,或者进行闲聊。”预定义模式的优点是简单易用,但其局限性在于无法识别复杂的语言结构和意图。


积累:2010年代

在这个时期,深度学习技术的发展引领了智能聊天机器人的新发展。其中最著名的是微软的小冰和谷歌的神经对话模型(Neural Conversational Model,简称Seq2Seq)。这些机器人使用循环神经网络(Recurrent Neural Network,简称RNN)和长短时记忆网络(Long Short-Term Memory,简称LSTM)等技术来学习对话语境,并生成自然语言回复。

Siri — 2011

ChatGPT的前世今生

Siri是一款由苹果公司开发的智能语音助手,于2011年首次发布。它通过语音识别、自然语言处理、知识图谱等技术与用户进行交互,并为用户提供各种服务和功能。

Siri的技术架构和原理是基于自然语言理解(NLU)、自然语言生成(NLG)、对话管理和知识库的结合。

在NLU方面,Siri使用了语音识别技术将用户语音转换为文本,并使用自然语言处理(NLP)技术对用户的文本进行分析和理解。这包括识别用户的意图、识别实体(如日期、时间、地点等)以及处理语义解析和歧义消解等任务。

在NLG方面,Siri使用了模板生成和数据驱动生成等技术,根据用户意图和知识库中的信息生成自然语言响应。

在对话管理方面,Siri使用了一系列算法和模型来管理对话流程,包括对话状态跟踪、上下文识别、对话策略和对话生成等任务。这使得Siri能够根据用户的前几轮对话来推断用户的意图和需要,并生成相应的响应。

在知识库方面,Siri使用了多种信息来源,包括用户设备上的数据、第三方数据和网络搜索等,以提供更丰富的答案和服务。同时,Siri还可以学习和适应用户的偏好和行为,以提供更加个性化的服务。

Messenger Bot — 2016

ChatGPT的前世今生

Messenger Bot是Facebook Messenger平台上的聊天机器人,允许开发者创建和部署自己的聊天机器人,与Messenger上的用户进行互动。Messenger Bot基于Facebook的机器人引擎,使用自然语言处理和人工智能技术,通过文本、语音或图像与用户进行交互。

Messenger Bot可以实现许多不同的功能,例如提供用户支持、订阅最新资讯、购买商品、订阅服务、预定餐厅等。开发者可以使用Facebook提供的API和工具来构建自己的机器人,并将其集成到Messenger平台上。

Messenger Bot的优点包括:能够实现自然而易懂的对话,提供快速和个性化的服务,实现24/7无间断服务,节省人力成本等。随着Messenger平台的不断发展和更新,Messenger Bot也不断发展和改进,成为越来越受欢迎的聊天机器人平台之一。

Messenger Bot的技术架构主要分为以下几个方面:

  1. Messenger平台:Messenger是Facebook的一个即时通讯应用程序,支持语音通话、视频通话、文本和多媒体消息发送等功能,也是Messenger Bot运行的基础平台。

  2. Bot Engine:Bot Engine是Messenger Bot的核心组件之一,它是一个机器学习框架,使用自然语言处理(NLP)技术,帮助机器人理解用户的消息,识别出用户的意图,并根据用户的需求提供相应的回复。

  3. Wit.ai:Wit.ai是Facebook的一个自然语言处理平台,它提供了一个API,允许开发人员构建和训练自己的NLP模型。Messenger Bot可以使用Wit.ai API来构建自己的NLP模型,并通过Bot Engine来应用这些模型。

  4. Webhook:Webhook是Messenger Bot的另一个核心组件,它是一种HTTP回调机制,用于将Messenger Bot与其他应用程序进行集成。当用户在Messenger平台上与Messenger Bot进行交互时,Messenger会将用户的消息传递给Messenger Bot的Webhook端点,Bot会接收到这些消息并进行处理,最后将响应返回给用户。

  5. 应用程序编程接口(API):Messenger Bot还提供了一组API,用于与Messenger平台进行交互,例如发送消息、设置菜单、获取用户资料等。

其中核心模块Bot Engine技术原理:

  1. 训练数据:Bot Engine使用大量的语料库数据来训练它的自然语言处理模型,这些数据包括用户的聊天记录、问题和回答等信息。通过对这些数据的学习,Bot Engine可以识别用户的意图、提取关键信息和响应用户的请求。

  2. 自然语言理解:Bot Engine的自然语言理解(NLU)模块可以将用户输入的自然语言转化为计算机可以理解的语言,同时识别用户的意图和提取关键信息。例如,用户可以输入“请帮我预订一张从北京到上海的机票”,Bot Engine可以理解用户的意图是订购机票,并从中提取出“北京”和“上海”这两个关键信息。

  3. 决策树:Bot Engine使用决策树来根据用户输入的意图和提取的信息来做出响应。决策树是一种基于规则的算法,通过在不同的节点上执行相应的规则来进行决策。例如,当Bot Engine识别出用户的意图是预订机票并提取出了出发地和目的地信息后,它可以根据预设的规则生成相应的回复,例如“好的,您需要预订从北京到上海的机票,请提供出发时间和乘客人数”。

  4. 机器学习:Bot Engine还使用了机器学习技术来提高自然语言处理的准确性和效率。它可以通过学习用户的历史聊天记录和反馈信息来不断优化自己的模型和算法,以便更好地理解和响应用户的请求。

Google Duplex — 2018

ChatGPT的前世今生

Google Duplex是一个自然语言对话系统,其技术原理和架构包括以下几个方面:

语音识别:Google Duplex首先会通过语音识别技术将用户的语音输入转换为文本。这一过程需要使用复杂的声学模型、语言模型和机器学习算法,以尽可能准确地识别用户的语音输入。

自然语言理解:在将用户语音输入转换为文本之后,Google Duplex使用自然语言处理技术来理解用户的意图。这一过程包括对文本进行分词、词性标注、命名实体识别、依存句法分析等操作,以确定用户的意图和需要执行的任务。

对话管理:Google Duplex使用对话管理技术来维护对话的状态,管理对话流程,并决定何时需要向用户请求更多信息。这一过程需要使用机器学习算法和决策树等技术来确定对话的下一步操作。

自然语言生成:当Google Duplex需要向用户提供信息时,它会使用自然语言生成技术将计算机生成的文本转换为自然语言。这一过程需要使用文本生成模型和语言模型等技术。

语音合成:最后,Google Duplex使用语音合成技术将计算机生成的文本转换为自然语言音频输出,以向用户提供信息。

Google Duplex的架构可以分为前端和后端两部分。前端包括语音识别、自然语言理解和对话管理等组件,后端包括语音合成、文本生成和自然语言处理等组件。前端和后端之间通过Google的自有网络连接,以实现高效的通信和处理速度。


爆发:2020年代

在这个时期,基于预训练模型的技术框架成为主流。这些模型可以在大型语料库上进行训练,从而更好地理解用户意图和生成自然语言回复。这些模型包括BERT、GPT和T5等。此外,使用生成对抗网络(Generative Adversarial Network,简称GAN)的技术框架也在智能聊天机器人中得到应用。

GPT3 — 2020

ChatGPT的前世今生

GPT-3 (Generative Pre-trained Transformer 3) 是由 OpenAI 公司开发的自然语言处理模型,是目前世界上最大、最先进的预训练语言模型之一。它采用了 Transformer 模型架构,利用大量的语料库进行无监督学习,能够生成高质量的自然语言文本,具备极强的自然语言生成、问答、文本摘要、机器翻译等能力。

GPT-3 模型具有多种不同的能力和用途,可以用于生成各种类型的自然语言文本,例如电子邮件、新闻报道、论文摘要等等。此外,它还可以用于智能客服、智能助手、智能编程等领域,为人们提供更加便捷、高效的服务。

GPT-3 的架构和原理基于深度神经网络,包括了1750亿个参数,能够处理大量的语言信息,同时还具有强大的上下文感知能力和理解能力。GPT-3 通过对大量语料的学习,能够自动掌握语言规则、语义、语法等知识,从而生成更加准确、流畅、自然的文本。同时,GPT-3 还具备了一定的推理能力,能够理解上下文和语义信息,根据问题提供相应的答案,实现基于自然语言的智能对话和问答系统。

GPT-3 之所以强大,是因为它采用了基于 Transformer 的深度学习技术,并且在训练数据和模型规模上有了显著的提升。以下是 GPT-3 的技术原理:

  1. 基于 Transformer 的架构:GPT-3 使用了基于 Transformer 的神经网络结构,该结构由 Vaswani 等人在 2017 年提出。相比传统的循环神经网络(RNN)或卷积神经网络(CNN),Transformer 通过自注意力机制实现了对序列信息的并行处理和全局关联,大大提高了模型的效率和准确性。

  2. 大规模的训练数据:GPT-3 的训练数据集达到了数万亿级别,这使得模型可以从大量的真实语言数据中学习到更为复杂的语言模式和规律,从而提高了模型的表现和泛化能力。

  3. 自适应训练技术:GPT-3 在训练过程中采用了自适应学习技术,即每个样本都有不同的权重,使得模型更加关注困难和容易出错的样本,从而进一步提高了模型的准确性。

  4. 零样本学习技术:GPT-3 在零样本学习方面也取得了重要进展,即模型可以在没有特定训练数据的情况下执行任务。这得益于 GPT-3 的大规模预训练模式,使得模型在训练数据和任务特定数据之间建立了通用的语言模型和知识库。

Transformer是一种基于自注意力机制(self-attention)的神经网络结构,广泛应用于自然语言处理任务中,例如机器翻译、文本分类、文本生成等。相比于传统的RNN和CNN模型,Transformer具有并行化计算、长距离依赖建模能力强等优势。

Transformer的核心思想是自注意力机制,即在一个句子中每个词都可以依赖于其他词,并且它们的依赖关系可以根据任务进行动态调整。具体地,Transformer模型分为编码器和解码器两部分,每部分由若干个相同的模块堆叠而成。每个模块内部包含多头自注意力和前馈神经网络两个子层。

多头自注意力层可以看作是对输入句子中的所有词进行聚合编码的过程,每个词都可以通过对其他词的关注来得到一个向量表示。在这个过程中,可以对不同的注意力头进行加权融合,使得不同的注意力机制可以学习到不同的依赖关系。

前馈神经网络层则可以看作是一个非线性变换,将自注意力层输出的向量映射到一个新的高维向量空间中。这样可以更好地捕捉输入句子中的非线性特征,从而提高模型的性能。

整个Transformer模型的训练过程使用了基于自注意力机制的遮盖机制,使得每个词只能看到其前面的词,从而避免了模型在训练时看到未来信息的情况。此外,还使用了残差连接和层归一化等技术来缓解梯度消失问题和加速模型收敛。

GPT-3使用了多种方法来搜集大规模的训练数据,主要来源为:

  • 网络爬虫:GPT-3使用网络爬虫从互联网上搜集文本数据。它从数以亿计的网页中搜集数据,并使用语言处理技术来清理和标准化这些数据,以便在模型训练中使用。

  • 公共语料库:GPT-3使用公共语料库中的数据,这些语料库通常由大学、研究机构和政府机构维护。这些语料库中包含了大量的文本数据,例如新闻文章、小说、论文等。

  • 人工创建的数据集:GPT-3还使用了人工创建的数据集,例如问题-答案对、断句等。这些数据集通常由众包平台上的工人创建,然后进行审核和清理,以确保数据的质量。

  • 内部数据:GPT-3还使用了来自其它Google产品的数据,例如搜索查询、Google Translate翻译等。这些数据可以通过Google内部的API获得。

自适应训练技术在模型训练过程中,根据每个数据样本的难易程度和模型对该样本的表现来动态调整训练的策略和超参数,从而提高模型的泛化能力和性能。自适应训练技术的目标是使模型能够更好地适应不同类型和难度的数据,减少过拟合和欠拟合问题,并提高模型在未见过的数据上的预测准确率。

自适应训练技术通常包括以下两种方法:

  • Curriculum Learning(课程学习):指在训练过程中,将数据按照一定的难易程度分成不同的阶段,先训练简单的样本,逐步加入难度较高的样本。这样可以避免模型过早地陷入到局部最优解中,提高模型的泛化能力。

  • Adaptive Learning Rates(自适应学习率):指在训练过程中,动态调整每个参数的学习率,以使模型在训练初期快速收敛,在接近收敛时逐渐降低学习率,从而防止模型在训练后期过度调整,出现震荡和不稳定现象。

零样本学习(Zero-shot learning)是指在没有任何训练数据的情况下,通过利用先验知识和元学习技术来完成对未知类别的分类任务。传统的分类模型只能对其训练数据中出现过的类别进行分类,而零样本学习则能够扩展模型的应用场景,使其可以处理更多的未知类别。

零样本学习的基本思想是,通过将类别的描述信息(如属性、语义表示等)与模型进行关联,使得模型能够根据类别的描述信息来预测其对应的标签。这样一来,当模型遇到未知的类别时,只需要将该类别的描述信息输入模型,就能够得到该类别的标签。这种方法的优点是可以将模型的应用场景扩展到未知的领域,同时避免了收集大量的训练数据的成本和时间消耗。

在自然语言处理领域中,零样本学习技术已经被广泛应用于词义消歧、句子关系判断等任务中。例如,通过学习单词的语义表示和句子的语义表示,可以将模型应用于未知的单词和句子的关系判断任务中,如判断"pasta"和"spaghetti"是否属于同一类别。同时,通过学习词语的属性信息和关系,可以将模型应用于未知词汇的情感分类任务中,如判断"unicorn"的情感极性。

零样本学习技术目前仍然是一个开放的研究问题,尚有很多挑战和待解决的问题。例如如何提高模型的泛化能力、如何解决描述信息的噪声和不完整性等。


本文链接:https://www.kkkliao.cn/?id=269 转载需授权!

分享到:

添加博主微信共同交流探讨信息差网赚项目: 19528888767 , 请猛戳这里→点我添加

版权声明:本文由廖万里的博客发布,如需转载请注明出处。

“ChatGPT的前世今生” 的相关文章

蛋黄胆固醇高,还能不能吃?早上坚持吃水煮蛋,有什么好处?

蛋黄胆固醇高,还能不能吃?早上坚持吃水煮蛋,有什么好处?

说到鸡蛋,能想到很多食物,只是一颗小小的鸡蛋,却能变着花样的去进行制作,且大多还是比较简单的做法,其中一个比较简单的做法,也是大家比较常用的一个做法,就是清水煮鸡蛋。有的人早餐会吃一个水煮鸡蛋,可帮助补充营养,适当多吃鸡蛋,确实能给身体带来一些好处,同样,也是会存在一些不好的说法,让部分人群对于吃鸡...

马云即便隐退了,眼光依旧毒辣,退出前的发言值得深思

马云即便隐退了,眼光依旧毒辣,退出前的发言值得深思

(ps:灰色的文字为马云的发言,黑色为作者的补充解读,更助于各位理解)马云发言:过去的这一年,很不寻常,事件发生了巨大的变化。疫情也带来了巨大的挑战,在今天所有巨大的不确定当中,有一件事是确定无疑的。那就是数字化的趋势没有改变。数字化以前只是让一些企业活得更好。而今天是企业活下去的关键,数字化的进程...

这是一篇狗屁不通文章生成的文章

莎士比亚说过一句富有哲理的话,人的一生是短的,但如果卑劣地过这一生,就太长了。这启发了我, 所谓匿名信一封云来信网赚赚钱项目投资SEO百度专业收录关键词中国文章,关键是匿名信一封云来信网赚赚钱项目投资SEO百度专业收录关键词中国文章需要如何写。 我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。...

一个月收入三四万是什么感觉?

一个月收入三四万是什么感觉?

海员蒙哥10月17日关注除了飘还是飘,如今负债20多万!2019年我投资了30万做了美业连锁,最高峰一个月赚了7万,真得是穷人乍富,走路都是飘得!最直观的变化就是以前抽8块钱得紫树,从那以后最低都是天叶,自己抽得加给人散得一天得三包,就喜欢听别人说一句,你抽这么好得烟啊!自尊心得到了强大的满足!以前...

内容为王!京东流量让利,成者科技(CZUR)玩转内容电商营销

[SEO教程]内容为王!京东流量让利,成者科技(CZUR)玩转内容电商营销  0 2018-08-01 02:00:32  2018年最火项目 电销机器人等你加盟  在近一年的时间里,内容电商可谓是火得一塌糊涂。内容电商是以互联网科技为依托,能将产品体验与文化...

中小企业网络营销的5个常用方法!

[SEO教程]中小企业网络营销的5个常用方法! 0 2018-07-31 19:00:43 2018年最火项目 电销机器人等你加盟  对于中小企业而言,可利用的预算相对有限,因此,企业主会通过线上渠道的各种途径,开展营销与推广的工作,这里有常用的5个小策略分享给大家。  ...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。