Skip to content
Snippets Groups Projects
Commit 60252029 authored by petr.pogorelov's avatar petr.pogorelov
Browse files

week 8 seminar upd

parent f277851a
Branches
No related merge requests found
......@@ -69,6 +69,8 @@ class Experiments:
DSSM = Experiment("DSSM", Split.HALF_HALF)
CONTEXTUAL = Experiment("CONTEXTUAL", Split.HALF_HALF)
GCF = Experiment("GCF", Split.HALF_HALF)
DIVERSITY = Experiment("DIVERSITY", Split.HALF_HALF)
ALL = Experiment("ALL", Split.SEVEN_WAY)
def __init__(self):
self.experiments = [Experiments.GCF]
self.experiments = [Experiments.ALL]
......@@ -15,6 +15,7 @@ from botify.recommenders.Indexed import Indexed
from botify.recommenders.random import Random
from botify.recommenders.contextual import Contextual
from botify.recommenders.toppop import TopPop
from botify.recommenders.sticky_artist import StickyArtist
from botify.track import Catalog
root = logging.getLogger()
......@@ -31,6 +32,7 @@ recommendations_lfm = Redis(app, config_prefix="REDIS_RECOMMENDATIONS")
recommendations_dssm = Redis(app, config_prefix="REDIS_RECOMMENDATIONS_DSSM")
recommendations_contextual = Redis(app, config_prefix="REDIS_RECOMMENDATIONS_CONTEXTUAL")
recommendations_gcf = Redis(app, config_prefix="REDIS_RECOMMENDATIONS_GCF")
recommendations_div = Redis(app, config_prefix="REDIS_TRACKS_WITH_DIVERSE_RECS")
data_logger = DataLogger(app)
......@@ -53,6 +55,10 @@ catalog.upload_recommendations(
catalog.upload_recommendations(
recommendations_gcf, "RECOMMENDATIONS_GCF_FILE_PATH"
)
catalog.upload_recommendations(
recommendations_div, "TRACKS_WITH_DIVERSE_RECS_CATALOG_FILE_PATH",
key_object='track', key_recommendations='recommendations'
)
top_tracks = TopPop.load_from_json(app.config["TOP_TRACKS"])
......@@ -84,15 +90,22 @@ class NextTrack(Resource):
args = parser.parse_args()
treatment = Experiments.GCF.assign(user)
treatment = Experiments.ALL.assign(user)
if treatment == Treatment.T1:
recommender = Indexed(
recommendations_gcf.connection, catalog, Random(tracks_redis)
)
recommender = StickyArtist(tracks_redis.connection, artists_redis.connection, catalog)
elif treatment == Treatment.T2:
recommender = TopPop(catalog.top_tracks[:100], Random(tracks_redis.connection))
elif treatment == Treatment.T3:
recommender = Indexed(recommendations_lfm.connection, catalog, Random(tracks_redis.connection))
elif treatment == Treatment.T4:
recommender = Indexed(recommendations_dssm.connection, catalog, Random(tracks_redis.connection))
elif treatment == Treatment.T5:
recommender = Contextual(recommendations_contextual.connection, catalog, Random(tracks_redis.connection))
elif treatment == Treatment.T6:
recommender = Contextual(recommendations_div.connection, catalog, Random(tracks_redis.connection))
else:
recommender = Indexed(
recommendations_dssm.connection, catalog, Random(tracks_redis)
)
recommender = Random(tracks_redis.connection)
recommendation = recommender.recommend_next(user, args.track, args.time)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment