To fulfill the rising demand for personalized movie recommendations, this research employs contextualized knowledge graph embedding for an enhanced streaming platform user experience. Covering UI/UX design, backend, and middleware, the research tailors movie suggestions based on individual preferences. Evaluation via Docker incorporates Knowledge Graph, Content-based filtering, TopN, and TensorFlow models for smarter, personalized recommendations. The application not only provides personalized suggestions but also ensures efficient content management and seamless Docker integration. The knowledge graph enhances collaborative filtering, addressing challenges like semantic sparsity and subjective user preferences. Spanning knowledge representation, machine learning, recommendation systems, web development, and system deployment, the research demonstrates its interdisciplinary nature. Despite promising capabilities, challenges in subjective taste capture persist. Addressing legal, ethical, and social issues involves mitigating over-personalization risks, ensuring transparency, and incorporating diverse recommendations. Ethical considerations stress avoiding differential treatment, promoting explainability, and implementing security measures. The findings encompass functional systems, algorithm evaluation, and insights, offering avenues for improving recommendation quality and user satisfaction.
To initiate the project, use the following command:
make run
- API Load model Provide interface Utilizes Python Flask framework
- Crawl Obtain media data from IMDB through interface
- Docker Environment management
- Knowledge-Graph Data processing & loading into Neo4j
- Notebooks Model training, including Content-based-filtering, TensorFlow Recommenders, LSTM
- Realtime-Consumption Uses Golang and Kafka to serve real-time recommendations
- Web Project frontend & management backend Developed using PHP, Apache, HTML, CSS, JavaScript, jQuery, etc.
Execute the following command to create a Kafka topic for web rating data:
docker exec -it kafka_container_name /opt/kafka/bin/kafka-topics.sh --create --topic web_rating_data --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
curl -X POST -H "Content-Type: application/json" -d '{"movie": "Ice Age: Continental Drift"}' http://127.0.0.1:5001/content_based_CF_recommendations
curl -X POST -H "Content-Type: application/json" -d '{"user": 1}' http://127.0.0.1:5001/tfrs_predict
curl -X POST -H "Content-Type: application/json" -d '{"text":"this is bad"}' http://localhost:5001/lstm-predict
curl http://127.0.0.1:5001/kg_recommendations?userid=2&limit=20