KR20210157073A - System and method for recommending travel destination combination based on hybrid filtering - Google Patents
System and method for recommending travel destination combination based on hybrid filtering Download PDFInfo
- Publication number
- KR20210157073A KR20210157073A KR1020200074910A KR20200074910A KR20210157073A KR 20210157073 A KR20210157073 A KR 20210157073A KR 1020200074910 A KR1020200074910 A KR 1020200074910A KR 20200074910 A KR20200074910 A KR 20200074910A KR 20210157073 A KR20210157073 A KR 20210157073A
- Authority
- KR
- South Korea
- Prior art keywords
- travel
- travel destination
- destination
- recommendation
- destinations
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000007423 decrease Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 8
- 235000019640 taste Nutrition 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Navigation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
본 발명은 하이브리드 필터링 기반 여행지 조합 추천 시스템 및 방법에 관한 것으로, 보다 상세하게는 콘텐츠 기반 필터링(Contents based Filtering)과 협업 필터링(Collaborative Filtering)이 혼합된 하이브리드 필터링(Hybrid Filtering)에 의해 사용자에게 최적의 여행지 조합을 추천할 수 있는 하이브리드 필터링 기반 여행지 조합 추천 시스템 및 방법에 관한 것이다.The present invention relates to a hybrid filtering-based travel destination combination recommendation system and method, and more particularly, by hybrid filtering in which content based filtering and collaborative filtering are mixed. It relates to a hybrid filtering-based travel destination combination recommendation system and method capable of recommending a travel destination combination.
일반적으로 사용자에게 여행지를 추천해주는 종래의 여행지 추천 서비스는 사용자가 입력한 여행 관련 정보를 기반으로 이와 매칭되는 여행지를 선정하여 사용자가 입력한 여행 관련 정보와의 유사도 순으로 여행지 추천 리스트를 제공해주는 수준에 그치고 있다.In general, the conventional travel destination recommendation service that recommends a travel destination to a user selects a travel destination that matches the travel-related information input by the user, and provides a travel destination recommendation list in order of similarity to the travel-related information input by the user. is ending at
이로 인해 사용자가 여러 여행지를 여행하려는 계획을 가지고 있는 경우에, 여행지들 간의 거리와 여행지들의 여행 순서에 따른 조합이 사용자의 요구를 만족하는지에 대해 고려하지 않기 때문에, 사용자가 여행지들 간의 거리, 이동 경로 등에 관하여 확인하여 여러 여행지들의 여행 계획을 세워야 하는 불편함이 있다.Due to this, when the user has a plan to travel to several destinations, the user does not consider whether the distance between the destinations and the combination according to the travel order of the destinations satisfy the user's needs, so that the user can It is inconvenient to have to make a travel plan for various destinations by checking the route, etc.
또한, 콘텐츠 기반 필터링(Contents based Filtering) 또는 협업 필터링(Collaborative Filtering)과 같은 필터링 알고리즘이 알려져 있으나, 이러한 특정 필터링 알고리즘에 의해 여행지를 추천하는 방식은 필터링 알고리즘 마다 사용자에게 최적의 여행지 조합을 추천하는데 한계를 가지고 있다.In addition, filtering algorithms such as Contents based Filtering or Collaborative Filtering are known, but the method of recommending a travel destination by such a specific filtering algorithm is limited in recommending the optimal combination of travel destinations to the user for each filtering algorithm. has a
콘텐츠 기반 필터링은 사용자가 입력한 여행 관련 정보와 여행지 간의 유사성을 기초로 여행지를 추천하는 방식이므로, 사용자의 여행 취향(선호도)과 유사한 타 사용자의 여행 이력을 기반으로 새로운 여행지 조합을 추천하지 못하는 한계를 가진다.Since content-based filtering is a method of recommending travel destinations based on the similarity between travel-related information and travel destinations input by the user, there is a limitation in not recommending a new travel destination combination based on the travel history of other users similar to the user’s travel taste (preference). have
협업 필터링은 사용자의 여행 취향과 유사한 타 사용자의 여행 이력을 기반으로 사용자에게 여행지 조합을 추천할 수 있으나, 수집된 여행 관련 데이터를 근간으로 추천을 하므로 서비스 초기에는 데이터의 부족으로 인하여 추천이 적절하게 진행되지 않을 수 있다.Collaborative filtering can recommend a combination of travel destinations to the user based on the travel history of other users similar to the user's travel taste, but recommends based on the collected travel-related data. may not proceed.
또한, 협업 필터링에 기반한 여행지 추천 방식은 어느 사용자에게도 선택되지 않은 여행 지역 혹은 여행지 조합은 영원히 추천되지 않을 수 있는 문제가 있다. 이로 인해 협업 필터링 기반의 여행지 추천을 위한 데이터가 충분히 확보되지 못한 초기 시점에 사용자에게 적합한 여행지를 추천하지 못하는 한계가 있다.In addition, the travel destination recommendation method based on collaborative filtering has a problem in that a travel area or combination of travel destinations that are not selected for any user may not be recommended forever. Due to this, there is a limitation in that it is not possible to recommend a suitable travel destination for the user at an initial point in time when sufficient data for travel destination recommendation based on collaborative filtering is not secured.
본 발명은 콘텐츠 기반 필터링(Contents based Filtering)과 협업 필터링(Collaborative Filtering)이 혼합된 하이브리드 필터링(Hybrid Filtering)에 의해 사용자에게 최적의 여행지 조합을 추천할 수 있는 하이브리드 필터링 기반 여행지 조합 추천 시스템 및 방법, 기록 매체를 제공하기 위한 것이다.The present invention provides a hybrid filtering-based travel destination combination recommendation system and method that can recommend an optimal travel destination combination to a user by hybrid filtering in which content based filtering and collaborative filtering are mixed; To provide a recording medium.
또한, 본 발명은 여행지에 평균적으로 머무르는 시간과 여행지들 간의 이동 경로에 소요되는 시간 및 이동 수단 등을 기반으로 사용자별 최적의 여행지 조합을 추천할 수 있는 하이브리드 필터링 기반 여행지 조합 추천 시스템 및 방법, 기록 매체를 제공하기 위한 것이다.In addition, the present invention provides a hybrid filtering-based travel destination combination recommendation system, method, and record capable of recommending an optimal travel destination combination for each user based on the average staying time at a travel destination, time required for a movement route between travel destinations, and a means of transportation to provide a medium.
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템은, 다수의 여행지에 관련된 여행지 콘텐츠를 수집하고, 수집된 상기 여행지 콘텐츠로부터 여행지별 속성 데이터를 생성하도록 구성되는 여행지 속성 데이터 생성부; 제1 사용자로부터, 하나의 여행지 또는 2 이상의 상이한 여행지의 시간 순서에 따른 여행지 조합을 포함하는 제1 여행지 이력과, 여행 기간 및 여행 속성을 포함하는 여행지 추천 요청 데이터를 입력받도록 구성되는 데이터 입력부; 상기 여행지 추천 요청 데이터와 상기 여행지별 속성 데이터 간의 유사도를 기반으로, 상기 다수의 여행지 중 하나 이상의 제1 여행지를 추천하도록 구성되는 콘텐츠 필터링 추천 모듈; 상기 제1 여행지 이력을 협업 필터링에 의해 다수의 제2 사용자의 제2 여행지 이력과 비교하고, 상기 제1 사용자와 관련도가 높은 제2 사용자의 여행지 이력으로부터 하나 이상의 제2 여행지를 추천하도록 구성되는 협업 필터링 추천 모듈; 상기 제1 여행지 이력에 포함된 여행지에 대해 각각 상기 다수의 제2 사용자의 제2 여행지 이력에 포함된 빈도인 여행지 이력 빈도를 산출하도록 구성되는 여행지 이력 빈도 산출 모듈; 및 상기 여행지 이력 빈도를 기반으로, 상기 하나 이상의 제1 여행지의 추천 결과와 상기 하나 이상의 제2 여행지의 추천 결과를 조합하여 상기 제1 사용자에게 여행지 추천 결과를 제공하도록 구성되는 여행지 조합 추천 모듈을 포함한다.A hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention includes: a travel destination attribute data generator configured to collect travel destination contents related to a plurality of travel destinations, and generate attribute data for each travel destination from the collected travel destination contents; a data input unit configured to receive, from the first user, a first travel destination history including a travel destination combination according to a time sequence of one travel destination or two or more different travel destinations, and travel destination recommendation request data including a travel period and travel attributes; a content filtering recommendation module configured to recommend one or more first travel destinations among the plurality of travel destinations based on a similarity between the travel destination recommendation request data and the attribute data for each travel destination; Comparing the first travel destination history with second travel destination histories of a plurality of second users by collaborative filtering, and recommending one or more second travel destinations from the travel destination histories of a second user with a high degree of relevance to the first user Collaborative filtering recommendation module; a travel destination history frequency calculation module, configured to calculate a travel destination history frequency, which is a frequency included in second travel destination histories of the plurality of second users, for each travel destination included in the first travel destination history; and a travel destination combination recommendation module configured to provide a travel destination recommendation result to the first user by combining a recommendation result of the one or more first travel destinations and a recommendation result of the one or more second travel destinations based on the travel destination history frequency do.
상기 여행지 조합 추천 모듈은, 상기 여행지 이력 빈도가 설정된 기준 빈도 미만인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 보다 높은 가중치를 적용하여 제1 여행지 추천 결과를 생성하고; 그리고 상기 여행지 이력 빈도가 상기 기준 빈도 이상인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 이하의 가중치를 적용하여 제2 여행지 추천 결과를 생성하도록 구성될 수 있다.The travel destination combination recommendation module, when the travel destination history frequency is less than a set reference frequency, applies a weight higher than that of the one or more second travel destinations to the recommendation results of the one or more first travel destinations to obtain a first travel destination recommendation result create; And when the travel destination history frequency is equal to or greater than the reference frequency, the second travel destination recommendation result may be generated by applying a weight equal to or less than the recommendation result of the one or more second travel destinations to the recommendation result of the one or more first travel destinations. .
상기 여행지 조합 추천 모듈은, 상기 제1 여행지와 상기 제2 여행지를 포함하는 추천 여행지들의 중심 위치를 구하고, 상기 중심 위치와 상기 추천 여행지들 간의 거리가 짧을수록 높은 가중치를 적용하여 상기 여행지 추천 결과를 생성하고; 그리고 상기 제1 사용자가 입력한 여행지 이동 수단, 각 여행지의 교통 수단 편의성 및 주차 관련 정보를 기반으로, 상기 여행지 추천 결과를 검증하여 상기 제1 사용자에게 여행지 조합을 추천하도록 구성될 수 있다.The travel destination combination recommendation module obtains central positions of recommended travel destinations including the first travel destination and the second travel destination, and applies a higher weight as the distance between the central location and the recommended travel destinations decreases to obtain the travel destination recommendation result create; And based on the travel destination transportation means input by the first user, transportation means convenience and parking-related information of each travel destination, the travel destination recommendation result may be verified to recommend a travel destination combination to the first user.
상기 여행지 조합 추천 모듈은, 각 추천 여행지에 평균적으로 머무르는 시간과 상기 추천 여행지들 간의 이동 경로에 소요되는 시간을 적용하여 여행 소요 시간을 산출하고, 상기 여행 소요 시간이 상기 여행 기간을 초과하는 경우 추천에서 배제하도록 구성될 수 있다.The travel destination combination recommendation module calculates a travel required time by applying an average staying time at each recommended travel destination and a time required for a moving route between the recommended travel destinations, and recommends when the travel required time exceeds the travel period may be configured to exclude.
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템은, 상기 제1 사용자가 선택한 여행지 조합에 따라 상기 제1 사용자가 각 여행지에 머무른 시간 및 여행지들 간의 이동에 소요된 시간을 피드백 받아 상기 여행지 조합 추천 모듈에 의한 여행지 추천에 반영하도록 구성되는 피드백 모듈을 더 포함할 수 있다.The hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention receives feedback of the time the first user stayed in each travel destination and the time taken for movement between the travel destinations according to the travel destination combination selected by the first user, and the travel destination It may further include a feedback module configured to be reflected in the travel destination recommendation by the combination recommendation module.
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 방법은, 여행지 속성 데이터 생성부에 의해, 다수의 여행지에 관련된 여행지 콘텐츠를 수집하고, 수집된 상기 여행지 콘텐츠로부터 여행지별 속성 데이터를 생성하는 단계; 데이터 입력부에 의해, 제1 사용자로부터, 하나의 여행지 또는 2 이상의 상이한 여행지의 시간 순서에 따른 여행지 조합을 포함하는 제1 여행지 이력과, 여행 기간 및 여행 속성을 포함하는 여행지 추천 요청 데이터를 입력받는 단계; 콘텐츠 필터링 추천 모듈에 의해, 상기 여행지 추천 요청 데이터와 상기 여행지별 속성 데이터 간의 유사도를 기반으로, 상기 다수의 여행지 중 하나 이상의 제1 여행지를 추천하는 단계; 협업 필터링 추천 모듈에 의해, 상기 제1 여행지 이력을 협업 필터링에 의해 다수의 제2 사용자의 제2 여행지 이력과 비교하고, 상기 제1 사용자와 관련도가 높은 제2 사용자의 여행지 이력으로부터 하나 이상의 제2 여행지를 추천하는 단계; 여행지 이력 빈도 산출 모듈에 의해, 상기 제1 여행지 이력에 포함된 여행지에 대해 각각 상기 다수의 제2 사용자의 제2 여행지 이력에 포함된 빈도인 여행지 이력 빈도를 산출하는 단계; 및 여행지 조합 추천 모듈에 의해, 상기 여행지 이력 빈도를 기반으로, 상기 하나 이상의 제1 여행지의 추천 결과와 상기 하나 이상의 제2 여행지의 추천 결과를 조합하여 상기 제1 사용자에게 여행지 추천 결과를 제공하는 단계를 포함한다.A hybrid filtering-based travel destination combination recommendation method according to an embodiment of the present invention includes, by a travel destination attribute data generator, collecting travel destination contents related to a plurality of travel destinations, and generating attribute data for each travel destination from the collected travel destination contents; Step of receiving, by the data input unit, from the first user, a first travel destination history including a travel destination combination according to time sequence of one travel destination or two or more different travel destinations, and travel destination recommendation request data including a travel period and travel attributes ; recommending, by a content filtering recommendation module, one or more first travel destinations among the plurality of travel destinations based on the similarity between the travel destination recommendation request data and the attribute data for each travel destination; By the collaborative filtering recommendation module, the first travel destination histories are compared with the second travel destination histories of a plurality of second users by the collaborative filtering, and one or more second destinations are selected from the travel destination histories of the second users having a high degree of relevance to the first user. 2 step of recommending a travel destination; calculating, by the travel destination history frequency calculation module, a travel destination history frequency that is a frequency included in the second travel destination histories of the plurality of second users for each travel destination included in the first travel destination history; and providing, by the travel destination combination recommendation module, a travel destination recommendation result to the first user by combining the recommendation result of the one or more first travel destinations and the recommendation result of the one or more second travel destinations based on the travel destination history frequency includes
상기 여행지 추천 결과를 제공하는 단계는, 상기 여행지 이력 빈도가 설정된 기준 빈도 미만인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 보다 높은 가중치를 적용하여 제1 여행지 추천 결과를 생성하는 단계; 및 상기 여행지 이력 빈도가 상기 기준 빈도 이상인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 이하의 가중치를 적용하여 제2 여행지 추천 결과를 생성하는 단계를 포함할 수 있다.The step of providing the travel destination recommendation result may include, when the travel destination history frequency is less than a set reference frequency, applying a weight higher than that of the one or more second travel destinations to the recommendation result of the one or more first travel destinations to obtain a first travel destination generating a recommendation result; and generating a second travel destination recommendation result by applying a weight equal to or less than the recommendation result of the one or more second travel destinations to the recommendation result of the one or more first travel destinations when the travel destination history frequency is equal to or greater than the reference frequency can
상기 여행지 추천 결과를 제공하는 단계는, 상기 제1 여행지와 상기 제2 여행지를 포함하는 추천 여행지들의 중심 위치를 구하고, 상기 중심 위치와 상기 추천 여행지들 간의 거리가 짧을수록 높은 가중치를 적용하여 상기 여행지 추천 결과를 생성하는 단계; 각 추천 여행지에 평균적으로 머무르는 시간과 상기 추천 여행지들 간의 이동 경로에 소요되는 시간을 적용하여 여행 소요 시간을 산출하고, 상기 여행 소요 시간이 상기 여행 기간을 초과하는 경우 추천에서 배제하는 단계; 및The step of providing the travel destination recommendation result includes obtaining central locations of recommended travel destinations including the first travel destination and the second travel destination, and applying a higher weight to the travel destination as the distance between the central location and the recommended travel destinations is shorter. generating a recommendation result; calculating a travel required time by applying an average staying time at each recommended travel destination and a time required for a movement route between the recommended travel destinations, and excluding the travel time from recommendation when the travel required time exceeds the travel period; and
상기 제1 사용자가 입력한 여행지 이동 수단, 각 여행지의 교통 수단 편의성 및 주차 관련 정보를 기반으로, 상기 여행지 추천 결과를 검증하여 상기 제1 사용자에게 여행지 조합을 추천하는 단계를 포함할 수 있다.The method may include recommending a travel destination combination to the first user by verifying the travel destination recommendation result based on the travel destination moving means input by the first user, transportation means convenience of each destination, and parking-related information.
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 방법은, 피드백 모듈에 의해, 상기 제1 사용자가 선택한 여행지 조합에 따라 상기 제1 사용자가 각 여행지에 머무른 시간 및 여행지들 간의 이동에 소요된 시간을 피드백 받아 상기 여행지 조합 추천 모듈에 의한 여행지 추천에 반영하는 단계를 더 포함할 수 있다.In the hybrid filtering-based travel destination combination recommendation method according to an embodiment of the present invention, the time the first user stayed in each travel destination and the time taken for movement between the travel destinations according to the travel destination combination selected by the first user by the feedback module The method may further include the step of receiving feedback and reflecting in the travel destination recommendation by the travel destination combination recommendation module.
본 발명의 실시예에 따르면, 상기 하이브리드 필터링 기반 여행지 조합 추천 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체가 제공된다.According to an embodiment of the present invention, there is provided a computer-readable recording medium in which a program for executing the hybrid filtering-based travel destination combination recommendation method is recorded.
본 발명의 실시예에 의하면, 콘텐츠 기반 필터링과 협업 필터링이 혼합된 하이브리드 필터링(Hybrid Filtering)에 의해 사용자에게 최적의 여행지 조합을 추천할 수 있는 하이브리드 필터링 기반 여행지 조합 추천 시스템 및 방법, 기록 매체가 제공된다.According to an embodiment of the present invention, there is provided a hybrid filtering-based travel destination combination recommendation system and method, and a recording medium that can recommend an optimal travel destination combination to a user by hybrid filtering in which content-based filtering and collaborative filtering are mixed do.
또한, 본 발명의 실시예에 의하면, 여행지에 평균적으로 머무르는 시간과 여행지들 간의 이동 경로에 소요되는 시간 및 이동 수단 등을 기반으로 사용자별 최적의 여행지 조합을 추천할 수 있는 하이브리드 필터링 기반 여행지 조합 추천 시스템 및 방법, 기록 매체가 제공된다.In addition, according to an embodiment of the present invention, a hybrid filtering-based travel destination combination recommendation that can recommend an optimal travel destination combination for each user based on an average staying time in a travel destination, a time required for a movement route between travel destinations, and a means of transportation A system, method, and recording medium are provided.
도 1은 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템의 구성도이다.
도 2 및 도 3은 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템을 구성하는 여행지 조합 추천 모듈의 여행지 추천 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 방법의 순서도이다.
도 5는 도 4의 단계 S170의 순서도이다.
도 6은 본 발명의 다른 실시예에 따른 여행지 조합 추천 방법의 순서도이다.
도 7은 본 발명의 또 다른 실시예에 따른 여행지 조합 추천 방법의 순서도이다.1 is a configuration diagram of a hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention.
2 and 3 are conceptual diagrams for explaining a travel destination recommendation method of a travel destination combination recommendation module constituting a hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention.
4 is a flowchart of a hybrid filtering-based travel destination combination recommendation method according to an embodiment of the present invention.
5 is a flowchart of step S170 of FIG. 4 .
6 is a flowchart of a travel destination combination recommendation method according to another embodiment of the present invention.
7 is a flowchart of a travel destination combination recommendation method according to another embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.
본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 본 명세서에서 사용되는 '~부, ~모듈'은 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 하드웨어 구성요소를 의미할 수 있다. '~부, ~모듈'에서 제공하는 기능은 복수의 구성요소에 의해 분리되어 수행되거나, 다른 추가적인 구성요소와 통합될 수도 있다. 본 명세서의 '~부, ~모듈'은 반드시 소프트웨어 또는 하드웨어에 한정되지 않으며, 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 이하에서는 도면을 참조하여 본 발명의 실시예에 대해서 구체적으로 설명하기로 한다.In the present specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. As used herein, '~ unit, ~ module' is a unit that processes at least one function or operation, and may refer to, for example, software, FPGA, or hardware component. The functions provided by '~ unit, ~ module' may be performed separately by a plurality of components, or may be integrated with other additional components. 'Part, ~ module' in this specification is not necessarily limited to software or hardware, and may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템은 콘텐츠 기반 필터링(Contents based Filtering)과 협업 필터링(Collaborative Filtering)이 혼합된 하이브리드 필터링(Hybrid Filtering)에 의해 사용자에게 최적의 여행지 조합을 추천하는 여행지 조합 추천 서버로 제공될 수 있다.The hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention recommends an optimal travel destination combination to the user by hybrid filtering in which content-based filtering and collaborative filtering are mixed. It may be provided as a travel destination combination recommendation server.
도 1은 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템의 구성도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템(100)은 유/무선 통신 인터페이스를 구비한 네트워크를 통해 사용자 단말기에 여행지 추천 정보를 제공하는 서버에 제공될 수 있다.1 is a block diagram of a hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention. Referring to FIG. 1 , a hybrid filtering-based travel destination
유/무선 통신 인터페이스는 예를 들어, LAN(Local Area Network), ISDN(Integrated Services Digital Network), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile communication), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), Wireless LAN(Local Area Network), WAN(Wide Area Network), WIFI(Wireless Fidelity) 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.Wired / wireless communication interface, for example, LAN (Local Area Network), ISDN (Integrated Services Digital Network), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), GSM (Global System for Mobile communication) , Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wireless Local Area Network (LAN), Wide Area Network (WAN), Wireless Fidelity (WIFI), and the like, but is not limited thereto.
또한, 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템(100)은 사용자 단말기에 다운로드될 수 있는 어플리케이션 형태로 제공될 수 있다. 사용자 단말기는 사용자가 사용하는 단말기로서, 예를 들어 스마트폰, 스마트패드, 태블릿 PC, 노트북, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터 등으로 구현될 수 있으나, 이에 제한되는 것은 아니다.In addition, the hybrid filtering-based travel destination
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템(100)은 여행지 속성 데이터 생성부(110), 데이터 입력부(120), 콘텐츠 필터링 추천 모듈(130), 협업 필터링 추천 모듈(140), 여행지 이력 빈도 산출 모듈(150), 여행지 조합 추천 모듈(160), 피드백 모듈(170) 및 데이터베이스(180)를 포함한다.The hybrid filtering-based travel destination
여행지 속성 데이터 생성부(110)는 다수의 여행지에 관련된 여행지 콘텐츠를 수집하고, 수집된 여행지 콘텐츠로부터 여행지별 속성 데이터를 생성할 수 있다. 여행지는 예를 들어, GPS 좌표를 가지고 있는 특정 지역일 수 있다.The travel destination
여행지 콘텐츠는 예를 들어, 여행 또는 여행지 관련 키워드를 기반으로 웹 크롤러(Web Crawler)에 의해 검색되어 수집되거나, 사용자 단말기 또는 서버 관리 단말기 또는 관리자의 단말기 등에 의해 입력될 수 있다.The travel destination content may be searched and collected by a web crawler based on, for example, travel or travel destination related keywords, or may be input by a user terminal, a server management terminal, or an administrator's terminal.
여행지 콘텐츠는 예를 들어, 여행지 관련 블로그나 페이스북(facebook), 인스타그램(instagram), 트위터(twitter) 등의 소셜네트워크서비스(Social Network Service)의 텍스트 데이터, 각종 여행지 관련 리뷰 데이터, 댓글 등을 포함할 수 있다. 여행지 속성 데이터 생성부(110)에 의해 여행지별로 생성된 속성 데이터는 데이터베이스(180)에 저장될 수 있다.Travel destination contents include, for example, travel destination related blogs, text data from social network services such as Facebook, Instagram, and Twitter, review data related to various destinations, comments, etc. may include Attribute data generated for each travel destination by the travel destination
여행지 속성 데이터 생성부(110)는 여행지에 관련된 설명 데이터를 자연어 처리하여 여행지 관련 속성 키워드 추출을 통해 여행지에 관한 속성 데이터를 생성할 수 있다.The travel destination attribute
여행지 속성 데이터 생성부(110)는 여행지 콘텐츠에 포함된 텍스트 데이터에 대해 형태소 분석, 전처리(불용어 제거, 어근 추출 등) 등의 전처리를 수행하여 여행지별 속성 데이터를 생성할 수 있다.The travel destination
여행지 속성 데이터 생성부(110)는 여행지에 관한 블로그 텍스트 데이터, 리뷰 데이터, 댓글 등에서 수집한 여행지 관련 콘텐츠에서 텍스트 데이터를 자연어 처리하여 여행지 속성 단어 집합(word-set) 형태의 속성 데이터를 생성할 수 있다.The travel destination attribute
속성 데이터는 각 여행지가 가지는 고유 속성을 나타내는 단어로 정의될 수 있으며, 예를 들면, 지역 위치, 관광 명소, 공원, 해수욕장, 호수, 놀이공원, 워터파크, 스키장, 박물관, 미술관, 영화관, 맛집, 카페, 액티비티 등과 같은, 여행지 콘텐츠에서 수집된 다양한 속성 단어로 정의될 수 있다.Attribute data may be defined as words representing unique attributes of each travel destination, for example, local location, tourist attraction, park, beach, lake, amusement park, water park, ski resort, museum, art gallery, movie theater, restaurant, It may be defined as various attribute words collected from travel destination contents, such as cafes and activities.
데이터 입력부(120)는 여행지 추천을 원하는 제1 사용자로부터, 하나의 여행지 또는 2 이상의 상이한 여행지의 시간 순서에 따른 여행지 조합을 포함하는 제1 여행지 이력과, 여행 기간 및 여행 속성(예를 들어, 가족 여행, 여행자 연령대, 액티비티/휴양/관광 선호도 등)을 포함하는 여행지 추천 요청 데이터를 입력받을 수 있다.The
여행지 조합은 특정 반경 내에서 지정한 기간 범위 내에 사용자가 방문 및 이동이 가능한 시간에 따른 순서를 가지는 여행지들의 조합일 수 있다. 여행지 조합은 각 여행지와 인접한 여행지들 간의 이동 경로로 구성될 수 있다.The travel destination combination may be a combination of travel destinations in an order according to time that a user can visit and move within a specified period within a specific radius. The travel destination combination may consist of a movement route between each travel destination and adjacent destinations.
실시예에서, 데이터 입력부(120)는 제1 사용자로부터 제1 여행지가 입력되면 다수의 여행지 중 제1 여행지와의 거리를 기반으로 설정된 영역 내에서 여행 기간 내에 방문 가능한 하나 이상의 여행지를 선택하여 제1 사용자에게 제1 여행지에 후속하는 제2 여행지로 입력할 수 있도록 하는 사용자 인터페이스를 제공할 수도 있다.In an embodiment, when a first travel destination is input from the first user, the
콘텐츠 필터링 추천 모듈(130)은 사용자의 여행지 추천 요청 데이터와 여행지별 속성 데이터 간의 유사도를 기반으로, 콘텐츠 기반 필터링(Contents based Filtering)에 의해 다수의 여행지 중 제1 사용자가 입력한 여행지 추천 요청 데이터와 유사한 속성을 가진 하나 이상의 제1 여행지를 추천할 수 있다.The content
사용자의 여행지 추천 요청 데이터와 여행지별 속성 데이터 간의 유사도는 예를 들어 코사인 유사도(Cosine Similarity), 유클리디언 거리(Euclidean Distance), 맨해튼 거리(Manhattan Distance), 민코스키 거리(Minkowski Distance) 등을 기반으로 산출될 수 있으나, 이에 제한되는 것은 아니다.The similarity between the user's destination recommendation request data and the attribute data for each destination is, for example, based on Cosine Similarity, Euclidean Distance, Manhattan Distance, Minkowski Distance, etc. may be calculated, but is not limited thereto.
협업 필터링 추천 모듈(140)은 협업 필터링(Collaborative Filtering)을 기반으로 제1 사용자에 의해 입력된 제1 여행지 이력을 다수의 제2 사용자의 제2 여행지 이력과 비교하고, 제1 사용자와 관련도가 높은 제2 사용자의 여행지 이력으로부터 하나 이상의 제2 여행지를 추천할 수 있다.The collaborative
이때 제2 사용자는 제1 사용자와 다른 사용자 또는 사용자들일 수 있다. 협업 필터링 추천 모듈(140)은 특정 여행지 조합의 여행 경로를 선호하는 사람들이 방문한 이력을 이용하여 협업 필터링에 의해 사용자에게 제2 여행지를 추천할 수 있다.In this case, the second user may be a user or users different from the first user. The collaborative
따라서, 협업 필터링 추천 모듈(140)에 의해, 비슷한 여행 취향 혹은 유사한 여행 경로를 선호하는 사용자들 상호 간에 아직 방문하지 않은 여행지를 추천하거나, 분류된 여행 경로의 속성이나 테마 등에 따라 관련 여행지 경로를 추천할 수 있다.Therefore, by the collaborative
협업 필터링 추천 모듈(140)은 사용자가 선택 중인 혹은 선택한 여행지 조합의 속성 벡터를 생성하고, 협업 필터링 알고리즘을 통해 속성이 유사한 여행지 조합을 추출하여, 추출된 여행지 조합 중 사용자가 선택하지 않은 여행지 혹은 그 조합을 추출함으로써, 사용자에게 여행지를 추천할 수 있다.The collaborative
여기서, 여행지 조합의 속성 벡터는 사용자가 관심을 가지는 것으로 입력한 여행지들을 여행 순서에 따라 나열한 벡터 또는 여행지들 각각의 속성을 나열한 벡터일 수 있다.Here, the attribute vector of the travel destination combination may be a vector listing the travel destinations input by the user as being of interest in the order of travel or a vector listing the properties of each of the travel destinations.
예를 들어, 사용자 A가 선택한 여행지 조합이 "여행지 A1 -> 여행지 A2 -> 여행지 A3" 이고, 사용자 B의 여행지 이력이 "여행지 A2 -> 여행지 A3 -> 여행지 A4" 이며, 사용자 A와 사용자 B의 여행 취향이 유사하면, 사용자 A에게 사용자 B의 여행 이력을 고려하여 새로운 여행지 조합을 추천할 수 있다.For example, the combination of travel destinations selected by user A is "Travel A1 -> Destination A2 -> Destination A3", User B's travel history is "Travel A2 -> Destination A3 -> Destination A4", User A and User B If the travel tastes are similar, a new travel destination combination may be recommended to the user A in consideration of the user B's travel history.
구체적으로 위의 예에서는, 사용자 A에게는 사용자 B의 여행 이력을 고려하여 "여행지 A1 -> 여행지 A2 -> 여행지 A4" 또는 "여행지 A1 -> 여행지 A3 -> 여행지 A4" 또는 "여행지 A2 -> 여행지 A3 -> 여행지 A4" 또는 "여행지 A1 -> 여행지 A2 -> 여행지 A3 -> 여행지 A4" 등의 새로운 여행지 조합을 추천할 수 있다.Specifically, in the above example, for user A, taking user B's travel history into consideration, "Travel A1 -> Destination A2 -> Destination A4" or "Travel A1 -> Destination A3 -> Destination A4" or "Travel A2 -> Destination A4" A new travel destination combination can be recommended, such as A3 -> Destination A4" or "Location A1 -> Destination A2 -> Destination A3 -> Destination A4".
또한, 사용자 B에게는 사용자 A의 여행 이력을 고려하여 "여행지 A1 -> 여행지 A3 -> 여행지 A4" 또는 "여행지 A1 -> 여행지 A2 -> 여행지 A3" 또는 "여행지 A1 -> 여행지 A2 -> 여행지 A4" 또는 "여행지 A1 -> 여행지 A2 -> 여행지 A3 -> 여행지 A4" 등의 새로운 여행지 조합을 추천할 수 있다.In addition, for user B, in consideration of user A's travel history, "Travel A1 -> Destination A3 -> Destination A4" or "Travel A1 -> Destination A2 -> Destination A3" or "Travel A1 -> Destination A2 -> Destination A4" " or "Location A1 -> Destination A2 -> Destination A3 -> Destination A4".
협업 필터링 추천 모듈(140)은 사용자가 입력한 여행지 조합의 속성 벡터와 유사한 속성 벡터를 가지는 타 사용자를 선정하고, 선정된 타 사용자의 속성 벡터 중 사용자가 입력하지 않은 여행지를 파악하여 사용자에게 추천할 수 있다.The collaborative
콘텐츠 기반 필터링은 사용자가 입력한 여행 관련 정보와 여행지 간의 유사성을 기초로 여행지를 추천하는 방식이므로, 사용자의 여행 취향과 유사한 타 사용자의 여행 이력을 기반으로 새로운 여행지 조합을 추천하지 못하는 한계를 가진다.Since content-based filtering is a method of recommending a travel destination based on the similarity between travel-related information input by a user and a travel destination, it has a limitation in not recommending a new travel destination combination based on the travel history of other users similar to the user's travel taste.
협업 필터링은 사용자의 여행 취향과 유사한 타 사용자의 여행 이력을 기반으로 사용자에게 여행지 조합을 추천할 수 있으나, 수집된 여행 관련 데이터를 근간으로 추천을 하므로 서비스 초기에는 데이터의 부족으로 인하여 추천이 적절하게 진행되지 않을 수 있다.Collaborative filtering can recommend a combination of travel destinations to the user based on the travel history of other users similar to the user's travel taste, but recommends based on the collected travel-related data. may not proceed.
또한, 협업 필터링에만 의존하여 여행지를 추천할 경우에는 한번도 어느 사용자에게도 선택되지 않은 여행 지역 혹은 여행지 조합은 영원히 사용자에게 추천되지 않을 수도 있다.In addition, in the case of recommending travel destinations based only on collaborative filtering, a travel area or combination of travel destinations that have never been selected by any user may not be recommended to the user forever.
본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템은 이러한 콘텐츠 기반 필터링과 협업 필터링의 장점들을 모두 활용하면서 각 필터링 기법이 가지는 문제점을 보완하기 위해 여행지 이력 빈도 산출 모듈(150)과 여행지 조합 추천 모듈(160)을 구비한다.The hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention utilizes all the advantages of such content-based filtering and collaborative filtering and recommends a travel destination history
여행지 이력 빈도 산출 모듈(150)은 콘텐츠 필터링 추천 모듈(130)에 의해 추천된 제1 여행지 이력에 포함된 여행지에 대해 각각 다수의 제2 사용자의 제2 여행지 이력에 포함된 빈도인 여행지 이력 빈도를 산출할 수 있다.The travel destination history
여행지 조합 추천 모듈(160)은 여행지 이력 빈도를 기반으로, 하나 이상의 제1 여행지의 추천 결과와 하나 이상의 제2 여행지의 추천 결과를 조합하여 제1 사용자에게 여행지 추천 결과를 제공할 수 있다.The travel destination
이에 따라, 여행지 조합 추천 모듈(160)은 콘텐츠 기반 필터링의 여행지 추출 결과와 협업 필터링의 여행지 추출 결과 중 사용자에게 선호도가 더 높을 것으로 예상되는 여행지 조합을 사용자에게 추천할 수 있다.Accordingly, the travel destination
여행지 조합 추천 모듈(160)은 여행지 이력 빈도 산출 모듈(150)에 의해 산출된 여행지 이력 빈도가 설정된 기준 빈도 미만인 경우, 콘텐츠 필터링 추천 모듈(130)에 의해 추천된 하나 이상의 제1 여행지의 추천 결과에 대해 협업 필터링 추천 모듈(140)에 의해 추천된 하나 이상의 제2 여행지의 추천 결과 보다 높은 가중치를 적용하여 제1 여행지 추천 결과를 생성할 수 있다.When the travel destination history frequency calculated by the travel destination history
여행지 조합 추천 모듈(160)은 여행지 이력 빈도가 기준 빈도 이상인 경우, 콘텐츠 필터링 추천 모듈(130)에 의해 추천된 제1 여행지의 추천 결과에 대해 협업 필터링 추천 모듈(140)에 의해 추천된 제2 여행지의 추천 결과 이하의 가중치를 적용하여 제2 여행지 추천 결과를 생성할 수 있다.When the travel destination history frequency is equal to or greater than the reference frequency, the travel destination
예를 들어, 여행지 조합 추천 모듈(160)은 콘텐츠 필터링 추천 모듈(130)에 의해 추천된 여행지 A 및 여행지 B에 각각 여행지 이력 빈도에 따라 산출되는 제1 가중치를 적용하여 여행지 A 및 여행지 B의 여행지 추천 적합도를 산출하고, 협업 필터링 추천 모듈(140)에 의해 추천된 여행지 B 및 여행지 C에 각각 여행지 이력 빈도에 따라 산출되는 제2 가중치를 적용하여 여행지 B 및 여행지 C의 여행지 추천 적합도를 산출할 수 있다.For example, the travel destination
여행지 조합 추천 모듈(160)은 이와 같이 가중치를 적용하여 산출된 여행지 추천 적합도를 비교하여 여행지 추천 적합도 순으로 하나 이상의 여행지를 선정하고, 하나 이상의 여행지 간의 최적의 여행지 동선을 고려하여 여행 순서를 반영한 여행지 조합을 추천할 수 있다.The travel destination
도 2 및 도 3은 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 시스템을 구성하는 여행지 조합 추천 모듈의 여행지 추천 방법을 설명하기 위한 개념도이다.2 and 3 are conceptual diagrams for explaining a travel destination recommendation method of a travel destination combination recommendation module constituting a hybrid filtering-based travel destination combination recommendation system according to an embodiment of the present invention.
도 1 및 도 2를 참조하면, 여행지 조합 추천 모듈(160)은 제1 여행지와 제2 여행지를 포함하는 추천 여행지들의 중심 위치(C)를 구하고, 해당 추천 여행지들의 중심 위치와 추천 여행지들 간의 거리(D1, D2, D3, D4)가 짧을수록 높은 가중치(추천 결과값)를 적용하여 여행지 추천 결과를 생성할 수 있다.1 and 2 , the travel destination
즉, 여행지 조합 추천 모듈(160)은 여행지 이력 빈도 산출 모듈(150)에 의해 산출된 여행지 이력 빈도와 함께, 여행지들의 중심 위치와 각 여행지 간의 거리(D1, D2, D3, D4)가 반영된 가중치를 산출하여 각 여행지 및 여행지 조합의 추천 적합도를 산출할 수 있다.That is, the travel destination
도 1 및 도 3을 참조하면, 여행지 조합 추천 모듈(160)은 각 추천 여행지(L1, L2, L3, L4)에 평균적으로 머무르는 시간과 추천 여행지들 간의 이동 경로(P1, P2, P3)에 소요되는 시간을 적용하여 여행 소요 시간을 산출하고, 여행 소요 시간이 여행 기간을 초과하는 경우 추천에서 배제할 수 있다. 여행지 조합 추천 모듈(160)은 하기 수식 1에 따라 여행지 조합의 추천 배제 여부를 판단할 수 있다.Referring to FIGS. 1 and 3 , the travel destination
[수식 1][Formula 1]
수식 1에서, 는 여행지에 머무르는 시간, 는 이동에 소요되는 최대 시간, n은 여행지 조합에 포함된 각 여행지의 순번, k는 여행지 또는 이동 경로를 나타내는 변수이다.In Equation 1, is the time spent in the destination, is the maximum time required for movement, n is the sequence number of each travel destination included in the travel destination combination, and k is a variable representing a travel destination or a moving route.
즉, 여행지 조합 추천 모듈(160)은 가중치가 적용된 결과 중 각 여행지에 평균적으로 머무르는 시각을 적용하여 추천 대상 여행지가 조합에 추가될 경우에, 사용자가 입력한 여행 기간에 해당하는 임계 값인 여행 소요 시간을 초과할 경우 여행지 추천에서 배제할 수 있다.That is, the travel destination
또한, 여행지 조합 추천 모듈(160)은 사용자가 입력한 여행지들 간의 이동 수단(자동차, 기차, 비행기, 버스, 지하철, 택시, 렌트카 등), 각 여행지의 교통 수단 편의성, 주차 관련 정보(주차장 구비 여부, 주차 비용 등)를 기반으로, 사용자에게 여행지 조합을 추천할 수 있다.In addition, the travel destination
여행지의 교통 수단 편의성, 주차 관련 정보는 웹 크롤러에 의해 해당 여행지에 관한 컨텐츠 데이터로부터 교통 수단에 해당하는 단어를 추출하여 분석할 수 있다. 만약 사용자가 입력한 이동 수단이 자동차 또는 렌트카이고 여행지에 주차장이 부족한 경우, 여행지 조합 추천 모듈(160)은 해당 여행지의 추천을 배제하거나 추천 순위를 하향 조정할 수 있다.Convenience of transportation means and parking related information of a travel destination can be analyzed by extracting a word corresponding to a transportation method from content data about the destination by a web crawler. If the moving means input by the user is a car or a rental car and there is not enough parking in the travel destination, the travel destination
다른 예로, 사용자가 입력한 이동 수단이 버스인 반면, 여행지에 버스가 지나가지 않으며 택시를 잡기도 어려운 지역인 경우, 해당 여행지의 추천을 배제하거나 추천 순위를 하향 조정하고, 버스를 통해 접근이 용이한 다른 여행지의 추천 우선 순위를 상향 조정할 수 있다.As another example, if the means of transportation entered by the user is a bus, but in an area where the bus does not pass and it is difficult to catch a taxi to the travel destination, the recommendation of the destination is excluded or the recommendation ranking is downgraded, and access is easy through the bus You can raise the recommendation priority of one other travel destination.
피드백 모듈(170)은 제1 사용자가 최종 선택한 여행지 조합에 따라 제1 사용자가 각 여행지에 머무른 시간 및 여행지들 간의 이동에 소요된 시간을 피드백 받아 여행지 조합 추천 모듈(160)에 의한 여행지 추천에 반영할 수 있다.The
피드백 모듈(170)은 사용자가 선택한 최종 조합을 신규 조합으로 생성하여 여행지 조합 이력 데이터로 추가할 수 있다. 또한, 피드백 모듈(170)은 추천된 결과에 대한 평가를 통해 선호되는 신규 여행지 조합을 피드백 데이터로 추가할 수 있다.The
데이터베이스(180)는 여행지 속성 데이터 생성부(110)에 의해 생성된 여행지별 속성 데이터, 피드백 모듈(170)에 의해 생성된 사용자의 피드백 데이터 등을 저장할 수 있으며, 저장된 여행 관련 데이터는 이후에 사용자의 여행지 추천에 활용될 수 있다.The
본 발명의 실시예에 의하면, 여행지 속성에 따른 콘텐츠 기반 필터링과 여행지 조합 이력에 따른 협업 필터링을 혼합한 하이브리드 필터링을 기반으로 여행지 조합을 추천하여, 여행지 관련 데이터가 부족한 상황에서는 콘텐츠 기반 필터링에 좀 더 높은 비중을 둔 결과 값을 도출할 수 있다.According to an embodiment of the present invention, a travel destination combination is recommended based on hybrid filtering that mixes content-based filtering according to travel destination attributes and collaborative filtering according to travel destination combination history, so that in a situation where travel destination-related data is insufficient, content-based filtering is more It is possible to derive the result value with high weight.
또한, 본 발명의 실시예에 의하면, 연속된 여행지들의 조합(여행지 이력)을 추천할 수 있으며, 한번도 선택되지 않은 여행지 조합 역시 콘텐츠 기반 필터링에 의해서 보정된 결과 값을 도출하여 여행지에 관한 초기 데이터가 부족할 때 콘텐츠의 속성을 기반으로 사용자에게 적합한 여행지 추천이 가능하다.In addition, according to an embodiment of the present invention, it is possible to recommend a combination of consecutive travel destinations (travel destination history), and the combination of destinations that have never been selected also derives a corrected result value by content-based filtering, so that the initial data about the destination is When there is not enough, it is possible to recommend a suitable destination for the user based on the properties of the content.
또한, 본 발명의 실시예에 의하면, 여행지 동선과 여행지들 간의 이동 수단 및 여행지 동선에 따른 여행 소요 시간 등을 고려하여 여행지 조합을 추천하여 사용자별 여행 기간을 고려하여 최적의 여행지 조합을 추천할 수 있다.In addition, according to an embodiment of the present invention, it is possible to recommend a travel destination combination in consideration of the travel route and the travel means between the travel destinations and the travel required time according to the travel route to recommend an optimal travel destination combination in consideration of the travel period for each user. have.
도 4는 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 방법의 순서도이다. 도 1 및 도 4를 참조하면, 본 발명의 실시예에 따른 하이브리드 필터링 기반 여행지 조합 추천 방법은 콘텐츠 기반 필터링과 협업 필터링이 혼합된 하이브리드 필터링에 의해 사용자에게 최적의 여행지 조합을 추천한다.4 is a flowchart of a hybrid filtering-based travel destination combination recommendation method according to an embodiment of the present invention. 1 and 4 , the hybrid filtering-based travel destination combination recommendation method according to an embodiment of the present invention recommends an optimal travel destination combination to a user by hybrid filtering in which content-based filtering and collaborative filtering are mixed.
먼저, 여행지 속성 데이터 생성부(110)는 다수의 여행지에 관련된 여행지 콘텐츠를 수집하고, 수집된 여행지 콘텐츠로부터 여행지별 속성 데이터를 생성할 수 있다(S110, S120).First, the travel destination attribute
여행지 속성 데이터 생성부(110)는 여행지에 관련된 설명 데이터를 자연어 처리하여 여행지 관련 속성 키워드 추출에 의해 여행지에 관한 속성 데이터를 생성할 수 있다.The travel destination attribute
데이터 입력부(120)는 제1 사용자로부터, 하나의 여행지 또는 2 이상의 상이한 여행지의 시간 순서에 따른 여행지 조합을 포함하는 제1 여행지 이력과, 여행 기간 및 여행 속성을 포함하는 여행지 추천 요청 데이터를 입력받을 수 있다(S130).The
여행지 조합은 특정 반경 내에서 지정한 기간 범위 내에 사용자가 방문 및 이동이 가능한 시간에 따른 순서를 가지는 여행지들의 조합일 수 있다. 여행지 조합은 각 여행지와 인접한 여행지들 간의 이동 경로로 구성될 수 있다.The travel destination combination may be a combination of travel destinations in an order according to time that a user can visit and move within a specified period within a specific radius. The travel destination combination may consist of a movement route between each travel destination and adjacent destinations.
실시예에서, 데이터 입력부(120)는 제1 사용자로부터 제1 여행지가 입력되면 다수의 여행지 중 제1 여행지와의 거리를 기반으로 설정된 영역 내에서 여행 기간 내에 방문 가능한 하나 이상의 여행지를 결정하여 제1 사용자에게 제1 여행지에 후속하는 제2 여행지의 선택 후보로 선정할 수 있다.In an embodiment, when a first travel destination is input from the first user, the
콘텐츠 필터링 추천 모듈(130)은 여행지 추천 요청 데이터와 여행지별 속성 데이터 간의 유사도를 기반으로, 다수의 여행지 중 하나 이상의 제1 여행지를 추천할 수 있다(S140).The content
콘텐츠 필터링 추천 모듈(130)은 여행지 관련 콘텐츠의 속성에 근거하여 유사한 속성을 가진 컨텐츠를 추출하는 콘텐츠 기반 필터링에 의해 제1 여행지를 추천할 수 있다.The content
협업 필터링 추천 모듈(140)은 제1 여행지 이력을 협업 필터링에 의해 다수의 제2 사용자의 제2 여행지 이력과 비교하고, 제1 사용자와 관련도가 높은 제2 사용자의 여행지 이력으로부터 하나 이상의 제2 여행지를 추천할 수 있다(S150).The collaborative
협업 필터링 추천 모듈(140)은 특정 여행지 조합의 여행 경로를 선호하는 사람들이 방문한 이력을 이용하여 협업 필터링에 의해 사용자에게 제2 여행지를 추천할 수 있다.The collaborative
협업 필터링 추천 모듈(140)은 비슷한 취향 혹은 유사한 경로를 선호하는 사용자들에게 서로 아직 방문하지 않은 여행지를 추천하거나 분류된 경로의 속성이나 테마 등에 따라 관련 여행지 경로를 추천할 수 있다.The collaborative
협업 필터링 추천 모듈(140)은 사용자가 선택 중인 혹은 선택한 여행지 조합의 속성 벡터를 생성하고, 협업 필터링 알고리즘을 통해 속성이 유사한 여행지 조합을 추출하여, 추출된 여행지 조합 중 사용자가 선택하지 않은 여행지 혹은 그 조합을 추출함으로써, 사용자에게 여행지를 추천할 수 있다.The collaborative
여행지 이력 빈도 산출 모듈(150)은 제1 여행지 이력에 포함된 여행지에 대해 각각 다수의 제2 사용자의 제2 여행지 이력에 포함된 빈도인 여행지 이력 빈도를 산출할 수 있다(S160).The travel destination history
여행지 조합 추천 모듈(160)은 여행지 이력 빈도를 기반으로, 하나 이상의 제1 여행지의 추천 결과와 하나 이상의 제2 여행지의 추천 결과를 조합하여 제1 사용자에게 여행지 추천 결과를 제공할 수 있다(S170).The travel destination
여행지 조합 추천 모듈(160)은 콘텐츠 기반 필터링의 여행지 추출 결과와 협업 필터링의 여행지 추출 결과 중 선호도가 더 높은 결과를 사용자에게 추천할 수 있다.The travel destination
도 5는 도 4의 단계 S170의 순서도이다. 도 1 내지 도 3을 참조하면, 여행지 조합 추천 모듈(160)은 여행지 이력 빈도가 설정된 기준 빈도 미만인 경우, 하나 이상의 제1 여행지의 추천 결과에 대해 하나 이상의 제2 여행지의 추천 결과 보다 높은 가중치를 적용하여 제1 여행지 추천 결과를 생성할 수 있다(S172, S174).5 is a flowchart of step S170 of FIG. 4 . 1 to 3 , the travel destination
여행지 조합 추천 모듈(160)은 여행지 이력 빈도가 기준 빈도 이상인 경우, 하나 이상의 제1 여행지의 추천 결과에 대해 하나 이상의 제2 여행지의 추천 결과 이하의 가중치를 적용하여 제2 여행지 추천 결과를 생성할 수 있다(S172, S176).When the travel destination history frequency is equal to or greater than the reference frequency, the travel destination
도 6은 본 발명의 다른 실시예에 따른 여행지 조합 추천 방법의 순서도이다. 도 1, 도 4 및 도 6을 참조하면, 여행지 조합 추천 모듈(160)은 제1 여행지와 제2 여행지를 포함하는 추천 여행지들의 중심 위치를 구하고, 해당 추천 여행지들의 중심 위치와 추천 여행지들 간의 거리가 짧을수록 높은 가중치(추천 결과값)를 적용하여 여행지 추천 결과를 생성할 수 있다(S182, S184).6 is a flowchart of a travel destination combination recommendation method according to another embodiment of the present invention. 1, 4 and 6 , the travel destination
여행지 조합 추천 모듈(160)은 각 추천 여행지에 평균적으로 머무르는 시간과 추천 여행지들 간의 이동 경로에 소요되는 시간을 적용하여 여행 소요 시간을 산출하고, 여행 소요 시간이 여행 기간을 초과하는 경우 추천에서 배제할 수 있다(S186, S188).The travel destination
즉, 여행지 조합 추천 모듈(160)은 가중치가 적용된 결과 중 각 여행지에 평균적으로 머무르는 시각을 적용하여 추천 대상 여행지가 조합에 추가될 경우에 임계 값인 "총 여행 소요 시간"을 초과할 경우에는 여행지 추천에서 배제할 수 있다.That is, the travel destination
다시 도 1 및 도 4를 참조하면, 피드백 모듈(170)은 제1 사용자가 선택한 여행지 조합에 따라 제1 사용자가 각 여행지에 머무른 시간 및 여행지들 간의 이동에 소요된 시간을 피드백 받아 여행지 조합 추천 모듈(160)에 의한 여행지 추천에 반영할 수 있다(S180).Referring back to FIGS. 1 and 4 , the
피드백 모듈(170)은 사용자가 선택한 최종 조합을 신규 조합으로 생성하여 여행지 조합 이력 데이터로 추가할 수 있다. 또한, 피드백 모듈(170)은 추천된 결과에 대한 평가를 통해 선호되는 신규 여행지 조합을 피드백 데이터로 추가할 수 있다.The
도 7은 본 발명의 또 다른 실시예에 따른 여행지 조합 추천 방법의 순서도이다. 도 1 및 도 7을 참조하면, 여행지 조합 추천 모듈(160)은 각 여행지의 교통 수단 편의성, 주차 관련 정보(주차장 구비 여부, 주차 비용 등)를 분석하고(S192), 사용자가 입력한 여행지들 간의 이동 수단(자동차, 기차, 비행기, 버스, 지하철, 택시, 렌트카 등), 각 여행지의 교통 수단 편의성, 주차 관련 정보(주차장 구비 여부, 주차 비용 등)를 기반으로, 사용자에게 여행지 추천 결과를 검증하여 여행지 조합을 추천할 수 있다(S194).7 is a flowchart of a travel destination combination recommendation method according to another embodiment of the present invention. Referring to FIGS. 1 and 7 , the travel destination
상술한 본 발명의 실시예에 의하면, 여행지 속성에 따른 콘텐츠 기반 필터링과 여행지 조합 이력에 따른 협업 필터링을 혼합하여 여행지 관련 데이터가 부족한 상황에서는 콘텐츠 기반 필터링에 좀더 높은 비중을 둔 결과 값을 도출할 수 있다.According to the above-described embodiment of the present invention, by mixing content-based filtering according to travel destination properties and collaborative filtering according to travel destination combination history, in a situation where travel destination-related data is insufficient, a result value with higher weight on content-based filtering can be derived. have.
또한, 본 발명의 실시예에 의하면, 연속된 여행지들의 조합(여행지 이력)을 추천할 수 있으며, 한번도 선택되지 않은 여행지 조합 역시 콘텐츠 기반 필터링에 의해서 보정된 결과 값을 도출하여 여행지에 관한 초기 데이터가 부족할 때 콘텐츠의 속성을 기반으로 여행지 추천이 가능하다.In addition, according to an embodiment of the present invention, it is possible to recommend a combination of consecutive travel destinations (travel destination history), and the combination of destinations that have never been selected also derives a corrected result value by content-based filtering, so that the initial data about the destination is When there is not enough, it is possible to recommend a travel destination based on the properties of the content.
또한, 본 발명의 실시예에 의하면, 여행지 동선과 여행지들 간의 이동 수단 및 여행지 동선에 따른 여행 소요 시간 등을 고려하여 여행지 조합을 추천하여 사용자별 여행 기간을 고려하여 최적의 여행지 조합을 추천할 수 있다.In addition, according to an embodiment of the present invention, it is possible to recommend a travel destination combination in consideration of the travel route and the travel means between the travel destinations and the travel required time according to the travel route to recommend an optimal travel destination combination in consideration of the travel period for each user. have.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/ 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). Array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers.
처리 장치는 운영 체제 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리요소를 포함할 수 있음을 이해할 것이다.The processing device may run an operating system and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, a processing device is sometimes described as being used, but a person of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It will be understood that this may include
예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor) 와 같은, 다른 처리 구성(Processing configuration)도 가능하다. 소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a Parallel Processor. The software may include a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
소프트웨어 및/ 또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody) 될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CDROMs and DVDs, and ROM, RAM, and flash memory. Hardware devices specially configured to store and execute program instructions, such as, etc. are included. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
100: 하이브리드 필터링 기반 여행지 조합 추천 시스템
110: 여행지 속성 데이터 생성부
120: 데이터 입력부
130: 콘텐츠 필터링 추천 모듈
140: 협업 필터링 추천 모듈
150: 여행지 이력 빈도 산출 모듈
160: 여행지 조합 추천 모듈
170: 피드백 모듈
180: 데이터베이스100: Hybrid filtering-based travel destination combination recommendation system
110: travel destination attribute data generation unit
120: data input unit
130: content filtering recommendation module
140: collaborative filtering recommendation module
150: travel destination history frequency calculation module
160: travel destination combination recommendation module
170: feedback module
180: database
Claims (10)
제1 사용자로부터, 하나의 여행지 또는 2 이상의 상이한 여행지의 시간 순서에 따른 여행지 조합을 포함하는 제1 여행지 이력과, 여행 기간 및 여행 속성을 포함하는 여행지 추천 요청 데이터를 입력받도록 구성되는 데이터 입력부;
상기 여행지 추천 요청 데이터와 상기 여행지별 속성 데이터 간의 유사도를 기반으로, 상기 다수의 여행지 중 하나 이상의 제1 여행지를 추천하도록 구성되는 콘텐츠 필터링 추천 모듈;
상기 제1 여행지 이력을 협업 필터링에 의해 다수의 제2 사용자의 제2 여행지 이력과 비교하고, 상기 제1 사용자와 관련도가 높은 제2 사용자의 여행지 이력으로부터 하나 이상의 제2 여행지를 추천하도록 구성되는 협업 필터링 추천 모듈;
상기 제1 여행지 이력에 포함된 여행지에 대해 각각 상기 다수의 제2 사용자의 제2 여행지 이력에 포함된 빈도인 여행지 이력 빈도를 산출하도록 구성되는 여행지 이력 빈도 산출 모듈; 및
상기 여행지 이력 빈도를 기반으로, 상기 하나 이상의 제1 여행지의 추천 결과와 상기 하나 이상의 제2 여행지의 추천 결과를 조합하여 상기 제1 사용자에게 여행지 추천 결과를 제공하도록 구성되는 여행지 조합 추천 모듈을 포함하는,
하이브리드 필터링 기반 여행지 조합 추천 시스템.a travel destination attribute data generator configured to collect travel destination contents related to a plurality of travel destinations and generate attribute data for each travel destination from the collected travel destination contents;
a data input unit configured to receive, from the first user, a first travel destination history including a travel destination combination according to a time sequence of one travel destination or two or more different travel destinations, and travel destination recommendation request data including a travel period and travel attributes;
a content filtering recommendation module configured to recommend one or more first travel destinations among the plurality of travel destinations based on the similarity between the travel destination recommendation request data and the attribute data for each travel destination;
Comparing the first travel destination history with second travel destination histories of a plurality of second users by collaborative filtering, and recommending one or more second travel destinations from the travel destination histories of a second user with a high degree of relevance to the first user Collaborative filtering recommendation module;
a travel destination history frequency calculation module, configured to calculate a travel destination history frequency, which is a frequency included in second travel destination histories of the plurality of second users, for each travel destination included in the first travel destination history; and
A travel destination combination recommendation module configured to provide a travel destination recommendation result to the first user by combining a recommendation result of the one or more first travel destinations and a recommendation result of the one or more second travel destinations based on the travel destination history frequency ,
Hybrid filtering-based travel destination combination recommendation system.
상기 여행지 조합 추천 모듈은,
상기 여행지 이력 빈도가 설정된 기준 빈도 미만인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 보다 높은 가중치를 적용하여 제1 여행지 추천 결과를 생성하고; 그리고
상기 여행지 이력 빈도가 상기 기준 빈도 이상인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 이하의 가중치를 적용하여 제2 여행지 추천 결과를 생성하도록 구성되는,
하이브리드 필터링 기반 여행지 조합 추천 시스템.According to claim 1,
The travel destination combination recommendation module is,
if the travel destination history frequency is less than a set reference frequency, generate a first travel destination recommendation result by applying a higher weight to the recommendation result of the one or more first travel destinations than the recommendation result of the one or more second travel destinations; and
configured to generate a second travel destination recommendation result by applying a weight equal to or less than the recommendation result of the one or more second travel destinations to the recommendation result of the one or more first travel destinations when the travel destination history frequency is equal to or greater than the reference frequency,
Hybrid filtering-based travel destination combination recommendation system.
상기 여행지 조합 추천 모듈은,
상기 제1 여행지와 상기 제2 여행지를 포함하는 추천 여행지들의 중심 위치를 구하고, 상기 중심 위치와 상기 추천 여행지들 간의 거리가 짧을수록 높은 가중치를 적용하여 상기 여행지 추천 결과를 생성하고; 그리고
상기 제1 사용자가 입력한 여행지 이동 수단, 각 여행지의 교통 수단 편의성 및 주차 관련 정보를 기반으로, 상기 여행지 추천 결과를 검증하여 상기 제1 사용자에게 여행지 조합을 추천하도록 구성되는,
하이브리드 필터링 기반 여행지 조합 추천 시스템.According to claim 1,
The travel destination combination recommendation module is,
obtaining central locations of recommended travel destinations including the first travel destination and the second travel destination, and generating the travel destination recommendation result by applying a higher weight as the distance between the central location and the recommended travel destinations decreases; and
configured to recommend a travel destination combination to the first user by verifying the travel destination recommendation result based on the travel destination transportation means input by the first user, transportation means convenience of each travel destination, and parking-related information,
Hybrid filtering-based travel destination combination recommendation system.
상기 여행지 조합 추천 모듈은,
각 추천 여행지에 평균적으로 머무르는 시간과 상기 추천 여행지들 간의 이동 경로에 소요되는 시간을 적용하여 여행 소요 시간을 산출하고, 상기 여행 소요 시간이 상기 여행 기간을 초과하는 경우 추천에서 배제하도록 구성되는,
하이브리드 필터링 기반 여행지 조합 추천 시스템.4. The method of claim 3,
The travel destination combination recommendation module is,
configured to calculate the travel required time by applying the average staying time at each recommended travel destination and the time required for the travel route between the recommended travel destinations, and to exclude from recommendation when the travel required time exceeds the travel period,
Hybrid filtering-based travel destination combination recommendation system.
상기 제1 사용자가 선택한 여행지 조합에 따라 상기 제1 사용자가 각 여행지에 머무른 시간 및 여행지들 간의 이동에 소요된 시간을 피드백 받아 상기 여행지 조합 추천 모듈에 의한 여행지 추천에 반영하도록 구성되는 피드백 모듈을 더 포함하는, 하이브리드 필터링 기반 여행지 조합 추천 시스템.5. The method of claim 4,
A feedback module configured to receive feedback of the time the first user stayed in each travel destination and the time taken for movement between the travel destinations according to the travel destination combination selected by the first user and reflect it in the travel destination recommendation by the travel destination combination recommendation module. Including, hybrid filtering-based travel destination combination recommendation system.
데이터 입력부에 의해, 제1 사용자로부터, 하나의 여행지 또는 2 이상의 상이한 여행지의 시간 순서에 따른 여행지 조합을 포함하는 제1 여행지 이력과, 여행 기간 및 여행 속성을 포함하는 여행지 추천 요청 데이터를 입력받는 단계;
콘텐츠 필터링 추천 모듈에 의해, 상기 여행지 추천 요청 데이터와 상기 여행지별 속성 데이터 간의 유사도를 기반으로, 상기 다수의 여행지 중 하나 이상의 제1 여행지를 추천하는 단계;
협업 필터링 추천 모듈에 의해, 상기 제1 여행지 이력을 협업 필터링에 의해 다수의 제2 사용자의 제2 여행지 이력과 비교하고, 상기 제1 사용자와 관련도가 높은 제2 사용자의 여행지 이력으로부터 하나 이상의 제2 여행지를 추천하는 단계;
여행지 이력 빈도 산출 모듈에 의해, 상기 제1 여행지 이력에 포함된 여행지에 대해 각각 상기 다수의 제2 사용자의 제2 여행지 이력에 포함된 빈도인 여행지 이력 빈도를 산출하는 단계; 및
여행지 조합 추천 모듈에 의해, 상기 여행지 이력 빈도를 기반으로, 상기 하나 이상의 제1 여행지의 추천 결과와 상기 하나 이상의 제2 여행지의 추천 결과를 조합하여 상기 제1 사용자에게 여행지 추천 결과를 제공하는 단계를 포함하는,
하이브리드 필터링 기반 여행지 조합 추천 방법.collecting, by the travel destination attribute data generator, travel destination contents related to a plurality of travel destinations, and generating attribute data for each travel destination from the collected travel destination contents;
Step of receiving, by the data input unit, from the first user, a first travel destination history including a travel destination combination according to time sequence of one travel destination or two or more different travel destinations, and travel destination recommendation request data including a travel period and travel attributes ;
recommending, by a content filtering recommendation module, one or more first travel destinations among the plurality of travel destinations based on the similarity between the travel destination recommendation request data and the attribute data for each travel destination;
By the collaborative filtering recommendation module, the first travel destination histories are compared with the second travel destination histories of a plurality of second users by the collaborative filtering, and one or more second destinations are selected from the travel destination histories of the second users having a high degree of relevance to the first user. 2 step of recommending a travel destination;
calculating, by the travel destination history frequency calculation module, a travel destination history frequency, which is a frequency included in second travel destination histories of the plurality of second users, for each travel destination included in the first travel destination history; and
The step of providing, by the travel destination combination recommendation module, a travel destination recommendation result to the first user by combining the recommendation result of the one or more first travel destinations and the recommendation result of the one or more second travel destinations based on the travel destination history frequency containing,
A hybrid filtering-based travel destination combination recommendation method.
상기 여행지 추천 결과를 제공하는 단계는,
상기 여행지 이력 빈도가 설정된 기준 빈도 미만인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 보다 높은 가중치를 적용하여 제1 여행지 추천 결과를 생성하는 단계; 및
상기 여행지 이력 빈도가 상기 기준 빈도 이상인 경우, 상기 하나 이상의 제1 여행지의 추천 결과에 대해 상기 하나 이상의 제2 여행지의 추천 결과 이하의 가중치를 적용하여 제2 여행지 추천 결과를 생성하는 단계를 포함하는,
하이브리드 필터링 기반 여행지 조합 추천 방법.7. The method of claim 6,
The step of providing the travel destination recommendation result includes:
generating a first travel destination recommendation result by applying a weight higher than that of the one or more second travel destinations to the recommendation results of the one or more first travel destinations when the travel destination history frequency is less than a set reference frequency; and
generating a second travel destination recommendation result by applying a weight equal to or less than the recommendation result of the one or more second travel destinations to the recommendation result of the one or more first travel destinations when the travel destination history frequency is equal to or greater than the reference frequency,
A hybrid filtering-based travel destination combination recommendation method.
상기 여행지 추천 결과를 제공하는 단계는,
상기 제1 여행지와 상기 제2 여행지를 포함하는 추천 여행지들의 중심 위치를 구하고, 상기 중심 위치와 상기 추천 여행지들 간의 거리가 짧을수록 높은 가중치를 적용하여 상기 여행지 추천 결과를 생성하는 단계;
각 추천 여행지에 평균적으로 머무르는 시간과 상기 추천 여행지들 간의 이동 경로에 소요되는 시간을 적용하여 여행 소요 시간을 산출하고, 상기 여행 소요 시간이 상기 여행 기간을 초과하는 경우 추천에서 배제하는 단계; 및
상기 제1 사용자가 입력한 여행지 이동 수단, 각 여행지의 교통 수단 편의성 및 주차 관련 정보를 기반으로, 상기 여행지 추천 결과를 검증하여 상기 제1 사용자에게 여행지 조합을 추천하는 단계를 포함하는,
하이브리드 필터링 기반 여행지 조합 추천 방법.7. The method of claim 6,
The step of providing the travel destination recommendation result includes:
obtaining a central location of recommended travel destinations including the first travel destination and the second travel destination, and generating the travel destination recommendation result by applying a higher weight as the distance between the central location and the recommended travel destination decreases;
calculating a travel required time by applying an average staying time at each recommended travel destination and a time required for a movement route between the recommended travel destinations, and excluding the travel time from recommendation when the travel required time exceeds the travel period; and
Comprising the step of recommending a travel destination combination to the first user by verifying the travel destination recommendation result based on the travel destination transportation means input by the first user, transportation means convenience and parking-related information of each travel destination,
A hybrid filtering-based travel destination combination recommendation method.
피드백 모듈에 의해, 상기 제1 사용자가 선택한 여행지 조합에 따라 상기 제1 사용자가 각 여행지에 머무른 시간 및 여행지들 간의 이동에 소요된 시간을 피드백 받아 상기 여행지 조합 추천 모듈에 의한 여행지 추천에 반영하는 단계를 더 포함하는, 하이브리드 필터링 기반 여행지 조합 추천 방법.9. The method of claim 8,
By the feedback module, receiving feedback of the time the first user stayed in each travel destination and the time taken for movement between the travel destinations according to the travel destination combination selected by the first user, and reflecting the feedback in the travel destination recommendation by the travel destination combination recommendation module Further comprising, hybrid filtering-based travel destination combination recommendation method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200074910A KR20210157073A (en) | 2020-06-19 | 2020-06-19 | System and method for recommending travel destination combination based on hybrid filtering |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200074910A KR20210157073A (en) | 2020-06-19 | 2020-06-19 | System and method for recommending travel destination combination based on hybrid filtering |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210157073A true KR20210157073A (en) | 2021-12-28 |
Family
ID=79178149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200074910A KR20210157073A (en) | 2020-06-19 | 2020-06-19 | System and method for recommending travel destination combination based on hybrid filtering |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210157073A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495619A (en) * | 2023-12-25 | 2024-02-02 | 西安文理学院 | Intelligent travel method and system based on big data sharing |
-
2020
- 2020-06-19 KR KR1020200074910A patent/KR20210157073A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495619A (en) * | 2023-12-25 | 2024-02-02 | 西安文理学院 | Intelligent travel method and system based on big data sharing |
CN117495619B (en) * | 2023-12-25 | 2024-04-05 | 西安文理学院 | Intelligent travel method and system based on big data sharing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Trip recommendation meets real-world constraints: POI availability, diversity, and traveling time uncertainty | |
Zhang et al. | Personalized trip recommendation with poi availability and uncertain traveling time | |
US20150356623A1 (en) | System And Method For Recommending Customized Tourism Content Based On Collecting And Structurizing Of Unstructured Tourism Data | |
US20150278396A1 (en) | Processing Diff-Queries on Property Graphs | |
US20190317842A1 (en) | Feature-Based Application Programming Interface Cognitive Comparative Benchmarking | |
JP2010020490A (en) | Device for providing information on unfamiliar place, and method for providing information on unfamiliar place | |
KR20150080090A (en) | System for recommending product based on Hadoop and apparatus and methode for recommending product in the system | |
KR20150018474A (en) | Method, system and non-transitory computer-readable recording medium for extracting semantic keyword | |
US9208501B2 (en) | Electronic computing device, personalized data recommending method thereof, and non-transitory machine-readable medium thereof | |
US20190019233A1 (en) | Real time recommendation engine | |
Li et al. | Group-based recurrent neural networks for POI recommendation | |
US20190056235A1 (en) | Path querying method and device, an apparatus and non-volatile computer storage medium | |
Skoumas et al. | Location estimation using crowdsourced spatial relations | |
Liu et al. | A topology construct and control model with small-world and scale-free concepts for heterogeneous sensor networks | |
Shen et al. | Spatial-proximity optimization for rapid task group deployment | |
Wang et al. | Knowledge graph-based spatial-aware user community preference query algorithm for lbsns | |
Belcastro et al. | Parallel extraction of Regions‐of‐Interest from social media data | |
Tragopoulou et al. | Classification of movement data concerning user's activity recognition via mobile phones | |
CN110889029B (en) | Urban target recommendation method and device | |
KR20210157073A (en) | System and method for recommending travel destination combination based on hybrid filtering | |
KR102078619B1 (en) | Method and system for searching information based on location | |
US11651013B2 (en) | Context-based text searching | |
KR101910424B1 (en) | Method for movie ratings prediction using sentiment analysis of movie tags, recording medium and device for performing the method | |
Mittal et al. | A personalized time-bound activity Recommendation System | |
Kenefic | Track clustering using Fréchet distance and minimum description length |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |