
Kitabe ( livro em hindi ) é um sistema de recomendação de livros construído para todos os amantes de livros. Basta avaliar alguns livros e obter recomendações imediatas adaptadas para você?
VEJA Demo?
Para contribuir? e configurar a cabeça aqui.

Aplicação ao vivo
Nosso objetivo é criar um aplicativo para todos os amantes de livros ♥ como nós por aí, onde tudo o que você precisa fazer é classificar alguns de seus livros favoritos e o aplicativo fará sua magia do vodu ? ♂️ e fornecer mais alguns livros que você pode amar? para ler .
O conjunto de dados que usamos para esta tarefa é o conjunto de dados GoodBooks-10K. Consiste em 10 mil livros com um total de 6 milhões de classificações. Isso é enorme certo! ?. Existem alguns conjuntos de dados mais enormes, como cruzamentos de livros, mas eles são meio antigos?
Estrutura do conjunto de dados
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
Como esse é um problema de recomendação, precisamos garantir que o books.csv seja o mais limpo possível e considerar apenas as classificações cujo livro de livros está presente, o mesmo vale para vice-versa.
Mais limpeza para books.csv
Para problemas de recomendação, existem várias abordagens que são possíveis:
Experimentamos vários métodos e escolhemos a incorporação da matriz e a frequência do termo.
Matriz de incorporação - Esse método é frequentemente chamado de FunksVD, que ganhou o Prêmio Netflix em 2004. Como é uma abordagem de minimização de função baseada em gradiente, gostamos de chamá -la de incorporação de matriz. Chamá -lo de SVD confunde com o da álgebra linear. Essa matriz de incorporação constrói um vetor para cada usuário e cada livro, de modo que, quando o produto é aplicado com restrições adicionais, ele nos dá a classificação. Para informações mais elaboradas sobre funksvd, consulte isso. Usamos o livro incorporando como uma representação dos livros para inferir padrões subjacentes. Isso levou à incorporação capaz de detectar livros dos mesmos autores e também inferir gêneros como ficção, autobiografia e muito mais.
Frequência de termo - Este método é como uma função auxiliar acima, brilha onde a incorporação falha. A frequência do termo leva em consideração os tokens em um título do livro, seja o próprio título do livro, o nome dos autores e também a classificação. Levando em consideração, encontra livros que combinam em estreita colaboração com os tokens no livro classificado.
? O código para cada etapa pode ser encontrado na seção Notebooks e arquivos.
A imagem diz tudo.

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.