## 4 Results  
This grapheme-to-phoneme conversion algorithm for Polish was implemented in the Python programming language as an independent application called TransFon[48]. The developed application allows the grapheme-to-phoneme conversion of any orthographic text file in Polish. Evaluation of automatic grapheme-to-phoneme conversion implementations is crucial. It is necessary to determine the application's degree of success (accuracy). The evaluating and testing procedure for this automatic grapheme-to-phoneme conversion implementation consisted of the following elements:  
* Performing grapheme-to-phoneme conversion of an orthographic text corpus file containing the most frequently used words in Polish (those with different orthographic representations), obtained from resources in the National Corpus of Polish [50];
* Validation and verification of the conversion results for those words using the Polish language dictionary that specifies the correct pronunciation of words in Polish;
* Registering cases of incorrect conversion, errors, and other problems encountered;
* Attempts to solve the problems. This grapheme-to-phoneme conversion application was implemented in such a way that the conversion algorithm stopped when a grapheme-to-phoneme conversion problem occurred (e.g., when there was no rule allowing for a correct phonetic transcription). This made it easier to improve and develop the conversion application. In addition, any doubts about correct pronunciations were resolved with help of the aforementioned dictionary. In order to evaluate the implemented grapheme-to-phoneme conversion system, the word error rate (WER), and phoneme error rate (PER) were used, as the methods usually used to evaluate the performance of automatic speech recognition systems. The WER value for this grapheme-to-phoneme conversion system was calculated as the ratio of the number of incorrectly converted words to the total number of words converted from the language corpus. The PER parameter was similarly defined and calculated for phonemes. The causes of problems and errors in the automatic grapheme-to-phoneme conversion operation were as follows:  
* Errors in the implementation of the algorithm or conversion rules;
* Missing conversion rules in tables (rules not included in the tables) for some orthographic letters in contexts;
* Problems with conversion of foreign words, acronyms and words that are not in the Polish language dictionary. These problems were solved in the following ways:
* Implementation errors in the conversion algorithm and rule tables were corrected by modifying the application source code;
* The problem of missing conversion rules in tables has been solved by adding rules to the tables. It should be noted that the added grapheme-to-phoneme conversion rules cooperate with the rules implemented earlier and known from the literature [36; 37]. In order to complete the rule tables, new rules were added for selected letters e.g. : \"i\", \"n\", \"d\", \"z\", \"z\", \"\(\zeta\)\", \"f\", \"s\" in some contexts, in particular:
* adding or correcting conversion rules for the letter \"i\" for correct conversion of words : \"unii\", \"bedzie\", \"sobie\", \"razie\", \"diabel\", and similar contexts;
* adding or correcting conversion rules for the letter \"n\" for correct conversion of words: \"branzy\" and similar contexts;
* adding or correcting conversion rules for the letter \"d\" for correct conversion When the letter \"d\" occurs at the end of a word, e.g.