Lima Vallantin
Wilame
Marketing Data scientist and Master's student interested in everything concerning Data, Text Mining, and Natural Language Processing. Currently speaking Brazilian Portuguese, French, English, and a tiiiiiiiiny bit of German. Want to connect? Tu peux m'envoyer un message. Pour plus d'informations sur moi, tu peux visiter cette page.

Sommaire

N'oublies pas de partager :

Partager sur linkedin
Partager sur twitter
Partager sur facebook

N'oublies pas de partager :

Partager sur linkedin
Partager sur twitter
Partager sur whatsapp
Partager sur facebook

Le web sémantique est quelque chose de merveilleux. Ce « prolongement » du Web utilise des normes pour encourager le partage des données et la diffusion des connaissances. Vous devez vous demander en quoi cela est important pour un praticien du machine learning et comment en exploiter toute sa puissance.

Le Web sémantique repose en grande partie sur l'annotation des données et sur la création d'un vocabulaire strict qui aide les machines à saisir les liens entre les idées, les concepts et les pages elles-mêmes.

Des technologies telles que le Resource Description Framework (RDF) et le Web Ontology Language (OWL) permettent de représenter les informations par le biais de métadonnées. Cela se fait par le développement de concepts représentés par des ontologies.

Mais avant, un mot sur le web sémantique

Le web sémantique est l'un des plus ambitieux projets Internet. Mais il change définitivement la donne.

Lorsque nous parlons du web sémantique, nous faisons en fait référence à des concepts tels que les données liées, les graphiques de connaissances, la RDF et la représentation de concepts abstraits qui peuvent aider les ordinateurs à comprendre les connaissances humaines (mais ce n'est pas tout).

Les données liées telles qu'elles ont été imaginées au départ peuvent ne jamais se produire, mais leurs mises en œuvre actuelles peuvent être très utiles pour l'apprentissage des machines. Des discussions sur ce thème sont en cours depuis 1997.

Avec toute l'excitation autour de Deep Learning, il est facile d'oublier des projets comme celui-ci. En 2018 et 2019, le Gartner's Hype Cycle for Emerging Technologies a listé les Knowledge Graphs comme quelque chose à surveiller.

Qu'est-ce qu'une ontologie ?

Le concept d'ontologie est une notion philosophique qui traite de la nature « d'être quelque chose ». Dans un contexte de web purement sémantique, c'est l'acte de conceptualiser quelque chose et de définir comment ces choses communiquent.

Est-ce trop métaphysique pour vous ?

Ne vous inquiétez pas, voici un exemple. Si vous venez du domaine du SEO, vous avez sûrement entendu parler des données structurées. Lorsque les moteurs de recherche parcourent votre page, ils cherchent également des morceaux de code qui leur «  expliquent » quel est le contenu de votre page.

Ces éléments de contenu sont généralement représentés par un fichier json comme celui-ci :

<html>
<head>
<title>Magnolia (movie)</title>
<script type="application/ld+json">
{
    "@context": "https://schema.org/",
    "@type": "Movie",
    "name": "Magnolia",
    "director": {
        "@type": "Person",
        "name": "Paul Thomas Anderson"
    },
    "productionCompany": {
        "@type": "Organization",
        "name": "New Line Cinema"
    }
}
</script>
</head>
<body>
  <h2>Magnolia (1999)</h2>
  <p>
    Magnolia is a film written and directed by Paul Thomas Anderson, released in 1999.
  </p>
  </body>
</html>

Avez-vous remarqué que pour chaque élément de contenu, vous devez "expliquer" quel est le type d'information ? Par exemple, vous devez dire que la page web parle d'un film ("@type" : "Movie") dont le nom est "Magnolia" ("name" : "Magnolia") et que ce film est réalisé par une personne ("@type" : "Person") appelée Paul Thomas Anderson ("name" : "Paul Thomas Anderson").

Les types que vous voyez ici sont une abstraction des entités qui existent dans le monde réel. Chaque concept est défini dans ce que l'on appelle une ontologie. Les définitions des ontologies sont documentées, ainsi que les liens entre elles.

Par exemple, un film est une ontologie qui a un réalisateur, ce qui est une autre ontologie, une personne.

Dans ce cas, les concepts de ce qu'est une personne ou un film ont été définis et maintenus par schema.org, tandis que d'autres acteurs de l'internet, comme Google, acceptent d'utiliser ces définitions.

Lorsque vous créez une page web sur un film, il est recommandé d'inclure un extrait de code avec des informations sur les entités présentes dans votre texte.

Voici une vidéo qui explique un peu mieux ce qu'est une ontologie.

Puisque les ontologies créent des représentations et des définitions d'un domaine de connaissance, elles peuvent être utilisées pour saisir les relations entre les différents éléments.

Les ontologies sont déjà appliquées dans des domaines comme la biomédecine et les produits pharmaceutiques, mais elles peuvent être utilisées dans n'importe quel secteur.

Zalando - une entreprise de mode présente dans l'Union européenne - a créé son propre graphique de connaissance de la mode.Ils l'utilisent avec le Traitement du Language Naturel pour augmenter la puissance de recherche.

Les annotations sémantiques ne sont pas seulement utiles pour le référencement, mais aussi pour autre chose...

Pourquoi faut-il parler plus des annotations sémantiques ?

Les ontologies ne sont pas utiles uniquement dans un contexte web. Comme vous l'avez vu dans la vidéo, vous pouvez utiliser des données annotées et des ontologies pour créer des relations significatives entre les informations au sein d'une entreprise. C'est une façon de donner une structure aux informations non structurées.

Les données sur le Web sont tout sauf bien structurées. Lorsque vous trouvez des données structurées, vous devriez en profiter.

Les pages annotées sémantiquement peuvent vous fournir des informations rapides et normalisées, sans qu'il soit nécessaire de créer des robots complexes et un code de nettoyage des informations encore plus sophistiqué.

Imaginez que vous deviez scrapper un site de commerce électronique. Certains de ces sites peuvent mettre en place une protection contre le scraping automatique et d'autres peuvent générer un DOM complexe et variable, qui rend la tâche de les manipuler presque impossible.

Les pages annotées vous offrent la possibilité d'obtenir des informations que le propriétaire du site souhaite mettre à votre disposition. Prenons l'exemple de ce produit d'Alibaba.com.

Allez-y, visitez la page. Ne vous inquiétez pas, je ne reçois rien lorsque vous cliquez sur le lien.

La page ressemble à n'importe quelle autre page.

Maintenant, installez l'extension OpenLink Structure Data Sniffer sur votre navigateur. J'utilise Chrome. Rechargez la page et cliquez sur l'extension. Voici ce que vous verrez :

Avez-vous compris de quoi je parle ? Ce site utilise JSON-LD et RDFa pour les annotations et vous donne la description du produit, son URL, le type d'objet, le prix, etc.

Ceci est très pratique ! Inspectez le code pour voir comment les données ont été insérées dans la page.

Tout est là, dans les méta-tags. Pas besoin de construire quelque chose de trop complexe pour les extraire.

Prenez le temps d'explorer d'autres produits ou d'autres pages. Utilisez le sniffer pour découvrir si ces pages ont d'autres annotations, si elles utilisent un seul format ou plusieurs, etc.

Comment extraire ces informations ?

Il existe de nombreuses façons d'extraire ces données. Vous pouvez utiliser des outils comme Selenium ou des bibliothèques python comme BeautifulSoup.

Vous pouvez aller de l'avant et créer un petit script python qui visite ces pages, trouve les informations annotées et les enregistre dans une base de données Pandas.

C'est aussi simple que cela.

Quelques outils pour commencer à découvrir le web sémantique

D'autres outils sont disponibles sur la page Semantic Web and Linked Data.

Qu'en pensez-vous ? Avez-vous déjà pensé à cette possibilité auparavant ? Avez-vous déjà exploré cette façon d'extraire des données pour un projet ? Racontez votre expérience !

N'oublies pas de partager :

Partager sur linkedin
Partager sur twitter
Partager sur whatsapp
Partager sur facebook

Laisser un commentaire