(57)【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
特定のユーザによって話された音声クエリを含む音声クエリログデータにアクセスするステップと、
特定のユーザによって話された音声クエリを含む前記音声クエリログデータに基づいて、前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータからポーズ閾値を決定するステップであって、前記音声クエリログデータは、それぞれ音声クエリが完全であるか否かを示すデータを含み、前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータからポーズ閾値を決定するステップが、それぞれの音声クエリが完全であるか否かを示す前記データに基づいて、前記ポーズ閾値を決定することを含む、ステップと、
前記特定のユーザから、発話を受信するステップであって、音声クエリが完全であるか否かは、1つまたは複数の完全な発話と前記受信された発話との比較によって決定される、ステップと、
前記特定のユーザが、少なくとも前記ポーズ閾値に等しい期間について話すことを止めたと決定するステップと、
前記特定のユーザが、少なくとも前記ポーズ閾値に等しい期間について話すことを止めたという決定に基づいて、前記発話を、音声クエリとして処理するステップと
を含む、コンピュータ実施方法。
【請求項２】
前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータから前記ポーズ閾値を決定するステップが、
前記特定のユーザを、音声認識システムの上級者ユーザとして、または前記音声認識システムの初心者ユーザとして分類することと、
前記特定のユーザを、前記音声認識システムの前記上級者ユーザとして、または前記音声認識システムの前記初心者ユーザとして分類することに基づいて、前記ポーズ閾値を決定することと
を含む、請求項1に記載の方法。
【請求項３】
前記音声クエリログデータが、それぞれの音声クエリに関連するタイムスタンプ、およびそれぞれの音声クエリに関連するスピーチポーズ間隔を含み、
前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータからポーズ閾値を決定するステップが、それぞれの音声クエリに関連する前記タイムスタンプ、およびそれぞれの音声クエリに関連する前記スピーチポーズ間隔に基づいて、前記ポーズ閾値を決定することを含む、請求項1に記載の方法。
【請求項４】
前記音声クエリログデータに基づいて、1日毎の前記特定のユーザによって話された音声クエリの平均数を決定するステップを含み、
前記ポーズ閾値を決定するステップが、1日毎の前記特定のユーザによって話された音声クエリの前記平均数にさらに基づく、請求項1に記載の方法。
【請求項５】
前記音声クエリログデータに基づいて、前記特定のユーザによって話された音声クエリの平均長を決定するステップを含み、
前記ポーズ閾値を決定するステップが、前記特定のユーザによって話された音声クエリの前記平均長にさらに基づく、請求項1に記載の方法。
【請求項６】
前記音声クエリログデータに基づいて、前記特定のユーザによって話された音声クエリについての平均ポーズ間隔を決定するステップを含み、
前記ポーズ閾値を決定するステップが、前記特定のユーザによって話された音声クエリについての前記平均ポーズ間隔にさらに基づく、請求項1に記載の方法。
【請求項７】
システムであって、
1つまたは複数のコンピュータと、  前記1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに、
特定のユーザによって話された音声クエリを含む音声クエリログデータにアクセスすることと、
特定のユーザによって話された音声クエリを含む前記音声クエリログデータに基づいて、前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータからポーズ閾値を決定することと、
前記特定のユーザから、発話を受信することと、
前記特定のユーザが少なくとも前記ポーズ閾値に等しい期間について話すことを止めたと決定することと、
前記特定のユーザが少なくとも前記ポーズ閾値に等しい期間について話すことを止めたという決定に基づいて、前記発話を、音声クエリとして処理することと
を含む動作を行わせるように動作可能である命令を記憶する1つまたは複数の記憶デバイスと
を備え、
前記音声クエリログデータは、それぞれ音声クエリが完全であるか否かを示すデータを含み、前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータからポーズ閾値を決定することが、それぞれの音声クエリが完全であるか否かを示す前記データに基づいて、前記ポーズ閾値を決定することを含み、音声クエリが完全であるか否かは、1つまたは複数の完全な発話と前記受信された発話との比較によって決定される、システム。
【請求項８】
前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータから前記ポーズ閾値を決定することが、
前記特定のユーザを、音声認識システムの上級者ユーザとして、または前記音声認識システムの初心者ユーザとして分類することと、
前記特定のユーザを、前記音声認識システムの前記上級者ユーザとして、または前記音声認識システムの前記初心者ユーザとして分類することに基づいて、前記ポーズ閾値を決定することと
を含む、請求項7に記載のシステム。
【請求項９】
前記音声クエリログデータが、それぞれの音声クエリに関連するタイムスタンプ、およびそれぞれの音声クエリに関連するスピーチポーズ間隔を含み、
前記特定のユーザによって話された音声クエリを含む前記音声クエリログデータからポーズ閾値を決定することが、それぞれの音声クエリに関連する前記タイムスタンプ、およびそれぞれの音声クエリに関連する前記スピーチポーズ間隔に基づいて、前記ポーズ閾値を決定することを含む、請求項7に記載のシステム。
【請求項１０】
前記動作が、前記音声クエリログデータに基づいて、1日毎の前記特定のユーザによって話された音声クエリの平均数を決定することをさらに含み、
前記ポーズ閾値を決定することが、1日毎の前記特定のユーザによって話された音声クエリの前記平均数にさらに基づく、請求項7に記載のシステム。
【請求項１１】
前記動作が、前記音声クエリログデータに基づいて、前記特定のユーザによって話された音声クエリの平均長を決定することをさらに含み、
前記ポーズ閾値を決定することが、前記特定のユーザによって話された音声クエリの前記平均長にさらに基づく、請求項7に記載のシステム。
【請求項１２】
前記動作が、前記音声クエリログデータに基づいて、前記特定のユーザによって話された音声クエリについての平均ポーズ間隔を決定することをさらに含み、
前記ポーズ閾値を決定することが、前記特定のユーザによって話された音声クエリについての前記平均ポーズ間隔にさらに基づく、請求項7に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容が参照により組み込まれている、2015年10月19日に出願された米国仮出願第62/243,463号の利益を主張するものである。
【０００２】
本開示は、概して音声認識に関し、1つの特定の実施態様は、スピーチのエンドポインティングに関する。
【背景技術】
【０００３】
自然言語処理システムは、通常、ユーザが話すことを開始した時点と終了した時点とを決定するエンドポインタを使用する。いくつかの従来のエンドポインタは、発話が始まる、または終わる時点を決定する際に、単語間のポーズの持続時間の値を求める。例えば、ユーザが、「what is <長いポーズ> for dinner」と言うと、従来のエンドポインタは、長いポーズにおいて音声入力を分割する可能性があり、また、完全なフレーズ「what is for dinner」の代わりに、不完全なフレーズ「what is」の処理を図るよう、自然言語処理システムに命令する可能性がある。エンドポインタが、音声入力について間違った開始点または終了点を示す場合、自然言語処理システムを使用した音声入力の処理の結果は、不正確または望ましくないものになる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
様々なユーザが、自分のモバイルデバイス上で、音声入力を使用しながら、様々な快適度を有することができる。一部のユーザは、音声入力機能を頻繁に使用して、話している最中に、ためらうことなく音声クエリを形成する可能性がある。他のユーザは、ためらうことなく頻繁にまたは素早くクエリを定式化するようには、音声入力機能を使用しない可能性がある。経験豊富なユーザであればあるほど、ユーザのスピーチにおける短いポーズを測定した後にユーザの音声クエリの処理を始めるシステムから利益を得ることができる。経験の少ないユーザであればあるほど、ユーザのスピーチにおけるより長いポーズを測定して、その経験の少ないユーザが話すことを終了したことを確認した後にユーザの音声クエリの処理を始めるシステムから利益を得ることができる。
【０００５】
特定のユーザの音声クエリに適用するポーズ長を決定するために、システムは、特定のユーザの以前の音声クエリを分析する。特定のユーザについて、システムは、音声クエリ頻度、以前の音声クエリの単語間のポーズ長、以前の音声クエリの完全性、および以前の音声クエリの長さを調べる。より頻繁に音声クエリを話すユーザは、それほど頻繁に音声クエリを話さないユーザに比べて、ユーザの音声クエリに適用するより短いポーズ長から、利益を得ることができる。以前の音声クエリの単語間に短い平均ポーズ長を有するユーザは、単語間により長い平均ポーズ長を有するユーザよりも短いポーズ長から、利益を得ることができる。完全な音声クエリを話すユーザは、それほど頻繁には完全なクエリを話さないユーザよりも短いポーズ長から、利益を得ることができる。より長い音声クエリを話すユーザは、より短い音声クエリを話すユーザよりも短いポーズ長から利益を得ることができる。システムが、特定のユーザの音声クエリに適用する適切なポーズ長を算出すると、システムは、特定のユーザのポーズ長を使用して、特定のユーザのそれ以降の発話中に、エンドポイントを生成することができる。
【０００６】
一般的に、本明細書に記載された本発明の主題の別の革新的な態様は、特定のユーザによって話された音声クエリを含む音声クエリログデータにアクセスすることと、特定のユーザによって話された音声クエリを含む音声クエリログデータに基づいて、特定のユーザによって話された音声クエリを含む音声クエリログデータから、ポーズ閾値を決定することと、特定のユーザから発話を受信することと、特定のユーザが少なくともポーズ閾値に等しい期間について話すことを止めたと決定することと、特定のユーザが少なくともポーズ閾値に等しい期間について話すことを止めたという決定に基づいて、発話を音声クエリとして処理することと、の動作を含む方法において実施され得る。
【０００７】
これらおよび他の実施形態は、それぞれ任意選択的に、以下の特徴のうちの1つまたは複数を含むことができる。特定のユーザによって話された音声クエリを含む音声クエリログデータからポーズ閾値を決定する動作は、特定のユーザを、音声認識システムの上級者ユーザとして、または音声認識システムの初心者ユーザとして分類することと、特定のユーザを、音声認識システムの上級者ユーザとして、または音声認識システムの初心者ユーザとして分類することに基づいて、ポーズ閾値を決定することと、を含む。音声クエリログデータは、それぞれの音声クエリに関連するタイムスタンプ、それぞれの音声クエリが完全であるか否かを示すデータ、およびそれぞれの音声クエリに関連するスピーチポーズ間隔を含む。特定のユーザによって話された音声クエリを含む音声クエリログデータからポーズ閾値を決定する動作は、それぞれの音声クエリに関連するタイムスタンプ、それぞれの音声クエリが完全であるか否かを示すデータ、およびそれぞれの音声クエリに関連するスピーチポーズ間隔に基づいて、ポーズ閾値を決定することを含む。
【０００８】
動作は、音声クエリログデータに基づいて、1日毎の特定のユーザによって話された音声クエリの平均数を決定することをさらに含む。ポーズ閾値を決定する動作は、1日毎の特定のユーザによって話された音声クエリの平均数にさらに基づく。動作は、音声クエリログデータに基づいて、特定のユーザによって話された音声クエリの平均長を決定することをさらに含む。ポーズ閾値を決定する動作は、特定のユーザによって話された音声クエリの平均長にさらに基づく。動作は、音声クエリログデータに基づいて、特定のユーザによって話された音声クエリに対する平均ポーズ間隔を決定することをさらに含む。ポーズ閾値を決定する動作は、特定のユーザによって話された音声クエリに対する平均ポーズ間隔にさらに基づく。
【０００９】
本態様の他の実施形態は、対応するシステム、装置、およびコンピュータ記憶デバイスに記録されたコンピュータプログラムを含み、それらのそれぞれが、この方法の動作を行うように構成される。
【００１０】
本明細に記載された本発明の主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実施され得る。ユーザは、コンピューティングデバイスの音声入力能力を使用して、ユーザにとって心地よいペースで話をすることができる。発話は、発話の意図された終点においてエンドポイントされ、自然言語処理システムによる、より正確な、または望しい自然言語処理出力と、より高速な処理とをもたらすことができる。
【００１１】
本明細に記載された本発明の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の記載において示される。本発明の主題の他の特徴、態様、および利点は、当該記載、図面、および特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【００１２】
【図１】特定のユーザについて、ユーザが音声クエリを話すことを終了したか否かを決定する際に使用される、例示的な発話および信号の図である。
【図２】特定のユーザの音声入力での経験に基づいて、特定のユーザを分類する例示的なシステムの図である。
【図３】特定のユーザの音声入力での経験に基づいて、特定のユーザを分類し、かつ、その特定のユーザが音声クエリを話すことを終了したか否かを決定する、例示的なプロセスの図である。
【図４】本明細書に記載されたプロセス、またはプロセスの一部が実施され得るコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【００１３】
様々な図面における同じ参照番号および名称は、同じ要素を示す。
【００１４】
図1は、特定のユーザについて、ユーザが音声クエリを話すことを終了したか否かを決定する際に使用される例示的な発話および信号の図式100である。全般的に、図式100は、コンピューティングデバイス121が着信オーディオ入力を処理している時に、コンピューティングデバイス121によって生成される、または検出される信号103〜118を図示する。コンピューティングデバイス121は、コンピューティングデバイス121のマイクロホンまたはその他のオーディオ入力デバイスを通して、発話124に対応するオーディオデータを受信し、ユーザ127に割り当てられたユーザプロファイルに応じて、発話124のトランスクリプションを生成する。
【００１５】
発話タイミング130は、発話124(図1における「Text Mom love you」)を行っているユーザ127の様々な単語のタイミングを表す。ユーザ127は、それぞれの単語間のポーズ長を長くして、それぞれの単語を話す。それぞれの単語間のドットの数は、それぞれの単語間のポーズ長に比例する。それぞれのドットは、100ミリ秒などの特定の期間を表すことができる。1番目の単語133、「Text」の後に、300ミリ秒に対応することのできる3ドットのポーズ136が続く。2番目の単語139、「Mom」の後に、800ミリ秒に対応することのできる8ドットのポーズ142が続く。3番目の単語145、「love」の後に、1.2秒に対応することのできる12ドットのポーズ148が続く。4番目の単語151、「you」の後に、ポーズ154が続く。図1では、ポーズ154は、2秒に対応することのできる20ドットである。単語151は、発話124の最後にあるので、単語151の後のポーズは、ユーザ127が話すことを止めていることから、ポーズ154よりもずっと長い可能性がある。これらのポーズおよび以下に説明されるその他のポーズは、2つの単語間の自然な無言時間を表し、ユーザが積極的に話すことを止めたことを表すものではない。
【００１６】
いくつかの実施態様では、コンピューティングデバイス121は、ユーザ127の特徴を何も考慮することなく、汎用エンドポイント信号103および完全クエリ信号106を生成することができる。完全クエリ信号106は、発話124の生成されたトランスクリプションが完全な発話を表すという、コンピューティングデバイス121によって行われる評価を表す。コンピューティングデバイス121は、生成されたトランスクリプションを、ユーザ127および他のユーザが以前に行った1つまたは複数の完全な発話と比較する。コンピューティングデバイス121は、コンピューティングデバイス121の音声認識装置が新しい単語を識別した後、生成されたトランスクリプションを完全な発話と比較してもよい。例えば、ユーザ127が、単語133を話した後、コンピューティングデバイス121の音声認識装置は、トランスクリプション「text」を生成する。コンピューティングデバイス121は、「text」を他の完全な発話と比較して、「text」が完全な発話ではないと決定する。ユーザ127が、単語139を話した後、音声認識装置は、コンピューティングデバイス121が完全であると識別するトランスクリプション「text mom」を生成する。単語151の後に同様の決定がなされる。ユーザ127が単語145を話した後、音声認識装置は、コンピューティングデバイス121が不完全であると識別するトランスクリプション「text mom love」を生成する。
【００１７】
汎用エンドポイント信号103は、ユーザ127が話すことを終了したという、コンピューティングデバイス121によって行われた評価を表す。コンピューティングデバイス121は、スピーチオーディオ間のポーズの長さに基づいて、汎用エンドポイント信号103を生成し得る。コンピューティングデバイス121は、発話124のトランスクリプションを生成することなく、汎用エンドポイント信号103を生成し得る。例えば、コンピューティングデバイス121は、単語133に対応するオーディオデータを受信し得る。ポーズ136中、コンピューティングデバイス121は、ポーズ136中に経過する時間を測定する。ポーズ136は、300ミリ秒だけ続く可能性がある。汎用エンドポイント閾値が、600ミリ秒など、300ミリ秒より長いと、コンピューティングデバイス121は、汎用エンドポインタをトリガしないこととなる。コンピューティングデバイス121は、単語139に対応するオーディオデータを受信した後、ポーズ142の継続時間を測定する。ポーズ142の600ミリ秒が経過した後、コンピューティングデバイス121は、汎用エンドポインタをトリガし、汎用エンドポイント信号103は、エンドポイントに達したことを示す。汎用エンドポイント信号103が発話124のエンドポイントを示し、完全クエリ信号106が、発話124が完全であることを示すと、コンピューティングデバイスは、発話124について、トランスクリプション157、「text mom」を生成する。
【００１８】
いくつかの実施態様では、コンピューティングデバイス121は、発話124のエンドポイントを識別する際に、ユーザ127の特徴を考慮に入れることができる。一方では、初心者ユーザは、コンピューティングデバイス121に話しかけるのにどの用語が適切であるかに関してよく分かっていない可能性があるために、単語間のポーズを長くとって話す可能性が高い。他方では、上級者ユーザは、コンピューティングデバイス121の音声入力技術をより容易に使いこなし、その技術に精通している可能性があるので、より短い単語間のポーズで、話す可能性がある。従って、コンピューティングデバイス121は、コンピューティングデバイス121がどのようにユーザを分けるかに応じて、ポーズを識別する前に時間量を長くする、または短くすることができる。
【００１９】
初心者ポーズ検出装置信号109は、コンピューティングデバイス121が、発話124に対応するオーディオデータにおいてポーズを検出することを示し、この場合、検出されたポーズ長は、汎用エンドポインタに対応するポーズ長よりも長い。例えば、コンピューティングデバイス121は、ユーザ127が初心者ユーザとして分類される場合、1秒の長さのポーズを検出することができる。このポーズ閾値を発話124に適用すると、コンピューティングデバイス121は、それらのポーズがそれぞれ、300ミリ秒、800ミリ秒の長さであることから、ポーズ136および142中に、初心者長ポーズを検出しないこととなる。コンピューティングデバイス121は、ポーズ148および154中に初心者長ポーズを検出する。初心者ポーズ検出装置信号109に示されるように、コンピューティングデバイス121は、ユーザ127が単語145を話した後のポーズ148中に、1秒のポーズを検出する。コンピューティングデバイス121はまた、ユーザが単語151を話した後のポーズ154中に、1秒のポーズを検出する。
【００２０】
コンピューティングデバイス121は、ユーザを初心者として分類する場合、初心者ポーズ検出装置信号109および完全クエリ信号106に基づいて、発話124に対するスピーチエンドポイントを決定する。コンピューティングデバイス121が、ポーズ148中の初心者ポーズ検出装置信号109のポーズなどのポーズを検出すると、コンピューティングデバイス121は、発話124が完全であるか否かを決定する。ポーズ148中、完全クエリ信号106は、発話124が完全でないことを示す。コンピューティングデバイス121が初心者長ポーズを検出した場合でも、発話124は完全ではないので、コンピューティングデバイス121は、引き続き、発話124のオーディオデータを処理する。ポーズ154中、コンピューティングデバイス121は、初心者長ポーズを検出し、完全クエリ信号106は、発話が完全であることを示し、それによって、初心者エンドポイント信号112によって示されるように、発話124のエンドポイントを生成する。ユーザ127が初心者として分類される場合、発話124のエンドポイントは、単語151の後であり、発話124のトランスクリプション160は、「Text Mom love you」である。
【００２１】
上級者ポーズ検出装置信号115は、コンピューティングデバイス121が、発話124に対応するオーディオデータにおいてポーズを検出することを示し、この場合、検出されたポーズ長は、汎用エンドポインタに対応するポーズ長よりも短い。例えば、コンピューティングデバイス121は、ユーザ127が上級者ユーザとして分類される場合、300ミリ秒の長さのポーズを検出することができる。このポーズ閾値を発話124に適用すると、コンピューティングデバイス121は、ポーズ136、142、148、および154中に、上級者長ポーズを検出する。300ミリ秒より短いポーズはないことから、発話124内の全てのポーズは、上級者長ポーズ検出を含む。
【００２２】
コンピューティングデバイス121は、ユーザを上級者として分類する場合、上級者ポーズ検出装置信号115と完全クエリ信号106とを結合して、発話124に対するスピーチエンドポイントを決定する。コンピューティングデバイス121が、ポーズ136中の上級者ポーズ検出装置信号115のポーズなどのポーズを検出すると、コンピューティングデバイス121は、発話124が完全であるか否かを決定する。ポーズ136中、完全クエリ信号106は、発話124が完全ではないことを示す。コンピューティングデバイス121が上級者長ポーズを検出した場合でも、発話124は完全ではないので、コンピューティングデバイス121は、引き続き、発話124のオーディオデータを処理する。ポーズ142中、コンピューティングデバイス121は、上級者長ポーズを検出し、完全クエリ信号106は、発話が完全であることを示し、それによって、上級者エンドポイント信号118によって示されるように、発話124のエンドポイントを生成する。ユーザ127が上級者として分類される場合、発話124のエンドポイントは、単語139の後であり、発話124のトランスクリプション163は、「Text Mom」である。
【００２３】
図2は、特定のユーザの音声入力での経験に基づいて、その特定のユーザを分類する例示的なシステム200の図である。いくつかの実施態様では、システム200は、コンピューティングデバイス121などの、特定のユーザが音声入力の際に使用するコンピューティングデバイス内に含まれてもよい。いくつかの実施態様では、システムは、音声入力のトランスクリプションを処理するサーバ内に含まれてもよい。
【００２４】
システム200は、音声クエリ205を含む。音声クエリログ205は、ユーザがシステム200に提供する以前の音声クエリを格納する。音声クエリログ205は、検索クエリ、例えば「cat videos」、およびコマンドクエリ、例えば「call mom」を含んでもよい。音声クエリログ205は、それぞれの格納された音声クエリについて、タイムスタンプ、単語間のそれぞれのポーズの持続時間を示すデータ、および他の音声クエリとの比較に基づいた、音声クエリが完全であるか不完全であるかを示すデータを含んでもよい。
【００２５】
クエリログ210は、ユーザのボブによって提供された音声クエリを示す。クエリログ210内の音声クエリは、3つの音声クエリを含み、それぞれの音声クエリは、完全表示「[C]」または不完全表示「[I]」を含む。それぞれの音声クエリは、ボブが音声クエリを話した日付および時間を示すタイムスタンプを含む。それぞれの音声クエリは、話された単語間のポーズ間隔を示すデータを含む。例えば、「cat videos」は、ボブが、「cat」と「video」との間で、200ミリ秒、間を空けたことを示すデータを含む可能性がある。「Call ... mom」は、ボブが、「call」と「mom」との間で1秒、間を空けたことを示すデータを含む可能性がある。
【００２６】
クエリログ215は、ユーザのアリスによって提供された音声クエリを示す。クエリログ215内の音声クエリは、5つの音声クエリを含み、それぞれの音声クエリは、完全表示「[C]」または不完全表示「[I]」を含む。それぞれの音声クエリは、アリスが音声クエリを話した日付および時間を示すタイムスタンプを含む。それぞれの音声クエリは、話された単語間のポーズ間隔を示すデータを含む。例えば、「Text Sally that I'll be ten minutes late」は、アリスが、「text」と「Sally」との間で1ミリ秒、間を空け、「Sally」と「that」との間で300ミリ秒、間を空け、「that」と「I'll」との間で、1.5秒、間を空けたことを示し、また、その他の単語間でのポーズ間隔も示すデータを含む可能性がある。「Call mom」は、アリスが「call」と「mom」との間で300ミリ秒、間を空けたことを示すデータを含む可能性がある。
【００２７】
音声クエリプロセッサ220は、音声クエリログ205から受信された音声クエリを処理する。音声クエリプロセッサ220は、各ユーザについて音声クエリ経験スコアを生成する。音声クエリ経験スコアは、特定のユーザが音声クエリで有する経験レベルを示す。音声クエリ経験スコアが高いほど、その特定のユーザが、音声クエリを話すことにおいて、より経験がある可能性があることを示す。例えば、ボブに対する音声クエリ経験スコアを生成するために、音声クエリプロセッサ220は、クエリログ210を処理する。
【００２８】
音声クエリプロセッサ220は、クエリ完全性プロセッサ225を含む。クエリ完全性プロセッサ225は、各ユーザについて、それぞれの音声クエリに対する完全性データにアクセスし、ユーザの音声クエリ経験スコアを調整する。特定のユーザについて、完全な音声クエリが多く、不完全な音声クエリが少ない場合、クエリ完全性プロセッサ225は、音声クエリ経験スコアを上げる。特定のユーザについて、不完全な音声クエリが多く、完全な音声クエリが少ない場合、クエリ完全性プロセッサ225は、音声クエリ経験スコアを下げる。クエリ完全性プロセッサ225は、音声クエリ経験スコアを上げるか下げるかについて決定する際に、完全なクエリの不完全なクエリに対する比率を、完全性比率閾値と比較することができる。例えば、ボブは、1つの不完全なクエリと2つの完全なクエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、ボブの音声クエリ経験スコアを下げることができる。アリスは、不完全なクエリがなく、5つの完全なクエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、アリスの音声クエリ経験スコアを上げることができる。
【００２９】
音声クエリプロセッサ220は、クエリ長プロセッサ230を含む。クエリ長プロサッサ230は、各ユーザについて、それぞれの音声クエリの長さを算出し、そのユーザの音声クエリ経験スコアを調整する。特定のユーザについて、長い音声クエリが多く、短い音声クエリが少ない場合、音声クエリプロセッサ220は、音声クエリ経験スコアを上げる。特定のユーザについて、短い音声クエリが多く、長い音声クエリが少ない場合、音声クエリプロセッサ220は、音声クエリ経験スコアを下げる。クエリ長プロセッサ230は、閾値を使用して、音声クエリが長いか短いかを決定することができる。クエリ長プロセッサ230は、音声クエリ経験スコアを上げるか下げるかについて決定する際に、長いクエリの短いクエリに対する比率を、長さ比率閾値と比較することができる。例えば、ボブは、1つの不完全なクエリと2つの完全なクエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、ボブの音声クエリ経験スコアを下げることができる。アリスは、不完全な音声クエリがなく、5つの完全な音声クエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、アリスの音声クエリ経験スコアを上げることができる。
【００３０】
音声クエリプロセッサ220は、ポーズ間隔プロセッサ235を含む。ポーズ間隔プロセッサ235は、各ユーザについて、ユーザの音声クエリに対する単語間の平均ポーズ長を算出する。ポーズ間隔プロセッサ235は、各ユーザに対する平均ポーズ長を、ポーズ閾値と比較して、ユーザの音声クエリ経験スコアを上げるか下げるかを決定することができる。ポーズ閾値を上回る平均ポーズ長は、音声クエリ経験スコアを下げる。ポーズ閾値を下回る平均ポーズ長は、音声クエリ経験スコアを上げる。例えば、ボブは、1.2秒の平均ポーズ長であり得る。アリスは、200ミリ秒の平均ポーズ長であり得る。ポーズ閾値が1秒であれば、ポーズ間隔プロセッサ235は、アリスについて音声クエリ経験スコアを上げ、ボブについて音声クエリ経験スコアを下げる。
【００３１】
音声クエリプロセッサ220は、クエリカウンタ240を含む。クエリカウンタ240は、各ユーザについて、提示された音声クエリの数を算出し、音声クエリ経験スコアを調整する。特定のユーザが多くの音声クエリを提供する場合、音声クエリプロセッサ220は、音声クエリ経験スコアを上げる。特定のユーザが提供する音声クエリが少ない場合、音声クエリプロセッサ220は、音声クエリ経験スコアを下げる。クエリ長プロセッサ230は、1日当たりの音声クエリ閾値を使用して、その閾値を音声クエリの1日当たりの平均数と比較して、ユーザの提示する音声クエリが多いか少ないかを決定することができる。例えば、1日当たりの音声クエリ閾値は、1クエリ/日である。クエリログ210に基づくと、ボブは、1クエリ/日よりも少なくクエリを提示した。従って、クエリカウンタ240は、ボブの音声クエリ経験スコアを下げる。アリスは、クエリログ215に基づくと、1クエリ/日よりも多くクエリを提示した。従って、クエリカウンタ240は、アリスの音声クエリ経験スコアを上げる。
【００３２】
音声クエリプロセッサ220内に含まれたプロセッサのそれぞれは、閾値と対応するユーザの値との差に比例する量だけ、ユーザの音声クエリ経験スコアを上げる、または下げることができる。例えば、アリスは、平均2.5音声クエリ/日で、ボブは、平均0.125クエリ/日である。1クエリ/日の1日当たりの音声クエリ閾値の場合、アリスは、閾値を超える1.5で、ボブは、閾値を下回る0.875である。クエリカウンタ240は、ある係数を1.5倍することによって、アリスの音声クエリ経験スコアを上げ、その同じ係数を0.875倍することによって、ボブの音声クエリ経験スコアを下げる。
【００３３】
音声クエリプロセッサ220は、ユーザプロファイラ245に、各ユーザの音声クエリ経験スコアを提供する。ユーザプロファイラ245は、ユーザの音声クエリ経験スコアに基づいて、音声クエリ経験プロファイルを、各ユーザに割り当てる。音声プロファイラ245は、プロファイル閾値250にアクセスして、各ユーザの音声クエリ経験スコアを音声クエリ経験プロファイルと合わせる。それぞれの音声クエリ経験プロファイルは、音声クエリ経験スコアの範囲に対応することができる。例えば、ある上級者プロファイルは、80〜100の範囲に対応する可能性がある。ある初心者プロファイルは、0〜20の範囲に対応する可能性がある。他のプロファイルは、20〜80の音声クエリ経験スコアの範囲にある可能性がある。図2の例では、ボブは、18の音声クエリ経験スコアを有する可能性があり、アリスは、88の音声クエリ経験スコアを有する可能性がある。従って、ボブは、初心者として分類され、アリスは、上級者として分類される。その後、ユーザプロファイラ245は、各ユーザに対する音声クエリ経験プロファイルを、プロファイル記憶装置255に格納する。プロファイル260は、プロファイル記憶装置255に格納された、アリスおよびボブのプロファイルを示す。
【００３４】
それぞれの音声クエリ経験プロファイルは、システム200が、後で、これからの発話に対するエンドポイントを生成する際に使用する、異なるポーズ長閾値に対応する。図1および上記に示されるように、上級者プロファイルは、発話をエンドポイントするために使用される300ミリ秒のポーズ長閾値に対応する。初心者プロファイルは、1秒のポーズ長閾値に対応する。システム200は、600ミリ秒のポーズ長閾値を有する中間プロファイルなどの他のプロファイルを定義することができる。いくつかの実施態様では、システム200は、ユーザにプロファイルを割り当てずに、ポーズ長閾値をユーザに割り当てることができる。システムは、音声クエリ経験スコアを生成し、その音声クエリ経験スコアに反比例するポーズ長閾値を算出することができる。
【００３５】
図3は、特定のユーザの音声入力での経験に基づいて、特定のユーザを分類し、かつその特定のユーザが音声クエリを話すことを終了したか否かを決定する、例示的なプロセス300の図である。プロセス300は、図1からのコンピューティングデバイス121、または図2からのコンピューティングデバイス200などのコンピューティングデバイスによって行われ得る。プロセス300は、ユーザの以前の音声クエリを分析して、これからのユーザがクエリを話すことを終了したか否かを決定する際に使用するためのポーズ閾値を決定する。
【００３６】
コンピューティングデバイスは、音声クエリログデータにアクセスする(310)。コンピューティングデバイスは、特定のユーザについてポーズ閾値を決定する(320)。コンピューティングデバイスは、特定のユーザから発話を受信する(330)。コンピューティングデバイスは、特定のユーザがポーズ閾値について話すことを止めたと決定する(340)。コンピューティングデバイスは、この発話を音声クエリとして処理する(350)。
【００３７】
図4は、クライアントまたは1つもしくは複数のサーバとして、本明細書に記載されたシステムおよび方法を実施するために使用されてもよいコンピューティングデバイス400のブロック図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すものである。
【００３８】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記憶デバイス406、メモリ404および高速拡張ポート410に接続する高速インタフェース408、ならびに低速バス414および記憶デバイス406に接続する低速インタフェース412を含む。構成要素402、404、406、408、410、および412のそれぞれは、様々なバスを使用して相互接続され、必要に応じて、共通のマザーボード上にまたは他の方法で取り付けられてもよい。プロセッサ402は、コンピューティングデバイス400内で実行する命令を処理することができ、この命令は、高速インタフェース408に接続されたディスプレイ416などの外部入出力デバイス上にGUI用のグラフィカル情報を表示するよう求める、メモリ404または記憶デバイス406に格納された命令を含む。他の実施態様では、複数のプロセッサおよび/または複数のバスは、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス400は、例えば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして、必要な動作の一部を提供するそれぞれのデバイスと接続されてもよい。
【００３９】
コンピューティングデバイス400は、図に示されるように、多くの様々な形態で実施されてもよい。例えば、コンピューティングデバイス400は、標準サーバ420として、またはそのようなサーバ群において複数回、実施されてもよい。コンピューティングデバイス400はまた、ラックサーバシステム424の一部として実施されてもよい。さらに、コンピューティングデバイス400は、ラップトップコンピュータ422などのパーソナルコンピュータにおいて実施されてもよい。代替えとして、コンピューティングデバイス400からの構成要素は、モバイルデバイス(図示せず)において他の構成要素と組合せられてもよい。このようなデバイスのそれぞれは、コンピューティングデバイス400の1つまたは複数を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイス400から構成されてもよい。
【００４０】
本明細書に記載されたシステムおよび方法の様々な実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(Application Specific Integrated Circuit、特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこのような実施態様の組合せ、において実現され得る。これらの様々な実施態様は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間で、データおよび命令を送受信するように接続された、特別なまたは一般的な目的であり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で、実行可能かつ/または解釈可能である1つまたは複数のコンピュータプログラムにおける実施態様を含むことができる。
【００４１】
本明細書に記載されたシステムおよび技法は、例えば、データサーバとしてバックエンド構成要素を含む、または、例えばアプリケーションサーバといったミドルウェア構成要素を含む、または、例えば、それを通してユーザが、本明細書に記載されたシステムおよび技法の実施態様と相互作用することができる、グラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータといったフロントエンド構成要素を含む、コンピューティングシステムにおいて、あるいはこのようなバックエンド、ミドルウェア、またはフロントエンドの構成要素の任意の組合せにおいて、実施され得る。システムの構成要素は、例えば、通信ネットワークといったデジタルデータ通信の任意の形態または媒体によって、相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」：Local Area Network)、広域ネットワーク(「WAN」：Wide Area Network)、およびインターネットを含む。
【００４２】
多くの実施形態が説明された。それにも関わらず、本発明の趣旨および範囲から外れることなく、様々な修正がなされてもよいことが理解されよう。さらに、図において描写されたロジックフローは、望ましい結果を達成するのに、示された特定の順番、または連番である必要はない。さらに、他のステップが提供されてもよく、または記載されたフローからステップが削除されてもよく、また記載されたシステムに他の構成要素が加えられてもよく、またはそのシステムから構成要素が取り除かれてもよい。従って、他の実施形態は、以下の特許請求の範囲内にある。
【符号の説明】
【００４３】
100  図式
103  汎用エンドポイント信号
103  信号
106  完全クエリ信号
106  信号
109  初心者ポーズ検出装置信号
109  信号
112  初心者 エンドポイント信号
112  信号
115  上級者ポーズ検出装置信号
115  信号
118  上級者エンドポイント信号
118  信号
121  コンピューティングデバイス
124  発話
127  ユーザ
130  発話タイミング
133  1番目の単語
133  単語
136  ポーズ
139  2番目の単語
139  単語
142  ポーズ
145  3番目の単語
145  単語
148  ポーズ
151  4番目の単語
151  単語
154  ポーズ
157  トランスクリプション
160  トランスクリプション
163  トランスクリプション
200  例示的なシステム
200  システム
200  コンピューティングデバイス
205  音声クエリ
205  音声クエリログ
210  クエリログ
215  クエリログ
220  音声クエリプロセッサ
225  クエリ完全性プロセッサ
230  クエリ長プロセッサ
235  ポーズ間隔プロセッサ
240  クエリカウンタ
245  ユーザプロファイラ
245  音声プロファイラ
250  プロファイル閾値
255  プロファイル記憶装置
260  プロファイル
300  例示的なプロセス
300  プロセス
400  コンピューティングデバイス
402  プロセッサ
402  構成要素
404  メモリ
404  構成要素
406  記憶デバイス
406  構成要素
408  高速インタフェース
408  構成要素
410  高速拡張ポート
410  構成要素
412  低速インタフェース
412  構成要素
414  低速バス
416  ディスプレイ
420  標準サーバ
422  ラップトップコンピュータ
424  ラックサーバシステム
【図１】
0006541630.tif 000002
【図２】
0006541630.tif 000003
【図３】
0006541630.tif 000004
【図４】
0006541630.tif 000005