Créer un système de recommandation de contenu grâce à la reconnaissance d'entités nommées

|

|

Le besoin
La solution
Ils peuvent vous aider

Le besoin

Comment recommander du contenu qui sera le plus à même d’intéresser le lecteur suite à l’article qu’il vient de consulter ?

Je suis directeur webmarketing pour un éditeur d'informations d'actualité sur un site internet et une de mes missions est d'accroître le trafic et de fidéliser les lecteurs. Pour cela, je dois augmenter leur taux d'engagement sur le site et cela passe entre autres par diminuer le taux de rebond. Pour que ce taux soit faible, il faut que les articles recommandés en fin de page soient pertinents par rapport à l'article qui vient d'être lu, article qui a intéressé le lecteur.

A titre d'exemple, si le lecteur consulte un article qui traite de la visite du Ministre de la Santé dans les hôpitaux de la ville de Versailles, il serait pertinent de proposer par la suite d’autres articles traitant d’un sujet similaire, à savoir des articles sur le Ministre de la Santé, sur les hôpitaux ou sur Versailles.

Pour cela, j’ai besoin d’un outil pour traiter automatiquement le contenu de chaque article afin de créer un système de recommandation d’articles efficace pour chaque article lu.

La solution

La reconnaissance d’entités nommées pour créer un système de recommandation de contenu

La reconnaissance d’entités nommées (ou NER pour named entity recognition en anglais) est une technique de traitement automatique de texte afin d'en dégager des mots ou expressions particuliers, en général avec une dénotation dans le monde réel. Ces entités appartiennent généralement aux catégories suivantes : 

  • nom de personne,
  • nom d'organisation,
  • nom de lieu,
  • nom d’événement,
  • nom de produit,
  • quantité,
  • valeur monétaire,
  • date.

Par exemple, dans la phrase :

  • “Steve Jobs, un des fondateurs d’Apple, a annoncé sa venue au journal télévisé Fox News le 2 octobre prochain”,

une approche NER détectera les expressions “Steve Jobs” comme appartenant à la catégorie “nom de personne”, “Apple” à “nom d’entreprise”, “Fox News” à “nom d’entreprise”, “2 octobre” à “date”.

Selon les besoins, les catégories peuvent être adaptées pour ne choisir que les plus pertinentes. Pour un système de recommandation d’articles, les plus judicieuses sont les catégories noms d'organisations, noms de personne, noms d’entreprise, lieux, noms de produits et noms d’événements. Ces catégories sont à privilégier pour faire le moins d'erreurs lors de la recommandation. En effet, il y a peu de chances de se tromper de Steve Jobs par homonymie de patronyme (c'est à dire que quelqu'un d'autre porte le même nom) alors qu'une valeur monétaire de 2 millions d'euros peut être mentionnée dans plusieurs articles ne traitant pas du même sujet alors qu'un système de recommandations doit au contraire mettre en avant les articles similaires.

En trouvant des similitudes entre les entités reconnues de plusieurs articles, il est alors possible de dégager un ensemble d’articles traitant du même sujet et qui sont alors susceptibles de plaire au lecteur.

Différentes approches NER

Reconnaissance d'entités par dictionnaire

L'approche NER basée sur un dictionnaire consiste à créer un dictionnaire de tous les mots correspondant à une entité nommé, par exemple les noms de villes, de personnes, de produits...

C'est l’approche la plus simple car elle compare chaque mot de l’article avec un dictionnaire de mots contenant les entités nommées et leur catégorie. Lorsque l'algorithme rencontre une expression qui est présente dans son dictionnaire, celle-ci est annotée avec le nom de la catégorie qui lui correspond.

Reconnaissance d'entités par règles

L'approche NER basée sur des règles consiste à décrire les règles syntaxiques permettant de reconnaître une entité nommée.

Par exemple la règle :

<PERSONNE>[prenom] #MOT</PERSONNE>

  • [prenom] est un prénom connu décrit dans une base de données,
  • #MOT est une chaîne de caractères commençant par une majuscule
  • <PERSONNE> est une étiquette correspondant à la catégorie nom de personne

Cette approche est plus performante que celle basée sur un dictionnaire car elle prend en compte le contexte de la phrase pour annoter les entités nommées.

Par exemple, dans la phrase

  • “Il veut créer une organisation mondiale de la santé”,

l’expression “organisation mondiale de la santé” ne doit pas être annotée comme une organisation car elle n’y fait pas référence.

En revanche, dans la phrase

  • “L’Organisation mondiale de la Santé est une agence spécialisée pour la santé publique”,

cette expression doit être annotée. En effet, dans cet exemple, c'est l'article défini “l'” et l'article indéfini “une” qui permet de comprendre si l'expression est une organisation ou non. Cette approche à base de règles est donc plus efficace que l'approche à base de dictionnaire car elle nécessite moins de données et extrait la catégorie de l'entité nommée avec une meilleure de précision.

Reconnaissance d'entités par apprentissage automatique

La troisième approche est celle basée sur l’apprentissage automatique. Cela signifie qu'elle ne se base pas sur des règles formelles mais qu'elle utilise des modèles de langue pour extraire des entités nommées d'un corpus annoté.

Pour effectuer l'apprentissage pour l'extraction d'entités nommées, il faut :

  1. Créer un corpus d'entraînement.
  2. Annoter le corpus d'entraînement.
  3. Entraîner un algorithme d'apprentissage.
  4. Evaluer les résultats.

Créer un corpus d'entraînement

Le corpus corpus d'entraînement doit être constitué d'articles semblables à ceux que l'on souhaite présenter à l'Internaute. Il doit être assez volumineux et contenir un nombre suffisant d'entités nommées pour que l'apprentissage soit efficace.

Annoter un corpus d'entraînement

Chaque entité nommée du corpus doit être indiquée dans le texte. On pourra par exemple annoter de la façon suivante :

  • Le maire d'<VILLE>Orange</VILLE>, <PERSONNE>Frédéric Joseph Hyacinthe d'Hugues</PERSONNE>, a été nommé par le premier consul de la république.
  • L'action <ENTREPRISE>Orange</ENTREPRISE> a perdu 2% à la mi-séance.

Entraîner un algorithme d'apprentissage

A partir du corpus annoté, l'algorithme consiste à identifier, par apprentissage, les similitudes de contextes d'apparition des différentes catégories d'entités nommées. Différentes méthodes mathématiques peuvent être utilisées, notamment en calculant la probabilité d'apparition d'une catégorie en fonction du contexte immédiat,

Par exemple, il est probable que, par apprentissage, la probabilité que la catégorie <VILLE> apparaisse après la chaîne de caractères "le maire de" soit très élevée.

Evaluer les résultats

Lors de la constitution du corpus d'entraînement, certains documents annotés ne seront pas utilisés pour l'apprentissage et serviront à évaluer la performance du modèle issue de l'apprentissage. Cette évaluation consiste à appliquer le modèle sur le corpus d'évaluation et de vérifier la capacité à reconnaître correctement les entités nommées.

Avantages et inconvénients de chaque approche

Extraction d'entités nommées par dictionnaire

Les avantages de l'approche NER par dictionnaire sont surtout sa simplicité d'implémentation basée sur la comparaison de mots. Ses inconvénients sont cependant importants : le dictionnaire doit régulièrement être mis à jour avec de nouvelles entités nommées (comme de nouvelles personnalités publiques ou de nouveaux noms d'entreprise) car dans le cas contraire, elles ne pourraient pas être reconnues. Les homographes ne sont également pas différenciés, cette approche ne reconnaît que ce qu'on attend et ne traite pas les ambigüités.

Par exemple, la chaîne de caractères Orange peut renvoyer aussi bien à la ville du Vaucluse que l'entreprise spécialisée dans les télécoms.

Extraction d'entités nommées par règles

Les avantages de l'approche NER par règles sont l'absence de base de données volumineuse (contrairement au dictionnaire de la précédente approche) et la prise en compte du contexte des mots permettant de différencier les homographes. Le principal inconvénient de cette approche est le développement coûteux des règles.

Extraction d'entités nommées par apprentissage

L'avantage notable de l'approche NER par apprentissage automatique est l'utilisation des statistiques qui permettent d'aiguiser les performances de la reconnaissance d'entités nommées, notamment en prenant en compte les variations d'orthographe. Cependant, il faut disposer de suffisamment de données d'apprentissage pour que cette approche soit efficace.

La reconnaissance d’entités nommées pour un système de recommandations de contenu

Dès qu'un article est rédigé et publié sur la plateforme en ligne, celui-ci doit être analysé par l'algorithme NER afin de l'indexer selon les entités nommées reconnues. Cet index stocke toutes les entités nommées reconnues pour chaque article. Au moment de l'affichage, l'index de l'article consulté est comparé aux index de tous les autres articles pour n'afficher que les articles ayant le plus d'entités nommées communes.

Il est également possible d'ajouter une pondération sur les entités nommées reconnues. Une entité nommée extraite du titre a plus de poids qu'une entité nommée extraite du chapeau car elle est centrée sur le sujet de l'article, et l'entité nommée extraite du chapeau a elle-même plus de poids qu'une entité nommée extraite du texte de l'article. Cette pondération permettra donc d'être plus précis sur l'indexation de l'article

 

Points d'attention

La reconnaissance d'entités nommées est une des méthodes pour créer un système de recommandation de contenus utilisant la comparaison de textes. Une autre méthode peut être l'utilisation du TF-IDF qui est une approche permettant de comparer deux textes en utilisant l'importance de certains termes. Pour un système de recommandation d'articles, les termes importants font référence au sujet de l'article (présenté dans le titre) et les autres articles sont classés selon la fréquence de ces termes. Ceux recommandés sont alors ceux dont la fréquence des termes essentiels est la plus importante.

Par Mathilde Ducos Etudiante NLP

Ils peuvent vous aider

Demande de mise en relation concernant l'étude de cas Créer un système de recommandation de contenu grâce à la reconnaissance d’entités nommées
Veuillez recopier le texte ci-dessous afin de pouvoir envoyer votre message. Attention aux majuscules !
 
Callity est né en 2018 du constat que les solutions de Quality Monitoring et de Speech Analytics traditionnelles étaient dépassées. Qui peut dire aujourd’hui qu’il exploite pleinement l’ensemble de ses interactions clients ? Personne ! Chez Callity nous oeuvrons pour changer cela via une plateforme SaaS moderne, utilisant pleinement les possibilités offertes par l'intelligence artificielle, qui permette aux marques d'exploiter 100% des conversations clients et les transformer en stratégies d'acquisition, de fidélisation et de formation efficaces.
 
Synapse est expert en Intelligence Artificielle appliquée au texte. Notre raison d'être est d'accompagner nos clients dans la transmission de leurs connaissances. En ce sens, Synapse intervient tout au niveau de 3 leviers : - Créer de la connaissance, à travers un outil d'aide à l'écriture qui permet d'écrire l'esprit libre : Cordial. - Structurer de la connaissance, à travers des outils d'analyse sémantique. - Partager de la connaissance, à travers un chatbot capable de se connecter à la documentation d'une entreprise et de générer automatiquement sa base de connaissances.
 
Automatisation de la relation client via des interfaces conversationnelles et des chatbots. Clustaar permet aux marques d'aider leurs clients en répondant automatiquement à des demandes d'informations ou de support.
 
Kairntech développe une plateforme d'IA visant à démocratiser et accélérer le développement d'applications basées sur le TAL au sein de l’entreprise. L’objectif est de pouvoir créer rapidement et sans programmation des robots permettant d’analyser automatiquement de grandes quantités de texte avec une très grande précision, faisant économiser du temps et des efforts. Nous aidons les professionnels de l’information et les analystes (auditeurs, analystes marketing, chercheurs scientifiques, enquêteurs…) à bâtir des applications pour gagner en efficacité tout en prenant de meilleures décisions.
 
Yseop’s Augmented Analyst platform brings natural language generation and other advanced technologies together to offer automation fit for regulated industries.
 
Lingua Custodia est une Fintech leader du Traitement Automatique des Langues (TAL) pour la Finance basée en France et au Luxembourg. Elle a développé son expertise avec une offre pointue de traduction automatique spécialisée par type de document financier. La société propose aujourd'hui également des services de transcription automatique, des services d'analyse linguistique de document et des services d'extraction de données via sa plateforme en ligne ou par API. Ses clients sont des institutions financières et les départements financiers de grandes sociétés et ETI.
 
Datapolitics met la donnée au service de l'action publique. La data est partout, volumineuse, et peu structurée : son utilisation dépasse rapidement le cadre du fichier Excel. Avec Datapolitics, passez la vitesse supérieure en bénéficiant des multiples possibilités offertes par la datascience. Propulsez vos contenus au meilleur niveau grâce à nos algorithmes et nos intelligences artificielles. Nous collectons aujourd'hui les prises de position des gouvernants ou de ceux qui aspirent à le devenir et produisons des analyses automatiques au travers de la plateforme Hedwige.
 
Semantiweb apporte un décodage marketing des contenus conversationnels spontanés des internautes. Cette expertise donne une valeur stratégique aux annonceurs, permet de créer une intimité clients, détecte les tendances de consommation et traduit les insights des marchés en les rendant opérationnels pour l’entreprise, la marque et le produit.
 
QWAM développe des solutions logicielles d'intelligence artificielle appliquée au traitement du langage naturel. Nos solutions combinent les approches sémantiques, big data, machine learning et deep learning. QWAM intervient pour répondre aux besoins d'exploitation avancée des données textuelles existantes au sein des entreprises et organisations ou bien disponibles sur le web.
 
L'APIL, association à but non lucratif, rassemble l'expertise des personnes et des industriels du traitement automatique des langues. Elle a pour ambition de promouvoir le traitement automatique des langues auprès des utilisateurs, qu'ils soient industriels ou grand public. Nous animons un réseau d'expertise en collaboration avec les acteurs spécialisés du domaine : forum JeunesTalents en collaboration avec l'ATALA, les rencontres entre membres industriels, ou l'accompagnement de projets collaboratifs innovants en partenariat international.

Vous fournissez de telles solutions et vous souhaitez faire partie de nos partenaires, contactez-nous.

Les technologies à mettre en oeuvre

Comment comparer des documents ?
Comparaison de documents, de quoi parle-t-on ? De nom­breuses appli­ca­tions néces­sitent de pou­voir com­pa­rer des docu­ments entre eux, par exemple pour cor­ri­ger un docu­ment, détec­ter du...
Extraction d'information, de quoi s'agit-il ?
L’extraction d’information, à quoi ça sert ? L’ex­trac­tion d’in­for­ma­tion consiste à iden­ti­fier, dans des textes en langue natu­relle, des infor­ma­tions types : noms de per­sonnes ou de...

Ces études de cas peuvent aussi vous intéresser

Mettre en place une veille scientifique multilingue

Je suis responsable produits/R&D dans le domaine pharmaceutique, et je souhaite mettre en place une veille multilingue.

Tendances selfcare et modernisation du support client

Je suis directeur du support client chez un fournisseur de télévision par satellite. J’ai pour objectif de mettre en place plus de selfcare et automatiser mon support pour que mes clients trouvent plus rapidement les informations qu’ils recherchent. En parallèle, je dois faire baisser les coûts du support client. Alors, comment faire ?

Mettre en place des outils de contrôle de conformité

Je suis directeur de la conformité dans le domaine de l’assurance, nous vendons par téléphone des produits variés dans un contexte particulièrement réglementé. J’ai donc besoin d’outils pour m’assurer que les obligations d’information sont comprises et appliquées par les équipes en tenant compte des spécificités de chaque produit, sans pour autant nuire à la performance commerciale. Comment puis-je faire ?