word2vec詞向量最後轉成統一長度的電影item唯一表示
1、 分詞、訓練
# coding:utf-8
import gensim
from gensim.models import word2vec
from gensim.models.doc2vec import doc2vec
taggededdocument = gensim.models.doc2vec.taggeddocument
path = r'/users/lonng/desktop/v+/呆萌的停用詞表.txt'
import jieba
import jieba.analyse
jieba.analyse.set_stop_words(path)
import pandas as pd
import pymysql
df_all = pd.read_csv('/user。。。。。eaning_data10.csv',index_col=0).fillna('')
###################### 建立停用詞列表#############33
def stopwordslist():
stopwords = [line.strip() for line in open(path,encoding='utf-8').readlines()]
return stopwords
def combine(x):
sentence_depart = jieba.cut(x['title'] + x['language']+ x['area']\
+ x['director']+ x['crew_name']+x["describe"] \
+ x['type']+ x['video_type']\
+ x['copy_tag']+ x['tags']+x['award_content'] + x['award_name']+ x['high_light'])
# 建立乙個停用詞列表
stopwords = stopwordslist()
# 輸出結果為outstr
outstr = ''
# 去停用詞
for word in sentence_depart:
if word not in stopwords:
if word != '\t':
outstr += word
outstr += " "
return outstr
################構建訓練模型###################3
words =
for num,title in enumerate(df_all['combined_data'].tolist()):
title = [ str(x) for x in title.split() ]
# document = taggededdocument(title, tags=[num])
# print(words)
model1= word2vec.word2vec(words, min_count=1, size=50, window=6,workers=4, negative=5,sg=1)
2、電影item唯一向量生成與cos相似度推薦
##########電影item唯一向量生成##############333
items =
# for title in x_train_creative_id:
for num,title in enumerate(df_all['combined_data'].tolist()):
ss_product_id =
title1 = [ str(x) for x in title.split() ]
for i in title1:
ss = sum(ss_product_id)/len(ss_product_id)
# print(type(model_dm.infer_vector(title)))
###########cos相似度推薦#######33
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
kk = cosine_similarity(items)
for num,j in enumerate(kk):
item = df_all['title'][num]
recs =
for i in j.argsort()[::-1][1:10]:
print(item,recs)
print("#"*10)
用到了argsort ,array索引排序top 推薦系統 電影推薦系統(二)
als是交替最小二乘法的簡稱,是2008年以來,用的比較多的協同過濾演算法。它已經整合到spark的mllib庫中,使用起來比較方便。這裡可以想象一下,每個人的性格愛好可以認為是乙個抽象的模型,每個人的模型都有自己的乙個特點。因此,每個人對於商品的評價都有自己的一套規律,als演算法就是可以通過這些...
推薦系統 電影推薦系統(一)
二 電影推薦思路總結 資料儲存部分 離線推薦部分 實時推薦部分 系統初始化部分 離線推薦部分 實時推薦部分 業務系統部分 使用者電影特徵提取時,必須要有對應的資料,電影表,使用者表,使用者評價表。通過als演算法對評價表進行計算,計算出電影的特徵矩陣。通過電影特徵的矩陣計算得出每個電影最相似的幾個電...
電影推薦系統的建模
11336241 葉均明 一 概述 由movielens評分資料集作為訓練集 含943名使用者對1682部電影的評分 根據使用者資訊和過往打分進行電影推薦,即允許使用者對自己所看過的電影進行打分,並且根據使用者歷史的打分資訊,為使用者 他對其他未 的電影的打分,或 他對其他電影的評分分類,將 分值高...