15 février 2008

Fonction d'indexation sur Wikio

Je viens de découvrir sur Wikio une fonction intéressante, mais dont, je pense, je ne perçois pas encore toutes les possibilités.
J'ai retrouvé mon précédent article (sur l'estévenant bisontin) indexé dans Wikio (URL de la requête. Rq : cette URL ne signifiera plus rien dans quelques jours, étant donné le taux de renouvellement des articles de Wikio).
Or dans les premières lignes affichées du billet, on constate que les mots "Jean-Claude Alcamo" ont été indexés (et cliquables), c'est-à-dire qu'ils sont identifiés comme désignant une personne pouvant être "interrogée" dans Wikio.

Le lien pointe vers l'URL http://www.wikio.fr/tag/Jean-Claude+Alcamo, cliquable, fournissant la liste des "actualités" mentionnant également cette personne (en l'occurrence, il n'y a que mon billet).
En général, une telle indexation se fait à la suite du texte, avec un système de tags (à peu près tous les blogs, dont celui-ci, utilisent ce système pour indexer leurs billets). De même, dans les catalogues de bibliothèques et les bases de données, on indique à la suite des infos bibliographiques (Titre, Auteur, Date, etc.) des mots-clés.
Ici, les mots-clés sont directement intégrés au texte. C'est une démarche presque évidente étant données les possibilités du web, mais j'avoue que je n'y avais encore jamais songé.
Dans "Ma Bibliothèque" Google Book Search, j'ai rajouté pour certains livres (par manque de temps, je ne les ai pas indexés tous) des tags. Mais ne pourrait-on envisager le système suivant : je fournis à Google Book Search une liste de mots (que je trouve significatifs) et, pour ma bibliothèque, tous ces mots deviennent cliquables et relancent une recherche dans cette même bibliothèque...
D'autres exploitations sont certainement envisageables, et même existent déjà certainement.
Je précise que c'est un autre cas de figure que tous les liens inter-articles de la Wikipedia, par exemple : dans la Wikipedia, on pointe vers un article donné. Wikio ne pointe pas vers une notice bibliographique, mais vers un sujet présent dans sa base d'articles, et pour lesquels il y a n articles présents.
Moralité : il me faut de nouveau me plonger dans Wikio...

Libellés : , , , ,

29 juin 2007

Excel vers EAD

Pour obtenir une base en EAD, c'est toujours une très mauvaise idée de saisir l'encodage XML. Le mieux est de partir des pratiques existantes, et de permettre aux personnes inventoriant leurs fonds de travailler avec des outils bureautiques classiques.
Donc en général on a deux types de documents à convertir : les inventaires sous Word, et les inventaires sous Excel.
Les premiers sont très différents des seconds. Les isous Word sont déjà structurés en parties, sous-parties, sous-sous-parties, etc., correspondant à peu près à la structure d'un document EAD. La conversion en XML, via OpenOffice (j'en ai déjà parlé) n'est une conversion des noms de balises (je simplifie un peu) : on remplace le tag "résumé" par une balise "abstract" et le style Titre 1 par <c level="series"><did><unitid>Texte en Titre 1</unitid> etc.

Sous Excel, c'est complètement différent : la même information est répétée à chaque ligne. Par exemple si j'ai une dizaine de monnaies de Corbie, l'information "Corbie" est répétée à chaque ligne, alors qu'en EAD c'est une information chapeau, indiquée une seule fois, et qui englobe toutes les monnaies.
J'ai donc mis au point une chaîne en plusieurs étapes, permettant la récupération d'un inventaire Excel en EAD :
  1. Publipostage : c'est une fonction qui existe dans Word, sous l'onglet "Outils". Pour chaque ligne Excel, je récupère l'information présente dans une colonne et je la mets sous une nouvelle mise en forme :
    <monnaie>
    <id>«Numéro»</id>
    <ref>«Référence»</ref>
    <atelier>«Les_conditions_de_lémission»</atelier>
    <type_d_atelier>«F6»</type_d_atelier>
    <siecle>«F28»</siecle>
    <dates>«F32»</dates>
    <seigneur>«F33»</seigneur>
    <nom_monnaie>«F16»</nom_monnaie>
    <metal>«F18»</metal>
    <avers_champ>«Description»</avers_champ>
    <revers_champ>«F73»</revers_champ>
    <avers_legende>«Légende»</avers_legende>
    <avers_legende_dvpt>«F114»</avers_legende_dvpt>
    <revers_legende>«F133»</revers_legende>
    <revers_legende_dvpt>«F134»</revers_legende_dvpt>
    <departement>«Localisation»</departement>
    <province_laique>«F21»</province_laique>
    <province_ecclesiastique>«F24»</province_ecclesiastique>
    <diocese>«F23»</diocese>
    </monnaie>

    Tout ce qui est entre guillemets, c'est l'appel d'une colonne, pour chaque ligne Excel. Ca produit un fichier XML (dans Word, à copier ensuite dans un éditeur XML) qui compte autant de <monnaie/> qu'il y a de lignes.

  2. Il faut ensuite les remettre en EAD, en groupant les <monnaie/> selon certains critères : géographique (par région), puis par atelier (triés par ordre alphabétique), puis par seigneur (triés par ordre chronologique), puis par métal, puis par type de monnaie.
Cette conversion EAD, avec regroupement, s'effectue avec une feuille XSL qui utilise la "méthode Muenchian" (que j'ai découverte pour l'occasion). Celle que j'ai paramétrée est encore très sommaire : elle ne trie que par atelier, et au sein de chaque atelier par ordre chronologique.
C'est à affiner progressivement.
Les tris successifs ne sont pas très compliqués à rajouter, une fois qu'on a le modèle. Il faudrait encore réfléchir à la valeur à donner aux attributs level des <c>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/02/xpath-functions" xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:key name="monnaies-par-atelier" match="monnaie" use="atelier"/>
<xsl:template match="/">
<ead>
<eadheader>
<xsl:call-template name="metadonnees"/>
</eadheader>
<archdesc>
<xsl:apply-templates/>
</archdesc>
</ead>
</xsl:template>
<xsl:template name="metadonnees">
<eadid countrycode="FR">ID<xsl:value-of select="generate-id()"/>
</eadid>
<filedesc>
<titlestmt>
<titleproper>Inventaire en EAD</titleproper>
<author>????</author>
</titlestmt>
</filedesc>
<profiledesc>
<creation>Tableau Excel extrait par publipostage, puis regroupement des notices par autorité (atelier), émetteur (personne physique), métal et type de monnaie</creation>
<!-- Description du fichier électronique, de la façon dont le document a été obtenu-->
<langusage>Document rédigé en <language langcode="fre">français</language>
</langusage>
</profiledesc>
</xsl:template>


<xsl:template match="monnaies">
<did>
<unitid>Inventaire EAD de monnaies</unitid>
</did>
<dsc>
<xsl:for-each select="monnaie[count(. | key('monnaies-par-atelier', atelier)[1])=1]">
<xsl:sort select="atelier"/>
<c>
<did>
<unittitle>
<xsl:value-of select="atelier"/>
</unittitle>
</did>
<xsl:for-each select="key('monnaies-par-atelier', atelier)">
<xsl:sort select="siecle"/>
<xsl:call-template name="notice_monnaie"/>
</xsl:for-each>
</c>
</xsl:for-each>
</dsc>
</xsl:template>


<xsl:template name="notice_monnaie">
<c>
<did>
<unittitle><xsl:value-of select="nom_monnaie"/></unittitle>
<unitid>
<xsl:value-of select="id"/>
</unitid>
<unitdate>
<xsl:choose>
<xsl:when test="dates/child::text()"><xsl:value-of select="dates"/>
<xsl:choose>
<xsl:when test="siecles/child::text()">[<xsl:value-of select="siecles"/></xsl:when>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="siecle"/>
</xsl:otherwise>
</xsl:choose>

</unitdate>
<physdesc>
<physfacet type="metal">
<xsl:value-of select="metal"/>
</physfacet>
<dimensions type="weight">
<xsl:value-of select="poids"/>
</dimensions>
<dimensions type="angle">
<xsl:value-of select="angle"/>
</dimensions>
</physdesc>
</did>
<!--La balise <controlaccess> contient tous les mots clés : localisation géographique, indexation iconographique, etc.-->
<controlaccess>
<geogname source="dieudonne" role="province_laique"><xsl:value-of select="province_laique"/></geogname>
<geogname role="diocese"><xsl:value-of select="diocese"/></geogname>
<geogname role="province_eccl"><xsl:value-of select="province_eccl"/></geogname>
<geogname role="departement"><xsl:value-of select="departement"/></geogname>
<geogname role="region"><xsl:value-of select="region"/></geogname>
<occupation><xsl:value-of select="type_d_atelier"/></occupation>
</controlaccess>
<bibliography>
<bibref>
<xsl:value-of select="ref"/>
</bibref>
</bibliography>
<scopecontent>
<scopecontent dc:type="avers">
<p>
<xsl:attribute name="altrender"><xsl:value-of select="avers_legende_dvpt"/></xsl:attribute>
<xsl:value-of select="avers_legende"/>
</p>
<p>
<xsl:value-of select="avers_champ"/>
</p>
</scopecontent>
<scopecontent dc:type="revers">
<p>
<xsl:attribute name="altrender"><xsl:value-of select="revers_legende_dvpt"/></xsl:attribute>
<xsl:value-of select="revers_legende"/>
</p>
<p>
<xsl:value-of select="revers_champ"/>
</p>
</scopecontent>
</scopecontent>
</c>
</xsl:template>
</xsl:stylesheet>


Ce qui me donne un fichier de ce genre. J'ai 715 monnaies dans ce tableau à charger ainsi, avec aucune reprise à effectuer, dans ma base Pleade.
Seul gros défaut : mon tableau de fait référence à aucune image (alors que j'ai bien numérisé de nombreuses planches du XIXe siècle). Pour faire le lien, je pourrais rajouter une colonne pointant vers les images. En réalité, le plus logique est de modifier les noms de mes fichiers pour utiliser le champ "id" de chaque notice : chaque image devra s'appeler (par exemple) IX.A.1.jpg, et le lien vers l'image peut se construire dynamiquement, en utilisant l'identifiant et en rajoutant ".jpg" à la fin.
En terme d'encodage enfin, il faudra encore que je me décide sur ce que je fais de toute l'indexation iconographique : en effet j'ai à disposition dans mon tableau des colonnes "Alpha ou oméga : Oui/non", "Type iconographique/lettres", "Type religieux : oui/non", etc. Ce serait dommage que ça soit perdu.

Libellés : , , , , ,

13 juin 2007

Indexation bibliothécaires et indexation chercheurs

Un petit billet pour répéter ici ce que j'ai dit dans un commentaire -- et comme les commentaires ne sont pas beaucoup lus, et pas du tout indexés par les moteurs de recherche, il m'a semblé que cette remarque méritait mieux que ça.
[comme tout ce que je dit, c'est évidemment sujet à contestation, controverse voire critique]
Il me semble que l'indexation telle que l'utilise le bibliothécaire vise à catégoriser la ressource.
L'objectif est donc clairement qu'un même mot-clé serve à un grand nombre de documents. Un mot-clé servant à un seul ouvrage doit être changé. L'objectif est,
  • d'une part de "ranger" le livre sur une étagère virtuelle thématique, et correspond à une cote. En ce sens, le travail du bibliothécaire (ou du gestionnaire d'une base de données) est une cotation par mots plus qu'une indexation.
  • d'autre part, que l'internaute, lorsqu'il arrive sur une notice détaillée, puisse rebondir sur ces mots-clés catégoriels et retrouver d'autres ressources similaires.
L'indexation faite par le chercheur (sur HAL, par exemple) vise à individualiser la ressource de manière unique : chaque ressource a ainsi une combinaison de mots-clés unique, voire des mots-clés utilisés uniquement pour cette ressource. L'objectif est de retrouver cette ressource précisément lorsqu'un internaute lance une recherche, généralement avec des termes très précis (nom d'une molécule pour un chimiste, ou d'un comte de Saint-Gilles pour un numismate).
Voilà pourquoi ces deux types de mots-clés sont utiles au sein d'une même base de données.
Le problème est la clarté de la distinction lorsqu'on consulte une notice : comment expliquer à l'utilisateur que tel mot-clé est catégoriel, et tel autre personnel ?
Peut-être en renforçant cette spécificité de l'indexation rameau (ou autre), et en indiquant pour le premier type : "catégories", et pour le second : "mots-clés" ?
Après tout, les blogs permettent à la fois de ranger un billet dans une catégorie, et de lui attribuer des tags ! Donc nous sommes dans le domaine du connu pour l'utilisateur.

Libellés : , ,

Mentions légales

MonnaieCe n'est pas un blog de collectionneur.
Je suis historien, un peu informaticien (j'adore les métadonnées !). D'où ce que vous pouvez lire ici.
Comme vous pouvez le constater, même si je le laisse en ligne, il n'est plus alimenté depuis longtemps.

Recherche sur le web numismate

Recherche dans les livres de numismatique de Google Book Search[...]

 

 

Généré par Blogger

Site Meter