LouYu2015 / analysis_on_the_story_of_a_stone

Analysis on the novel "the Story of a Stone"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Analysis on the Story of a Stone

Author: Yu Lou

Written for Python 3.

博文链接:用 Python 分析《红楼梦》

preprocess.py

Preprocess text.

Input

  • hlm.txt: original text

Output

  • preprocessing.txt: preprocessed text.

preprocess_chapters.py

Split text into chapters and preprocess them.

Input

  • hlm.txt: original text

Output

  • chapters(folder): preprocessed text. One file for each chapter, numbered from "1.text".

dict_creat.py

Creat dictionary.

Input

  • preprocessing.txt: preprocessed text.

Output

  • dict.csv: dictionary.

word_split.py

Split words apart.

Input

  • preprocessing.txt: preprocessed text.
  • dict.csv: dictionary.

Output

  • word_split.text: split text.

word_split_chapters.py

Split words apart in all chapters.

Input

  • preprocessing.txt: preprocessed text.
  • dict.csv: dictionary.
  • chapter(folder): preprocessed text for all chapters.

Output

  • chapter_split(folder): split text. One file for each chapter, numbered from "1.text".

word_count.py

Count words.

Input

  • word_split.text: split text.

Output

  • word_count.csv: counting result, sorted by number of occurrence.

word_count_chapters.py

Count words in each chapter.

Input

  • chapter_split(folder): split text for each chapter.

Output

  • word_count_chapters.csv: counting result. One line per word and one chapter per column.

analysis.py

Do PCA analysis. Show result on screen.

Prerequisite

"sklearn", "numpy" and "matplotlib" is needed to run this program.

Input

  • word_count_chapters.csv: word counting result for each chapter.

Output

  • components.csv: weights for each component.

suffix_tree.py

Library for suffix tree.

correctness_calculate.py

Calculate the correctness of word splitting algorithm.

Input

  • *_answer.txt: answer.
  • *_result.txt: result of the program.

("*" is file prefix)

About

Analysis on the novel "the Story of a Stone"


Languages

Language:Python 100.0%