テキスト分類

Snowflake による Generative AI 入門

James Cha-Earley

Senior Developer Advocate, Snowflake

テキスト分類の課題

課題

$$

  • レビューにはあらゆる情報が含まれる

$$

  • 手作業の分類は時間がかかり、拡張できない

解決策

$$

  • Snowflake Cortex で自動化!

$$

  • classify_text()
Snowflake による Generative AI 入門

カテゴリの定義

# Define categories
categories = ["overall_experience", "location", "staff", "food_beverages",
              "facilities"]
Snowflake による Generative AI 入門

テキストの分類

from snowflake.cortex import classify_text

category = classify_text( str_input="The check-in was smooth and the staff were very friendly.", categories=categories )
print(category)
{  
  "label": "staff"  
}
Snowflake による Generative AI 入門

出力を辞書に変換

print(type(category))
<class 'str'>
import json

category_dict = json.loads(category)
print(type(category_dict))
<class 'dict'>
Snowflake による Generative AI 入門

ワークフローの拡張

  • 指定月のレビューを分類するパイプライン
# Python code
month = 5
-- SQL query
SELECT *
FROM HOTELS.REVIEWS
WHERE EXTRACT(month FROM date) = '{{month}}'
Snowflake による Generative AI 入門

classify_text() の適用

df = cell2.to_pandas()

def classification(text): result = classify_text( str_input=text, categories=labels ) result_dict = json.loads(result) return result_dict["label"]
Snowflake による Generative AI 入門

classify_text() の適用

# DataFrame に分類を適用
df["category"] = reviews["DESCRIPTION"].apply(classification)

# 先頭行の予測カテゴリを表示 print(df["category"].head(1))
0    overall_experience  
Name: category, dtype: object
Snowflake による Generative AI 入門

感情分析

  • レビューの感情だけに関心がある

SQL セルでの AI_SENTIMENT

Snowflake による Generative AI 入門

感情分析

AI_SENTIMENT で感情を抽出

$$

  • 利用可能な感情: positive, negative, neutral, mixed, unknown
Snowflake による Generative AI 入門

Passons à la pratique !

Snowflake による Generative AI 入門

Preparing Video For Download...