(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022116343
(43)【公開日】2022-08-09
(54)【発明の名称】自然言語ウェブブラウザ
(51)【国際特許分類】
G06F 16/9532 20190101AFI20220802BHJP
G06F 16/955 20190101ALI20220802BHJP
G06F 16/36 20190101ALI20220802BHJP
【FI】
G06F16/9532
G06F16/955
G06F16/36
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022093173
(22)【出願日】2022-06-08
(62)【分割の表示】P 2017090184の分割
【原出願日】2017-04-28
(31)【優先権主張番号】15/159,048
(32)【優先日】2016-05-19
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】ジョン・ティー・マクスウェル
(72)【発明者】
【氏名】カイル・ディー・デント
(72)【発明者】
【氏名】ダニエル・ジー・ボブロウ
(57)【要約】
【課題】既存のウェブブラウザ又は新たに作成されたウェブブラウザに対して自然言語インターフェースを提供する方法及びシステムを提供する。
【解決手段】自然言語インターフェースは、入力及び出力として音声(又はテキスト)を使用してウェブブラウザと対話する。自然言語ウェブブラウザは、ユーザ質問、ステートメント及び/又はコマンドを動作に変換し、結果として得られたHTMLを読み出し、ユーザに提供するようにHTMLを自然言語記述へと変換する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
自然言語ウェブブラウジング方法において、
ウェブページを有する複数のウェブサイトを含むコンピュータネットワークをブラウズするように構成されたウェブブラウザによって自然言語入力を受け付けることと、
質問、ステートメント及びコマンドのうちの少なくとも1つへと前記自然言語入力を構文解析することと、
前記構文解析された自然言語入力に応じて前記ウェブブラウザを動作させることと、
前記自然言語ウェブブラウジングの結果を返すことと
を備え、前記ウェブブラウジングが少なくともディジタル処理装置の使用によって達成される、方法。
【請求項2】
前記自然言語入力が曖昧であるかどうかを判定することと、
前記自然言語入力が曖昧であると判定された場合、前記自然言語入力が何を意味するかを問い合わせるクエリを生成することと、
以前に受け付けた自然言語入力と同じ又は概念的に類似した自然言語入力を前記ウェブブラウザによって受け付け、前記自然言語入力が曖昧であると判定された場合、前記同じ又は概念的に類似した自然言語入力を、前記同じ又は概念的に類似した自然言語入力の質問、ステートメント及びコマンドのうちの少なくとも1つへと構文解析することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記自然言語ウェブブラウジング中に発生した前記ウェブブラウザの動作に関する情報を提供することをさらに含む、請求項1に記載の方法。
【請求項4】
前記ウェブブラウジングの現在のフォーカスが変化したときに情報を提供することをさらに含む、請求項3に記載の方法。
【請求項5】
ワールド・ワイド・ウェブ上のウェブサイトへのアクセスを制限する方法なしで、前記判定されて構文解析された自然言語入力及び前記同じ又は概念的に類似した自然言語入力のうちの少なくとも1つにしたがって前記ウェブブラウザを動作させることを含む、請求項2に記載の方法。
【請求項6】
自然言語入力が、ナビゲーションコマンド、読み出しコマンド、要約コマンド、記述コマンド、クリックコマンド、入力コマンド、ファインドコマンド及び検索コマンドのうちの1つを含む、請求項1に記載の方法。
【請求項7】
前記ナビゲーションコマンドが、
前記ナビゲーションコマンドの宛先がユニフォーム・リソース・ロケータ(URL)宛先である場合、URLによって名称が付された宛先を訪問するように前記ウェブブラウザに指示し、
前記URL宛先にフォーカスを設定し、
ユーザに前記フォーカスを記述すること
によって行われる、請求項6に記載の方法。
【請求項8】
前記URL宛先を訪問することが、
前記URL宛先を前記ウェブブラウザに与えることと、
前記URL宛先に対応する選択されたウェブページをロードすることと、
前記選択されたウェブページを記述する能力を向上させるように前記選択されたウェブページを再構築することと
を含む、請求項7に記載の方法。
【請求項9】
自然言語ウェブブラウジングを行うためのシステムにおいて、
ウェブページを有する複数のウェブサイトのコンピュータネットワークと通信するように構成された少なくとも1つのディジタル処理装置、電子記憶及び入力/出力装置を含む通信装置を備え、前記通信装置が、
前記コンピュータネットワークをブラウズするように構成されたウェブブラウザによって自然言語入力を受け付け、
質問、ステートメント及びコマンドのうちの少なくとも1つへと前記自然言語入力を構文解析し、
前記構文解析された自然言語入力のうちの少なくとも1つに応じて前記ウェブブラウザを動作させ、
前記自然言語ウェブブラウジングの結果を返す
ように構成されている、システム。
【請求項10】
前記自然言語入力が曖昧であるかどうかを判定することと、
前記自然言語入力が曖昧であると判定された場合、前記自然言語入力が何を意味するかを問い合わせるクエリを生成することと、
以前に受け付けた自然言語入力と同じ又は概念的に類似した自然言語入力を前記ウェブブラウザによって受け付け、前記自然言語入力が曖昧であると判定された場合、前記同じ又は概念的に類似した自然言語入力を、前記同じ又は概念的に類似した自然言語入力の質問、ステートメント及びコマンドのうちの少なくとも1つへと構文解析することと
を備える、請求項9に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
オンライン検索は、現代の世界においては実質的にユビキタスになってきている。特に、インターネットを介したワールド・ワイド・ウェブ(www)の検索は、ユーザが世界中から及び世界を超えて可算ソースからデータを取得するのを可能とする。より容易にこのデータにアクセスするために、ウェブブラウザは、インターネットの電子ネットワークとインテリジェントコンピューティングデバイスを使用するユーザとの間のインターフェースを提供するように開発されてきている。ウェブブラウザ又はブラウザは、ワールド・ワイド・ウェブへのアクセスを提供するためにインテリジェントコンピューティングデバイスにインストールされたアプリケーションソフトウェアである。様々な既存のウェブブラウザは、画像、動画などの必要なファイルとともに電子サーバからウェブページの形式でデータを取得する。最も一般的に既存のウェブブラウザは、これらのファイルを解釈した後に電子ディスプレイ上に視覚的な方法でファイルを表示するためのソフトウェアコードを含む。ファイルにアクセスするために、ユーザは、要求されている特定のウェブページにアクセスするために特定のウェブブラウザのアドレスバー又は入力領域にウェブページのURL(ユニフォーム・リソース・ロケータ)を入力することができる。
【0002】
モノのインターネット及びウェアラブルの一部であるスマートデバイスなどの電子ディスプレイを含まないものを含むますます多くのデバイスがインターネットに相互接続されるのにともない、また、自然言語処理及び自動音声認識がより確実になるのにともない、ウェブブラウジング動作のために自然言語処理を使用することが望ましい。これはまた、自動車、キッチン及びワークショップなどのハンズフリー環境についても価値がある。
【発明の概要】
【課題を解決するための手段】
【0003】
自然言語ウェブブラウジングシステム及び方法は、自然言語入力を受け付けるように構成されたウェブブラウザを含む。ウェブブラウザは、ウェブページを有する複数のウェブサイトを含むコンピュータネットワークをブラウズし、質問、ステートメント及びコマンドのうちの少なくとも1つへと自然言語入力を構文解析するようにさらに構成されている。そして、ウェブブラウザは、判定されて構文解析された自然言語入力にしたがって動作し、自然言語を使用してウェブブラウジングの結果を返す。ここで、ウェブブラウジングは、少なくともディジタル処理装置の使用によって達成される。
【0004】
必要に応じて、ウェブブラウザは、自然言語入力が曖昧であるかどうかを判定することができ、自然言語入力が曖昧であると判定された場合、自然言語入力が何を意味するかを問い合わせるクエリを生成する。その後、この任意の動作のもとに、ウェブブラウザは、以前に受け付けた自然言語入力と同じ又は概念的に類似した自然言語入力を受信し、自然言語入力が曖昧であると判定された場合、同じ又は概念的に類似した自然言語入力を、同じ又は概念的に類似した自然言語入力の質問、ステートメント及び/又はコマンドのうちの少なくとも1つへと構文解析する。
【0005】
本方法は、自然言語のウェブブラウジング中に発生したウェブブラウザの動作に関する情報を提供することをさらに含む。
【0006】
本方法は、ウェブブラウジングの現在のフォーカスが変化したときに情報を提供することをさらに含む。
【0007】
本方法は、ワールド・ワイド・ウェブ上のウェブサイトへのアクセスを制限する方法なしで、判定されて構文解析された自然言語入力及び同じ又は概念的に類似した自然言語入力のうちの少なくとも1つにしたがってウェブブラウザを動作させることをさらに含む。
【0008】
本方法は、動作が予め設定された数のウェブサイトに対して本方法によって制限されていないワールド・ワイド・ウェブ上の特定のウェブページに直接ナビゲートすることをさらに含む。
【0009】
本方法は、構文解析が、現在のウェブブラウジングセッションにおいて特定された現在のウェブページのウェブ要素を列挙することと、列挙された各ウェブ要素の潜在的参照を生成することと、自然言語入力のセグメントと生成された潜在的参照との間の最良一致を見つけることと、自然言語入力のセグメントと、既知の質問、ステートメント及びコマンド種類との間の最良一致を見つけることと、見つけるステップの複数の最良一致段階が可能な場合に曖昧性を作成することとを含むことをさらに含む。
【0010】
本方法は、列挙されたウェブ要素が、ヘッダセクション、第1のセクション及び第2のセクションのうちの少なくとも1つを含むことをさらに含む。
【0011】
本方法は、自然言語入力が、ナビゲーションコマンド、読み出しコマンド、要約コマンド、記述コマンド、クリックコマンド、入力コマンド、ファインドコマンド及び検索コマンドのうちの1つを含むことをさらに含む。
【0012】
本方法は、自然言語入力が「これを私のショッピングカートに追加する」などの現在のウェブサイトに特有のコマンドを含むことをさらに含む。
【0013】
本方法は、ナビゲーションコマンドの宛先がユニフォーム・リソース・ロケータ(URL)宛先である場合、ナビゲーションコマンドが、URLによって名称が付された宛先を訪問するようにウェブブラウザに指示し、URL宛先にフォーカスを設定し、ユーザにフォーカスを記述することによって行われることを含むことをさらに含む。
【0014】
本方法は、URL宛先を訪問することが、URL宛先をウェブブラウザに与えることと、URL宛先に対応する選択されたウェブページをロードすることと、選択されたウェブページを記述する能力を向上させるように選択されたウェブページを再構築することとを含むことをさらに含む。
【0015】
本方法は、ウェブページの再構築が、ツリー構造のHTMLに基づいてロードされたウェブページのツリー要素を有するツリー構造を作成することと、ロードされたウェブページのHTML内のツリー要素のラベルを見つけることと、ラベルが付されていないHTMLドキュメント分割要素(<div>)をそれらの子要素に置き換えることと、N個よりも多い子要素を有するツリー要素について、子要素の残りによって「more」要素を作成することとを含むことをさらに含む。
【0016】
本方法は、記述コマンドが、さらに、与えられたウェブ要素の子要素を列挙することと、各子要素についての単純な自然言語参照を生成することと、与えられたウェブ要素についての自然言語参照を生成することと、与えられたウェブ要素参照が自然言語参照の生成されたリストを有することを識別することと、与えられたウェブ要素がURLである場合、必要に応じてウェブページのタイトルを識別することとを含むことをさらに含む。
【0017】
本方法は、2つ以上の隣接する子要素が同じ自然言語参照を有する場合、それらを群参照に置き換えることをさらに含む。
【0018】
本方法は、読み出しコマンドが、さらに、与えられたウェブ要素のテキストを取得することと、与えられたウェブ要素の子要素のそれぞれを読み出すことと、読み出した結果を与えられたウェブ要素のテキストと連結することとを含むことをさらに含む。
【0019】
本方法は、要約コマンドが、さらに、与えられたウェブ要素のテキストを取得することと、テキストを要約することとを含むことをさらに含む。
【0020】
本方法は、クリックコマンドが、さらに、ウェブ要素をクリックするようにウェブブラウザに指示することと、ウェブ要素がリンクである場合にナビゲーション動作を実行することと、ウェブページがどのように変更されたかを説明することとを含むことをさらに含む。
【0021】
システムは、ウェブページを有する複数のウェブサイトを含むコンピュータネットワークと通信するように構成された少なくとも1つのディジタル処理装置、電子記憶装置及び入力/出力装置を有する通信装置をさらに含む。
【図面の簡単な説明】
【0022】
【
図1】
図1は、ウェブブラウジング動作についての自然言語入力を可能とする通信ネットワークである。
【
図2】
図2は、本特許出願の概念を実装するウェブブラウザモジュール構成のハイレベルバージョンを示している。
【
図3】
図3は、本特許出願にかかるシステムについてのユーザの自然言語入力フロー図を提供している。
【
図4】
図4は、本特許出願にかかる自然言語入力の構文解析を示すフロー図である。
【
図5】
図5は、本特許出願にかかるナビゲーション動作を示すフロー図である。
【
図6】
図6は、本特許出願にかかるURLを訪問する動作を示すフロー図である。
【
図7】
図7は、本特許出願の動作にかかるウェブページの再構築を示すフロー図である。
【
図8】
図8は、本特許出願にかかる記載された動作を始めるためのプロセスを示すフロー図である。
【
図9】
図9は、本特許出願による読み出し動作を示すフロー図である。
【
図10】
図10は、本特許出願にかかるクリック動作についてのフロー図を示している。
【発明を実施するための形態】
【0023】
ユーザが自然言語を使用してウェブサイトとのインターフェースを可能とするアップル社のSiri、マイクロソフト社のCortana、Google Now及びアマゾン社のAlexaなどのパーソナルエージェントがある。例えば、Open Table(http://appadvice.com/appnn/2012/12/how-to-make-restaurant-reservations-with-siri)においてレストランの予約を行うためにSiriを使用することができる。しかしながら、これは、特定のウェブサイトにおける特定のコマンドについてのみ有効である。それは、ウェブブラウザがアクセス可能な任意のウェブサイトにアクセスするために自然言語を使用するのを可能としない。さらにまた、アップル社のSiriなどのエージェントは、HTMLをバイパスして基盤となるウェブサービスに直接アクセスすることから、誰かが特定のウェブサイト上で特定の行為に対して自然言語コマンドを接続するために特別なコードを書く場合にのみ動作するように理解される。現在のシステム及び方法の実施形態は、本願明細書において展開されるように、実施形態が特定のウェブサイトのそれぞれのHTMLを利用することから、必要とされる特別なサイト固有コードなしで、ほとんどのウェブサイトについて動作する。
【0024】
視覚障害者が特別なサイト固有コードなしでウェブサイトにアクセスするのを可能とするように理解されるアップル社のVoiceOver、NVDA(http://www.nvaccess.org)、JAWS(http://www.freedomscientific.com/Products/Blindness/JAWS)、Window Eyes(http://www.gwmicro.com/window-eyes/)、及びDolphin(http://yourdolphin.com/product?id=3)などのスクリーンリーダーもある。しかしながら、これらのスクリーンリーダーは、自然言語入力よりもむしろウェブページを移動するためにキーボード入力を使用する。さらにまた、それらは、ユーザが詳細について再帰的に展開することができるウェブサイトのトップレベルの説明を提供せず、また、ユーザがコマンドにおいて自然言語表現を使用してウェブ要素を参照するのを可能としない(例えば、「送信ボタンをクリックする」)。
【0025】
既存のウェブブラウザ又は新たに作成されたウェブブラウザに自然言語インターフェースを提供するように構成された自然言語ウェブブラウザが本願明細書に記載されている。すなわち、ユーザは、入力としてマウス及びキーボード及び出力として電子表示画面を使用する代わりに、入力及び出力として音声(又はテキスト)を使用してウェブブラウザと対話する。自然言語ウェブブラウザの実施形態は、ユーザ質問、ステートメント及び/又はコマンドを動作に変換し、結果として得られたHTMLを読み出し、ユーザに提供するようにHTMLを自然言語記述へと変換する。
【0026】
本特許出願の概念にかかるウェブページの取得及び検索を含むインターネットを介して通信するための電子ネットワークシステム100が示されている
図1を参照する。
【0027】
より詳細には、システム100は、インターネット104と動作可能に通信する複数のスマート電子コンピューティングデバイス102A、102B~102Nを示している。この簡略化された図において、インターネット104は、ウェブページ108などのウェブページを構成して記憶し且つインターネット104を介してスマート電子コンピューティングデバイス102A~102Nに対してデータを通信する要素を含むサーバ装置106に接続する。スマート電子コンピューティングデバイス102A、102B~102Nは、演算部110A、110B~110N、ウェブブラウザ112A、112B~112N及び(例えば、自動音声認識を有する)音声インターフェース114A、114B~114Nを有して構成されるように示されている。スマート電子コンピューティングデバイス102A、102B~102Nは、限定されるものではないが、ワークステーション、ラップトップ、スマートフォン、ポータブルデバイス並びにそれに埋め込まれるコンピューティングインテリジェンスを有する他のデバイスなどの演算能力を有する多数の電子デバイスのいずれかとすることができる。
【0028】
図1の装置はまた、数多くの他の装置のうち、電子ディスプレイを有しても有しなくてもよいサーモスタット、テレビ、自動車、目覚まし時計、ウェアラブルに埋め込まれたスマート電子コンピューティングデバイスを有するモノのインターネット装置の例と考えることもできる。
【0029】
ウェブブラウザ112A、112B~112Nは、質問、ステートメント、コマンドなどの形式とすることができるユーザの自然言語入力を受信するように各音声インターフェース114A、114B~114Nと対話する。音声インターフェース114A、114B~114Nはまた、音声インターフェースが自然言語入力並びにキーボード入力及び他の現在知られている方法の入力を受信することができるため、入力/出力要素と考えることもできる。この音声インターフェースはまた、コンピュータ生成音声出力を生成する方法を含むとともに、必要に応じて視覚的表現のための電子ディスプレイを含む。
【0030】
サーバ106は、ワールド・ワイド・ウェブの一部とすることができる複数のサーバを表す。そのようなサーバは、ウェブページ(例えば、ウェブページ108)の記憶及び適切なプロトコル及びプロセスの使用時にインターネット104を介したこれらのウェブページの転送を可能とする構造及び要素を有する。例えば、ウェブページは、その特定の場所を識別するユニフォーム・リソース・ロケータ(URL)宛先を有する。
【0031】
ウェブページ自体は、様々なバージョンのハイパーテキスト・マークアップ言語(HTML)の使用によって構造化されて形成されることができ、当該技術分野において周知のように、ハイパーテキスト転送プロトコル(HTTP)のバージョンを介して転送されることができる。
【0032】
ウェブページ108などのウェブページは、入力ボックス116、ボタン118によって表されるものなどのボタン(例えば、開始ボタン、停止ボタン、進むボタン、戻るボタンなど)、テキスト122、画像又は写真124並びに動画126を含むがこれに限定されない他のメディアを含むことができるコンテンツ120を含むことができる。これは、ウェブページ上の要素の単なる表現であり、本特許出願に関して限定することを意図するものではないことが理解されるべきである。HTMLにおいて構造化されたウェブページは階層的構造を有し、そのようなページは、とりわけヘッダセクション、ボディセクション及びフッタセクションなどのラベル付きセクションに分割されることが言及される。本説明は、主にHTMLによって形成されたウェブページについて記載するが、これは限定されるものではなく、本発明の概念は他の形式にも適用することができることが理解される。特に、その一部であるアプリケーションの外部からアクセス可能なドキュメントオブジェクトモデルを提供する任意のユーザインターフェース(UI)に適用することができる。
【0033】
図2は、本特許出願にかかるウェブブラウザ200のハイレベルモジュール概念を示している。
【0034】
ウェブブラウザの主な態様は、サーバからこのリソースを要求してそれをブラウザウィンドウに表示することにより、ユーザによって選択されたウェブリソース(例えば、ウェブページ)を提示することである。これは、一般にHTML文書である。しかしながら、PDF又は他の種類の形式のコンテンツを含む異なる形式が取得されることができる。また、
図1に関連して上述したように、リソース(例えば、ウェブページ)は、URL、又はより一般にはユニフォーム・リソース・アイデンティファイヤ(URI)を使用して配置される。ウェブブラウザ200のモジュールのうちユーザインターフェース202が含まれるより具体的には
図2に注目する。既存のシステムにおいて、ユーザインターフェースは、ユーザとウェブブラウザとの間の対話を可能とする構成である。インターフェースについての既存の種類の入力機能は、ユーザが情報を入力することができるアドレスバー、前後ボタン、リフレッシュボタン、停止ボタン及び他のオプションを含む。これに加えて、本特許出願の特定の実施形態において、ユーザインターフェースは、
図1において上述したように、ユーザが自然言語入力スタイルにおいて話すのを可能とする音声インターフェースを有し、システムは、特定の実施形態においては視覚的ディスプレイを含む結果を、他の実施形態においてはユーザと対話するためにコンピュータ生成音声を出力する方法を含む。
【0035】
ブラウザエンジン204は、ユーザインターフェースからの入力をレンダリングエンジン206に通信するのを可能とする。ブラウザエンジンは、ユーザからの入力にしたがってレンダリングエンジンを照会及び操作する責を負う。レンダリングエンジン206は、要求されたコンテンツを電子ディスプレイ上に表示する及び/又はコンピュータ生成音声応答を出力する責を負う。それは、一般に、HTMLタグを構文解析した後にレンダリングツリーを構築し、画面に表示される及び/又はコンピュータ生成音声でユーザに話されることができるものを特定するレンダリングされたレイアウトを最終的に構築するエンジンである。
【0036】
さらなるモジュールは、例えばサーバへのHTTPリクエストの送信など、様々なネットワークコールが送信されるネットワーキングモジュール208である。特定のウェブブラウザにおいて、ウェブページにおいて提示されるJava(登録商標)スクリプトコードを解釈するためにJava(登録商標)スクリプトインタープリターモジュール210が使用される。とりわけボックスやウィンドウなどの基本ウィジェットを描画するためにUI(ユーザインターフェース)バックエンドモジュール212が使用される。最後に、データ記憶モジュール214は、スマート電子コンピューティングデバイスのローカルドライブ上に作成された小さなデータベースである持続層である。このデータベースは、キャッシュ、クッキーなどの様々なファイルを記憶することができる。
【0037】
図3を参照すると、自然言語入力にしたがって動作するように構成された少なくとも1つのウェブブラウザ(及び1つの実施形態において口頭命令を入力し且つコンピュータ化音声を出力する方法を提供する入力及び出力要素を有するコンピューティングデバイス)を含むシステム及びプロセス300の概要が示されている。一般に、
図3のシステム及び/又はプロセスは、
図1及び
図2に示されるような構成内で達成されることができる。
【0038】
図3における開始動作に続いて、ウェブブラウザは、自然言語インターフェースを介してユーザによって生成された自然言語入力を受け付ける(302)。自然言語インターフェースは、音声インターフェース又はチャットインターフェースとすることができる。ウェブブラウザは、多数のウェブページを有する複数のウェブサイトを含むインターネットなどのコンピュータネットワークをブラウズするように構成されている。受け付けられると、自然言語入力は、質問、ステートメント及びコマンドのうちの少なくとも1つに構文解析される(304)。
【0039】
1つの実施形態において、構文解析動作に続いて、プロセスは、質問文に到達して自然言語入力が曖昧であるかどうかを判定する(306)。自然言語が曖昧でないと判定された場合、プロセスは、ステップ308へと移動し(いいえ)、ウェブブラウザは、判定されて構文解析された自然言語入力にしたがって動作される。ウェブブラウザの動作は、ナビゲーションコマンド、読み出しコマンド、要約コマンド、クリックコマンド、入力コマンド、ファインドコマンド及び/又は検索コマンドのうちの少なくとも1つを実行することを含む。その後、プロセスは、システムがどの動作を行ったかをユーザに伝える/通知するようにシステムに指示することができる(310)。次に、システムは、自然言語入力のフォーカスが変化したかどうかをユーザに伝える/通知する(312)。最後に、プロセスは、コンピュータ生成音声出力の形式とすることができ又はテキストの形式とすることができる自然言語の結果をユーザに返すようにシステムに指示する(314)。
【0040】
標準的な既存のウェブブラウザにおける「フォーカス」の概念は、ユーザが入力を開始したときに文字が配置される例えばテキストボックスなどの関連するウェブページ上の場所に向けられる。通常、この場所を識別するために点滅文字又は他の要素がある。
【0041】
本特許出願において、「フォーカス」は上記理解を含むが、この理解に限定されるものではない。むしろ、本願明細書におけるフォーカスは、ウェブページの他の領域のうち、ウェブページボタン上、テキスト又はセクションの一部上とすることができる。したがって、本特許出願において、「フォーカス」は、拡張された使用を有する。
【0042】
処理ステップ306に戻り、自然言語入力が曖昧であるか否かを判定した結果が肯定的(はい)である場合、システムは、自然言語入力によって意図されたものをユーザに問い合わせるクエリを生成する(316)。この時点で、ユーザは、クエリに応答して提供されたものと同じ又は概念的に類似した自然言語入力を入力する(318)。概念的に類似した自然言語入力は、システムによって提供される1つ以上のオプションの受諾、選択又は拒否を含むことができる。この時点で、プロセスは、ステップ306に戻り、現在存在する自然言語入力が曖昧であるか否かを再度問い合わせる。結果が依然として曖昧である場合、プロセスは、上述したステップ306、316、318のループを継続する。一方、曖昧性が除去されると、プロセスは、ステップ308~314に移動し、同じ又は概念的に類似した自然言語入力が処理される。他の設計において、上述したループはまた、X回問い合わせるように設計されてもよく、その回数が満たされたときに、プロセスは、判定された最も可能性の高い意味を使用し、プロセスを前進させる。
【0043】
図3のフローチャート300は、ステップ306、316及び318がオプションであるように動作することができることもまた理解されるべきである。特に、特定の実施形態において、プロセスは、自然言語入力が曖昧であるかどうかを確認するためにテストする必要はない。むしろ、プロセスは、ステップ304からステップ305へと直接移動した後に破線によって示されるようにステップ308に直接移動することができる。この実施形態において、プロセスは、ユーザに追加の問い合わせを行うことなく、自然言語入力の最も可能性のある解釈を選択する。この動作は、例えば自然言語パーサを使用してユーザ入力と一致するテストを使用して潜在的な意味を評価する。プロセスは、最高の評価結果を選択して前進する。
【0044】
この状況において、プロセスは、自然言語入力の意味の最良の推定又は解釈を行い、そして、ユーザからの追加の明確化を要求又は問い合わせすることなく、最良の推定された意味を使用してステップ308~314へと前進する。
【0045】
全体的なプロセスが記載されたので、ステップ302の構文解析がフローチャート400によって
図4においてさらに詳細に記載される。具体的には、プロセスの開始に続いて、現在のウェブブラウジングセッションにおいてユーザに特定/言及されている現在のウェブページにおけるウェブ要素(例えば、「ヘッダセクション」、「第1のセクション」、「その他セクション」)が列挙される(402)。そして、プロセスは、列挙された各ウェブ要素について潜在的自然言語参照を生成する(404)。その後、潜在的自然言語参照が列挙されると、プロセスは、自然言語(又は概念的に類似した自然言語)入力のセグメントと生成された潜在的参照との間の最良一致を見つける(406)。次に、プロセスは、自然言語(又は概念的に類似した自然言語)入力のセグメントと既知又は入力された質問、ステートメント及び/又はコマンド種類との間の最良一致を見つける(408)。その後、見つけるステップの複数の最良一致が可能であることを見出した場合、
図3と関連して記載したように曖昧性判定が形成される(410)。しかしながら、ステップ410は、システムが
図3に関連して記載されたようにユーザによるさらなる明確化を要求することなく最良の可能性のある一致を受け付けている場合には任意であることが理解されるべきである。上述した「最良一致」は、1つの実施形態においては、格付けアルゴリズムの使用によって見出すことができる。
【0046】
潜在的参照は、新たなウェブ要素を可能とするように新たなユーザ入力が提供されるたびに再生成されることに留意されたい。
【0047】
記載された構文解析にさらに注目すると、ユーザの入力を解釈する他の可能な方法がある。1つの方法は、ユーザが発言したものの意味表現へとユーザの入力を構文解析し、会話の現在状態に基づいて意味表現を論理的に解釈しようとすることです。そうである場合、ユーザが「第1のセクションに移動」と発言した場合、これは、GoTo(第1の(セクション))と解釈される。そして、プロセスは、第1の(セクション)が現在の文脈において何を意味するのかを判定するように動作した後、そのセクション(例えば、Section_143)に移行する。他の方法は、深層学習などの周知の技術を使用してユーザ入力から意味表現へとマッピングするために機械学習を使用することである。いくつかの実施形態において、ユーザの入力を解釈するための好ましい実装は上述したものである:予め計算されたコマンド及びウェブ要素の記述に対してユーザの入力の一部と一致するようにファジーマッチングを使用すること。そうである場合、ユーザが「第1のセクションに移動する」と発言した場合には、プロセスは、可能なウェブ要素記述のリストにおいて「第1のセクション」を探し、それが最良一致したSection_143であると見出す。そして、「<セクション>に移動する」を探し、これがGoToコマンドと最良一致したことを発見する。これは、GoTo(Section_143)を生成する。1つの実施形態において、ファジーマッチングは、どのくらい多くの語がユーザの入力と予め計算された記述との間において重複しているのか、語の重要性、及び、どのように語がユーザの入力と予め計算された記述との間において並べ替えられるのかなどの様々な要因に基づいて一致をスコアリングする。
【0048】
曖昧性を引き起こす複数の最良一致を見つける問題を参照すると(
図3及び
図4を参照)、この曖昧性は、(i)自然言語入力のセグメントと生成された潜在的参照との間の最良一致を見つけた場合、並びに、プロセスが(ii)自然言語入力のセグメントと既知の質問、ステートメント及びコマンド種類との間において最良一致を見つけた場合、複数の単一の最良一致がある場合に見出すことができる。そのため、(i)の状況の例として、ユーザが「ボタンをクリックする」と入力し、識別された2つのボタンがあると想定する。本自然言語ウェブブラウザは、戻ってきて「「X」ボタン又は「Y」ボタンを意味したか?」と問い合わせる。他の可能性は、ユーザからのコマンドが「プッシュ」ボタンである場合である。「プッシュ」が意味するものが完全に識別されていない場合、システムは、それを「クリック」操作として識別することができ、システムの動作は前進する。
【0049】
図5を参照すると、
図3のステップ308に関連して記載されたナビゲーション概念に拡張するナビゲーションプロセスであるフロー
図500が提供される。この実施形態において、ナビゲーションコマンド(例えば、「WWW.AMAZON.COMに移動する」、「ヘッダセクションに移動する」など)が記述されている。ステップ502において、開始動作に続いて、宛先がURLアドレスである場合、ウェブブラウザは、言及されたURLを訪問するように指示される(例えば、VisitURLコマンド)。この時点で、プロセスは、URL宛先アドレス504であるようにシステムの動作のフォーカスを設定し、その後、記述コマンドがユーザに対してフォーカスを記述するように実施される(506)。
【0050】
図6を参照すると、「VisitURL」動作のより詳細な説明がフローチャート600に示されており、開始動作に続いて、URL宛先がウェブブラウザに与えられ(602)、次のステップにおいて、システムは、ロードを終了するためにURL宛先に対応するウェブページを待機する(604)。その後、プロセスは、セクションを平坦化するようにURL宛先であるウェブページを再構築するように動作し、それにより、選択されたウェブページを記述する能力を向上させる(606)。セクションの平坦化は、文脈の選択、不要な構造などの除去を指し、レイアウト及びページ構造を単純化する最小限のアプローチにフォーカスされることが理解される。
【0051】
次に、ウェブページの再構築についてのプロセスが
図6のステップ606と関連して記載されたこの概念を拡張するフロー
図700として
図7に示されている。開始動作の後、プロセスは、ウェブページHTMLツリー構造に基づいて、ロードされたウェブページについてのツリー要素を有するツリー構造を作成する(702)。そして、ラベルは、HTMLとテキスト関連付けられたテキストを有するウェブ要素について見出される(704)。そして、プロセスは、それらの子要素とラベルが付されていない文書分割要素(<div>)を置き換える(706)。その後、ツリー要素がN個の子要素よりも多くを有する場合、システムは、子要素の残りによって「多くの」要素を作成する(708)。
図7において、数Nは、与えられたユーザの多くの情報とユーザを圧倒する情報との間のトレードオフである。音声動作の場合、Nは、3から5の間であってもよい。チャットインターフェースについて、Nは、5から10の間であってもよい。
【0052】
本議論の実施形態に関して、概念は、ウェブページ要素を記述するために使用可能なHTMLにおいて自然言語ラベルを見出すことである。これを行うために、タイトル及びARIAラベルなどのHTMLにおける特殊な属性が検索される(ARIAは、障害を有する人々がウェブアプリケーションにアクセスしやすくするためのウェブ標準である)。ページ要素がボタン又はリンクである場合、ページ要素のテキストは、ラベルとして使用される。いくつかの実施形態において、ラベルは、ウェブ要素の種類によって決定される。例えば、ウェブ要素がヘッダ又はフッタなどのHTML5セマンティック要素である場合、「ヘッダ」又は「フッタ」は、ラベルとして使用される。ウェブ要素がナビゲーションのARIAロールを有する場合、ARIAロールは、ラベルとして使用される。ウェブ要素が「main」などの特別なIDを有する場合、それはラベルとして使用される。ARIAロールの「ロール」は属性であり、それが有することができる値は、問題の要素の目的に関する情報(それはナビゲーションか?メインデータか?又は正接コンテンツか?)を提供することに留意されたい。支援技術は、メインコンテンツに直接ジャンプして文書の主なナビゲーションを直ちに検出するなどのためにこの情報を使用することができる。
【0053】
ウェブページの再構築にさらに注意を払うと、特定の実施形態において、セクションにラベルが付されておらず、「第1の要素」が短いテキスト要素(例えば、20文字未満)であり、第2の要素が短いテキスト要素でない場合、第1の要素は、セクションのラベルとして使用される。ヘッダ要素(例、<h1>)に非ヘッダ要素及びより高次を有するヘッダ要素(例えば、<h2>、<h3>)の混合が続く場合、プロセスは、そのラベルとしての第1のヘッダ要素及びその子要素としての残りの要素を有するセクションを作成する。
【0054】
ここで
図8を参照すると、例えば
図3と関連して記載された「記述」プロセスを採用するために使用されるフローチャート800が提供される。このプロセスの開始動作に続いて、再構築されたHTMLツリーにおける与えられたウェブ要素の子要素が列挙される(802)。その後、各子要素についての単純な自然言語参照がシステムによって生成される(804)。そして、2つ以上の隣接する子要素が同じ自然言語参照を有すると判定された場合、プロセスは、ウェブ要素参照とこれらの子要素を置き換える(806)。その後、プロセスは、与えられたウェブ要素についての自然言語参照を生成し(808)、そして、システムは、与えられたウェブ要素自然言語参照が自然言語参照の生成されたリストを有することを識別又は発言する(810)。最後に、与えられたウェブ要素がURLである場合、ウェブページは、タイトルを公表又は言及する(例えば、「タイトルページ」)(812)。
【0055】
ステップ806は、3つ以上の隣接する子要素が存在しない状況において、生成される群参照が存在しない点で、任意の動作であることが理解されるべきである。
【0056】
図9を参照すると、
図3において上述した読み出しコマンドについてのプロセスを記述する読み出しフローチャート900が示されている。プロセスの開始に続いて、プロセスは、上記与えられた記述コマンドを再帰的に使用して現在のウェブ要素を記述する(902)。それがそれに関連付けられたテキストを有するウェブ要素に遭遇した場合、それは記述におけるテキストを含む(904)。出力は、結果として得られた記述である(906)。
【0057】
図10を参照すると、
図3のステップ308に関連して上述したクリックコマンドについてのプロセスを示すフローチャート1000が示されている。具体的には、プロセスの開始に続いて、ウェブブラウザは、ウェブ要素上でクリックするように指示される(1002)。これは、ユーザによって供給される自然言語入力によって発生する。その後、ウェブ要素がリンクである場合、プロセスは、上述したようなナビゲーション動作を実行するプロセスによって判定される(すなわち、VisitURL)(1004)。最後に、そうでなければ、プロセスは、どのようにウェブページが変更されたかをシステムがユーザに対して識別/記述することを有する(1006)。
【0058】
年代順に、記載された自然言語ウェブブラウザのプロセスは、(i)ウェブページを再構築し、(ii)再構築されたウェブページに記述を与え、(iii)記述に対するユーザの入力を一致させ、及び(iv)ウェブページからユーザに追加情報を提供するように動作する。これらのステップは、ユーザが求められている情報を受信するまで繰り返される。
【0059】
自然言語ウェブブラウザの動作を記載してきたが、それらの動作が実施されることができる方法の例が以下に記載される。
【0060】
例:
ユーザは、「www.uspto.govに移動する」と発言する。
【0061】
システムは、これをURL「www.uspto.gov」を有するVisitURLコマンドに構文解析する。
【0062】
システムは、www.uspto.govに移動するようにウェブブラウザに指示する。
【0063】
システムは、結果として得られたHTMLをツリー構造に変換し、そのトップレベルは、再構築後に以下のようなものにみえる。
<body title=“米国特許商標庁”>
<a href=“#main”>メインコンテンツにジャンプ</a>
<header>…</header>
<div id=“メイン”>
<div title=“プロセスについての学習”></div>
<div title=“ニュース及び更新”>…</div>
<div title=“手数料及び支払い”>
<a href=“http://www.uspto.gov/learning-and-resources/fees-and-payment”>手数料及び支払い</a>
<p>手数料の支払い並びに出願手数料及び他の支払いについての詳細の学習。</p>
</div>
<div title=“特許及び商標の取り組み”>…</div>
<div title=“より深い理解”>…</div>
</div>
<footer>…</footer>
</body>
【0064】
システムは、このツリーにおける最上位ノードにフォーカスを設定する。
【0065】
システムは、フォーカス及びその子要素のそれぞれについての参照を含む現在のフォーカスの記述を作成する。
【0066】
参照は、各要素の種類、タイトル及びテキストに基づいている。
【0067】
システムは、ユーザに以下を返す:
>あなたはwww.uspto.govにいる。
>www.uspto.govのタイトルは、米国特許商標庁である。
>www.uspto.govは、「メインコンテンツにジャンプ」リンク、ヘッダセクション、メインセクション及びフッタセクションを有する。
【0068】
ユーザは、「メインセクションに移動する」と発言する。
【0069】
システムは、このセッションにおいて言及されている現在のウェブページにおけるウェブ要素を列挙する。以下の5つがある:URL、「メインコンテンツにジャンプ」リンク、ヘッダセクション、メインセクション及びフッタセクション。
【0070】
システムは、言及したウェブ要素のそれぞれについての複数の自然言語参照を生成する。例えば、それは、「メインセクション」、「第1のセクション」及びメインセクションについての可能な自然言語参照としての「セクション」を生成する。
【0071】
そして、システムは、生成された参照における「メインセクション」と自然言語入力における「メインセクション」を一致させる。
【0072】
それゆえに、システムは、ユーザの入力を、その引数としてメインセクションを有するGOTOコマンドへと構文解析する。
【0073】
システムは、メインセクションにフォーカスを設定する。
【0074】
システムは、現在のフォーカスの記述を作成する。
【0075】
システムは、ユーザに以下を返す:
>あなたはメインセクションにいる。
>メインセクションは、プロセスについての学習セクション、ニュース及び更新セクション、手数料及び支払いセクション、特許及び商標の取り組みセクション並びにより深い理解セクションを有する。
【0076】
ユーザは、「第3のセクションに移動する」と発言する。
【0077】
システムは、このセッションにおいて言及されている現在のウェブページにおけるウェブ要素を列挙する。
【0078】
システムは、それぞれ上述したウェブ要素についての複数の参照を生成する。例えば、それは、「手数料及び支払いセクション」、「第3のセクション」及びメインセクションについての可能な参照としての「セクション」を生成する(それは、直近の順番における要素についての「セクション」又は「第3のセクション」のような短い参照のみを生成する)。
【0079】
システムは、手数料及び支払いセクションの「第3のセクション」とユーザの入力における「第3のセクション」と一致させる。
【0080】
それゆえに、システムは、ユーザの入力を、その引数として手数料及び支払いセクションを有するGOTOコマンドへと構文解析する。
【0081】
システムは、手数料及び支払いセクションにフォーカスを設定する。
【0082】
システムは、ユーザに以下の記述を返す:
>あなたは手数料及び支払いセクションにいる。
>手数料及び支払いセクションは、「手数料及び支払い」リンク及びパラグラフを有する。
【0083】
ユーザは、「パラグラフを読む」と発言する。
【0084】
システムは、ユーザの入力を、その引数としてパラグラフを有する読み出しコマンドへと構文解析する。
【0085】
システムは、ユーザに以下を返す:
>手数料及び支払いセクションにおけるパラグラフは以下を述べている:手数料の支払い並びに出願手数料及び他の支払いについての詳細の学習。
>あなたは手数料及び支払いセクションにおけるパラグラフにいる。
【0086】
ユーザは、「リンクをクリックする」と発言する。
【0087】
システムは、ユーザの入力を、その引数として手数料及び支払いリンクを有するクリックコマンドへと構文解析する。
【0088】
システムは、www.uspto.gov/learning-and-resources/fees-and-paymentに移動するようにウェブブラウザに指示する。
【0089】
システムは、結果として得られたHTMLを再構築されたツリー構造へと変換する。
【0090】
システムは、再構築されたツリー構造の最上位ノードにフォーカスを設定する。
【0091】
システムは、現在のフォーカスの記述を作成する。
【0092】
システムは、ユーザに以下を返す:
>私は「手数料及び支払い」リンクをクリックした。
>あなたはwww.uspto.gov/learning-and-resources/fees-and-paymentにいる。
>www.uspto.gov/learning-and-resources/fees-and-paymentのタイトルは、手数料及び支払い|USPTOである。
>www.uspto.gov/learning-and-resources/fees-and-paymentは、「メインコンテンツにジャンプ」リンク、ヘッダセクション、メインセクション及びフッタセクションを有する。
【0093】
本特許出願をさらに記載するために、ユーザが利用可能なコマンドリストが以下に提供される。
次(next):現在のページ要素の後にページ要素に移動する。
下(down):現在のページ要素の第1の娘に移動する。
上(up):現在のページ要素の親に移動する。
戻る(back):訪問した最後のページ要素に移動する。
ページ要素に移動(go to PageElement):名称が付されたページ要素に移動する。
要素種類を見つける(find ElementType):与えられた種類の次のページ要素を見つける。
語を見つける(find Words):与えられた語を含む次のページ要素を見つける。
語を検索する(search for Words):ページの検索フォームを使用した与えられた語の検索。
ページ要素を記述する(describe PageElement):名称が付されたページ要素のトップレベルを記述する。
全てのページ要素を記述する(describe all PageElement):名称が付されたページ要素の全てを記述する。
ページ要素を読む(read PageElement):名称が付されたページ要素のテキストを読む。
ページ要素を要約する(summarize PageElement):名称が付されたページ要素のテキストを要約する。
ページ要素をクリックする(click PageElement):名称が付されたボタンをクリックする。
語を入力する(type Words):現在の入力ボックスに与えられた語を入力する。
ページ要素を送信する(submit PageElement):与えられたフォームを送信する。
「PageElement」は、ページ上の要素についての記述子である。
(例えば、ヘッダセクション、第1のリンク、ボタン)
「ElementType」は、ページ要素の種類の名称である。
(例えば、ボタン、フォーム、入力ボックス、ラベル、リンク、リスト、メニュー、セクション、パラグラフ)
「Words」は、1つ以上の語である。
【0094】
上(up)、下(down)、次(next)及び戻る(back)を使用した例:
ユーザ:www.uspto.govに移動する。
システム:あなたはwww.uspto.govにいる。
www.uspto.govのタイトルは、米国特許商標庁である。
www.uspto.govは、「メインコンテンツにジャンプ」リンク、ヘッダセクション、メインセクション及びフッタセクションを有する。
ユーザ:下(down)
システム:あなたは「メインコンテンツにジャンプ」リンクにいる。
ユーザ:次(next)
システム:あなたはヘッダセクションにいる。
ヘッダセクションは、「米国特許商標庁-商務省の機関」リンク、メニュー、ナビゲーションセクション及び2つのリストを有する。
ユーザ:次(next)
システム:あなたはメインセクションにいる。
メインセクションは、プロセスについての学習セクション、ニュース及び更新セクション、手数料及び支払いセクション、特許及び商標の取り組みセクション並びにより深い理解セクションを有する。
ユーザ:戻る(back)
システム:あなたはヘッダセクションにいる。
ユーザ:上(up)
システム:あなたはwww.uspto.govにいる。
ユーザ:支払いを見つける。
システム:あなたは手数料及び支払いセクションにいる。
手数料及び支払いセクションは、「手数料及び支払い」リンク及びパラグラフを有する。
【0095】
以上から、記載された自然言語ウェブブラウザは、ユーザが会話式に対話するのを可能とする。一般的なウェブページによる以下の対話を考える。
【0096】
ユーザ:radar.oreilly.comに移動する。
【0097】
システム:私は、上部にわたってナビゲーションバーを、その下方にカテゴリのリストを確認し、本体は記事のリストである。また、右側には、特集動画へのリンク、特集ダウンロード及び最近話題のアイテムがある。
【0098】
ユーザ:特集動画は何?
【0099】
システム:特集動画は、「O‘Reillyのラーニングパスは、プログラミング言語を学習し、新たなスキルを開発し、又は完全に新たな何かを始めているかにかかわらず、あなたが行きたい場所を得るのを助ける」である。語「ラーニングパス」についてのリンクがある。
【0100】
ユーザ:第1の記事に移動する。
【0101】
システム:了解。第1の記事は、「連続部分雇用の世界」と題されている。画像、そして記事のテキストがある。あなたは記事を読んで欲しいか又はそれを要約して欲しいか?
【0102】
上述した開示を考慮すると、プロセスが選択されたウェブページに到達したときに、ページ全体が最初にユーザに記述されていないことが理解されるべきである。むしろ、プロセスは、ユーザハイレベル情報を与える(ヘッダセクション、メインセクション、第1のセクション、第2のセクションなどがあるなど)。そして、自然言語入力を介して、ユーザは、特定のセクションに関する詳細な情報を提供するようにウェブブラウザに問い合わせるウェブブラウザと対話する。例えば、ユーザは、「第2のセクションに関して詳しく伝えて欲しい」と入力することができ、特定のウェブページの第2のセクションにユーザをもたらす。ユーザが第2のセクション内にいると、追加的なユーザ入力は、より多くの情報を取得し、そのため、最終的にウェブページに関してウェブブラウザを照会することにより、ユーザは、ますます多くの情報にさらされる。
【0103】
トップレベル記述は、常にヘッダ、メイン及びフッタセクションではなく、ページ設定に依存する。一部のページは、ヘッダ及びフッタを有しておらず、そのため、プロセスは、ウェブページ上で利用可能なものによって動作する。これは、ウェブブラウザによって自動的に行われる。
【0104】
HTML5は、何かが検索機能、ヘッダ機能又は他の項目であるかどうかを定義する特定のヘッダセクションを有する。そのため、特定の実施形態において、HTMLから各セクションに付随される意味が有利に使用される。
【0105】
本特許出願の特定の態様は、ユーザがURL宛先を入力し、システムがそのURLにおけるウェブページにユーザをもたらすことである。したがって、1つの実施形態において、検索エンジン(例えば、グーグル、ヤフー、ビング又は他の検索エンジン)における検索を引き受けるためである。ユーザは、例えば、「Google.comに移動する」又は任意の他の検索エンジンと発言することができる。これが達成された場合、ユーザは、検索エンジンのランディングページにいる。ユーザは、検索を入力する(例えば、「自動車ディーラーを検索」と発言する)。この時点で、本システムは、そのフレーズを入力するために検索エンジンの検索ボックスを見つけるであろう。そして、ユーザは、移動するか又は検索ボタンをアクティブにすることができ、その後、検索が行われるであろう。検索結果が返されると、システムは、「ヘッダ、メインセクション及びフッタセクションがある」と発言する。メインセクションに移動するようにプロセスに指示すると、項目のリストをもたらす(例えば、検索結果がグーグル検索によって返される)。そして、システムは、(自動車ディーラーウェブサイトへのリンクがある場合)結果を読み始めるように発言することができる。その時点で、ユーザは、その後、自動車ディーラーサイトにおいてより多くの情報を取得するように掘り下げることができる。
【0106】
ウェブブラウザが本概念にしたがってゼロから構築される実施形態において、完全な機能を有するウェブブラウザは取得されないことがある(例えば、それは、マルチ検索エンジン機能、ブックマーク又はタブを有しないことがある)。しかしながら、それらの機能は追加されることができる。また、本特許出願の概念が既存のウェブブラウザに組み込まれる場合、そのような完全な機能は存在し、それらへの自然言語インターフェースが追加されることができる。
【0107】
この時点まで、ウェブブラウザは、訪問されたウェブサイトのいずれの専門的な知識がなくても動作する。それはウェブサイトによって生成されるHTMLに依存するのみである。しかしながら、他の実施形態において、自然言語インターフェースは、訪問されたウェブサイトについて知っていることを追加してもよい。例えば、www.uspto.govを訪問する場合、本開示は、いくつかの情報をユーザに問い合わせて正しいウェブページにユーザをもたらすことによって「私の特許出願の現在のステータスは何?」を扱うことができる。
【0108】
上記において、問い合わせの処理は、一般にウェブブラウザ自体の一部として処理されるように記載されているが、他の実施形態においては、ユーザ入力の処理が外部サーバへの入力を転送することによって達成され且つ結果がシステムに返されることも理解されるべきである。
【0109】
同様に特定の実施形態の概要として、自然言語(会話)ウェブブラウザは、ユーザからチャット入力及び/又は音声入力を受信し、応答としてチャット出力又は音声出力を生成する。ユーザが第1のウェブページを訪問すると、自然言語ウェブブラウザは、ユーザにとっての部分的な記述を判定するためにウェブページの構造を分析する。そして、ユーザは、部分的記述に基づいてウェブページに関するより多くの情報を問い合わせることができ、自然言語ウェブブラウザは、より詳細な情報を提供する。ユーザは、この新たな記述に関するより多くの情報の問い合わせなどをすることができる。ユーザはまた、テキストを入力し、ボタンをクリックし、他のウェブページへのリンクをたどることができる。それゆえに、インターフェースを有する自然言語ウェブブラウザは、ユーザがより多くの情報を問い合わせる際に拡張されることができるウェブページの部分的記述を提供するように構成されている。これは、ウェブページ構造に基づいて短くて有益な記述を決定し、また、ユーザがそれらの入力に基づいてより多くの情報を望む記述のどの部分を把握することを含む。
【0110】
本開示において、システムは、セッション全体について各ページに記載されているウェブ要素を覚えていることに留意すべきである。ウェブ要素が参照を決定して与えられると、ユーザは、ウェブページがフォーカスされている全体時間においてそれらを参照することができる。これは、ウェブページのコンテンツの非線形表現を可能とする。また、リンクをたどること、前のページに戻ることを含むことができ、それゆえに前のコンテキストを復元することができる。もちろん、ユーザは、再度構文解析された要素を問い合わせることができるが、ページを覚えている場合、そのページにおいて対話をまさに再開することができる。
【0111】
本開示の態様は、盲人がウェブページにアクセスするのを容易とすることを含む。それは自由に手を必要とする人々が他の目的のためにウェブを使用するのを可能とする。(時計などの)非常に小さいか又は存在しない画面によってチャットインターフェース及びデバイスからウェブページにアクセスすることが可能となる。最後に、ウェブサイトは、音声及び/又はチャットインターフェースによってアクセスされる特別なものを行う必要がないことを意味する。
【手続補正書】
【提出日】2022-06-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自然言語ウェブブラウジング方法において、
ウェブページを有する複数のウェブサイトを含むコンピュータネットワークをブラウズするように構成されたウェブブラウザによって第1の自然言語入力を受け付けることと、
質問、ステートメント及びコマンドのうちの少なくとも1つへと前記第1の自然言語入力を構文解析することと、
第1のナビゲーションコマンド、第1の読み出しコマンド、第1の要約コマンド、第1の記述コマンド、第1のクリックコマンド、第1の入力コマンド、第1のファインドコマンド及び第1の検索コマンドのうちの1つを含む前記第1の構文解析された自然言語入力にしたがってウェブブラウザを動作させることと、
少なくともディジタル処理装置の使用によって達成される前記第1の自然言語ウェブブラウジングの少なくとも1つの結果を返すことと、
前記第1の自然言語ウェブブラウジングの前記少なくとも1つの結果のうちの1つに対応する第2の自然言語入力を前記ウェブブラウザによって受け付けることと、
質問、ステートメント及びコマンドのうちの少なくとも1つへと前記第2の自然言語入力を構文解析することと、
第2のナビゲーションコマンド、第2の読み出しコマンド、第2の要約コマンド、第2の記述コマンド、第2のクリックコマンド、第2の入力コマンド、第2のファインドコマンド及び第2の検索コマンドのうちの1つを含む前記第2の構文解析された自然言語入力にしたがってウェブブラウザを動作させることと、
少なくともディジタル処理装置の使用によって達成される前記第2の自然言語ウェブブラウジングの少なくとも1つの結果を返すことと
を含む方法。
【請求項2】
前記第1の自然言語入力が曖昧であると判定することと、
前記第1の自然言語入力が曖昧であるとの前記判定に応答して、
前記第1の自然言語入力が何を意味するかを問い合わせるクエリを生成することと、
以前に受け付けた第1の自然言語入力と同じ又は概念的に類似した自然言語入力を前記ウェブブラウザによって受け付け、前記同じ又は概念的に類似した自然言語入力を、前記同じ又は概念的に類似した自然言語入力の質問、ステートメント及びコマンドのうちの少なくとも1つへと構文解析することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記自然言語ウェブブラウジング中に発生した前記ウェブブラウザの動作に関する情報を提供することをさらに含む、請求項1に記載の方法。
【請求項4】
前記ウェブブラウジングの現在のフォーカスが変化したとの判定に応答して情報を提供することをさらに含む、請求項3に記載の方法。
【請求項5】
ワールド・ワイド・ウェブ上のウェブサイトへのアクセスを制限することなく、前記第1の構文解析された自然言語入力及び前記同じ又は概念的に類似した自然言語入力のうちの少なくとも1つにしたがって前記ウェブブラウザを動作させることを含む、請求項2に記載の方法。
【請求項6】
前記動作させることが、予め設定された数のウェブサイトに対して前記方法によって制限されていないワールド・ワイド・ウェブ上の特定のウェブページに直接ナビゲートすることを含む、請求項5に記載の方法。
【請求項7】
前記構文解析することが、
現在のウェブブラウジングセッションにおいて特定された現在のウェブページのウェブ要素を列挙することと、
列挙された各ウェブ要素の潜在的参照を生成することと、
前記第1の自然言語入力のセグメントと前記生成された潜在的参照との間の最良一致を見つけることと、
前記第1の自然言語入力の前記セグメントと、既知の質問、ステートメント及びコマンド種類との間の最良一致を見つけることと、
前記見つけるステップの複数の最良一致段階が可能であるとの判定に応答して曖昧性を作成することと
を含む請求項1に記載の方法。
【請求項8】
前記列挙されたウェブ要素が、ヘッダセクション、第1のセクション及び第2のセクションのうちの少なくとも1つを含み、
前記第1の自然言語入力は、電子ディスプレイを有していないデバイスから受信される、請求項7に記載の方法。
【請求項9】
前記ナビゲーションコマンドが、
前記ナビゲーションコマンドの宛先がユニフォーム・リソース・ロケータ(URL)宛先である場合、URLによって名称が付された宛先を訪問するように前記ウェブブラウザに指示し、
前記URL宛先にフォーカスを設定し、
ユーザに前記フォーカスを記述すること
によって行われる、請求項1に記載の方法。
【請求項10】
前記URL宛先を訪問することが、
前記URL宛先を前記ウェブブラウザに与えることと、
前記URL宛先に対応する選択されたウェブページをロードすることと、
前記選択されたウェブページを記述する能力を向上させるように前記選択されたウェブページを再構築することと
を含む、請求項9に記載の方法。
【請求項11】
前記選択されたウェブページを再構築することが、
ツリー構造のHTMLに基づいて前記ロードされたウェブページのツリー要素を有する前記ツリー構造を作成することと、
前記ロードされたウェブページの前記HTML内のツリー要素のラベルを見つけることと、
少なくとも1つのラベルが付されていないHTMLドキュメント分割要素を前記少なくとも1つのラベルが付されていないHTMLドキュメント分割要素の子要素に置き換えることと、
N個よりも多い子要素を有するツリー要素について、子要素の残りによって「more」要素を作成することと
を含む、請求項10に記載の方法。
【請求項12】
前記記述コマンドが、
与えられたウェブ要素の子要素を列挙することと、
各子要素についての単純な参照を生成することと、
前記与えられたウェブ要素についての参照を生成することと、
前記与えられたウェブ要素参照が参照の生成されたリストを有することを識別することと、
前記与えられたウェブ要素がURLであることに応答して、ウェブページのタイトルを識別することと
をさらに含む、請求項1に記載の方法。
【請求項13】
2つ以上の隣接する子要素が同じ参照を有すると判定することと、
2つ以上の隣接する子要素が同じ参照を有するとの前記判定に応答して、前記2つ以上の隣接する子要素を群参照に置き換えることと
をさらに含む、請求項12に記載の方法。
【請求項14】
前記読み出しコマンドが、
ウェブ要素を再帰的に記述することと、
いずれかの遭遇したウェブ要素に関連するテキストを有する前記遭遇したウェブ要素の前記テキストを含めることと
をさらに含む、請求項1に記載の方法。
【請求項15】
前記第1の自然言語入力が、現在訪問されているウェブサイトに特有の質問、ステートメント又はコマンドを含む、請求項1に記載の方法。
【請求項16】
前記第1のクリックコマンドが、
前記第1の構文解析された自然言語入力に基づいてウェブ要素をクリックするように前記ウェブブラウザに指示することと、
前記ウェブ要素がリンクである場合にナビゲーション動作を実行することと、
前記ウェブページがどのように変更されたかを別様に識別することと
をさらに含む、請求項1に記載の方法。
【請求項17】
前記第1のクリックコマンドが、前記第1の構文解析された自然言語入力に基づいてウェブページ上で前記ウェブブラウザによって実行されるクリックコマンドであり、
前記第2のクリックコマンドが、前記第2の構文解析された自然言語入力に基づいてウェブページ上で前記ウェブブラウザによって実行されるクリックコマンドである、請求項1に記載の方法。
【請求項18】
前記第1のクリックコマンドが、前記ウェブブラウザによってディジタル的に実行される、請求項1に記載の方法。