Logique avec cerveau ramoli.... fonctionne pas bien

Logique avec cerveau ramoli.... fonctionne pas bien - VB/VBA/VBS - Programmation

Marsh Posté le 29-10-2002 à 22:33:41    

C'est un peu compliqué dans ma tête, donc cela va être dur de l'expliquer correctement..
 
Voila. Alors j'ai une phrase avec n mots...
et chacun de ces n mots peuvent avoir de 0 à m equivalences.
(genre chaine a 3 équivalences, chaîne, chaines, chaînes)
 
Je cherche a avoir le résultat de la phrase avec toutes les possibilités d'équivalence dans un tableau
 
exemple  
chaine a 3 équivalents chaîne, chaines, chaînes
vélo a 3 équivalents velo,vélos,velos
ma chaine de vélo =>
-ma chaîne de vélo  
-ma chaines de vélo
-ma chaînes de vélo
 
-ma chaine de velo
-ma chaîne de velo  
-ma chaines de velo
-ma chaînes de velo
 
-ma chaine de velos
-ma chaîne de velos
-ma chaines de velos
-ma chaînes de velos
 
-ma chaine de vélos
-ma chaîne de vélos
-ma chaines de vélos
-ma chaînes de vélos
 
 
Comment je fais ?? Ma technique est completement foireuse donc je n'en ferais meme pas part. Quelqu'un a une idée ?

Reply

Marsh Posté le 29-10-2002 à 22:33:41   

Reply

Marsh Posté le 29-10-2002 à 23:22:09    

je verrais des biens des boucles for imbriquées pour la construction de ton tableau.
 
Mais je reconnais ne pas avoir tout compris à ton problème ..

Reply

Marsh Posté le 30-10-2002 à 09:32:31    

Pq C ds la rubrique VB ? C +tôt de l'algo...
 
Pour ton pb :
autant de tableaux que de mot ds ta phrases contenant les équivalance
Pour faire générique un tableau de tableau dynamique ?
 
puis aprés autant de boucles que de tableaux :D
exemple pour ton truc :

T1 = ("chaîne", "chaines", "chaines", "chaine" )
T2 = ("velo", "vélos", "velos", "vélo" )
 
for i = 0 to 4
  for j = 0 to 4
    result = "ma " & T1(i) & " de " & T2(j)
  next j
next i


 
si C pour un moteur de recherche ça sucks comme méthode (équivalence de mot)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 12:53:10    

Une technique est de construire un dictionnaire phonétique, en associant les différentes possibilités à une phonétique.  Mais il faut prévoir tout les cas, où avoir un algo permettant d'anticiper ces nouveaux cas.  A toi de voir.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 13:00:28    

drasche a écrit a écrit :

Une technique est de construire un dictionnaire phonétique, en associant les différentes possibilités à une phonétique.  Mais il faut prévoir tout les cas, où avoir un algo permettant d'anticiper ces nouveaux cas.  A toi de voir.




ça C beaucoup mieux  :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 13:41:33    

c est pas tout a fait pour un moteur de recherche... ouais
pour la phonétique , non je cherche deja les accents et feminin masculin...
SDF poire , mon probleme est que les mots sortent d'un recordset donc je ne sais combien il y a de mots equivalent et le nombre de mots dans la phrase differe a chaqe fois.. donc je ne peux pas creer des tableaux dynamique a la volée  ??

Reply

Marsh Posté le 30-10-2002 à 13:46:18    

oh si tu peux
ça change quoi que les mots soit ds une table ? tu connais bien le nombre qu'il y a ds une table ou le nombre d'élément que renvois une requete
 
et pour les boucles avec de la récurence ça doit rouler mais ça va être super lent
 
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 13:50:39    

tu peux aussi te débarrasser des accents, trémas et compagnie en faisant du search and replace avant de lancer ton process.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 13:53:40    

drasche a écrit a écrit :

tu peux aussi te débarrasser des accents, trémas et compagnie en faisant du search and replace avant de lancer ton process.




le but C de convertir en une chaine minimale et la + simple possible et d'en suite de faire les comparaison
Sur le net il existe déjà des fonctions et des tables pour faire ces remplacements...
 
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 14:07:22    

plusieurs trucs,
 
- d'abord les accents, trema sont un prob, les feminin, pluriels .. sont un autre prob. l'un ne modifie que un caratère, l'autre modifie le mot soit par le nombre de caratères, soit les caractères, (ex: vélos, vélo, travail, travaux)
 
- tu vas avoir des prob avec les apostrophes et la gestion des syntagmes
 
- le prob que tu poses (du moins en partie) n'a pas encore trouvé de solution dans une appli tps réel, sauf ... :D
 
Bonne chance :)


Message édité par barbarella le 30-10-2002 à 14:16:16
Reply

Marsh Posté le 30-10-2002 à 14:07:22   

Reply

Marsh Posté le 30-10-2002 à 14:18:28    

Je connais un système chez notre client où la recherche de noms propres se fait sur base de la "phonétisation".  Chaque critère de recherche est converti en phonétique, et chaque nom dans leur DB a une association avec un mot "phonétisé".  Evidemment, ça va te donner toutes les variantes d'un nom donné, même les plus improbables parfois.  Le seul prob pour eux c'est que c'est rédigé en ASM  :D
 
Question démonstration, ça se révèle efficace puisque les fautes d'orthographes n'handicapent pas, mais on a trouvé un bug gênant récemment et ils n'ont personne qui connaît l'ASM pour corriger [:ddr555]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 14:48:08    

ouais mais drasche , en fait mon probleme je n'ai pas besoin de chercher les mots par leur phonétique, c'est deja ca en moins.. J ai besoin seulement du mot et ses equivalents
 
SDF[poire]. oui je sais combien j'ai de mots dans mon recordset, mais ...
Si j ai trois mots dans ma phrase.
et que le premier a deux possibilités.
que le deuxieme a trois possibilités  
et que le troisieme a 5..
 
et que je crée a la volée trois tableaux..
il faut que j'imbrique 3 "FOR" si je suis ton raisonnement ?
 
Mais il faut que je fasse ca dynamiquement..  
car la phrase d'apres peut contenir 7 mots avec 2 possibilités par mot ...
 
Comment je fais ?
 
 
 
 
 

Reply

Marsh Posté le 30-10-2002 à 14:50:03    

zetoune a écrit a écrit :

ouais mais drasche , en fait mon probleme je n'ai pas besoin de chercher les mots par leur phonétique, c'est deja ca en moins.. J ai besoin seulement du mot et ses equivalents
 
SDF[poire]. oui je sais combien j'ai de mots dans mon recordset, mais ...
Si j ai trois mots dans ma phrase.
et que le premier a deux possibilités.
que le deuxieme a trois possibilités  
et que le troisieme a 5..
 
et que je crée a la volée trois tableaux..
il faut que j'imbrique 3 "FOR" si je suis ton raisonnement ?
 
Mais il faut que je fasse ca dynamiquement..  
car la phrase d'apres peut contenir 7 mots avec 2 possibilités par mot ...
 
Comment je fais ?
 
 
 
 
 
 




C là ou rentre en jeux la récurrence  :sol:  
ya ptet un aut moyen mais je vois pas


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 14:50:35    

barbella.. c'est justement ca..
j'enleve tous les accents.
et apres je regarde si le mots a une equivalence..  (c'est de la que je peux sortir les feminins et pluriels)

Reply

Marsh Posté le 30-10-2002 à 15:00:39    

principe de récurrence :
function mafonc(s as string) as string
.
.
.
 
if pasfini then mafonc(MyStr)
 
.
.
.
end
 
Avec ça tu devrais pouvoir t'en sortir


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 15:03:02    

excuse, j'avais pas vu que tu parlais de récurrence...
ouais.. je vais essayer de me lancer par la .

Reply

Marsh Posté le 30-10-2002 à 15:03:20    

sinon en stockant les équivalences ds un tableau de tableau ça doit passer aussi (avec 3 for ?)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 15:06:44    

ouais... en fait pour l'instant. c'est ca je joue avec un tableau bi dimentionnel.qui contient des tableaux de chaines.

Reply

Marsh Posté le 30-10-2002 à 15:14:38    

zetoune a écrit a écrit :

ouais... en fait pour l'instant. c'est ca je joue avec un tableau bi dimentionnel.qui contient des tableaux de chaines.




ça doit être possible comme ça avec 3 ou 4 for imbriqué :D
 
C à toi de te triturer le cerveau
(en gardant à l'esprit que les boucles sont beaucoup + performantes que la récurence)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 15:44:09    

ouais, ben je viens de le finir.. avec des boucles imbriquées..
c'est un peu barbare comme je le fais, mais cela fonctionne.
 
Je pense que je devrais optimiser ma requete pour obtenir mes equivalence.. car ce n'est pas terrible.

Reply

Marsh Posté le 30-10-2002 à 15:45:36    

juste comme ca..
Est ce que les procédures stockées sont plus rapide que les requetes normales ?
 
ou c'est pareil ?

Reply

Marsh Posté le 30-10-2002 à 15:50:39    

zetoune a écrit a écrit :

juste comme ca..
Est ce que les procédures stockées sont plus rapide que les requetes normales ?
 
ou c'est pareil ?




 :??:  
jvois pas ce que tu veux dire


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 30-10-2002 à 15:55:10    

ben si je fais ma requete dans une procédure stockée...
Est ce que c'est plus rapide que si je fais la requete directement
 
ex : StrSQL = " EXEC MA_PRODEDURE @MonParametre = '" & MaValeur & "'"
 plutot que  
StrSQL = "SELECT * FROM Table WHERE MonChamp = '" & MaValeur & "'"
 
J'ai lu quelque part que le fait d'utiliser des procédures stockés augmentait la rapidité de l'éxecution car SQLserver (dans mon cas) mettait la procédure en cache pour la réutiliser s'il faut..  
 
Parce que, perso je ne vois pas de différence.

Reply

Marsh Posté le 30-10-2002 à 16:00:59    

La procédure stockée (stored procedure) est intéressante si tu fais plusieurs opérations SQL d'affilée, cela limite le nombre d'informations qui transitent sur le réseau.  Si le résultat d'une requête dépend d'une autre par exemple, tu peux mettre le tout dans une PS et l'appeler quand c'est nécessaire.
 
Si par contre tu fais une seule requête mais complexe, tu peux utiliser les vues (views) qui sont compilées et interprétées comme de vraies tables (donc plus rapide).


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 16:08:21    

Drasche.. ben en fait c'est parceque je suis parti sur une structure de table un peu farfelue.. donc pour sortir mes equivalences, je vais trois SELECT dans la meme requete imbriqués avec des "UNION"
donc peut etre bien que cela pourrait m'interesser tes "views"
mais pourrait tu etre un peu plus clair, car je ne connais pas ca.. pis ca m interesse...
(stp :) )
 
 
EDIT : je vois bien "view" dans SQL mais comment je fais pour transformer ma SP en "view" comment je fais pour lui passer mon parametre et l'appeler de VB ?


Message édité par zetoune le 30-10-2002 à 16:10:27
Reply

Marsh Posté le 30-10-2002 à 16:39:04    

oooops là sorry, j'ai introduit le concept, mais malheureusement, je n'en connais pas plus.  ya pas de wizard pour faire ça?  ou une petite doc bien expliquée?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 16:41:06    

non j en trouve pas..
pis j'ai l'impression qu 'il ne gere pas les Union de table..
 
En tout cas, merci tout le monde... ca fonctionne..
manque plus que la vitesse maintenant.

Reply

Marsh Posté le 30-10-2002 à 16:43:31    

au fait c'est quoi la DB?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 16:44:56    

SQLserver

Reply

Marsh Posté le 30-10-2002 à 16:48:43    

zetoune a écrit a écrit :

SQLserver




 
Euh ça fonctionne le UNION sur SQLServer...


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 16:51:22    

ouais... mais dans les views non...

Reply

Marsh Posté le 30-10-2002 à 16:52:52    

crotte :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-10-2002 à 16:54:55    

ouais.. comme tu dis..

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed