Bắt đầu ngayBắt đầu miễn phí

Phân loại cảm xúc bài đánh giá

Giờ bạn đã tính xong các embedding, hãy tính khoảng cách cosine và trích xuất nhãn giống nhất.

Bạn sẽ làm điều này bằng cách định nghĩa hàm find_closest(), dùng để so sánh embedding giữa một vector và nhiều vector khác, và trả về khoảng cách gần nhất cùng chỉ số của nó. Sau đó, bạn sẽ lặp qua các bài đánh giá và dùng find_closest() để tìm khoảng cách gần nhất cho mỗi bài, rồi trích xuất nhãn đã phân loại bằng cách dùng chỉ số.

Các đối tượng class_embeddingsreview_embeddings bạn đã tạo ở bài trước có sẵn để sử dụng, cùng với reviewssentiments.

Bài tập này là một phần của khóa học

Nhập môn Embeddings với OpenAI API

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa hàm find_closest() trả về khoảng cách và chỉ số của embedding giống query_vector nhất.
  • Dùng find_closest() để tìm khoảng cách gần nhất giữa embedding của mỗi bài đánh giá và class_embeddings.
  • Dùng 'index' của closest để lấy phần của sentiments và trích xuất 'label'.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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}')
Chỉnh sửa và Chạy Mã