Karam Abu MokhEmail me

M.Sc. final project ยท 2021 to 2023

Who really wrote this book?

Software that compares writing styles to check whether an ancient Arabic book was really written by the author whose name is on it.

A book becomes a signal: chunks, model votes, averages
Anomaly scores of each book across the author-pair networks
Degree
M.Sc. Software Engineering, AI and NLP, Braude Academic College
When
2021 to 2023
Built with
  • Python
  • TensorFlow
  • NumPy
  • Matplotlib
  • Isolation Forest
  • Dynamic Time Warping

Who it is for

Researchers of old Arabic texts, where the author credited on a book is sometimes doubtful.

What I built

A pipeline of small neural networks, one for every pair of known authors, that turns each book into a style signal and flags the books that do not fit.

How it works

  1. For every pair of known authors, train a small network that tells their writing apart: convolution, a bi-directional LSTM, then dense layers.
  2. Cut each book into 2,048-character chunks. Each network votes on every chunk, and the votes are averaged in groups of 4, so each book becomes one signal line.
  3. Compare every two books' signals with Dynamic Time Warping, a way to measure how alike two wavy lines are: one distance table per network.
  4. An outlier detector, Isolation Forest, gives each book an anomaly score per network.
  5. Plot all the scores: books that stand out across most networks are the doubtful ones.

What you can see today

The method and its real figures, here. The early data-processing step is public on GitHub.