Sınıflandırma görevleri için gömlemeler

OpenAI API ile Embeddings’e Giriş

Emmanuel Pire

Senior Software Engineer, DataCamp

Sınıflandırma görevleri

 

Öğelere etiket atama

  • Kategorizasyon
    • Örnek: başlıkları konulara ayırma
  • Duygu analizi

 

Makaleleri kategorize etmek için kullanılabilecek konu tablosu.

OpenAI API ile Embeddings’e Giriş

Sınıflandırma görevleri

 

Öğelere etiket atama

  • Kategorizasyon
    • Örnek: başlıkları konulara ayırma
  • Duygu analizi
    • Örnek: Yorumları olumlu/olumsuz sınıflandırma

 

Gömlemeler, anlamsal içeriği yakalar

 

Duyguya göre kategorize etmek için kullanılabilecek gülen ve üzgün yüz içeren bir tablo.

OpenAI API ile Embeddings’e Giriş

Gömlemelerle sınıflandırma

  • Sıfır örnekli sınıflandırma:
    • Etiketli veri kullanılmaz

 

Süreç:

  1. Sınıf açıklamalarını gömle

Vektör uzayında gömülü sınıf açıklamaları.

OpenAI API ile Embeddings’e Giriş

Gömlemelerle sınıflandırma

  • Sıfır örnekli sınıflandırma:
    • Etiketli veri kullanılmaz

 

Süreç:

  1. Sınıf açıklamalarını gömle
  2. Sınıflandırılacak öğeyi gömle
  3. Kosinüs uzaklıklarını hesapla

Vektör uzayında gömülü sınıf açıklamaları ve gösterilen bilinmeyen bir vektör.

OpenAI API ile Embeddings’e Giriş

Gömlemelerle sınıflandırma

  • Sıfır örnekli sınıflandırma:
    • Etiketli veri kullanılmaz

 

Süreç:

  1. Sınıf açıklamalarını gömle
  2. Sınıflandırılacak öğeyi gömle
  3. Kosinüs uzaklıklarını hesapla
  4. En benzer etiketi ata

Vektör uzayında gömülü sınıf açıklamaları ve Tech etiketi atanan bilinmeyen bir vektör.

OpenAI API ile Embeddings’e Giriş

Sınıf açıklamalarını gömme

topics = [
  {'label': 'Tech'},
  {'label': 'Science'},
  {'label': 'Sport'},
  {'label': 'Business'},
]

class_descriptions = [topic['label'] for topic in topics]
class_embeddings = create_embeddings(class_descriptions)
OpenAI API ile Embeddings’e Giriş

Sınıflandırılacak öğeyi gömme

article = {"headline": "How NVIDIA GPUs Could Decide Who Wins the AI Race",
           "keywords": ["ai", "business", "computers"]}

def create_article_text(article): return f"""Headline: {article['headline']} Keywords: {', '.join(article['keywords'])}""" article_text = create_article_text(article)
article_embeddings = create_embeddings(article_text)[0]
OpenAI API ile Embeddings’e Giriş

Kosinüs uzaklıklarını hesapla

def find_closest(query_vector, embeddings):
  distances = []
  for index, embedding in enumerate(embeddings):
    dist = distance.cosine(query_vector, embedding)
    distances.append({"distance": dist, "index": index})
  return min(distances, key=lambda x: x["distance"])

closest = find_closest(article_embeddings, class_embeddings)
OpenAI API ile Embeddings’e Giriş

En benzer etiketi çıkar

label = topics[closest['index']]['label']

print(label)
Business
article = {"headline": "How NVIDIA GPUs Could Decide Who Wins the AI Race",
           "keywords": ["ai", "business", "computers"]}

Sınırlama:

  • Sınıf açıklamaları yeterince ayrıntılı değildi
OpenAI API ile Embeddings’e Giriş

Daha ayrıntılı açıklamalar

topics = [
  {'label': 'Tech', 'description': 'A news article about technology'},
  {'label': 'Science', 'description': 'A news article about science'},
  {'label': 'Sport', 'description': 'A news article about sports'},
  {'label': 'Business', 'description': 'A news article about business'},
]

class_descriptions = [topic['description'] for topic in topics] class_embeddings = create_embeddings(class_descriptions)
[...] label = topics[closest['index']]['label'] print(label)
Tech
OpenAI API ile Embeddings’e Giriş

Hadi pratik yapalım!

OpenAI API ile Embeddings’e Giriş

Preparing Video For Download...