Calcul de pertinence entre plusieurs chaines de caractères

patrice86 Messages postés 1380 Date d'inscription   Statut Membre Dernière intervention   -  
patrice86 Messages postés 1380 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention   125
 
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