OCIのスピーチを使用した自然言語の翻訳

Oracle Cloud Infrastructure (OCI) Speechは、いくつかのクラウド・ネイティブAIサービスの1つです。音声サービスを使用して、オーディオ・ファイルをJSON形式で格納されている読取り可能なテキストに変換できます。

スピーチは、人間のスピーチを含むオーディオファイルを非常に正確なテキスト転写に簡単に変換できるので、話し言葉の力を活用します。このサービスは、Webアプリケーション、REST API、SDK、CLIまたはコンソールを使用してアクセスできるOCIネイティブ・アプリケーションです。

音声認識は自動音声認識(ASR)テクノロジを使用して、ビデオおよびオーディオ・ファイルの文法的に正しい転写を提供します。スピーチは、低忠実度のオーディオ録音を処理し、会議やコールセンターの呼び出しなど、困難な録音を処理します。Speechを使用して、オブジェクト・ストレージまたはデータ・アセットに格納されているファイルを、正確で正規化されたテキスト、タイムスタンプ付きテキスト、およびプロファイルでフィルタされたテキストに変換できます。この機能は、ダウンストリーム・サービスで使用できます。たとえば、言語や予測などの追加サービスを使用して、コール・センチメント、広告のターゲット・コンテンツを分析し、メディア・フォルダを索引付けし、データ・レイク・ハウスを使用してメディア検索エンジンを作成できます。

アーキテクチャ

このアーキテクチャは、コアにOCI Speechがある一般的なシステム内の様々なコンポーネント間の関係を示しています。

このアーキテクチャは、様々なタイプのアプリケーションに適用できます。たとえば、Webアプリケーションでは、問題をレポートしている顧客とのヘルプ・デスク担当者の会話を記録できます。会話のオーディオ・ファイルは、新しいオーディオ・ファイルのイベントを出力するオブジェクト・ストレージに保存されます。Oracle Eventsは、SpeechサービスへのREST APIコールを介して変換リクエストを作成するFunctionsアプリケーションをトリガーします。音声はジョブを取得し、オブジェクト・ストレージからオーディオ・ファイルを取得し、そのファイルを訓練済みの音および言語モデルにフィードし、JSONテキスト・ファイルを出力します。JSONファイルはObject Storageに格納されます。Object Storageは、新しいテキスト・ファイルを検出し、イベントを発行します。Oracle EventsによってOracle Functionsがトリガーされ、テキスト・ファイルがプルされ、テキストおよびメタデータがMySQLデータベースにアップロードされます。また、Oracle Eventsにより、Webアプリケーションがサブスクライブできるトランスクリプトの準備ができたら、メッセージをパブリッシュするためのOracle Notificationsもトリガーされます。Webアプリケーションでは、ヘルプ・デスク担当者が作成したトランスクリプトがチケットに表示されます。

オプションで、Webアプリケーションはオーディオ・ファイルの期間、サイズ、開始日時などのオーディオ・ファイル・メタデータを取得し、ヘルプ・デスク・チケットに保存できます。

オブジェクト・ストレージに格納されているオーディオおよびテキスト・ファイルは、データ・レイクハウスを使用してダウンストリーム分析ツールにフィードできます(図には示されていません)。

次の図は、この参照アーキテクチャを示しています。

Architecture-ai-speech.pngの説明が続きます
図Architecture-ai-speech.pngの説明

Architecture-ai-speech-oracle.zip

アーキテクチャには次のコンポーネントがあります。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。地方は他の地域から独立し、たくさんの距離(国や大陸など)を分けることができます。

  • 可用性ドメイン

    アベイラビリティ・ドメインは、リージョン内のスタンドアロンで独立したデータ・センターです。各可用性ドメインの物理リソースは、フォルト・トレランスを提供する他の可用性ドメインのリソースから分離されます。アベイラビリティ・ドメインは電源や冷却、内部アベイラビリティ・ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインで障害が発生しても、リージョン内の他の可用性ドメインには影響しません。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラのグループです。アベイラビリティ・ドメインごとに3つのフォルト・ドメインがあり、独立した電源とハードウェアです。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションは、物理サーバーの障害、システムのメンテナンス、およびフォルト・ドメイン内の電源障害を許容できます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェアで定義されたネットワークです。従来のデータ・センター・ネットワークと同様に、VCNではネットワーク環境を完全に制御できます。VCNには複数の重複しないCIDRブロックを含めることができ、VCNの作成後に変更できます。VCNをサブネットに分割できます。サブネットはリージョンまたは可用性ドメインにスコープ指定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックまたはプライベートにできます。

  • コンパートメント

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のリージョン間論理パーティションです。コンパートメントを使用してOracle Cloud内のリソースを編成し、リソースへのアクセスを制御し、使用割当てを設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、および誰が実行できるアクションを指定するポリシーを定義します。

  • ロード・バランサ

    Oracle Cloud Infrastructure Load Balancingサービスは、1つのエントリ・ポイントからバック・エンド内の複数のサーバーへの自動トラフィック分散を提供します。

    ロード・バランサは、様々なアプリケーションへのアクセスを提供します。

  • セキュリティ・リスト

    サブネットごとに、サブネットとの間で送受信を許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • オブジェクト・ストレージ

    オブジェクト・ストレージは、データベースのバックアップ、分析データ、イメージやビデオなどの豊富なコンテンツなど、あらゆるコンテンツ・タイプの構造化および非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォームから、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性が低下することなく、ストレージをシームレスにスケーリングできます。迅速、即時、頻繁にアクセスするために必要な「ホット」ストレージには、標準ストレージを使用します。長期間保持し、ほとんどアクセスできない「コールド」ストレージのアーカイブ・ストレージを使用します。

  • Oracle Functions

    このアーキテクチャでは、ファンクションを使用して、特定のオーディオ・ファイルとともにOCI Speech REST APIをコールし、変換されたテキスト・ファイルおよびメタデータをオブジェクト・ストレージに格納します。この関数は、JavaまたはPython SDKを使用して構築できます。

  • Oracle Cloud Infrastructure Events

    このアーキテクチャでは、オブジェクト・ストレージの作成の変更をリスニングするようにイベント・サービスが構成されています。サービスは、オブジェクトがObject Storageにアップロードされた後、呼び出され、処理のためにファンクションをコールします。

  • Oracle Infrastructure Cloudのスピーチ

    Oracle Cloud Infrastructure Speechは、自動音声認識(ASR)を使用して音声をテキストに変換する新しいAIサービスです。

  • Oracle Infrastructure Cloudの通知

    Notificationsサービスは、Oracle Cloud Infrastructureおよび外部でホストされているアプリケーションに対して、安全、高信頼性、低レイテンシおよび永続的なメッセージを提供することで、分散コンポーネントにメッセージをブロードキャストします。

推奨

実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。開始点として次の推奨事項を使用します。

  • VCN

    VCNを作成する際、必要なCIDRブロックの数と、VCNのサブネットにアタッチする予定のリソース数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは他のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

    VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。

    サブネットを設計する際は、トラフィック・フローおよびセキュリティ要件を考慮してください。セキュリティ境界として機能する、特定の層またはロール内のすべてのリソースを同じサブネットにアタッチします。

  • セキュリティ

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティを事前にモニターおよび保守します。クラウド・ガードでは、セキュリティの弱みについてリソースを調査し、オペレータとユーザーのリスクのあるアクティビティを監視するために定義できるディテクタ・レシピを使用します。構成ミスまたはセキュアでないアクティビティが検出されると、クラウド・ガードは、定義できるレスポンダ・レシピに基づいて修正アクションを推奨し、それらのアクションの実行を支援します。

    最大限のセキュリティが必要なリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づいたセキュリティ・ポリシーのOracle定義のレシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースにパブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成して更新すると、Oracle Cloud Infrastructureでは、その操作がセキュリティ・ゾーン・レシピのポリシーに対して検証され、ポリシーに違反する操作が拒否されます。

  • クラウド・ガード

    Oracleが提供するデフォルトのレシピをクローニングおよびカスタマイズし、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピでは、警告を生成するセキュリティ違反のタイプと、警告に対して実行できるアクションを指定できます。たとえば、可視性がパブリックに設定されているオブジェクト・ストレージ・バケットを検出できます。

    テナンシ・レベルでクラウド・ガードを適用して、広範なスコープをカバーし、複数の構成を維持するための管理負荷を軽減します。

    管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。

  • セキュリティ・ゾーン

    Oracleが提供するデフォルトのレシピをクローニングおよびカスタマイズし、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピでは、警告を生成するセキュリティ違反のタイプと、警告に対して実行できるアクションを指定できます。たとえば、可視性がパブリックに設定されているオブジェクト・ストレージ・バケットを検出できます。

    テナンシ・レベルでクラウド・ガードを適用して、広範なスコープをカバーし、複数の構成を維持するための管理負荷を軽減します。

    管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。

  • ロード・バランサ帯域幅

    ロード・バランサの作成時に、固定帯域幅を提供する事前定義済のシェイプを選択するか、帯域幅範囲を設定してトラフィック・パターンに基づいて帯域幅を自動的にスケールさせるカスタム・フレキシブル・シェイプを指定できます。どちらの方法でも、ロード・バランサの作成後いつでもシェイプを変更できます。

注意事項

  • パフォーマンス

    Oracleクラウド・ネイティブ・サービスであるイベント、ファンクション、通知およびAI Speechを使用して、ワークロードに基づいて自動的にスケーリングされるサーバーレス・アプリケーションをデプロイします。サービスはOracleによって管理されます。

    AIスピーチジョブは、厳密なファーストアウト方式で処理されます。テナント・レベルで最大10,000のタスクを含むジョブのキューを作成できます。最大タスクを超えるジョブを発行すると、そのジョブは失敗します。ジョブは90日間保持されます。

  • アクセス

    OCI Speechは、OCIコンソール、JavaおよびPython SDKクライアントおよびOCI CLIを使用したアクセスをサポートしています。テストする場合は、CLIツールまたはコンソールを使用することをお薦めします。

  • 可用性

    この例では、データベースは高可用性ではありません。重要なアプリケーションでは、3つのレプリカでMySQL Database ServiceをHAモードで実行することを検討してください。

  • コスト

    Oracleクラウド・ネイティブ・サービス- Events、Functions、Notifications、AI Speechを使用して、固定コストが発生しないサーバーレス・アプリケーションをデプロイできます。支払いが発生するのは、サービス・リクエストを使用する場合のみです。

確認

  • 作成者: Wei Han