Calcul de pertinence entre plusieurs chaines de caractères

Fermé
patrice86 Messages postés 1380 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 17 décembre 2024 - Modifié le 28 déc. 2018 à 10:12
patrice86 Messages postés 1380 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 17 décembre 2024 - 28 déc. 2018 à 15:23
Bonjour,

Je dispose d'un tableau dans lequel des strings sont stockées.


array:8 [
0 => "CDG ARRIVEE"
1 => "CDG DEPART"
2 => "ORLY ARRIVEE"
3 => "ORLY DEPART"
4 => "GARE ARRIVEE"
5 => "GARE DEPART"
6 => "MAD"
7 => "TRANSFERT VILLE"
]


J'ai besoin de rechercher la ou les valeurs les plus proches en fonction d'une autre string : "Arrivée Aéroport".

Ici, les valeurs les plus proches qui devraient être retournées sont CDG ARRIVEE et ORLY ARRIVEE.

Je partirais bien sur le fait de préciser que "Aéroport" est un mot en rapport avec "CDG" et "ORLY" mais je ne vois pas du tout vers quelles méthodes PHP me tourné.

En fait, c'est un calcul de pertinence dont j'ai besoin qui me retournerait les valeurs les plus proches qui sont dans le tableau.

J'ai essayé avec les méthodes similar_text() mais les résultats ne sont pas pertinents.
La méthode m'indique que les valeurs les plus pertinentes sont "GARE ARRIVEE" et "GARE DEPART"

Merci pour votre aide :)
A voir également:

1 réponse

jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 mars 2025 4 741
28 déc. 2018 à 11:56
Bonjour,
jette un oeil à la fonction levenshtein
https://programmation-web.net/2010/10/fonction-php-du-jour-levenshtein/
0
patrice86 Messages postés 1380 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 17 décembre 2024 125
28 déc. 2018 à 15:23
Merci pour ta réponse.
J'ai essayé cette solution également mais dans certains cas ce n'est pas très pertinent.
Exemple, si ma chaîne de recherche est "Tsf Ville", "TRANSFERT VILLE" dispose d'un score levenshtein trop élevé.
0