Authorship Identification with Text Mining and Machine Learning

Beginner Python, Basics of pandas, Basics of NumPy, Basics of machine learning and scikit-learn
skills learned
Extract features from text using scikit-learn and spaCy, Build a predictive classification model, Visualise authorship styles with an interactive plot, Incorporate your trained model into a user-friendly program
Robert Layton
4 weeks · 7-10 hours per week · INTERMEDIATE
Look inside
In this liveProject, you’ll step into the boots of an investigator trying to find the anonymous author of a seriously defamatory blog post. You’ve narrowed down your list of suspects, acquired a dataset of writing samples, and now plan to find the culprit using a custom machine learning project. Your challenge is to build an authorship analysis model that will match a sample to the defamatory blogpost and reveal the guilty party. To do this, you’ll need to extract data from a corpus of documents, build a model that can learn authorship style, scale the model to handle hundreds of suspects, and finally develop a user-friendly program that will allow non-technical colleagues to make use of your findings.
This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Robert Layton
Rob Layton is a data scientist, past core contributor to scikit-learn and holds a PhD in cybercrime analytics in analysing phishing websites to identify authorship patterns. He runs his own data analytics business, dataPipeline, and has given training with expert training provider Python Charmers for more than 5 years, to students in the finance, government and other private sectors.


This liveProject is for software developers with an interest in data science, and beginner data scientists. It will require a machine with a minimum of 2GB of free harddrive space and 4GB of RAM. To begin this liveProject, you will need to be familiar with:

  • Beginner Python and its utility functions
  • Basics of pandas
  • Basics of NumPy
  • Basics of scikit-learn
  • Basics of data science and machine learning
  • Reading text files with Python
  • Saving and loading Pandas DataFrames
  • Running a training and evaluation experiment
  • Running Python code from Jupyter Notebooks
  • Basics of running terminal commands

you will learn

This liveProject will teach you important text mining and machine learning techniques that can be used for both author identification and other text-based tasks. The skills you’ll develop can also be applied to spotting bots on social media, building predictive models, and detecting fraud in electronic communications.

  • Extract data from original datasets using XML parsing and BeautifulSoup
  • Clean data to remove noise that will affect your model
  • Extract useful features using preprocessing techniques, spaCy and scikit-learn
  • Build a predictive classification model with scikit-learn
  • Visualise authorship styles with an interactive plot built with altair
  • Incorporate your trained model into a user-friendly program by converting Jupyter notebooks with Viola


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.
Look inside

placing your order...

Don't refresh or navigate away from the page.
liveProject $29.99 $49.99 self-paced learning
Authorship Identification with Text Mining and Machine Learning (liveProject) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.