Bonjour à tous,
Je voudrais comparer deux chaînes en établissant un %.
Par exemple Toto est à 75% pareil à Tota.
Y a déjà une fonction pour ça?
JPD
Bonjour à tous,
Je voudrais comparer deux chaînes en établissant un %.
Par exemple Toto est à 75% pareil à Tota.
Y a déjà une fonction pour ça?
JPD
Ce n'est pas si simple.
À mon boulot, on doit utiliser tout un algorithme compliqué pour ça, avec un histogramme des caractères présents dans les deux chaînes, un calcul pour les caractères à la même position relative, (plus un ajustement pour détecter l'ajout ou la suppression d'un caractère), et le tous utilisant des tables de pondération pour le résultat...
Et on a *encore* des problèmes avec.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Très intéressant et peu encourageant.
J'y travaille, mais pour arriver à un résultat disons, satisfaisant.
Je pourrai tenter de le vendre s'il est bon ;-)
Merci quand même. Je ne suis pas seul à bécher ça agrémente le voyage.
JPD
je l'ai fait pour les dates..
L'algo est hypersimple..
Voici mon ULM
Je compare les deux chaînes avec strlen(1)/strlen(2) = %
Je compare les deux chaînes avec strspn = %
Je compte les mots de plus de trois lettres dans la deuxième chaîne qui sont [strstr] dans la première (Nombre trouvé/nombre possibles) = %
Je dois établir une priorité pour ces trois valeurs.
C'est ce qu'on appelle pondérer?
JPD
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Ex: Je pose une question dans un newsgroup: Qu'est-ce que C?
Réponse:
>Qu'est-ce que le langage de programmation C?
Le C est un langage de programmation qui fait chic.
Résultats:
--------------------------------------1---------------------------
2 Qu
4 est
6 ce
8 que
10 le
12 langage
14 de
16 programmation
18 C
--------------------------------------0---------------------------
0 Le
1 C -
2 est -
2 un
3 langage -
4 de -
5 programmation -
5 qui
5 fait
5 chic
Caractères en début de la phraseA présents dans la phraseB 0 0.000000
Qu'est-ce que le langage de programmation C? 44 caractères
Le C est un langage de programmation qui fait chic. 52 caractères
%longueurs- 0.87 44 caractères / 52 caractères
%mots- 0.28 5/18
1 / 1 Poucentage de comparaison ; 0.87
-----------
Quel est l'item le plus et le moins révélateurs?
Suite à vos remarques, j'ai corrigé mon programme.
J'ai analysé 100 lignes de "Madame Bovary":
Nombre de lettres moyen par mot sur un texte de 100 lignes standard. 6.5
et
Nombre de lettres moyen par mot dans des courriels de news 5.7
Je ne sais trop quoi en faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 --------------------------------------A--------------------------- 1 Qu 2 est 3 ce 4 que 5 le 6 langage 7 de 8 programmation 9 C --------------------------------------B--------------------------- 1 C 2 est 3 langage 4 de 5 programmation A-Qu'est-ce que le langage de programmation C? B-Le C est un langage de programmation qui fait chic. Caractères en début de la phraseA présents dans la phraseB 0 Blenght/strspn(phraseA, phraseB) 0.000000Si je compare en partant de l'origine strstr('C'), strstr("est") le résultat est peu fiable.% des longueurs B/A- 0.87 count2- 5 count1- 9 %mots 0.56 La différence des % entre les % longueurs de lignes et le % des nombres de mots 0.31Plus le chiffre est près de zéro plus c'est fiable.Quotient nombre de caratères et du nombre de mots en A 5.00
La différence des % entre les % longueurs de lignes et le % des nombres de mots semble utile. Je pourrais faire des test et établir approximativement ce que représente les pourcentages 10, 20, 30, et.
C'est pas génial ...
JPD
je crois qu'il faut éclaircir le problème...
Il y en a deux là-dedans.
- Le premier est la similitude de contenu. Là ça se base sur les mots. Il y a N% des mots d'une phrase se retrouvant dans le texte 2. On peut le multiplier par une similitude de phrase : la position consécutive des mots.
- Le second est relativement sans signifcation pour un texte global. Il est valable pour un mot. C'est le % de lettres en commun.
Il faut déjà savoir auquel de ces 2 problèmes tu t'attaques.
Partager