ПочатиПочніть безкоштовно

Класифікація тональності відгуків

Тепер, коли ви обчислили вкладення (embeddings), час порахувати косинусні відстані та визначити найподібнішу мітку.

Ви зробите це, визначивши функцію find_closest(), яку можна використати для порівняння вкладень між одним вектором і кількома іншими та повернення найближчої відстані й її індексу. Потім ви пройдетеся циклом по відгуках і скористаєтеся find_closest() щоб знайти найближчу відстань для кожного відгуку, витягнувши класифіковану мітку за індексом.

Створені вами в попередній вправі об'єкти class_embeddings і review_embeddings доступні для використання, так само як і reviews та sentiments.

Ця вправа є частиною курсу

Вступ до Embeddings з OpenAI API

Переглянути курс

Інструкції до вправи

  • Визначте функцію find_closest(), яка повертає відстань та індекс найбільш подібного вкладення до query_vector.
  • Використайте find_closest() щоб знайти найближчу відстань між вкладеннями кожного відгуку та class_embeddings.
  • Використайте 'index' з closest, щоб проіндексувати sentiments і витягнути 'label'.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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}')
Редагувати та запускати код