Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
td_histoire_numerique:exercice_2 [2015/09/22 21:48] Francesco Beretta |
td_histoire_numerique:exercice_2 [2015/09/25 09:07] Francesco Beretta [Balises] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
Revenir à la [[:td_histoire_numerique:accueil|page d'accueil]]. | Revenir à la [[:td_histoire_numerique:accueil|page d'accueil]]. | ||
- | ===== Création du document à annoter ===== | + | \\ |
- | **Document à télécharger pour l'exercice de mardi 22 septembre**: {{:td_histoire_numerique:liste_notices_bnf.ods|liste_notices_BNF}} | + | ===== Documents à annoter ===== |
- | Les indications concernant la production du document se trouvent sur [[td_histoire_numerique:creation_liste_notices_bnf|cette page]]. | + | ==== Création du deuxième document à annoter ==== |
+ | **Document à télécharger pour l'exercice de mardi 29 septembre**: {{:td_histoire_numerique:liste_notices_bnf.ods|liste_notices_BNF.ods}} | ||
+ | Les indications concernant la production du document se trouvent sur **[[td_histoire_numerique:creation_liste_notices_bnf|cette page]]**. | ||
+ | Il s'agit maintenant le créer le document en format texte que nous allons annoter en introduisant une indexation sémantique. | ||
+ | * ouvrez le document 'liste_notices_BNF.ods' | ||
+ | * sélectionnez toutes les cellules de la colonne 'notice' sauf la première (qui contient le nom de la colonne). Pour sélectionner les cellules sélectionnez la première, appuyez sur la touche majuscule puis sélectionnez la dernière. | ||
+ | * collez le contenu du presse-papier dans un document texte vide (Writer) | ||
+ | * sauvegardez ce document sous le nom '**liste_notices_BNF.odt**' | ||
- | ==== Requête dans les données de la Bibliothèque nationale ==== | + | \\ |
- | On interroge le point d'accès SPARQL de la Bibliothèque nationale de France pour créer un ensemble de données tirées des notices d'autorité. Ouvrir l'[[http://data.bnf.fr/sparql/|Editeur SPARQL de data.bnf.fr]] et coller dans l'espace Rêquete la requête qui suit, tout en laissant le format de sortie par défaut: HTML. Le résultat de la requête est ainsi mis en forme et peut être parcouru. | + | Nous disposons donc de **deux documents à annoter**. Celui que nous venons de produire et celui que nous avons téléchargé pour le premier exercice (il est {{:td_histoire_numerique:notices_texte_brut.odt|téléchargeable ici}}). |
- | <code sparql> | + | \\ |
- | PREFIX egr: <http://rdvocab.info/ElementsGr2/> | + | |
- | + | ||
- | SELECT DISTINCT ?s ?na ?fn ?annee ?pb ?gd ?bio | + | |
- | WHERE | + | |
- | { { { SELECT DISTINCT ?s ?bio | + | |
- | WHERE | + | |
- | { { ?s egr:biographicalInformation ?bio | + | |
- | FILTER ( contains(?bio, "mathém") || contains(?bio, "Mathém") ) | + | |
- | } | + | |
- | UNION | + | |
- | { ?s egr:biographicalInformation ?bio | + | |
- | FILTER ( contains(?bio, "astrono") || contains(?bio, "Astrono") ) | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | ?s egr:dateOfBirth ?bd | + | |
- | OPTIONAL | + | |
- | { ?s <http://xmlns.com/foaf/0.1/name> ?na } | + | |
- | OPTIONAL | + | |
- | { ?s <http://xmlns.com/foaf/0.1/familyName> ?fn } | + | |
- | OPTIONAL | + | |
- | { ?s egr:placeOfBirth ?pb } | + | |
- | OPTIONAL | + | |
- | { ?s <http://xmlns.com/foaf/0.1/gender> ?gd } | + | |
- | } | + | |
- | BIND(strbefore(strafter(str(?bd), "http://data.bnf.fr/date/"), "/") AS ?annee) | + | |
- | FILTER ( ( ?annee > "1100" ) && ( ?annee < "1761" ) ) | + | |
- | } | + | |
- | ORDER BY ?annee | + | |
- | </code> | + | |
- | Pour les intéressés, une présentation des concepts du web sémantique, dans le contexte du mouvement //Open Data//, se trouve [[http://phn-wiki.ish-lyon.cnrs.fr/doku.php?id=thatcamp_2014:session_thatcamp2014|sur cette page]]. | + | ===== Principes d'annotation ===== |
- | === Création et nettoyage du fichier à encoder === | + | L'annotation sémantique des textes utilise les principes de l'[[https://fr.wikipedia.org/wiki/Extensible_Markup_Language|encodage en format XML]], selon les recommandations de la [[http://www.tei-c.org/|Text encoding initiative]], en les appliquant de manière simplifiée. |
- | * Revenir à la page de la 'Requête' et changer le 'Format du résultat' à CSV (comma-separated values) | + | ==== Balises ==== |
- | * Reexécuter al requête, sélectionner toute la page du résultat et la copier dans le presse-papier | + | |
- | * Ouvrir une nouvelle feuille de calcul dans le logiciel de tableur (Calc pour LibreOffice/OpenOffice; Excel dans la suite Microsoft) | + | |
- | * Coller avec collage spécial dans la première cellule de la feuille de calcul: A1 et choisir 'Texte non formaté'. | + | |
- | * Dans la boîte de dialogue mettre 'Virgule' comme séparateur | + | |
- | * Mettre le 'Type de colonne':'Texte' pour la colonne 'annee' | + | |
- | * Importer et vérifier le résultat | + | |
- | * Sauvegarder le nouveau fichier avec le nom 'liste_notices_BNF' au format .ods ou .xls | + | |
- | * Ajouter une colonne avant la colonne 'annee' qu'on va appeler 'nom' | + | |{ud0_}TTT{/ud} | unité documentaire | tei:div |Au dessus du niveau paragraphe, enveloppe un paragraphe | |
- | * Dans la première cellule qui contient les données insérer la formule: =SI(ESTVIDE(B2);C2;B2) | + | | {eud}TTT{/eud} | en-tête d'unité documentaire | tei:head |A placer toujours au début d'une unité documentaire pour disposer d'un titre | |
- | * Copier-coller cette formule dans toutes les cellules de la colonne sauf la première ligne | + | | {seg}TTT{/seg} | segment | tei:seg |Au dessous du niveau paragraphe, toujours à l'intérieur d'un paragraphe, regroupe en règle générale plusieurs propositions. | |
- | * Ajouter une colonne annee_mediane après la colonne année | + | | {co0}TTT{/co} | contenu | tei:seg | Identifie dans le texte une unité de connaissance de type 'contenu' | |
- | * Insérer dans toutes les cellules de cette colonne la formule <code>=SI(ESTERREUR(CHERCHE("-";E2)) ; E2; CONCATENER(GAUCHE(E2;2);"51"))</code> | + | | {in0}TTT{/in} | information | tei:seg |Identifie dans le texte une unité de connaissance de type 'information' | |
- | * Ajouter une colonne 'naissance' avant la colonne 'gd' (gender) et mettre cette formule dans toutes les cellules: =SI(ESTVIDE(G2);F2;CONCATENER(G2;", ";F2)) | + | | {en0}TTT{/en} | entité nommée | tei:name |Identifie dans le texte une chaîne de caractères qui représente le nom d'un objet | |
- | * Ajouter une colonne 'notice' après la colonne 'bio' et mettre dans toutes les cellules cette formule: =CONCATENER(D2;" (";H2;") ";J2;" [";A2;"]") | + | | {ro0}TTT{/ro} | référence à un objet | tei:rs |Identifie dans le texte une chaîne de caractères qui se réfère à un objet sans être son nom | |
- | * Trier les données d'après les colonnes 'annee_mediane' et 'nom' | + | | {dat}TTT{/dat} | date | tei:date |Une chaîne de caractéres qui représente une date dans n'importe quel format | |
- | + | ||
- | On obtient ce résultat: {{:td_histoire_numerique:liste_notices_bnf.ods|liste_notices_BNF}} | + | |
- | + | ||
- | ===== Annotation du document ===== | + | |
- | + | ||
- | ==== Fonctionnalité 'Rechercher et remplacer' ==== | + | |
- | + | ||
- | Documentation de LibreOffice (traduction en français): | + | |
- | + | ||
- | * [[https://help.libreoffice.org/Common/Find_and_Replace/fr|Rechercher & remplacer]] | + | |
- | * [[https://help.libreoffice.org/Common/List_of_Regular_Expressions/fr|Liste des expressions régulières]] | + | |
- | + | ||
- | === Recherche de similarités === | + | |
- | + | ||
- | * L'exemple de 'Jacob' | + | |
- | * [[https://fr.wikipedia.org/wiki/N-gramme|N-Gram]] | + | |
- | * [[https://books.google.com/ngrams/graph?content=Galileo+Galilei,Cartesio,Descartes,Copernico,Copernicus,Kopernik&year_start=1800&year_end=2000&corpus=22&smoothing=3&share=&direct_url=t1;,Galileo Galilei;,c0;.t1;,Cartesio;,c0;.t1;,Descartes;,c0;.t1;,Copernico;,c0;.t1;,Copernicus;,c0;.t1;,Kopernik;,c0|Google NGram viewer]] – explication : [[https://fr.wikipedia.org/wiki/Ngram_Viewer|Ngram Viewer]] | + | |
- | + | ||
- | ==== Principes d'annotation ==== | + | |
- | + | ||
- | Le principe de l'[[https://fr.wikipedia.org/wiki/Extensible_Markup_Language|encodage en format XML]] mais de manière simplifiée. | + | |
- | + | ||
- | === Balises === | + | |
- | + | ||
- | |{ud0_}TTT{/ud} | unité documentaire | tei:div | Au dessus du niveau paragraphe, enveloppe un paragraphe | | + | |
- | | {eud}TTT{/eud} | en-tête d'unité documentaire | tei:head | A placer toujours au début d'une unité documentaire pour disposer d'un titre | | + | |
- | | {seg}TTT{/seg} | segment | tei:seg | Au dessous du niveau paragraphe, toujours à l'intérieur d'un paragraphe, regroupe en règle générale plusieurs propositions. | | + | |
- | | {co0}TTT{/co} | contentu | tei:seg | | | + | |
- | | {in0}TTT{/in} | information | tei:seg | | | + | |
- | | {en0}TTT{/en} | entité nommée | tei:name | | | + | |
- | | {ro0}TTT{/ro} | référence à un objet | tei:rs | | | + | |
- | | {dat}TTT{/dat} | date | tei:date | | | + | |
Dans l'espace de noms du TD, le nom des balises possède deux caractères si la balise est susceptible d'être associée à un objet de la base de données, trois si cette possibilité est exclue. \\ Pour les balises à deux lettres, un 0 est ajouté si la référence à un objet dans la base de données est omise. | Dans l'espace de noms du TD, le nom des balises possède deux caractères si la balise est susceptible d'être associée à un objet de la base de données, trois si cette possibilité est exclue. \\ Pour les balises à deux lettres, un 0 est ajouté si la référence à un objet dans la base de données est omise. | ||
- | === Types === | + | ==== Types ==== |
On peut également ajouter un sigle sur deux caractères indiquant le type d'objet après le chiffre. | On peut également ajouter un sigle sur deux caractères indiquant le type d'objet après le chiffre. | ||
Ligne 118: | Ligne 56: | ||
Par exemple: {en0cs}mathématicien{/en} | Par exemple: {en0cs}mathématicien{/en} | ||
- | === Dates === | + | ==== Dates ==== |
Nous utilisons pour les dates le [[https://fr.wikipedia.org/wiki/ISO_8601|format ISO 8601]]. \\ | Nous utilisons pour les dates le [[https://fr.wikipedia.org/wiki/ISO_8601|format ISO 8601]]. \\ | ||
Ligne 137: | Ligne 75: | ||
\\ | \\ | ||
+ | |||
+ | ===== Annotation de documents ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== Annotation manuelle ==== | ||
+ | |||
+ | |||
+ | ==== Fonctionnalité 'Rechercher et remplacer' ==== | ||
+ | |||
+ | Documentation de LibreOffice (traduction en français): | ||
+ | |||
+ | * [[https://help.libreoffice.org/Common/Find_and_Replace/fr|Rechercher & remplacer]] | ||
+ | * [[https://help.libreoffice.org/Common/List_of_Regular_Expressions/fr|Liste des expressions régulières]] | ||
+ | |||
+ | === Recherche de similarités === | ||
+ | |||
+ | * L'exemple de 'Jacob' | ||
+ | * [[https://fr.wikipedia.org/wiki/N-gramme|N-Gram]] | ||
+ | * [[https://books.google.com/ngrams/graph?content=Galileo+Galilei,Cartesio,Descartes,Copernico,Copernicus,Kopernik&year_start=1800&year_end=2000&corpus=22&smoothing=3&share=&direct_url=t1;,Galileo Galilei;,c0;.t1;,Cartesio;,c0;.t1;,Descartes;,c0;.t1;,Copernico;,c0;.t1;,Copernicus;,c0;.t1;,Kopernik;,c0|Google NGram viewer]] – explication : [[https://fr.wikipedia.org/wiki/Ngram_Viewer|Ngram Viewer]] | ||