def recommend(): user_id = str(request.form['user_id']) #recmd_result = db.query_userid(user_id) per = recommenderDB.minidatabase('recommend') recmd_result = per.query_userid(user_id) per.close() #review_dataset = pd.read_csv('yelp_academic_dataset_review.csv') #business_dataset = pd.read_csv('yelp_academic_dataset_business.csv') plot_sun_1 = individual_table.individ_selfexplore(user_id) plot_li_1 = user_individual_table.user_info_table(user_id) plot_li_2 = user_individual_barchart.user_info_bars(user_id) plot_sun_2 = word_cloud.individ_wc(user_id) return render_template('recommend.html', user_id=user_id, plot_sun_2=plot_sun_2, recmd=recmd_result, plot_sun_1=plot_sun_1, plot_li_1=plot_li_1, plot_li_2=plot_li_2)
def individ_wc(user_id): db = recommenderDB.minidatabase('recommend') #text_data = review_dataset[review_dataset['user_id'] == user_id]['text'].tolist() individual_data = db.query_review(user_id) a = '' for i in range(len(individual_data)): a += individual_data[i][2] wordcloud = WordCloud(background_color="white", max_words=2000, mask=food_mask, stopwords=STOPWORDS.add("food")) # generate word cloud wordcloud.generate(a) cwd = os.getcwd() wc_path = cwd + '/static/images/test/individual_wc'+user_id+'.png' wordcloud.to_file(wc_path) #print(cwd) db.close() #print(wc_path) return '/static/images/test/individual_wc'+user_id+'.png' #individ_wc('qEE5EvV-f-s7yHC0Z4ydJQ')
def individ_selfexplore(user_id): db = recommenderDB.minidatabase('recommend') individual_data = db.query_review(user_id) business_user = [] business_time = [] business_name = [] business_categories = [] business_city = [] business_stars = [] business_address = [] for i in range(min(len(individual_data), 10)): business_user.append(individual_data[i][1]) business_time.append(individual_data[i][3]) business_name.append(individual_data[i][11]) business_categories.append(individual_data[i][18].split(',')[0]) business_city.append(individual_data[i][16]) business_stars.append(individual_data[i][15]) business_address.append(individual_data[i][14]) individual_info = list( zip(business_time, business_name, business_categories, business_city, business_stars, business_address)) #individual_info = title.append(individual_info) individual_info = np.array(individual_info) individual_info = np.insert(individual_info, 0, title, axis=0) table = FF.create_table(individual_info) #table.layout.height = 600 #individual_plot = py.plot(table, filename='individual_selfexplore') table.layout.width = 1700 cwd = os.getcwd() wc_path = cwd + '/static/images/test/individual_selfexplore' + user_id + '.png' py.image.save_as(table, filename=wc_path) db.close() return '/static/images/test/individual_selfexplore' + user_id + '.png'
from os import path import os from PIL import Image import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud, STOPWORDS import pandas as pd import recommenderDB from scipy.misc import imread food_mask = imread("Yelp_Logo.jpg") db = recommenderDB.minidatabase('recommend') def individ_wc(user_id): #text_data = review_dataset[review_dataset['user_id'] == user_id]['text'].tolist() individual_dataset = db.query_review(user_id) a = '' for i in range(len(individual_data)): a += individual_data[i][2] wordcloud = WordCloud(background_color="white", max_words=2000, mask=food_mask, stopwords=STOPWORDS.add("food")) # generate word cloud wordcloud.generate(a) cwd = os.getcwd()