Relevant Links
Model and code: [https://github.com/bokkaebi/bbcs2023-bookai/tree/frontend]
Demo site: [http://fenixion.pythonanywhere.com]
Slides: [https://nushighedu-my.sharepoint.com/:p:/g/personal/h2010073_nushigh_edu_sg/EY7eaiSk_gRDnLeuKD19vlIBSDOzvHcW_RTWb6j6-CiTTQ?e=0cbdXZ]
Inspiration
As other forms of entertainment increase in popularity, reading books recreationally has gradually died out. With so many ways to find a book, it is difficult to find a place with properly catalogued books and it takes a lot more time and energy to find a book you like. Hence, we decided to create Bookinator, an AI-powered book recommender with a large database allowing users to easily find their next book(s) to read in seconds.
What it does
The user can select a book from our database as input. The AI then outputs a list of recommended books that are similar to the selected book. The number of books recommended can also be determined by the user.
How we built it
We used scikit-learn and the Sentence Transformers framework to finetune a pre-trained BERT model and suited it towards our requirements. We used Flask and some basic web dev to create the site for our app. The server is hosted on PythonAnywhere.
Challenges we ran into
- This project is done by 3 people from 2 groups and was pretty much put together 1 day before the deadline because our original teammates disappeared :p
- The accuracy of the model is a bit low but it works well enough
Accomplishments that we're proud of
Getting the model and site to work
What we learned
More advanced techniques in AI, how to use transformers, web dev stuff
What's next for Bookinator
- Allowing user to input whatever book they want, not just limited to the database we have
- Further training of the model using more parameters to increase accuracy
Built With
- css
- flask
- html
- javascript
- python
- scikit-learn
- transformers