Calcul de pertinence entre plusieurs chaines de caractères

Fermé
patrice86 Messages postés 1378 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 novembre 2023 - Modifié le 28 déc. 2018 à 10:12
patrice86 Messages postés 1378 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 novembre 2023 - 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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
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 1378 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 novembre 2023 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