Giter Site home page Giter Site logo

ercanezin / thesis_chapter-3_smc_video_recsys Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6 MB

Thesis_Chapter-3_SMC_Video_RecSys

License: GNU General Public License v3.0

Python 10.14% CSS 19.84% Jupyter Notebook 47.63% JavaScript 1.71% HTML 20.69%

thesis_chapter-3_smc_video_recsys's Introduction

# YouTube Video Recommender Code for Chapter 3

This repository is created for Chapter 3 of the thesis titled 'Towards Context-Aware Recommender Systems for Tourists'.

Abstract

This chapter expands on Recommendation Systems (RS) and introduces a novel Group Decision Making (GDM) approach. Leveraging data from the YouTube API, we gather comprehensive video information related to various options, like trip locations. Unlike traditional methods relying on explicit user preferences, our approach infers preferences from user interactions with videos using Collaborative Filtering (CF). Additionally, we integrate trust dynamics within the group by recommending videos from different members. By analyzing user interactions, we infer trust relationships within the group to aggregate preferences and select optimal destinations. Finally, we showcase the application through a YouTube API-based platform, emphasizing user engagement in enhancing the trust network for informed decision-making.

Getting Started

You need Python 3.7 and higher to run the codes and you need the latest version of the following packages to run both codes and jupyter notebook. The list of this package is in the requirements.txt file. Please use pip to install it.

ATTENTION: If you intend to implement the project, we strongly advise you to undergo Django training beforehand. We also recommend creating a Google Developer Account and obtaining a secret key to access videos and map data hosted on Google servers. Additionally, MySQL needs to be installed separately to allow the application to interact with a database. However, once the necessary modifications are made to the system, you can choose any database you prefer.

Here are few files that you need to update once you gain Google APIs secret key. 
File name: settings.py, Change this line: YOUTUBE_DEVELOPER_KEY = '' # Please add your unique Youtube developer Key here.
File name: settings.py, Change line 82. Update the MySQL connection settings to your desired connection settings.
File names: add_pois.html and edit_pois.html. Update with your key: <script src="https://maps.googleapis.com/maps/api/js?key=###your_maps_key###&v=3.exp&libraries=places"></script> 
We have also included Jupyter notebooks for the analysis in the notebook folder. Therefore the requirements includes libraries for them. Deduct them if needed.

List of Libraries in the requirement file

Django
django-embed-video
django-mathfilters
mysqlclient
google-api-python-client
numpy
youtube-dl
pandas
jupyter
seaborn
scikit-learn

Files and their usage

TravelMadeEasy -- Contains Django Related Module files
css -- Contains css static code for front-end of the application
fonts -- Contains fonts used by Django for front-end of the application
recommender -- Contains code that works in the back-end of the application and also handles requests.
manage.py -- Main Django management file to control Django operations.
requirements.txt -- The file to install required libraries easily. 
notebooks  -- This directory contains analysis files along with data collected from experiments. 

If you have any questions, please get in touch with [email protected]

Bibtex

If this work is helpful for your research, please consider citing

Acknowledgement

Many thanks to my former supervisor Dr Ivan Palomares and colleague Dr James O. Neve for their invaluable input during this research.

thesis_chapter-3_smc_video_recsys's People

Contributors

ercanezin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.