Le traitement du langage naturel (NLP) et la compréhension du langage naturel (NLU) sont deux technologies souvent confondues qui rendent la recherche plus intelligente et permettent aux utilisateurs de rechercher et de trouver ce qu’ils veulent.

Cette intelligence est un élément central de la recherche sémantique.

NLP et NLU sont la raison pour laquelle vous pouvez taper « robes » et trouver cette « robe de soirée NYE » tant recherchée et pourquoi vous pouvez taper « Matthew McConnahey » et récupérer M. McConnaughey.

Grâce à ces deux technologies, les internautes peuvent trouver ce qu’ils veulent sans avoir à taper leur requête exactement telle qu’elle se trouve sur une page ou dans un produit.

La PNL est l’une de ces choses qui a acquis une signification si large qu’il est facile de regarder au-delà du fait qu’elle vous dit exactement ce que c’est : la PNL traite le langage naturel, en particulier dans un format que les ordinateurs peuvent comprendre.

Ces types de traitement peuvent inclure des tâches telles que la normalisation, la correction orthographique ou la radicalisation, que nous examinerons chacune plus en détail.

NLU, d’autre part, vise à « comprendre » ce qu’un bloc de langage naturel communique.

Il effectue des tâches qui peuvent, par exemple, identifier des verbes et des noms dans des phrases ou des éléments importants dans un texte. Les personnes ou les programmes peuvent ensuite utiliser ces informations pour effectuer d’autres tâches.

Les ordinateurs semblent avancés car ils peuvent faire beaucoup d’actions en peu de temps. Cependant, à bien des égards, les ordinateurs sont assez stupides.

Ils ont besoin que les informations soient structurées de manière spécifique pour s’appuyer sur elles. Pour les données en langage naturel, c’est là qu’intervient le NLP.

Pourquoi le NLP est important dans la recherche

Il prend des données désordonnées (et le langage naturel peut être très désordonné) et les transforme en quelque chose avec lequel les ordinateurs peuvent travailler.

Normalisation du texte

Lorsque les internautes saisissent du texte dans une barre de recherche, ils essaient de trouver une bonne correspondance, pas de jouer à « deviner le format ».

Par exemple, exiger d’un utilisateur qu’il tape une requête exactement dans le même format que les mots correspondants dans un enregistrement est injuste et improductif.

Nous utilisons la normalisation de texte pour supprimer cette exigence afin que le texte soit dans un format standard, quelle que soit sa provenance.

Au fur et à mesure que nous passerons par différentes étapes de normalisation, nous verrons qu’il n’y a pas d’approche que tout le monde suit. Chaque étape de normalisation augmente généralement le rappel et diminue la précision.

Petit aparté : « rappel » signifie qu’un moteur de recherche trouve des résultats qui sont connus pour être bons.

La précision signifie qu’un moteur de recherche ne trouve que de bons résultats.

Les résultats de la recherche pourraient avoir un rappel de 100 % en renvoyant chaque document dans un index, mais la précision serait médiocre.

À l’inverse, un moteur de recherche pourrait avoir un rappel à 100 % en renvoyant uniquement les documents qu’il sait être parfaitement adaptés, mais il manquera probablement de bons résultats.

Encore une fois, la normalisation augmente généralement le rappel et diminue la précision.

La valeur de ce mouvement vers une extrémité du spectre de rappel-précision dépend du cas d’utilisation et de la technologie de recherche. Il ne s’agit pas d’appliquer toutes les techniques de normalisation mais de décider lesquelles offrent le meilleur équilibre entre précision et rappel.

Normalisation des lettres

La normalisation la plus simple que vous puissiez imaginer serait la gestion de la casse des lettres.

En anglais, au moins, les mots sont généralement en majuscules au début des phrases, parfois dans les titres, et lorsqu’il s’agit de noms propres. (Il existe également d’autres règles, selon la personne à qui vous demandez.)

Mais en allemand, tous les noms sont en majuscules. Les autres langues ont leurs propres règles.

Ces règles sont utiles. Sinon, nous ne les suivrions pas.

Par exemple, mettre en majuscules les premiers mots des phrases nous aide à voir rapidement où les phrases commencent.

Cette utilité est toutefois diminuée dans un contexte de recherche d’informations.

Le sens des mots ne change pas simplement parce qu’ils sont dans un titre et que leur première lettre est en majuscule.

Encore plus délicat, c’est qu’il y a des règles, et puis il y a comment les gens écrivent réellement.

Si j’envoie un texto à ma femme, « QUELQU’UN HIT NOTRE VOITURE! » nous savons tous que je parle d’une voiture et non de quelque chose de différent car le mot est en majuscule.

Nous pouvons le voir clairement en réfléchissant au nombre de personnes qui n’utilisent pas les majuscules lorsqu’elles communiquent de manière informelle – ce qui, incidemment, est la manière dont la plupart des cas de normalisation fonctionnent.

Bien sûr, nous savons que parfois les majuscules changent le sens d’un mot ou d’une phrase. Nous pouvons voir que les « chats » sont des animaux et que « Cats » est une comédie musicale.

Dans la plupart des cas, cependant, la précision accrue qui accompagne la non-normalisation sur le cas est compensée par une diminution beaucoup trop importante du rappel.

La différence entre les deux est également facile à dire via le contexte, que nous pourrons exploiter grâce à la compréhension du langage naturel.

Bien que moins courant en anglais, la gestion des signes diacritiques est également une forme de normalisation des lettres.

Les signes diacritiques sont les marques, ou « glyphes », attachés aux lettres, comme dans á, ë ou ç.

Les mots peuvent autrement être orthographiés de la même manière, mais des signes diacritiques ajoutés peuvent modifier le sens. En français, « élève » signifie « étudiant », tandis que « élevé » signifie « élevé ».

Néanmoins, beaucoup de gens n’incluront pas les signes diacritiques lors de la recherche, et donc une autre forme de normalisation consiste à supprimer tous les signes diacritiques, laissant derrière eux le simple (et maintenant ambigu) « eleve ».

Tokénisation

Le prochain défi de normalisation consiste à décomposer le texte que le chercheur a tapé dans la barre de recherche et le texte dans le document.

Cette étape est nécessaire car l’ordre des mots n’a pas besoin d’être exactement le même entre la requête et le texte du document, sauf lorsqu’un chercheur place la requête entre guillemets.

Décomposer des requêtes, des expressions et des phrases en mots peut sembler une tâche simple : il suffit de diviser le texte à chaque espace.

Les problèmes apparaissent rapidement avec cette approche. Encore une fois, commençons par l’anglais.

Séparer uniquement sur des espaces signifie que la phrase « Décomposons cette phrase ! » nous donne Let’s, break, up, this, and phrase ! comme mots.

Pour la recherche, nous ne voulons presque certainement pas le point d’exclamation à la fin du mot « phrase ».

Que nous voulions garder le mot contracté « Let’s » ensemble n’est pas aussi clair.

Certains logiciels décomposent encore plus le mot (« let » et « ‘s ») et d’autres non.

Certains ne décomposeront pas le « allons » tout en décomposant le « ne le fais pas » en deux morceaux.

Ce processus est appelé « tokénisation ».

Nous l’appelons la tokenisation pour des raisons qui devraient maintenant être claires : ce que nous obtenons ne sont pas des mots mais des groupes discrets de caractères. C’est encore plus vrai pour les langues autres que l’anglais.

Les germanophones, par exemple, peuvent fusionner des mots (plus précisément des « morphèmes », mais suffisamment proches) pour former un mot plus long. Le mot allemand pour « niche pour chien » est « Hundehütte », qui contient à la fois les mots « chien » (« Hund ») et « maison » (« Hütte »).

Presque tous les moteurs de recherche tokenisent le texte, mais un moteur peut prendre d’autres mesures pour normaliser les jetons. Deux approches connexes sont le stemming et la lemmatisation.

Enracinement et lemmatisation

La radicalisation et la lemmatisation prennent différentes formes de jetons et les décomposent à des fins de comparaison.

Par exemple, prenez les mots « calculatrice » et « calcul », ou « ralentissant » et « lentement ».

Nous pouvons voir qu’il existe des similitudes évidentes.

La radicalisation décompose un mot en sa « racine » ou en d’autres variantes du mot sur lequel il est basé. Le stemming est assez simple ; vous pourriez le faire vous-même.

Quelle est la racine de « racine » ?

Vous pouvez probablement deviner qu’il s’agit de « tige ». Souvent, la racine signifie supprimer les préfixes ou les suffixes, comme dans ce cas.

Il existe plusieurs algorithmes de stemming, et le plus populaire est l’algorithme de Stemming de Porter, qui existe depuis les années 1980. Il s’agit d’une série d’étapes appliquées à un jeton pour accéder à la tige.

Le stemming peut parfois conduire à des résultats que vous n’auriez pas prévus.

En regardant les mots «porter» et «porte», vous pourriez vous attendre à ce que la racine de chacun d’eux soit «porter».

La racine réelle, du moins selon l’algorithme de Stemming de Porter, est « carri ».

En effet, le stemming tente de comparer des mots apparentés et de décomposer les mots en leurs plus petites parties possibles, même si cette partie n’est pas un mot lui-même.

D’un autre côté, si vous voulez une sortie qui sera toujours un mot reconnaissable, vous voulez une lemmatisation. Encore une fois, il existe différents lemmatiseurs, tels que NLTK utilisant Wordnet.

La lemmatisation décompose un jeton en son «lemme», ou le mot qui est considéré comme la base de ses dérivations. Le lemme de Wordnet pour « carry » et « carries », correspond donc à ce que nous attendions auparavant : « carry ».

La lemmatisation ne décomposera généralement pas autant les mots que la racine, et autant de formes de mots différentes ne seront pas considérées comme identiques après l’opération.

Les radicaux pour « dire », « dire » et « dire » sont tous « dire », tandis que les lemmes de Wordnet sont « dire », « dire » et « dire ». Pour obtenir ces lemmes, les lemmatiseurs sont généralement basés sur des corpus.

Si vous voulez le rappel le plus large possible, vous voudrez utiliser la radicalisation. Si vous voulez la meilleure précision possible, n’utilisez ni stemming ni lemmatisation.

Ce que vous choisissez dépend en fin de compte de vos objectifs, mais la plupart des recherches peuvent généralement très bien fonctionner sans recherche ni lemmatisation, en récupérant les bons résultats et sans introduire de bruit.

Pluriels

Si vous décidez de ne pas inclure la lemmatisation ou le stemming dans votre moteur de recherche, il y a encore une technique de normalisation que vous devriez considérer.

C’est la normalisation des pluriels à leur forme singulière.

Généralement, ignorer les pluriels se fait grâce à l’utilisation de dictionnaires.

Même si la « dé-pluralisation » semble aussi simple que de couper un « -s », ce n’est pas toujours le cas. Le premier problème concerne les pluriels irréguliers, tels que « deer », « oxen » et « mice ».

Un deuxième problème est la pluralisation avec un suffixe « -es », comme « potato ». Enfin, il y a simplement les mots qui se terminent par un « s » mais qui ne sont pas au pluriel, comme « toujours ».

Une approche basée sur un dictionnaire garantira que vous introduisez le rappel, mais pas de manière incorrecte.

Tout comme avec la lemmatisation et la radicalisation, la normalisation des pluriels dépend de vos objectifs.

Jetez un filet plus large en normalisant les pluriels, plus précis en évitant la normalisation.

Habituellement, la normalisation des pluriels est le bon choix, et vous pouvez supprimer les paires de normalisation de votre dictionnaire lorsque vous trouvez qu’elles causent des problèmes.

Un domaine, cependant, où vous voudrez presque toujours introduire un rappel accru est lors de la gestion des fautes de frappe.

Tolérance typographique et vérification orthographique

Nous avons tous rencontré la tolérance typo et la vérification orthographique dans la recherche, mais il est utile de réfléchir à la raison de sa présence.

Parfois, il y a des fautes de frappe parce que les doigts glissent et frappent la mauvaise touche.

D’autres fois, le chercheur pense qu’un mot est orthographié différemment qu’il ne l’est.

De plus en plus, les « fautes de frappe » peuvent également résulter d’une mauvaise compréhension de la parole en texte.

Enfin, les mots peuvent sembler contenir des fautes de frappe, mais ce n’est pas le cas, par exemple en comparant « cri » et « crème ».

La façon la plus simple de gérer ces fautes de frappe, fautes d’orthographe et variations est d’éviter d’essayer de les corriger. Certains algorithmes peuvent comparer différents jetons.

L’un d’entre eux est l’algorithme de distance Damerau-Levenshtein.

Cette mesure examine le nombre de modifications nécessaires pour passer d’un jeton à un autre.

Vous pouvez ensuite filtrer tous les jetons avec une distance trop élevée.

(Deux est généralement un bon seuil, mais vous voudrez probablement l’ajuster en fonction de la longueur du jeton.)

Après le filtrage, vous pouvez utiliser la distance pour trier les résultats ou alimenter un algorithme de classement.

Souvent, le contexte peut être important pour déterminer si un mot est mal orthographié ou non. Le mot « cri » est probablement correct après « je », mais pas après « glace ».

L’apprentissage automatique peut être une solution pour cela en apportant un contexte à cette tâche NLP.

Ce logiciel de vérification orthographique peut utiliser le contexte autour d’un mot pour identifier s’il est susceptible d’être mal orthographié et sa correction la plus probable.

Fautes de frappe dans les documents

Une chose que nous avons ignorée auparavant est que les mots peuvent non seulement avoir des fautes de frappe lorsqu’un utilisateur les tape dans une barre de recherche.

Les mots peuvent également contenir des fautes de frappe dans un document.

Cela est particulièrement vrai lorsque les documents sont constitués de contenu généré par l’utilisateur.

Ce détail est pertinent car si un moteur de recherche ne regarde que la requête pour les fautes de frappe, il lui manque la moitié des informations.

La meilleure tolérance de faute de frappe doit fonctionner à la fois pour la requête et le document, c’est pourquoi la distance d’édition fonctionne généralement mieux pour récupérer et classer les résultats.

La vérification orthographique peut être utilisée pour élaborer une meilleure requête ou fournir des commentaires au chercheur, mais elle est souvent inutile et ne devrait jamais être isolée.

Compréhension du langage naturel

Alors que la PNL concerne le traitement du texte et du langage naturel, la NLU concerne la compréhension de ce texte.

Reconnaissance d’entité nommée

Une tâche qui peut aider à la recherche est celle de la reconnaissance d’entité nommée, ou NER. NER identifie les éléments clés, ou « entités », à l’intérieur du texte.

Alors que certaines personnes appelleront le traitement du langage naturel NER et d’autres l’appelleront la compréhension du langage naturel, ce qui est clair, c’est qu’il peut trouver ce qui est important dans un texte.

Pour la requête « robe de soirée NYE », vous obtiendrez peut-être une entité de « robe » qui est mappée à un type de « catégorie ».

NER mappera toujours une entité sur un type, du plus générique comme « lieu » ou « personne », au plus spécifique que vos propres facettes.

NER peut également utiliser le contexte pour identifier les entités.

Une requête de « maison blanche » peut faire référence à un lieu, tandis que « peinture de maison blanche » peut faire référence à une couleur de « blanc » et à une catégorie de produits de « peinture ».

Catégorisation des requêtes

La reconnaissance d’entité nommée est précieuse dans la recherche car elle peut être utilisée conjointement avec des valeurs de facette pour fournir de meilleurs résultats de recherche.

En rappelant l’exemple de la « peinture de maison blanche », vous pouvez utiliser la couleur « blanche » et la catégorie de produits « peinture » ​​pour filtrer vos résultats afin de n’afficher que ceux qui correspondent à ces deux valeurs.

Cela vous donnerait une grande précision.

Si vous ne voulez pas aller aussi loin, vous pouvez simplement booster tous les produits qui correspondent à l’une des deux valeurs.

La catégorisation des requêtes peut également aider au rappel.

Pour les recherches avec peu de résultats, vous pouvez utiliser les entités pour inclure des produits associés.

Imaginez qu’aucun produit ne corresponde aux mots-clés « peinture maison blanche ».

Dans ce cas, tirer parti de la catégorie de produits « peinture » peut renvoyer d’autres peintures qui pourraient être une alternative décente, comme cette belle couleur de coquille d’œuf.

Marquage de documents

La reconnaissance d’entités nommées peut également améliorer la qualité de la recherche en déplaçant la tâche du moment de la requête au moment de l’ingestion (lorsque le document est ajouté à l’index de recherche).

Lors de l’ingestion de documents, NER peut utiliser le texte pour baliser automatiquement ces documents.

Ces documents seront alors plus faciles à trouver pour les chercheurs.

Soit les chercheurs utilisent un filtrage explicite, soit le moteur de recherche applique un filtrage automatique de la catégorisation des requêtes, pour permettre aux chercheurs d’accéder directement aux bons produits à l’aide de valeurs de facette.

Détection d’intention

La détection d’intention ou la détermination de l’action qu’un utilisateur souhaite entreprendre est liée à la reconnaissance d’entité.

La détection d’intention n’est pas la même chose que ce dont nous parlons lorsque nous disons « identifier l’intention du chercheur ».

Identifier l’intention du chercheur, c’est amener les gens au bon contenu au bon moment.

La détection d’intention mappe une demande à une intention spécifique prédéfinie.

Il prend ensuite des mesures en fonction de cette intention. Un utilisateur recherchant « comment effectuer des retours » peut déclencher l’intention « aide », tandis que « chaussures rouges » peut déclencher l’intention « produit ».

Dans le premier cas, vous pouvez acheminer la recherche vers la recherche de votre service d’assistance.

La détection d'intention mappe une demande à une intention spécifique prédéfinie, puis agit en fonction de cette intention.

Dans le second, vous pouvez l’acheminer vers la recherche de produits. Ce n’est pas si différent de ce que vous voyez lorsque vous recherchez la météo sur Google.

Regardez et remarquez que vous obtenez une boîte météo tout en haut de la page. (Le nouveau moteur de recherche Web Andi pousse ce concept à l’extrême en regroupant la recherche dans un chatbot.)

Pour la plupart des moteurs de recherche, la détection d’intention, comme indiqué ici, n’est pas nécessaire.

La plupart des moteurs de recherche n’ont qu’un seul type de contenu sur lequel effectuer une recherche à la fois.

Lorsqu’il existe plusieurs types de contenu, la recherche fédérée peut fonctionner admirablement en affichant plusieurs résultats de recherche dans une seule interface utilisateur en même temps.

Autres tâches NLP et NLU

Il existe de nombreuses autres tâches NLP et NLU, mais celles-ci sont généralement moins pertinentes pour la recherche.

Des tâches telles que l’analyse des sentiments peuvent être utiles dans certains contextes, mais la recherche n’en fait pas partie.

Vous pourriez imaginer utiliser la traduction pour rechercher des corpus multilingues, mais cela se produit rarement dans la pratique et est tout aussi rarement nécessaire.

La réponse aux questions est une tâche NLU qui est de plus en plus mise en œuvre dans la recherche, en particulier les moteurs de recherche qui attendent des recherches en langage naturel.

Encore une fois, vous pouvez le voir sur les principaux moteurs de recherche Web.

Google, Bing et Kagi répondront immédiatement à la question « quel âge a la reine d’Angleterre ? » sans avoir à cliquer sur les résultats.

Certaines technologies de moteur de recherche ont exploré la mise en œuvre de la réponse aux questions pour des index de recherche plus limités, mais en dehors des services d’assistance ou du contenu long et orienté vers l’action, l’utilisation est limitée.

Peu de chercheurs se rendent dans une boutique de vêtements en ligne et posent des questions à une barre de recherche.

La synthèse est une tâche NLU qui est plus utile pour la recherche.

Tout comme avec l’utilisation de NER pour le balisage de documents, la synthèse automatique peut enrichir les documents. Les résumés peuvent être utilisés pour associer des documents à des requêtes ou pour fournir un meilleur affichage des résultats de la recherche.

Ce meilleur affichage peut aider les chercheurs à être sûrs qu’ils ont obtenu de bons résultats et à obtenir les bonnes réponses plus rapidement.

Même en incluant les nouvelles technologies de recherche utilisant des images et de l’audio, la très grande majorité des recherches se font avec du texte. Pour obtenir les bons résultats, il est important de s’assurer que la recherche traite et comprend à la fois la requête et les documents.

La recherche sémantique apporte de l’intelligence aux moteurs de recherche, et le traitement et la compréhension du langage naturel sont des composants importants.

Les tâches NLP et NLU telles que la tokenisation, la normalisation, le balisage, la tolérance aux fautes de frappe et autres peuvent aider à garantir que les chercheurs n’ont pas besoin d’être des experts en recherche.

Au lieu de cela, ils peuvent passer du besoin à la solution « naturellement » et rapidement.

Davantage de ressources:

  • Recherche sémantique : qu’est-ce que c’est et pourquoi c’est important pour le référencement aujourd’hui
  • Regroupement sémantique de mots-clés pour plus de 10 000 mots-clés [With Script]
  • Comment fonctionnent les moteurs de recherche

Image en vedette : ryzhi/Shutterstock

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici