Utilisateur:TomT0m/Classification

From Wikidata
Jump to navigation Jump to search
This page is a translated version of the page User:TomT0m/Classification and the translation is 69% complete.
Outdated translations are marked like this.

La classification, dont l'élément Wikidata est taxonomy (Q7211), est l'art de regrouper et de classer les objets, ou les concepts, qui partagent certaines caractéristiques, ou de les différencier des objets qui ne les partagent pas. Les articles d'homonymies de la Wikipédia en anglais (par exemple) Classification ou Taxonomy démontrent que ce sujet est très étudié et que des quantité de personnes trouvent différentes manières de classer tout et n'importe quoi dans de nombreux domaines.

Sur Wikidata, la communauté a choisi d'utiliser des techniques de classification bien étudiées pour construire les classifications, inspirées des technologies dites sémantiques.

Classes et «instances»

Moi, l'auteur de ces lignes, vous, le lecteur, et tous ceux qui ont lu cette page, ont quelque chose en commun. Nous appartenons au groupe des personnes qui avons travaillé, ou avons l'opportunité de travailler avec Wikidata. Nommons ce groupe: les Wikidataiens.

Il y a d'autres groupe de «choses» dans le monde réel, par exemple

  • le groupe de tout ceux qui ont contribué un jour a un projet Wikimédia
  • le groupe de tous les arbres du monde

Dans la base de donnée de Wikidata, il existe toute sorte de cas groupes. Ils sont appelés «classe». Les membres de ces groupes sont appelés les «instances» du groupe, ou les «individus».

Il y a une propriété destinée à relier les individus/instances comme vous ou mois à la classe ou aux classes auxquels ils appartiennent: instance of (P31). Par exemple, si vous voulez exprimer le fait que Barack Obama est un être humain en langage Wikidata, cela donnera

Une note sur l'exemple Wikidatian
Il y a une subtilité dans l'exemple «wikidatien». On peut affirmer qu'être un éditeur de wikidata est mieux modélisé comme une profession ( occupation (Q12737077)  View with Reasonator View with SQID - c'est-à-dire une classe d'actions qui sont souvent effectuées par quelqu'un ou quelque chose, ou un rôle dans la société) qu'en tant que classe de personnes. Si tel est le cas, alors la définition de la profession serait «éditer régulièrement Wikidata». Dans ce cas, la propriété occupation Search est mieux adaptée, et la classe de toutes les personnes qui exercent cette profession est distincte, bien que certains wikidates préfèrent ne pas la rendre explicite.

La dichotomie Classe/Jeton

Une chose importante à avoir à l'esprit quand nous devons décider si un élément appartient à une classe, en première approximation, est le principe philosophique de la dichotomie type/jeton, qui possède sur Wikidata l'élément type–token distinction (Q175928). D'après ce principe, les «jetons» (ou instances, ou individus) sont des objets concrets ou des événements qui impliquent des objets concrets, et qui sont localisés dans l'espace et le temps.

Vous et moi sommes des objets concrets, la Boston Tea Party (Q19024) ou le Big Bang theory (Q323) sont des occurrence (Q1190554): tous ceux là sont des jetons. La dernière colère de Napoléon est un jeton également, c'est un événement qui implique une personne.

De l'autre côté, il y a les types (ou classes). Ce sont des objets abstraits qui regroupent les jetons en fonction de certaines de leurs caractéristiques. Certains concepts peuvent sembler encore plus abstraits que les classes, par exemple le concept de «colère». Ce n'est pas forcément le cas. Dans l'exemple précédent, La dernière colère de Napoléon, nous avons montré un exemple de jeton «colère». L'ensemble de tous les jetons similaire forment une classe, que nous pouvons assimiler au concept de «colère».

Cette approche de dichotomie classe/jeton s'avère cependant limitée dans certains cas. Nous verrons plus loin des exemples et des techniques pour la dépasser et lui donner — pour les théoricien d'entre nous — plus de possibilités de higher-order logic (Q1644136) que certaines ontologie moderne. Id s'agit en pratique dela possibilité d'ajouter des couches d'abstraction au delà de la première abstraction des classes.

Classes parentes et sous-classes : les relations entre les classes

Dans la suite, notre domaine du discours illustratif sera le domaine des projets Wikimédias, en particuliers les contributeurs. Les classes Wikidataien et Wikimédien sont des classes intéressantes dans ce contexte. Chaque Wikidataiens, ayant contribué à Wikidata, a contribué a un projet Wikimédia. Il exiset une propriété dans Wikidata pour exprimer ce genre de relations : subclass of (P279). Par exemple une déclaration comme

⟨ Wikidataien ⟩ subclass of (P279) View with SQID ⟨ Wikimédien ⟩

Signifie que chaque instance de la classe sujet est une instance de la classe objet.

De la même manière il est vraisemblable que tous les Wikimédiens soient des êtres humains. Il est possible d'exprimer ça dans le langage commun à tous les Wikidataiens qui nous définissons, qui est indépendant des langues individuelles des contributeurs.

Il y a d'autres façon de traduire ces déclarations en français:

  • Wikidatiaien est une sorte de Wikimédien ou Wikidataien est un type particulier de Wikimédien ; ou encore, pour les développeurs, la classe Wikidataien est une spécialisation de la classe Wikimédien.

La deuxième déclaration peut se lire aussi (pour que vous soyez prévenu si vous lisez cette expression dans une discussion):

  • La classe Humain est une généralisation de la classe Wikimédien ; tous les Wikimédiens sont humains ; toutes les instances de Wikimédien sont des instances d'humain.

Un Wikimédien peut être à la fois un Wikipédien (la classe de tous les contributeurs à Wikipédia) et un Wikidataien. Ce n'est pas un problème.

Définition d'une classe

Prenons deux Wikimédiens fictifs, Bob et Alice. Imaginons qu'on dispose d'une base de données de Wikimédiens, et qu'on dispose de certaines informations sur ceux-ci. Nous disposons également d'élément sur les projets comme Wikidata, Wikipedia, Wikisource, ...

Nous avons aussi une propriété contribue à, avec des informations comme:

Alice
  • ⟨ Alice ⟩ contribue à Search ⟨ Wikipédia ⟩
Bob
  • ⟨ Bob ⟩ contribue à Search ⟨ Wikisource ⟩
  • ⟨ Bob ⟩ contribue à Search ⟨ Wikidata ⟩

Ces hypothétiques données nous disent que Bob est un Wikidataien. Nous pouvons alors utiliser cette propriété pour récupérer, par une requête, tous les Wikidataiens. En fait nous pourrions même utiliser cette propriété pour donner une définition précise de la classe «Wikidataien», en utilisant uniquement des objets présents dans la base de donnée. Nous pourrions créer ce qui s'apelle une «intensional definition (Q1026899)  View with Reasonator View with SQID» à la classe. C'est une méthode employée sur des projets externes, et quelque chose que nous devrions garder à l'esprit en construisant Wikidata. Cela pourrait permettre de donner des définitions aux classes de manière indépendante de la langue des contributeurs, permettre de construire des contraintes et de faire du contrôle de la qualité des données, combattre le vandalisme … En effet chaque instance de la classe devrais être présente dans les résultats de la requête qui définit la classe, si on en dispose.

Des outils peuvent utiliser les définitions des classes pour en déduire des choses. Un exemple d'inférence avec notre exemple pourrait être que si nous savons qu'Alice et Bob ont contribué à Wikipédia et que la classe des Wikipédien est celle des personnes qui ont contribué à Wikipédia, alors l'outil pourra en déduire qu'Alice et Bob sont des Wikipédiens sans qu'il soit nécessaire de rajouter les déclarations «instance de : Wikipédien» dans leurs éléments. De même si «Wikipédien» est une sous classe de «Wikimédien», alors nous l'outil pourra en déduire que Alice et Bob sont des «Wikimédiens». Il existe un projet dont le but est de recenser (dans un premier temps) les besoins des Wikidataiens en inférence, puis de trouver un moyen d'en profiter dans Wikidata, voir WikiProject Reasoning.

There is a project whose goal is to collect Wikidata's community needs and potential use cases in term of inferences (first) then to find ways to benefit them in Wikidata, please visit WikiProject Reasoning.

Classer les classes

Il est dans certains cas utile d'utiliser des méthodes de classifications qui ne suivent pas strictement la dichotomie type/jeton. Un exemple est celui de la classification des bateaux qui est en usage en dehors de Wikidata. Les navires sont en effet classés habituellement en ce qui est appelé une "classe de navire". Il est naturel de relier les navires à leur classe dans Wikidata, par exemple

est une déclaration assez naturelle. Mais quelle est la nature des éléments "classe" comme Albion-class second-rate ship of the line (Q4121227) eux même ?

The idea is that we can discriminate ship classes in the preceding sense from any ship class in the Wikidata sense by classifying classes themselves, using the same properties that we use to classify instances.

Mais que sont les ship class (Q559026) elles-même ? On peut raisonnablement dire que parce que toute instance de cette classe est une instance de navire. Mais aussi que parce qu'un militaire le donnerait volontiers en exemple de classe de navire.
Dans ce cas, Albion-class second-rate ship of the line (Q4121227) est à la fois une classe et une instance:
  • une classe de navire au sens Wikidata, parce que c'est une sous classe de la class <navire>
  • une instance du concept de <classe de navire> au sens de "type de navire tous construits sur le même modèle".
Il est permis de faire ce genre de choses avec des standards du web sémantique comme OWL ou RDF, bien que certaines versions antérieures de OWL l'interdisaient et forçaient une application stricte de la dichotomie type/jeton. Voir l'article sur le concept de metaclass (Q19478619)  View with Reasonator View with SQID.

Pourquoi avoir des éléments qui sont à la fois des classes et des instances

Some people object that this feature, having items which are both classes and instances, is not useful. In their mind, it is enough to search for all the subclasses of some class to get all the relevant classes. We'll explain why it is not always enough.

Let's take the ship class example. Say we want to find all ship classes. Some sets of ship are things that are commonly called ship class (ship class (Q559026)  View with Reasonator View with SQID) in the real world. By definition A ship class is a group of ships of a similar design. Nimitz-class aircraft carrier (Q309336)  View with Reasonator View with SQID has a set of instances, 10 have been built. All are ships, so Nimitz-class aircraft carrier (Q309336) is a subclass of ship (Q11446). battleship (Q182531) is also a Wikidata class. All battleships are ships, so battleship (Q182531) is a subclass of ship (Q11446) as well. Suppose we want to find all subclasses of ship (Q11446) that are ship classes in the similar design (ship class (Q559026)  View with Reasonator View with SQID) sense. If we just query all subclasses of ships, we will get both battleship (Q182531) and Nimitz-class aircraft carrier (Q309336). The former is not what we want: battleships are not all of similar design.

With metaclasses however, we don't have that problem. We just find all the instances of ship class (Q559026) and we have what we want. As <battleship> won't be an instance of ship class (Q559026), that problem is solved.

Classification of atoms with classes, like Hydrogen as the class of all Hydrogen atoms, and Elements as a class of class of atoms.

This is also relevant in chemistry. For example there are a lot of hydrogen atoms in the universe. Following the token/type principle, Hydrogen would then be a class, all of whose instances are those billions of hydrogen atoms.

Note on the definition of chemical element
please note that the definition of "chemical element" taken in this example is, for simplicity, "type of atom with a specific number of protons". The definition of element is sometimes a little bit different and can be "substance in which all atoms have the same number of protons" depending on the country or on the chemistry school.

But usually chemists also use the concept of chemical elements. "Hydrogen is a chemical element" is something that teachers can assert. But what is the relationship, then? There is no problem if we decide that chemical element is a class of classes of atoms. It is different than the class of all isotopes of a chemical element as well. If we had only classes and instances, it would be difficult to express the relationship between Hydrogen and chemical elements because we wouldn't have an explicit way to discriminate the different classes of atoms, since both the Hydrogen atoms, atoms of some Hydrogen isotope (i.e., deuterium or tritium), metallic atoms, and so on would all be subclasses of atoms. It's convenient then to classify all those classes into a class of classes that share something. Chemical element classes share something: every one of them contains atoms with the same atomic number. Two different classes of atoms have a different atomic number for their instances. Which is not the case for, let's say the class of all metallic atoms, which groups together atoms some of which have different atomic numbers.

Une classe de classe est appelée une metaclass (Q19478619)  View with Reasonator View with SQID.

Class of instances, class of class of instances, ...

It's also possible to repeat the pattern to get higher level metaclasses. These classes are [???]. Some researchers have studied them and have described patterns and antipatterns on Wikidata to help in finding mistakes[1].

Some items exist on Wikidata that represent those higher level metaclasses : second-order class (Q24017414)  View with Reasonator View with SQID (an example of such a class is "ship class") ; third-order class (Q24017465)  View with Reasonator View with SQID ; fourth-order class (Q24027474)  View with Reasonator View with SQID ; fifth-order class (Q24027515)  View with Reasonator View with SQID ... There are, however, very few known instances of the highest levels[2].


Outils et propriétés

Les deux plus importantes propriétés pour classes les sujets des éléments Wikidata sont instance of (P31) et subclass of (P279).

Propriétés associées à une classe

{{Item documentation}} ; Vous pouvez créer une liste de propriétés dans la sous-page /class de la page de discussion d'un élément (un exemple est la page Talk:Q5/class) qui sera affichée par ce modèle
  • Wikidata list

En complément

Notes

  1. Nous ne conterons pas les robots dans les Wikimédiens &41-;;
  1. http://snap.stanford.edu/wikiworkshop2016/papers/Wiki_Workshop__WWW_2016_paper_11.pdf
  2. Foxvog, D. (2005). Instances of instances modeled via higher-order classes (PDF). Workshop on Foundational Aspects of Ontologies (FOnt 2005), 28th German Conference on Artificial Intelligence. Koblenz, Germany. pp. 46–54.