IPB

Bienvenue invité ( Connexion | Inscription )

> comptage de signes, nombre d'occurrences... [résolu]
Options
losto
posté 10 Jan 2020, 20:32
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 225
Inscrit : 23 Oct 2001
Lieu : environs de Lille
Membre no 1 110



Bonjour.

Soit le texte ci-dessous (en réalité il y a plus de soixante-mille lignes...)

[attachment=59748:Capture_...20.09.13.png]

Les lignes sont divisées en deux parties par un tiret long (en vert à gauche et en rouge à droite du tiret long), et séparées par un retour-ligne (ou un retour paragraphe si nécessaire).

Je dois:
1) trouver l'occurrence la plus longue (en signes) avant le tiret long ;
2) trouver l'occurrence la plus longue (en signes) après le tiret long ;
3) trouver l'occurrence avant le tiret long qui se répète le plus de fois (exemple bleu).

Pour compliquer un peu la chose, je dois en réalité trouver les dix premières occurrences de chaque (les dix plus longues avant et les dix plus longues après le tiret long, et les dix avant le tiret long qui se répètent le plus.

J'espère avoir été clair. Je ne vois pas avec quelle application je peux faire ça de manière la plus simple possible.

Une idée?

Ce message a été modifié par losto - 17 Jan 2020, 09:45.


--------------------
 MacBook Air 13" M2 - macOS Sequoia 15.2 - RAM 24Go - SSD 500Go avec un moniteur 28" ici (en France) et un autre là (en Breizh) • SSD Crucial P3 Plus 4To dans boîtier Yottamaster Thunderbolt 3 • Hub UGREEN Thunderbolt 3 4 - 1 port alimentation USB-C - 1 port HDMI pour double moniteur étendu 4K 60Hz - 1 port de données USB-C 5Gbs - 2 ports USB 3.0 - Slot pour carte SD • (branchés dessus :) hub 1 port RJ45 gigabit ethernet - 3 ports USB 3.0 • hub 4 ports USB 3.0
 MacBook Pro 15" 2,2 GHz Intel Core i7 - macOS 10.13.6 - RAM 16Go - SSD 1To  Imprimantes laser multifonctions Brother 9020 CDW (France), Brother DCPL2530W & HP MFP179 (Breizh)
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Jaypee
posté 12 Jan 2020, 17:20
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



Bonjour,

Le comptage de signes est l'exemple de base servant à illustrer les techniques de big data, notamment de l'algorithme de "MapReduce", et du traitement distribué.

L'idée est de balayer le texte et de générer des tuples pour construire des dictionnaires ou des "maps" grâce à un traitement appelé le Mapper. Il peut y avoir plusieurs Mappers spécialisés, un pour s'intéresser à l'occurrence des mots, générant un couple ("hello", 1), un autre scrutant la longueur générant le tuple ("hello", 5). Tous ces tuples sont placés dans une queue spécialisée, consommée par un autre traitement mapper, puis tout à la fin par le dernier traitement appelé le Reducer. Un Reducer responsable du comptage génère un dictionnaire ("hello", compte) et chaque fois qu'un ("hello, 1) se présente le dictionnaire est mis à jour ("hello", compte + 1).
Pour un déploiement pratique, la plateforme Hadoop était utilisée. Mais elle est très lourde puisque que la queue entre Mappers et Reducer est implémentée par fichier d'un file system spécialisé le HDFS.

Il existe soit des solutions purement programmatiques à base de langages "fonctionnels" comme Lisp, Clojure, R, soit des bibliothèques plus récentes que Hadoop, qui privilégient la mémoire, plutôt que le fichier pour les passage de données. Apache Flink est un exemple d'une telle bibliothèque. Apache Storm est aussi une bibliothèque de ce genre. Avec le langage Clojure, il existe une bibliothèque PigPen.

Et ce sont les réseaux sociaux comme Facebook ou Twitter qui sont à l'origine de tels outils, plutôt que des universités. PigPen vient des développeurs de Netflix qui contribue beaucoup à l'Open Source dans le domaine du Big Data.

Voilà donc quelques pistes à explorer,
Jean-Pierre

Ce message a été modifié par Jaypee - 12 Jan 2020, 17:44.
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- losto   comptage de signes, nombre d'occurrences... [résolu]   10 Jan 2020, 20:32
- - baron   Bonsoir losto, Si on est bien d'accord que c...   10 Jan 2020, 23:03
- - losto   Très bonnes pistes. J'attends voir si d'a...   11 Jan 2020, 13:13
- - Cri-cri   Absolument rien à voir avec Graphisme/PAO/CAO... ...   12 Jan 2020, 11:27
- - losto   (Tant d'années peut-être mais pas facile de ...   12 Jan 2020, 11:40
|- - baron   Citation (losto @ 12 Jan 2020, 11:40) Com...   12 Jan 2020, 15:18
||- - baron   Citation (baron @ 12 Jan 2020, 15:18) Cit...   12 Jan 2020, 16:29
|- - Cri-cri   Citation (losto @ 12 Jan 2020, 11:40) (Ta...   12 Jan 2020, 18:56
- - jeanjd63   Salut. Ce serait bien de fournir le fichier sourc...   12 Jan 2020, 11:53
- - Jaypee   Bonjour, Le comptage de signes est l'exemple ...   12 Jan 2020, 17:20
- - losto   Merci pour vos réponses. J'allais préciser...   12 Jan 2020, 20:12
- - PBell   Bonjour, Effectivement avec un tableur, cette anal...   13 Jan 2020, 08:54
- - losto   À te lire, PBell (merci pour ta réponse détaill...   13 Jan 2020, 10:57
- - baron   La solution présentée par PBell est assurément...   13 Jan 2020, 15:42
- - PBell   Bonsoir, J'ai pris la version Excel. J'ai...   13 Jan 2020, 19:21
- - losto   PBell, je te remercie, je vais regarder ça dès q...   14 Jan 2020, 16:05
- - losto   baron, j'ai téléchargé ton archive et ai tr...   15 Jan 2020, 21:01
- - baron   Je crains que ce soit surtout la démonstration de...   15 Jan 2020, 21:16
- - PBell   Bonsoir, Je n'ai pas Number, mais quelques id�...   15 Jan 2020, 22:22
|- - baron   Merci pour ton aide. Tout en répondant à tes ...   16 Jan 2020, 01:03
- - losto   Je réponds à tous les contributeurs. Graphiste ...   16 Jan 2020, 01:53
- - baron   Je t'invite, dans ton 2e tableau allégé, à ...   16 Jan 2020, 02:28
- - losto   Impec, merci!   16 Jan 2020, 10:27
- - PBell   Merci de tes réponses sur les formules de Numbers...   16 Jan 2020, 20:10


Reply to this topicStart new topic
3 utilisateur(s) sur ce sujet (3 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 3rd April 2026 - 13:39