JP2016517078A - ドメイン名サーバが自然言語クエリを処理しコンテキストを決定することを可能にするシステムおよび方法 - Google Patents
ドメイン名サーバが自然言語クエリを処理しコンテキストを決定することを可能にするシステムおよび方法 Download PDFInfo
- Publication number
- JP2016517078A JP2016517078A JP2016500779A JP2016500779A JP2016517078A JP 2016517078 A JP2016517078 A JP 2016517078A JP 2016500779 A JP2016500779 A JP 2016500779A JP 2016500779 A JP2016500779 A JP 2016500779A JP 2016517078 A JP2016517078 A JP 2016517078A
- Authority
- JP
- Japan
- Prior art keywords
- natural language
- user device
- web server
- language query
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Abstract
自然言語クエリを処理しコンテキストを決定するための方法は、ユーザデバイスからの自然言語クエリを受け取ることと、前記ユーザデバイスのコンテキストを決定することと、前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別することと、前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送ることと、前記ユーザデバイスに対して前記ウェブサーバを識別することと、を含む。
Description
[0001]ウェブサイトからのコンテンツという形態の情報は一般的に多くの異なるタイプのデバイスやユーザに提供される。次第にますます多くのウェブコンテンツを受け取っている一つのタイプのデバイスやユーザとして、無線デバイスや携帯電話ユーザがある。無線デバイスは、携帯コンピューティングデバイス、タブレットコンピュータ、スマートフォン、またはウェブコンテンツを閲覧し、受け取ることができる他のどのような携帯または無線デバイスでもよい。
[0002]携帯コンピューティングデバイス上のウェブブラウザは、オンラインで情報にアクセスする主な方法を提供する。ウェブブラウザが、ドメイン名またはIPアドレスに直接関係しない自然言語クエリを入力するのに使用されるとき、自然言語クエリに関係する見込みあるドメインまたはIPアドレスを検索するため、自然言語クエリは一般的に、グーグルまたはヤフーなどのウェブベースの検索アプリケーションに送られる。そして、ウェブ検索アプリケーションは自然言語クエリを使ってウェブ検索を実行し、ウェブブラウザにいくつかの(a number of)可能性のあるドメインおよびIPアドレス選択肢を返す。残念ながら、自然言語クエリをグーグルやヤフーなどのウェブ検索アプリケーションに送ることは追加の時間およびリソースを要し、携帯コンピューティングデバイスのデバイスコンテクスト、例えば場所、を考慮しない。
[0003]よって、外部ウェブ検索アプリケーションを利用せず、自然言語クエリを使ったローカル検索ができることが望ましい。
[0004]自然言語クエリを処理しコンテキストを決定するための方法の実施例は、ユーザデバイスからの自然言語クエリを受け取ることと、前記ユーザデバイスのコンテキストを決定することと、前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別することと、前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送ることと、前記ユーザデバイスに対して前記ウェブサーバを識別することと、を含む。
[0005]図面では、そうでないと示されていない限り、同じ参照番号が、様々なビューを通じて、同じ部分を指す。「102a」または「102b」のような文字指定を有する参照番号では、文字指定は、同じ図面にある2つの同じ部分または要素を区別することができる。参照番号に対する文字指定は、参照番号が全ての図面における同じ参照番号を有する全ての部分を包含することが意図されているとき、省略されることができる。
ドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にするシステムや方法の実施例の機能ブロック図である。
ドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するコールフローダイヤグラムである。
ドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するフローチャートである。
ドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するフローチャートである。
図1のクエリエンジンのブロック図である。
図4のテーブルのブロック図である。
[0011]「例示的(exemplary)」という用語は、「例、事例、または実例としての役目をする」を意味するようにここでは使用される。「例示的」なものとしてここに説明される任意の態様は、必ずしも、他の態様よりも好ましいまたは有利であるようには解釈されるべきでない。
[0012] 本記述では、「アプリケーション(application)」という用語もまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルを含むことができる。加えて、ここでいう「アプリケーション」はまた、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むことができる。
[0013] 「コンテンツ(content)」という用語もまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルを含むことができる。加えて、ここでいう「コンテンツ」はまた、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むことができる。
[0014]本記述で使用されているように、「コンポーネント(component)」、「データベース(database)」、「モジュール(module)」、「システム(system)」等の用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれか、のコンピュータ関連エンティティを指すように意図されている。例えば、コンポーネントは、それに限定されるものではないが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、プログラムとして実行可能なファイル(executable)、実行スレッド、プログラム、および/またはコンピュータでありうる。実例として、コンピューティングデバイス上で実行中のアプリケーションと、コンピューティングデバイスとの両方がコンポーネントでありうる。1つまたは複数のコンポーネントは、実行のプロセスおよび/またはスレッド内に存在することができ、コンポーネントは、1つのコンピュータ上で局所化、および/または、2つ以上のコンピュータ間で分散されることができる。加えて、これらのコンポーネントは、様々なデータ構造を記憶した様々なコンピュータ可読媒体により実行することができる。コンポーネントは、1つまたは複数のデータパケット(例えば、ローカルシステム中の、分散システム中の別のコンポーネントと相互動作する1つのコンポーネントからのデータ、および/または、インターネットのようなネットワークにわたって信号を介して他のシステムと対話する相互動作する1つのコンポーネントからのデータ)を有する信号にしたがうような、ローカルおよび/またはリモートプロセスによって通信することができる。
[0014]本記述で使用されているように、「コンポーネント(component)」、「データベース(database)」、「モジュール(module)」、「システム(system)」等の用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれか、のコンピュータ関連エンティティを指すように意図されている。例えば、コンポーネントは、それに限定されるものではないが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、プログラムとして実行可能なファイル(executable)、実行スレッド、プログラム、および/またはコンピュータでありうる。実例として、コンピューティングデバイス上で実行中のアプリケーションと、コンピューティングデバイスとの両方がコンポーネントでありうる。1つまたは複数のコンポーネントは、実行のプロセスおよび/またはスレッド内に存在することができ、コンポーネントは、1つのコンピュータ上で局所化、および/または、2つ以上のコンピュータ間で分散されることができる。加えて、これらのコンポーネントは、様々なデータ構造を記憶した様々なコンピュータ可読媒体により実行することができる。コンポーネントは、1つまたは複数のデータパケット(例えば、ローカルシステム中の、分散システム中の別のコンポーネントと相互動作する1つのコンポーネントからのデータ、および/または、インターネットのようなネットワークにわたって信号を介して他のシステムと対話する相互動作する1つのコンポーネントからのデータ)を有する信号にしたがうような、ローカルおよび/またはリモートプロセスによって通信することができる。
[0015]ここで使用されるように、「ユーザデバイス(user device)」という用語は、ウェブサイトからコンテンツを受け取り、ウェブサイトへ情報を送ることができるデバイスを含む。ユーザデバイスは、固定式デバイス、無線デバイスまたは携帯デバイスでありうる。
[0016]ここで使用されるように、「ユーザ(user)」という用語は、ユーザデバイス上でコンテンツを受け取り、ウェブサイトに情報を送る個人を示す。
[0017]ここで使用されるように、「コンテキスト(context)」という用語は、ユーザまたはユーザデバイスの任意のまたは全ての属性、例えば、物理的、論理的、社会的および他のコンテキスト情報を示す。
[0018]ここで使用されるように、「コンテキストアウェアメタデータ(context aware metadata)」および「コンテキストメタデータ(contextual metadata)」という用語は、ユーザまたはユーザデバイスのコンテキストを記述または定義するメタデータを示す。
[0019]ここで使用されるように、「コンテキストアウェアコンテンツ(context aware content)」という用語は、ユーザデバイスに配信され、ユーザのコンテキストに適合させられるコンテンツを示す。
[0020]ここで使用されるように、「ウェブプロパティ(web property)」という用語は、一つ以上のウェブページを有する一つ以上のウェブサイトを有するエンティティを示す。
[0021]ここで使用されるように、「自然言語(natural language)」という用語は、電子デバイスに入力されることができる検索クエリをいい、検索クエリはドメイン名サーバ(DNS)が検索クエリを直接ドメイン名および/またはインターネットプロトコル(IP)アドレスにマップすることを可能にするのに十分な情報を含まない。自然言語検索クエリの例は、ドメイン名を含まない、またはDNSがクエリに対応するIPアドレスを特定することを可能にするのに十分なドメイン名の部分を含まないものである。
[0022]ある実施例では、ドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にするシステムや方法は、無線デバイスがワールドワイドウェブにアクセスすることを可能にするシステムの一部として実施されてもよい。
[0023]図1はドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にするシステムや方法の実施例の機能ブロック図である。システム100は、特定の場所または会場の中に位置する無線ネットワークのようなローカルエリアネットワーク(LAN)との関連で説明される。しかし、システム100は他のタイプのネットワークや場所に適用可能である。ある実施例では、システム100は、場所または会場で実施されるワイヤレスフィディリティー(WiFi(登録商標))ネットワークを使って説明される。そのような場所の例は、空港、スポーツイベント会場、ショッピングモールまたはショッピングセンター、娯楽会場、テーマパーク、またはその他の場所を含む。
[0024]システム100はユーザデバイス102、ネットワーク106、ドメイン名サーバ(DNS)108、ウェブサーバ110、ウェブサーバ120およびクエリエンジン112を備える。ユーザデバイス102は、ウェブコンテンツにアクセスし閲覧するためのハイパーテキスト転送プロトコル(HTTP)ウェブブラウザ104のようなウェブブラウザ104を備える。ウェブサーバ110およびウェブサーバ120はそれぞれHTTPサーバであってよい。ユーザデバイス102は固定式デバイスまたは携帯デバイスであってよい。ある実施例では、ユーザデバイス102は、ネットワーク106に無線でつながることができるスマートフォンのような携帯デバイスである。ある実施例では、ネットワーク106は一つ以上のネットワークを備えてよく、例として一つ以上のアクセスポイント(AP)105a、105b、105c、およびルータ/スイッチ論理107を含むがそれには制限されないいくつかの処理及びコミュニケーション機能を提供する機能性を備える。システム100内のユーザデバイス102の場所は、少なくとも部分的に、ルータ/スイッチ論理107に接続される場所/位置要素116によって、およびユーザデバイス102が接続されるアクセスポイント105によって決定されうる。ある実施例では、ユーザデバイス102は、無線接続103によりアクセスポイント105aを通じてネットワーク106に接続される。この例では、無線接続103はWiFi接続でも、他の無線接続でもよい。ある実施例では、場所/位置要素116は、ユーザデバイス102が接続される特定のアクセスポイント(この例ではAP105a)を決定することができ、よって、少なくともルータ/スイッチ論理107、ネットワーク106および場所/位置要素116によって決定される精度のレベル内で、ユーザデバイス102が接続される特定のアクセスポイントによってカバーされる領域のサイズによって、ユーザデバイス102の場所を決定することができる。さらに、信号強度、ビット誤り率(BER)、ユーザデバイス102とネットワーク106の間の往復待ち時間、または他のパラメータのような、各アクセスポイントからの情報は、システム100内のユーザデバイス102の場所をさらに決定するために場所/位置要素116によって分析されうる。
[0025]DNS108は、双方向接続109によってネットワーク106につながれ、双方向接続113によって場所/位置要素116につながれる。場所/位置要素116は双方向接続121によってルータ/スイッチ論理107にもつながれる。双方向接続109、113、121は一つ以上の直接接続、無線接続、および/またはネットワークを備えうる。DNS108および場所/位置要素116はネットワーク106内またはネットワーク106外に設置されることができる。DNS108は場所/位置要素116を使ってユーザデバイス102の場所を決定することができる。
[0026]DNS108は、ウェブサイトや他のインターネットドメインの名前を管理するための標準技術であるドメイン名システムを実装している。ドメイン名システム技術はユーザがドメイン名をウェブブラウザにタイプすることを可能にし、DNS108は自動的にドメイン名に対応するインターネット上のIPアドレスを発見する。しかし、いくつかの事例では、ドメイン名が分からない、またはユーザに利用可能でない、またはユーザが他の理由で自然言語検索クエリを使用することを望むことがある。しかし、DNSは自然言語検索クエリをIPアドレスにマップすることができない。ある実施例では、DNS108はクエリキャッシュ113も備える。クエリキャッシュ113はDNS108に処理されたIPアドレスごとに、結合(associations)および/または分解(resolutions)を含むことができる。クエリキャッシュ113はウェブサーバがユーザデバイス102によって送られたオリジナル自然言語クエリにアクセスすることを可能にする。
[0027]クエリエンジン112は双方向接続111によってDNS108に接続される。双方向接続111は一つ以上の直接接続、無線接続、および/またはネットワークを備えうる。ある実施例では、接続109、111は、DNSサーバ108やクエリエンジン112が接続されるローカルエリアネットワーク(LAN)の少なくとも一部を構成しうる。
[0028]クエリエンジン112は検索パーサ115およびテーブル125を備える。ある実施例では、検索パーサ115は、自然言語クエリの主題に対応しそうなドメインまたはIPアドレスを決定するために、ユーザデバイス102からDNS108を通じて自然言語クエリを受け取り、DNS108からユーザデバイス102の場所または位置を受け取り、クエリエンジン112と共に、(ユーザデバイス102の場所のような)コンテキストアウェアパラメータを自然言語クエリに適用しようとする。ある実施例では、テーブル125は、自然言語検索クエリに関係する情報を有しそうなウェブサーバのドメインまたはIPアドレス情報および構文解析済み(parsed)検索クエリから生成されたトピックのリストを含む。テーブル125は任意のメタデータおよび/またはデータ結合の記述を含んでもよい。例えば、空港の場合、「フライト」という用語はゲートおよびフライト番号を意味するが、遊園地の場合、「フライト」という用語はアトラクションを意味するだろう。DNS108の外にあるように示されているが、クエリエンジン112はDNS108に組み込まれてもよい、またはネットワーク106に接続されDNS108によってアクセス可能な他の要素の一部であってもよい。
[0029]一度クエリエンジン112が自然言語クエリのサブジェクトに少なくとも部分的に一致する、または対応するかもしれない可能性のあるまたは見込みある一つ以上のIPアドレスまたはドメインを決定し、この情報をDNS108に送ると、DNS108はユーザデバイスのIPアドレスおよびクエリサブジェクトを適切なウェブサーバに送る。適切なウェブサーバは自然言語クエリに関係する情報を含む可能性が高く、DNS108によって特定されるものである。ある例では、適切なウェブサーバはウェブサーバ110である。DNS108はまた、適切なウェブサーバ、例えばウェブサーバ110、のドメイン名(および/またはIPアドレス)をユーザデバイス102に送り、ユーザデバイス102が、ウェブサーバ110が自然言語クエリに対応する回答のための見込みあるソースであることを気づくようにする。
[0030]DNS108は、双方向接続119によってウェブサーバ110に接続され、双方向接続117によってウェブサーバ120に接続される。双方向接続117、119は一つ以上の直接接続、無線接続、および/またはネットワークを備えうる。
[0031]ウェブサーバ110が自然言語クエリに対応する回答のための見込みあるソースである実施例において、ウェブサーバ110はDNS108内のクエリキャッシュ113にアクセスしてもよいので、ウェブサーバ110が実際のリクエストをDNS108から受け取るとき、ウェブサーバ110は、ユーザデバイス102によって送られたオリジナル自然言語クエリを決定するためにクエリキャッシュ113にアクセスすることができる。クエリキャッシュ113に含まれる情報の例は[IP, UA123, www.domain1.com]でありうる。ここにおいて、「IP」という用語はユーザデバイス102のIPアドレスを示し、「UA123」という用語は自然言語クエリであり、「www.domain1.com」という用語はウェブサーバ110のURLを示す。
[0032]一度ユーザデバイス102がDNS108から適切なウェブサーバ、例えばウェブサーバ110、のドメイン名、IPアドレスまたは他の識別子を得ると、ユーザデバイスはウェブサーバ110にHTTPリクエストを送る。HTTPリクエストはユーザデバイス102に関係するコンテキスト情報を含んでもよい。このようにして、DNS108はユーザデバイス102上のウェブブラウザ104をオリジナル自然言語クエリに対する回答のための最も適切なソースに向ける。
[0033]テーブル130に示されるように、ウェブサーバ110はDNS108から受け取ったユーザデバイス102のIPアドレスを、最近受け取ったHTTPリクエスト内のユーザデバイスのIPアドレスに一致させる。そして、ウェブサーバ110は、DNS108に提供されたコンテキストに基づいて、適切なコンテンツ(自然言語クエリへの応答)をユーザデバイス102に送る。
[0034]図2はドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するコールフローダイヤグラム200である。ダイヤグラム200は、参考のため、図1中の様々な要素の動作を図示する。例として、コール202は、ユーザデバイス102内のウェブブラウザ104に登録された自然言語検索クエリを表す。コール202はネットワーク106を通じてDNS108に送られる。この例では、ユーザデバイス102は空港に配置されることができ、自然言語クエリは「UA123」のようなフライトナンバーであることができる。この例では、自然言語クエリ「UA123」はドメイン名に関係する情報をまったく含まないので、DNS108は「UA123」を直接ドメイン名またはIPアドレスにマップすることができない。
[0035]DNS108は自然言語クエリを受け取り、自然言語クエリ「UA123」に関係するドメイン名またはIPアドレスを返そうとする。しかし、DNS108は「UA123」に対応するドメインまたはIPアドレスを突き止めることができない。DNS108は場所/位置要素116と関与する(engage)。コール204はDNS108がユーザデバイス102の場所を決定するために場所/位置要素116と連絡を取ることを表す。
[0036]コール206は場所/位置要素116がユーザデバイス102の場所をDNS108に返すことを表す。
[0037]DNS108からクエリエンジン112に送られたコール208は、DNS108が自然言語クエリ「UA123」のためにドメインまたはIPアドレスを決定しようとすることを表す。コール208は場所/位置要素116から提供された場所情報を含む。
[0038]DNS108は場所/位置要素116およびクエリエンジン112を利用し、場所/位置要素116から得られたコンテキスト情報、および自然言語クエリに基いて、ユーザデバイス102のコンテキスト(この例では、場所)および自然言語クエリ「UA123」を満たす情報を有するかもしれない適切なウェブサーバを決定する。これは、例えばグーグルやヤフーによって提供される検索エンジンや検索機能のような外部検索エンジンを利用せずに達成される。
[0039]コール210はクエリエンジン112がDNS108に自然言語クエリに関係する情報を含む見込みがあるウェブサーバのIPアドレスまたは他の識別子を返すことを表す。この例では、クエリエンジン112はウェブサーバ110(図1)が自然言語クエリ「UA123」によって求められる情報の見込みあるソースであることを決定する。
[0040]クエリエンジン112からのクエリに応答する見込みあるウェブサーバ、および場所/位置要素116からのユーザデバイス102の物理的な場所のようなコンテキストの決定後、DNS108はコール212を適切なウェブサーバ110に送る。コール212はユーザデバイス102のIPアドレスを含み、コール202で具体化されるクエリ(「UA123」)のサブジェクトを含む。これは、ウェブサーバ110からアクセス可能なテーブル130に置かれる「クエリおよびユーザデバイスのIPアドレス」として図1のテーブル130に図示される。
[0041]DNS108はまた、ウェブサーバ110のドメイン名および/またはIPアドレスを有するコール214をユーザデバイス102に送る。この例では、ドメインは「www.domain1.com」である。
[0042]ウェブサーバ110のドメイン名および/またはIPアドレスを有すると、ユーザデバイス102はウェブサーバ110へコール216を出す。コール216はウェブサーバ110のIPアドレスに向けられたHTTPリクエストを含む。図1のテーブル130に図示されるように、コールはユーザデバイスのIPアドレスを含む。ウェブサーバ110はDNS108から受け取ったユーザデバイス102のIPアドレスおよびクエリ(「UA123」)を、コール216中のHTTPリクエストで受け取ったばかりのユーザデバイスのIPアドレスと突き合わせる。それに対して、ウェブサーバ110はユーザデバイス102に、DNS108によって提供されたコンテキストに基づいた適切なコンテンツ(クエリ応答)を表すコール218で応答する。
[0043]ウェブサーバ110が自然言語クエリに対応する回答のための見込みあるソースである実施例において、ウェブサーバ110はDNS108内のクエリキャッシュ113にアクセスしてもよいので、ウェブサーバ110が実際のリクエストをDNS108(コール212)から受け取るとき、ウェブサーバ110は、ユーザデバイス102によって送られたオリジナル自然言語クエリを決定するためにクエリキャッシュ113にアクセスすることができる。この例では、オリジナル自然言語クエリは「UA123」である。クエリキャッシュ113のコンテンツは[IP, UA123, www.domain1.com]であろう。ここにおいて、「IP」という用語はユーザデバイス102のIPアドレスを示し、「UA123」という用語は自然言語であり、www.domain1.comという用語はウェブサーバ110のURLを示す。
[0044]図3Aおよび3Bは、あわせて、ドメイン名サーバ(DNS)が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するフローチャートである。ブロック302では、DNSサーバ108はユーザデバイス102から自然言語クエリを受け取る。自然言語クエリの例は「UA123」とブラウザ104にタイプするという形でのフライト情報リクエストである。自然言語クエリ「UA123」は、フライト情報が空港で求められること使用した簡易例であることを意図されている。ここで記載されるようにどのような自然言語クエリでも処理することができる。
[0045]ブロック304において、DNS108は、ブロック302で受け取られたクエリがドメイン名またはIPアドレスに分解されるかを決定する。もし、クエリがドメイン名またはIPアドレスに分解されるのであれば、ブロック306において、DNS108はリクエストに対応するドメイン名および/またはIPアドレスをウェブブラウザ104に送出し、プロセスは終了する。
[0046]もし、クエリがドメイン名またはIPアドレスに分解されないのであれば、ブロック308において、DNS108はユーザデバイスのコンテキストを決定し、そして、クエリを処理し、クエリに対応する情報を有する見込みがある適切なウェブサーバを決定しようとする。ある実施例では、DNS108は自然言語クエリを受け取り、場所/位置要素116およびクエリエンジン112を利用し、ユーザデバイス102のコンテキスト(この例では、場所)を決定し、自然言語クエリを満たす情報を有するかもしれない適切なウェブサーバを決定する。例えば、DNS108はユーザデバイス102の場所を決定しようとして、場所/位置要素116を呼び出すことができる。この例では、場所/位置要素116はDNS108にユーザデバイス102の場所を返す。そして、DNS108は自然言語クエリおよびユーザデバイス102の場所をクエリエンジン112に転送する。これは、例えばグーグルやヤフーによって提供される検索エンジンや検索機能のような外部検索エンジンを利用せずに達成される。
[0047]ブロック310において、クエリエンジン112内の検索パーサ115は自然言語クエリを構文解析(parse)し、クエリエンジン112はDNS108から提供された場所情報を適用し、構文解析された自然言語クエリを構文解析された自然言語クエリに対応するかもしれない、または対応する見込みがあるかもしれないウェブサーバのテーブル125と比較する。例えば、検索パーサ115は入力(ユーザ入力)をトピックにマップする。この例では、クエリUA123は「フライト番号」と呼ばれるトピックにマップされる。テーブル125は(フライト番号、場所:空港、情報の適切なソースのウェブサイト場所(例えば、空港ゲート情報のためのwww.gatefinder.com))に対応する登録を含む。テーブル125は、自然言語クエリに関係するかもしれない他の登録、例えば、(フライト番号、場所:モール、モールマップのウェブサイト場所)のような他の登録や、(フライト番号、場所:空港およびモール以外のすべて、フライトトラッカーのウェブサイト場所)のような他の登録、も含んでいてよい。クエリエンジン112は、自然言語クエリに関係する情報を含む見込みがある一つ以上の選択されたウェブサーバのIPアドレスまたは他の識別子をDNS108に送る。
[0048]ブロック312において、DNS108はクエリエンジン112からの応答を使用し、ユーザデバイス102のIPアドレスとクエリサブジェクト(「UA123」)を選択されたウェブサーバ110に送る。
[0049]ブロック314において、DNS108は選択されたウェブサーバ110のIPアドレスまたは他の識別子をユーザデバイス102に送る。
[0050]ブロック316において、ユーザデバイス102はHTTPリクエストを選択されたウェブサーバ110に送る。HTTPリクエストはユーザデバイス102のコンテキスト(例えば、場所)に関係する情報を含んでもよい。
[0051]ブロック318において、選択されたウェブサーバ110はDNS108から受け取ったユーザデバイス102のIPアドレスおよびクエリサブジェクト(「UA123」)を、HTTPリクエストで受け取ったばかりのユーザデバイス102のIPアドレスに突き合わせる。ウェブサーバ110はDNS108内のクエリキャッシュ113にアクセスしてもよいので、ウェブサーバ110が実際の処理されたリクエストをDNS108から受け取るとき、ウェブサーバ110は、ユーザデバイス102によって送られたオリジナル自然言語クエリを決定するためにクエリキャッシュ113にアクセスすることができる。
[0052]ブロック322において、選択されたウェブサーバ110はユーザデバイス102に、DNS108によって提供されたコンテキストに基づいた適切なコンテンツ((「UA123」)に対するクエリ応答)で応答する。
[0053]図4は図1のクエリエンジンのブロック図である。
[0054]自然言語クエリはDNS108から検索パーサ115に提供される(図1)。検索パーサ115はバス406により動作可能に互いにつながれるプロセッサ402とメモリ404を備える。プロセッサ402は汎用または専用のマイクロプロセッサ、または命令を実行できる他のどのようなプロセッサであってもよい。メモリ404はどのようなタイプの揮発性または不揮発性メモリであってもよく、ある実施例では、フラッシュメモリを含んでもよい。バス406は、メモリ404およびプロセッサ402が通信して相互運用することを可能にし、プロセッサ402がパース論理410および比較論理415によって提供される命令を実行することを可能にする物理的および論知的接続を備えてもよい。
[0055]この例では、パース論理410および比較論理415はメモリ404内に配置され、実行のためにプロセッサ402にアクセス可能である。ある実施例では、DNS108からの自然言語クエリはパース論理410によって操作され、クエリを分析し構成要素に解体(deconstruct)し、結果、パースツリー408は、意味論的および他の情報も含みうる、お互いの統語的関係を示す。この例では、自然言語クエリは「UA123」であり、パース論理410はクエリを構成用語である「U」「A」および「123」に解体する。パース論理410は、ユーザがエアポートに配置されていることをクエリエンジン112に知らせるコンテキスト場所情報と共に、検索用語「UA123」が「ユナイテッド(United)」「エア(Air)」「ラインズ(Lines)」および「123」という用語を有するパースツリー408を生むことを認識する。これら構成用語間の関係は用語をつなぐ矢印によって図示される。場所情報と構文解析された検索用語「ユナイテッド」「エア」「ラインズ」および「123」を持つことによって、クエリエンジン112は自然言語クエリ「UA123」がユナイテッド航空、123便に関係した情報に関係するという結論に達する。例えば、検索パーサ115は入力「UA123」をトピック、この例では「フライト番号」というトピック、にマップする。
[0056]図5は図4のテーブル125のブロック図である。検索パーサ115は入力「UA123」をトピック「フライト番号」にマップする。テーブル125は、ドメインwww.gatefinder.comを有するウェブサーバ110がクエリ「UA123」への回答のための見込みあるソースであることを示す(フライト番号、場所:空港、情報の適切なソースのウェブサイト場所(例えば、空港ゲート情報のためのwww.gatefinder.com))に対応する登録を含む。
[0057]どのウェブサーバがクエリにおいて求められる情報の見込みあるソースであるかもしれないかを決定するために、パースツリー408が使用され、構文解析されたクエリのトピックを一つ以上のウェブサーバ110、120に関連付けるテーブル125が作成される。この例において、クエリエンジン112は、構文解析された自然言語クエリと、構文解析された自然言語に関係した情報を含む見込みがあるウェブサーバのリストとを比較するように構成された比較論理415も備えてもよい。この例において、クエリエンジン112はウェブサーバ110がユナイテッド航空123便に関係するゲート情報を有し、クエリにおいて求められる情報の見込みあるソースに選ばれたと結論することができる。
[0058]上の開示の点から、プログラミングの分野における当業者は難なく、例えば、本明細書におけるフローチャートおよび関連する記述に基づいて、開示された発明を実施するための適切なハードウェアおよび/または回路を識別することが、またはコンピュータコードを書くことができる。したがって、特定のセットのプログラムコード命令または詳細なハードウェアデバイスの開示は、どのように本発明を製造および使用すべきかの十分な理解のために必要であると考えられない。特許請求の範囲における、コンピュータによって実施されるプロセスの発明的な機能は、様々なプロセスフローを例示しうる図と関連して、ならびに上記の記述でより詳細に説明されている。
[0059]1つまたは複数の例示的な実施形態では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのあらゆる組み合わせで実施されうる。ソフトウェアで実施された場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されうる、あるいは、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上で送信されうる。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされうるあらゆる利用可能な媒体であることができる。限定ではなく例として、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で望ましいプログラムコードを搬送または記憶するために使用され、かつ、コンピュータによってアクセスされうるあらゆる他の媒体を備えることができる。
[0060]また、いずれの接続手段もコンピュータ可読媒体と適切に名づけられる。例えば、ソフトウェアが、ウェブサイトから、サーバから、または、同軸ケーブル、ファイバ光ケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線や、無線や、マイクロ波のようなワイヤレス技術を使用している他の遠隔ソースから送信された場合、同軸ケーブル、ファイバ光ケーブル、ツイストペア、DSL、または、赤外線や、無線や、マイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。
[0061]ここで使用されているような、ディスク(Disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光学ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、ディスク(Disk)は大抵データを磁気的に再生する一方で、ディスク(disc)はデータをレーザで光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0061]ここで使用されているような、ディスク(Disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光学ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、ディスク(Disk)は大抵データを磁気的に再生する一方で、ディスク(disc)はデータをレーザで光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0062]選択された態様は、詳細に例示および記述されているが、様々な代用および変更が、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、そこになされることができることは理解されることになる。
Claims (17)
- 自然言語クエリを処理しコンテキストを決定するための方法であって、
ユーザデバイスからの自然言語クエリを受け取ることと、
前記ユーザデバイスのコンテキストを決定することと、
前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別することと、
前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送ることと、
前記ユーザデバイスに対して前記ウェブサーバを識別することと、
を備える方法。 - 前記ユーザデバイスがHTTPリクエストを前記ウェブサーバに送ること、前記HTTPリクエストは前記ユーザデバイスを識別する情報を含む、と、
前記ウェブサーバがコンテキストコンテンツを前記ユーザデバイスに送ること、前記コンテキストコンテンツは前記自然言語クエリに関係する、と
をさらに備える請求項1の方法。 - 前記ユーザデバイスの前記コンテキストは前記ユーザデバイスの場所を備える請求項2の方法。
- 前記自然言語クエリに関係する情報を有するウェブサーバを識別することは、
前記自然言語クエリを構文解析することと、
前記構文解析された自然言語クエリを、前記構文解析された自然言語クエリに関係する情報を含む見込みがあるウェブサーバのリストと比較することと、
前記比較に基づいて前記ウェブサーバのうちの一つを選択することと、
をさらに備える請求項2の方法。 - 前記構文解析された自然言語クエリに関係するトピックを決定することと、
前記決定されたトピックに基づいて前記ウェブサーバのうちの一つを選択することと、
をさらに備える請求項4の方法。 - 自然言語クエリを処理しコンテキストを決定するためのシステムであって、
自然言語クエリを送るように構成されたユーザデバイスと、
前記ユーザデバイスのコンテキストを得るための論理を有するドメイン名サーバと、
前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための論理と、
前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送る前記ドメイン名サーバと、
前記ユーザデバイスに対して前記ウェブサーバを識別する前記ドメイン名サーバと、
を備えるシステム。 - 前記ユーザデバイスを識別する情報を含むHTTPリクエストを前記ウェブサーバに送る前記ユーザデバイスと、
前記自然言語クエリに関係するコンテキストコンテンツを前記ユーザデバイスに送る前記ウェブサーバと、
をさらに備える請求項6のシステム。 - 前記ユーザデバイスの前記コンテキストは前記ユーザデバイスの場所を備える請求項7のシステム。
- 前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための前記論理は、
前記自然言語クエリを構文解析するように構成された検索パーサと、
前記構文解析された自然言語クエリを、前記構文解析された自然言語に関係する情報を含む見込みがあるウェブサーバのテーブルと比較するように構成された比較論理と、
前記比較に基づいて前記ウェブサーバのうちの一つを選択するように構成された選択論理と、
をさらに備える請求項7のシステム。 - 前記構文解析された自然言語クエリに関係するトピックを決定するための論理と、
前記決定されたトピックに基づいて前記ウェブサーバのうちの一つを選択するための論理と、
をさらに備える請求項9のシステム。 - 前記ドメイン名サーバが、前記ユーザデバイス、前記自然言語クエリおよび前記ウェブサーバに関係する情報を記憶するためのクエリキャッシュをさらに備える請求項6のシステム。
- 前記ウェブサーバが、前記自然言語クエリと前記ユーザデバイスを決定するために前記クエリキャッシュにアクセスする請求項11のシステム。
- 自然言語クエリを処理しコンテキストを決定するためのシステムであって、
自然言語クエリを送るように構成されたユーザデバイスと、
前記ユーザデバイスの場所を得るための論理を有するドメイン名サーバと、
前記決定された場所を用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための論理と、
前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送る前記ドメイン名サーバと、
前記ユーザデバイスに対して前記ウェブサーバを識別する前記ドメイン名サーバと、
を備えるシステム。 - 前記ユーザデバイスを識別する情報を含むHTTPリクエストを前記ウェブサーバに送る前記ユーザデバイスと、
前記自然言語クエリに関係するコンテキストコンテンツを前記ユーザデバイスに送る前記ウェブサーバと、
をさらに備える請求項13のシステム。 - 前記決定された場所を用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための前記論理は、
前記自然言語クエリを構文解析するように構成された検索パーサと、
前記構文解析された自然言語クエリを、前記構文解析された自然言語に関係する情報を含む見込みがあるウェブサーバのテーブルと比較するように構成された比較論理と、
前記比較に基づいて前記ウェブサーバのうちの一つを選択するように構成された選択論理と、
をさらに備える請求項14のシステム。 - 前記ドメイン名サーバが、前記ユーザデバイス、前記自然言語クエリおよび前記ウェブサーバに関係する情報を記憶するためのクエリキャッシュをさらに備える請求項14のシステム。
- 前記ウェブサーバが、前記自然言語クエリと前記ユーザデバイスを決定するために前記クエリキャッシュにアクセスする請求項16のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/797,249 US20140280335A1 (en) | 2013-03-12 | 2013-03-12 | System and method to allow a domain name server to process a natural language query and determine context |
US13/797,249 | 2013-03-12 | ||
PCT/US2014/021504 WO2014164247A2 (en) | 2013-03-12 | 2014-03-07 | System and method to allow a domain name server to process a natural language query and determine context |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016517078A true JP2016517078A (ja) | 2016-06-09 |
Family
ID=50424744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016500779A Pending JP2016517078A (ja) | 2013-03-12 | 2014-03-07 | ドメイン名サーバが自然言語クエリを処理しコンテキストを決定することを可能にするシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140280335A1 (ja) |
EP (1) | EP2973019A2 (ja) |
JP (1) | JP2016517078A (ja) |
KR (1) | KR20150128810A (ja) |
CN (1) | CN105009122A (ja) |
WO (1) | WO2014164247A2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372721B2 (en) | 2013-05-09 | 2016-06-21 | Ricoh Company, Ltd. | System for processing data received from various data sources |
US9286301B2 (en) * | 2014-02-28 | 2016-03-15 | Ricoh Company, Ltd. | Approach for managing access to electronic documents on network devices using document analysis, document retention policies and document security policies |
US20170257353A1 (en) | 2016-03-07 | 2017-09-07 | Ricoh Company, Ltd. | System For Using Login Information And Historical Data To Determine Processing For Data Received From Various Data Sources |
US20210011887A1 (en) * | 2019-07-12 | 2021-01-14 | Qualcomm Incorporated | Activity query response system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL123129A (en) * | 1998-01-30 | 2010-12-30 | Aviv Refuah | Www addressing |
KR100460274B1 (ko) * | 2001-08-11 | 2004-12-04 | (주)넷피아닷컴 | 키워드 네임을 이용한 위치 관련 정보 제공 시스템 및 그 방법 |
US20050105513A1 (en) * | 2002-10-27 | 2005-05-19 | Alan Sullivan | Systems and methods for direction of communication traffic |
US20060117020A1 (en) * | 2004-12-01 | 2006-06-01 | John Toebes | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US20060259462A1 (en) * | 2005-05-12 | 2006-11-16 | Sybase, Inc. | System and Methodology for Real-time Content Aggregation and Syndication |
-
2013
- 2013-03-12 US US13/797,249 patent/US20140280335A1/en not_active Abandoned
-
2014
- 2014-03-07 KR KR1020157027460A patent/KR20150128810A/ko not_active Application Discontinuation
- 2014-03-07 CN CN201480013270.4A patent/CN105009122A/zh active Pending
- 2014-03-07 WO PCT/US2014/021504 patent/WO2014164247A2/en active Application Filing
- 2014-03-07 JP JP2016500779A patent/JP2016517078A/ja active Pending
- 2014-03-07 EP EP14714862.1A patent/EP2973019A2/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2014164247A2 (en) | 2014-10-09 |
US20140280335A1 (en) | 2014-09-18 |
EP2973019A2 (en) | 2016-01-20 |
CN105009122A (zh) | 2015-10-28 |
KR20150128810A (ko) | 2015-11-18 |
WO2014164247A3 (en) | 2014-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10838916B2 (en) | Access control for unprotected data storage system endpoints | |
US11621924B2 (en) | Incorporating web applications into web pages at the network level | |
US10642904B2 (en) | Infrastructure enabling intelligent execution and crawling of a web application | |
US9542573B2 (en) | Privacy server for protecting personally identifiable information | |
US9712457B2 (en) | Server directed client originated search aggregator | |
KR101422859B1 (ko) | 문서의 오디언스-적정 버전을 제공하는 방법, 문서 서버, 및 컴퓨터 판독 가능 매체 | |
US10277701B2 (en) | Methods and Systems for Rewriting Scripts to Direct Requests | |
US20120246553A1 (en) | Method of causing a client device to display a designated web page and captive portal server thereof | |
US20150031398A1 (en) | Zone-Based Information Linking, Systems and Methods | |
US20100146132A1 (en) | Methods, Systems, And Computer Program Products For Accessing A Resource Having A Network Address Associated With A Location On A Map | |
WO2013143403A1 (zh) | 一种访问网站的方法和系统 | |
US9697379B2 (en) | Database virtualization | |
CN110266661A (zh) | 一种授权方法、装置及设备 | |
US20160028833A1 (en) | Tenant aware session manager | |
JP2016517078A (ja) | ドメイン名サーバが自然言語クエリを処理しコンテキストを決定することを可能にするシステムおよび方法 | |
KR20140037751A (ko) | 컨텐츠 제공자-특이 url 키워드 검색 제공을 위한 방법 및 시스템 | |
WO2018081963A1 (zh) | 一种dns解析方法、装置及网络系统 | |
US10467269B2 (en) | Accessing category-specific search servers | |
WO2015154270A1 (zh) | 一种信息搜索的方法以及装置 | |
WO2014168774A1 (en) | Smart navigation services | |
Wróbel | TaxiHere–a System Prototype for Taxi Servicing for Android OS |