Text-Parser
Building on my initial experiences with typing, I developed a program to analyze the frequencies of letters and characters in various texts to generate an optimal keyboard configuration. This tool allows for the comparison of up to three text sources and produces a detailed PDF report.
Table of Contents
Objective
See article on the BÉPO layout: BÉPO learning
The program performs frequency analysis on characters common to the different sources, averages the results, and classifies them by language based on these averages. This analysis helps in designing keyboard layouts that balance typing loads between hands and prioritize faster, more powerful fingers over weaker ones.
The program calculates the frequency of character usage and visualizes the results, helping to position letters on the keyboard in a way that enhances typing efficiency. For example, the graph shows that the letter “e” is heavily used in German compared to French, which uses it less frequently. Additionally, the letter “h” is used less in French than in English and German, reflecting linguistic differences.
Feedback
Developing this program has been both enjoyable and educational. It allowed me to explore the principles behind optimized keyboard layouts and provided a playful exploration of linguistic data. The project reinforced my programming skills and deepened my appreciation for the intersection of language and technology in improving typing efficiency.
Technologies Used
Python3
The main programming language used for data analysis and report generation.
- Source: Python Official Website
Pandas
A library for data manipulation and analysis, used to process and analyze text data.
- Source: Pandas Documentation
Matplotlib
A plotting library used to create visual representations of frequency data and comparisons.
- Source: Matplotlib Documentation
ReportLab
A library for generating PDF documents from Python, used to produce the final reports.
- Source: ReportLab Documentation
Project Repository
For more details on the implementation, access the source code, and explore the project, visit the GitHub repository:
License
This project is licensed under the MIT License. See the LICENSE file for more information.