cours 5 recherche d`info - Département Informatique Cnam Paris
Transcription
cours 5 recherche d`info - Département Informatique Cnam Paris
Département Informatique, CNAM NFE227 - interaction 3D & document numérique Le texte et la recherche d’information Pierre Cubaud [email protected] Novembre 2008 plan de l'exposé : 1. 2. 3. 4. Codes, structures Analyse de texte Approches linguistiques Présentation Bibliographie B. Habert, C. Fabre, F. Isaac De l’écrit au numérique InterEditions, 1998 I.H. Witten, A. Moffat, T.C. Bell Managing gygabytes. Compressing and indexing documents and images Van Nostrand, 1994 Techniques de l’ingénieur série H. section Document numérique (en ligne au CNAM) R. Laufer, D. Scavetta Texte, hypertexte, hypermédia Que-sais-je n°2629 (v2 1995) 1. Codes - Structures Codage des caractères Trois problèmes : • caractère ≠ glyphe • coder ≠ classer • norme ≠ standard Aussi vieux que le télégraphe… et toujours non résolus. 7 bits : American Standard Code for Information Interchange (ASCII, 1967 - puis ISO646 en 1983) 8 bits : ISO-Latin-XXX (ISO 8859-n) Au delà : Unicode (1990, v3 en 2000) et ISO 10646 = Site web unicode: www.unicode.org Une table à garder en attendant… et un outil : iconv [numer:~] pcubaud% iconv -l ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII UTF-8 ISO-10646-UCS-2 UCS-2 CSUNICODE UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11 UCS-2LE UNICODELITTLE ISO-10646-UCS-4 UCS-4 CSUCS4 UCS-4BE UCS-4LE UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7 UCS-2-INTERNAL UCS-2-SWAPPED UCS-4-INTERNAL UCS-4-SWAPPED C99 JAVA CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO8859-1 ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1 ISO-8859-2 ISO-IR-101 ISO8859-2 ISO_8859-2 ISO_8859-2:1987 L2 LATIN2 CSISOLATIN2 ISO-8859-3 ISO-IR-109 ISO8859-3 ISO_8859-3 ISO_8859-3:1988 L3 LATIN3 CSISOLATIN3 ISO-8859-4 ISO-IR-110 ISO8859-4 ISO_8859-4 ISO_8859-4:1988 L4 LATIN4 CSISOLATIN4 CYRILLIC ISO-8859-5 ISO-IR-144 ISO8859-5 ISO_8859-5 ISO_8859-5:1988 CSISOLATINCYRILLIC ARABIC ASMO-708 ECMA-114 ISO-8859-6 ISO-IR-127 ISO8859-6 ISO_8859-6 ISO_8859-6:1987 CSISOLATINARABIC ECMA-118 ELOT_928 GREEK GREEK8 ISO-8859-7 ISO-IR-126 ISO8859-7 ISO_8859-7 ISO_8859-7:1987 CSISOLATINGREEK HEBREW ISO-8859-8 ISO-IR-138 ISO8859-8 ISO_8859-8 ISO_8859-8:1988 CSISOLATINHEBREW ISO-8859-9 ISO-IR-148 ISO8859-9 ISO_8859-9 ISO_8859-9:1989 L5 LATIN5 CSISOLATIN5 ISO-8859-10 ISO-IR-157 ISO8859-10 ISO_8859-10 ISO_8859-10:1992 L6 LATIN6 CSISOLATIN6 ISO-8859-13 ISO-IR-179 ISO8859-13 ISO_8859-13 L7 LATIN7 ISO-8859-14 ISO-CELTIC ISO-IR-199 ISO8859-14 ISO_8859-14 ISO_8859-14:1998 L8 LATIN8 ISO-8859-15 ISO-IR-203 ISO8859-15 ISO_8859-15 ISO_8859-15:1998 ISO-8859-16 ISO-IR-226 ISO8859-16 ISO_8859-16 ISO_8859-16:2000 KOI8-R CSKOI8R KOI8-U KOI8-RU CP1250 MS-EE WINDOWS-1250 CP1251 MS-CYRL WINDOWS-1251 CP1252 MS-ANSI WINDOWS-1252 CP1253 MS-GREEK WINDOWS-1253 CP1254 MS-TURK WINDOWS-1254 CP1255 MS-HEBR WINDOWS-1255 CP1256 MS-ARAB WINDOWS-1256 CP1257 WINBALTRIM WINDOWS-1257 CP1258 WINDOWS-1258 850 CP850 IBM850 CSPC850MULTILINGUAL 862 CP862 IBM862 CSPC862LATINHEBREW 866 CP866 IBM866 CSIBM866 MAC MACINTOSH MACROMAN CSMACINTOSH MACCENTRALEUROPE MACICELAND MACCROATIAN MACROMANIA MACCYRILLIC MACUKRAINE MACGREEK MACTURKISH MACHEBREW MACARABIC MACTHAI HP-ROMAN8 R8 ROMAN8 CSHPROMAN8 NEXTSTEP ARMSCII-8 GEORGIAN-ACADEMY GEORGIAN-PS KOI8-T MULELAO-1 CP1133 IBM-CP1133 ISO-IR-166 TIS-620 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1 CP874 WINDOWS-874 VISCII VISCII1.1-1 CSVISCII TCVN TCVN-5712 TCVN5712-1 TCVN5712-1:1993 ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP CSISO14JISC6220RO JISX0201-1976 JIS_X0201 X0201 CSHALFWIDTHKATAKANA ISO-IR-87 JIS0208 JIS_C6226-1983 JIS_X0208 JIS_X0208-1983 JIS_X0208-1990 X0208 CSISO87JISX0208 ISO-IR-159 JIS_X0212 JIS_X0212-1990 JIS_X0212.1990-0 X0212 CSISO159JISX02121990 CN GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988 CHINESE GB_2312-80 ISO-IR-58 CSISO58GB231280 CN-GB-ISOIR165 ISO-IR-165 ISO-IR-149 KOREAN KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSKSC56011987 EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS CP932 ISO-2022-JP CSISO2022JP ISO-2022-JP-1 ISO-2022-JP-2 CSISO2022JP2 CN-GB EUC-CN EUCCN GB2312 CSGB2312 CP936 GBK GB18030 ISO-2022-CN CSISO2022CN ISO-2022-CN-EXT HZ HZ-GB-2312 EUC-TW EUCTW CSEUCTW BIG-5 BIG-FIVE BIG5 BIGFIVE CN-BIG5 CSBIG5 CP950 BIG5-HKSCS BIG5HKSCS EUC-KR EUCKR CSEUCKR CP949 UHC CP1361 JOHAB ISO-2022-KR CSISO2022KR [numer:~] pcubaud% Structuration de documents textuels Deux problèmes : • séparation forme et fond • changer / échanger Une difficulté : qu’est-ce que décrire une structure ? un -par langage génératif slide ? -par programme -par contraintes ? Structuration de documents textuels titre liste de points une autre ? Deux (graves) problèmes : • séparation forme et fond • changer / échanger Une difficulté : qu’est-ce que décrire une structure ? -par langage génératif -par règles, contraintes -par programme Approche par grammaire générative : les langages de balisage (« markup ») Generalized Markup Language (GML : IBM, Goldfarb, 1971-3) :h1.Chapter 1: Introduction :p.GML supported hierarchical containers, such as :ol :li.Ordered lists (like this one), :li.Unordered lists, and :li.Definition lists :eol. as well as simple structures. :p.Markup minimization (later generalized and formalized in SGML), allowed the end-tags to be omitted for the "h1" and "p" elements. (extrait de www.sgmlsource.com/history/ ) SGML : norme ISO 8879 en 1986 HTML : premiers jets en 1991 XML (eXtensible ML) : v1.0 en 1997 Un exemple de DTD : TEI (text encoding initiative, 1994) + de 400 éléments une version « Lite » existe F. Role. TEI. Techniques de l’ingénieur n° H7158 2. Analyse de textes Exemple fondateur (personnel...) - La "question martienne" au XIXème siècle. Les "canaux" de Mars. - 1993 : Ed KROL "The Whole Internet User's Guide & Catalog" signale le Project Gutenberg -Le PG diffuse "La guerre des mondes" de Wells % ftp mcrnext.cso.uiuc.edu login: anonymous passwd: [email protected] cd etext bin get warw10.txt.Z quit % uncompress warw10.txt.Z % grep channel warw10.txt and hurrying by every available channel northward and eastribbed channel towards some receiver that was hidden from % grep channels warw10.txt % Expressions régulières : utilisées par grep, sed, awk, perl, etc. [abc...] matches any of the characters abc... [^abc...] matches any character except abc... r1|r2 matches either r1 or r2 (alternation). r1r2 matches r1, and then r2 (concatenation). r+ matches one or more r's. r* matches zero or more r's. r? matches zero or one r's. (r) matches r (grouping). r{n,m} matches at least n, n to any number, or n to m occurrences of r (interval expressions). \b matches the empty string at either the beginning or the end of a word. etc ... Exemples de traitements Y. Leclerc, P. Cubaud. Bouvard : 618, Pécuchet : 598. Etude de statistique textuelle. Revue Flaubert, n°3, 2003 http://www.univ-rouen.fr/flaubert/ q1 = 1-p1 (412) P B p1 (205) q0 (186) (412) p0 = 1-q0 p11 (68) BB q11 (137) 25 1 ) q0 ) (1 q10 (274) p1 0 (1 37 p01 (287) BP PB PP p00 (125) q00 (61) Y. Leclerc, P. Cubaud. Bouvard : 618, Pécuchet : 598. Etude de statistique textuelle. Revue Flaubert, n°3, 2003 http://www.univ-rouen.fr/flaubert/ AWK (Aho, Weinberger, Kernighan) BEGIN {n=0;r=0} /Bouvard/{n++;printf "B %d",n; if (n>r) {printf "*";r=n}; printf "\n";} /Pécuchet/{n--;print "P",n} • Autres exemples (voir les manpages) : length($0) < 200 affiche les lignes de longueur < 200 caractères BEGIN { FS = ",[ \t]*|[ \t]+ »; s=0 } { print $2, $1; s += $1 } END { print "sum is", s, " average is", s/NR } sépare des champs par espace, tab, ou virgule inverse les deux premiers calculs statistiques sur le premier Practical Extraction Report Language (PERL, L. Wall) #!/usr/bin/perl ### fabrication de la sequence BP $sum = 0; open(F,"/Users/pcubaud/FLAUBERT/bouvard2-mac.txt"); while (<F>) { $ligne = $_; chop($ligne); @lesmots = split(/ /,$ligne); foreach $mot (@lesmots) { if ($mot =~ m/Bouvard/) { $sum++; print "B"; if ($sum % 40 == 0) {print "\n";} } elsif ($mot =~ m/Pécuchet/) { BPBPPBBPBPBBBPPBBPBPBPBPBPBPBPBPBPBPBPBBPBPBPBBPPBBBBPBPBPPBBPBBPBPPBBPBBPBBBBPBBPB BPBPBPBPBPBBPBPPPPBPPBPBPBPBPBPBBPBPBPBBBPBPBBBBPBPBPPPBPPPBBBPBBBPBPBBBPPBBBBBPPBP $sum++; BPBBPBPBPBBPPBPPBPBPBPBPBPBPBBPBPBPBPBPBPBBPBPBPBBBBBBPBPBPBBBBBBPPBPPBPBPBPBBPPBBP BPPBBPBPPBBPPBPPBPBBPBPBPPBPBPPBBPPBPPBPBPBBPPBPBPBPPPPPPPBPPPPBBPPBPPBPBPPBPBPBPBB print "p"; PPBPBPBPBPPBBPBPPBPBPPBPBPPBBPBPBPPBBPBPBPPBPBPBBBBPBBPBBBBPPBBPPPBBPPBPBPBBBPPBPPB if ($sum % 40 == 0) {print "\n";} BPPBBPBPBBBBBBBPBPPBPBBPPBPBBPBPPBBPBPPPBPPPPBPBBPBPPBBPBBPPBPBPBPBPBPBPBPBBPBBBPBP PPBBPBBPBPPPBBPBPBBPBPPBBPBPBPPBPBPBPBBPBPPBPBPBPPBPBBBBBBPPBBPBPBPBPPBPPPBPBBBPBPB BBPPBBBPPPBBPPPBPBPBPPPBPBPPBBPBPBPBPBPPPBPBBBPBBPPBPPPBPBPBBPBPBBBPPBBPBBPBPBPPBPB } BPBPBPPBPBPPBBPBPBPBPPBPPPPPBBPBBPPPBBBPBBPBBBBPBBPBPPBBPBPPBPBPBBPBPBBPPBBPBPBBPBB BPPPPBPBBPBBPBBBPBBPPPPBPPBBPBPBPBPBPPBPBPBBPBPBBPBPBPBBPBBPPBPBPPPPBPBPBPPBPBPBPBP } BPBBPBPBPPBPBPPBPBPBPPBBBBPBPBBPBBPBPBPBPPBBPPPBPBBBBBPBPBPBPBPPBBPBPBPBPBPBPBPPBPB PBBPBPBPPBPBPBPBPBPPBPBPPBPBPPBPBPPBBPBBPPBBBBPBBPBPBBBPBBBPBPPBPBPPBPPBBBBBPBPBBPP PPPPPPPPPPPPPBPPBPPBPBBPBBBPPPBBPBPBPBBPBBPPBBPBBPPBBBPPPBPPBPPBBBBPBPBBPPBBPBBPPBP } BPBPBPBBPPPPBPBPBPPBPBPPBPPBPBPPPPPPPBPBPPBPPPBBBBBPBPBBPPBPBPBPBPPBPBBPPBBPBBPBBPP PPPBPBPBPBPPBBPBBPBPBPBPBPPPBBBPBPBPPBPBPBBBPBPBPBPBPB close(F); print "\n\n\n"; ### comptage par chapitre $c = $nb = $np = $tb = $tp = $xtic = 0; open(F,"/Users/pcubaud/FLAUBERT/bouvard2-mac.txt"); while (<F>) { $ligne = $_; chop($ligne); @lesmots = split(/ /,$ligne); foreach $mot (@lesmots) { if ($mot =~ m/CHAPITRE/) { if ($c > 0) {print "$c : $nb $np ($xtic) \n";} $tb += $nb; $tp += $np; $xtic += $nb + $np; $nb = $np = 0; $c++; } elsif ($mot =~ m/Bouvard/) { Chapitre nB nP paragraphes mots $nb++; I 60 50 145 6000 } II 81 60 292 11503 elsif ($mot =~ m/Pécuchet/) { III 74 86 431 12277 $np++; IV 50 45 352 9786 V 46 44 266 6227 } VI 43 44 360 8309 } VII 28 25 135 3251 } VIII 94 89 506 13928 print "$c : $nb $np ($xtic)\n"; IX 73 77 410 11461 $tb += $nb; X 69 78 387 10531 total 618 598 $tp += $np; print "TOTAL : $tb $tp \n"; close(F); print "\n\n\n"; Fabrication du HTML #!/usr/bin/perl $n = $nb = $np = $sum = $para = $c = 0; open(F,"bouvard2.txt"); open(T,">BPcol.html"); print T "<HTML><BODY bgcolor=White text=Black>\n"; while (<F>) { $ligne = $_; chop($ligne); if ($ligne =~ m/CHAPITRE/) { $c++; print "CHAPITRE $c VU\n"; if ($c >1) { print T "</TABLE>\n"; } print T "<H1>Chapitre $c</H1>\n"; print T "<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 >\n"; print T "<TR VALIGN=TOP>\n"; print T "<TD BGCOLOR=#A0B8C8>PARA</TD>\n"; print T "<TD></TD>\n"; print T "<TD BGCOLOR=Silver>nB-nP</TD>\n"; print T "<TD BGCOLOR=Gray>nB+nP</TD>\n"; print T "</TR>\n"; } else { @lesmots = split(/ /,$ligne); foreach $mot (@lesmots) { if ($mot =~ m/Bouvard/) { $n++;$nb++; $mot =~ s#Bouvard#<FONT color=Blue><B>Bouvard_$nb</B></FONT>#; } elsif ($mot =~ m/Pécuchet/) { $n--;$np++; $mot =~ s#Pécuchet#<FONT color=Red><B>Pécuchet_$np</B></FONT>#; } } $nligne = join(" ",@lesmots); if ($nligne ne "") { $sum = $nb + $np; $para ++; print T "<TR VALIGN=TOP>\n"; print T "<TD BGCOLOR=#A0B8C8><A name=\"$para\">$para</A></TD>\n"; print T "<TD>$nligne</TD>\n"; print T "<TD BGCOLOR=Silver>$n</TD>\n"; print T "<TD BGCOLOR=Gray>$sum </TD>\n"; print T "</TR>\n"; } } } print T "</TABLE>\n"; print T "</BODY></HTML>"; close(T); close(F); Enchaîner les traitements : l'art du « pipe » 07/30/97 15:36:23 DONNE cocuage2 POUR pento.esil.univ-mrs.fr (139.124.4.66) AVEC OmniWeb/2.6-beta-4 OWF/1.0 07/30/97 15:47:22 DONNE jacques1 POUR prithivi (163.173.136.11) AVEC Mozilla/3.01 (X11; I; SunOS 5.5 sun4c) 07/30/97 15:52:04 DONNE commerce1 POUR dial066.ppp.lrz-muenchen.de (129.187.24.66) AVEC OmniWeb/2.5-beta-6 OWF/1.0 07/30/97 16:07:35 DONNE conscrit2 POUR ns.cci.dk (194.239.27.66) AVEC Mozilla/2.0 (compatible; MSIE 3.0; Windows 95) via Harvest Cache version 1.4pl3 07/30/97 16:09:00 DONNE rldased3 POUR rkawv247.kau.roche.com (145.245.98.98) AVEC Mozilla/3.01 (Win16; I) 07/30/97 16:11:04 DONNE DICO/prenoms POUR ifp.ifp.fr (156.118.212.2) AVEC Mozilla/3.01 (X11; I; SunOS 5.5.1 sun4u) 07/30/97 16:13:09 DONNE DICO/pays POUR ifp.ifp.fr (156.118.212.2) AVEC Mozilla/3.01 (X11; I; SunOS 5.5.1 sun4u) … awk '{print $6}' logdon | awk -F. '{print $7,$6,$5,$4,$3}' | awk '{print $1}' | grep -v '^[0123456789]' | sort | uniq -c | sort -nr 209479 fr 63549 com 61941 net 26769 ca 21707 be 16277 ch 13267 it 10855 de 8088 jp 7863 es 6803 edu 3743 uk 3197 br 3085 ru Les index ("inverted files" ≠ index inversé) F. BOURDONCLE, P. BERTIN. Recherche d'aiguilles dans une botte de liens. Numéro spécial "L'avenir du Web" La Recherche n°328. Février 2000. p. 66 Arbres de recherche : tenir compte des fréquences D. KNUTH. L'élaboration des algorithmes. in Le calcul intensif. Belin, 1989. Arbre binaire de profondeur optimale D. Knuth. Art of computer prog. vol. 3, p. 437, 1973 Indexeurs : exemple de Glimpse http://webglimpse.net Un autre : mg (I. Witten et al.) Le classement (« ranking ») • dépasser les réponses « oui/non » sur requêtes booléenes • fournir une mesure de similarité entre les documents et la requête Ex. : le cosinus directeur entre vecteurs requête R et document D R.D 1 cos(R,D) = = R D W DW R WD = ∑w WR = € ∑w D,t • w R,t t ∈R N = f d ,t log ft 2 D,t avec w D,t 2 R,t avec w R,t arbitraire t ∈R ∑w t ∈R € N : nbre de documents fdt : occurences du terme t ds le doc d ft : nombre de documents contenant le terme t Le classement interactif (« relevance feedback ») L’utilisateur retient parmi l’ensemble des documents en réponse ceux qui l’intéressent le plus (S) et en demande d’autres du même type On exécute une séquence de requêtes {Ri} et on veut faire tendre cette séquence vers une requête optimale. Ex. d’heuristique : Ri+1 = Ri + ∑D d − Dn d ∈S avec Dn : document de plus grand poid non retenu € Le rapport « recall / precision » Recall : Capacité d'un système de recherche à fournir le plus de documents possibles Precision : Capacité d'un système de recherche à sélectionner uniquement des documents pertinents (« relevants ») - et éliminer les autres M. LESK Digital libraries (…) p. 169 ex : 50 doc. pertinents pour une requête. Le système en signale 40 dont 20 pertinents recall = 20 / 50 = 40% precision = 20 / 40 = 50% 3. Approche linguistique La recherche lexicographique a élaboré des dictionnaires spéciaux se rapportant à la langue d'un très grand nombre d'auteurs, parfois aussi au vocabulaire d'un champ sémantique (p.ex. les termes de couleur) ou à celui d'un genre particulier (p.ex. le vocabulaire juridique). La terminologie utilisée reste relativement floue. Néanmoins l'usage français distingue d'habitude: * les lexiques, qui ne reprennent pas nécessairement tous les mots attestés et qui n'en signalent pas toutes les références. Ils peuvent se limiter par exemple aux termes philosophiques ou religieux, voire ne retenir que les mots présentant un certain intérêt; * les index, plus secs, qui ont pour ambition de signaler tous les mots d'un auteur ou d'une oeuvre, et d'en donner toutes les références; * les concordances qui, à la différence des index, citent les mots, non pas isolés mais dans leur contexte (micro-contexte). Les lexiques, index et concordances contiennent tantôt le vocabulaire d'un champ sémantique particulier (p.ex. les termes juridiques, le vocabulaire sexuel, ou les noms d'oiseaux en latin), tantôt les termes présents chez un auteur (p.ex. Ovide) ou dans une oeuvre (p.ex. le de agricultura de Caton) ou dans un groupe d'oeuvres (p.ex. les tragédies de Sénèque). Le domaine est en plein développement, ce qui rend l'information difficile à maîtriser. Depuis plusieurs dizaines d'années en effet, ces instruments de travail se sont multipliés essentiellement grâce à l'informatique, l'ordinateur permettant à la fois de gérer une masse énorme d'informations et d'enregistrer jusqu'aux plus petits mots, articles ou particules, avec une cohérence et une rigueur jusqu'alors inaccessibles. Comme exemple d'une des premières concordances établies avec l'aide de l'ordinateur, il est instructif de voir celle de: * Packard D.W., A Concordance to Livy, 4 vol., Cambridge (Mass.), Londres, 1968: le classement alphabétique y est fait non sur les lemmes, mais sur les formes (eram, fui, sunt sont donc fort éloignés les uns des autres); d'autre part, la détermination du micro-contexte ne tient aucun compte du sens, la machine imprimant un certain nombre de lettres avant et après la forme retenue. Jean-Marie Hannick et Jacques Poucet - Bibliotheca Classica Selecta (BCS) http://bcs.fltr.ucl.ac.be/Bib.html 4. Can't a computer do the indexing? The short answer is no. Computers can easily construct a concordance (a list of words or phrases and where they appear), but this is not an index, and is not very useful to someone looking for information. The so-called automatic indexing software programs now appearing on the market are simply not up to the task of indexing a book. Book indexing involves a little bit of manipulating words appearing in a text, which computers can do, and a lot of understanding and organizing the ideas and information in the text, which computers cannot do and will not do for many years to come. An example of the difference is that a book on protective gloves for occupational use might have a chapter discussing surgical gloves, how they get punctured and how they are tested for integrity, but might never use the word holes. Yet a user of the book would expect to find this word in the index and be directed to the appropriate chapter. The indexer handles dozens or hundreds of such issues in every book. Where the text is already on computer disk, the indexing features of word processing programs can ease the handling of page numbers and sorting, but the real indexing work is still done by the human. Powerful dedicated software is also available for personal computers to aid the professional indexer in constructing, sorting, editing and formatting the index, whether from hardcopy text or computer files. Many indexers use one of the programs listed on the Indexing Software page. Automated indexing was never intended to produce back-of-the-book indexes. As Indexicon demonstrates so well, back-of-thebook indexes cannot be automatically generated. - Nancy Mulvany and Jessica Milstead, review of Indexicon, Key Words, Sep/Oct 1994 http://www.asindexing.org/ Concordances (KWIC : keyword in context) D. KNUTH. The art of computer programming (3) Sorting & searching. Addisson-Wesley, 1973 p. 437 signale W.W. YOUDEN. JACM vol. 10 pp. 583-646 (1963) "Le Concordeur" (MacOS) http://omega.crm.umontreal.ca/~rand/CC_fr.html Lemmatisation ("stemming") Difficile … est : le point cardinal ou le verbe ? été : la saison ou le verbe ? être : l'être humain ou le verbe ? fût : le tonneau ou le verbe ? plus d'un tiers des mots sont "homographes" dans un texte français (une graphie et ≥ 2 entrées dans le dictionnaire) Mais utile : D. Labbé. La lemmatisation des grandes bases de textes. Colloque édition éléctronique en littérature et dictionnairique. Univ. Rouen, juin 2002. A ESSAYER : algorithme de Martin PORTER pour l'anglais (1980) http://www.tartarus.org/~martin/PorterStemmer/index.html Removing suffixes by automatic means is an operation which is especially useful in the field of information retrieval. In a typical IR environment, one has a collection of documents, each described by the words in the document title and possibly by words in the document abstract. Ignoring the issue of precisely where the words originate, we can say that a document is represented by a vetor of words, or \terms\. Terms with a common stem will usually have similar meanings, for example: CONNECT CONNECTED CONNECTING CONNECTION CONNECTIONS remov suffix by automat mean is an oper which is especi us in the field of inform retriev. in a typic ir environ, on ha a collect of document, each describ by the word in the document titl and possibl by word in the document abstract. ignor the issu of precis where the word origin, we can sai that a document is repres by a vetor of word, or \term\. term with a common stem will usual have similar mean, for exampl: connect connect connect connect connect A voir du même : http://snowball.tartarus.org/ Segmentation (des mots, des phrases) INTEX - Max Silberztein (>1993) http://laseldi.univ-fcomte.fr/intex/ • Thésaurus et nomenclature Exemple : le Roget's thesaurus (1922) - version hypertexte : www.bartleby.com/110/ - version texte brut : roget14a.txt du Project Gutenberg Synopsis of Categories I. II. III. IV. V. VI. Abstract Relations Space Matter Intellect Volition Affections Section I. Existence Section II. Relation Section III. Quantity Section IV. Order Section V. Number Section VI. Time Section VII. Change Section VIII. Causation 1.Being, in the Abstract 2.Being, in the Concrete Substantiality. Unsubstantiality. 3.Formal Existence 4.Modal Existence 3. Substantiality. NOUN: SUBSTANTIALITY, hypostasis; person, thing, object, article; something, a being, an existence; creature, body, substance, flesh and blood, stuff, substratum; matter [See Materiality]; corporeity, element, essential nature, groundwork, materiality, substantialness, vital part. [TOTALITY OF EXISTENCES] world [See World]; plenum [L.]. ADJECTIVE: SUBSTANTIVE, substantial; hypostatic or hypostatical; personal, bodily, practical, effective; tangible (material) [See Materiality]; corporeal; right, sober. ADVERB: essentially. SUBSTANTIALLY &c. adj.; bodily, QUOTATION: The heavy and the weary weight Of all this unintelligible world.—Wordsworth Au CDHT / CNAM (1975) : CDHT. Etudes pour un traitement automatique des sources en histoire des techniques. Documents pour l'histoire des techniques, cahier n°9. CNAM et EPHE, 1975. • Modélisation des connaissances ("Knowledge management") H. CHEN. Knowledge management systems : a text mining perspective. KCC et U. Arizona, 2001 pp. 21-22. => vers la fouille de texte ("Text mining") • Visualisation. Un exemple : TileBars Marti A. Hearst, TileBars: Visualization of Term Distribution Information in Full Text Information Access In the Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, Denver, CO, ACM, May 1995 The TileBar interface allows the user to make informed decisions about which documents and which passages of those documents to view, based on the distributional behavior of the query terms in the documents. The goal is to simultaneously and compactly indicate : (i) the relative length of the document, (ii) the frequency of the term sets in the document, (iii) the distribution of the term sets with respect to the document and to each other. Each large rectangle indicates a document, and the relative lengths of the rectangles correspond to the relative lengths of the documents. The darker the segment or tile, the more frequently the query term occurs in that part of the document Analyse de corpus textuels • Exemples : - linguistique : variation d'usage d'une forme grammaticale - littérature comparée : stylométrie, attribution de textes - scientométrie : taux de citations - sciences sociales : dépouillement de questionnaires L'encyclopédie de la recherche littéraire assistée par ordinateur http://www.uottawa.ca/academic/arts/astrolabe/ L. LEBART, A. SALEM. Statistique textuelle. Dunod, 1994 M. BERNARD Mesurer le mètre ? Poésie et statistique. http://www.cavi.univ-paris3. fr/phalese/hubert1.htm Logiciels d'analyse • HYPERBASE (E. Brunet, Université de Nice) http://ancilla.unice.fr/~brunet/pub/hyperbase.html + article dans l'Astrolabe : http://www.uottawa.ca/academic/arts/astrolabe/articles/art0017.htm/Hyperbase01.htm • ARCANE (E.-0. Lochard, Univ. de Montpellier) É.-O. LOCHARD, D. TAURISSON « Le monde selon Arcane » : un paradigme instrumental pour l’édition électronique. Cahiers GUTenberg n°39-40, mai 2001. + article dans l'Astrolabe 4. La présentation du texte A visiter : musée de l'imprimerie de Lyon http://www.imprimerie.lyon.fr/ Sauvez le patrimoine !!! http://www.garamonpatrimoine.org/petition.html La typographie : vocabulaire Meuble pour le typographe : deux casses Capitales et Bas de casse Ex. français http://www.textesrares.com/ Ex. anglo-saxon http://www.collectionscanada.ca/presses/ hampe œuil approche abpC jambage empattement chasse Unité de mesure : le point typographique Point Didot = 0,3579mm Point pica = 1/72 pouce = 0,35135mm Point métrique = 0,4 mm corps Le dessin des caractères : ex. du "romain du roi" (Truchet et Grandjean, 1702) Grille à 2300 dpi ! http://www.irisa.fr/faqtypo/Welcome.html Le dessin par ordinateur (CAO) : courbes paramétrées Fontographer Exemple de famille de caractères (parmi des milliers) -sans (serif) : bâton Helvetica -à empattement Times -cursives lucida La graisse: http://www.porchez.com/ maigre Gras ultralight Le langage PostScript /Times-Roman findfont 15 scalefont setfont 100 500 moveto (I love PostScript!) show showpage Les 20 ans de PostScript en 2004 : http://www.adobe.com/products/postscript/main.html Manuel de réf. en ligne : http://www.adobe.com/products/postscript/pdfs/PLRM.pdf « rasterisation » J. André, J. Bur Métrique des fontes PostScript Cahier GUTenberg n°8 mars 1991 Le traitement de texte, la PAO : Exemple de TeX http://www.ctan.org/ A VOIR : http://www.tug.org/texshowcase/ LaTeX : le bon côté \documentstyle[twocolumn]{article} \begin{document} \title{\Large\bf Performance Evaluation of non-Markovian Stochastic Event Graphs} \author{Pierre H. Cubaud \\ \\ CEDRIC - Conservatoire National des Arts et M\'etiers \\ 292 Rue Saint-Martin, F-75003 Paris \\ {\tt [email protected]}} \maketitle \subsection*{\centering Abstract} {\em We describe a low polynomial complexity algorithm that provides bounds and approximation of any firing date using properties of integral orderings among random variables. We test the algorithm on some examples and discuss its use for the computation of the network cycle time. } \section{Introduction} An event graph with $T < \infty$ transitions is then entirely defined by its $T \times T$ adjacency matrix $M$, where $M_{ij}$ is the initial marking of the place connecting transitions $\theta_{i}$ and $\theta_{j}$. If no such place exists, we shall write by convention $M_{ij} = -\infty$. Et le mauvais… \long\def\@makecaption#1#2#3{ \ifx\figurestring#3 \vskip 5pt \setbox\@tempboxa\hbox{\small #1.~ #2} \ifdim \wd\@tempboxa >\hsize \setbox\@tempboxa\hbox{\small #1.~ } \setlength\captionindent{\wd\@tempboxa} \divide\captionindent by 2 \parbox[t]{\hsize}{\small \hangindent \captionindent \hangafter=1% \unhbox\@tempboxa#2} \else \hbox to\hsize{\small\hfil\box\@tempboxa\hfil} \fi \else \begin{center}{\sf #1}:\ {\sf #2}\end{center} \vskip 8pt \fi} Lire à l’écran P. M. Alt, K. Noda. Increasing electronic display information content: An introduction. IBM J. of Res. & Dev. Volume 42, Numbers 3/4, 1998.