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.

Documents pareils