numpy, pandas, sklearn, gensim, xgboost, ripser, persim
3000 texts created by human and 3000 texts created by AI
generated column: 0 is for human and 1 is for AI
data is already processed, all texts are lowercase and have no punctuation
for each text:
- take 120 most frequent words
- vectorize all of them -> this will be our point cloud
- calculate persistent diagram on obtain cloud
- calculate persistence image of this diagram
- train models with persistence image as feature
score on test: 0.85
only 4500 texts used for training
original dataset: https://www.kaggle.com/datasets/shanegerami/ai-vs-human-text/data
persim paper: https://arxiv.org/abs/1507.06217