readme: ---
  tags:
  - text-classification
  - fastai
  library_name: fastai
  datasets:
  - blbooksgenre
  widget:
  - text: "Poems on various subjects. Whereto is prefixed a short essay on the structure of English verse"
  - text: "Two Centuries of Soho: its institutions, firms, and amusements. By the Clergy of St. Anne's, Soho, J. H. Cardwell ... H. B. Freeman ... G. C. Wilton ... assisted by other contributors, etc"
  - text: "The Adventures of Oliver Twist. [With plates.]"
  ---
  
  ## Model description
  
  This model is intended to predict, from the title of a book, whether it is 'fiction' or 'non-fiction'.
  
  This model was trained on data created from the Digitised printed books (18th-19th Century) book collection. The datasets in this collection are comprised and derived from 49,455 digitised books (65,227 volumes), mainly from the 19th Century. This dataset is dominated by English language books and includes books in several other languages in much smaller numbers. 
  
  This model was originally developed for use as part of the Living with Machines project to be able to 'segment' this large dataset of books into different categories based on a 'crude' classification of genre i.e. whether the title was `fiction` or `non-fiction`.
  
  The model's training data (discussed more below) primarily consists of 19th Century book titles from the British Library Digitised printed books (18th-19th century) collection. These books have been catalogued according to British Library cataloguing practices. The model is likely to perform worse on any book titles from earlier or later periods. While the model is multilingual, it has training data in non-English book titles; these appear much less frequently.
  
  ## How to use
  
  To use this within fastai, first [install](https://docs.fast.ai/#Installing) version 2 of the fastai library. You can load directly from the Hugging Face hub using the [`huggingface_hub`](https://github.com/huggingface/huggingface_hub) library. 
  
  ```python
  from fastai import load_learner
  from huggingface_hub import hf_hub_download
  learn = load_learner(
      hf_hub_download('davanstrien/bl-books-genre-fastai', filename="model.pkl")
      )
  learn.predict("Oliver Twist")
  ```
  
  ## Limitations and bias
  
  The model was developed based on data from the British Library's Digitised printed books (18th-19th Century) collection. This dataset is not representative of books from the period covered with biases towards certain types (travel) and a likely absence of books that were difficult to digitise.
  
  The formatting of the British Library books corpus titles may differ from other collections, resulting in worse performance on other collections. It is recommended to evaluate the performance of the model before applying it to your own data. Likely, this model won't perform well for contemporary book titles without further fine-tuning.
  
  ## Training data
  
  The training data was created using the Zooniverse platform. British Library cataloguers carried out the majority of the annotations used as training data. More information on the process of creating the training data will be available soon. 
  
  ### Training procedure
  
  Model training was carried out using the fastai library version 2.5.2. 
  
  The notebook using for training the model is available at: https://github.com/Living-with-machines/genre-classification
  
  ## Eval result
  
  The model was evaluated on a held out test set:
  ```
               precision    recall  f1-score   support
  
       Fiction       0.91      0.88      0.90       296
   Non-fiction       0.94      0.95      0.95       554
  
      accuracy                           0.93       850
     macro avg       0.93      0.92      0.92       850
  weighted avg       0.93      0.93      0.93       850
  ```
  
  