44 lines
1.9 KiB
Python
44 lines
1.9 KiB
Python
"""
|
|
Note: I code in english but comment in French !
|
|
"""
|
|
import data_preparation
|
|
from HMM import HMM
|
|
import utils
|
|
|
|
|
|
if __name__ == '__main__':
|
|
numeric_french_text = data_preparation.prepare_data('french.txt')
|
|
numeric_english_text = data_preparation.prepare_data('english.txt')
|
|
numeric_italian_text = data_preparation.prepare_data('italian.txt')
|
|
|
|
lambda_fr = HMM('matrice_emission.xls', numeric_french_text)
|
|
lambda_en = HMM('matrice_emission.xls', numeric_english_text)
|
|
lambda_it = HMM('matrice_emission.xls', numeric_italian_text)
|
|
|
|
numeric_french_word = data_preparation.get_text_in_alphabet_index_form('probablement')
|
|
|
|
# On prend le premier mot de la liste (pomme)
|
|
word = numeric_french_word[0]
|
|
|
|
res_fr, _ = lambda_fr.forward(word)
|
|
res_en, _ = lambda_en.forward(word)
|
|
res_it, _ = lambda_it.forward(word)
|
|
|
|
proba_fr = utils.normalize_probabilities(res_fr, res_en, res_it, res_fr)
|
|
proba_en = utils.normalize_probabilities(res_fr, res_en, res_it, res_en)
|
|
proba_it = utils.normalize_probabilities(res_fr, res_en, res_it, res_it)
|
|
|
|
print('Résultats forward ---------------------------------------------------')
|
|
print(f'FR={proba_fr}, EN={proba_en}, IT={proba_it}, Conclusion={max(proba_fr, proba_en, proba_it)}')
|
|
|
|
res_back_fr, _ = lambda_fr.backward(word)
|
|
res_back_en, _ = lambda_en.backward(word)
|
|
res_back_it, _ = lambda_it.backward(word)
|
|
|
|
proba_back_fr = utils.normalize_probabilities(res_back_fr, res_back_en, res_back_it, res_back_fr)
|
|
proba_back_en = utils.normalize_probabilities(res_back_fr, res_back_en, res_back_it, res_back_en)
|
|
proba_back_it = utils.normalize_probabilities(res_back_fr, res_back_en, res_back_it, res_back_it)
|
|
|
|
print('Résultat backward ---------------------------------------------------')
|
|
print(f'FR={proba_back_fr}, EN={proba_back_en}, IT={proba_back_it}, Conclusion={max(proba_back_fr, proba_back_en, proba_back_it)}')
|