LevenshteinDist - fonction de script et fonction de graphique
LevenshteinDist() renvoie la distance Levenshtein entre deux chaînes. Cela est défini comme le nombre minimal d'éditions (insertions, suppression ou substitutions) d'un seul caractère requises pour modifier une chaîne dans l'autre.
La fonction s'avère utile pour les comparaisons de chaînes partielles.
LevenshteinDist(text1, text2)
entier
Arguments
Argument
Description
text1
Première chaîne.
text2
Deuxième chaîne qui sera comparée à la première afin de calculer le nombre minimal de modifications d'un seul caractère.
Exemple : Expression de graphique
Exemple
Résultat
LevenshteinDist( 'Kitten','Sitting' )
Renvoie 3.
Exemple - Les bases de LevenshteinDist
Vue d'ensemble
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Jeu de données chargé dans une table de données appelée Example.
Champ dans la table de données portant le nom InputText.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :
InputText
Créez la mesure suivante :
=LevenshteinDist('Silver', InputText) pour calculer le nombre minimal de modifications d'un seul caractère nécessaires pour remplacer les valeurs de chaîne de InputText par le terme Silver.
Tableau de résultats
InputText
LevenshteinDist('Silver', InputText)
Sliver
2
SSiveer
3
SSiver
2
La sortie de la fonction LevenshteinDist renvoie le nombre de modifications nécessaires pour remplacer InputText par le texte prévu, Silver. Par exemple, la première ligne nécessite deux modifications pour remplacer le terme Sliver par Silver. La deuxième ligne nécessite trois modifications : 1) Suppression du caractère supplémentaire S. 2) Suppression du caractère supplémentaire e. 3) Insertion d'un nouveau caractère l.
Exemple - Scénario LevenshteinDist
Vue d'ensemble
Cet exemple consolide les noms de produits provenant de différents systèmes. Les noms de produits n'utilisent pas toujours la même orthographe en raison de fautes de frappe, d'abréviations, d'espacements ou d'autres variations. Grâce à la fonction LevenshteinDist, vous pouvez mesurer la similarité entre deux noms de produits et identifier ceux qui font probablement référence au même produit, même si les noms ne sont pas identiques.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Jeu de données chargé dans une table de données appelée Example.
Champs suivants dans la table de données :
ProductA
ProductB
Script de chargement
Example:
Load * inline [
ProductA, ProductB
Coca Cola 330ml, CocaCola 330 ml
Pepsi 500 ml, Pepsi 500ml
Sprite Zero 600 ml, SpriteZero600ml
Red Bull 250ml, Redbull 250ml
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
ProductA
ProductB
Créez la mesure suivante :
=LevenshteinDist(ProductA, ProductB) pour calculer le nombre minimal de modifications d'un seul caractère nécessaires pour remplacer la valeur de chaîne de ProductB pour qu'elles correspondent à ProductA.
Tableau de résultats
ProductA
ProductB
LevenshteinDist(ProductA, ProductB)
Coca Cola 330ml
CocaCola 330 ml
2
Pepsi 500 ml
Pepsi 500ml
1
Red Bull 250ml
Redbull 250ml
2
Sprite Zero 600 ml
SpriteZero600ml
3
La distance Levenshtein est un type de correspondance approximative largement utilisé dans les correcteurs orthographiques, les systèmes de reconnaissance optique de caractères et les systèmes de correction dans des domaines tels que la gestion des données client, les systèmes d'inventaire et le traitement de documents, dans lesquels on rencontre souvent de légères variations du texte.
Script de chargement
Example:
Load *, recno() as ID;
Load 'Silver' as String_1,* inline [
String_2
Sliver
SSiver
SSiveer ];
Example:
Load *, recno()+3 as ID;
Load 'Gold' as String_1,* inline [
String_2
Bold
Bool
Bond ];
Example:
Load *, recno()+6 as ID;
Load 'Ove' as String_1,* inline [
String_2
Ove
Uve
Üve ];
Example:
Load *, recno()+9 as ID;
Load 'ABC' as String_1,* inline [
String_2
DEFG
abc
ビビビ ];
set nullinterpret = '<NULL>';
Example:
Load *, recno()+12 as ID;
Load 'X' as String_1,* inline [
String_2
''
<NULL>
1 ];
R1:
Load
ID,
String_1,
String_2,
LevenshteinDist(String_1, String_2) as LevenshteinDistance
resident Example;
Drop table Example;
Tableau de résultats
ID
String_1
String_2
LevenshteinDistance
1
Silver
Sliver
2
2
Silver
SSiver
2
3
Silver
SSiveer
3
4
Gold
Bold
1
5
Gold
Bool
3
6
Gold
Bond
2
7
Ove
Ove
0
8
Ove
Uve
1
9
Ove
Üve
1
10
ABC
DEFG
4
11
ABC
abc
3
12
ABC
ビビビ
3
13
X
1
14
X
-
1
15
X
1
1
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !