1 / 14

Outils pour le traitement des textes Outils Unix

Outils pour le traitement des textes Outils Unix. É ric Laporte Université Paris-Est Marne-la-Vallée. Sommaire. Outils Unix pour le traitement des textes grep sed : reconnaître des séquences ambiguës sed : substitutions successives sed : déplacer, intervertir, copier "uniq" et "sort -u"

lorin
Download Presentation

Outils pour le traitement des textes Outils Unix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Outils pour le traitement des textesOutils Unix Éric Laporte Université Paris-Est Marne-la-Vallée

  2. Sommaire Outils Unix pour le traitement des textes grep sed : reconnaître des séquences ambiguës sed : substitutions successives sed : déplacer, intervertir, copier "uniq" et "sort -u" head tail

  3. Outils Unix pour le traitement des textes grep extraire des lignes sed passer d'un format à un autre (syntaxe interne aux lignes) uniq quand plusieurs lignes identiques se suivent, n'en garder qu'une sort -u quand plusieurs lignes sont identiques, n'en garder qu'une head garder les premières lignes tail garder les dernières lignes

  4. Avantages Disponibles sur tout environnement Unix Simples : traitement en quelques lignes sans déclaration de structures de données Efficaces sur de grosses ressources (textes, lexiques)

  5. Inconvénients Mal normalisés : toutes les versions ne font pas la même chose, donc faire des tests... Certaines versions sont incompatibles avec Unicode Seule structure de données : la ligne, donc incompatible avec XML Les scripts doivent rester simples, sinon mieux vaut utiliser perl, python, java...

  6. grep 1. Extraire des entrées d'un lexique egrep "+hum" lexique.lst extraire les noms marqués comme désignant des personnes 2. Quand un format n'est pas documenté et que la syntaxe est interne aux lignes, rechercher des exemples de configurations egrep -v "^[^,.]*,[^,.]*\.[^,.]*$" lexique.lst extraire les entrées qui n'ont pas exactement les deux délimiteurs attendus dans l'ordre attendu

  7. sed En général, passer d'un format à un autre par des substitutions sed -f treetagger2unitex.sed treetagger.txt > unitex.txt passer du format de sortie de treetagger au format d'entrée d'unitex (texte tagué) France NAM France : PUN : la DET:ART le nouvelle ADJ nouveau génération NOM génération {France,France.N+PR} : {la,le.DET} {nouvelle,nouveau.A} {génération,génération.N}

  8. sed Scripts sed sed -f treetagger2unitex.sed treetagger.txt > unitex.txt # treetagger2unitex.sed s/\tNOM\t/\t.N\t/ # remplacer \tNOM\t par \t.N\t génération NOM génération génération .N génération

  9. sed Reconnaître des séquences ambiguës SENT : code (sentence) ou mot (sentir) ? Reconnaître une partie du contexte avec s/\tSENT\t/\t{S}\t/ ? SENT ? ? {S} ? Rechercher des exemples de la séquence egrep "SENT" treetagger.txt > auxiliaire.lst

  10. sed Substitutions successives s/\t/,/ génération.NOM génération génération.NOM,génération Dans les substitutions qui viennent ensuite, les tabulations ont déjà été remplacées par des virgules Confusion entre niveaux : - virgule du texte ? - virgule-délimiteur ? Créer des niveaux intermédiaires non ambigus s/\t/\t,/ génération.NOM génération génération.NOM ,génération

  11. sed Déplacer, intervertir s/\t\([^:]*\):\([^:]*\)\t/\t\2:\1\t/ la DET:ART le la ART:DET le Copier & (dans la zone sortie, copie de la zone reconnue)

  12. sed Reconnaître les débuts et fins de lignes .* toute la ligne ^ début de ligne $ fin de ligne

  13. "uniq" et "sort -u" uniq Utiliser sur une liste déjà classée sort -u Utiliser sur une liste non classée

  14. head, tail head -100000 lexique.lst extraire les 100 000 premières lignes (pour tests) tail -100000 lexique.lst extraire les 100 000 dernières lignes

More Related