ホームページ > テクノロジー周辺機器 > AI > カスタマーコール分析は、Snapsynapseで簡単になりました

カスタマーコール分析は、Snapsynapseで簡単になりました

Jennifer Aniston
リリース: 2025-03-19 11:17:15
オリジナル
762 人が閲覧しました

カスタマーサポートコールは豊富な情報を保持していますが、洞察のためにこれらの録音を手動でじっと合わせる時間を見つけることは容易ではありません。これらの長い録音を即座に明確な要約に変え、センチメントがコール全体でどのようにシフトするかを追跡し、会話の分析方法に基づいてテーラードの洞察を得ることができると想像してください。便利に聞こえますか?

この記事では、Snapsynapseを構築した実用的なツールを作成します(ここをクリックしてください)、まさにそれを行います!スピーカーダイアリゼーション(識別)、転写のささやき、およびAI駆動型の要約を生成するためのGemini-1.5 ProなどのPyannote.Audioなどのツールを使用して、サポートコールの録音を実行可能な洞察に自動化する方法を示します。途中で、転写をクリーニングおよび改良する方法を確認し、ユーザー入力に基づいてカスタムサマリを生成し、センチメントの傾向を追跡する方法を確認します。これは、転写を超えてカスタマーサポートエクスペリエンスを理解および改善するのに役立つツールを構築するための実践的なガイドです。

学習目標

  • スピーカーダイアリゼーションにpyannote.audioの使用方法を理解し、カスタマーサポートの記録でさまざまな声を分離します。
  • ささやきを使用してオーディオファイルから正確な転写を生成することを学び、フィラーワードと無関係なテキストを削除してクリーニングします。
  • さまざまな分析ニーズに合わせてカスタマイズ可能なプロンプトを使用して、Gemini-1.5 Proを使用してテーラードサマリを作成する方法を発見してください。
  • 会話について感情分析を実行するためのテクニックを探索し、呼び出し全体で感情の傾向を視覚化します。
  • オーディオデータを構造化された洞察に処理する自動化されたパイプラインを構築する実践的なエクスペリエンスを獲得し、カスタマーサポートのやり取りを容易にし、改善します。

この記事は、データサイエンスブログソンの一部として公開されました

目次

  • 学習目標
  • Snapsynapseとは何ですか?
    • 重要な機能
  • Snapsynapseの構築:コア機能と機能
    • Step1:スピーカーの日中化と転写生成
    • ステップ2:生成された転写のクリーニング
    • ステップ3:Gemini 1.5 Proを使用した要約を生成します
    • ステップ4:感情分析
  • Snapsynapseのセットアップ:ステップバイステップガイド
    • ステップ1:リポジトリをクローンします
    • ステップ2:仮想環境をセットアップします
    • ステップ3:仮想環境をアクティブにします
    • ステップ4:必要な依存関係をインストールします
    • ステップ5:環境変数を設定します
    • ステップ6:アプリケーションを実行します
  • Snapsynapseの開発で使用されるツールの概要
  • 結論
    • キーテイクアウト
  • よくある質問

Snapsynapseとは何ですか?

Snapsynapseは、カスタマーサポートコールを貴重な洞察に変えるための便利なツールです。スピーカーによる会話を分解し、すべてを転写し、全体的なムードとキーポイントを強調するため、チームは顧客が必要なものを迅速に理解できます。ディートアリゼーションのようなモデル、転写のためにささやき、概要のためにジェミニを使用すると、Snapsynapseは容赦なく明確な要約と感情の傾向を提供します。チームが顧客とより良く接続し、サービスを改善するのをサポートするのを支援するように設計されています。

重要な機能

以下は、Snapsynapseの重要な重要な機能です。

  • スピーカーの日記/識別
  • 会話トランスクリプト生成
  • タイムスタンプの生成対話は賢明です
  • ユースケースベースの要約生成
  • センチメント分析スコア
  • 視覚化による感情分析

Snapsynapseの構築:コア機能と機能

このセクションでは、Snapsynapseをカスタマーサポート分析のための強力なツールにするコア機能を調査します。自動的にダイアリングおよび転写コールから動的な会話の概要を生成するまで、これらの機能はサポートチームの効率を高めるために構築されています。センチメントの傾向を検出し、実用的な洞察を提供する能力により、Snapsynapseは顧客の相互作用を理解するプロセスを簡素化します。

場合に備えて、ソースコード全体をチェックアウトする場合は、レポのファイルを参照してください:repo_link

このプロジェクトを実行するには、Open AI APIとGemini APIが必要です。ここでAPIを入手できます - gemini api、openai api

プロジェクトフロー:

スピーカーダイアリゼーション - >転写 - >タイムスタンプ - >クリーニング - >要約 - >センチメント分析

Step1:スピーカーの日中化と転写生成

最初のステップでは、単一のスクリプトを使用してオーディオファイルを使用し、スピーカー(ダイアリゼーション)を分離し、転写を生成し、タイムスタンプを割り当てます。コードとキー関数の内訳を含む、スクリプトの仕組みは次のとおりです。

スクリプトの概要

このPythonスクリプトは、一度に3つの主要なタスクを実行します。

  • スピーカーダイアリゼーション:オーディオファイル内の異なるスピーカーを識別し、対話を分離します。
  • 転写:各スピーカーの分離されたオーディオセグメントをテキストに変換します。
  • タイムスタンプ:音声セグメントごとにタイムスタンプを追加します。

インポートとセットアップ

  • スピーカーダイアリゼーションのためにpyannote.audioなどの必要なライブラリをインポートすること、転写用のOpenai 、および音声セグメントを処理するためにPydubをインポートすることから始めます。
  • 環境変数はdotenvを使用してロードされるため、OpenAI APIキーを安全に保存できます。

主な機能:タイムスタンプによるダイアリゼーション転写

コア関数であるtranscribe_with_diarization()は、すべての手順を組み合わせます。

  • ダイアリゼーション: SPEAR_DIARIZATION()を呼び出して、スピーカーセグメントを取得します。
  • セグメント抽出: Pydubを使用して、各セグメントの開始時間と終了時間に基づいてオーディオファイルをチャンクにカットします。
  • 転写:各チャンクについて、 OpenaiのAPIを介してささやきモデルを呼び出してテキストの転写を取得します。
  • タイムスタンプとスピーカー情報:各転写は、対応する開始時間、終了時間、スピーカーラベルで保存されます。
 def transcribe_with_diarization(file_path):
    diarization_result = perform_diarization(file_path)
    audio = audiosegment.from_file(file_path)
    transcriptions = []

    セグメントの場合、_、diarization_result.itertracksのスピーカー(heard_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")

        open(chunk_filename、 "rb")をaudio_fileとして:
            transcription = client.audio.transcriptions.create(
                Model = "Whisper-1"、
                file = audio_file、
                Response_Format = "JSON"
            ))
            transcriptions.append({
                「スピーカー」:スピーカー、
                「start_time」:segment.start、
                「end_time」:segment.end、
                「転写」:Transcription.Text
            })
        印刷(f "{chunk_filename}の{speaker} explectionのための転写。")
ログイン後にコピー

出力を保存します

  • スピーカーラベルとタイムスタンプとともに、最終的な転写は、 Diarized_transcriptions.jsonに保存され、会話の構造化されたレコードを作成します。
  • 最後に、テストオーディオファイルであるtest_audio_1.wavで関数を実行して、完全なダイアリゼーションと転写プロセスが動作していることを確認します。

生成された出力を垣間見ると、diarized_transcription.pyファイルで保存されました:

カスタマーコール分析は、Snapsynapseで簡単になりました

ステップ2:生成された転写のクリーニング

  • このファイルは、ダイアリゼーションと転写プロセスから生成された転写のクリーニングに焦点を当てています。
  • JSONファイルからの日中の転写をロードし、読みやすさを向上させるために「um」、「uh」、「You Know」などの一般的なフィラー単語を削除します。
  • さらに、余分な白いスペースを排除し、テキストを正規化して、転写をより簡潔に磨きます。
  • クリーニング後、システムはCleaned_transcription.pyという名前のJSONファイルに新しい転写を保存し、データがさらなる分析または洞察の生成の準備が整うようにします。
 #転写テキストをクリーニングする機能
def clean_transcription(テキスト):
    #一般的なフィラーワードのリスト
    filler_words = [
        "um"、 "uh"、 "like"、 "you kund"、 "altheal"、 "基本的には"、 "私は意味する"、
        「並べ替え」、「一種」、「右」、「大丈夫」、「so」、「well」、 "just"
    ]
    
    #フィラーワードを一致させるregexパターン(ケース非感受性)
    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キーが安全にロードされています。さまざまなプロンプト形式に基づいて洞察の生成をサポートします。
  • 分析のプロンプト:いくつかの事前定義されたプロンプトは、一般的なコールの概要、スピーカー交換、苦情と決議、エスカレーションのニーズ、技術的な問題のトラブルシューティングなど、サポートコールのさまざまな側面を分析するために設計されています。
  • 構造化されたコンテンツの生成:関数Generate_analysis()は、クリーニングされた転写テキストを取得し、事前定義されたプロンプトの1つを使用して処理します。概要、アクションアイテム、キーワードの3つのセクションに出力を整理します。
  • ユーザーインタラクション:スクリプトを使用すると、ユーザーは複数の要約形式から選択できます。ユーザーの選択は、転写から洞察を生成するために使用されるプロンプトを決定します。
  • 出力生成:転写を処理した後、結果の洞察は、構造化されたJSON形式に組織されています - はファイルに保存されます。この構造化されたデータにより、サポートチームはコールから意味のある情報を抽出しやすくなります。

使用されているさまざまなプロンプトを少し垣間見る:

カスタマーコール分析は、Snapsynapseで簡単になりました

生成された出力を垣間見る:

カスタマーコール分析は、Snapsynapseで簡単になりました

ステップ4:感情分析

さらに、次のステップでは、カスタマーサポートコールの転写に関するセンチメント分析を実行して、会話全体を通して感情的なトーンを評価します。 NLTKのベイダーセンチメント分析ツールを使用して、会話の各セグメントのセンチメントスコアを決定します。

プロセスの内訳は次のとおりです。

  • Vaderを使用したセンチメント分析:スクリプトは、Vader( Valence Aware DictionaryおよびSentiment Reaser )LexiconのSentimententencedencedenceanalyzerを使用します。各セグメントにセンチメントスコアを割り当てます。これには、全体的な感情を示す複合スコアが含まれます(ポジティブ、ニュートラル、またはネガティブ)。
  • 転写の処理:クリーニングされた転写はJSONファイルからロードされます。転写の各エントリは感情のために評価され、結果はスピーカーラベルと対応する感情スコアで保存されます。スクリプトは、総感情スコア、顧客とサポートエージェントの平均感情を計算し、全体的な感情をポジティブ、ニュートラル、またはネガティブとして分類します。
  • センチメントトレンドの視覚化:MATPLOTLIBを使用すると、スクリプトは、X軸が会話セグメントを表し、感情スコアを示すY軸を表すX軸が時間の経過に伴う感情の傾向を示すラインプロットを生成します。
  • 出力:システムは、スコアや全体的な感情を含む感情分析結果をJSONファイルに保存し、後で簡単にアクセスして分析します。それは、サポートコール中に感情的なダイナミクスの概要を提供するために、プロットの感情の傾向を視覚化します。

全体的な感情スコアの計算に使用されるコード

#全体的な感情スコアを計算します
    総合_sentiment_score= total_compound / len(sentiment_results)

    #顧客とエージェントの平均感情を計算します
    verage_customer_sentiment = customer_sentiment / customer_count if customer_count else 0
    Average_agent_sentiment = agent_sentiment / agent_count if agent_count else 0

    #全体的な感情を肯定的、中立的、または否定的であると判断する
    alloveral_sentiment_score> 0.05の場合:
        allover_sentiment = "positive"
    elif allover_sentiment_score <h4>プロットの生成に使用されるコード</h4><pre class="brush:php;toolbar:false">def plot_sentiment_trend(sentiment_results):
    #プロットの複合感情スコアを抽出します
    compemate_scores = [entry ['sentiment'] ['commpite'] inentiment_resultsのエントリのための]

    #感情の傾向を示す単一の線プロットを作成します
    plt.figure(figsize =(12、6))
    plt.plot(commby_scores、color = 'purple'、linestyle = ' - '  - 、marker = 'o'、markersize = 5、label = "sentiment trend")
    plt.axhline(0、color = 'gray'、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のセットアップ:ステップバイステップガイド

Code Repositoryは、 repo_linkで見つけることができます

それでは、地元のマシンでSnapsynapseをセットアップして実行する方法を説明しましょう。

ステップ1:リポジトリをクローンします

プロジェクトリポジトリをローカルマシンにクローニングすることから始めて、Snapsynapseの使用を開始します。これにより、アプリケーションのソースコードとそのすべての重要なコンポーネントへのアクセスが提供されます。

 git clone 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:必要な依存関係をインストールします

仮想環境が整っていると、次のステップは、必要なすべてのライブラリとツールをインストールすることです。これらの依存関係により、転写産物の生成、スピーカーのダイアリゼーション、タイムスタンプの生成、概要生成、センチメント分析スコア、視覚化など、スナップシナプスのコア機能が可能になります。

 PIPインストール-R要件。txt
ログイン後にコピー

ステップ5:環境変数を設定します

AI駆動型の洞察、ダイアリゼーション、転写、要約を活用すると、Google GeminiとOpen AI Whisper用のAPIキーを構成する必要があります。

プロジェクトのルートに.ENVファイルを作成し、Google GeminiとOpen AI WhisperにAPIキーを追加します。

 google_api_key = "your_google_api_key"
openai_api_key = "your_open_ai_api_key"
ログイン後にコピー

ステップ6:アプリケーションを実行します

  • transcription.pyファイルを実行することから始めます。このファイルは、転写生成、スピーカーのダイアリゼーション、タイムスタンプの生成を実行します。また、diarized_transcriptions.jsonという名前のJSONファイルに出力を保存します。
  • 次に、cleaning.pyファイルを実行します。このファイルは、 diarized_transcriptions.pyファイルを入力として使用し、転写をクリーニングし、結果をcleaned_transcription.jsonファイルに保存します。
  • さらに、summary.pyファイルを実行します。ここでは、 Gemini APIキーについて言及する必要があります。このファイルは、 cleaned_transcription.pyファイルを入力として取得し、ユーザーにユースケースに基づいて生成したい要約のスタイルを入力するように求めます。ユーザーの入力に基づいて、システムは、概要を生成するGeminiに対応するプロンプトを渡します。システムは、summary_output.jsonという名前のJSONファイルに生成された概要を保存します。
  • 最後に、sentiment_analysis.pyファイルを実行します。このファイルを実行すると、全体的なセンチメントスコアと、センチメント分析スコアのグラフィカルな表現と、それらがオーディオファイルを介してどのように進行したかが生成されます。

Snapsynapseの開発で使用されるツールの概要

以下のSnapsynapseのために開発で使用されるツールを見てみましょう。

  • pyannote.audio:スピーカーダイアリゼーションを実行するためのパイプラインモジュールを提供します。これにより、オーディオファイルの異なるスピーカーを分離します。
  • Openai:Whisperモデルを介して転写のためにOpenaiのAPIと対話するために使用されます。
  • Pydub(Audiosegment):オーディオファイルを処理し、スピーカーによるオーディオチャンクのセグメンテーションとエクスポートを可能にします。
  • Google.generativeai:ここでは、カスタマーサポートの転写から構造化された概要と洞察を生成するためにここで使用されるライブラリ。
  • NLTK(Natural Language Toolkit):自然言語処理用のライブラリ。ここでは、Audioファイルのセンチメントを分析するために、Vaderからセンチメントレンシーアナリザーをインポートするために特別に使用されます。
  • MATPLOTLIB:PLTでよく使用される視覚化ライブラリは、オーディオファイル全体の感情の視覚化のためにここに含まれています。

結論

一言で言えば、Snapsynapseは、生のコール録音を実行可能な洞察に変換することにより、カスタマーサポート分析に革命をもたらします。スピーカーのダイアリゼーションと転写から構造化された概要と感情分析の生成まで、Snapsynapseはあらゆるステップを合理化して、顧客のやり取りの包括的なビューを提供します。 Gemini Modelのカスタマイズされたプロンプトと詳細なセンチメント追跡の力により、ユーザーは重要な洞察を強調し、結果をサポートする概要とトレンドを簡単に取得できます。

Google Gemini、Pyannote Audio、Whisperへの大声で、このプロジェクトを革新的なツールで動かしてくれました!

こちらのレポをご覧ください。

キーテイクアウト

  • SnapSynapseを使用すると、ユーザーは、概要と転写から生成の概要まで、カスタマーサポートコールをエンドツーエンドで処理できます。
  • 5つの異なる迅速な選択により、ユーザーは、問題、アクションアイテム、技術サポートに焦点を当てるかどうかにかかわらず、特定のニーズに合わせて要約を調整できます。この機能は、学習者が迅速なエンジニアリングを探索し、異なる入力がAIの生成出力にどのように影響するかを実験するのに役立ちます。
  • Snapsynapseは、会話全体で感情の傾向を追跡し、ユーザーが顧客満足度をよりよく理解するのに役立つトーンシフトの視覚的な表現を提供します。学習者にとって、NLPテクニックを適用し、実際のアプリケーションでセンチメントデータを解釈する方法を学ぶチャンスです。
  • Snapsynapseは、転写のクリーンアップと分析を自動化し、カスタマーサポートの洞察を、より速くデータ駆動型の決定に簡単にアクセスできます。学習者は、自動化がデータ処理をどのように合理化できるかを見ることで利益を得て、繰り返しタスクではなく高度な洞察に集中できるようにします。

よくある質問

Q1。どのような種類のデータがSnapsynapseを分析できますか?

A. Snapsynapseは、形式の音声ファイルをMP3とWAVを処理できます。

Q2。 Snapsynapseは、転写の精度とクリーンアップをどのように処理しますか?

A. Snapsynapseは転写にささやきを使用し、その後、フィラーワード、一時停止、および無関係なコンテンツを削除するクリーンアッププロセスが続きます。

Q3。コール分析の概要形式をカスタマイズできますか?

A.はい! Snapsynapseは5つの異なる迅速なオプションを提供し、ニーズに合わせた概要形式を選択できます。これらには、アクションアイテム、エスカレーションのニーズ、技術的な問題などのフォーカス領域が含まれます。

Q4。センチメント分析はどのような洞察を提供し、どのように表示されますか?

A. Snapsynapseの感情分析は、会話の感情的なトーンを評価し、感情スコアとトレンドグラフを提供します。

Q5。カスタマーコール分析とは何ですか?また、どのようにビジネスに利益をもたらすことができますか?

A.カスタマーコール分析では、AIを搭載したツールを使用して、顧客のやり取りから貴重な洞察を転写、分析、抽出し、企業がサービスを改善し、傾向を特定し、顧客満足度を高めるのに役立ちます。

Q6。カスタマーコール分析は、カスタマーサポートの品質をどのように改善できますか?

A.顧客コール分析により、企業は顧客の感情、一般的な問題、エージェントのパフォーマンスをより深く理解し、より多くの情報に基づいた意思決定と顧客サービス戦略の改善につながります。

この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。

以上がカスタマーコール分析は、Snapsynapseで簡単になりましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート