next up previous
suivant: Exemple d'extraction d'informations avec monter: Extraction d'information avec des précédent: Exercice 3

Le script de pré-traitement

Pour récupérer une page web (source html), nous vous proposons d'utiliser la commande wget dans un terminal (sur dept25). Par exemple:

wget www.lemonde.fr
wget "www.page.com/truc.php?arg=1&truc=chose"

Pour pouvoir extraire de l'information de cette page, il faut d'abord la compiler en un automate fini qui n'a qu'un chemin succès, correspondant à la chaîne de caractères qui représente la page. Pour faire cela, nous vous proposons un script perl converter.pl. Ce script prend en entrée un fichier utilisant l'encodage utf-8 et crée trois fichiers en sortie. Le premier fichier contient le code source de l'automate correspondant au fichier, un fichier de symboles contenant tous les symboles présents sur la page et un fichier représentant l'alphabet utilisé sous forme d'un automate fini (format source).

Prenons un exemple d'exécution (qui marche s'il y a un fichier index.html dans le dossier):

> perl converter.pl 
Entrez le nom du fichier à compiler: index.html
Entrez le nom du fichier à créer: truc
conversion terminée

Cette exécution a créé trois fichiers:

A noter que le script remplace les tabulations et fins de lignes par un espace.

Pour utiliser l'alphabet compilé sygma_truc.fst dans un fichier opengrm, on peut utiliser la fonction opengrm LoadFst. Noter aussi que ce même automate peut être utilisé comme un transducteur identité qui réécrit tout symbole en lui-même.

syg = LoadFst['sygma_truc.fst'];

Si l'on veut utiliser le codage utf8 en opengrm, c'est possible en spécifiant à chaque chaîne le codage de la façon suivante: "abc".utf8. Si l'on ne spécifie rien, le codage utilisé est de type iso-8859-1 (codage sur un octet, byte en anglais). Pour la commande fst_printstrings, elle peut afficher des chaînes en utf8 en utilisant l'option --utf8 à la place de l'option --byte.


next up previous
suivant: Exemple d'extraction d'informations avec monter: Extraction d'information avec des précédent: Exercice 3
barthe 2016-11-03