INDEXATION ET RECHERCHE D'INFORMATION (IRI) Cours DESS II et SCHM, Université Paris 11
|
|
- Sévérine Bordeleau
- il y a 8 ans
- Total affichages :
Transcription
1 INDEXATION ET RECHERCHE D'INFORMATION (IRI) Cours DESS II et SCHM, Université Paris 11 Christian Jacquemin (Université Paris 11 et LIMSI-CNRS)
2 Introduction à la recherche d'information
3 LES RECHERCHES D'INFORMATIONS Préparatifs Classification et catégorisation de documents Représentation de l'information Bibliométrie Segmentation de documents, indexation Recherche d'information Requêtes booléennes, par document similaire, par description de sujet, par parcours de thésaurus Moteurs de recherche Requêtes sur une base de données (type SQL) Envoi d'information Routage Veille technologique
4 APPROCHE FONCTIONNELLE [Salton et Mc Gill 83]
5 LE MODÈLE BOOLÉEN Une requête est une expression booléenne sur les termes des documents Un document est sélectionné si et seulement si il satisfait l'expression booléenne (Auteur="Sartre" OU Auteur="Camus") ET (Titre~"Mythe" OU Titre~"étranger")
6 LE MODÈLE VECTOR SPACE [Salton 89] Documents et requêtes sont exprimés comme des vecteurs de termes Les documents sont classés en fonction de leur proximité avec la requête (Cosinus)
7 RAPPEL, PRÉCISION ET FALLOUT Précision = R r / R Rappel = R r / P Fallout = (R - P) / (D - R) taux documents pertinents dans les documents rapportés taux de documents pertinents rapportés taux de documents non pertinents rapportés
8 LA COURBE RAPPEL/PRÉCISION La précision est une fonction décroissante du rappel. Précision et rappel sont dans l'intervalle [0..1].
9 INDEXATION AUTOMATIQUE: RÉDUCTION DE L'INFORMATION Le but de l'indexation automatique est de transforment des documents en substituts capables de représenter le contenu de ces documents (Salton & McGill, 1983, 3.3.A). Les techniques basiques d'indexation automatique se font selon les étapes suivantes: 1.simplification du texte: 1.suppression des mots de fortes fréquences, généralement en référence à une stop list, 2.regroupement des formes morphologiquement liées par la racinisation, 2.sélection des meilleurs index, généralement basés sur des critères de fréquence tels que la valeur de discrimination, 3.pondération des termes qui reflète l'importance des termes pour la recherche d'information. Les termes utilisés traditionnellement en recherche d'information sont des mots simples. Toutefois l'indexation sur des syntagmes est une technique complémentaire qui augmente la précision en exploitant les termes multi-mots qui sont plus spécifiques que les termes simples.
10 TERMES EN THESAURUS: AGROVOC Entrée du terme Immunisation dans AGROVOC, un thesaurus en agronomie: Code Texte Glose IMMUNISATION (immunisation spécifique d'antigène) [note d'usage] ep immunisation active [non descripteur (synonyme)] ep immunisation croisée -- ep sensibilisation immune -- TG1 immunostimulation [generic term (level +1)] TG2 immunothérapie [-- (niveau +2)] TG3 thérapeutique [-- (niveau +3)] TG4 contrôle de la maladie [-- (niveau +4)] TS1 vaccination [terme spécifique (niveau -1)] ta antigène [terme associé] ta réponse immunitaire -- ta résistance aux maladies -- ta résistance induite -- En immunization [équivalent en anglais] Es immunizaci'on [équivalent en espagnol]
11 CONCEPTS DANS UN META-THESAURUS: UMLS La hiérarchie des fonctions biologiques dans le méta-thesaurus du Unified Medical Language System (UMLS), un méta-thesaurus dans le domaine médical:
12 TERMES DANS LES DOCUMENTS Les termes dans les documents sont utilisés pour la communication scientifique et technique et doivent satisfaire les trois critères suivants: économie, précision et adéquation (Sager). Économie: réutilisation du matériel existant en juxtaposant ou en surcomposant les termes (flux de sang capillaire est un terme ternaire construit à partir du terme binaire flux de sang) ou en référant à des concepts associés à des termes complexes au moyen d'expressions plus courtes (CAPD = Continuous ambulatory peritoneal dialysis). Précision Ajout de modifieurs additionnels lorsqu'un terme est ambigu (glande salivaire mandibulaire est plus précis queglande mandibulaire). Adéquation: Un compromis entre précision et économie en fonction du contexte courant, du focus, de la connaissance du domaine, du niveau de technicalité du document, etc.
13 INDEXATION AUTOMATIQUE : NOTIONS Index Les documents sont indexés par des termes, des mots simples (ou composés) censés représenter le contenu du document. Les index ne reprentent donc qu'une partie du document. On peut n'effectuer l'indexation que sur une partie du document. Fichier inverse Le fichier associant les termes aux documents.
14 INDEXATION AUTOMATIQUE : QUALITÉ DES TERMES Bons discriminateurs (médecine) [Salton et Mc Gill 83] 1. marrow 3. lymphostasis 5. hela 2. amyloidosis 4. hepathitis 6.antigen Mauvais discriminateurs (médecine) [Salton et Mc Gill 83] clinic act develop children high treat Mots stop [Salton et Mc Gill 83] 1. a 3. across 5. afterwards 2. about 4. after 6.again
15 But de la morphologie MORPHOLOGIE : INTRODUCTION L'étude de la construction des mots (leurs structures, leurs variations, leurs similitudes). Le double intérêt de la morphologie en recherche d'information L'analyse des mots permet (1) la simplification du texte en remplaçant les mots par leurs racines, et (2) l'expansion des requêtes en ajoutant les mots de la même famille à une requête. La morphologie mise en oeuvre en recherche d'information est très simple comparée aux études linguistiques.
16 MORPHOLOGIE: NOTIONS DE BASE Chaque mot de la langue a une catégorie morpho-syntaxique ou catégorie grammaticale Flexions, dérivations et mots composés Paradigme flexionnel: je travaille, tu travailles, elle/il travaille... Le lemme est travailler. Paradigme dérivationnel: nation, nationalité, nationaliser... La racine est nation. Les mots composés: un lave-vaisselle, un timbre poste, un centimètre, tout à fait. Description d'un mot Racine et lemme de nationaliseraient: lemme nationaliser et racine nation. Catégorie morphosyntaxique (ou grammaticale) attachée au lemme: nationaliseraient est un verbe. Traits morphologiques distinguent les différentes flexions d'un paradigme flexionnel: nationaliseraient est le verbe nationaliser à la 3ème personne de l'imparfait de l'indicatif.
17 MORPHOLOGIE DÉRIVATIONNELLE Affixations Préfixation: construire -> dé-construire. Suffixation: construire -> construct-eur. Allomorphies du suffixe -ion: permettre/permission, confondre/confusion, conduire/conduction. Combinaison d'affixations sur une même racine Structure d'un mot construit: déconstructeur = [ [dé [construire] V ] V eur] N.
18 MORPHOLOGIE: SCHÉMA GÉNÉRAL [Bauer 83]
19 RACINISATION: ALGORITHME DE LOVINS Désuffixage et recodage séparés (Lovins, 1968). Terminaisons (consultées par taille décroissante)
20 1 1 - a l i s t i c a l l y - a r i z a b i l i t y - i 10 -antialness -arisations -arizations -entialness 9 -al lic all y -a nta ne ou s - a n t i a l i t y
21 z a t i o n a l l y -ar isa tio n...
22 Règles de recodage des fins de racines (sont consultées dans cet ordre) 1.suppression desconsomnes répétées: bb-, dd-, gg-, ll-, mm-, nn-, pp-, rr-, dd-, tt iev- -> ief- 3.uct- -> uc- 4.umpt- -> um- 5.rpt- -> rb-... RACINISATION: ALGORITHME DE PORTER Désuffixage et recodage simultanés (Porter, 1980) Etape 1a Etape 1c -SSES -> -SS caresses -> caress -IES -> -I ponies -> poni -SS -> -SS caress -> caress -S -> - cats -> cat -Y -> -I happy -> happi -ANT -> - irritant -> irrit -EMENT -> - replacement -> replac -MENT -> - adjustment -> adjust
23 Etape 3 -ATIONAL -> -ATE -TIONAL -> -TION relational -> relate conditional -> condition Racines produites par (Lovins, 1968). RACINISATION: EXEMPLES Chaîne initiale Chaîne après désuffixage magnesia magnes magnes magnesite magnes magnes magnesian magnes magnes magnetize magnet magnet Chaîne recodée magnetometer magnetometer magnetometer magnetometric magnetometr magnetometer magnetometry magnetometr magnetometer
24
25 RACINISATION DU FRANÇAIS (Namer) 1/2 Analyse linguistique : le cas de -èrent en général, -èrent marque les verbes du 3ème groupe au passé simple : céd-èrent quelquefois, la terminaison est plus courte et -èrent marque le présent : légifèr-ent très rarement, la terminaison est ambiguë : lac-èrent et lacèr-ent Règles et exceptions : le cas de -èrent les partitions ambiguës sont lexicalisées car elles sont rares la règle étant le désuffixage sur le suffixe le plus long, les verbes correspondant au suffixe -ent tels que légifèr- sont lexicalisés dans les autres cas (e.g. céd-), le désuffixage se fait régulièrement sur -èrent.
26 RACINISATION DU FRANÇAIS (Namer) 2/2 Réduction des allomorphes principe : réduction à une racine unique cèd- -> cédjett- -> jet- Règles et exceptions : le cas de tt- 26 lemmes ont leur racine qui se termine par ttpour les autres, la consonne géminée est simplifiée
27 AUTOMATES FINIS Un automate fini est un graphe (arcs étiquetés sur un alphabet = transitions et noeuds = états) avec un état distingué (1, l'état initial) et un ensemble d'états distingués (les états finaux). Une chaîne est acceptée ssi il existe un chemin allant de l'état initial à un état final étiqueté par cette chaîne.
28 EXPRESSIONS RÉGULIÈRES ET AUTOMATES À ÉTATS FINIS Le logiciel TERMS (Justeson & Katz, 1995) d'extraction terminologique repose sur les filtres de patrons de catégories syntaxiques au moyen de l'expressions regulière suivante: ((A N) + (A N) * (N P) (A N) * ) N L'automate à états finis qui représente le langage défini par cette expression régulière est:
29 TRANSDUCTEURS FINIS Un transducteur fini est un automate dont les transitions portent des couples d'étiquettes : une étiquette d'entrée et une étiquette de sortie. Une chaîne est acceptée ssi il existe un chemin Callant de l'état initial à un état final étiqueté par cette chaîne. La chaîne émise est obtenue en concaténant les symboles émis sur les transitions du chemin C.
30 TRANSDUCTEURS FINIS : OPÉRATIONS Trois opérations sur les transducteurs Union Si T 1 et T 2 sont deux transducteurs, il existe un transducteur T 1 U T 2 tel que l'image de toute chaîne par T 1 U T 2 soit l'union des images par T 1 et T 2. Inversion Si T est un transducteur, il existe un transducteur T -1 tel que l'image de toute chaîne C par T -1 est l'union des chaînes dont l'image par T est C. Composition Si T 1 et T 2 sont deux transducteurs, il existe un transducteur T 2 o T 1 tel que l'image de toute chaîne C par T 2 o T 1 soit l'image par T 2 de l'image de C par T 1. Inversion et composition sont les deux propriétés les plus importantes. Elles permettent (1) d'inverser un transducteur passant, par exemple, d'analyse en génération et (2) de composer autant de transducteurs élémentaires que l'on souhaite en une machine complexe. Les transducteurs ne sont pas fermés pour l'intersection.
31 ANALYSE MORPHOLOGIQUE: APPROCHE CONCATENATIVE Une approche concaténative de la morphologie basée sur une arc-list, une liste de toutes les formes de base associées avec des suffixes flexionnels (Tzoukermann & Liberman, 1990)
32 ANALYSE MORPHOLOGIQUE FLEXIONNELLE (TZOUKERMANN) 1/2
33 ANALYSE MORPHOLOGIQUE FLEXIONNELLE (TZOUKERMANN) 2/2 Étiq. entrée Étiq. sortie Cha îne Traits rece v recevoir/ Fin oir verb/infinitive 226 Fin ons 1st/plural/present/indicative 226 Fin ez 2nd/plural/present/indicative 226 Fin ais 1st/singular/imperfect/indicative 226 Fin ais 2nd/singular/imperfect/indicative reç recevoir/ Fin ois 1st/singular/present/indicative 225 Fin ois 2nd/singular/present/indicative 225 Fin oit 3rd/singular/present/indicative 225 Fin oive nt 3rd/plural/present/indicative 225 Fin us 1st/singular/simple-past/indicative 225 Fin us 2nd/singular/simple-past/indicative
34 GRAMMAIRES HORS CONTEXTE Une grammaire hors contexte est décrit par des règles avec un non-terminal en partie gauche et une partie droite composée d'une concaténation de non-terminaux et de chaînes du langage. Pour la description d'un syntagme nominal en anglais, on peut écrire une grammaire des syntagmes nominaux telle que: <SN> <PreMod> <PreMod> <PreMod> <Adj> <Nom> -> <PreMod> <Nom> -> <PreMod> and <PreMod> -> <PreMod> <PreMod> -> <Adj> <Nom> -> normal -> blood bone cell marrow
35 ARBRES D'ANALYSE Les deux arbres de dérivation associés à blood and bone marrow cell par la grammaire précédente sont:
36 ASSOCIATIONS DE MOTS Les quatre fréquences caractérisant une paire de mots dans un texte sont représentées par la table de contingence suivante (Daille, 94, chap 4.3.2): w 2 w'!= w 2 w 1 a = f(w 1,w 2 ) b = SOM w'!= w2 f(w 1,w') w!= w 1 c = SOM w! = w1 f(w,w 2 ) d = SOM w!= w1,w'!= w2 f(w,w') L'Information Mutuelle est une mesure utilisée en théorie de l'information (Fano, 61, chap. 2) et appliquée aux associations de mots: IM(X,Y) = log 2 (P(w 1,w 2 ) / (P(w 1 ) P(w 2 ))) = log 2 a/((a+b)(a+c))
37 Introduction à Perl
38 PERL: INTRODUCTION Présentation Ce tutoriel est inspiré du tutoriel en ligne de Nik Silver à l'université de Leeds. Il est orienté vers l'extraction d'information à partir de données textuelles et ne prétend pas présenter toutes les facettes de ce langage. Perl est un logiciel GNU Public Licence.
39 Un programme simplissime Un programme d'affichage d'une chaîne : #!/usr/local/bin/perl PERL: PREMIER PROGRAMME # # Programme d'affichage d'une chaîne # print "Ça marche!"; # Imprime un message Composantes Lancement du programme perl supposé localisé à /usr/local/bin #!/usr/local/bin/perl Le texte suivant un # sur une ligne est un commentaire. # # Programme d'affichage d'une chaîne # La dernière ligne est une instruction d'impression à l'écran. print "Ça marche!";
40 PERL: EXÉCUTION Deux solutions Faire exécuter le programme par perl >perl mon_prog.prl Rendre le programme exécutable et le lancer directement. >chmod +x mon_prog.prl >mon_prog.prl Ça marche!> Si le message d'erreur bash:./mon_prog.prl: No such file or directory s'affiche, vérifier que le chemin pour accéder à perl est correct en tapant : which perl
41 PERL: VARIABLES SCALAIRES Exemples Les variables scalaires en perl ne sont pas typées. Elles contiennent donc indifféremment des nombres entiers, des nombres flottants ou des chaînes de caractères. $titre = "Un titre de ". 3. " lignes\navec un retour à\nla ligne.\n"; print $titre; donne Un titre de 3 lignes avec un retour à la ligne. La concaténation de chaînes (donc un environnement de chaînes de caractères) convertit les nombres en chaînes. Opération arithmétique sur une variable scalaire $x = 2; $x += 5; print $x. "\n"; donne 7
42 PERL: OPÉRATIONS ET AFFECTATIONS Opérations Perl utilise les opérateurs arithmétiques de C classiques: $a = 1 + 2; $a = 3-4; $a = 5 * 6; $a = 7 / 8; # Division rationnelle (non entière) $a = 9 ** 10; # puissance $a = 5 % 2; # Reste de la division entière ++$a; # Préincrément $a++; # Post-incrément --$a; # Prédécrément $a--; # Post-décrément et pour les chaînes: $a = $b. $c; # concaténation $a = $b x $c; # $b répété $c fois Affectations $a = $b; # Affecte $b à $a $a += $b; # Ajoute $b à $a $a -= $b; # Soustrait $b de $a $a.= $b; # Concatène $b à $a Contrairement aux langages à pointeurs comme Java, l'instruction $a = $b copie le contenu de $b dans $a. Toute modification ultérieure de $b ne changera pas la valeur de $a.
43 PERL: INTERPRÉTATION DE VARIABLES Forcer l'interprétation d'une variable dans une chaîne Il y a deux façons de définir une chaîne : avec des doubles ou des simples quotes. Seules les doubles quotes forcent l'interprétation des variables $a = "perl"; $chaine = "Je programme en $a.\n"; print $chaine; donne Je programme en perl. alors que $a = "perl"; $chaine = 'Je programme en $a.\n'; print $chaine; donne Je programme en $a.\n>
44 PERL: TABLEAUX 1/2 Définition Un tableau est une liste ordonnée de variables = (1, "deux", "3"); print $a[1]. "\n"; donne deux Affectations On peut utiliser un tableau pour en construire un autre = (1, "deux", = (2+2)); # = ("ZERO", 1, "deux", "3", 4); Ajouter ou soustraire des éléments un par un par la fin du tableau = (1, "deux", "3"); push(@a, 2**2); # = (1, "deux", "3", 4); $b = pop(@a); # = (1, "deux", "3") et $b = 4;;
45 PERL: TABLEAUX 2/2 Affectations combinant variables scalaires et tableaux On peut directement manipuler des variables scalaires dans un tableau lors d'affectations : ($a, $b) = ($c, $d); # Équivaut à $a=$c; $b=$d; ($a, $b) # $a et $b ont pour valeurs respectives # les deux premiers éléments # $b est vide n'a qu'un élément # $a est le premier élément est la liste des éléments restants. Taille d'un tableau $#tab ou en forçant un tableau à être converti en nombre dans un contexte numérique + 0 = (1, "deux", "trois"); # 3: la taille en contexte scalaire print "@a\n"; # 1 deux trois: la concaténation avec des séparateurs # 1deuxtrois: les éléments soudés
46 Ouverture, fermeture et lecture PERL: FICHIERS 1/2 Ouverture d'un fichier, stockage dans un tableau, puis affichage. Attention : dans le cas de gros fichiers, cette commande peut saturer la mémoire car elle fait stocker l'ensemble du fichier dans un tableau. #!/usr/local/bin/perl $NomFic = 'doc/doc.txt'; # Nom du fichier open(info, $NomFic); # Ouverture du = <INFO>; # Stockage dans un tableau close(info); # Fermeture du fichier # Impression du fichier sur la sortie standard Différents modes d'ouverture open(info, $file); # Ouverture pour lecture open(info, "<$file"); # Alternative explicite pour lecture open(info, ">$file"); # Ouverture pour écriture open(info, ">>$file"); # Ouverture pour écriture en fin
47 PERL: FICHIERS 2/2 Propriétés L'instruction $ligne = <INFO> ne stocke que la première ligne du fichier. Si elle est réitérée, on lit le fichier ligne à ligne. Les filehandles STDIN, STDERR, et STDOUT représentent les entrée, sortie et erreur standard. Pour écrire dans un fichier faire print FILE $chaine;. En conséquence print $chaine; équivaut à print STDOUT $chaine; Pour sélectionner une sortie par défaut faire select FILE.
48 PERL: TEST BOOLÉENS Tests sur scalaires Les tests sur les valeurs scalaires : $a == $b # $a numériquement égal à $b # Attention: ne pas utiliser l'opérateur = $a!= $b # $a numériquement distinct de $b $a < $b # $a inférieur strict à $b $a <= $b # $a inférieur ou égal à $b $a > $b # $a supérieur strict à $b $a >= $b # $a supérieur ou égal à $b L'identité des chaînes est traitée séparément : $a eq $b # la chaîne de $a égale à celle de $b $a ne $b # la chaîne de $a distincte de celle de $b Opérations logiques sur les valeurs booléennes ($a && $b) # $a ET $b ($a $b) # $a OU $b!($a) # NON $a
49 PERL: EXÉCUTION CONDITIONNELLE Test if/else Une instruction conditionnelle peut se faire sur le test de toute valeur booléenne ou scalaire. Les valeurs faux sont soit 0, soit la chaîne vide, soit un tableau vide : #!/usr/bin/perl print "Entrée:"; $chaine = <STDIN>; # Saisie en entrée standard chop $chaine; # Supprime la fin de ligne de l'entrée if ($chaine) { printf "La chaîne a pour longueur %d\n", length($chaine); } else { print "La chaîne est vide ou le nombre est nul.\n"; } En exécution, on obtient alors : Entrée: La chaîne est vide ou le scalaire est nul. Entrée:0 La chaîne est vide ou le scalaire est nul. Entrée:perl La chaîne a pour longueur 4
50 PERL: CONTRÔLES 1/2 Parcours des éléments d'un tableau : foreach On parcourt un à un tous les éléments du : $ind = 1; foreach $element (@tab) { # parcours des éléments print "Item numéro $ind : $element\n"; # imprime l'élément $ind++; } Boucle for for (initialise; test; inc) { } action_1; action_2; etc L'instruction initialise est effectuée en début de boucle. Tant que test est vrai le corps de l'instruction est effectué. Après chaque exécution du bloc inc est effectué. Exemple d'impression des nombres de 1 à 9 : for ($i = 1; $i < 10; ++$i) { # Commence avec $i = 1 # Poursuit tant que $i < 10 # Incrémente $i avant de répéter print "$i\n"; }
51 PERL: CONTRÔLES 2/2 Boucles while et until Les boucles while et until peuvent se faire en test initial ou en test final. L'exemple suivant illustre la saisie d'un mot de passe au clavier par une boucle while à test initial : #!/usr/bin/perl print "Password:"; # Invite $a = <STDIN>; # Saisie en entrée standard chop $a; # Supprime la fin de ligne de l'entrée while ($a ne "perl") { # Tant que la saisie est fausse print "Incorrect!\nPassword:"; # Re-invite $a = <STDIN>; # Re-saisit chop $a; # Re-supprime la fin de ligne } On aurait pu utiliser une boucle until à test initial en remplaçant le test de boucle par : until ($a eq "perl") Formulation alternative de la saisie du password par une boucle à test final : #!/usr/bin/perl do { print "Password:"; # Invite $a = <STDIN>; # Saisie chop $a; # Supprime la fin de ligne } until($a eq "perl");
52 PERL: EXPRESSIONS RÉGULIÈRES 1/6 Recherche d'une expression régulière dans une chaîne L'opérateur =~ m/regexp/ ou =~ /RegExp/ permet de rechercher une expression régulière dans une chaîne : $chaine = "Perl est interprété. Perl est optimisé pour scanner des fichiers."; if( $chaine =~ /Perl est ([a-zà-ü]+)/ ) { printf "Perl est bien %s.\n", $1; } La variable $n permet de récupérer la chaîne s'appariant avec la nième expression régulière entre parenthèses. En exécution, on obtient alors : Perl est bien interprété. Vous remarquerez que la première sous-chaîne (celle la plus à gauche) à s'apparier avec l'expression régulière est retenue. C'est pour cela que l'on n'obtient pas optimisé.
53 La chaîne par défaut $_ PERL: EXPRESSIONS RÉGULIÈRES 2/6 L'identificateur $_ désigne la chaîne par défaut. Elle est utile en analyse de fichier : while(<stdin>) { # équivaut à while( $_ = <STDIN> ) if( /Perl/ ) { # équivaut à if( $_ =~ /Perl/ ) print; # équivaut à print STDOUT $_; } } Ce programme imprime toutes les lignes de l'entrée standard qui contiennent la chaîne Perl. Le langage Perl Le langage Perl Introduction Perl fait la difference Perl fait la difference
54 Caractères spéciaux Caractères joker ou répétition de Kleene : PERL: EXPRESSIONS RÉGULIÈRES 3/6. # Tout caractère sauf le retour à la ligne ^ # Le début d'une ligne ou d'une chaîne $ # La fin d'une ligne (\n non compris) ou d'une chaîne * # Une occurrence ou plus du caractère ou de l'expr. précédente + # Zéro ou plusieurs occurrences du caractère ou de l'expr. précédente? # Zéro ou une occurrence du caractère ou de l'expr. précédente Exemples d'appariements (à mettre entre /.../) : t.i # t puis tout caractère puis i: # toi ou tri, pas ti ou teli ^f # f au début d'une ligne ^ftp # ftp au début d'une ligne e$ # e à la fin d'une ligne com$ # com à la fin d'une ligne mot * # mot suivi de 0 ou plusieurs espaces.* # une chaîne de taille quelconque sans \n ^$ # Une ligne vide (attention à supprimer \n par chop)
55 PERL: EXPRESSIONS RÉGULIÈRES 4/6 Ensembles Les ensembles se notent entre crochets droits : [qjk] # Soit q, soit j, soit k [^qjk] # Ni q, ni j, ni k [a-z] # Tout caractère dont le code est compris entre a et z [^a-z] # Aucun caractère dont le code est compris entre a et z [a-za-z] # Tous les caractères alphabétiques sans diacritiques [a-z]+ # Toute chaîne de caractères alphabétiques non vide Disjonctions et parenthésage Une barre verticale représente un "OU" et les parenthèses (...) servent à construire des expressions plus complexes : fromage dessert # Soit fromage, soit dessert from(age ent) # Soit fromage, soit froment (le )+ # Soit le, soit le le... Les caractères spéciaux, pour qu'ils ne soient pas considérés comme des caractères de commande, doivent être précédés d'un antislash s'ils sont utilisés dans une chaîne. Par exemple : \, \[, \), \*, \^, \/, \\.
56 Caractères spéciaux PERL: EXPRESSIONS RÉGULIÈRES 5/6 Les caractères suivants sont des raccourcis pour des caractères hexadécimaux ou des ensembles de caractères : \n # Nouvelle ligne \t # Tabulation \w # Tout caractère alphanumérique (sauf diacritiques) # équivaut à [a-za-z0-9_] (w=word) \W # Tout caractère non alphanumérique # équivaut à [^a-za-z0-9_] \d # Tout chiffre, équivaut à [0-9] \D # Tout non chiffre. équivaut à [^0-9] \s # Tout caractère séparateur : espace, # tabulation, nouvelle ligne. \S # Tout caractère sauf les séparateurs
57 Exemples d'expressions régulières Quelques exemples simples : PERL: EXPRESSIONS RÉGULIÈRES 6/6 [01] # "0" ou "1" \/0 # Une division par zéro: "/0" \/ 0 # Une division par zéro avec un espace: "/ 0" \/\s0 # Une division par zéro avec un séparateur: # "/ 0" où le blanc est un espace, une tabulation... \/ *0 # Une division par zéro avec des espaces # éventuels : "/0" ou "/ 0" ou "/ 0" etc. \/\s*0 # Une division par zéro avec des séparateurs # éventuels. \/\s*0\.0* # Comme le précédent, mais avec une partie décimale # optionnelle nulle ou vide. Par exemple, # "/0." ou "/0.0" ou "/0.00" etc # ou "/ 0." ou "/ 0.0" ou "/ 0.00" etc.
58 Opérateur de substitution dans une chaîne PERL: SUBSTITUTION 1/3 L'opérateur s/exprreg/chaîne/ permet de remplacer une expression régulière par une chaîne : $chaine = "Perl est interprété. Perl est optimisé pour scanner des fichiers."; $chaine =~ s/scanner/analyser/; printf "$chaine\n"; $chaine =~ s/perl est ([a-zà-ü]+)/perl est compilé/; printf "$chaine\n"; donne Perl est interprété. Perl est optimisé pour analyser des fichiers. Perl est compilé. Perl est optimisé pour analyser des fichiers. Modifieurs de la substitution Le modifieur i indique que l'appariement dans l'expression régulière se fera sans tenir compte de la casse des caractères. Le modifieur g indique que l'on effectue autant de substitutions que d'occurrences de l'expression régulière. $chaine = "un browser pour voir une page donnée sur un serveur."; $chaine =~ s/(\bun\b)/le/gi; # \b: frontière de mots (boundary) printf "$chaine\n"; donne le browser pour voir une page donnée sur le serveur.
59 PERL: SUBSTITUTION 2/3 Mémorisation de sous-chaînes dans un appariement Les chaînes appariées avec des sous-expressions régulières entre parenthèses sont mémorisées : dans les chaînes par $i (une variable non modifiable et volatile par définition), dans les expressions régulières par \i. $chaine = "Le langage Perl est interprété. Perl est optimisé."; if ( $chaine =~ /(.+).*\1/ ) { print "La séquence \"$1\" est répétée!\n"; } if ( $chaine =~ /(\b[^\s]+\b).*\1/ ) { print "Le mot \"$1\" est répété!\n"; } donne La séquence "e " est répétée! Le mot "Perl" est répété!
60 PERL: SUBSTITUTION 3/3 Mémorisations liées à l'appariement complet Après un appariement, les variables suivantes sont accessibles en lecture seule : $` : ce qui était avant l'appariement, $& : ce qui s'est apparié, $' : ce qui était après l'appariement. Ainsi, après l'appariement suivant : $_ = "Le langage Perl est interprété."; /Perl/; les égalités suivantes sont vraies : $` eq "Le langage Perl "; $& eq "Perl"; $' eq " est interprété.";
61 Translation caractère à caractère PERL: TRANSLATION L'opérateur tr/listecarini/listecarfin/ permet de substituer tous les caractères de ListeCarIni par les caractères en même position dans ListeCarFin : $chaine = "interpréteurs PERL pour à peu près toutes les plates-formes"; $chaine =~ tr/éèêà\-a-z/eeea a-z/; printf "$chaine\n"; désaccentue les e et les a, remplace les tirets par des blancs et transforme les majuscules en minuscules : interpreteurs perl pour a peu pres toutes les plates formes
62 PERL: split ET join Éclatement d'une chaîne dans un tableau : split L'opérateur split(exprreg,chaine) place dans un tableau les sous-chaînes séparées par ExprReg. Concaténation des éléments d'un tableau : join L'opérateur join(chaine,tableau) transforme un tableau en une concaténation de ses composantes en intercalant Chaine. Exemple : $chaine = "Bonheur intégral. Légère, la poudre - en vol - tournoie! Tout y = split( /[\.\-!\?\, ]+/, $chaine ); print join( ' ), "\n"; donne : Bonheur intégral Légère la poudre en vol tournoie Tout y est Cas d'une expression régulière vide : $chaine = = split( //, $chaine ); print join( ' ), "\n"; donne : B o n h e u r.
63 PERL: SOUS-CHAÎNE Extraction de sous-chaînes La commande substr permet d'extraire une sous-chaîne à partir d'un indice de départ et pour une taille donnée : substr("once upon a time", 3, 4); # retourne "e up" substr("once upon a time", 7); # retourne "on a time" substr("once upon a time", -6, 5); # retourne "a tim"
64 Saisie et lecture des tableaux associatifs PERL: TABLEAUX ASSOCIATIFS 1/2 Un tableau associatif indexe des éléments sur une clé unique. Il peut se garnir de deux façons : %naissance = ("Mick Jagger", " ", "Agatha Christie", " "); ou $naissance{"marilyn Monroe"} = " "; Les égalités suivantes sont vraies : $naissance{"mick Jagger"} eq " " $naissance{"marilyn Monroe"} eq " " Affectation On peut affecter un tableau dans un tableau associatif et l'inverse. Le tableau contient aux rangs pairs les clés et aux rangs impairs les valeurs.
65 PERL: TABLEAUX ASSOCIATIFS 2/2 Énumération des éléments d'un tableau associatif Un tableau associatif s'énumère de deux façons. Avec foreach pour parcourir les clés ou les valeurs : foreach $celebrite (keys %naissance) { print "$celebrite est né(e) le $naissance{$celebrite}\n"; } foreach $date (values %naissance) { print "Une célébrité est née le $date\n"; } ou avec each pour parcourir les couples while (($celebrite, $date) = each(%naissance)) { print "$celebrite est né(e) le $date\n"; } On obtient : Mick Jagger est né(e) le Marilyn Monroe est né(e) le Agatha Christie est né(e) le Les éléments d'un tableau associatifs ne sont pas ordonnés. On y accède rapidement par une technique de hashcode.
66 Déclaration et appel d'un sous-programme PERL: SOUS-PROGRAMMES 1/3 Déclaration - Le contient les paramètres passés lors de l'appel : sub moyenne2 { local($a, $b)=@_; ($a + $b) / 2; } sub moyennen { local($somme, $valeur); $somme = 0; foreach $valeur (@_) { $somme += $valeur; } $somme } Appel - On fait précéder le nom du sous-programme de & : print "Moyenne : ", &moyennen( 14, 12, 19 ), "\n"; affiche : Moyenne : 15
Perl Orienté Objet BioPerl There is more than one way to do it
Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, berenice.batut@udamail.fr DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détail! Text Encoding Initiative
Format XML: suite! le contenu d un élément est la concaténation de! texte! et d éléments (imbrication)! => structure arborescente! pas de chevauchement de balises! => exemple : une analyse syntagmatique
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailPRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
Plus en détailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Plus en détail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailBernard HAMM, Évelyne LAVOISIER
92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec
Plus en détailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailEXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Plus en détailLIVRE BLANC Décembre 2014
PARSING MATCHING EQUALITY SEARCH LIVRE BLANC Décembre 2014 Introduction L analyse des tendances du marché de l emploi correspond à l évidence à une nécessité, surtout en période de tension comme depuis
Plus en détaildonnées en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailEXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05
EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailPRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
Plus en détailGrammaires d unification
Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les
Plus en détailGestion collaborative de documents
Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,
Plus en détailIntelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
Plus en détailIMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES
IMPRTATIN, CRÉATIN, MANIPULATIN, EXPRTATIN DE DNNÉES STATISTIQUES Bernard Dupont Bernard.Dupont@univ-lille1.fr ahm.bahah@yahoo.fr Bien que l'analyse et le traitement des données ne soient pas sa vocation
Plus en détailNote de cours. Introduction à Excel 2007
Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailPrésentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Plus en détail1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur
NOTIFICATIONS GUIDE Le module Notifications permet de retrouver des notifications en utilisant les champs spécifiques de la base de données du Registre central des notifications (RCN). Il comporte une
Plus en détailLE MODELE CONCEPTUEL DE DONNEES
LE MODELE CONCEPTUEL DE DONNEES Principe : A partir d'un cahier des charges, concevoir de manière visuelle les différents liens qui existent entre les différentes données. Les différentes étapes de réalisation.
Plus en détailVers l'ordinateur quantique
Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate
Plus en détailSOMMAIRE. Travailler avec les requêtes... 3
Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de
Plus en détailApprentissage Automatique
Apprentissage Automatique Introduction-I jean-francois.bonastre@univ-avignon.fr www.lia.univ-avignon.fr Définition? (Wikipedia) L'apprentissage automatique (machine-learning en anglais) est un des champs
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailChapitre 2 Devine mon nombre!
Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction
Plus en détailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Plus en détailConception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007
1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que
Plus en détailReconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Plus en détailFormula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Plus en détailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détailPrésentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Plus en détailACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES
ACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES Techniques symboliques de traitement automatique du langage pour l indexation thématique et l extraction d information temporelle Thèse Défense publique
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailCréer une base de données
Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailTP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
Plus en détailInitiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailRecherche d information en langue arabe : influence des paramètres linguistiques et de pondération de LSA
RÉCITAL 2005, Dourdan, 6-10 juin 2005 Recherche d information en langue arabe : influence des paramètres linguistiques et de pondération de LSA Siham Boulaknadel (1,2), Fadoua Ataa-Allah (2) (1) LINA FRE
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailGUIDE Excel (version débutante) Version 2013
Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte
Plus en détailDomain Name System. F. Nolot
Domain Name System F. Nolot 1 Domain Name System Principe F. Nolot 2 Les besoins Internet est composé de plusieurs réseaux Chaque réseau est composé de sous réseaux Les sous réseaux sont constitués de
Plus en détailChap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
Plus en détailRecherche d Information(RI): Fondements et illustration avec Apache Lucene. par Majirus Fansi @majirus
1 Recherche d Information(RI): Fondements et illustration avec Apache Lucene par Majirus Fansi @majirus Résumé Fondements de la Recherche d Information (RI) Noyau de toute application de RI Éléments à
Plus en détailCompléments de documentation Scilab : affichage de texte et formatage de nombres
Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de
Plus en détailSage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8
Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré
Plus en détail1 Description générale. Résumé
Station Sensunique: une plateforme Web modulaire, collaborative et évolutive d acquisition assistée de ressources terminologiques et non terminologiques (orientée Langues Contrôlées) Izabella Thomas 1,
Plus en détailModélisation des données
Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)
Plus en détailDe la modélisation linguistique aux applications logicielles: le rôle des Entités Nommées en Traitement Automatique des Langues
De la modélisation linguistique aux applications logicielles: le rôle des Entités Nommées en Traitement Automatique des Langues Maud Ehrmann Joint Research Centre Ispra, Italie. Guillaume Jacquet Xerox
Plus en détailCodage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
Plus en détailLa classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
Plus en détailPerl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.
Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances
Plus en détailUTILISATION DU WEB COMME MEGA-BASE DE DONNÉES LINGUISTIQUE : APPLICATION À LA TRADUCTION DE COOCCURRENCES LEXICALES FRANÇAISES-ANGLAISES
UTILISATION DU WEB COMME MEGA-BASE DE DONNÉES LINGUISTIQUE : APPLICATION À LA TRADUCTION DE COOCCURRENCES LEXICALES FRANÇAISES-ANGLAISES Chrystel Millon & Stéphanie Léon Equipe DELIC Université de Provence
Plus en détailBASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :
BASE BioArray Software Environment (BASE) est une base de données permettant de gérer l importante quantité de données générées par des analyses de bio-puces. BASE gère les informations biologiques, les
Plus en détailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailSOMMAIRE AIDE À LA CRÉATION D UN INDEX SOUS WORD. Service général des publications Université Lumière Lyon 2 Janvier 2007
SOMMAIRE 1) CRÉATION D UN INDEX SIMPLE 3 a) Étape 1 : Marquage des entrées d index (à l aide d un fichier de concordance) 3 Procédure d insertion du tableau 4 Saisie des entrées d index 5 Marquage automatique
Plus en détailStructuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe
Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Karima Dhouib, Sylvie Després Faiez Gargouri ISET - Sfax Tunisie, BP : 88A Elbustan ; Sfax karima.dhouib@isets.rnu.tn,
Plus en détailConception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailDu 10 Fév. au 14 Mars 2014
Interconnexion des Sites - Design et Implémentation des Réseaux informatiques - Sécurité et Audit des systèmes - IT CATALOGUE DE FORMATION SIS 2014 1 FORMATION ORACLE 10G 11G 10 FEV 2014 DOUALA CAMEROUN
Plus en détailAccess 2007 FF Access FR FR Base
ACCESS Basic Albertlaan 88 Avenue Albert Brussel B-1190 Bruxelles T +32 2 340 05 70 F +32 2 340 05 75 E-mail info@keyjob-training.com Website www.keyjob-training.com BTW TVA BE 0425 439 228 Access 2007
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détail