次の方法で共有


ai.analyze_sentiment 関数を使用してセンチメントを検出する

ai.analyze_sentiment 関数は、Generative AI を使用して、入力テキストによって表される感情状態が、単一のコード行で肯定的、否定的、混合、または中立のいずれであるかを検出します。 関数がセンチメントを特定できない場合、出力は空白のままです。

AI 関数は、Fabric の組み込みの大規模言語モデルの力を手に入れることで、データ エンジニアリングをターボチャージします。 詳細については、この概要記事 参照してください。

重要

この機能は、Fabric 1.3 ランタイム 以降で使用するために、プレビューにあります。

  • この概要記事 の前提条件 (AI 関数を使用するために一時的に必要な ライブラリのインストール など) を確認します。
  • 既定では、AI 関数は現在、gpt-3.5-turbo (0125) モデルを利用しています。 詳細な課金と消費率については、この記事を参照してください。
  • 基になるモデルは複数の言語を処理できますが、ほとんどの AI 関数は英語のテキストで使用できるように最適化されています。
  • AI 関数の最初のロールアウト中、ユーザーは Fabric の組み込み AI エンドポイントを使用して 1 分あたり 1,000 件の要求に一時的に制限されます。

Pandas で ai.analyze_sentiment を使用する

ai.analyze_sentiment 関数は、pandas Series クラスを拡張します。 pandas DataFrame のテキスト列に対して関数を呼び出し、各入力行のセンチメントを検出します。

この関数は、センチメント ラベルを含む pandas Series を返します。このラベルは、DataFrame の新しい列に格納できます。

構文

df["sentiment"] = df["text"].ai.analyze_sentiment()

パラメーター

何もない

収益

この関数は、各入力テキスト行のセンチメント ラベルを含む pandas Series を返します。 各センチメント ラベルは、positivenegativeneutral、または mixedです。 センチメントを特定できない場合、戻り値は null

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

df = pd.DataFrame([
        "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."
    ], columns=["reviews"])

df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)

PySpark で ai.analyze_sentiment を使用する

ai.analyze_sentiment 関数は、Spark DataFramesでも使用できます。 既存の入力列の名前をパラメーターとして指定する必要があります。

この関数は新しい DataFrame を返し、各入力テキスト行のセンチメント ラベルが出力列に格納されます。

構文

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

パラメーター

名前 説明
input_col
必須
文字列 は、感情分析のための入力テキスト値を持つ既存の列の名前を含むものです。
output_col
任意
新しい列の名前を含む 文字列 は、入力テキストの各行のセンチメントラベルを格納します。 このパラメーターが設定されていない場合は、出力列の既定の名前が生成されます。
error_col
任意
入力テキストの各行の処理に起因する OpenAI エラーを格納する新しい列の名前を含む 文字列。 このパラメーターが設定されていない場合は、エラー列の既定の名前が生成されます。 入力行にエラーがない場合、この列の値は null

収益

入力列内のテキスト行ごとに一致するセンチメント ラベルを含む新しい列が含まれた Spark DataFrame。 各センチメント ラベルは、positivenegativeneutral、または mixedです。 センチメントを特定できない場合、戻り値は null

# 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)