JP6328135B2 - Recommended engine for interactive search forms - Google Patents

Recommended engine for interactive search forms Download PDF

Info

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
Application number
JP2015546896A
Other languages
Japanese (ja)
Other versions
JP2016505951A (en
Inventor
シャルル−アントワーヌ・ロブラン
バンジャマン・ベジーヌ
インゴルフ−トビアス・ローテ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/716,864 external-priority patent/US9268759B2/en
Priority claimed from EP12290442.8A external-priority patent/EP2743875A1/en
Priority claimed from US13/716,882 external-priority patent/US9201856B2/en
Application filed by Amadeus SAS filed Critical Amadeus SAS
Publication of JP2016505951A publication Critical patent/JP2016505951A/en
Application granted granted Critical
Publication of JP6328135B2 publication Critical patent/JP6328135B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; 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.

国際公開第2001/80177号International Publication No. 2001/80177

旅行関係の検索クエリを入力するときにインタラクティブ旅行検索フォームのユーザーを補助するために、改善されたシステム、方法、およびコンピュータプログラム製品が必要である。   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 is a block diagram of a computer reservation system comprising a server and a client device in communication with the server according to an embodiment of the invention. 図1のクライアントデバイスのブロック図である。FIG. 2 is a block diagram of the client device of FIG. クライアントデバイス上に用意されているインタラクティブフォームの概略図である。It is the schematic of the interactive form prepared on the client device. 図1のサーバーのブロック図である。FIG. 2 is a block diagram of the server of FIG. 推奨プロセスを示すフローチャートである。It is a flowchart which shows a recommendation process. 推奨プロセスで使用するために推奨ルールを準備するサーバーにおける学習プロセスを示すフローチャートである。6 is a flowchart illustrating a learning process in a server that prepares recommended rules for use in the recommendation process.

図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 server 12 and a client device 16 coupled to communicate with the server 12 via a communication network 14. CRS 10 can be used to store and retrieve information and to conduct online transactions related to goods and services, such as online search, booking, and purchase of air travel. With respect to air travel, the CRS 10 is configured to respond to travel search queries by identifying specific flights that meet the conditions of a given travel plan, book those flights, or book a reservation. The CRS may be a dedicated computer system that allows real-time access to airfare, schedules, and available seating numbers and other data, and for booking, travel agencies, online travel agencies, and travel It can be accessed by a travel agency such as a business company. CRS 10 may be embodied in a cross-country sales network (GDS), a type of booking and sales of airline tickets to multiple airlines, as well as other travel related products such as hotels and car rentals. CRS.

クライアントデバイス16のリモートにあるサーバー12は、一般的に、ローカルおよび/またはリモートに配置され、サーバー12に関連付けられている1つまたは複数のオペレーションを実行するように構成された1つまたは複数の相互接続されたコンピューティングデバイス/システムを備えることができる。通信ネットワーク14は、一般的に、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、公衆通信回線(例えば、インターネットサービスプロバイダを利用するインターネット)、エンタープライズプライベートネットワーク、セルラーネットワーク、および/またはこれらの組み合わせを含む、1つまたは複数の相互接続された通信ネットワークを含む。サーバー12とクライアントデバイス16とを接続するインターフェースは、ユーザーデータグラムプロトコル/インターネットプロトコル(UDP/IP)、および/または伝送制御プロトコル/インターネットプロトコル(TCP/IP)などの、情報をネットワーク14上で交換し、通信するためのルールおよびデータ形式を定義する1つまたは複数の好適な通信プロトコルを採用するものとしてよい。   The server 12 that is remote from the client device 16 is typically one or more that are located locally and / or remotely and are configured to perform one or more operations associated with the server 12 Interconnected computing devices / systems can be provided. The communication network 14 is typically, for example, a local area network (LAN), a wide area network (WAN), a public communication line (e.g., the Internet using an Internet service provider), an enterprise private network, a cellular network, and / or It includes one or more interconnected communication networks that include a combination of these. The interface connecting the server 12 and the client device 16 exchanges information on the network 14, such as User Datagram Protocol / Internet Protocol (UDP / IP) and / or Transmission Control Protocol / Internet Protocol (TCP / IP) One or more suitable communication protocols that define rules and data formats for communication may be employed.

与えられたセッションにおいて、クライアントデバイス16のユーザーは、旅行プランを立てる代表的な目的のためにサーバー12と通信ネットワーク14上で通信しているものとしてよい。しかし、単一のクライアントデバイス16が図1に示されているが、複数の異なるユーザーが異なるクライアントデバイス16を使用して同じ目的のためにサーバーと通信することができることは理解される。複数の異なるユーザーは、情報を同じインタラクティブフォーム40(図3)のフィールドまたはコントロールに入力することによって旅行検索クエリを作成することを目的としてサーバー12と通信するユーザーのプールを構成する。   In a given session, the user of the client device 16 may be in communication with the server 12 over the communication network 14 for the representative purpose of developing a travel plan. However, although a single client device 16 is shown in FIG. 1, it is understood that multiple different users can use different client devices 16 to communicate with the server for the same purpose. The different users configure a pool of users that communicate with the server 12 for the purpose of creating a travel search query by entering information into the fields or controls of the same interactive form 40 (FIG. 3).

簡単に言うと、ユーザーによってクライアントデバイス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 interactive form 40 on the client device 16 is communicated to the server 12 over the network 14. The recommendation module 62 at the server 12 can store the received control values in the history database 80 and retrieve the stored values from the history database 80 as indicated by the double arrow 13. The stored value may be associated with a particular user listed in a record in the history database 80 to establish user preferences and user history. The recommendation module 62 on the server 12 queries the recommendation rule database 64 to access the recommendation rule set stored in the recommendation rule database 64 and logically submits suggestions in the form of recommendations for controls on the interactive form 40. Generate. The retrieved recommended rules reflect the interrelated controls in the interactive form 40 on which the query is matched and the recommended rules are established. The query of the recommended rule database 82 is represented by the bidirectional arrow 15 in FIG. A recommendation represents a predicted control value with a relatively high probability, and is a value for one or more controls in interactive form 40 that the user of interactive form 40 needs to generate, for example, a trip booking query. Can be used to eliminate the need to select. The recommendations are communicated from the server 12 to the client device 16 and are used by the client device 16 to adapt the interactive form 40. The recommendation process can be synchronized with user input of control values and continuous data flow from the client device 16. The monitoring module 66 functions as described below in conjunction with the operation of the recommendation module 62 to monitor the received control values.

学習モジュール64は、履歴データベース80にクエリを実行して、矢印17に示されているように、インタラクティブフォーム40のコンロールに対する履歴的ユーザー入力項目の格納されている値を取り出す。学習モジュール64は、アルゴリズムを使用して、インタラクティブフォーム40の相互に関係付けられたコントロールに対する推奨ルールを計算する。学習モジュール64は、双方向矢印19に示されているようなビジネスルールデータベース84に格納されている予め定義されたビジネスルールおよび/または双方向矢印21によって示されているようなパラメータデータベース86に格納されている静的パラメータにアクセスすることができる。学習モジュール64は、矢印23に示されているように、新しい推奨ルールを挿入し、既存の推奨ルールを更新または削除することによって推奨ルールデータベース82の内容を操作するように構成される。学習モジュール64によって計算されるそれぞれの推奨ルールは、相互に関係付けることが論理的に可能である異なるコントロールを相互に関係付ける。   The learning module 64 queries the historical database 80 to retrieve the stored value of the historical user input item for the control of the interactive form 40 as indicated by arrow 17. Learning module 64 uses algorithms to calculate recommended rules for the interrelated controls of interactive form 40. The learning module 64 is stored in a pre-defined business rule stored in the business rules database 84 as shown by the bidirectional arrow 19 and / or in the parameter database 86 as shown by the bidirectional arrow 21 Static parameters that are accessible. The learning module 64 is configured to manipulate the contents of the recommended rule database 82 by inserting new recommended rules and updating or deleting existing recommended rules, as indicated by arrow 23. Each recommended rule calculated by the learning module 64 correlates different controls that are logically possible to correlate with each other.

同じ番号は図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 client device 16 performs one or more operations consistent with embodiments of the present invention, and / or their It comprises one or more processing units 20 configured to execute one or more instructions for causing a component of the client device 16 to perform the operation. The client device 16 is typically a mobile phone, smartphone, tablet computer, personal digital assistant (PDA), desktop computer, laptop computer that is used to interact with the interactive form 40 to execute travel-related search queries. It can be any kind of electronic device such as a notebook computer.

クライアントデバイス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と通信することができる。   Client device 16 includes an input / output (“I / O”) interface 22, a display 24, and an external device 26. The I / O interface 22 of the client device 16 is configured to receive data transmitted to the processing unit 20 from the display 24 and from the external device 26, and output the data from the processing unit 20 to the display 24 and the external device 26. Can be configured to. The display may be, for example, a computer monitor or a mobile phone or tablet screen. Alternatively, the display 24 has a touch that not only allows the user to receive and display output data, but also allows the user to enter data, for example, with a virtual keyboard on the screen. It may be a screen. The external device 26 may comprise additional user input devices such as, for example, a keyboard, keypad, mouse, microphone, and additional user output devices such as speakers. A client device 16 is a network adapter, such as a network interface card or transceiver, that is configured to provide a physical connection with the network 14 and to send data to and receive data from the server 12 over the network 14 28 can also be provided. In one embodiment, the client device 16 can communicate with the network 14 based on a contract with a mobile service provider as is known in the art.

クライアントデバイス16のメモリ30は、ソフトウェアモジュールまたはアプリケーション32および/またはオペレーティングシステム34を格納するように構成され、クライアントアプリケーション32およびオペレーティングシステム34はそれぞれ、一般的に、それぞれの処理ユニット20によってメモリ30から読み出せるプログラムコードとして格納されている1つまたは複数の命令を備える。これらの命令は、処理ユニット20によって実行されたときに、それぞれの処理ユニット20に、1つまたは複数のオペレーションを実行しそれによって本発明のさまざまな実施形態を具現化するステップ、要素、および/またはブロックを実行するのに必要なステップを実行させることができる。   The memory 30 of the client device 16 is configured to store a software module or application 32 and / or an operating system 34, and each of the client applications 32 and the operating system 34 is typically typically removed from the memory 30 by the respective processing unit 20. It comprises one or more instructions stored as readable program code. These instructions, when executed by the processing unit 20, cause each processing unit 20 to perform one or more operations, thereby implementing various embodiments of the invention, elements, and / or Alternatively, the steps necessary to execute the block can be performed.

メモリ30は、コンピュータのメインストレージ、さらには補助的レベルのメモリ、例えば、キャッシュメモリ、不揮発性もしくはバックアップメモリ(例えば、プログラム可能もしくはフラッシュメモリ)、大容量ストレージメモリ、リードオンリーメモリ(ROM)などを含むランダムアクセスメモリ(RAM)を代表するものとしてよい。それに加えて、メモリ30は、別の場所に物理的に配置されているメモリストレージ、例えば、クライアントデバイス16と通信するコンピューティングシステムのプロセッサ内のキャッシュメモリ、さらにはクライアントデバイス16と通信するコンピューティングシステム上のストレージデバイス(例えば、リモートストレージデータベース、リモートコンピューティングデバイスのメモリデバイス、クラウドストレージなど)を含むことが企図され得る。   Memory 30 includes computer main storage, as well as auxiliary level memory such as cache memory, non-volatile or backup memory (e.g., programmable or flash memory), mass storage memory, read only memory (ROM), etc. It may be representative of a random access memory (RAM) including it. In addition, the memory 30 may be memory storage that is physically located elsewhere, for example, cache memory within a processor of a computing system that communicates with the client device 16, and even computing that communicates with the client device 16. It may be contemplated to include storage devices on the system (eg, remote storage database, remote computing device memory device, cloud storage, etc.).

メモリ30内のクライアントアプリケーション32は、クライアントデバイス16上のローカルで実行され、そのプログラムコードは、それぞれの処理ユニット20によって実行されたときに、インタラクティブフォーム40(図3)の作成およびオペレーションを容易にする命令を含み得る。インタラクティブフォーム40は、クライアントデバイス16のユーザーとクライアントデバイス16のリモートの場所に配置されているサーバー12との間のインターフェースを形成する。したがって、ユーザーは、ディスプレイ24に表示されるインタラクティブフォーム40(図3)と相互作用することができる。   The client application 32 in memory 30 is executed locally on the client device 16 and its program code facilitates creation and operation of the interactive form 40 (FIG. 3) when executed by the respective processing unit 20. Instructions may be included. The interactive form 40 forms an interface between the user of the client device 16 and the server 12 located at a remote location of the client device 16. Thus, the user can interact with the interactive form 40 (FIG. 3) displayed on the display 24.

クライアントアプリケーション32は、インタラクティブフォーム40をクライアントデバイス16のディスプレイ24に表示してユーザーに示すことができる。インタラクティブフォーム40は、フォーム40に対する情報およびアクションがグラフィカルアイコンおよび視覚的インジケータを通じてクライアントデバイス16のユーザーに利用可能であるグラフィカルユーザーインターフェースに表示され得る。例えば、インタラクティブフォーム40は、オペレーティングシステム34に関連付けられ、ウェブ閲覧機能を実現したソフトウェアアプリケーションによって構成され得る、ブラウザ50(図3)上にウェブページとして表示されるものとしてよい。ブラウザ50は、携帯電話またはタブレットなどの、モバイルデバイス上で使用するように特に設計されているモバイルブラウザを含み得る。ハイパーテキストマークアップ言語(HTML)などのマークアップ言語で、ブラウザ50に表示するためのインタラクティブフォーム40を作成する。例えば、マークアップ言語は、インタラクティブフォーム40の挙動に影響を及ぼすスクリプト言語からのスクリプトを埋め込むことができる。代替的に、クライアントアプリケーション32は、スマートフォン、タブレットコンピュータ、または他のモバイルデバイス上で実行するように設計され、ネットワークアクセス可能な場所(例えば、モバイルアプリケーションストアまたはアクセス可能なデータベース、コンピュータ可読記憶媒体など)などのアプリケーション配布プラットフォームからダウンロードされるモバイルアプリケーション(すなわち、モバイルアプリ)も含み得る。   The client application 32 can display an interactive form 40 on the display 24 of the client device 16 to show to the user. The interactive form 40 may be displayed in a graphical user interface where information and actions for the form 40 are available to the user of the client device 16 through graphical icons and visual indicators. For example, the interactive form 40 may be displayed as a web page on the browser 50 (FIG. 3), which may be configured by a software application associated with the operating system 34 and realizing a web browsing function. Browser 50 may include a mobile browser that is specifically designed for use on a mobile device, such as a mobile phone or tablet. An interactive form 40 for display on the browser 50 is created in a markup language such as hypertext markup language (HTML). For example, the markup language can embed a script from a scripting language that affects the behavior of the interactive form 40. Alternatively, the client application 32 is designed to run on a smartphone, tablet computer, or other mobile device, and is a network accessible location (e.g., a mobile application store or accessible database, a computer readable storage medium, etc. As well as mobile applications downloaded from application distribution platforms (ie, mobile apps).

クライアントデバイス16は、処理ユニット20からアクセス可能なローカルキャッシュ38をさらに備えることができる。ローカルキャッシュ38は、例えばサーバー12から受信されるデータのコピーをローカルに格納するように構成されたメモリ30の1セクションであってもよい。   Client device 16 may further comprise a local cache 38 accessible from processing unit 20. The local cache 38 may be a section of the memory 30 that is configured to store, for example, a copy of data received from the server 12 locally.

図3に示されているように、インタラクティブフォーム40は、ユーザーがクライアントデバイス16でデータを入力し、次いで、入力されたデータを処理のためネットワーク14上でサーバー12に伝達することを可能にする。アクティブフォーム40は、さまざまな異なるユーザーインターフェース要素、特に、コントロール値などの内容のユーザー入力を容易にするコントロール42、43、44、45、46の形態のユーザーインターフェース要素を備えることができる。追加のコントロール(図示せず)は、インタラクティブフォーム40のインターフェース要素として表示され得る。インタラクティブフォーム40に入力されるデータは、代表的な実施形態において説明されているような旅行ブッキングを目的とする旅行検索クエリなどの旅行に関係付けられたものであってよい。しかし、インタラクティブフォームにも大きく依存する旅行プラン管理、フライト状況などの他の種類の旅行関係アプリケーション、およびインタラクティブフォームフローは、本発明の実施形態の恩恵を受け得る。   As shown in FIG. 3, interactive form 40 allows a user to enter data at client device 16 and then communicate the entered data to server 12 over network 14 for processing. . The active form 40 can include a variety of different user interface elements, particularly user interface elements in the form of controls 42, 43, 44, 45, 46 that facilitate user input of content such as control values. Additional controls (not shown) may be displayed as interface elements of the interactive form 40. The data entered into the interactive form 40 may be related to a trip, such as a trip search query for trip booking as described in the exemplary embodiment. However, other types of travel related applications such as travel plan management, flight status, and interactive form flow that also rely heavily on interactive forms, can benefit from embodiments of the present invention.

コントロール42、43、44、45、46は、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスを含み得る。それぞれのコントロールは、コントロールに対する値として入力され得る対象にテキストによるコンテキストを付与する1つまたは複数のラベルもしくはキャプションを備えることができる。インタラクティブフォーム40上のコントロール42、43、44、45、46は、ユーザー入力値を含む新しいデータに対する入力テンプレートとして機能し、例えば、サーバー12から供給されるコントロール値からインタラクティブフォーム40に供給されるデータを表示することができる。   Controls 42, 43, 44, 45, 46 may include buttons, sliders, spinners, list boxes, drop-down lists, and combo boxes. Each control can have one or more labels or captions that give textual context to objects that can be entered as values for the control. Controls 42, 43, 44, 45, 46 on interactive form 40 serve as input templates for new data containing user input values, for example, data supplied to interactive form 40 from control values supplied from server 12 Can be displayed.

ボタンは、アクションを実行するためにクリックされ得るコントロールである。代表的なボタンとして、限定はしないが、オプションの選択または選択解除(すなわち、トグル)するためにクリックされ得るチェックボックス、一度に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 interactive form 40. The user can enter text using the keyboard, navigate and select portions of the text using the keyboard, mouse, or touch screen, and edit text that has already been entered.

インタラクティブフォーム40のコントロール42、43、44、45、46は、旅行特有のコントロールを含み得る。旅行特有のコントロールの種類の1つは、名前もしくは国際航空運送協会(IATA)コードによる特有の場所の選択を容易にする旅行検索クエリに対する出発地または旅行検索クエリに対する目的地などの場所に対するオートコンプリート選択グループである。他の旅行特有のコントロールとして、限定はしないが、幼児の数を選択するために使用されるインファントセレクター(infant selector)、旅行が往復であるかどうかを選択する往復トグル、日付の選択を可能にするカレンダーコントロールを備える日付ピッカー、日付範囲の選択を可能にするカレンダーコントロールである開始および終了日付ピッカー、12時間または24時間セレクターを備える時間スライダー、ダブルスライダーのインタラクティブフォーム40内の時間範囲セレクター、ユーザーが旅行に対する特別な好みを入力することを可能にする特別サービス要求セレクター、ならびにサービスキャビンセレクター(service cabin selector)(エコノミー、ビジネスクラスなど)が挙げられる。   The controls 42, 43, 44, 45, 46 of the interactive form 40 may include travel specific controls. One type of travel-specific control is auto-complete for locations such as origin for a travel search query or destination for a travel search query that facilitates the selection of a specific location by name or International Air Transport Association (IATA) code. It is a selection group. Other travel-specific controls include, but are not limited to, an infant selector used to select the number of infants, a round-trip toggle that selects whether the trip is round-trip, and date selection A date picker with a calendar control, a start and end date picker that is a calendar control that allows you to select a date range, a time slider with a 12-hour or 24-hour selector, a time range selector in a double-slider interactive form 40, Special service request selectors that allow users to enter special preferences for travel, as well as service cabin selectors (economy, business class, etc.).

コントロール42、43、44、45、46のうちの特定の1つに対する1つまたは複数の選択肢が、ディスプレイ24および/または外部デバイス26(図2)を使用してユーザーによって指示され、および/または選択され得る。選択を行うために、ユーザーは、キーボード上のキーを押下することによってコントロールに対する値を選択するか、またはマウスのボタンをクリックし、キーボードもしくはマウスを使用する、指先もしくは電気機械的入力デバイスでディスプレイ54の画面にタッチする、音声認識システムに話しかけるなどによってカーソルを位置決めすることができる。   One or more options for a particular one of the controls 42, 43, 44, 45, 46 are indicated by the user using the display 24 and / or the external device 26 (FIG. 2) and / or Can be selected. To make a selection, the user selects a value for the control by pressing a key on the keyboard, or clicks a mouse button and displays on the fingertip or electromechanical input device using the keyboard or mouse The cursor can be positioned by touching 54 screens, talking to a speech recognition system, or the like.

インタラクティブフォーム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 interactive form 40 can be controlled through a scripting language such as Java (registered trademark) Script to enhance the functions so that the interactive form 40 can be dynamically created and modified. In particular, the scripting language has functions that affect the content and visual behavior of the controls 42, 43, 44, 45, 46. For example, check boxes are pre-selected, selection options for drop-down lists are sorted in order of importance, date ranges for sliders are preset, text boxes are pre-filled, text box auto-complete options Can be set. Control and enrichment of the interactive form 40 is accomplished by a Java Script interpreter that includes a pre-written Java Script Java library and a client application 32 (Figure 2). obtain. The Java (registered trademark) Script interpreter interprets the Java (registered trademark) Script source code of the Java (registered trademark) Script library and executes the script accordingly. The scripting language builds the interactive form 40, and the user interface elements of the interactive form 40 accept the content entered into the control, pre-validate the data entered into the control, and / or from the client device 16 to the server 12 Prepare the form data to be submitted and the content received by the client device 16 from the server 12 written by user input or some other processing and / or displayed to the user on the interactive form 40 Is output to controls 42, 43, 44, 45, 46 that have not yet been made.

クライアントアプリケーション32は、クライアントデバイス16とサーバー12との間のデータ交換を可能にするプログラムコードをさらに含み得る。一実施形態において、データ交換は、AJAX、拡張可能メッセージングおよびプレゼンスプロトコル(XMPP)などを使用して非同期非ブロッキング方式で行うことができ、クライアントデバイス16によって開始される。クライアントアプリケーション32は、データを送信することと、サーバー12からデータを取り出すこととを、非同期に、好ましくはインタラクティブフォーム40の表示および挙動に干渉することなくバックグラウンドで行うことができる。代替的に、データ交換に対する要求がサーバー12によって開始されるプッシュ技術が使用されてもよい。   Client application 32 may further include program code that enables data exchange between client device 16 and server 12. In one embodiment, the data exchange can be done in an asynchronous non-blocking manner using AJAX, extensible messaging and presence protocol (XMPP), etc., and is initiated by the client device 16. The client application 32 can send data and retrieve data from the server 12 asynchronously, preferably in the background without interfering with the display and behavior of the interactive form 40. Alternatively, a push technique in which a request for data exchange is initiated by the server 12 may be used.

同じ番号は図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 server 12 executes one or more instructions to match one or more consistent with embodiments of the present invention. It comprises one or more processing units 58 that perform operations and / or interact with client device 16 to perform one or more operations consistent with embodiments of the present invention. Server 12 includes a memory 60 that is accessible by one or more processing units 58. The memory 60 of the server 12 is configured to store software applications or modules 62, 64, 66, 68, and / or an operating system 70, where each of the modules 62, 64, 66, 68 and operating system 70 are generally It comprises one or more instructions stored as program code that can be read from the memory 60 by each processing unit 58. These instructions, when executed by the processing unit 58, cause each processing unit 58 to perform one or more operations, thereby implementing various embodiments of the invention, elements, and / or Alternatively, the steps necessary to execute the block can be performed.

メモリ60は、コンピュータのメインストレージ、さらには補助的レベルのメモリ、例えば、キャッシュメモリ、不揮発性もしくはバックアップメモリ(例えば、プログラム可能もしくはフラッシュメモリ)、大容量ストレージメモリ、ROMなどを含むRAMを代表するものとしてよい。それに加えて、メモリ60は、別の場所に物理的に配置されているメモリストレージ、例えば、サーバー12と通信するコンピューティングシステムの処理ユニット内のキャッシュメモリ、さらにはサーバー12と通信するコンピューティングシステム上のストレージデバイス(例えば、リモートストレージデータベース、リモートコンピューティングデバイスのメモリデバイス、クラウドストレージなど)を含むことが企図され得る。   Memory 60 represents computer main storage, as well as auxiliary level memory, such as RAM, including cache memory, non-volatile or backup memory (eg, programmable or flash memory), mass storage memory, ROM, etc. Good thing. In addition, the memory 60 is memory storage that is physically located elsewhere, for example, cache memory in a processing unit of a computing system that communicates with the server 12, and even a computing system that communicates with the server 12. It may be contemplated to include the above storage devices (eg, remote storage database, remote computing device memory device, cloud storage, etc.).

サーバー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とインターフェースするための他の好適なリンクであってよい。   Server 12 further includes an input / output (“I / O”) interface 72, a display 74, and an external device 76. The I / O interface 72 of the server 12 is configured to receive data communicated to the processing unit 58 from the display 74 and from the external device 76, and output the data from the processing unit 58 to the display 74 and the external device 76. Can be configured as follows. Display 74 and external device 76 may have functionality that allows a user, such as an administrator, to receive output data from server 12 and / or provide input data to server 12. The server 12 includes a network adapter 78 that is configured to provide a physical connection with the network 14, send data to and / or receive data from the client device 16 over the network 14. You can also. The network adapter 78 can be a wired link such as an IEEE 802.3 (Ethernet) link, a wireless link that uses a wireless network protocol such as an 802.11 (Wi-Fi) link, or to interface the server 12 with the network 14. Other suitable links may be used.

メモリ60は、履歴データベース80、推奨ルールデータベース82、ビジネスルールデータベース84、およびパラメータデータベース86も格納する。データベース80、82、84、86のそれぞれは、データ、およびデータを格納し、組織化する支援データ構造体を含む。特に、データベース80、82、84、86のそれぞれは、限定はしないが、リレーショナルデータベース、階層型データベース、ネットワークデータベース、および/またはこれらの組み合わせを含む、データベース組織化および/または構造で配置構成され得るデータの構造化された集合体を表す。処理ユニット58上で命令として実行するコンピュータソフトウェアアプリケーションの形態をとるデータベース管理システムは、クエリに応答してデータベース80、82、84、86のレコードに格納されている情報またはデータにアクセスするために使用される。データベース80、82、84、86のそれぞれは、データが効率よく使用できるようにデータにおいて対応するデータを組織化し、格納する。データの組織化は、情報を必要とするプロセスをサポートすることができる(例えば、推奨ルールデータベース82内で推奨ルールを見つける)。   The memory 60 also stores a history database 80, a recommended rule database 82, a business rule database 84, and a parameter database 86. Each of the databases 80, 82, 84, 86 includes data and supporting data structures that store and organize the data. In particular, each of the databases 80, 82, 84, 86 may be arranged in a database organization and / or structure, including but not limited to relational databases, hierarchical databases, network databases, and / or combinations thereof. Represents a structured collection of data. A database management system in the form of a computer software application that executes as instructions on the processing unit 58 is used to access information or data stored in records in the databases 80, 82, 84, 86 in response to queries Is done. Each of the databases 80, 82, 84, 86 organizes and stores corresponding data in the data so that the data can be used efficiently. Data organization can support processes that require information (eg, finding recommended rules in recommended rules database 82).

サーバー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 recommendation module 62 in the server 12 interacts directly with the client device 16. The recommendation module 62 receives a value entered in the control 42, 43, 44, 45, 46 of the interactive form 40 or selected by the user in the control 42, 43, 44, 45, 46 of the interactive form 40 To do. The recommendation module 62 stores all user selection values received from the interactive form 40 in the history database 80. In parallel with the storage process, the received values are also used to supply the probabilistic inference process based on a portion of user input that invokes the recommended rule set stored in the recommended rule database 82. In response to the partial travel search query, the recommendation module 62 queries the recommendation rules database 82 and receives one or more recommendation rules that are appropriate for the context of the query. Queries can be created using a query language, such as Structured Query Language (SQL).

推奨モジュール62は、記入済みフォームコントロールに対する知られている値セットからインタラクティブフォーム40内の未記入コントロールに対する予測される値を決定するために推奨ルールを適用する。例えば、複数のコントロールに対する複数の知られている値は、統計上の相関関係を有する1つまたは複数の未記入コントロールに対する推奨、および好ましくは、確率論的依存関係の形態で統計上の相関関係を有する複数のコントロールのそれぞれに対する1つまたは複数の値の推奨をもたらし得る。推奨のそれぞれの推奨値は、サーバー12からクライアントデバイス16に伝達され得る。   The recommendation module 62 applies recommendation rules to determine an expected value for an unfilled control in the interactive form 40 from a known set of values for the filled form control. For example, multiple known values for multiple controls are recommended for one or more blank controls with statistical correlation, and preferably statistical correlation in the form of stochastic dependencies. One or more value recommendations for each of a plurality of controls having Each recommended value of recommendations may be communicated from the server 12 to the client device 16.

クライアントデバイス16におけるクライアントアプリケーション32は、サーバー12から受信された推奨値を使用して、ユーザーがコントロールに入力する前にコントロールのうちの1つにデータを事前記入または事前投入する、コントロールにおいてユーザーに提案されるべき値を順序付ける、インタラクティブフォーム40に対して他の形で適応を行う(例えば、コントロール内のオプションをマスクする)、などを行うことができる。その結果、インタラクティブフォーム40内の1つまたは複数の記入済みコントロールの知られているセットに基づき、インタラクティブフォーム40内の1つまたは複数の未記入コントロールの値またはあり得そうな値を具現化する少なくとも1つの推奨ルールが、インタラクティブフォーム40内の未記入コントロールにデータを投入する機能に対して推奨モジュール62によって適用され、それによって、クライアントデバイス16のユーザーによる旅行検索クエリの簡素化された入力を容易にする。   The client application 32 at the client device 16 uses the recommended value received from the server 12 to pre-fill or pre-populate one of the controls before the user enters the control. Ordering the values to be proposed, other adaptations to the interactive form 40 (eg, masking options in the control), etc. can be performed. As a result, it embodies the value of one or more unfilled controls in interactive form 40 or possible values based on a known set of one or more filled controls in interactive form 40 At least one recommendation rule is applied by the recommendation module 62 for the ability to populate the unfilled controls in the interactive form 40, thereby simplifying the travel search query input by the user of the client device 16. make it easier.

推奨モジュール62によって行われる推奨では、クライアントデバイス16におけるユーザーの個人履歴データを考慮することもできる。例えば、ユーザーの素性が知られており(すなわち、登録ユーザーである)、推奨モジュール62は、過去の推奨に関するユーザーの個人履歴データにアクセスすることができる。ユーザーは、コントロールに対する値のプリファレンスが格納され、それによって個人履歴データとして知られる登録ユーザーであるものとしてよい。個人履歴データから導出されたコントロールに対するユーザープリファレンスは、推奨ルールから導出されたコントロール値と併せて考慮され得る。   The recommendations made by the recommendation module 62 may also take into account the user's personal history data at the client device 16. For example, a user's identity is known (ie, a registered user), and the recommendation module 62 can access the user's personal history data regarding past recommendations. A user may be a registered user, stored with value preferences for controls, known as personal history data. User preferences for controls derived from personal history data can be considered in conjunction with control values derived from recommended rules.

推奨モジュール62によって行われる推奨では、クライアントデバイス16のコンテキストに関係する情報も考慮し得る。例えば、クライアントデバイス16は、推奨を行う際に使用するサーバー12へのデータとして、場所などのデバイス依存情報を伝達することができる。クライアントデバイス16は、時刻、曜日などのクライアントデバイス16上に見つかる、および/または計算され得るデータを含む他の種類のデバイス独立情報を伝達することもできる。これらの種類の情報も、推奨を行うときに推奨モジュール62よって考慮され得る。   Recommendations made by recommendation module 62 may also consider information related to the context of client device 16. For example, the client device 16 can transmit device-dependent information such as a location as data to the server 12 used when making a recommendation. The client device 16 may also communicate other types of device independent information including data that may be found and / or calculated on the client device 16 such as time of day, day of the week, etc. These types of information can also be considered by the recommendation module 62 when making recommendations.

学習モジュール64は、複数のデータソースからデータを入力し、データに関係する予測などの推奨ルールを生成するために使用される予測アルゴリズムを学習させるように構成される。特に、学習モジュール64は、相互に関係付けられた(すなわち、相互に関連する)インタラクティブフォーム40のコントロール間の推奨ルールを生成する。予測アルゴリズムは、インタラクティブフォーム40のコントロールのうちの一部分または全部が、1つまたは複数のコントロールへの値の入力が1つまたは複数の他のコントロールに対する予測値に影響を及ぼすようにおそらくコントロールの相関する対としてまたはコントロールの相関するグループとして、統計的に相関するという仮定に基づく。1つまたは複数のコントロールは、推奨ルールのベースであり、推奨ルールを計算するために予測アルゴリズムによって適用される相互関係をもたらすように1つまたは複数の他のコントロールと統計的に相関し得る。例えば、複数のコントロールが、相互関係をもたらすように複数の他のコントロールと統計的に相関し得る。   The learning module 64 is configured to input data from a plurality of data sources and to learn a prediction algorithm used to generate recommended rules such as prediction related to the data. In particular, the learning module 64 generates recommended rules between controls in the interactive form 40 that are related (ie, related to each other). Prediction algorithms are likely to correlate some or all of the interactive form 40 controls so that the input of values to one or more controls affects the predicted values for one or more other controls. Based on the assumption of statistical correlation, either as a pair or as a correlated group of controls. The one or more controls are the basis for the recommended rules and may be statistically correlated with one or more other controls to provide a correlation applied by the prediction algorithm to calculate the recommended rules. For example, multiple controls can be statistically correlated with multiple other controls to provide a correlation.

学習モジュール64は、推奨ルールを格納するためのリポジトリとして使用される、推奨ルールデータベース82に推奨ルールを供給する。学習モジュール64の実行は、推奨モジュール62の実行から切り離されている。例えば、学習モジュール64は、規則正しい周期で(例えば、1時間に1回)、ユーザーのインタラクティブな操作によるトリガーなしで、非同期に実行され得る。特に、学習モジュール64は、クライアントデバイス16においてユーザーのインタラクティブな操作による任意の種類のトリガーに関係なく推奨ルールを決定することができる。   The learning module 64 supplies recommended rules to a recommended rule database 82 that is used as a repository for storing recommended rules. The execution of the learning module 64 is separated from the execution of the recommendation module 62. For example, the learning module 64 can be executed asynchronously at regular intervals (eg, once an hour) and without triggering by user interaction. In particular, the learning module 64 can determine the recommended rules regardless of any type of triggers by user interaction with the client device 16.

学習モジュール64にデータを供給するデータソースの1つは、モジュール62、64の両方にアクセス可能であるユーザーから蓄積された履歴協調データを含む、履歴データベース80である。履歴データベース80は、生データまたは集約データとしてデータを格納することができる。推奨モジュール62は、履歴データベース80にインタラクティブフォーム40のすべてのユーザーの選択を表すデータを書き込む。履歴データベース80は、クライアントデバイス16からユーザー選択が受信されるときにリアルタイムで更新されるものとしてよく、データインスタンスはすべて、生データであろうと集約データであろうと、増分的な仕方でリフレッシュされる。   One data source that provides data to the learning module 64 is a history database 80 that includes historical collaboration data accumulated from users that are accessible to both modules 62, 64. The history database 80 can store data as raw data or aggregated data. The recommendation module 62 writes data representing the selection of all users of the interactive form 40 to the history database 80. The historical database 80 may be updated in real time as user selections are received from the client device 16, and all data instances are refreshed in an incremental manner, whether raw or aggregated data. .

学習モジュール64は、推奨ルールを生成する際に使用するために履歴データベース80からのフォーム選択の協調履歴データを読み取る。履歴データベース80からの入力データは、観察されているユーザー選択の間の可能な関係のインスタンスを表し、推奨モジュール62は、履歴データベース80内のデータの知られていない基本的な確率分布の注目する特性を取り込む。   The learning module 64 reads form selection collaboration history data from the history database 80 for use in generating recommended rules. Input data from the historical database 80 represents an instance of a possible relationship between observed user selections, and the recommendation module 62 takes note of the unknown basic probability distribution of the data in the historical database 80 Capture characteristics.

履歴データベース80は、クライアントデバイス16におけるインタラクティブフォーム40のそれぞれの特定のユーザーと相関するフォーム選択の個人履歴データも含み得る。推奨モジュール62は、推奨ルールデータベース82からの推奨ルールの適用から導出される推奨と併せて推奨を生成する際に使用するために履歴データベース80からこの個人履歴データを読み取ることができる。   The history database 80 may also include personal history data of form selections that correlate with each particular user of the interactive form 40 at the client device 16. The recommendation module 62 can read this personal history data from the history database 80 for use in generating recommendations in conjunction with recommendations derived from application of recommendation rules from the recommendation rule database 82.

協調履歴データが、履歴データベース80内に生データとして格納される場合、学習モジュール64は、予測アルゴリズムがユーザー選択のパターンの変化を検出することができるように制限なしですべての協調履歴データにアクセスすることができる。例えば、現在は重要でないまたは際立っていないユーザー選択に関係するパラメータは、将来、重要または際立つことになることもあり得、したがって、学習モジュール64が変更に適応できるように生データが必要である。多数のレコードに対応できるように、生データは、データの繰り返しを回避すること、および可能ならば精度を失うことなく個別のレコードではなくカウントを格納することなど、インテリジェントな仕方で組織化されなければならない。   When collaborative history data is stored as raw data in the history database 80, the learning module 64 accesses all the collaborative history data without restriction so that the prediction algorithm can detect changes in user-selected patterns. can do. For example, parameters that are relevant to user selections that are not currently important or not outstanding may become important or outstanding in the future, and thus raw data is needed so that the learning module 64 can adapt to the changes. The raw data must be organized in an intelligent way to accommodate large numbers of records, such as avoiding repeated data and storing counts rather than individual records where possible without loss of accuracy. I must.

協調履歴データが、集約され、履歴データベース80内に集約データとして格納される場合、学習モジュール64は、生の形態の場合よりも素早くデータを処理することができる。集約形式でデータを格納することで、学習モジュール64が実行される毎にデータを集約する必要がなくなる。   If the collaboration history data is aggregated and stored as aggregated data in the history database 80, the learning module 64 can process the data more quickly than in the raw form. By storing data in an aggregate format, it is not necessary to aggregate the data each time the learning module 64 is executed.

他のデータソースは、推奨ルールを決定するプロセスにおいて学習モジュール64によってアクセスされ得る。例えば、そのようなデータソースの1つは、予め定義されたビジネスルールを含む、ビジネスルールデータベース84であるものとしてよい。例えば、代表的なビジネスルールは、観光旅行の大半が土曜の夜の滞在を含むというものであってよい。学習モジュール64によってアクセスされ得るさらに別のデータソースは、静的パラメータを含む、パラメータデータベース86である。例えば、代表的静的パラメータは、インタラクティブフォーム40のコントロールに対する特定の値を無視する命令である。   Other data sources may be accessed by the learning module 64 in the process of determining recommended rules. For example, one such data source may be a business rules database 84 that includes predefined business rules. For example, a typical business rule may be that the majority of sightseeing trips include Saturday night stays. Yet another data source that may be accessed by the learning module 64 is a parameter database 86 that includes static parameters. For example, a typical static parameter is an instruction that ignores certain values for controls in interactive form 40.

学習モジュール64は、1つまたは複数の予測アルゴリズムを使用して、旅行者の確率的性向に基づき推奨ルールデータベース82に対する推奨ルールを計算することができる。一般的に、推奨ルールでは、最大の割合のユーザーによって選択されるコントロールに対する値を追跡するコントロール値を予測する。推奨ルールは、履歴データベース80内の協調履歴データを使用して計算され得る。代表的予測アルゴリズムは、例えば、協調フィルタリングまたはニューラルネットワークに基づくものとしてよい。ある学習期間が過ぎた後、アルゴリズムの出力は、推奨ルールを定義する予測因子であり、これは、部分的に記入されたインタラクティブフォーム40内の既存のユーザー入力項目に基づきコントロールに対する値を提案するために推奨モジュール62によって使用され得る。履歴データベース80からの履歴協調データは、アルゴリズムに初期学習セットして提供され得る。   The learning module 64 may use one or more prediction algorithms to calculate recommended rules for the recommended rules database 82 based on the traveler's probabilistic propensity. In general, the recommended rule predicts a control value that tracks the value for the control selected by the largest percentage of users. The recommended rules can be calculated using the cooperation history data in the history database 80. Exemplary prediction algorithms may be based on, for example, collaborative filtering or neural networks. After a certain learning period, the output of the algorithm is a predictor that defines recommended rules, which suggest values for controls based on existing user input items in the partially filled interactive form 40 Can be used by the recommendation module 62. Historical cooperation data from the historical database 80 may be provided as an initial learning set for the algorithm.

協調フィルタリングは、教師なし学習の代表的な実施形態を提供し、一般的に、複数のデータソースからのデータを処理するアルゴリズムを使用して大量の情報をフィルタリングする。協調フィルタリングは、フォームのコントロール内の異なる変数に対する選択された値の間の(例えば、選択された値の対の間の)相関を確定し、少なくともこれに基づき推奨ルールに対する推奨を生成する。協調フィルタリングは、履歴データベース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 history database 80 and uses that collaborative history data to select the traveler when given an opportunity Predict possible choices. These predictions are filtered using business logic from the business rules database 84 and the parameter database 86. In this way, the learning module 64 uses collaborative filtering to create an itemized matrix that specifies relationships between values that can potentially appear as usage choices in the file of the interactive form 40 control. Can be built in 82.

ニューラルネットワークは、教師あり学習の代表的な実施形態を提供し、一般的に、履歴データベース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 history database 80. Neural networks are adaptive systems in that their structure can change based on historical traveler data supplied in the learning phase. Based on the cooperation history data received from the history database 80, the neural network can calculate a model from a set of acceptable models that minimizes a given cost criterion.

学習モジュール64は、履歴データベース80内の協調履歴データに関連付けられているフォームコントロールの値に対する最適なレベルの集約を決定する1つまたは複数の集約アルゴリズムも特徴とする。集約は、1つまたは複数のフォームコントロールおよびそれらの関連付けに対する値のセットに対して実行されるものとしてよく、通常は、旅行、例えば、出発地、目的地、出発日、帰国日、航空会社などに特有である。集約アルゴリズムは、例えば、利用可能であるデータセットのサイズに基づきコントロール値を集約するかどうか、および/または特定のコントロールが際立っているかどうかを決定する。   The learning module 64 also features one or more aggregation algorithms that determine the optimal level of aggregation for the form control values associated with the collaboration history data in the history database 80. Aggregation may be performed on a set of values for one or more form controls and their associations, usually traveling, for example, origin, destination, departure date, return date, airline, etc. It is peculiar to. The aggregation algorithm determines, for example, whether to aggregate control values based on the size of the dataset that is available and / or whether a particular control stands out.

推奨ルールを定義するためデータを集約する決定において使用される因子の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 historical database 80. Given the size of the set, the aggregation algorithm can decide to aggregate the control values according to the coarser accuracy and improve the recommended statistical significance. For example, a value for a specific destination from the origin may be a geographical area that includes a major private aircraft-only airport as the departure location and multiple major private aircraft-only airports that are limited to a single country region as the departure location. Or can be aggregated according to an even wider geographic region, such as all major civilian airports within a single country as a starting point. In a particular example, the historical data provided to the aggregation algorithm for the Nice-London trip is too small to obtain a statistically significant prediction. In such an outcome, the aggregation algorithm will make all France-London trips with coarser accuracy and higher statistical significance, such as one or more recommended rules for Nice-London trips. It is possible to decide to aggregate data for.

集約は、履歴データベース80内のコントロール値のそれぞれのセットについて決定される。特定の例において、より粗い集約は、推奨ルールデータベース82に供給されるニース-ロンドン旅行に対する推奨ルールにおける出発地としてニースに特有である。しかし、ニース-ロンドン推奨は、フランス-ロンドンデータに基づき決定されるという事実は、集約アルゴリズムがロンドンへの旅行に対する出発地としてのフランスの他の空港に対する推奨をフランス-ロンドンデータの集約に基づかせることを決定することを意味しない。例えば、履歴データベース80は、集約が出発地と目的地とのその特定の対に対して必要でないと集約アルゴリズムが決定することができるようにパリ-ロンドン旅行プランに対して十分なデータを保持することができる。   Aggregation is determined for each set of control values in the history database 80. In a particular example, the coarser aggregation is specific to Nice as a starting point in the recommended rules for Nice-London trips supplied to the recommended rules database 82. However, the fact that the Nice-London recommendation is determined based on the France-London data is based on the aggregation of the France-London data by the aggregation algorithm based on recommendations for other French airports as departure points for travel to London. Does not mean to decide. For example, the historical database 80 holds enough data for the Paris-London travel plan so that the aggregation algorithm can determine that no aggregation is required for that particular pair of origin and destination. be able to.

集約アルゴリズムは、複数の集約が必要であると決定し得る。例えば、ニース-ソルトレークシティ旅行プランに対する履歴データベース80内のデータは、小さすぎて、集約アルゴリズムによって統計的に有意であるとみなされず、フランス国のより大きな地理的単位におけるすべての主要民間機専用空港からソルトレークシティへの旅行に対する履歴データベース80内のデータも同様である。この場合、集約アルゴリズムは、ニースからソルトレークシティへの旅行に対する推奨ルールを決定する際に使用するためにフランスのすべての主要民間機専用空港から米国西部のすべての主要民間機専用空港への旅行に対するデータを集約するなどのより高いレベルでの集約を実行することを決定することができる。   The aggregation algorithm may determine that multiple aggregations are required. For example, the data in the historical database 80 for the Nice-Salt Lake City travel plan is too small to be considered statistically significant by the aggregation algorithm, and is dedicated to all major commercial aircraft airports in the larger geographic unit of France. The same applies to the data in the history database 80 for trips from to Salt Lake City. In this case, the aggregation algorithm is for travel from all major commercial aircraft airports in France to all major commercial aircraft airports in the western United States for use in determining the recommended rules for travel from Nice to Salt Lake City. It may be decided to perform a higher level of aggregation, such as aggregating data.

推奨ルールを定義するためデータを集約することを決定する際に使用される因子の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 learning module 64 also utilizes the business rules included in the records of the business rule database 84 and static parameters in the parameter database 86. Business rules and static parameters introduce expert judgment into the process of defining recommended rules. However, the learning module 64 is designed such that even if not configured, the associated recommended rules are determined based on data from existing user traffic.

推奨ルールの一例は、金曜日の外回りのフランス-ロンドン旅行に対するユーザーのプールへの滞在期間の分配に基づくものとしてよい。推奨ルールは、可能性が最も高い滞在期間は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 server 12 is a trip from France to London starting on Friday of the given week, recommendation module 62 calls the recommendation rule to determine the most likely return date. decide. The recommendation module 62 then causes the server 12 to communicate at least one return date to the client device 16 for presentation to the user. For example, the most likely single return date is communicated to the client device 16 and entered into a control in the interactive form 40, which is a test box, or multiple return dates are communicated to the client device 16. The list can be presented to the user that can be entered into controls in the interactive form 40, which is a list box, and ranked according to probability.

監視モジュール66は、推奨ルールに基づきクライアントデバイス16に供給される推奨をユーザーの実際の選択と比較するように構成され得る。監視モジュール66によって行われた比較は、例えば、管理モジュール68によって使用され得る。   The monitoring module 66 may be configured to compare recommendations provided to the client device 16 based on recommendation rules with the user's actual selection. The comparison made by the monitoring module 66 may be used by the management module 68, for example.

管理モジュール68は、管理者がシステムの機能および推奨プロセスを観察することを可能にする管理コンソールを備えるように構成され得る。この分析結果に基づき、管理者は、管理モジュール68を介してビジネスルールデータベース84内のビジネスルールおよび/またはパラメータデータベース86内の静的パラメータを修正するか、または他の何らかの形で変更し、学習モジュール64の学習プロセスに、またそれによって推奨ルールデータベース内の推奨ルールに影響を及ぼすことができる。代替的に、管理者は、管理モジュール68を介してビジネスルールデータベース84に対するビジネスルールおよび/またはパラメータデータベース86に対する静的パラメータを定義することができる。管理モジュール68は、与えられた頻度で学習モジュール64の実行を手動でまたは自動的にトリガーすることもできる。管理モジュール68は、例えば、食い違いを検出するか、または既存の推奨プロセスの障害および弱点を追跡することができる。   The management module 68 may be configured with a management console that allows an administrator to observe the system's functionality and recommendation process. Based on the results of this analysis, the administrator can modify business rules in the business rules database 84 and / or static parameters in the parameter database 86 through the management module 68, or modify and learn in some other way. It can affect the learning process of module 64 and thereby the recommended rules in the recommended rules database. Alternatively, the administrator can define business rules for business rules database 84 and / or static parameters for parameter database 86 via management module 68. The management module 68 can also trigger the execution of the learning module 64 manually or automatically at a given frequency. Management module 68 can, for example, detect discrepancies or track faults and weaknesses in existing recommended processes.

本発明の代替的一実施形態では、クライアントデバイス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 client device 16 may include one or more recommendations received from the server 12. The local cache 38 is used to populate one or more of the controls 42, 43, 44, 45, 46 in the interactive form 40 (Figure 3) based on the input of only a portion of the complete travel search query. Recommendations can be held temporarily. For example, the local cache 38 is the most popular (e.g., three) purpose as a recommendation for a trip plan that originates from each of a number of origins as constrained by the physical size of the storage area. The ground can be stored. By providing the client device 16 with some or all of the recommendations, the recommendation process can be speeded up. Selections made in the interactive form 40 at the client device 16 can also be communicated to the server 12 via the network 14 after the actual entry of a particularly less popular selection. The recommendation module 62 at the server 12 can also cause the client device 16 to send additional recommendations for the same or different controls for presentation to the user and / or history user selection as described herein. Database 80 can be stored.

本発明の代替的実施形態において、クライアントデバイス16におけるクライアントアプリケーション32は、推奨モジュール62に対するアルゴリズム全体、または少なくとも、推奨モジュール62のアルゴリズムの一部分を含み得る。ローカルの推奨は、推奨を提供するためにユーザーによってフォームコントロールに入力され、ローカルキャッシュ38内に保持されている値に依存し得る(例えば、ローカルキャッシュ38内のユーザー履歴に基づく最も人気のある3つの目的地)。クライアントデバイス16において実行されるアルゴリズムの割合は、クライアントデバイス16の処理能力、メモリなどに左右され得る。推奨アルゴルズムの全部または一部分をクライアントデバイスに置くことで、推奨プロセスを高速化することができる。クライアントデバイス16に推奨アルゴリズムの全部または一部分が存在しているにも関わらず、サーバー12は、依然として、推奨値をクライアントデバイス16にプッシュすることができる。このようにして、限られた数の推奨コントロール値は、サーバー12からの同じコントロールについて可能である追加の推奨コントロール値の到着を待ちながらローカルキャッシュ38からクライアントデバイス16において利用可能にされ得る。   In alternative embodiments of the present invention, the client application 32 at the client device 16 may include the entire algorithm for the recommendation module 62 or at least a portion of the algorithm of the recommendation module 62. Local recommendations may depend on the values entered in the form control by the user to provide recommendations and held in the local cache 38 (e.g., the most popular 3 based on user history in the local cache 38). Destinations). The percentage of algorithms executed on the client device 16 may depend on the processing capability, memory, etc. of the client device 16. Placing all or part of the recommended algorithm on the client device can speed up the recommendation process. Even though all or part of the recommended algorithm is present on the client device 16, the server 12 can still push the recommended value to the client device 16. In this way, a limited number of recommended control values may be made available to the client device 16 from the local cache 38 waiting for the arrival of additional recommended control values that are possible for the same control from the server 12.

本発明の他の代替的実施形態において、クライアントデバイス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 client device 16 may be used to temporarily store values entered by the user of the client device 16 as a local history. Client device 16 can send the contents of local history in local cache 38 to server 12 over network 14 so that server 12 can update history database 80. For example, the client device 16 can dump the contents of the local history to the server 12 at times when traffic on the network 14 is relatively light. In another example, if the client device 16 is a mobile device, the local history may be communicated from the client device 16 to the server 12 when first connected to the network 14.

図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 client device 16, connects to the network 14, and uses the interactive form 40 to connect to the server 12 and the network. A session is communicated over 14 (block 100). In the exemplary embodiment, the user initiates the input of a travel search query using interactive form 40. However, one or more of the controls of the interactive form 40 may be pre-filled with recommended values before the user enters them. To initiate pre-filling, one or more recommendations can be retrieved from the local cache 38 at the client device and used to pre-fill.

ユーザーは、クライアントデバイス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 client device 16 by populating each one or more of the controls in the interactive form 40 instead of all of the controls in the interactive form 40. (Block 102). The client application 32 detects the input of the partial travel search query in the interactive form 40 and causes the processing unit 20 to process the value entered in the control involved. A client application 32 running on the processor 20 in the client device 16 sends to the client device 16 at least one input value or at least one input behavior, and preferably all input values and behaviors. Is transmitted as data to the server 12 on the network 14 (block 104). Client device 16 may also communicate information (location, time, etc.) related to the context of client device 16 to server 12 for use in the recommendation process.

推奨モジュール62は、伝達されたデータを受信し、クライアントデバイスから受信された値を履歴データベース80に格納する(ブロック106)。推奨モジュール62は、受信された値を、一組の推奨ルールを呼び出すインテリジェント型の推論プロセスに通し、インタラクティブフォーム40内の未記入コントロールのうちの1つまたは複数に対する1つまたは複数の推奨を予測する(ブロック108)。クライアントデバイス16において計算されるか、または見つけられ、サーバー12に伝達されるデバイス独立情報(例えば、場所)およびデバイス依存情報(例えば、時刻または曜日)も、推奨の計算において推奨モジュール62によって使用され得る。それぞれの推奨は、ユーザーによってすでに記入されているコントロール以外の、旅行関係検索の他の部分を表すインタラクティブフォーム40内の未記入コントロールのうちの1つまたは複数に対する1つまたは複数の推奨値を含み得る。このプロセスフローは、追加の値がインタラクティブフォーム40のコントロール内に入力されるのが適切である限り繰り返すことができる。好ましくは、ブロック104ですべての値が入力された後に、インタラクティブフォーム40の複数のコントロールのデータ投入は、ブロック108で決定された推奨と共にインタラクティブフォーム40の少なくとも1つの他のコントロールに影響を及ぼすことができる。   The recommendation module 62 receives the communicated data and stores the value received from the client device in the history database 80 (block 106). The recommendation module 62 passes the received value through an intelligent inference process that invokes a set of recommendation rules to predict one or more recommendations for one or more of the unfilled controls in the interactive form 40 (Block 108). Device-independent information (e.g., location) and device-dependent information (e.g., time or day of the week) that is calculated or found at the client device 16 and communicated to the server 12 is also used by the recommendation module 62 in the recommendation calculation. obtain. Each recommendation includes one or more recommended values for one or more of the unfilled controls in interactive form 40 that represent other parts of the travel-related search other than the controls already filled in by the user. obtain. This process flow can be repeated as long as it is appropriate for additional values to be entered into the controls of the interactive form 40. Preferably, after all values have been entered in block 104, the data entry of multiple controls in interactive form 40 will affect at least one other control in interactive form 40 with the recommendations determined in block 108. Can do.

例えば、サーバー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 client device 16 for interactive exchange of information with server 12, client application 32 running on processor 20 at client device 16 may control in interactive form 40. Recommendations for populating the starting and destination for travel booking can be retrieved in one or both of 42,43. In one embodiment, processor 20 can retrieve recommendations from local cache 38 and present those recommendations in controls 42, 43. Alternatively, the client device 16 communicates the session start to the server 12, and the recommendation module 62 running on the processor at the server 12 uses the recommendation rules in the recommendation rules database 82 to control 42, 43. Recommendations can be determined and communicated back from the server 12 to the client device 16. Regardless of the source, the client application 32 can determine whether the control 42, 43 in the interactive form 40 has the context of the control 42, 43, with the values appropriately sorted so that the recommended value (s) are presented in a higher order. Recommendations and other values that are suitable for can be entered.

他の例では、サーバー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 client device 16 to interactively exchange information with the server 12, the user can enter the control 42 in the interactive form 40 with an input item representing the departure location for travel booking. A text string can be entered as An application 32 running on the processor 20 at the client device 16 can retrieve recommendations from the local cache and populate the control 43 in the interactive form 40 with one or more destinations for travel booking. Alternatively, the client device 16 communicates its departure location to the server 12, and the recommendation module 62 running on the processor at the server 12 uses the recommendation rules in the recommendation rule database 82 to make recommendations for the control 43. It can be determined and communicated back from the server 12 to the client device 16. The recommendation received at the client device 16 from the server 12 is one recommended value for the most likely destination given the origin, or the most likely destination value given the origin. A text string having a plurality of recommended values for (ie, a plurality of recommended destinations). Control 43 can be populated with recommendations and other values as appropriate for the context of Control 43, along with values appropriately sorted so that the recommended value (s) are presented in a higher order in the listing. . The user can select a recommended value or one of the recommended values without manually entering control 43 and without scrolling through the list of values.

他の例として、クライアントデバイス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 client device 16, the user may enter a text string representing the origin and destination respectively in controls 42 and 43 and a departure date in control 44. it can. An application 32 running on the processor 20 in the client device 16 can put a recommendation for the return date into the control 45 in the interactive form 40. The processor 20 can retrieve recommendations from the local cache 38 at the client device 16. Alternatively, the client device 16 communicates the values for the controls 42, 43, 44 entered by the user to the server 12, and the recommendation module 62 running on the processor at the server 12 is in the recommendation rules database 82. Recommendation rules can be used to determine recommendations for control 45 and communicate them back to client device 16. The recommended date value is most likely given the starting point, destination, and departure date based on the historical values of the user input items used to build the recommended rule in the recommended rule database 82 Can represent return date. The user is spared the task of selecting a return date and can proceed directly to the next step in the booking process. Even if no return date is selected, the process of correcting the return date in Control 45 can be simplified if the predicted return date is closer to the actual return date on the calendar than the current date, for example. .

推奨ルールに基づく推奨値は、適宜、クライアントデバイス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 historical database 80 of the concurrent user who entered the partial travel search query at the client device 16. . One approach to make the combination is a weighted average of the respective recommended values based on all users of the interactive form 40 and personal recommended values for concurrent users of the client device 16.

インタラクティブフォーム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 interactive form 40 are communicated back from the server 12 to the client device 16 (block 110). After receiving, the client application 32 at the client device 16 adapts the interactive form 40 based on the respective recommendations (block 112). Client application 32 may populate one or more recommended values received from server 12 for a particular control in interactive form 40 or one or more of a particular control in interactive form 40. Recommended values and other values that are not recommended can be entered. The client application 32 can also change the state of certain relevant controls in the interactive form 40 to reflect the recommended value.

クライアントデバイス16におけるインタラクティブフォーム40のユーザーは、それぞれの適応されたコントロールに表示される推奨値を採用または選択することができる。代替的に、ユーザーは、適応されたコントロールのうちの1つに対する推奨されない値を入力することができ、したがって、これらの推奨に含まれない値を選択することができる。例えば、ユーザーは、適応されたコントロールに投入する複数の推奨値(例えば、目的地)のうちから1つの推奨値(例えば、目的地)を選択することができる。推奨は、ユーザーによって選択されていない場合であっても、クライアントデバイスのユーザーが1つまたは複数のコントロールに対する選択を行うのを助けることもできる。例えば、推奨値は、日付ピッカーに置かれている現在の日付と異なる日付であってもよく、カレンダー上で日付を選択することを可能にする。推奨値が選択されていない場合でも、クライアントデバイス16のユーザーは、現在の日付よりも時間的に推奨値に近い日付を日付セレクターを使用して選択することができ、これにより、選択プロセスが軽減され得る。   Users of the interactive form 40 on the client device 16 can adopt or select the recommended values displayed in their respective adapted controls. Alternatively, the user can enter a non-recommended value for one of the adapted controls and thus can select a value that is not included in these recommendations. For example, the user can select one recommended value (eg, destination) from among a plurality of recommended values (eg, destination) to be input to the adapted control. Recommendations can also help the user of the client device to make a selection for one or more controls, even if not selected by the user. For example, the recommended value may be a date different from the current date placed in the date picker, allowing the date to be selected on the calendar. Even if the recommended value is not selected, the user of client device 16 can use the date selector to select a date that is closer in time to the recommended value than the current date, which reduces the selection process Can be done.

上で説明されているようなインタラクティブフォーム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 interactive form 40 as described above assists the user in completing interactive form 40 and thus fills in interactive form 40 prior to completion of interactive form 40 Note that it is performed in the process. For example, a complete travel search query represented by all controls 42, 43, 44, 45, 46 (in an alternative embodiment, a complete travel search query is allowed by a subset of controls 42, 43, 44, 45, 46 (Which may already be configured to the extent possible) can be used to perform a search to be performed for a trip that satisfies the conditions of the values entered in the interactive form 40. For this purpose, the client device 16 sends a complete travel search query to each travel server. The result is communicated to the client device 16 and displayed to the user on the client device 16 so that it can be evaluated and potentially book one of the trips.

図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 history database 80 for generating a recommended rule for the recommended rule database will be described. The learning module 64 accesses user data stored in the history database 80 that records selections made in the various controls of the interactive form 40 by a pool of all client device users (block 150). The learning module 64 can query the business rules database to receive business rules associated with the recommendation process (block 152). The learning module 64 can query the parameter database to receive static parameters associated with the recommendation process (block 154). One or more prediction algorithms of the learning module 64 analyze historical user data in conjunction with information from the business rules database and parameter database to generate recommended rules (block 156). The recommendation process may be based on the user's behavior when filling out the controls of the interactive form 40 and may be independent of human expert judgment. However, human expert judgment can be used to influence recommendations through business rules and static parameters. Historical user data may be aggregated to define recommended rules, as described above, which is the size of the data set relative to the control values stored in the historical database 80. . Given the size of the data set, the aggregation algorithm can decide to aggregate the control values according to the coarser accuracy and improve the recommended statistical significance. The learning module 64 supplies and stores these recommended rules in the recommended rule database 82 (block 158). The routine then ends (block 160). As explained above, the recommendation module 62 accesses the recommendation rules in the recommendation rule database 82 and proposes values for the interactive form 40 controls in the user's future session on the client device 16 based on partial user input. .

本発明の複数の実施形態を実装するためにサーバー12およびクライアントデバイス16の1つまたは複数の処理ユニットによって実行され得るルーチンおよび/または命令は、オペレーティングシステムもしくは特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、またはそれぞれの処理ユニットによって実行される一連のオペレーションの一部分として実装されていようといまいと、本明細書では「プログラムモジュール」、「コンピュータプログラムコード」、または単に「モジュール」もしくは「プログラムコード」と称される。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むものとしてよい。本発明の態様に対するオペレーションを実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++、または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの伝統的な手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の組み合わせで書くことができる。コンピュータコードをルーチン、プロシージャ、メソッド、モジュール、オブジェクト、および同様のものに組織化することができる多くの方法、さらにはプログラム機能を典型的なコンピュータ内の常駐するさまざまなソフトウェアレイヤ(例えば、オペレーティングシステム、ライブラリ、API、アプリケーション、アプレットなど)間に割り振ることができるさまざまな方法に鑑みて、本発明の実施形態は、本明細書で説明されているプログラム機能の特定の組織化および割り振りに限定されないことは理解されるであろう。   Routines and / or instructions that may be executed by one or more processing units of server 12 and client device 16 to implement embodiments of the present invention include an operating system or a specific application, component, program, object, Whether implemented as a module or part of a series of operations performed by each processing unit, a “program module”, “computer program code”, or simply “module” or “program code” is used herein. It is called. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer program code for performing operations on aspects of the present invention includes object-oriented programming languages such as Java, Smalltalk, C ++, or the like, and "C" programming language or similar programming languages, etc. Can be written in a combination of one or more programming languages, including traditional procedural programming languages. Many ways in which computer code can be organized into routines, procedures, methods, modules, objects, and the like, as well as various software layers (e.g., operating systems) that reside program functions within a typical computer. In view of the various ways that can be allocated between libraries, APIs, applications, applets, etc., embodiments of the present invention are not limited to the specific organization and allocation of program functionality described herein. It will be understood.

フローチャート、ブロック図、およびシーケンス図は、本明細書では、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータプログラム製品の考えられる実装のアーキテクチャ、機能、およびオペレーションを示している。この点に関して、フローチャート、ブロック図、またはシーケンス図中のそれぞれのブロックは、プログラムコードのセグメントまたは一部分を表すものとしてよく、これは指定された論理機能および/または活動を実装するための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.
前記サーバーにより、前記第1のコントロールの値を入力する前記クライアントデバイスのユーザーの前記第2のコントロールに対する履歴値を反映するように前記第2のコントロールに対する少なくとも1つの推奨値を調整するステップをさらに含む、請求項1に記載の方法。 Adjusting , by the server, at least one recommended value for the second control to reflect a historical value for the second control of a user of the client device that inputs the value of the first control; comprising the method of claim 1. サーバーにより、インタラクティブフォームの複数のコントロールに対する複数の値を受信するステップであって、それぞれの値は複数のユーザーのそれぞれによって前記インタラクティブフォームのコントロールのうちの1つに入力された旅行関係検索クエリの一部分を含み、前記コントロールのそれぞれは、ボタン、スライダー、スピナー、リストボックス、ドロップダウンリスト、およびコンボボックスのうちの1つである、ステップと、
前記サーバーにより、相互に関係付けられたコントロールに対する前記値に基づいて複数の推奨ルールを決定するステップであって、それぞれの推奨ルールは、相互に関係付けられたコントロールのうちの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つの推奨値は、前記旅行関係検索クエリの他の部分を表す、ステップと、をさらに含み、
前記クライアントデバイスが前記コントロールのうちの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.
求項3に記載の方法をプロセッサに実行させるように構成されたプログラムコードを備える、コンピュータプログラム。 Bei El the configured program code to execute on how to processor according to Motomeko 3, the computer program. クライアントデバイスと共に使用するための装置であって、
プロセッサを含むサーバーと、
インタラクティブフォームと相互作用するために前記プロセッサによって実行されるように構成されたプログラムコードを格納したメモリと、を備え前記プログラムコードは、前記プロセッサに、前記インタラクティブフォームの第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 .
前記サーバーのプロセッサに結合された推奨ルールデータベースであって、前記第1および第2のコントロールを相互に関係付ける複数の推奨ルールを含む推奨ルールデータベースをさらに備え、
前記プロセッサに前記第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つの推奨値を前記サーバーからクライアントデバイスに伝達させるように構成されたプログラムコードと、をさらに備え、
前記コントロールのうちの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.
JP2015546896A 2012-12-17 2013-12-12 Recommended engine for interactive search forms Active JP6328135B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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