def results(): g.data = request.json g.data = g.data['recommendation_data'][0] g.books_selected = g.data['books_selected'] g.features_list = g.data['features_list'] g.up_voted = g.data['up_voted'] g.down_voted = g.data['down_voted'] g.books_returned = g.data['books_returned'] g.books_read = g.data['books_read'] g.prev_click = g.data['prev_click'] g.more_click = g.data['more_click'] g.collab_start_point = 0 if g.more_click == 'yes': g.collab_start_point = g.data['collab_returned'] for book in g.books_read: g.books_returned.append(str(book)) g.Recommend = Recommend(user=g.user, db=db, Read=Read, Book=Book, book_data=book_data, ipca_model=ipca_model, dict_vectorizer_fit=dict_vectorizer_fit, collab_start_point=g.collab_start_point) g.recommended_books = g.Recommend.recommend_books(books_selected=g.books_selected, features_list=g.features_list, books_returned=g.books_returned, up_votes=g.up_voted, down_votes=g.down_voted, n_collab_returned=100) rec_data = {"recommendations": g.recommended_books, "collab_returned":g.Recommend.collab_returned} return jsonify(rec_data)
def api_recommend(rid): limit = 8 candidates = {} for r in RoomUsers.select(): candidates[str(r.room.room_key)] = {} candidates[str(r.room.room_key)]['ucount'] = r.ucount c = 0 for rc in RoomCommonUsers.select().where(RoomCommonUsers.room1 == int(rid)): candidates[str(rc.room2.room_key)]['common'] = rc.ucount c += 1 if c > 0: rmd = Recommend(str(rid), candidates) result = rmd.get_result() else: r = mongo_db['room'].find_one({'rid': str(rid)}) if r is not None: js = json.loads(api_cate_room(r['cid'], page=1).data) js['data'] = js['data'][:limit] return jsonify(js) else: return jsonify({'code': 1, 'msg': 'invalid request'}) meta = [] for doc in mongo_db['room'].find({'isOnline': True, 'rid': {'$in': result}}).limit(limit): doc.pop('_id') doc.pop('isOnline') doc['roomUrl'] = url_for('live', rid=doc['rid']) doc['cateUrl'] = '/cate/%s' % doc['cid'] meta.append(doc) return jsonify({'code': 0, 'msg': 'success', 'data': meta})
def test_eng_and_kor(self): mock = Mock(return_value=[ '유선마우스) 3M마우스 사용후기', '제닉스 TITAN GM AIR WIRELESS (화이트) 마우스 사용 후기', '마이크로소프트 스컬프트 마우스 한 달이상 사용후기', '로지텍 G603 무선 마우스 사용후기' ]) term = TermProject() reco = Recommend() term.search('마우스') result_1 = reco.titleList self.assertEqual(result_1[0], mock()[0])
def recommend(self): print() print('<recommend>') uid = int(self.getdata(64)) if not uid: return print("uid: ", uid) recommend = Recommend(uid) recommend.run() print(recommend.items) for i in range(10): data = str(recommend.items[i]) + '\n' self.connection.sendall(data.encode()) print('</recommend>') print()
def recommend(self): # Переход в рубрику "Рекомендую" self.m1 = Recommend(self) self.m1.show()
def __init__(self, root): self.root = root self.create() self.recommender = Recommend( "/Users/josephbarbati/Documents/codefiles/Emory/CS378/Final_Project/code/Frequent_Itemsets.txt" )
def add(): view = "" registId = "" form = {} kind = "入力" data = [-2, -1, 0, 1, 2] # GETされた場合 if request.method == 'GET': # TODO: id指定された場合 # 表示処理 return template('add.html', form=form, kind=kind, registId=registId, data=data) # POSTされた場合 if request.method == 'POST': # POST値の取得 form['evaluation'] = request.forms.decode().get('evaluation') form['weight'] = request.forms.decode().get('weight') form['fruity'] = request.forms.decode().get('fruity') form['acidity'] = request.forms.decode().get('acidity') form['spicy'] = request.forms.decode().get('spicy') form['memo'] = request.forms.decode().get('memo') registId = "" # idが指定されている場合 if request.forms.decode().get('id') is not None: registId = request.forms.decode().get('id') # バリデーション処理 errorMsg = [] errorMsg = Utils.validate(data=form) # 表示処理 # 確認画面から戻る場合 if request.forms.get('next') == 'back': return template('add.html', form=form, kind=kind, registId=registId, data=data) if not errorMsg: headers = [ '重み(軽やか - 濃厚)', '果実味(スパイシー - フルーティ)', '酸味(まろやか - シャープ)', '辛み(甘い - 辛い)', 'メモ' ] temp_df = Recommend(base_df, wine=0, weight=form['weight'], fruity=form['fruity'], acidity=form['acidity'], spicy=form['spicy']) df = search_info(temp_df, wine_df) return template('confirm.html', form=form, headers=headers, df=df, registId=registId) else: return template('add.html', error=errorMsg, kind=kind, form=form, registId=registId, data=data)
else: if len(games) < i + 1: games.append([]) user_id = d[0] dct[d[1]] = d[4] if d[4] == "1": games[i].append(d[1]) # Correctly recommended games / all recommended games avg_prec = 0.0 # Correctly recommended games / all games that should have been recommended avg_recall = 0.0 j = 0 for i in range(len(games) - 1): if len(games[i]) < 2: continue r = Recommend("Frequent_Itemsets.txt") r.set_user_games(games[i]) recommended = r.recommend() # Caluclate Precision and recall. all_rec = len(recommended) should_rec = 0 correct = 0 for key in final_dict[i]: game = key.split('"')[1] if final_dict[i][key] == "0": should_rec += 1 if game in recommended: correct += 1 if should_rec == 0 or all_rec == 0: continue prec = float(float(correct) / float(all_rec))
color = '#303030' strings.append('<table><tr style="border-bottom: 1px solid #666;"><td width="170px";>'+\ '<img src="'+str(row[1])+'" style="opacity:'+opacity+';""></td>') strings[-1] += '<td><h2><a href="/document/'+str(uid)+'/'+str(did)+\ '" style="color:'+color+';">' + str(row[2]) + '</a></h2>\n' strings[ -1] += '<p style="color:#606060; font-size:15"><span style="color:#A0A0A0">' strings[-1] += parser.parse(str( row[0])).strftime('%d/%m/%Y') + '</span>' if str(row[3]) != '': strings[-1] += ' - ' + str(row[3]) strings[-1] += '</p></td></tr></table>\n' #strings[-1] += '\n<hr class="dots"/>\n' return ''.join(strings) if __name__ == '__main__': with open('../TextMining/ac.loc', 'rb') as f: ac = load(f) root = Home(ac) root.topic = Topic(ac) root.document = Document(ac) root.tag = Tag(ac) root.recommend = Recommend(ac) root.search = Search(ac) root.script = Script() #cherrypy.server.socket_host = '192.168.1.95' #cherrypy.engine.start() cherrypy.quickstart(root)
import os, sys import json import requests from django.shortcuts import render from django.views.decorators.csrf import csrf_exempt from django.http import HttpResponse cur_dir = os.path.dirname( os.path.abspath(__file__)) or os.getcwd() sys.path.append(cur_dir + '/../../') sessionID = "1" history = "" from recommend import Recommend rs = Recommend() ## receive the post input data and process. @csrf_exempt def analyze(request): ctx ={} if request.method=="POST": try: ori = json.loads(request.body) except: HttpResponse("json格式错误") try: ctx['uid'] = uid = ori['uid'] ctx['input'] = content = ori['user_say'] ctx['flag'] = flag = ori['flag'] except: HttpResponse("数据格式错误") # history = request.POST['answer'].strip()