多くの AWS お客さま 正常に使用されています Amazon Transcribe 顧客の音声会話を正確、効率的、かつ自動的にテキストに変換し、そこから実用的な洞察を抽出します。 これらの洞察は、顧客の品質とエクスペリエンスを直接改善するプロセスと製品を継続的に強化するのに役立ちます。
インドなど多くの国では、英語はコミュニケーションの第一言語ではありません。 インドの顧客との会話には、ヒンディー語などの地域の言語が含まれており、通話中に英語の単語やフレーズがランダムに話されています。 ソースメディアファイルには、デフォルトの Amazon Transcribe モデルが認識しない固有名詞、ドメイン固有の頭字語、単語、またはフレーズが含まれている可能性があります。 このようなメディア ファイルの文字起こしでは、これらの単語のスペルが不正確になる場合があります。
この投稿では、Amazon Transcribe により多くの情報を提供する方法を示します。 カスタム語彙 ビジネス固有の用語を使用して、Amazon Transcribe が音声ファイルの文字起こしを処理する方法を更新します。 Hinglish 通話 (インド英語の単語とフレーズを含むインド ヒンディー語通話) の文字起こしの精度を向上させる手順を示します。 同じプロセスを使用して、音声通話を文字起こしできます。 対応言語 Amazon Transcribe による。 カスタム ボキャブラリーを作成したら、我々 の 通話後の分析 これについては、この記事の後半で詳しく説明します。
ソリューションの概要
次のインド ヒンディー語音声通話を使用します (SampleAudio.wav
) プロセスを示すためにランダムな英単語を使用します。
次に、次の大まかな手順について説明します。
- デフォルトの Amazon Transcribe Hindi モデルを使用して音声ファイルを書き起こします。
- モデルの精度を測定します。
- カスタム語彙でモデルをトレーニングします。
- トレーニング済みモデルの精度を測定します。
前提条件
始める前に、入力オーディオ ファイルが要件を満たしていることを確認する必要があります。 データ入力要件の転記.
A モノフォニック レコーディングとも呼ばれる モノには、エージェントと顧客のすべての音声要素が XNUMX つのチャネルに結合された XNUMX つの音声信号が含まれています。 あ 立体音響 レコーディングとも呼ばれる ステレオには、エージェントと顧客の音声要素を XNUMX つの別々のチャネルでキャプチャするための XNUMX つの音声信号が含まれています。 各エージェントと顧客の録音ファイルには、エージェント用と顧客用の XNUMX つのオーディオ チャネルが含まれています。
電話録音などの忠実度の低いオーディオ録音では、通常、8,000 Hz のサンプル レートが使用されます。 Amazon Transcribe は、16,000 ~ 48,000 Hz のサンプルレートで、モノラル録音ファイルとハイファイオーディオファイルの処理をサポートしています。
トランスクリプションの結果を改善し、エージェントと顧客が話した言葉を明確に区別するために、8,000 Hz のサンプル レートで録音され、ステレオ チャンネルが分離されたオーディオ ファイルを使用することをお勧めします。
のようなツールを使うことができます ffmpeg コマンドラインから入力オーディオファイルを検証するには:
返された応答で、Input セクションの Stream で始まる行を確認し、オーディオ ファイルが 8,000 Hz で、ステレオ チャネルが分離されていることを確認します。
多数のオーディオ ファイルを処理するパイプラインを構築する場合、この手順を自動化して、要件を満たさないファイルをフィルター処理できます。
追加の前提条件ステップとして、文字起こしする音声ファイルをホストする Amazon Simple Storage Service (Amazon S3) バケットを作成します。 手順については、を参照してください。 最初の S3 バケットを作成する次に。 オーディオファイルをアップロードする S3 バケットに。
デフォルトのモデルで音声ファイルを書き起こす
今、できる Amazon Transcribe を開始する アップロードした音声ファイルを使用して分析ジョブを呼び出します。この例では、 AWSマネジメントコンソール を使用して音声ファイルを書き起こします。 AWSコマンドラインインターフェイス (AWS CLI) または AWS SDK。
- Amazon Transcribe コンソールで、選択します コール分析 ナビゲーションペインに表示されます。
- 選択する 通話分析ジョブ.
- 選択する ジョブを作成.
- 名前 、名前を入力します。
- 言語設定選択 特定の言語.
- 言語設定、選択する インド、ヒンディー語 (hi-IN).
- モデルタイプ選択 一般モデル.
- S3の入力ファイルの場所で、アップロードされたオーディオ ファイルを含む S3 バケットを参照します。
- 出力データ セクションでは、デフォルトのままにします。
- アクセス許可 セクション、選択 IAMロールを作成する.
- 新しいを作成します AWS IDおよびアクセス管理 (IAM) HindiTranscription という名前のロール。S3 バケットから音声ファイルを読み取り、 AWSキー管理サービス 復号化する (AWS KMS) キー。
- ジョブの構成 セクションでは、デフォルトのままにします。 カスタム語彙 選択解除。
- 選択する ジョブを作成 音声ファイルを転記します。
ジョブのステータスが [完了] の場合は、ジョブ (SampleAudio) を選択して文字起こしを確認できます。
顧客とエージェントの文章は明確に分離されているため、顧客またはエージェントが特定の単語やフレーズを話したかどうかを識別できます。
モデルの精度を測定する
単語誤り率 (WER) は、自動音声認識 (ASR) システムの精度を評価するために推奨され、最も一般的に使用されるメトリックです。 目標は、WER を可能な限り削減して、ASR システムの精度を向上させることです。
WER を計算するには、次の手順を実行します。 この記事ではオープンソースを使用しています asr-評価 WERを計算するための評価ツールですが、 SCTK or ジワー もご利用いただけます。
- インストールを開始する
asr-evaluation
ツールを使用すると、コマンド ラインで wer スクリプトを使用できるようになります。
macOS または Linux プラットフォームでコマンド ラインを使用して、この記事で後述する wer コマンドを実行します。 - Amazon Transcribe ジョブの詳細ページからトランスクリプトを次の名前のテキスト ファイルにコピーします。
hypothesis.txt
.
コンソールから文字起こしをコピーすると、単語の間に改行文字があることに気付くでしょう。Agent :, Customer :,
そしてヒンディー語のスクリプト。
この投稿では、スペースを節約するために改行文字が削除されています。 コンソールからテキストをそのまま使用することを選択した場合は、wer ツールが行ごとに比較するため、作成する参照テキスト ファイルにも改行文字が含まれていることを確認してください。 - トランスクリプト全体を確認し、修正が必要な単語やフレーズを特定します。
顧客 : हेलो、
エージェント : . सेमहै। लावन्या कर रही हूँकिस तरह से मैं आकी सहायता कर ती हूँ।
顧客 : मैं बहुत दिनोउनसे हैदराबाद ट्रेवल के बारे मेin सोच रहाथा। あなたは何を知っていますか?
エージェント :हाँ बिल्कुल।. हैदराबाद में बहुत सारे प्लेस है। 続きを読む चारमहीनागोलकुंडाफोरसलारमहीना 続きを表示
顧客 : .
エージェント : .
顧客 : सिरियसली एनीटिप्स ジャンク ゲーラー
エージェント : आप टेक्सी यूस कर लो डरैब और पार्िंग का प्राब्लम नहीं होगा।
顧客 ハイライトされた単語は、デフォルトの Amazon Transcribe モデルが正しくレンダリングしなかった単語です。 - 名前の付いた別のテキストファイルを作成します
reference.txt
強調表示された単語を、文字起こしで表示されると予想される目的の単語に置き換えます。
顧客 : हेलो、
エージェント : . . . . 続きを読む । लावन्या कर रही हूँकिस तरह से मैं आकी सहायता कर ती हूँ।
顧客 : मैं बहुत दिनसे हैदराबाद ट्रेवल के बारे मेin सोच रहाथा। あなたは何を知っていますか?
エージェント : हाँबिल्कुल। हैदराबाद में बहुत सारे प्लेस है। 続きを読む चार मिनार गोलकोंडा फोर्ट सालाr 続きを表示
顧客 : .
エージェント : .
顧客 : सिरियसली एनीटिप्स ケイン ゲーラー
エージェント : आप टेक्सी यूस कर लो ड्रैव और पार्िंग का प्राब्लम नहीं होगा।
顧客 : ग्reट आइडिया थैंक्यू सो मच। - 次のコマンドを使用して、作成した参照テキスト ファイルと仮説テキスト ファイルを比較します。
次の出力が得られます。
wer コマンドは、ファイルのテキストを比較します reference.txt
& hypothesis.txt
. 各文のエラーと、エラーの総数 (WER: 9.848% ( 13 / 132)) トランスクリプト全体。
前の出力から、wer は書き起こしの 13 語のうち 132 個のエラーを報告しました。 これらのエラーには、次の XNUMX つのタイプがあります。
- 置換エラー – これらは、Amazon Transcribe が別の単語の代わりに XNUMX つの単語を書き込むときに発生します。 たとえば、私たちの筆記録では、「महीना (マヒナ)」の代わりに書かれました続きを読む (マイナー)」文 4 で。
- 削除エラー – これらは、Amazon Transcribe がトランスクリプト内の単語を完全に見逃した場合に発生します。सौथ (南)」がセンテンス 2 で抜けていました。
- 挿入エラー – これらは、Amazon Transcribe が話されていない単語を挿入したときに発生します。 トランスクリプトに挿入エラーはありません。
デフォルト モデルによって作成されたトランスクリプトからの観察
トランスクリプトに基づいて、次の観察を行うことができます。
- 合計 WER は 9.848% で、これは単語の 90.152% が正確に書き起こされていることを意味します。
- デフォルトのヒンディー語モデルは、ほとんどの英単語を正確に書き起こしました。 これは、既定のモデルが、すぐに使用できる最も一般的な英語の単語を認識するようにトレーニングされているためです。 このモデルは、英語の単語がヒンディー語の会話にランダムに現れるヒングリッシュ言語を認識するようにもトレーニングされています。 例えば:
- गुड मोर्निग – おはようございます (文 2)。
- ट्रेवल एजेंसी – 旅行代理店 (文 2)。
- ग्रेट आइडिया थैंक्यू सो मच – 素晴らしいアイデア、どうもありがとうございました (文 9)。
- センテンス 4 に最も誤りがあり、インドの都市ハイデラバードにある場所の名前です。
- 続きを読むहैदराबाद में बहुत सारे प्लेस है। उनमेंसेचार महीना गोलकुंडा फोर सलार 続きを表示
次のステップでは、Amazon Transcribe のカスタム語彙を使用して、前の文で強調表示された単語を修正する方法を示します。
- 続きを読む महीना (シャア マヒナ) は चार である必要があります 続きを読む (シャア ミナール)
- つぶやきしじょじょじょじょやっているडाफोまたは (ゴルcuンダ・フォーur) は गोल である必要がありますこんにちわडाफोルート (ゴルcoンダ・フォーrt)
- सलारजंग (Salar Jung) であるべき सालारजंग (サーラル・ユング)
カスタム語彙を使用してデフォルト モデルをトレーニングする
に カスタム語彙を作成するの場合、デフォルトの Amazon Transcribe モデルをトレーニングするために、単語とフレーズを含む表形式のテキスト ファイルを作成する必要があります。 テーブルには XNUMX つの列すべてが含まれている必要があります (Phrase
, SoundsLike
, IPA
, DisplayAs
)、 しかし Phrase
列は、各行にエントリを含める必要がある唯一の列です。 他の列は空のままにすることができます。 一部の列が空のままであっても、各列はタブ文字で区切る必要があります。 たとえば、 IPA
& SoundsLike
行に対して空の列、 Phrase
& DisplaysAs
その行の列は、XNUMX つのタブ文字 (間) で区切る必要があります。 Phrase
& IPA
, IPA
& SoundsLike
, SoundsLike
& DisplaysAs
).
カスタム語彙を使用してモデルをトレーニングするには、次の手順を実行します。
- 名前のついたファイルを作成する
HindiCustomVocabulary.txt
以下の内容で。お使いの言語でサポートされている文字のみを使用できます。 あなたの言語の キャラクターセット 詳細については。
列には次の情報が含まれます。
Phrase
– 正確に書き起こしたい単語やフレーズが含まれています。 デフォルトの Amazon Transcribe モデルによって作成されたトランスクリプトで強調表示された単語またはフレーズがこの列に表示されます。 これらの単語は通常、頭字語、固有名詞、または既定のモデルでは認識されないドメイン固有の単語やフレーズです。 これは、カスタム語彙テーブルのすべての行の必須フィールドです。 私たちのトランスクリプトでは、文 4 の「गोलकुंडा फोर (ゴルクンダ フォー)」を修正するには、この列で「गोलकुंडा-फोर (ゴルクンダ フォー)」を使用します。 エントリに複数の単語が含まれている場合は、各単語をハイフン (-) で区切ります。 スペースは使用しないでください。IPA
– 書き言葉の音声を表す単語またはフレーズが含まれています。 列はオプションです。 行を空のままにしておくことができます。 この列は、International Phonetic Alphabet (IPA) の文字のみを使用した音声スペルを対象としています。 ヒンディー語で使用できる IPA 文字については、ヒンディー語文字セットを参照してください。 この例では、IPA を使用していません。 この列にエントリがある場合は、SoundsLike
列は空でなければなりません。SoundsLike
– 単語またはフレーズを小さな断片 (通常は音節または一般的な単語に基づく) に分割して、その断片の響きに基づいて各断片の発音を提供します。 この列はオプションです。 行を空のままにすることができます。 エントリにブランド名などの標準外の単語が含まれている場合、または誤って表記されている単語を修正する場合にのみ、この列にコンテンツを追加してください。 私たちの筆記録では、文 4 の「सलार जंग (Salar Jung)」を訂正するには、この列で「सा-लार-जंग (Saa-lar-jung)」を使用します。 この列にはスペースを使用しないでください。 この列にエントリがある場合は、IPA
列は空でなければなりません。DisplaysAs
– 単語またはフレーズの文字起こし出力に表示するスペルの単語またはフレーズが含まれています。Phrase
分野。 この列はオプションです。 行を空のままにすることができます。 このフィールドを指定しない場合、Amazon Transcribe はPhrase
出力ファイルのフィールド。 たとえば、私たちの書き起こしでは、文 4 の「गोलकुंडा फोर (ゴルクンダ フォー)」を修正するには、この列で「गोलकोंडा फोर्ट (ゴルクンダ フォート)」を使用します。
- アップロード テキストファイル (
HindiCustomVocabulary.txt
) に S3 バケットに追加します。次に、Amazon Transcribe でカスタム語彙を作成します。 - Amazon Transcribe コンソールで、選択します カスタム語彙 ナビゲーションペインに表示されます。
- 名前 、名前を入力します。
- 言語設定、選択する インド、ヒンディー語 (hi-IN).
- 語彙入力ソース選択 S3の場所.
- S3 上の語彙ファイルの場所の S3 パスを入力します。
HindiCustomVocabulary.txt
ファイルにソフトウェアを指定する必要があります。 - 選択する 語彙を作成する.
- 転写する
SampleAudio.wav
次のパラメーターを使用して、カスタム語彙を含むファイル:- 職種名 、 入る
SampleAudioCustomVocabulary
. - 言語設定、選択する インド、ヒンディー語 (hi-IN).
- S3の入力ファイルの場所、の場所を参照します
SampleAudio.wav
. - IAMの役割選択 既存のIAMロールを使用する をクリックして、前に作成したロールを選択します。
- ジョブの構成 セクション、選択 カスタム語彙 カスタム語彙を選択します
HindiCustomVocabulary
.
- 職種名 、 入る
- 選択する ジョブを作成.
カスタム語彙を使用した後にモデルの精度を測定する
Amazon Transcribe ジョブの詳細ページからトランスクリプトを次の名前のテキスト ファイルにコピーします。 hypothesis-custom-vocabulary.txt
:
顧客 : हेलो、
エージェント : . लावन्या कर रही हूँकिस तरह से मैं आकी सहायता कर ती हूँ।
顧客 : . あなたは何を知っていますか?
エージェント : हाँबिल्कुल। हैदराबाद में बहुत सारे प्लेस है। उनमेंसेचार मिनारगोलकोंडाफोर्टसालार 続きを表示
顧客 : .
エージェント : .
顧客 : सिरियसली एनी टिप्स चिकनशeater
エージェント : आप टक्सी यूस कर लो ड्ैब और पार्िंग का प्राब्लम नहीं होगा।
顧客 : ग्reट आइडिया थैंक्यू सो मच।
強調表示された単語が必要に応じて書き起こされることに注意してください。
実行する wer
新しいトランスクリプトを使用して再度コマンドを実行します。
次の出力が得られます。
カスタム語彙で作成されたトランスクリプトからの観察
合計 WER は 6.061% で、これは単語の 93.939% が正確に書き起こされていることを意味します。
カスタム語彙がある場合とない場合のセンテンス 4 の wer 出力を比較してみましょう。 以下は、カスタム語彙なしです。
以下は、カスタム語彙を使用したものです。
センテンス 4 にはエラーはありません。場所の名前は、カスタム ボキャブラリの助けを借りて正確に転写されているため、このオーディオ ファイルの全体的な WER は 9.848% から 6.061% に減少しています。 これは、文字起こしの精度が 4% 近く向上したことを意味します。
カスタム語彙がどのように精度を向上させたか
次のカスタム語彙を使用しました。
Amazon Transcribe は、音声ファイルに、 Phrase
桁。 次に、モデルは IPA
, SoundsLike
, DisplaysAs
目的のスペルで転記する特定の単語の列。
このカスタム語彙を使用すると、Amazon Transcribe が「गोलकुंडा-फोर (ゴルクンダ フォー)」のように聞こえる単語を識別すると、その単語を「गोलकोंडा फोर्ट (ゴルコンダ フォート)」と転記します。
提言
文字起こしの精度は、話者の発音、重複する話者、話す速度、バックグラウンド ノイズなどのパラメータにも依存します。 したがって、包括的なカスタム語彙を構築するために、最も一般的に使用されるドメイン固有の単語をカバーするさまざまな通話 (さまざまな顧客、エージェント、割り込みなど) でプロセスに従うことをお勧めします。
この投稿では、カスタム語彙を使用して XNUMX つの音声通話を書き起こす精度を向上させるプロセスを学びました。 毎日何千ものコンタクト センターの通話録音を処理するには、次を使用できます。 通話後の分析、完全に自動化されたスケーラブルで費用対効果の高いエンド ツー エンドのソリューションであり、ほとんどの面倒な作業を処理します。 音声ファイルを S3 バケットにアップロードするだけで、数分以内に、このソリューションは Web UI でセンチメントなどの通話分析を提供します。 通話後の分析は、新たな傾向を特定し、エージェントのコーチングの機会を特定し、通話の一般的な感情を評価するための実用的な洞察を提供します。通話後の分析は、 オープンソースソリューション を使用して展開できます AWS CloudFormation.
カスタム語彙は、単語が話されたコンテキストを使用しないことに注意してください。提供された個々の単語のみに焦点を当てています。 精度をさらに向上させるために、次を使用できます。 カスタム言語モデル. 発音をスペルに関連付けるカスタム語彙とは異なり、カスタム言語モデルは特定の単語に関連付けられたコンテキストを学習します。 これには、単語がいつどのように使用されるか、および単語と他の単語との関係が含まれます。 カスタム言語モデルを作成するには、さまざまな通話について学習したプロセスから派生した文字起こしを使用し、それらをドメイン固有の単語やフレーズを含む Web サイトまたはユーザー マニュアルのコンテンツと組み合わせることができます。
バッチ文字起こしで最高の文字起こし精度を達成するために、カスタム語彙をカスタム言語モデルと組み合わせて使用できます。
まとめ
この投稿では、Amazon Transcribe の通話分析とカスタム語彙を使用して、英単語を含むヒンディー語音声ファイルを正確に処理するための詳細な手順を説明しました。 これらと同じ手順を使用して、任意のオーディオ コールを処理できます。 対応言語 Amazon Transcribe による。
必要な精度で文字起こしを取得したら、エージェントをトレーニングすることで、エージェントと顧客の会話を改善できます。 また、顧客の感情や傾向を理解することもできます。 通話分析の話者ダイアライゼーション、ラウドネス検出、ボキャブラリ フィルタリング機能を利用して、トーンを上げたり、特定の言葉を話したりしたのがエージェントか顧客かを特定できます。 ドメイン固有の単語に基づいて通話を分類し、実用的な洞察を取得し、分析を実行して製品を改善できます。 最後に、トランスクリプトを英語または選択した他のサポートされている言語に翻訳できます。 Amazon翻訳.
著者について
サラト・グティコンダ AWS World Wide Public Sector のシニア ソリューション アーキテクトです。 Sarat は、ビジネスの俊敏性を犠牲にすることなく、顧客がクラウド リソースを自動化、管理、および管理できるよう支援しています。 余暇には、息子と一緒にレゴを組み立てたり、卓球を楽しんだりしています。
ラヴァーニャ・スード インドのニューデリーを拠点とする AWS World Wide Public Sector のソリューションアーキテクトです。 Lavanya は、新しいテクノロジーを学び、顧客のクラウド導入ジャーニーを支援することを楽しんでいます。 自由な時間には、旅行をしたり、さまざまな食べ物を試したりするのが大好きです。