Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

#26 2013-09-19 12:35:25

Mention effi10
Scout
Lieu : Troyes
Inscription : 2013-09-10
Messages : 250

Scraping
Développement C#
Content Spinning
Rédaction
Site Web

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Il n'y a pas de bons ou de mauvais outils, il n'y a que de bons ouvriers wink


effiSpin, c'est moi ;-)

Hors ligne

#27 2013-09-19 13:19:27

Mention cyex
Scout
Inscription : 2013-07-12
Messages : 144

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

C'était surtout la manière dont ils présentent cela c'est pas très flateur je trouve ^^

Hors ligne

#28 2013-09-19 13:43:01

Mention effi10
Scout
Lieu : Troyes
Inscription : 2013-09-10
Messages : 250

Scraping
Développement C#
Content Spinning
Rédaction
Site Web

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Ce sont certainement des codeurs C/C++ qui sont auteurs du site roll


J'ai un collègue qui code en C#, pour lui VB.Net c'est clairement de la m... alors que techniquement, on fait avec strictement la même chose qu'avec C#... Question d'idéologie !

Dans le passé, à l'époque de Visual Basic (versions 3.0 à 6.0 pour ce que j'ai connu) et donc hors framework, il est clair que le langage autorisait moins de choses et ne permettait pas de coder efficacement certains types d'applications (jeux, applis graphiques ou de traitement d'image, etc.) du simple fait que le langage était interprété à la volée. À contrario, pour des applications de gestion on gagnait à l'époque beaucoup en productivité, du fait de la simplicité de mise en oeuvre wink

Aujourd'hui c'est faux.


effiSpin, c'est moi ;-)

Hors ligne

#29 2013-09-19 14:46:07

Mention puples
Scout
Lieu : Haute Savoie
Inscription : 2013-08-09
Messages : 185

Développement PHP
Marketing
Advertising

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Aujourd'hui c'est faux.

+100k

bien d'accord avec toi, a part au niveau de la syntaxe aujourd'hui c# et vb.net pour moi c'est du pareil au même! a part que je suis plus à l'aise avec vb tongue

Hors ligne

#30 2013-11-04 20:05:23

Mention smonff
Recruit
Inscription : 2013-11-04
Messages : 5
Site Web

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Un module Perl qui pourrait faire l'affaire pour ton besoin https://metacpan.org/pod/Lingua::Phonology::Syllable

Hors ligne

#31 2013-11-04 20:09:01

Mention Jaffaar
Guardian
Lieu : Marseille
Inscription : 2012-06-01
Messages : 5 291

Développement PHP
Développement JS
Networking SEO
Social Engineering
Site Web

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Bienvenue @smonff : je t'invites à venir te presenter ici : http://www.scripts-seo.fr/forum-6-0-pre … age-1.html wink


⌕ Tu veux Ranker ?
⏩ Actives le mode automatique : SEO Quartz             
⏩ Profite d'un consultant SEO (sur Marseille ou sur Skype => jaffaarbh )
⏩ Tu veux des techniques concrètes ? SEO Basics Skills - SEO Ranking Skills

Hors ligne

#32 2015-12-02 08:20:03

Mention effi10
Scout
Lieu : Troyes
Inscription : 2013-09-10
Messages : 250

Scraping
Développement C#
Content Spinning
Rédaction
Site Web

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Un UP (lol) vu que j'ai trouvé une version C# ; pas encore testée, à priori fonctionne relativement bien (pas 100% exacte mais globalement ça doit le faire !)


static class Phono
    {
        #region Constantes de lettres
        readonly static char[] consonants = new char[] {
            'B','C','D','F','G',
            'H','J','K','L','M','N',
            'Ñ','P','Q','R','S',
            'T','V','W','X','Y','Z'};
        readonly static char[] strongVowels = new char[] {
            'A','Á','E','É',
            'Í','O','Ó','Ú'};
        readonly static char[] weakVowels = new char[] { 'I', 'U', 'Ü' };
        readonly static char[] vowels = new char[] {
            'A','Á','E','É',
            'Í','O','Ó','Ú',
            'I','U','Ü'};
        readonly static char[] letters = new char[] {
            'A','Á','E','É',
            'Í','O','Ó','Ú',
            'I','U','Ü',
            'B','C','D','F','G',
            'H','J','K','L','M','N',
            'Ñ','P','Q','R','S',
            'T','V','W','X','Y','Z'};
        #endregion
 
        public static List<string> Syllabiser(string s)
        {
            int i, j, n, m;
            s = s.ToUpper();
            i = 1;
            j = 0;
            n = s.Length - 1;
            List<string> syllabes = new List<string>();
 
            while (i < n)
            {
                int hyphen = 0;
                if (consonants.Contains(s[i]))
                {
                    if (vowels.Contains(s[i + 1]))
                    {
                        if (vowels.Contains(s[i - 1]))
                            hyphen = 1;
                    }
                    else if (s[i] == 'S' && s[i - 1] == 'N' && (consonants.Contains(s[i + 1])))
                        hyphen = 2;
                    else if (consonants.Contains(s[i + 1]) && vowels.Contains(s[i - 1]))
                        if (s[i + 1] == 'R')
                            if (s[i] == 'B' || s[i] == 'C' || s[i] == 'D' || s[i] == 'F' || s[i] == 'G' ||
                                s[i] == 'K' || s[i] == 'P' || s[i] == 'R' || s[i] == 'T' || s[i] == 'V')
                                hyphen = 1;
                            else
                                hyphen = 2;
                        else if (s[i + 1] == 'L')
                            if (s[i] == 'B' || s[i] == 'C' || s[i] == 'D' || s[i] == 'F' || s[i] == 'G' ||
                                s[i] == 'K' || s[i] == 'L' || s[i] == 'P' || s[i] == 'T' || s[i] == 'V')
                                hyphen = 1;
                            else
                                hyphen = 2;
                        else if (s[i + 1] == 'H')
                            if (s[i] == 'C' || s[i] == 'S' || s[i] == 'P')
                                hyphen = 1;
                            else
                                hyphen = 2;
                        else
                            hyphen = 2;
                }
                else if (strongVowels.Contains(s[i]))
                {
                    if (strongVowels.Contains(s[i - 1]))
                        hyphen = 1;
                }
                else if (s[i] == '-')
                {
                    syllabes.Add(s.Substring(j, i - j));
                    syllabes.Add("-");
                    i++;
                    j = i;
                }
 
                if (hyphen == 1)
                {  // Hyphenate here
                    syllabes.Add(s.Substring(j, i - j));
                    j = i;
                }
                else if (hyphen == 2)
                {  // Hyphenate after
                    i++;
                    syllabes.Add(s.Substring(j, i - j));
                    j = i;
                }
 
                i++;
            }
 
            m = syllabes.Count - 1;
            if (j == n && m >= 0 && consonants.Contains(s[n]))
                syllabes[m] = syllabes[m] + s[n];   // Last letter
            else
                syllabes.Add(s.Substring(j, n - j + 1));
 
            return syllabes;
        }
    }
 

PS : je laisse les VBistes (comme moi) convertir le code big_smile


effiSpin, c'est moi ;-)

Hors ligne

#33 2016-09-27 12:06:51

Mention pivonme
Recruit
Inscription : 2016-07-13
Messages : 12

Adminstration Serveur
Automatisation Web
Développement C
Développement PHP

Re : Algorithme ou bout de code pour décompte des syllabes (FR)

Salut,
tu peux utiliser lexique.org qui donne aussi le nombre de syllabes.
Le créateur explique aussi comment il a codé pour syllabifier :
http://www.pallier.org//ressources/syllabif/syllabation.pdf
Le code inclus est en awk, mais ne semble pas trop difficile à adapter en php ou autre pour exploiter le fichier txt qui correspond.

Hors ligne

Pied de page des forums