Partie 2

Exercice n°1 sur le texte du père Duchesne

• Question 1:

Pour cette première question, on va chercher tous les mots qui commencent par "citoy" dans le texte "Duchn.txt". Ci-dessous, le code qu'il faut écrire :

Ce que dit le code :

On utilise la commande egrep, ensuite on va écriture entre guillements ce que l'on cherche avec une expression régulière puis on va préciser dans quel texte on veut effectuer notre recherche, à savoir le texte Duchesne. Pour obtenir tous les mots commençant par "citoy" on va écrire \b (suivie de citoy) pour marquer la frontière de mot et préciser que l'on cherche "citoy" en début de mot. Pour avoir un résultat écrit on va ajouter le nom du fichier dans lequel on veut l'obtenir précédé d'un ">".

A chaque question nous vous présenterons l'image de résultat ainsi qu'un lien qui va vers celle-ci.

Lien vers le fichier de résultat

• Question 2:

Pour cette question, on veut trouver tous les mots commençants par "aristo".

Ce que dit le code :

Cette question est similaire à la première, sauf que cette fois-ci on va chercher les mots commençant par "aristo" donc même démarche, utilisation de la commande egrep, puis de l'expression régulière \b pour marquer la frontière de mot et enfin le texte où l'on va effectuer la recherche.

Lien vers le fichier de résultat

• Question 3:

Pour cette question, on veut trouver tous les mots commençant par "bougre".

Ce que dit le code :

Encore une fois (et oui c'est une habitude !), on prend (presque) les mêmes et on recommence. Sauf que bien sûr, on écrit après \b le mot "bougre".

Lien vers le fichier de résultat

• Question 4:

Pour cette, question, on veut trouver tous les mots qui parlent de sans-culottes.

Ce que dit le code :

Ici, il n'est pas nécessaire de préciser une frontière de mot avec l'expression régulière \b. Donc on mettra simplement une partie du mot culotte, c'est-à-dire "culott" pour que la commande egrep nous répétorie les mots.

Lien vers le fichier de résultat

• Question 5:

Pour cette question, on veut trouver tous les mots commençant par une majuscule.

Ce que dit le code :

Dans le texte Duchn, les majuscules sont précédées d'un astérisque, ainsi on va donc utiliser le "\" afin de délimiter une frontière de mot.

Lien vers le fichier de résultat

• Question 6:

Pour cette question, on veut trouver tous les mots finissant par -er.

Ce que dit le code :

On va retrouver notre chère expression régulière "\b" qui nous permet de délimiter une frontière de mot. Ici, on souhaite se focaliser sur la fin des mots, donc le "\b" sera positionné après le segment de mot recherché.

Lien vers le fichier de résultat

• Question 7:

Pour cette question, on cherche les mots qui parlent de "danger".

Ce que dit le code :

On va utiliser \b pour marquer la frontière de mot et dire que l'on veut les mots commençant par "dang" car si l'on ne le précise pas, le programme inclut les mots tels que vendanges..

Lien vers le fichier de résultat

• Question 8:

Pour cette question, on cherche les mots qui parlent de "patrie".

Ce que dit le code :

Il suffit simplement d'écrire "patri" pour dire que l'on cherche les mots qui ont cette suite de caractères.

Lien vers le fichier de résultat

• Question 9:

Pour cette question, on cherche les mots qui parlent de "liberté".

Ce que dit le code :

On remarque que, dans le texte sur lequel on travaille, on a des mots qui ont le même début que le mot liberté. Par exemple, on trouve le mot "libertins". Seulement, le mot libertin n'appartient pas aux mots qui parlent de liberté. Ainsi, pour éviter d'avoir ce genre e mots dans notre liste, on va écrire les premières lettres du mot liberté, à savoir "lib" puis on va ajouter des crochets [] qui signifient que la chaîne de caractères lib "est suivie de" et ici on va noter les lettres qui suivent. On trouvera donc re pour le mot libre ou er pour le mot liberté. Sans oublier \b qui nous permet de dire que l'on se place en début de mot.

Lien vers le fichier de résultat

• Question 10:

Pour cette question, on cherche les mots qui parlent de "temps".

Ce que dit le code :

On va utiliser l'expression régulière \b pour signifier que l'on cherche des débuts de mots commençant par "temps" que l'on ajoute ensuite.

Lien vers le fichier de résultat

• Question 11:

Pour cette question, on cherche les mots qui parlent de "république".

Ce que dit le code :

On va (encore!) utiliser notre fameux \b pour dire au programme que l'on se place en début de mot. Ensuite, il suffit d'écrire le mot "r.publi". Mais pourquoi un point après le r ? Tout simplement parce que notre programme se base sur l'anglais et donc ne connaît pas les caractères accentués du français comme le "é". Le point va donc le remplacer en signifiant "n'importe quel caractère".

Lien vers le fichier de résultat

• Question 12:

Pour cette question, on cherche les mots qui parlent de "trahison".

Ce que dit le code :

On tape \b pour marquer la frontière de mot puis on écrit "tra"qui sont les trois premières lettres du mot trahison. Seulement, comme pour le mot "liberté" ce qui vient après "tra" est variable. Ainsi, on peut trouver les mots trahir ou traître. On va donc ré utiliser les crochets pour dire que plusieurs cas sont possibles. On mettra donc h pour les mots trahison, trahir et ".tr" pour les mots comme traître. On retrouve le point car le i est accentué et le programme, s'il est mis tel quel, ne le reconaîtra pas.

Lien vers le fichier de résultat

• Question 13:

Pour cette question, on cherche des séquences de mots comportant une forme négative (ne...pas ; n'...pas etc.)

Ce que dit le code :

Pour cette question, on cherche plusieurs expressions, à savoir "ne...pas" ou "n'...pas". On va donc utiliser le symbole | pour signifier une alternance et donc que le programme va soit chercher ne...pas ou n'...pas.

Lien vers le fichier de résultat

Exercice n°2 sur l'étude morphologique

Les différentes questions portent sur le texte Dico.

• Question 1 : Combien y a-t-il de mots dans le fichier ?

Pour connaître le nombre de mots dans le fichier dico, on va utiliser la commande wc (word counts, comptage des mots en anglais) suivi de -w et ensuite on va préciser le fichier dans lequel on travaille. Ici, il a 136252 mots dans le fichier.

• Question 2 : Extraction des mots se terminant par -able :

On va utiliser une expression régulière, "able" suivi de \b pour marquer la frontière de mot.

Lien vers le fichier de résultat

• Question 3 : Combien y a-t-il de mots se terminant par -able ? A quelle partie du discours sont-ils rattachés ?

Même principe, pour compter les mots on utilise la commande wc -w suivi du fichier où l'on a recensé tous les mots finissant par -able. Ici, il y en a 492. Ces mots font partis des adjectifs (exemple : adorable).

• Question 4 : Extraction des mots terminant par -eux, combien y a-t-il de mots ? A quelle partie du discours sont-ils rattachés ?

Lien vers le fichier de résultat

Les questions sont similaires que celles pour les mots finissant par -able. Les mots finissant par -eux sont soit des noms (exemple : des aieux), des adjectifs (exemple : astucieux) ou des pronoms (exemple : eux, ceux).

• Question 5 : Quelle est la commande permettant d'extraire à la fois les mots finissant par -able et ceux finissant par -ible ?

Pour cette question, on recherche des mots avec un fin différente (seul le "a" ou le "i" changent), on va donc utiliser les crochets [] pour montrer cette variable ensuite inscrire ce qui suit ces deux voyelles "ble" et pour finir mettre \b pour désigner la fin du mot.

Lien vers le fichier de résultat

Exercice n°3 : structure d'une entrée de dictionnaire avec XML

Pour faire cet exercice nous avons choisi 10 noms de chiens : Labrador, caniche, bouledogue, fox-terrier, terre-neuve, mastiff, cocker, colley, lévrier et teckel.

Nous avons représenté la structure des définitions sous forme de schéma simplifié que voici :

Voici une capture d'écran du résultat rendu sur Google Chrome :

--> Arbre représentant la structure d'une sortie de dictionnaire <--

Voici également ce que cela donne en version texte sur Google Chrome :

--> Arbre version texte <--