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.