(57)【要約】方法（６００）は、ユーザからの音声入力（１０４）を受信することと、音声入力に関連付けられているコンテキストメタデータ（１１０）を取得することと、を含む。方法は、音声入力に対応する未処理の音声認識結果（３１２）を生成することと、音声入力に関連付けられているコンテキストメタデータに基づいて、生成された未処理の音声認識結果に適用する１つまたは複数の非正規化器（３５２）からなるリストを選択することと、をさらに含む。生成された未処理の音声認識結果は正規化されたテキストを含む。前記方法は、生成された未処理の音声認識結果に順に前記１つまたは複数の非正規化器からなるリストを適用することにより、生成された未処理の音声認識結果を非正規化されたテキスト（３２２）へと非正規化することをさらに含む。
2021530749.tif 000002
【特許請求の範囲】
【請求項１】
自動音声認識（ＡＳＲ）モジュール（３００）のデータ処理ハードウェア（７１０）において、ユーザからの音声入力（１０４）を受信することであって、前記ＡＳＲモジュール（３００）は、前記ＡＳＲモジュール（３００）によって生成された正規化されたテキストの非正規化に適用するための複数の非正規化器からなる事前定義されたセット（３５０）を含む、受信することと、
前記データ処理ハードウェア（７１０）によって、前記音声入力（１０４）に関連付けられているコンテキストメタデータ（１１０）を取得することと、
前記データ処理ハードウェア（７１０）によって、前記音声入力（１０４）に対応する未処理の音声認識結果（３１２）を生成することであって、生成された前記未処理の音声認識結果（３１２）は正規化されたテキストを含む、生成することと、
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）に基づいて、前記データ処理ハードウェア（７１０）によって、生成された前記未処理の音声認識結果（３１２）に適用する１つまたは複数の非正規化器（３５２）からなるリストを選択することと、
前記データ処理ハードウェア（７１０）によって、生成された前記未処理の音声認識結果（３１２）に順に前記１つまたは複数の非正規化器（３５２）からなる前記リストを適用することにより、生成された前記未処理の音声認識結果（３１２）を非正規化されたテキスト（３２２）へと非正規化することと、
を含む方法（６００）。
【請求項２】
前記音声入力（１０４）を受信することは、前記ユーザに関連付けられているユーザデバイス（２００）から前記音声入力（１０４）に対応するオーディオデータ（１０３）を受信することを含み、
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を取得することは、前記音声入力（１０４）の前記オーディオデータ（１０３）が受信されたときに、前記ユーザデバイス（２００）から前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を受信することを含む、
請求項１に記載の方法（６００）。
【請求項３】
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を取得することは、
前記音声入力（１０４）が受信されたときに、前記ユーザに関連付けられているユーザ識別子（１２）を受信することと、
前記ユーザ識別子（１２）を使用して、前記データ処理ハードウェア（７１０）と通信するメモリハードウェア（１４６、２０６）から前記コンテキストメタデータ（１１０）を取り出すことと、を含む、
請求項１または２に記載の方法（６００）。
【請求項４】
前記コンテキストメタデータ（１１０）は、前記音声入力（１０４）に関連付けられている音声認識カテゴリと、前記ユーザに関連付けられているユーザデバイス（２００）で稼働しているアプリケーションと、前記音声入力（１０４）が受信された時の前記ユーザの場所と、前記ユーザを識別するユーザ識別子（１２）と、前記ユーザに関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含む、
請求項１から３のいずれか一項に記載の方法（６００）。
【請求項５】
前記１つまたは複数の非正規化器（３５２）からなる前記リストを選択することは、複数の非正規化器からなる前記事前定義されたセット（３５０）により複数の非正規化器からなるデフォルトリスト（３４８）を変更することを含み、該変更することは、複数の非正規化器からなる前記デフォルトリスト（３４８）から１つまたは複数の非正規化器（３５２）を除去することと、複数の非正規化器からなる前記事前定義されたセット（３５０）からの１つまたは複数の非正規化器（３５２）を複数の非正規化器からなる前記デフォルトリスト（３４８）に追加することと、のうちの少なくとも１つによって行われる、
請求項１から４のいずれか一項に記載の方法（６００）。
【請求項６】
前記データ処理ハードウェア（７１０）によって、前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）をコンテキストサーバ（４００）に提供することであって、前記コンテキストサーバ（４００）は、前記コンテキストメタデータ（１１０）に基づいて、生成された前記未処理の音声認識結果（３１２）を前記非正規化されたテキスト（３２２）へと非正規化するための非正規化命令（４１０）を生成するように構成されている、提供することと、
前記データ処理ハードウェア（７１０）において、前記コンテキストサーバ（４００）から前記非正規化命令（４１０）を受信することと、をさらに含み、
前記１つまたは複数の非正規化器（３５２）からなる前記リストを選択することは、前記コンテキストサーバ（４００）から受信した前記非正規化命令（４１０）を使用して、前記１つまたは複数の非正規化器（３５２）からなる前記リストを選択することを含む、
請求項１から５のいずれか一項に記載の方法（６００）。
【請求項７】
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を前記コンテキストサーバ（４００）に提供することは、前記音声入力（１０４）または前記音声入力（１０４）に関連付けられているオーディオデータ（１０３）を前記コンテキストサーバ（４００）に提供することなく、前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を前記コンテキストサーバ（４００）に提供することを含む、
請求項６に記載の方法（６００）。
【請求項８】
前記非正規化命令（４１０）は、
複数の非正規化器からなるデフォルトリスト（３４８）の開始位置に先頭追加する新たな非正規化器を識別する先頭追加非正規化器命令であって、複数の非正規化器からなる前記デフォルトリスト（３４８）は、前記コンテキストメタデータ（１１０）がない場合に、生成された前記未処理の音声認識結果（３１２）に順に適用するための複数の非正規化器からなる前記事前定義されたセット（３５０）の一部を含む、先頭追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）の終了位置に後尾追加する新たな非正規化器を識別する後尾追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）から除去される既存の非正規化器を識別する除去非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）において既存の非正規化器を置き換えるために、新たな非正規化器を識別する置換非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）に追加する新たな非正規化器を識別し、前記新たな非正規化器に先行または後続する、複数の非正規化器からなる前記デフォルトリスト（３４８）における既存の非正規化器を識別する追加非正規化器命令と、を含む命令のうちの１つまたは複数の命令を含む、
請求項６または７に記載の方法（６００）。
【請求項９】
前記非正規化命令（４１０）は、複数の非正規化器からなるデフォルトリスト（３４８）を複数の非正規化器（３５２）からなる新たなリストで上書きする上書き命令を含み、複数の非正規化器（３５２）からなる前記新たなリストは、前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストを含む、
請求項６から８のいずれか一項に記載の方法（６００）。
【請求項１０】
前記コンテキストサーバ（４００）は、
前記ＡＳＲモジュール（３００）のクライアントに固有の１つまたは複数のカスタマイズの非正規化規則（４０２）を受信することと、
前記クライアントに固有の前記１つまたは複数のカスタマイズの非正規化規則（４０２）に基づいてカスタマイズの非正規化器をコンパイルすることと、を行うように構成されている、
請求項６から９のいずれか一項に記載の方法（６００）。
【請求項１１】
前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストを使用することにより、生成された前記未処理の音声認識結果（３１２）を前記非正規化されたテキスト（３２２）へと非正規化することは、
対応するキー（３４４）を使用して、前記データ処理ハードウェア（７１０）と通信するメモリハードウェア（１４６、２０６）から前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストにおける各非正規化器を取り出すことと、
前記メモリハードウェア（１４６、２０６）から取り出された前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストにおける各非正規化器を、生成された前記未処理の音声認識結果（３１２）に順に適用することと、を含む、
請求項１から１０のいずれか一項に記載の方法（６００）。
【請求項１２】
前記メモリハードウェア（１４６、２０６）は前記ＡＳＲモジュール（３００）にある、
請求項１１に記載の方法（６００）。
【請求項１３】
前記メモリハードウェア（１４６、２０６）は、前記ＡＳＲモジュール（３００）から離れて配置されたリポジトリ（４４０）を含む、
請求項１１または１２に記載の方法（６００）。
【請求項１４】
生成された前記未処理の音声認識結果（３１２）を前記非正規化されたテキスト（３２２）へと非正規化した後、前記非正規化されたテキスト（３２２）を前記ＡＳＲモジュール（３００）からクライアントデバイス（２００）に送信し、前記非正規化されたテキスト（３２２）は前記クライアントデバイス（２００）によって受信されたとき、前記クライアントデバイス（２００）に、前記クライアントデバイス（２００）の表示画面（２１２）に前記非正規化されたテキスト（３２２）を表示させるように構成されていることをさらに含む、
請求項１から１３のいずれか一項に記載の方法（６００）。
【請求項１５】
前記非正規化されたテキスト（３２２）を前記ＡＳＲモジュール（３００）から送信することは、前記非正規化されたテキスト（３２２）を前記クライアントデバイス（２００）にリアルタイムでストリーミングすることを含む、
請求項１４に記載の方法（６００）。
【請求項１６】
自動音声認識（ＡＳＲ）モジュール（３００）のデータ処理ハードウェア（７１０）であって、前記ＡＳＲモジュール（３００）は、前記ＡＳＲモジュール（３００）によって生成された正規化されたテキストの非正規化に適用するための複数の非正規化器からなる事前定義されたセット（３５０）を含む、データ処理ハードウェア（７１０）と、
命令を記憶するとともに前記データ処理ハードウェア（７１０）と通信する前記ＡＳＲモジュール（３００）のメモリハードウェア（１４６、２０６）と、を含み、前記命令は、前記データ処理ハードウェア（７１０）によって実行されるとき、前記データ処理ハードウェア（７１０）に、
ユーザからの音声入力（１０４）を受信することと、
前記音声入力（１０４）に関連付けられているコンテキストメタデータ（１１０）を取得することと、
前記音声入力（１０４）に対応する未処理の音声認識結果（３１２）を生成することであって、生成された前記未処理の音声認識結果（３１２）は正規化されたテキストを含む、生成することと、
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）に基づいて、生成された前記未処理の音声認識結果（３１２）に適用する１つまたは複数の非正規化器（３５２）からなるリストを選択することと、
生成された前記未処理の音声認識結果（３１２）に順に前記１つまたは複数の非正規化器（３５２）からなる前記リストを適用することにより、生成された前記未処理の音声認識結果（３１２）を非正規化されたテキスト（３２２）へと非正規化することと、を含む動作を実行させる、
システム（１００）。
【請求項１７】
前記音声入力（１０４）を受信することは、前記ユーザに関連付けられているユーザデバイス（２００）から前記音声入力（１０４）に対応するオーディオデータ（１０３）を受信することを含み、
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を取得することは、前記音声入力（１０４）の前記オーディオデータ（１０３）が受信されたときに、前記ユーザデバイス（２００）から前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を受信することを含む、
請求項１６に記載のシステム（１００）。
【請求項１８】
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を取得することは、
前記音声入力（１０４）が受信されたときに、前記ユーザに関連付けられているユーザ識別子（１２）を受信することと、
前記ユーザ識別子（１２）を使用して、前記メモリハードウェア（１４６、２０６）から前記コンテキストメタデータ（１１０）を取り出すことと、を含む、
請求項１６または１７に記載のシステム（１００）。
【請求項１９】
前記コンテキストメタデータ（１１０）は、前記音声入力（１０４）に関連付けられている音声認識カテゴリと、前記ユーザに関連付けられているユーザデバイス（２００）で稼働しているアプリケーションと、前記音声入力（１０４）が受信された時の前記ユーザの場所と、前記ユーザを識別するユーザ識別子（１２）と、前記ユーザに関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含む、
請求項１６から１８のいずれか一項に記載のシステム（１００）。
【請求項２０】
前記１つまたは複数の非正規化器（３５２）からなる前記リストを選択することは、複数の非正規化器からなる前記事前定義されたセット（３５０）により複数の非正規化器からなるデフォルトリスト（３４８）を変更することを含み、該変更することは、複数の非正規化器からなる前記デフォルトリスト（３４８）から１つまたは複数の非正規化器（３５２）を除去することと、複数の非正規化器からなる前記事前定義されたセット（３５０）からの１つまたは複数の非正規化器（３５２）を複数の非正規化器からなる前記デフォルトリスト（３４８）に追加することと、のうちの少なくとも１つによって行われる、
請求項１６から１９のいずれか一項に記載のシステム（１００）。
【請求項２１】
前記動作は、
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）をコンテキストサーバ（４００）に提供することであって、前記コンテキストサーバ（４００）は、前記コンテキストメタデータ（１１０）に基づいて、生成された前記未処理の音声認識結果（３１２）を前記非正規化されたテキスト（３２２）へと非正規化するための非正規化命令（４１０）を生成するように構成されている、提供することと、
前記コンテキストサーバ（４００）から前記非正規化命令（４１０）を受信することと、をさらに含み、
前記１つまたは複数の非正規化器（３５２）からなる前記リストを選択することは、前記コンテキストサーバ（４００）から受信した前記非正規化命令（４１０）を使用して、前記１つまたは複数の非正規化器（３５２）からなる前記リストを選択することを含む、
請求項１６から２０のいずれか一項に記載のシステム（１００）。
【請求項２２】
前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を前記コンテキストサーバ（４００）に提供することは、前記音声入力（１０４）または前記音声入力（１０４）に関連付けられているオーディオデータ（１０３）を前記コンテキストサーバ（４００）に提供することなく、前記音声入力（１０４）に関連付けられている前記コンテキストメタデータ（１１０）を前記コンテキストサーバ（４００）に提供することを含む、
請求項２１に記載のシステム（１００）。
【請求項２３】
前記非正規化命令（４１０）は、
複数の非正規化器からなるデフォルトリスト（３４８）の開始位置に先頭追加する新たな非正規化器を識別する先頭追加非正規化器命令であって、複数の非正規化器からなる前記デフォルトリスト（３４８）は、前記コンテキストメタデータ（１１０）がない場合に、生成された前記未処理の音声認識結果（３１２）に順に適用するための複数の非正規化器からなる前記事前定義されたセット（３５０）の一部を含む、先頭追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）の終了位置に後尾追加する新たな非正規化器を識別する後尾追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）から除去される既存の非正規化器を識別する除去非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）において既存の非正規化器を置き換えるために、新たな非正規化器を識別する置換非正規化器命令と、
複数の非正規化器からなる前記デフォルトリスト（３４８）に追加する新たな非正規化器を識別し、前記新たな非正規化器に先行または後続する、複数の非正規化器からなる前記デフォルトリスト（３４８）における既存の非正規化器を識別する追加非正規化器命令と、を含む命令のうちの１つまたは複数の命令を含む、
請求項２１または２２に記載のシステム（１００）。
【請求項２４】
前記非正規化命令（４１０）は、複数の非正規化器からなるデフォルトリスト（３４８）を複数の非正規化器（３５２）からなる新たなリストで上書きする上書き命令を含み、複数の非正規化器（３５２）からなる前記新たなリストは、前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストを含む、
請求項２１から２３のいずれか一項に記載のシステム（１００）。
【請求項２５】
前記コンテキストサーバ（４００）は、
前記ＡＳＲモジュール（３００）のクライアントに固有の１つまたは複数のカスタマイズの非正規化規則（４０２）を受信することと、
前記クライアントに固有の前記１つまたは複数のカスタマイズの非正規化規則（４０２）に基づいてカスタマイズの非正規化器をコンパイルすることと、を行うように構成されている、
請求項２１から２４のいずれか一項に記載のシステム（１００）。
【請求項２６】
前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストを使用することにより、生成された前記未処理の音声認識結果（３１２）を前記非正規化されたテキスト（３２２）へと非正規化することは、
対応するキー（３４４）を使用して、前記メモリハードウェア（１４６、２０６）から前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストにおける各非正規化器を取り出すことと、
前記メモリハードウェア（１４６、２０６）から取り出された前記１つまたは複数の非正規化器（３５２）からなる前記選択されたリストにおける各非正規化器を、生成された前記未処理の音声認識結果（３１２）に順に適用することと、を含む、
請求項１６から２５のいずれか一項に記載のシステム（１００）。
【請求項２７】
前記メモリハードウェア（１４６、２０６）は前記ＡＳＲモジュール（３００）にある、
請求項２６に記載のシステム（１００）。
【請求項２８】
前記メモリハードウェア（１４６、２０６）は、前記ＡＳＲモジュール（３００）から離れて配置されたリポジトリ（４４０）を含む、
請求項２６または２７に記載のシステム（１００）。
【請求項２９】
前記動作は、生成された前記未処理の音声認識結果（３１２）を前記非正規化されたテキスト（３２２）へと非正規化した後、前記非正規化されたテキスト（３２２）を前記ＡＳＲモジュール（３００）からクライアントデバイス（２００）に送信し、前記非正規化されたテキスト（３２２）は前記クライアントデバイス（２００）によって受信されたとき、前記クライアントデバイス（２００）に、前記クライアントデバイス（２００）の表示画面（２１２）に前記非正規化されたテキスト（３２２）を表示させるように構成されていることをさらに含む、
請求項１６から２８のいずれか一項に記載のシステム（１００）。
【請求項３０】
前記非正規化されたテキスト（３２２）を前記ＡＳＲモジュール（３００）から送信することは、前記非正規化されたテキスト（３２２）を前記クライアントデバイス（２００）にリアルタイムでストリーミングすることを含む、
請求項２９に記載のシステム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自動音声認識のためのコンテキスト非正規化に関する。
【背景技術】
【０００２】
自動音声認識（ＡＳＲ）システムは、正規化されたテキストでこれらのＡＳＲシステムをトレーニングした結果として、正規化されたテキストを含む未処理の音声認識結果を生成する。正規化されたテキストとは、すべての文字が小文字で、すべての句読点が削除された、言語化されたテキストを指す。次に、ＡＳＲシステムは、未処理の音声認識結果をユーザのために可読性を高めた形式に非正規化するための複数の非正規化器からなるセットを組み込む。例えば、複数の非正規化器からなるセットは、綴られた数字を言語化し（例えば、「百七十七（ｏｎｅ−ｈｕｎｄｒｅｄ  ａｎｄ  ｓｅｖｅｎｔｙ−ｓｅｖｅｎ）」を「１７７」に変換する）、適切な文字を大文字にして（例えば、「テキストをジョンに送信する（ｓｅｎｄ  ａ  ｔｅｘｔ  ｔｏ  ｊｏｈｎ）」を「テキストをジョンに送信する（Ｓｅｎｄ  ａ  ｔｅｘｔ  ｔｏ  Ｊｏｈｎ）」にする）、句読点を追加することによって（例えば、「ありがとう感嘆符」を「ありがとう！」に変換する）、未処理の音声認識結果を変換する場合がある。複数の非正規化器からなるセットは、一連の非正規化器規則に対応しており（最初の非正規化器は未処理の音声認識結果から始めて、以降の各非正規化器は前の非正規化器の出力を入力として受け取る）、最適なものはユーザの状態と嗜好に部分的に依存するので、すべてのＡＳＲ出力のユースケースに最適な非正規化規則からなる単一のシーケンスは存在しない。その結果、ＡＳＲシステムは一般に、手元のアプリケーションに応じて、音声を転写するために異なるＡＳＲモジュールに依存している。例えば、あるＡＳＲモジュールが、ユーザが音声を口述しているときに使用される場合があり、別のＡＳＲモジュールが、ユーザがボイス検索を実行しているときに使用される（ｂｅ  ｓｕｅｄ）場合がある。複数のＡＳＲモジュールを使用しても、各ユーザのためのカスタマイズの非正規化には対応できず、また、音声認識結果を出力するために複数のＡＳＲモジュールを維持およびアクセスする必要があるため、コストと遅延が増加する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本開示は、自動音声認識のためのコンテキスト非正規化に関する。
【課題を解決するための手段】
【０００４】
本開示の一態様によれば、未処理の音声認識結果を非正規化するための方法が提供される。前記方法は、自動音声認識（ＡＳＲ）モジュールのデータ処理ハードウェアにおいて、ユーザからの音声入力を受信することを含む。前記ＡＳＲモジュールは、前記ＡＳＲモジュールによって生成された正規化されたテキストの非正規化に適用するための複数の非正規化器からなる事前定義されたセットを含む。前記方法は、前記データ処理ハードウェアによって、前記音声入力に関連付けられているコンテキストメタデータを取得することと、前記データ処理ハードウェアによって、前記音声入力に対応する未処理の音声認識結果を生成することと、を含む。生成された未処理の音声認識結果は正規化されたテキストを含む。前記方法は、前記音声入力に関連付けられているコンテキストメタデータに基づいて、前記データ処理ハードウェアによって、生成された前記未処理の音声認識結果に適用する１つまたは複数の非正規化器からなるリストを選択することと、前記データ処理ハードウェアによって、生成された未処理の音声認識結果に順に前記１つまたは複数の非正規化器からなるリストを適用することにより、生成された未処理の音声認識結果を非正規化されたテキストへと非正規化することと、をさらに含む。
【０００５】
本開示の実装形態は、以下の任意の特徴のうちの１つまたは複数を含み得る。一部の実装形態では、前記音声入力を受信することは、前記ユーザに関連付けられているユーザデバイスから前記音声入力に対応するオーディオデータを受信することを含み、前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、前記音声入力の前記オーディオデータが受信されたときに、前記ユーザデバイスから前記音声入力に関連付けられている前記コンテキストメタデータを受信することを含む。一部の例では、前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、前記音声入力が受信されたときに、前記ユーザに関連付けられているユーザ識別子を受信することと、前記ユーザ識別子を使用して、前記データ処理ハードウェアと通信するメモリハードウェアから前記コンテキストメタデータを取り出すことと、を含む。前記コンテキストメタデータは、前記音声入力に関連付けられている音声認識カテゴリと、前記ユーザに関連付けられている前記ユーザデバイスで稼働しているアプリケーションと、前記音声入力が受信された時のユーザの場所と、前記ユーザを識別する前記ユーザ識別子と、前記ユーザに関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含んでいてもよい。一部の実装形態では、前記１つまたは複数の非正規化器からなる前記リストを選択することは、複数の非正規化器からなる前記事前定義されたセットにより複数の非正規化器からなるデフォルトリストを変更することを含み、該変更することは、複数の非正規化器からなる前記デフォルトリストから１つまたは複数の非正規化器を除去することと、複数の非正規化器からなる前記事前定義されたセットからの１つまたは複数の非正規化器を複数の非正規化器からなる前記デフォルトリストに追加することと、のうちの少なくとも１つによって行われる。
【０００６】
一部の実装形態では、前記方法は、前記データ処理ハードウェアによって、前記音声入力に関連付けられている前記コンテキストメタデータをコンテキストサーバに提供することと、前記データ処理ハードウェアにおいて、前記コンテキストサーバから前記非正規化命令を受信することと、をさらに含み、前記コンテキストサーバは、前記コンテキストメタデータに基づいて、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化するための非正規化命令を生成するように構成されている。これらの実装形態では、前記１つまたは複数の非正規化器からなる前記リストを選択することは、前記コンテキストサーバから受信した前記非正規化命令を使用して、前記１つまたは複数の非正規化器からなる前記リストを選択することを含む。一部の例では、前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することは、前記音声入力または前記音声入力に関連付けられているオーディオデータを前記コンテキストサーバに提供することなく、前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することを含む。
【０００７】
一部の例では、前記非正規化命令は、複数の非正規化器からなるデフォルトリストの開始位置に先頭追加する新たな非正規化器を識別する先頭追加非正規化器命令であって、複数の非正規化器からなる前記デフォルトリストは、前記コンテキストデータがない場合に、生成された前記未処理の音声認識結果に順に適用するための複数の非正規化器からなる前記事前定義されたセットの一部を含む、先頭追加非正規化器命令と、複数の非正規化器からなる前記デフォルトリストの終了位置に後尾追加する新たな非正規化器を識別する後尾追加非正規化器命令と、複数の非正規化器からなる前記デフォルトリストから除去される既存の非正規化器を識別する除去非正規化器命令と、複数の非正規化器からなる前記デフォルトリストにおいて既存の非正規化器を置き換えるために、新たな非正規化器を識別する置換非正規化器命令と、複数の非正規化器からなる前記デフォルトリストに追加する新たな非正規化器を識別し、前記新たな非正規化器に先行または後続する、複数の非正規化器からなる前記デフォルトリストにおける既存の非正規化器を識別する追加非正規化器命令と、を含む命令のうちの１つまたは複数の命令を含む。これに代えて、前記非正規化命令は、複数の非正規化器からなる前記デフォルトリストを複数の非正規化器からなる新たなリストで上書きする上書き命令を含んでいてもよい。複数の非正規化器からなる前記新たなリストは、前記１つまたは複数の非正規化器からなる前記選択されたリストを含んでいてもよい。一部の実装形態では、前記コンテキストサーバは、前記ＡＳＲモジュールのクライアントに固有の１つまたは複数のカスタマイズの非正規化規則を受信することと、前記クライアントに固有の前記１つまたは複数のカスタマイズの非正規化規則に基づいてカスタマイズの非正規化器をコンパイルすることと、を行うように構成されている。
【０００８】
一部の実装形態では、前記１つまたは複数の非正規化器からなる前記選択されたリストを使用することにより、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化することは、対応するキーを使用して、メモリハードウェアから前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を取り出すことと、前記メモリハードウェアから取り出された前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を、生成された前記未処理の音声認識結果に順に適用することと、を含む。前記メモリハードウェアは、前記データ処理ハードウェアと通信する。一部の例では、前記メモリハードウェアは前記ＡＳＲモジュールにある。他の例では、前記メモリハードウェアは、前記ＡＳＲモジュールから離れて配置されたリポジトリを含む。
【０００９】
一部の例では、前記方法は、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化した後、前記非正規化されたテキストを前記ＡＳＲモジュールからクライアントデバイスに送信することをさらに含む。これらの例では、前記非正規化されたテキストは前記クライアントデバイスによって受信されたとき、前記クライアントデバイスに、前記クライアントデバイスの表示画面に前記非正規化されたテキストを表示させるように構成されている。一部の実装形態では、前記非正規化されたテキストを前記ＡＳＲモジュールから送信することは、前記非正規化されたテキストを前記クライアントデバイスにリアルタイムでストリーミングすることを含む。
【００１０】
本開示の別の態様によれば、未処理の音声認識結果を非正規化するためのシステムが提供される。前記システムは、自動音声認識（ＡＳＲ）モジュールのデータ処理ハードウェアと、前記データ処理ハードウェアと通信する前記ＡＳＲモジュールのメモリハードウェアと、を含む。前記ＡＳＲモジュールは、前記ＡＳＲモジュールによって生成された正規化されたテキストの非正規化に適用するための複数の非正規化器からなる事前定義されたセットを含む。前記メモリハードウェアは、前記データ処理ハードウェアによって実行されるとき、前記データ処理ハードウェアに、ユーザからの音声入力を受信することと、前記音声入力に関連付けられているコンテキストメタデータを取得することと、前記音声入力に対応する未処理の音声認識結果を生成することと、を含む動作を実行させる命令を記憶する。生成された未処理の音声認識結果は正規化されたテキストを含む。前記動作は、前記音声入力に関連付けられているコンテキストメタデータに基づいて、生成された前記未処理の音声認識結果に適用する１つまたは複数の非正規化器からなるリストを選択することと、生成された未処理の音声認識結果に順に前記１つまたは複数の非正規化器からなるリストを適用することにより、生成された未処理の音声認識結果を非正規化されたテキストへと非正規化することと、をさらに含む。
【００１１】
本開示の実装形態は、以下の任意の特徴のうちの１つまたは複数を含み得る。一部の実装形態では、前記音声入力を受信することは、前記ユーザに関連付けられているユーザデバイスから前記音声入力に対応するオーディオデータを受信することを含み、前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、前記音声入力の前記オーディオデータが受信されたときに、前記ユーザデバイスから前記音声入力に関連付けられている前記コンテキストメタデータを受信することを含む。一部の例では、前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、前記音声入力が受信されたときに、前記ユーザに関連付けられているユーザ識別子を受信することと、前記ユーザ識別子を使用して、前記メモリハードウェアから前記コンテキストメタデータを取り出すことと、を含む。前記コンテキストメタデータは、前記音声入力に関連付けられている音声認識カテゴリと、前記ユーザに関連付けられている前記ユーザデバイスで稼働しているアプリケーションと、前記音声入力が受信された時のユーザの場所と、前記ユーザを識別する前記ユーザ識別子と、前記ユーザに関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含んでいてもよい。一部の実装形態では、前記１つまたは複数の非正規化器からなる前記リストを選択することは、複数の非正規化器からなる前記事前定義されたセットにより複数の非正規化器からなるデフォルトリストを変更することを含み、該変更することは、複数の非正規化器からなる前記デフォルトリストから１つまたは複数の非正規化器を除去することと、複数の非正規化器からなる前記事前定義されたセットからの１つまたは複数の非正規化器を複数の非正規化器からなる前記デフォルトリストに追加することと、のうちの少なくとも１つによって行われる。
【００１２】
一部の実装形態では、前記動作は、前記音声入力に関連付けられているコンテキストメタデータをコンテキストサーバに提供することと、前記コンテキストサーバから前記非正規化命令を受信することと、をさらに含み、前記コンテキストサーバは、前記コンテキストメタデータに基づいて、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化するための非正規化命令を生成するように構成されている。これらの実装形態では、前記１つまたは複数の非正規化器からなる前記リストを選択することは、前記コンテキストサーバから受信した前記非正規化命令を使用して、前記１つまたは複数の非正規化器からなる前記リストを選択することを含む。一部の例では、前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することは、前記音声入力または前記音声入力に関連付けられているオーディオデータを前記コンテキストサーバに提供することなく、前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することを含む。
【００１３】
一部の例では、前記非正規化命令は、複数の非正規化器からなるデフォルトリストの開始位置に先頭追加する新たな非正規化器を識別する先頭追加非正規化器命令であって、複数の非正規化器からなる前記デフォルトリストは、前記コンテキストデータがない場合に、生成された前記未処理の音声認識結果に順に適用するための複数の非正規化器からなる前記事前定義されたセットの一部を含む、先頭追加非正規化器命令と、複数の非正規化器からなる前記デフォルトリストの終了位置に後尾追加する新たな非正規化器を識別する後尾追加非正規化器命令と、複数の非正規化器からなる前記デフォルトリストから除去される既存の非正規化器を識別する除去非正規化器命令と、複数の非正規化器からなる前記デフォルトリストにおいて既存の非正規化器を置き換えるために、新たな非正規化器を識別する置換非正規化器命令と、複数の非正規化器からなる前記デフォルトリストに追加する新たな非正規化器を識別し、前記新たな非正規化器に先行または後続する、複数の非正規化器からなる前記デフォルトリストにおける既存の非正規化器を識別する追加非正規化器命令と、を含む命令のうちの１つまたは複数の命令を含む。追加的に又はこれに代えて、前記非正規化命令は、複数の非正規化器からなる前記デフォルトリストを複数の非正規化器からなる新たなリストで上書きする上書き命令を含んでいてもよい。複数の非正規化器からなる前記新たなリストは、前記１つまたは複数の非正規化器からなる前記選択されたリストを含んでいてもよい。一部の実装形態では、前記コンテキストサーバは、前記ＡＳＲモジュールのクライアントに固有の１つまたは複数のカスタマイズの非正規化規則を受信することと、前記クライアントに固有の前記１つまたは複数のカスタマイズの非正規化規則に基づいてカスタマイズの非正規化器をコンパイルすることと、を行うように構成されている。
【００１４】
一部の例では、前記１つまたは複数の非正規化器からなる前記選択されたリストを使用することにより、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化することは、対応するキーを使用して、前記メモリハードウェアから前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を取り出すことと、前記メモリハードウェアから取り出された前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を、生成された前記未処理の音声認識結果に順に適用することと、を含む。一部の例では、前記メモリハードウェアは前記ＡＳＲモジュールにある。他の例では、前記メモリハードウェアは、前記ＡＳＲモジュールから離れて配置されたリポジトリを含む。
【００１５】
一部の実装形態では、前記動作は、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化した後、前記非正規化されたテキストを前記ＡＳＲモジュールからクライアントデバイスに送信することをさらに含む。これらの実装形態では、前記非正規化されたテキストは前記クライアントデバイスによって受信されたとき、前記クライアントデバイスに、前記クライアントデバイスの表示画面に前記非正規化されたテキストを表示させるように構成されている。一部の例では、前記非正規化されたテキストを前記ＡＳＲモジュールから送信することは、前記非正規化されたテキストを前記クライアントデバイスにリアルタイムでストリーミングすることを含む。
【００１６】
本開示の１つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明、図面、および特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【００１７】
【図１】自動音声認識（ＡＳＲ）モジュールからの未処理の音声認識結果を非正規化するための例示的なシステムを概略的に示す図。
【図２Ａ】ユーザデバイスからのコンテキストメタデータに基づいてテキストを非正規化し、非正規化されたテキストをユーザデバイスに送信する図１のＡＳＲモジュールの概略図。
【図２Ｂ】ユーザデバイスからのコンテキストメタデータに基づいてテキストを非正規化し、非正規化されたテキストをユーザデバイスに送信する図１のＡＳＲモジュールの概略図。
【図３】未処理の音声認識結果を非正規化するための非正規化器モジュールに非正規化命令を提供するコンテキストサーバを概略的に示す図。
【図４Ａ】ユーザに関連付けられているユーザデバイスから受信したパーソナライズされた非正規化規則に基づいて、ユーザのためにパーソナライズされた複数の非正規化器をコンパイルするコンテキストサーバの概略図。
【図４Ｂ】ユーザに関連付けられているユーザデバイスから受信したパーソナライズされた非正規化規則に基づいて、ユーザのためにパーソナライズされた複数の非正規化器をコンパイルするコンテキストサーバの概略図。
【図５】非正規化されたテキストを受信する例示的な出力部の概略図。
【図６】未処理の音声認識結果を非正規化する方法のための動作の例示的な構成のフローチャート。
【図７】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図。
【発明を実施するための形態】
【００１８】
さまざまな図面での同様の参照番号は、同様の要素を示す。
自動音声認識（ＡＳＲ）システムでの複数の非正規化器の使用は、文法的に正しく、可読性について最適化されたテキストを出力するために最重要である。ＡＳＲモジュールは、テキストはすべての句読点が削除され、大文字は含まず、すべての数字は言語化されたテキストを含む（例えば、「１７７」ではなく「百七十七（ｏｎｅ−ｈｕｎｄｒｅｄ  ａｎｄ  ｓｅｖｅｎｔｙ−ｓｅｖｅｎ）」）といった、「正規化」されたテキストのコーパスでトレーニングされる。結果として、トレーニングされたＡＳＲモジュールは、推論中、発話を受信すると、最初に、「正規化された」テキストを示す未処理の音声認識結果（例えば、未処理の転写）を生成する。可読性のために最適化された転写をユーザに提供するために、ＡＳＲモジュールは、複数の非正規化器からなるリストを使用して、未処理の音声認識結果を可読性をより高めた形式に変換する。ここで、非正規化器からなるセットの最初の非正規化器は、未処理の音声認識結果を受け取り、以降の各非正規化子は、複数の非正規化器からなるセット内の前の非正規化器の対応する出力を入力として受け取る。各非正規化器は、テキストの入力に対して非正規化のいくつかの態様を実行する、対応する非正規化規則または非正規化モデルに関連付けられている。例えば、大文字化非正規化規則は、「メッセージをジョンに送信する（ｓｅｎｄ  ａ  ｍｅｓｓａｇｅ  ｔｏ  ｊｏｈｎ）」というフレーズを「メッセージをジョンに送信する（Ｓｅｎｄ  ａ  ｍｅｓｓａｇｅ  ｔｏ  Ｊｏｈｎ）」に変換してもよく、言語化非正規化規則は、すべての言語化されたテキスト（例えば「六十五（ｓｉｘｔｙ−ｆｉｖｅ）」）を書面形式（例えば、「６５」）に変換し、非明示的句読点非正規化規則は、句読点記号を追加し（例えば、「ありがとうございます先生（ｔｈａｎｋ  ｙｏｕ  ｓｉｒ）」を「ありがとうございます、先生（ｔｈａｎｋ  ｙｏｕ，  ｓｉｒ）」に変換する）、明示的句読点非正規化規則は、句読点記号を生成し（例えば、ありがとう感嘆符を「ありがとう！」に変換する）、翻字非正規化器は、テキストを対応する字に翻字し、表意文字的非正規化器は、対応するテキスト（例えば、「：）」）から表意文字（例えば、スマイリーフェイスの絵文字）を生成し、不快単語非正規化器は、不快な単語中の１つ以上の文字を星、アスタリスク、および／または他の字で置き換えることによって、不快な単語を覆い隠す。
【００１９】
本明細書の実装形態は、音声入力のコンテキストに基づいて、対応する音声入力の未処理の音声認識結果に、複数の非正規化からなるコンテキスト化されたリストを動的に適用するように構成された単一のＡＳＲモジュールに関する。ここで、ＡＳＲモジュールは、ユーザから音声入力（例えば、音声認識要求）を受信してもよく、音声入力に対応する未処理の音声認識結果（例えば、正規化されているテキスト）を生成してもよく、音声入力に関連付けられているコンテキストメタデータを取得してもよく、生成された未処理の音声認識結果を非正規化されたテキストに非正規化するために、音声入力に関連付けられているコンテキストメタデータに基づいて１つまたは複数の非正規化器からなるリストを選択してもよい。ＡＳＲモジュールは、１つまたは複数の非正規化器からなる選択されたリストからの各非正規化器を、生成された未処理の音声認識結果に順に適用するように構成される。有利には、複数の非正規化からなる事前定義されたセットを含む単一のＡＳＲモジュールは、音声入力に関連付けられているコンテキストメタデータを使用して、複数の非正規化器からなる事前定義されたセットから１つまたは複数の非正規化器からなる適切なリストを選択することによって、ユーザ集団全体に対して音声認識タスクを実行し得る。したがって、所与の音声入力に関連付けられているコンテキストメタデータに基づいて選択される１つまたは複数の非正規化器からなるリストが、複数のＡＳＲモジュール／エンジンを必要とせずに、所与の音声入力に対応する未処理の音声認識結果を非正規化する方法をパーソナライズする。
【００２０】
ＡＳＲモジュールは、音声入力が受信されたときに、ユーザからの音声入力に関連付けられているコンテキストメタデータを受信してもよく、および／または、音声入力を受信した後、別のソースからコンテキストメタデータの少なくとも一部を取り出してもよい。音声入力に関連付けられているコンテキストメタデータは、音声入力に関連付けられている音声認識カテゴリ、非正規化されたテキストを活用することが意図されているユーザデバイスで稼働しているアプリケーション、ユーザを識別するユーザ識別子、音声入力を受信した時のユーザの場所、ユーザに関連付けられている人口統計情報、および／または、テキストの非正規化に関するユーザ嗜好を含み得るが、これらに限定されない。一部のシナリオでは、コンテキストメタデータは、未処理の音声認識結果を非正規化するためにオンザフライで適用するＡＳＲモジュール用にユーザが提供する１つまたは複数のパーソナライズされた非正規化規則を含む場合がある。ＡＳＲモジュールは、複数の非正規化器からなる事前定義されたセットを記憶するインメモリを含み、ＡＳＲモジュールは、未処理の音声認識結果を非正規化に関するコンテキストメタデータに基づいて、そこから適切な複数の非正規化器にアクセスすることができる。例えば、インメモリは、複数の非正規化器からなる事前定義されたセットのキーバリューマップを維持するデータストレージを含んでいてもよく、ＡＳＲモジュールは、対応するキーを提供することにより、データストアから任意の所与の非正規化器（つまりバリュー）を取り出し得る。任意選択により、ＡＳＲモジュールは、使用頻度の低い非正規化器を記憶する別のリポジトリにアクセスしてもよく、必要に応じて、これらの非正規化器をリポジトリから取り出してよく、これにより、ＡＳＲモジュールでのストレージ要件が緩和される。追加的に又はこれに代えて、ＡＳＲモジュールは、他のソースから取り出すＡＳＲモジュールのカスタマイズの／パーソナライズされた非正規化器を指定する非正規化命令を受け取る場合がある。
【００２１】
一部の例では、ＡＳＲモジュールは、対応する音声入力に関連付けられているコンテキストメタデータが存在しない場合は常に、未処理の音声認識結果を非正規化するための複数の非正規化器からなるデフォルトリストを使用するように構成されている。したがって、対応する音声入力に関連付けられているコンテキストメタデータが利用可能な場合、ＡＳＲモジュールは、コンテキストメタデータに基づいて複数の非正規化器からなるデフォルトリストを変更するように構成されている。具体的には、ＡＳＲモジュールは、コンテキストメタデータに基づいて、生成された未処理の音声認識結果を非正規化されたテキストへと非正規化するための非正規化命令を生成することと、非正規化命令をＡＳＲモジュールに提供することと、を行うように構成されているコンテキストサーバにコンテキストメタデータを転送する場合がある。ＡＳＲモジュールは、音声入力または音声入力に関連付けられているオーディオデータをコンテキストサーバに提供することなく、コンテキストメタデータをコンテキストサーバに転送してもよい。コンテキストサーバは、非正規化命令を生成するためにコンテキストメタデータを処理するだけでよいため、ＡＳＲモジュールは、未処理の音声認識結果を生成する一方で、コンテキストサーバは、追加の遅延を発生させることなく、非正規化命令を同時に生成してＡＳＲモジュールに提供できる。その後、ＡＳＲモジュールは、非正規化命令を使用して、複数の非正規化器からなるデフォルトリストを変更することにより、１つまたは複数の非正規化器からなるリストを選択する。例えば、非正規化命令は、複数の非正規化器からなるデフォルトリストから１つまたは複数の非正規化器を除去することと、１つまたは複数の新たな非正規化器を複数の非正規化器からなるデフォルトリストに追加することと、生成された未処理の音声認識結果を非正規化するための複数の非正規化器からなる変更されたリスト中の各非正規化器を適用するシーケンスを指定することと、のうちの少なくとも１つによって、複数の非正規化器からなるデフォルトリストを変更するようにＡＳＲモジュールに命令する場合がある。
【００２２】
一部のシナリオでは、前記非正規化命令は、複数の非正規化器からなる前記デフォルトリストを複数の非正規化器からなる新たなリストで上書きする上書き命令を含む。これらのシナリオでは、コンテキストサーバは、複数の非正規化器からなるデフォルトリストに関する知識を持つ必要はなく、複数の非正規化器からなる事前定義されたセットから、複数の非正規化器からなる新たなリスト中の各非正規化器を識別し得る。コンテキストサーバが複数の非正規化器からなるデフォルトリストをどのように変更または上書きするかに関係なく、非正規化命令は、ＡＳＲモジュールのデータストアに記憶されている複数の非正規化器からなる事前定義されたセットから対応する各非正規化器（例えば、バリュー）をフェッチ／取り出しするために使用するＡＳＲモジュールのキーのみを含むだけでよい。一部の実装形態では、上書き命令は、複数の非正規化器からなるデフォルトリストを、所与のユーザに固有で、複数の非正規化器からなる事前定義されたセットに含まれていない１つまたは複数のパーソナライズされた非正規化器で上書きする。これらの実装形態では、非正規化命令は、ＡＳＲモジュールがオンザフライで適用するためのパーソナライズされた非正規化器に対応する実際のデータを含む場合があり、または、非正規化命令は、パーソナライズされた非正規化リポジトリからパーソナライズされた複数の非正規化器をフェッチするために使用するＡＳＲモジュールのための対応するキーを含む場合がある。
【００２３】
図１を参照して、一部の実装形態では、システム１００は、ネットワーク１３０を介してリモートシステム１４０と通信することができるユーザ１０に関連付けられているユーザデバイス２００を含む。リモートシステム１４０は、スケーラブル／エラスティックリソース１４２を有する分散システム（例えば、クラウドコンピューティング環境）であり得る。リソース１４２は、コンピューティングリソース１４４（例えば、データ処理ハードウェア）および／またはストレージリソース１４６（例えば、メモリハードウェア）を含む。一部の実装形態では、リモートシステム１４０は、ユーザデバイス２００からの音声入力１０４に対応するオーディオデータ１０３を受信することと、音声入力１０４に対応する未処理の音声認識結果３１２を生成することと、生成された未処理の音声認識結果３１２を非正規化されたテキスト３２２へと非正規化することと、行うように構成された自動音声認識（ＡＳＲ）モジュール３００、３００ａを実行する。本明細書で使用されるように、未処理の音声認識結果３１２は、テキストが言語化され、すべての句読点および大文字が取り除かれた、音声入力１０４に対応するオーディオデータ１０３から変換された正規化されたテキストに対応する。逆に、非正規化されたテキスト３２２は、未処理の音声認識結果３１２の、ユーザ１０にとっての可読性を高めた形式へ変換されたものを含む。例えば、未処理の音声認識結果３１２を非正規化されたテキスト３２２へと非正規化することは、綴られた数字を言語化し（例えば、「百七十七（ｏｎｅ−ｈｕｎｄｒｅｄ  ａｎｄ  ｓｅｖｅｎｔｙ−ｓｅｖｅｎ）」を「１７７」に変換する）、適切な文字を大文字にして（例えば、「テキストをジョンに送信する（ｓｅｎｄ  ａ  ｔｅｘｔ  ｔｏ  ｊｏｈｎ）」を「テキストをジョンに送信する（Ｓｅｎｄ  ａ  ｔｅｘｔ  ｔｏ  Ｊｏｈｎ）」にする）、句読点を追加すること（例えば、「ありがとう感嘆符」を「ありがとう！」に変換する）を含み得る。
【００２４】
ユーザデバイス２００は、データ処理ハードウェア２０４およびメモリハードウェア２０６を含む。ユーザデバイス２００は、ユーザ１０からの音声入力１０４をキャプチャし、オーディオデータ１０３（例えば、電気信号）に変換するためのオーディオキャプチャデバイス（例えば、マイクロフォン）を含み得る。一部の実装形態では、データ処理ハードウェア２０４は、リモートシステム１４０上で実行するＡＳＲモジュール３００ａの代わりに、ＡＳＲモジュール３００、３００ｂを実行するように構成される。ユーザデバイス２００は、ネットワーク１３０を通じてリモートシステム１４０と通信することができる任意のコンピューティングデバイスであり得る。ユーザデバイス２００は、ラップトップ、タブレット、スマートフォン、およびウェアラブルコンピューティングデバイス（例えば、ヘッドセットおよび／または時計）などのモバイルコンピューティングデバイスおよびデスクトップコンピューティングデバイスを含むが、これらに限定されない。
【００２５】
示されている例では、ユーザ１０は、話すことによって音声入力１０４をユーザデバイス２００に提供することができ、ユーザデバイス２００は、音声入力１０４をキャプチャしてオーディオデータ１０３に変換することができる。次に、ユーザデバイス２００は、オーディオデータ１０３および音声入力１０４に関連付けられているコンテキストメタデータ１１０を含むＡＳＲ要求１０２を、リモートシステム１４０上で実行するＡＳＲモジュール３００ａに送信することができる。ここで、ＡＳＲ要求１０２は、音声入力１０４に関連付けられているコンテキストメタデータ１１０に基づいて、音声入力１０４を対応する非正規化されたテキスト３２２へとアノテーションを行うようにＡＳＲ３００に要求する。ユーザデバイス２００は、任意選択により、ＡＳＲモジュール３００ｂを実行して、音声入力１０４を対応する非正規化テされたテキスト３２２へとアノテーションを行うことができる。例えば、ネットワーク通信がダウンしているか利用できない場合、ユーザデバイス２００は、ローカルでＡＳＲモジュール３００ｂを実行して、キャプチャされた音声入力１０４を対応する非正規化テされたテキスト３２２へとアノテーションを行うことができる。
【００２６】
ＡＳＲモジュール３００は、レコグナイザ３１０、非正規化器モジュール３２０、データストレージ３４０、およびコンテキストサーバ４００を含む。コンテキストサーバ４００は、ＡＳＲモジュール３００の構成要素として示されているが、コンテキストサーバ４００は、本開示の範囲から逸脱することなく、他の例ではＡＳＲモジュール３００と通信する別個の構成要素であり得る。ＡＳＲモジュール３００は、ＡＳＲ要求１０２を受信し、音声入力１０４に対応するオーディオデータ１０３をレコグナイザ３１０に提供し、コンテキストメタデータ１１０をコンテキストサーバ４００に転送するように構成されている。ここで、レコグナイザ３１０は、音声入力１０４に対応する未処理の音声認識結果３１２（例えば、正規化されているテキスト）を生成するように構成されており、これと同時に、コンテキストサーバ４００は、コンテキストメタデータ１１０に基づいて、未処理の音声認識結果３１２を非正規化するための非正規化命令４１０を生成するように構成されている。したがって、音声入力１０４も音声入力１０４に関連付けられているオーディオデータ１０３もコンテキストサーバ４００に提供されないので、コンテキストサーバ４００は、非正規化命令４１０を生成するためにコンテキストメタデータ１１０を処理するだけでよい。結果として、ＡＳＲモジュール３００は、追加の遅延を発生させることなく、コンテキストサーバ４００を介して非正規化命令４１０を生成し、レコグナイザ３１０を介して未処理の音声認識結果３１２を同時に生成することができる。
【００２７】
ＡＳＲモジュール３００のデータストレージ３４０（例えば、メモリハードウェア）は、非正規化器モジュール３２０で受信された正規化されているテキスト（例えば、未処理の音声認識結果３１２）の入力に対する非正規化のいくつかの態様を実行に係る、それぞれが対応する非正規化規則または非正規化モデルに対応する複数の非正規化器からなる事前定義されたセット３５０を記憶する。例えば、複数の非正規化器からなる事前定義されたセット３５０は、大文字化非正規化器、言語化非正規化器、非明示的句読点非正規化器、明示的句読点非正規化器、翻字非正規化器、表意文字的非正規化器、または不快単語非正規化器のうちの少なくとも１つを含み得るが、これらに限定されない。
【００２８】
非正規化器モジュール３２０は、音声入力１０４に関連付けられているコンテキストメタデータ１１０に基づいて、未処理の音声認識結果３１２に適用する１つまたは複数の非正規化器３５０からなるリストを選択するように構成されている。より詳細には、非正規化器モジュール３２０は、コンテキストサーバ４００によって生成された非正規化命令４１０を使用して、未処理の音声認識結果３１２の非正規化に適用する１つまたは複数の非正規化器３５０からなるリストを選択する。一部の例では、非正規化命令４１０は、データストレージ３４０内に記憶された複数の非正規化器からなる事前定義されたセット３５０から対応する複数の非正規化器３５０を取り出すことによって、非正規化器モジュール３２０が選択する１つまたは複数の非正規化器３５０からなるリストを識別する。これらの例では、命令４１０は、各非正規化器を識別し、非正規化器モジュール３２０がデータストレージ３４０から対応する非正規化器３５０を取り出すために使用する対応するキー３４４（図３）を提供する。他の例では、非正規化命令４１０は、他の複数の非正規化器を識別し、例えば、特定のユーザ１０のためにオンザフライでコンパイルされるカスタマイズの／パーソナライズされた非正規化器４５０（図４Ａおよび図４ｂ）、または、データストレージ３４０内の複数の非正規化器からなる事前定義されたセット３５０に含まれない、使用頻度の低い複数の非正規化器を識別する。一部の実装形態では、特定のユーザ１０に関連付けられているパーソナライズされた複数の非正規化器４５０は暗号化され、非正規化器モジュール３２０は、ユーザ１０が適切な復号キーを提供する場合にのみ、パーソナライズされた複数の非正規化器を復号できる。
【００２９】
コンテキストサーバ４００によって取得されるコンテキストメタデータ１１０は、音声入力１０４に関連付けられている音声認識カテゴリと、ユーザ１０に関連付けられているユーザデバイス２００で稼働しているアプリケーションと、ＡＳＲモジュール３００によって音声入力１０４が受信された時のユーザ１０の場所と、ユーザを識別するユーザ識別子と、ユーザ１０に関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含む。
【００３０】
音声入力１０４に関連付けられている音声認識カテゴリは、音声入力１０４が口述のためにテキストに変換されるか否か、または音声入力１０４がユーザデバイス２００が実行するためのボイス検索またはコマンドとして提供されるか否かを示し得る。後者の場合、ＡＳＲモジュール３００は、音声入力１０４によって指定されたボイス検索またはコマンドのアノテーションとして、ユーザデバイス２００に表示するために、音声入力１０４を非正規化されたテキスト３２２に変換する。音声入力１０４に関連付けられている音声認識カテゴリは、会話、オーディオ／ビデオ会議、またはボイスメール録音の一部として音声入力１０４を転写するなどの他のカテゴリを含むことができるが、これらに限定されない。明らかになるように、音声入力１０４に関連付けられている音声認識カテゴリは、非正規化器モジュール３２０が未処理の音声認識結果３１２を非正規化するためにどの非正規化器３５０を選択するかを決定することができる。別の言い方をすれば、非正規化器モジュール３２０は、対応する音声入力１０４に関連付けられている音声認識カテゴリに基づいて、同じ未処理の音声認識結果３１２を異なる方法で非正規化することができる。
【００３１】
コンテキストメタデータ１１０が、ユーザ１０に関連付けられているユーザデバイス２００上で稼働するアプリケーションの識別子を含む場合、コンテキストサーバ４００は、音声入力に関連付けられている音声認識カテゴリを判別できる可能性がある。例えば、ユーザデバイス２００上で現在開いて稼働している口述アプリケーションは、ユーザ１０が音声入力１０４を口述していることを示し得る。音声入力１０４がＡＳＲモジュール３００によって受信されたときのユーザ１０の場所を含むコンテキストメタデータ１１０は、その場所で話されている主要な言語および／または方言を判別するよう、コンテキストサーバ４００によって使用され得る。例えば、ユーザ１０が日本にいる場合、翻字非正規化器を適用して、テキストを対応する字に変換してよく、一方、ユーザ１０が別の場所にいる場合、異なる翻字非正規化器を適用してもよいし、翻字非正規化器を適用しなくてもよい。コンテキストメタデータ１１０内の場所は、ユーザ１０の正確な地理的位置が判定されないよう、地理的領域を含んでいてもよい。さらに、ユーザは場所情報の提供に明示的に同意する必要があり、いつでも場所情報の共有をオプトアウトできる。
【００３２】
ＡＳＲ要求１０２が、ユーザを識別するユーザ識別子を含むコンテキストメタデータ１１０を提供するとき、コンテキストサーバ４００は、ユーザ識別子を使用して、１つまたは複数のコンテキストソース１９０から追加のコンテキストメタデータ１１０を取得することができる。例えば、コンテキストサーバ４００は、ユーザ識別子を使用して、ユーザ１０に関連付けられているユーザプロファイル１９２からコンテキストメタデータ１１０を取り出すことができる。ユーザプロファイル１９２は、年齢、ジェンダー、居住地、話す言葉、教育、職業など、ユーザ１０に関連付けられている人口統計情報を含み得る。ユーザ１０は、ＡＳＲモジュール３００によって使用するために人口統計情報を自発的に提供及び記憶に同意し、いつでも人口統計情報を除去するオプションを有する。一部の例では、コンテキストサーバ４００は、ユーザ１０の場所に代えて、またはそれに加えて、ユーザ１０に関連付けられているユーザプロファイル１９２内の人口統計情報を分析することによって、ユーザ１０によって話される主要な言語および／または方言を判別する。ユーザプロファイル１９２は、さらに、テキストの非正規化に関するユーザ嗜好を含み得る。例えば、非正規化器モジュール３２０は、デフォルトで、不快単語非正規化器を適用して、テキストにおける不快な単語をマスクすることができるが、テキストの非正規化に関するユーザ嗜好は、不快な言葉をマスクしないことを明示的に示している場合がある。このため、コンテキストサーバ４００は、非正規化命令４１０において、この特定のユーザ１０の未処理の音声認識結果３１２を非正規化するときに、非正規化器モジュール３２０が不快単語非正規化器を適用してはならないことを指定し得る。したがって、コンテキストサーバ４００は、ＡＳＲ要求１０２が受信されたときにコンテキストメタデータ１１０の一部またはすべてを受信することができ、ユーザ１０を識別するユーザ識別子に関連付けられているユーザプロファイル１９２にアクセスすることによって、コンテキストソース１９０から他のコンテキストメタデータ１１０を取り出すことができる。
【００３３】
未処理の音声認識結果３１２を非正規化した後、非正規化器モジュール３２０は、非正規化されたテキスト３２２の表示を行うように、および／または他の何らかの方法で非正規化されたテキスト３２２を消費するように構成された出力部５００に提供してもよい。図５を参照すると、出力部５００は、ユーザデバイス２００および／またはユーザが読む非正規化されたテキスト３２２を提示することができる１つまたは複数の他のユーザデバイスを含み得る。出力部５００は、追加的またはこれに代えて、リモートシステム１４０上で実行する１つまたは複数のアプリケーション／サービスを含み得る。例えば、音声入力１０４は、音声入力１０４に対応する非正規化されたテキスト３２２を観察するためにユーザデバイスがアクセスすることができる、リモートシステム１４０上で実行するメッセージボードサービスへの入力を含み得る。出力部５００はさらに、電気通信会議セッションにおける１人または複数の話者のために転写された音声に対応する非正規化されたテキスト３２２を提供する転写サービスを含むことができる。追加的に又はこれに代えて、出力部５００は、人間の可読性以外の使用のために、非正規化されたテキスト３２２を消費する他のシステム／モジュールを含み得る。例えば、出力部５００は、非正規化されたテキスト３２２を受信し、合成された音声を生成するテキスト音声システムを含むことができる。ここで、非正規化されたテキスト３２２は、ＴＴＳシステムが合成音声を生成するときに適用するために、対応する非正規化器からの韻律および／または発音タグを含み得る。別の例では、出力部５００は、非正規化されたテキスト３２２を使用してユーザが何を望んでいるかを理解する自然言語理解（ＮＬＵ）モジュールを含むことができる。一部の例では、人間以外の使用（例えば、ＴＴＳシステムおよびＮＬＵモジュール）のために出力部５００によって消費される非正規化されたテキスト３２２は、可読性のために非正規化されておらず、対応する出力部５００による処理により適した態様で非正規化／正規化されている。
【００３４】
図２Ａおよび図２Ｂは、ＡＳＲ要求１０２をＡＳＲモジュール３００に送信し、非正規化されたテキスト３２２をＡＳＲモジュール３００から戻って受信する例示的なユーザデバイス２００を示す。ユーザデバイス２００は、画面２１２を含み、画面２１２に表示するためのグラフィカルユーザインターフェース２１０を実行する。ユーザデバイス２００はさらに、１つまたは複数のソフトウェアアプリケーション２１０、２１０ａ−ｄを実行する。ソフトウェアアプリケーション２１０は、コンピューティングデバイスによって実行されると、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指し得る。一部の例では、ソフトウェアアプリケーション２１０は、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なソフトウェアアプリケーション２１０には、ボイス通信アプリケーション２１０ａ、メディアストリーミングアプリケーション２１０ｂ、メッセージングアプリケーション２１０ｃ、カレンダアプリケーション２１０ｄ、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームが含まれるが、これらに限定されない。
【００３５】
図２Ａは、現在カレンダアプリケーション２１０ｄ（実線で示される）を実行し、時刻１に、オーディオデータ１０３と音声入力１０４に関連付けられているコンテキストメタデータ１１０とを含むＡＳＲ要求１０２をＡＳＲモジュール３００に送信するユーザデバイス２００を示す。ここで、音声入力１０４は、所与の日（明日）に所与の個人（スキップフィカニー（Ｓｋｉｐ  Ｆｉｋａｎｙ））とともにトピック（ツールの新しいラインについて話し合い）に関して会議時間がいつに記録されているかを判定する、カレンダアプリケーション２１０ｄに向けられたボイス検索に対応する。様々な種類のメタデータの中で特に、音声入力１０４に関連付けられており、ＡＳＲ要求１０２で提供されるコンテキストメタデータ１１０は、カレンダアプリケーション２１０ｄが現在ユーザデバイス２００上で実行している、および／または音声入力１０４がカレンダアプリケーション２１０ｄに向けられていると識別するアプリケーション識別子を含む。
【００３６】
時刻２で、レコグナイザ３１０は、音声入力１０４に対応する未処理の音声認識結果３１２を生成し、時刻３でコンテキストメタデータ１１０をコンテキストサーバ４００に転送する。時刻２および３は、同時に発生してもよく、時刻３は時刻２の前または後に発生してもよい。未処理の音声認識結果３１２は、「ツールの新しいラインを話し合うスキップフィカニーとの明日の会議がいつであるか（ｗｈｅｎ  ｉｓ  ｍｙ  ｍｅｅｔｉｎｇ  ｔｏｍｏｒｒｏｗ  ｗｉｔｈ  ｓｋｉｐ  ｆｉｋａｎｙ  ｔｏ  ｄｉｓｃｕｓｓ  ｔｈｅ  ｎｅｗ  ｌｉｎｅ  ｏｆ  ｔｏｏｌｓ）」を述べた正規化されたテキストを含み得る。正規化されたテキストは、会議の時間を決定するための検索を実行するためにカレンダアプリケーション２１０ｄによって使用され得るが、正規化されたテキストは、ユーザの可読性のために最適化されていない。カレンダアプリケーション２１０ｄを識別するアプリケーション識別子を含むコンテキストメタデータ１１０を使用して、コンテキストサーバ４００は、音声入力１０４に関連付けられている音声認識カテゴリが、カレンダアプリケーション２１０ｄにアクセスすることによって実行するユーザデバイス２００のボイス検索として音声入力１０４が提供されていることを示していると、判別することができる。したがって、時刻４で、コンテキストサーバ４００は、ボイス検索アプリケーション（例えば、カレンダアプリケーション２１０ｄ）がユーザデバイス２００上で現在実行していることを示すコンテキストメタデータ１１０に基づいて、非正規化命令４１０を生成し、非正規化命令４１０を非正規化器モジュール３２０に提供する。
【００３７】
非正規化器モジュール３２０は、非正規化命令４１０を使用して、生成された未処理の音声認識結果３１２に適用する１つまたは複数の非正規化器３５０からなるリストを選択する。例えば、非正規化命令４１０は、１つまたは複数の非正規化器３５０からなるリストを指定してもよく、非正規化器モジュール３２０は、データストレージ３４０内の複数の非正規化器からなる事前定義されたセット３５０から１つまたは複数の非正規化器３５０を選択してもよい。コンテキストメタデータ１１０は、音声入力１０４がボイス検索アプリケーション（例えば、カレンダアプリケーション２１０ｄ）に関連付けられていることを示しているので、コンテキストサーバ４００は、ボイス検索のための音声入力１０４におけるいずれの語も明示的な句読点の語を含まない可能性が高いので、非正規化器モジュール３２０が明示的句読点非正規化器を適用しないことを保証する非正規化命令４１０を生成する。したがって、この例では、非正規化命令４１０は、非正規化モジュール３２０に、複数の非正規化器からなるデフォルトリストから明示的句読点非正規化器を除去するように命令すると考えられ、または、非正規化命令４１０は、デフォルトリストがないか、またはデフォルトリストが明示的句読点非正規化器を含まない場合、非正規化器モジュール３２０に明示的句読点非正規化器を含めるようには命令しない。１つまたは複数の非正規化器からなるリストは、第１の非正規化器が未処理の音声認識結果３１２に適用され、後続の各非正規化器が前の非正規化器からの出力を入力として受け取るように、複数の非正規化器が適用されるべきシーケンスを示す。時刻５で、非正規化器モジュール３２０は、未処理の音声認識結果３１２に順に１つまたは複数の非正規化器からなるリスト３５０を適用することにより、生成された未処理の音声認識結果３１２を非正規化されたテキスト３２２へと非正規化する。
【００３８】
時刻６で、ＡＳＲモジュール３００は、音声入力１０４に対応する非正規化されたテキスト３２２をユーザデバイス２００に提供し、ユーザデバイス２００は、グラフィカルユーザインターフェース２１０に表示されるボイス検索／コマンドウィンドウ２１６に非正規化されたテキスト３２２を表示する。ここで、非正規化されたテキスト３２２は、カレンダアプリケーション２１０ｄに向けられたボイス検索に対応する音声入力１０４に単にアノテーションを付ける。示されている例では、非正規化されたテキスト３２２は、少なくとも大文字化非正規化器および非明示的非正規化器によって非正規化されている。例えば、非正規化器モジュール３２０は、大文字化非正規化器を適用して、ボイス検索の初めの最初の文字「Ｗ」、個人の名前（スキップ（Ｓｋｉｐ））の最初の文字「Ｓ」、および個人の姓（フィカニー（Ｆｉｋａｎｙ））の最初の文字「Ｆ」を大文字にしている。非明示的非正規化器は、音声入力１０４が質問として表現されているため、ボイス検索の最後に疑問符「？」を追加している。特に、非正規化器モジュール３２０は、未処理の音声認識結果３１２に明示的句読点非正規化器を適用しなかったので、未処理の音声認識結果３１２の「新たなライン（ｎｅｗ  ｌｉｎｅ）」という語は、非正規化されたテキスト３２２に含まれており、「新たなライン（ｎｅｗ  ｌｉｎｅ）」という語を誤って省略して代わりに「話し合う（ｄｉｓｃｕｓｓ）」という語の後に「ツールの（ｏｆ  ｔｏｏｌｓ）」という語で始まる新しい行を開始する口述テキストに変換されるといったことがない。一部の例では、ＡＳＲモジュール３００は、非正規化されたテキスト３２２をユーザデバイス２００（または他の出力部５００）にリアルタイムでストリーミングし、その結果、非正規化されたテキスト３２２は、ユーザ１０が音声を発している間に表示される。
【００３９】
図２Ｂは、現在メッセージングアプリケーション２１０ｃ（実線で示される）を実行し、時刻１に、オーディオデータ１０３と音声入力１０４に関連付けられているコンテキストメタデータ１１０とを含むＡＳＲ要求１０２をＡＳＲモジュール３００に送信するユーザデバイス２００を示す。ここで、音声入力１０４は、電子メッセージに含めるためにメッセージングアプリケーション２１０ｃに向けられた口述音声に対応する。様々な種類のメタデータの中で特に、音声入力１０４に関連付けられており、ＡＳＲ要求１０２で提供されるコンテキストメタデータ１１０は、メッセージングアプリケーション２１０ｃが現在ユーザデバイス２００上で実行している、および／または音声入力１０４がメッセージングアプリケーション２１０ｃに提供されていると識別するアプリケーション識別子を含む。
【００４０】
時刻２で、レコグナイザ３１０は、音声入力１０４に対応する未処理の音声認識結果３１２を生成し、時刻３でコンテキストメタデータ１１０をコンテキストサーバ４００に転送する。時刻２および３は、同時に発生してもよく、時刻３は時刻２の前または後に発生してもよい。未処理の音声認識結果３１２は、「親愛なるキャリー  コンマ  新たな行  チーズケーキをありがとう  感嘆符（ｄｅａｒ  ｃａｒｒｉｅ  ｃｏｍｍａ  ｎｅｗ  ｌｉｎｅ  ｔｈａｎｋ  ｙｏｕ  ｆｏｒ  ｔｈｅ  ｃｈｅｅｓｅｃａｋｅ  ｅｘｃｌａｍａｔｉｏｎ  ｐｏｉｎｔ）」と述べている正規化されたテキストを含み得る。メッセージングアプリケーション２１０ｃを識別するアプリケーション識別子を含むコンテキストメタデータ１１０を使用して、コンテキストサーバ４００は、音声入力１０４に関連付けられている音声認識カテゴリが、テキストに変換するためにユーザデバイス２００上で実行するメッセージングアプリケーション２１０ｃのための口述音声として音声入力１０４が提供されていることを示していると、判別することができる。したがって、時刻４でコンテキストサーバ４００は、口述アプリケーション（例えば、メッセージングアプリケーション２１０ｃ）がユーザデバイス２００上で現在実行していることを示すコンテキストメタデータ１１０に基づいて、非正規化命令４１０を生成し、非正規化命令４１０を非正規化器モジュール３２０に提供する。ここで、コンテキストサーバ４００は、音声入力１０４は明示的な句読点の語を含む可能性が高いので、非正規化器モジュール３２０が明示的句読点非正規化器を適用することを保証する非正規化命令４１０を生成する。例えば、非正規化命令４１０は、複数の非正規化器からなるデフォルトリストがないか、またはデフォルトリストが明示的句読点非正規化器を含まない場合、非正規化器モジュール３２０に明示的句読点非正規化器を含めるように命令してもよい。時刻５で、非正規化器モジュール３２０は、未処理の音声認識結果３１２に順に１つまたは複数の非正規化器からなるリスト３５０を適用することにより、生成された未処理の音声認識結果３１２を非正規化されたテキスト３２２へと非正規化する。
【００４１】
時刻６で、ＡＳＲモジュール３００は、音声入力１０４に対応する非正規化されたテキスト３２２をユーザデバイス２００に提供し、ユーザデバイス２００は、グラフィカルユーザインターフェース２１０に表示されるメッセージ／口述ウィンドウ２１８に非正規化されたテキスト３２２を表示する。示されている例では、非正規化されたテキスト３２２は、少なくとも明示的句読点非正規化器および大文字化非正規化器によって非正規化されている。例えば、明示的句読点非正規化器は、未処理の音声認識結果３１２の「コンマ」という用語を対応する記号「，」に変換し、「新たな行（ｎｅｗ  ｌｉｎｅ）」という語を「ありがとう（Ｔｈａｎｋ  ｙｏｕ）」で始まる新しい行を開始する命令として認識する。明示的句読点非正規化器が適用された後、非正規化器モジュール３２０は、最初の行の最初の文字「Ｄ」、宛先の名（キャリー（Ｃａｒｒｉｅ））の最初の文字「Ｃ」、および２番目の行の最初の文字「Ｔ」を大文字にすることによって大文字化非正規化を適用する。特に、仮に、大文字化非正規化器が明示的句読点非正規化器の前に適用された場合、「Ｔ」は行の開始文字として識別できずに大文字にされない可能性が高い。
【００４２】
図２Ａおよび図２Ｂの例は、複数の非正規化器３５０からなる同じ事前定義されたセットにアクセスできる全く同じＡＳＲモジュール３００を使用している。レコグナイザ３１０は、同じ正規化されたテキストでトレーニングされ、関連付けられているコンテキストメタデータ１１０が何を含むかに関係なく、所与の音声入力１０４に対して同じ未処理の音声認識結果３１２を生成する。しかしながら、コンテキストサーバ４００は、音声入力１０４に関連付けられているコンテキストメタデータ１１０を使用して、最適な可読性のための非正規化されたテキストへのレコグナイザ３１０によって生成された未処理の音声認識結果３１２の非正規化をパーソナライズ／コンテキスト化する。
【００４３】
図３は、ＡＳＲモジュール３００における、非正規化器モジュール３２０、データストレージ３４０、およびコンテキストサーバ４００の間の相互作用の例を示している。データストレージ３４０は、非正規化器モジュール３２０で受信された正規化されているテキストの入力に対する非正規化のいくつかの態様の実行に係る、それぞれが対応する非正規化規則または非正規化モデルに対応する複数の非正規化器からなる事前定義されたセット３５０を記憶する。非正規化器モジュール３２０は、コンテキストメタデータ１１０が存在しない場合、および／またはコンテキストサーバ４００が非正規化命令４１０を提供しない場合に、音声認識結果３１２の非正規化に適用するために、複数の非正規化器からなるデフォルトリスト３４８で初期化され得る。示されている例では、複数の非正規化器からなるデフォルトリスト３４８は、明示的句読点、非明示的句読点、大文字化、および翻字非正規化器を含む。データストレージ３４０は、対応するキー３４４を提供することによってデータストレージ３４０から任意の所与の非正規化器（すなわち、バリュー３４６）を選択する／取り出すために、非正規化器モジュール３２０にアクセス可能な複数の非正規化器からなる事前定義されたセット３５０のキーバリューマップ３４２を維持する。
【００４４】
コンテキストサーバ４００から非正規化命令４１０を受信することに応じて非正規化器モジュール３２０は、非正規化命令４１０に基づいて複数の非正規化器からなるデフォルトリスト３４８を変更することによって、正規化されたテキスト３２２の非正規化に適用するために１つ以上の非正規化器からなるリスト３５０を選択することができる。一部の実装形態では、複数の非正規化器からなるデフォルトリスト３４８の変更には、複数の非正規化器からなるデフォルトリスト３４８から１つまたは複数の非正規化器を除去すること、および／または、複数の非正規化器からなる事前定義されたセット３５０からの１つまたは複数の非正規化器を、複数の非正規化器のからなるデフォルトリスト３４８に追加すること、が含まれる。例えば、非正規化命令４１０は、先頭追加非正規化器命令、後尾追加非正規化器命令、除去非正規化器命令、置換非正規化器命令、または追加非正規化器命令のうちの１つまたは複数を含む。後尾追加および先頭追加非正規化器命令は、コンテキストサーバ４００が複数の非正規化器からなるデフォルトリスト３４８についての知識を持たない場合に有益であり得る。先頭追加非正規化器命令は、新たな非正規化器（例えば、複数の非正規化器からなる事前定義されたセット３５０から）を識別して、複数の非正規化器のデフォルトリスト３４８の開始位置に先頭追加し、これに対し、後尾追加非正規化器命令は、複数の非正規化器からなるデフォルトリストの終了位置に後尾追加する新たな非正規化器を識別する。除去非正規化器命令は、複数の非正規化器からなるデフォルトリスト３４８から除去される既存の非正規化器を識別し、置換非正規化器命令は、複数の非正規化器からなるデフォルトリスト３４８において既存の非正規化器を置き換えるために、新たな非正規化器を識別する。追加非正規化器命令は、非正規化器からなるデフォルトリストに追加する新たな非正規化器を識別し、新たな非正規化器に先行または後続する、複数の非正規化器からなるデフォルトリストにおける既存の非正規化器を識別する。
【００４５】
一部の実装形態では、コンテキストサーバ４００は、複数の非正規化器のデフォルトリスト３４８から翻字非正規化器を除去するように非正規化器モジュール３２０に命令する除去非正規化器命令と、不快単語非正規化器を複数の非正規化器からなるデフォルトリスト３４８に後尾追加するように非正規化器モジュール３２０に命令する後尾追加非正規化命令と、を含む非正規化命令４１０を提供する。ここで、除去命令には、複数の非正規化器からなるデフォルトリスト３４８から除去されるべき翻字非正規化器を識別する対応する翻字キー３４４を含み、後尾追加命令は、複数の非正規化器からなるデフォルトリスト３４８に後尾追加されるべき不快単語非正規化器を識別する対応する不快単語キー３４４を含む。
【００４６】
示される例では、非正規化器モジュール３２０は、コンテキストサーバ４００から受信した非正規化命令４１０を使用して、複数の非正規化器からなるデフォルトリスト３４８を変更するように構成される。例えば、非正規化命令４１０は、翻字非正規化器を除去し、不快単語非正規化器を後尾追加すべきであることを指定しているので、非正規化器モジュール３２０は、キーバリューマップ３４２によって、複数の非正規化器からなるデフォルトリスト３４８から残りの明示的句読点、非明示的句読点、および大文字化非正規化器を取り出し、対応するキー３４４をデータストレージ３４０に提供することによって複数の非正規化器からなる事前定義されたセット３５０から不快単語非正規化器を取り出す。
【００４７】
一部の例では、非正規化器モジュール３２０は、対応する複数の非正規化器が未処理の音声認識結果３１２を非正規化されたテキスト３２２に非正規化するために適用される順序／シーケンスに関連付けられたシーケンスで対応するキー３４４を提供する。したがって、対応する複数のキー３４４を提供することにより、非正規化器モジュール３２０は、明示的句読点、非明示的句読点、大文字化、およびマスク不快非正規化器に対応する複数の非正規化器３５２からなる選択されたリストを取り出す。その後、非正規化器モジュール３２０は、未処理の音声認識結果３１２に明示的句読点非正規化器を適用し、明示的句読点非正規化器の出力に非明示的句読点非正規化を適用し、大文字化非正規化器を非明示的句読点非正規化器の出力に適用し、マスク不快非正規化器を大文字化非正規化器の出力に適用することによって、未処理の音声認識結果３１２を非正規化されたテキスト３２２に非正規化する。
【００４８】
図４Ａを参照すると、一部の実装形態では、コンテキストサーバ４００は、ＡＳＲモジュール３００のデータストレージ３４０（例えば、メモリハードウェア２０６、１４６）に記憶されている複数の非正規化器からなる事前定義されたセット３５０に含まれない、特定のユーザ１０のためにパーソナライズされた複数の非正規化器４５０をコンパイルする。ここで、ユーザ１０またはサードパーティクライアントは、ユーザ１０（またはサードパーティクライアント）が未処理の音声認識結果３１２を非正規化するために適用したい１つまたは複数のパーソナライズされた非正規化規則４０２をコンテキストサーバ４００に提供することができる。例えば、非正規化規則４０２は、ユーザ１０によって実装されてよく、テキストを非正規化するためにユーザ１０によって指定された任意のパーソナライズされた／カスタマイズされた非正規化規則を含んでいてもよく、例えば、特殊な大文字化、リッチフォント、埋め込み（Ｗｅｂサイトへのリンクなど）、特定のレンダリング制約に適合するフォーマッター（短い行／タブなど）である。
【００４９】
特定のユーザ１０から１つまたは複数の非正規化規則４０２（例えば、カスタマイズされた／パーソナライズされた非正規化規則）を受信することに応じて、コンテキストサーバ４００は、各非正規化規則４０２に関して対応するパーソナライズされた非正規化器４５０をコンパイルし、１つまたは複数のパーソナライズされた非正規化器４５０を、図１のコンテキストソース１９０の１つに対応し得るパーソナライズされた非正規化器リポジトリ４４０に記憶する。ユーザ１０に固有のパーソナライズされた複数の非正規化器４５０は、ユーザ１０を識別するユーザ識別子１２を含み得る。したがって、ユーザ１０が、ユーザ識別子１２を含むコンテキストメタデータ１１０を用いて後続のＡＳＲ要求１０２を提供するとき、コンテキストサーバ４００は、ユーザ識別子１２に一致する、リポジトリ４４０（例えば、コンテキストソース１９０）に記憶されている任意のパーソナライズされた複数の非正規化器４５０を識別し得る。次に、コンテキストサーバ４００は、パーソナライズされた複数の非正規化器４５０を適用するように非正規化器モジュール３２０に命令する非正規化命令４１０を生成することができる。一部の例では、コンテキストサーバ４００は、ユーザ１０に関連付けられているパーソナライズされた複数の非正規化器４５０を暗号化し、非正規化器モジュール３２０がパーソナライズされた複数の非正規化器４５０を復号して使用するためにユーザ１０が提供しなければならない暗号化キーを識別する暗号化ハッシュ１４を適用する。例えば、ユーザ１０は、対応する音声入力１０４を非正規化されたテキスト３２２に変換するために、ＡＳＲ要求１０２においてコンテキストメタデータ１１０の一部として暗号化キーを提供することができる。
【００５０】
一部の実装形態では、パーソナライズされた非正規化器リポジトリ４４０は、ＡＳＲモジュール３００から分離されており、これによって、パーソナライズされた複数の非正規化器４５０（例えば、カスタマイズの複数の非正規化器）は、ＡＳＲモジュール３００への定期的な更新を待つことを要せずに動的にコンパイルおよび記憶され得る。さらに、パーソナライズされた非正規化器リポジトリ４４０は、数百万の異なるユーザのために１つまたは複数のパーソナライズされた非正規化器４５０のそれぞれのセットを潜在的に記憶することになり得るので、ＡＳＲモジュール３００のデータストレージ３４０が、全ユーザ集団にアクセス可能な複数の非正規化器からなる事前定義されたセット３５０に加えて、これらのパーソナライズされた非正規化器４５０のすべてを記憶し、アクセスを提供することは理想的ではない。一部のシナリオでは、パーソナライズされた非正規化器リポジトリ４４０は、パーソナライズされた非正規化器４５０を記憶し、ＡＳＲモジュール３００の次の定期的（例えば、毎週）更新中に、パーソナライズされた複数の非正規化器をＡＳＲモジュール３００のデータストレージ３４０に導入してもよい。一部の例では、パーソナライズされた非正規化器リポジトリ４４０は、パーソナライズされた複数の非正規化器４５０を複数の非正規化器からなる事前定義されたセット３５０と混合することなく、ＡＳＲモジュール３００上のデータストレージ３４０と統合される。
【００５１】
図４Ｂを参照すると、一部の実装形態では、ユーザ１０は、ユーザデバイス２００を介して、ＡＳＲ要求１０２のコンテキストメタデータ１１０の一部として１つまたは複数のパーソナライズされた非正規化規則４０２を含むＡＳＲ要求１０２を提供する。このシナリオでは、ユーザ１０は、ＡＳＲモジュール３００に、１つまたは複数の非正規化規則４０２をオンザフライで適用するように要求している。示されている例では、１つまたは複数のパーソナライズされた非正規化規則４０２を含むコンテキストメタデータ１１０がコンテキストサーバ４００に提供され、音声入力１０４がレコグナイザ３１０に提供される。レコグナイザ３１０は、音声入力１０４に対応する未処理の音声認識結果３１２を生成する。一方、コンテキストサーバ４００は、非正規化規則４０２ごとに対応するパーソナライズされた非正規化器４５０をコンパイルし、音声入力１０４に対応する未処理の音声認識結果３１２を非正規化するためのパーソナライズされた非正規化器４５０を含む非正規化命令４１０を生成するように構成される。したがって、コンテキストサーバ４００は、パーソナライズされた非正規化器４５０を含む非正規化命令４１０を非正規化器モジュール３２０に提供し、非正規化器モジュール３２０は、パーソナライズされた複数の非正規化器４５０をオンザフライで適用して、未処理の音声認識結果３１２を対応する非正規化されたテキスト３２２に非正規化する。
【００５２】
一部の実装形態では、ユーザ１０は、アドミニストレータが複数の非正規化器からなる事前定義されたセット３５０またはＡＳＲモジュール３００の他の態様を更新する必要なしにテストしたい、新しい複数の非正規化器に関連付けられているパーソナライズされた非正規化規則４０２を提供するＡＳＲモジュール３００のアドミニストレータを含むことができる。例えば、パーソナライズされた非正規化ルール４０２は、コンテキストサーバ４００に新しい複数の非正規化器をコンパイルさせ、非正規化器モジュール３２０がテキストを非正規化するために新しい非正規化器を使用するように命令する命令４１０を生成することができる。したがって、パーソナライズされた非正規化規則４０２をオンザフライで提供することは、それらをＡＳＲモジュール３００に導入する前に新しい複数の非正規化器をデバッグするために有益である。
【００５３】
図６は、ＡＳＲモジュール３００の非正規化器モジュール３２０によって生成された未処理の音声認識結果を非正規化する方法６００の動作の例示的な構成のフローチャートである。動作６０２で、方法６００は、ＡＳＲモジュール３００のデータ処理ハードウェア２０４、１４４でユーザ１０から音声入力１０４を受信することを含む。ユーザ１０は、音声認識要求１０２の一部として音声入力１０４をＡＳＲモジュール３００に提供するユーザデバイス２００に関連付けられ得る。ＡＳＲモジュール３００は、ユーザデバイス２００および／または分散システム１４０上に常駐することができる。
【００５４】
動作６０４で、方法６００は、データ処理ハードウェア２０４、１４４によって、音声入力１０４に関連付けられているコンテキストメタデータ１１０を取得することを含む。コンテキストメタデータ１１０は、音声入力１０４のオーディオデータ１０３がデータ処理ハードウェア２０４、１４４で受信されたときに、ユーザデバイス２００から受信され得る。他の例では、コンテキストメタデータ１１０を取得することは、音声入力１０４が受信されたときに、ユーザ１０に関連付けられているユーザ識別子１２を受信することと、ユーザ識別子１２を使用して、メモリハードウェア２０６、１４６からコンテキストメタデータ１１０を取り出すことと、を含む。コンテキストメタデータは、音声入力に関連付けられている音声認識カテゴリ（例えば、口述またはボイス検索）の少なくとも１つを含み得る。ユーザデバイス２００上で実行しているアプリケーション、音声入力１０４が受信されたときのユーザの場所、ユーザ識別子１２、ユーザに関連付けられている人口統計情報、またはテキストを非正規化するためのユーザ嗜好。例えば、ユーザ嗜好は、１つまたは複数のパーソナライズされた非正規化規則４０２を含み得る。
【００５５】
動作６０６で、方法６００は、データ処理ハードウェア２０４、１４４によって、音声入力１０４に対応する未処理の音声認識結果３１２を生成することを含む。生成された未処理の音声認識結果３１２は正規化されたテキストを含む。例えば、正規化されたテキストとは、すべて大文字化されておらずと句読点が削除されたテキストを指す。例えば、ＡＳＲモジュール３００のレコグナイザ３１０は、通常、正規化されたテキストのコーパスでトレーニングされるので、レコグナイザ３１０は、正規化された未処理の音声認識結果３１２を出力する。
【００５６】
動作６０８で、方法６００は、音声入力１０４に関連付けられているコンテキストメタデータ１１０に基づいて、生成された未処理の音声認識結果３１２結果に適用する１つまたは複数の非正規化器３５２からなるリストを選択することを含む。１つまたは複数の非正規化器３５２からなるリストを選択することは、複数の非正規化器からなる事前定義されたセット３５０により複数の非正規化器からなるデフォルトリスト３４８を変更することを含んでいてもよく、該変更することは、複数の非正規化器からなるデフォルトリスト３４８から１つまたは複数の非正規化器を除去することと、複数の非正規化器からなる前記事前定義されたセット３５０からの１つまたは複数の非正規化器を複数の非正規化器からなるデフォルトリストに追加することと、のうちの少なくとも１つによって行われる。
【００５７】
動作６１０で、方法６００は、生成された未処理の音声認識結果３１２に順に前記１つまたは複数の非正規化器３５２からなるリストを適用することにより、生成された未処理の音声認識結果３１２を非正規化されたテキスト３２２へと非正規化することを含む。一部の例では、コンテキストサーバ４００は、コンテキストメタデータ１１０に基づいて、生成された未処理の音声認識結果３１２を非正規化されたテキスト３２２へと非正規化するための非正規化命令４１０を生成する。ここで、ＡＳＲモジュール３００の非正規化器モジュール３２０は、コンテキストサーバ４００から非正規化命令４１０を受信し、非正規化命令４１０を使用して１つまたは複数の非正規化器３５２からなるリストを選択することができる。例えば、非正規化器モジュール３２０は、対応するキー３４４を使用して、メモリハードウェア（例えば、データストレージ３４０）から１つまたは複数の非正規化器からなる選択されたリスト３５０における各非正規化器を取り出すことができる。非正規化命令４１０は、それらの対応するキー３４４を提供することによって、選択すべき必要な非正規化器を識別し得る。その後、非正規化器モジュール３２０は、メモリハードウェア３４０から取り出された１つまたは複数の非正規化器３５２からなる選択されたリストにおける各非正規化器を、生成された未処理の音声認識結果３１２に順に適用するように構成されている。
【００５８】
ＡＳＲモジュール３００は、非正規化されたテキスト３２２を出力部５００に送信することができる。出力部５００は、図５を参照して上で説明した出力部５００のいずれかを含み得る。例えば、出力部５００は、クライアントデバイス２００の表示画面２１２に非正規化されたテキスト３２２を表示するユーザデバイス２００または別のユーザデバイスなどのクライアントデバイスを含むことができる。一部の例では、非正規化されたテキスト３２２は、リアルタイムで出力部５００にストリーミングする。
【００５９】
ソフトウェアアプリケーション（すなわち、ソフトウェアリソース）は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」を指す場合がある。アプリケーションの例には、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワード処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが含まれるが、これらに限定されない。
【００６０】
非一時的メモリは、コンピューティングデバイスによって使用するために一時的または永続的にプログラム（例えば、命令のシーケンス）またはデータ（例えば、プログラム状態情報）を格納するために使用される物理デバイスであり得る。非一時的メモリは、揮発性および／または不揮発性のアドレス可能な半導体メモリであり得る。不揮発性メモリの例には、フラッシュメモリおよび読み取り専用メモリ（ＲＯＭ）／プログラム可能な読み取り専用メモリ（ＰＲＯＭ）／消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）／電子的に消去可能なプログラム可能な読み取り専用が含まれるが、これらに限定されない。メモリ（ＥＥＰＲＯＭ）（例えば、通常、ブートプログラムなどのファームウェアに使用される）。揮発性メモリの例には、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、およびディスクまたはテープが含まれるが、これらに限定されない。
【００６１】
図７は、この文書で説明されているシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス７００の概略図である。コンピューティングデバイス７００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的としている。ここに示されているコンポーネント、それらの接続と関係、およびそれらの機能は、例示のみを目的としており、本書で説明および／または主張されている発明の実装を制限することを意味するものではない。
【００６２】
コンピューティングデバイス７００は、プロセッサ７１０（データ処理ハードウェア）、メモリ７２０（メモリハードウェア）、ストレージデバイス７３０、メモリ７２０に接続する高速インターフェース／コントローラ７４０、高速拡張ポート７５０、および低速バス７７０、および記憶装置７３０に接続する低速インターフェース／コントローラ７６０を含む。コンポーネント７１０、７２０、７３０、７４０、７５０、および７６０のそれぞれは、様々なバスを使用して相互接続されており、共通のマザーボードに、または必要に応じて他の方法で取り付けることができる。プロセッサ７１０（例えば、データ処理ハードウェア２０４、１４４）は、メモリ７２０（例えば、メモリハードウェア２０６、１４６）または記憶装置７３０（例えば、メモリ）に格納された命令を含む、コンピューティングデバイス７００内で実行するための命令を処理することができる。ハードウェア２０６、１４６は、高速インターフェース７４０に結合されたディスプレイ７８０（例えば、図２Ａおよび２Ｂの画面２１２）などの外部入力／出力デバイス上のグラフィカルユーザインターフェース（ＧＵＩ）のグラフィカル情報を表示する。プロセッサ７１０は、いくつかの実装形態では、ＡＳＲモジュール３００およびコンテキストサーバ４００を実行する。他の実装形態では、複数のメモリおよび／またはメモリのタイプとともに、必要に応じて、複数のプロセッサおよび／または複数のバスを使用することができる。また、複数のコンピューティングデバイス７００を接続することができ、各デバイスは、必要な操作の一部を提供する（例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）。
【００６３】
メモリ７２０は、コンピューティングデバイス７００内に非一時的に情報を格納する。メモリ７２０は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ７２０は、コンピューティングデバイス７００によって使用するために一時的または永続的にプログラム（例えば、命令のシーケンス）またはデータ（例えば、プログラム状態情報）を格納するために使用される物理デバイスであり得る。不揮発性メモリの例には、フラッシュメモリおよび読み取り専用メモリ（ＲＯＭ）／プログラム可能な読み取り専用メモリ（ＰＲＯＭ）／消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）／電子的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）が含まれるが、これらに限定されない（例えば、通常、ブートプログラムなどのファームウェアに使用される）。揮発性メモリの例には、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、およびディスクまたはテープが含まれるが、これらに限定されない。
【００６４】
記憶装置７３０は、コンピューティング装置７００に大容量記憶装置を提供することができる。いくつかの実装形態では、記憶装置７３０は、コンピュータ可読媒体である。様々な異なる実施形態では、記憶装置７３０は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリまたは他の同様のソリッドステートメモリ装置、またはストレージエリアネットワークまたはその他の構成における装置を含む装置のアレイであり得る。追加の実装では、コンピュータプログラム製品は、情報キャリアに具体的に具体化される。コンピュータプログラム製品は、実行されると、上記のような１つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ７２０、記憶装置７３０、またはプロセッサ７１０上のメモリなどの、コンピュータまたは機械で読み取り可能な媒体である。
【００６５】
高速コントローラ７４０は、コンピューティングデバイス７００の帯域幅集約型の動作を管理し、低速コントローラ７６０は、帯域幅集約型のより低い動作を管理する。このような職務の割り当ては例示に過ぎない。いくつかの実装形態では、高速コントローラ７４０は、メモリ７２０、ディスプレイ７８０（例えば、グラフィックプロセッサまたはアクセラレータを介して）、および様々な拡張カード（図示せず）を受け入れることができる高速拡張ポート７５０に結合される。いくつかの実装形態では、低速コントローラ７６０は、記憶装置７３０および低速拡張ポート７９０に結合されている。低速拡張ポート７９０は、様々な通信ポート（例えば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、イーサネットワイヤレス）を含んでいてもよく、例えばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナなどの１つまたは複数の入力／出力デバイス、またはスイッチまたはルータなどのネットワークデバイスに結合することができる。
【００６６】
コンピューティングデバイス７００は、図に示されるように、いくつかの異なる形態で実装され得る。例えば、それは、標準サーバ７００ａとして、またはそのようなサーバ７００ａのグループ内での複数回のものとして、ラップトップコンピュータ７００ｂとして、またはラックサーバシステム７００ｃの一部として実装され得る。本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および／または光回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせで実現することができる。これらの様々な実装は、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するために結合された、特別または汎用であり得る少なくとも１つのプログラム可能なプロセッサを含プログラム可能なシステム上で実行可能および／または解釈可能な１つまたは複数のコンピュータプログラムでの実装を含むことができる。
【００６７】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる）は、プログラム可能なプロセッサのマシン命令を含み、高レベルの手続き型および／またはオブジェクト指向プログラミング言語、および／またはアセンブリ／機械語で実装され得る。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置および／またはデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指す場合があり、機械命令を機械可読信号として受信する機械可読媒体が含まれる。「機械可読信号」という用語は、プログラム可能なプロセッサに機械命令および／またはデータを提供するために使用される任意の信号を指す。
【００６８】
本明細書に記載のプロセスおよび論理フローは、データ処理ハードウェアとも呼ばれる１つまたは複数のプログラム可能なプロセッサによって実行でき、１つまたは複数のコンピュータプログラムを実行して、入力データを操作し、出力を生成することによって機能を実行する。プロセスとロジックフローは、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）やＡＳＩＣ（特定用途向け集積回路）などの特殊用途のロジック回路によっても実行できる。コンピュータプログラムの実行に適したプロセッサには、例として、汎用および特殊目的の両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令とデータを受信する。コンピュータの重要な要素は、命令を実行するためのプロセッサと、命令とデータを格納するための１つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを格納するための１つまたは複数の大容量記憶装置、例えば、磁気、光磁気ディスク、または光ディスクを含むか、またはデータを受信するか、データを転送するか、またはその両方に動作可能に結合される。ただし、コンピュータにそのようなデバイスが必要としない。コンピュータプログラムの命令およびデータを格納するのに適したコンピュータ可読媒体には、不揮発性メモリ、メディア、およびメモリデバイスの全ての形態が含まれ、例として、半導体メモリデバイス（例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス）、磁気ディスク（例えば、内蔵ハードディスクまたはリムーバブルディスク）光磁気ディスク、ＣＤＲＯＭおよびＤＶＤ−ＲＯＭディスクが含まれる。プロセッサとメモリは、特別な目的の論理回路によって補完または組み込むことができる。
【００６９】
ユーザとの対話を提供するために、本開示の１つまたは複数の態様は、ユーザに情報を表示するためのＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）モニター、またはタッチスクリーン等のディスプレイデバイス、任意選択でユーザがコンピュータに入力を提供可能とするキーボードとポインティングデバイス（マウスやトラックボールなど）を有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形態の感覚的フィードバックであり得る。また、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信できる。さらに、コンピュータは、ユーザが使用するデバイスとの間でドキュメントを送受信することにより、ユーザと対話できる。例えば、Ｗｅｂブラウザから受信した要求に応答して、ユーザのクライアントデバイス上のＷｅｂブラウザにＷｅｂページを送信する。
【００７０】
いくつかの実装形態が説明されている。しかしながら、本開示の趣旨および範囲から逸脱することなく、様々な変更を行うことができることが理解されるであろう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【図１】
2021530749.tif 000003
【図２Ａ】
2021530749.tif 000004
【図２Ｂ】
2021530749.tif 000005
【図３】
2021530749.tif 000006
【図４Ａ】
2021530749.tif 000007
【図４Ｂ】
2021530749.tif 000008
【図５】
2021530749.tif 000009
【図６】
2021530749.tif 000010
【図７】
2021530749.tif 000011
【手続補正書】
【提出日】令和3年3月29日(2021.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動音声認識（ＡＳＲ）モジュールのデータ処理ハードウェアにおいて、ユーザからの音声入力を受信することであって、前記ＡＳＲモジュールは、前記ＡＳＲモジュールによって生成された正規化されたテキストの非正規化に適用するための複数の非正規化器からなる事前定義されたセットを含む、受信することと、
前記データ処理ハードウェアによって、前記音声入力に関連付けられているコンテキストメタデータを取得することと、
前記データ処理ハードウェアによって、前記音声入力に対応する未処理の音声認識結果を生成することであって、生成された前記未処理の音声認識結果は正規化されたテキストを含む、生成することと、
前記データ処理ハードウェアによって、前記音声入力に関連付けられている前記コンテキストメタデータをコンテキストサーバに提供することであって、前記コンテキストサーバは、前記コンテキストメタデータに基づいて、生成された前記未処理の音声認識結果を非正規化されたテキストへと非正規化するための非正規化命令を生成するように構成されている、提供することと、
前記データ処理ハードウェアにおいて、前記コンテキストサーバから前記非正規化命令を受信することと、
前記コンテキストサーバから受信した前記非正規化命令を用いて、前記データ処理ハードウェアによって、生成された前記未処理の音声認識結果に適用する１つまたは複数の非正規化器からなるリストを選択することと、
前記データ処理ハードウェアによって、生成された前記未処理の音声認識結果に順に前記１つまたは複数の非正規化器からなる前記リストを適用することにより、生成された前記未処理の音声認識結果を非正規化されたテキストへと非正規化することと、
を含む方法。
【請求項２】
前記音声入力を受信することは、前記ユーザに関連付けられているユーザデバイスから前記音声入力に対応するオーディオデータを受信することを含み、
前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、前記音声入力の前記オーディオデータが受信されたときに、前記ユーザデバイスから前記音声入力に関連付けられている前記コンテキストメタデータを受信することを含む、
請求項１に記載の方法。
【請求項３】
前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、
前記音声入力が受信されたときに、前記ユーザに関連付けられているユーザ識別子を受信することと、
前記ユーザ識別子を使用して、前記データ処理ハードウェアと通信するメモリハードウェアから前記コンテキストメタデータを取り出すことと、を含む、
請求項１または２に記載の方法。
【請求項４】
前記コンテキストメタデータは、前記音声入力に関連付けられている音声認識カテゴリと、前記ユーザに関連付けられているユーザデバイスで稼働しているアプリケーションと、前記音声入力が受信された時の前記ユーザの場所と、前記ユーザを識別するユーザ識別子と、前記ユーザに関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含む、
請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記１つまたは複数の非正規化器からなる前記リストを選択することは、複数の非正規化器からなる前記事前定義されたセットにより複数の非正規化器からなるデフォルトリストを変更することを含み、該変更することは、複数の非正規化器からなる前記デフォルトリストから１つまたは複数の非正規化器を除去することと、複数の非正規化器からなる前記事前定義されたセットからの１つまたは複数の非正規化器を複数の非正規化器からなる前記デフォルトリストに追加することと、のうちの少なくとも１つによって行われる、
請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することは、前記音声入力または前記音声入力に関連付けられているオーディオデータを前記コンテキストサーバに提供することなく、前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することを含む、
請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記非正規化命令は、
複数の非正規化器からなるデフォルトリストの開始位置に先頭追加する新たな非正規化器を識別する先頭追加非正規化器命令であって、複数の非正規化器からなる前記デフォルトリストは、前記コンテキストメタデータがない場合に、生成された前記未処理の音声認識結果に順に適用するための複数の非正規化器からなる前記事前定義されたセットの一部を含む、先頭追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストの終了位置に後尾追加する新たな非正規化器を識別する後尾追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストから除去される既存の非正規化器を識別する除去非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストにおいて既存の非正規化器を置き換えるために、新たな非正規化器を識別する置換非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストに追加する新たな非正規化器を識別し、前記新たな非正規化器に先行または後続する、複数の非正規化器からなる前記デフォルトリストにおける既存の非正規化器を識別する追加非正規化器命令と、を含む命令のうちの１つまたは複数の命令を含む、
請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記非正規化命令は、複数の非正規化器からなるデフォルトリストを複数の非正規化器からなる新たなリストで上書きする上書き命令を含み、複数の非正規化器からなる前記新たなリストは、前記１つまたは複数の非正規化器からなる前記選択されたリストを含む、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記コンテキストサーバは、
前記ＡＳＲモジュールのクライアントに固有の１つまたは複数のカスタマイズの非正規化規則を受信することと、
前記クライアントに固有の前記１つまたは複数のカスタマイズの非正規化規則に基づいてカスタマイズの非正規化器をコンパイルすることと、を行うように構成されている、
請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記１つまたは複数の非正規化器からなる前記選択されたリストを使用することにより、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化することは、
対応するキーを使用して、前記データ処理ハードウェアと通信するメモリハードウェアから前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を取り出すことと、
前記メモリハードウェアから取り出された前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を、生成された前記未処理の音声認識結果に順に適用することと、を含む、
請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記メモリハードウェアは前記ＡＳＲモジュールにある、
請求項１０に記載の方法。
【請求項１２】
前記メモリハードウェアは、前記ＡＳＲモジュールから離れて配置されたリポジトリを含む、
請求項１０または１１に記載の方法。
【請求項１３】
生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化した後、前記非正規化されたテキストを前記ＡＳＲモジュールからクライアントデバイスに送信し、前記非正規化されたテキストは前記クライアントデバイスによって受信されたとき、前記クライアントデバイスに、前記クライアントデバイスの表示画面に前記非正規化されたテキストを表示させるように構成されていることをさらに含む、
請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
前記非正規化されたテキストを前記ＡＳＲモジュールから送信することは、前記非正規化されたテキストを前記クライアントデバイスにリアルタイムでストリーミングすることを含む、
請求項１３に記載の方法。
【請求項１５】
自動音声認識（ＡＳＲ）モジュールのデータ処理ハードウェアであって、前記ＡＳＲモジュールは、前記ＡＳＲモジュールによって生成された正規化されたテキストの非正規化に適用するための複数の非正規化器からなる事前定義されたセットを含む、データ処理ハードウェアと、
命令を記憶するとともに前記データ処理ハードウェアと通信する前記ＡＳＲモジュールのメモリハードウェアと、を含み、前記命令は、前記データ処理ハードウェアによって実行されるとき、前記データ処理ハードウェアに、
ユーザからの音声入力を受信することと、
前記音声入力に関連付けられているコンテキストメタデータを取得することと、
前記音声入力に対応する未処理の音声認識結果を生成することであって、生成された前記未処理の音声認識結果は正規化されたテキストを含む、生成することと、
前記音声入力に関連付けられている前記コンテキストメタデータをコンテキストサーバに提供することであって、前記コンテキストサーバは、前記コンテキストメタデータに基づいて、生成された前記未処理の音声認識結果を非正規化されたテキストへと非正規化するための非正規化命令を生成するように構成されている、提供することと、
前記コンテキストサーバから前記非正規化命令を受信することと、
前記コンテキストサーバから受信した前記非正規化命令を用いて、生成された前記未処理の音声認識結果に適用する１つまたは複数の非正規化器からなるリストを選択することと、
生成された前記未処理の音声認識結果に順に前記１つまたは複数の非正規化器からなる前記リストを適用することにより、生成された前記未処理の音声認識結果を非正規化されたテキストへと非正規化することと、を含む動作を実行させる、
システム。
【請求項１６】
前記音声入力を受信することは、前記ユーザに関連付けられているユーザデバイスから前記音声入力に対応するオーディオデータを受信することを含み、
前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、前記音声入力の前記オーディオデータが受信されたときに、前記ユーザデバイスから前記音声入力に関連付けられている前記コンテキストメタデータを受信することを含む、
請求項１５に記載のシステム。
【請求項１７】
前記音声入力に関連付けられている前記コンテキストメタデータを取得することは、
前記音声入力が受信されたときに、前記ユーザに関連付けられているユーザ識別子を受信することと、
前記ユーザ識別子を使用して、前記メモリハードウェアから前記コンテキストメタデータを取り出すことと、を含む、
請求項１５または１６に記載のシステム。
【請求項１８】
前記コンテキストメタデータは、前記音声入力に関連付けられている音声認識カテゴリと、前記ユーザに関連付けられているユーザデバイスで稼働しているアプリケーションと、前記音声入力が受信された時の前記ユーザの場所と、前記ユーザを識別するユーザ識別子と、前記ユーザに関連付けられている人口統計情報と、テキストの非正規化についてのユーザ嗜好と、のうちの少なくとも１つを含む、
請求項１５から１７のいずれか一項に記載のシステム。
【請求項１９】
前記１つまたは複数の非正規化器からなる前記リストを選択することは、複数の非正規化器からなる前記事前定義されたセットにより複数の非正規化器からなるデフォルトリストを変更することを含み、該変更することは、複数の非正規化器からなる前記デフォルトリストから１つまたは複数の非正規化器を除去することと、複数の非正規化器からなる前記事前定義されたセットからの１つまたは複数の非正規化器を複数の非正規化器からなる前記デフォルトリストに追加することと、のうちの少なくとも１つによって行われる、
請求項１５から１８のいずれか一項に記載のシステム。
【請求項２０】
前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することは、前記音声入力または前記音声入力に関連付けられているオーディオデータを前記コンテキストサーバに提供することなく、前記音声入力に関連付けられている前記コンテキストメタデータを前記コンテキストサーバに提供することを含む、
請求項１５から１９のいずれか一項に記載のシステム。
【請求項２１】
前記非正規化命令は、
複数の非正規化器からなるデフォルトリストの開始位置に先頭追加する新たな非正規化器を識別する先頭追加非正規化器命令であって、複数の非正規化器からなる前記デフォルトリストは、前記コンテキストメタデータがない場合に、生成された前記未処理の音声認識結果に順に適用するための複数の非正規化器からなる前記事前定義されたセットの一部を含む、先頭追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストの終了位置に後尾追加する新たな非正規化器を識別する後尾追加非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストから除去される既存の非正規化器を識別する除去非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストにおいて既存の非正規化器を置き換えるために、新たな非正規化器を識別する置換非正規化器命令と、
複数の非正規化器からなる前記デフォルトリストに追加する新たな非正規化器を識別し、前記新たな非正規化器に先行または後続する、複数の非正規化器からなる前記デフォルトリストにおける既存の非正規化器を識別する追加非正規化器命令と、を含む命令のうちの１つまたは複数の命令を含む、
請求項１５から２０のいずれか一項に記載のシステム。
【請求項２２】
前記非正規化命令は、複数の非正規化器からなるデフォルトリストを複数の非正規化器からなる新たなリストで上書きする上書き命令を含み、複数の非正規化器からなる前記新たなリストは、前記１つまたは複数の非正規化器からなる前記選択されたリストを含む、
請求項１５から２１のいずれか一項に記載のシステム。
【請求項２３】
前記コンテキストサーバは、
前記ＡＳＲモジュールのクライアントに固有の１つまたは複数のカスタマイズの非正規化規則を受信することと、
前記クライアントに固有の前記１つまたは複数のカスタマイズの非正規化規則に基づいてカスタマイズの非正規化器をコンパイルすることと、を行うように構成されている、
請求項１５から２２のいずれか一項に記載のシステム。
【請求項２４】
前記１つまたは複数の非正規化器からなる前記選択されたリストを使用することにより、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化することは、
対応するキーを使用して、前記メモリハードウェアから前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を取り出すことと、
前記メモリハードウェアから取り出された前記１つまたは複数の非正規化器からなる前記選択されたリストにおける各非正規化器を、生成された前記未処理の音声認識結果に順に適用することと、を含む、
請求項１５から２３のいずれか一項に記載のシステム。
【請求項２５】
前記メモリハードウェアは前記ＡＳＲモジュールにある、
請求項２４に記載のシステム。
【請求項２６】
前記メモリハードウェアは、前記ＡＳＲモジュールから離れて配置されたリポジトリを含む、
請求項２４または２５に記載のシステム。
【請求項２７】
前記動作は、生成された前記未処理の音声認識結果を前記非正規化されたテキストへと非正規化した後、前記非正規化されたテキストを前記ＡＳＲモジュールからクライアントデバイスに送信し、前記非正規化されたテキストは前記クライアントデバイスによって受信されたとき、前記クライアントデバイスに、前記クライアントデバイスの表示画面に前記非正規化されたテキストを表示させるように構成されていることをさらに含む、
請求項１５から２６のいずれか一項に記載のシステム。
【請求項２８】
前記非正規化されたテキストを前記ＡＳＲモジュールから送信することは、前記非正規化されたテキストを前記クライアントデバイスにリアルタイムでストリーミングすることを含む、
請求項２７に記載のシステム。
【国際調査報告】
2021530749.tif 000012
2021530749.tif 000013
2021530749.tif 000014