ComeçarComece de graça

Classificação do sentimento da avaliação

Agora que você calculou os embeddings, é hora de calcular as distâncias de cosseno e extrair o rótulo mais semelhante.

Você fará isso definindo uma função chamada find_closest(), que pode ser usada para comparar os embeddings entre um vetor e vários outros e retornar a distância mais próxima e seu índice. Em seguida, você percorrerá as avaliações e usará o site find_closest() para encontrar a distância mais próxima para cada avaliação, extraindo o rótulo classificado usando o índice.

Os objetos class_embeddings e review_embeddings que você criou no último exercício estão disponíveis para uso, assim como os objetos reviews e sentiments.

Este exercício faz parte do curso

Introdução aos embeddings com o OpenAI API

Ver curso

Instruções do exercício

  • Defina uma função chamada find_closest() que retorna a distância e o índice da incorporação mais semelhante à query_vector.
  • Use o site find_closest() para encontrar a distância mais próxima entre as incorporações de cada análise e o site class_embeddings.
  • Use o 'index' de closest para fazer um subconjunto de sentiments e extrair o 'label'.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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}')
Editar e executar o código