Klasyfikacja tekstu

Wprowadzenie do generatywnej AI w Snowflake

James Cha-Earley

Senior Developer Advocate, Snowflake

Wyzwania związane z klasyfikacją tekstu

Problem

$$

  • Recenzje mogą zawierać dowolne informacje

$$

  • Ręczna kategoryzacja jest czasochłonna i nie skaluje się

Rozwiązanie

$$

  • Zautomatyzuj to dzięki Snowflake Cortex!

$$

  • classify_text()
Wprowadzenie do generatywnej AI w Snowflake

Definiowanie kategorii

# Zdefiniuj kategorie
categories = ["overall_experience", "location", "staff", "food_beverages",
              "facilities"]
Wprowadzenie do generatywnej AI w Snowflake

Klasyfikacja tekstu

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"  
}
Wprowadzenie do generatywnej AI w Snowflake

Konwersja wyników do słownika

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

category_dict = json.loads(category)
print(type(category_dict))
<class 'dict'>
Wprowadzenie do generatywnej AI w Snowflake

Skalowanie przepływu pracy

  • Pipeline klasyfikacyjny kategoryzujący recenzje dla danego miesiąca
# Kod w Pythonie
month = 5
-- Zapytanie SQL
SELECT *
FROM HOTELS.REVIEWS
WHERE EXTRACT(month FROM date) = '{{month}}'
Wprowadzenie do generatywnej AI w Snowflake

Stosowanie funkcji classify_text()

df = dataframe_1.to_pandas()

def classification(text): result = classify_text( str_input=text, categories=labels ) result_dict = json.loads(result) return result_dict["label"]
Wprowadzenie do generatywnej AI w Snowflake

Stosowanie funkcji classify_text()

# Zastosuj klasyfikację do DataFrame
df["category"] = reviews["DESCRIPTION"].apply(classification)

# Wyświetl przewidywaną kategorię pierwszego wiersza print(df["category"].head(1))
0    overall_experience  
Name: category, dtype: object
Wprowadzenie do generatywnej AI w Snowflake

Analiza sentymentu

  • Interesuje nas tylko sentyment recenzji

AI_SENTIMENT w komórce SQL

Wprowadzenie do generatywnej AI w Snowflake

Analiza sentymentu

AI_SENTIMENT - wyodrębnianie sentymentu

$$

  • Dostępne sentymenty: positive, negative, neutral, mixed i unknown
Wprowadzenie do generatywnej AI w Snowflake

Czas na praktykę!

Wprowadzenie do generatywnej AI w Snowflake

Preparing Video For Download...