Il existe une méthode simple pour trier un ensemble de textes par similitude avec un texte donné: par la distance euclidienne entre les fréquences des mots dans les textes analysés. En principe, l'algorithme doit être clair à ce sujet, une implémentation simple peut être
trouvée ici .
Étonnamment, une méthode simple donne de bons résultats. Par exemple, si nous recherchons le prochain livre à lire, vous pouvez entrer le texte d'un livre lu ou de plusieurs livres lus comme modèle de recherche, puis pour ce référentiel de 10 livres, nous obtenons les résultats suivants pour le livre «Contes de fées par les frères Grimm»:
0.0320757 Repo\THE ADVENTURES OF TOM SAWYER.txt 0.0363329 Repo\A TALE OF TWO CITIES - A STORY OF THE FRENCH REVOLUTION.txt 0.0388528 Repo\ALICES ADVENTURES IN WONDERLAND.txt 0.0440605 Repo\MOBY-DICK or, THE WHALE.txt 0.046679 Repo\THE ADVENTURES OF SHERLOCK HOLMES.txt 0.0472574 Repo\The Iliad of Homer.txt 0.0511793 Repo\The Romance of Lust.txt 0.053746 Repo\PRIDE AND PREJUDICE.txt 0.0543531 Repo\BEOWULF - AN ANGLO-SAXON EPIC POEM.txt 0.0557194 Repo\Frankenstein; or, the Modern Prometheus.txt
Comme le montrent les résultats, les livres de contes de fées se sont avérés être les plus similaires, et le livre d'horreur était le moins similaire.
À des fins commerciales, il est possible d'utiliser un tel programme afin de trouver la publicité la plus appropriée pour une page Web donnée en comparant le texte de la page lue par l'utilisateur avec les textes des pages où mènent les publicités existantes.
Une autre application consiste à trouver un curriculum vitae à partir de la base de données, en suivant l'exemple du curriculum vitae d'un candidat qui convient à ce poste, mais ne veut pas rejoindre ou quitter l'entreprise. Trouver un remplaçant pour un employé n'est pas une affaire si rare. Vous pouvez également trier la base de données de CV par similitude avec la description de poste.
PS Soit dit en passant, Habr dans la liste d'articles similaires produit quelque chose de pas très similaire. Habru peut-il également appliquer cette méthode?