Panggilan sokongan pelanggan memegang banyak maklumat, tetapi mencari masa untuk menyikat secara manual melalui rakaman ini untuk wawasan tidak mudah. Bayangkan jika anda dapat mengubah rakaman panjang ini dengan serta -merta ke dalam ringkasan yang jelas, menjejaki bagaimana sentimen beralih sepanjang panggilan, dan juga mendapat pandangan yang disesuaikan berdasarkan bagaimana anda ingin menganalisis perbualan. Kedengarannya berguna?
Dalam artikel ini, kami akan melalui membuat alat praktikal yang saya bina Snapsynapse (klik di sini), untuk melakukannya dengan tepat! Menggunakan alat seperti pyannote.audio untuk penceramah penceramah (pengenalan), berbisik untuk transkripsi, dan Gemini-1.5 Pro untuk menghasilkan ringkasan AI yang didorong oleh AI, saya akan menunjukkan bagaimana anda boleh mengautomasikan proses mengubah rakaman panggilan sokongan ke dalam pandangan yang boleh diambil tindakan. Di sepanjang jalan, anda akan melihat bagaimana untuk membersihkan dan memperbaiki transkripsi, menghasilkan ringkasan tersuai berdasarkan input pengguna, dan mengesan trend sentimen-semua dengan coretan kod yang mudah diikuti. Ini adalah panduan tangan untuk membina alat yang melampaui transkripsi untuk membantu anda memahami dan meningkatkan pengalaman sokongan pelanggan anda.
Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.
Snapsynapse adalah alat yang berguna untuk menjadikan panggilan sokongan pelanggan menjadi pandangan yang berharga. Ia memecahkan perbualan oleh penceramah, menyalin segala -galanya, dan menyoroti mood dan mata utama, jadi pasukan dapat dengan cepat memahami apa yang pelanggan perlukan. Menggunakan model seperti pyannote untuk diarisasi, berbisik untuk transkripsi, dan Gemini untuk ringkasan, Snapsynapse menyampaikan ringkasan dan trend sentimen tanpa sebarang masalah. Ia direka untuk membantu pasukan menyokong lebih baik dengan pelanggan dan meningkatkan perkhidmatan, satu perbualan pada satu masa.
Berikut adalah ciri -ciri utama Snapsynapse:
Dalam bahagian ini, kami akan meneroka ciri -ciri teras yang menjadikan Snapsynapse alat yang berkuasa untuk analisis sokongan pelanggan. Dari mengasingkan dan menyalin panggilan secara automatik untuk menghasilkan ringkasan perbualan dinamik, ciri -ciri ini dibina untuk meningkatkan kecekapan pasukan sokongan. Dengan keupayaannya untuk mengesan trend sentimen dan memberikan pandangan yang boleh dilakukan, Snapsynapse memudahkan proses memahami interaksi pelanggan.
Sekiranya anda ingin menyemak keseluruhan kod sumber, rujuk kepada Repo: repo_link
Kami perlu membuka AI API dan Gemini API untuk menjalankan projek ini. Anda boleh mendapatkan API di sini - Gemini API, Openai API
Aliran Projek:
Diarisasi Speaker -> Transkripsi -> Setem Masa -> Pembersihan -> Ringkasan -> Analisis Sentimen
Dalam langkah pertama, kami akan menggunakan skrip tunggal untuk mengambil fail audio, memisahkan penceramah (diarisasi), menghasilkan transkripsi, dan memberikan cap waktu. Begini cara skrip berfungsi, termasuk pecahan kod dan fungsi utama:
Skrip Python ini melakukan tiga tugas utama dalam satu perjalanan:
Fungsi teras, transcribe_with_diarization () , menggabungkan semua langkah:
def transcribe_with_diarization (file_path): diarization_result = preque_diarization (file_path) audio = audiosegment.from_file (file_path) Transkripsi = [] Untuk segmen, _, Speaker dalam diarization_result.itertracks (yield_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 "{speaker} _segment_ {int (segment.start)}. Wav" chunk.export (chunk_filename, format = "wav") dengan terbuka (chunk_filename, "rb") sebagai audio_file: transkripsi = client.audio.transcriptions.create ( Model = "Whisper-1", fail = audio_file, response_format = "json" ) transkripsi.append ({ "Speaker": Speaker, "start_time": segment.start, "end_time": segment.end, "Transkripsi": transkripsi.text }) cetak (f "transkripsi untuk {chunk_filename} oleh {speaker} selesai.")
Sekilas output yang dihasilkan dan disimpan dalam fail diarized_transcription.py:
# berfungsi untuk membersihkan teks transkripsi def clean_transcription (teks): # Senarai perkataan pengisi biasa filler_words = [ "um", "uh", "seperti", "anda tahu", "sebenarnya", "pada dasarnya", "maksud saya", "jenis", "jenis", "betul", "okay", "jadi", "baik", "hanya" ] # corak regex untuk memadankan kata pengisi (kes tidak sensitif) filler_pattern = re.compile (r '\ b (' '|' .join (filler_words) r ') \ b', re.ignorecase) # Keluarkan perkataan pengisi dibersihkan_text = filler_pattern.sub ('', teks) # Keluarkan ruang putih tambahan dibersihkan_text = re.sub (r '\ s', '', cleaned_text) .strip () kembali dibersihkan_text
Dalam langkah seterusnya, kami menggunakan API Gemini untuk menghasilkan pandangan dan ringkasan berstruktur berdasarkan transkripsi yang dibersihkan. Kami menggunakan model Gemini 1.5 Pro untuk pemprosesan bahasa semulajadi untuk menganalisis panggilan sokongan pelanggan dan memberikan ringkasan yang boleh dilakukan.
Inilah pecahan fungsi:
Sekilas pendek yang berbeza digunakan:
Sekilas output yang dihasilkan:
Selanjutnya, dalam langkah seterusnya kami melakukan analisis sentimen mengenai transkripsi panggilan sokongan pelanggan untuk menilai nada emosi sepanjang perbualan. Ia menggunakan alat analisis sentimen Vader dari NLTK untuk menentukan skor sentimen untuk setiap segmen perbualan.
Inilah pecahan proses:
# Kirakan skor sentimen keseluruhan keseluruhan_sentiment_score = total_compound / len (sentimen_results) # Kirakan sentimen purata untuk pelanggan dan ejen purata_customer_sentiment = customer_sentiment / customer_count jika customer_count lain 0 purata_agent_sentiment = agen_sentiment / agen_count jika agen_count lain 0 # Tentukan sentimen keseluruhan sebagai positif, neutral, atau negatif jika keseluruhan_sentiment_score> 0.05: keseluruhan_sentiment = "positif" ELIF EXTER_SENTIMENT_SCORE <h4> Kod yang digunakan untuk menjana plot</h4><pre class="brush:php;toolbar:false"> def plot_sentiment_trend (sentimen_results): # Ekstrak skor sentimen kompaun untuk merancang compound_scores = [entry ['sentimen'] ['compound'] untuk kemasukan dalam sentimen_results] # Buat satu plot baris yang menunjukkan trend sentimen PLT.Figure (figsize = (12, 6)) plt.plot (compound_scores, color = 'ungu', linestyle = '-', marker = 'o', markersize = 5, label = "trend sentimen") plt.axhline (0, color = 'kelabu', linestyle = '-') # tambah garis sifar untuk sentimen neutral PLT.TITLE ("Trend Sentimen ke atas Perbualan Sokongan Pelanggan", Fontsize = 16, Fontweight = 'Bold', Color = "DarkBlue") PLT.XLabel ("Indeks Segmen") plt.ylabel ("Skor Sentimen Kompaun") plt.grid (benar, linestyle = '-', alpha = 0.5) plt.legend () plt.show ()
Skor analisis sentimen dijana:
Plot analisis sentimen dijana:
Anda boleh mencari repositori kod di sini - repo_link
Sekarang, mari kita jalankan bagaimana untuk menubuhkan dan menjalankan Snapsynapse di mesin tempatan anda:
Mulakan dengan mengkloning repositori projek ke mesin tempatan anda untuk mula menggunakan Snapsynapse. Ini memberikan akses kepada kod sumber aplikasi dan semua komponen pentingnya.
Git Clone https://github.com/keerthanareddy95/snapsynapse.git CD Snapsynapse
Persekitaran maya membantu mengasingkan kebergantungan dan memastikan projek anda berjalan lancar. Langkah ini menubuhkan ruang kerja bebas untuk Snapsynapse untuk beroperasi tanpa gangguan dari pakej lain.
# Untuk tingkap: python -m venv venv # Untuk maco dan linux: python3 -m venv venv
# Untuk tingkap: . \ Venv \ Scripts \ Activate # Untuk maco dan linux: sumber venv/bin/aktifkan
Dengan persekitaran maya, langkah seterusnya adalah memasang semua perpustakaan dan alat yang diperlukan. Ketergantungan ini membolehkan fungsi teras Snapsynapse, termasuk penjanaan transkrip, penceramah penceramah, penjanaan setem masa, penjanaan ringkasan, skor analisis sentimen, visualisasi dan banyak lagi.
PIP Install -r syarat.txt
Untuk memanfaatkan pandangan, diarisasi, transkripsi dan ringkasan AI dan anda perlu mengkonfigurasi kekunci API untuk Google Gemini dan membuka Whisper AI.
Buat fail .env dalam akar projek dan tambahkan kekunci API anda untuk Google Gemini dan buka bisikan AI.
Google_api_key = "Your_google_api_key" Openai_api_key = "your_open_ai_api_key"
Marilah kita melihat alat yang digunakan dalam pembangunan untuk Snapsynapse di bawah:
Ringkasnya, Snapsynapse merevolusikan analisis sokongan pelanggan dengan mengubah rakaman panggilan mentah ke dalam pandangan yang boleh dilakukan. Dari penceramah penceramah dan transkripsi untuk menghasilkan analisis ringkasan dan sentimen berstruktur, Snapsynapse menyelaraskan setiap langkah untuk menyampaikan pandangan komprehensif mengenai interaksi pelanggan. Dengan kuasa model yang disesuaikan dengan model Gemini dan pengesanan sentimen terperinci, pengguna dapat dengan mudah mendapatkan ringkasan dan trend yang menyerlahkan pandangan utama dan hasil sokongan.
Siaran besar ke Google Gemini, Pyannote Audio, dan berbisik untuk menggerakkan projek ini dengan alat inovatif mereka!
Anda boleh menyemak repo di sini.
A. Snapsynapse boleh mengendalikan fail audio format mp3 dan wav.
S2. Bagaimanakah Snapsynapse mengendalikan ketepatan dan pembersihan transkripsi?A. Snapsynapse menggunakan bisikan untuk transkripsi, diikuti dengan proses pembersihan yang menghilangkan kata -kata pengisi, jeda, dan kandungan yang tidak relevan.
Q3. Bolehkah saya menyesuaikan format ringkasan analisis panggilan?A. Ya! Snapsynapse menawarkan lima pilihan cepat yang berbeza, membolehkan anda memilih format ringkasan yang disesuaikan dengan keperluan anda. Ini termasuk bidang tumpuan seperti item tindakan, keperluan peningkatan, dan isu teknikal.
Q4. Apakah pandangan yang diberikan oleh analisis sentimen, dan bagaimana ia dipaparkan?Analisis sentimen A. Snapsynapse menilai nada emosi perbualan, memberikan skor sentimen dan graf trend.
S5. Apakah analisis panggilan pelanggan dan bagaimana ia boleh memberi manfaat kepada perniagaan?A. Analisis panggilan pelanggan menggunakan alat berkuasa AI untuk menyalin, menganalisis, dan mengekstrak pandangan berharga daripada interaksi pelanggan, membantu perniagaan meningkatkan perkhidmatan, mengenal pasti trend, dan meningkatkan kepuasan pelanggan.
S6. Bagaimanakah analisis panggilan pelanggan dapat meningkatkan kualiti sokongan pelanggan?A. Dengan analisis panggilan pelanggan, perniagaan dapat memperoleh pemahaman yang lebih mendalam tentang sentimen pelanggan, isu umum, dan prestasi ejen, yang membawa kepada keputusan yang lebih tepat dan strategi perkhidmatan pelanggan yang lebih baik.
Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.
Atas ialah kandungan terperinci Analisis Panggilan Pelanggan Mudah dengan Snapsynapse. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!