next up previous
suivant: Exercice facile monter: Extraction d'information avec des précédent: Exemple avec une chaîne

Exercice préliminaire

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];



barthe 2018-01-30