추천 엔진에 사용자 이력 추가하기
영화나 구매 추천처럼 많은 추천 시나리오에서는 하나의 데이터 포인트만으로 다음 추천을 결정하기에 충분하지 않습니다. 이런 경우 더 정확하고 관련성 높은 추천을 위해 사용자 이력의 전체 또는 일부를 임베딩해야 합니다.
이 연습 문제에서는 사용자가 이전에 방문한 모든 상품을 고려하도록 상품 추천 시스템을 확장해 보겠습니다. 사용자의 과거 방문 상품은 user_history라는 딕셔너리 목록에 저장되어 있습니다.
다음 사용자 정의 함수를 사용할 수 있습니다: create_embeddings(texts), create_product_text(product), find_n_closest(query_vector, embeddings, n=3). 또한 numpy는 np로 임포트되어 있습니다.
이 연습은 강의의 일부입니다
OpenAI API로 시작하는 임베딩 Introduction
연습 안내
user_history의 각 상품에 대해 텍스트 특징을 결합하고, 그 결과 문자열을 임베딩한 뒤numpy로 평균 임베딩을 계산하세요.user_history에 포함된 상품을 제거하여products를 필터링하세요.products_filtered의 각 상품에 대해 특징을 결합하고, 그 결과 문자열을 임베딩하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Prepare and embed the user_history, and calculate the mean embeddings
history_texts = [____ for article in user_history]
history_embeddings = ____
mean_history_embeddings = ____
# Filter products to remove any in user_history
products_filtered = ____
# Combine product features and embed the resulting texts
product_texts = ____
product_embeddings = ____
hits = find_n_closest(mean_history_embeddings, product_embeddings)
for hit in hits:
product = products_filtered[hit['index']]
print(product['title'])