예제 #1
0
def recommend_places():
    data = request.get_json(force=True)

    keywords = ''

    try:
        keywords = data['keywords']
    except:
        code = 400
        msg = 'invalid format'
        return msg, code

    #first function makes recommendation only considering Cosine Similarity, second one includes rating information as well.
    #recommendations = RecommenderEngine.get_recommendations(keywords)
    recommendations = RecommenderEngine.get_rating_recommendations(keywords)

    return recommendations
예제 #2
0
from rating_extractor import RatingExtractor
from recommender_engine import RecommenderEngine

counts_and_T = [(1000, 50), (1000, 100), (1000, 200), (1000, 1000),
                (1000, 10000), (100, 1000), (1000, 1000), (10000, 1000),
                (1000000, 1000)]

cs = 0.12286  #Similarity score of St. Petersburg
rating = 8.5  #random rating.

#rating affected RC no rating count was = 0.13146, Q=10

for (count, T) in counts_and_T:
    r = RatingExtractor.get_rating_weight_with_quantity(rating=rating,
                                                        c=count,
                                                        T=T,
                                                        q=10)
    score = RecommenderEngine.calculate_score_from(cs, r)
    print(score)
예제 #3
0
def get_recommendations(keywords):
    result = RecommenderEngine.get_recommendations(keywords)
    return result
예제 #4
0
def get_recommendations_include_rating_count_threshold_positive_negative_reviews(keywords):
    return RecommenderEngine.get_recommendations_include_rating_count_threshold_positive_negative_reviews(keywords)
예제 #5
0
def get_recommendations_include_rating_count_threshold(keywords):
    return RecommenderEngine.get_recommendations_include_rating_count_threshold(keywords)
예제 #6
0
def get_recommendations_include_rating(keywords):
    return RecommenderEngine.get_recommendations_include_rating(keywords)
예제 #7
0
파일: server.py 프로젝트: addy479/BiteMe
	review_rating = 0
	#review_rating = review_model.get_review_rating(review_text)
	print('User', user, 'got', review_rating, 'for his review of product', product, '.')
	return str(review_rating)

@app.route('/searchProduct', methods =['GET'])
def search_query():
	query = request.args.get('query')
	return search_ops.search_query(query, ['products'])

if __name__ == '__main__':
	global review_model, firebaseOps, search_ops, recommender

	firebaseOps = FirebaseOps()
	firebaseOps.authenticate()

	search_ops = SearchOps(firebaseOps)
	recommender = RecommenderEngine(firebaseOps)

	trigger = OrTrigger([CronTrigger(hour=0, minute=0), CronTrigger(hour=3, minute=0), 
		CronTrigger(hour=6, minute=0), CronTrigger(hour=9, minute=0), CronTrigger(hour=12, minute=0), 
		CronTrigger(hour=15, minute=0), CronTrigger(hour=18, minute=0), CronTrigger(hour=21, minute=0)])

	scheduler = BackgroundScheduler()
	scheduler.add_job(recommender.recommend, trigger) #Get recommendations every 3 hours
	scheduler.start()

	#review_model = ReviewModel()
	
	app.run(host = '0.0.0.0', debug=False, port=3000)