Maison > Périphériques technologiques > IA > L'analyse des appels clients s'est rendue facile avec SnapSynapse

L'analyse des appels clients s'est rendue facile avec SnapSynapse

Jennifer Aniston
Libérer: 2025-03-19 11:17:15
original
760 Les gens l'ont consulté

Les appels du support client contiennent une multitude d'informations, mais il n'est pas facile de trouver le temps de peigner manuellement ces enregistrements pour les informations. Imaginez si vous pouviez transformer instantanément ces longs enregistrements en résumés clairs, suivez la façon dont le sentiment se déplace tout au long de l'appel et même obtenez des informations sur mesure en fonction de la façon dont vous souhaitez analyser la conversation. Cela semble utile?

Dans cet article, nous parcourons la création d'un outil pratique que j'ai construit SnapSynapse (cliquez ici), pour faire exactement cela! En utilisant des outils tels que Pyannote.Audio pour la diarisation des haut-parleurs (identification), Whisper for Transcription et Gemini-1.5 Pro pour générer des résumés dirigés par l'IA, je vais montrer comment vous pouvez automatiser le processus de transformation des enregistrements d'appels de support en informations exploitables. En cours de route, vous verrez comment nettoyer et affiner les transcriptions, générer des résumés personnalisés en fonction de l'entrée de l'utilisateur et suivre les tendances du sentiment, le tout avec des extraits de code faciles à suivre. Il s'agit d'un guide pratique pour construire un outil qui va au-delà de la transcription pour vous aider à comprendre et à améliorer votre expérience de support client.

Objectifs d'apprentissage

  • Comprendre comment utiliser pyannote.audio pour la diarisation des haut-parleurs, séparant différentes voix dans les enregistrements du support client.
  • Apprenez à générer des transcriptions précises à partir de fichiers audio à l'aide de Whisper et de les nettoyer en supprimant les mots de remplissage et un texte non pertinent.
  • Découvrez comment créer des résumés sur mesure à l'aide de Gemini-1.5 Pro, avec des invites personnalisables pour répondre à différents besoins d'analyse.
  • Explorez les techniques pour effectuer une analyse des sentiments sur les conversations et visualiser les tendances du sentiment tout au long d'un appel.
  • Gardez une expérience pratique dans la construction d'un pipeline automatisé qui traite les données audio en informations structurées, ce qui facilite l'analyse et l'amélioration des interactions du support client.

Cet article a été publié dans le cadre du Blogathon de la science des données.

Table des matières

  • Objectifs d'apprentissage
  • Qu'est-ce que SnapSynapse?
    • Caractéristiques clés
  • Bâtiment SnapSynapy: caractéristiques et fonctionnalités de base
    • Étape 1: Diarisation des conférenciers et génération de transcription
    • Étape2: Nettoyage de la transcription générée
    • Étape 3: Génération de résumé à l'aide de Gemini 1.5 Pro
    • Étape 4: Analyse des sentiments
  • Configuration de SnapSynapse: un guide étape par étape
    • Étape 1: cloner le référentiel
    • Étape2: Configuration de l'environnement virtuel
    • Étape 3: Activez l'environnement virtuel
    • Étape 4: Installer les dépendances requises
    • Étape 5: configurer les variables environnementales
    • Étape 6: exécutez l'application
  • Résumé sur les outils utilisés dans le développement de SnapSynapse
  • Conclusion
    • Principaux à retenir
  • Questions fréquemment posées

Qu'est-ce que SnapSynapse?

SnapSynapse est un outil pratique pour transformer les appels du support client en informations précieuses. Il décompose les conversations par le haut-parleur, transcrit tout et met en évidence l'humeur globale et les points clés, afin que les équipes puissent rapidement comprendre ce dont les clients ont besoin. Utilisation de modèles comme Pyannote pour la diarisation, le chuchotement pour la transcription et les Gémeaux pour des résumés, SnapSynapse offre des résumés clairs et des tendances des sentiment sans aucun problème. Il est conçu pour aider les équipes à aider à mieux se connecter avec les clients et à améliorer le service, une conversation à la fois.

Caractéristiques clés

Vous trouverez ci-dessous les caractéristiques clés importantes de SnapSynapy:

  • Diarisation / identification du conférencier
  • Génération de transcription de conversation
  • Horodatage génération dialogue sage
  • Génération de résumé basé sur le cas d'utilisation
  • Scores d'analyse des sentiments
  • Analyse des sentiments par visualisation

Bâtiment SnapSynapy: caractéristiques et fonctionnalités de base

Dans cette section, nous explorerons les fonctionnalités de base qui font de SnapSynAsse un outil puissant pour l'analyse du support client. De diariser et transcrire automatiquement les appels à la génération de résumés de conversation dynamiques, ces fonctionnalités sont conçues pour améliorer l'efficacité de l'équipe de support. Avec sa capacité à détecter les tendances du sentiment et à fournir des informations exploitables, SnapSynapse simplifie le processus de compréhension des interactions client.

Dans le cas, si vous souhaitez consulter l'intégralité du code source, reportez-vous aux fichiers dans le repo: repo_link

Nous aurons besoin d'Open AI API et Gemini API pour gérer ce projet. Vous pouvez obtenir les API ici - API Gemini, API Openai

Flux de projet:

Diarisation des conférenciers -> Transcription -> horodatage -> Nettoyage -> Résumé -> Analyse des sentiments

Étape 1: Diarisation des conférenciers et génération de transcription

Dans la première étape, nous utiliserons un seul script pour prendre un fichier audio, séparer les haut-parleurs (diarisation), générer une transcription et attribuer des horodatages. Voici comment fonctionne le script, y compris une ventilation du code et des fonctions clés:

Aperçu du script

Ce script Python effectue trois tâches principales en une seule fois:

  • Diarisation des conférenciers: identifie différents haut-parleurs dans un fichier audio et sépare leur dialogue.
  • Transcription: convertit les segments audio séparés de chaque haut-parleur en texte.
  • Horodatage: ajoute des horodatages pour chaque segment parlé.

Importations et configuration

  • Nous commençons par importer les bibliothèques nécessaires comme pyannote.audio pour la diarisation des haut-parleurs, OpenAI pour la transcription et pydub pour gérer les segments audio.
  • Les variables d'environnement sont chargées à l'aide de DOTENV, nous pouvons donc stocker en toute sécurité notre clé API OpenAI.

Fonction principale: transcription de diarisation avec horodatage

La fonction principale, transcribe_with_diarization () , combine toutes les étapes:

  • Diarization: appels perform_diarisation () pour obtenir des segments de haut-parleur.
  • Extraction du segment: utilise Pydub pour couper le fichier audio en morceaux en fonction des heures de début et de fin de chaque segment.
  • Transcription: Pour chaque morceau, il appelle le modèle Whisper via l'API d'Openai pour obtenir des transcriptions de texte.
  • Timestamp et Informations sur le haut-parleur: Chaque transcription est enregistrée avec son heure de début, sa fin et son étiquette de haut-parleur correspondant.
 Def transcribe_with_diarization (file_path):
    diarisation_result = perform_diarisation (file_path)
    Audio = Audiosegment.from_file (file_path)
    transcriptions = []

    Pour le segment, _, haut-parleur dans diarization_result.itertracks (rendu_label = true):
        start_time_ms = int (segment.start * 1000)
        end_time_ms = int (segment.end * 1000)
        chunk = audio [start_time_ms: end_time_ms]
        
        chunk_filename = f "{haut-parleur} _segment_ {int (segment.start)}. wav"
        chunk.export (chunk_filename, format = "wav")

        avec Open (Chunk_Filename, "RB") comme Audio_file:
            transcription = client.audio.transcription.Create (
                modèle = "whisper-1",
                file = audio_file,
                réponse_format = "json"
            )
            transcription.append ({
                "Président": Président,
                "start_time": segment.start,
                "end_time": segment.end,
                "Transcription": transcription.Text
            })
        print (f "Transcription pour {chunk_filename} par {haut-parleur} terminé.")
Copier après la connexion

Sauver la sortie

  • Les transcriptions finales, ainsi que les étiquettes de haut-parleurs et les horodatages, sont enregistrées sur diarized_transcriptions.json , créant un enregistrement structuré de la conversation.
  • Enfin, nous exécutons la fonction sur un fichier audio de test, test_audio_1.wav, pour voir le processus complet de diarisation et de transcription en action.

Un aperçu de la sortie générée et a été enregistré dans le fichier diarized_transcription.py:

L'analyse des appels clients s'est rendue facile avec SnapSynapse

Étape2: Nettoyage de la transcription générée

  • Ce fichier se concentre sur le nettoyage des transcriptions générées à partir du processus de diarisation et de transcription.
  • Il charge les transcriptions diarines d'un fichier JSON et supprime des mots de remplissage communs comme «Um», «euh» et «vous savez» pour améliorer la lisibilité.
  • De plus, il élimine les espaces blancs supplémentaires et normalise le texte pour rendre la transcription plus concise et polie.
  • Après le nettoyage, le système enregistre les nouvelles transcriptions dans un fichier JSON nommé Cleaned_Transcription.py, en s'assurant que les données sont prêtes pour une analyse ou une génération d'informations plus approfondie.
 # Fonction pour nettoyer le texte de transcription
Def Clean_Transcription (texte):
    # Liste des mots de remplissage communs
    filler_words = [
        "um", "euh", "comme", "tu sais", "en fait", "fondamentalement", "je veux dire",
        "en quelque sorte", "genre de", "à droite", "ok", "donc", "eh bien", "juste"
    ]]
    
    # motif regex pour correspondre aux mots de remplissage (cas insensible)
    Filler_pattern = re.C.
    
    # Supprimer les mots de remplissage
    cleaned_text = filler_pattern.sub ('', texte)
    
    # Supprimer un espace supplémentaire
    cleaned_text = re.sub (r '\ s', '', cleaned_text) .strip ()

    return cleaned_text
Copier après la connexion

Étape 3: Génération de résumé à l'aide de Gemini 1.5 Pro

À l'étape suivante, nous utilisons l'API Gemini pour générer des informations et des résumés structurés basés sur les transcriptions nettoyées. Nous utilisons le modèle Gemini 1.5 Pro pour le traitement du langage naturel pour analyser les appels du support client et fournir des résumés exploitables.

Voici une ventilation de la fonctionnalité:

  • Configuration du modèle: le modèle Gemini est configuré à l'aide de la bibliothèque Google.Generativeai, avec la clé API en toute sécurité. Il prend en charge la génération d'informations basées sur différents formats rapides.
  • Invites pour l'analyse: plusieurs invites prédéfinies sont conçues pour analyser divers aspects de l'appel d'assistance, tels que les résumés généraux d'appels, les échanges de conférenciers, les plaintes et les résolutions, les besoins d'escalade et le dépannage des problèmes techniques.
  • Générer un contenu structuré : la fonction génération_analysis () prend le texte de transcription nettoyé et le traite en utilisant l'une des invites prédéfinies. Il organise la sortie en trois sections: résumé, éléments d'action et mots clés.
  • Interaction utilisateur: le script permet à l'utilisateur de choisir parmi plusieurs formats de résumé. Le choix de l'utilisateur détermine l'invite utilisée pour générer les informations à partir de la transcription.
  • Génération de sortie : Après le traitement de la transcription, les informations résultantes - organisées dans un format JSON structuré - sont enregistrées dans un fichier. Ces données structurées permettent aux équipes d'assistance de supporter plus facilement des informations significatives de l'appel.

Un bref aperçu des différentes invites utilisées:

L'analyse des appels clients s'est rendue facile avec SnapSynapse

Un aperçu de la sortie générée:

L'analyse des appels clients s'est rendue facile avec SnapSynapse

Étape 4: Analyse des sentiments

De plus, à l'étape suivante, nous effectuons une analyse des sentiments sur les transcriptions d'appels de support client pour évaluer le ton émotionnel tout au long de la conversation. Il utilise l'outil d'analyse des sentiments VADER de NLTK pour déterminer les scores de sentiment pour chaque segment de la conversation.

Voici une ventilation du processus:

  • Analyse des sentiments utilisant Vader : le script utilise le lexique de SentimetentensityanAnalyzer du lexique VADER ( dictionnaire de sensibilité de valence et de sentiment de sentiment ). Il attribue un score de sentiment pour chaque segment, qui comprend un score composé indiquant le sentiment global ( positif, neutre ou négatif ).
  • Traitement de la transcription: La transcription nettoyée est chargée à partir d'un fichier JSON. Chaque entrée de la transcription est évaluée pour le sentiment, et les résultats sont stockés avec l'étiquette des haut-parleurs et les scores de sentiment correspondants. Le script calcule le score total du sentiment, le sentiment moyen pour le client et l'agent de support, et classe le sentiment global comme positif, neutre ou négatif.
  • Visualisation de la tendance du sentiment : en utilisant Matplotlib, le script génère un tracé de ligne montrant la tendance du sentiment au fil du temps, avec l'axe des x représentant les segments de conversation et l'axe y montrant le score de sentiment.
  • Sortie: Le système enregistre les résultats de l'analyse des sentiments, y compris les scores et le sentiment global, dans un fichier JSON pour un accès et une analyse faciles plus tard. Il visualise la tendance du sentiment dans un complot pour fournir un aperçu de la dynamique émotionnelle pendant l'appel de support.

Code utilisé pour calculer le score de sentiment global

 # Calculez le score de sentiment global
    globalement_sentiment_score = total_compound / len (Sentiment_Results)

    # Calculer le sentiment moyen pour le client et l'agent
    moyen_customer_sentiment = client_sentiment / client_count si client_count else 0
    moyen_agent_sentiment = agent_sentiment / agent_count si agent_count else 0

    # Déterminer le sentiment global comme positif, neutre ou négatif
    Si globalement_sentiment_score> 0,05:
        global_sentiment = "positif"
    elif global_sentiment_score <h4> Code utilisé pour générer le tracé</h4><pre class="brush:php;toolbar:false"> DEF PLOT_SENTIMENT_TREND (Sentiment_Results):
    # Extraire les scores de sentiment composé pour le traçage
    Compound_scores = [entrée ['Sentiment'] ['Compound'] pour l'entrée dans Sentiment_Results]

    # Créer un tracé de ligne unique montrant la tendance du sentiment
    Plt.Figure (FigSize = (12, 6))
    plt.plot (composé_score, color = 'violet', linestyle = '-', marker = 'o', markersize = 5, label = "Sentiment Trend")
    plt.axhline (0, color = 'gris', linestyle = '-') # ajouter une ligne zéro pour le sentiment neutre
    plt.title ("Tendance des sentiments sur la conversation du support client", FonTSize = 16, Fontweight = 'Bold', Color = "DarkBlue")
    plt.xLabel ("Index du segment")
    plt.ylabel ("score de sentiment composé")
    plt.grid (true, linestyle = '-', alpha = 0,5)
    plt.legend ()
    plt.show ()
Copier après la connexion

Scores d'analyse des sentiments générés:

L'analyse des appels clients s'est rendue facile avec SnapSynapse

Terrain d'analyse du sentiment généré:

L'analyse des appels clients s'est rendue facile avec SnapSynapse

Configuration de SnapSynapse: un guide étape par étape

Vous pouvez trouver le référentiel de code ici - repo_link

Maintenant, parcourons la façon de configurer et d'exécuter SnapSynapse sur votre machine locale:

Étape 1: cloner le référentiel

Commencez par cloner le référentiel de projet à votre machine locale pour commencer à utiliser SnapSynAdE. Cela donne accès au code source de l'application et à tous ses composants essentiels.

 git clone https://github.com/keerthanareddy95/snapsynapse.git
CD SnapSynapy
Copier après la connexion

Étape2: Configuration de l'environnement virtuel

Un environnement virtuel aide à isoler les dépendances et garantit que votre projet fonctionne bien. Cette étape met en place un espace de travail indépendant pour que SnapSynapse fonctionne sans interférence à partir d'autres packages.

 # Pour Windows:
Python -M Venv Venv

# Pour macOS et Linux:
Python3 -M Venv Venv
Copier après la connexion

Étape 3: Activez l'environnement virtuel

 # Pour Windows:
. \ venv \ scripts \ activer

# Pour macOS et Linux:
Source Venv / Bin / Activate
Copier après la connexion

Étape 4: Installer les dépendances requises

Avec l'environnement virtuel en place, l'étape suivante consiste à installer toutes les bibliothèques et outils nécessaires. Ces dépendances permettent les fonctionnalités fondamentales de SnapSynapse, notamment la génération de transcrits, la diarisation des conférenciers, la génération d'horodatage, la génération de résumé, les scores d'analyse des sentiments, la visualisation et plus encore.

 pip install -r exigences.txt
Copier après la connexion

Étape 5: configurer les variables environnementales

Pour tirer parti des idées axées sur l'AI, la diarisation, la transcription et la résumé et vous devrez configurer les clés d'API pour Google Gemini et ouvrir un chuchotement AI.

Créez un fichier .env à la racine du projet et ajoutez vos clés API pour Google Gemini et ouvrez AI Whisper.

 Google_api_key = "votre_google_api_key"
Openai_api_key = "your_open_ai_api_key"
Copier après la connexion

Étape 6: exécutez l'application

  • Commencez par exécuter le fichier transcription.py: ce fichier effectue la génération de transcription, la diarisation des haut-parleurs et la génération d'horodatage. Et il enregistre la sortie dans un fichier JSON nommé diarized_transcriptions.json.
  • Ensuite, exécutez le fichier Cleaning.py: ce fichier prendra le fichier diamis_transcription.py en entrée et nettoie la transcription et enregistre les résultats dans le fichier cleaned_transcription.json.
  • De plus, exécutez le fichier résumé.py: ici, vous devez mentionner la clé API Gemini . Ce fichier prendra le fichier Cleaneed_Transcription.py en entrée et invite l'utilisateur à saisir le style de résumé qu'il souhaite générer en fonction de leur cas d'utilisation. Sur la base de l'entrée utilisateur, le système passe l'invite correspondante aux Gémeaux, qui génère le résumé. Le système stocke ensuite le résumé généré dans un fichier JSON nommé résumé_output.json.
  • Enfin, exécutez le fichier Sentiment_analysis.py: l'exécution de ce fichier générera les scores globaux de sentiment et également une représentation graphique des scores d'analyse de sentiment et comment ils ont progressé via le fichier audio.

Résumé sur les outils utilisés dans le développement de SnapSynapse

Laissez maintenant regarder les outils utilisés dans le développement de SnapSynapy ci-dessous:

  • pyannote.audio: fournit le module de pipeline pour effectuer une diarisation du haut-parleur, qui sépare différents haut-parleurs dans un fichier audio.
  • OpenAI: utilisé pour interagir avec l'API d'OpenAI pour la transcription via le modèle Whisper.
  • Pydub (Audiosegment): traite les fichiers audio, permettant la segmentation et l'exportation de morceaux audio par haut-parleur.
  • Google.Generativeai: une bibliothèque pour accéder aux modèles Google Gemini, utilisé ici pour générer des résumés structurés et des informations à partir des transcriptions du support client.
  • NLTK (Natural Language Toolkit): une bibliothèque pour le traitement du langage naturel, spécifiquement utilisé ici pour importer le Sentiment IntensityAnalyzer de VADER pour analyser le sentiment dans le fichier audio.
  • Matplotlib: une bibliothèque de visualisation souvent utilisée avec PLT, incluse ici pour la visualisation du sentiment dans tout le fichier audio.

Conclusion

En un mot, SnapSynapse révolutionne l'analyse du support client en transformant les enregistrements d'appels bruts en informations exploitables. De la diarisation et de la transcription des conférenciers à la génération d'un résumé structuré et à l'analyse des sentiments, SnapSYNAPSE rationalise chaque étape pour offrir une vue complète des interactions client. Avec la puissance des invites sur mesure du modèle Gemini et le suivi détaillé des sentiments, les utilisateurs peuvent facilement obtenir des résumés et des tendances qui mettent en évidence les idées clés et les résultats de support.

Un grand cri à Google Gemini, Pyannote Audio et chuchotis pour avoir alimenté ce projet avec leurs outils innovants!

Vous pouvez consulter le dépôt ici.

Principaux à retenir

  • SnapSynapse permet aux utilisateurs de traiter les appels du support client de bout en bout, de la diarité et de la transcription à des résumés de génération.
  • Avec cinq choix rapides distincts, les utilisateurs peuvent adapter des résumés à des besoins spécifiques, que ce soit sur les problèmes, les articles d'action ou le support technique. Cette fonctionnalité aide les apprenants à explorer l'ingénierie rapide et à expérimenter l'impact des différentes entrées sur les sorties générées par l'IA.
  • SnapSynapse suit les tendances du sentiment tout au long des conversations, fournissant une représentation visuelle des changements de tonalité qui aident les utilisateurs à mieux comprendre la satisfaction du client. Pour les apprenants, c'est une chance d'appliquer les techniques de PNL et d'apprendre à interpréter les données de sentiment dans les applications du monde réel.
  • Snapynapse automatise le nettoyage et l'analyse de la transcription, rendant les informations du support client facilement accessibles pour des décisions plus rapides et basées sur les données. Les apprenants bénéficient de voir comment l'automatisation peut rationaliser le traitement des données, ce qui leur permet de se concentrer sur les informations avancées plutôt que sur les tâches répétitives.

Questions fréquemment posées

Q1. Quels types de données peuvent-ils analyser SnapSynapy?

A. SnapSynapse peut gérer les fichiers audio des formats MP3 et WAV.

Q2. Comment SnapSYNAPSE gère la précision et le nettoyage de la transcription?

A. Snapynapse utilise un chuchotement pour la transcription, suivi d'un processus de nettoyage qui élimine les mots de remplissage, les pauses et le contenu non pertinent.

Q3. Puis-je personnaliser le format de résumé de l'analyse des appels?

R. Oui! SnapSynapse propose cinq options d'invite distinctes, vous permettant de choisir un format de résumé adapté à vos besoins. Il s'agit notamment des domaines d'intervention tels que les éléments d'action, les besoins d'escalade et les problèmes techniques.

Q4. Quelles idées l'offre de l'analyse des sentiments et comment est-elle affichée?

A. L'analyse des sentiments de Snapynapse évalue le ton émotionnel de la conversation, fournissant un score de sentiment et un graphique de tendance.

Q5. Qu'est-ce que l'analyse des appels clients et comment peut-elle profiter aux entreprises?

A. L'analyse des appels clients utilise des outils alimentés par l'IA pour transcrire, analyser et extraire des informations précieuses des interactions client, aider les entreprises à améliorer le service, à identifier les tendances et à améliorer la satisfaction des clients.

Q6. Comment l'analyse des appels clients peut-elle améliorer la qualité du support client?

A. Par analyse des appels clients, les entreprises peuvent mieux comprendre le sentiment des clients, les problèmes communs et les performances des agents, conduisant à des décisions plus éclairées et à l'amélioration des stratégies de service à la clientèle.

Les médias présentés dans cet article ne sont pas détenus par l'analytique vidhya et sont utilisés à la discrétion de l'auteur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal