谷歌云 | Gemini 大模型赋能 BigQuery 情感分析:解码客户评论,洞悉市场风向

情感分析是企业洞察客户需求和改进产品服务的重要工具。近年来,随着自然语言处理 (NLP) 技术的飞速发展,情感分析变得更加精准高效。Google 推出的 Gemini 模型,作为大型语言模型 (LLM) 的代表,拥有强大的文本处理能力,可帮助企业轻松实现情感分析。

Gemini 模型在 BigQuery 中的应用

BigQuery 作为 Google 云数据仓库,拥有强大的数据分析能力。将 Gemini 模型与 BigQuery 结合,可以实现更加高效的情感分析。具体来说,BigQuery 提供了 ML.GENERATE_TEXT 函数,该函数允许您直接在 SQL 查询中利用 Gemini 模型来分析 BigQuery 表中的文本。这意味着您无需将数据从 BigQuery 迁移到其他平台或编写复杂的代码,就可以进行深入的文本分析。

ML.GENERATE_TEXT 函数还可用于使用基于gemini-pro-vision 多模态模型的远程模型来生成描述视觉内容的文本。该功能主要具有以下优势:

  • 易于使用: 基于 SQL 的查询方式,即使非专业人员也能轻松上手。

  • 可扩展性: BigQuery 可以处理海量数据,Gemini 模型可以高效分析大规模文本数据。

  • 强大的分析能力: Gemini 模型可以进行细粒度的文本分析,提取情感、主题、关键词等信息。

  • 灵活的应用场景: 情感分析、主题提取、文本摘要、文本生成等多种场景。

接下来,我们以假设的一个打车公司为例,了解如何使用 ML.GENERATE_TEXT 函数:

设置说明:

  1. 开始之前,请选择您的 GCP 项目,链接结算帐户,并启用必要的API;

  2. 创建云资源连接并获取连接的服务账户;

  3. 授予服务帐户访问权限。 

  4. 加载数据。要从公共存储帐户加载,请使用以下命令:

    1. 请将“[PROJECT_ID.DATASET_ID]”替换为您的 project_id,并输入数据集的名称

    2. 该命令将在您的数据集中创建一个名为“ customer_review ”的表

CREATE SCHEMA IF NOT EXISTS `[PROJECT_ID.DATASET_ID]` OPTIONS (location='us');


LOAD DATA OVERWRITE `[PROJECT_ID.DATASET_ID].customer_review`
FROM FILES ( format = 'PARQUET',
uris = ['gs://data-analytics-golden-demo/rideshare-lakehouse-raw-bucket/rideshare_llm_export/v1/raw_zone/customer_review/000000000000.parquet']);

情感分析

然后,让我们来看一个执行情感分析的例子。

1.创建模型

在 BigQuery 中创建一个利用 Vertex AI 基础模型的远程模型。

句法:

CREATE OR REPLACE MODEL
`PROJECT_ID.DATASET_ID.MODEL_NAME`
REMOTE WITH CONNECTION `PROJECT_ID.REGION.CONNECTION_ID`
OPTIONS (ENDPOINT = 'ENDPOINT');

代码示例

  • 请替换'[PROJECT_ID.DATASET_ID.MODEL_NAME]'  为您的 project_id、dataset_id 和模型名称

  • 请替换'[PROJECT_ID.REGION.CONNECTION_ID]'  为您的 project_id、region 和 connection_id

CREATE OR REPLACE MODEL `[PROJECT_ID.DATASET_ID.MODEL_NAME]`
REMOTE WITH CONNECTION `[PROJECT_ID.REGION.CONNECTION_ID]`
OPTIONS (ENDPOINT = 'gemini-pro');

2.生成文本

只需几行 SQL,您就可以使用该模型和 ML.GENERATE_TEXT 函数分析 BigQuery 表中的文本或视觉内容。

ML.GENERATE_TEXT 语法因远程模型所针对的 Vertex AI 模型而异。阅读文档以了解 ML.GENERATE_TEXT 函数的所有参数。

句法:

ML.GENERATE_TEXT(
MODEL project_id.dataset.model,
{ TABLE project_id.dataset.table | (query_statement) },
STRUCT(
  [max_output_tokens AS max_output_tokens]
  [, top_k AS top_k]
  [, top_p AS top_p]
  [, temperature AS temperature]
  [, flatten_json_output AS flatten_json_output]
  [, stop_sequences AS stop_sequences])
)

代码示例:

  • 请替换'[PROJECT_ID.DATASET_ID]'  为您的 project_id 和 dataset_id

  • 请替换'[PROJECT_ID.REGION.CONNECTION_ID]'  为您的 project_id、region 和 connection_id

CREATE OR REPLACE TABLE `[PROJECT_ID.DATASET_ID].review_sentiment_analysis` AS
WITH PROMPT AS (
 SELECT CONCAT ('For the given review classify the sentiment as Positive, Neutral or Negative.',


'\n input: The driver was able to make some small talk, but he didn\'t go overboard. I liked that he was friendly and chatty, but he also knew when to leave me alone. The trunk fit my belongings, and the car was clean and comfortable. Overall, it was a good ride.',


'\n output: \n Positive - Trunk fit my belongings, friendly, chatty',


'\n input: I took a rideshare last night and it was an okay experience. The car was adequately clean, but it was a bit warm for my liking. The driver was able to make some small talk, but I wasn\'t really in the mood to talk. Overall, it was a fine ride.',


'\n output: Neutral - Clean, A bit warm, fun ride',
 '\n input: ', customer_review_text,
'\n output: '
) AS prompt, customer_id, 
customer_review_text
 FROM `[PROJECT_ID.DATASET_ID].customer_review`
 LIMIT 20
),
REVIEW_RESPONSE_GENERATION AS (
 SELECT *
 FROM
 ML.GENERATE_TEXT(
    MODEL `[PROJECT_ID.DATASET_ID.MODEL_NAME]`,
   (SELECT * FROM PROMPT),
   STRUCT(
     200 AS max_output_tokens,
     0.5 AS temperature,
     40 AS top_k,
     1.0 AS top_p,
     TRUE AS flatten_json_output))
)
SELECT ml_generate_text_llm_result, customer_id, customer_review_text, prompt, ml_generate_text_status FROM REVIEW_RESPONSE_GENERATION;


SELECT ml_generate_text_llm_result, customer_id, customer_review_text, prompt, ml_generate_text_status  FROM `[PROJECT_ID.DATASET_ID].review_sentiment_analysis`;

3.结果:

在提示中,我们为模型提供了上下文以及两个示例,清晰地展示了我们期望的输出格式。您可以通过少量样本提示的方法,验证生成的输出是否与我们提供的示例保持一致。

少量样本提示中,包含一些带有相应情感标签的评论示例对于引导模型行为至关重要。为了确保模型在各种情况下都能有效工作,提供足够数量的结构良好的示例(涵盖各种评论场景)是必不可少的。

然后,通过对客户评论进行情感分析,我们可以深入了解他们对我们产品的偏好和痛点。通过识别评论中的关键主题,我们可以有效地将宝贵的反馈传达给产品团队,使他们能够做出数据驱动的明智决策并进行改进。

在上表中,您可以看到 ML.GENERATE_TEXT 的结果,其中包括输入表以及以下列:

  1. ml_generate_text_result:这是 JSON 响应,生成的文本位于文本元素中。

  2. ml_generate_text_llm_result:包含生成文本的 STRING 值。当 flatten_json_output 为 TRUE 时返回此列。

  3. ml_generate_text_rai_result:包含安全属性的 STRING 值。当 flatten_json_output 为 TRUE 时返回此列。

  4. ml_generate_text_status:一个字符串值,包含相应行的 API 响应状态。如果操作成功,则此值为空。

提取主题

接着,让我们使用上面创建的模型从评论中提取主题:

  • 请替换'[PROJECT_ID.DATASET_ID]'  为您的 project_id 和 dataset_id

CREATE OR REPLACE TABLE `[PROJECT_ID.DATASET_ID].extract_themes` AS


WITH PROMPT AS (
 SELECT CONCAT(
"""
Classify the text as one or more of the following categories and return in the below json format.
- "trunk space small"
- "trunk space large"
- "driving too fast"
- "driving too slow"
- "clean car"
- "dirty car"
- "car too hot"
- "car too cold"
- "driver likes conversation"
- "driver likes no conversation"
- "driver likes music"
- "driver likes no music"
- "distracted driver"


JSON format: [ "value" ]
Sample JSON Response: [ "dirty car", "car too cold" ]


Text:
""", customer_review_text) AS prompt, customer_id, customer_review_text
         FROM `[PROJECT_ID.DATASET_ID].customer_review`
         LIMIT 10
),
EXTRACT_THEMES AS (
 SELECT *
 FROM
 ML.GENERATE_TEXT(
    MODEL `[PROJECT_ID.DATASET_ID.MODEL_NAME]`,
   (SELECT * FROM PROMPT),
   STRUCT(
     1024 AS max_output_tokens,
     0 AS temperature,
     1 AS top_k,
     0 AS top_p,
     TRUE AS flatten_json_output))
)
SELECT ml_generate_text_llm_result, customer_id, customer_review_text, prompt, ml_generate_text_status FROM EXTRACT_THEMES;


SELECT ml_generate_text_llm_result, customer_id, customer_review_text, prompt, ml_generate_text_status  FROM `[PROJECT_ID.DATASET_ID].extract_themes`;

结果:

使用 BigQuery 控制台中的 ML.GENERATE_TEXT 函数和 SQL,我们可以高效地识别客户评论中的关键主题。这让我们能够更深入地了解客户的看法,并提供可操作的数据来改进我们的产品。

分析主题

现在我们已经确定了评论的主题,让我们更深入地了解BigQuery 中的数据画布,这是我们在 Next '24 上推出的以AI 为中心的体验,旨在重新构想数据分析。BigQuery 数据画布可让您使用自然语言发现、转换、查询和可视化数据。它还提供了一个图形界面,可让您在有向无环图 (DAG) 中使用数据源、查询和可视化,从而让您可以查看映射到您的思维模型的分析工作流程。

鉴于我们的主题存储在“extract_themes”表中,让我们创建一个数据画布来进一步分析它们。单击“+”图标旁边的向下箭头,然后选择“创建数据画布”

您将进入以下图示的页面,在其中搜索“提取主题”表并开始操作:

选择一个表,您就会在画布上看到它,您可以在其中直接查询它或将其与其他表连接。

要创建主题条形图,请单击“查询”按钮并输入“最常见主题的条形图,删除空值并将结果限制为前 10 个值”。即使“主题”不在专用列中,AI 也能理解您的请求并自动生成正确的查询 - AI 识别出主题位于“ml_genertae_text_llm_result”列中。最后,单击“运行”以查看查询结果。

到这里,您的主题数据已准备就绪!单击“可视化”即可立即查看您的条形图。 

最后,您就可以成功拥有从客户评论中提取的主题的条形图,以及基于数据和发现的解释自动生成的有用见解。 

简而言之,BigQuery 数据画布可让您使用简单的自然语言命令从头到尾分析数据:发现相关数据、将其与客户信息合并、找到关键见解、与团队成员协作以及创建报告 - 所有这些都在一个地方完成。此外,您可以保存这些结果或将它们与其他数据合并以进行进一步分析,或将其提取到笔记本中。

总结

Gemini 模型与 BigQuery 的结合,为企业提供了强大的情感分析工具。借助 Gemini 模型,企业可以轻松解码客户评论中的情感,洞察市场趋势,从而更好地改进产品服务,提升客户满意度。

立即联系 Cloud Ace云一,解锁您的商业洞察力!

Cloud Ace云一,致力于为中国出海企业提供专业、高效的云服务,助力您实现数字化转型,成功掌握更多商机!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/784406.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

day02_员工管理

文章目录 新增员工需求分析和设计代码开发功能测试代码完善录入的用户名已存在,抛出异常后没有处理新增员工的时候,创建人id和修改人id设置为了固定值ThreadLocal(面试题) 分页查询问题解决 启用禁用员工账号需求和分析代码设计 编…

腾讯发布2024大模型十大最新趋势!

近日,在2024世界人工智能大会上,腾讯正式发布了《2024大模型十大趋势——走进“机器外脑”时代》报告。目前,这一报告正在AI产业界各大社群快速传播。 报告中,腾讯研究院试图通过10个关键性的趋势,去理解全世界范围内正…

【React Hooks原理 - useCallback、useMemo】

介绍 在实际项目中,useCallback、useMemo这两个Hooks想必会很常见,可能我们会处于性能考虑避免组件重复刷新而使用类似useCallback、useMemo来进行缓存。接下来我们会从源码和使用的角度来聊聊这两个hooks。【源码地址】 为什么要有这两个Hooks 在开始…

HBuilder X 小白日记03-用css制作简单的交互动画

:hover选择器,用于选择鼠标指针浮动在上面的元素。 :hover选择器可用于所有元素,不只是链接 :link选择器 设置指向未被访问页面的链接的样式 :visited选择器 用于设置指向已被访问的页面的链接 :active选择器 用于活动链接

观察者模式(Observer Pattern)

观察者模式(Observer Pattern) 定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。别名&#xff1…

AI语言处理的双刃剑:Tokens令牌化技术解析

生成式人工智能模型,如GPT-4o,采用基于Transformer架构的复杂处理方式,这与人类处理文本的方式存在明显差异。这些模型依赖于一种称为“令牌化”的过程,将文本分解为更小的片段,称为“令牌”,以便更有效地处…

BP神经网络的实践经验

目录 一、BP神经网络基础知识 1.BP神经网络 2.隐含层选取 3.激活函数 4.正向传递 5.反向传播 6.不拟合与过拟合 二、BP神经网络设计流程 1.数据处理 2.网络搭建 3.网络运行过程 三、BP神经网络优缺点与改进方案 1.BP神经网络的优缺点 2.改进方案 一、BP神经网络基…

XDMA原理学习(1)——DMA技术详解

目录 一、什么是DMA?为什么需要DMA? 二、DMA分类 2.1 Block DMA 2.2 Scatter-Gather DMA 2.3 Ring buffer DMA 三、实际案例 3.1 STM32微处理器 3.1.1 Block DMA 3.1.2 Scatter-Gather DMA 3.1.3 使用场景举例: 3.1.4 配置与实现 …

香橙派OrangePi AIpro测评:我的高性能AI开发板实操

香橙派OrangePi AIpro测评:高性能AI开发板的实际应用与操作指南 前言 在物联网和人工智能领域飞速发展的背景下,开发板作为硬件开发的重要工具,越来越受到开发者的青睐。香橙派OrangePi AIpro因其强大的性能和丰富的接口,成为了…

嵌入式Linux系统编程 — 7.4 fork、vfork函数创建子进程

目录 1 父进程与子进程概念 2 fork创建子进程 3 系统调用 vfork()函数 4 vfork与 fork函数如何选择 1 父进程与子进程概念 进程与子进程是操作系统中的一个基本概念,用于描述进程之间的层级关系。下面是对这一概念的简要说明: 父进程:在…

jmeter-beanshell学习6-beanshell生成测试报告

前面写了各种准备工作,内容组合用起来,应该能做自动化了,最后一步,生成一个报告,报告格式还是csv 报告生成的路径和文件,在用户参数写好,防止以后改路径或者名字,要去代码里面改。以…

第二证券股市资讯:深夜!突然暴涨75%!

一则重磅收买引发医药圈轰动。 北京时间7月8日晚间,美股开盘后,美国生物制药公司Morphic股价一度暴升超75%。音讯面上,生物医药巨子礼来公司官宣,将以57美元/股的价格现金收买Morphic,较上星期五的收盘价溢价79%&…

98.验证二叉搜索树——二叉树专题复习

递归: class Solution {// 判断二叉搜索树是否有效public boolean isValidBST(TreeNode root) {// 递归地检查以 root 为根的子树是否满足 BST 的性质// 同时定义一个范围 [Long.MIN_VALUE, Long.MAX_VALUE] 来约束节点的值return isValidBST(root, Long.MIN_VALUE…

HTML(28)——空间转换

空间:是从坐标轴角度定义的XYZ三条坐标轴构成了一个立体空间 Z轴位置与视线方向相同 空间转换 平移 属性: transform: translate3d(x,y,z);transform: translateX();transform: translateY();transform: translateZ(); 取值:像素单位数值…

Linux学习看这一篇就够了,超超超牛的Linux基础入门

引言 小伙伴们,不管是学习c还是学习其他语言在我们学的路上都绕不过操作系统,而且,老生常谈的Linux更是每个计算机人的必修,那么我们对Linux的了解可能只是从别人那听到的简单的这个系统很牛,巴拉巴拉的,但…

Django 新增数据 save()方法

1,添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…

初学SpringMVC之执行原理

Spring MVC 是基于 Java 实现 MVC 的轻量级 Web 框架 导入 jar 包 pom.xml 文件导入依赖&#xff1a; <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version></dependency><dep…

如何安全隐藏IP地址,防止网络攻击?

当您想在互联网上保持隐私或匿名时&#xff0c;您应该做的第一件事就是隐藏您的 IP 地址。您的 IP 地址很容易被追踪到您&#xff0c;并被用来了解您的位置。下面的文章将教您如何隐藏自己&#xff0c;不让任何试图跟踪您的活动的人发现。 什么是 IP 地址&#xff1f; 首先&am…

【运算放大器学习】

运算放大器学习 运放的选型一般主要需要观察以下几个参数&#xff0c;下面一起来理解一下几个核心参数的意义&#xff1b;今天说 输入失调电压 、失调电压温漂 、 偏置电流 、 失调电流几个参数&#xff1b; 放大器的几个主要参数 输入失调电压失调电压温漂偏置电流失调电流…

Ubuntu开源软件LibreOffice将Excel多表转PDF多目录示例

一、实现的起因&#xff1a; Windows平台下&#xff0c;常见的WPS办公自动化套件中电子表格软件&#xff0c;其中具备将Excel工作表中数据转为PDF文档表格的功能。现在进一步的需求是&#xff1a;像PDF标准的电子书那样&#xff0c;具备一本书的目录结构或章节结构&#xff0c…