L'indexation par phrases est une méthode de recherche qui indexe et classe les documents selon des phrases porteuses de sens et les phrases liées qui les prédisent, et non selon des mots isolés. Le brevet US 7,536,408 B2, « Phrase-based indexing in an information retrieval system », la décrit. Google l'a déposé le 26 juillet 2004, et le brevet a été délivré le 19 mai 2009.
Que décrit le brevet US 7,536,408 ?
Le brevet US 7,536,408 décrit un système de recherche qui utilise les phrases pour indexer, retrouver, organiser et décrire les documents. Son unique inventrice est Anna Lynn Patterson, alors ingénieure chez Google. Le résumé du brevet énonce l'idée centrale : « on identifie les phrases qui prédisent la présence d'autres phrases dans les documents ». Les documents sont ensuite indexés selon les phrases qu'ils contiennent. Le brevet compte 20 revendications et 8 planches de dessins.
Le brevet couvre 6 usages des phrases :
- L'indexation : chaque document est référencé sous les phrases qu'il contient, avec la trace des phrases liées également présentes.
- La recherche : les phrases de la requête, et leurs extensions, sélectionnent les documents candidats.
- Le classement : les phrases liées déterminent à quel point un document couvre le sujet de la requête.
- Le regroupement : les documents sont regroupés par sujet dans les résultats.
- La description : les phrases du texte les plus riches en phrases de la requête et en phrases liées forment la description du document.
- L'élimination des doublons : les documents dont les phrases clés coïncident sont traités comme des doublons.
Le brevet décrit aussi une personnalisation facultative des résultats, fondée sur un modèle de l'utilisateur composé de phrases. Ses revendications protègent l'étape d'indexation : enregistrer, dans la liste de publication (posting list) de chaque phrase, l'identifiant du document et une indication de chaque phrase liée également présente dans le document. Les revendications 17 à 20 ajoutent un score de lien, calculé à partir des phrases liées, quand la phrase sert de texte d'ancre à un lien.
Le brevet appartient à une famille importante. Des demandes ont été déposées auprès de 9 autres offices de brevets, dont l'Office européen des brevets, la Chine, le Japon, la Corée et le Canada, et 3 continuations américaines le prolongent. Google l'a déposé le même jour que 6 demandes américaines liées, sur l'identification des phrases, la recherche par phrases, la personnalisation, la génération de taxonomies, les descriptions de documents et la détection des doublons.
Qu'est-ce qu'une bonne phrase ?
Une bonne phrase est une suite de mots assez fréquente, ou assez mise en valeur, et qui prédit la présence d'autres phrases. Le système explore la collection par partitions, de préférence d'environ 1 000 000 de documents. Il lit chaque document avec une fenêtre « de préférence de 4 ou 5 termes (mots) », mots vides comme « a » et « the » compris, et chaque suite qui commence au mot courant est une phrase candidate. Dans un mode de réalisation, une candidate passe de la liste des phrases possibles à la liste des bonnes phrases quand elle remplit l'une de 2 conditions :
- elle apparaît dans plus de 10 documents et plus de 20 fois au total, ou
- elle compte plus de 5 occurrences « intéressantes », c'est-à-dire distinguées par la mise en forme ou la grammaire.
Ces seuils varient avec la taille de la partition : avec 2 000 000 de documents par partition, « les seuils sont à peu près doublés ». Une phrase est une mauvaise phrase quand elle apparaît dans moins de 2 documents et n'a aucune occurrence intéressante. La liste des bonnes phrases inclut naturellement des mots isolés : le système indexe donc aussi bien les mots seuls que les phrases de plusieurs mots.
La fréquence ne suffit pas. Les bonnes phrases « prédisent d'autres bonnes phrases, et ne sont pas de simples suites de mots qui apparaissent dans le lexique ». « President of the United States » prédit des phrases comme « George Bush » et « Bill Clinton ». Le brevet donne des expressions idiomatiques comme contre-exemples : « fell down the stairs », « top of the morning » ou « out of the blue » apparaissent avec de nombreuses phrases sans rapport et ne prédisent rien.
Le système élague ensuite la liste de 2 façons. Une phrase qui ne prédit aucune autre bonne phrase est retirée. Une phrase incomplète, qui « ne prédit que ses extensions », passe dans une liste des phrases incomplètes : « President of the United » ne prédit que « President of the United States », elle quitte donc la liste des bonnes phrases. Au moment de la requête, cette liste des phrases incomplètes permet au système de suggérer ou de rechercher l'extension la plus probable. Dans un mode de réalisation type, la liste des bonnes phrases contient « environ 6,5 × 10^5 phrases », soit 650 000. Comme l'exploration se répète à mesure que de nouveaux documents arrivent, le système détecte les nouvelles phrases dès qu'elles entrent dans le lexique.
Comment Google mesure-t-il qu'une phrase en prédit une autre ?
Google mesure la prédiction par le gain d'information : le rapport entre la fréquence réelle à laquelle 2 phrases apparaissent ensemble et la fréquence que le seul hasard produirait. Le taux attendu est le produit des parts de documents qui contiennent chaque phrase. Le taux réel est le nombre de co-occurrences divisé par le nombre total de documents. Les co-occurrences sont comptées dans une fenêtre secondaire autour de chaque phrase, de 30 mots dans l'exemple du brevet.
Le brevet utilise 2 seuils :
- 1,5 pour la prédiction : une phrase en prédit une autre quand leur gain d'information dépasse un seuil. « Dans un mode de réalisation, le seuil de gain d'information est de 1,5, mais il est de préférence compris entre 1,1 et 1,7. » Chaque bonne phrase doit prédire au moins une autre bonne phrase.
- 100 pour une phrase liée : 2 phrases sont liées quand leur gain d'information dépasse 100, une co-occurrence « bien au-delà des taux statistiquement attendus ». Dans l'exemple du brevet, quand « Monica Lewinsky » figure dans un document, « Bill Clinton » a 100 fois plus de chances d'y apparaître que dans un document choisi au hasard.
Le système relève aussi les occurrences « intéressantes » : une phrase « en gras, soulignée, en texte d'ancre d'un lien ou entre guillemets » se distingue de son entourage et est comptée à part. Pour chaque paire de phrases, le système compte combien de fois l'une, ou les deux, apparaissent en texte distingué. Le compte des deux sert à ne pas traiter comme prédictive une phrase répétée dans les barres latérales, les pieds de page ou les en-têtes, comme une mention de copyright.
Que sont les phrases liées et les clusters ?
Les phrases liées sont des phrases que l'on emploie ensemble pour parler d'un même sujet. L'exemple du brevet est « President of the United States » et « White House ». Chaque bonne phrase reçoit une liste ordonnée de phrases liées, du gain d'information le plus élevé au plus faible.
Un cluster est « un ensemble de phrases liées dans lequel chaque phrase a un gain d'information élevé par rapport à au moins une autre phrase ». Une phrase peut appartenir à plusieurs clusters, et une relation peut être réciproque ou à sens unique. L'exemple du brevet trouve 4 clusters entre « Bill Clinton », « President », « Monica Lewinsky » et « purse designer » : par exemple, « Bill Clinton », « President » et « Monica Lewinsky » forment un cluster, tandis que « Monica Lewinsky » et « purse designer » en forment un autre. Chaque cluster reçoit un numéro et prend le nom de sa phrase liée au gain d'information le plus élevé.
Comment Google détermine-t-il les sujets d'un document ?
Google détermine les sujets d'un document à partir des phrases liées et des phrases liées secondaires qu'il contient. Pour chaque phrase d'un document, la liste de publication stocke 2 bits par phrase liée, dans l'ordre décroissant du gain d'information. Le premier bit indique si la phrase liée est présente dans le document. Le second bit indique si l'une des phrases liées de cette phrase liée, une phrase liée secondaire, est présente elle aussi.
Une paire (1,1) signale un sujet principal : selon le brevet, l'auteur a « employé plusieurs phrases liées » ensemble en rédigeant le document. Une paire (1,0) signale un sujet secondaire, moins important.
Comment Google classe-t-il les documents avec les phrases ?
Google classe les documents selon les phrases liées à la requête qu'ils contiennent, pondérées par leur gain d'information. Les bits de poids fort du vecteur correspondent aux phrases liées les plus fortes : la valeur du vecteur peut donc servir de score. « Les documents qui contiennent des phrases liées de rang élevé d'une phrase de la requête ont plus de chances de traiter le sujet de la requête que ceux qui contiennent des phrases liées de rang faible. » Ces documents peuvent bien se classer « même s'ils ne contiennent pas une fréquence élevée des termes de la requête ». Le brevet décrit 3 scores :
- Le score de corps : la valeur numérique du vecteur de bits des phrases liées le plus élevé du document pour les phrases de la requête. Dans un second mode de réalisation, les phrases liées rapportent plutôt des points : N points pour la phrase liée la plus forte, N-1 pour la suivante, jusqu'à 1 point pour la dernière.
- Le score d'ancre : pour chaque page qui pointe vers le document avec une phrase de la requête en texte d'ancre, le vecteur des phrases liées de la phrase d'ancre dans la page source est multiplié par celui du document. Des pages sources qui traitent elles-mêmes de la phrase de la requête augmentent le score.
- Le score combiné : une combinaison linéaire des 2, par exemple « Score = 0,30 × (score de corps) + 0,70 × (score d'ancre) », avec des poids qui « peuvent être ajustés à volonté ».
Le système peut ensuite filtrer les documents qui couvrent trop de sujets, ce qui « est particulièrement le cas des documents longs ». Il retire les documents qui contiennent plus d'un nombre seuil de clusters. Dans l'exemple du brevet, il peut « retirer tout document qui contient plus de deux clusters », car les utilisateurs « préfèrent souvent les documents centrés sur un seul sujet ». Le seuil peut être prédéfini ou fixé par l'utilisateur.
Comment Google utilise-t-il le texte d'ancre dans l'indexation par phrases ?
Google évalue chaque lien selon les phrases liées à son texte d'ancre présentes dans la page source et dans la page cible. Quand le texte d'ancre d'un lien est une bonne phrase, le système d'indexation calcule un score de lien sortant à partir des phrases liées présentes dans la page source, et un score de lien entrant à partir des phrases liées présentes dans la page cible. Quand la page cible ne contient pas la phrase d'ancre elle-même, le système vérifie quand même lesquelles de ses phrases liées elle contient.
L'exemple du brevet est un lien avec l'ancre « Australian Shepherd ». La page source ne contient qu'1 des 5 phrases liées, « Aussie » : elle ne traite donc « que faiblement des bergers australiens ». La page cible contient « blue merle », « red merle » et « tricolor ». Selon le brevet, importer les phrases liées de la page cible contre le « bombardement » de liens, où de nombreuses pages avec le même texte d'ancre pointent vers une page qui « n'a que peu ou rien à voir avec le texte d'ancre ». Un autre brevet, sur l'indexation du texte d'ancre, va plus loin et indexe la page cible avec les mots de l'ancre.
Comment Google regroupe-t-il les résultats par sujet ?
Google regroupe les résultats selon les phrases liées à la requête présentes dans le plus grand nombre de documents. Le brevet note que « la plupart des utilisateurs ne consultent pas au-delà des 30 ou 40 premiers documents » : des documents pertinents sur d'autres sous-sujets restent donc invisibles. Pour chaque phrase liée aux phrases de la requête, le système compte combien de documents des résultats la contiennent. La phrase liée la plus fréquente nomme le premier cluster, et ainsi de suite pour les 3 à 5 premiers clusters.
Dans l'exemple du brevet, pour la requête « blue merle agility training », « weave poles » apparaît dans 75 documents sur 100 et « teeter » dans 60 : elles nomment les 2 premiers clusters. Le système peut afficher un nombre fixe de documents par cluster, par exemple 10, ou un nombre proportionnel à la taille de chaque cluster.
Comment Google rédige-t-il les extraits à partir des phrases ?
Google rédige les extraits en classant les phrases d'un document selon le nombre de phrases de la requête, de phrases liées et d'extensions qu'elles contiennent. La première clé de tri est le nombre de phrases de la requête, la deuxième le nombre de phrases liées à la requête, la troisième le nombre d'extensions. Le système retient les meilleures, « par exemple cinq phrases », pour former la description du document. Une phrase qui contient la phrase de la requête et plusieurs de ses phrases liées est donc celle qui a le plus de chances d'être retenue. Dans la version personnalisée, les phrases liées présentes dans le modèle de l'utilisateur passent en premier.
Comment Google détecte-t-il les doublons avec les phrases ?
Google détecte les doublons en comparant les phrases qui portent le plus de phrases liées dans chaque document. Pour chaque document, le système classe les phrases selon la fréquence de ses phrases liées, garde les N premières (par exemple 5 à 10), les concatène et calcule un hachage. Quand 2 documents produisent le même hachage, ce sont des doublons. Le système garde le document au PageRank le plus élevé, ou à une autre mesure indépendante de la requête, et peut retirer l'autre de l'index « pour qu'il n'apparaisse plus dans les résultats d'aucune requête ». Le même contrôle a lieu pendant l'exploration. L'exemple du brevet est une dépêche d'agence reprise sur une douzaine de sites de journaux ou plus. Les pages qui diffèrent de quelques mots relèvent d'une autre méthode, où Google crée des empreintes du contenu quasi dupliqué pour n'en garder qu'une version.
L'indexation par phrases peut-elle détecter le spam ?
Oui : un brevet compagnon utilise les mêmes statistiques de phrases pour détecter le spam. Le brevet US 7,603,345 B2, « Detecting spam documents in a phrase based information retrieval system », signé lui aussi par Anna Lynn Patterson, déposé le 28 juin 2006 et délivré le 13 octobre 2009, identifie un document de spam « d'après le nombre de phrases liées qu'il contient ». Il signale les documents qui contiennent un nombre excessif de phrases liées, un écart statistiquement significatif par rapport au nombre attendu. Une page bourrée de toutes les phrases liées d'un sujet correspond exactement au schéma qu'il vise. Les modèles de langage donnent à Google un second moyen de repérer le bourrage de mots-clés, décrit dans le brevet sur le contenu incohérent.
Que change l'indexation par phrases pour votre SEO ?
L'indexation par phrases signifie qu'une page se positionne sur un sujet quand elle emploie les phrases qui définissent ce sujet, dans des proportions naturelles. 6 conséquences en découlent :
- Couvrez les phrases liées les plus fortes. Les phrases liées au gain d'information le plus élevé pèsent le plus. Listez les phrases que les pages expertes de votre sujet emploient ensemble, et couvrez-les.
- Gardez un sujet par page. Un document réparti sur trop de clusters peut être filtré, plus de 2 dans l'exemple du brevet. Scindez une page qui traite plusieurs sujets en plusieurs pages.
- Obtenez des liens de pages sur le sujet, avec les phrases du sujet en ancre. Le score d'ancre combine les phrases liées à la phrase d'ancre dans la page source et dans la page cible. Une ancre thématique sur une page hors sujet, ou vers une page sans les phrases liées, rapporte peu.
- Écrivez des phrases qui peuvent devenir des descriptions. Associez la phrase principale et ses phrases liées les plus fortes dans une même phrase.
- Gardez vos phrases clés originales. Les pages dont les phrases principales coïncident avec celles d'un autre document sont traitées comme des doublons, et seule celle au PageRank le plus élevé, ou à une autre mesure indépendante de la requête, est conservée.
- Ne bourrez jamais la page de phrases liées. Le brevet sur le spam signale les pages qui contiennent un nombre excessif de phrases liées. Une couverture naturelle vaut mieux qu'une liste exhaustive.
Notre travail de SEO sémantique part des phrases liées : nous listons les phrases que partagent les pages expertes d'un sujet, puis nous scindons les pages qui s'étendent sur plus d'un groupe.
La même logique sous-tend le SEO fondé sur les entités et le Knowledge Graph : un sujet est un réseau de concepts connectés, et Google lit ce réseau. Le langage d'un site entier porte lui aussi un signal de qualité, comme le montre le brevet sur la qualité de site avec son modèle de n-grammes.
Le brevet décrit ce que le système de Google peut faire. Il ne confirme pas que Google utilise aujourd'hui ces seuils exacts.