Passer au contenu
Se connecter
résumédécoupagelongs filsexport WhatsApppipeline IApréservation du contextetranscription vocale

Comment résumer des fils WhatsApp de 5,000 messages

Comment ThreadRecap découpe et fusionne les fils WhatsApp de 5,000+ messages pour garder décisions, actions et entités nommées, et réduire le bruit.

Par André Daniel3 mai 20267 min de lecture
Dans cet article

Une conversation WhatsApp de 5 000 messages n'est pas simplement un long fil. Ce sont des mois de décisions enfouies sous des centaines de salutations, des changements de sujet en plein échange, des messages vocaux disséminés entre les textes, et le même nom de projet orthographié de trois façons par trois personnes différentes. Demander à une IA de le résumer en une seule passe revient à demander à quelqu'un de lire un roman par le trou d'une serrure. Le résultat sera assuré, fluide et faux d'une manière difficile à détecter. Cet article explique ce qui se passe réellement en coulisses lorsque ThreadRecap traite un fil de cette taille : comment le texte est mesuré, où il est découpé, comment la cohérence est maintenue entre les segments, et ce que le traitement conserve délibérément par opposition à ce qu'il compresse.

Ce que représentent « plus de 5 000 messages » en tokens

Avant toute synthèse, l'export brut doit être mesuré dans l'unité qui intéresse réellement les modèles de langage : le token. Un token n'est pas un mot. Un mot anglais correspond en moyenne à environ 1 à 1,5 token, mais la ponctuation, les horodatages, les noms d'expéditeurs et les caractères non latins s'ajoutent au décompte.

Une ligne typique d'export WhatsApp ressemble à ceci :

Rattrapez des milliers de messages non lus en quelques minutes.

Analyser votre conversation
12/04/2024, 09:47 - Maria: Can we push the deadline to Friday?

Ce seul message, horodatage et préfixe d'expéditeur compris (WhatsApp les ajoute à chaque ligne), représente environ 15 à 20 tokens. Multipliez cela par 5 000 messages et vous obtenez entre 75 000 et 100 000 tokens pour un fil à longueur de message moyenne. Les fils comportant des messages plus longs, plusieurs langues ou un contenu technique dense peuvent dépasser largement 150 000 tokens.

La plupart des modèles de langage en production disposent de fenêtres de contexte pratiques comprises entre 8 000 et 200 000 tokens. Même à la limite haute, un export très volumineux ne tient pas en un seul passage, et le fait de tenir ne garantit pas de bons résultats. Les travaux de recherche sur le résumé de contextes longs montrent de manière constante que la cohérence des modèles se dégrade à mesure que l'entrée s'allonge, en particulier pour le contenu situé au milieu d'une longue séquence. Le nombre de tokens n'est pas seulement un problème de capacité. C'est un problème de qualité.

ThreadRecap traite des exports de 75 000+ messages, si bien que le traitement doit fonctionner correctement à des tailles bien supérieures à ce qu'un seul appel de modèle peut traiter de façon fiable.

Le découpage naïf et la perte de cohérence

La solution la plus simple au problème des tokens consiste à découper la conversation en blocs de taille fixe et à résumer chacun indépendamment. C'est ce qu'on appelle le découpage naïf. Il produit des résumés localement exacts, mais globalement incohérents.

La raison en est simple. Les conversations ne respectent pas les frontières arbitraires. Une décision qui commence au message 1 200 peut n'être confirmée qu'au message 1 450. Un nom de projet introduit tôt dans le fil peut être abrégé différemment au message 3 000. Une tâche assignée dans un bloc peut être modifiée, annulée ou réattribuée dans le suivant. Si chaque segment est résumé sans connaissance des autres, ces liens sont rompus.

L'étape de fusion est là où le découpage naïf échoue le plus visiblement. Si vous résumez 10 segments indépendamment puis concaténez les résumés, vous obtenez 10 mini-résumés qui ignorent l'existence les uns des autres. Le document final répétera les entités, se contredira sur les questions réglées et manquera l'évolution d'une décision. Le résultat ressemble à un résumé, mais fonctionne comme une liste de notes sans lien.

Un mode de défaillance connexe est la coupure brutale aux frontières. Si un segment se termine au milieu d'un sujet, le traitement de ce segment tronquera le sujet ou inventera une conclusion. Aucune de ces options n'est acceptable pour un fil qui pourrait servir plus tard de document daté et traçable de ce qui a été convenu.

Comment ThreadRecap découpe et fusionne pour préserver le contexte sur l'ensemble du fil

ThreadRecap utilise un pipeline en plusieurs étapes qui traite à la fois le problème des frontières et celui de la fusion.

Étape 1 : analyse structurée avant le découpage

Avant de définir la moindre frontière, l'export est analysé en enregistrements structurés. Chaque message reçoit son horodatage, le nom de son expéditeur, son type (texte, transcription de message vocal, événement système) et un score de signal préliminaire. Cette passe de notation signale les messages contenant des motifs à fort signal : engagements explicites, questions adressées à des destinataires nommés, références à des montants ou à des dates, et formules qui ouvrent un sujet. Les messages à fort signal servent de points d'ancrage que les frontières de segments ne coupent pas.

Les messages vocaux sont transcrits à l'aide des modèles de transcription d'OpenAI avant cette étape. La transcription est insérée dans l'enregistrement du message à sa position chronologique exacte, si bien que le pipeline la traite exactement comme un message texte. La précision varie selon le bruit de fond, l'accent et les conditions d'enregistrement, mais les extraits clairs sont suffisamment fiables pour être pris en compte dans l'extraction d'entités et la détection de décisions.

Étape 2 : découpage à fenêtre de recouvrement

Les segments ne sont pas créés simplement en comptant des tokens puis en coupant. Chaque segment est construit avec une queue de recouvrement issue du segment précédent, couvrant généralement la dernière partie du segment qui précède. Ce recouvrement fait qu'un sujet introduit près de la fin du segment N est visible au début du segment N+1. Le traitement du segment N+1 dispose donc du contexte nécessaire pour poursuivre correctement le sujet au lieu de le traiter comme un nouveau fil.

Cette approche par fenêtre glissante est une technique bien établie dans le traitement de documents longs. Le recouvrement ajoute un coût en tokens, mais il évite les ruptures nettes qui rendent le découpage naïf peu fiable.

Étape 3 : fusion récursive avec un registre d'entités continu

Chaque segment produit un résumé intermédiaire ainsi qu'un extrait structuré : une liste d'entités nommées (personnes, entreprises, dates, montants, noms de projets), les tâches en suspens et les décisions prises dans ce segment. Ces extraits structurés ne sont pas de la prose. Ce sont des enregistrements lisibles par machine, transmis à chaque segment suivant ainsi qu'à l'étape de fusion finale.

L'étape de fusion n'est pas une simple concaténation des résumés intermédiaires. Il s'agit d'un nouvel appel au modèle, qui reçoit l'ensemble des résumés intermédiaires avec le registre d'entités accumulé et la liste des points ouverts. La consigne de fusion demande au modèle de résoudre les contradictions, de clore les tâches achevées et de produire un récit unique et cohérent couvrant l'ensemble du fil. On décrit parfois cette approche comme un schéma de type MapReduce : chaque segment est transformé en résumé partiel, puis tous les résumés partiels sont réduits en un résultat final tenant compte de tous les segments.

Le résultat est un récapitulatif structuré unique, dont la forme s'adapte au contenu du fil, accompagné d'une chronologie. Pour un format précis, comme une liste de tâches avec responsables et échéances ou une liste de décisions, vous posez la question dans le chat de suivi sur la même conversation, comme décrit sur la page de fonctionnalité résumeur de conversations WhatsApp de ThreadRecap.

Pour un aperçu plus large de ce que ce type d'analyse structurée peut faire ressortir au-delà d'un simple récapitulatif, consultez les informations que vous pouvez extraire d'une conversation WhatsApp.

Ce qui est préservé

Tous les contenus ne sont pas traités de la même manière. Le pipeline est conçu pour protéger certaines catégories d'informations de toute compression, à chaque étape.

Décisions

Tout message contenant une décision confirmée est signalé dans l'extrait structuré et reporté mot pour mot dans le registre d'entités. L'étape de fusion finale est instruite de conserver chaque décision, quel que soit son emplacement dans le fil. Une décision prise dans le segment 2 apparaîtra dans le résumé final même si elle n'est jamais mentionnée à nouveau dans les segments 3 à 10.

Tâches

Les tâches sont extraites selon trois champs : la description de la tâche, la personne assignée (si elle est nommée) et l'échéance (si elle est indiquée). Les tâches ouvertes sont reportées à chaque segment suivant afin que l'étape de fusion puisse vérifier si elles ont été achevées, modifiées ou abandonnées. Une tâche assignée dans le segment 1 et achevée dans le segment 7 apparaîtra dans le résultat final comme terminée, et non comme une tâche ouverte restée en suspens.

Entités nommées

Les personnes, organisations, noms de projets, lieux, dates et montants sont suivis dans le registre d'entités dès le premier segment. Cela évite que le résumé final désigne une même personne sous deux noms différents, ou traite un même projet comme deux sujets distincts parce que son abréviation a changé en cours de fil.

Continuité des sujets

Les messages d'ancrage à fort signal identifiés à l'étape 1 sont inclus dans la fenêtre de recouvrement et dans la consigne de fusion. Ainsi, même si un sujet s'étend sur plusieurs segments, le modèle qui traite les segments ultérieurs a accès à la manière dont le sujet a été introduit, et non seulement à son état actuel.

Ce qui est compressé

Tout conserver produirait un résumé aussi long que le fil d'origine. Le pipeline applique donc une compression délibérée aux contenus qui ajoutent du volume sans valeur informative.

Salutations et accusés de réception

« Bonjour », « noté », « ok merci », « je m'en occupe », « ça marche » et autres formules sociales semblables sont regroupées. Dans un fil de 5 000 messages, elles peuvent représenter des centaines de messages. Aucune ne modifie le compte rendu de ce qui a été décidé ou convenu.

Relances répétées

Un groupe qui se réunit chaque semaine sur WhatsApp aura souvent des séquences de relances récurrentes : « Des nouvelles ? », « Rien de mon côté », « Pareil ici ». Ces schémas sont détectés et représentés une seule fois dans le résumé, sous la forme d'une note indiquant que des points réguliers ont eu lieu, plutôt que d'être retranscrits intégralement.

Réactions emoji

Les exports WhatsApp incluent les réactions sous forme de lignes distinctes. Une réaction « pouce levé » à un message ajoute une ligne à l'export, mais ne porte aucun contenu informatif autonome. Elles sont supprimées avant l'étape de découpage.

Contenus en double

Les messages transférés, les liens partagés à nouveau et les contenus copiés-collés qui apparaissent plus d'une fois dans le fil sont dédoublonnés. La première occurrence est conservée ; les occurrences suivantes sont notées comme des renvois lorsqu'elles apparaissent dans un contexte différent.

Remplissage social à faible signal

Les échanges conversationnels de nature sociale mais sans contenu informatif, comme les longues séries d'emojis, les descriptions de GIF et les événements d'autocollants, sont retirés avant le calcul du nombre de tokens pour le découpage. Cela réduit la charge effective en tokens et concentre l'attention du modèle sur le contenu substantiel.

C'est la logique de compression qui rend le résultat lisible. Un fil brut de 5 000 messages peut prendre deux heures à parcourir. Le résumé structuré devrait se lire en cinq à dix minutes et contenir chaque information importante pour le compte rendu.

Note sur la confidentialité

Le flux d'export puis de téléversement signifie que vous détenez le fichier avant tout envoi. Les photos et documents joints à la conversation ne quittent jamais votre appareil, et les fichiers vidéo ne sont jamais téléversés : pour chaque vidéo, votre navigateur extrait la piste audio et n'envoie que celle-ci. Le texte de la conversation et l'audio sont téléversés pour traitement. Ce contenu est stocké chiffré dans votre compte, et vous pouvez en demander la suppression à tout moment depuis le tableau de bord.

Cela compte particulièrement pour les longs fils. Une conversation de groupe de 5 000 messages issue d'un projet professionnel ou d'un différend familial peut contenir des informations sensibles. Savoir exactement ce qui quitte votre appareil et ce qui n'en sort pas n'est pas un détail secondaire.

Pour en savoir plus sur la manière d'aborder le résumé de fils devenus trop volumineux pour être gérés à la main, consultez le guide que faire lorsque votre conversation WhatsApp est trop longue pour être résumée.

Limites pratiques et compromis assumés

Le pipeline décrit ici traite le problème de cohérence bien mieux que le découpage naïf. Il n'élimine pas toute erreur de synthèse. Quelques contraintes honnêtes méritent d'être énoncées.

D'abord, la qualité du résumé final dépend de celle des résumés intermédiaires. Si un segment contient un contenu très ambigu, l'extrait structuré de ce segment peut omettre une décision ou attribuer à tort une tâche. L'étape de fusion ne peut pas récupérer une information qui n'a pas été capturée à l'étape intermédiaire.

Ensuite, les très longs fils comportant de nombreux sujets qui se chevauchent, un grand nombre de participants et des changements de sujet fréquents sont plus difficiles à résumer que les fils linéaires consacrés à un projet. Le registre d'entités aide, mais un fil où 20 personnes discutent de 15 chantiers simultanés produira un résultat plus dense et plus complexe qu'un fil où 4 personnes suivent un seul projet.

Enfin, la qualité des messages vocaux influe sur la précision de la transcription. Un audio clair se transcrit bien, mais le bruit de fond, les accents marqués ou les paroles qui se superposent réduisent la précision. Relisez la transcription de tout extrait sur lequel vous comptez vous appuyer en la comparant à l'audio d'origine.

Ce ne sont pas des raisons d'éviter de résumer les longs fils. Ce sont des raisons de considérer le résultat comme un point de départ structuré pour une relecture, et non comme un document final ne nécessitant aucune vérification, en particulier pour des usages juridiques ou de conformité.

Si vous travaillez pour la première fois avec un long fil et souhaitez comprendre l'ensemble des résultats disponibles, résumer des conversations WhatsApp avec l'IA détaille le parcours complet de bout en bout.

Fini le défilement. Place au récapitulatif.

Importez l'export de votre groupe et découvrez ce qui s'est passé, qui a dit quoi et ce qui attend votre réponse.

Analyser votre conversation