(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6420306
(24)【登録日】2018年10月19日
(45)【発行日】2018年11月7日
(54)【発明の名称】スピーチエンドポインティング
(51)【国際特許分類】
G10L 15/04 20130101AFI20181029BHJP
G06F 3/16 20060101ALI20181029BHJP
【FI】
G10L15/04 300Z
G06F3/16 650
【請求項の数】16
【外国語出願】
【全頁数】15
(21)【出願番号】特願2016-246365(P2016-246365)
(22)【出願日】2016年12月20日
(62)【分割の表示】特願2016-179291(P2016-179291)の分割
【原出願日】2016年9月14日
(65)【公開番号】特開2017-78869(P2017-78869A)
(43)【公開日】2017年4月27日
【審査請求日】2016年12月22日
(31)【優先権主張番号】62/243,463
(32)【優先日】2015年10月19日
(33)【優先権主張国】US
(31)【優先権主張番号】14/923,637
(32)【優先日】2015年10月27日
(33)【優先権主張国】US
(31)【優先権主張番号】15/196,663
(32)【優先日】2016年6月29日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】シッディ・タドパトリカル
(72)【発明者】
【氏名】マイケル・ブキャナン
(72)【発明者】
【氏名】プラヴィール・クマール・グプタ
【審査官】
上田 雄
(56)【参考文献】
【文献】
特開2005−017932(JP,A)
【文献】
特開平01−219893(JP,A)
【文献】
特表2008−508564(JP,A)
【文献】
特開平08−115093(JP,A)
【文献】
特開平10−254475(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00−15/34
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
特定のユーザによって提示された音声クエリのコレクションにアクセスするステップと、
前記音声クエリのコレクションにおける音声クエリの単語間のポーズの持続時間に基づいて持続時間の値を決定するステップと、
前記特定のユーザが1つ以上の単語を話し、そして前記持続時間の値より小さいポーズを入れ、そして1つ以上の他の単語を話し、そして前記持続時間の値より大きいポーズを入れた発話を受信するステップと、
前記発話のトランスクリプションが、以前に行われた完全な発話と比較して完全であると決定される場合、前記1つ以上の他の単語なしで前記発話の最初の部分を形成する前記1つ以上の単語のトランスクリプションを含む音声クエリをまず提示することなく、前記発話の最初の部分を形成する前記1つ以上の単語および前記1つ以上の他の単語のトランスクリプションを含む音声クエリを提示するステップと、
を含む、コンピュータにより実施される方法。
【請求項2】
前記音声クエリのコレクションにおける音声クエリに基づいて音声クエリの長さを決定するステップと、
前記音声クエリの長さに基づいて前記持続時間の値を修正するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記音声クエリの長さは、前記音声クエリのコレクションにおける音声クエリの平均持続時間である、請求項2に記載の方法。
【請求項4】
前記音声クエリの長さは、前記音声クエリのコレクションにおける音声クエリにおける平均単語数である、請求項2に記載の方法。
【請求項5】
各々の日に話された音声クエリのコレクションにおける音声クエリの量に基づいて音声クエリの量を決定するステップと、
前記音声クエリの量に基づいて前記持続時間の値を修正するステップと、
を含む、請求項1に記載の方法。
【請求項6】
前記音声クエリの量は、各々の日に話された音声クエリのコレクションにおける音声クエリの平均の数である、請求項5に記載の方法。
【請求項7】
前記音声クエリのコレクションにおける音声クエリを完全または不完全として分類するステップと、
前記分類に基づいて前記持続時間の値を修正するステップと、
を含む、請求項1に記載の方法。
【請求項8】
前記持続時間の値を、予め決定された持続時間の集合の中で最も近い持続時間に丸めるステップを含む、請求項1に記載の方法。
【請求項9】
前記持続時間の値は、前記音声クエリのコレクションにおける音声クエリにおける単語間のポーズの平均持続時間である、請求項1に記載の方法。
【請求項10】
システムであって、1つ以上のコンピュータと、命令を記憶する1つ以上の記憶デバイスとを備え、前記命令は、前記1つ以上のコンピュータによって実行されるとき、
特定のユーザによって提示された音声クエリのコレクションにアクセスするステップと、
前記音声クエリのコレクションにおける音声クエリの単語間のポーズの持続時間に基づいて持続時間の値を決定するステップと、
前記特定のユーザが1つ以上の単語を話し、そして前記持続時間の値より小さいポーズを入れ、そして1つ以上の他の単語を話し、そして前記持続時間の値より大きいポーズを入れた発話を受信するステップと、
前記発話のトランスクリプションが、以前に行われた完全な発話と比較して完全であると決定される場合、前記1つ以上の他の単語なしで前記発話の最初の部分を形成する前記1つ以上の単語のトランスクリプションを含む音声クエリをまず提示することなく、前記発話の最初の部分を形成する前記1つ以上の単語および前記1つ以上の他の単語のトランスクリプションを含む音声クエリを提示するステップと、
を含む動作を前記1つ以上のコンピュータに実行させるように動作可能である、システム。
【請求項11】
前記動作は、
前記音声クエリのコレクションにおける音声クエリに基づいて音声クエリの長さを決定するステップと、
前記音声クエリの長さに基づいて前記持続時間の値を修正するステップと、
をさらに含む、請求項10に記載のシステム。
【請求項12】
前記動作は、
各々の日に話された音声クエリのコレクションにおける音声クエリの量に基づいて音声クエリの量を決定するステップと、
前記音声クエリの量に基づいて前記持続時間の値を修正するステップと、
をさらに含む、請求項10に記載のシステム。
【請求項13】
前記動作は、
前記音声クエリのコレクションにおける音声クエリを完全または不完全として分類するステップと、
前記分類に基づいて前記持続時間の値を修正するステップと、
をさらに含む、請求項10に記載のシステム。
【請求項14】
前記動作は、前記持続時間の値を、予め決定された持続時間の集合の中で最も近い持続時間に丸めるステップをさらに含む、請求項10に記載のシステム。
【請求項15】
前記持続時間の値は、前記音声クエリのコレクションにおける音声クエリにおける単語間のポーズの平均持続時間である、請求項10に記載のシステム。
【請求項16】
1つ以上のコンピュータによって実行可能な命令を含むソフトウェアを記憶する非一時的コンピュータ読み取り可能な媒体であって、前記命令は、そのような実行において、
特定のユーザによって提示された音声クエリのコレクションにアクセスするステップと、
前記音声クエリのコレクションにおける音声クエリの単語間のポーズの持続時間に基づいて持続時間の値を決定するステップと、
前記特定のユーザが1つ以上の単語を話し、そして前記持続時間の値より小さいポーズを入れ、そして1つ以上の他の単語を話し、そして前記持続時間の値より大きいポーズを入れた発話を受信するステップと、
前記発話のトランスクリプションが、以前に行われた完全な発話と比較して完全であると決定される場合、前記1つ以上の他の単語なしで前記発話の最初の部分を形成する前記1つ以上の単語のトランスクリプションを含む音声クエリをまず提示することなく、前記発話の最初の部分を形成する前記1つ以上の単語および前記1つ以上の他の単語のトランスクリプションを含む音声クエリを提示するステップと、
を含む動作を前記1つ以上のコンピュータに実行させる、非一時的コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その内容が参照により組み込まれている、2015年10月19日に出願された米国仮出願第62/243,463号の利益を主張するものである。
【0002】
本開示は、概して音声認識に関し、1つの特定の実施態様は、スピーチのエンドポインティングに関する。
【背景技術】
【0003】
自然言語処理システムは、通常、ユーザが話すことを開始した時点と終了した時点とを決定するエンドポインタを使用する。いくつかの従来のエンドポインタは、発話が始まる、または終わる時点を決定する際に、単語間のポーズの持続時間の値を求める。例えば、ユーザが、「what is <長いポーズ> for dinner」と言うと、従来のエンドポインタは、長いポーズにおいて音声入力を分割する可能性があり、また、完全なフレーズ「what is for dinner」の代わりに、不完全なフレーズ「what is」の処理を図るよう、自然言語処理システムに命令する可能性がある。エンドポインタが、音声入力について間違った開始点または終了点を示す場合、自然言語処理システムを使用した音声入力の処理の結果は、不正確または望ましくないものになる可能性がある。
【発明の概要】
【課題を解決するための手段】
【0004】
様々なユーザが、自分のモバイルデバイス上で、音声入力を使用しながら、様々な快適度を有することができる。一部のユーザは、音声入力機能を頻繁に使用して、話している最中に、ためらうことなく音声クエリを形成する可能性がある。他のユーザは、ためらうことなく頻繁にまたは素早くクエリを定式化するようには、音声入力機能を使用しない可能性がある。経験豊富なユーザであればあるほど、ユーザのスピーチにおける短いポーズを測定した後にユーザの音声クエリの処理を始めるシステムから利益を得ることができる。経験の少ないユーザであればあるほど、ユーザのスピーチにおけるより長いポーズを測定して、その経験の少ないユーザが話すことを終了したことを確認した後にユーザの音声クエリの処理を始めるシステムから利益を得ることができる。
【0005】
特定のユーザの音声クエリに適用するポーズ長を決定するために、システムは、特定のユーザの以前の音声クエリを分析する。特定のユーザについて、システムは、音声クエリ頻度、以前の音声クエリの単語間のポーズ長、以前の音声クエリの完全性、および以前の音声クエリの長さを調べる。より頻繁に音声クエリを話すユーザは、それほど頻繁に音声クエリを話さないユーザに比べて、ユーザの音声クエリに適用するより短いポーズ長から、利益を得ることができる。以前の音声クエリの単語間に短い平均ポーズ長を有するユーザは、単語間により長い平均ポーズ長を有するユーザよりも短いポーズ長から、利益を得ることができる。完全な音声クエリを話すユーザは、それほど頻繁には完全なクエリを話さないユーザよりも短いポーズ長から、利益を得ることができる。より長い音声クエリを話すユーザは、より短い音声クエリを話すユーザよりも短いポーズ長から利益を得ることができる。システムが、特定のユーザの音声クエリに適用する適切なポーズ長を算出すると、システムは、特定のユーザのポーズ長を使用して、特定のユーザのそれ以降の発話中に、エンドポイントを生成することができる。
【0006】
一般的に、本明細書に記載された本発明の主題の別の革新的な態様は、特定のユーザによって話された音声クエリを含む音声クエリログデータにアクセスすることと、特定のユーザによって話された音声クエリを含む音声クエリログデータに基づいて、特定のユーザによって話された音声クエリを含む音声クエリログデータから、ポーズ閾値を決定することと、特定のユーザから発話を受信することと、特定のユーザが少なくともポーズ閾値に等しい期間について話すことを止めたと決定することと、特定のユーザが少なくともポーズ閾値に等しい期間について話すことを止めたという決定に基づいて、発話を音声クエリとして処理することと、の動作を含む方法において実施され得る。
【0007】
これらおよび他の実施形態は、それぞれ任意選択的に、以下の特徴のうちの1つまたは複数を含むことができる。特定のユーザによって話された音声クエリを含む音声クエリログデータからポーズ閾値を決定する動作は、特定のユーザを、音声認識システムの上級者ユーザとして、または音声認識システムの初心者ユーザとして分類することと、特定のユーザを、音声認識システムの上級者ユーザとして、または音声認識システムの初心者ユーザとして分類することに基づいて、ポーズ閾値を決定することと、を含む。音声クエリログデータは、それぞれの音声クエリに関連するタイムスタンプ、それぞれの音声クエリが完全であるか否かを示すデータ、およびそれぞれの音声クエリに関連するスピーチポーズ間隔を含む。特定のユーザによって話された音声クエリを含む音声クエリログデータからポーズ閾値を決定する動作は、それぞれの音声クエリに関連するタイムスタンプ、それぞれの音声クエリが完全であるか否かを示すデータ、およびそれぞれの音声クエリに関連するスピーチポーズ間隔に基づいて、ポーズ閾値を決定することを含む。
【0008】
動作は、音声クエリログデータに基づいて、1日毎の特定のユーザによって話された音声クエリの平均数を決定することをさらに含む。ポーズ閾値を決定する動作は、1日毎の特定のユーザによって話された音声クエリの平均数にさらに基づく。動作は、音声クエリログデータに基づいて、特定のユーザによって話された音声クエリの平均長を決定することをさらに含む。ポーズ閾値を決定する動作は、特定のユーザによって話された音声クエリの平均長にさらに基づく。動作は、音声クエリログデータに基づいて、特定のユーザによって話された音声クエリに対する平均ポーズ間隔を決定することをさらに含む。ポーズ閾値を決定する動作は、特定のユーザによって話された音声クエリに対する平均ポーズ間隔にさらに基づく。
【0009】
本態様の他の実施形態は、対応するシステム、装置、およびコンピュータ記憶デバイスに記録されたコンピュータプログラムを含み、それらのそれぞれが、この方法の動作を行うように構成される。
【0010】
本明細に記載された本発明の主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実施され得る。ユーザは、コンピューティングデバイスの音声入力能力を使用して、ユーザにとって心地よいペースで話をすることができる。発話は、発話の意図された終点においてエンドポイントされ、自然言語処理システムによる、より正確な、または望しい自然言語処理出力と、より高速な処理とをもたらすことができる。
【0011】
本明細に記載された本発明の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の記載において示される。本発明の主題の他の特徴、態様、および利点は、当該記載、図面、および特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0012】
【
図1】特定のユーザについて、ユーザが音声クエリを話すことを終了したか否かを決定する際に使用される、例示的な発話および信号の図である。
【
図2】特定のユーザの音声入力での経験に基づいて、特定のユーザを分類する例示的なシステムの図である。
【
図3】特定のユーザの音声入力での経験に基づいて、特定のユーザを分類し、かつ、その特定のユーザが音声クエリを話すことを終了したか否かを決定する、例示的なプロセスの図である。
【
図4】本明細書に記載されたプロセス、またはプロセスの一部が実施され得るコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0013】
様々な図面における同じ参照番号および名称は、同じ要素を示す。
【0014】
図1は、特定のユーザについて、ユーザが音声クエリを話すことを終了したか否かを決定する際に使用される例示的な発話および信号の図式100である。全般的に、図式100は、コンピューティングデバイス121が着信オーディオ入力を処理している時に、コンピューティングデバイス121によって生成される、または検出される信号103〜118を図示する。コンピューティングデバイス121は、コンピューティングデバイス121のマイクロホンまたはその他のオーディオ入力デバイスを通して、発話124に対応するオーディオデータを受信し、ユーザ127に割り当てられたユーザプロファイルに応じて、発話124のトランスクリプションを生成する。
【0015】
発話タイミング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つの単語間の自然な無言時間を表し、ユーザが積極的に話すことを止めたことを表すものではない。
【0016】
いくつかの実施態様では、コンピューティングデバイス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」を生成する。
【0017】
汎用エンドポイント信号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」を生成する。
【0018】
いくつかの実施態様では、コンピューティングデバイス121は、発話124のエンドポイントを識別する際に、ユーザ127の特徴を考慮に入れることができる。一方では、初心者ユーザは、コンピューティングデバイス121に話しかけるのにどの用語が適切であるかに関してよく分かっていない可能性があるために、単語間のポーズを長くとって話す可能性が高い。他方では、上級者ユーザは、コンピューティングデバイス121の音声入力技術をより容易に使いこなし、その技術に精通している可能性があるので、より短い単語間のポーズで、話す可能性がある。従って、コンピューティングデバイス121は、コンピューティングデバイス121がどのようにユーザを分けるかに応じて、ポーズを識別する前に時間量を長くする、または短くすることができる。
【0019】
初心者ポーズ検出装置信号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秒のポーズを検出する。
【0020】
コンピューティングデバイス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」である。
【0021】
上級者ポーズ検出装置信号115は、コンピューティングデバイス121が、発話124に対応するオーディオデータにおいてポーズを検出することを示し、この場合、検出されたポーズ長は、汎用エンドポインタに対応するポーズ長よりも短い。例えば、コンピューティングデバイス121は、ユーザ127が上級者ユーザとして分類される場合、300ミリ秒の長さのポーズを検出することができる。このポーズ閾値を発話124に適用すると、コンピューティングデバイス121は、ポーズ136、142、148、および154中に、上級者長ポーズを検出する。300ミリ秒より短いポーズはないことから、発話124内の全てのポーズは、上級者長ポーズ検出を含む。
【0022】
コンピューティングデバイス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」である。
【0023】
図2は、特定のユーザの音声入力での経験に基づいて、その特定のユーザを分類する例示的なシステム200の図である。いくつかの実施態様では、システム200は、コンピューティングデバイス121などの、特定のユーザが音声入力の際に使用するコンピューティングデバイス内に含まれてもよい。いくつかの実施態様では、システムは、音声入力のトランスクリプションを処理するサーバ内に含まれてもよい。
【0024】
システム200は、音声クエリ205を含む。音声クエリログ205は、ユーザがシステム200に提供する以前の音声クエリを格納する。音声クエリログ205は、検索クエリ、例えば「cat videos」、およびコマンドクエリ、例えば「call mom」を含んでもよい。音声クエリログ205は、それぞれの格納された音声クエリについて、タイムスタンプ、単語間のそれぞれのポーズの持続時間を示すデータ、および他の音声クエリとの比較に基づいた、音声クエリが完全であるか不完全であるかを示すデータを含んでもよい。
【0025】
クエリログ210は、ユーザのボブによって提供された音声クエリを示す。クエリログ210内の音声クエリは、3つの音声クエリを含み、それぞれの音声クエリは、完全表示「[C]」または不完全表示「[I]」を含む。それぞれの音声クエリは、ボブが音声クエリを話した日付および時間を示すタイムスタンプを含む。それぞれの音声クエリは、話された単語間のポーズ間隔を示すデータを含む。例えば、「cat videos」は、ボブが、「cat」と「video」との間で、200ミリ秒、間を空けたことを示すデータを含む可能性がある。「Call ... mom」は、ボブが、「call」と「mom」との間で1秒、間を空けたことを示すデータを含む可能性がある。
【0026】
クエリログ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ミリ秒、間を空けたことを示すデータを含む可能性がある。
【0027】
音声クエリプロセッサ220は、音声クエリログ205から受信された音声クエリを処理する。音声クエリプロセッサ220は、各ユーザについて音声クエリ経験スコアを生成する。音声クエリ経験スコアは、特定のユーザが音声クエリで有する経験レベルを示す。音声クエリ経験スコアが高いほど、その特定のユーザが、音声クエリを話すことにおいて、より経験がある可能性があることを示す。例えば、ボブに対する音声クエリ経験スコアを生成するために、音声クエリプロセッサ220は、クエリログ210を処理する。
【0028】
音声クエリプロセッサ220は、クエリ完全性プロセッサ225を含む。クエリ完全性プロセッサ225は、各ユーザについて、それぞれの音声クエリに対する完全性データにアクセスし、ユーザの音声クエリ経験スコアを調整する。特定のユーザについて、完全な音声クエリが多く、不完全な音声クエリが少ない場合、クエリ完全性プロセッサ225は、音声クエリ経験スコアを上げる。特定のユーザについて、不完全な音声クエリが多く、完全な音声クエリが少ない場合、クエリ完全性プロセッサ225は、音声クエリ経験スコアを下げる。クエリ完全性プロセッサ225は、音声クエリ経験スコアを上げるか下げるかについて決定する際に、完全なクエリの不完全なクエリに対する比率を、完全性比率閾値と比較することができる。例えば、ボブは、1つの不完全なクエリと2つの完全なクエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、ボブの音声クエリ経験スコアを下げることができる。アリスは、不完全なクエリがなく、5つの完全なクエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、アリスの音声クエリ経験スコアを上げることができる。
【0029】
音声クエリプロセッサ220は、クエリ長プロセッサ230を含む。クエリ長プロサッサ230は、各ユーザについて、それぞれの音声クエリの長さを算出し、そのユーザの音声クエリ経験スコアを調整する。特定のユーザについて、長い音声クエリが多く、短い音声クエリが少ない場合、音声クエリプロセッサ220は、音声クエリ経験スコアを上げる。特定のユーザについて、短い音声クエリが多く、長い音声クエリが少ない場合、音声クエリプロセッサ220は、音声クエリ経験スコアを下げる。クエリ長プロセッサ230は、閾値を使用して、音声クエリが長いか短いかを決定することができる。クエリ長プロセッサ230は、音声クエリ経験スコアを上げるか下げるかについて決定する際に、長いクエリの短いクエリに対する比率を、長さ比率閾値と比較することができる。例えば、ボブは、1つの不完全なクエリと2つの完全なクエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、ボブの音声クエリ経験スコアを下げることができる。アリスは、不完全な音声クエリがなく、5つの完全な音声クエリを有する。その情報に基づいて、クエリ完全性プロセッサ225は、アリスの音声クエリ経験スコアを上げることができる。
【0030】
音声クエリプロセッサ220は、ポーズ間隔プロセッサ235を含む。ポーズ間隔プロセッサ235は、各ユーザについて、ユーザの音声クエリに対する単語間の平均ポーズ長を算出する。ポーズ間隔プロセッサ235は、各ユーザに対する平均ポーズ長を、ポーズ閾値と比較して、ユーザの音声クエリ経験スコアを上げるか下げるかを決定することができる。ポーズ閾値を上回る平均ポーズ長は、音声クエリ経験スコアを下げる。ポーズ閾値を下回る平均ポーズ長は、音声クエリ経験スコアを上げる。例えば、ボブは、1.2秒の平均ポーズ長であり得る。アリスは、200ミリ秒の平均ポーズ長であり得る。ポーズ閾値が1秒であれば、ポーズ間隔プロセッサ235は、アリスについて音声クエリ経験スコアを上げ、ボブについて音声クエリ経験スコアを下げる。
【0031】
音声クエリプロセッサ220は、クエリカウンタ240を含む。クエリカウンタ240は、各ユーザについて、提示された音声クエリの数を算出し、音声クエリ経験スコアを調整する。特定のユーザが多くの音声クエリを提供する場合、音声クエリプロセッサ220は、音声クエリ経験スコアを上げる。特定のユーザが提供する音声クエリが少ない場合、音声クエリプロセッサ220は、音声クエリ経験スコアを下げる。クエリ長プロセッサ230は、1日当たりの音声クエリ閾値を使用して、その閾値を音声クエリの1日当たりの平均数と比較して、ユーザの提示する音声クエリが多いか少ないかを決定することができる。例えば、1日当たりの音声クエリ閾値は、1クエリ/日である。クエリログ210に基づくと、ボブは、1クエリ/日よりも少なくクエリを提示した。従って、クエリカウンタ240は、ボブの音声クエリ経験スコアを下げる。アリスは、クエリログ215に基づくと、1クエリ/日よりも多くクエリを提示した。従って、クエリカウンタ240は、アリスの音声クエリ経験スコアを上げる。
【0032】
音声クエリプロセッサ220内に含まれたプロセッサのそれぞれは、閾値と対応するユーザの値との差に比例する量だけ、ユーザの音声クエリ経験スコアを上げる、または下げることができる。例えば、アリスは、平均2.5音声クエリ/日で、ボブは、平均0.125クエリ/日である。1クエリ/日の1日当たりの音声クエリ閾値の場合、アリスは、閾値を超える1.5で、ボブは、閾値を下回る0.875である。クエリカウンタ240は、ある係数を1.5倍することによって、アリスの音声クエリ経験スコアを上げ、その同じ係数を0.875倍することによって、ボブの音声クエリ経験スコアを下げる。
【0033】
音声クエリプロセッサ220は、ユーザプロファイラ245に、各ユーザの音声クエリ経験スコアを提供する。ユーザプロファイラ245は、ユーザの音声クエリ経験スコアに基づいて、音声クエリ経験プロファイルを、各ユーザに割り当てる。音声プロファイラ245は、プロファイル閾値250にアクセスして、各ユーザの音声クエリ経験スコアを音声クエリ経験プロファイルと合わせる。それぞれの音声クエリ経験プロファイルは、音声クエリ経験スコアの範囲に対応することができる。例えば、ある上級者プロファイルは、80〜100の範囲に対応する可能性がある。ある初心者プロファイルは、0〜20の範囲に対応する可能性がある。他のプロファイルは、20〜80の音声クエリ経験スコアの範囲にある可能性がある。
図2の例では、ボブは、18の音声クエリ経験スコアを有する可能性があり、アリスは、88の音声クエリ経験スコアを有する可能性がある。従って、ボブは、初心者として分類され、アリスは、上級者として分類される。その後、ユーザプロファイラ245は、各ユーザに対する音声クエリ経験プロファイルを、プロファイル記憶装置255に格納する。プロファイル260は、プロファイル記憶装置255に格納された、アリスおよびボブのプロファイルを示す。
【0034】
それぞれの音声クエリ経験プロファイルは、システム200が、後で、これからの発話に対するエンドポイントを生成する際に使用する、異なるポーズ長閾値に対応する。
図1および上記に示されるように、上級者プロファイルは、発話をエンドポイントするために使用される300ミリ秒のポーズ長閾値に対応する。初心者プロファイルは、1秒のポーズ長閾値に対応する。システム200は、600ミリ秒のポーズ長閾値を有する中間プロファイルなどの他のプロファイルを定義することができる。いくつかの実施態様では、システム200は、ユーザにプロファイルを割り当てずに、ポーズ長閾値をユーザに割り当てることができる。システムは、音声クエリ経験スコアを生成し、その音声クエリ経験スコアに反比例するポーズ長閾値を算出することができる。
【0035】
図3は、特定のユーザの音声入力での経験に基づいて、特定のユーザを分類し、かつその特定のユーザが音声クエリを話すことを終了したか否かを決定する、例示的なプロセス300の図である。プロセス300は、
図1からのコンピューティングデバイス121、または
図2からのコンピューティングデバイス200などのコンピューティングデバイスによって行われ得る。プロセス300は、ユーザの以前の音声クエリを分析して、これからのユーザがクエリを話すことを終了したか否かを決定する際に使用するためのポーズ閾値を決定する。
【0036】
コンピューティングデバイスは、音声クエリログデータにアクセスする(310)。コンピューティングデバイスは、特定のユーザについてポーズ閾値を決定する(320)。コンピューティングデバイスは、特定のユーザから発話を受信する(330)。コンピューティングデバイスは、特定のユーザがポーズ閾値について話すことを止めたと決定する(340)。コンピューティングデバイスは、この発話を音声クエリとして処理する(350)。
【0037】
図4は、クライアントまたは1つもしくは複数のサーバとして、本明細書に記載されたシステムおよび方法を実施するために使用されてもよいコンピューティングデバイス400のブロック図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すものである。
【0038】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記憶デバイス406、メモリ404および高速拡張ポート410に接続する高速インタフェース408、ならびに低速バス414および記憶デバイス406に接続する低速インタフェース412を含む。構成要素402、404、406、408、410、および412のそれぞれは、様々なバスを使用して相互接続され、必要に応じて、共通のマザーボード上にまたは他の方法で取り付けられてもよい。プロセッサ402は、コンピューティングデバイス400内で実行する命令を処理することができ、この命令は、高速インタフェース408に接続されたディスプレイ416などの外部入出力デバイス上にGUI用のグラフィカル情報を表示するよう求める、メモリ404または記憶デバイス406に格納された命令を含む。他の実施態様では、複数のプロセッサおよび/または複数のバスは、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス400は、例えば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして、必要な動作の一部を提供するそれぞれのデバイスと接続されてもよい。
【0039】
コンピューティングデバイス400は、図に示されるように、多くの様々な形態で実施されてもよい。例えば、コンピューティングデバイス400は、標準サーバ420として、またはそのようなサーバ群において複数回、実施されてもよい。コンピューティングデバイス400はまた、ラックサーバシステム424の一部として実施されてもよい。さらに、コンピューティングデバイス400は、ラップトップコンピュータ422などのパーソナルコンピュータにおいて実施されてもよい。代替えとして、コンピューティングデバイス400からの構成要素は、モバイルデバイス(図示せず)において他の構成要素と組合せられてもよい。このようなデバイスのそれぞれは、コンピューティングデバイス400の1つまたは複数を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイス400から構成されてもよい。
【0040】
本明細書に記載されたシステムおよび方法の様々な実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(Application Specific Integrated Circuit、特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこのような実施態様の組合せ、において実現され得る。これらの様々な実施態様は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間で、データおよび命令を送受信するように接続された、特別なまたは一般的な目的であり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で、実行可能かつ/または解釈可能である1つまたは複数のコンピュータプログラムにおける実施態様を含むことができる。
【0041】
本明細書に記載されたシステムおよび技法は、例えば、データサーバとしてバックエンド構成要素を含む、または、例えばアプリケーションサーバといったミドルウェア構成要素を含む、または、例えば、それを通してユーザが、本明細書に記載されたシステムおよび技法の実施態様と相互作用することができる、グラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータといったフロントエンド構成要素を含む、コンピューティングシステムにおいて、あるいはこのようなバックエンド、ミドルウェア、またはフロントエンドの構成要素の任意の組合せにおいて、実施され得る。システムの構成要素は、例えば、通信ネットワークといったデジタルデータ通信の任意の形態または媒体によって、相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」:Local Area Network)、広域ネットワーク(「WAN」:Wide Area Network)、およびインターネットを含む。
【0042】
多くの実施形態が説明された。それにも関わらず、本発明の趣旨および範囲から外れることなく、様々な修正がなされてもよいことが理解されよう。さらに、図において描写されたロジックフローは、望ましい結果を達成するのに、示された特定の順番、または連番である必要はない。さらに、他のステップが提供されてもよく、または記載されたフローからステップが削除されてもよく、また記載されたシステムに他の構成要素が加えられてもよく、またはそのシステムから構成要素が取り除かれてもよい。従って、他の実施形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0043】
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 ラックサーバシステム