📅  最后修改于: 2023-12-03 15:04:29.308000             🧑  作者: Mango
在人们追求高品质生活的当下,我们对电影的需求越来越高,但是对于海量且杂乱无章的电影资源,如何找到自己喜欢的电影是一个难题。本次介绍的是基于情感的电影推荐系统,可以根据用户的情感需求为其推荐符合其情感需求的电影。
代码片段
# 使用TF-IDF算法进行情感分析
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# 读取电影简介数据
movie_data = pd.read_csv('movie.csv', sep='\t')
# 计算TF-IDF矩阵
tfidf_vector = TfidfVectorizer(stop_words='english')
tfidf_matrix = tfidf_vector.fit_transform(movie_data['plot'])
# 进行情感分析
nb = MultinomialNB()
neg_index = movie_data[movie_data['sentiment'] == 'negative'].index
pos_index = movie_data[movie_data['sentiment'] == 'positive'].index
y = np.zeros(len(movie_data))
y[pos_index] = 1
y[neg_index] = -1
nb.fit(tfidf_matrix, y)
# 预测情感
def predict_sentiment(text):
text_tfidf = tfidf_vector.transform([text])
if nb.predict(text_tfidf) == 1:
return 'positive'
else:
return 'negative'