Partager via


Utiliser ai.extract avec pandas

La fonction utilise l’IA ai.extract générative pour analyser le texte d’entrée et extraire des types d’informations spécifiques désignés par les étiquettes que vous choisissez (par exemple, emplacements ou noms). Elle n’utilise qu’une seule ligne de code.

Note

Aperçu

La fonction ai.extract étend la classe Série pandas. Pour extraire des types d’entités personnalisés à partir de chaque ligne d’entrée, appelez la fonction sur une colonne de texte pandas DataFrame .

Contrairement à d’autres fonctions IA, ai.extract retourne un DataFrame pandas, au lieu d’une série, avec une colonne distincte pour chaque type d’entité spécifié qui contient des valeurs extraites pour chaque ligne d’entrée.

Syntaxe

df_entities = df["text"].ai.extract("entity1", "entity2", "entity3")

Paramètres

Nom Descriptif
labels
Obligatoire
Une ou plusieurs chaînes qui représentent l’ensemble de types d’entités à extraire des valeurs de texte d’entrée.
aifunc.ExtractLabel
Optional
Une ou plusieurs définitions d’étiquette décrivant les champs à extraire. Pour plus d’informations, reportez-vous à la table Paramètres ExtractLabel.

Paramètres d'ExtractLabel

Nom Descriptif
label
Obligatoire
Une chaîne qui représente l’entité à extraire des valeurs de texte entrant.
description
Optional
Chaîne qui ajoute un contexte supplémentaire pour le modèle IA. Il peut inclure des exigences, un contexte ou des instructions pour que l’IA puisse prendre en compte lors de l’extraction.
max_items
Optional
Int qui spécifie le nombre maximal d’éléments à extraire pour cette étiquette.
type
Optional
Type de schéma JSON pour la valeur extraite. Les types pris en charge pour cette classe incluent string, , numberinteger, boolean, object, et array.
properties
Optional
Autres propriétés de schéma JSON pour le type en tant que dictionnaire. Il peut inclure des propriétés prises en charge telles que « items » pour les tableaux, « properties » pour les objets, « enum » pour les types d’énumération, etc. Consultez des exemples d’utilisation dans cet article.
raw_col
Optional
Chaîne qui définit le nom de colonne pour la réponse LLM brute. La réponse brute fournit une liste de paires de dictionnaires pour chaque étiquette d’entité, y compris « raison » et « extraction_text ».

Retours

La fonction retourne un DataFrame pandas avec une colonne pour chaque type d’entité spécifié. La colonne ou les colonnes contiennent les entités extraites pour chaque ligne de texte d’entrée. Si la fonction identifie plusieurs correspondances pour une entité, elle ne retourne qu’une seule de ces correspondances. Si aucune correspondance n’est trouvée, le résultat est null.

Le type de retour par défaut est une liste de chaînes pour chaque étiquette. Si les utilisateurs choisissent de spécifier un type différent dans la aifunc.ExtractLabel configuration, par exemple « type=integer », la sortie est une liste d’int Python. Si les utilisateurs spécifient « max_items=1 » dans la aifunc.ExtractLabel configuration, un seul élément du type est retourné pour cette étiquette.

Example

# This code uses AI. Always review output for mistakes.

df = pd.DataFrame([
        "MJ Lee lives in Tuscon, AZ, and works as a software engineer for Contoso.",
        "Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
    ], columns=["descriptions"])

df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)

Cet exemple de cellule de code fournit la sortie suivante :

Capture d’écran montrant une nouvelle trame de données avec les colonnes « name », « profession » et « city », contenant les données extraites du cadre de données d’origine.