A cross-platform program for statistical analysis of texts, using Shannon-Weaver information theory, Zipf power law function, and readability tests
Libro is a cross-platform text analysis program written in Python and Free Pascal/Lazarus which scans a whole text file (in plain text, HTML, EPUB, or ODT formats) and ranks all used words according to frequency, performing a quantitative analysis of the text using Shannon-Weaver information statistic and Zipf power law function. It counts words, chars, spaces, and syllables. Also computes readability indexes (Gunning Fog, Coleman-Liau, Automated Readability Index (ARI), SMOG grade, Flesch-Kincaid grade level and Flesch Reading Ease).
Statistics
- Zipf's law states that the frequency of occurence of any word is approximately inversely proportional to its rank in the frequency table. When Zipf's law is applicable, plotting the frequency table on a log-log scale (i.e., log(frequency) versus log(rank order)) will typically show a linear pattern.
- Shannon-Weaver information statistic gives a measure of the entropy (or the average informaton content) of the text, expressed in bits.
- Gunning Fog, Coleman-Liau, Automated Readability Index, SMOG, and Flesch-Kincaid readability tests are designed to indicate comprehension difficulty when reading written materials.
- Other programs and web sites may give different numerical results for the same text that those computed by Libro. This occurs because they may use different formulae, but it is more likely that they use different rules for counting sentences or determining what is a syllable. Indeed, results for the same text may differ in Libro itself, if computed from source files in different formats (eg. plain text, HTML, EPUB, ODT). However, it is not the exact results themselves which are important, but the qualitative interpretations which may be derived from them, on a comparative basis.
- Support for OpenOffice/LibreOffice format (ODT) is only available in the Python version.
- The Pascal version only compiles under MS-Windows.
- Thanks to wp from the Lazarus Forum for adding improvements to the code.
- Python version 2.6 or later
- PyQt4 version 4.8 or later
- BeautifulSoup version 4.0 or later
- Matplotlib version 0.98 or later
- Free Pascal version 3.0 or later
- Lazarus version 2.0 or later
- Vector library version 050702
Source code and binary installation packages are available from SourceForge
This program is free software, made available under the GNU General Public Licence version 3 (GPL3)
© 2013-2023 Mauro J. Cavalcanti, Rio de Janeiro, Brazil