Mulai sekarangMulai gratis

Klasifikasi sentimen ulasan

Sekarang setelah Anda menghitung embedding, saatnya menghitung jarak kosinus dan mengekstrak label yang paling mirip.

Anda akan melakukannya dengan mendefinisikan fungsi bernama find_closest() yang dapat digunakan untuk membandingkan embedding antara satu vektor dan banyak vektor lainnya, lalu mengembalikan jarak terdekat beserta indeksnya. Selanjutnya, Anda akan melakukan loop pada ulasan dan menggunakan find_closest() untuk menemukan jarak terdekat bagi setiap ulasan, lalu mengekstrak label klasifikasi menggunakan indeks tersebut.

Objek class_embeddings dan review_embeddings yang Anda buat pada latihan sebelumnya tersedia untuk digunakan, begitu juga reviews dan sentiments.

Latihan ini merupakan bagian dari kursus

Pengantar Embeddings dengan OpenAI API

Lihat Kursus

Instruksi latihan

  • Definisikan fungsi bernama find_closest() yang mengembalikan jarak dan indeks embedding yang paling mirip dengan query_vector.
  • Gunakan find_closest() untuk menemukan jarak terdekat antara embedding setiap ulasan dan class_embeddings.
  • Gunakan 'index' dari closest untuk melakukan subset sentiments dan mengekstrak 'label'.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Define a function to return the minimum distance and its index
def find_closest(query_vector, embeddings):
  distances = []
  for index, embedding in enumerate(embeddings):
    dist = distance.cosine(____, ____)
    distances.append({"distance": dist, "index": index})
  return ____(distances, key=lambda x: x["distance"])

for index, review in enumerate(reviews):
  # Find the closest distance and its index using find_closest()
  closest = ____(review_embeddings[____], ____)
  # Subset sentiments using the index from closest
  label = ____
  print(f'"{review}" was classified as {label}')
Edit dan Jalankan Kode