
Kitabe ( Book in Hindi ) adalah sistem rekomendasi buku yang dibangun untuk semua pecinta buku. Cukup beri peringkat beberapa buku dan dapatkan rekomendasi langsung yang disesuaikan untuk Anda?
Lihat demo?
Karena berkontribusi? dan menyiapkan kepala di sini.

Aplikasi langsung
Tujuan kami adalah untuk membangun aplikasi untuk semua pecinta buku ♥ seperti kami di luar sana di mana yang harus Anda lakukan adalah menilai beberapa buku favorit Anda dan aplikasinya akan melakukan itu adalah sihir voodoo ? ♂️ dan memberi Anda beberapa buku lagi yang mungkin Anda sukai? untuk membaca .
Dataset yang kami gunakan untuk tugas ini adalah dataset GoodBooks-10k. Ini terdiri dari 10K buku dengan total 6 juta peringkat. Itu benar sekali! ? Ada beberapa dataset besar seperti persimpangan buku tetapi agak tua?
Struktur Dataset
GoodBooks10k
├── books.csv # Contains book info with book-id
├── ratings.csv # Maps user-id to book-id and rating
├── book_tags.csv # Contains tag-id associated with book-ids
├── tags.csv # Contains tag-name associated with tag-id
├── to_read.csv # Contains book-ids marked as to-read by user
Karena ini adalah masalah rekomendasi, kami harus memastikan bahwa books.csv sebersih mungkin dan hanya mempertimbangkan peringkat yang buku-id yang ada, sama berlaku untuk sebaliknya.
Lebih banyak pembersihan untuk books.csv
Untuk masalah rekomendasi ada beberapa pendekatan yang mungkin:
Kami bereksperimen dengan beberapa metode dan memilih matriks embedding & frekuensi istilah.
Matriks Embedding - Metode ini sering disebut funksvd yang memenangkan Hadiah Netflix pada tahun 2004. Karena ini adalah pendekatan minimalisasi fungsi berbasis gradien, kami ingin menyebutnya sebagai matriks yang menanamkan. Menyebutnya SVD membingungkannya dengan yang ada di aljabar linier. Matriks embedding ini membangun vektor untuk setiap pengguna dan setiap buku, sehingga ketika produk diterapkan dengan kendala tambahan, itu memberi kita peringkat. Untuk info lebih rumit tentang funksvd rujuk ini. Kami menggunakan buku yang menanamkan sebagai representasi buku untuk menyimpulkan pola yang mendasarinya. Hal ini menyebabkan penyematan mampu mendeteksi buku dari penulis yang sama dan juga menyimpulkan genre seperti fiksi, otobiografi dan banyak lagi.
Frekuensi Istilah - Metode ini seperti fungsi pembantu di atas, ia bersinar di mana embedding gagal. Frekuensi istilah memperhitungkan token dalam judul buku baik itu judul buku itu sendiri, nama penulis dan juga peringkat. Dengan mempertimbangkan ia menemukan buku -buku yang cocok dengan token dalam buku yang dinilai.
? Kode untuk setiap langkah dapat ditemukan di bagian notebook dan file.
Gambar mengatakan semuanya.

Kitabe
│
├───BookRecSystem # Main Project Directory
│
├───mainapp # Project Main App Directory
│ │
│ └───migrations # Migrations
│
├───static
| | # Static Directory
│ └───mainapp
│ ├───css # CSS Files
| |
│ ├───dataset # Dataset Files
│ │
│ ├───gif # GIF Media
│ │
│ ├───model_files # Model Files
| | |
│ │ ├───surprise # FunkSVD Files
│ │ │
│ │ └───cv # CV Files
│ │
│ └───png # PNG Media FIles
|
└───templates # Root Template DIrectory
|
├───account # Account App Templates
│
└───mainapp # Project Main App Templates
MIT License
Copyright (c) 2020 Praful Mohanan & Prajakta Mane
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.