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.
Cet article a été publié dans le cadre du Blogathon de la science des données.
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.
Vous trouverez ci-dessous les caractéristiques clés importantes de SnapSynapy:
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
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:
Ce script Python effectue trois tâches principales en une seule fois:
La fonction principale, transcribe_with_diarization () , combine toutes les étapes:
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é.")
Un aperçu de la sortie générée et a été enregistré dans le fichier diarized_transcription.py:
# 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
À 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é:
Un bref aperçu des différentes invites utilisées:
Un aperçu de la sortie générée:
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:
# 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 ()
Scores d'analyse des sentiments générés:
Terrain d'analyse du sentiment généré:
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:
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
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
# Pour Windows: . \ venv \ scripts \ activer # Pour macOS et Linux: Source Venv / Bin / Activate
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
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"
Laissez maintenant regarder les outils utilisés dans le développement de SnapSynapy ci-dessous:
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.
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!