電影推薦系統word2vec last

2021-10-08 05:11:24 字數 2429 閱讀 2195

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部電影的評分 根據使用者資訊和過往打分進行電影推薦,即允許使用者對自己所看過的電影進行打分,並且根據使用者歷史的打分資訊,為使用者 他對其他未 的電影的打分,或 他對其他電影的評分分類,將 分值高...