Archives de catégorie : Modélisation

Garzoni data model – key elements

Our starting point is tens of thousands of Garzoni contracts and our finishing line is an information system to make sense of all the information they contain. As outlined in a previous post, the route between the two is composed of several steps, one of the first being the design of a data model.

What is a data model?

Roughly speaking, the definition of a data model corresponds to the identification of what is of interest in the ‘world’ — in our case Garzoni contracts — we are looking at. Regardless of the format, the role of a model is to represent the structure and the main elements of a ‘world’ in order to explain and/or dynamically reproduce it. As a result, a model should enable to answer questions or solve issues regarding the modeled world. The modelling step is thus a crucial one: it establishes the work-space and prepares what can be done.

How to proceed?

To represent a portion of reality we need to identify its concepts, its entities, and their interactions. In the context of Garzoni, we are quite fortunate for the content of the contracts — recall it is administrative documents — is extremely regular, with always the same pieces of information. Before starting off with the definition of our vocabulary, we first had to address two issues: the choice of a formalism and the characterization of the scope of the model.

Regarding knowledge representation formalism, we chose to express our model through an ontology, using the OWL language. This choice is motivated, among others, by  the wish to (a) exploit inference capacities, (b) re-use domain knowledge,  (c) benefit from the technical eco-system of the Semantic Web and (d) integrate and share our data according to linked data principles.

As for characterizing the scope of our model, a pre-study of the documents coupled with the consideration of historical research questions at stake in the Garzoni project allowed us  to formulate competency questions, that is to say questions that we wish the knowledge base could answer. In the context of Garzoni, research questions revolve around economical aspects (e.g. how did apprentices’ salaries differed according to professions, guilds, time, etc.), knowledge transmission (e.g. were apprentices just a source of labor or were they trained), migration flows (e.g. where did apprentice come from), family and gender issues (e.g. at what age boys and girls were sent away to become apprentice), and others. Each question can be looked at from a veneto-Venetian view point, or put into the larger European perspective. As a side remark on this point, the Garzoni project would wish, on the long term, to cross data-sets and studies with projects of similar veins.

At this point it is worth having in mind that an ontology is inherently relative: it corresponds to one of many possible views of a domain (which differ according to time, cultural background, targeted application, etc.) and it evolves through time. Ours is naturally shaped according to our needs, and is iteratively revisited.

The Garzoni data model

Event though the model might evolve further in the future, it can be seen as fairly stable and complete as of today. Our intention here is not to detail the whole ontology but rather to present its main building blocks and emphasize some points of interest.

The Garzoni data model covers different areas of information:

  • information about the sources (archival dimension): a garzoni contract (a document) is materialized on two mediums: the real paper registers on the one hand, theirs scans on the other. For both mediums, the ontology represents appropriate descriptive and technical metadata information. Fig. 1 below illustrate this part of the ontology; further aspects about the digitization process are described using the CRM-dig ontology (not represented in the figure).
Fig. 1: Part of the model related to archival aspects.
  • information about persons (people dimension): garzoni contracts feature different “actors”, with different roles (Apprentice, Master and Guarantor) and characteristics (please see an example in this post). As mentioned before, Garzoni contracts are quite consistent and the mention of a person follows more or less the same pattern, with the indication of his/her name, age, profession, residence, geographical origins and potentially his/her charge (a kind of public responsibility, different from the profession). These attributes are however not evenly distributed: the age is mentioned for the Apprentices exclusively, while charges are often indicated for Guarantors. The ontology has classes and properties to represent all information about persons.
  • information about various entities or concepts: besides Person, contracts mention Places (sometimes with the indication of the Sestriere — a Venetian district — and of the Parish), Workshops (with their insigna) and Professions.
  • information about contracts’ terms (condition dimension): each contract gives information about financial conditions and what we called “hosting” conditions. The first one relate to the salary and/or the pledge which were due by one of the parties. Salaries can be quite complex, with different amounts paid by stages.  Hosting conditions relate to various aspects of life which where sometimes supported during the apprenticeship: the general expenses of the apprentice, his/her clothing, personal care and accommodation. Financial and hosting conditions are defined classes in the ontology, made up of some condition components (salary, accommodation, pledge, clothing, etc.).
  • information about events: garzoni contracts give evidence of the occurrence of several events. The apprenticeship itself, its enrollment at the Giustizia Vecchia, the potential breach of the contract as well as the flee of the apprenticeship (and, sometimes, his return). To represent this information, we make use of classes and properties of the Simple Event Model (SEM) ontology.
  • information about relations, which can occur between contracts (a contract cites another one) or between persons (mainly family and business relations).
Basics elements of Garzoni model: a Contract has a Signature, introduces some Entity Mentions, reports some Events and Conditions.
Fig. 1: Basics elements of Garzoni model: a Contract has a Signature, introduces some Entity Mentions and reports about Events and Conditions.

All this information form the core of the content of Garzoni data, which we do not detail further here. Instead, we now turn our attention to the questions of (1) how to represent information which belong to different levels, (2) how to represent information which evolves through time and is dependent on a specific view point, and (3) how to trace its provenance.

Mentions and Entities – When dealing with textual data, a obvious aspect to model is the difference between what appears in the text (the word) and what it is being referred to (the ‘thing’, through the meaning). In the case of lexical information, this amounts to distinguish between an occurrence of a word in a text and its meaning as stated in a dictionary. When dealing with entities, this distinction corresponds to the mention(s) of an entity in texts on the one hand and, on the other,  the entity of the world they refer to. The former is used to represent the various possible occurrences or mentions of e.g. Francesco de Philippo in different contracts, and the latter to represent the unique person of Francesco de Philippo who lived at a certain time.  The link between the two classes is reified, in order to represent meta-information about the relationship itself, especially which agent led to its creation, a human or a machine. The Figure below displays the organization of these classes. In the future, this will allow an informed exploitation of the data.


Statements – In our model, entities (not mentions) are objects which collect information about different states of existence. No matter how this ‘snapshots’ will be collected, they all originate from a given source and assert some properties valid at a certain time. Without considering here all the options possible to encode this information, let us just mention our choice, that is to say the usage of Statements similarly as in the RDF representation of Wikidata (Vrandecic, 2014). Each entity has a set of property-value pairs, whose values are not the value itself, but a Statement giving access to the value, its validity time, and its source or reference. If the entity Francesco de Philippo appears in two contracts, first as a Master, second as a Guarantor, it will have two role statements, asserting that this person was a Master at a certain date according to a certain source (a contract), and a Guarantor at another date according to another source.

Provenance – Garzoni data is acquired through a web-interface (cf. section 5) whose internal model relies entirely on the Open Annotation Data Model (OA). Each and every instance correspond to an annotation which relates a target (what is annotated) and a body (the content of the annotation) and is further qualified by the motivation of the annotation and the agent who created it. Based on this input, the Garzoni RDF data-set will naturally keep this provenance information.

Auteur: M. Ehrmann


[Vrandecic 2014] Vrandecic, D. and Krötzsch, M. Wikidata: A free collaborative knowledge base. Commun. ACM, 57(10):78–85.

Des sources aux ressources, les Garzoni sur le Web sémantique

La série documentaire des Accordi dei Garzoni comporte 32 registres où sont consignés plus de 55,000 contrats d’apprentissage, de la fin du XVIème à la fin du XVIIIème siècles à Venise (cf. post sur registres et contrats). Offrant de multiples indications sur qui embauchait qui, pour apprendre quel métier et sous quelles conditions, ces registres constituent une précieuse source d’information quant à  l’écosystème de l’apprentissage venitien.

Comment exploiter cette source historique? Comment collecter la masse d’information et la rendre accessible à tous?

La partie computationelle du projet Garzoni est dédiée au développement d’un système d’information géo-historique afin de collecter, traiter et exploiter l’information contenue dans les Accordi dei Garzoni. Ce développement se fait sur un mode incrémental, avec la “construction” progressive de l’information, suivant les principales étapes suivantes:

  1. Acquisition des documents: numérisation
  2. Acquisition des données: modélisation et annotation des documents
  3. Traitement des données: normalisation, désambiguïsation et inférence
  4. Exploitation des données: recherche et visualisation

Si l’étape (1) peut paraître relativement triviale, il convient de ne pas sous estimer son importance: la qualité des images acquises affecte leur facilité de traitement, tant par des humains que par des machines.

L’étape (2) correspond à l’extraction de l’information contenue dans les documents. Il s’agit d’annoter les contrats d’apprentissage en fonction d’un modèle et de stocker de manière appropriée l’information recueillie.

Le préambule indispensable de cette étape  correspond à la modélisation du domaine, soit l’identification des concepts, des entités et de leurs relations. En bref: quels sont les éléments qui nous intéressent dans les contrats d’apprentissage? Ces derniers sont définis en fonction des documents (l’apprentissage tel que vu au travers des contrats) et des objectifs d’étude du projet (économie, famille, flux migratoires, etc.). Ils sont  structurés en une ontologie exprimée selon le language de représentation de connaissances OWL (Web Ontology Language) du W3C. Cette formalisation permettra par la suite des inférences automatiques.

Une fois équipés d’un modèle, il est possible de procéder à la transcription et annotation des documents. Pour ce faire, nous développons une interface web, appelée DHCanvas, qui permet de visualiser et annoter des images de documents: l’utilisateur peut sélectionner un segment d’image, le transcrire, lui attribuer différentes étiquettes sémantiques et spécifier des attributs. Les principaux atouts de cette interface sont la conservation du lien entre l’annotation (déjà une interprétation) et la source (le segment d’image), la gestion d’annotations concurentes et sa totale compatibilité avec les standards de représentation de resources digitales et d’annotations (IIIF, Shared Canvas Model et Open Annotation Model). Plus de détails sur DHCanvas dans un prochain billet.

Le format de représentation et le mode de publication suivent les standards du web sémantique: chaque entité, concept, propriété ou relation est une ressource RDF (Resource Description Framework, un format  pour la représentation et l’échange de données) et est publiée selon les principes de Linked Data.

Au terme de cette phase d’annotation, nous obtenons un ensemble de ressources, constitué de segments d’images et d’instances du modèle.

Ces données sont cependant encore difficilement exploitables, car présentant de nombreuses variations:

  • variation linguistique, avec les problèmes classiques de synonymie (plusieurs formes linguistiques – un concept ou entité) et d’homonymie (une forme – plusieurs concepts ou entités). Il importe donc de normaliser, c’est-à-dire identifier les variantes d’un même concept ou d’une même entité (principalement pour les professions,  lieux et personnes).
  • variation de saisie hiérarchique, avec des entités relevant de différents niveaux de généricité/spécificité. C’est le cas des noms de lieux, qui peuvent correspondre à des village, villes, régions ou pays.

Il importe donc, en étape (3), de traiter les données pour en faciliter l’exploitation. Cela comporte:

  • normalisation et désambiguïsation,
  • inférence, et
  • étabissement de liens vers d’autres datasets.

Enfin, l’étape (4) correspond au développement d’une interface pour l’exploration des données, laquelle permettra de rechercher une entité précise, de visualiser le network des personnes, et d’avoir une vue statistique d’ensemble des différentes facettes du dataset. Plus d’information sur le prototype prochainement.

Auteur: M.Ehrmann