Texteinbettungen sind ein Eckpfeiler der natürlichen Sprachverarbeitung (NLP) und liefert numerische Darstellungen von Text, bei denen Wörter oder Phrasen dichte Vektoren realer Zahlen werden. Auf diese Weise können Maschinen die semantische Bedeutung und die Beziehungen zwischen Wörtern verstehen und ihre Fähigkeit, die menschliche Sprache zu verarbeiten, erheblich verbessern.
Diese Einbettungen sind für Aufgaben wie Textklassifizierung, Informationsabruf und semantische Ähnlichkeitserkennung von entscheidender Bedeutung. OpenAI empfiehlt das ADA V2 -Modell für die Erstellung von ihnen und nutzt die Stärke der GPT -Serie bei der Erfassung kontextbezogener Bedeutung und Assoziationen innerhalb des Textes.
Vor dem Fortfahren wird die Vertrautheit mit OpenAIs API und dem openai
Python-Paket angenommen (siehe "GPT-3,5 und GPT-4 über die OpenAI-API in Python", um Anleitungen zu erhalten). Das Verständnis von Clustering, insbesondere K-Means, ist ebenfalls hilfreich ("Einführung in K-Means-Clustering mit Scikit-Learn in Python").
Anwendungen von Texteinbettungen:
Texteinbettungen finden Anwendungen in zahlreichen Bereichen, darunter:
Einrichtung und Installation:
Die folgenden Python -Pakete sind erforderlich: os
, openai
, scipy.spatial.distance
, sklearn.cluster.KMeans
und umap.UMAP
. Installieren Sie sie mit:
PIP Installation -U Openai Scipy Plotly-Express Scikit-Learn Umap-Learn
Importieren Sie die erforderlichen Bibliotheken:
OS importieren Openai importieren aus scipy.spatial Importentfernung plotly.express als px importieren von sklearn.cluster import kmeans von UMAP Import UMAP
Konfigurieren Sie Ihren OpenAI -API -Schlüssel:
openai.api_key = "<your_api_key_here> "</your_api_key_here>
(Denken Sie daran zu ersetzen<your_api_key_here></your_api_key_here>
mit Ihrem tatsächlichen Schlüssel.)
Einbettung erzeugen:
Diese Helferfunktion verwendet das text-embedding-ada-002
-Modell, um Einbettungen zu generieren:
Def get_embedding (text_to_embed): response = openai.embedding.create ( model = "Text-Embedding-ada-002", input = [text_to_embed] ) Einbettung = Antwort ["Daten"] [0] ["Einbettung"] Rückbettung
Datensatz und Analyse:
In diesem Beispiel wird der Datensatz für das Amazon Musical Instrument Review verwendet (verfügbar auf Kaggle oder dem GitHub des Autors). Für die Effizienz wird eine Stichprobe von 100 Bewertungen verwendet.
Pandas als PD importieren data_url = "https://raw.githubuSercontent.com/keitazoumana/experimentation-data/main/musical_instruments_reviews.csv" review_df = pd.read_csv (data_url) [['reviewText']]] review_df = review_df.sample (100) review_df ["Einbettung"] = review_df ["reviewText"]. Asttype (str) .Apply (get_embedding) review_df.reset_index (Drop = true, inplace = true)
Semantische Ähnlichkeit:
Der euklidische Abstand, der unter Verwendung von scipy.spatial.distance.pdist()
berechnet wird, misst die Ähnlichkeit zwischen Überprüfungs -Einbettungen. Kleinere Entfernungen weisen auf eine größere Ähnlichkeit hin.
Clusteranalyse (K-Mittel):
K-Means Clustering-Gruppen ähnliche Bewertungen. Hier werden drei Cluster verwendet:
kmeans = kmeans (n_clusters = 3) KMEANS.FIT (review_df ["Einbettung"]. Tolist ())
Dimensionalitätsreduzierung (UMAP):
UMAP reduziert die Einbettungsdimensionalität auf zwei für die Visualisierung:
Reduzierer = Umap () Einbettdings_2d = Reduder.fit_transform (review_df ["Einbettung"]. Tolist ())
Visualisierung:
Ein Streudiagramm visualisiert die Cluster:
Fig = px.catter (x = embettdings_2d [:, 0], y = embreddings_2d [:, 1], color = kMeans.labels_) Abb.Show ()
Weitere Erforschung:
Erkunden Sie für fortgeschrittenes Lernen die DataCamp-Ressourcen auf der Feinabstimmung GPT-3 und im OpenAI-API-Cheat-Blatt.
Die Code -Beispiele werden prägnanter und organisierter dargestellt, um die Lesbarkeit und das Verständnis zu verbessern. Das Bild ist wie angefordert enthalten.
Das obige ist der detaillierte Inhalt vonNutzung von Texteinbettungen mit der OpenAI -API: Ein praktischer Leitfaden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!