Maison > Périphériques technologiques > IA > Classification de texte zéro-shot et à quelques coups avec Scikit-llm

Classification de texte zéro-shot et à quelques coups avec Scikit-llm

Jennifer Aniston
Libérer: 2025-03-10 11:08:08
original
790 Les gens l'ont consulté

Zero-Shot and Few-Shot Text Classification with SCIKIT-LLM

Analyser les commentaires des clients et identifier les thèmes clés des données textuelles est traditionnellement un processus laborieux. Elle implique la collecte de données, l'étiquetage manuel et le réglage fin des modèles spécialisés. Cependant, la classification du texte à tirs zéro offre une approche rationalisée, tirant parti de la puissance des modèles de grande langue (LLM) pour contourner la nécessité d'une formation de modèle approfondie. Cet article explore comment la classification des coups zéro simplifie l'analyse des sentiments à l'aide de la bibliothèque SKLLM (combinant Scikit-Learn et LLMS), démontrant son application sur les revues de vêtements de commerce électronique de Kaggle pour femmes.

Résultats d'apprentissage clés

Ce tutoriel couvrira:

  • Le flux de travail de l'analyse des sentiments conventionnelle et ses limites.
  • Les principes et les avantages de la classification de texte à tirs zéro avec LLMS.
  • Une introduction à la bibliothèque SKLLM et son intégration avec Scikit-Learn.
  • Application pratique de la classification zéro-shot à l'ensemble de données de vêtements de commerce électronique pour femmes.
  • Expérience pratique avec une classification zéro-shot pour les scénarios du monde réel.

* Cet article fait partie du Blogathon de la science des données *** .

Table des matières

  • Qu'est-ce que la classification du texte à tirs zéro?
  • Pourquoi le zéro-shot est-il si efficace?
  • Présentation de l'ensemble de données
  • Guide étape par étape
  • Inconvénients potentiels
  • Classification de texte à quelques coups
  • Classification de texte en chaîne de pensées
  • Résumé
  • Les questions fréquemment posées

Qu'est-ce que la classification du texte à tirs zéro?

L'analyse du grand volume des avis des clients reçus par les détaillants en ligne présente un défi important pour une analyse efficace des sentiments et une identification du thème. Les méthodes traditionnelles impliquent:

  • Rassemblement et nettoyage des données d'examen.
  • étiquetant manuellement des milliers d'échantillons (par exemple, "positif" "" négatif "," neutre ").
  • Fonctionner un modèle de classification spécialisé à l'aide de ces données étiquetées.

Ce processus prend du temps et à forte intensité de ressources. La classification de texte zéro-shot offre une solution: utiliser des LLM directement pour classer le texte sans avoir besoin d'une formation personnalisée. En fournissant des étiquettes descriptives (par exemple, "positive", "négative", "neutre"), le modèle dépeint la bonne classe.

Pourquoi le zéro-shot est-il si efficace?

L'efficacité de la classification zéro-tirs provient de:

  • Élimination du réglage fin: Le processus coûteux de LLMS de réglage fin comme GPT-4 est évité. Les LLM pré-formés sont utilisées directement, fournissant une classification immédiate de haute qualité.
  • Adaptation facile d'étiquette: La modification de l'ensemble d'étiquettes (par exemple, des sentiments généraux à des sentiments plus spécifiques) ne nécessite que la mise à jour de la liste des étiquettes; Aucun recyclage du modèle n'est nécessaire.
  • Exigences de données réduites: Contrairement à l'apprentissage supervisé, la classification zéro ne nécessite que des étiquettes descriptives, ce qui le rend adapté à des situations avec des données limitées ou non marquées.
  • Déploiement plus rapide: En sautant l'annotation des données et la formation du modèle, le déploiement est considérablement accéléré.

Présentation de l'ensemble de données

Le jeu de données des vêtements de commerce électronique des femmes de Kaggle est utilisé dans ce tutoriel.

[lien vers l'ensemble de données]

Caractéristiques de l'ensemble de données clés:

  • contient des milliers d'examens des clients sur les vêtements pour femmes.
  • La colonne "Review Text" contient les données du texte principal.
  • Les métadonnées supplémentaires ("titre", "note", "Recommandée Ind," etc.) sont disponibles mais pas essentielles pour la classification zéro-shot.

Guide étape par étape

Cette section détaille comment effectuer l'analyse des sentiments et la détection de thème à l'aide de la classification de zéro avec LLMS et la bibliothèque SKLLM.

Étape 1: installation et configuration

Assurer que Python 3.7 est installé et installer skllm:

pip install scikit-llm
Copier après la connexion
Copier après la connexion

Obtenez une clé API valide pour un fournisseur LLM (par exemple, OpenAI) et définissez-le dans votre environnement:

from skllm.config import SKLLMConfig

# Replace with your OpenAI API key
SKLLMConfig.set_openai_key("your_openai_api_key")
Copier après la connexion
Copier après la connexion

Étape 2: Importer des bibliothèques et charger les données

import pandas as pd
from skllm.models.gpt.classification.zero_shot import ZeroShotGPTClassifier

# Load dataset
df = pd.read_csv("Womens Clothing E-Commerce Reviews.csv")

# Handle missing review texts
df = df.dropna(subset=["Review Text"]).reset_index(drop=True)
X = df["Review Text"].tolist()
Copier après la connexion

Étape 3: Définir les étiquettes

Pour la classification des sentiments, utilisez: ["positive", "negative", "neutral"]. Cela peut être personnalisé au besoin.

Étape 4: classification zéro-shot

instancier ZeroShotGPTClassifier (en utilisant gpt-4o ou un autre modèle approprié):

clf = ZeroShotGPTClassifier(model="gpt-4o")
clf.fit(None, ["positive", "negative", "neutral"])
Copier après la connexion

fit(None, labels) indique qu'aucune donnée de formation n'est requise; Le classificateur est initialisé avec l'ensemble d'étiquettes.

Étape 5: Classifier les avis

predictions = clf.predict(X)

for review_text, sentiment in zip(X[:5], predictions[:5]):
    print(f"Review: {review_text}")
    print(f"Predicted Sentiment: {sentiment}")
    print("-" * 50)
Copier après la connexion

Cela affiche les cinq premières avis et leurs sentiments prévus.

Comparaison des résultats

Les approches ML traditionnelles nécessitent un étiquetage, une formation de modèle, une validation et des mises à jour continues. Zero-Shot réduit considérablement ces frais généraux, offrant des résultats immédiats sans données étiquetées et raffinement facile.

Inconvénients potentiels

  • FLUCUATIONS DE PRÉSCURATION: La précision peut varier en fonction de la complexité du texte et de la capacité du modèle à interpréter le jargon spécifique au domaine.
  • Considérations de coûts: L'utilisation de modèles puissants comme GPT-4 engage les coûts de l'API.
  • Confidentialité des données: Assurer la conformité aux réglementations de confidentialité des données lors de l'envoi de données aux API externes.

Classification de texte à quelques coups

La classification à quelques coups utilise un petit nombre d'exemples étiquetés par classe pour guider le modèle. Les estimateurs SKLLM utilisent l'ensemble de formation entier pour créer des exemples à quelques tirs. Pour les grands ensembles de données, envisagez de diviser les données et d'utiliser un petit sous-ensemble de formation (par exemple, pas plus de 10 exemples par classe) et de mélanger les exemples.

pip install scikit-llm
Copier après la connexion
Copier après la connexion

Classification de texte en chaîne de pensées

La classification de la chaîne de pensées génère des étapes de raisonnement intermédiaires, améliorant potentiellement la précision mais augmentant l'utilisation et le coût des jetons.

from skllm.config import SKLLMConfig

# Replace with your OpenAI API key
SKLLMConfig.set_openai_key("your_openai_api_key")
Copier après la connexion
Copier après la connexion

Expérimenter avec des approches à quelques coups et en chaîne de pensées peut donner de meilleurs résultats que la méthode de base zéro.

Résumé

La bibliothèque SKLLM fournit une alternative rapide et efficace à la construction de pipelines d'analyse des sentiments personnalisés. La classification des coups zéro permet une analyse rapide des commentaires des clients sans avoir besoin d'un étiquetage manuel ou d'une formation sur modèle. Ceci est particulièrement précieux pour les tâches itératives et l'expansion de l'étiquette.

points clés

  • La classification des tirs zéro simplifie l'analyse des sentiments sans étiquetage manuel ni formation modèle.
  • SKLLM intègre Scikit-Learn avec les LLM pour une classification efficace de texte.
  • Les LLM comme GPT-4 fournissent immédiatement des résultats de classification de haute qualité.
  • La classification des tirs zéro est rapide, adaptable et nécessite des données minimales.

Les questions fréquemment posées

Q1. Choisir entre zéro-shot, inférieur à quelques coups et chaîne de pensées: zéro-shot est idéal pour le prototypage rapide et les données limitées; quelques coups améliore la précision avec un petit ensemble de données étiqueté; La chaîne de pensée améliore les performances mais augmente le coût.

Q2. Nombre d'exemples pour quelques tirs: jusqu'à 10 exemples par classe sont recommandés; remanier des exemples pour éviter les biais.

Q3. Impact de la chaîne de pensées sur l'exactitude: non garanti pour améliorer la précision; L'efficacité dépend de la complexité des tâches et de la clarté rapide.

Q4. Coût à l'échelle: Le coût dépend de l'utilisation des jetons, du choix du modèle, de la longueur de l'invite et de la taille de l'ensemble de données. La chaîne de pensées augmente les coûts en raison des invites plus longues.

Remarque: L'image utilisée dans cet article ne appartient pas à l'auteur et est utilisée avec la permission.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal