電話データのための Speech サービスSpeech service for telephony data

固定電話、携帯電話、無線電話で生成される電話データは一般的に低品質であり、8 KHz と狭帯域であり、音声をテキストに変換する作業を難しくします。Telephony data that is generated through landlines, mobile phones, and radios are typically low quality, and narrowband in the range of 8 KHz, which creates challenges when converting speech-to-text. Speech サービスの最新の音声認識モデルはそのような電話データの文字起こしに優れており、人間には理解が難しいデータにも対応しています。The latest speech recognition models from the Speech service excel at transcribing this telephony data, even in cases when the data is difficult for a human to understand. これらのモデルは大量の電話データでトレーニングされており、騒々しい環境でも、市場に出回っているモデルの中で最高精度の認識機能を発揮します。These models are trained with large volumes of telephony data, and have best-in-market recognition accuracy, even in noisy environments.

音声変換で共通するシナリオは、インタラクティブ ボイス レスポンス (IVR) など、さまざまなシステムから入ってくる大量の電話データを文字に起こすことです。A common scenario for speech-to-text is transcribing large volumes of telephony data that may come from various systems, such as Interactive Voice Response (IVR). こうしたシステムから入ってくる音声はステレオかモノラルであり、未加工です。信号の上では後処理がほとんどないか、まったくありません。The audio these systems provide can be stereo or mono, and raw with little-to-no post processing done on the signal. Speech サービスと Unified 音声モデルを使用すると、企業は、音声の取り込みに使用するシステムに関係なく、高品質の文字起こしが可能になります。Using the Speech service and the Unified speech model, a business can get high-quality transcriptions, whatever systems are used to capture audio.

電話データは、顧客が求めていることをよりよく理解したり、新しいマーケティング機会を見つけたり、コール センター エージェントの仕事ぶりを評価したりする目的で利用できます。Telephony data can be used to better understand your customers' needs, identify new marketing opportunities, or evaluate the performance of call center agents. データが文字に起こされた後、企業は、その出力を、テレメトリの改善、キー フレーズの特定、顧客センチメントの分析などの目的に使用できます。After the data is transcribed, a business can use the output for purposes such as improved telemetry, identifying key phrases, or analyzing customer sentiment.

このページで概略的に示す技術は、サポート コールのさまざまな処理サービスのために Microsoft が社内で利用しています。リアルタイムとバッチ モードの両方で利用されています。The technologies outlined in this page are by Microsoft internally for various support call processing services, both in real-time and batch mode.

それでは Speech サービスで提供される技術と関連機能をいくつか確認してみましょう。Let's review some of the technology and related features the Speech service offers.

重要

Speech サービスの Unified モデルは多様なデータでトレーニングされ、書き取りから電話の分析まで、さまざまなシナリオにこれ 1 つで対応するモデル ソリューションを提供します。The Speech service Unified model is trained with diverse data and offers a single-model solution to a number of scenario from Dictation to Telephony analytics.

コール センター向けの Azure テクノロジAzure Technology for Call Centers

Speech サービスがコール センターで利用される場合、機能的な面以外では、その主な目的は顧客体験の改善にあります。Beyond the functional aspect of the Speech service features, their primary purpose – when applied to the call center – is to improve the customer experience. この点については、3 つの分野に明確に分かれています。Three clear domains exist in this regard:

  • 通話後の分析。基本的には、通話後の通話記録のバッチ処理です。Post-call analytics, which is essentially batch processing of call recordings after the call.
  • リアルタイム分析。通話が行われている間に音声信号を処理し、さまざまな分析情報を抽出します。重要なユース ケースにセンチメントがあります。Real-time analytics, which is processing of the audio signal to extract various insights as the call is taking place (with sentiment being a prominent use case).
  • 音声アシスタント (ボット)。顧客とボットの間の対話を進め、エージェントが関与することなく顧客の問題の解決を試みるか、人工知能 (AI) プロトコルのアプリケーションとしてエージェントを支援します。Voice assistants (bots), either driving the dialogue between the customer and the bot in an attempt to solve the customer's issue with no agent participation, or being the application of artificial intelligence (AI) protocols to assist the agent.

バッチ シナリオを実装するときの一般的なアーキテクチャ図は下の画像のようになります コール センターの文字起こしアーキテクチャA typical architecture diagram of the implementation of a batch scenario is depicted in the picture below Call center transcription architecture

音声分析テクノロジのコンポーネントSpeech Analytics Technology Components

範囲が通話後であってもリアルタイムであっても、Azure から、一連の完成されたテクノロジと最新のテクノロジが提供され、顧客体験を改善します。Whether the domain is post-call or real-time, Azure offers a set of mature and emerging technologies to improve the customer experience.

音声テキスト変換 (STT)Speech to text (STT)

音声テキスト変換は、どのコール センター ソリューションでも最も求められている機能です。Speech-to-text is the most sought-after feature in any call center solution. ダウンストリーム分析プロセスの多くは文字に起こされたテキストに依存しているため、ワード エラー率 ("WER") が最も重要となります。Because many of the downstream analytics processes rely on transcribed text, the word error rate (WER) is of utmost importance. コール センターで文字起こしを難しくしている要因には、コール センター内の騒音 (たとえば、他のエージェントが後ろで話しています)、多様な言語ロケールと方言、実際の電話信号の低品質があります。One of the key challenges in call center transcription is the noise that’s prevalent in the call center (for example other agents speaking in the background), the rich variety of language locales and dialects as well as the low quality of the actual telephone signal. WER は、特定のロケールに対して音響と言語のモデルのトレーニングの程度と高い相関関係にあります。そのため、モデルを自分のロケールに合わせてカスタマイズできることが重要になります。WER is highly correlated with how well the acoustic and language models are trained for a given locale, thus the ability to customize the model to your locale is important. 最新の Unified バージョン 4.x モデルは、文字起こしの精度の問題と遅延の問題を両方解決しています。Our latest Unified version 4.x models are the solution to both transcription accuracy and latency. 非常に大量の音響データと語彙情報でトレーニングされた Unified モデルは、市場に出回っているモデルの中で最も高い精度でコール センター データを文字に起こします。Trained with tens of thousands of hours of acoustic data and billions of lexical information, Unified models are the most accurate models in the market to transcribe call center data.

センチメントSentiment

音声分析をコール センターで利用するとき、分析の重要な領域の 1 つに、顧客が心地良い体験をしたかどうかを計測することが含まれます。Gauging whether the customer had a good experience is one of the most important areas of Speech analytics when applied to the call center space. Microsoft のバッチ文字起こし API では、発話ごとにセンチメントを分析できます。Our Batch Transcription API offers sentiment analysis per utterance. 通話の文字起こしで取得された一連の値を集計し、エージェントと顧客の両方に対して通話のセンチメントを判断できます。You can aggregate the set of values obtained as part of a call transcript to determine the sentiment of the call for both your agents and the customer.

沈黙 (会話なし)Silence (non-talk)

サポート コールの 35% が会話なしの状態になることは普通です。It is not uncommon for 35 percent of a support call to be what we call non-talk time. 会話がなくなるのは、エージェントが顧客に関する履歴を調べているとき、エージェントが顧客のデスクトップにアクセスして機能を実行できるツールを使用しているとき、転送のために顧客を待たせているときなどです。Some scenarios for which non-talk occurs are: agents looking up prior case history with a customer, agents using tools that allow them to access the customer's desktop and perform functions, customers sitting on hold waiting for a transfer, and so on. このような場面では顧客のさまざまな重要な感情が表れるため、通話において沈黙が発生する時と場所を計測することはきわめて重要です。It is extremely important to gauge when silence is occurring in a call as there are number of important customer sensitivities that occur around these types of scenarios and where they occur in the call.

翻訳Translation

デリバリー マネージャーが世界中の顧客体験を理解できるよう、外国語のサポート コールの翻訳を試している企業もあります。Some companies are experimenting with providing translated transcripts from foreign language support calls so that delivery managers can understand the world-wide experience of their customers. Microsoft の翻訳機能にまさるものはありません。Our translation capabilities are unsurpassed. さまざまなロケールで、音声を音声に変換したり、音声をテキストに変換したりできます。We can translate audio-to-audio or audio-to-text for a large number of locales.

テキストから音声へText to Speech

顧客とやりとりするボットを実装するにあたり、もう 1 つの重要な分野がテキスト読み上げです。Text-to-speech is another important area in implementing bots that interact with the customers. 通常、顧客が話し、その声がテキストに書き写され、テキストの意図が分析され、認められた意図に基づいて応答が合成され、アセットが顧客に提示されるか、合成された音声による応答が生成されるという過程になります。The typical pathway is that the customer speaks, their voice is transcribed to text, the text is analyzed for intents, a response is synthesized based on the recognized intent, and then an asset is either surfaced to the customer or a synthesized voice response is generated. 当然ですが、以上の動作は迅速に行われなければなりません。そのため、こうしたシステムを成功させるには待ち時間が短いことが重要な要素となります。Of course all of this has to occur quickly – thus low-latency is an important component in the success of these systems.

音声テキスト変換LUISBot Frameworkテキスト読み上げなど、関連するさまざまなテクノロジについて、Microsoft サービスのエンドツーエンドの待ち時間は非常に短いです。Our end-to-end latency is considerably low for the various technologies involved such as Speech-to-text, LUIS, Bot Framework, Text-to-speech.

また、新しい合成音声は人間と区別が付かなくなっています。Our new voices are also indistinguishable from human voices. これらの音声を使用して自分のボットに個性を与えることができます。You can use our voices to give your bot its unique personality.

分析のもう 1 つの中心的要素は、特定のイベントまたは体験が発生したやりとりを特定することです。Another staple of analytics is to identify interactions where a specific event or experience has occurred. これは通常、2 つの手法のいずれかで行われます。ユーザーがフレーズを入力し、システムが応答するその場限りの検索か、通話の中でシナリオを特定する一連の論理的発言をアナリストが作成し、そのような一連の問い合わせに対して通話ごとに索引を付けられる、構造化の度合いが高いクエリです。This is typically done with one of two approaches; either an ad hoc search where the user simply types a phrase and the system responds, or a more structured query where an analyst can create a set of logical statements that identify a scenario in a call, and then each call can be indexed against that set of queries. "この通話は品質向上のために録音されます..." という、あらゆるところで耳にするコンプライアンスに関する表明が検索の典型的な例です。A good search example is the ubiquitous compliance statement "this call shall be recorded for quality purposes... ". 多くの企業では、通話の録音前に、エージェントがこの免責事項を顧客に確実に伝えることを望んでいます。Many companies want to make sure that their agents are providing this disclaimer to customers before the call is actually recorded. ほとんどの分析システムでは、クエリ/検索アルゴリズムによって検出される動作の傾向を把握できます。この傾向のレポートは、最終的に分析システムの最も重要な機能の 1 つです。Most analytics systems have the ability to trend the behaviors found by query/search algorithms, and this reporting of trends is ultimately one of the most important functions of an analytics system. Cognitive サービス ディレクトリを利用することで、エンドツーエンド ソリューションを索引作成と検索の機能で大幅に強化できます。Through Cognitive services directory your end to end solution can be significantly enhanced with indexing and search capabilities.

キー フレーズ抽出Key Phrase Extraction

分析アプリケーションとして難易度が高く、また、AI と機械学習の応用から得られるものが多いのがこの領域です。This area is one of the more challenging analytics applications and one that is benefiting from the application of AI and machine learning. この場合の主なシナリオは、顧客の意図を推測することです。The primary scenario in this case is to infer customer intent. 顧客が電話してきた理由は何か?Why is the customer calling? 顧客はどのような問題を抱えているのか?What is the customer problem? 顧客に不快な思いをさせたのはなぜか?Why did the customer have a negative experience? Microsoft のテキスト分析サービスには、すぐにお使いいただける一連の分析機能が用意されており、こうした重要なキーワードやフレーズを抽出できるように、エンドツーエンド ソリューションを簡単にアップグレードできます。Our text analytics service provides a set of analytics out of the box for quickly upgrading your end-to-end solution for extracting those important keywords or phrases.

それでは、音声認識のバッチ処理とリアルタイム パイプラインについてもう少し詳しく見てみましょう。Let's now have a look at the batch processing and the real-time pipelines for speech recognition in a bit more detail.

コール センター データの一括文字起こしBatch transcription of call center data

音声を一括で文字起こしするために、Microsoft はバッチ文字起こし API を開発しました。For transcribing bulk audio we developed the Batch Transcription API. バッチ文字起こし API は、大量の音声データを非同期で文字に起こす目的で開発されました。The Batch Transcription API was developed to transcribe large amounts of audio data asynchronously. コール センター データを文字に起こすとき、Microsoft のソリューションは次の柱に基づいています。With regard to transcribing call center data, our solution is based on these pillars:

  • 精度 - 第 4 世代の Unified モデルの文字起こしの品質に勝るものはありません。Accuracy - With fourth-generation Unified models, we offer unsurpassed transcription quality.
  • 待ち時間 - 一括で文字を起こすとき、高速の文字起こしが必要であることを Microsoft は理解しています。Latency - We understand that when doing bulk transcriptions, the transcriptions are needed quickly. バッチ文字起こし API 経由で始動する文字起こしジョブはすぐに待ち行列に入り、ジョブの実行が始まると、リアルタイムの文字起こしよりも高速で実行されます。The transcription jobs initiated via the Batch Transcription API will be queued immediately, and once the job starts running it's performed faster than real-time transcription.
  • セキュリティ - 通話には扱いに慎重を期するデータが含まれる可能性があることを Microsoft は理解しています。Security - We understand that calls may contain sensitive data. セキュリティは Microsoft の最優先事項に含まれるのでご安心ください。Rest assured that security is one of our highest priorities. Microsoft のサービスは ISO、SOC、HIPAA、PCI の認証を受けています。Our service has obtained ISO, SOC, HIPAA, PCI certifications.

コール センターでは毎日、大量の音声データが生成されます。Call centers generate large volumes of audio data on a daily basis. 企業が Azure Storage などの中心的な場所に電話データを保存する場合、バッチ文字起こし API を使用し、文字起こしを非同期で要求し、受信できます。If your business stores telephony data in a central location, such as Azure Storage, you can use the Batch Transcription API to asynchronously request and receive transcriptions.

一般的なソリューションで使用されるサービス:A typical solution uses these services:

  • Speech サービスは、音声テキスト変換の文字起こしに使用されます。The Speech service is used to transcribe speech-to-text. バッチ文字起こし API を使用するには、Speech サービスの標準サブスクリプション (S0) が必要です。A standard subscription (S0) for the Speech service is required to use the Batch Transcription API. Free サブスクリプション (F0) は機能しません。Free subscriptions (F0) will not work.
  • Azure Storage は、電話データと、バッチ文字起こし API によって返されたトランスクリプトの保存に使用されます。Azure Storage is used to store telephony data, and the transcripts returned by the Batch Transcription API. このストレージ アカウントでは通知を利用する必要があります。特に、新しいファイルが追加されたときに通知する必要があります。This storage account should use notifications, specifically for when new files are added. 通知は文字起こしプロセスのトリガーに利用されます。These notifications are used to trigger the transcription process.
  • Azure Functions は、録音ごとに Shared Access Signature (SAS) URI を作成し、HTTP POST 要求をトリガーして文字起こしを開始するために使用されます。Azure Functions is used to create the shared access signatures (SAS) URI for each recording, and trigger the HTTP POST request to start a transcription. また、Azure Functions は、バッチ文字起こし API で文字起こしを回収し、削除するための要求の作成に使用されます。Additionally, Azure Functions is used to create requests to retrieve and delete transcriptions using the Batch Transcription API.

Microsoft 社内では以上のテクノロジを利用し、バッチ モードの Microsoft カスタマー コールを支援しています。Internally we are using the above technologies to support Microsoft customer calls in Batch mode. バッチ アーキテクチャBatch Architecture

コール センター データのリアルタイム文字起こしReal-time transcription for call center data

会話をリアルタイムで文字起こしすることを必要とする企業もあります。Some businesses are required to transcribe conversations in real-time. リアルタイムの文字起こしは、センチメント監視のためにキーワードを特定し、会話に関連するコンテンツとリソースの検索をトリガーしたり、アクセシビリティを改善したり、ネイティブ スピーカーではない顧客やエージェントのために翻訳を提供したりする目的で利用できます。Real-time transcription can be used to identify key-words and trigger searches for content and resources relevant to the conversation, for monitoring sentiment, to improve accessibility, or to provide translations for customers and agents who aren't native speakers.

リアルタイムの文字起こしを必要とする場合、Speech SDK の利用をお勧めします。For scenarios that require real-time transcription, we recommend using the Speech SDK. 現在のところ、20 を超える言語で音声テキスト変換を利用できます。また、この SDK は C++、C#、Java、Python、Node.js、Objective-C、JavaScript で利用できます。Currently, speech-to-text is available in more than 20 languages, and the SDK is available in C++, C#, Java, Python, Node.js, Objective-C, and JavaScript. 各言語のサンプルが GitHub にあります。Samples are available in each language on GitHub. 最新ニュースや更新情報については、リリース ノートをご覧ください。For the latest news and updates, see Release notes.

次の図に示すように、Microsoft 社内では以上のテクノロジを利用し、Microsoft カスタマー コールをリアルタイムで分析しています。Internally we are using the above technologies to analyze in real-time Microsoft customer calls as they happen, as illustrated in the following diagram.

バッチ アーキテクチャ

IVR のワードA word on IVRs

Speech サービスは Speech SDKREST API を利用することで、あらゆるソリューションに簡単に統合できます。The Speech service can be easily integrated in any solution by using either the Speech SDK or the REST API. しかしながら、コール センターの文字起こしには付加的なテクノロジが必要になる場合があります。However, call center transcription may require additional technologies. 通常、IVR システムと Azure 間の接続が必要です。Typically, a connection between an IVR system and Azure is required. Microsoft ではこのようなコンポーネントを提供していませんが、ここでは、IVR に接続するとはどのようなものかについて説明します。Although we do not offer such components, here is a description what a connection to an IVR entails.

IVR または電話サービス製品 (Genesys や AudioCodes など) の中には、Azure サービスとの送受信の音声パススルーを有効にするために活用できる統合機能を提供しているものがあります。Several IVR or telephony service products (such as Genesys or AudioCodes) offer integration capabilities that can be leveraged to enable inbound and outbound audio pass-through to an Azure service. 基本的には、カスタム Azure サービスで、通話セッション (通話の開始や終了など) を定義する特別なインターフェイスを提供し、Speech サービスで使用されるストリーム音声を受信する WebSocket API を公開することができます。Basically, a custom Azure service might provide a specific interface to define phone call sessions (such as Call Start or Call End) and expose a WebSocket API to receive inbound stream audio that is used with the Speech service. 会話の文字起こしや Bot Framework との接続など、送信の応答を Microsoft のテキスト読み上げサービスと合成し、IVR に返して再生できます。Outbound responses, such as conversation transcription or connections with the Bot Framework, can be synthesized with Microsoft's text-to-speech service and returned to the IVR for playback.

もう 1 つのシナリオは、セッション開始プロトコル (SIP) との直接統合です。Another scenario is direct integration with Session Initiation Protocol (SIP). Azure サービスは SIP Server に接続し、音声をテキストに変換するときとテキストを読み上げるときに使用される受信ストリームと送信ストリームを取得します。An Azure service connects to a SIP Server, thus getting an inbound stream and an outbound stream, which is used for the speech-to-text and text-to-speech phases. Ozieki SDK や Teams calling and meetings API など、SIP Server に接続するためのソフトウェアが市販されています。このようなソフトウェアは、音声通話のこの種のシナリオを支援する目的で設計されています。To connect to a SIP Server there are commercial software offerings, such as Ozeki SDK, or the Teams calling and meetings API (currently in beta), that are designed to support this type of scenario for audio calls.

既存の体験をカスタマイズするCustomize existing experiences

Speech サービスは、組み込みのモデルで問題なく動作します。The Speech service works well with built-in models. ただし、製品や環境に合わせてエクスペリエンスをさらにカスタマイズおよび調整したいことがあります。However, you may want to further customize and tune the experience for your product or environment. カスタマイズ オプションは、音響モデルのチューニングから、独自ブランドに固有の音声フォントにまで及びます。Customization options range from acoustic model tuning to unique voice fonts for your brand. 作成したカスタム モデルは、リアルタイム モードまたはバッチ モードで、Speech サービスの任意の機能で使用できます。After you've built a custom model, you can use it with any of the Speech service features in real-time or batch mode.

Speech サービスSpeech service モデルModel 説明Description
音声テキスト変換Speech-to-text 音響モデルAcoustic model 自動車や工場など、それぞれに固有の録音条件がある特定の環境で使用されるアプリケーション、ツール、デバイス用のカスタム音響モデルを作成します。Create a custom acoustic model for applications, tools, or devices that are used in particular environments like in a car or on a factory floor, each with specific recording conditions. たとえば、アクセント記号付きの音声、特定の背景ノイズ、録音に特定のマイクを使用する場合などです。Examples include accented speech, specific background noises, or using a specific microphone for recording.
言語モデルLanguage model 医療用語や IT の専門用語など、業界固有のボキャブラリと文法の文字起こしを向上させるには、カスタム言語モデルを作成します。Create a custom language model to improve transcription of industry-specific vocabulary and grammar, such as medical terminology, or IT jargon.
発音モデルPronunciation model カスタムの発音モデルを使用すると、単語または用語の発音形式と表示を定義できます。With a custom pronunciation model, you can define the phonetic form and display for a word or term. 製品名や頭字語などのカスタマイズされた用語を処理する場合に便利です。It's useful for handling customized terms, such as product names or acronyms. 始めるにあたって必要なのは、発音ファイル (シンプルな .txt ファイル) のみです。All you need to get started is a pronunciation file, which is a simple .txt file.
テキスト読み上げText-to-speech 音声フォントVoice font カスタム音声フォントを使用すると、ブランド用に認識性の高い固有の音声を作成できます。Custom voice fonts allow you to create a recognizable, one-of-a-kind voice for your brand. 少量のデータだけで始めることができます。It only takes a small amount of data to get started. 提供するデータを増やすと、いっそう自然で人間のように聞こえる音声フォントになります。The more data that you provide, the more natural and human-like your voice font will sound.

サンプル コードSample code

Speech サービスの各機能のサンプル コードは、GitHub で入手できます。Sample code is available on GitHub for each of the Speech service features. これらのサンプルでは、ファイルやストリームからの音声の読み取り、連続的な認識と単発の認識、カスタム モデルの使用など、一般的なシナリオについて説明されています。These samples cover common scenarios like reading audio from a file or stream, continuous and single-shot recognition, and working with custom models. SDK と REST のサンプルを見るには、次のリンクを使用してください。Use these links to view SDK and REST samples:

リファレンス ドキュメントReference docs

次の手順Next steps