Bonjour à tous,
ça fait des mois que je bosse sur ce problème, mais jusqu'à ce jour, je ne trouve pas une solution :
J'explique
J'ai deux fichier texte : un en français et l'autre en anglais sachant que chacun des fichier contient plus que 500000 ligne (donc vous pouvez imaginer dès maintenant les problème liés à la vitesse, la mémoire,..)
voilà un exemple des 2 fichier :
Fichier FR:
Bonjour les amis
Bonjour les bons amis
Fichier ANG :
Good morning friends
Good morning friends of world.
Donc le but ce ce programme c'est d'extraire des rgles de cette forme là :
2mot contigues FR->1mot ANG (valeur de prob)
Mot1 : 1er mot des 2 mots contigues en FR
Mot 2 : 2eme mot des 2 mots contigues en FR
Mot3 : Mot en anglais
telque valeur de pro =(pMot1Mot3 * log2(pMot1Mot3 / (pMot1 * pMot3)) )+ (pMot1Mot2Mot3 * log2( (pMot1Mot2Mot3 * pMot1) / (pMot1Mot2 * pMot1Mot3) ))
tel que :
*) pMot1Mot3 = nombre de lignes où apparaisent les mot1 et mot3 ensemble / nombre total de ligne de fichier
*) pMot1 = nombre de lignes où apparaisent les mot1 / nombre total de ligne de fichier
*) pMot3 = nombre de lignes où apparaisent les mot3 / nombre total de ligne de fichier
*) pMot1Mot2Mot3 = nombre de lignes où apparaisent les mot1 , mot2 et mot3 ensemble / nombre total de ligne de fichier
*) pMot1Mot2 = nombre de lignes où apparaisent les mot1 et mot2 ensemble / nombre total de ligne de fichier.
Donc en suivant cet exemple on trouve ca comme resultat :
Bonjour les->good(0.52148)
Bonjour les->morning (0.5412)
Bonjour les-> friends (0.325147)
Bonjour les->of (0.65812)
Bonjour les-> world (0.82452).
Franchement j'ai essayé pas mal de fois avec différents structures de données, mais le problème reste le même c'est la lenteur d'exécution, il reste environ 5ou 6 jours tourner.
Alors que mon boss m'a dit de chercher une solution le plus rapidement possible de tel façon il tourne que pendant des heures.
Est ce que vous pouvez me donner des idées svp?
Merci
Je serai reconnaissante
Partager