paint-brush
ChatGPT 在客户支持、潜在客户生成和数据分析方面的效果如何?经过@mobidev
1,324 讀數
1,324 讀數

ChatGPT 在客户支持、潜在客户生成和数据分析方面的效果如何?

经过 MobiDev16m2023/03/16
Read on Terminal Reader

太長; 讀書

GPT 模型直到 2022 年 11 月才广泛流行,当时 OpenAI 构建了其语言模型的继任者 ChatGPT。截至 2023 年 3 月,ChatGPT 现已正式发布,带有 API 和 SDK,可将模型集成到您的产品中。虽然表面上有过多的应用程序,但 ChatGPT 为不同类型的技术和业务流程提供了广泛的改进。所以在这里我们将对最可行的进行测试,看看
featured image - ChatGPT 在客户支持、潜在客户生成和数据分析方面的效果如何?
MobiDev HackerNoon profile picture

GPT 模型直到 2022 年 11 月才广泛流行,当时 OpenAI 构建了其语言模型的继任者ChatGPT 。自 2023 年 3 月起,ChatGPT 现已正式发布,带有 API 和 SDK,可将模型集成到您的产品中。虽然表面上有过多的应用程序,但 ChatGPT 为不同类型的技术和业务流程提供了广泛的改进。所以在这里我们将测试最可行的方法,看看它能把我们带到哪里。


我将与您分享我对我们如何从不同自动化级别的 GPT 模型中获益的看法,同时为您提供对“我需要什么才能在我的产品中实施 GPT 模型?”这个问题的简明回答。


请注意:所有测试都是在预发布阶段进行的。


什么是 ChatGPT 以及一般的 GPT 模型是什么?

如果您已经知道什么是 ChatGPT 和其他 GPT 模型,则可以跳过这一部分。因为在这里,我将从不同的角度定义 ChatGPT ,以及如何利用它的能力来挖掘数据并为我们提供必要的信息。最简单的方法是简单地询问模型,以下是 ChatGPT 识别自己的方式:

ChatGPT 定义自己

ChatGPT是在GPT 3.5基础上开发的最新GPT模型。它能够以对话的形式与用户互动,并根据 2021 年之前的事件和信息提供几乎所有问题的答案。GPT 模型非常有能力解决一系列自然语言处理 (NLP) 任务定制的可能性,例如:


  • 关键词提取
  • 文字翻译
  • 问题解答
  • 文本生成
  • 文字概要
  • 拼写更正
  • 文本样式转换
  • 命名实体识别


如何在您的应用程序或网站中使用 ChatGPT

截至 2023 年 3 月,ChatGPT 可通过 API 使用,Snapchat 等一些公司已经在使用它。因此,从技术角度讨论如何将 ChatGPT 集成到您的应用程序中是有意义的。这里有一些选择:


  1. 借助现有模型,该任务是可行的。

在这里,该模型作为智能目录运行,帮助用户浏览内容并使用 GPT 的响应更快地做出选择。但是,定制和个性化不可用。


  1. 使用您自己的数据微调模型。

此类模型可用于根据用户操作/期望和其他用例创建个性化的聊天机器人推荐系统。使用您自己的数据,可以训练 GPT 模型以引入个性化元素。微调 GPT 模型所需的数据量取决于各种因素,例如数据集的大小和复杂性,以及模型的预期性能。通常,至少需要几百个示例才能有效地微调 GPT 模型。然而,在复杂领域中,可能需要数万甚至数百万个示例才能达到最佳模型性能。


要了解您是否需要微调模型,我建议您执行以下 5 个步骤:


  1. 业务理解涉及学习业务案例、委托给模型的任务、应使用的数据以及预期的个性化功能。
  2. 数据收集。如果前期可以跳过个性化信息,则可以跳过此步骤。但如果您计划在高度特定的领域中使用 GPT 模型,默认情况下,该模型将无法正确运行。也就是说,这个阶段是必要的。例如,需要根据商店中的可用商品为用户推荐衣服。然后有必要收集有关商店产品的信息并提供推荐的基本说明(例如,带有 YYYY 字样的牛仔裤应该穿在带有 XXXX 字样的 T 恤外面)。
  3. 数据注释/数据标签。此阶段将包括为数据收集阶段的每个样本创建提示。例如:带有 YYYY 文章的短裤必须穿在带有 XXXX 文章的 T 恤上 = 我应该在带有 XXX 文章的 T 恤下面穿什么?以及预期的答案:带有 YYYY 文章的牛仔裤。
  4. 数据准备。这意味着将数据转换为合适的格式,例如“{“提示”:“<我应该在带有文章 XXX 的 T 恤下穿什么?>”,“完成”:“<带有文章 YYYY 的短裤>”}”。
  5. 造型。最后,应用这些更改并在生产中实施模型。


请记住,GPT 模型并不是一个涵盖开箱即用的所有域领域的完整产品。您还需要它的应用程序和后端的管理工具。然后,必须使用 NLP 方法处理 GPT 模型的输出,以便提取有意义的信息。该模型以多个句子的文本形式返回答案,如列表。此输出应以一个或多个单词的形式呈现,将在管道的以下部分中用作过滤器或关键字。所以这意味着 GPT 模型也将需要其他模型才能运行。


知道了这一点,让我们讨论 GPT 模型作为适合不同业务和技术需求的补充工具。


ChatGPT 业务用例

ChatGPT 比其前辈更强大,因为它是在强化学习与人类反馈 (RLHF) 技术的帮助下进行训练的。与同样流行的 GPT 3 模型相比,这提供了显着的性能水平。正因为如此,ChatGPT 现在被用于使用其 NLP 功能的一系列业务和技术任务。让我们问一下 ChatGPT 对其业务用例的看法:


ChatGPT 业务用例

在这里,我们可以看到模型提供了一个答案,列出了一些最常见的用例。由于该模型依赖的数据仅限于 2021 年,因此它甚至不是完整列表,而且我们可以将大量低级任务委托给 ChatGPT。我们也可以尝试缩小我们的关注点,并在单个领域中提取一些价值:


ChatGPT 就如何制定产品策略提供建议


基于这些示例,我们可以针对三个最有前途的业务用例得出一系列结论:


  1. 客户支持

ChatGPT 是一款功能强大的对话机器人,可以使用您自己的数据进行定制。由于即使语法结构损坏或句法部分缺失,它也能正确理解问题,因此它可以被视为客户支持系统即聊天机器人的现成解决方案。


  1. 领先一代

在上一点之后,相同的功能可以用于潜在客户生成活动,因为在大多数情况下,ChatGPT 的语音级别与人们可以编写的内容没有太大区别。


  1. 数据分析

在某些时候,GPT 模型可能会成为现代商业智能和数据分析解决方案的替代方案。因为它们可以对庞大的历史数据数据库进行操作,并为人类工作者提供有价值的见解。


然而,当涉及到需要不断更新和最新可用信息的实时数据分析时,GPT 模型就显得笨拙了。使用 RLHF 技术进行训练的过程很复杂,除此之外,它还需要一个具有自动再训练和重新部署模型的机器学习管道。这有点像火箭科学……现在。


所以严重依赖实时数据更新的应用程序还不太适合 GPT 模型。我们还能用它做什么?


1. 使用 ChatGPT 撰写文案

关于语言模型和神经网络最流行的说法之一是,它们绝对可以胜任文案的工作,或者至少可以在很大程度上提高写作速度。让我们看看今天是否如此。我们将使用两种类型的请求来检查模型将如何处理有关软件工程主题的文章写作。第一种类型的请求只是陈述文本的总体思路,而第二种类型的请求将指定我希望模型描述的内容并提供专家意见或论据。


请求:“给我写一篇关于不同 PHP 框架的文章。”


ChatGPT 输出:


关于 PHP 框架主题的 ChatGPT 文章


请求:“给我写一篇关于 Laravel 和 Symfony 框架之间区别的文章,以及我应该为电子商务应用程序选择哪种 PHP 框架。”


ChatGPT 输出


ChatGPT 文章比较 PHP 框架


在这两种情况下,该模型都很好地处理了有关信息观点的主题。语法和文体上的文本也很好。但是,论到创意水平、易读性、推理性、某点的论证性,就显得很标准,没有说服力。


虽然 ChatGPT 当然可以生成一些蓝图来简化您的营销工作,但它给人工校对人员带来了一个问题。由于模型自行解析数据,因此很难找到信息来源并证明模型的主张。因此,要用于营销目的,ChatGPT 需要微调和 AI 可解释性等附加功能才能有效和有用。

2. ChatGPT 通用编程

如果 GPT 模型可以说人类语言,那么没有什么能阻止他们使用编程语言来编写应用程序。我们的 PHP/DevOps 小组负责人 Anton Logvinenko 对此进行了测试,以了解通过利用该模型在 PHP 中为各种功能编写代码可以取得什么结果。


请求:“在 Laravel 框架上编写一个 PHP 代码,它将显示用户列表”。


ChatGPT 响应


用户控制器

看法


在大多数情况下,这段代码肯定会起作用。在这个特定的例子中,它缺少数据库结构,以及每个用户有哪些字段,比如名字和姓氏。所以你应该记住,目前 ChatGPT 没有为你提供可以现成使用的完成代码。


我可以看到的用例是支持初级开发人员学习 PHP 或其框架,并稍微加快这个过程。虽然代码本身是以语法正确的方式编写的,但仍有很多地方需要改进。


安东·罗格维年科

PHP/DevOps 组长


请求:“编写一个 PHP 代码,实现带有文章资源 CRUD 端点的 REST API”。


ChatGPT 响应


休息API


再一次,看看模型的建议,代码看起来像是 PHP 的初学者级别的工作,但如果您设置数据库、配置访问等,它很可能会工作。尽管这段代码是以实习生 PHP 开发人员的水平编写的,但它没有使用任何可用的框架,也没有经过优化,您也无法轻松地将其扩展到整个应用程序。此外,ChatGPT 还存在 SQL 注入形式的潜在安全威胁,这在任何情况下都不好。


安东·罗格维年科

PHP/DevOps 组长


树任务请求,第一次尝试


ChatGPT 响应


树任务响应,第一次尝试


在此示例的第一次尝试中,我希望 ChatGPT 根据提供的示例生成项目树。然而,输出结果是垃圾代码,我发现我没有在提示中指定它是一棵树。因此,在第二次尝试时,我添加了对输出所需内容的解释。


安东·罗格维年科

PHP/DevOps 组长


树任务请求,第二次尝试


ChatGPT 响应


树任务响应,第二次尝试


在第二次尝试中,ChatGPT 完成了任务,除了代码质量之外,树看起来还不错。我们可以从这个小实验中得出什么结论?显然,ChatGPT 还不能取代软件工程师,因为方法和代码编写的质量仍然很浅。但归根结底,随着时间的推移,这件事肯定会有所改善。目前,将 ChatGPT 称为自动代码编写器还为时过早。


Anton Logvinenko PHP/DevOps 组长


如果您正在考虑部分自动化编码工作流程并支持您的开发人员的选项,我们建议您使用Copilot 。 Copilot 使用 OpenAI Codex 实时建议代码片段和函数,事实证明它更容易被中级/高级软件工程师使用,并且代码质量更高。与仅通过谷歌搜索完成代码所需的内容相比,Copilot 可实现更快的工作流程,因此是 ChatGPT 目前建议的更好替代方案。

3. 借助 GPT 模型构建 AI 管道

鉴于我们知道 GPT 模型可以完成大部分 NLP 任务,我们可以将其视为训练您自己的语言模型的替代方案。遵循这一传统,我将通过质疑 ChatGPT 为什么它是比训练自定义 NLP 模型更好的选择来提供基础知识:


为什么 ChatGPT 比训练自己的 NLP 模型更好?


认识到这种方法的局限性很重要。由于 GPT 模型无法访问实时数据,因此它们只能帮助您在没有初始数据收集的情况下启动某些服务。随着时间的推移,您将能够从模型与用户的交互中收集实时数据,但这并不能作为所有特定 NLP 任务的修补程序。


相反,我们可以考虑可以使用 GPT 模型的数据科学中的其他应用领域。

使用 ChatGPT 处理表格数据

为了构建分类、回归或预测模型,我们需要执行探索性数据分析 (EDA) 步骤。 EDA 使我们能够找到数据中不同特征之间的关系,并表示洞察力和异常值,以了解这种或那种异常行为的原因。因此,大多数数据科学项目将需要执行 4 个步骤:


EDA流水线


在 GPT 模型的帮助下,上述管道可以简化为对 GPT 模型的单个精心制定的请求。例如,让我们使用有关亚马逊季度销售数字的请求,并要求 ChatGPT 从该信息中提取见解。


亚马逊销售 ChatGPT 响应


在这里,我们可以看到 ChatGPT 根据之前提供的数据得出了哪些见解和结论:


ChatGPT 响应

“见解:

  • 亚马逊第四季度净销售额同比增长38%
  • Q1净销售额同比增长26%
  • Q2同比增长40%
  • Q2同比增长40%,Q3同比增长37%

结论(原因):

  • 值得注意的是,COVID-19 大流行对亚马逊的销售产生了重大影响,因为在实体店关闭的情况下,越来越多的人转向网上购物。此外,亚马逊的 AWS 和广告部门在 2020 年也有显着增长。”


模型的输出质量可能会有所不同,因此确实需要对初始提示进行监督或微调。但是,可以轻松应用此类功能来简化 EDA 阶段,并有可能使数据科学管道任务自动化。

5. 用于推荐系统的 ChatGPT

在各种平台和各种应用程序中,推荐系统或推荐引擎已变得与搜索引擎一样普遍。推荐执行一项非常重要的任务:了解每个客户的偏好,建议相关内容并尽可能长时间地让客户留在平台上。


但是,尽管推荐系统可以提供竞争优势,但我们无法在不收集数据、试验和训练工作模型的情况下构建推荐系统这一事实似乎是不是每个人都能负担得起推荐的主要原因。要开始推荐,我们通常需要先收集有关我们内容的数据,然后有条不紊地跟踪我们的客户倾向于哪些内容类别。


在这种情况下,我们可以使用 ChatGPT 作为推荐引擎的替代方案,因为它内部已经拥有大量数据。虽然它没有针对您的内容进行微调,也不知道您用户的搜索历史记录,但一旦我们使用足够具体的提示,它就可以提供相当具体的建议。


例如,我们使用了这种类型的请求:“我想去旅行。我有一个 2 岁的孩子,喜欢在海边度过时光。我应该去哪儿?”。这是输出:


ChatGPT 回复:“和 2 岁的孩子一起去海边旅行是个好主意。以下是一些可能适合您和您的家人的目的地建议:


  • 加利福尼亚的海滩:加利福尼亚的海滩提供了阳光、沙滩和大海的完美结合。一些热门目的地包括圣莫尼卡、亨廷顿海滩和纽波特海滩。
  • 佛罗里达州的海滩:佛罗里达州拥有许多美丽的海滩,包括迈阿密海滩、西耶斯塔海滩和克利尔沃特海滩。
  • 夏威夷的海滩:夏威夷的海滩以其清澈的海水和柔软的白色沙滩而闻名。一些热门目的地包括威基基海滩、卡阿纳帕利海滩和波伊普海滩。
  • 加勒比海的海滩:加勒比海拥有许多美丽的海滩,包括牙买加的七英里海滩、阿鲁巴岛的鹰海滩和特克斯和凯科斯群岛的格雷斯湾。
  • 地中海的海滩:西班牙、希腊和意大利等地中海国家拥有许多美丽的海滩。一些热门目的地包括马略卡岛的穆罗海滩、希腊的米科诺斯岛和意大利的波西塔诺。


值得注意的是,这些目的地还为成人和儿童提供各种其他活动和景点,例如游泳、日光浴、水上运动、游乐场和主题公园。在做出决定之前考虑其他因素也很重要,例如天气、安全和可达性。”


如果我们通过添加详细信息来指定我们的请求,答案可能如下所示:


请求:“我想去旅行。我有一个 2 岁的孩子,喜欢在海边度过时光,我有 3000 美元。我应该去哪儿?”。


ChatGPT 响应

“和 2 岁的孩子一起去海边旅行是个不错的主意。在计划您的旅行时考虑您的预算很重要。以下是一些在您的预算范围内可能适合您和您的家人的目的地建议:

  • 墨西哥的海滩:墨西哥拥有阳光、沙滩和大海的完美结合。一些受欢迎的目的地包括坎昆、普拉亚德尔卡曼和巴亚尔塔港。
  • 中美洲的海滩:哥斯达黎加、巴拿马和尼加拉瓜等国家拥有美丽的海滩、宜人的天气和经济实惠的价格。
  • 东南亚的海滩:泰国、越南和菲律宾等国家拥有美丽的海滩、宜人的天气并且经济实惠。
  • 加勒比海的海滩:一些加勒比海目的地,如多米尼加共和国、牙买加和古巴,经济实惠,拥有美丽的海滩。


值得注意的是,这些目的地还为成人和儿童提供各种其他活动和景点,例如游泳、日光浴、水上运动、游乐场和主题公园。此外,与 2 岁的孩子一起旅行时,重要的是要考虑可达性、安全性以及优质住宿和服务的可用性,例如好的医院和儿童保育设施。”


如您所见,输出未围绕我们作为请求提供的参数构建,因为模型试图通过初始提示。甚至那些原始结果也比尝试通过应用数十个过滤器来查找内容表现得更好,因为它需要一个人使用正确的词来获得令人满意的结果。这基本上是基于 NLP 的建议相对于标准方法的主要优势。

使用 ChatGPT 执行计算机视觉任务

由于 GPT 模型是在文本数据上训练的,因此很明显我们不能以这种方式取代计算机视觉模型。然而,ChatGPT 可以简化计算机视觉管道某些部分的实现,例如:


  • 已知图像的颜色检测
  • 图像相似性,例如在颜色或版式上与麦当劳相似的徽标
  • 物体检测,例如识别照片、图形材料、品牌符号等上描绘的物体。
  • 光学字符识别或 OCR


ChatGPT 提供的信息在为不同领域的计算机视觉模型分析和准备数据时非常有用。例如,在 OCR 任务中,该模型可用于从图片中拖动文本,如身份证识别。这是准备训练数据的一个单独步骤。


波兰身份证


由于身份证在每个国家/地区都有自己的格式和不同的字段,因此识别身份证的任务可能非常耗费资源。使用 GPT 模型,我们可以减少从图像中提取文本数据所需的时间,因为 ChatGPT 可以自行处理管道的某些部分。


波兰 ID 的文本字段


及时工程的重要性和 GPT 模型的未来

提示工程基本上是创建像技术任务一样传递给 GPT 模型的工作输入文本的学科。输出将始终取决于您如何解释您的需求,它涉及了解什么是指向您请求的各个方面的最佳方式,这样模型就不会为您产生一些科学怪人。 GPT模型快速开发有几个基本原则:


具体:提示越具体,生成的文本与手头的任务就越相关。


定义上下文:模型拥有的上下文越多,GPT 模型的任务就越清晰。以您希望收到答案的相同语言和相同术语(使用域区域的功能)设置提示。


在提示长度和特异性之间找到折衷:更长和更具体的提示可以导致更准确和相关的答案,但也会使模型管理复杂化。在某些情况下,复杂而冗长的提示会触发模型中断并写入未完成的响应,我们在测试期间曾多次遇到这种情况。


以下所有示例都是在预发布阶段利用 ChatGPT 制作的,它显示出比其前身更好的结果。然而,OpenAI 在 2023 年第一季度宣布了 GPT 4 模型,它使用的数据样本是 GPT 3 的 500 倍。因此,跟踪发布日期也很有意义,而且情况非常动态,你可能更喜欢OpenAI 为您的产品开发的未来模型。


用于 GPT 3 和 GPT 4 模型的训练数据的比较


GPT 模型的主要优点是能够在没有初始大量数据的情况下找到解决问题的方法。显然,此类模型无法完全替代所需的功能。然而,在产品的第一次迭代中,使用此类模型有助于开始开发,在为用户提供服务的同时收集自定义数据。


也发布在这里