将ai.analyze_sentiment与 PySpark 配合使用

ai.analyze_sentiment 函数使用生成 AI 来检测输入文本的情感状态,只需一行代码即可。 它可以检测输入的情绪状态是正、负、混合还是中性。 它还可以根据指定的标签检测情绪状态。 如果函数无法确定情绪,它将输出留空。

注释

  • 本文介绍如何将 ai.analyze_sentiment 与 PySpark 配合使用。 若要在 pandas 中使用 ai.analyze_sentiment,请参阅 本文
  • 请参阅 本概述文章中的其他 AI 函数。
  • 了解如何自定义 AI 函数的配置

概述

ai.analyze_sentiment 函数可用于 Spark 数据帧。 必须将现有输入列的名称指定为参数。

该函数返回一个新的 DataFrame,其中包含输出列中存储的每个输入文本行的情绪标签。

Syntax

# Default sentiment labels
df.ai.analyze_sentiment(input_col="input", output_col="sentiment")

# Custom sentiment labels
df.ai.analyze_sentiment(input_col="input", output_col="sentiment", labels=["happy", "angry", "indifferent"])

参数

Name Description
input_col
必选
一个 字符串 ,其中包含用于分析情绪的输入文本值的现有列的名称。
output_col
可选
一个 字符串,其中包含用于存储每行输入文本的情绪标签的新列的名称。 如果未设置此参数,则为输出列生成默认名称。
labels
可选
一个或多个表示要与输入文本值匹配的情绪标签集的 字符串
error_col
可选
一个 字符串,其中包含新列的名称,用于存储因处理每行输入文本而导致的任何 OpenAI 错误。 如果未设置此参数,则为错误列生成默认名称。 如果输入行没有错误,则此列中的值 null

退货

该函数返回一个 Spark 数据帧 ,其中包含一个新列,其中包含与输入列中每行文本匹配的情绪标签。 默认情绪标签包括positivenegativeneutralmixed。 如果指定了自定义标签,则改用这些标签。 如果无法确定情绪,则返回值 null

Example

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/.

df = spark.createDataFrame([
        ("The cleaning spray permanently stained my beautiful kitchen counter. Never again!",),
        ("I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",),
        ("I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",),
        ("The umbrella is OK, I guess.",)
    ], ["reviews"])

sentiment = df.ai.analyze_sentiment(input_col="reviews", output_col="sentiment")
display(sentiment)

此示例代码单元提供以下输出:

包含“评论”和“情绪”列的数据帧的屏幕截图。“sentiment”列包括“负”、“正”、“混合”和“中性”。