KR20160122648A - Selecting search results for responding to search query - Google Patents

Selecting search results for responding to search query Download PDF

Info

Publication number
KR20160122648A
KR20160122648A KR1020160044629A KR20160044629A KR20160122648A KR 20160122648 A KR20160122648 A KR 20160122648A KR 1020160044629 A KR1020160044629 A KR 1020160044629A KR 20160044629 A KR20160044629 A KR 20160044629A KR 20160122648 A KR20160122648 A KR 20160122648A
Authority
KR
South Korea
Prior art keywords
itinerary
value
travel
itineraries
optimal
Prior art date
Application number
KR1020160044629A
Other languages
Korean (ko)
Other versions
KR102311526B1 (en
Inventor
로르 까니스
프땅 즈메리
Original Assignee
아마데우스 에스.에이.에스.
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 US14/685,681 external-priority patent/US10007957B2/en
Priority claimed from EP15290103.9A external-priority patent/EP3082077A1/en
Application filed by 아마데우스 에스.에이.에스. filed Critical 아마데우스 에스.에이.에스.
Publication of KR20160122648A publication Critical patent/KR20160122648A/en
Application granted granted Critical
Publication of KR102311526B1 publication Critical patent/KR102311526B1/en

Links

Images

Classifications

    • G06F17/30687
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F17/30699
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to methods, apparatuses, and computer program products for processing search results. The search results are retrieved from a database of travel itineraries based on search criteria provided by a traveler, and a set of recommended travel itineraries selected from the search results based on a probabilistic profile comprising a plurality of value profiles. A set of near-optimal travel itineraries is defined for each of the value profiles. A probability is determined for each travel itinerary of the search results based on a sum of weights of each value profile including the travel itinerary in the corresponding set of near-optimal travel itineraries, and travel itineraries added to the set of recommended travel itineraries based on the probabilities. An online search may be performed to enrich the set of recommended travel itineraries depending on a distance between the probabilistic profile of the traveler and a probabilistic profile used to populate the cache.

Description

탐색 질의에 응답하기 위한 탐색 결과의 선택{SELECTING SEARCH RESULTS FOR RESPONDING TO SEARCH QUERY}SELECTING SEARCH RESULTS FOR RESPONDING TO A SEARCH QUERY {SELECTING SEARCH RESULTS FOR RESPONDING TO SEARCH QUERY}

본 발명은 일반적으로 컴퓨터 및 컴퓨터 소프트웨어에 관한 것으로, 특히 검색 질의에 응답하는 검색 결과를 선택하는 방법, 장치 및 컴퓨터 프로그램 제품에 관한 것이다.The present invention relates generally to computer and computer software, and more particularly to a method, apparatus, and computer program product for selecting search results in response to a search query.

항공편과 같은 여행 관련 서비스의 예약 시스템은 전형적으로 제공되는 여행 서비스에 관한 데이터를 저장하는 하나 이상의 데이터베이스를 포함한다. 이러한 데이터베이스는 서비스의 가격을 결정하는데 사용되는 데이터를 내포한 운임 데이터베이스와, 서비스가 이용 가능한지를 결정하기 위해 사용되는 데이터를 내포한 가용성 데이터베이스를 포함할 수 있다. 예약 시스템은 또한 여행자 또는 여행대리인과 같은 최종 사용자가 원하는 여행 기준을 만족시키는 여행 서비스를 검색하고 등록할 수 있게 하는 툴을 제공할 수 있다. 이를 위해, 상기 제공되는 툴은 다른 시스템들이 데이터베이스로부터의 데이터에 접근할 수 있게 하는 하나 이상의 머신 인터페이스를 포함할 수 있다. 이러한 머신 인터페이스를 통하여 접근이 제공되는 시스템은 전역 분배 시스템(Global Distribution System, GDS)뿐만 아니라 여행사 또는 다른 여행 서비스 판매자들이 운영하는 시스템들을 포함할 수 있다.The reservation system for travel-related services, such as flights, typically includes one or more databases that store data about the travel services that are typically provided. Such a database may include a freight database containing data used to determine the price of the service and an availability database containing data used to determine whether the service is available. The reservation system can also provide a tool that allows end-users such as travelers or travel agents to search and register travel services that meet desired travel criteria. To this end, the provided tool may include one or more machine interfaces that allow other systems to access data from the database. The system in which access is provided through such a machine interface may include systems operated by a travel agency or other travel service vendors as well as a Global Distribution System (GDS).

여행 서비스를 등록하기 위해, 여행자는 판매자가 제공하는 여행 관련 웹사이트에 접근할 수 있다. 등록 처리의 일부로서, 여행자는 출발지, 도착지, 여행 일자, 부킹 클래스(booking calss) 등과 같은 검색 기준을 제공하고, 웹사이트를 이용하여 검색 질의(search query)를 시작할 수 있다. 전술한 시스템들 중의 하나에 의해 제공되는 검색 엔진은, 상기 검색 질의의 수신에 응답하여, 데이터베이스로부터 데이터를 검색하고 상기 검색 기준을 만족시키는 여행 일정표를 포함한 검색 결과들을 발생할 수 있다. 검색 엔진에 의해 제공되는 검색 결과들의 속도 및 품질은 온라인 여행 대리인 또는 여행사 등의 하나의 온라인 판매자를 다른 판매자로부터 구별하는 결정 인수일 수 있다. 따라서, 가격이 정해진 항공편(priced flights), 호텔 또는 자동차 렌털 등의 여행 서비스를 온라인으로 검색하는 여행자들은 주로 검색 결과의 품질 및 그러한 결과를 제공하는 속도 둘 다에 기초하여 하나의 온라인 판매자를 다른 판매자보다 선호할 수 있다.To register a travel service, the traveler has access to the travel related website provided by the seller. As part of the registration process, a traveler can provide search criteria, such as a starting point, a destination, a travel date, a booking class, and the like, and start a search query using the web site. A search engine provided by one of the aforementioned systems may, in response to receiving the search query, retrieve data from the database and generate search results including a travel itinerary that satisfies the search criteria. The speed and quality of the search results provided by the search engine may be a decision factor that distinguishes one online merchant from another merchant, such as an online travel agent or travel agent. Thus, travelers searching online for travel services, such as priced flights, hotels, or car rentals, often use one online merchant as the other, based on both the quality of the search results and the speed with which they provide such results May be preferred.

검색 질의를 수신할 때마다 새로운 검색 결과를 획득하는 것은 연산 집약적이고, 검색 결과를 여행자에게 제공하는데 걸리는 시간량을 증가시킬 수 있다. 이러한 지연은 특히 여행자가 아직 여행 서비스를 쇼핑하는 과정에 있을 때 여행자들을 실망시킬 수 있다. 검색 결과를 결정하는 속도를 개선하기 위해 검색 엔진은 저장되어 있는 검색 결과들을 사용할 수 있다. 저장된 검색 결과에 의존하면 예약 시스템의 연산 부하를 감소시키고 검색 엔진의 인지되는 응답성을 개선할 수 있다. 그러나 저장된 검색 결과를 이용하는 종래의 시스템들은 전형적으로 저장물(cache)이 운임 데이터베이스 및 가용성 데이터베이스로부터 얼마나 자주 갱신되는가에 따라 속도와 품질이 교환된다. 저장된 검색 결과들의 품질은 특히 가용성, 가격 및 스케줄의 급격한 변화에 기인하여 여행 산업에서 진부한 것으로 될 수 있다. 만일 검색 결과의 품질과 속도 중의 어느 하나가 여행자에게 부적절한 것으로 인지되면, 여행자는 다른 온라인 판매자를 찾아서 여행 서비스를 검색하고 획득할 수 있다. 따라서 여행 관련 웹사이트가 검색 결과를 얼마나 잘 제공하는가는 트래픽의 양 및 뷰당 구매(purchases per view)의 수, 또는 웹사이트의 "전환율"에 기여할 수 있다.Obtaining a new search result each time a search query is received is computationally intensive and can increase the amount of time it takes to provide the search results to the traveler. This delay can disappoint tourists, especially when the traveler is still in the process of shopping for travel services. To improve the speed at which search results are determined, search engines can use stored search results. Depending on the stored search results, the computational load of the reservation system can be reduced and the perceived responsiveness of the search engine can be improved. Conventional systems using stored search results, however, typically exchange speed and quality depending on how often the cache is updated from the freight database and availability database. The quality of stored search results can become obsolete in the travel industry, especially due to the rapid change in availability, price and schedule. If either of the quality and speed of the search result is found to be inappropriate for the traveler, the traveler can search for and obtain the travel service by searching for other online merchants. Therefore, how well a travel-related website provides search results can contribute to the amount of traffic, the number of purchases per view, or the "conversion rate" of a website.

그러므로 검색 질의의 수신에 응답하여 제공되는 검색 결과의 속도 및 품질 둘 다를 개선하는, 저장된 검색 결과를 선택하는 개선된 방법, 장치 및 컴퓨터 프로그램 제품이 필요하다.Therefore, what is needed is an improved method, apparatus, and computer program product for selecting stored search results that improves both the speed and quality of search results provided in response to receiving a search query.

발명의 일 실시형태에 있어서, 데이터베이스의 여행 일정표를 처리하는 장치가 제공된다. 데이터베이스는 여행자를 위한 제2의 권장형 여행 일정표 집합을 발생하기 위해 장치에 의해 처리되는 검색 기준을 만족시키는 제1 여행 일정표 집합을 포함한다. 장치는 하나 이상의 프로세서와 상기 하나 이상의 프로세서에 결합된 메모리를 포함한다. 메모리는 하나 이상의 프로세서에 의해 실행된 때 장치로 하여금, 복수의 가치 분석표(value profile) 중 각각의 가치 분석표에 대하여, 상기 가치 분석표를 이용하여 상기 제1 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치를 결정하고 상기 각 여행 일정표의 조정된 가치에 기초하여 상기 제1 여행 일정표 집합으로부터 준최적(near-optimal) 여행 일정표 집합을 규정하게 하는 프로그램 코드를 포함한다. 프로그램 코드는 또한 장치로 하여금, 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 상기 가치 분석표의 상기 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각각의 가치 분석표의 가중치(weight)를 합산하여 합을 발생하게 한다. 프로그램 코드는 또한 장치로 하여금 상기 합들을 비교하여 최고치를 가진 합을 결정하고, 상기 최고치의 합을 가진 여행 일정표를 제2 여행 일정표 집합에 추가하게 한다.In one embodiment of the invention, an apparatus for processing a travel itinerary of a database is provided. The database includes a first set of travel itineraries that satisfy search criteria processed by the device to generate a second set of recommended itineraries for the traveler. An apparatus includes one or more processors and a memory coupled to the one or more processors. The memory, when executed by one or more processors, causes the device to determine, for each of the plurality of value analysis tables, the adjusted value of each itinerary in the first set of itineraries using the value- And program code for defining a set of near-optimal itineraries from the first set of itinerary based on the adjusted value of each itinerary. The program code also causes the device to sum the weights of the respective value analysis tables, including the itinerary in the sub-optimal itinerary set of the value analysis table, for each itinerary in the first set of itinerary tables, . The program code also causes the device to compare the sums to determine the sum with the highest value and add the itinerary with the sum of the highest values to the second itinerary set.

발명의 다른 실시형태에 있어서, 데이터베이스의 여행 일정표를 처리하는 방법이 제공된다. 이 방법은, 복수의 가치 분석표 중 각각의 가치 분석표에 대하여, 상기 가치 분석표를 이용하여 상기 제1 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치를 결정하는 단계와, 상기 각 여행 일정표의 조정된 가치에 기초하여 상기 제1 여행 일정표 집합으로부터 준최적 여행 일정표 집합을 규정하는 단계를 포함한다. 이 방법은 또한, 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 상기 가치 분석표의 상기 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각각의 가치 분석표의 가중치를 합산하여 합을 발생하는 단계를 포함한다. 이 방법은 또한 상기 합들을 비교하여 최고치를 가진 합을 결정하는 단계와, 상기 최고치의 합을 가진 여행 일정표를 제2 여행 일정표 집합에 추가하는 단계를 포함한다.In another embodiment of the invention, a method of processing a travel itinerary of a database is provided. The method comprises the steps of determining for each value analysis table of a plurality of value analysis tables an adjusted value of each itinerary in the first set of itineraries using the value analysis table, And defining a set of sub-optimal itineraries from the first set of itineraries based on the set of sub-optimal itineraries. The method also includes generating a sum for each trip schedule in the first set of travel itineraries by summing the weights of each value assignment table including the itinerary in the set of sub-optimal itineraries of the value analysis table . The method also includes comparing the sums to determine a sum with a peak value, and adding a trip itinerary having a sum of the peak values to a second itinerary set.

발명의 또 다른 실시형태에 있어서, 프로그램 코드가 저장된 비일시적 컴퓨터 판독가능 기억 매체를 포함한 컴퓨터 프로그램 제품이 제공된다. 프로그램 코드는, 하나 이상의 프로세서에 의해 실행된 때, 상기 하나 이상의 프로세서가, 복수의 가치 분석표 중 각각의 가치 분석표에 대하여, 상기 가치 분석표를 이용하여 상기 제1 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치를 결정하고 상기 각 여행 일정표의 조정된 가치에 기초하여 상기 제1 여행 일정표 집합으로부터 준최적 여행 일정표 집합을 규정하게 하도록 구성될 수 있다. 프로그램 코드는 또한 하나 이상의 프로세서로 하여금, 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 상기 가치 분석표의 상기 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하여 합을 발생하게 한다. 프로그램 코드는 또한 하나 이상의 프로세서로 하여금 상기 합들을 비교하여 최고치를 가진 합을 결정하고, 상기 최고치의 합을 가진 여행 일정표를 제2 여행 일정표 집합에 추가하게 한다.In yet another embodiment of the invention, a computer program product is provided that includes a non-transitory computer readable storage medium having stored thereon program code. Wherein the program code is executed by the one or more processors when executed by the one or more processors to determine, for each of the plurality of value analysis tables, And to define a set of sub-optimal itineraries from the first set of itineraries based on the adjusted value of each itinerary. The program code also causes the one or more processors to sum up the weights of the respective value analysis tables, including the itinerary of the sub-optimal itinerary of the value analysis table, for each trip itinerary in the first set of travel itineraries to generate a sum do. The program code also causes the one or more processors to compare the sums to determine the sum with the highest value and add the itinerary with the sum of the highest values to the second itinerary set.

이 명세서에 통합되어 이 명세서의 일부를 구성하는 첨부 도면은 위에서 제공된 본 발명의 일반적인 설명과 함께 본 발명의 각종 실시형태를 나타내고, 이하에서 주어지는 실시형태의 상세한 설명은 발명의 실시형태를 설명하는데 소용된다.
도 1은 네트워크를 통해 통신하는 복수의 컴퓨터 시스템을 포함한 예시적인 운영 환경을 보인 도이다.
도 2는 도 1의 예시적인 컴퓨터 시스템을 보인 도이다.
도 3은 검색 엔진, 권장 데이터베이스 및 분석표 데이터베이스를 포함한 컴퓨터 시스템을 보인 도이다.
도 4는 도 3의 검색 엔진에 의해 사용되는 확률 분석표를 보인 도이다.
도 5는 여행자로부터의 검색 질의에 대한 응답에 포함되는 권장형 여행 일정표 집합에 대한 검색 결과를 선택하기 위해 도 3의 컴퓨터 시스템에 의해 실행되는 처리를 보인 흐름도이다.
도 6은 권장형 여행 일정표 집합에 추가되는 여행 일정표를 선택하기 위해 도 3의 컴퓨터 시스템에 의해 실행되는 처리를 보인 흐름도이다.
도 7은 권장형 여행 일정표 집합에 추가되는 여행 일정표를 선택하기 위해 도 3의 컴퓨터 시스템에 의해 실행되는 다른 처리를 보인 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the general description of the invention given above, the detailed description of the embodiments given below, do.
1 illustrates an exemplary operating environment including a plurality of computer systems communicating over a network.
Figure 2 shows an exemplary computer system of Figure 1;
Figure 3 shows a computer system including a search engine, a recommended database, and an analytical table database.
4 shows a probability analysis table used by the search engine of FIG.
5 is a flow chart showing the processing executed by the computer system of FIG. 3 to select a search result for a set of recommended travel itineraries included in a response to a search query from a traveler.
Figure 6 is a flow diagram showing the processing executed by the computer system of Figure 3 to select a travel itinerary to be added to the recommended itinerary set;
FIG. 7 is a flow diagram showing another process executed by the computer system of FIG. 3 to select a travel itinerary to be added to the recommended travel itinerary set.

발명의 각종 실시형태는 컴퓨터화 예약 시스템과 같은 처리 및 데이터베이스 장치 또는 시스템에 의해 구현될 수 있다. 처리 및 데이터베이스 시스템은 검색 질의를 만족시키는 여행 일정표를 식별하고 식별된 여행 일정표를 검색 결과로서 반송함으로써 여행 검색 질의에 응답하도록 구성될 수 있다. 항공기 여행과 관련하여, 처리 및 데이터베이스 시스템은 복수의 항공사로부터의 항공기를 포함한 여행 일정표를 식별하는 전역 분배 시스템(GDS)으로 구체화될 수 있다. GDS는 기차 여행, 호텔 룸, 자동차 렌털, 관광, 및 다른 여행 관련 활동 또는 제품과 같은 서비스를 포함한 여행 일정표를 또한 제공할 수 있다.Various embodiments of the invention may be implemented by a processing and database device or system, such as a computerized reservation system. The processing and database system may be configured to respond to the travel search query by identifying a travel itinerary that satisfies the search query and returning the identified travel itinerary as a search result. With regard to aircraft travel, processing and database systems may be embodied as a global distribution system (GDS) that identifies travel itineraries, including aircraft from multiple airlines. GDS may also provide travel itineraries, including services such as train trips, hotel rooms, car rentals, sightseeing, and other travel-related activities or products.

처리 및 데이터베이스 시스템은 검색 질의를 수신하는 검색 엔진, 이전에 결정된 검색 결과의 저장물을 포함한 권장 데이터베이스, 및 복수의 확률 분석표를 포함한 분석표 데이터베이스를 포함할 수 있다. 검색 질의는 여행사 등의 여행 서비스 직접 판매자의 웹사이트에 접근하는 여행자로부터 발원하고 출발지, 도착지, 여행 일자, 부킹 클래스 등과 같은 검색 기준을 규정하는 데이터를 포함할 수 있다. 검색 엔진은, 상기 검색 질의의 수신에 응답하여, 일정표 데이터베이스 내의 어떤 여행 일정표가 상기 검색 기준과 정합되는지 결정하고 이 여행 일정표 집합을 상기 검색 엔진에 반송할 수 있다.The processing and database system may include a search engine receiving a search query, a recommended database containing a previously determined set of search results, and an analytical database containing a plurality of probability analytical tables. The search query may originate from a traveler accessing the web site of the direct seller of the travel service, such as a travel agency, and may include data defining search criteria such as a starting point, a destination, a travel date, a booking class, The search engine, in response to receiving the search query, determines which travel itinerary in the itinerary database matches the search criteria and returns the set of itinerary to the search engine.

검색 엔진은 그 다음에 여행자의 확률 분석표에 기초하여 검색 기준을 만족시키는 여행 일정표 집합으로부터 권장형 여행 일정표 집합을 규정할 수 있다. 이를 위해, 상기 확률 분석표가 여행 일정표 집합 내의 각 여행 일정표의 "조정된 가치"를 결정하는데 사용될 수 있다. 이 조정된 가치는 여행 일정표의 금전적 가치(예를 들면, 가격)뿐만 아니라 여행자에 대한 여행 일정표의 소정 특성의 편리성 가치, 예를 들면, 긴 비행에 대한 짧은 비행시간의 가치 둘 다를 고려할 수 있다. 이 편리성 가치는 여행자의 확률 분석표를 이용하여 결정될 수 있다. 여행자에게 반송되는 권장형 여행 일정표 집합은 그 다음에 검색 결과를 만족시키는 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치에 기초하여 결정될 수 있다.The search engine can then define a set of recommended itineraries from a set of itineraries that meet the search criteria based on the traveler's probability table. To this end, the probability table can be used to determine the "adjusted value" of each itinerary in the itinerary set. This adjusted value can take into account both the monetary value of the itinerary (e. G., Price), as well as the convenience value of certain characteristics of the itinerary for travelers, for example, the value of short flight times for long flights . This convenience value can be determined using the traveler's probability table. The set of recommended itineraries returned to the traveler can then be determined based on the adjusted value of each itinerary in the set of itineraries that satisfy the search results.

검색 엔진은 또한 일정표 데이터베이스에 의해 반송되는 여행 일정표가 충분히 적절한지, 또는 여행 서비스 제공자의 운임, 일정표 및 가용성 데이터베이스와 같은 추가적인 데이터베이스가 검색 결과를 보강하기 위해 접근될 필요가 있는지 결정할 수 있다. 이를 위해, 여행자의 확률 분석표가 확률 분석표들 간의 거리를 결정하기 위해 저장물을 상주(populate)시키는데 사용되는 여행 일정표를 선택하기 위해 사용하는 확률 분석표와 비교될 수 있다. 상기 거리에 의존해서, 검색 엔진은 상기 저장물로부터 획득된 검색 결과를 반송하거나, 또는 추가적인 검색 결과를 획득하기 위해 하나 이상의 외부 데이터베이스에 질의할 수 있다.The search engine may also determine if the itinerary returned by the itinerary database is sufficiently appropriate, or if additional databases such as the travel service provider's fare, schedule and availability database need to be accessed to augment the search results. To this end, the traveler's probability table may be compared to a probability table used to select the itinerary to be used to populate the store to determine the distance between the probability tables. Depending on the distance, the search engine may query the one or more external databases to return the search results obtained from the store, or to obtain additional search results.

이제, 도 1을 참조하면, 발명의 실시형태에 따른 운영 환경(10)은 GDS(12), 운수회사 시스템(14)과 같은 하나 이상의 여행 서비스 제공자 시스템, 여행사 시스템(16)과 같은 하나 이상의 간접 판매자 시스템, 및 여행자 시스템(18)을 포함할 수 있다. 운수회사 시스템(14)은 가용성 데이터베이스(20), 일정표 데이터베이스(21) 및 운임 데이터베이스(22)와 같은 하나 이상의 데이터베이스와 통신할 수 있다. 상기 GDS(12), 운수회사 시스템(14), 여행사 시스템(16) 및 여행자 시스템(18)은 각각 네트워크(24)를 통해 통신할 수 있다. 네트워크(24)는 데이터를 교환할 수 있는 하나 이상의 사설 또는 공중 네트워크(예를 들면, 인터넷)를 포함할 수 있다.1, an operating environment 10 in accordance with an embodiment of the invention may include one or more travel service provider systems, such as a GDS 12, a transportation company system 14, one or more indirect A seller system, and a traveler system 18. The transportation company system 14 may communicate with one or more databases, such as an availability database 20, a timetable database 21, and a freight database 22. The GDS 12, the transportation company system 14, the travel agent system 16 and the traveler system 18 may communicate via the network 24, respectively. The network 24 may include one or more private or public networks (e.g., the Internet) capable of exchanging data.

GDS(12)는 여행 대리인, 비준 운수회사(validating carrier) 또는 다른 간접 판매자가 GDS(12)를 통해 운수회사 시스템(14)에서 예약을 하게 함으로써 운수회사 시스템(14)과 여행사 시스템(16) 간에 통신을 행하게 하도록 구성될 수 있다. GDS(12)는 네트워크(24)를 통해 복수의 운수회사 시스템에 대한 링크를 유지할 수 있고, 이것에 의해 GDS(12)는 비준 운수회사 또는 여행사로부터 대응하는 운영 운수회사로 예약 요청을 라우팅할 수 있다. 상기 운수회사 시스템(14)과 여행사 시스템(16)은 이것에 의해 GDS(12)에 대한 단일 접속을 통하여 복수 항공사의 항공권을 예약할 수 있다.The GDS 12 allows a travel agent, a validating carrier or other indirect seller to make a reservation at the transportation company system 14 via the GDS 12, To perform communication. The GDS 12 may maintain a link to a plurality of transportation company systems via the network 24 so that the GDS 12 can route the reservation request from a non-cooperating company or a travel agent to a corresponding operating transport company have. The transportation company system 14 and the travel agent system 16 can thereby reserve airline tickets for a plurality of airlines through a single connection to the GDS 12.

운수회사 시스템(14)은 GDS(12) 또는 여행사 시스템(16)이 비행기 티켓을 예약하고 요금을 지불할 수 있게 하는 컴퓨터 예약 시스템(CRS)을 포함할 수 있다. 이를 위해, 운수회사 시스템(14)은 가용성 데이터베이스(20), 일정표 데이터베이스(21) 및 운임 데이터베이스(22)와 상호작용하여 GDS(12)로부터의 예약 요청 또는 다른 질의에 응답하여 여행 서비스에 대해 가격을 지불하고 예약할 수 있다. 운수회사 시스템(14)은 또한 비준 운수회사가 운영 운수회사에 의해 제공된 좌석에 대한 티켓을 판매할 수 있도록 다른 운수회사 시스템(도시 생략됨)과 직접 또는 GDS(12)를 통하여 상호작용할 수 있다. 그 다음에, 운영 운수회사는 제공된 서비스에 대하여 비준 운수회사에게 청구할 수 있다.The transportation company system 14 may include a computer reservation system (CRS) that allows the GDS 12 or the travel agent system 16 to book and charge airplane tickets. To that end, the transportation company system 14 interacts with the availability database 20, the itinerary database 21 and the freight database 22 to provide a price for the travel service in response to a reservation request or other query from the GDS 12 You can pay and book. The transportation company system 14 may also interact with the other transportation company system (not shown) either directly or through the GDS 12 so that the non-transportation company can sell tickets for the seats provided by the transportation company. The Operational Transport Company may then charge the non - compliant Transportation Company for the services provided.

여행사 시스템(16)은 여행 대리인이 여행 일정표를 검색하고 예약할 수 있게 하는 GDS(12)에 접근하기 위한 인터페이스를 여행 대리인에게 제공할 수 있다. 여행사 시스템(16)은 여행자가 여행 대리인의 도움 없이 여행 일정표를 검색하고 예약할 수 있게 하는 여행자 시스템(18)에 의해 접근 가능한 애플리케이션을 또한 포함할 수 있다. 이 애플리케이션은 예를 들면 여행자 시스템(18)에 의해 제공된 웹브라우저를 이용하여 네트워크(24)를 통해 접근 가능한 여행 관련 웹사이트를 포함할 수 있다.The travel agent system 16 may provide the travel agent with an interface to access the GDS 12 that enables the travel agent to retrieve and book the itinerary. The travel agent system 16 may also include an application accessible by the traveler system 18 that allows the traveler to retrieve and book the itinerary without the assistance of a travel agent. The application may include a travel related website accessible via the network 24 using, for example, a web browser provided by the traveler system 18.

여행자 시스템(18)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰 또는 임의의 적당한 컴퓨팅 장치를 포함할 수 있다. 여행자는 여행자 시스템(18)을 이용하여, 네트워크(24)를 통해 GDS(12), 운수회사 시스템(14), 여행사 시스템(16) 또는 임의의 다른 적당한 시스템에 접근함으로써 여행 서비스를 검색하고 예약할 수 있다. 예를 들면, 여행자는 브라우저 애플리케이션을 시작하고, 그 브라우저 애플리케이션을 이용하여 여행사 시스템(16)에 의해 제공된 웹사이트, 또는 GDS(12), 운수회사 시스템(14) 또는 임의의 다른 적당한 시스템에 의해 제공된 웹사이트에서 여행 서비스를 검색할 수 있다. 여행자는 지불 정보를 웹사이트에 입력함으로써 선택된 여행 서비스를 예약할 수 있다.The traveler system 18 may include a desktop computer, a laptop computer, a tablet computer, a smart phone, or any suitable computing device. The traveler can use the traveler system 18 to search and book travel services by accessing the GDS 12, the transportation company system 14, the travel agent system 16, or any other suitable system over the network 24 . For example, a traveler can start a browser application and use the browser application to access the website provided by the travel agent system 16, or the web site provided by the GDS 12, transportation company system 14 or any other suitable system You can search for travel services on your website. Travelers can book selected travel services by entering payment information on the website.

이제, 도 2를 참조하면, 운영 환경(10)의 GDS(12), 운수회사 시스템(14), 여행사 시스템(16), 여행자 시스템(18), 가용성 데이터베이스(20), 일정표 데이터베이스(21) 및 운임 데이터베이스(22)는 예시적인 컴퓨터 시스템(30)과 같은 하나 이상의 컴퓨터 장치 또는 시스템에서 구현될 수 있다. 컴퓨터 시스템(30)은 프로세서(32), 메모리(34), 대용량 스토리지 메모리 장치(36), 입력/출력(I/O) 인터페이스(38) 및 휴먼 머신 인터페이스(Human Machine Interface, HMI)(40)를 포함할 수 있다. 컴퓨터 시스템(30)은 또한 네트워크(24) 또는 I/O 인터페이스(38)를 통해 하나 이상의 외부 리소스(42)와 작용적으로 결합될 수 있다. 외부 리소스는 비제한적인 예를 들자면 서버, 데이터베이스, 대용량 스토리지 장치, 주변 장치, 클라우드 기반 네트워크 서비스, 또는 컴퓨터 시스템(30)에 의해 사용될 수 있는 임의의 다른 적당한 컴퓨터 리소스를 포함할 수 있다.2, the GDS 12, transportation company system 14, travel agent system 16, traveler system 18, availability database 20, schedule database 21, The freight database 22 may be implemented in one or more computer devices or systems, such as the exemplary computer system 30. The computer system 30 includes a processor 32, a memory 34, a mass storage memory device 36, an input / output (I / O) interface 38 and a human machine interface (HMI) . ≪ / RTI > The computer system 30 may also be operatively coupled to one or more external resources 42 via the network 24 or the I / O interface 38. The external resources may include, by way of non-limiting example, a server, a database, a mass storage device, a peripheral, a cloud-based network service, or any other suitable computer resource that may be used by the computer system 30. [

프로세서(32)는 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 마이크로컴퓨터, 중앙 처리 장치, 필드 프로그래머블 게이트 어레이, 프로그래머블 논리 장치, 상태 기계, 논리 회로, 아날로그 회로, 디지털 회로, 또는 메모리(34)에 저장된 동작 명령어에 기초하여 신호(아날로그 또는 디지털)들을 조작하는 임의의 다른 장치를 포함할 수 있다. 메모리(34)는 비제한적인 예를 들자면 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 휘발성 메모리, 비휘발성 메모리, 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 플래시 메모리, 캐시 메모리, 또는 정보를 저장할 수 있는 임의의 다른 장치를 포함한 단일 메모리 장치 또는 복수의 메모리 장치를 포함할 수 있다. 대용량 스토리지 메모리 장치(36)는 하드 드라이브, 광 드라이브, 테이프 드라이브, 휘발성 또는 비휘발성 반도체 장치, 또는 정보를 저장할 수 있는 임의의 다른 장치와 같은 데이터 스토리지 장치를 포함할 수 있다.The processor 32 may be a microprocessor, microcontroller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuit, analog circuitry, digital circuitry, And any other device that manipulates the signal (analog or digital) based on the operational instructions. The memory 34 may include, but is not limited to, a read only memory (ROM), a random access memory (RAM), a volatile memory, a non-volatile memory, a static random access memory (SRAM), a dynamic random access memory , A cache memory, or any other device capable of storing information, or a plurality of memory devices. The mass storage memory device 36 may include a data storage device such as a hard drive, an optical drive, a tape drive, a volatile or nonvolatile semiconductor device, or any other device capable of storing information.

프로세서(32)는 메모리(34)에 저장된 운영체제(46)의 제어하에 동작할 수 있다. 운영체제(46)는 메모리(34)에 저장된 애플리케이션(48)과 같은 하나 이상의 컴퓨터 소프트웨어 애플리케이션으로서 구체화된 컴퓨터 프로그램 코드가 프로세서(32)에 의해 실행되는 명령어를 가질 수 있도록 컴퓨터 리소스를 관리할 수 있다. 대안적인 실시형태에 있어서, 프로세서(32)는 애플리케이션(48)을 직접 실행할 수 있고, 그 경우에 운영체제(46)는 생략될 수 있다. 하나 이상의 데이터 구조(50)가 또한 메모리(34)에 저장될 수 있고, 데이터를 저장 또는 조작하기 위해 프로세서(32), 운영체제(46) 또는 애플리케이션(48)에 의해 사용될 수 있다.The processor 32 may operate under the control of an operating system 46 stored in memory 34. The operating system 46 may manage computer resources such that the computer program code embodied as one or more computer software applications, such as applications 48 stored in the memory 34, may have instructions to be executed by the processor 32. [ In an alternative embodiment, the processor 32 may execute the application 48 directly, in which case the operating system 46 may be omitted. One or more data structures 50 may also be stored in memory 34 and used by processor 32, operating system 46 or application 48 to store or manipulate data.

I/O 인터페이스(38)는 프로세서(32)를 네트워크(24) 또는 외부 리소스(42)와 같은 다른 장치 및 시스템에 작용적으로 결합하는 머신 인터페이스를 제공할 수 있다. 이것에 의해 애플리케이션(48)은 I/O 인터페이스(38)를 통해 통신함으로써 네트워크(24) 또는 외부 리소스(42)와 협력적으로 작용하여 본 발명의 실시형태를 포함한 각종 특징, 기능, 애플리케이션, 프로세스 또는 모듈을 제공할 수 있다. 애플리케이션(48)은 또한 하나 이상의 외부 리소스(42)에 의해 실행되는 프로그램 코드를 가질 수 있고, 또는 다른 방식으로 컴퓨터 시스템(30)의 외부에 있는 다른 시스템 또는 네트워크 컴포넌트에 의해 제공된 기능 또는 신호에 의존할 수 있다. 사실, 거의 무한대의 하드웨어 및 소프트웨어 구성이 가능하지만, 당업자라면 본 발명의 실시형태는 컴퓨터 시스템(30)의 외부에 위치되거나, 복수의 컴퓨터 또는 다른 외부 리소스(42)에 분산되거나, 또는 클라우드 컴퓨팅 서비스와 같이 네트워크(24)를 통해 서비스로서 제공되는 컴퓨팅 리소스(하드웨어 및 소프트웨어)에 의해 제공된 애플리케이션을 포함할 수 있다는 것을 이해할 것이다.The I / O interface 38 may provide a machine interface that operatively couples the processor 32 to other devices and systems, such as the network 24 or the external resource 42. This allows the application 48 to cooperate with the network 24 or external resource 42 by communicating through the I / O interface 38 to provide various features, functions, applications, processes Or module. The application 48 may also have program code that is executed by one or more external resources 42 or may be otherwise dependent on functions or signals provided by other systems or network components external to the computer system 30. [ can do. In fact, almost infinite hardware and software configurations are possible, but those skilled in the art will appreciate that embodiments of the invention may be located external to computer system 30, distributed to multiple computers or other external resources 42, (Hardware and software) that is provided as a service over the network 24, such as, for example, the Internet.

HMI(40)는 공지의 방식으로 컴퓨터(30)의 프로세서(32)에 작용적으로 결합되어 사용자가 컴퓨터 시스템(30)과 직접 상호작용하게 할 수 있다. HMI(40)는 비디오 또는 알파뉴메릭 디스플레이, 터치스크린, 스피커, 및 사용자에게 데이터를 제공할 수 있는 임의의 다른 적당한 오디오 및 시각적 표시자를 포함할 수 있다. HMI(40)는 또한 사용자로부터 커맨드 또는 입력을 수신하고 유입된 입력을 프로세서(32)에 전송할 수 있는 알파뉴메릭 키보드, 포인팅 장치, 키패드, 푸시버튼, 컨트롤 노브, 마이크로폰 등과 같은 입력 장치 및 제어부를 포함할 수 있다.The HMI 40 may be operatively coupled to the processor 32 of the computer 30 in a known manner to allow a user to interact directly with the computer system 30. [ The HMI 40 may include a video or alphanumeric display, a touch screen, a speaker, and any other suitable audio and visual indicator capable of providing data to the user. The HMI 40 also includes an input device such as an alphanumeric keyboard, pointing device, keypad, push button, control knob, microphone, and the like, which can receive commands or inputs from a user and transmit the input to the processor 32 .

데이터베이스(44)는 대용량 스토리지 메모리 장치(36)에 존재하고, 여기에서 설명하는 각종 시스템 및 모듈에 의해 사용되는 데이터를 수집 및 조직하기 위해 사용될 수 있다. 데이터베이스(44)는 데이터 및 데이터를 저장 및 조직하는 지원 데이터 구조를 포함할 수 있다. 특히, 데이터베이스(44)는 비제한적인 예를 들자면 관계 데이터베이스, 계층 데이터베이스, 네트워크 데이터베이스 또는 이들의 조합을 포함한 임의의 데이터베이스 조직 또는 구조와 함께 배열될 수 있다. 프로세서(32)에서 명령어로서 실행되는 컴퓨터 소프트웨어 애플리케이션의 형태를 갖는 데이터베이스 관리 시스템은 질의에 응답하여 데이터베이스(44)의 레코드에 저장된 정보 또는 데이터에 접근하기 위해 사용될 수 있고, 상기 질의는 운영체제(46), 다른 애플리케이션(48), 또는 하나 이상의 모듈에 의해 동적으로 결정 및 실행될 수 있다.The database 44 resides in the mass storage memory device 36 and can be used to collect and organize the data used by the various systems and modules described herein. The database 44 may include support data structures for storing and organizing data and data. In particular, the database 44 may be arranged with any database organization or structure including, but not limited to, a relational database, a hierarchical database, a network database, or a combination thereof. A database management system in the form of a computer software application executing as an instruction in the processor 32 may be used to access information or data stored in a record of the database 44 in response to the query, , Another application 48, or one or more modules.

이제, 도 3을 참조하면, 발명의 예시적인 실시형태에 있어서, 컴퓨터 시스템(60)은 검색 엔진(62), 저장된 검색 결과를 포함한 권장 데이터베이스(64), 및 여행자 분석표를 포함한 분석표 데이터베이스(66)를 제공할 수 있다. 컴퓨터 시스템(60)은 운수회사 시스템(14) 및 여행 관련 웹사이트(68)와 통신할 수 있다. 발명의 실시형태에 있어서, 컴퓨터 시스템(60)은 GDS(12)에 의해 제공될 수 있고, 여행 관련 웹사이트(68)는 여행사 시스템(16)에 의해 제공될 수 있다. 그러나 당업자라면 컴퓨터 시스템(60) 및 여행 관련 웹사이트(68)가 임의의 적당한 컴퓨터 시스템에 의해 제공될 수 있다는 것을 이해할 것이다.Referring now to Figure 3, in an exemplary embodiment of the invention, the computer system 60 includes a search engine 62, a recommended database 64 including stored search results, and an analytical table database 66, Can be provided. The computer system 60 may communicate with the transportation company system 14 and the travel related website 68. In an embodiment of the invention, the computer system 60 may be provided by the GDS 12 and the travel related website 68 may be provided by the travel agent system 16. [ However, those skilled in the art will appreciate that the computer system 60 and the travel related website 68 may be provided by any suitable computer system.

여행자는 여행자 시스템(18)을 이용하여 상기 여행 관련 웹사이트(68)에 의해 제공되는 하나 이상의 웹페이지에 접근할 수 있다. 여행자는 웹페이지와 상호작용하여 여행 일정표를 검색하고 예약할 수 있다. 이러한 여행 일정표는 항공편, 호텔 룸, 자동차 렌털, 여행자에게 제공되는 상품, 또는 임의의 다른 여행 서비스와 같은 하나 이상의 여행 서비스를 포함할 수 있다. 이를 위해, 여행자 시스템(18)은 검색 질의(70)를 여행 관련 웹사이트(68)에 전송할 수 있다. 검색 질의(70)는 출발지 및 도착지, 여행 일자, 부킹 클래스 또는 객실 유형, 및 승객의 수 및 유형과 같은 검색 기준을 규정하는 데이터를 포함할 수 있다. 검색 질의(70)의 수신에 응답하여, 여행 관련 웹사이트(68)는 검색 기준을 규정하는 데이터를 포함한 검색 질의(72)를 검색 엔진(62)에 전송할 수 있다. 여행 관련 웹사이트(68)는 또한 사용자 분석표를 규정하는 데이터를 검색 엔진(62)에 전송할 수 있다.A traveler may use the traveler system 18 to access one or more web pages provided by the travel related website 68. Travelers can interact with web pages to search and book travel itineraries. These travel itineraries may include one or more travel services, such as flights, hotel rooms, car rental, merchandise provided to travelers, or any other travel service. To this end, the traveler system 18 may send a search query 70 to the travel related website 68. [ The search query 70 may include data defining search criteria, such as a source and destination, a travel date, a booking class or room type, and the number and type of passengers. In response to receiving the search query 70, the travel related website 68 may send a search query 72, including data defining the search criteria, to the search engine 62. The travel related website 68 may also send data to the search engine 62 that defines a user analytics table.

검색 질의(72)의 수신에 응답하여, 검색 엔진(62)은 데이터베이스 검색 질의(74)를 발생하여 권장 데이터베이스(64)에 전송할 수 있다. 데이터베이스 검색 질의(74)의 수신에 응답하여, 권장 데이터베이스(64)는 검색 기준을 만족시키는 저장된 검색 결과에서 하나 이상의 여행 일정표를 식별할 수 있다. 저장된 검색 결과를 갱신하거나 저장된 검색 결과에 추가하기 위해, 상기 권장 데이터베이스(64)는 미리 정해진 검색 기준과 정합되는 여행 일정표에 대하여 운수회사 시스템(14)에 주기적으로 질의할 수 있다. 상기 미리 정해진 검색 기준은 여행자로부터 수신될 것으로 기대되는 검색 기준에 기초를 둘 수 있다. 운수회사 시스템(14)은 그 다음에 상기 미리 정해진 검색 기준과 정합하는 여행 일정표를 결정하기 위해 가용 데이터베이스(20), 일정표 데이터베이스(21) 및 운임 데이터베이스(22) 중의 하나 이상에게 질의하고, 이 여행 일정표들을 검색 결과로서 권장 데이터베이스(64)에 반송할 수 있다. 그 다음에, 권장 데이터베이스(64)는 상기 미리 정해진 검색 결과들을 여행자로부터 수신된 질의에 응답하여 나중에 사용하기 위해 저장할 수 있다.In response to receiving the search query 72, the search engine 62 may generate and send a database search query 74 to the recommendation database 64. In response to receiving the database search query 74, the recommended database 64 may identify one or more itineraries in the stored search results that satisfy the search criteria. To update the stored search results or add them to the saved search results, the recommendation database 64 may periodically query the transportation company system 14 for the itinerary that matches the predetermined search criteria. The predefined search criteria may be based on search criteria that are expected to be received from the traveler. The transportation company system 14 then queries one or more of the available database 20, timetable database 21 and freight database 22 to determine a itinerary that matches the predetermined search criteria, The schedule tables can be returned to the recommended database 64 as a search result. The recommended database 64 may then store the predetermined search results for later use in response to a query received from the traveler.

발명의 실시형태에 있어서, 운수회사 시스템(14)으로부터 수신된 검색 결과들은 통계적 확률 분석표에 기초하여 상기 권장 데이터베이스(64)에 의해 필터링 또는 다른 방식으로 처리될 수 있다. 상기 통계적 확률 분석표는 여행 상품의 가격, 및 여행 일정표의 구체적인 특징 또는 특성에 의해 가산 또는 감산되는 편리성 가치 둘 다를 포착하는 여행 일정표의 조정된 가치를 결정하기 위해 사용될 수 있다. 그 다음에, 상기 권장 데이터베이스(64)는 상기 조정된 가치에 기초하여 저장물에 추가할 여행 일정표를 선택할 수 있다.In an embodiment of the invention, the search results received from the transportation company system 14 may be filtered or otherwise processed by the recommendation database 64 based on a statistical probability analysis table. The statistical probability table may be used to determine the adjusted value of the itinerary that captures both the price of the travel goods and the convenience value added or subtracted by the specific features or characteristics of the itinerary. The recommendation database 64 may then select a itinerary to add to the store based on the adjusted value.

검색 기준과 정합하는 저장물 내의 여행 일정표의 식별에 응답하여, 권장 데이터베이스(64)는 응답(76)을 검색 엔진(62)에 전송할 수 있다. 상기 응답(76)은 식별된 여행 일정표를 포함한 검색 결과들을 포함할 수 있다. 권장 데이터베이스(64)가 검색 결과들을 컴파일링하는 동안, 또는 상기 응답(76)의 수신에 응답해서, 검색 엔진(62)은 여행자 신원을 규정하는 데이터를 포함한 질의(78)를 분석표 데이터베이스(66)에 전송할 수 있다. 상기 질의(78)는 여행자에 대한 확률 분석표를 제공하도록 분석표 데이터베이스(66)에게 요청할 수 있다. 만일 여행자에 대하여 확률 분석표가 존재하면, 분석표 데이터베이스(66)는 그 확률 분석표를 응답(80)으로 검색 엔진(62)에 전송할 수 있다. 만일 여행자가 기존의 확률 분석표를 갖고 있지 않으면, 분석표 데이터베이스(66)는 디폴트 확률 분석표를 검색 엔진(62)에 전송하거나, 또는 식별된 여행자에 대하여 확률 분석표가 존재하지 않다고 상기 응답(80)이 표시할 수 있다. 후자의 경우에, 검색 엔진(62)은 그 여행자에 대하여 디폴트 확률 분석표를 발생할 수 있다.In response to the identification of the itinerary in the storage that matches the search criteria, the recommended database 64 may send a response 76 to the search engine 62. The response 76 may include search results including the identified travel itinerary. The search engine 62 sends a query 78 containing the data defining the traveler identity to the analytical table database 66 while the recommended database 64 compiles the search results or in response to receiving the response 76. [ Lt; / RTI > The query 78 may ask the analytical table database 66 to provide a probability analysis table for the traveler. If there is a probability analysis table for the traveler, the analysis table database 66 may transmit the probability analysis table to the search engine 62 in response 80. If the traveler does not have an existing probability analysis table, the analysis table database 66 sends a default probability analysis table to the search engine 62, or the response 80 indicates that there is no probability analysis table for the identified traveler can do. In the latter case, the search engine 62 may generate a default probability analysis table for that traveler.

분석표 데이터베이스(66) 내의 각 확률 분석표는 여행 일정표의 특성에 대응하는 각 계수와 함께 계수들의 집합을 포함한 복합 분석표와 연관될 수 있다. 각 계수의 값은 여행 일정표의 대응하는 특성이 여행자에게 얼마나 중요한지를 표시할 수 있다. 예를 들면, 계수들 중의 하나는 일정표의 총 여행 시간에 대응할 수 있다. 금전적 가치, 즉 여행 일정표를 포함한 여행 상품의 가격(CM)과 관련하여 여행자에게 이 특성이 얼마나 중요한지의 표시를 제공하기 위해, 계수에 할당되는 가치는 금전적 가치(예를 들면, 여행 시간의 시간당 $20)를 가질 수 있다.Each probability analysis table in the analysis table database 66 may be associated with a composite analysis table that includes a set of coefficients together with each coefficient corresponding to the characteristics of the itinerary. The value of each coefficient can indicate how important the corresponding characteristics of the itinerary are to the traveler. For example, one of the coefficients may correspond to the total travel time of the schedule. Monetary value, that is, in order in relation to the price (C M) of the travel product, including the itinerary to provide an indication of how much the attribute Travelers important, the value assigned to the coefficient of monetary value (for example, per hour of travel time $ 20).

복합 분석표는 당해 여행자에 대한 여행 일정표의 조정된 가치를 결정하기 위해 사용될 수 있다. 조정된 가치는 여행 상품의 가격(CM), 및 여행 일정표의 구체적인 특징 또는 특성에 의해 여행자에 대하여 가산 또는 감산되는 편리성 가치(CCV) 둘 다를 포착할 수 있다. 여행 시간의 비용을 특징화하는 시간당 $20라고 하는 상기 예시적인 계수를 이용해서, 총 여행 시간이 4시간인 여행 일정표는 당해 여행자에게 조정된 가치(CADJ=CM+CCV)를 반영하기 위해 여행 일정표의 가격(CM)에 CCV=$80이 추가될 수 있다. 이와 대조적으로, 동일한 출발지 및 도착지를 연결하지만 총 여행 시간이 8시간인 여행 일정표는 여행 일정표의 가격(CM)에 CCV=$160이 추가될 수 있다. 따라서, 상기 예에서, 4시간의 여행 시간을 가진 여행 일정표의 가격(CM)은 여행 일정표의 모든 다른 특징들이 동일하다는 가정하에 여행자에 대하여 더 높은 조정된 가치(CADJ)를 갖기 위하여 8시간의 여행 시간을 가진 여행 일정표의 가격(CM)보다 $80 이상 더 커야 할 것이다. 이것에 의해 복합 분석표는 일정표를 포함한 여행 상품의 가격 및 여행자에 대한 편리성 인수(또는 경우에 따라 불편 인수)의 영향 둘 다를 포착하는 당해 여행자에 대한 여행 일정표의 전체적인 바람직함을 결정하는 수단을 제공할 수 있다.The composite statement may be used to determine the adjusted value of the itinerary for the traveler in question. The adjusted value may capture both the price of the travel item (C M ) and the convenience value (C CV ) that is added or subtracted to the traveler by a specific feature or characteristic of the itinerary. Using the above exemplary coefficient of $ 20 per hour characterizing the cost of travel time, a travel itinerary with a total travel time of 4 hours is used to reflect the adjusted value (C ADJ = C M + C CV ) C CV = $ 80 can be added to the price of the itinerary (C M ). By contrast, a travel itinerary that links the same origin and destination but has a total travel time of 8 hours may add C CV = $ 160 to the price of the itinerary (C M ). Thus, in the above example, the price (C M ) of a travel itinerary with a travel time of four hours is set to eight hours to have a higher adjusted value (C ADJ ) for the traveler, assuming all other features of the itinerary are the same (C M ) of the itinerary with a travel time of at least $ 80. This provides a means for determining the overall desirability of the itinerary for the traveler to capture both the price of the trip including the itinerary and the effect of the convenience factor (or in some cases the inconvenience) on the traveler. can do.

복합 분석표가 알려지면, 검색 엔진(62)은 응답(80)으로 각각의 검색 결과에 대한 조정된 가치(CADJ)를 결정하기 위해 복합 분석표를 적용할 수 있다. 검색 엔진(62)은 그 다음에 그 조정된 가치(CADJ)에 기초하여 검색 결과들을 등급지을 수 있고, 더 낮은 조정된 가치(CADJ)를 가진 검색 결과들이 더 높은 등급을 갖는다. 검색 엔진(62)은 그 다음에 등급에 기초하여 선택된 등급 정해진 검색 결과들의 적어도 일부를 포함하는 응답(82)을 여행 관련 웹사이트(68)에 전송할 수 있다. 예를 들면, 선택된 검색 결과들은 최고 등급의 검색 결과를 표시하는 미리 정해진 수의 검색 결과들을 포함할 수 있다. 응답(82)의 수신에 응답하여, 여행 관련 웹사이트(68)는 결과들을 포맷하고 여행자에게 디스플레이하기 위해 검색 엔진(62)에 의해 선택된 검색 결과들을 포함한 검색 질의(70)에 대한 응답(84)을 전송할 수 있다. 응답(84)은 여행자 시스템(18)에서 동작하는 브라우저 애플리케이션이 예를 들면 선택된 검색 결과와 함께 상주되는 윈도를 디스플레이하게 하는 데이터를 포함할 수 있다.Once the composite analysis table is known, the search engine 62 may apply the composite analysis table to determine the adjusted value (C ADJ ) for each search result in response (80). The search engine 62 may then rank the search results based on the adjusted value C ADJ and the search results with the lower adjusted value C ADJ have a higher rating. The search engine 62 may then send a response 82 to the travel related website 68 that includes at least a portion of the ranked ranked search results selected based on the rating. For example, the selected search results may include a predetermined number of search results displaying the highest ranked search results. In response to receiving the response 82, the travel-related website 68 formats a response 84 to the search query 70 including the search results selected by the search engine 62 to format the results and display to the traveler, Lt; / RTI > The response 84 may include data that causes a browser application running in the traveler system 18 to display a window that resides, for example, with the selected search result.

도 4는 N개의 가치 분석표(VP1-VPN)의 어레이를 포함한 확률 분석표(90)를 보인 도이다. 확률 분석표(90)의 각각의 가치 분석표(VP1-VPN)는 확률 또는 가중치(w1-wN)(수직 축을 따라 각각의 가치 분석표(VP1-VPN)의 높이로 표시됨)를 포함할 수 있다. 즉 확률 분석표(90)는 어레이 [w1×VP1, w2×VP2, ...,wN×VPN]에 의해 표시될 수 있다. 확률 분석표(90)의 각각의 가치 분석표(VP1-VPN)는 M개의 여행 일정표 특성(v1, v2, ... vM)의 집합을 또한 포함할 수 있다. 가중치(w1-wN)는 여행자의 복합 분석표를 제공하는 혼합 기능에서 대응하는 가치 분석표(VP1-VPN)의 상대 효과를 제공할 수 있다. 이를 위해, 각 가치 분석표(VP1-VPN)의 가중치(w1-wN)는 당해 여행자에 대한 최저의 조정된 가치(CADJ)를 가진 여행 일정표를 대응하는 가치 분석표(VP1-VPN)가 여행 일정표의 부분집합으로부터 얼마나 잘 식별하는지에 기초하여 결정될 수 있다. 즉, 가중치(wi)는 대응하는 가치 분석표(VPi)가 여행자에 대한 여행 일정표의 조정된 가치(CADJ)를 정확히 계산하는 확률을 제공할 수 있다.FIG. 4 is a diagram showing a probability analysis table 90 including an array of N value analysis tables (VP 1 -VP N ). Each of the value analysis tables VP 1 -VP N of the probability analysis table 90 includes a probability or a weight w 1 -w N (indicated by the height of each valuation table VP 1 -VP N along the vertical axis) can do. That is, the probability analysis table 90 can be represented by the array [w 1 x VP 1 , w 2 x VP 2 , ..., w N x VP N ]. Each value analysis table (VP 1 -VP N ) of the probability analysis table 90 may also include a set of M travel itinerary characteristics (v 1 , v 2 , ... v M ). The weight (w 1 -w N ) may provide a relative effect of the corresponding valuation table (VP 1 -VP N ) in the blending function that provides the traveler's composite profile. To this end, the weight (w 1 -w N ) of each value analysis table (VP 1 -VP N ) represents the trip itinerary having the lowest adjusted value (C ADJ ) for the traveler in the corresponding value analysis table (VP 1 -VP N ) from a subset of the itinerary of travel. That is, the weight w i may provide a probability that the corresponding valuation table VP i correctly calculates the adjusted value C ADJ of the itinerary for the traveler.

가치 분석표(VPi)의 각 계수(v1-vM)는 대응하는 여행 일정표 특성의 가치를 묘사할 수 있다. 예로서, 상기 계수(v1-vM)들은, 단지 몇 가지만 예로 들자면, 여행 시간에 대한 비용/시간(예를 들면, 여행 시간 중의 각 시간마다 $20를 추가함), 각각의 정지 또는 접속 요청에 대한 비용/정지(예를 들면, 각각의 단기체류(stopover)마다 $30를 추가함), 밤샘(overnight) 단기체류 요구가 있는 각각의 정지에 대한 비용/정지(예를 들면, 밤샘 단기체류에 대하여 $100를 추가함), 바람직하지 않은 운수회사와 관련된 비용(예를 들면, 만일 운수회사가 Acme Air이면 $40를 추가함), 바람직하지 않은 유형의 운수회사와 관련된 비용(예를 들면, 만일 운수회사가 저가 운수회사이면 $50를 추가함), 특수한 항공 운수회사 정책과 관련된 비용(예를 들면, 만일 운수회사가 하나의 기내 휴대 가방(carry-on bag)만을 허용하거나 과도한 지연의 기록을 갖고 있으면 $40를 추가함), 또는 출발이 양호한 여행 시간 밖에 있는 경우의 추가 비용(예를 들면, 오전 8시 이전에 출발하는 비행기에 대하여 $30를 추가함)에 대응하는 계수들을 포함할 수 있다.Each coefficient v 1 -v M of the value analysis table VP i may describe the value of the corresponding itinerary characteristic. By way of example, the coefficients v 1 -v M may include cost / time for travel time (e.g., adding $ 20 for each hour of travel time), each stop or connection request (Eg, adding $ 30 for each stopover), cost / suspension (eg, overnight stays) for each stop with overnight stays Costs associated with undesirable transportation companies (eg, $ 40 if the transportation company is Acme Air), costs associated with undesirable types of transportation companies $ 50 if the company is a low-cost carrier), costs associated with a particular airline company policy (for example, if the transportation company allows only one carry-on bag or has a record of excessive delays $ 40), or exits The preferred travel time additional cost is outside may include a coefficient corresponding to the (for example, with respect to the plane from the previous 8:00 am also add $ 30).

모든 기준에 대하여 지불할 의사의 모든 가능한 레벨을 고려하는 것은 다수의 가치 분석표(N)을 야기할 수 있고, 이것은 관리에 비실용적이다. 발명의 실시형태에 있어서, 가치 분석표의 수를 관리 가능한 레벨로 유지하기 위해, 각 계수의 값은 이산치로 양자화될 수 있다. 이를 위해, 각 계수와 관련된 비용들은 미리 정해진 범위(예를 들면, $0 내지 $100)에 걸쳐서 고정 증분(예를 들면, $10)을 가진 값으로 양자화될 수 있다. 예로서, $0 내지 $50의 범위에 걸쳐서 $10 증분을 가진 값들의 집합에 맵된 여행 시간의 비용/시, 밤샘 단기체류에 대한 비용/정지, 바람직하지 않은 것으로서 분류된 운수회사를 선택한 것에 대한 비용 페널티, 바람직하지 않은 유형의 운수회사에 대한 비용, 및 $0 내지 $100의 범위에 걸쳐서 $10 증분을 가진 값들의 집합에 각각 맵된 바람직하지 않은 출발 시간의 비용에 대응하는 계수들로 이루어진 가치 분석표는 N=6×114=87,846개의 가치 분석표를 야기할 것이다.Taking into account all possible levels of intent to pay for all criteria can lead to a number of valuation sheets (N), which is impractical for management. In an embodiment of the invention, in order to keep the number of value analysis tables at a manageable level, the value of each coefficient may be quantized to a discrete value. To this end, the costs associated with each coefficient may be quantized to a value with a fixed increment (e.g., $ 10) over a predetermined range (e.g., $ 0 to $ 100). As an example, the cost / time of travel time mapped to a set of values with an increment of $ 10 over the range of $ 0 to $ 50, the cost / stop for overnight stays, cost penalties for choosing a transportation company classified as undesirable, A value analysis table consisting of the costs for undesirable types of transportation companies and the coefficients corresponding to the costs of the undesired departure times each mapped to a set of values with an increment of $ 10 over the range of $ 0 to $ 100 is N = 11 4 = 87,846 valuation sheets.

확률 분석표는 여행 일정표에 대한 검색을 구동하기 위해 사용되고, 최고 등급의 검색 결과는 상기 검색에 의해 출력된 검색 결과들로부터 선택될 수 있다. 확률 분석표는 또한 여행자의 검색 기간과 정합하는 여행 일정표에 대한 비개인화 검색의 출력으로부터 가장 적절한 권장을 선택하기 위해 사용될 수 있다. 어느 경우이든, 여행자에 대한 복합 분석표는 하나 이상의 가치 분석표(VP1-VPN)로부터 구성될 수 있다. 예를 들면, 여행자에 대한 복합 분석표(composite profile, CP)는 다음과 같이 가중된 가치 분석표(VP1-VPN)의 합을 취함으로써 결정될 수 있다.The probability analysis table may be used to drive a search for a travel itinerary, and the highest ranked search results may be selected from the search results output by the search. The probability table can also be used to select the most appropriate recommendation from the output of the non-personalized search for the itinerary that matches the search period of the traveler. In either case, the composite profile for the traveler can be constructed from one or more value analysis tables (VP 1 -VP N ). For example, a composite profile (CP) for a traveler can be determined by taking the sum of the weighted valuation tables (VP 1 -VP N ) as follows:

Figure pat00001
Figure pat00001

여기에서 가중치(w1-wN)는 다음과 같이 되도록 정규화된다.Here, the weights w 1 -w N are normalized to be:

Figure pat00002
Figure pat00002

결과적인 복합 분석표는 여행자에 대한 M개의 여행 일정표 특성(v1, v2, ...vM)의 집합을 제공할 수 있고, 이때 복합 분석표의 각각의 일정표 특성(v1, v2, ...vM)은 각각의 가치 분석표(VP1-VPN)의 대응하는 일정표 특성(v1, v2, ...vM)의 가중된 합을 포함한다.The resulting complex profiles are the M itinerary characteristics for the traveler (v 1, v 2, ... v M) each calendar characteristic (v 1, v 2, a, wherein the compound profiles may provide a set of. ..v M) includes a weighted sum of the calendar characteristics (v 1, v 2, ... v M) corresponding to the respective value profiles (VP 1 -VP N).

이제, 도 5를 참조하면, 여행자로부터의 검색 질의(72)의 수신에 응답하여 반송할 여행 일정표를 결정하기 위해 검색 엔진(62)에 의해 수행되는 처리(100)를 보인 흐름도가 도시되어 있다. 처리(100)는 권장 데이터베이스(64) 내의 저장된 검색 결과로부터 어떤 여행 일정표가 응답(82)에 포함되어야 하는지 여행자의 확률 분석표에 기초하여 결정할 수 있다. 미리 정해진 검색 결과를 얻기 위해 사용하는 각각의 검색 기준 집합에 대하여, 권장 데이터베이스(64)에 저장된 다수의 여행 일정표(MR)가 있을 수 있다. 권장 데이터베이스(64)에 저장된 여행 일정표들은 출발지 및 도착지, 여행 일자, 승객 유형 코드, 및 고객의 신원(예를 들면, 제3자 판매자)에 의해 색인화될 수 있다. 각각의 여행 권장에 대응하는 편리성 인수 및 가격이 또한 권장 데이터베이스(64)에 저장 및 색인화될 수 있다. 각각의 여행 일정표에 대하여, 예를 들면 좌석을 예약하는 각각의 클래스 조합에 대하여 다른 가격을 가진 2개 이상의 가격이 저장 및 색인화될 수 있다.Turning now to FIG. 5, there is shown a flow diagram illustrating a process 100 performed by a search engine 62 to determine a itinerary to return in response to receipt of a search query 72 from a traveler. The process 100 may determine from the saved search results in the recommended database 64 based on the traveler's probabilistic analysis table which travel itinerary should be included in the response 82. [ For each set of search criteria used to obtain a predetermined search result, there may be a plurality of itineraries (M R ) stored in the recommended database 64. Travel itineraries stored in the recommended database 64 may be indexed by the origin and destination, the date of travel, the passenger type code, and the identity of the customer (e.g., a third party seller). Convenience arguments and prices corresponding to each travel recommendation can also be stored and indexed in the recommendation database 64. [ For each itinerary, for example, two or more prices with different prices for each class combination that reserves a seat may be stored and indexed.

고객은 검색 엔진(62)이 검색 질의(72)의 수신에 응답하여 NR개의 권장형 여행 일정표를 반송하는 것을 규정하는 사업 규칙을 제공할 수 있다. NR은 응답(82)으로 검색 결과로서 제공되어야 할 여행 일정표의 역치 수를 표시할 수 있다. 이러한 사업 규칙은 결과들을 어떻게 디스플레이할 것인지, 예를 들면 검색 결과의 최상부에 위치된 일부 특징화 결과(예를 들면, NR개의 결과)를 가진 총망라적(exhaustive) 리스트(예를 들면, 모든 MR개의 결과)를 디스플레이할 것인지, 단지 NR개의 결과만을 디스플레이할 것인지, 또는 기껏해야 NR개의 결과를 디스플레이할 것인지를 규정하기 위한 수(NR)를 또한 선택할 수 있다.The customer may provide a business rule that specifies that the search engine 62 returns the N R recommended travel itineraries in response to receiving the search query 72. [ N R may indicate the number of thresholds of the itinerary to be provided as a result of the search as a response 82. These business rules may include an exhaustive list of how to display the results, for example, some characterization results (e.g., N R results) located at the top of the search results (e.g., all M whether to display the results R), and can also select the number (N R) for defining whether only want to display only the results N R, N R, or to display results at best.

블록 102에서, 처리(100)는 검색 기준에 정합하는 권장 데이터베이스(64) 내 여행 일정표의 수(MR)가 여행자에게 반송될 여행 일정표의 수(NR)를 초과하는지 결정할 수 있다. 만일 수 MR이 수 NR보다 크지 않으면(결정 블록 102의 "아니오"(N) 분기), 처리(100)는 블록 104로 진행하여 MR개의 정합되는 여행 일정표를 모두 검색 결과로서 반송하고 블록 106으로 진행할 수 있다. 만일 수 MR이 수 NR보다 더 크면(결정 블록 102의 "예"(Y) 분기), 처리(100)는 블록 108로 진행할 수 있다.At block 102, the process 100 may determine if the number of travel itineraries (M R ) in the recommended database 64 matching the search criteria exceeds the number of travel itineraries (N R ) to be returned to the traveler. If the number M R is not greater than the number N R ("no" (N) branch of decision block 102), the process 100 proceeds to block 104 to return all the M R matched travel itineraries as search results, ≪ / RTI > If the number M R is greater than the number N R ("Yes" (Y) branch of decision block 102), the process 100 may proceed to block 108.

블록 108에서, 처리(100)는 여행자의 확률 분석표가 총망라적인지 결정할 수 있다. 상기 확률 분석표는 만일 확률 분석표가 모든 가능한 가치 분석표를 포함하면 총망라적이라고 생각할 수 있다. 즉, 확률 분석표는 양자화된 일정표 특성 값(v1, v2, ... vM)의 각각의 가능한 조합에 대응하는 가치 분석표를 포함한다.At block 108, the process 100 may determine if the traveler's probability table is full. The probability analysis table can be considered to be full-scale if the probability analysis table includes all possible value analysis tables. That is, the probability analysis table includes a value analysis table corresponding to each possible combination of the quantized schedule characteristic values (v 1 , v 2 , ... v M ).

만일 확률 분석표가 총망라적이면(결정 블록 108의 "예" 분기), 처리(100)는 블록 110으로 진행할 수 있다. 여행자는 만일 여행 일정표가 조정된 가치(CADJ)에서 "최적"의 여행 일정표에 충분히 가까우면 권장형 여행 일정표로 만족될 수 있다. 즉, 권장형 여행 일정표는 "준최적"인 여행 일정표이다. 최적의 여행 일정표는 가치 분석표(VPi)을 이용하여 검색 기준과 정합하는 각 여행 일정표의 조정된 가치(CADJ)를 결정하고 최저의 조정된 가치(CADJ)를 가진 여행 일정표를 선택함으로써 각각의 가치 분석표에 대하여 결정될 수 있다. 여행자에 대한 최적의 여행 일정표는 여행자의 개인적인 선호도에 가장 밀접하게 대응하는 가치 분석표(VPi)의 최적 여행 일정표일 수 있다. 총망라적인 확률 분석표의 경우에, 하나의 가치 분석표(VPi)에 대하여 최적인 여행 일정표는 몇 개의 다른 가치 분석표(VPi)에 대하여 준최적일 수 있다. 따라서, 최대 가중치를 가진 가치 분석표(VPi)에 대응하는 준최적의 여행 일정표는 대부분의 여행자에게 준최적인 여행 일정표를 제공할 수 있다.If the probability analysis table is all-encompassing ("yes" branch of decision block 108), process 100 may proceed to block 110. Travelers can be satisfied with the recommended travel itinerary if the itinerary is close enough to the "optimal" itinerary in the adjusted value (C ADJ ). That is, the recommended travel itinerary is a "sub-optimal" itinerary. The optimal travel itinerary uses a value analysis table (VP i ) to determine the adjusted value (C ADJ ) of each itinerary that matches the search criteria and to select a travel itinerary with the lowest adjusted value (C ADJ ) Of the value of the company. The optimal travel itinerary for a traveler may be the best travel itinerary for a value-at-a-value (VP i ) that most closely corresponds to a traveler's personal preference. In the case of exhaustive probability profiles, optimal itinerary for one value profiles (VP i) it may be suboptimal for several different values profiles (VP i). Therefore, the suboptimal travel itinerary corresponding to the maximum weighted value analysis table (VP i ) can provide an optimal travel itinerary for most travelers.

블록 110에서, 처리(100)는 확률 분석표의 각 가치 분석표(VPi)에 대하여, 검색 결과와 정합되는 MR개의 여행 일정표 각각의 조정된 가치(CADJ)를 계산할 수 있다. 처리(100)는 그 다음에 최적의 여행 일정표를 식별하고, 최적의 여행 일정표를 포함한 준최적 여행 일정표의 집합과 준최적 역치(예를 들면, 5%) 내에서 조정된 가치(CADJ)를 가진 여행 일정표들을 규정한다. 준최적 여행 일정표의 집합을 규정한 것에 응답하여, 처리는(100)는 블록 112로 진행할 수 있다.At block 110, the process 100 may calculate the adjusted value (C ADJ ) of each of the M R travel itineraries matching the search result, for each value analysis table VP i of the probability analysis table. The process 100 then identifies the optimal itinerary and determines the set of sub-optimal itineraries including the optimal itinerary and the adjusted value (C ADJ ) within the sub-optimal threshold (e.g., 5%) Provide travel itineraries. In response to defining the set of sub-optimal itineraries, the process 100 may proceed to block 112.

이제, 도 5와 함께 도 6을 참조하면, 블록 112에서, 처리(100)는 여행자에게 권장할 여행 일정표의 집합, 즉 권장형 여행 일정표의 집합에 포함시킬 여행 일정표를 선택하는 부처리(200)를 실행할 수 있다. 이를 위해, 부처리(200)는 검색 기준을 만족시키는 각각의 여행 일정표에 대하여 여행 일정표가 여행자를 만족시킬 확률(PSA)을 결정할 수 있다. 부처리(200)는 블록 202에서 검색 기준을 만족시키는 여행 일정표들의 집합으로부터 여행 일정표를 선택함으로써 시작할 수 있다.Referring now to FIG. 6, with reference to FIG. 5, at block 112, the process 100 includes a sub-process 200 for selecting a travel itinerary to include in the set of recommended travel itineraries, . For this purpose, the sub-process 200 can determine the probability (P SA ) that the itinerary satisfies the traveler for each itinerary that satisfies the search criteria. The sub-process 200 may begin at block 202 by selecting a itinerary from the set of itineraries that satisfy the search criteria.

부처리(200)는 블록 204로 진행하여 블록 202에서 선택된 여행 일정표를 포함한 준최적 여행 일정표의 집합을 가진 여행자의 확률 분석표에서 각각의 가치 분석표(VPi)를 식별할 수 있다. 그 다음에, 부처리(200)는 블록 206으로 진행하여 블록 204에서 식별된 각각의 가치 분석표(VPi)의 정규화 가중치(wi)를 합산하여 PSA를 결정할 수 있다. 이것에 의해 PSA는 블록 202에서 선택된 여행 일정표가 여행자에 대한 준최적 여행 일정표일 확률을 제공할 수 있다.The sub-process 200 may proceed to block 204 to identify each value analysis table VP i in the traveler's probabilistic analysis table with a sub-optimal trip itinerary including the selected itinerary in block 202. Sub-processing 200 may then proceed to block 206 to determine the P SA by summing the normalization weights w i of each valuation table VP i identified in block 204. Thus P SA can travel itinerary selected in block 202 to provide sub-optimal itinerary probability for travelers.

블록 208로 진행해서, 부처리(200)는 검색 결과를 만족시키는 여행 일정표 집합 내의 각 여행 일정표에 대하여 PSA가 결정되었는지 결정할 수 있다. 만일 검색 결과를 만족시키는 여행 일정표 집합 내의 각 여행 일정표에 대하여 PSA가 결정되지 않았으면(결정 블록 208의 "아니오" 분기), 부처리(200)는 블록 210으로 진행할 수 있다. 블록 210에서, 부처리(200)는 PSA가 아직 결정되어야 하는 검색 결과를 만족시키는 여행 일정표 집합으로부터 다른 여행 일정표를 선택하고 블록 204로 되돌아갈 수 있다.Proceeding to block 208, the sub-process 200 may determine whether a P SA has been determined for each itinerary in the set of itineraries that satisfy the search result. If no P SA has been determined for each itinerary in the set of travel itineraries that satisfy the search result ("no" branch of decision block 208), the sub-process 200 may proceed to block 210. At block 210, the sub-process 200 may select another travel itinerary from the set of itineraries that satisfy the search result for which the PSA has yet to be determined and return to block 204. [

만일 검색 결과를 만족시키는 여행 일정표 집합 내의 각 여행 일정표에 대하여 PSA가 결정되었으면(결정 블록 208의 "예" 분기), 부처리(200)는 블록 212로 진행할 수 있다. 블록 212에서, 부처리(200)는 최고치의 PSA를 가진 여행 일정표를 식별하고 이 여행 일정표를 권장형 여행 일정표의 집합에 추가할 수 있다. 부처리(200)는 그 다음에 블록 214로 진행하여 상기 권장형 여행 일정표의 집합이 특정의 조건을 만족시키는지 결정할 수 있다. 발명의 일 실시형태에 있어서, 부처리(200)의 블록 214에서의 상기 특정의 조건은 상기 권장형 여행 일정표의 집합이 한계량에 도달한 것, 예를 들면, NR개의 여행 일정표를 포함한 것일 수 있다.If the P SA has been determined for each itinerary in the set of travel itineraries that satisfy the search results ("Yes" branch of decision block 208), the sub-process 200 may proceed to block 212. At block 212, the sub-process 200 may identify a travel itinerary with the highest P SA and add the itinerary to the set of recommended itineraries. The sub-process 200 then proceeds to block 214 to determine if the set of recommended travel itineraries meets certain conditions. In one embodiment of the invention, the particular condition at block 214 of sub-process 200 may be that the set of recommended travel itineraries has reached a threshold, for example, N R trip itineraries have.

만일 권장형 여행 일정표의 집합이 특정의 조건을 만족하면, 예컨대 권장형 여행 일정표의 집합이 적어도 NR개의 여행 일정표를 포함하면(결정 블록 214의 "예" 분기), 부처리(200)는 종료되고 처리(100)는 블록 106으로 진행한다. 만일 권장형 여행 일정표의 집합이 특정의 조건을 만족하지 않으면, 예컨대 권장형 여행 일정표의 집합이 NR개 미만의 여행 일정표를 포함하면(결정 블록 214의 "아니오" 분기), 부처리(200)는 블록 216으로 진행한다. 블록 216에서, 부처리(200)는 그 준최적 집합 내의 권장형 집합으로부터 여행 일정표를 포함하는 각각의 가치 분석표(본 명세서에서 "커버된"(covered) 가치 분석표라고 부름)의 가중치(wi)를 미리 정해진 값, 예를 들면 0으로 설정할 수 있다.If the set of recommended travel itineraries meets certain conditions, for example, if the set of recommended itineraries includes at least N R trip itineraries ("Yes" branch of decision block 214), the sub-process 200 ends And the process 100 proceeds to block 106. If the set of recommended travel itineraries does not satisfy a particular condition, for example, if the set of recommended itineraries includes less than N R of travel itineraries (the "no" branch of decision block 214) Lt; / RTI > At block 216, the sub-process 200 derives the weight (w i ) of each valuation table (referred to herein as a "covered valuation table") that includes the itinerary from the set of recommended types in its suboptimal set, Can be set to a predetermined value, for example, 0.

커버된 가치 분석표의 가중치(wi)를 미리 정해진 값으로 설정함으로써, 부처리(200)는 권장형 여행 일정표 집합 내의 적어도 하나의 준최적 여행 일정표를 이미 갖고 있는 커버된 가치 분석표가 다음 회의 선택 처리에서 PSA에 기여하는 것을 줄이거나 금지할 수 있다. 부처리(200)는 그 다음에 블록 202로 돌아가서 권장형 여행 일정표의 집합에 추가할 다음 여행 일정표의 선택을 시작할 수 있다.By setting the weight (w i ) of the covered value analysis table to a predetermined value, the sub-process (200) can determine that the covered value analysis table, which already has at least one sub-optimal itinerary in the set of recommended travel itineraries, in may reduce or prohibit contribute to P SA. Sub-process 200 may then return to block 202 to begin selection of the next itinerary to add to the set of recommended travel itineraries.

만일 확률 분석표가 총망라적이지 않으면(블록 108의 "아니오" 분기), 처리(100)는 블록 114로 진행할 수 있다. 블록 114에서, 처리(100)는 준최적 여행 일정표의 중앙 집합 및 준최적 여행 일정표의 주변 집합을 규정할 수 있다. 이를 위해, 블록 108과 관련하여 위에서 설명한 것처럼, 처리(100)는 확률 분석표의 각 가치 분석표(VPi)에 대하여 검색 결과와 정합되는 MR개의 여행 일정표 각각의 조정된 가치를 계산하고 최적의 여행 일정표를 식별할 수 있다. 그 다음에, 처리(100)는 준최적 여행 일정표의 중앙 집합을 최적 여행 일정표 및 하나의 준최적 역치(예를 들면, 5%) 내에서 조정된 가치(CADJ)를 가진 여행 일정표를 포함한 것으로서 규정할 수 있다. 처리(100)는 또한 준최적 여행 일정표의 주변 집합을 최적 여행 일정표 및 상기 하나의 역치와 상이한 다른 준최적 역치(예를 들면, 20%) 내에서 조정된 가치(CADJ)를 가진 여행 일정표를 포함한 것으로서 규정할 수 있다.If the probability analysis table is not full (no branch of block 108), the process 100 may proceed to block 114. [ At block 114, the process 100 may define a subset of the suboptimal itinerary and a subset of the suboptimal itinerary. To that end, as described above with respect to block 108, the process 100 calculates the adjusted value of each of the M R travel itineraries matching the search results for each value analysis table VP i in the probability table, Schedule tables can be identified. The process 100 then proceeds to include a median set of sub-optimal itineraries as including the itinerary with the adjusted value (C ADJ ) within the optimal itinerary and one sub-optimal threshold (e.g., 5%) Can be defined. The process 100 also includes setting a periphery set of the suboptimal itinerary to a travel itinerary having an optimal itinerary and a value (C ADJ ) adjusted in another sub-optimal threshold (e.g., 20%) that is different from the one threshold As the case may be.

총망라적이지 않은 확률 분석표는 모든 가능한 가치 분석표를 포함하지 않기 때문에, 확률 분석표로 표시되지 않는 특정의 가치 분석표(VPi)가 있을 수 있다. 예를 들면, 여행자 시간 선호도를 포함한 가치 분석표(VPi)는 확률 분석표에서 가치 분석표(VPi)의 수를 줄이기 위해 배제될 수 있다. 누락되는 가치 분석표(VPi)를 보상하고 여행자에게 수용 가능한 검색 결과를 반송할 확률을 증가시키기 위해, 처리(100)는 총망라적이지 않은 확률 분석표의 각 가치 분석표(VPi)에 대하여 권장형 여행 일정표의 집합에 복수의 준최적 여행 일정표를 추가할 수 있다. 각 가치 분석표에 대한 준최적 여행 일정표의 역치 수(NT)는 특정 값(예를 들면, 4)으로 설정되거나 가치 분석표(VPi)의 중요도에 따라 다른 가치 분석표(VPi)들 사이에서 변할 수 있다. 처리(100)의 목적은 하기와 같이 제공될 수 있는 확률(PSB)을 최대화하는 것일 수 있다.Since the non-exhaustive probability table does not include all possible value tables, there may be a specific value table (VP i ) that is not represented by a probability table. For example, the traveler's time value analysis table (VP i), including the preferences may be eliminated to reduce the number of profiles value (VP i) in the probability analysis table. In order to compensate for the missing value analysis table (VP i ) and increase the probability of returning search results acceptable to the traveler, the process (100) includes a recommendation type search (VP i ) for each value- You can add multiple sub-optimal itineraries to a set of calendars. Level threshold of the best itinerary for each value profiles (N T) is changed between the certain value (for example, 4) the setting or value profiles (VP i) different values analysis table (VP i) based on the importance of the . The purpose of the process 100 may be to maximize the probability (P SB ) that can be provided as follows.

Figure pat00003
Figure pat00003

여기에서 NNOi는 권장형 집합의 대응하는 가치 분석표에 대한 준최적 여행 일정표의 수이고, F(NNOi)는 만일 NNOi가 역치 이상이면 논리치 1(참)을 반송하고 그렇지 않으면 논리치 0(거짓)을 반송하는 함수이다.Where N NOi is the number of suboptimal itineraries for the corresponding valuation table of the set of recommended types and F (N NOi ) returns the logical value 1 (true) if N NOi is greater than or equal to the threshold value, (False).

집합 내의 기존 여행 일정표와 유사한 권장형 여행 일정표의 집합에 추가적인 준최적 여행 일정표를 추가하는 것은 커버리지를 크게 개선하는데 실패할 수 있다. 하나의 준최적 여행 일정표는 만일 여행 일정표의 특성들 중의 하나가 동일하면 서로 유사한 것으로 생각할 수 있다. 예를 들면, 동일한 출발 시간을 가진 2개의 준최적 여행 일정표는 유사한 것으로 생각할 수 있다.Adding an additional sub-optimal itinerary to the set of recommended itineraries similar to the existing itinerary in the set may fail to significantly improve coverage. One suboptimal itinerary can be thought of as being similar if one of the characteristics of the itinerary is the same. For example, two suboptimal itineraries with the same departure time can be thought of as similar.

유사한 준최적 여행 일정표를 가진 상기 문제점을 다루기 위해, 발명의 일 실시형태에 있어서, 준최적 여행 일정표의 수(NNOi)는 권장형 여행 일정표의 집합 내의 다른 준최적 여행 일정표와 유사하지 않은 준최적 여행 일정표만을 카운트할 수 있다. 즉, 만일 권장형 여행 일정표의 집합이 복수의 유사한 여행 일정표를 포함하면, 상기 복수는 NNOi를 결정할 목적으로 하나의 여행 일정표로서만 카운트할 수 있다. 유사하지 않은 준최적 여행 일정표는 동일한 준최적 집합 내에 있지만 권장형 여행 일정표의 집합의 다양성에 기여하도록 서로 충분히 상이한 여행 일정표일 수 있다. 예를 들면, 상이한 출발 시간을 가진 2개의 준최적 여행 일정표는 유사하지 않은 것으로 생각할 수 있다.In order to address this problem with similar suboptimal itineraries, in one embodiment of the invention, the number of suboptimal itineraries (N NOi ) is a function of the suboptimal travel itinerary that is not similar to another suboptimal itinerary in the set of recommended itineraries Only the itinerary can be counted. That is, if the set of recommended travel itineraries includes a plurality of similar itineraries, the plurality may only count as one itinerary for the purpose of determining N NOi . The non-similar suboptimal itinerary may be sufficiently different from each other to contribute to the diversity of the set of recommended itinerary schedules that are within the same suboptimal set. For example, two suboptimal itineraries with different departure times can be thought of as non-similar.

준최적 여행 일정표의 중앙 집합과 주변 집합을 규정한 것에 응답하여, 처리(100)는 블록 116으로 진행할 수 있다. 블록 116에서, 처리(100)는 부처리(200)에 대한 특정 조건을 설정할 수 있다. 처리(100)는 그 다음에 상기 특정 조건이 도 6과 관련하여 위에서 설명한 것처럼 충족될 때까지 부처리(200)를 이용하여 준최적 여행 일정표의 중앙 집합으로부터 권장형 여행 일정표의 집합을 상주(populate)시킬 수 있다. 발명의 일 실시형태에 있어서, 블록 116에서 설정된 특정 조건은 권장형 여행 일정표의 집합이 특정 백분율의 여행자를 포함한 가치 분석표의 준최적 여행 일정표의 각 중앙 집합으로부터 적어도 하나의 여행 일정표를 포함하는 것일 수 있다. 예를 들면, 특정 백분율의 여행자는 분석표 데이터베이스(66) 내 여행자의 90%일 수 있다. 발명의 다른 실시형태에 있어서, 상기 특정 조건은 여행 일정표의 예비 집합 내 여행 일정표의 수가 역치 수(NT)에 도달한 것, 또는 여행 일정표의 예비 집합 내 여행 일정표들이 상기 특정 백분율의 여행자를 포함하는 것일 수 있다. 어느 경우이든, 부처리(200)의 특정 조건이 만족된 것에 응답하여, 처리(100)는 부처리(200)를 빠져 나가고 블록 118로 진행할 수 있다.In response to defining a central set and a surrounding set of sub-optimal itineraries, the process 100 may proceed to block 116. [ At block 116, the process 100 may set certain conditions for the sub-process 200. Process 100 then populates a set of recommended itineraries from a central set of sub-optimal itineraries using sub-process 200 until the particular condition is met as described above in connection with FIG. ). In one embodiment of the invention, the specific condition set at block 116 may be that the set of recommended travel itineraries includes at least one itinerary from each centrally set of sub-optimal itineraries of the value analysis table, including a certain percentage of travelers have. For example, a certain percentage of travelers may be 90% of travelers in the analytics database 66. In another embodiment of the invention, the specific condition is that the number of travel itineraries in the reserve of the itinerary has reached the threshold value (N T ), or that the itinerary in the reserve of the itinerary includes the specified percentage of the travelers . In either case, in response to the particular condition of the sub-process 200 being satisfied, the process 100 may exit the sub-process 200 and proceed to block 118.

블록 118에서, 처리(100)는 권장형 여행 일정표의 집합이 다른 하나의 특정 조건을 충족시키는지 결정할 수 있다. 예를 들면, 결정 블록 118에서 특정된 조건은 권장형 여행 일정표의 집합이 NR개의 여행 일정표를 포함하는 것일 수 있다. 만일 권장형 여행 일정표의 집합이 특정 조건을 총족시키면(결정 블록 118의 "예" 분기), 처리(100)는 블록 106으로 진행할 수 있다. 만일 권장형 여행 일정표의 집합이 특정 조건을 총족시키지 않으면(결정 블록 118의 "아니오" 분기), 처리(100)는 블록 120으로 진행할 수 있다.At block 118, process 100 may determine if a set of recommended itineraries meets one other specific condition. For example, the conditions specified in decision block 118 may be that the set of recommended travel itineraries include N R trip itineraries. If the set of recommended itineraries fills a certain condition (the "yes" branch of decision block 118), the process 100 may proceed to block 106. If the set of recommended itineraries does not satisfy a particular condition ("NO" branch of decision block 118), process 100 may proceed to block 120.

이제, 도 7을 참조하면, 준최적 여행 일정표의 주변 집합을 이용하여 여행 일정표로 권장형 여행 일정표의 집합을 보강하기 위해 블록 120에서의 처리(100)에 의해 실행될 수 있는 부처리(300)의 흐름도가 도시되어 있다. 블록 302에서, 부처리(300)는 권장형 여행 일정표의 집합에 추가된 검색 기준을 만족시키는 여행 일정표 집합 내 여행 일정표들을 플래그 또는 다른 방식으로 식별할 수 있다. 여행 일정표의 플래깅에 의해 부처리(300)는 상기 검색 기준을 만족시키는 여행 일정표 집합 내 여행 일정표가 권장형 여행 일정표 집합에 추가되었는지 여부를 결정할 수 있다. 여행 일정표의 플래깅에 응답하여, 부처리(300)는 블록 304로 진행할 수 있다.Referring now to FIG. 7, there is shown an example of a sub-process 300 that may be executed by the process 100 at block 120 to reinforce the set of recommended itineraries with a travel itinerary using a subset of sub- A flow chart is shown. At block 302, sub-process 300 may flag or otherwise identify travel itineraries in the itinerary set that meet the search criteria added to the set of recommended itineraries. By flagging the itinerary, sub-process 300 can determine whether the itinerary in the set of itineraries meeting the search criterion has been added to the recommended itinerary set. In response to flagging the itinerary, sub-process 300 may proceed to block 304.

블록 304에서, 부처리(300)는 여행자의 확률 분석표 내 각각의 커버되지 않은 가치 분석표(VPi)에 대하여, 준최적 여행 일정표의 대응하는 주변 집합 내에 있는 플래그된 여행 일정표의 수(NFi)를 결정할 수 있다. 발명의 일 실시형태에 있어서, 플래그된 여행 일정표의 수(NFi)는 비유사 여행 일정표만을 포함할 수 있다. 즉, 유사한 여행 일정표의 그룹은 준최적 여행 일정표의 주변 집합 내 플래그된 여행 일정표의 수(NFi)를 결정할 목적으로 하나의 여행 일정표로서만 카운트할 수 있다. 각각의 가치 분석표(VPi)에 대하여 상기 준최적 여행 일정표의 주변 집합 내 플래그된 여행 일정표의 수(NFi)를 결정한 것에 응답하여, 부처리(300)는 블록 306으로 진행할 수 있다.At block 304, the sub-process 300 calculates the number of flagged travel itineraries (N Fi ) within the corresponding perimeter set of sub-optimal itineraries for each uncovered value table VP i in the traveler's probability table, Can be determined. In one embodiment of the invention, the number of flagged travel itineraries (N Fi ) may include only non-similar travel itineraries. That is, a group of similar travel itineraries can only count as a single itinerary for the purpose of determining the number of flagged travel itineraries (N Fi ) in the vicinity set of sub-optimal itineraries. In response to determining the number (N Fi ) of flagged travel itineraries in the perimeter set of the sub-optimal itinerary for each value analysis table VP i , the sub-process 300 may proceed to block 306.

블록 306에서, 부처리(300)는 커버되는 역치 수(NT) 이상인 NFi를 가진 각각의 가치 분석표(VPi)를 플래그 또는 다른 방식으로 식별할 수 있다. 부처리(300)는 또한 커버된 가치 분석표의 가중치를 감소된 값, 예를 들면 0으로 설정할 수 있다. 부처리(300)는 그 다음에 블록 308로 진행할 수 있다. 블록 308에서, 부처리(300)는 플래그되지 않은 여행 일정표를 검색 기준을 만족시키는 여행 일정표의 집합으로부터 선택하고 블록 310으로 진행할 수 있다.At block 306, sub-process 300 may identify each value analysis table (VP i ) with N Fi that is greater than or equal to the covered threshold number (N T ) in a flag or other manner. The sub-process 300 may also set the weight of the covered value analysis table to a reduced value, for example, zero. Sub-processing 300 may then proceed to block 308. [ At block 308, the sub-process 300 may select an un-flagged itinerary from the set of itineraries that satisfy the search criteria and proceed to block 310.

블록 310에서, 부처리(300)는 블록 308에서 선택된 플래그되지 않은 여행 일정표를 포함한 준최적 여행 일정표의 주변 집합을 가진 확률 분석표의 각각의 커버되지 않은 가치 분석표(VPi)를 식별할 수 있다. 그 다음에, 부처리(300)는 식별된 각각의 커버되지 않은 가치 분석표(VPi)에 대하여 상기 플래그되지 않은 여행 일정표가 준최적 여행 일정표의 대응하는 주변 집합 내 각각의 다른 여행 일정표와 다른 것인지 결정할 수 있다. 그 다음에, 부처리(300)는 플래그되지 않은 상이한 여행 일정표를 가진 각각의 커버되지 않은 가치 분석표의 가중치들을 합산함으로써 확률(PSB)을 결정할 수 있다.At block 310, sub-process 300 may identify each uncovered value analysis table (VP i ) of the probability analysis table with a surrounding set of sub-optimal itineraries including the non-flagged itinerary selected at block 308. Next, the sub-process 300 determines whether the un-flagged travel itinerary is different from each of the other itineraries in the corresponding perimeter set of the sub-optimal itinerary for each identified non-covered value analysis table VP i You can decide. Sub-processing 300 can then determine the probability (P SB ) by summing the weights of each uncovered value analysis table with the different travel itineraries that are not flagged.

PSB를 결정한 것에 응답하여, 부처리(300)는 블록 312로 진행하여 PSB가 각각의 플래그되지 않은 여행 일정표마다 결정되었는지 결정할 수 있다. 만일 PSB가 각각의 플래그되지 않은 여행 일정표마다 결정되지 않았으면(결정 블록 312의 "아니오" 분기), 부처리(300)는 블록 314로 진행하여 플래그되지 않은 다음 여행 일정표를 선택하고, 블록 310으로 돌아갈 수 있다. 만일 PSB가 각각의 플래그되지 않은 여행 일정표마다 규정되었으면(결정 블록 312의 "예" 분기), 부처리(300)는 블록 316으로 진행할 수 있다.In response to determining P SB , sub-process 300 may proceed to block 312 to determine if P SB has been determined for each non-flagged itinerary. If P SB is not determined for each non-flagged itinerary ("NO" branch of decision block 312), sub-process 300 proceeds to block 314 to select the next non-flagged itinerary, and block 310 . If P SB has been defined for each non-flagged itinerary ("yes" branch of decision block 312), sub-process 300 may proceed to block 316.

블록 316에서, 부처리(300)는 최고의 PSB 값을 가진 여행 일정표를 결정하고, 이 여행 일정표를 권장형 여행 일정표의 집합에 추가할 수 있다. 부처리(300)는 또한 권장형 여행 일정표의 집합에 추가된 것을 표시하기 위해 여행 일정표를 플래그 또는 다른 방식으로 식별할 수 있다. 부처리(300)는 그 다음에 블록 318로 진행하여 권장형 여행 일정표의 집합이 특정의 조건을 충족시키는지, 예를 들면 집합이 적어도 NR개의 여행 일정표를 내포하는지 결정할 수 있다. 만일 권장형 여행 일정표의 집합이 상기 특정 조건을 충족시키지 않으면(결정 블록 318의 "아니오" 분기) 부처리(300)는 블록 304로 돌아가서 권장형 여행 일정표의 집합에 추가할 다른 여행 일정표를 식별하는 처리를 시작할 수 있다. 만일 권장형 여행 일정표의 집합이 상기 특정 조건을 만족시키면(결정 블록 318의 "예" 분기), 처리(100)는 부처리(300)를 빠져 나가고 블록 106으로 진행할 수 있다.At block 316, sub-process 300 may determine a itinerary with the highest P SB value and add the itinerary to the set of recommended itineraries. The sub-process 300 may also flag the itinerary by flag or otherwise to indicate that it has been added to the set of recommended itineraries. Sub-process 300 then proceeds to block 318 to determine if the set of recommended itineraries meets certain conditions, for example, if the set contains at least N R itineraries. If the set of recommended itineraries does not meet the specific conditions ("no" branch of decision block 318), sub-process 300 returns to block 304 to identify another itinerary to add to the set of recommended itineraries Processing can be started. If the set of recommended itinerary tables satisfies the specific conditions ("yes" branch of decision block 318), the process 100 may exit sub-process 300 and proceed to block 106.

블록 106에서, 처리(100)는 권장형 여행 일정표의 집합이 응답(82)에 포함시킬 여행자에 대하여 충분히 적절한 것인지 결정할 수 있다. 발명의 일 실시형태에 있어서, 캐시에 저장되어 있는 검색 기준을 만족시키는 여행 일정표는 통계적 확률 분석표에 기초하여 더 큰 그룹의 검색 결과로부터 선택되었을 수 있다. 통계적 확률 분석표는 여행자의 선택된 단면에 관련된 여행 일정표를 포착하도록 구성된 확률 분석표일 수 있다. 이것에 의해, 캐시에 포함시키기 위해 선택된 여행 일정표는 캐시가 갱신된 때 통계적 확률 분석표의 상태에 의존할 수 있다. 따라서, 검색 결과들을 만족시키는 MR개의 저장된 여행 권장으로부터 선택된 NR개의 여행 권장이 충분한지 여부는 여행자의 확률 분석표가 캐시가 갱신된 때의 통계적 확률 분석표와 얼마나 유사한지에 의존할 수 있다. 권장형 여행 일정표의 충분성도 또한 여행자의 확률 분석표에 의해 식별되는 여행 권장이 전부 캐시에 추가되었는지 여부에 의존할 수 있다. 즉, 만일 여행자가 통계적 확률 분석표와 통계적으로 독립적인 확률 분석표를 갖고 있으면, 캐시에 저장된 상기 여행 권장은 그 여행자에 적당한 여행 일정표를 포함하지 않을 수 있다.At block 106, the process 100 may determine if the set of recommended itineraries is sufficient for the traveler to include in the response 82. In one embodiment of the invention, the itinerary meeting the search criteria stored in the cache may be selected from a larger group of search results based on the statistical probability analysis table. The statistical probability analysis table may be a probability analysis table configured to capture a travel itinerary related to a selected section of the traveler. This allows the itinerary selected for inclusion in the cache to be dependent on the state of the statistical probability table when the cache is updated. Thus, whether or not the N R travel recommendations selected from the M R stored travel recommendations that satisfy the search results are sufficient may depend on how similar the traveler's probability table is to the statistical probability table at the time the cache was updated. Sufficiency of the recommended travel itinerary may also depend on whether all travel recommendations identified by the traveler's probability table have been added to the cache. That is, if the traveler has a statistical probability table and a statistically independent probability table, the travel recommendations stored in the cache may not include the appropriate itinerary for the traveler.

권장형 여행 일정표의 집합이 충분한지 여부는 여행자의 확률 분석표와 캐시 내의 여행 일정표를 선택하기 위해 사용되는 통계적 확률 분석표 간의 거리(d)에 기초하여 결정될 수 있다. 상기 거리(d)를 결정하는 하나의 방법은 캐시에 상주하고 있는 사전 계산된 검색에 대하여 사용되는 통계적 확률 분석표 내 정합되는 가치 분석표를 가진 여행자의 확률 분석표 내 각각의 가치 분석표(VPi)의 가중치(wi)를 누산하는 것일 수 있다. 즉,Whether a set of recommended travel itineraries is sufficient can be determined based on the distance (d) between the traveler's probability table and the statistical probability table used to select the itinerary in the cache. One way of determining the distance d is to use a weighting value of each value analysis table VP i in the probability distribution table of the traveler with the matching value analysis table in the statistical probability distribution table used for the pre- (w i ). In other words,

Figure pat00004
Figure pat00004

이고, 여기에서 F(VPi)는 만일 가치 분석표(VPi)가 통계적 확률 분석표에 포함되어 있으면 논리치 1(참)을 반송하고 그렇지 않으면 논리치 0(거짓)을 반송하는 확률 함수이다. 거리(d)는 통계적 확률 분석표 내 정합되는 가치 분석표(VPi)를 가진 여행자의 확률 분석표를 포함하는 가치 분석표(VPi)의 누산된 가중치를 표시할 수 있다. 만일 여행자의 확률 분석표에서 0이 아닌 가중치(wi)를 가진 각각의 가치 분석표(VPi)에 대한 통계적 확률 분석표에 정합되는 가치 분석표가 있으면, 상기 거리(d)는 0일 수 있다. 0의 거리는 여행자의 확률 분석표와 정합되는 M개의 여행 일정표의 집합 내에 적어도 하나의 여행 일정표가 있을 100% 확률을 표시할 수 있다.Where F (VP i ) is a probability function that returns a logical value 1 (true) if the value analysis table (VP i ) is included in the statistical probability table, and otherwise returns a logical value 0 (false). The distance d may represent the accumulated weight of the value analysis table VP i including the traveler's probabilistic analysis table with a matching value analysis table VP i in the statistical probability analysis table. If there is a valuation table matching the statistical probability analysis table for each valuation table VP i with a non-zero weight w i in the traveler's probability table, the distance d may be zero. A distance of 0 may represent a 100% probability that there will be at least one itinerary in the set of M travel itineraries matched with the traveler's probability table.

거리(d)가 결정되면, 처리(100)는 거리(d)를 역치와 비교함으로써 권장형 여행 일정표의 집합이 충분한지 결정할 수 있다. 이 역치는 절대치일 수 있다(예를 들면, 70% 이하의 d). 역치는 또한 권장형 여행 일정표의 집합이 충분한 소정 백분율의 시간, 예를 들면 80%의 시간을 나타내는 값으로 설정될 수 있다. 만일 권장형 여행 일정표의 집합이 충분하면(결정 블록 106의 "예" 분기), 처리(100)는 블록 122로 진행하여 권장형 여행 일정표의 집합을 반송할 수 있다. 만일 권장형 여행 일정표의 집합이 충분하지 않으면(결정 블록 106의 "아니오" 분기), 처리(100)는 블록 124로 진행하여 검색 기준을 만족시키는 추가적인 여행 일정표에 대한 온라인 검색을 시작할 수 있다. 온라인 검색은, 예를 들면, 운수회사 시스템이 가용성 데이터베이스(20), 일정표 데이터베이스(21) 및 운임 데이터베이스(22) 중의 하나 이상에 접근함으로써 결정할 수 있는 새로운 검색 결과를 획득하기 위해 운수회사 시스템(14)에 질의를 전송하는 것을 포함할 수 있다. 온라인으로 획득된 검색 결과는 그 다음에 여행자의 확률 분석표를 이용하여 필터링되고, 온라인 검색 결과의 일부는 권장형 검색 결과의 집합을 교체 또는 보강하기 위해 사용될 수 있다. 예를 들면, 온라인 검색 결과는 여행 일정표의 복합 집합을 발생하기 위해 권장 데이터베이스(64)로부터 검색된 검색 기준을 만족시키는 여행 일정표의 집합에 추가될 수 있다. 여행 일정표의 복합 집합은 그 다음에 권장형 여행 일정표의 집합을 발생하기 위해 전술한 바와 같이 여행자의 확률 분석표를 이용하여 필터링될 수 있다.Once the distance d is determined, the process 100 can determine if the set of recommended itineraries is sufficient by comparing the distance d with a threshold value. This threshold may be absolute (for example, d of 70% or less). The threshold may also be set to a value representing a predetermined percentage of the time, e.g., 80% of the time, of the set of recommended travel itineraries. If the set of recommended travel itineraries is sufficient (the "Yes" branch of decision block 106), the process 100 may proceed to block 122 to return a set of recommended itineraries. If the set of recommended travel itineraries is not sufficient (the "no" branch of decision block 106), the process 100 may proceed to block 124 to begin an online search for additional travel itineraries that meet the search criteria. The online search can be performed, for example, by the transport company system 14 to obtain new search results, which the transportation company system can determine by accessing one or more of the availability database 20, the schedule database 21 and the freight database 22 ). ≪ / RTI > The search results obtained online are then filtered using the traveler's probability table and a portion of the online search results may be used to replace or augment the set of recommended search results. For example, the online search results may be added to a set of travel itineraries that meet the search criteria retrieved from the recommended database 64 to generate a composite set of travel itineraries. The combined set of travel itineraries can then be filtered using the traveler's probability table as described above to generate a set of recommended itineraries.

일반적으로, 운영체제의 일부로서 구현되든지 또는 특수 애플리케이션으로서 구현되든지 본 발명의 실시형태를 구현하기 위해 실행되는 루틴, 컴포넌트, 프로그램, 오브젝트, 모듈 또는 명령어 시퀀스, 또는 이들의 부분집합은 여기에서 "컴퓨터 프로그램 코드" 또는 단순히 "프로그램 코드"라고 부를 수 있다. 프로그램 코드는 전형적으로 여러 경우에 컴퓨터의 각종 메모리 및 스토리지 장치에 상주하고 컴퓨터의 하나 이상의 프로세서에 의해 실행된 때 그 컴퓨터로 하여금 본 발명의 실시형태의 각종 양태를 구체화하는 동작 및/또는 요소를 실행하는데 필요한 동작들을 수행하게 하는 컴퓨터 판독가능 명령어를 포함한다. 본 발명의 실시형태의 동작들을 실행하는 컴퓨터 판독가능 프로그램 명령어는 예를 들면 어셈블리 언어 또는 하나 이상 프로그래밍 언어의 임의 조합으로 작성된 소스 코드 또는 목적 코드일 수 있다.In general, a routine, component, program, object, module, or sequence of instructions, or a subset thereof, that is implemented as part of an operating system or as a special application or to implement an embodiment of the invention, Code "or simply" program code ". The program code typically resides in various memory and storage devices of the computer in various instances and when executed by one or more processors of the computer, causes the computer to perform operations and / or elements that embody various aspects of the embodiments of the present invention Readable < / RTI > The computer-readable program instructions for performing the operations of the embodiments of the present invention may be source code or object code written in, for example, an assembly language or any combination of one or more programming languages.

여기에서 설명하는 각종 프로그램 코드는 발명의 특정 실시형태에서 구현되는 애플리케이션에 기초하여 식별될 수 있다. 그러나 하기의 임의의 특수한 프로그램 명명법이 단순히 편의상 사용되고, 따라서 본 발명은 그러한 명명법으로 식별 및/또는 암시되는 임의의 특수 응용에서만 사용하는 것으로 제한되지 않는다는 점을 이해하여야 한다. 또한, 일반적으로 컴퓨터 프로그램이 루틴, 절차, 방법, 모듈, 오브젝트 등으로 조직되는 무수의 방법뿐만 아니라, 전형적인 컴퓨터에 상주하는 각종 소프트웨어 계층(예를 들면, 운영체제, 라이브러리, API, 애플리케이션, 애플릿 등) 중에 프로그램 기능을 할당하는 각종 방법이 주어지는 경우, 본 발명의 실시형태는 여기에서 설명하는 프로그램 기능의 특정 조직 및 할당으로 제한되지 않는다는 점을 알아야 한다.The various program codes described herein may be identified based on an application implemented in a particular embodiment of the invention. It should be understood, however, that any of the following specific program nomenclature is used merely for convenience, and therefore the invention is not limited to use with any particular application identified and / or implied by such nomenclature. Also, various software layers (e.g., operating systems, libraries, APIs, applications, applets, etc.) typically reside on a typical computer, as well as a myriad of ways in which a computer program is organized into routines, procedures, methods, modules, objects, It is to be understood that the embodiments of the present invention are not limited to the specific organization and allocation of the program functions described herein.

여기에서 설명하는 임의의 애플리케이션/모듈에서 구체화되는 프로그램 코드는 각종의 다른 형태의 프로그램 제품으로서 개별적으로 또는 집합적으로 분산될 수 있다. 특히, 프로그램 코드는 프로세서가 발명의 실시형태의 각종 양태를 실행하도록 컴퓨터 판독가능 프로그램 명령어가 저장된 컴퓨터 판독가능 기억 매체를 이용하여 분산될 수 있다.The program code embodied in any of the applications / modules described herein may be distributed individually or collectively as various other types of program products. In particular, the program code may be distributed using a computer-readable storage medium having computer-readable program instructions stored thereon such that the processor executes various aspects of an embodiment of the invention.

고유적으로 비일시적인 컴퓨터 판독가능 기억 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하기 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 및 분리형 및 비분리형 유형체 매체를 포함할 수 있다. 컴퓨터 판독가능 기억 매체는 또한 RAM, ROM, 소거형의 프로그램 가능한 읽기 전용 메모리(EPROM), 전기적 소거형의 프로그램 가능한 읽기 전용 메모리(EEPROM), 플래시 메모리 또는 다른 반도체 메모리 기술, 휴대용 컴팩트 디스크 읽기 전용 메모리(CD-ROM), 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 장치, 또는 원하는 정보를 저장하기 위해 사용되고 컴퓨터에 의해 판독 가능한 임의의 다른 매체를 포함할 수 있다. 컴퓨터 판독가능 기억 매체는 일시적 신호 자체(예를 들면, 라디오파 또는 다른 전파성 전자기파, 도파관 등의 전송 매체를 통해 전파하는 전자기파, 또는 와이어를 통해 전송되는 전기 신호)로서 해석되지 않아야 한다. 컴퓨터 판독가능 프로그램 명령어는 컴퓨터, 다른 유형의 프로그램 가능한 데이터 처리 장치, 또는 컴퓨터 판독가능 기억 매체로부터의 다른 장치에, 또는 네트워크를 통해 외부 컴퓨터 또는 외부 스토리지에 다운로드될 수 있다.An inherently non-transitory computer-readable storage medium includes volatile and non-volatile, and removable and non-removable, tactile read-only memory (ROM) Media. The computer-readable storage medium may also be a RAM, ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory or other semiconductor memory technology, (CD-ROM), or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or any other medium that can be used to store the desired information and readable by a computer. The computer-readable storage medium should not be interpreted as a transient signal itself (e.g., an electromagnetic wave propagating through a transmission medium such as radio waves or other propagating electromagnetic waves, waveguides, or electrical signals transmitted through wires). Computer readable program instructions may be downloaded to a computer, other type of programmable data processing apparatus, or other device from a computer readable storage medium, or to an external computer or external storage via a network.

컴퓨터 판독가능 매체에 저장된 컴퓨터 판독가능 프로그램 명령어는 컴퓨터, 다른 유형의 프로그램 가능한 데이터 처리 장치, 또는 다른 장치가 특수한 방법으로 기능하도록 지시하기 위해 사용될 수 있고, 따라서 컴퓨터 판독가능 매체에 저장된 명령어는 흐름도, 순서도 및/또는 블록도로 특정된 기능, 작용 및/또는 동작을 구현하는 명령어를 포함한 제조 물품을 산출할 수 있다. 컴퓨터 프로그램 명령어는 범용 컴퓨터, 특수 용도 컴퓨터, 또는 기계를 산출하는 다른 프로그램 가능한 데이터 처리 장치의 하나 이상의 프로세서에 제공되어 상기 하나 이상의 프로세서에 의해 실행되는 명령어가 흐름도, 순서도 및/또는 블록도로 특정된 기능, 작용 및/또는 동작을 구현하는 일련의 연산이 수행되게 한다.Computer readable program instructions stored on a computer readable medium may be used to direct a computer, other type of programmable data processing apparatus, or other device to function in a particular manner, and thus instructions stored on the computer readable medium may be stored on a computer- Flowcharts, flowcharts, and / or block diagrams, and may include instructions that implement the functions, acts, and / or actions specified. The computer program instructions may be provided to one or more processors of a general purpose computer, special purpose computer, or other programmable data processing apparatus that produces a machine such that the instructions executed by the one or more processors are stored in a flow chart, flowchart and / , A series of operations that implement actions and / or actions are performed.

소정의 대안적인 실시형태에 있어서, 흐름도, 순서도 및/또는 블록도로 특정된 기능, 작용 및/또는 동작은 발명의 실시형태에 따라 재배치, 직렬 처리 및/또는 동시 처리될 수 있다. 더 나아가, 임의의 흐름도, 순서도 및/또는 블록도는 발명의 실시형태에 따라 설명한 것보다 더 많거나 더 적은 수의 블록을 포함할 수 있다.In certain alternative embodiments, the functions, acts and / or operations specified in the flowcharts, flowcharts and / or block diagrams may be rearranged, serialized, and / or concurrently processed in accordance with an embodiment of the invention. Furthermore, any flowchart, flowchart, and / or block diagram may include more or fewer numbers of blocks than those described in accordance with the embodiments of the invention.

여기에서 사용하는 용어는 특정 실시형태를 설명하기 위한 목적으로만 사용되고 발명의 실시형태를 제한하는 의도가 없다. 여기에서 사용하는 단수 형태의 표현은 문맥에서 명확히 다르게 표시하지 않는 한 복수 형태의 표현도 또한 포함하는 것으로 의도된다. 이 명세서에서 사용하는 용어 "포함한다" 및/또는 "포함하는"은 명시된 특징, 정수, 단계, 동작, 요소 및/또는 컴포넌트의 존재를 표시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다. 또한, 용어 "구비하는", "갖는", "...와 함께", "...으로 구성된", 또는 이들의 변체가 상세한 설명 또는 특허 청구범위에서 사용되는 한도까지, 상기 용어들은 용어 "포함하는"과 유사한 방식으로 내포적으로 의도된다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the embodiments of the invention. The singular forms of terms used herein are also intended to include plural forms unless the context clearly dictates otherwise. As used herein, the terms "comprises" and / or "comprising" are used to denote the presence of stated features, integers, steps, operations, elements and / or components but may include one or more other features, integers, , Components, and / or groups thereof. Also, to the extent that the terms "comprise," "have," "with," "consisting of," or their variants are used in the detailed description or claims, Quot; includes "and " includes ".

지금까지 본 발명을 각종 실시형태로 설명하고 그러한 실시형태를 상당히 구체적으로 설명하였지만, 첨부된 특허 청구범위의 범위를 그러한 상세한 설명으로 구속하거나 어떻게든 제한하는 것은 본 출원인의 의도가 아니다. 당업자라면 추가적인 장점 및 수정을 쉽게 안출할 수 있을 것이다. 그러므로 넓은 양태로서의 본 발명은 구체적인 상세한 설명, 대표적인 장치 및 방법, 및 도시하고 설명한 예시적인 실시예로 제한되지 않는다. 따라서, 출원인의 일반적인 발명 개념의 정신 또는 범위로부터 벗어나지 않고 상기 상세한 설명으로부터 다른 변형예가 만들어질 수 있다.While the present invention has been described in terms of various embodiments and while such embodiments have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily occur to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative devices and methods, and illustrative embodiments shown and described. Accordingly, other variations may be made from the above detailed description without departing from the spirit or scope of applicant's general inventive concept.

Claims (20)

여행자를 위한 제2의 권장형 여행 일정표 집합을 규정하기 위해 데이터베이스의 제1 여행 일정표 집합을 처리하는 장치에 있어서,
하나 이상의 프로세서와,
상기 하나 이상의 프로세서에 결합된 메모리를 포함하고, 상기 메모리는 하나 이상의 프로세서에 의해 실행될 때 장치로 하여금,
복수의 가치 분석표(profile) 중 각각의 가치 분석표에 대하여, 상기 가치 분석표를 이용하여 상기 제1 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치를 결정하고,
각각의 가치 분석표에 대하여, 상기 각 여행 일정표의 조정된 가치에 기초하여 상기 제1 여행 일정표 집합으로부터 제1 준최적(near-optimal) 여행 일정표 집합을 규정하고,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제1 합을 발생하기 위해 상기 가치 분석표의 상기 제1 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하고,
최고치를 가진 제1 합을 결정하기 위해 상기 제1 합들을 비교하고,
상기 최고치의 제1 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하게 하는 프로그램 코드를 포함한 데이터를 저장하는 것인 여행 일정표 집합을 처리하는 장치.
CLAIMS 1. An apparatus for processing a first set of travel itineraries in a database to define a second set of recommended itineraries for travelers,
At least one processor,
And a memory coupled to the one or more processors, the memory being operable, when executed by the one or more processors,
Determining an adjusted value of each travel itinerary in the first set of travel itineraries using the value analysis table for each value analysis table among a plurality of value analysis profiles,
Defining, for each value analysis table, a first near-optimal itinerary set from the first set of itinerary based on the adjusted value of each itinerary,
Summing the weights of the respective value analysis tables including the travel itinerary in the first sub-optimal travel itinerary set of the value analysis table for each trip itinerary in the first set of travel itineraries,
Compare the first sums to determine a first sum with a peak value,
And program code for causing the computer to add a travel itinerary having the first sum of the highest values to the second set of itineraries.
제1항에 있어서, 상기 프로그램 코드는 또한, 상기 장치로 하여금,
상기 최고치를 가진 상기 제1 합에 기여된 각각의 가치 분석표의 가중치를 감소시키고,
상기 제2 여행 일정표 집합에 추가되지 않은 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 가치 분석표의 상기 제1 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하고,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하고,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하게 하도록 구성되는 것인 여행 일정표 집합을 처리하는 장치.
The method of claim 1, wherein the program code further causes the device to:
Reducing a weight of each value analysis table contributed to the first sum with the highest value,
For each trip itinerary in the first set of travel itineraries that are not added to the second set of itinerary terms, to generate a second sum for each of the valuation tables including the itinerary in the first sub- Lt; RTI ID = 0.0 >
Compare the second sums to determine a second sum with a peak value,
And to add to the second set of itineraries a trip itinerary having a second sum of the highest values.
제1항에 있어서, 상기 각각의 가치 분석표의 가중치를 감소시키는 것은 가중치를 0으로 설정하는 것을 포함한 것인 여행 일정표 집합을 처리하는 장치.2. The apparatus of claim 1, wherein decreasing the weight of each of the value analysis tables comprises setting a weight to zero. 제1항에 있어서, 상기 제1 준최적 여행 일정표 집합을 규정하는 것은, 각각의 가치 분석표에 대하여,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대해, 상기 가치 분석표를 이용하여 상기 여행 일정표의 편리성 가치를 결정하고,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대해, 상기 여행 일정표의 금전적 가치를 결정하고,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대해, 상기 여행 일정표의 조정된 가치를 결정하기 위해 상기 편리성 가치와 상기 금전적 가치를 가산하고,
최저의 조정된 가치를 가진 상기 제1 여행 일정표 집합 내의 여행 일정표를 최적 여행 일정표로서 식별하고,
최적의 여행 일정표 및 상기 최적 여행 일정표의 조정된 가치의 제1의 미리 정해진 양 내에서 상기 조정된 가치를 가진 각각의 여행 일정표를 상기 제1 준최적 여행 일정표 집합에 포함시키기 위해 선택하는 것을 포함하는 것인 여행 일정표 집합을 처리하는 장치.
The method of claim 1, wherein defining the first set of sub-optimal itinerary tables comprises:
Determining convenience values of the itinerary using the value analysis table for each itinerary in the first set of itinerary tables,
Determining a monetary value of the itinerary for each itinerary in the first set of itinerary,
For each trip itinerary in the first set of travel itineraries, adding the convenience value and the monetary value to determine an adjusted value of the itinerary,
Identifying a travel itinerary in the first set of travel itineraries having the lowest adjusted value as an optimal itinerary,
Choosing to include in the first sub-optimal itinerary set a respective itinerary having the adjusted value within a first predetermined amount of the optimal itinerary and the adjusted value of the optimal itinerary, A device that manages the itinerary set that is one.
제4항에 있어서, 상기 프로그램 코드는 또한, 상기 장치로 하여금, 각각의 가치 분석표에 대해, 최적의 여행 일정표 및 상기 최적 여행 일정표의 조정된 가치의 제2의 미리 정해진 양 - 상기 제2의 미리 정해진 양은 상기 제1의 미리 정해진 양보다 더 높은 것임 - 내에서 상기 조정된 가치를 가진 각각의 여행 일정표를 포함할 제2 준최적 여행 일정표 집합을 규정하게 하도록 또한 구성되는 것인 여행 일정표 집합을 처리하는 장치.5. The method of claim 4, wherein the program code further causes the device to: determine, for each value analysis table, an optimal travel itinerary and a second predetermined amount of the adjusted value of the optimal itinerary, A set of travel itineraries that are also configured to define a second set of sub-optimal itineraries to include each trip itinerary having the adjusted value within a predetermined amount . 제5항에 있어서, 상기 프로그램 코드는 또한, 상기 장치로 하여금,
상기 제2 여행 일정표 집합에 추가되지 않은 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 제2 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하고,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하고,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하게 하도록 구성되는 것인 여행 일정표 집합을 처리하는 장치.
6. The method of claim 5, wherein the program code further causes the device to:
For each travel itinerary in the first set of travel itineraries that are not added to the second set of travel itineraries, sum up the weights of each value scheme including the itinerary in the second sub-optimal itinerary set to generate a second sum and,
Compare the second sums to determine a second sum with a peak value,
And to add to the second set of itineraries a trip itinerary having a second sum of the highest values.
제5항에 있어서, 상기 프로그램 코드는 또한, 상기 장치로 하여금,
각각의 가치 분석표에 대하여, 상기 제2 여행 일정표 집합에 포함되는 상기 제2 준최적 여행 일정표 집합 내의 다수의 여행 일정표를 결정하고,
상기 여행 일정표의 수가 역치를 초과하는 각각의 가치 분석표에 대하여, 상기 가치 분석표의 가중치를 감소시키고,
상기 제2 여행 일정표 집합에 추가되지 않는 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 가치 분석표의 상기 제2 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하고,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하고,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하게 하도록 구성되는 것인 여행 일정표 집합을 처리하는 장치.
6. The method of claim 5, wherein the program code further causes the device to:
Determining a plurality of tour itineraries in the second sub-optimal itinerary table set included in the second set of tour iterations for each value analysis table,
For each value analysis table in which the number of travel itineraries exceeds the threshold value, the weight of the value analysis table is decreased,
For each trip itinerary in the first set of travel itineraries that are not added to the second set of itinerary tables, each value table including the itinerary in the second sub-optimal itinerary set of the value analysis table Lt; RTI ID = 0.0 >
Compare the second sums to determine a second sum with a peak value,
And to add to the second set of itineraries a trip itinerary having a second sum of the highest values.
제5항에 있어서, 복수의 가치 분석표는 확률 분석표를 포함하고, 상기 프로그램 코드는 또한, 상기 장치로 하여금, 상기 확률 분석표가 총망라적인(exhaustive) 것인지 또는 총망라적인 것이 아닌지 결정하게 하도록 구성된 것이며, 상기 제2 준최적 여행 일정표 집합은 상기 확률 분석표가 총망라적인 것이 아니라는 결정에 응답하여 규정되는 것인 여행 일정표 집합을 처리하는 장치.6. The method of claim 5, wherein the plurality of value analysis tables comprise a probability analysis table and the program code is further configured to cause the device to determine whether the probability analysis table is exhaustive or not exhaustive, Wherein the second set of suboptimal itineraries is specified in response to a determination that the probabilistic analysis table is not exhaustive. 제1항에 있어서, 상기 제1 여행 일정표 집합 내의 여행 일정표들은 제1 확률 분석표에 기초한 제1 검색 결과를 포함하고, 여행자는 제2 확률 분석표에 관련되며, 상기 프로그램 코드는 또한 상기 장치로 하여금,
상기 제1 확률 분석표와 상기 제2 확률 분석표 간의 거리를 결정하고,
상기 거리가 역치보다 더 큰 것에 응답하여, 상기 제2 확률 분석표에 기초하여 추가의 여행 일정표에 대한 온라인 검색을 시작(launch)하고,
상기 온라인 검색에 의해 반송된 상기 추가의 여행 일정표의 적어도 일부로 상기 제1 여행 일정표 집합을 보강(enrich)하게 하도록 구성되는 것인 여행 일정표 집합을 처리하는 장치.
2. The method of claim 1, wherein the itineraries in the first set of travel itineraries include a first search result based on a first probability distribution table, the traveler is associated with a second probability distribution table,
Determining a distance between the first probability analysis table and the second probability analysis table,
In response to the distance being greater than a threshold, launching an online search for an additional itinerary based on the second probabilistic analysis table,
And to enrich the first set of travel itineraries to at least a portion of the additional itinerary returned by the on-line search.
여행자를 위한 제2의 권장형 여행 일정표 집합을 규정하기 위해 데이터베이스의 제1 여행 일정표 집합을 처리하는 방법에 있어서,
복수의 가치 분석표 중 각각의 가치 분석표에 대하여, 상기 가치 분석표를 이용하여 상기 제1 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치를 컴퓨터에 의해 결정하는 단계와,
각각의 가치 분석표에 대하여, 상기 각 여행 일정표의 조정된 가치에 기초하여 상기 제1 여행 일정표 집합으로부터 제1 준최적 여행 일정표 집합을 컴퓨터에 의해 규정하는 단계와,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제1 합을 발생하기 위해 상기 가치 분석표의 상기 제1 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 컴퓨터에 의해 합산하는 단계와,
최고치를 가진 제1 합을 결정하기 위해 상기 제1 합들을 비교하는 단계와,
상기 최고치의 제1 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하는 단계를 포함하는 여행 일정표 집합을 처리하는 방법.
CLAIMS 1. A method of processing a first set of itineraries in a database to define a second set of recommended itineraries for travelers,
Determining, for each value analysis table among a plurality of value analysis tables, the adjusted value of each itinerary in the first set of the itinerary by using the value analysis table;
Defining, for each value analysis table, a first sub-optimal itinerary set from the first set of itinerary tables based on the adjusted value of each itinerary;
Summing the weights of each value analysis table including the travel itinerary in the first sub-optimal travel itinerary set of the value analysis table by a computer to generate a first sum for each itinerary in the first set of itinerary tables; ,
Comparing the first sums to determine a first sum with a peak value,
And adding a trip itinerary having the first sum of the highest values to the second set of itinerary tables.
제10항에 있어서, 상기 최고치를 가진 상기 제1 합에 기여된 각각의 가치 분석표의 가중치를 감소시키는 단계와,
상기 제2 여행 일정표 집합에 추가되지 않은 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 가치 분석표의 상기 제1 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하는 단계와,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하는 단계와,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하는 단계를 더 포함하는 여행 일정표 집합을 처리하는 방법.
11. The method of claim 10, further comprising: decreasing a weight of each value analysis table contributed to the first sum with the highest value;
For each trip itinerary in the first set of travel itineraries that are not added to the second set of itinerary terms, to generate a second sum for each of the valuation tables including the itinerary in the first sub- Summing the weights of the first,
Comparing the second sums to determine a second sum having a maximum value,
And adding a travel itinerary having the second sum of the highest values to the second set of itinerary tables.
제11항에 있어서, 상기 각각의 가치 분석표의 가중치를 감소시키는 단계는 가중치를 0으로 설정하는 단계를 포함한 것인 여행 일정표 집합을 처리하는 방법.12. The method of claim 11, wherein decreasing the weight of each of the value analysis tables comprises setting a weight to zero. 제10항에 있어서, 상기 제1 준최적 여행 일정표 집합을 규정하는 단계는, 각각의 가치 분석표에 대하여,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대해, 상기 가치 분석표를 이용하여 상기 여행 일정표의 편리성 가치를 결정하는 단계와,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대해, 상기 여행 일정표의 금전적 가치를 결정하는 단계와,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대해, 상기 여행 일정표의 조정된 가치를 결정하기 위해 상기 편리성 가치와 상기 금전적 가치를 가산하는 단계와,
최저의 조정된 가치를 가진 상기 제1 여행 일정표 집합 내의 여행 일정표를 최적 여행 일정표로서 식별하는 단계와,
최적의 여행 일정표 및 상기 최적 여행 일정표의 조정된 가치의 제1의 미리 정해진 양 내에서 상기 조정된 가치를 가진 각각의 여행 일정표를 상기 제1 준최적 여행 일정표 집합에 포함시키기 위해 선택하는 단계를 포함한 것인 여행 일정표 집합을 처리하는 방법.
11. The method of claim 10, wherein defining the first sub-optimal itinerary schedule set comprises:
Determining a convenience value of the itinerary using the value analysis table for each itinerary in the first set of itinerary tables;
Determining a monetary value of the itinerary for each itinerary in the first set of itinerary tables;
Adding the convenience value and the monetary value to each travel itinerary in the first set of travel itinerary to determine an adjusted value of the itinerary;
Identifying a travel itinerary in the first set of travel itineraries having the lowest adjusted value as an optimal itinerary;
Selecting each of the travel itineraries having the adjusted value within a first predetermined amount of the optimal travel itinerary and the adjusted value of the optimal itinerary to include in the first sub-optimal itinerary set How to manage a travel itinerary that is one.
제13항에 있어서, 각각의 가치 분석표에 대해, 최적의 여행 일정표 및 상기 최적 여행 일정표의 조정된 가치의 제2의 미리 정해진 양 - 상기 제2의 미리 정해진 양은 상기 제1의 미리 정해진 양보다 더 높은 것임 - 내에서 상기 조정된 가치를 가진 각각의 여행 일정표를 포함할 제2 준최적 여행 일정표 집합을 규정하는 단계를 더 포함하는 여행 일정표 집합을 처리하는 방법.14. The method of claim 13, wherein for each value-of-value table, a second predefined amount of the optimal travel itinerary and the adjusted value of the optimal itinerary - the second predetermined amount is greater than the first predetermined amount - defining a second sub-optimal itinerary set to include each itinerary having the adjusted value within the second sub-optimal itinerary. 제14항에 있어서, 상기 제2 여행 일정표 집합에 추가되지 않은 상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 제2 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하는 단계와,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하는 단계와,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제1 여행 일정표 집합에 추가하는 단계를 더 포함하는 여행 일정표 집합을 처리하는 방법.
15. The method of claim 14, further comprising: for each trip itinerary in the first set of travel itineraries not included in the second set of itinerary terms, including a travel itinerary in the second sub-optimal itinerary set to generate a second sum, Summing the weights of the value analysis tables,
Comparing the second sums to determine a second sum having a maximum value,
And adding a travel itinerary having the second sum of the highest values to the first set of itinerary tables.
제14항에 있어서, 각각의 가치 분석표에 대하여, 상기 제2 여행 일정표 집합에 포함되는 상기 제2 준최적 여행 일정표 집합 내의 다수의 여행 일정표를 결정하는 단계와,
상기 여행 일정표의 수가 역치를 초과하는 각각의 가치 분석표에 대하여, 상기 가치 분석표의 가중치를 감소시키는 단계와,
상기 제1 여행 일정표 집합에 추가되지 않는 상기 제2 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 가치 분석표의 상기 제2 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하는 단계와,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하는 단계와,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제1 여행 일정표 집합에 추가하는 단계를 더 포함하는 여행 일정표 집합을 처리하는 방법.
15. The method of claim 14, further comprising: for each value analysis table, determining a plurality of itineraries in the second sub-optimal itinerary set included in the second itinerary set;
Decreasing a weight of the value analysis table for each value analysis table in which the number of travel itineraries exceeds a threshold value,
Each trip schedule in the second set of travel itineraries that is not added to the first set of travel itineraries, each value table including the itinerary in the second sub-optimal itinerary set of the value analysis table for generating a second sum, Summing the weights of the first,
Comparing the second sums to determine a second sum having a maximum value,
And adding a travel itinerary having the second sum of the highest values to the first set of itinerary tables.
제14항에 있어서, 복수의 가치 분석표는 확률 분석표를 포함하고, 상기 방법은 상기 확률 분석표가 총망라적인 것인지 또는 총망라적인 것이 아닌지 결정하는 단계를 더 포함하며, 상기 제2 준최적 여행 일정표 집합은 상기 확률 분석표가 총망라적인 것이 아니라는 결정에 응답하여 규정되는 것인 여행 일정표 집합을 처리하는 방법.15. The method of claim 14, wherein the plurality of value analysis tables include a probability analysis table, and the method further comprises determining whether the probability analysis table is full or partial, and the second sub- A method of processing a set of itineraries that is specified in response to a determination that the probability table is not exhaustive. 제10항에 있어서, 상기 제1 여행 일정표 집합 내의 여행 일정표들은 제1 확률 분석표에 기초한 제1 검색 결과를 포함하고, 여행자는 제2 확률 분석표에 관련되며, 상기 방법은,
상기 제1 확률 분석표와 상기 제2 확률 분석표 간의 거리를 결정하는 단계와,
상기 거리가 역치보다 더 큰 것에 응답하여, 상기 제2 확률 분석표에 기초하여 추가의 여행 일정표에 대한 온라인 검색을 시작하는 단계와,
상기 온라인 검색에 의해 반송된 상기 추가의 여행 일정표의 적어도 일부로 상기 제1 여행 일정표 집합을 보강하는 단계를 더 포함하는 여행 일정표 집합을 처리하는 방법.
11. The method of claim 10 wherein the itineraries in the first set of travel itineraries include a first search result based on a first probability distribution table and the traveler is associated with a second probability distribution table,
Determining a distance between the first probability distribution table and the second probability distribution table;
Initiating an online search for an additional itinerary based on the second probabilistic analysis table in response to the distance being greater than a threshold;
Further comprising: augmenting the first set of travel itineraries with at least a portion of the additional itinerary returned by the on-line search.
제18항에 있어서, 상기 제1 여행 일정표 집합을 보강하는 단계는,
복합 여행 일정표 집합을 발생하기 위해 상기 제1 여행 일정표 집합에 추가적인 여행 일정표를 추가하는 단계와,
각각의 가치 분석표에 대하여, 상기 복합 여행 일정표 집합으로부터 제2 준최적 여행 일정표 집합을 규정하는 단계와,
상기 복합 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제2 합을 발생하기 위해 상기 가치 분석표의 상기 제2 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하는 단계와,
최고치를 가진 제2 합을 결정하기 위해 상기 제2 합들을 비교하는 단계와,
상기 최고치의 제2 합을 가진 여행 일정표를 상기 제1 여행 일정표 집합에 추가하는 단계를 포함하는 것인 여행 일정표 집합을 처리하는 방법.
19. The method of claim 18, wherein the step of augmenting the first set of travel itinerary comprises:
Adding an additional itinerary to the first set of itineraries to generate a combined itinerary set;
Defining, for each value analysis table, a second sub-optimal itinerary set from the complex itinerary set;
Summing the weights of the respective value analysis tables including the travel itinerary in the second sub-optimal travel itinerary set of the value analysis table, for each trip itinerary in the combined travel itinerary set,
Comparing the second sums to determine a second sum having a maximum value,
And adding to the first set of itineraries a trip itinerary having a second sum of the highest values.
여행자를 위한 제2의 권장형 여행 일정표 집합을 규정하기 위해 데이터베이스의 제1 여행 일정표 집합을 처리하는 컴퓨터 프로그램 제품에 있어서,
비일시적 컴퓨터 판독가능 기억 매체와,
상기 비일시적 컴퓨터 판독가능 기억 매체에 저장된 프로그램 코드를 포함하고, 상기 프로그램 코드는, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
복수의 가치 분석표 중 각각의 가치 분석표에 대하여, 상기 가치 분석표를 이용하여 상기 제1 여행 일정표 집합 내의 각 여행 일정표의 조정된 가치를 결정하고,
각각의 가치 분석표에 대하여, 상기 각 여행 일정표의 조정된 가치에 기초하여 상기 제1 여행 일정표 집합으로부터 제1 준최적 여행 일정표 집합을 규정하고,
상기 제1 여행 일정표 집합 내의 각 여행 일정표에 대하여, 제1 합을 발생하기 위해 상기 가치 분석표의 상기 제1 준최적 여행 일정표 집합 내의 여행 일정표를 포함한 각 가치 분석표의 가중치를 합산하고,
최고치를 가진 제1 합을 결정하기 위해 상기 제1 합들을 비교하고,
상기 최고치의 제1 합을 가진 여행 일정표를 상기 제2 여행 일정표 집합에 추가하게 하는 것인 컴퓨터 프로그램 제품.
CLAIMS 1. A computer program product for processing a first set of itineraries of a database for defining a second set of recommended itineraries for travelers,
A non-volatile computer readable storage medium;
And program code stored in the non-volatile computer readable storage medium, wherein the program code, when executed by the one or more processors, causes the one or more processors to:
Determining the adjusted value of each travel itinerary in the first set of travel itineraries using the value analysis table for each of the plurality of value analysis tables,
For each value analysis table, a first sub-optimal itinerary set is defined from the first set of itinerary tables based on the adjusted value of each itinerary,
Summing the weights of the respective value analysis tables including the travel itinerary in the first sub-optimal travel itinerary set of the value analysis table for each trip itinerary in the first set of travel itineraries,
Compare the first sums to determine a first sum with a peak value,
And adds a travel itinerary having the first sum of the highest values to the second set of itineraries.
KR1020160044629A 2015-04-14 2016-04-12 Selecting search results for responding to search query KR102311526B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP15290103.9 2015-04-14
US14/685,681 2015-04-14
US14/685,681 US10007957B2 (en) 2015-04-14 2015-04-14 Selecting search results for responding to search query
EP15290103.9A EP3082077A1 (en) 2015-04-14 2015-04-14 Selecting search results for responding to search query

Publications (2)

Publication Number Publication Date
KR20160122648A true KR20160122648A (en) 2016-10-24
KR102311526B1 KR102311526B1 (en) 2021-10-13

Family

ID=57122291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160044629A KR102311526B1 (en) 2015-04-14 2016-04-12 Selecting search results for responding to search query

Country Status (3)

Country Link
KR (1) KR102311526B1 (en)
AU (1) AU2016202297B2 (en)
CA (1) CA2925679C (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862357A (en) * 1987-01-28 1989-08-29 Systemone Holdings, Inc. Computer reservation system with means to rank travel itineraries chosen in terms of schedule/fare data
US20120089406A1 (en) * 2010-10-11 2012-04-12 Steven Ladd Huffman System and method for grouping trip itineraries
KR20130115004A (en) * 2012-04-10 2013-10-21 이호철 System and method for booking airline ticket
US20130290324A1 (en) * 2012-04-26 2013-10-31 Amadeus S.A.S. Categorizing and ranking travel-related database query results
JP2015018545A (en) * 2013-06-11 2015-01-29 株式会社ジェイティービー Travel information management device and travel information management method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862357A (en) * 1987-01-28 1989-08-29 Systemone Holdings, Inc. Computer reservation system with means to rank travel itineraries chosen in terms of schedule/fare data
US20120089406A1 (en) * 2010-10-11 2012-04-12 Steven Ladd Huffman System and method for grouping trip itineraries
KR20130115004A (en) * 2012-04-10 2013-10-21 이호철 System and method for booking airline ticket
US20130290324A1 (en) * 2012-04-26 2013-10-31 Amadeus S.A.S. Categorizing and ranking travel-related database query results
JP2015018545A (en) * 2013-06-11 2015-01-29 株式会社ジェイティービー Travel information management device and travel information management method

Also Published As

Publication number Publication date
AU2016202297A1 (en) 2016-11-03
AU2016202297B2 (en) 2021-08-12
CA2925679C (en) 2021-11-30
CA2925679A1 (en) 2016-10-14
KR102311526B1 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
US10007957B2 (en) Selecting search results for responding to search query
WO2018024844A1 (en) Interactive platform for the exchange of commoditized products
US20150178642A1 (en) Dynamic travel planner
AU2012277131A1 (en) Apparatus and Method for Processing Information of a Search Result
SG175286A1 (en) Improvements in or relating to a method and system of booking management
US20150286960A1 (en) Media input reservation system
KR20150021447A (en) Contextualized travel offers
US20160125069A1 (en) Dynamic database object management
US20150142482A1 (en) Search engine for identifying business travel proposals
US10089381B2 (en) Methods, systems, and computer program products for implementing a classification database
US20160086102A1 (en) Corporate recognition for travel related services
US20220092483A1 (en) Customer experience generator with shareable profile and autopay
AU2015201731A1 (en) Media input reservation system
KR20160122648A (en) Selecting search results for responding to search query
US20180040066A1 (en) Interactive platform for the exchange of commoditized products
EP3082077A1 (en) Selecting search results for responding to search query
EP3029615A1 (en) Interacting with a database storing discounts
KR20160034226A (en) Corporate recognition for travel related services
US20160224906A1 (en) Incorporation of revenue impact of ancillary services into revenue-driven inventory system
Nguyen et al. Assess reliability of a tourism transport network considering limited-budget and late arrivals
EP3089094A1 (en) Implementing a database of pricing records
CN107251022A (en) Personalized ranking for the search result of the data base querying for correlation of travelling
WO2016128121A1 (en) Methods, systems, and computer program products for implementing a classification database
EP3057042A1 (en) Methods, systems, and computer program products for implementing a classification database
CA2870642A1 (en) Search engine for indentifying business travel proposals

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant