跳至主要内容

使用 Snowflake Cortex AI 进行文本处理

了解如何使用 Snowflake Cortex AI 进行文本处理。探索其关键功能,并通过示例展示如何使用 Cortex AI 解析并快速理解文本。
· 8分钟 阅读

使用 AI 探索

文本数据在现代数据分析任务中占据重要份额,范围涵盖客户评价到公司文档。能够提取、总结、翻译并分析文本信息,对于做出数据驱动的决策至关重要。Snowflake Cortex AI 简化了文本处理,为使用 AI 提供了低代码到零代码的环境。本文将介绍 Cortex AI 的基础功能,并提供一些实用的落地建议。

Snowflake Cortex AI 本身是一套强大的 AI 与机器学习工具,嵌入于 Snowflake Data Cloud。它内置支持大型语言模型(LLM)函数,例如Meta Llama 3与Mistral Large 模型。

Snowflake Cortex AI 是各水平数据从业者入门 AI 的绝佳方式,因为它在 SQL 中提供预构建的 AI 函数,无需外部 API,并且可随 Snowflake 的数据基础设施扩展。

如果您是 Snowflake 新手,建议先学习Introduction to Snowflake SQL 课程。

理解 Snowflake Cortex AI 的文本处理功能

Snowflake Cortex AI 提供了一套内置工具,旨在提升文本处理效率。从摘要和翻译到情感分析与文档解析,这些功能让用户能在 Snowflake 内直接从海量文本中提取洞见。下面我们来了解这些能力,以及它们在真实场景中的应用方式。

大型语言模型(LLM)函数

Snowflake Cortex AI 提供大型语言模型(LLM)函数,用于高效执行各类与文本相关的任务。

例如,COMPLETE 函数允许用户向特定模型(如 Llama3 或 Mistral)提供提示词并获取响应,类似于您在网页上使用 ChatGPT 的方式。

您也可以使用 SUMMARIZE 与 TRANSLATE 等专门函数,快速便捷地完成特定任务。这些函数让摘要、翻译与情感分析变得非常简单。如果您想进一步了解 LLM 的基本知识,请查看LLMs Concepts 课程。

Document AI

Document AI 是 Snowflake 的专有人工智能功能,旨在从非结构化文档中提取并结构化信息。其核心利用Arctic-TILT(Snowflake 的专用 AI 模型)来分析多种文档格式中的文本,并将其转换为结构化、可查询的数据。

借助 Document AI,用户可以:

  • 上传文档(如 PDF、扫描报告、发票)。
  • 提出 AI 驱动的查询以提取相关信息。
  • 自动化数据提取流水线以简化工作流程。

尽管该工具非常强大,但目前在支持的文件类型、文档大小与处理长度方面仍有一些限制。不过,对于处理大量非结构化文本的组织——如法律文件、客户合同或财务报表——Document AI 提供了一种高效方式,将原始文本转化为结构化的 Snowflake 数据库,从而显著简化后续分析。

摘自 Snowflake Document AI 文档

Snowflake Cortex AI 的关键文本处理特性

下面我们简要了解 Snowflake Cortex AI 的关键特性及其作用。下一节将给出使用这些功能的几个(简单)步骤。

文本摘要

文本摘要可通过 SUMMARIZE 函数完成。简而言之,它接收一段文本并快速给出摘要。例如,如果您提供一篇冗长的文章或报告,它会给出其中的关键信息。

文本翻译

TRANSLATE 函数可实现无缝的语言翻译。它可以将以外语提交的客户反馈或服务工单翻译为英文。其支持多种目标语言,如英语、法语、荷兰语、德语、日语、中文等。

情感分析

情感分析用于辨别文本的整体情绪或语气,判断其是正面、负面还是中性。Snowflake 的 SENTIMENT 函数返回 -1 到 1 的数值,其中 -1 表示负面,1 表示正面,0 一般表示中性。

文档解析

文档解析可能是此处功能中最复杂的一项。它从某个存储位置读取文档文件,并提取其中的信息。我们可以使用 PARSE_DOCUMENT 函数来完成。

在 Snowflake Cortex AI 中实施文本处理

既然已经了解了 Cortex AI 的文本处理能力,下面从环境配置开始,逐步介绍如何将其付诸实践。

环境配置

使用 Snowflake Cortex AI 前,您需要完成以下准备工作:

  1. 您需要拥有 SNOWFLAKE.CORTEX_USER 数据库用户角色。
  2. 您的数据必须 以 Snowflake 兼容格式存储。
  3. 必须在您的 Snowflake 实例中启用 Cortex AI 函数。

如果您没有必要的权限,请联系数据库管理员(或如果您是管理员,请为自己授予这些角色)以获取访问权。另请注意,由于您所在组织的特定设置,某些模型可能对您不可用。

实践示例

下面通过一些示例来了解摘要、翻译与情感分析等关键函数。我们将使用不同的示例表名与列名。假设我们查询的是 Snowflake 数据库中的任意一张表,且列中包含文本信息。您会很快发现,在 Snowflake 中运行这些函数有多么容易。

对文本数据进行摘要

先从一个非常常见的任务开始:为多篇新闻文章生成摘要。

-- Assume that the data is in the table ‘articles’
--We want to summarize all the text from all the articles we have in our database

SELECT SNOWFLAKE.CORTEX.SUMMARIZE(article_text) AS summary
FROM articles;

翻译支持工单

另一个常见任务是翻译并非全部使用本地语言提交的支持工单。SNOWFLAKE.CORTEX.TRANSLATE(text, ‘source language’,’target language’) 是通用语法,其中 ’source language’ 与 ’target language’ 使用两位语言代码表示。

如果源语言是空字符串 ’’,则会自动检测语言。

/* We select from the table support_tickets
 The column ticket_description has all the ticket text
We are going from ‘fr’ to ‘en’ */
SELECT SNOWFLAKE.CORTEX.TRANSLATE(ticket_description, 'fr', 'en') FROM support_tickets;

--If we leave the source language as just an empty string ‘’, it will automatically detect the language
SELECT SNOWFLAKE.CORTEX.TRANSLATE(ticket_description, '', 'en') FROM support_tickets;

对客户评论进行情感分析

最后,使用 SENTIMENT 来看看社交媒体上的客户情感。

--Select from the social_media_comments table
--provide the text to the SENTIMENT function.
SELECT SNOWFLAKE.CORTEX.SENTIMENT(comment_text) FROM social_media_comments;

最佳实践与注意事项

如同任何与 AI 相关的工作一样,我们需要遵循一套最佳实践与准则。遵守数据隐私法律并优化查询,将为我们带来更佳的 Snowflake Cortex AI 使用体验。

数据隐私与安全

数据隐私是关键要素之一,尤其在涉及 AI 时更为重要。所幸 Snowflake 已将其融入您的环境。您可以利用 Snowflake 的访问控制框架,帮助确保遵循访问最佳实践与合规要求。

  • 在处理用户数据时,确保符合 GDPR、CCPA 及其他法规的要求。
  • 使用 基于角色的访问控制(RBAC)来限制敏感文本的处理。

性能优化

非结构化数据可能非常庞大。以更明智的方式处理数据,可同时减少运行时间与成本。尝试以下性能优化建议:

  • 批量处理:按批处理文本,而非逐行处理。
  • 高效存储:将大型文档存储在优化的Snowflake 表中。
  • 索引与缓存:为常用文本数据建立索引。

结语

Snowflake Cortex AI 通过在 Snowflake SQL 中提供内置的 AI 文本函数,简化了文本处理。凭借其在摘要、翻译、情感分析与文档解析方面的强大能力,各层级的数据从业者都能轻松地从文本中提取有意义的洞见。

通过利用预构建的 AI 工具,企业可以轻松解锁有价值的信息并推动数据驱动的决策。如果您想进一步了解 Snowflake 及其工具,请查看以下资源:

Snowflake Cortex AI 文本处理常见问题

使用 Cortex AI 的文本处理功能前,我需要具备 AI 或机器学习方面的知识吗?

不需要!Snowflake Cortex AI 面向各个技能水平的用户设计,包括几乎没有 AI 经验的用户。

Snowflake Cortex AI 的翻译与情感分析功能有多准确?

Cortex AI 利用大型语言模型(LLM)进行翻译与情感分析,具备很高的准确性。但结果仍可能随上下文、语言复杂度与行业术语而变化。对于关键业务应用,建议进行结果验证。

我可以将 Snowflake Cortex AI 与其他 AI 服务或外部工具集成吗?

可以!您可以将 Cortex AI 函数与 Snowpark 结合,构建高级机器学习工作流,或将其集成至 Tableau 或 PowerBI 来可视化洞见。

如何高效使用 Snowflake Cortex AI?有哪些最佳实践?
  • 优化查询,仅选择必要的文本字段。
  • 预处理文本数据,在应用 AI 函数前去除噪声。
  • 使用缓存与索引来处理常用的文本摘要。
  • 监控查询成本,避免不必要的计算资源占用。
Tim Lu

作者

Tim Lu

我是一名数据科学家,擅长空间分析、机器学习和数据管道。曾使用过 GCP、Hadoop、Hive、Snowflake、Airflow 等数据科学/工程相关流程与工具。

主题