Giter Club home page Giter Club logo

muhakbarhamid21 / movie-recommender Goto Github PK

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

Sistem rekomendasi yang dibangun merupakan aplikasi berbasis web yang menggunakan bahasa pemrograman Python, HTML, CSS, Javascripts, Framework Bootstrap dan Django. DBMS yang digunakan adalah Neo4J berbasis graph database dengan menggunakan query Cypher. Data yang digunakan yaitu dataset movie recommender. Sistem ini memiliki 4 menu utama yaitu menu rekomendasi, movie, tag dan rate.

Python 29.90% JavaScript 0.66% CSS 3.82% HTML 65.62%
bootstrap cbf cf css django html javascript movie-recommender neo4j python

movie-recommender's Introduction

Movie Recommender

Latar Belakang

Industri film saat ini sudah menjadi industri yang terbilang besar. terdapat 4,734,693 judul, yang diantaranya terdapat judul TV series, film pendek, documenter dan sebagainya. Perkembangan industri film juga berkembang pesat. Seiring dengan berkembangnya teknologi yang digunakan dalam pembuatan film. Tidak hanya dari segi plot cerita, film saat ini harus memiliki sisi visual yang membuat konsumen terkagum saat menontonnya. Saat ini menonton film merupakan suatu hiburan alternatif dalam mengusir kebosanan. Tidak sedikit juga seseorang menonton film karena memang hobi. Hal ini menuntut industri film untuk menghadapi persaingan ketat dalam menciptakan terobosan baru guna memenuhi kebutuhan konsumen yang semakin beragam.
Dewasa ini, website yang berisi video dan komunitas film, seperti Netflix, MovieLens, YouTube dan sebagainya, sudah sangat populer saat ini. Pada website tersebut memiliki banyak user dan kemudian user tersebut bisa memberi penilaian terhadap film yang tersedia. Melihat review terlebih dahulu merupakan salah satu cara untuk mengetahui kualitas dari film tersebut. Namun, banyaknya jumlah user yang memberi review berbedabeda pada suatu film membuat pembaca kebingungan dalam menyimpulkan review tersebut.
Selera setiap orang pasti berbeda. Seseorang bisa menyukai film berdasarkan genre, aktor atau rumah produksi. Hal ini yang menjadi permasalahan seseorang dalam menentukan film yang sesuai dengan ekspektasi. Mengingat jumlah film yang begitu banyak dan beragam jenisnya, seseorang tentu tidak memiliki cukup waktu untuk memeriksa sinopsis atau trailer satu per satu. Belum lagi jika ada film baru yang belum diketahui judulnya. Maka dari itu harapan seseorang adalah menginginkan rekomendasi film yang sesuai harapan dari berbagai aspek dengan efektifitas waktu yang maksimal.
Maka aplikasi yang bisa memberikan rekomendasi film kepada pengguna sangat diperlukan untuk mendapatkan rekomendasi film yang sesuai dengan keinginan. Content-based filtering dan Collaborative filtering adalah pendekatan yang paling umum untuk membangun sebuah sistem rekomendasi.
Collaborative filtering adalah suatu konsep dimana opini dari pengguna lain yang ada digunakan untuk memprediksi item yang mungkin disukai/diminati oleh seorang pengguna. Sedangkan content-based filtering menggunakan ketersediaan konten sebuah item sebagai basis dalam pemberian rekomendasi.
Berdasarkan penjelasan diatas, maka penulis membuat sistem rekomendasi film menggunakan content-based filtering dan collaborative sistem sebagai algoritma yang digunakan.

Metode

  • Content-based Filtering
  • Collaborative System

Gambaran Umum Sistem

Sistem rekomendasi yang dibangun merupakan aplikasi berbasis web yang menggunakan bahasa pemrograman Python, HTML, CSS, Javascripts, Framework Bootstrap dan Django. DBMS yang digunakan adalah Neo4J berbasis graph database dengan menggunakan query Cypher. Data yang digunakan yaitu dataset movie recommender. Sistem ini memiliki 4 menu utama yaitu menu rekomendasi, movie, tag dan rate.

Implementasi

Halaman Beranda

Halaman Autentikasi

Halaman Utama Sistem Rekomendasi

Basis Data

Basis data yang digunakan adalah basis data berbentuk graph atau biasa disebut dengan graph database dan dalam penerapan graph database yang digunakan adalah menggunakan Neo4j. graph
Grafik properti yang digunakan dalam sistem rekomendasi adalah sebagai berikut:

  • 49 Node: User (9), Movie (14), Genre (12), dan Link (14).
  • 575 Edge: givesRating (64), isTaggedBy (452), hasLink (14), dan hasGenre (45).
  • Node User mempunyai 3 properti: ID, Password dan Role.
  • Node Movie mempunyai 3 properti: ID, Title, dan Genre.
  • Node Genre mempunyai 1 properti: name.
  • Node Link mempunyai 2 properti: IMDB_ID dan TMDB_ID.
  • Edge givesRating mempunya 2 properti: Rating dan TimeStamp.
  • Edge isTaggedBy mempunyai 2 properti: Tag dan TimeStamp.
  • Edge hasLink tidak mempunyai properti.
  • Edge hasGenre tidak mempunyai properti

Kesimpulan

Sistem rekomendasi merupakan suatu aplikasi untuk menyediakan dan merekomendasikan suatu item dalam membuat suatu keputusan yang diinginkan oleh pengguna dan dalam hal ini yang ditampilkan adalah rekomendasi film. Dalam project ini sistem rekomendasi film menggunakan algoritma content-based filtering dan collaborative filtering. Bahasa pemrograman digunakan adalah Python, HTML, CSS, Javascripts, Framework Bootstrap dan Django, serta RDMBS Neo4j. Neo4j dipilih karena menerapkan konsep Graph database dengan skema yang fleksibel dan tidak membutuhkan query yang kompleks dan memiliki Graph Data Science Library yang dapat digunakan untuk perhitungan Jaccard untuk content-based filtering dan Pearson correlation untuk collaborative filtering.
Sistem dapat memberikan rekomendasi movie berdasarkan genre favorite, rekomendasi movie pada user baru, rekomendasi movie pada user yang belum pernah merating, rekomendasi movie pada user yang memberikan rating satu kali, dan movie dengan rata-rata rating tertinggi. Sistem memiliki empat menu yakni menu rekomendasi untuk mencari movie yang direkomendasikan berdasarkan id user yang dipilih, menu movie untuk mengelola data movie, menu tag untuk mengelola semua data tag, menu rate untuk menginformasikan movie dengan rata-rata rating tertinggi.

Developer

I Kadek Ari Surya / I Gede Aditya Mahardika Pratama / Muhammad Akbar Hamid

movie-recommender's People

Contributors

muhakbarhamid21 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.