Kitabe
Bye Bye Heroku ??, Hello Railway ?

Kitabe (印地語中的書)是為所有讀書愛好者建造的書籍推薦系統。只需對一些書進行評分,並立即為您量身定制建議。
看到演示?
貢獻?並在這裡設置頭。

實時申請
我們的目標是為所有書籍愛好者構建一個應用程序♥像我們一樣,您要做的就是對一些您喜歡的書進行評分,並且該應用程序會做到它是伏都教魔術嗎? ♂️並給您更多您可能喜歡的書?閱讀。
我們用於此任務的數據集是GoodBooks-10k數據集。它由10k書組成,總收視率為600萬。那是巨大的! ? 。還有更多巨大的數據集,例如書交叉,但它們有點老?
數據集結構
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
由於這是一個建議問題,因此我們必須確保books.csv盡可能清潔,並且僅考慮存在書ID的評級,反之亦然。
books.csv更多清潔
對於建議問題,有多種方法可以:
我們嘗試了幾種方法,並選擇了嵌入矩陣和項頻率。
嵌入矩陣- 此方法通常稱為FunKsvd,該方法於2004年獲得Netflix獎。由於它是一種基於梯度的功能最小化方法,因此我們喜歡將其稱為嵌入矩陣。稱其為SVD使其與線性代數中的一個混淆。這種嵌入矩陣為每個用戶和每本書構造了一個向量,因此,當產品使用其他約束時,它會給我們帶來評分。有關Funksvd的更多詳細信息,請參閱此信息。我們使用嵌入書作為書籍的代表來推斷潛在的模式。這導致嵌入能夠從同一作者那裡檢測書籍,並推斷出小說,自傳等類型。
術語頻率- 此方法就像上面的輔助函數一樣,它在嵌入失敗的地方發光。術語頻率考慮到書名中的令牌,無論是書名本身,作者的名字和評級。考慮到它,它找到了與額定書籍中的代幣緊密匹配的書籍。
?每個步驟的代碼都可以在筆記本和文件部分中找到。
圖像說明了一切。

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.