JP6328135B2 - Recommended engine for interactive search forms - Google Patents
Recommended engine for interactive search forms Download PDFInfo
- Publication number
- JP6328135B2 JP6328135B2 JP2015546896A JP2015546896A JP6328135B2 JP 6328135 B2 JP6328135 B2 JP 6328135B2 JP 2015546896 A JP2015546896 A JP 2015546896A JP 2015546896 A JP2015546896 A JP 2015546896A JP 6328135 B2 JP6328135 B2 JP 6328135B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- recommended
- server
- client device
- value
- 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.)
- Active
Links
- 230000002452 interceptive effect Effects 0.000 title claims description 135
- 238000000034 method Methods 0.000 claims description 54
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 29
- 238000004422 calculation algorithm Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 27
- 230000002776 aggregation Effects 0.000 description 20
- 238000004220 aggregation Methods 0.000 description 20
- 238000003860 storage Methods 0.000 description 19
- 230000003068 static effect Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000036961 partial effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010006 flight Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003945 visual behavior Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、コンピュータおよびコンピュータソフトウェアに関するものであり、より具体的には、インタラクティブな旅行関係検索フォームで推奨を行うためのシステム、方法、およびコンピュータプログラム製品に関するものである。 The present invention relates to computers and computer software, and more particularly to systems, methods, and computer program products for making recommendations in interactive travel-related search forms.
情報を格納し、取り出すために、また飛行機旅行に関係する取引を行うためにコンピュータ予約システムが使用される。コンピュータ予約システムは、特定の航空路線を予約(reservation)するために使用され得る。代替的に、コンピュータ予約システムは、統合システムで複数の航空路線を予約する際に旅行代理店および他の流通チャネルを支援する横断的販売網を含み得る。旅客旅行は、コンピュータ予約システムを使用してブッキング(book)され得る。 Computer reservation systems are used to store and retrieve information and to conduct transactions related to air travel. A computer reservation system can be used to reserve a particular airline. Alternatively, the computer reservation system may include a cross-border sales network that assists travel agents and other distribution channels in booking multiple airlines with an integrated system. Passenger trips can be booked using a computer reservation system.
予約を行う前提条件として、見込み旅行者または旅行代理店は、クライアントデバイス上のオンラインアプリケーションを使用してコンピュータ予約システムのサーバーに旅行検索クエリを送出し得る。旅行検索クエリを送出するための最も一般的なメカニズムでは、クライアントデバイス上に用意されているフォームのコントロール内にユーザーが値を入力することが要求される。データは、旅行の出発地および目的地、旅行の出発日および帰国日などの検索語を含み得る。旅行検索クエリを送出するための従来のアプローチでは、検索語をフォームのコントロール内に値として入力する。入力されたデータは、コンピュータ予約システムのサーバーに送信され、サーバーは入力されたデータに基づき検索を実行し、一致する旅行プランをクライアントデバイスに返し、ユーザーにそれを提示する。 As a prerequisite to making a reservation, a prospective traveler or travel agent may send a travel search query to a computer reservation system server using an online application on the client device. The most common mechanism for submitting a travel search query requires the user to enter a value in a form control provided on the client device. The data may include search terms such as travel origin and destination, travel departure date and return date. The traditional approach for sending travel search queries is to enter search terms as values in form controls. The entered data is transmitted to a server of the computer reservation system, which performs a search based on the entered data, returns a matching travel plan to the client device and presents it to the user.
国際公開第2001/80177A2号では、ユーザーが探し求めているものを理解すること、データベース内のデータを理解すること、および正しい情報を見つけるためにすぐに役立つ提案を提示することが可能な検索エンジンおよびデータ管理技術を開示している。リアルタイムで情報に基づき、条件に合わせてユーザーが検索の範囲を狭めたり広げたりすることを可能にする、「スマートヒント」とも称される、実行可能な提案が開示される。スマートヒントは、検索、および対応する検索基準を記述し、これらの検索基準に従ってユーザーが取得する実際の検索結果に関する情報を提供する。システムは、提案エンジン、および1つまたは複数の提案空間を有する。スマートヒントにさまざまな形態がある。静的スマートヒント(Static Smart Tips)は、サイト内のいくつかのページ上に常に出現する単なる静的テキストメッセージである。動的スマートヒント(Dynamic Smart Tips)は、ユーザーがサイト上で実行した何らかのアクションに基づき出現する、またはユーザーがサイト上のどこにいるか、または何を遂行しようとしているのかに関係するヒントである。動的なのは、動的スマートヒントの実際のテキストではなく、それらのヒントが出現する時間と場所である。静的または動的スマートヒントは、例えば、ユーザーが職業プロフィール、ジョブポスティングなどのフォームに記入している間に使用される。次いで、国際公開第2001/80177A2号では、静的または動的スマートヒントを提示して、フォームが正しく確実に完成されることを助けるか、またはユーザーがいくつかのフィールドに完全に記入するか、または提案された内容を記入するのを助ける。 WO 2001 / 80177A2 is a search engine that can understand what the user is looking for, understand the data in the database, and offer suggestions that can quickly help find the right information Data management technology is disclosed. Based on information in real time, a viable proposal, also called “smart hint”, is disclosed that allows the user to narrow or broaden the scope of the search according to conditions. Smart hints describe searches and corresponding search criteria and provide information about the actual search results that the user obtains according to these search criteria. The system has a proposal engine and one or more proposal spaces. There are various forms of smart tips. Static Smart Tips are simply static text messages that always appear on several pages in the site. Dynamic Smart Tips are hints that appear based on some action the user has performed on the site or are related to where the user is on the site or what they are trying to accomplish. Dynamic is not the actual text of dynamic smart hints, but the time and place where those hints appear. Static or dynamic smart hints are used, for example, while a user is filling out a form such as a job profile, job posting, etc. Then, WO 2001 / 80177A2 presents static or dynamic smart hints to help ensure that the form is completed correctly or the user completes some fields, Or help fill out the suggested content.
旅行関係の検索クエリを入力するときにインタラクティブ旅行検索フォームのユーザーを補助するために、改善されたシステム、方法、およびコンピュータプログラム製品が必要である。 There is a need for improved systems, methods, and computer program products to assist users of interactive travel search forms when entering travel related search queries.
本発明の一実施形態によれば、インタラクティブフォームと相互作用する方法が提供される。この方法は、サーバーにおいて、インタラクティブフォームの第1のコントロールの値を受信するステップと、サーバーにおいて、インタラクティブフォームの第1のコントロールおよび第2のコントロールを相互に関係付ける推奨ルールを適用して、第2のコントロールに対する少なくとも1つの推奨値を決定するステップとを含み、第2のコントロールは、第1のコントロールの値がサーバーにおいて受信されたときに未記入であり、少なくとも1つの推奨値は、旅行関係検索クエリの他の部分を表す。この方法は、インタラクティブフォームの第2のコントロールに対する少なくとも1つの推奨値をサーバーからクライアントデバイスに伝達するステップと、クライアントデバイスが旅行関係検索クエリを送信するステップとをさらに含み得る。第1のコントロールおよび第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである。この方法は、コンピュータプログラム製品で具現化され得る。 According to one embodiment of the present invention, a method for interacting with an interactive form is provided. The method includes receiving a value of the first control of the interactive form at the server and applying a recommended rule that correlates the first control and the second control of the interactive form at the server. Determining at least one recommended value for the two controls, wherein the second control is unfilled when the value of the first control is received at the server, and the at least one recommended value is Represents the other part of the relationship search query. The method may further include communicating at least one recommended value for the second control of the interactive form from the server to the client device, and the client device sending a travel related search query. The first control and the second control are each one of a button, slider, spinner, list box, drop-down list, and combo box. This method may be embodied in a computer program product.
本発明の他の実施形態によれば、クライアントデバイスにおいてインタラクティブフォームと相互作用する方法が提供される。この方法は、クライアントデバイスにおいて、インタラクティブフォームの第1のコントロールに入力された値を受信するステップと、第1のコントロールの値の受信に応答して、インタラクティブフォームの第1のコントロールおよび第2のコントロールを相互に関係付ける推奨ルールを適用して、クライアントデバイスにおけるローカルキャッシュから第2のコントロールに対する少なくとも1つの推奨値を取り出すステップとを含み、第2のコントロールは、第1のコントロールの値がクライアントデバイスにおいて受信されたときに未記入であり、少なくとも1つの推奨値は、旅行関係検索クエリの他の部分を表す。この方法は、クライアントデバイスにおいてインタラクティブフォームの第2のコントロールに対する少なくとも1つの推奨値を表示するステップと、クライアントデバイスが旅行関係検索クエリを送信するステップとをさらに含む。第1のコントロールおよび第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである。この方法は、コンピュータプログラム製品で具現化され得る。 According to another embodiment of the present invention, a method is provided for interacting with an interactive form at a client device. The method includes receiving, at the client device, a value input to the first control of the interactive form, and in response to receiving the value of the first control, the first control and the second control of the interactive form. Applying a recommendation rule that correlates the controls to retrieve at least one recommended value for the second control from a local cache at the client device, wherein the second control has a value of the first control as the client Unfilled when received at the device, the at least one recommended value represents another part of the travel related search query. The method further includes displaying at least one recommended value for the second control of the interactive form at the client device, and the client device sending a travel-related search query. The first control and the second control are each one of a button, slider, spinner, list box, drop-down list, and combo box. This method may be embodied in a computer program product.
本発明の他の実施形態によれば、サーバーにおいてインタラクティブフォームの複数のコントロールに対する複数の値を受信し、このサーバーにより、相互に関係付けられたコントロールに対する値に基づいて複数の推奨ルールを決定する方法が提供される。それぞれの値は、複数のユーザーのそれぞれによってインタラクティブフォームの1つのコントロール内に入力された旅行関係検索クエリの一部分を含む。それぞれの推奨ルールは、相互に関係付けられたコントロールのうちの2つまたはより多くを論理的に接続する。コントロールはそれぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである。この方法は、コンピュータプログラム製品で具現化され得る。 According to another embodiment of the present invention, a server receives a plurality of values for a plurality of controls of an interactive form, and the server determines a plurality of recommended rules based on the values for the correlated controls. A method is provided. Each value includes a portion of a travel-related search query entered into one control of the interactive form by each of a plurality of users. Each recommended rule logically connects two or more of the interrelated controls. Each control is one of a button, slider, spinner, list box, drop-down list, and combo box. This method may be embodied in a computer program product.
本発明の他の実施形態によれば、クライアントデバイスと共に使用するための装置が実現される。装置は、インタラクティブフォームと相互作用するためにプロセッサによって実行されるように構成されたプロセッサおよびプログラムコードを備えるサーバーを具備する。プログラムコードは、プロセッサに、インタラクティブフォームの第1のコントロールに対する値を受信するステップと、インタラクティブフォームの第1のコントロールおよび第2のコントロールを相互に関係付ける推奨ルールを適用して、第2のコントロールに対する少なくとも1つの推奨値を決定するステップと、第2のコントロールに対する少なくとも1つの推奨値をサーバーからクライアントデバイスに伝達するステップとを実行させるように構成される。第2のコントロールは、第1のコントロールの値がサーバーにおいて受信されたときに未記入であり、第1のコントロールに対する値および第2のコントロールに対する少なくとも1つの推奨値は、旅行関係検索クエリの異なる部分を表す。第1のコントロールおよび第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである。 According to another embodiment of the present invention, an apparatus for use with a client device is implemented. The apparatus comprises a server comprising a processor and program code configured to be executed by a processor to interact with an interactive form. The program code applies to the processor a step for receiving a value for the first control of the interactive form and a recommended rule that correlates the first and second controls of the interactive form to the second control Determining at least one recommended value for the second control and communicating at least one recommended value for the second control from the server to the client device. The second control is blank when the value of the first control is received at the server, and the value for the first control and at least one recommended value for the second control are different in the travel-related search query Represents a part. The first control and the second control are each one of a button, slider, spinner, list box, drop-down list, and combo box.
本発明の他の実施形態によれば、装置は、少なくとも1つのプロセッサおよびローカルキャッシュを備えるクライアントデバイスを具備する。装置は、インタラクティブフォームと相互作用するためにプロセッサによって実行されるように構成されたプログラムコードをさらに備える。プログラムコードはプロセッサに、インタラクティブフォームの第1のコントロールに対する値を受信するステップと、インタラクティブフォームに入力された第1のコントロールの値の受信に応答してインタラクティブフォームの第1のコントロールおよび第2のコントロールを相互に関係付ける推奨ルールを適用して、クライアントデバイスにおけるローカルキャッシュから第2のコントロールに対する少なくとも1つの推奨値を取り出すステップと、クライアントデバイスにおいてインタラクティブフォームの第2のコントロールに対する少なくとも1つの推奨値を表示するステップと、第1のコントロールの値および第2のコントロールに対する少なくとも1つの推奨値を含む旅行関係検索クエリを送信するステップとを実行させるように構成される。第2のコントロールは、第1のコントロールの値がクライアントデバイスにおいて受信されたときに未記入であり、第1のコントロールの値および第2のコントロールに対する少なくとも1つの推奨値は、旅行関係検索クエリの異なる部分を表す。第1のコントロールおよび第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである。 According to another embodiment of the invention, the apparatus comprises a client device comprising at least one processor and a local cache. The apparatus further comprises program code configured to be executed by a processor to interact with the interactive form. The program code causes the processor to receive a value for the first control of the interactive form, and in response to receiving the value of the first control entered in the interactive form, the first control and the second control of the interactive form Applying recommended rules that correlate controls to retrieve at least one recommended value for the second control from the local cache on the client device, and at least one recommended value for the second control in the interactive form on the client device And displaying a travel related search query including at least one recommended value for the value of the first control and the second control. . The second control is unfilled when the first control value is received at the client device, and the first control value and at least one recommended value for the second control are Represents the different parts. The first control and the second control are each one of a button, slider, spinner, list box, drop-down list, and combo box.
本発明の他の実施形態によれば、装置は、インタラクティブフォームと相互作用するためにプロセッサによって実行されるように構成されたプロセッサおよびプログラムコードを備えるサーバーを具備する。プログラムコードは、プロセッサに、インタラクティブフォームの複数のコントロールに対する複数の値を受信するステップと、相互に関係付けられたコントロールに対する値に基づいて複数の推奨ルールを決定するステップとを実行させるように構成される。それぞれの値は、複数のユーザーによってインタラクティブフォームのコントロールのうちの1つに入力された旅行関係検索クエリの一部分を表す。それぞれの推奨ルールは、相互に関係付けられたコントロールのうちの2つまたはより多くを論理的に接続する。第1のコントロールおよび第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである。 According to another embodiment of the present invention, an apparatus comprises a server comprising a processor and program code configured to be executed by a processor to interact with an interactive form. The program code is configured to cause the processor to receive a plurality of values for a plurality of controls of the interactive form and to determine a plurality of recommended rules based on the values for the correlated controls. Is done. Each value represents a portion of a travel related search query entered into one of the interactive form controls by multiple users. Each recommended rule logically connects two or more of the interrelated controls. The first control and the second control are each one of a button, slider, spinner, list box, drop-down list, and combo box.
本明細書に組み込まれ、本明細書の一部分をなす添付図面は、本発明のさまざまな実施形態を例示するものであり、上記の発明の概要および下記の実施形態の詳細な説明と併せて、本発明の実施形態を説明するのに役立つ。 The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the summary of the invention described above and the detailed description of the embodiments below, Useful for describing embodiments of the present invention.
図1に示されているように、コンピュータ化予約システム(CRS)10は、サーバー12およびサーバー12と通信ネットワーク14を介して通信するように結合されたクライアントデバイス16を備える。CRS10は、情報の格納および取り出しを行い、飛行機旅行のオンライン検索、ブッキング、および購入などの、物とサービスに関係するオンライン取引を実施するために使用され得る。飛行機旅行に関して、CRS10は、所定の旅行プランの条件を満たす特定のフライトを識別することによって旅行検索クエリに応答し、それらのフライトを予約するか、または予約をブッキングするように構成される。CRSは、航空運賃、スケジュール、および利用できる座席数および他のデータへのリアルタイムアクセスを可能にする専用コンピュータシステムであってよく、またブッキングをするために、旅行代理店、オンライン旅行会社、および旅行事業会社などの旅行会社によってアクセスされ得る。CRS10は、横断的販売網(GDS)で具現化されるものとしてよく、これは、複数の航空会社に対する航空券、さらにはホテル、レンタカーなどの他の旅行関係商品のブッキングおよび販売を行う一種のCRSである。
As shown in FIG. 1, a computerized reservation system (CRS) 10 includes a
クライアントデバイス16のリモートにあるサーバー12は、一般的に、ローカルおよび/またはリモートに配置され、サーバー12に関連付けられている1つまたは複数のオペレーションを実行するように構成された1つまたは複数の相互接続されたコンピューティングデバイス/システムを備えることができる。通信ネットワーク14は、一般的に、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、公衆通信回線(例えば、インターネットサービスプロバイダを利用するインターネット)、エンタープライズプライベートネットワーク、セルラーネットワーク、および/またはこれらの組み合わせを含む、1つまたは複数の相互接続された通信ネットワークを含む。サーバー12とクライアントデバイス16とを接続するインターフェースは、ユーザーデータグラムプロトコル/インターネットプロトコル(UDP/IP)、および/または伝送制御プロトコル/インターネットプロトコル(TCP/IP)などの、情報をネットワーク14上で交換し、通信するためのルールおよびデータ形式を定義する1つまたは複数の好適な通信プロトコルを採用するものとしてよい。
The
与えられたセッションにおいて、クライアントデバイス16のユーザーは、旅行プランを立てる代表的な目的のためにサーバー12と通信ネットワーク14上で通信しているものとしてよい。しかし、単一のクライアントデバイス16が図1に示されているが、複数の異なるユーザーが異なるクライアントデバイス16を使用して同じ目的のためにサーバーと通信することができることは理解される。複数の異なるユーザーは、情報を同じインタラクティブフォーム40(図3)のフィールドまたはコントロールに入力することによって旅行検索クエリを作成することを目的としてサーバー12と通信するユーザーのプールを構成する。
In a given session, the user of the
簡単に言うと、ユーザーによってクライアントデバイス16におけるインタラクティブフォーム40のフィールドまたはコントローラに入力された値は、ネットワーク14上でサーバー12に伝達される。サーバー12における推奨モジュール62は、受信されたコントロール値を履歴データベース80内に格納し、双方向矢印13によって示されているように、履歴データベース80から格納されている値を取り出すことができる。格納されている値は、ユーザープリファレンスおよびユーザー履歴を確立するために履歴データベース80のレコードに載っている特定のユーザーに関連付けられ得る。サーバー12における推奨モジュール62は、推奨ルールデータベース64にクエリを実行して、推奨ルールデータベース64に格納されている推奨ルールセットにアクセスし、インタラクティブフォーム40のコントロールに対する推奨の形態で提案を論理的に生成する。取り出された推奨ルールは、クエリの照合を行い、推奨ルールが確立されているインタラクティブフォーム40における相互に関係付けられたコントロールを反映する。推奨ルールデータベース82のクエリは、図1の双方向矢印15によって表される。推奨は、比較的高い確率の予測されるコントロール値を表し、インタラクティブフォーム40のユーザーが例えば旅行ブッキングクエリ(trip booking query)を生成するのに必要なインタラクティブフォーム40の1つまたは複数のコントロールに対する値を選択する必要を省くために利用され得る。推奨は、サーバー12からクライアントデバイス16に伝達され、インタラクティブフォーム40を適応させるためにクライアントデバイス16によって使用される。推奨プロセスは、コントロール値のユーザー入力およびクライアントデバイス16からの連続的データフローと同期し得る。監視モジュール66は、受信されたコントロール値を監視するために推奨モジュール62のオペレーションと連携して以下で説明されているように機能する。
Briefly, the value entered by the user into the field or controller of the
学習モジュール64は、履歴データベース80にクエリを実行して、矢印17に示されているように、インタラクティブフォーム40のコンロールに対する履歴的ユーザー入力項目の格納されている値を取り出す。学習モジュール64は、アルゴリズムを使用して、インタラクティブフォーム40の相互に関係付けられたコントロールに対する推奨ルールを計算する。学習モジュール64は、双方向矢印19に示されているようなビジネスルールデータベース84に格納されている予め定義されたビジネスルールおよび/または双方向矢印21によって示されているようなパラメータデータベース86に格納されている静的パラメータにアクセスすることができる。学習モジュール64は、矢印23に示されているように、新しい推奨ルールを挿入し、既存の推奨ルールを更新または削除することによって推奨ルールデータベース82の内容を操作するように構成される。学習モジュール64によって計算されるそれぞれの推奨ルールは、相互に関係付けることが論理的に可能である異なるコントロールを相互に関係付ける。
The
同じ番号は図1における同じ特徴を指している図2に示されているように、クライアントデバイス16は、本発明の実施形態と一致する1つまたは複数のオペレーションを実行する、および/またはそれらのオペレーションをクライアントデバイス16のコンポーネントに実行させるための1つまたは複数の命令を実行するように構成された1つまたは複数の処理ユニット20を備える。クライアントデバイス16は、典型的にはインタラクティブフォーム40と相互作用して旅行関係検索クエリを実行するために使用される携帯電話、スマートフォン、タブレットコンピュータ、携帯情報端末(PDA)、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータなどの任意の種類の電子デバイスであってよい。
As shown in FIG. 2, where the same numbers refer to the same features in FIG. 1, the
クライアントデバイス16は、入力/出力(「I/O」)インターフェース22、ディスプレイ24、および外部デバイス26を備える。クライアントデバイス16のI/Oインターフェース22は、処理ユニット20に伝達されるデータをディスプレイ24から、また外部デバイス26から受信するように構成され、データを処理ユニット20からディスプレイ24および外部デバイス26に出力するように構成され得る。ディスプレイは、例えば、コンピュータモニタまたは携帯電話もしくはタブレットの画面であってよい。代替的に、ディスプレイ24は、ユーザーが出力データを受信し、表示することを可能にする機能だけでなく、ユーザーが例えば画面上の仮想キーボードでデータを入力することを可能にする機能も有するタッチスクリーンであってもよい。外部デバイス26は、例えば、キーボード、キーパッド、マウス、マイクロフォンなどの追加のユーザー入力デバイス、ならびにスピーカーなどの追加のユーザー出力デバイスを備えることができる。クライアントデバイス16は、ネットワーク14との物理的接続を提供し、ネットワーク14上でサーバー12にデータを送信し、サーバー12からデータを受信するように構成された、ネットワークインターフェースカードまたはトランシーバなどのネットワークアダプタ28も備えることができる。一実施形態において、クライアントデバイス16は、当技術分野で知られているようなモバイルサービスプロバイダとの契約に基づきネットワーク14と通信することができる。
クライアントデバイス16のメモリ30は、ソフトウェアモジュールまたはアプリケーション32および/またはオペレーティングシステム34を格納するように構成され、クライアントアプリケーション32およびオペレーティングシステム34はそれぞれ、一般的に、それぞれの処理ユニット20によってメモリ30から読み出せるプログラムコードとして格納されている1つまたは複数の命令を備える。これらの命令は、処理ユニット20によって実行されたときに、それぞれの処理ユニット20に、1つまたは複数のオペレーションを実行しそれによって本発明のさまざまな実施形態を具現化するステップ、要素、および/またはブロックを実行するのに必要なステップを実行させることができる。
The
メモリ30は、コンピュータのメインストレージ、さらには補助的レベルのメモリ、例えば、キャッシュメモリ、不揮発性もしくはバックアップメモリ(例えば、プログラム可能もしくはフラッシュメモリ)、大容量ストレージメモリ、リードオンリーメモリ(ROM)などを含むランダムアクセスメモリ(RAM)を代表するものとしてよい。それに加えて、メモリ30は、別の場所に物理的に配置されているメモリストレージ、例えば、クライアントデバイス16と通信するコンピューティングシステムのプロセッサ内のキャッシュメモリ、さらにはクライアントデバイス16と通信するコンピューティングシステム上のストレージデバイス(例えば、リモートストレージデータベース、リモートコンピューティングデバイスのメモリデバイス、クラウドストレージなど)を含むことが企図され得る。
メモリ30内のクライアントアプリケーション32は、クライアントデバイス16上のローカルで実行され、そのプログラムコードは、それぞれの処理ユニット20によって実行されたときに、インタラクティブフォーム40(図3)の作成およびオペレーションを容易にする命令を含み得る。インタラクティブフォーム40は、クライアントデバイス16のユーザーとクライアントデバイス16のリモートの場所に配置されているサーバー12との間のインターフェースを形成する。したがって、ユーザーは、ディスプレイ24に表示されるインタラクティブフォーム40(図3)と相互作用することができる。
The
クライアントアプリケーション32は、インタラクティブフォーム40をクライアントデバイス16のディスプレイ24に表示してユーザーに示すことができる。インタラクティブフォーム40は、フォーム40に対する情報およびアクションがグラフィカルアイコンおよび視覚的インジケータを通じてクライアントデバイス16のユーザーに利用可能であるグラフィカルユーザーインターフェースに表示され得る。例えば、インタラクティブフォーム40は、オペレーティングシステム34に関連付けられ、ウェブ閲覧機能を実現したソフトウェアアプリケーションによって構成され得る、ブラウザ50(図3)上にウェブページとして表示されるものとしてよい。ブラウザ50は、携帯電話またはタブレットなどの、モバイルデバイス上で使用するように特に設計されているモバイルブラウザを含み得る。ハイパーテキストマークアップ言語(HTML)などのマークアップ言語で、ブラウザ50に表示するためのインタラクティブフォーム40を作成する。例えば、マークアップ言語は、インタラクティブフォーム40の挙動に影響を及ぼすスクリプト言語からのスクリプトを埋め込むことができる。代替的に、クライアントアプリケーション32は、スマートフォン、タブレットコンピュータ、または他のモバイルデバイス上で実行するように設計され、ネットワークアクセス可能な場所(例えば、モバイルアプリケーションストアまたはアクセス可能なデータベース、コンピュータ可読記憶媒体など)などのアプリケーション配布プラットフォームからダウンロードされるモバイルアプリケーション(すなわち、モバイルアプリ)も含み得る。
The
クライアントデバイス16は、処理ユニット20からアクセス可能なローカルキャッシュ38をさらに備えることができる。ローカルキャッシュ38は、例えばサーバー12から受信されるデータのコピーをローカルに格納するように構成されたメモリ30の1セクションであってもよい。
図3に示されているように、インタラクティブフォーム40は、ユーザーがクライアントデバイス16でデータを入力し、次いで、入力されたデータを処理のためネットワーク14上でサーバー12に伝達することを可能にする。アクティブフォーム40は、さまざまな異なるユーザーインターフェース要素、特に、コントロール値などの内容のユーザー入力を容易にするコントロール42、43、44、45、46の形態のユーザーインターフェース要素を備えることができる。追加のコントロール(図示せず)は、インタラクティブフォーム40のインターフェース要素として表示され得る。インタラクティブフォーム40に入力されるデータは、代表的な実施形態において説明されているような旅行ブッキングを目的とする旅行検索クエリなどの旅行に関係付けられたものであってよい。しかし、インタラクティブフォームにも大きく依存する旅行プラン管理、フライト状況などの他の種類の旅行関係アプリケーション、およびインタラクティブフォームフローは、本発明の実施形態の恩恵を受け得る。
As shown in FIG. 3,
コントロール42、43、44、45、46は、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスを含み得る。それぞれのコントロールは、コントロールに対する値として入力され得る対象にテキストによるコンテキストを付与する1つまたは複数のラベルもしくはキャプションを備えることができる。インタラクティブフォーム40上のコントロール42、43、44、45、46は、ユーザー入力値を含む新しいデータに対する入力テンプレートとして機能し、例えば、サーバー12から供給されるコントロール値からインタラクティブフォーム40に供給されるデータを表示することができる。
ボタンは、アクションを実行するためにクリックされ得るコントロールである。代表的なボタンとして、限定はしないが、オプションの選択または選択解除(すなわち、トグル)するためにクリックされ得るチェックボックス、一度に1つのオプションを選択できるオプション群の選択からオプションを選択するためにクリックされ得る一組のラジオボタン、および典型的には何らかの既定のアクションを伴う、ボタンの機能を関係する二次アクションを促すドロップダウンリストと組み合わせるスプリットボタンが挙げられる。 A button is a control that can be clicked to perform an action. As a representative button, to select an option from, but not limited to, a checkbox that can be clicked to select or deselect (i.e. toggle) an option, a group of options that can be selected one option at a time A set of radio buttons that can be clicked, and a split button that combines a function of the button, typically with some predefined action, with a drop-down list that prompts secondary actions related.
スライダーは、項目に対する値を選択するために垂直方向または水平方向に移動され得るインジケータを有するか、または2つのインジケータが存在する場合、項目に対する値の範囲の選択を可能にするダブルスライダーを含む。スピナーは、ユーザーが値の範囲内を一段ずつ辿ることを可能にする上向き矢印および下向き矢印ボタンを持つ値入力コントロールである。 The slider has an indicator that can be moved vertically or horizontally to select a value for the item or includes a double slider that allows selection of a range of values for the item when two indicators are present. A spinner is a value input control with up and down arrow buttons that allows the user to navigate through the range of values step by step.
リストボックスでは、ユーザーは、静的な複数行テキストボックス内に含まれるリストから1つまたは複数の項目を選択することができる。ドロップダウンリストは、ユーザーが選択できる項目のリストが表示されるという点でリストボックスに類似している。リストボックスと異なり、ドロップダウンリストは、リストの項目を示すために永続的に展開されたままにされず、その代わりに動的である。ドロップダウンリストが非アクティブである場合、単一の項目が表示される。ドロップダウンリストがアクティブ化された場合、ユーザーが項目を1つ選択できる項目のリストが表示される。ユーザーが新しい項目を選択した後、ドロップダウンリストは、非アクティブ状態に戻り、選択された値を表示する。コンボボックスは、ユーザーが項目のリストから1つまたは複数の入力項目を消せるように編集可能なテキスト入力フィールドをリストボックスと組み合わせるドロップダウンリストの変更形態である。 List boxes allow the user to select one or more items from a list contained within a static multi-line text box. A drop-down list is similar to a list box in that it displays a list of items that the user can select. Unlike list boxes, drop-down lists are not left permanently expanded to show the items in the list, but instead are dynamic. If the drop-down list is inactive, a single item is displayed. When the drop-down list is activated, a list of items from which the user can select one item is displayed. After the user selects a new item, the drop-down list returns to the inactive state and displays the selected value. A combo box is a modification of a drop-down list that combines an editable text input field with a list box so that the user can delete one or more input items from the list of items.
フォームは、1つまたは複数のテキストボックスを備えることもできる。テキストボックスは、編集可能なテキスト入力フィールドに関連付けられ、ユーザーがインタラクティブフォーム40内にテキストの1つまたは複数の行もしくは文字列を値として入力することを可能にする。ユーザーは、キーボードを使用してテキストを入力し、キーボード、マウス、またはタッチスクリーンを使用してテキストの一部分をナビゲートし、選択し、すでに入力されているテキストを編集することができる。
A form can also include one or more text boxes. A text box is associated with an editable text entry field and allows a user to enter one or more lines or strings of text as values in the
インタラクティブフォーム40のコントロール42、43、44、45、46は、旅行特有のコントロールを含み得る。旅行特有のコントロールの種類の1つは、名前もしくは国際航空運送協会(IATA)コードによる特有の場所の選択を容易にする旅行検索クエリに対する出発地または旅行検索クエリに対する目的地などの場所に対するオートコンプリート選択グループである。他の旅行特有のコントロールとして、限定はしないが、幼児の数を選択するために使用されるインファントセレクター(infant selector)、旅行が往復であるかどうかを選択する往復トグル、日付の選択を可能にするカレンダーコントロールを備える日付ピッカー、日付範囲の選択を可能にするカレンダーコントロールである開始および終了日付ピッカー、12時間または24時間セレクターを備える時間スライダー、ダブルスライダーのインタラクティブフォーム40内の時間範囲セレクター、ユーザーが旅行に対する特別な好みを入力することを可能にする特別サービス要求セレクター、ならびにサービスキャビンセレクター(service cabin selector)(エコノミー、ビジネスクラスなど)が挙げられる。
The
コントロール42、43、44、45、46のうちの特定の1つに対する1つまたは複数の選択肢が、ディスプレイ24および/または外部デバイス26(図2)を使用してユーザーによって指示され、および/または選択され得る。選択を行うために、ユーザーは、キーボード上のキーを押下することによってコントロールに対する値を選択するか、またはマウスのボタンをクリックし、キーボードもしくはマウスを使用する、指先もしくは電気機械的入力デバイスでディスプレイ54の画面にタッチする、音声認識システムに話しかけるなどによってカーソルを位置決めすることができる。
One or more options for a particular one of the
インタラクティブフォーム40は、インタラクティブフォーム40の動的作成および修正を可能にするように、Java(登録商標)Scriptなどのスクリプト言語を通じて制御され、機能を充実化することができる。特に、スクリプト言語は、コントロール42、43、44、45、46の内容および視覚的挙動に影響を及ぼす機能を有する。例えば、チェックボックスが事前選択される、ドロップダウンリストに対する選択オプションが重要度の順に並べ替えられる、スライダーに対する日付範囲がプリセットされる、テキストボックスにデータが事前に埋め込まれる、テキストボックスのオートコンプリートオプションが設定される、などが可能である。インタラクティブフォーム40の制御および充実化は、事前に書かれているJava(登録商標)ScriptのJava(登録商標)Scriptライブラリおよびクライアントアプリケーション32(図2)を含むJava(登録商標)Scriptインタプリタによって実現され得る。Java(登録商標)Scriptインタプリタは、Java(登録商標)ScriptライブラリのJava(登録商標)Scriptソースコードを解釈し、スクリプトをしかるべく実行する。スクリプト言語は、インタラクティブフォーム40を構築し、インタラクティブフォーム40のユーザーインターフェース要素は、コントロールに入力される内容を受け入れ、コントロールに入力されるデータを事前検証し、および/またはクライアントデバイス16からサーバー12に送信するフォームデータを準備し、サーバー12からクライアントデバイス16によって受信された内容を、ユーザー入力によって書き込まれるかもしくは他の何らかの処理がなされおよび/またはインタラクティブフォーム40上でユーザーに対して表示されることがまだなされていないコントロール42、43、44、45、46に出力させる。
The
クライアントアプリケーション32は、クライアントデバイス16とサーバー12との間のデータ交換を可能にするプログラムコードをさらに含み得る。一実施形態において、データ交換は、AJAX、拡張可能メッセージングおよびプレゼンスプロトコル(XMPP)などを使用して非同期非ブロッキング方式で行うことができ、クライアントデバイス16によって開始される。クライアントアプリケーション32は、データを送信することと、サーバー12からデータを取り出すこととを、非同期に、好ましくはインタラクティブフォーム40の表示および挙動に干渉することなくバックグラウンドで行うことができる。代替的に、データ交換に対する要求がサーバー12によって開始されるプッシュ技術が使用されてもよい。
同じ番号は図1における同じ特徴を指している図4に示されているように、サーバー12は、1つまたは複数の命令を実行して、本発明の実施形態と一致する1つまたは複数のオペレーションを実行する、および/またはクライアントデバイス16と相互作用して本発明の実施形態と一致する1つまたは複数のオペレーションを実行する1つまたは複数の処理ユニット58を備える。サーバー12は、1つまたは複数の処理ユニット58によってアクセス可能なメモリ60を備える。サーバー12のメモリ60は、ソフトウェアアプリケーションもしくはモジュール62、64、66、68、および/またはオペレーティングシステム70を格納するように構成され、モジュール62、64、66、68およびオペレーティングシステム70はそれぞれ、一般に、それぞれの処理ユニット58によってメモリ60から読み出せるプログラムコードとして格納されている1つまたは複数の命令を備える。これらの命令は、処理ユニット58によって実行されたときに、それぞれの処理ユニット58に、1つまたは複数のオペレーションを実行しそれによって本発明のさまざまな実施形態を具現化するステップ、要素、および/またはブロックを実行するのに必要なステップを実行させることができる。
As shown in FIG. 4, where the same numbers refer to the same features in FIG. 1, the
メモリ60は、コンピュータのメインストレージ、さらには補助的レベルのメモリ、例えば、キャッシュメモリ、不揮発性もしくはバックアップメモリ(例えば、プログラム可能もしくはフラッシュメモリ)、大容量ストレージメモリ、ROMなどを含むRAMを代表するものとしてよい。それに加えて、メモリ60は、別の場所に物理的に配置されているメモリストレージ、例えば、サーバー12と通信するコンピューティングシステムの処理ユニット内のキャッシュメモリ、さらにはサーバー12と通信するコンピューティングシステム上のストレージデバイス(例えば、リモートストレージデータベース、リモートコンピューティングデバイスのメモリデバイス、クラウドストレージなど)を含むことが企図され得る。
サーバー12は、入力/出力(「I/O」)インターフェース72、ディスプレイ74、および外部デバイス76をさらに備える。サーバー12のI/Oインターフェース72は、処理ユニット58に伝達されるデータをディスプレイ74から、また外部デバイス76から受信するように構成され、データを処理ユニット58からディスプレイ74および外部デバイス76に出力するように構成され得る。ディスプレイ74および外部デバイス76は、管理者などのユーザーがサーバー12から出力データを受信し、および/または入力データをサーバー12に供給することを可能にする機能を有するものとしてよい。サーバー12は、ネットワーク14との物理的接続を提供し、ネットワーク14上でクライアントデバイス16にデータを送信し、および/またはクライアントデバイス16からデータを受信するように構成された、ネットワークアダプタ78を備えることもできる。ネットワークアダプタ78は、IEEE 802.3(イーサネット(登録商標))リンクなどの配線によるリンク、802.11(Wi-Fi)リンクなどのワイヤレスネットワークプロトコルを使用するワイヤレスリンク、またはサーバー12をネットワーク14とインターフェースするための他の好適なリンクであってよい。
メモリ60は、履歴データベース80、推奨ルールデータベース82、ビジネスルールデータベース84、およびパラメータデータベース86も格納する。データベース80、82、84、86のそれぞれは、データ、およびデータを格納し、組織化する支援データ構造体を含む。特に、データベース80、82、84、86のそれぞれは、限定はしないが、リレーショナルデータベース、階層型データベース、ネットワークデータベース、および/またはこれらの組み合わせを含む、データベース組織化および/または構造で配置構成され得るデータの構造化された集合体を表す。処理ユニット58上で命令として実行するコンピュータソフトウェアアプリケーションの形態をとるデータベース管理システムは、クエリに応答してデータベース80、82、84、86のレコードに格納されている情報またはデータにアクセスするために使用される。データベース80、82、84、86のそれぞれは、データが効率よく使用できるようにデータにおいて対応するデータを組織化し、格納する。データの組織化は、情報を必要とするプロセスをサポートすることができる(例えば、推奨ルールデータベース82内で推奨ルールを見つける)。
The
サーバー12における推奨モジュール62は、クライアントデバイス16と直接インタラクティブにやり取りする。推奨モジュール62は、インタラクティブフォーム40のコントロール42、43、44、45、46内に入力されるか、またはインタラクティブフォーム40のコントロール42、43、44、45、46においてユーザーによって選択された値を受信する。推奨モジュール62は、履歴データベース80内にインタラクティブフォーム40から受信されたすべてのユーザー選択値を格納する。ストレージプロセスと並行して、受信された値は、推奨ルールデータベース82内に格納されている推奨ルールセットを呼び出すユーザー入力の一部分に基づき確率論的推論プロセスに供給するためにも使用される。部分的旅行検索クエリに応答して、推奨モジュール62は、推奨ルールデータベース82にクエリを実行し、クエリのコンテキストに適している1つまたは複数の推奨ルールを受信する。クエリは、構造化照会言語(SQL)などの、照会言語を使用して作成され得る。
The
推奨モジュール62は、記入済みフォームコントロールに対する知られている値セットからインタラクティブフォーム40内の未記入コントロールに対する予測される値を決定するために推奨ルールを適用する。例えば、複数のコントロールに対する複数の知られている値は、統計上の相関関係を有する1つまたは複数の未記入コントロールに対する推奨、および好ましくは、確率論的依存関係の形態で統計上の相関関係を有する複数のコントロールのそれぞれに対する1つまたは複数の値の推奨をもたらし得る。推奨のそれぞれの推奨値は、サーバー12からクライアントデバイス16に伝達され得る。
The
クライアントデバイス16におけるクライアントアプリケーション32は、サーバー12から受信された推奨値を使用して、ユーザーがコントロールに入力する前にコントロールのうちの1つにデータを事前記入または事前投入する、コントロールにおいてユーザーに提案されるべき値を順序付ける、インタラクティブフォーム40に対して他の形で適応を行う(例えば、コントロール内のオプションをマスクする)、などを行うことができる。その結果、インタラクティブフォーム40内の1つまたは複数の記入済みコントロールの知られているセットに基づき、インタラクティブフォーム40内の1つまたは複数の未記入コントロールの値またはあり得そうな値を具現化する少なくとも1つの推奨ルールが、インタラクティブフォーム40内の未記入コントロールにデータを投入する機能に対して推奨モジュール62によって適用され、それによって、クライアントデバイス16のユーザーによる旅行検索クエリの簡素化された入力を容易にする。
The
推奨モジュール62によって行われる推奨では、クライアントデバイス16におけるユーザーの個人履歴データを考慮することもできる。例えば、ユーザーの素性が知られており(すなわち、登録ユーザーである)、推奨モジュール62は、過去の推奨に関するユーザーの個人履歴データにアクセスすることができる。ユーザーは、コントロールに対する値のプリファレンスが格納され、それによって個人履歴データとして知られる登録ユーザーであるものとしてよい。個人履歴データから導出されたコントロールに対するユーザープリファレンスは、推奨ルールから導出されたコントロール値と併せて考慮され得る。
The recommendations made by the
推奨モジュール62によって行われる推奨では、クライアントデバイス16のコンテキストに関係する情報も考慮し得る。例えば、クライアントデバイス16は、推奨を行う際に使用するサーバー12へのデータとして、場所などのデバイス依存情報を伝達することができる。クライアントデバイス16は、時刻、曜日などのクライアントデバイス16上に見つかる、および/または計算され得るデータを含む他の種類のデバイス独立情報を伝達することもできる。これらの種類の情報も、推奨を行うときに推奨モジュール62よって考慮され得る。
Recommendations made by
学習モジュール64は、複数のデータソースからデータを入力し、データに関係する予測などの推奨ルールを生成するために使用される予測アルゴリズムを学習させるように構成される。特に、学習モジュール64は、相互に関係付けられた(すなわち、相互に関連する)インタラクティブフォーム40のコントロール間の推奨ルールを生成する。予測アルゴリズムは、インタラクティブフォーム40のコントロールのうちの一部分または全部が、1つまたは複数のコントロールへの値の入力が1つまたは複数の他のコントロールに対する予測値に影響を及ぼすようにおそらくコントロールの相関する対としてまたはコントロールの相関するグループとして、統計的に相関するという仮定に基づく。1つまたは複数のコントロールは、推奨ルールのベースであり、推奨ルールを計算するために予測アルゴリズムによって適用される相互関係をもたらすように1つまたは複数の他のコントロールと統計的に相関し得る。例えば、複数のコントロールが、相互関係をもたらすように複数の他のコントロールと統計的に相関し得る。
The
学習モジュール64は、推奨ルールを格納するためのリポジトリとして使用される、推奨ルールデータベース82に推奨ルールを供給する。学習モジュール64の実行は、推奨モジュール62の実行から切り離されている。例えば、学習モジュール64は、規則正しい周期で(例えば、1時間に1回)、ユーザーのインタラクティブな操作によるトリガーなしで、非同期に実行され得る。特に、学習モジュール64は、クライアントデバイス16においてユーザーのインタラクティブな操作による任意の種類のトリガーに関係なく推奨ルールを決定することができる。
The
学習モジュール64にデータを供給するデータソースの1つは、モジュール62、64の両方にアクセス可能であるユーザーから蓄積された履歴協調データを含む、履歴データベース80である。履歴データベース80は、生データまたは集約データとしてデータを格納することができる。推奨モジュール62は、履歴データベース80にインタラクティブフォーム40のすべてのユーザーの選択を表すデータを書き込む。履歴データベース80は、クライアントデバイス16からユーザー選択が受信されるときにリアルタイムで更新されるものとしてよく、データインスタンスはすべて、生データであろうと集約データであろうと、増分的な仕方でリフレッシュされる。
One data source that provides data to the
学習モジュール64は、推奨ルールを生成する際に使用するために履歴データベース80からのフォーム選択の協調履歴データを読み取る。履歴データベース80からの入力データは、観察されているユーザー選択の間の可能な関係のインスタンスを表し、推奨モジュール62は、履歴データベース80内のデータの知られていない基本的な確率分布の注目する特性を取り込む。
The
履歴データベース80は、クライアントデバイス16におけるインタラクティブフォーム40のそれぞれの特定のユーザーと相関するフォーム選択の個人履歴データも含み得る。推奨モジュール62は、推奨ルールデータベース82からの推奨ルールの適用から導出される推奨と併せて推奨を生成する際に使用するために履歴データベース80からこの個人履歴データを読み取ることができる。
The
協調履歴データが、履歴データベース80内に生データとして格納される場合、学習モジュール64は、予測アルゴリズムがユーザー選択のパターンの変化を検出することができるように制限なしですべての協調履歴データにアクセスすることができる。例えば、現在は重要でないまたは際立っていないユーザー選択に関係するパラメータは、将来、重要または際立つことになることもあり得、したがって、学習モジュール64が変更に適応できるように生データが必要である。多数のレコードに対応できるように、生データは、データの繰り返しを回避すること、および可能ならば精度を失うことなく個別のレコードではなくカウントを格納することなど、インテリジェントな仕方で組織化されなければならない。
When collaborative history data is stored as raw data in the
協調履歴データが、集約され、履歴データベース80内に集約データとして格納される場合、学習モジュール64は、生の形態の場合よりも素早くデータを処理することができる。集約形式でデータを格納することで、学習モジュール64が実行される毎にデータを集約する必要がなくなる。
If the collaboration history data is aggregated and stored as aggregated data in the
他のデータソースは、推奨ルールを決定するプロセスにおいて学習モジュール64によってアクセスされ得る。例えば、そのようなデータソースの1つは、予め定義されたビジネスルールを含む、ビジネスルールデータベース84であるものとしてよい。例えば、代表的なビジネスルールは、観光旅行の大半が土曜の夜の滞在を含むというものであってよい。学習モジュール64によってアクセスされ得るさらに別のデータソースは、静的パラメータを含む、パラメータデータベース86である。例えば、代表的静的パラメータは、インタラクティブフォーム40のコントロールに対する特定の値を無視する命令である。
Other data sources may be accessed by the
学習モジュール64は、1つまたは複数の予測アルゴリズムを使用して、旅行者の確率的性向に基づき推奨ルールデータベース82に対する推奨ルールを計算することができる。一般的に、推奨ルールでは、最大の割合のユーザーによって選択されるコントロールに対する値を追跡するコントロール値を予測する。推奨ルールは、履歴データベース80内の協調履歴データを使用して計算され得る。代表的予測アルゴリズムは、例えば、協調フィルタリングまたはニューラルネットワークに基づくものとしてよい。ある学習期間が過ぎた後、アルゴリズムの出力は、推奨ルールを定義する予測因子であり、これは、部分的に記入されたインタラクティブフォーム40内の既存のユーザー入力項目に基づきコントロールに対する値を提案するために推奨モジュール62によって使用され得る。履歴データベース80からの履歴協調データは、アルゴリズムに初期学習セットして提供され得る。
The
協調フィルタリングは、教師なし学習の代表的な実施形態を提供し、一般的に、複数のデータソースからのデータを処理するアルゴリズムを使用して大量の情報をフィルタリングする。協調フィルタリングは、フォームのコントロール内の異なる変数に対する選択された値の間の(例えば、選択された値の対の間の)相関を確定し、少なくともこれに基づき推奨ルールに対する推奨を生成する。協調フィルタリングは、履歴データベース80内の協調履歴データから旅行者の過去の挙動(すなわち、フォーム選択)を導出し、その協調履歴データを使用して、機会が与えられた場合に旅行者が選択する可能性のある選択を予測する。これらの予測は、ビジネスルールデータベース84およびパラメータデータベース86からのビジネス論理を使用してフィルタリングされる。このようにして、学習モジュール64は、協調フィルタリングを使用して、インタラクティブフォーム40のコントロールのファイル内に使用選択として潜在的に出現し得る値の間の関係を指定する項目別行列を推奨ルールデータベース82内に構築することができる。
Collaborative filtering provides an exemplary embodiment of unsupervised learning and generally filters large amounts of information using algorithms that process data from multiple data sources. Collaborative filtering establishes a correlation between selected values for different variables in the controls of the form (eg, between selected value pairs) and generates a recommendation for a recommendation rule based at least on this. Collaborative filtering derives a traveler's past behavior (ie, form selection) from the collaborative history data in the
ニューラルネットワークは、教師あり学習の代表的な実施形態を提供し、一般的に、履歴データベース80内の協調履歴データのパターンを見つけるために使用される数学的モデルまたは計算モデルによって表される。ニューラルネットワークは、学習フェーズにおいて供給される履歴旅行者データに基づきその構造が変化し得るという点で適応システムである。履歴データベース80から受信された協調履歴データに基づき、ニューラルネットワークは、与えられたコスト基準を最小化する許容モデルのセットからモデルを計算することができる。
Neural networks provide an exemplary embodiment of supervised learning and are generally represented by mathematical or computational models used to find patterns of collaborative history data in the
学習モジュール64は、履歴データベース80内の協調履歴データに関連付けられているフォームコントロールの値に対する最適なレベルの集約を決定する1つまたは複数の集約アルゴリズムも特徴とする。集約は、1つまたは複数のフォームコントロールおよびそれらの関連付けに対する値のセットに対して実行されるものとしてよく、通常は、旅行、例えば、出発地、目的地、出発日、帰国日、航空会社などに特有である。集約アルゴリズムは、例えば、利用可能であるデータセットのサイズに基づきコントロール値を集約するかどうか、および/または特定のコントロールが際立っているかどうかを決定する。
The
推奨ルールを定義するためデータを集約する決定において使用される因子の1つは、履歴データベース80内に格納されているコントロールの値に対するデータセットのサイズである。セットのサイズを条件として、集約アルゴリズムは、次第に粗くなる精度に従ってコントロール値を集約し、推奨の統計的有意性を改善することを決定することができる。例えば、出発地から特定の目的地に対する値は、出発地としての主要民間機専用空港、出発地としての単一の国の地域に限定されている複数の主要民間機専用空港を含む地理的地域、または出発地として単一の国内のすべての主要民間機専用空港などのなおいっそう広い地理的地域に従って集約され得る。特定の例では、ニース-ロンドン旅行に対する集約アルゴリズムに供給される履歴データは、少なすぎて統計的に有意な予測を得ることができない。そのような成り行きでは、集約アルゴリズムは、ニース-ロンドン旅行に対する1つまたは複数の推奨ルールを代表するような、より粗い精度を有し、より高い統計的有意性を有する、すべてのフランス-ロンドン旅行に対するデータを集約することを決定することができる。
One factor used in the decision to aggregate data to define the recommendation rules is the size of the data set relative to the control values stored in the
集約は、履歴データベース80内のコントロール値のそれぞれのセットについて決定される。特定の例において、より粗い集約は、推奨ルールデータベース82に供給されるニース-ロンドン旅行に対する推奨ルールにおける出発地としてニースに特有である。しかし、ニース-ロンドン推奨は、フランス-ロンドンデータに基づき決定されるという事実は、集約アルゴリズムがロンドンへの旅行に対する出発地としてのフランスの他の空港に対する推奨をフランス-ロンドンデータの集約に基づかせることを決定することを意味しない。例えば、履歴データベース80は、集約が出発地と目的地とのその特定の対に対して必要でないと集約アルゴリズムが決定することができるようにパリ-ロンドン旅行プランに対して十分なデータを保持することができる。
Aggregation is determined for each set of control values in the
集約アルゴリズムは、複数の集約が必要であると決定し得る。例えば、ニース-ソルトレークシティ旅行プランに対する履歴データベース80内のデータは、小さすぎて、集約アルゴリズムによって統計的に有意であるとみなされず、フランス国のより大きな地理的単位におけるすべての主要民間機専用空港からソルトレークシティへの旅行に対する履歴データベース80内のデータも同様である。この場合、集約アルゴリズムは、ニースからソルトレークシティへの旅行に対する推奨ルールを決定する際に使用するためにフランスのすべての主要民間機専用空港から米国西部のすべての主要民間機専用空港への旅行に対するデータを集約するなどのより高いレベルでの集約を実行することを決定することができる。
The aggregation algorithm may determine that multiple aggregations are required. For example, the data in the
推奨ルールを定義するためデータを集約することを決定する際に使用される因子の1つは、特定のフォームコントロールが際立っていると考えられ得ることである。例えば、航空会社の選択が、出発地と目的地との与えられた対に対する滞在期間に強く依存しない場合、滞在期間は、航空会社の推奨の決定について集約アルゴリズムによって考慮される際立ったフォームコントロールではない。したがって、滞在期間は、無視され、さまざまな滞在期間に対するデータレコードが集約され得る。 One factor used in deciding to aggregate data to define recommendation rules is that certain form controls can be considered prominent. For example, if the choice of airline does not depend strongly on the duration of stay for a given pair of origin and destination, the duration of stay is a distinct form control that is considered by the aggregation algorithm for determining the airline's recommendation. Absent. Thus, the stay period is ignored and data records for various stay periods can be aggregated.
推奨ルールを計算するときに、学習モジュール64は、ビジネスルールデータベース84のレコードに含まれるビジネスルールおよびパラメータデータベース86内の静的パラメータも利用する。ビジネスルールおよび静的パラメータでは、専門家の判断を推奨ルールを定義するプロセスに導入する。しかし、学習モジュール64は、構成がなされていないとしても、関連する推奨ルールが既存のユーザートラフィックからのデータに基づき決定されるように設計される。
When calculating the recommended rules, the
推奨ルールの一例は、金曜日の外回りのフランス-ロンドン旅行に対するユーザーのプールへの滞在期間の分配に基づくものとしてよい。推奨ルールは、可能性が最も高い滞在期間は2日間であり、可能性が2番目に高い滞在期間は3日間であり、可能性が3番目に高い滞在期間は7日間である、などと指定することができる。サーバー12において受信された部分的旅行検索クエリが、与えられた週の金曜日に出発するフランスからロンドンへの旅行である場合、推奨モジュール62は、推奨ルールを呼び出して可能性が最も高い帰国日を決定する。次いで、推奨モジュール62は、サーバー12に、帰国日の少なくとも1つをクライアントデバイス16に伝達してユーザーに提示することを行わせる。例えば、可能性が最も高い単一の帰国日が、クライアントデバイス16に伝達され、テストボックスであるインタラクティブフォーム40内のコントロールに投入されるか、または複数の帰国日が、クライアントデバイス16に伝達され、リストボックスであるインタラクティブフォーム40内のコントロールに投入され、確率に従って順位付けされ得るリストをユーザーに提示することができる。
An example of a recommended rule may be based on the distribution of a user's stay in the pool for a French-London trip around Friday. The recommended rule specifies that the most likely duration is 2 days, the second most likely duration is 3 days, the third most likely duration is 7 days, etc. can do. If the partial travel search query received at
監視モジュール66は、推奨ルールに基づきクライアントデバイス16に供給される推奨をユーザーの実際の選択と比較するように構成され得る。監視モジュール66によって行われた比較は、例えば、管理モジュール68によって使用され得る。
The
管理モジュール68は、管理者がシステムの機能および推奨プロセスを観察することを可能にする管理コンソールを備えるように構成され得る。この分析結果に基づき、管理者は、管理モジュール68を介してビジネスルールデータベース84内のビジネスルールおよび/またはパラメータデータベース86内の静的パラメータを修正するか、または他の何らかの形で変更し、学習モジュール64の学習プロセスに、またそれによって推奨ルールデータベース内の推奨ルールに影響を及ぼすことができる。代替的に、管理者は、管理モジュール68を介してビジネスルールデータベース84に対するビジネスルールおよび/またはパラメータデータベース86に対する静的パラメータを定義することができる。管理モジュール68は、与えられた頻度で学習モジュール64の実行を手動でまたは自動的にトリガーすることもできる。管理モジュール68は、例えば、食い違いを検出するか、または既存の推奨プロセスの障害および弱点を追跡することができる。
The
本発明の代替的一実施形態では、クライアントデバイス16のローカルキャッシュ38(図2)内に保持されているデータは、サーバー12から受信された1つまたは複数の推奨を含み得る。ローカルキャッシュ38は、完全な旅行検索クエリの一部分のみの入力に基づきインタラクティブフォーム40(図3)内のコントロール42、43、44、45、46のうちの1つまたは複数に投入する際に使用する推奨を一時的に保持することができる。例えば、ローカルキャッシュ38は、ストレージ領域の物理的サイズによって制約されるような多数の出発地のうちのそれぞれを出発地とする旅行プランに対する推奨として最も人気のある多数の(例えば、3つの)目的地を格納することができる。推奨の一部分または全部をクライアントデバイス16に持たせることで、推奨プロセスを高速化することができる。クライアントデバイス16におけるインタラクティブフォーム40において行われた選択は、特に人気の低い選択の実際の入力後に、ネットワーク14を介してサーバー12にやはり伝達され得る。サーバー12における推奨モジュール62も、ユーザーへの提示のため同じコントロールもしくは異なるコントロールに対する追加の推奨をクライアントデバイス16に送信させ得るか、および/または本明細書で説明されているようにユーザー選択を履歴データベース80に格納することができる。
In an alternative embodiment of the present invention, data maintained in the local cache 38 (FIG. 2) of the
本発明の代替的実施形態において、クライアントデバイス16におけるクライアントアプリケーション32は、推奨モジュール62に対するアルゴリズム全体、または少なくとも、推奨モジュール62のアルゴリズムの一部分を含み得る。ローカルの推奨は、推奨を提供するためにユーザーによってフォームコントロールに入力され、ローカルキャッシュ38内に保持されている値に依存し得る(例えば、ローカルキャッシュ38内のユーザー履歴に基づく最も人気のある3つの目的地)。クライアントデバイス16において実行されるアルゴリズムの割合は、クライアントデバイス16の処理能力、メモリなどに左右され得る。推奨アルゴルズムの全部または一部分をクライアントデバイスに置くことで、推奨プロセスを高速化することができる。クライアントデバイス16に推奨アルゴリズムの全部または一部分が存在しているにも関わらず、サーバー12は、依然として、推奨値をクライアントデバイス16にプッシュすることができる。このようにして、限られた数の推奨コントロール値は、サーバー12からの同じコントロールについて可能である追加の推奨コントロール値の到着を待ちながらローカルキャッシュ38からクライアントデバイス16において利用可能にされ得る。
In alternative embodiments of the present invention, the
本発明の他の代替的実施形態において、クライアントデバイス16のローカルキャッシュ38(図2)は、クライアントデバイス16のユーザーによって入力された値をローカルの履歴として一時的に格納するために使用され得る。クライアントデバイス16は、サーバー12が履歴データベース80を更新できるようにローカルキャッシュ38内のローカルの履歴の内容をネットワーク14上でサーバー12に送信することができる。例えば、クライアントデバイス16は、ネットワーク14上のトラフィックが比較的軽い時刻にローカルの履歴の内容をサーバー12にダンプすることができる。他の例では、クライアントデバイス16がモバイルデバイスである場合、ローカルの履歴は、ネットワーク14と最初に接続されたときにクライアントデバイス16からサーバー12に伝達され得る。
In another alternative embodiment of the present invention, the local cache 38 (FIG. 2) of the
図5を参照して、推奨の提供と併せてフォームデータを受信し、処理することについて説明する。ユーザーは、ブラウザでウェブサイト(例えば、旅行代理店のウェブサイト)にナビゲートするか、またはクライアントデバイス16におけるモバイルアプリを開き、ネットワーク14と接続し、インタラクティブフォーム40を使用してサーバー12とネットワーク14上で通信するセッションを開始する(ブロック100)。代表的な実施形態において、ユーザーは、インタラクティブフォーム40を使用して旅行検索クエリの入力を開始する。しかし、ユーザーが入力する前に、インタラクティブフォーム40のコントロールのうちの1つまたは複数は、推奨値を事前記入され得る。事前記入を開始するために、1つまたは複数の推奨が、クライアントデバイスにおけるローカルキャッシュ38から取り出されて、事前記入を行うために使用され得る。
With reference to FIG. 5, it will be described how form data is received and processed in conjunction with providing recommendations. The user navigates to a website (e.g., a travel agency website) in a browser, or opens a mobile app on the
ユーザーは、クライアントデバイス16において、インタラクティブフォーム40のコントロールのすべてではなく、インタラクティブフォーム40内のコントロールのうちの1つまたは複数のそれぞれに値を投入して、旅行検索クエリを部分的に入力することができる(ブロック102)。クライアントアプリケーション32は、インタラクティブフォーム40内への部分的旅行検索クエリの入力を検出し、処理ユニット20に、関わっているコントロール内に入力される値を処理させる。クライアントデバイス16におけるプロセッサ20上で実行しているクライアントアプリケーション32は、クライアントデバイス16に、少なくとも1つの入力された値または少なくとも1つの入力された挙動、ならびに好ましくは、すべての入力された値および挙動を、データとしてネットワーク14上でサーバー12に伝達させる(ブロック104)。クライアントデバイス16は、推奨プロセスで使用するためにクライアントデバイス16のコンテキストに関係する情報(場所、時刻など)をサーバー12に伝達することもできる。
The user may enter a travel search query in part on the
推奨モジュール62は、伝達されたデータを受信し、クライアントデバイスから受信された値を履歴データベース80に格納する(ブロック106)。推奨モジュール62は、受信された値を、一組の推奨ルールを呼び出すインテリジェント型の推論プロセスに通し、インタラクティブフォーム40内の未記入コントロールのうちの1つまたは複数に対する1つまたは複数の推奨を予測する(ブロック108)。クライアントデバイス16において計算されるか、または見つけられ、サーバー12に伝達されるデバイス独立情報(例えば、場所)およびデバイス依存情報(例えば、時刻または曜日)も、推奨の計算において推奨モジュール62によって使用され得る。それぞれの推奨は、ユーザーによってすでに記入されているコントロール以外の、旅行関係検索の他の部分を表すインタラクティブフォーム40内の未記入コントロールのうちの1つまたは複数に対する1つまたは複数の推奨値を含み得る。このプロセスフローは、追加の値がインタラクティブフォーム40のコントロール内に入力されるのが適切である限り繰り返すことができる。好ましくは、ブロック104ですべての値が入力された後に、インタラクティブフォーム40の複数のコントロールのデータ投入は、ブロック108で決定された推奨と共にインタラクティブフォーム40の少なくとも1つの他のコントロールに影響を及ぼすことができる。
The
例えば、サーバー12との情報のインタラクティブな交換のためにクライアントデバイス16においてユーザーによってセッションが開始された後、クライアントデバイス16におけるプロセッサ20上で実行されているクライアントアプリケーション32は、インタラクティブフォーム40内のコントロール42、43のうちの一方または両方に旅行ブッキングに対する出発地および目的地を投入するための推奨を取り出すことができる。一実施形態において、プロセッサ20は、ローカルキャッシュ38から推奨を取り出し、それらの推奨をコントロール42、43で提示することができる。代替的に、クライアントデバイス16は、セッション開始をサーバー12に伝達し、サーバー12におけるプロセッサ上で実行されている推奨モジュール62は、推奨ルールデータベース82内の推奨ルールを使用してコントロール42、43に対する推奨を決定させ、サーバー12からクライアントデバイス16に戻す形で伝達させることができる。ソースに関係なく、クライアントアプリケーション32は、インタラクティブフォーム40内のコントロール42、43に、推奨値(複数可)がより高い順位で提示されるように適宜並べ替えられた値と共にコントロール42、43のコンテキストに適している推奨および他の値を投入することができる。
For example, after a session is initiated by a user at
他の例では、サーバー12と情報をインタラクティブに交換するためにセッションがクライアントデバイス16においてユーザーによって開始された後、ユーザーは、インタラクティブフォーム40内のコントロール42に、旅行ブッキングに対する出発地を表す入力項目としてテキスト文字列を投入することができる。クライアントデバイス16におけるプロセッサ20上で実行されているアプリケーション32は、ローカルキャッシュから推奨を取り出し、インタラクティブフォーム40内のコントロール43に旅行ブッキングに対する1つまたは複数の目的地を投入することができる。代替的に、クライアントデバイス16は、出発地をサーバー12に伝達し、サーバー12におけるプロセッサ上で実行されている推奨モジュール62は、推奨ルールデータベース82内の推奨ルールを使用してコントロール43に対する推奨を決定させ、サーバー12からクライアントデバイス16に戻す形で伝達させることができる。サーバー12からクライアントデバイス16において受信された推奨は、出発地が与えられた場合に可能性が最も高い目的地に対する1つの推奨値、または出発地が与えられた場合に可能性が最も高い目的値に対する複数の推奨値(すなわち、複数の推奨目的地)を有するテキスト文字列であってよい。コントロール43に、推奨値(複数可)がリスティング内でより高い順位で提示されるように適宜並べ替えられた値と共にコントロール43のコンテキストに適している推奨および適宜他の値を投入することができる。ユーザーは、手作業でコントロール43に入力することなく、また値のリストをスクロールさせることなく、推奨値または推奨値のうちの1つを選択することができる。
In another example, after a session is initiated by the user at the
他の例として、クライアントデバイス16においてセッションが開始された後、ユーザーは、コントロール42、43に、出発地および目的地をそれぞれ表すテキスト文字列を投入し、コントロール44に出発日を投入することができる。クライアントデバイス16におけるプロセッサ20上で実行されているアプリケーション32は、インタラクティブフォーム40内のコントロール45に帰国日に対する推奨を投入することができる。プロセッサ20は、クライアントデバイス16におけるローカルキャッシュ38から推奨を取り出すことができる。代替的に、クライアントデバイス16は、ユーザーによって入力されたコントロール42、43、44に対する値をサーバー12に伝達し、サーバー12におけるプロセッサ上で実行されている推奨モジュール62は、推奨ルールデータベース82内の推奨ルールを使用してコントロール45に対する推奨を決定させ、クライアントデバイス16に戻す形で伝達させることができる。推奨の日付値は、推奨ルールデータベース82内に推奨ルールを構築するために使用されるユーザー入力項目の履歴値に基づき出発地、目的地、および出発日が与えられた場合に可能性の最も高い帰国日を表し得る。ユーザーは、帰国日を選択する作業を免れ、ブッキングプロセスの次のステップに直接進むことができる。帰国日が選択されていない場合でも、コントロール45内の帰国日を修正するプロセスは、予測される帰国日が例えば現在の日付よりも実際の帰国日にカレンダー上で近い場合には簡素化され得る。
As another example, after a session is initiated at
推奨ルールに基づく推奨値は、適宜、クライアントデバイス16において部分的旅行検索クエリを入力した同時期のユーザーの履歴データベース80内の個人履歴データからの推奨値と組み合わされるか、またはそれによって調整され得る。組み合わせを行うための一アプローチは、インタラクティブフォーム40のすべてのユーザーに基づくそれぞれの推奨値とクライアントデバイス16の同時期のユーザーに対する個人的な推奨値との加重平均である。
Recommendation values based on recommendation rules may be combined or adjusted accordingly with recommendation values from personal history data in the historical user's
インタラクティブフォーム40のそれぞれの関わるコントロールに対する1つまたは複数の推奨が、サーバー12からクライアントデバイス16に戻す形で伝達される(ブロック110)。受信した後、クライアントデバイス16におけるクライアントアプリケーション32は、それぞれの推奨に基づきインタラクティブフォーム40を適応させる(ブロック112)。クライアントアプリケーション32は、インタラクティブフォーム40内の特定の関わるコントロールに、サーバー12から受信された1つもしくは複数の推奨値を投入するか、またはインタラクティブフォーム40内の特定の関わるコントロールに、1つもしくは複数の推奨値および推奨されない他の値を投入することができる。クライアントアプリケーション32は、推奨値を反映するようにインタラクティブフォーム40内の特定の関わるコントロールの状態を変更することもできる。
One or more recommendations for each associated control of the
クライアントデバイス16におけるインタラクティブフォーム40のユーザーは、それぞれの適応されたコントロールに表示される推奨値を採用または選択することができる。代替的に、ユーザーは、適応されたコントロールのうちの1つに対する推奨されない値を入力することができ、したがって、これらの推奨に含まれない値を選択することができる。例えば、ユーザーは、適応されたコントロールに投入する複数の推奨値(例えば、目的地)のうちから1つの推奨値(例えば、目的地)を選択することができる。推奨は、ユーザーによって選択されていない場合であっても、クライアントデバイスのユーザーが1つまたは複数のコントロールに対する選択を行うのを助けることもできる。例えば、推奨値は、日付ピッカーに置かれている現在の日付と異なる日付であってもよく、カレンダー上で日付を選択することを可能にする。推奨値が選択されていない場合でも、クライアントデバイス16のユーザーは、現在の日付よりも時間的に推奨値に近い日付を日付セレクターを使用して選択することができ、これにより、選択プロセスが軽減され得る。
Users of the
上で説明されているようなインタラクティブフォーム40のコントロールに対する推奨値を提供することは、ユーザーがインタラクティブフォーム40を完成させるのを補助し、したがって、インタラクティブフォーム40の完成前にインタラクティブフォーム40に記入する過程で実行されることに留意されたい。例えばすべてのコントロール42、43、44、45、46によって表される完全な旅行検索クエリ(代替的実施形態では、完全な旅行検索クエリは、コントロール42、43、44、45、46のサブセットによって許容可能な範囲ですでに構成されている場合がある)は、インタラクティブフォーム40内に入力された値の条件を満たす旅行に対して行われるべき検索を実行するために使用され得る。この目的のために、クライアントデバイス16は、完全な旅行検索クエリを各旅行サーバーに送信する。結果は、クライアントデバイス16に伝達され、クライアントデバイス16上でユーザーに対して表示され、これにより評価し、旅行の1つを潜在的にブッキングすることができる。
Providing recommended values for the controls of
図6を参照して、推奨ルールデータベースに対する推奨ルールを生成するため履歴データベース80内に格納されているフォームデータの処理について説明する。学習モジュール64は、すべてのクライアントデバイスユーザーのプールによってインタラクティブフォーム40のさまざまなコントロール内で行われた選択を記録している履歴データベース80内に格納されているユーザーデータにアクセスする(ブロック150)。学習モジュール64は、ビジネスルールデータベースにクエリを実行して、推奨プロセスに関連するビジネスルールを受信することができる(ブロック152)。学習モジュール64は、パラメータデータベースにクエリを実行して、推奨プロセスに関連する静的パラメータを受信することができる(ブロック154)。学習モジュール64の1つまたは複数の予測アルゴリズムは、ビジネスルールデータベースおよびパラメータデータベースからの情報と併せて履歴的ユーザーデータを分析し、推奨ルールを生成する(ブロック156)。推奨プロセスは、インタラクティブフォーム40のコントロールを記入するときのユーザーの挙動に基づくものとしてよく、また人間の専門家の判断から独立していてもよい。しかし、人間の専門家の判断は、ビジネスルールおよび静的パラメータを通じて推奨に影響を及ぼすために使用され得る。履歴的ユーザーデータは、上で説明されているように、推奨ルールを定義するため集約されるものとしてよく、これは、履歴データベース80内に格納されているコントロールの値に対するデータセットのサイズである。データセットのサイズを条件として、集約アルゴリズムは、次第に粗くなる精度に従ってコントロール値を集約し、推奨の統計的有意性を改善することを決定することができる。学習モジュール64は、推奨ルールデータベース82にこれらの推奨ルールを供給し格納する(ブロック158)。次いで、このルーチンは終了する(ブロック160)。上で説明されたように、推奨モジュール62は、推奨ルールデータベース82の推奨ルールにアクセスし、部分的ユーザー入力に基づきクライアントデバイス16におけるユーザーの将来のセッションにおけるインタラクティブフォーム40のコントロールに対する値を提案する。
With reference to FIG. 6, the processing of form data stored in the
本発明の複数の実施形態を実装するためにサーバー12およびクライアントデバイス16の1つまたは複数の処理ユニットによって実行され得るルーチンおよび/または命令は、オペレーティングシステムもしくは特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、またはそれぞれの処理ユニットによって実行される一連のオペレーションの一部分として実装されていようといまいと、本明細書では「プログラムモジュール」、「コンピュータプログラムコード」、または単に「モジュール」もしくは「プログラムコード」と称される。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むものとしてよい。本発明の態様に対するオペレーションを実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++、または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの伝統的な手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の組み合わせで書くことができる。コンピュータコードをルーチン、プロシージャ、メソッド、モジュール、オブジェクト、および同様のものに組織化することができる多くの方法、さらにはプログラム機能を典型的なコンピュータ内の常駐するさまざまなソフトウェアレイヤ(例えば、オペレーティングシステム、ライブラリ、API、アプリケーション、アプレットなど)間に割り振ることができるさまざまな方法に鑑みて、本発明の実施形態は、本明細書で説明されているプログラム機能の特定の組織化および割り振りに限定されないことは理解されるであろう。
Routines and / or instructions that may be executed by one or more processing units of
フローチャート、ブロック図、およびシーケンス図は、本明細書では、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータプログラム製品の考えられる実装のアーキテクチャ、機能、およびオペレーションを示している。この点に関して、フローチャート、ブロック図、またはシーケンス図中のそれぞれのブロックは、プログラムコードのセグメントまたは一部分を表すものとしてよく、これは指定された論理機能および/または活動を実装するための1つまたは複数の実行可能命令を含む。プログラムコードは、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされ、これにより、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップが実行され、コンピュータまたは他のプログラム可能な装置上で実行される命令が本明細書に記載のフローチャート、シーケンス図、および/またはブロック図のブロックで指定された機能/活動を実装するためのプロセスを実現するようにコンピュータ実装プロセスを構成することができる。いくつかの代替的実装では、ブロック内に記述される機能は、図示され、説明されているのと異なる順序で実行され得る。例えば、連続して実行されるように説明され、図示されている一対のブロックは、その代わりに、同時に実行され得るか、または2つのブロックが、ときには、関連する機能に応じて、逆順に実行され得る。それぞれのブロック、およびブロックの組み合わせは、指定された機能または活動を実行する専用のハードウェアベースのシステムによって、または専用のハードウェアとコンピュータ命令との組み合わせによって実装することができる。 The flowcharts, block diagrams, and sequence diagrams herein illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart, block diagram, or sequence diagram may represent a segment or portion of program code, which is one or more of the specified logic functions and / or activities for implementing Contains multiple executable instructions. The program code is loaded onto a computer, other programmable data processing device, or other device, thereby executing a series of operational steps on the computer, other programmable device, or other device, Instructions executed on a computer or other programmable device to implement a process for implementing the functions / activities specified in the blocks, flowcharts, and / or block diagrams described herein A computer-implemented process can be configured. In some alternative implementations, the functions described in the blocks may be performed in a different order than shown and described. For example, a pair of blocks described and illustrated to be executed in succession may instead be executed simultaneously, or two blocks may sometimes be executed in reverse order, depending on the functions involved. Can be done. Each block and combination of blocks may be implemented by a dedicated hardware-based system that performs a specified function or activity, or by a combination of dedicated hardware and computer instructions.
本明細書で説明されているアプリケーションのいずれかで具現化されるプログラムコードは、さまざまな異なる形態のプログラム製品として個別に、またはまとめて配布することができる。特に、プログラムコードは、コンピュータ可読記憶媒体および通信媒体を含み得る、コンピュータ可読媒体を使用して配布され得る。コンピュータ可読記憶媒体は、本質的に非一時的であり、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータなどの情報を格納するための方法または技術で実装される揮発性および不揮発性、ならびに取り外し可能および取り外し不可能な、有形の媒体を含むものとしてよい。コンピュータ可読記憶媒体は、RAM、ROM、消去可能プログラム可能リードオンリーメモリ(EPROM)、電気的消去可能プログラム可能リードオンリーメモリ(EEPROM)、フラッシュメモリ、または他のソリッドステートメモリ技術、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、または他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、または所望の情報を格納するために使用することができ、コンピュータによって読み出すことができる他の媒体を含み得る。通信媒体は、コンピュータ可読命令、データ構造体、または他のプログラムモジュールを具現化し得る。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、RF、赤外線、およびその他のワイヤレス媒体などのワイヤレス媒体でよい。上記のいずれの組み合わせもコンピュータ可読媒体の範囲に収まるものとしてよい。 Program code embodied in any of the applications described herein can be distributed individually or collectively in a variety of different forms of program products. In particular, the program code may be distributed using computer readable media, which may include computer readable storage media and communication media. Computer-readable storage media are non-transitory in nature and are volatile and non-volatile implemented in methods or techniques for storing information such as computer-readable instructions, data structures, program modules, or other data. As well as removable and non-removable tangible media. Computer readable storage media includes RAM, ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory, or other solid state memory technology, portable compact disk read only Memory (CD-ROM), or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage device, or can be used to store desired information and read by a computer Other media that can be included. Communication media may embody computer readable instructions, data structures, or other program modules. For example, without limitation, the communication medium may be a wired medium such as a wired network or direct wired connection, and a wireless medium such as acoustic, RF, infrared, and other wireless media. Any combination of the above may fall within the scope of a computer readable medium.
本明細書で使用されている用語は、特定の実施形態のみを説明することを目的としており、本発明の実施形態の範囲を制限することは意図されていない。本明細書で使用されているように、「1つの(または使わない場合もある)」および「その(使わない場合もある)」(英語原文の単数形の冠詞「a」、「an」、および「the」)は、文脈上明らかにそうでないことを示していない限り、複数形も含むことが意図されている。さらに、「備える、含む」および/または「備えること、含むこと」という言い回しは、本明細書内で使用されている場合、記載されている特徴、整数、ステップ、動作、要素、および/またはコンポーネント(または構成要素)の存在を意味し、1つもしくは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント(または構成要素)、および/またはそれらからなる群の存在もしくは追加を除外しないことも理解されるであろう。さらに、「含む(includes)」、「有している(having)」、「有する(has)」、「持つ、備える(with)」、「からなる(comprised of)」という言い回し、またはこれらの変形が詳細な説明または請求項内で使用されている範囲において、このような言い回しは、「含む、備える(comprising)」という言い回しと同様に包含的であることが意図されている。 The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the scope of the embodiments of the invention. As used herein, “one (or may not use)” and “that (may not use)” (the original singular articles “a”, “an”, And “the”) are intended to include the plural forms as well, unless the context clearly indicates otherwise. Further, the phrases “comprising, including” and / or “comprising, including”, as used herein, describe the feature, integer, step, action, element, and / or component described. Means the presence of (or component) and does not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components (or components), and / or groups of them Will also be understood. In addition, the words “includes”, “having”, “has”, “with”, “comprised of”, or variations thereof To the extent used in the detailed description or claims, such phrases are intended to be inclusive, as well as the phrases “comprising”.
本発明はさまざまな実施形態の記述により例示され、またこれらの実施形態はかなり詳細に記述されているが、付属の請求項の範囲をそのような詳細に制限するか、またはどのような形であれ限定することは出願人の意図するものではない。追加の利点および修正点は、当業者に容易にわかるであろう。例えば、本発明の実施形態は、インタラクティブフォームおよびインタラクティブフォームフローにも大きく依存する旅行プラン管理、フライト状況などの旅行ブッキングおよび旅行検索クエリとは別の他の旅行関係アプリケーションと併せて使用され得る。したがって、そのより広い態様における本発明は、図示し述べた特定の詳細、代表的な方法ならびに説明に役立つ例に限定されない。したがって、出願人の一般的な発明の概念の精神または範囲から逸脱することなく、そのような詳細からの逸脱を行うことができる。 The present invention is illustrated by the description of various embodiments, and these embodiments are described in considerable detail, but the scope of the appended claims should be limited to such details or in any way That limitation is not the intention of the applicant. Additional advantages and modifications will be readily apparent to those skilled in the art. For example, embodiments of the present invention may be used in conjunction with other travel-related applications apart from travel planning and travel search queries such as travel plan management, flight status, etc. that are also highly dependent on interactive forms and interactive form flows. Accordingly, the invention in its broader aspects is not limited to the specific details, representative methods, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of applicants' general inventive concept.
10 コンピュータ化予約システム(CRS)
12 サーバー
14 通信ネットワーク
16 クライアントデバイス
20 処理ユニット
22 入力/出力(「I/O」)インターフェース
24 ディスプレイ
26 外部デバイス
28 ネットワークアダプタ
30 メモリ
32 ソフトウェアモジュールまたはアプリケーション
34 オペレーティングシステム
38 ローカルキャッシュ
40 インタラクティブフォーム
42、43、44、45、46 コントロール
50 ブラウザ
58 処理ユニット
60 メモリ
62、64、66、68 ソフトウェアアプリケーションまたはモジュール
66 監視モジュール
68 管理モジュール
70 オペレーティングシステム
72 入力/出力(「I/O」)インターフェース
74 ディスプレイ
76 外部デバイス
78 ネットワークアダプタ
80 履歴データベース
82 推奨ルールデータベース
84 ビジネスルールデータベース
86 パラメータデータベース
10 Computerized reservation system (CRS)
12 servers
14 Communication network
16 client devices
20 processing units
22 Input / output (`` I / O '') interface
24 display
26 External devices
28 Network adapter
30 memory
32 Software modules or applications
34 Operating system
38 Local cache
40 interactive forms
42, 43, 44, 45, 46 Control
50 browsers
58 processing units
60 memory
62, 64, 66, 68 Software application or module
66 Monitoring module
68 Management module
70 Operating system
72 Input / Output (`` I / O '') interface
74 display
76 External devices
78 Network adapter
80 history database
82 Recommended Rules Database
84 Business Rule Database
86 Parameter database
Claims (11)
サーバーにより、インタラクティブフォームの第1のコントロールの値を受信するステップであって、前記値はクライアントデバイスにおいて前記インタラクティブフォームに入力された旅行関係検索クエリの一部分を表す、ステップと、
前記サーバーにより、前記インタラクティブフォームの前記第1のコントロールおよび第2のコントロールを相互に関係付ける推奨ルールを適用して、前記第2のコントロールに対する少なくとも1つの推奨値を決定するステップであって、前記第2のコントロールは、前記第1のコントロールの値が前記サーバーにおいて受信されたときに未記入であり、前記少なくとも1つの推奨値は、前記旅行関係検索クエリの他の部分を表す、ステップと、
前記インタラクティブフォームの第2のコントロールに対する前記少なくとも1つの推奨値を前記サーバーから前記クライアントデバイスに伝達するステップと、
前記クライアントデバイスがユーザー入力の前に前記インタラクティブフォームの第2のコントロールを前記少なくとも1つの推奨値で事前記入するステップと、
前記クライアントデバイスが完全な旅行関係検索クエリを送信するステップと、
前記クライアントデバイスが前記完全な旅行関係検索クエリと合致する検索結果を前記クライアントデバイスに伝達するステップと、を含み、
前記第1のコントロールおよび前記第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つであり、前記方法は、
前記サーバーにより、前記インタラクティブフォームの複数のユーザーによって選択され、履歴データベース内に格納された前記第1および第2のコントロールに対する履歴値に基づいて前記推奨ルールを計算するステップと、
前記サーバーにより、前記履歴データベース内の前記第1および第2のコントロールに対する履歴値の少なくとも1つのデータセットを、前記少なくとも1つのデータセットのサイズに応じて次第に粗くなる精度に従って集約するステップと、をさらに含む、方法。 How to interact with interactive forms,
More server, and receiving a value of the first control interactive forms, said value representing a portion of the travel-related search query entered in the interactive form in the client device;,
More said server, said interactive forms the first control and the second control applies the recommended rules correlating, and determining at least one recommended value for the second control, The second control is unfilled when the value of the first control is received at the server, and the at least one recommended value represents another part of the travel-related search query; and ,
Communicating the at least one recommended value for the second control of the interactive form from the server to the client device;
The client device pre-filling the second control of the interactive form with the at least one recommended value prior to user input;
The client device sending a complete travel-related search query;
The client device communicating search results that match the complete travel-related search query to the client device ;
The first control and the second control, respectively, Ri 1 Tsudea of the buttons, sliders, a spinner, a list box, a drop-down list, and combo boxes, the method comprising:
Calculating by the server based on historical values for the first and second controls selected by a plurality of users of the interactive form and stored in a historical database;
Aggregating, by the server, at least one data set of historical values for the first and second controls in the historical database according to an accuracy that gradually increases according to a size of the at least one data set; Further comprising a method.
前記サーバーにより、相互に関係付けられたコントロールに対する前記値に基づいて複数の推奨ルールを決定するステップであって、それぞれの推奨ルールは、相互に関係付けられたコントロールのうちの2つまたはより多くを論理的に接続する、ステップと、
前記サーバーにより、履歴データベース内の協調履歴データを使用して前記複数の推奨ルールを計算するステップと、
前記サーバーにより、前記履歴データベース内の協調履歴データ内の少なくとも1つのデータセットを、前記データセットのサイズが閾値より小さいならば、次第に粗くなる精度に従って集約するステップであって、前記少なくとも1つのデータセットの前記次第に粗くなる精度に基づく集約は前記複数の推奨ルールの統計的有意性を改善する、ステップと、を含む、方法。 More server, the method comprising: receiving a plurality of values for a plurality of control of an interactive form, travel-related search query entered into one of the respective values are controlled in the interactive form by each of the plurality of users Each of the controls is one of a button, slider, spinner, list box, drop-down list, and combo box; and
Determining, by the server, a plurality of recommended rules based on the values for the correlated controls, each recommended rule being two or more of the correlated controls. Logically connecting the steps, and
Calculating, by the server, the plurality of recommended rules using cooperative history data in a history database;
A step of aggregating at least one data set in the cooperation history data in the history database by the server according to the accuracy of coarsening if the size of the data set is smaller than a threshold, the at least one data aggregate based on the gradually roughened accuracy of the set improves the statistical significance of the plurality of recommended rules, including the steps, the method.
前記少なくとも1つの推奨値を前記サーバーからクライアントデバイスに伝達するステップであって、前記コントロールのうちの1つは、前記推奨ルールが適用されるときに未記入であり、前記少なくとも1つの推奨値は、前記旅行関係検索クエリの他の部分を表す、ステップと、をさらに含み、
前記クライアントデバイスが前記コントロールのうちの1つに対する少なくとも1つの推奨値を前記クライアントデバイスにおけるローカルキャッシュ内に格納するステップと、
前記クライアントデバイスが前記旅行関係検索クエリを送信するステップと、をさらに含む、請求項3に記載の方法。 Generating, by the server, at least one recommended value for one of the controls of the interactive form using the recommended rules;
Communicating the at least one recommended value from the server to a client device, wherein one of the controls is unfilled when the recommended rule is applied, and the at least one recommended value is Representing the other part of the travel-related search query, and
The client device storing at least one recommended value for one of the controls in a local cache at the client device;
4. The method of claim 3 , further comprising the client device sending the travel-related search query.
プロセッサを含むサーバーと、
インタラクティブフォームと相互作用するために前記プロセッサによって実行されるように構成されたプログラムコードを格納したメモリと、を備え、前記プログラムコードは、前記プロセッサに、前記インタラクティブフォームの第1のコントロールに対する値を受信させ、前記インタラクティブフォームの前記第1のコントロールおよび第2のコントロールを相互に関係付ける推奨ルールを適用させ、前記第2のコントロールに対する少なくとも1つの推奨値を決定させ、ユーザー入力の前に前記インタラクティブフォームの第2のコントロールを前記少なくとも1つの推奨値で事前記入するために、前記第2のコントロールに対する少なくとも1つの推奨値を前記サーバーから前記クライアントデバイスに伝達させるように構成され、
前記第2のコントロールは、前記第1のコントロールに対する値が前記サーバーにおいて受信されたときに未記入であり、前記第1のコントロールに対する値および前記第2のコントロールに対する少なくとも1つの推奨値は、旅行関係検索クエリの異なる部分を表し、
前記第1のコントロールおよび前記第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つであり、
前記プログラムコードは、さらに、前記プロセッサに、前記クライアントデバイスから完全な旅行関係検索クエリを受信させ、前記完全な旅行関係検索クエリと合致する検索結果を返信させるように構成され、
前記プログラムコードは、さらに、前記プロセッサに、前記インタラクティブフォームの複数のユーザーによって選択され、履歴データベース内に格納された前記第1および第2のコントロールに対する履歴値に基づいて前記推奨ルールを計算させ、前記履歴データベース内の前記第1および第2のコントロールに対する履歴値の少なくとも1つのデータセットを、前記少なくとも1つのデータセットのサイズに応じて次第に粗くなる精度に従って集約させるように構成された、装置。 An apparatus for use with a client device,
A server including a processor;
And a memory storing the configured program code to be executed by the processor to interact with the interactive form, the program code, the processor, the value for the first control of the interactive form is received, the applied a recommended rules relating interactive forms the first control and the second control each other, to determine at least one recommended value for the second control, the interactive prior to user input to pre-fill a second control form in the at least one recommended values, it is configured to transfer us least one recommended value for the second control to the client device from the server,
The second control is blank when a value for the first control is received at the server, and the value for the first control and at least one recommended value for the second control are travel Represents different parts of a related search query,
The first control and the second control, respectively, Ri 1 Tsudea of the buttons, sliders, a spinner, a list box, a drop-down list, and combo boxes,
The program code is further configured to cause the processor to receive a complete travel-related search query from the client device and return search results that match the complete travel-related search query;
The program code further causes the processor to calculate the recommended rule based on historical values for the first and second controls selected by a plurality of users of the interactive form and stored in a historical database, An apparatus configured to aggregate at least one data set of historical values for the first and second controls in the historical database according to an accuracy that gradually increases with the size of the at least one data set .
前記プロセッサに前記第2のコントロールに対する少なくとも1つの推奨値を決定させるように構成されたプログラムコードは、前記推奨ルールデータベースにクエリを実行して、前記第1のコントロールに対する値および前記第2のコントロールに対する少なくとも1つの推奨値に関係する推奨ルールを取り出し、前記サーバーにおいて前記推奨ルールを適用して、前記インタラクティブフォームの第2のコントロールに対する少なくとも1つの推奨値を決定する、請求項6に記載の装置。 A recommended rules database coupled to the server's processor, further comprising a recommended rules database including a plurality of recommended rules that correlate the first and second controls;
Program code configured to cause the processor to determine at least one recommended value for the second control executes a query to the recommended rules database to determine the value for the first control and the second control. 7. The apparatus of claim 6 , wherein a recommendation rule related to at least one recommendation value for is retrieved, and the recommendation rule is applied at the server to determine at least one recommendation value for a second control of the interactive form. .
前記プロセッサに前記クライアントデバイスから受信された値を前記履歴データベースに格納させるように構成されたプログラムコードと、をさらに備える、請求項6に記載の装置。 A historical database coupled to the processor of the server;
The apparatus of claim 6 , further comprising program code configured to cause the processor to store values received from the client device in the history database.
インタラクティブフォームと相互作用するために前記プロセッサによって実行されるように構成されたプログラムコードを格納したメモリと、を備え、前記プログラムコードは、前記プロセッサに、前記インタラクティブフォームの複数のコントロールに対する複数の値を受信させ、履歴データベース内の協調履歴データを使用して相互に関係付けられたコントロールに対する前記値に基づいて複数の推奨ルールを決定させるように構成され、
それぞれの値は前記インタラクティブフォームの複数のユーザーによって前記コントロールのうちの1つに入力された旅行関係検索クエリの一部分を表し、それぞれの推奨ルールは、前記相互に関係付けられたコントロールのうちの2つまたはより多くを論理的に接続し、
第1のコントロールおよび第2のコントロールは、それぞれ、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つであり、
前記プログラムコードは、前記プロセッサに、前記履歴データベース内の協調履歴データ内の少なくとも1つのデータセットを、前記データセットのサイズが閾値より小さいならば、次第に粗くなる精度に従って集約させるように構成され、前記少なくとも1つのデータセットの前記次第に粗くなる精度に基づく集約は前記複数の推奨ルールの統計的有意性を改善する、装置。 A server including a processor;
And a memory storing the configured program code to be executed by the processor to interact with the interactive form, the program code, the processor, the plurality of values for a plurality of control of the interactive form is received and is configured to, based on the values for the controls associated with each other using cooperative historical data in the historical database to determine a plurality of suggested rules,
Each value represents a portion of a travel-related search query entered into one of the controls by multiple users of the interactive form, and each recommended rule includes two of the interrelated controls. Logically connect one or more
The first control and the second control, Ri 1 Tsudea of each button, slider, spinner, list boxes, drop-down lists, and combo boxes,
The program code is configured to cause the processor to aggregate at least one data set in cooperative history data in the history database according to an accuracy that gradually becomes coarse if the size of the data set is smaller than a threshold, aggregate based on the gradually roughened accuracy of the at least one data set that to improve the statistical significance of the plurality of recommended rules, device.
前記プロセッサに、前記少なくとも1つの推奨値を前記サーバーからクライアントデバイスに伝達させるように構成されたプログラムコードと、をさらに備え、
前記コントロールのうちの1つは、前記推奨ルールが適用されるときに未記入であり、前記少なくとも1つの推奨値は、前記旅行関係検索クエリの他の部分を表す、請求項9に記載の装置。 Program code configured to cause the processor to generate at least one recommended value for one of the controls of the interactive form using the recommended rules;
Program code configured to cause the processor to communicate the at least one recommended value from the server to a client device;
10. The apparatus of claim 9 , wherein one of the controls is unfilled when the recommendation rule is applied, and the at least one recommendation value represents another part of the travel related search query. .
前記プロセッサに、前記推奨ルールを前記推奨ルールデータベースに格納させるように構成されたプログラムコードと、をさらに備える、請求項9または請求項10に記載の装置。 A recommended rules database coupled to the processor;
The processor, further comprising program code that is configured to store the recommended rule to the recommendation rule database, an apparatus according to claim 9 or claim 1 0.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/716,882 | 2012-12-17 | ||
EP12290442.8 | 2012-12-17 | ||
US13/716,864 US9268759B2 (en) | 2012-12-17 | 2012-12-17 | Recommendation engine for interactive search forms |
EP12290442.8A EP2743875A1 (en) | 2012-12-17 | 2012-12-17 | Recommendation engine for interactive search forms |
US13/716,864 | 2012-12-17 | ||
US13/716,882 US9201856B2 (en) | 2012-12-17 | 2012-12-17 | Recommendation engine for interactive search forms |
PCT/EP2013/003758 WO2014095008A1 (en) | 2012-12-17 | 2013-12-12 | Recommendation engine for interactive search forms |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016505951A JP2016505951A (en) | 2016-02-25 |
JP6328135B2 true JP6328135B2 (en) | 2018-05-23 |
Family
ID=49759255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015546896A Active JP6328135B2 (en) | 2012-12-17 | 2013-12-12 | Recommended engine for interactive search forms |
Country Status (6)
Country | Link |
---|---|
JP (1) | JP6328135B2 (en) |
KR (1) | KR101676219B1 (en) |
CN (1) | CN104854609B (en) |
AU (1) | AU2013362233B2 (en) |
CA (1) | CA2893806C (en) |
WO (1) | WO2014095008A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160125175A (en) * | 2015-04-21 | 2016-10-31 | 네이버 주식회사 | Server apparatus, user terminal apparatus and method for providing flight ticket information |
US10257256B2 (en) * | 2016-01-20 | 2019-04-09 | Google Llc | IOT interaction system |
CN106530010B (en) * | 2016-11-15 | 2017-12-12 | 平安科技(深圳)有限公司 | The collaborative filtering method and device of time of fusion factor |
CN109240693A (en) * | 2018-11-23 | 2019-01-18 | 四川长虹电器股份有限公司 | A kind of creation method of many condition combinatorial search control based on react |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578022B1 (en) * | 2000-04-18 | 2003-06-10 | Icplanet Corporation | Interactive intelligent searching with executable suggestions |
KR100390929B1 (en) * | 2000-06-07 | 2003-07-10 | 주식회사 마이디지털 | System for searching travel goods using internet and method for recommending travel goods using the same |
JP2002024256A (en) * | 2000-07-03 | 2002-01-25 | Fujitsu Ltd | Information processing system and information input assisting program storage medium |
JP2004287874A (en) * | 2003-03-24 | 2004-10-14 | Hitachi Ltd | Data analysis method and business transaction support system |
CN100410922C (en) * | 2005-01-28 | 2008-08-13 | 联想(北京)有限公司 | User information managing system and method |
CN101595471A (en) * | 2005-06-03 | 2009-12-02 | 奥姆尼图雷有限公司 | Add segmentation criteria to the data set increment |
JP4958476B2 (en) * | 2006-05-24 | 2012-06-20 | 株式会社日立製作所 | Search device |
US7890442B2 (en) * | 2006-10-20 | 2011-02-15 | International Business Machines Corporation | Method and system for autocompletion of multiple fields in electronic forms |
US7647353B2 (en) * | 2006-11-14 | 2010-01-12 | Google Inc. | Event searching |
KR20100063833A (en) * | 2008-11-25 | 2010-06-14 | 주식회사 케이티 | Apparatus and method for recommending content based on monitoring of content recommend condition |
EP2224358A1 (en) * | 2009-02-27 | 2010-09-01 | AMADEUS sas | Graphical user interface for search request management |
US9009145B2 (en) * | 2010-08-04 | 2015-04-14 | Amadeus S.A.S. | Travel booking method and system |
JP2012043366A (en) * | 2010-08-23 | 2012-03-01 | Canon Inc | Data retrieval device, data retrieval method, and program |
KR101598620B1 (en) * | 2010-11-17 | 2016-03-02 | 네이버 주식회사 | Advertisement system and method for determining advertisement for transmission using interest period with respect to keyword |
-
2013
- 2013-12-12 WO PCT/EP2013/003758 patent/WO2014095008A1/en active Application Filing
- 2013-12-12 CN CN201380065723.3A patent/CN104854609B/en active Active
- 2013-12-12 CA CA2893806A patent/CA2893806C/en active Active
- 2013-12-12 JP JP2015546896A patent/JP6328135B2/en active Active
- 2013-12-12 KR KR1020157019482A patent/KR101676219B1/en active IP Right Grant
- 2013-12-12 AU AU2013362233A patent/AU2013362233B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CA2893806A1 (en) | 2014-06-26 |
CA2893806C (en) | 2020-12-29 |
AU2013362233A1 (en) | 2015-07-09 |
CN104854609B (en) | 2019-04-12 |
KR20150097744A (en) | 2015-08-26 |
JP2016505951A (en) | 2016-02-25 |
KR101676219B1 (en) | 2016-11-14 |
CN104854609A (en) | 2015-08-19 |
WO2014095008A1 (en) | 2014-06-26 |
AU2013362233B2 (en) | 2016-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9201856B2 (en) | Recommendation engine for interactive search forms | |
WO2020011068A1 (en) | Method and system for executing machine learning process | |
CN104169950B (en) | Utilize the Database Systems of the calculating towards batch processing | |
US20130290324A1 (en) | Categorizing and ranking travel-related database query results | |
CN110383268A (en) | To the Dynamic Execution of the parametrization application for handling keyed network data flow | |
US11068758B1 (en) | Polarity semantics engine analytics platform | |
US20190197494A1 (en) | Specifically programmed computer-implemented engine systems for real-time on-demand discovery of available time slots across programmed schedule objects and methods of use thereof | |
JP2015518216A (en) | Classification and ranking of travel-related search results | |
JP6328135B2 (en) | Recommended engine for interactive search forms | |
US20240112287A1 (en) | Purchasing a travel package via a communication network | |
US11257100B2 (en) | Product optimization crawler and monitor | |
US11748662B2 (en) | Contextual modeling using application metadata | |
US11983230B2 (en) | Systems and methods for data aggregation and cyclical event prediction | |
US20230153635A1 (en) | Systems and methods for data aggregation and predictive modeling | |
US9268759B2 (en) | Recommendation engine for interactive search forms | |
US20220092483A1 (en) | Customer experience generator with shareable profile and autopay | |
EP3540606B1 (en) | Product delivery system and method | |
EP2743875A1 (en) | Recommendation engine for interactive search forms | |
CN113641721B (en) | Air ticket display method and device, electronic equipment and storage medium | |
US20240256617A1 (en) | Systems and methods for data aggregation and cyclical event prediction | |
CN107251022A (en) | Personalized ranking for the search result of the data base querying for correlation of travelling | |
Daheche et al. | Development of Numidia Tours Travel Agency Online Management System for Saving Client’s Time | |
WO2024142016A1 (en) | System and method for integrated temporal external resource allocation | |
CN115700659A (en) | Project feasibility evaluation method, device, equipment and medium | |
FR3094809A1 (en) | PROCESS AND DEVICE FOR MANAGING EVENTS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171011 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6328135 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |