Vous constatez que la compilation du fichier grm a duré longtemps. C'est
beaucoup plus rapide avec le fichier scindé en une chaîne par ligne. Modifiez
le opengrm donné à la section précédente et rappelé ci-dessous pour extraire
les nombres de cet automate (appelé le_monde_lines
). Vérifiez que les
résultats obtenus avec les deux entrée (page sous forme d'une seule ligne ou
sous forme de plusieurs lignes) sont identiques.
export alphabet = LoadFst['sygma_lemonde']; export chiffre = Optimize["0".utf8|"1".utf8|"2".utf8|"3".utf8|"4".utf8| "5".utf8|"6".utf8|"7".utf8|"8".utf8|"9".utf8]; export chiffre_id = Optimize[("0".utf8:"0".utf8)|("1".utf8:"1".utf8)|("2".utf8:"2".utf8)|("3".utf8:"3".utf8)|("4".utf8:"4".utf8)|("5".utf8:"5".utf8)|("6".utf8:"6".utf8)|("7".utf8:"7".utf8)|("8".utf8:"8".utf8)|("9".utf8:"9".utf8)]; export pas_chiffre = alphabet - chiffre; pre_extract_chiffre = (alphabet : "".utf8)* (pas_chiffre:"".utf8) (chiffre_id+) (pas_chiffre:"".utf8)(alphabet : "".utf8)*; export extract_chiffre = Optimize[pre_extract_chiffre]; export chaine_test_1 = LoadFst['lemonde']; export composition = Optimize[chaine_test_1 @ extract_chiffre]; export projection = Project[composition,'output']; export result = Optimize[projection];