Udostępnij przez


Używanie funkcji ai.extract z biblioteką pandas

Funkcja używa sztucznej inteligencji generacyjnej ai.extract do skanowania tekstu wejściowego i wyodrębniania określonych typów informacji oznaczonych przez wybrane etykiety (na przykład lokalizacje lub nazwy). Używa tylko jednego wiersza kodu.

Uwaga / Notatka

Przegląd

Funkcja ai.extract rozszerza klasę serii pandas. Aby wyodrębnić niestandardowe typy jednostek z każdego wiersza danych wejściowych, wywołaj funkcję w kolumnie tekstowej ramki danych biblioteki pandas .

W przeciwieństwie do innych funkcji sztucznej inteligencji funkcja ai.extract zwraca ramkę danych biblioteki pandas zamiast serii z oddzielną kolumną dla każdego określonego typu jednostki zawierającego wyodrębnione wartości dla każdego wiersza wejściowego.

Składnia

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

Parametry

Name Description
labels
Required
Co najmniej jeden ciąg reprezentujący zestaw typów jednostek do wyodrębniania z wartości tekstowych wejściowych.
aifunc.ExtractLabel
Opcjonalnie
Co najmniej jedna definicja etykiety opisująca pola do wyodrębnienia. Aby uzyskać więcej informacji, zapoznaj się z tabelą "ExtractLabel Parameters".

Parametry ExtractLabel

Name Description
label
Required
Ciąg reprezentujący jednostkę do wyodrębnienia z wartości tekstowych wejściowych.
description
Opcjonalnie
Tekst, który dodaje dodatkowy kontekst dla modelu sztucznej inteligencji. Może zawierać wymagania, kontekst lub instrukcje dotyczące sztucznej inteligencji, które należy wziąć pod uwagę przy wyodrębnianiu.
max_items
Opcjonalnie
Wartość typu int określająca maksymalną liczbę elementów do wyodrębnienia dla tej etykiety.
type
Opcjonalnie
Typ schematu JSON dla wyodrębnionej wartości. Obsługiwane typy dla tej klasy to string, number, integer, boolean, object i array.
properties
Opcjonalnie
Więcej właściwości schematu JSON dla typu jako słownika. Może zawierać obsługiwane właściwości, takie jak "items" dla tablic, "properties" dla obiektów, "enum" dla typów wyliczeniowych i nie tylko. Zobacz przykładowe użycie w tym artykule.
raw_col
Opcjonalnie
Ciąg, który ustawia nazwę kolumny dla nieprzetworzonej odpowiedzi LLM. Odpowiedź nieprzetworzona zawiera listę par słowników dla każdej etykiety jednostki, w tym "reason" i "extraction_text".

Zwraca

Funkcja zwraca pandas DataFrame z kolumną dla każdego określonego typu jednostki. Kolumna lub kolumny zawierają jednostki wyodrębnione dla każdego wiersza tekstu wejściowego. Jeśli funkcja identyfikuje więcej niż jedno dopasowanie dla jednostki, zwraca tylko jedną z tych dopasowań. Jeśli nie zostanie znalezione dopasowanie, wynik to null.

Domyślny typ zwracany to lista ciągów dla każdej etykiety. Jeśli użytkownicy zdecydują się określić inny typ w konfiguracji aifunc.ExtractLabel, na przykład "type=integer", dane wyjściowe będą listą liczb całkowitych (int) języka Python. Jeśli użytkownicy określą "max_items=1" w konfiguracji aifunc.ExtractLabel, zwracany jest tylko jeden element określonego typu dla tej etykiety.

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)

Ta przykładowa komórka kodu udostępnia następujące dane wyjściowe:

Zrzut ekranu przedstawiający nową ramkę danych z kolumnami