-
[ 프로젝트 ] 무신사 데이터를 이용한 추천시스템_Word2vec프로젝트 2021. 6. 29. 17:59
저번 글에 이어서 무신사 데이터를 이용한 추천 시스템 프로젝트입니다.
계속해서 컨텐츠 메타 데이터를 이용합니다.
프로젝트 개요 이번에는 Word2Vec 기법을 활용하여 컨텐츠 기반 추천 결과를 만들어보겠습니다.
데이터와 전처리 과정은 저번 글 TF_IDF를 참고해주세요.
이 역시 tag의 단어들을 이용하여 진행합니다.
word=[] for words in DF.tag: word.append(words)
word2vec=Word2Vec(sentences=word,window=5,sg=1,min_count=1,vector_size=100,epochs=100)
# 단어 벡터 평균구하기 def vectors(embedding): word_embedding=[] dec2vec=None count=0 for word in embedding: try : # word에 해당하는 단어를 워드투백에서 찾아 리스트에 붙힘 # 100차원으로 형성됨 word_embedding.append(word2vec.wv[word]) count+=1 except : continue #print('='*30,"word_embedding1","="*30) #print(word_embedding) word_embedding2=np.array(word_embedding) #print('='*30,"word_embedding2","="*30) #print(word_embedding2) v=word_embedding2.sum(axis=0) print(v) if type(v)!=np.ndarray: return np.zeors(100) return(v/count)
wordvec=[vectors(x) for x in word]
# 1. 코사인유사도 w2v_sim=cosine_similarity(wordvec,wordvec) # 2. 유클리디언 유사도 w2v_euc=euclidean_distances(wordvec,wordvec) # 3. 맨하탄 유사도 w2v_man=manhattan_distances(wordvec,wordvec)
Word2Vec추천 결과 '프로젝트' 카테고리의 다른 글
[ 프로젝트 ] 무신사 데이터를 활용한 추천시스템_앙상블 (0) 2021.06.30 [ 프로젝트 ] 무신사 데이터를 이용한 추천시스템 SGD, ALS (0) 2021.06.30 [ 프로젝트 ] 무신사 데이터를 이용한 추천 시스템_TF-IDF (0) 2021.06.29 [ 프로젝트 ] 프로젝트 관련 스터디 _크롤링_ 셀레니움_기초 (0) 2021.06.29 [ 프로젝트 ] 프로젝트 관련 스터디_크롤링_기초 (2) 2021.06.28