(58)【調査した分野】(Int.Cl.,DB名)
前記受け取ったレスポンスは前記未知のユーザによって読み上げられたものであり、音声認識を適用して前記レスポンスを認識し、前記レスポンスを正しい回答と比較する、請求項1に記載の方法。
【発明を実施するための形態】
【0010】
テキスト音声化オーディオHIP技術についての以下の説明では、添付の図面を参照する。図面は、その説明の一部を形成し、本明細書で説明されるテキスト音声化オーディオ技術が実施され得る具体的な例として示されている。特許請求に係る主題の範囲を逸脱することなく、他の実施形態を用いてもよく、また構造的変更を行ってもよいことが理解されよう。
【0011】
1.0
テキスト音声化オーディオHIP技術
以下のセクションでは、ヒューマン・インタラクティブ・プルーフ(HIP)、本明細書で説明されるテキスト音声化オーディオHIP技術、並びにこの技術を実施するための例示的なアーキテクチャ及び例示的な処理に対する導入を提供する。本技術の様々な実施形態の詳細も提供される。
【0012】
1.1
ヒューマン・インタラクティブ・プルーフ(HIP)の導入
CAPTCHAとしても知られるHIPは、人間のユーザを、自動プログラミング(すなわちボット)と区別する。ほとんどのHIPスキームの目的は、人間によるアクセスは許可しつつ、コンピュータによる自動アクセスは妨げることである。典型的に、この目的は、ほとんどの人々が容易に通過することができるが、ほとんどのコンピュータプログラムは通過することができないテストを生成して、採点をする方法を提供することによって解決される。
【0013】
現在多くのHIPスキームが利用可能である。例えば1つの従来的なビジュアルスキームは、辞書から文字及び単語をランダムに選択し、次いでその文字又は単語を含む歪んだ画像をレンダリングすることで動作する。このスキームは、ユーザに、その歪んだ画像からなるテストを提示し、画像内に現れている文字又は単語の一部をタイプするよう要求を提示する。適用される変形のタイプを調整することにより、ほとんどの人間が、要求された数の文字又は単語を歪んだ画像から読み取ることができるが、現在のコンピュータプログラムでは典型的に読み取ることのできない画像が作成される。
【0014】
別のオーディオHIPの例では、個々の文字が人間によって読み上げられる。読み上げられた文字は、付随するビジュアルHIPと同じであり、字の間の異なる時間間隔で歪められて組み合される。背景雑音も追加される。ユーザは読み上げられた字をタイプするように求められる。
【0015】
更に別のオーディオHIPでは、個々の単語が読み上げられ、歪められて背景雑音が加えられる。ユーザは、読み上げられた単語をタイプするように求められる。タイプされた単語内の幾つかの誤差は許容可能である。
【0016】
1.2
技術の概要
本明細書で説明されるテキスト音声化オーディオHIP技術は、一部の実施形態において、テキスト音声化エンジンを介してオーディオHIPチャレンジとして生成される、異なる(好ましくは非反復の)センテンス又は単語を使用する。本技術は、HIPとして使用されるべきセンテンス又は単語を読み上げるテキスト音声化シンセサイザにおいて異なるエフェクトを適用することができる。異なるエフェクトは、特に、例えばスペクトル周波数ワープ、母音継続時間ワープ、ボリュームワープ、背景追加、エコー追加及び単語間の時間間隔の変更を含むことができる。一部の実施形態において、本技術は、ASRが本技術によって生成されるオーディオHIPチャレンジを認識するのに使用され得るモデルを学習するのを回避するため、経時的に異なるチャレンジの生成のためにパラメータのセットを変更して、オーディオHIPチャレンジを生成する。加えて、一部の実施形態において、本技術は、HIPチャレンジを解決するために意味理解の要件を導入する。
【0017】
1.3
例示的なアーキテクチャ
図1は、テキスト音声化オーディオHIP技術の一実施形態を実施するための例示的なアーキテクチャ100を図示している。
図1に示されるように、この例示的なアーキテクチャ100は、テキストセレクタモジュール101を含み、該テキストセレクタモジュール101は、テキスト(例えばテキストセンテンス及び予想されるレスポンス)のライブラリ102と、単語のライブラリ103を含み得る。モジュール101は、テキスト106を選択してHIP生成モジュール104に提供し、予想されるレスポンス107を検証器109に提供する。一実施形態において、テキストセレクタモジュール101は、固有のアイテム(例えば好ましくはテキストセンテンスとその予想されるレスポンス)をランダムに又は固有の手法により選択することができる。テキストライブラリ102内のセンテンスを、特定のソースから提供されるか、インターネットからクロールされ、あるいは固有のルール又はパターンに基づいてモジュール(
図1には図示せず)から生成される文書又は記事から選択することができる。一部の実施形態において、予想されるレスポンスはセンテンスを用いて作られる。予想されるレスポンスはセンテンス自体とすることもでき、あるいはそのセンテンスに応答して人間が提供した回答とすることもできる。前者は典型的に、センテンスが文書又は記事から自動的に作成されるときに使用される。後者は典型的に、センテンスがプログラムモジュールによって作られるときに使用される。
【0018】
一実施形態において、テキストセレクタモジュール101は単語のライブラリを含んでよく、この単語のライブラリから、相互に関連する又は関連しない単語のグループをランダムに又は特定の手法で選択することができる。選択された単語は、HIP生成モジュール104に送信される選択されたテキスト106として使用され、選択されたテキスト106と同じ順序で配置された単語が、検証器109に送信される予想されるレスポンス107として使用される。
【0019】
このアーキテクチャは、オーディオ生成モジュール104を含み、該オーディオ生成モジュール104は、同じ又は異なる汎用コンピューティングデバイス500においてテキストセレクタ101として存在する。汎用コンピューティングデバイス500は、以下で
図5に関連して更に詳細に説明される。HIP生成モジュール104は、TTSエンジン、TTS歪みモジュール114及びポストTTS歪みモジュール116を含む。従来のTTSエンジンは2つの部分、すなわち音声モデル108とテキスト音声化シンセサイザ110とからなる。TTSエンジンは、選択されたテキスト106を、音声モデル108を使用して処理する。2つのTTSエンジンの部分(音声モデル108とTTSシンセサイザ110)の間で、TTS歪みモジュール114は、音声モデル108によってモデル化されるようにパラメータを調整して、1つ又は複数の歪みを適用し、その結果、選択されたテキスト106は、テキスト音声化シンセサイザ110によって読み取られるときにゆがめられることになる。TTS出力は更に、ポストTTS歪みモジュール116によって処理されて、読み上げられたテキストの生成されたTTSにエコー又背景を追加することのように、1つ又は複数の追加の歪みを適用する。結果として得られるサウンドは、オーディオHIP/CATCHA112として使用される。歪み、あるいはTTSシンセサイザ110又はポストTTSにおいて歪みの1つ又は複数を定義する歪みパラメータを、ランダムに、あるいはオーディオチャレンジの文字列を生成する各段階による固有のパターンで変更することが可能である。
【0020】
HIP生成モジュール104は、選択されたテキストを、音声モデル108を使用してモデル化するのに使用される歪みパラメータを決定する。一実施形態において、この音声モデル108は、周波数スペクトル(声道)、基本周波数(音声源)及び音声の期間(韻律)をモデル化するのに使用される隠れマルコフモデル(HMM:Hidden Markov Model)である。HIP生成モジュール104内にあるTTS歪みモジュール114は、テキスト音声化シンセサイザ110によって読み取られる時に、選択されたテキスト106の周波数パラメータをゆがめる周波数ワープモジュール120を含むことができる。TTS歪みモジュール114は、発音可能なサウンドの期間を変化させるモジュール118も含むことができる。例えばこのモジュール118は、テキスト音声化シンセサイザ110によって読み取られる時に、選択されたセンテンス106の母音が発音される時間を変化させる、母音継続時間ワープを実行する。加えて、TTS歪みモジュール114は、テキスト音声化シンセサイザ110が選択されたテキスト106の音声を生成する時に、サウンドのボリュームを変化させるモジュール122及び/又は単語間の時間間隔を変化させるモジュール124を含むことができる。
【0021】
選択されたテキストの音声がテキスト音声化シンセサイザ110によって生成された後、ポストTTS歪みモジュール116を用いて1つ又は複数の追加の歪みを適用することができる。ポストTTS歪みモジュール116は、テキスト音声化シンセサイザ110からの選択されたテキスト106の生成されたオーディオクリップに、エコーエフェクトを追加するエコー追加モジュール126及び/又は背景音を追加する背景追加モジュール128を含んでもよい。
【0022】
異なる背景音を背景追加モジュール128によって追加することができる。一実施形態では、音楽を背景音として追加することができる。別の実施形態では、テキスト音声化シンセサイザ110からの選択テキスト106の音声(以下では前景音声(foreground voice)と呼ばれる)に、別の音声(以下では背景音声(background voice))と呼ばれる)を追加することができる。歪み及び他の修正を背景音に適用して、同じ又は異なるオーディオHIPチャレンジのために背景音に対して追加の変更を行うことができる。
【0023】
音声が追加されるとき、背景音声は、前景音声と同じ言語とすることができる。前景音声の言語と異なる言語とすることもできる。例えば前景音声が英語であるとき、背景音声は中国語やスペイン語とすることができる。背景音声を、TTSシンセサイザ110により前景音声と同様の方法で生成することができる。周波数ワープや前景音声に関して上述した他の方法のような異なる歪みを、背景音声の生成中に適用することができる。背景音声のテキストは、テキストライブラリから選択されるセンテンス、あるいは辞書からランダムに選択される単語とすることができる。追加された背景音声では、人間は2つの言語間の差が容易に見分けることができ、前景言語を識別して認識することができるが、ASRエンジンのような機械は前景音声を背景音声と区別することができず、従って前景音声の読み上げられたテキストを認識することはできない。
【0024】
HIP生成モジュールから生成されたオーディオチャレンジは、キーボード、マウス又はタッチスクリーンを使用する等、様々な方法でレスポンスを入力することができる未知のユーザ130に送信される。一実施形態において、未知のユーザ130はレスポンスを読み上げてもよく、音声認識技術を使用してこのレスポンスが認識されてテキストに変換される。受信したテキストのレスポンス132は、次いで検証器109に送信され、検証器109は、受信したレスポンスを、オーディオチャレンジの予想レスポンスと比較する。検証器109は、未知のユーザ130からのレスポンス132が予想レスポンス107に合致すると判断した場合、未知のユーザ130を人間134として識別する。そうでない場合、未知のユーザはボット136として識別される。一実施形態において、未知のユーザ130は、正しいレスポンスを提供してテストをパスするために、オーディオチャレンジ112を認識する。別の実施形態において、未知のユーザ130は、正しいレスポンスを提供してテストをパスするために、オーディオチャレンジの意味の理解を有する必要がある。
【0025】
多くの技術を検証器109で使用して、受信したレスポンス132が予想レスポンスに合致するかどうかを判断することができる。一実施形態において、検証器は、2つのレスポンスが正確に合致するときにのみ、これらのレスポンスは相互に合致すると判断する。この場合、誤差は許容されない。別の実施形態において、検証器は、2つのレスポンスの間の誤差が許容誤差より小さい場合、これらのレスポンスは相互に合致すると判断する。一実施形態において、2つのレスポンス間の誤差は、編集距離又はその変形を使用して計算される。
【0026】
検証器109は、レスポンスを他のレスポンスと比較する前に処理してもよい。例えば検証器109は、単語又はテキストの文字列をその標準の表現で置換する等、レスポンスのテキストを正規化し、重要でない単語を除去してもよい。検証器109はテキストレスポンスを音(phone)の文字列に変換し、音の文字列を比較して2つのレスポンスが相互に合致するかどうかを判断してもよい。テキストを音に変換するのに多くの技術を使用することができる。一実施形態では、TTSの音声モデルを使用してテキストを音に変換する。
【0027】
1.4
本技術を実施するための例示的なプロセス
一般に、
図2は、本明細書で説明されるテキスト音声化オーディオHIP技術の一実施形態を実施するための一般的な例示の処理を示している。ブロック202に示されるように、テキストセンテンス又は相互に関連するか若しくは関連しない単語のグループが、複数のテキストセンテンス又は複数の単語から選択される。ブロック204に示されるように、テキスト音声化エンジンを適用し、選択されたテキストの音声を、選択されたテキストの音声の生成中又は生成後に適用される1つ又は複数の歪みを用いて未知のユーザが人間かボットかを識別するためのオーディオチャレンジとして生成する。
【0028】
図3は、テキスト音声化オーディオHIP技術の別の実施形態を実施するためのより詳細な例示的処理を示している。一般に、テキスト音声化オーディオHIP技術の本実施形態は、ブロック302に示されるように、初めに別個のテキストセンテンス又は単語のライブラリを見つけるか、定義することによって動作する。例えばテキストセンテンスを様々な適切なテキストソースから選択することができる。一実施形態において、テキストライブラリ内のテキストは、通常の人間の読み手向けの新聞や雑誌のように人間が理解するのに容易な記事又は文書から自動的に抽出される、非反復のセンテンスである。一実施形態において、抽出されるセンテンスの長さは、予め設定された範囲である。センテンスが短すぎる場合、該センテンスは、次のセンテンスと組み合わされるか、単に落とされることがある。長すぎるセンテンスは、要求された長さに適合するよう2つ又はそれ以上の小さな部分へと切られることがある。記事又は文書は、内部ソースから提供されるか、インターネットからクロールされ得る。別の実施形態において、オーディオHIP技術は単語のライブラリを構築するか定義する。このライブラリは、重要でない単語や紛らわしい単語を除去することによって辞書から構築されることが可能である。人間がそのスペル又はその音によって混同しやすい単語は、ライブラリから除去され得る。テキストセンテンス又は単語のこのライブラリが与えられると、ブロック304に示されるように、本技術は、未知のユーザが人間かボットかを判断するためのオーディオチャレンジを作成する際に使用するため、テキストセンテンスのライブラリからテキストセンテンスを自動的に選択するか、単語のライブラリから相互に関連する又は関連しない単語のグループを選択する。本技術は、ブロック306において示されるように、取り出されたテキストセンテンスを有するライブラリに予想レスポンスが格納されている場合、予想レスポンスをこのテキストセンテンスのライブラリから取り出してもよく、あるいは選択されたテキストセンテンス又は相互に関連するか関連しない単語のグループから予想レスポンスを生成する。一実施形態において、生成された予想レスポンスは、選択されたテキストの文字列と同じである。別の実施形態において、生成された予想レスポンスは、選択されたテキストにテキストの正規化が適用された後の結果である。テキストの正規化は、テキスト入力を受信し、該入力テキストを標準のフォーマットに変換するテキスト出力を生成する。例えば「a」、「an」のような重要でない単語は除去してよく、「I’m」はテキストの正規化中に「I am」で置き換えられてよい。(後で検討されるように、予想レスポンスは検証器に送信され316、未知のユーザからのレスポンス314と比較され、該未知のユーザが人間であるか318、ボットであるか320を判断する。)ブロック308において示されるように、選択されたテキストは次いで自動的に処理されて、選択されたテキストがテキスト音声化シンセサイザによって読み取られる時に1つ又は複数の歪みを追加するパラメータを決定する。ブロック308においてパラメータを決定するのに、1つ又は複数の言語モデルを使用してよい。これらの歪みは、以下で詳細に検討されるが、スペクトル周波数ワープ、母音継続時間ワープ、ボリュームワープ、単語間の時間のワープを含むことができる。
【0029】
選択されたテキストの音声が、ブロック308においてテキスト音声化シンセサイザによって生成されると、本技術は、ブロック310においてオーディオチャレンジを生成する。オーディオチャレンジの作成中に、1つ又は複数の追加の歪みをブロック308において生成された音声に適用してもよい。これらの歪みは、エコー、背景音声又は音楽を追加することとすることができる。歪みは、ブロック308で生成された音声に追加される前に、背景音楽又は音声に適用されてもよい。背景音声を、前景音声の生成と同様の方法、例えばテキストセンテンス又は相互に関連するか関連しない単語をライブラリから選択し、次いで背景音声を生成する言語モデル及びテキスト音声化シンセサイザを適用することによって生成してもよい。音声がテキスト音声化シンセサイザによって生成されるとき、1つ又は複数の歪みを適用するパラメータを決定及び修正してもよい。これらの歪みは、前景音声の生成中にTTSシンセサイザの内部で適用されるものと同様のものとすることができる。背景音声は異なる言語とすることができる。一実施形態において、追加される背景音声は、ブロック308で生成される前景音声の言語と同じ言語である。別の実施形態では、追加される背景音声は、ブロック308で生成される前景音声の言語と異なる言語である。TTSシンセサイザを使用して音声を生成する間及びその後の歪みの追加は、人が認識するのは比較的容易であるが、コンピュータが認識するのは難しいオーディオチャレンジを作成するように機能し、生成されたオーディオチャレンジの間に変化をもたらす。
【0030】
オーディオチャレンジがブロック310で生成されると、ブロック312に示されるように、次のステップでは、識別のためにオーディオチャレンジを未知のユーザに送信して提示する。ブロック314に示されるように、未知のユーザは、レスポンスをタイプするか読み上げることによってそのオーディオチャレンジに応答するように要求される。予想レスポンスが選択されたテキスト文字列であるときも、音声認識は、読み上げられたレスポンスを、次のブロックで使用されるテキストレスポンスへと正しく変換することができないので、攻撃者はオーディオチャレンジを読み上げられたレスポンスとして再生することはできないことがわかる。ブロック316において示されるように、このユーザのレスポンスは次いで、予想レスポンスと比較される。一実施形態において、ユーザのレスポンスは読み上げられる。予想レスポンスと比較する前に、音声認識技術を適用して、読み上げられたレスポンスをテキストレスポンスに変換する。タイプされたレスポンスが予想レスポンスに合致すると判断された場合のみ、未知のユーザは人間であると見なされる(ブロック318)。そうでない場合、未知のユーザはボットであると見なされる(ブロック320)。一実施形態において、この合致は正確であることが要求される。別の実施形態では、この合致は正確である必要はない。2つのレスポンス間のいくらかの不一致は許容され得る。不一致が何らかの所定の誤差許容内又は閾値以内である限りにおいて、ユーザのレスポンスは予想レスポンスに合致すると判断される。
【0031】
ユーザのレスポンスが予想レスポンスに合致するかどうかを判断する際に、検証器はブロック316において、これらの2つのレスポンスを比較する前に、レスポンスを正規化して同じ表現のバリエーションを除去してもよい。この正規化では、重要でない語又は単語を除去し、1つ又は複数の単語を標準の等価な単語で置換してよい。例えば「I’m」は「I am」で置換され、「intl」は「international」で置換され得る。さらに別の実施形態では、レスポンスを、サウンドすなわち音の文字列に変換してもよく、比較はテキストの代わりに音に基づいて行われる。
【0032】
ブロック316では、2つのレスポンスの間の誤差を計算するのに多くの技術が使用され得る。一実施形態では、編集距離を使用して、2つのテキストの文字列又は音の間の誤差を計算する。上記の段落で説明された正規化段階を、編集距離を計算する前に適用してもよい。編集距離の計算は、単語又は音に基づくものとしてもよく、あるいは文字に基づくものとしてもよい。単語についての誤差を計算するとき、一方の単語が、他の単語の複数の形式のように、もう一方の単語の変形である場合、あるいは2つの単語の間の差が何らかの誤差の許容範囲内である場合、これら2つの単語を同じと見なしてもよい。音について誤差を計算するとき、2つの類似する発音の音は、2つのレスポンスの誤差を計算する際に同じと見なされ得る。
【0033】
図4は、テキスト音声化オーディオHIP技術の別の実施形態を実施するための更に別の例示的処理400を示している。一般に、この実施形態において、本技術は、ブロック402において示されるように、別個のテキストセンテンスと、センテンスに対する正しいレスポンスを提供するためにユーザがセンテンスの意味を理解することを必要とする、そのテキストセンテンスの予想される回答とのライブラリを初めに定義することによって動作する。一実施形態において、テキストは、予め設定されたルールのセットに基づいて自動的に生成される非反復のセンテンスである。ライブラリ内のテキストセンテンスは、典型的に、正しい回答を提供するためにセンテンスの理解が必要とされる命令又は質問である。例えばルールのあるセットは、アイテムの加算又は減算に関して多くの質問を設けることがあり、ここでアイテムは、例えばリンゴ、犬又は飛行機のような任意の一般的な対象物とすることができる。異なる数字及びアイテムを使用することにより、例えば「サイモンは昨日リンゴを3つ食べ、今日2つのバナナを食べた。サイモンが昨日から食べた果物の合計の数はいくつか?」のような、多くの質問を生成することができる。対象、時間、数及びアイテム名を変更して、更なる質問を生成することができる。ルールの別のセットでは、乗算及び/又は割り算、及び/又は加算及び乗算を使用して多くの質問を生成してもよい。別の例として、ルールのセットは、ユーザにレスポンスを特定の方法で入力するように求めることにより、例えばセンテンスを提供し、次に反対の順序で読み上げた単語の2番目の文字を入力するか、又はその手続に続いて3番目の単語を入力するように求めることにより、質問を生成することがある。このルールのセットは、多く質問を生成することができる。テキスト音声化オーディオHIP技術は、同じセットのルールによって生成されたセンテンスのパターンを変更し、オーディオHIPチャレンジを生成するために異なるセットのルールを使用して生成されるセンテンスをインターリーブさせ、これにより、オーディオHIPチャレンジを生成する際に使用されるルールのセットに基づいて、あるいは特定のパターン又は主要な単語に基づいてどのように正しいレスポンスが提供されるかを知ることによって、ボットがオーディオHIPを正しく分類するのを防ぐ。
【0034】
テキストセンテンスは、その適切な回答又は予想レスポンスと共に格納される。テキストセンテンスのこのライブラリが与えられると、ブロック404で示されるように、本技術は、未知のコンピュータユーザが人間であるかボットであるかを判断する際に使用されるオーディオチャレンジを作成するのに使用するための、1つ又は複数のセンテンスをライブラリから自動的に選択する。次いで、ブロック406に示されるように、この選択されたセンテンスを自動的に処理して、テキスト音声化シンセサイザが読み取るときに追加することができる1つ又は複数の歪みを決定することができる。これらの歪みは、以下でさらに詳細に説明されるように、スペクトル周波数ワープ、母音継続時間ワープ、ボリュームワープ及び単語間の時間の変化を含む。ブロック408に示されるように、背景追加及びエコー追加のような1つ又は複数の付加的な歪みを、オーディオHIPを作成する際にテキスト音声化シンセサイザによって生成される音声に適用してもよい。しかしながら、一実施形態において、意味の理解を必要とするセンテンスは、該センテンスがテキスト音声化シンセサイザによって読み取られる時又はその後にゆがめられないことを理解されたい。ゆがめられないオーディオHIPチャレンジは、チャレンジの意味理解に依拠して、未知のユーザが人間であるかボットであるかを判断する。意味理解は、ボットが正しいレスポンスを提供するのを妨げる。
【0035】
ブロック410に示されるように、次のステップでは、オーディオチャレンジを、識別のために未知のパーティに提供する。未知のパーティは次いで、ブロック412に示されるように、適切なレスポンスをタイプするか読み上げることのいずれかによって、意味理解を必要とするセンテンスに応答する必要がある。読み上げられたレスポンスは、音声認識技術を適用することによってテキストレスポンスに変換され得る。レスポンスは、そのレスポンスがどのように発音されるかを表す音の文字列に変換され得る。正規化をレスポンスに適用して、変形をそのレスポンスを表す標準の方法で置換してもよく、重要でない文字又は単語を除去してもよい。ブロック414に示されるように、ユーザのレスポンスは次いで
オーディオチャレンジの予想レスポンスと比較されて、これらのレスポンスが合致するかどうか判断される。ユーザのレスポンスが予想レスポンスと合致すると判断された場合にのみ、未知のユーザは、ブロック416で示されるように人間であると見なされる。そうでない場合、未知のユーザは、ブロック418に示されるようにボットであると見なされる。一実施形態において、2つのレスポンスは、これらの誤差が許容範囲内である場合、相互に合致すると判断される。例えば編集距離やその変形等、異なる技術を使用して2つのレスポンスの誤差を計算することができる。
図3に示される例示的な処理について説明された技術の多くを、
図4で説明される例示的な処理に適用してもよい。
【0036】
1.5
本技術の様々な実施形態の詳細
テキスト音声化オーディオHIP技術を実施するための例示的なアーキテクチャ及び例示的処理について説明してきたが、以下の段落では、本技術の様々な実施形態を実装するための様々な詳細を提供する。
【0037】
1.5.1
適用することができる様々な歪み
上述のように、1つ又は複数の歪みが、選択されたテキストからのオーディオチャレンジの作成中に適用され得る。これらの歪みを、テキストの音声を生成する時及び/又はその後に適用することができる。歪みは、オーディオチャレンジを作る各例により変更され得る。テキスト音声化オーディオHIP技術は、選択されたテキストがテキスト音声化シンセサイザによって読み取られる時、及び/又はオーディオHIPチャレンジを作成する際に生成された音声への背景追加及びエコー追加によって、スペクトル周波数ワープ、母音継続時間のワープのような発音可能なサウンドの変形、音声のボリュームの変形、隣接する単語の間の時間の変形を用いることができる。未知のユーザが人間であるかボットであるかを判断するのに使用されるオーディオHIPチャレンジを作成する際にこれら及び他の歪みを適用する詳細を、以下に説明する。
【0038】
1.5.1.1
スペクトル周波数ワープ
選択されたテキストを音声に変換し、ボットがオーディオチャレンジを認識するのをより難しくするために生成された音声をゆがめるとき、多くの異なるタイプの周波数ワープを適用することができる。例えば1つ又は複数の周波数ワープの歪みをオーディオチャレンジの生成の間に適用して、生成された音声をゆがめることができる。これを行うために、様々なワープ関数及びパラメータを決定し、スペクトル周波数ワープのエフェクトを経時的に異なるオーディオチャレンジに対して変化させるのに使用する。
【0039】
テキスト音声化オーディオHIP技術の一実施形態では、スペクトル周波数ワープを実行するために、パラメータαを用いるワープ関数Ψが使用される。αは、時間tとともに変化し得る。一方、関数
【数1】
は、変換を実行するのに使用される。ワープ関数は線形、区分線形、双線形又は非線形とすることができる。一実施形態において、本明細書で説明されるテキスト音声化オーディオ技術は、ユニットゲインを用いる簡単な一次全パスフィルタに基づく双線形周波数ワープ関数を使用する。
【数2】
又は
【数3】
であり、ここで、|α(t)|<1である。一実施形態において、ワープパラメータα(t)は、好ましくは経時的にスムーズに変化する。したがって、正弦関数が次の通り使用される。
【数4】
ここで、A、B及びTは、ワープの範囲、ワープの中心、ワープの期間であり、手動で設定されるか、特定の範囲内で変化する。kは初期段階であり、ランダムに又は非ランダムに[0,T−1]内の値に設定される。
【0040】
上述のワープ関数は、本明細書で説明される技術で用いることができる一例示的なワープ関数であることに留意されたい。様々な他のワープ関数を使用することができ、これらの他のワープ関数又はそのパラメータも経時的に変化させることができ、あるいは経時的にスムーズに適用されることができる。
【0041】
1.5.1.2
母音継続時間ワープ
テキスト音声化オーディオHIP技術の一実施形態では、発音可能なサウンドの発音の期間を変化させて、テキストがテキスト音声化シンセサイザによって読み取られる時に、選択されたテキスト文字列の生成された音声をゆがめる。例えば一実施形態において、選択されたテキストをテキスト音声化シンセサイザによって読み取る際に、母音継続時間ワープ使用して母音の発音の期間を変化させる。母音継続時間ワープを用いるこの実施形態では、テキスト音声化オーディオHIP技術は最初に、人によって感知され得る各母音について最小及び最大の期間を設定し、次いで母音の継続時間を、テキスト音声化シンセサイザによる選択されたテキストの音声の生成の間にランダムに調整する。特定の子音も同様の手法で変化させることが可能であることも認識されたい。
【0042】
1.5.1.3
ボリュームワープ
選択されたテキストがテキスト音声化シンセサイザによって読み取られる時に、ボリュームワープを適用して、発音可能なサウンドのボリュームを変更することもできる。一実施形態において、最小ボリュームと最大ボリュームを設定し、最小ボリュームと最大ボリュームとの間のランダムボリュームを発音に適用して、ボリュームワープを適用する。
【0043】
1.5.1.4
単語間の期間の変化
選択されたテキストがテキスト音声化シンセサイザによって読み取られる時に、2つの単語間の期間を変化させることもできる。一実施形態において、最小期間及び最大期間を設定し、最小期間と最大期間との間の期間をランダムに選択して、2つの隣接する単語の期間に適用することができる。選択された時間期間が負(negative)の場合、2つの隣接する単語は、指定されたオーバラップとともに発音される。単語間の期間のこの変化は、ASRシステムがセンテンスを個々の単語にセグメント化するのを困難にすることがある。
【0044】
1.5.1.5
背景及びエコー追加
テキスト音声化オーディオHIP技術は、1つ又は複数の歪みを、選択されたテキストの生成された音声に追加することもある。一部の実施形態において、背景及びエコーを、テキスト音声化シンセサイザによって読み取られる音声に適用してもよい。例えば背景は、雑音、音楽、同じ又は異なる言語の発語音声等とすることができる。エコーを、選択されたテキストの生成された音声に追加することもできる。例えば減衰の割合、遅延の時間及び初期のエコーボリュームをランダムに設定することができる。加えて、選択されたテキスト文字列の音声の生成の後に適用される1つ又は複数の歪みは、テキスト音声化技術によって生成される別の語音(speech)をテキスト文字列の音声の背景に追加して、オーディオチャレンジを作成することを含むことができる。一実施形態において、背景に追加されるこの付加的な語音は、選択されたテキスト文字列の言語と異なる言語の語音とすることができる。背景語音は、生成されるオーディオチャレンジについて一番の対象者達が知らない言語となるように選択され得る。人間は、異なる言語の語音を容易に区別することができ、人間のユーザがわかる前景語音に焦点を当てる。ボットは、前景語音を背景語音と分離することが困難であり、したがって前景語音を認識することができない。別の実施形態において、背景語音は、前景語音と同じ言語とすることができる。背景語音は、テキスト音声化シンセサイザを用いて、センテンスあるいは相互に関連するか関連しない単語のグループを読み取ることによって生成され得る。背景語音のボリュームを適切な範囲で変化させて、前景語音を人間によって容易に識別できるようにする。1つ又は複数の歪みを、追加された背景に適用することができる。例えば背景語音がテキスト音声化シンセサイザによって読み取られる時又はその後で、1つ又は複数の歪みを、追加された背景語音に適用してもよい。これらの歪みは、これらに限られないが、周波数ワープ、発音可能なサウンドの期間ワープ、ボリュームワープ、単語間の期間の変更が含まれ得る。1つ又は複数の歪みを、テキスト音声化シンセサイザによって生成された背景語音に提供してもよい。例えば前景語音に追加される前に、エコーを背景語音に追加してもよい。さらに、背景語音は、意味のない語音又は記録されたオーディオの形とすることができる。前景語音が背景語音と同じ言語の実施形態において、意味のない背景語音は、人が前景語音を識別して認識するのを助けることができる。
【0045】
1.5.2
オーディオHIPチャレンジにおいて使用されるテキスト
テキスト音声化オーディオHIP技術の一部の実施形態において、各オーディオHIPチャレンジは、テキスト音声化シンセサイザを介して読み上げられるセンテンスである。テキスト音声化オーディオHIP技術の1つの簡単な実施形態では、単語の適切な長さのセンテンス、典型的には固有の範囲内のセンテンスが、記事を選択し、テキスト音声化シンセサイザを使用して選択されたセンテンスを読み上げる。他の実施形態では、オーディオHIPチャレンジは、テキスト音声化シンセサイザを介して読み上げられる、相互に関連するか関連しない単語の文字列である。これらの単語は、人間がこれらの単語を認識するときに人間を混同させ得る単語や重要でない単語を除去することにより辞書から構築される、単語のライブラリから選択され得る。
【0046】
本技術は、未知のユーザにオーディオチャレンジを提示して、その未知のユーザにオーディオチャレンジに対するレスポンスをタイプするか読み上げるように求める。一部の実施形態において、未知のユーザは、該ユーザが聞いた通りのセンテンス又は単語の文字列で応答するよう求められる。これは典型的に、選択されたテキストの意味理解が必要とされないときに用いられる。未知のユーザは、読み上げられたセンテンス又は単語の文字列を正確に認識する必要があるだけである。これらの実施形態は、異なる言語のオーディオHIPを容易に生成することができるという利点を有する。他の実施形態では、未知のユーザは、正しいレスポンスを提供するために、読み上げられたセンテンスを理解する必要がある。センテンスは典型的に、1つ又は複数のルールのセットにより自動的に生成される命令又は質問である。これらの実施形態は、付加的なセキュリティレベルが、生成されたオーディオチャレンジに適用されるという利点を有する。未知のユーザは、読み上げられたセンテンスを正確に認識するだけでなく、正しいレスポンスを提供するためには、そのセンテンスを正確に理解する必要もある。オーディオチャレンジに応答するのに意味の理解が必要とされるとき、典型的には、センテンスとともに予想される回答が生成され、センテンスと一緒にライブラリ内に格納される。
【0047】
1.5.3.意味の理解
本技術によって生成される上記のオーディオHIPチャレンジの多くは、オーディオチャレンジとして使用されるセンテンスの意味の理解を必要としないが、テキスト音声化オーディオHIP技術の一部の実施形態では、人間をボットと区別するのを助けるために付加的な機構を追加することができる。この場合、テストにパスするには、オーディオHIPチャレンジのセンテンスを理解することが必要とされる。このセンテンスは、質問又は命令とすることができる。例えば一部の実施形態において、本技術は、質問又は命令のタイプに基づいて複数のカテゴリの質問又は命令を定義する。1つ又は複数のルールを各カテゴリに関連付けて、テキストセンテンス及びその予想される回答を自動的に生成するのを助けることができる。正しいレスポンスを提供するために、そのようなセンテンスの意味の理解が必要とされる。人間はセンテンスを理解するので、正しい回答を容易に提供することができる。一方、ボットはセンテンスを理解する能力を有さず、したがって正しい回答を提供することはできない。したがって、センテンス自体がHIPチャレンジである。センテンスが、選択されたテキストとして使用されて、オーディオチャレンジを生成する場合、ボットは、オーディオチャレンジのテキストを正しく認識したとしても、センテンスの意味を理解しないので、正しいレスポンスを提供することができず、HIPテストにパスすることができない。付加的なタイプの質問及び命令をシステムに追加することができる。一実施形態において、カテゴリは、予想レスポンスがセンテンスに基づく文字又は単語の特定の文字列であることである。例えば以前のセンテンス内の単語の2番目の文字を入力すること、あるいは反対の順序で最後の2つの単語を入力すること等を求める命令がその後続く、ランダムに選択されたセンテンスとすることができる。カテゴリに関連付けられたルールのセットは、異なるタイプの命令(したがって、選択された同じセンテンスに対する異なる予想レスポンス)と、同じ予想レスポンスを生成する等価な命令を提示する異なる方法とを決定する。ボットは命令を理解しないので、正しいレスポンスを提供することはできない。そのような複合センテンス(後続の命令を加える、ランダムに選択されたセンテンス)が生成されると、予想レスポンスも生成される。1つ又は複数の予想レスポンスを、後にオーディオHIPチャレンジを生成する際に選択されることになるライブラリに追加することができる。別の実施形態において、予想される回答の間に使用されるべきカテゴリは、固有の計算結果である。例えばカテゴリに関連付けられたルールのセットは、計算結果に関連する異なる質問及び同じ計算結果を生じる異なる表現方法を生成することになる。例えば生成されるセンテンスは、「サイモンは昨日リンゴを3つ食べ、今日2つのバナナを食べた。サイモンは、果物の単位について、どちらの日により多くの果物を食べたか?」とすることができる。このセンテンスに対して予想される回答も自動的に生成される。対象物、時間、尋ねる質問及び同じことを述べる等価な方法を変化させることによって、本技術は、複数のセンテンス及びその予想レスポンスを生成することができる。
【0048】
2.0
例示的な動作環境
本明細書で説明されたテキスト音声化オーディオHIP技術は、様々なタイプの汎用又は専用のコンピューティングシステム環境又は構成において動作可能である。
図5は、本明細書で説明されるようなテキスト音声化オーディオHIP技術の様々な実施形態及び要素を実装することができる、汎用のコンピュータシステムの簡略化された例を図示している。
図5において破線すなわち点線によって示されているボックスは、簡略化されたコンピューティングデバイスの代替的な実施形態を表し、これらの代替的な実施形態のいずれか又は全てを、以下で説明されるように、本明細書全体を通じて説明される他の代替的な実施形態との組み合わせて用いてもよいことに留意されたい。
【0049】
例えば
図5は、簡略化されたコンピューティングデバイス500を示す一般的なシステム図を示している。このようなコンピューティングデバイスは、典型的に、少なくとも何らかの最小限の計算機能を有するデバイスで見られる。このようなデバイスには、これらに限られないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドコンピューティングデバイス、ラップトップ又はモバイルコンピュータ、携帯電話やPDAが有するような通信デバイス、マイクロプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、オーディオ又はビデオメディアプレイヤ等が含まれる。
【0050】
デバイスが、テキスト音声化オーディオHIP技術を実装できるようにするため、デバイスは、基本的な演算動作を可能にする十分な演算能力及びシステムメモリを有するべきである。特に、
図5に図示されるように、計算能力は一般に、1つ又は複数の処理ユニット510によって例示され、また1つ又は複数のGPUを含むこともあり、これらの一方又は双方がシステムメモリ520と通信することがある。汎用コンピューティングデバイスの処理ユニット510は、DSP、VLIW又は他のマイクロコントローラのような専用のマイクロプロセッサであってもよく、あるいはマルチコアCPUにおける専用のGPUベースのコアを含む1つ又は複数の処理コアを有する従来的なCPUとすることもできる。
【0051】
さらに、
図5の簡略化されたコンピューティングデバイスは、例えば通信インタフェース530のような他のコンポーネントを含んでもよい。
図5の簡略化されたコンピューティングデバイスは、1つ又は複数の従来のコンピュータ入力デバイス(例えばポインティングデバイス、キーボード、オーディオ入力デバイス、ビデオ入力デバイス、触感入力デバイス、有線又は無線データ伝送を受信するためのデバイス等)を含んでもよい。
図5の簡略化されたコンピューティングデバイスは、例えば1つ又は複数の従来のコンピュータ出力デバイス(例えばディスプレイデバイス555、オーディオ出力デバイス、ビデオ出力デバイス、有線又は無線データ伝送を送信するためのデバイス等)のような他の光コンポーネントを含んでもよい。汎用コンピュータのための典型的な通信インタフェース530、入力デバイス540、出力デバイス550及び記憶デバイス550は当業者には周知であるので、本明細書では詳細には説明されないことに留意されたい。
【0052】
図5の簡略化されたコンピューティングデバイスは、様々なコンピュータ読取可能媒体を含んでもよい。コンピュータ読取可能媒体は、記憶デバイス560によりコンピュータ500がアクセスすることができる任意の利用可能な媒体とすることができ、コンピュータ読取可能又はコンピュータ実行可能な命令、データ構造、プログラムモジュール及び他のデータのような情報を格納するための取外し可能570及び/又は取外し不可能580のいずれかの揮発性媒体と不揮発性媒体の双方を含む。限定ではなく例として、コンピュータ読取可能媒体は、コンピュータ記憶媒体と通信媒体とを備えてもよい。コンピュータ記憶媒体には、これらに限られないが、DVD、CD、フロッピー(登録商標)ディスク、テープドライブ、ハードドライブ、光ドライブ、半導体メモリ、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気記憶デバイス、あるいは所望の情報を格納するのに使用することができ、1つ又は複数のコンピューティングデバイスによってアクセスすることができる任意の他のデバイスのような、コンピュータ又は機械読取可能媒体又は記憶デバイスが含まれる。
【0053】
コンピュータ読取可能又はコンピュータ実行可能命令、データ構造、プログラムモジュール等のような情報の格納は、様々な上記の通信媒体のいずれかを使用することによって達成されて、1つ又は複数の変調データ信号又は搬送波、あるいは他の伝送機構又は通信プロトコルをエンコードすることができ、任意の有線又は無線情報伝達機構を含む。「変調データ信号」又は「搬送波」という用語は、一般に、情報を信号内にエンコードするような手法で設定又は変更された特性のうちの1つ又は複数を有する信号を指す。例えば通信媒体は、1つ又は複数の変調データ信号を運ぶ有線ネットワーク又は直接優先接続のような有線媒体と、音響、RF、赤外線、レーザーあるいは1つ又は複数の変調データ信号又は搬送波を送信及び/又は受信するための他の無線媒体のような無線媒体とを含む。上記のものの任意の組み合わせも通信媒体の範囲に含まれるべきである。
【0054】
さらに、本明細書で説明されるテキスト音声化オーディオHIP技術又はその一部の様々な実施形態の一部又はその全てを具現化するソフトウェア、プログラム及び/又はコンピュータプログラム製品を、コンピュータ実行可能命令又は他のデータ構造の形で格納し、受信し、送信し、あるいはコンピュータ又はマシン読取可能な媒体又は記憶デバイス及び通信デバイスの任意の所望の組み合わせから読み取ることができる。
【0055】
最後に、本明細書で説明されるテキスト音声化オーディオHIP技術は、コンピューティングデバイスによって実行されるプログラムモジュールのようなコンピュータ実行可能命令の一般的なコンテキストで更に説明されてもよい。一般的に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本明細書で説明される実施形態は、タスクが、1つ又は複数の通信ネットワークを通じてリンクされる1つ又は複数のリモート処理デバイスによって、あるいは1つ又は複数のデバイスのクラウド内で実行される、分散コンピューティング環境において実施されてもよい。分散コンピューティング環境において、プログラムモジュールを、メディア記憶デバイスを含め、ローカルのコンピュータ記憶媒体とリモートのコンピュータ記憶媒体の双方に配置してもよい。さらに、上述の命令は、部分的に又は全体的にハードウェア論理回路として実装されてもよく、このような回路はプロセッサを含んでいても含んでいなくてもよい。
【0056】
本明細書で説明される上述の代替的な実施形態のいずれか又は全ては、付加的なハイブリットの実施形態を形成するのに望ましい任意の組み合わせで使用され得ることにも留意されたい。本主題を構造的特徴及び/又は方法的動作に特有の言語で説明してきたが、添付の特許請求の範囲において定義される本主題は、必ずしも上述の具体的な特徴又は動作に限定されないことが理解されよう。上述の具体的な特徴及び動作は、特許請求の範囲を実装する例示の形式として開示される。