首页 > 科技周边 > 人工智能 > Snapsynapse使客户呼叫分析变得容易

Snapsynapse使客户呼叫分析变得容易

Jennifer Aniston
发布: 2025-03-19 11:17:15
原创
760 人浏览过

客户支持呼叫拥有大量信息,但是找时间手动梳理这些录音以获取见解并不容易。想象一下,如果您可以立即将这些长录音变成清晰的摘要,请跟踪情感在整个通话过程中的变化,甚至根据您想要分析对话的方式而获得量身定制的见解。听起来有用吗?

在本文中,我们将浏览创建一个实用的工具,我构建了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
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板