首頁 > 科技週邊 > 人工智慧 > Snapsynapse使客戶呼叫分析變得容易

Snapsynapse使客戶呼叫分析變得容易

Jennifer Aniston
發布: 2025-03-19 11:17:15
原創
763 人瀏覽過

客戶支持呼叫擁有大量信息,但是找時間手動梳理這些錄音以獲取見解並不容易。想像一下,如果您可以立即將這些長錄音變成清晰的摘要,請跟踪情感在整個通話過程中的變化,甚至根據您想要分析對話的方式而獲得量身定制的見解。聽起來有用嗎?

在本文中,我們將瀏覽創建一個實用的工具,我構建了Snapsynapse(單擊此處),以便做到這一點!使用Pyannote.audio進行言語診斷(標識),轉錄的耳語和Gemini-1.5 Pro來生成AI驅動的摘要,我將展示如何自動化將支持呼叫錄音轉換為可行的見解的過程。在此過程中,您將看到如何清潔和完善轉錄,根據用戶輸入生成自定義摘要以及跟踪情感趨勢 - 所有這些都具有易於遵循的代碼段。這是一個動手指南,用於構建超越轉錄的工具,以幫助您了解和改善客戶支持體驗。

學習目標

  • 了解如何使用pyannote.audio進行說話者診斷,從而在客戶支持錄音中分開不同的聲音。
  • 學會使用耳語從音頻文件中生成準確的轉錄,並通過刪除填充單詞和無關緊要的文本來清理它們。
  • 發現如何使用Gemini-1.5 Pro創建量身定制的摘要,並具有可自定義的提示,以滿足不同的分析需求。
  • 探索用於對對話進行情感分析的技術,並在整個通話中可視化情感趨勢。
  • 在構建自動化管道方面獲得動手實踐經驗,該管道將音頻數據處理為結構化的見解,從而更容易分析和改善客戶支持互動。

本文作為數據科學博客馬拉鬆的一部分發表

目錄

  • 學習目標
  • 什麼是Snapsynaps?
    • 關鍵功能
  • 建築Snapsynapse:核心功能和功能
    • 步驟1:揚聲器診斷和轉錄生成
    • 步驟2:清潔生成的轉錄
    • 步驟3:使用Gemini 1.5 Pro生成摘要
    • 步驟4:情感分析
  • 設置Snapsynapse:逐步指南
    • 步驟1:克隆存儲庫
    • 步驟2:設置虛擬環境
    • 步驟3:激活虛擬環境
    • 步驟4:安裝所需的依賴項
    • 步驟5:設置環境變量
    • 步驟6:運行應用程序
  • 關於開發Snapsynapse的工具的摘要
  • 結論
    • 關鍵要點
  • 常見問題

什麼是Snapsynaps?

Snapsynapse是將客戶支持呼叫變成寶貴見解的方便工具。它打破了演講者的對話,轉錄所有內容,並突出了整體的情緒和關鍵點,因此團隊可以快速了解客戶的需求。使用Pyannote諸如診斷的模型,用於轉錄的竊竊私語以及Gemini進行摘要,Snapsynapse,snapsynapse提供明確的摘要和情感趨勢。它旨在幫助支持團隊與客戶更好地聯繫並改善服務,一次進行一次對話。

關鍵功能

以下是Snapsynapse的重要關鍵特徵:

  • 揚聲器診斷/識別
  • 對話成績單生成
  • 時間郵票生成對話明智
  • 用例基摘要生成
  • 情感分析分數
  • 通過可視化分析

建築Snapsynapse:核心功能和功能

在本節中,我們將探討使Snapsynapse成為客戶支持分析的強大工具的核心功能。從自動診斷和轉錄電話到生成動態對話摘要,這些功能旨在提高支持團隊效率。 Snapsynapse具有檢測情感趨勢並提供可行的見解的能力,簡化了了解客戶互動的過程。

如果您想查看整個源代碼,請參閱repo中的thefiles:repo_link

我們需要打開AI API和Gemini API來運行此項目。您可以在這裡獲得API - Gemini API,OpenAI API

項目流:

揚聲器診斷 - >轉錄 - >時間戳 - >清潔 - >摘要 - >情感分析

步驟1:揚聲器診斷和轉錄生成

在第一步中,我們將使用一個腳本來獲取音頻文件,將揚聲器分開(診斷),生成轉錄並分配時間戳。腳本的工作方式是,包括代碼和密鑰函數的故障:

腳本概述

這個Python腳本一口氣執行三個主要任務:

  • 揚聲器診斷:在音頻文件中標識不同的揚聲器並將其對話分開。
  • 轉錄:將每個說話者分開的音頻段轉換為文本。
  • 時間戳:為每個口語段添加時間戳。

導入和設置

  • 首先,我們將諸如pyannote.audio等必要的庫進行診斷, openai進行轉錄和pydub來處理音頻段。
  • 環境變量使用DOTENV加載,因此我們可以安全地存儲OpenAI API密鑰。

主要功能:帶時間戳的診斷轉錄

核心函數Transcribe_with_diarization()結合了所有步驟:

  • 診斷:調用perform_diarization()獲取揚聲器段。
  • 細分提取:使用PYDUB根據每個段的開始和結束時間將音頻文件切成塊。
  • 轉錄:對於每個塊,它通過OpenAI的API調用Whisper模型,以獲取文本轉錄。
  • 時間戳和揚聲器信息:每個轉錄都以相應的開始時間,結束時間和揚聲器標籤保存。
 def tresscribe_with_diarization(file_path):
    diarization_result = persim_diarization(file_path)
    音頻= audiosegend.from_file(file_path)
    轉錄= []

    對於段,_,diarization_result.itertracks中的揚聲器(fard_label = true):
        start_time_ms = int(segment.start * 1000)
        end_time_ms = int(segment.end * 1000)
        塊=音頻[start_time_ms:end_time_ms]
        
        chunk_filename = f“ {sezyer} _sement_ {int(segment.start)}。wav”
        chunk.export(chunk_filename,格式=“ wav”)

        用audio_file開放(chunk_filename,“ rb”):
            轉錄= client.audio.transcript。
                型號=“ hisper-1”,
                file = audio_file,
                response_format =“ json”
            )
            encrpriptions.append({{
                “發言人”:發言人,
                “ start_time”:segment.start,
                “ end_time”:segment.end,
                “轉錄”:轉錄
            }))
        打印({chunk_filename}的{speaker}完成的轉錄。”)
登入後複製

保存輸出

  • 最終的抄錄以及揚聲器標籤和時間戳將保存到診斷為診斷中,創建了對話的結構化記錄。
  • 最後,我們在測試音頻文件test_audio_1.wav上運行該函數,以查看在作用中的完整診斷和轉錄過程。

瞥見生成的輸出並保存在diarized_transcription.py文件中:

Snapsynapse使客戶呼叫分析變得容易

步驟2:清潔生成的轉錄

  • 該文件著重於清潔診斷和轉錄過程產生的轉錄。
  • 它從JSON文件中加載了診斷的轉錄,並刪除了諸如“ UM”,“ UH”和“您知道”之類的常見填充單詞以提高可讀性。
  • 此外,它消除了額外的白色空間並將文本歸一化,以使轉錄更簡潔和拋光。
  • 清潔後,系統將新的轉錄保存在名為cleaned_transcription.py的JSON文件中,以確保數據準備好進行進一步分析或洞察力生成。
 #清潔轉錄文本的功能
def clean_transcription(文本):
    #常見填充單詞列表
    filler_words = [
        “ um”,“ uh”,“喜歡”,“你知道”,“實際上”,“基本上”,“我的意思”,
        “有點”,“”,“右”,“好”,“ so”,“好”,“ Just”
    這是給出的
    
    #匹配填充單詞(案例不敏感)的正則格式模式
    filler_pattern = re.compile(r'\ b('|'.join(filler_words)r')\ b',re.ignorecase)
    
    #刪除填充單詞
    cleaned_text = filler_pattern.sub('',text)
    
    #刪除額外的空格
    cleaned_text = re.sub(r'\ s','',cleaned_text).strip()

    返回cleaned_text
登入後複製

步驟3:使用Gemini 1.5 Pro生成摘要

在下一步中,我們使用Gemini API根據清潔的轉錄生成結構化的見解和摘要。我們利用Gemini 1.5 Pro模型進行自然語言處理來分析客戶支持呼叫並提供可行的摘要。

這是功能的細分:

  • 模型設置: Gemini模型是使用Google.generativeai庫配置的,並牢固地加載了API密鑰。它支持基於不同提示格式的生成見解。
  • 提示進行分析:幾個預定義的提示旨在分析支持呼叫的各個方面,例如一般呼叫摘要,說話者交流,投訴和決議,升級需求以及技術問題故障排除。
  • 生成結構化內容:函數生成_analysis()採用清潔的轉錄文本,並使用預定義的提示之一對其進行處理。它將輸出分為三個部分:摘要,操作項目和關鍵字。
  • 用戶互動:腳本允許用戶從多種摘要格式中進行選擇。用戶的選擇確定使用哪個提示來生成轉錄中的見解。
  • 輸出生成:處理轉錄後,將結果的見解(將其組織成結構化的JSON格式)保存到文件中。該結構化數據使支持團隊更容易從呼叫中提取有意義的信息。

簡短了解所使用的不同提示:

Snapsynapse使客戶呼叫分析變得容易

一瞥生成的輸出:

Snapsynapse使客戶呼叫分析變得容易

步驟4:情感分析

此外,在下一步中,我們對客戶支持呼叫轉錄進行情感分析,以評估整個對話中的情感語氣。它使用來自NLTK的Vader情感分析工具來確定對話每個段的情感分數。

這是該過程的細分:

  • 使用Vader的情感分析:該腳本使用Vader( Valence Aware Away詞典和情感推理)詞典的serniveStsentyAnalyzer 。它為每個細分市場分配了情感分數,其中包括表示整體情感(正,中性或負)的複合分數。
  • 處理轉錄:清潔轉錄是從JSON文件加載的。評估轉錄中的每個條目的情感,並將結果存儲在揚聲器標籤和相應的情感分數中。腳本計算總情感評分,客戶和支持代理人的平均情感,並將整體情感分類為正,中性或負面。
  • 情感趨勢可視化:使用matplotlib,該腳本生成了一個線圖,顯示了隨著時間的流逝的情感趨勢,x軸代表對話段和y軸顯示情感分數。
  • 輸出:系統將情感分析結果(包括分數和整體情感)保存到JSON文件中,以便以後容易訪問和分析。它可以看到情節中的情感趨勢,以提供支持呼叫期間情感動態的概述。

用於計算整體情感分數的代碼

#計算整體情感得分
    總_sentiment_score = total_compound / len(sentiment_results)

    #計算客戶和代理商的平均情感
    平均_customer_sentiment = customer_sentiment / customer_count如果custerut_count else 0 0
    平均_agent_sentiment = agent_sentiment / agent_count如果agent_count else 0 0

    #確定整體情緒為正,中性或負面
    如果總_sentiment_score> 0.05:
        總體_sentiment =“正”
    elif usital_sentiment_score <h4>用於生成圖的代碼</h4><pre class="brush:php;toolbar:false">def plot_sentiment_trend(sentiment_results):
    #提取繪圖的補充情感分數
    compound_scores = [entriment'] ['compound']用於sentiment_results中的輸入]

    #創建一個單線圖顯示情感趨勢
    plt.figure(無花果=(12,6))
    plt.plot(compound_scores,color ='purple',linestyle =' - ',標記='o',markersize = 5,label =“情感趨勢”)
    plt.axhline(0,color ='灰色',linestyle =' - ')#為中性情緒添加零行
    plt.title(“客戶支持對話的情感趨勢”,fontsize = 16,fontWeight ='Bold',color =“ darkblue”)
    plt.xlabel(“段索引”)
    plt.ylabel(“複合情緒得分”)
    plt.grid(true,linestyle =' - ',alpha = 0.5)
    plt.legend()
    plt.show()
登入後複製

情感分析得分生成:

Snapsynapse使客戶呼叫分析變得容易

產生的情感分析圖:

Snapsynapse使客戶呼叫分析變得容易

設置Snapsynapse:逐步指南

您可以在此處找到代碼存儲庫 - repo_link

現在,讓我們瀏覽如何在本地機器上設置並運行Snapsynapse:

步驟1:克隆存儲庫

首先將項目存儲庫克隆到您的本地計算機,以開始使用Snapsynapse。這提供了對應用程序源代碼及其所有基本組件的訪問。

 git克隆https://github.com/keerthanareddy95/snapsynapse.git
CD Snapsynapse
登入後複製

步驟2:設置虛擬環境

虛擬環境有助於隔離依賴性並確保您的項目順利運行。此步驟為Snapsynapse設置了一個獨立的工作區,可以在沒有其他軟件包乾擾的情況下操作。

 #對於Windows:
Python -M Venv Venv

#對於MacOS和Linux:
Python3 -M Venv Venv
登入後複製

步驟3:激活虛擬環境

#對於Windows:
。\ venv \ scripts \ activate

#對於MacOS和Linux:
來源VENV/bin/activate
登入後複製

步驟4:安裝所需的依賴項

有了虛擬環境,下一步是安裝所有必要的庫和工具。這些依賴性使Snapsynapse的核心功能包括轉錄本的產生,說話者診斷,時間郵票的產生,摘要生成,情感分析分數,可視化等。

 pip install -r要求.txt
登入後複製

步驟5:設置環境變量

為了利用AI驅動的見解,診斷,轉錄和摘要,您需要為Google Gemini配置API鍵,並打開AI Whisper。

在項目的根部創建.ENV文件,並為Google Gemini添加您的API鍵,然後打開AI Whisper。

 Google_api_key =“ your_google_api_key”
openai_api_key =“ your_open_ai_api_key”
登入後複製

步驟6:運行應用程序

  • 首先運行轉錄文件:py文件:此文件執行轉錄生成,揚聲器診斷和時間戳記的生成。它將輸出保存在名為diarized_transcript.json的JSON文件中。
  • 接下來,運行calling.py文件:此文件將將diarized_transcript.py文件作為輸入並清潔轉錄並將結果保存在cleaned_transcription.json文件中。
  • 此外,運行summary.py文件:在這裡您需要提及雙子API密鑰。該文件將將CleanEd_transcription.py文件作為輸入,並提示用戶輸入他們希望根據用例生成的摘要樣式。基於用戶輸入,系統將相應的提示傳遞給雙子座,該提示會生成摘要。然後,該系統將生成的摘要存儲在名為Summary_output.json的JSON文件中。
  • 最後,運行sentiment_analysis.py文件:運行此文件將生成整體情感分數,也將生成情感分析分數的圖形表示以及它們如何通過音頻文件進行。

關於開發Snapsynapse的工具的摘要

現在讓我們查看以下用於Snapsynapse的開發工具:

  • pyannote.audio:提供用於執行揚聲器診斷的管道模塊,該模塊將音頻文件中的不同揚聲器分開。
  • Openai:用於與Openai的API互動,以通過耳語模型轉錄。
  • PYDUB(AuciieSement):處理音頻文件,允許揚聲器分割和導出音頻塊。
  • Google.generativeai:訪問Google Gemini模型的庫,此處用於生成來自客戶支持轉錄的結構化摘要和見解。
  • NLTK(自然語言工具包):用於自然語言處理的庫,在此專門用於從Vader導入sentimentStrentyAnalyzer,以分析音頻文件中的情感。
  • Matplotlib:通常與PLT一起使用的可視化庫,此處包含在整個音頻文件中可視化情感。

結論

簡而言之,Snapsynapse通過將原始的呼叫記錄轉換為可行的見解,從而徹底改變了客戶支持分析。從說話者的診斷和轉錄到產生結構化的摘要和情感分析,Snapsynapse簡化了每一步,以全面了解客戶互動。借助Gemini模型量身定制的提示和詳細的情感跟踪的力量,用戶可以輕鬆獲得摘要和趨勢,以突出關鍵的見解和支持結果。

對Google Gemini,Pyannote Audio和Whisper的大喊大叫,可以通過其創新工具為該項目供電!

您可以在此處查看回購。

關鍵要點

  • Snapsynapse使用戶能夠從診斷和抄錄到生成摘要進行端到端處理客戶支持電話。
  • 有了五個不同的及時選擇,用戶可以根據特定需求定制摘要,無論是關注問題,行動項目還是技術支持。此功能可幫助學習者探索迅速的工程,並嘗試不同的輸入如何影響AI生成的輸出。
  • Snapsynapse在整個對話中都追踪了情感趨勢,從而提供了視覺表現,可以幫助用戶更好地了解客戶滿意度。對於學習者來說,這是應用NLP技術並學習如何在現實世界應用中解釋情感數據的機會。
  • Snapsynaps自動化轉錄清理和分析,使客戶支持洞察力易於訪問,以獲得更快,數據驅動的決策。學習者從了解自動化如何簡化數據處理,使他們可以專注於高級見解而不是重複的任務中受益。

常見問題

Q1。 Snapsynapse可以分析哪些類型的數據?

答:Snapsynapse可以處理格式MP3和WAV的音頻文件。

Q2。 Snapsynapse如何處理轉錄精度和清理?

答:Snapsynapse使用耳語進行轉錄,然後進行清理過程,以消除填充單詞,暫停和無關緊要的內容。

Q3。我可以自定義呼叫分析的摘要格式嗎?

答:是的! Snapsynapse提供了五個不同的及時選擇,使您可以選擇滿足您需求的摘要格式。這些包括焦點領域,例如行動項目,升級需求和技術問題。

Q4。情感分析提供了哪些見解,如何顯示?

答:Snapsynapse的情感分析評估了對話的情感基調,提供了情感分數和趨勢圖。

Q5。什麼是客戶調用分析,如何使企業受益?

A.客戶呼叫分析使用AI驅動的工具來轉錄,分析和從客戶互動中提取有價值的見解,幫助企業改善服務,確定趨勢並提高客戶滿意度。

Q6。客戶調用分析如何提高客戶支持質量?

答:通過客戶通話分析,企業可以更深入地了解客戶情緒,常見問題和代理績效,從而導致更明智的決策和改進的客戶服務策略。

本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。

以上是Snapsynapse使客戶呼叫分析變得容易的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板