説明

ウェブ・ページを音声付勢するためのシステム及び方法

【課題】ウェブ・ページを特定するデータのための音声リクエストを処理するための方法を提供する。
【解決手段】前記方法は、ルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、ルールベースのグラマ・ステートマントと関連したグラマを識別する段階と、グラマと関連しているとして識別された第1の接続が、1つまたは複数の接続を識別するデータ構造において特定されているか否かを決定する段階と、グラマと関連しているとして識別された第1の接続がデータ構造内に特定される場合には、ウェブ・ページを提起することができかつ第1の接続と関連するウインドウの少なくとも部分におけるリクエストを処理する段階と、を含む方法。

【発明の詳細な説明】
【技術分野】
【0001】
著作権の注意事項
この特許文書の開示の部分は、著作権の保護を受けている資料を含んでいる。著作権の所有者は、それが特許商標局の特許ファイルまたは記録に表されているときには該特許文書または特許開示のいずれかによる複製に異議を申し立てないが、そうでない場合にはどんな理由であれすべての著作権を保有する。
【0002】
関連出願
本出願は、2003年6月6日に出願されたウェブ・ページを音声付勢するためのシステム及び方法という名称の米国仮出願第60/476,815号に対する優先権を主張するものであり、その全内容は、参照によりここに組み込まれるものとする。
【0003】
本出願は、以下の継続中の特許出願にも関係するものであり、その全内容な参照によりここに組み込まれるものとする。
・ 国際公開第WO/02/44887 A2として2002年6月6日に公開された、2001年11月30日に出願されたウェブ・ページを音声付勢するための方法及びシステムという名称のPCT国際出願番号第PCT/US01/45223号
・ 2000年12月1日に出願されたウェブ・ページを音声付勢するための方法及びシステムという名称の米国仮特許第60/250,809号
【背景技術】
【0004】
ここに開示された本発明は、概して、ウェブ・ページを音声付勢(もしくは音声駆動)することに関する。一層詳細には、本発明は、ウェブ・ページ及び複雑なウェブ・ページを含む多数のウインドウを音声付勢するためのシステム及び方法を提供する。
【0005】
過去十年間に渡って、自動化された音声認識(“ASR”)システムは、手ごろな価格のパーソナル・コンピュータ及びワークステーションにインストールされるASRシステムによって高い程度の認識の正確さを得られ得るという点まで進歩してきた。このことは、消費者及び産業上の応用にとって利用可能なASRシステムの数を上昇させてきた。
【0006】
ASRシステムは、マイクロフォンを介して音声指令入力を認識してそれらの指令に作用するために音声グラマ(文法)に依存している。音声グラマは、2つのカテゴリ、ルールベースのグラマとフリー・スピーチ(音声)のグラマ、に分類される。ルールベースのグラマは、予め定められたフレーズ(句)の制限されたセットの認識を許容する。各ルールベースのグラマは、発声(ウテランス)がイベントまたはイベントのセットを生じさせる場合に発動される。ルールベースのグラマは、マイクロフォンを介して入力された発声(ウテランス)が、予め定められたフレーズ(句)のセット内に記憶されたフレーズ(句)に対応するスピーチ(音声)・テンプレートと一致する場合に発動される。例えば、ユーザは、セーブ指令を発動させるようワード処理プログラム内の文書を編集している間に、“セーブ・ファイル”と言い得る。
【0007】
他方、フリー・スピーチのグラマは、ビジネス英語のような与えられた領域における大きい組のワードを認識する。これらのグラマは、概して、口述もしくは書き取り(デクテーション)の応用のために用いられる。これらのシステムの幾つかの例は、Dragon Naturally Speaking と、IBM Via Voice 7 Millennium とである。ASRシステムは、また、ASRシステムが、合成された音声を用いて図式的にレンダリング(表示)されたテキスト(文字列)を話すのを可能とする、組み込まれたテキスト対スピーチ(“TTS”)(文字列対音声)能力をも有する。例えば、ASRシステムは、スピーカを通して声を出してワード・プロセッサ内の強調されたパラグラフを読取ることができる。
【0008】
ASRシステムは、音声可能化されたウェブ・ブラウザを創成するために、ウェブ・ブラウザと一体化されてきた。音声可能化されたウェブ・ブラウザは、ルールベースのグラマを発動させる音声指令を用いることにより、ユーザがインターネットをナビゲート(探査)することを許容する。これらのブラウザによって用いられる音声指令の幾つかは、ソフトウェアに、ウェブ・ブラウザによって用いられる伝統的な指令を実行させる発声(ウテランス)を含む。例えば、ユーザが、マイクロフォンに“ホーム”というならば、音声可能化されたブラウザは、音声可能化されたウェブ・ブラウザの“ホーム”ボタンをユーザがクリックした場合に音声可能化されたウェブ・ブラウザが実行するであろうのと同じルーチンを実行するであろう。
【0009】
さらに、幾つかの音声可能化ウェブ・ブラウザは、ウェブ・ページ・コンテントに基づいてルールベースのグラマを創成する。ウェブ・ページがダウンロードされて表示されるので、幾つかの音声可能化ウェブ・ブラウザは、ウェブ・ページ内に含まれたリンクに基づいてルールベースのグラマを創成する。例えば、もし、ウェブ・ページがリンク“カンパニ・ホーム”を表示したならば、このような音声可能化ウェブ・ブラウザは、ウェブ・ページが表示されている間有効なルールベースのグラマを創成するであろうし、それにより、ユーザが、マイクロフォンにフレーズ(句)“カンパニ・ホーム”と口に出して言う場合には、音声可能化ウェブ・ブラウザは、リンクと関連したウェブ・ページを表示する
であろう。この方法の1つの欠点は、ウェブ・ページがしばしば再設計されないので、ウェブ・ページ・コンテントから発生されたルールが長期間に渡って固定されているということである。さらに、ルールベースのグラマは、可視表示のために主に意図されたウェブ・ページ・コンテントから発生される。実際、これらのシステムは、スクリーン上に現れたものを言うことに、ユーザを制限する。
【0010】
ウェブ・ページは、また、音を出力させるようにするオーディオ要素を組み込むこともできる。現在、ウェブ・ページは、それらのウェブ・ページを2つの方法でオーディオ要素に組み込むことができる。オーディオ要素を組み込むための第1の方法は、人間が作り出す音声をウェブ・ページに提供するために、オーディオ・ウェーブ・ファイル・コンテントを用いることである。オーディオ・ウェーブ・ファイルを用いれば、ウェブ・ページの設計者が、ウェブ・ページの可視及び可聴部分を独立に設計するのを許容するが、この自由かつ追加された機能性は、高価格になる。エンド・ユーザにインターネットを介してバイナリ・サウンド・ファイルを転送するために必要な帯域幅は、極端に大きい。
【0011】
オーディオ要素を組み込むための第2の方法は、ASRシステムの機能性を利用する(leverage)ことである。音声可能化されたウェブ・ブラウザは、ウェブ・ページのコンテントをコンピュータに“しゃべらせる”ような方法で、ASRシステムのTTS機能を用い得る。この方法を用いれば、オーディオ要素を有してまたは有さずにページを観察するために必要とされる帯域幅がほぼ同じであるようにするが、ウェブ・ブラウザが何をしゃべることができるかということに関する対象をウェブ・ページのコンテントに制限する。
【0012】
音声XML(VXML)は、ウェブ・ページの設計者にもう1つのオプションを与える。VXMLは、ユーザが、代表的には電話を介して用いられるオーディオ指令の使用だけを通してウェブサイトをナビゲート(探索)するのを許容する。VXMLは、TTSトランスレータが、可視のウェブ・ページをウェブ・ページのオーディオ表現に変換することによりユーザにウェブ・ページを読取らせることを必要とする。ユーザは、ユーザが追随することを望むリンクをしゃべる(スピーキングする)ことによりウェブをナビゲート(探索)する。この方法では、ユーザは、ユーザの音声だけを用いることによってインターネットをナビゲート(探索)できるが、オーディオ・コンテントは、代表的には、視覚の判断に対して主に設計されているウェブ・ページ・コンテントから発生され、視覚の境界面はユーザの経験から取り除かれる。
【0013】
従って、本発明者等は、PCT国際出願第PCT/US01/45223号にさらに記載されているシステム(参照により、その全体をここに組み込むものとする)を発明することにより、大量の送信帯域幅を必要とせず、かつウェブ・ページの視覚の要素と共に存在する、ウェブ・ページのオーディオ要素を独立に創成するための必要性を取り扱った。PCT/US01/45223号の出願は、中でも、単一かつ単純な可視のウェブ・ページにおける音声コンテントを付勢するためのシステム及び方法を開示している。
【0014】
PCT/US01/45223号の出願のシステムは、ブラウザとして同じコンピュータ・デバイス(またはこのデバイスの音出力チャンネル)にアクセスするプロキシ・サーバを介してウェブ・ページ内のスピーチ(音声)・コンテントを制御する。プロキシ・サーバは、スピーチ・コンテントのためのデータを調べ、同時に、他のすべての要求されたデータをブラウザに供給する。ユーザがリンクをクリックした場合には、URLによって特定されるブラウザによって要求されたデータは、特定されたウェブ・サーバにプロキシ・サーバを介して通される。ウェブ・サーバからの要求された資料は、ブラウザに戻し通される。
【0015】
しかしながら、新しいURLがスピーチ・イベントを介してユーザによって要求される場合には、プロキシ・サーバは、ブラウザを介して、特定されたウェブ・サーバからこのデータ(例えば、特定のプログラム、またはウェブ・サーバ上の他の指令を実行する)を要求する。従って、結果のデータは、ブラウザに“押し”戻されることを必要とする。このことは、PCT/US01/45223号の出願にさらに記載されているthe multipart/x−mixed−replace mime typeの使用を介して達成される。このタイプは、ブラウザが、ブラウザとプロキシ・サーバとの間の接続を開に保持するようにし、かつ与えられた信号または他のトークンが送られるかまたは接続が閉じられるかするまで、受付データを継続させるようにする。例えば、ブラウザから要求された新しい“クリック”のために、または、新しいページ内にスピーチ・コンテントが無いという理由で、終結が生じ得る。終結のための環境は、PCT/US01/45223号の出願の図3Bに示されてそこに説明されている真値表にさらに記載されている。
【0016】
本発明者等は、例えば、与えられたブラウザの多数の状況またはウインドウにおいて、もしくは、与えられたウインドウ内の多数のフレームにおいて、同時に動作する多数のページからのコンテントまたは複雑かつ集合的なコンテントを含むウェブ・ページと共に動作させるためにシステムをいかに拡張させるかということを含め、ここにさらに説明される追加の改良を確認している。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特開2003−36403号公報
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明は、とりわけ、音声付勢(駆動)されるウェブ・ページに関する上述の問題を取り扱うことにある。
【課題を解決するための手段】
【0019】
一実施形態においては、システムは、ルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
ルールベースのグラマ・ステートマントと関連したグラマを識別する段階と、
グラマと関連しているとして識別された第1の接続が、1つまたは複数の接続を識別するデータ構造において特定されているか否かを決定する段階と、
グラマと関連しているとして識別された第1の接続がデータ構造内に特定される場合には、ウェブ・ページを提起することができかつ第1の接続と関連するウインドウの少なくとも部分におけるリクエストを処理する段階と、
を含む方法を含む。幾つかの実施形態においては、リクエストは、フレーズ部分、指令部分及びタグ部分を有するルールベースのグラマ・ステートマントを含むリクエストを備える。
【0020】
幾つかの実施形態においては、システムは、グラマと関連しているとして識別された第1の接続がデータ構造内に特定されない場合には、ウェブ・ページを提起することができかつ第2の接続と関連する新しいウインドウの少なくとも部分におけるリクエストを処理する。データ構造に第2の接続を追加し、そして第2の接続をグラマと関連させる。幾つかの実施形態においては、新しいウインドウも該接続に関連される。システムは、また、該接続と関連されるウインドウがクローズされる場合には、データ構造から接続の識別を除去するための方法をも含む。
【0021】
幾つかの実施形態においては、新しいウインドウは、第2の接続と関連された計算デバイスによってロードされる最後のウインドウを含むか、第2の接続と関連される計算デバイスにおけるアクティブ・ウインドウを含むか、またはユーザの好みにより選択される。幾つかの実施形態においては、グラマは、接続と関連される計算デバイスによってロードされる最後のウインドウと関連されたグラマであるか、接続と関連された計算デバイスにおいてアクティブ・ウインドウと関連されるグラマであるか、またはユーザの好みにより選択される。ウインドウは、ブラウザ・ウインドウまたはフレームのようなウインドウの部分を含み得る。
【0022】
幾つかの実施形態においては、リクエストは、ウェブ・ページに埋設された複合データのためのリクエストのような、複合データのためのリクエストを含む。幾つかの実施形態においては、システムは、リクエストされるデータのタイプを決定するために、リクエストと関連されたヘッダまたはフッタを調査する、例えば、マイム・タイプを特定するヘッダまたはフッタを調査する。幾つかの実施形態においては、システムは、リクエストされるデータのタイプを決定するために、リクエストと関連されたファイルネームまたはファイル拡張子を調査する。
【0023】
幾つかの実施形態においては、システムは、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
フレーズ部分、指令部分及びタグ部分を有するルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータを、接続から受信する段階と、
該接続が、1つまたは複数の接続を識別するデータ構造内に特定されるか否かを決定する段階と、
1つまたは複数のグラマを識別するデータ構造から、接続と関連されるグラマを選択する段階と、
接続が1つまたは複数の接続を識別するデータ構造内に特定される場合には、ウェブ・ページを提起することができかつ接続と関連される第1のウインドウの少なくとも部分における選択されたグラマを用いてルールベースのグラマ・ステートマントを処理する段階と、
を含む方法を含む。
【0024】
幾つかの実施形態において、システムは、1つまたは複数のグラマを特定するデータ構造から、接続と関連される新しいグラマを選択し、そして接続が1つまたは複数の接続を特定するデータ構造内に特定されない場合には、接続と関連される新しいウインドウの少なくとも部分における選択されたグラマを用いて、ルールベースのグラマ・ステートマントを処理する。幾つかの実施形態において、システムは、また、1つまたは複数の接続を特定するデータ構造に接続を追加し、そして該接続を、1つまたは複数のグラマを特定するデータ構造内の新しいグラマと関連させる。
【0025】
幾つかの実施形態において、システムは、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
フレーズ部分、指令部分及びタグ部分を有するルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータのためのリクエストを受信する段階と、
ウインドウがリクエストと関連されているか否かを決定する段階と、
ウインドウがリクエストと関連されている場合には、リクエストと関連されているウインドウの少なくとも部分におけるリクエストを処理する段階と、
を含む方法を含む。
【0026】
幾つかの実施形態において、システムは、ウインドウがリクエストと関連されていない場合には、新しいウインドウの少なくとも部分におけるルールベースのグラマ・ステートマントを処理する。幾つかの実施形態においては、システムは、リクエストと関連されている接続を識別し、そして該接続を新しいウインドウと関連させる。
【0027】
本発明は、例示的なものであり、制限的なものでは無いということを意味する添付図面において説明される。なお、図面中、同じ参照数字は、同じもしくは対応の部品に言及するということを意図している。
【図面の簡単な説明】
【0028】
【図1】本発明の実施形態によるウェブ・ページの音声付勢(駆動)を行うシステムのためのネットワーク・アーキテクチャを示すブロック図である。
【図2】本発明の実施形態によるウェブ・ページの音声付勢(駆動)を行うための方法のフロー図である。
【発明を実施するための形態】
【0029】
図1を参照すると、本発明の実施形態が提起されている。図1は、本発明の実施形態によるウェブ・ページの音声付勢を行うシステムのためのネットワーク・アーキテクチャのブロック図を提起する。示されているように、システムは、ネットワーク105に接続された1つまたは複数のクライアント・デバイス100と、ウェブ・サーバ110と、ブラウザ115と、ハイパースピーチ・マークアップ言語(“HSML”)プロセッサ120と、スレッド・モジュール125と、スピーチ・モジュール130と、スピーチ・エンジン135と、プロキシ・サーバ140と、ブラウザ・アプリケーション・プログラム・インターフェース(“API”)145とを含む。
【0030】
クライアント・デバイス100は、例えば、クライアント・コンピュータと、携帯電話と、個人用携帯情報機器(“PDA”)と、タブレットPCと、プロセッサが装備されかつここに及びPCT/US01/45223号の出願にさらに説明されるブラウザ115のソフトウェア・モジュールを支援することができる他の同様の電子デバイスとを含み得る。クライアント・デバイス100は、ネットワーク105を介してウェブ・サーバ110または他の同様のサーバに通信的に結合される。例えば、一実施形態において、クライアント・デバイス100は、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、ワイレス・ネットワーク、または同様の他のネットワークもしくはそれらの組み合わせを介してウェブ・サーバ110に接続され得る。
【0031】
クライアント・デバイス100は、ハイパーテキスト・マークアップ言語(“HTML”)ページ及びウェブ・サーバ110からの他のデータ・フィル、並びに関連の視聴覚ファイル及び当該技術分野で既知の他のタイプのファイルを受信するよう概して構成された、ウェブ・ブラウザのようなブラウザ115を実行する。例えば、幾つかの実施形態においては、クライアント・デバイスは、インターネット・イクスブローラ・ブラウザ、ネットスケープ・ブラウザ、オペラ・ブラウザ、及び他の類似のブラウザを実行する。
【0032】
ブラウザ115は、また、ここにおいてかつPCT/US01/45233号の出願においてさらに説明されるハイパースピーチ・マークアップ言語(“HSML”)プロセッサ120に通信的に結合される。HSMLプロセッサ120は、ソフトウェア・モジュール、データ構造、並びに他のプログラム・コードを含み、該プログラム・コードは、概して、HSMLデータ、HTMLデータ、及びここにおいてかつPCT/US01/45233号の出願においてさらに記載されるブラウザ115における視聴覚データのような他の関連のデータを含むウェブ・ページを処理して提起するよう構成されている。
【0033】
幾つかの実施形態において、HSMLプロセッサ120は、スレッド・モジュール125と、スピーチ・モジュール130とを含む。スレッド・モジュール125は、追加のソフトウェア・モジュール、データ構造、及び他のプログラム・コードを含み、該プログラム・コードは、概して、スレッドを取り扱って、ブラウザ115と、ウェブ・サーバ110と、ネットワークに接続された他のデバイスとの間を通過するデータ・コンテントを調査することに向けられている。スレッド・モジュール125は、スピーチ・モジュール130と通信的に結合される。
【0034】
スピーチ・モジュール130は、追加のソフトウェア・モジュール、データ構造、及びHSMLプロセッサ120とスピーチ・エンジンとの間の通信を調整することに概して向けられている他のプログラム・コードを含む。例えば、スピーチ・モジュール130は、HSMLプロセッサ120と、Dragon Naturally Speaking,IBM ViaVoiceのようなスピーチ・エンジン135、または当該技術分野で既知のもう1つのスピーチ・エンジンとの間の通信を調整し得る。幾つかの実施形態において、スピーチ・モジュール130は、スピーチ・エンジン135に通信的に結合され、HSMLデータ及び他のデータを処理のためにスピーチ・エンジン135に通す。幾つかの実施形態において、スピーチ・エンジン135は、HSMLタグ・データを通すか、もしくは、スピーチ・モジュール130が新しいページを処理するために新しいページ処理機能またはルーチンを付勢すべきであるということを示す他のデータを通す。スピーチ・モジュール140は、次に、ブラウザ115に、ウェブ・サーバ110に、またはネットワークに接続される他の計算デバイスに通信されるために、スピーチ・エンジン135からスレッド・モジュール125に新しいページのアドレスを戻す。幾つかの実施形態において、スピーチ・モジュール130は、HSMLデータまたは他のデータから導出された新しいスピーチ・データをスピーチ・エンジン135にローディングするページを処理して、新しいグラマ及び他の情報のスピーチ・エンジン135へのローディングを管理する。
【0035】
スピーチ・モジュール130は、また、スピーチ・エンジン135とスレッド・モジュール125との間の通信を調整する。例えば、スピーチ・エンジン135は、HSMLタグ・データを通すか、または、新しいページが処理のためにスピーチ・モジュール130に通されるべきであるということを示す他のデータを通す。スピーチ・モジュール130は、次に、ブラウザ115に、ウェブ・サーバ110に、またはネットワークに接続される幾つかの他のデバイスに通信されるために、スピーチ・エンジン135からスレッド・モジュール125に新しいページのアドレスを戻すであろう。
【0036】
幾つかの実施形態において、HSMLプロセッサ120は、図1に示されるプロキシ・サーバ140上にあって、そこで実行する。他の実施形態において、HSMLプロセッサ120は、ブラウザと同じデバイス上にあってそこで実行するか、またはそうでない場合には、ブラウザに通信的に結合され、PCT/US01/45223号の出願にさらに説明されているように、プロキシ・サーバのように単に作用する。前述のこれら2つの実施形態のいずれかにおいて、ウェブ・サーバ110とブラウザ115との間の通信は、このように、HSMLプロセッサ120を通して通過し、直接ではない。幾つかの実施形態において、HSMLプロセッサ120は、the multipart/x−mixed−replace mime typeを用いて、ブラウザ115とHSMLプロセッサ120またはプロキシ・サーバ140との間の開接続を維持し、そして、ここにおいてかつPCT/US01/45223号の出願においてさらに説明するように、データをブラウザに押し進める。
【0037】
例えば、幾つかの実施形態において、システムは、コネクションレス態様で履行され、前ウインドウ・アドレスのようなアドレスを維持してウインドウと関連したリクエストを追跡する。アプレットのようなウインドウにおけるサービスが、(例えば、それ自身を更新する等のために)リクエストを受け付ける。プロセス、例えばプロキシ・サーバ140、またはクライアント側の他のプロセスは、コンテントが向けられるべきウインドウを決定し、そしてスピーチ・エンジン135との通信を取り扱う。
【0038】
他の実施形態において、HSMLプロセッサ120は、ブラウザ115と同じデバイス上に存在し(または、そうでない場合には、ブラウザ115と通信的に結合され)、ここに、HSMLプロセッサ120は、API 145を介してブラウザと通信し、そしてHSMLプロセッサ120及びブラウザ115の双方は、ウェブ・サーバ110と直接通信する。例えば、ブラウザは、指令、プログラム命令、及びHSMLプロセッサ120とブラウザ115との間の他のデータを通して実行することができ、かつHSMLプロセッサ120との通信に向けられる、プラグインまたは他の同様のAPIを含み得る。従って、幾つかの実施形態において、ブラウザ115は、ウェブ・サーバ110からのHSMLデータを有するウェブ・ページを受信し得、そしてAPI 145を用いて、HSMLデータ及び関連の命令をここでさらに説明する処理のためにHSMLプロセッサ120に通す。
【0039】
幾つかの実施形態において、システムは、分離したプロキシ・サーバ140無しで作用するプログラミング、例えば、ブラウザ115におけるアプレットを含む。例えば、アプレットは、ページHSMLデータ及び他のタイプのデータのローディングを調整するために、スピーチ・エンジン135と、ウェブ・サーバと、ブラウザと、他のアプレットと、もしくは他のネットワーク素子と直接通信し得る。従って、どのアプレットが中心または活用できるグラマを有するか、ルール競合をいかに解決するか、等に関してアプレットが互いに協議する配分モデルが提起される。幾つかの実施形態において、この機能を支援するためのデータ構造は、ブラウザ・メモリ内に維持されるか、または当該技術分野において既知の方法を介してアプレット間を通される。
【0040】
図2は、本発明の実施形態によるウェブ・ページの音声付勢を行うための方法のフロー図を提起している。システムは、ブラウザ115とウェブ・サーバ110または他のサーバとの間のデータ通過を調査する(ステップ150)。例えば、幾つかの実施形態において、ブラウザ115は、HTMLドキュメント、または埋設されたデータを有するウインドウのような複合ウインドウを含む他のドキュメントを処理する。例えば、ブラウザ115は、テキスト、グラフィックス、及び当該技術分野において既知の他のページ・アセット(assets)を含むドキュメントを処理し得る。
【0041】
グラフィックのようなアセットのためのバイナリ・ファイルは、概して、ドキュメントを有するブラウザ115に通されないが、代わりに、イメージ・タグを介してまたはユニフォーム・リソース・ロケータ(“URL”)リンクのようなリンクを含む他の同様のマークアップ・タグを介して、アセットを含むバイナリ・ファイルに参照される。ブラウザ115は、次に、リンクを含むイメージ・タグをパース(構文解析)し、そしてリンクを用いて、ウェブ・サーバ110からのアセットのためのバイナリ・ファイルをリクエストする。
【0042】
代替的には、ブラウザ115は、HTMLリクエストまたはデータのための他のリクエスト、例えば、新しいページを特定するリクエストを、ウェブ・サーバ110に通過させ得る。従って、ブラウザ115からウェブ・サーバ110へのリクエストは、概して、リクエストが、イメージ・ファイル、オーディオ・ファイルまたは他の同様のアセットのような現在のページのアセットに対するものであるか否か、またはリクエストがHTMLリクエストであるか否かを示すマイムの型(a mime type)を含む。システムは、HTMLリクエスト及び他の同様のリクエストだけが、PCT/US01/45223号の出願にさらに記載されているシステムのHSML機能に関連し得るので、データを調査する。
【0043】
HSMLプロセッサ120が、プロキシ・サーバ140の構成要素であるか、または概してプロキシ・サーバ140として機能する実施形態においては、システムは、現在のページ内に埋設された集合データのためのリクエストを同時に受け付けて調査している間に、PCT/US01/45223号の出願に記載されたthe multipart/x−mixed−replace mime typeを用いてブラウザ115とHSMLプロセッサ120との間の接続を開に保持する。他の実施形態においては、HSMLプロセッサ120は、ボイス・イネーブル・ウェブ・ページに対するブラウザ115のAPI 145と相互作用する。例えば、API 145は、データが、(ウィンドウに関する情報またはデータに関連するフレームと一緒に)処理のためにHSMLプロセッサ120に通されるべきスピーチ・イベントを含むか否か、またはデータが、ここで及びPCT/US01/45223号の出願にさらに記載されるようにブラウザによって取り扱われるべき複素データを含むか否かを決定するために、データを調査する。HSMLプロセッサ120は、また、スピーチ・イベントを処理して、該結果を、API 145を介してブラウザ115に通信する。
【0044】
従って、システムは、リクエストが、現在のページと共に埋設された集合または複合データのためのリクエストであるか、または新しいデータのためのHTMLリクエストであるか(ステップ155)否かを決定するために、ブラウザ115からウェブ・サーバ110へのリクエストを調査する。幾つかの実施形態においては、システムは、リクエストのタイプを決定するために、ヘッダ、フッタ、もしくはマイム・タイプ(a mime type)または他の情報を特定するリクエストと関連した他のデータを調査する。例えば、リクエスト・ヘッダ・マイム・タイプ(mime type)は、ファイルがJPEGファイルであることを示し得、従って、システムは、リクエストが複素データのためのリクエストであって、新しいHTMLリクエストではないということを決定する。幾つかの実施形態において、リクエスト・ヘッダ、フッタ、またはリクエストと関連する他のデータは、マイム・タイプ(a mime type)を特定せず、またはリクエストされたデータに対応する他の情報を特定しない。これらの場合において、システムは、リクエストに関連したファイルネーム及びファイル拡張子を調べることによってリクエストされたデータ・コンテントのタイプを決定する。このように、ファイル“picture.gif”のためのリクエスト・ヘッダがマイム・タイプ(a mime type)を特定しなかったならば、システムは、新しいHTMLリクエストではなくむしろ複合データを含みそうである既知のファイル拡張子のリストまたは他のデータ構造をファイル拡張子“.gif”と相関させるようファイルネーム“picture.gif”を調査することによって、リクエストが複合データのものかまたは新しいHTMLデータのためのものかを推量することを試みるであろう。
【0045】
リクエストがHTMLリクエストまたは新しいデータのための他のリクエスト、例えば、新しいページまたは新しいウインドウのためのリクエストでないならば、当該技術において既知の通常のプロキシ・サーバと同様に機能するHSMLプロセッサ120または(API 145が存在する場合における)ブラウザのいずれかからサーバに直接データが通される(ステップ160)。HSMLプロセッサがプロキシ・サーバと同様に機能している場合の実施形態において、“マスタ”接続、すなわち、ブラウザにthe multipart/x−mixed−replace mime typeを特定したもの、は、与えられたページのためのすべてのデータがリクエストされている間にこのプロセスを通して維持される。
【0046】
しかしながら、もし、リクエストが新しいHTML(またはテキスト)データのためのものであるならば、該データは、ブラウザ115からの新しいリクエストと考慮され、そしてシステムは、リクエストがスピーチ・イベントによって発生されていたか否かを決定する(ステップ162)。もし、イベントがスピーチ・イベントによって発生されていなかったならば、例えば、イベントがユーザのマウスクリックによってもしくはユーザがURLをブラウザ115に直接タイピングすることにより発生されたものならば、次に、システムは、当該技術で知られたように新しいデータのための通常のHTMLリクエストとしてイベントを処理し、制御は、ブロック175に通る。
【0047】
幾つかの実施形態において、システムは、接続に関連した活動(アクティビティ)、例えば、HSMLデータまたはページ・クロージングを含まない新しいページのためのリクエストを検出し、そしてPCT/US01/45223号の出願にさらに記載されたようなクリーンアップ動作を行う。例えば、システムは、ブラウザで古い接続を終結するクリーンアップ動作を行い、そしてまた、該接続に関連した先のグラマを概して検出する。
【0048】
新しいHTML(またはテキスト)データのためのリクエストがスピーチ・イベントによって発生されたならば、システムは、リクエストが現存する接続から来たかまたは新しいブラウザ接続から来たかを決定する(ステップ165)。例えば、一実施形態において、システムは、ウェブ・ページを特定するデータのような、接続からのリクエストを受信し、該データは、フレーズ(句)部分、指令部分及びタグ部分を有するルールベース化されたグラマ・ステートマントを含む。幾つかの実施形態において、HSMLプロセッサ120及びブラウザ115は、新しいHTMLデータのためのリクエストを評価するよう、API 145を介して通信する。幾つかの実施形態において、システムは、データ構造、機能、プロセス、及び、http://java.sun.com/products/java-media/speech/forDevelopers/JSGF/JSGF.html#11803
において入手可能な“Java(登録商標) Speech Grammar Fomat Specification”にさらに記載されて参照によりその全体においてここに組み込まれる他の方法を用いる。他の実施形態において、システムは、開いたまたは現存する接続またはソケットと、それらの関連のグラマとの間の関連を管理することに向けられたソフトウェア・オブジェクトまたは接続マネージャまたは他のソフトウェア・モジュールを含む。例えば、ユーザは、幾つかのブラウザ115のウインドウを開にさせるかまたは多数のフレームを有する1つのブラウザ115のウインドウを開にさせ得る。これらのウインドウまたはフレームの各々は、(the multipart/x−mixed−replace mime typeサーバ・プッシュ方法または他の同様の方法を介して)開接続と関連し、そしてPCT/US01/45223号の出願にさらに記載される関連のスピーチ・グラマと関連する。従って、他の中でもとりわけ、接続マネージャは、新しいHTMLデータのためのリクエストを調査して、リクエストが現存する接続から来るかまたは新しい接続から来るかを決定する。
【0049】
幾つかの実施形態において、接続マネージャは、概して、2つのセットのリストまたは他のデータ構造を含み、該リストから項目を追加または削除するよう機能し、そしてそれ自身と対応のリストとをハッシュとして再計算するよう機能する、ソフトウェア・オブジェクトを含む。2つのリストは、ウインドウまたはフレームに対する開のまたは現存の接続またはソケットと、該ウインドウまたはフレームに付随するグラマとの間の関連を追跡する第1のリストと、スピーチ・ルールと該スピーチ・ルールに付随するグラマとの間の関連を追跡する第2のリストとを含む。幾つかの実施形態において、接続は、スレッドを含み得、その場合、例えば、処理がクライアントにおける多数のスレッド化された環境において生じる。本発明の一実施形態によるこれらのリストのための例示的なデータ構造は、付録Aとしてここに添付される。幾つかの実施形態において、接続マネージャは、スレッド・モジュール125またはAPI 145と関連したソフトウェア・モジュールまたはソフトウェア・オブジェクトを含む。他の実施形態においては、接続マネージャは、独立のソフトウェア・モジュールまたはソフトウェア・オブジェクトを含む。
【0050】
リクエストが開のまたは現存の接続から来るならば、接続マネージャは、リクエスト内に含まれるまたはリクエストと関連したスピーチ・ルールを調査して、そのリストに対してルックアップを行い、リクエストと関連したグラマ及び接続を決定する(ステップ170)。幾つかの実施形態において、新しい接続は、ブラウザ115と、ウェブ・サーバ110またはプロキシ・サーバ140との間に創設される(ステップ175)。幾つかの実施形態において、プロキシ・サーバ140との新しい接続は、接続リスト、または接続マネージャによって維持された他の同様のデータ構造に加えられる。幾つかの実施形態において、システムは、また、プロキシ・サーバ140とウェブ・サーバ110またはブラウザ115との間の接続を追跡して、例えば、スレッド化した同時リクエストまたは他の目的で処理を行う。
【0051】
システムは、また、新しい接続に関係した入って来るデータを評価して、新しい接続と関連した新しいグラマがあるかどうかを決定する。新しいグラマが接続と関連するならば、該グラマ及びそれと関連する幾つかのスピーチ・ルールがロードされて、また、前述したように、適切な接続マネージャに加えられる。PCT/US01/45223号の出願にさらに記載されるように、システムは、概して、クリーンアップ動作を行い、ブラウザとHSMLプロセッサ120との間の古い接続を終結し、そしてまた、概して、該接続と関連した先のグラマを削除する(ステップ180)。リクエストまたは他の動作は、新しい接続に対応するウインドウまたはフレーム内で処理されるか、またはそうでなければ、該ウインドウまたはフレームに向けられる(ステップ180)。従って、データは、スピーチ・リクエストまたは他のリクエストと関連したウインドウにフィードバックされる。
【0052】
幾つかの実施形態において、もし、ステップ165で記載された新しいHTMLデータ(またはテキスト)のためのリクエストが、開いたまたは現存する接続またはソケットと関連しないならば、接続マネージャは、新しい接続を接続のそのリストに加える(ステップ190)。接続マネージャは、また、該接続と関連したスピーチ・ルール及び任意のグラマを、先に説明したように、そのリストに加える(ステップ195)。システムは、接続に対応するウインドウに関する動作を処理し(ステップ200)、制御は、ブロック150に戻り、そしてシステムは、ここにおいて及びPCT/US01/45223号の出願においてさらに説明するように、データの処理を続ける。
【0053】
幾つかの実施形態において、多数の開いたウインドウまたはフレームの各々は、アクティブ関連のグラマを有し得る。幾つかの実施形態において、システムは、開いたウインドウまたはフレームのいずれがスピーチ・イベントに対応するかを決定することによって、多数のアクティブ・グラマに含まれるスピーチ・イベントのためのコンフリクトをいかに処理するかを決定しなければならない。例えば、2つの開いたウインドウまたはフレームが、スピーチ・イベント“ホーム・ページに戻る”と関連したコードを含み得る。“ホーム・ページに戻る”を示すディレクティブまたはスピーチ・イベントを処理する際に、システムは、開いたウインドウまたはフレームのいずれがそのホーム・ページに戻されるべきかを決定しなければならない。
【0054】
幾つかの実施形態において、このようなコンフリクトが検出されるとき、システムは、スピーチ・イベントまたはディレクティブまたは他のイベントに対応する適切なグラマまたはウインドウを選択するために、ユーザ入力または他の入力をリクエストする対話または他の通知を表示する。
【0055】
他の実施形態において、システムは、そのグラマに対してスピーチ・イベント及び他のディレクティブまたはイベントが処理されるであろう中心のグラマとして用いるために1つのグラマを選択し、他のグラマを不活性とする。従って、多数のアクティブ(活性)・グラマに含まれるスピーチ・イベント及び他のディレクティブまたはイベントを処理する混乱が無い。開いたウインドウまたはフレームと関連したグラマのすべては、概して、メモリ内に永続的に留まるが、ただ1つのグラマだけが常に中心性または集束性を有する。
【0056】
例えば、幾つかの実施形態において、システムは、ブラウザ115によってロードされた最後のウインドウまたはフレームに関連したグラマを選択する。他の実施形態において、システムは、活性ブラウザ115のウインドウと関連したグラマを選択する。例えば、マイクロソフト・ウインドウズ・オペレーティング・システム及びグラフィカル・ユーザ・インターフェースを有する他のオペレーティング・システムにおいて、多数のウインドウは、同時に開いていることができるが、これらのウインドウは、概して、レイヤとして提起されるか、またはそうでない場合には、活性ウインドウであるトップ・ウインドウとカスケードされる(何枚も重なって表示される)。他の実施形態において、システムは、フレームが複製のスピーチ・イベントまたはディレクティブまたは他のイベントを含まないということを必要とし得る。
【0057】
ここに説明したシステム及びモジュールは、ソフトウェア、ファームウェア、ハードウェア、もしくはここに説明した目的にとって適切な、ソフトウェア、ファームウェア、またはハードウェアの任意の組み合わせを含み得る。ソフトウェア及び他のモジュールは、サーバ、ワークステーション、パーソナル・コンピュータ、コンピュータ化されたタブレット、PDA、及びここに説明した目的にとって適切な他のデバイス上に存在し得る。ソフトウェア及び他のモジュールは、ローカル・メモリを介して、ネットワークを介して、ASPコンテキストにおけるブラウザまたは他のアプリケーションを介して、もしくはここに説明した目的にとって適切な他の手段を介して、アクセス可能であり得る。ここに説明したデータ構造は、コンピュータ・ファイル、変数(バリアブルス)、プログラミング・アレイ、プログラミング構造、または任意の電子情報記憶機構もしくは方法、もしくはここに説明した目的にとって適切なそれらの任意の組み合わせを含み得る。ここに説明したユーザ・インターフェース要素は、グラフィカル・ユーザ・インターフェース、指令ライン・インターフェース、及びここに説明した目的にとって適切な他のインターフェースからの要素を含み得る。ここに提起しかつ説明したスクリーンショットは、情報を入力し、アクセスし、変化し、操作し、修正し、変更し、そして作業するために当該技術分野で既知のように異なって表示され得る。
【0058】
本発明を好適な実施形態と関連させて説明し図示してきたけれども、当業者に明瞭であるように、多くの変更及び修正が本発明の精神及び範囲から逸脱することなく為されることができるものであり、従って、本発明は、そのような変更及び修正が本発明の範囲内に含まれるよう意図されているので、上述の方法及び構成の正確な詳細に制限されるものではない。
[付録A]
【表1A】

【表1B】

【表1C】

【表1D】

【表1E】

【符号の説明】
【0059】
100 クライアント・デバイス
105 ネットワーク
110 ウェブ・サーバ
115 ブラウザ
120 HSMLプロセッサ
125 スレッド・モジュール
130 スピーチ・モジュール
135 スピーチ・エンジン
140 プロキシ・サーバ
145 ブラウザ・アプリケーション・プログラム・インターフェース

【特許請求の範囲】
【請求項1】
ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
該リクエストは、ルールベースのグラマ・ステートマントの少なくとも部分を含み、かつルールベースのグラマ・ステートマントを呼び出し、
該方法は、
音声リクエストに応答して、
複数のグラマのうちいずれがルールベースのグラマ・ステートマントと関連しているかを識別する段階と、
グラマと関連しているとして識別された第1の接続が、複数の接続、及び複数の各接続に対する各グラマとウェブ・ページを提起することができる各ウインドウとを識別するデータ構造において特定されているか否かを決定する段階と、
第1の接続がデータ構造内に特定される場合には、第1の接続と関連するウインドウの少なくとも部分に特定されたウェブ・ページを表示するように、識別されたグラマを用いてリクエストを処理する段階と、
を含む方法。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2011−227507(P2011−227507A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2011−123357(P2011−123357)
【出願日】平成23年6月1日(2011.6.1)
【分割の表示】特願2006−515269(P2006−515269)の分割
【原出願日】平成16年6月7日(2004.6.7)
【出願人】(306018457)ザ・トラスティーズ・オブ・コロンビア・ユニバーシティ・イン・ザ・シティ・オブ・ニューヨーク (25)
【Fターム(参考)】