Projet de dictionnaires arabes
4 participants
Page 78 sur 90
Page 78 sur 90 • 1 ... 40 ... 77, 78, 79 ... 84 ... 90
Re: Projet de dictionnaires arabes
Linq c'est comme je te disais, c'est un ensemble de classes .NET static avec des méthodes static particulières (mot clef this dans les paramètres de méthode). C'est le compilateur C# qui sait interpréter cela et faire les transformations nécessaires. Documente toi un peu sur le sujet et recherche des similitudes avec Java pour voir.
Linq pour Language Integrated Query. C'est comme je te disais un langage de requêtes
Il y a Linq To Object, Linq To XML, Linq To Sql (Entity Framework), Linq To DataSet..
Linq pour Language Integrated Query. C'est comme je te disais un langage de requêtes
Il y a Linq To Object, Linq To XML, Linq To Sql (Entity Framework), Linq To DataSet..
Adel Medine- Messages : 643
Points : 655
Date d'inscription : 09/09/2013
Re: Projet de dictionnaires arabes
Ben comme tu l'as confirmé par la suite, tu fais bien une copie du texte et cette copie elle va être stockée en mémoire : en effet avec l'instruction :Adel Medine a écrit:Je n'ai pas bien compris ton histoire de mémoire. On peut faire pleins de suppositions quand aux performances parfois même souvent de fausses idées. Je t'ai donné la clef de cela : la mesure et la comparaison.
Trouve un texte qui te semble assez significatif pour mettre en évidence la différence de vitesse ou de mémoire puis faisons les essais et les mesures pour comparer et ré-adapter.
- Code:
string textWithoutVowel =new string(targetText.ToCharArray());
Tu fais une copie complète et cela sera ainsi à chaque recherche c'est-à-dire à chaque appel de la fonction. Ensuite on a :
- Code:
textWithoutVowel.ToList().RemoveAll(character=> _vowels.Contains(character));
Là je suppose qu'il parcourt toute la string caractère par caractère ce qui peut être plus ou moins long si la string est longue.
Ensuite il effectue la recherche :
- Code:
Console.WriteLine( "{0} {1} {2}",
vocalizedText.WithoutVowel().Contains(subString) ? "found" : "not found", subString, " in vocalized " + vocalizedText);
Et là aussi il doit parcourir la string pour chercher la substring... Bon cette recherche-ci est inévitable mais celle de la dé-vocalisation peut être éviter en récrivant la méthode indexOf afin de l'adapter aux textes vocalisés arabes, c'est-à-dire afin de pouvoir chercher directement dans le texte vocalisé...
Et il y a aussi les regex mais pour ce cas cela ne sera peut-être pas plus rapide...
Je ne sais si tu vois mieux ce que je voulais dire ?
Ibn Nacer- Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011
Re: Projet de dictionnaires arabes
Oui c'est vrai t'en avais parlé mais quand on découvre on a souvent besoin qu'on nous répète les choses et il faut aussi le temps de "digérer" les infos et ce souvent à tête reposée et non dans le feu de l'action en pleine discussion sur divers points...Adel Medine a écrit:Linq c'est comme je te disais, c'est un ensemble de classes .NET static avec des méthodes static particulières (mot clef this dans les paramètres de méthode). C'est le compilateur C# qui sait interpréter cela et faire les transformations nécessaires. Documente toi un peu sur le sujet et recherche des similitudes avec Java pour voir.
Linq pour Language Integrated Query. C'est comme je te disais un langage de requêtes
Il y a Linq To Object, Linq To XML, Linq To Sql (Entity Framework), Linq To DataSet..
Mais ça viendra inchâ-a Allâh.
Ibn Nacer- Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011
Re: Projet de dictionnaires arabes
Si je comprends bien tu voudrais faire monTexteVocalise.indexOf(''code voyelle u"); ?
Tu fais pleins de suppositions alors qu'il faut plutôt des démonstrations. Tu sais qu'une string est prévue pour accepter plusieurs gigas bytes ?
Tu sais que pour faire une recherche il faut obligatoirement parcourir le tableau un à un que se soit par recherche simple ou dichotomique ?
indexOf est un nom de méthode pour exprimer une utilisation cela ne veut pas dire qu'il ne parcourt pas la string caractère par caractère pareil pour les regex.
Est-ce que tu connais tout simplement les complexités des différents algorithmes ?
J'ai l'impression que tu te concentres plus sur l'usage de la mémoire que de la rapidité d'exécution ou le code et sa lisibilité.
Trouve nous un cas de test avec un texte significatif pour mesurer les différentes implémentations. On peut pousser avec un texte faisant 1mo puis 10 puis 100 etc..et voir ce que cela donne.
Tu fais pleins de suppositions alors qu'il faut plutôt des démonstrations. Tu sais qu'une string est prévue pour accepter plusieurs gigas bytes ?
Tu sais que pour faire une recherche il faut obligatoirement parcourir le tableau un à un que se soit par recherche simple ou dichotomique ?
indexOf est un nom de méthode pour exprimer une utilisation cela ne veut pas dire qu'il ne parcourt pas la string caractère par caractère pareil pour les regex.
Est-ce que tu connais tout simplement les complexités des différents algorithmes ?
J'ai l'impression que tu te concentres plus sur l'usage de la mémoire que de la rapidité d'exécution ou le code et sa lisibilité.
Trouve nous un cas de test avec un texte significatif pour mesurer les différentes implémentations. On peut pousser avec un texte faisant 1mo puis 10 puis 100 etc..et voir ce que cela donne.
Adel Medine- Messages : 643
Points : 655
Date d'inscription : 09/09/2013
Re: Projet de dictionnaires arabes
Adel Medine a écrit:Si je comprends bien tu voudrais faire monTexteVocalise.indexOf(''code voyelle u"); ?
Tu fais pleins de suppositions alors qu'il faut plutôt des démonstrations. Tu sais qu'une string est prévue pour accepter plusieurs gigas bytes ?
Tu sais que pour faire une recherche il faut obligatoirement parcourir le tableau un à un que se soit par recherche simple ou dichotomique ?
indexOf est un nom de méthode pour exprimer une utilisation cela ne veut pas dire qu'il ne parcourt pas la string caractère par caractère pareil pour les regex.
Est-ce que tu connais tout simplement les complexités des différents algorithmes ?
J'ai l'impression que tu te concentres plus sur l'usage de la mémoire que de la rapidité d'exécution ou le code et sa lisibilité.
Trouve nous un cas de test avec un texte significatif pour mesurer les différentes implémentations. On peut pousser avec un texte faisant 1mo puis 10 puis 100 etc..et voir ce que cela donne.
Mais ce ne sont pas des suppositions mais des faits, peut-être qu'on s'est mal compris...
- Oui sans doute qu'une string peut accepter plusieurs gigabytes (cela dépend quand même de la mémoire vive de ton pc ou de ton mobile) mais en fait le problème n'est pas là : je te parle de comparer les solutions, une solution peut consommer plus de mémoire qu'une autre et c'est un critère de comparaison. Certes ce n'est pas le seul, on est d'accord mais ça n’empêche que c'en est un.
- Ensuite question rapidité : comme déjà dit la dé-vocalisation même si elle est rapide prend un certain temps plus ou moins long selon la taille de la string qui comme tu l'as rappelé peut avoir une taille de plusieurs gigabytes. Ça aussi c'est un fait pas une supposition...
- Alors la question est de savoir si on peut trouver une solution qui éviterait ces deux points, où est le mal ? D'où l'idée de récrire la méthode indexOf afin de l'adapter aux textes vocalisés arabes, c'est-à-dire afin de pouvoir chercher directement dans le texte vocalisé...
Bien sûr ça n’évite pas de parcourir la string, comme déjà dit cette recherche-là est inévitable mais on peut éviter de faire une copie de la string et la dé-vocalisation qui prend un temps plus ou moins long...
Wa Allâhu a'lam.
Dernière édition par Ibn Nacer le Jeu 25 Déc - 0:51, édité 1 fois
Ibn Nacer- Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011
Page 78 sur 90 • 1 ... 40 ... 77, 78, 79 ... 84 ... 90
Sujets similaires
» قاموس البحث العلميّ / Tous types de dictionnaires arabes en ligne ou à télécharger
» De la synonymie à la traduction ou comment améliorer les dictionnaires bilingues arabes
» Littérature arabe : livres / Arabic Literature: books
» Dictionnaires / معجم / dictionaries
» Dictionnaires latins / قواميس لاتينية / Latin dictionaries
» De la synonymie à la traduction ou comment améliorer les dictionnaires bilingues arabes
» Littérature arabe : livres / Arabic Literature: books
» Dictionnaires / معجم / dictionaries
» Dictionnaires latins / قواميس لاتينية / Latin dictionaries
Page 78 sur 90
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|