KR102377402B1 - Call recommendation system and call recommendation method based on artificial intelligence - Google Patents

Call recommendation system and call recommendation method based on artificial intelligence Download PDF

Info

Publication number
KR102377402B1
KR102377402B1 KR1020200044833A KR20200044833A KR102377402B1 KR 102377402 B1 KR102377402 B1 KR 102377402B1 KR 1020200044833 A KR1020200044833 A KR 1020200044833A KR 20200044833 A KR20200044833 A KR 20200044833A KR 102377402 B1 KR102377402 B1 KR 102377402B1
Authority
KR
South Korea
Prior art keywords
service
data
time
service provider
price
Prior art date
Application number
KR1020200044833A
Other languages
Korean (ko)
Other versions
KR20210109410A (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
Application filed by 주식회사 그로비 filed Critical 주식회사 그로비
Priority to US17/153,054 priority Critical patent/US11665281B2/en
Publication of KR20210109410A publication Critical patent/KR20210109410A/en
Application granted granted Critical
Publication of KR102377402B1 publication Critical patent/KR102377402B1/en

Links

Images

Classifications

    • G06Q50/30
    • 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/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 인공지능에 기반하는 콜 추천 시스템을 제공한다. 콜 추천 시스템은 데이터 수집부, 매칭 시간 예측부, 가격 결정부 및 최종 순위 결정부를 포함한다. 데이터 수집부는 서비스 이용자로부터 서비스가 요청되는 경우, 서비스 이용자의 과거 위치를 나타내는 제 1 과거 데이터 및 서비스 이용자의 현재 위치를 나타내는 제 1 현재 데이터 및 서비스 제공자의 과거 위치를 나타내는 제 2 과거 데이터 및 서비스 제공자의 현재 위치를 나타내는 제 2 현재 데이터를 수집한다. 매칭 시간 예측부는 제 1 및 제 2 과거 데이터, 제 1 및 제 2 현재 데이터를 RNN(Recurrent Neural Network) 학습 모델에 입력하여 서비스 이용자의 미래 위치 및 서비스 제공자의 미래 위치를 예측하고, 서비스 이용자의 미래 위치에 관한 제 1 예측 데이터 및 서비스 제공자의 미래 위치에 관한 제 2 예측 데이터를 예측 학습 모델에 입력하여 서비스 제공자가 서비스를 선택할 경우 서비스 제공자가 서비스를 완료한 후부터 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 소요될 매칭 시간을 예측한다. 가격 결정부는 매칭 시간이 증가함에 따라 서비스에 대한 가격이 높아지도록 가격을 결정한다. 최종 순위 결정부는 서비스에 관한 서비스 제공자의 선호도를 나타내는 선호도 데이터 및 가격에 기초하여, 서비스 제공자에게 요청된 서비스들 중에서 서비스의 추천 순위를 결정한다. RNN 학습 모델 및 예측 학습 모델 각각은 딥러닝 알고리즘에 기초한다. The present invention provides a call recommendation system based on artificial intelligence. The call recommendation system includes a data collection unit, a matching time prediction unit, a price decision unit, and a final ranking unit. When a service is requested from a service user, the data collection unit collects first past data representing the past location of the service user, first current data representing the current location of the service user, and second past data representing the past location of the service provider and the service provider. Collect second current data indicating the current location. The matching time prediction unit inputs the first and second past data and the first and second current data into the RNN (Recurrent Neural Network) learning model to predict the future location of the service user and the future location of the service provider, and predicts the future location of the service user. When the service provider selects a service by inputting the first prediction data about the location and the second prediction data about the future location of the service provider into a predictive learning model, the service provider will be matched with the next service user after the service provider completes the service. Predict the matching time it will take to complete. The pricing unit determines the price so that the price for the service increases as the matching time increases. The final ranking unit determines a service recommendation ranking among the services requested from the service provider based on the price and preference data indicating the service provider's preference for the service. Each of the RNN learning model and prediction learning model is based on a deep learning algorithm.

Figure R1020200044833
Figure R1020200044833

Description

인공지능에 기반하는 콜 추천 시스템 및 콜 추천 방법{CALL RECOMMENDATION SYSTEM AND CALL RECOMMENDATION METHOD BASED ON ARTIFICIAL INTELLIGENCE}Call recommendation system and call recommendation method based on artificial intelligence {CALL RECOMMENDATION SYSTEM AND CALL RECOMMENDATION METHOD BASED ON ARTIFICIAL INTELLIGENCE}

본 발명은 콜 추천 시스템에 관한 것으로, 좀 더 상세하게는 인공지능에 기반하는 콜 추천 시스템에 관한 것이다.The present invention relates to a call recommendation system, and more specifically to a call recommendation system based on artificial intelligence.

최근 들어, 운송 수단을 이용하는 운송 서비스업이 성행하고 있다. 예를 들어, 운송 서비스는 서비스 제공자가 자신의 차량을 이용하여 고객을 목적지까지 데려다주는 택시 서비스, 고객의 차량을 대신 운전하여 고객을 목적지까지 데려다주는 대리 서비스나, 각종 화물을 운송해주는 퀵 서비스 등이 있다. Recently, the transportation service industry using transportation means has become popular. For example, transportation services include a taxi service in which the service provider takes the customer to the destination using his or her own vehicle, a proxy service in which the service provider drives the customer's vehicle to take the customer to the destination, or a quick service that transports various cargoes, etc. There is.

이러한 운송 서비스는 서비스를 이용하려는 서비스 이용자와 서비스를 제공하려는 서비스 제공자 간에 매칭이 요구된다. 구체적으로, 서비스 이용자는 전화, 어플리케이션 등을 이용하여 서비스 제공자에게 서비스를 요청할 수 있다. 서비스 제공자는 서비스 요청과 함께 서비스 이용자의 목적지, 서비스 이용자의 현재 위치 등과 같이 요청된 서비스의 정보를 수신할 수 있다. 서비스 제공자는 서비스의 정보에 기초하여, 서비스 요청을 승인할지 여부를 결정할 수 있다. 서비스 제공자가 서비스 요청을 승인하는 경우, 서비스 제공자와 서비스 요청자가 매칭되어, 서비스 요청자는 서비스 제공자로부터 서비스를 제공받을 수 있다. These transportation services require matching between service users who want to use the service and service providers who want to provide the service. Specifically, a service user can request a service from a service provider using a phone, an application, etc. The service provider may receive information about the requested service, such as the service user's destination, the service user's current location, etc., along with the service request. The service provider may decide whether to approve the service request based on the information of the service. When the service provider approves the service request, the service provider and the service requester are matched, and the service requester can receive the service from the service provider.

이러한, 운송 서비스에 대한 수요가 증가함에 따라, 서비스 제공자는 동시에 다수의 서비스 요청들을 수신할 수 있다. 이 경우, 서비스 제공자는 다수의 서비스 요청들 중에서 자신의 선호도에 가장 잘 맞는 서비스 요청을 선택하는데 어려움을 겪을 수 있다. 따라서, 서비스 제공자에게 서비스 제공자의 선호도에 따라 서비스 요청을 추천해주는 시스템 및 방법이 요구된다. As the demand for transportation services increases, service providers may receive multiple service requests simultaneously. In this case, the service provider may have difficulty selecting the service request that best suits his or her preferences among multiple service requests. Therefore, there is a need for a system and method that recommends service requests to the service provider according to the service provider's preferences.

본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명의 목적은 인공지능에 기반하는 콜 추천 시스템 및 콜 추천 방법을 제공하는 데 있다.The present invention is intended to solve the above-described technical problems, and the purpose of the present invention is to provide a call recommendation system and call recommendation method based on artificial intelligence.

본 발명은 일 실시 예에 따른 콜 추천 시스템은 데이터 수집부, 매칭 시간 예측부, 가격 결정부 및 최종 순위 결정부를 포함할 수 있다. 데이터 수집부는 서비스 이용자로부터 서비스가 요청되는 경우, 서비스 이용자의 과거 위치를 나타내는 제 1 과거 데이터 및 서비스 이용자의 현재 위치를 나타내는 제 1 현재 데이터 및 서비스 제공자의 과거 위치를 나타내는 제 2 과거 데이터 및 서비스 제공자의 현재 위치를 나타내는 제 2 현재 데이터를 수집할 수 있다. 매칭 시간 예측부는 제 1 및 제 2 과거 데이터, 제 1 및 제 2 현재 데이터를 RNN(Recurrent Neural Network) 학습 모델에 입력하여 서비스 이용자의 미래 위치 및 서비스 제공자의 미래 위치를 예측하고, 서비스 이용자의 미래 위치에 관한 제 1 예측 데이터 및 서비스 제공자의 미래 위치에 관한 제 2 예측 데이터를 예측 학습 모델에 입력하여 서비스 제공자가 서비스를 선택할 경우 서비스 제공자가 서비스를 완료한 후부터 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 소요될 매칭 시간을 예측하도록 구성될 수 있다. 가격 결정부는 매칭 시간이 증가함에 따라 서비스에 대한 가격이 높아지도록 가격을 결정할 수 있다. 최종 순위 결정부는 서비스에 관한 서비스 제공자의 선호도를 나타내는 선호도 데이터 및 가격에 기초하여, 서비스 제공자에게 요청된 서비스들 중에서 서비스의 추천 순위를 결정할 수 있다. RNN 학습 모델 및 예측 학습 모델 각각은 딥러닝 알고리즘에 기초할 수 있다. A call recommendation system according to an embodiment of the present invention may include a data collection unit, a matching time prediction unit, a price determination unit, and a final ranking unit. When a service is requested from a service user, the data collection unit collects first past data representing the past location of the service user, first current data representing the current location of the service user, and second past data representing the past location of the service provider and the service provider. Second current data indicating the current location of can be collected. The matching time prediction unit inputs the first and second past data and the first and second current data into the RNN (Recurrent Neural Network) learning model to predict the future location of the service user and the future location of the service provider, and predicts the future location of the service user. When the service provider selects a service by inputting the first prediction data about the location and the second prediction data about the future location of the service provider into a predictive learning model, the service provider will be matched with the next service user after the service provider completes the service. It can be configured to predict the matching time it will take until. The pricing unit may determine the price so that the price for the service increases as the matching time increases. The final ranking unit may determine a service recommendation ranking among services requested from the service provider, based on preference data indicating the service provider's preference for the service and the price. Each of the RNN learning model and prediction learning model may be based on a deep learning algorithm.

본 발명은 다른 일 실시 예에 따른 컴퓨터로 구현되는 콜 추천 방법은 서비스 이용자로부터 서비스가 요청되는 경우, 콜 추천 시스템에 의해, 서비스 이용자의 과거 위치를 나타내는 제 1 과거 데이터 및 서비스 이용자의 현재 위치를 나타내는 제 1 현재 데이터 및 서비스 제공자의 과거 위치를 나타내는 제 2 과거 데이터 및 서비스 제공자의 현재 위치를 나타내는 제 2 현재 데이터를 수집하는 단계, 콜 추천 시스템에 의해, 제 1 과거 데이터, 제 1 현재 데이터, 제 2 과거 데이터 및 제 2 현재 데이터를 RNN(Recurrent Neural Network) 학습 모델에 입력하여 서비스 이용자의 미래 위치 및 서비스 제공자의 미래 위치를 예측하고, 서비스 이용자의 미래 위치에 관한 제 1 예측 데이터 및 서비스 제공자의 미래 위치에 관한 제 2 예측 데이터를 예측 학습 모델에 입력하여 서비스 제공자가 서비스를 완료한 후부터 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 소요될 매칭 시간을 예측하는 단계, 콜 추천 시스템에 의해, 서비스에 대한 가격이 매칭 시간이 증가함에 따라 높아지도록 가격을 계산하는 단계 및 콜 추천 시스템에 의해, 서비스에 관한 서비스 제공자의 선호도를 나타내는 선호도 데이터 및 가격에 기초하여, 서비스 제공자에게 요청된 서비스들 중에서 서비스의 추천 순위를 결정하는 단계를 포함할 수 있다. RNN 학습 모델 및 예측 학습 모델은 딥러닝 알고리즘에 기초할 수 있다. The present invention is a call recommendation method implemented on a computer according to another embodiment. When a service is requested from a service user, the present invention provides first past data indicating the past location of the service user and the current location of the service user by the call recommendation system. collecting, by the call recommender system, first current data representing and second historical data representing a past location of the service provider and second current data representing a past location of the service provider; Input the second past data and the second current data into a Recurrent Neural Network (RNN) learning model to predict the future location of the service user and the future location of the service provider, and first predict data regarding the future location of the service user and the service provider. A step of predicting the matching time required from the time the service provider completes the service until the service provider is matched with the next service user by inputting second prediction data about the future location of the service into a predictive learning model, by a call recommendation system. calculating the price so that the price increases as the matching time increases, and by the call recommendation system, selecting a service among the services requested from the service provider based on the price and preference data indicating the service provider's preference for the service. It may include a step of determining the recommendation ranking. RNN learning models and predictive learning models may be based on deep learning algorithms.

본 발명의 실시 예에 따른 콜 추천 시스템은 인공지능을 기반으로 하여, 서비스 제공자에게 서비스 제공자의 선호도에 맞는 콜을 추천할 수 있다. The call recommendation system according to an embodiment of the present invention is based on artificial intelligence and can recommend a call that matches the service provider's preferences to the service provider.

구체적으로, 콜 추천 시스템은 RNN(Recurrent Neural Network) 알고리즘을 이용하여, 서비스 제공자와 서비스 이용자의 위치를 예측할 수 있다. 콜 추천 시스템은 서비스 제공자와 서비스 이용자의 예측된 위치에 기초하여, 다음 콜이 매칭될 때까지의 매칭 시간을 예측할 수 있다. 콜 추천 시스템은 현재 콜 매칭 상황과 예측된 매칭 시간에 기초하여, 유동적으로 콜의 가격을 결정할 수 있다. 콜 추천 시스템은 결정된 콜의 가격 및 서비스 제공자의 선호도에 기초하여, 서비스 제공자에게 요청된 콜들의 순위를 결정할 수 있다. Specifically, the call recommendation system can predict the locations of service providers and service users using a Recurrent Neural Network (RNN) algorithm. The call recommendation system can predict the matching time until the next call is matched based on the predicted locations of the service provider and service user. The call recommendation system can dynamically determine the price of a call based on the current call matching situation and predicted matching time. The call recommendation system may determine the ranking of calls requested to the service provider based on the determined price of the call and the preference of the service provider.

따라서, 서비스 제공자는 콜 추천 시스템을 이용하여, 자신의 선호도에 맞는 콜을 선택할 수 있다. Accordingly, the service provider can use the call recommendation system to select a call that suits his or her preferences.

도 1은 본 발명의 실시 예에 따른 콜 추천 시스템을 설명하기 위한 개념도이다.
도 2는 도 1의 콜 추천 시스템의 구조를 설명하기 위한 블록도이다.
도 3은 도 2의 콜 추천 시스템의 동작들을 설명하기 위한 흐름도이다.
도 4는 도 2의 매칭 시간 예측부의 동작을 설명하기 위한 흐름도이다.
도 5는 도 2의 매칭 시간 예측부의 동작을 설명하기 위한 흐름도이다.
도 6은 도 2의 가격 결정부 및 최종 순위 결정부의 동작을 설명하기 위한 개념도이다.
1 is a conceptual diagram for explaining a call recommendation system according to an embodiment of the present invention.
FIG. 2 is a block diagram for explaining the structure of the call recommendation system of FIG. 1.
FIG. 3 is a flowchart for explaining the operations of the call recommendation system of FIG. 2.
FIG. 4 is a flowchart for explaining the operation of the matching time prediction unit of FIG. 2.
FIG. 5 is a flowchart for explaining the operation of the matching time prediction unit of FIG. 2.
FIG. 6 is a conceptual diagram for explaining the operation of the price determination unit and the final ranking unit of FIG. 2.

이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.Hereinafter, embodiments of the present invention will be described clearly and in detail so that a person skilled in the art can easily practice the present invention.

도 1은 본 발명의 실시 예에 따른 콜 추천 시스템을 설명하기 위한 개념도이다. 1 is a conceptual diagram for explaining a call recommendation system according to an embodiment of the present invention.

본 발명은 운송 수단을 이용하는 운송 서비스에서, 서비스 이용자와 서비스 제공자를 효율적으로 매칭시킬 수 있는 콜 추천 방법 및 콜 추천 시스템(1000)을 제공한다. 본 명세서에서 “운송 서비스”는 서비스 제공자가 자신의 차량을 이용하여 서비스 이용자를 목적지까지 데려다주는 택시 서비스, 서비스 이용자의 차량을 대신 운전하여 서비스 이용자를 목적지까지 데려다주는 대리 서비스나, 서비스 이용자에게 각종 화물을 운송해주는 퀵 서비스 등과 같이 서비스 제공자가 운송 수단을 이용하여 서비스 이용자에게 제공하는 서비스를 의미한다. 본 명세서에서, “서비스 이용자”는 서비스를 요청하는 고객(customer)을 의미하고, “서비스 제공자”는 서비스를 제공하는 기사(driver)를 의미한다. The present invention provides a call recommendation method and a call recommendation system (1000) that can efficiently match service users and service providers in transportation services using transportation means. In this specification, “transportation service” refers to a taxi service in which the service provider uses its own vehicle to take the service user to the destination, a proxy service in which the service provider drives the service user's vehicle to take the service user to the destination, or various services to the service user. It refers to services provided by service providers to service users using transportation methods, such as quick service for transporting cargo. In this specification, “service user” refers to a customer requesting a service, and “service provider” refers to a driver providing the service.

서비스 이용자는 서비스 이용자 애플리케이션(2200)을 이용하여, 서비스를 요청할 수 있다. 서비스 이용자 애플리케이션(2200)은 서비스 이용자의 전자 장치에 설치된 프로그램일 수 있다. 서비스 이용자가 서비스를 요청하는 경우, 서비스 이용자 애플리케이션(2200)은 서버(2100)를 통해 서비스 이용자의 서비스 요청을 콜 추천 시스템(1000)으로 전송할 수 있다. A service user can request a service using the service user application 2200. The service user application 2200 may be a program installed on the service user's electronic device. When a service user requests a service, the service user application 2200 may transmit the service user's service request to the call recommendation system 1000 through the server 2100.

콜 추천 시스템(1000)은 서버(2100)를 통해, 서비스 이용자의 서비스 요청을 수신할 수 있다. 본 명세서에서, 서비스 요청이 수신되었다는 것은 콜이 접수되었다는 것으로도 표현될 수 있다. The call recommendation system 1000 may receive a service request from a service user through the server 2100. In this specification, receiving a service request may also be expressed as saying that a call has been received.

다른 서비스 이용자들 역시, 각각 서비스 이용자 애플리케이션들(3200, 4200)을 통해서, 서비스를 요청할 수 있다. 서버들(3100, 4100)은 서버(2100)와 실질적으로 동일한 동작들을 제공한다. 서비스 이용자 애플리케이션들(3200, 4200)은 서비스 이용자 애플리케이션(2200)과 실질적으로 동일한 동작들을 제공하나, 상이한 유형의 애플리케이션들일 수 있다. 서비스 제공자 애플리케이션들(3300, 4300)도 서비스 제공자 애플리케이션(2300)과 실질적으로 동일한 동작들을 제공하나, 상이한 유형의 애플리케이션들일 수 있다. Other service users can also request services through service user applications 3200 and 4200, respectively. Servers 3100 and 4100 provide substantially the same operations as server 2100. The service user applications 3200 and 4200 provide substantially the same operations as the service user application 2200, but may be different types of applications. Service provider applications 3300 and 4300 also provide substantially the same operations as service provider application 2300, but may be different types of applications.

콜 추천 시스템(1000)은 콜이 접수되는 경우, 서버들(2100, 3100, 4100)을 통해 서비스 이용자들의 위치 정보와 서비스 제공자들의 위치 정보를 수신할 수 있다. 서버는(2100)은 서비스 이용자 애플리케이션(2200) 및 서비스 제공자 애플리케이션(2300)을 이용하여 서비스 이용자의 위치 정보와 서비스 제공자의 위치 정보를 수집할 수 있다. 서비스 이용자 애플리케이션(2200) 및 서비스 제공자 애플리케이션(2300)은 각각 서비스 이용자가 휴대하는 전자 장치 및 서비스 제공자가 휴대하는 전자 장치에 설치된 프로그램들일 수 있다. 서비스 이용자 애플리케이션(2200) 및 서비스 제공자 애플리케이션(2300)은 서비스 이용자가 휴대하는 전자 장치 및 서비스 제공자가 휴대하는 전자 장치에 설치된 GPS 장치로부터 위치 정보를 수신할 수 있다. When a call is received, the call recommendation system 1000 may receive location information of service users and location information of service providers through the servers 2100, 3100, and 4100. The server 2100 may collect the service user's location information and the service provider's location information using the service user application 2200 and the service provider application 2300. The service user application 2200 and the service provider application 2300 may be programs installed on the electronic device carried by the service user and the electronic device carried by the service provider, respectively. The service user application 2200 and the service provider application 2300 may receive location information from a GPS device installed on the electronic device carried by the service user and the electronic device carried by the service provider.

또한, 콜 추천 시스템(1000)은 콜이 접수되는 경우, 서버들(2100, 3100, 4100)을 통해 서비스 제공자들의 선호도 데이터를 수신할 수 있다. 선호도 데이터는 서비스 제공자가 선호하는 목적지, 운전 시간, 운전 거리, 가격 등에 대한 정보일 수 있다. Additionally, when a call is received, the call recommendation system 1000 may receive preference data of service providers through the servers 2100, 3100, and 4100. Preference data may be information about the service provider's preferred destination, driving time, driving distance, price, etc.

콜 추천 시스템(1000)은 서버들(2100, 3100, 4100)로부터 수신된 위치 정보, 선호도 정보를 이용하여, 서비스 제공자의 선호도에 따라 수신된 콜들의 순위를 결정할 수 있다. 콜 추천 시스템(1000)은 인공 지능(Artificial Intelligence)에 기반하여, 수신된 콜들의 순위를 결정할 수 있다. 본 명세서에서, “인공 지능”은 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술을 의미한다. 예로서, 콜 추천 시스템(1000)은 신경망 네트워크(neural network) 구조로 이루어진 딥러닝 알고리즘을 이용할 수 있다. 콜 추천 시스템(1000)에서 이용되는 딥러닝 알고리즘은 도 2 내지 도 5를 참조하여 자세하게 설명된다. The call recommendation system 1000 may use the location information and preference information received from the servers 2100, 3100, and 4100 to determine the rank of received calls according to the service provider's preference. The call recommendation system 1000 can determine the ranking of received calls based on artificial intelligence. In this specification, “artificial intelligence” refers to technology that realizes human learning ability, reasoning ability, perception ability, and natural language understanding ability through computer programs. As an example, the call recommendation system 1000 may use a deep learning algorithm composed of a neural network structure. The deep learning algorithm used in the call recommendation system 1000 is described in detail with reference to FIGS. 2 to 5.

콜 추천 시스템(1000)은 콜들의 순위 정보를 서버(2100)를 통해 서비스 제공자 애플리케이션(2300)으로 전송할 수 있다. 서비스 제공자는 서비스 제공자 애플리케이션(2300)을 통해 순위 정보를 획득할 수 있다. 서비스 제공자는 순위 정보에 기초하여, 서비스 제공자 애플리케이션(2300)을 통해 콜들 중 자신의 선호에 맞는 콜을 선택할 수 있다. 서비스 제공자가 콜을 선택하면, 콜을 요청한 서비스 이용자와 콜을 선택한 서비스 제공자가 서로 매칭될 수 있다. The call recommendation system 1000 may transmit call ranking information to the service provider application 2300 through the server 2100. The service provider can obtain ranking information through the service provider application 2300. The service provider can select a call that suits his or her preference among calls through the service provider application 2300, based on the ranking information. When the service provider selects a call, the service user who requested the call and the service provider who selected the call may be matched with each other.

콜 추천 시스템(1000)은 서비스 제공자가 콜을 선택한 경우, 서비스 제공자가 실제로 선택한 콜에 관한 정보를 수신할 수 있다. 콜 추천 시스템(1000)은 서비스 제공자가 실제로 선택한 콜에 관한 정보를 이용하여, 콜 추천 시스템(1000)에서 이용되는 인공지능 모델을 학습시킬 수 있다. 즉, 실제로 선택된 콜에 대한 정보는 정답 정보로 이용될 수 있다. 콜 추천 시스템(1000)의 구조 및 동작은 도 2 내지 도 6을 참조하여 자세하게 설명된다. When the service provider selects a call, the call recommendation system 1000 may receive information about the call actually selected by the service provider. The call recommendation system 1000 can train an artificial intelligence model used in the call recommendation system 1000 using information about the call actually selected by the service provider. In other words, information about the call actually selected can be used as correct answer information. The structure and operation of the call recommendation system 1000 are described in detail with reference to FIGS. 2 to 6.

도 1의 구성 요소들(1000, 2100~2300, 3100~3300, 4100~4300)은 네트워크를 통해 연결될 수 있다. 본 명세서에서 “네트워크”는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미한다. 예로서, 네트워크는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5rd Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함하나, 이에 한정되지는 않는다.The components (1000, 2100-2300, 3100-3300, and 4100-4300) of FIG. 1 may be connected through a network. In this specification, “network” refers to a connection structure that allows information exchange between nodes, such as a plurality of terminals and servers. By way of example, the network may include RF, 3rd Generation Partnership Project (3GPP) network, Long Term Evolution (LTE) network, 5th Generation Partnership Project (5GPP) network, World Interoperability for Microwave Access (WIMAX) network, Internet, LAN ( Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), Bluetooth network, NFC network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) ) network, etc., but is not limited to this.

서비스 이용자 애플리케이션들(2200, 3200, 4200) 및 서비스 제공자 애플리케이션들(2300, 3300, 4300)이 설치된 전자 장치들은 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 전자 장치로 구현될 수 있다. 예로서, 전자 장치는 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. Electronic devices on which the service user applications 2200, 3200, and 4200 and the service provider applications 2300, 3300, and 4300 are installed may be implemented as electronic devices capable of accessing a remote server or terminal through a network. For example, electronic devices are wireless communication devices that ensure portability and mobility, such as navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), and PDA. (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminal, smartphone , may include all types of handheld-based wireless communication devices such as smartpads, tablet PCs, etc.

서버들(2100, 3100, 4100) 및 콜 추천 시스템(1000)은 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 추가로, 본 발명의 콜 추천 시스템(1000)은 기존의 애플리케이션들과 연동하여, 서비스를 제공할 수도 있다. The servers 2100, 3100, and 4100 and the call recommendation system 1000 may be implemented as computers that can access remote servers or terminals through a network. Here, the computer may include, for example, a laptop equipped with a navigation system and a web browser, a desktop, a laptop, etc. Additionally, the call recommendation system 1000 of the present invention may provide services in conjunction with existing applications.

도 2는 도 1의 콜 추천 시스템의 구조를 설명하기 위한 블록도이다. FIG. 2 is a block diagram for explaining the structure of the call recommendation system of FIG. 1.

콜 추천 시스템(1000)은 데이터 수집부(1100), 매칭 시간 예측부(1200), 가격 결정부(1300), 최종 순위 결정부(1400), 정답 정보 수집부(1500) 및 업데이트부(1600)를 포함할 수 있다. 본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다. 또한, 콜 추천 시스템(1000)은 도 2에 도시되지 않은 구성 요소를 추가로 포함할 수도 있고, 도 2에 도시된 구성 요소들(1100~1600) 중 일부를 포함하지 않을 수도 있다. The call recommendation system 1000 includes a data collection unit 1100, a matching time prediction unit 1200, a price decision unit 1300, a final ranking unit 1400, an answer information collection unit 1500, and an update unit 1600. may include. In this specification, 'part' includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Additionally, one unit may be realized using two or more pieces of hardware, and two or more units may be realized using one piece of hardware. Additionally, the call recommendation system 1000 may additionally include components not shown in FIG. 2 or may not include some of the components 1100 to 1600 shown in FIG. 2 .

콜 추천 시스템(1000)은 서버(2100)로부터 콜을 접수 받을 수 있다. 콜이 접수되면, 데이터 수집부(1100)는 서버(2100)로부터 서비스 이용자의 위치 데이터 및 서비스 제공자의 위치 데이터를 수신할 수 있다. 서비스 이용자의 위치 데이터는 서비스 이용자의 현재 위치에 관한 현재 데이터, 서비스 이용자의 과거 위치에 관한 과거 데이터를 포함할 수 있다. 서비스 제공자의 위치 데이터는 서비스 제공자의 현재 위치에 관한 현재 데이터, 서비스 제공자의 과거 위치에 관한 과거 데이터를 포함할 수 있다. The call recommendation system 1000 can receive a call from the server 2100. When a call is received, the data collection unit 1100 may receive the service user's location data and the service provider's location data from the server 2100. The service user's location data may include current data about the service user's current location and past data about the service user's past location. The location data of the service provider may include current data about the current location of the service provider and past data about the past location of the service provider.

예로서, 데이터 수집부(1100)는 시간별 서비스 이용자의 위치 정보를 수신할 수 있다. 데이터 수집부(1100)가 서비스 이용자의 위치 정보를 수신하는 시각이 제 1 시각인 경우, 서비스 이용자의 현재 위치는 제 1 시각에서의 서비스 이용자의 위치일 수 있다. 이 경우, 서비스 이용자의 과거 위치는 제 1 시각 이전 시각에서의 시간별 서비스 이용자의 위치일 수 있다. 구체적으로, 데이터 수집부(1100)는 제 2 시각, 제 3 시각 … 제 N 시각 각각에서의 서비스 이용자의 위치에 관한 과거 데이터를 수신할 수 있다. 이 경우, 제 2 시각, 제 3 시각 …. 제 N 시각은 제 1 시각 이전의 상이한 시각들일 수 있다. 'N'은 3이상의 정수일 수 있다. 서비스 제공자의 위치 데이터도 서비스 이용자의 위치 데이터와 동일한 형태로 수집될 수 있다.As an example, the data collection unit 1100 may receive location information of service users by time. If the time at which the data collection unit 1100 receives the service user's location information is the first time, the current location of the service user may be the service user's location at the first time. In this case, the past location of the service user may be the location of the service user by time before the first time. Specifically, the data collection unit 1100 collects the second time, the third time... Past data regarding the location of the service user at each N time can be received. In this case, the second time, the third time... . The Nth time may be different times before the first time. 'N' may be an integer of 3 or more. The service provider's location data may also be collected in the same form as the service user's location data.

다른 예로서, 데이터 수집부(1100)는 시간 구간별 서비스 이용자의 위치 정보를 수신할 수 있다. 데이터 수집부(1100)가 서비스 이용자의 위치 정보를 수신하는 시각이 제 1 시각인 경우, 서비스 이용자의 현재 위치는 제 1 시각을 포함하는 제 1 시간 구간에서의 서비스 이용자의 평균 위치일 수 있다. 이 경우, 서비스 이용자의 과거 위치는 제 1 시간 구간 이전 시간에서의 시간 구간별 서비스 이용자의 평균 위치일 수 있다. 구체적으로, 데이터 수집부(1100)는 제 2 시간 구간, 제 3 시간 구간 … 제 N 시간 구간 각각에서의 서비스 이용자의 평균 위치에 관한 과거 데이터를 수신할 수 있다. 이 경우, 제 2 시간 구간, 제 3 시간 구간 …. 제 N 시간 구간은 제 1 시간 구간 이전의 상이한 시간 구간들일 수 있다. 'N'은 3이상의 정수일 수 있다. 데이터 수집부(1100)는 서비스 제공자의 위치 데이터도 서비스 이용자의 위치 데이터와 동일한 형태로 수집할 수 있다. 제 1 시간 구간, 제 2 시간 구간 … 제 N 시간 구간 각각의 시간 길이와 'N'의 크기는 업데이트부(1600)에 의해 변경될 수 있다. 업데이트부(1600)는 정답 정보에 기초하여, 매칭 시간 예측부(1200)의 예측 정확도가 높아지도록 제 1 시간 구간, 제 2 시간 구간 … 제 N 시간 구간 각각의 시간 길이와 'N'의 크기를 변경할 수 있다.As another example, the data collection unit 1100 may receive location information of service users for each time section. When the time at which the data collection unit 1100 receives the service user's location information is the first time, the current location of the service user may be the average position of the service user in the first time section including the first time. In this case, the past location of the service user may be the average location of the service user for each time section before the first time section. Specifically, the data collection unit 1100 is a second time section, a third time section... Past data regarding the average location of service users in each N time interval can be received. In this case, the second time interval, the third time interval... . The Nth time interval may be different time intervals before the first time interval. 'N' may be an integer of 3 or more. The data collection unit 1100 can collect the service provider's location data in the same format as the service user's location data. First time segment, second time segment... The time length of each N time section and the size of 'N' may be changed by the update unit 1600. Based on the correct answer information, the update unit 1600 creates a first time section, a second time section, etc. to increase the prediction accuracy of the matching time prediction unit 1200. The time length of each N time section and the size of 'N' can be changed.

데이터 수집부(1100)는 서버(2100)로부터 수신된 위치 데이터를 매칭 시간 예측부(1200)로 출력할 수 있다. 이하, 위치 데이터는 서비스 이용자의 과거 및 현재의 위치 데이터 및 서비스 제공자의 과거 및 현재의 위치 데이터를 포함하는 것으로 해석된다. 매칭 시간 예측부(1200)는 위치 데이터를 RNN(Recurrent Nerual Network) 학습 모델에 입력하여, 서비스 이용자 및 서비스 제공자의 미래 위치를 예측할 수 있다. 데이터 수집부(1100)는 RNN 학습 모델을 이용하여, 서비스 이용자의 미래 위치를 나타내는 서비스 이용자의 예측 데이터 및 서비스 제공자의 미래 위치를 나타내는 서비스 제공자의 예측 데이터를 생성할 수 있다. 이하, 예측 데이터는 서비스 이용자의 미래의 위치 데이터, 서비스 제공자의 미래의 위치 데이터를 포함하는 것으로 해석된다. The data collection unit 1100 may output the location data received from the server 2100 to the matching time prediction unit 1200. Hereinafter, location data is interpreted to include past and present location data of service users and past and present location data of service providers. The matching time prediction unit 1200 can predict the future locations of service users and service providers by inputting location data into a Recurrent Nerual Network (RNN) learning model. The data collection unit 1100 may use an RNN learning model to generate service user prediction data indicating the future location of the service user and service provider prediction data indicating the service provider's future location. Hereinafter, the predicted data is interpreted to include future location data of the service user and future location data of the service provider.

RNN(Recurrent Nerual Network) 학습 모델은 서비스 이용자 및 서비스 제공자의 과거 및 현재 위치에 기반하여, 서비스 이용자 및 서비스 제공자의 미래 위치를 예측하는데 이용되는 딥러닝 알고리즘일 수 있다. 예로서, RNN(Recurrent Nerual Network) 학습 모델은 RNN 알고리즘, CNN(Convolution Neural Network)-RNN 알고리즘, LSTM(Long Short Term Memory) 알고리즘, CNN-LSTM 알고리즘 등 중 하나일 수 있다.RNN (Recurrent Nerual Network) learning model may be a deep learning algorithm used to predict the future location of service users and service providers based on their past and current locations. As an example, the Recurrent Nerual Network (RNN) learning model may be one of an RNN algorithm, a Convolution Neural Network (CNN)-RNN algorithm, a Long Short Term Memory (LSTM) algorithm, a CNN-LSTM algorithm, etc.

매칭 시간 예측부(1200)는 CNN-RNN 알고리즘을 이용하여, 서비스 이용자 및 서비스 제공자의 미래 위치를 예측할 수도 있다. CNN-RNN 알고리즘은 이미지 데이터로 변환된 위치 데이터에 기초하여, 서비스 이용자 및 서비스 제공자의 미래 위치를 예측하는 인공지능 알고리즘일 수 있다. The matching time prediction unit 1200 may predict the future locations of service users and service providers using a CNN-RNN algorithm. The CNN-RNN algorithm may be an artificial intelligence algorithm that predicts the future location of service users and service providers based on location data converted to image data.

또한, 매칭 시간 예측부(1200)는 CNN-LSTM 알고리즘을 이용하여, 서비스 이용자 및 서비스 제공자의 미래 위치를 예측할 수도 있다. CNN-LSTM 알고리즘 역시 이미지 데이터로 변환된 위치 데이터에 기초하여, 서비스 이용자 및 서비스 제공자의 미래 위치를 예측하는 인공지능 알고리즘일 수 있다. LSTM 알고리즘은 RNN 알고리즘을 개선한 알고리즘일 수 있다. 매칭 시간 예측부(1200)는 이에 한정되지 않고, 과거 및 현재의 데이터를 이용하여 미래의 데이터를 도출할 수 있는 딥러닝 알고리즘에 기반하여 동작할 수 있다. Additionally, the matching time prediction unit 1200 may predict the future locations of service users and service providers using the CNN-LSTM algorithm. The CNN-LSTM algorithm may also be an artificial intelligence algorithm that predicts the future location of service users and service providers based on location data converted to image data. The LSTM algorithm may be an improved algorithm of the RNN algorithm. The matching time prediction unit 1200 is not limited to this and may operate based on a deep learning algorithm that can derive future data using past and present data.

데이터 수집부(1100)는 서버(2100)로부터 부가 데이터를 수신할 수 있다. 부가 데이터는 서비스 이용자 및 서비스 제공자에 대한 추가적인 정보일 수 있다. 부가 데이터는 서비스 이용자의 출발지, 서비스 이용자의 목적지, 서비스 제공자가 서비스를 수행하는데 소요되는 시간, 출발지로부터 목적지까지의 운전 거리 등과 같이 서비스 이용자가 요청한 서비스와 관련된 정보를 포함할 수 있다. 또한, 부가 데이터는 서비스가 요청된 시간, 서비스가 요청된 요일, 서비스가 요청된 날짜가 공휴일인지 여부, 서비스가 요청된 날짜의 계절 등과 같이 중장기적인 관점에서의 시간 정보를 포함할 수 있다. 부가 데이터는 이에 한정되지 않고, 서비스 제공자의 위치, 상태에 관한 정보도 포함할 수 있다. The data collection unit 1100 may receive additional data from the server 2100. Additional data may be additional information about service users and service providers. Additional data may include information related to the service requested by the service user, such as the service user's origin, the service user's destination, the time required for the service provider to perform the service, and the driving distance from the origin to the destination. Additionally, the additional data may include time information from a mid- to long-term perspective, such as the time the service was requested, the day of the week the service was requested, whether the date the service was requested was a public holiday, the season of the date the service was requested, etc. Additional data is not limited to this and may also include information about the location and status of the service provider.

매칭 시간 예측부(1200)는 데이터 수집부(1100)로부터 부가 데이터를 수신할 수 있다. 매칭 시간 예측부(1200)는 부가 데이터를 임베딩시켜 벡터 데이터로 변환할 수 있다. 이하 설명들에서, “벡터 데이터”는 부가 데이터가 벡터 형식으로 변환된 데이터를 의미한다. The matching time prediction unit 1200 may receive additional data from the data collection unit 1100. The matching time prediction unit 1200 may embed additional data and convert it into vector data. In the following descriptions, “vector data” means data in which additional data has been converted into vector format.

매칭 시간 예측부(1200)는 예측 데이터 및 벡터 데이터를 예측 학습 모델에 입력하여, 서비스 제공자가 특정 서비스를 선택할 경우, 선택된 서비스를 수행한 후부터 다음 서비스 이용자와 매칭될 때까지 소요되는 매칭 시간을 예측할 수 있다. 본 명세서에서, “매칭 시간”은 서비스 제공자가 현재 접수된 콜을 선택할 경우, 현재 접수된 콜을 수행한 후부터 다음 콜과 매칭될 때까지 소요되는 시간을 의미한다. 다만, 본 발명은 이에 한정되지 않고, “매칭 시간”은 서비스 제공자가 현재 접수된 콜을 선택할 경우, 현재 접수된 콜을 수행하기 시작한 때부터 다음 콜과 매칭될 때까지 소요되는 시간을 의미할 수도 있다. The matching time prediction unit 1200 inputs prediction data and vector data into a prediction learning model to predict the matching time required from performing the selected service to matching with the next service user when the service provider selects a specific service. You can. In this specification, “matching time” means the time taken from performing the currently received call until matching with the next call when the service provider selects the currently received call. However, the present invention is not limited to this, and “matching time” may mean the time taken from when the service provider starts performing the currently received call until it is matched with the next call when the service provider selects the currently received call. there is.

예측 학습 모델은 서비스 이용자 및 서비스 제공자의 미래 위치, 부가 데이터에 기초하여, 매칭 시간을 예측하기 위한 딥러닝 알고리즘 기반의 학습 모델일 수 있다. 매칭 시간 예측부(1200)는 예측 학습 모델에 기초하여, 현재 접수된 콜들을 매칭 시간이 짧은 순서대로 순위화시킬 수 있다. 매칭 시간 예측부(1200)는 콜들의 매칭 시간 정보를 가격 결정부(1300)로 출력할 수 있다. The predictive learning model may be a learning model based on a deep learning algorithm to predict matching time based on the future location of the service user and service provider and additional data. The matching time prediction unit 1200 may rank currently received calls in descending order of matching time, based on a predictive learning model. The matching time prediction unit 1200 may output matching time information of calls to the price determination unit 1300.

가격 결정부(1300)는 매칭 시간 정보를 동적 가격 결정 모델에 입력하여, 콜들 각각의 가격을 결정할 수 있다. 콜들 각각의 가격은 매칭 시간 및 대기 시간에 기초하여, 동적으로 결정될 수 있다. 예로서, 콜의 가격은 콜의 매칭 시간의 제곱 값이 증가함에 따라 높아지고, 콜의 대기 시간이 증가함에 따라 높아질 수 있다. 본 명세서에서 “대기 시간”은 콜이 서비스 제공자에 의해 승인되지 않고 있는 시간을 의미할 수 있다. 즉, “대기 시간”은 콜을 접수한 서비스 이용자가 서비스 제공자와 매칭되지 않고 있는 시간을 의미할 수 있다. 다만, 본 발명은 이에 한정되지 않고, 가격 결정부(1300)는 콜의 가격이 서비스를 수행하기 위해 서비스 제공자가 사용하는 자원의 가치에 비례하도록 콜의 가격을 결정할 수도 있다. 가격 결정부(1300)가 콜의 가격을 결정하는 방법은 도 6을 참조하여 자세하게 설명된다. The price determination unit 1300 may determine the price of each call by inputting the matching time information into the dynamic pricing model. The price of each call can be dynamically determined based on matching time and waiting time. As an example, the price of a call may increase as the square of the call's matching time increases, and may increase as the call's waiting time increases. In this specification, “waiting time” may mean the time during which a call is not acknowledged by the service provider. In other words, “waiting time” may mean the time during which the service user who received the call is not matched with the service provider. However, the present invention is not limited to this, and the price determination unit 1300 may determine the price of the call so that the price of the call is proportional to the value of the resources used by the service provider to perform the service. The method by which the price determination unit 1300 determines the price of a call is described in detail with reference to FIG. 6.

가격 결정부(1300)는 가격이 높은 순서대로 콜들의 순위를 결정할 수 있다. 가격 결정부(1300)는 콜들의 가격 정보를 최종 순위 결정부(1400)로 출력할 수 있다.The price determination unit 1300 may determine the ranking of calls in descending order of price. The price determination unit 1300 may output call price information to the final ranking unit 1400.

최종 순위 결정부(1400)는 가격 결정부(1300)로부터 콜들의 가격 정보를 수신할 수 있다. 또한, 최종 순위 결정부(1400)는 데이터 수집부(1100)로부터 선호도 데이터를 수신할 수 있다. 선호도 데이터는 서비스에 대한 서비스 제공자의 선호를 나타낼 수 있다. 예로서, 서비스 제공자는 법인 콜을 선호하지 않거나 서비스 이용자의 차량이 외제 차인 것을 선호하지 않거나, 서비스 제공자의 현재 위치로부터 서비스 이용자의 출발지까지의 거리가 특정 거리 이상인 것을 선호하지 않을 수 있고, 목적지가 가까운 것을 선호하거나, 동승자가 없는 것을 선호할 수 있다. 선호도 데이터는 이러한 서비스 제공자의 선호도에 대한 정보를 포함할 수 있다. The final ranking unit 1400 may receive call price information from the price determination unit 1300. Additionally, the final ranking unit 1400 may receive preference data from the data collection unit 1100. Preference data may indicate a service provider's preference for a service. For example, the service provider may not prefer corporate calls, may not prefer that the service user's vehicle is a foreign car, may not prefer that the distance from the service provider's current location to the service user's origin be more than a certain distance, or that the destination is not more than a certain distance. You may prefer to be close, or you may prefer not to have a passenger. Preference data may include information about the preferences of these service providers.

최종 순위 결정부(1400)는 콜들의 가격 정보 및 선호도 데이터에 기초하여, 콜들의 최종 순위를 결정할 수 있다. 최종 순위 결정부(1400)는 계산 효율을 위해, 선호도 데이터에 기초하여 콜들을 필터링할 수 있다. 예로서, 최종 순위 결정부(1400)는 서비스 제공자가 원하지 않는 일부 콜들을 제외한 후 나머지 콜들의 최종 순위만을 결정할 수도 있다. The final ranking unit 1400 may determine the final ranking of calls based on price information and preference data of the calls. The final ranking unit 1400 may filter calls based on preference data for computational efficiency. For example, the final ranking unit 1400 may determine only the final ranking of the remaining calls after excluding some calls that the service provider does not want.

최종 순위 결정부(1400)는 콜의 가격과 콜의 매칭 시간에 대한 서비스 제공자의 선호도에 기초하여, 나머지 콜들 각각의 최종 점수를 결정할 수 있다. 최종 순위 결정부(1400)는 나머지 콜들의 최종 순위를 최종 점수가 높은 순서대로 결정할 수 있다. 콜의 최종 점수는 콜의 가격의 증가 및/또는 콜의 매칭 시간의 감소에 의해, 증가할 수 있다. 또한, 콜의 최종 점수는 콜의 가격의 감소 및/또는 콜의 매칭 시간의 증가에 의해, 감소할 수 있다.The final ranking unit 1400 may determine the final score for each of the remaining calls based on the service provider's preference for the call price and call matching time. The final ranking unit 1400 may determine the final ranking of the remaining calls in order of highest final score. The final score of a call can be increased by increasing the price of the call and/or decreasing the matching time of the call. Additionally, the final score of a call may decrease by decreasing the price of the call and/or increasing the matching time of the call.

최종 순위 결정부(1400)는 콜들의 최종 순위에 대한 최종 순위 정보를 서버(2100)를 통해, 서비즈 제공자 애플리케이션(2300)으로 전송할 수 있다. The final ranking unit 1400 may transmit final ranking information about the final ranking of calls to the service provider application 2300 through the server 2100.

서비스 제공자는 서비즈 제공자 애플리케이션(2300)을 통해, 콜들의 최종 순위 정보를 제공받을 수 있다. 서비스 제공자는 콜들의 최종 순위 정보에 기초하여, 서비즈 제공자 애플리케이션(2300)을 통해, 콜들 중 자신의 선호에 맞는 콜을 선택할 수 있다. 서비즈 제공자는 선택된 콜에 대응하는 서비스를 서비스 요청자에게 제공할 수 있다. The service provider can receive final ranking information of calls through the service provider application 2300. The service provider can select a call that suits his or her preference among the calls through the service provider application 2300, based on the final ranking information of the calls. The service provider may provide a service corresponding to the selected call to the service requester.

서비스가 완료된 후, 정답 정보 수집부(1500)는 서버(2100)로부터, 정답 정보를 수신할 수 있다. 본 명세서에서, “정답 정보”는 콜 추천 시스템(1000)에 의해 예측된 상황들에 대한 실제 결과들을 나타낼 수 있다. 예로서, 콜 추천 시스템(1000)이 제 1 시각에서의 서비스 제공자 및 서비스 이용자의 위치를 예측한 경우, 정답 정보는 제 1 시각에서의 서비스 제공자 및 서비스 이용자의 실제 위치에 관한 정보를 포함할 수 있다. 다른 예로서, 정답 정보는 서비스 제공자에게 추천된 서비스들 중에서 서비스 제공자에 의해 실제로 선택된 서비스, 선택된 서비스가 수행된 후 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 걸린 실제 매칭 시간에 관한 정보를 포함할 수 있다. 정답 정보 수집부(1500)는 수신된 정답 정보를 업데이트부(1600)로 출력할 수 있다. After the service is completed, the correct answer information collection unit 1500 may receive correct answer information from the server 2100. In this specification, “correct answer information” may indicate actual results for situations predicted by the call recommendation system 1000. As an example, if the call recommendation system 1000 predicts the locations of the service provider and service user at the first time, the correct answer information may include information about the actual location of the service provider and service user at the first time. there is. As another example, the correct answer information may include information about the service actually selected by the service provider among the services recommended to the service provider, and the actual matching time it took for the service provider to match with the next service user after the selected service was performed. You can. The correct answer information collection unit 1500 may output the received correct answer information to the update unit 1600.

업데이트부(1600)는 정답 정보 수집부(1500)로부터 정답 정보를 수신할 수 있다. 업데이트부(1600)는 정답 정보에 기초하여, 콜 추천 시스템(1000)의 예측 정확도가 향상되도록 데이터 수집부(1100), 매칭 시간 예측부(1200), 가격 결정부(1300) 등을 업데이트할 수 있다. The update unit 1600 may receive correct answer information from the correct answer information collection unit 1500. Based on the correct answer information, the update unit 1600 can update the data collection unit 1100, matching time prediction unit 1200, price determination unit 1300, etc. to improve the prediction accuracy of the call recommendation system 1000. there is.

업데이트부(1600)는 정답 정보에 기초하여, 데이터 수집부(1100)에 의해 수집되는 데이터의 양, 데이터의 형식을 변경할 수 있다. 예로서, 데이터 수집부(1100)가 제 1 시간 구간부터 제 N 시간 구간 각각의 서비스 이용자의 평균 위치에 관한 데이터를 수집하는 경우, 업데이트부(1600)의 업데이트 동작에 의해 시간 구간들(제 1 시간 구간 ~ 제 N 시간 구간)의 시간 길이 및/또는 “N”의 크기가 변경될 수 있다. The update unit 1600 may change the amount and format of data collected by the data collection unit 1100 based on the correct answer information. For example, when the data collection unit 1100 collects data about the average location of service users in each of the N time intervals from the first time interval, the time intervals (the first The time length of the time interval to the Nth time interval) and/or the size of “N” may be changed.

업데이트부(1600)는 정답 정보에 기초하여, 매칭 시간 예측부(1200)의 딥러닝 기반 학습 모델들(RNN 학습 모델, 예측 학습 모델)을 학습시킬 수 있다. 업데이트부(1600)의 업데이트 동작으로 인해, 매칭 시간 예측부(1200)의 예측 정확도가 향상될 수 있다.The update unit 1600 may train deep learning-based learning models (RNN learning model, prediction learning model) of the matching time prediction unit 1200 based on the correct answer information. Due to the update operation of the update unit 1600, the prediction accuracy of the matching time prediction unit 1200 may be improved.

업데이트부(1600)는 정답 정보에 기초하여, 가격 결정부(1300)의 동적 가격 결정 모델을 업데이트할 수 있다. 서비스 제공자의 선호도에 변동이 있는 경우, 업데이트부(1600)의 업데이트 동작에 의해, 가격 결정부(1300)는 변동된 서비스 제공자의 선호도를 반영하여 동적 가격을 결정할 수 있다. The update unit 1600 may update the dynamic pricing model of the price determination unit 1300 based on the correct answer information. If there is a change in the service provider's preference, the update operation of the update unit 1600 allows the price determination unit 1300 to determine a dynamic price by reflecting the changed service provider's preference.

즉, 본 발명은 대리운전 서비스 시스템 분야, 개인화 추천 알고리즘 분야, 수요 예측 분야, 동적 가격 결정 알고리즘 분야에서 이용될 수 있다. 본 발명은 딥러닝 알고리즘에 기반하여 매칭 시간을 예측할 수 있다. 본 발명은 예측된 매칭 시간과 서비스 제공자의 선호도를 고려하여 콜들의 순위를 매김으로써, 서비스 제공자들의 가동률, 개인별 기대 수익 비용, 개별 비용 효율을 증가시킬 수 있다. In other words, the present invention can be used in the field of designated driver service system, personalized recommendation algorithm, demand prediction, and dynamic price determination algorithm. The present invention can predict matching time based on a deep learning algorithm. The present invention can increase service providers' operation rate, individual expected revenue cost, and individual cost efficiency by ranking calls by considering the predicted matching time and the service provider's preference.

또한, 본 발명은 매칭 시간을 고려하여 가격을 결정하는 동적 가격 결정 알고리즘을 이용하여, 비선호 콜이 매칭되지 않는 현상을 해결할 수 있고, 공급, 수요 법칙에 따른 합리적인 가격 변동으로 서비스 제공자 및 서비스 이용자를 상호 만족시킬 수 있다. 본 발명은 서비스 제공자들의 선호도를 반영하여 콜을 추천함으로써, 서비스 제공자와 서비스 이용자의 매칭률을 상승시킬 수 있다. In addition, the present invention uses a dynamic price determination algorithm that determines the price by considering the matching time, which can solve the phenomenon of non-preferred calls not being matched, and can help service providers and service users with reasonable price changes according to the laws of supply and demand. can be mutually satisfying. The present invention can increase the matching rate between service providers and service users by recommending calls by reflecting the preferences of service providers.

도 3은 도 2의 콜 추천 시스템의 동작들을 설명하기 위한 흐름도이다. FIG. 3 is a flowchart for explaining the operations of the call recommendation system of FIG. 2.

S110 동작에서, 도 2의 콜 추천 시스템(1000)은 서비스 이용자로부터 콜을 수신할 수 있다. In operation S110, the call recommendation system 1000 of FIG. 2 may receive a call from a service user.

S120 동작에서, 콜이 수신되는 경우, 콜 추천 시스템(1000)은 서비스 이용자들 및 서비스 제공자들에 대한 위치 데이터를 수집할 수 있다. 구체적으로, 추천 시스템(1000)은 서비스 이용자들 및 서비스 제공자들의 과거 위치 데이터 및 현재 위치 데이터를 수집할 수 있다. In operation S120, when a call is received, the call recommendation system 1000 may collect location data about service users and service providers. Specifically, the recommendation system 1000 may collect past location data and current location data of service users and service providers.

S130 동작에서, 콜 추천 시스템(1000)은 위치 데이터 및 RNN 학습 모델에 기초하여, 서비스 이용자들 및 서비스 제공자들의 미래 위치를 예측할 수 있다. In operation S130, the call recommendation system 1000 may predict the future locations of service users and service providers based on location data and a RNN learning model.

S140 동작에서, 콜 추천 시스템(1000)은 서비스 이용자들 및 서비스 제공자들의 미래 위치, 부가 데이터, 예측 학습 모델에 기초하여, 서비스의 매칭 시간을 예측할 수 있다. “부가 데이터” 및 “매칭 시간”은 도 2를 참조하여 설명되었으므로, 이하 중복되는 설명은 생략된다.In operation S140, the call recommendation system 1000 may predict the matching time of a service based on the future locations of service users and service providers, additional data, and a predictive learning model. Since “additional data” and “matching time” have been described with reference to FIG. 2, redundant descriptions will be omitted below.

S150 동작에서, 콜 추천 시스템(1000)은 동적 가격 결정 모델에 기초하여, 서비스들 각각의 가격을 결정할 수 있다. 서비스의 가격은 S140 동작에서 예측된 서비스의 매칭 시간의 제곱이 증가함에 따라, 증가할 수 있다. 또한, 서비스의 가격은 서비스의 대기 시간이 증가함에 따라, 증가할 수 있다. “대기 시간”은 도 2를 참조하여 설명되었으므로, 이하 중복되는 설명은 생략된다.In operation S150, the call recommendation system 1000 may determine a price for each of the services based on a dynamic pricing model. The price of the service may increase as the square of the matching time of the service predicted in operation S140 increases. Additionally, the price of the service may increase as the waiting time of the service increases. Since “waiting time” has been described with reference to FIG. 2, redundant description will be omitted below.

S160 동작에서, 콜 추천 시스템(1000)은 선호도 데이터 및 서비스들 각각의 가격에 기초하여, 서비스 제공자의 기호에 맞는 서비스들 각각의 최종 점수를 계산할 수 있다. 구체적으로, 콜 추천 시스템(1000)은 선호도 데이터에 기초하여, 서비스 제공자가 비선호하는 콜들을 필터링할 수 있다. 콜 추천 시스템(1000)은 서비스 제공자가 선호하는 콜들 각각의 최종 점수를 계산할 수 있다. 서비스의 최종 점수는 서비스의 가격이 증가함에 따라 높아지고, 서비스의 매칭 시간이 증가함에 따라 낮아질 수 있다. In operation S160, the call recommendation system 1000 may calculate a final score for each service that suits the service provider's preference, based on preference data and the price of each service. Specifically, the call recommendation system 1000 may filter calls that are not preferred by the service provider based on preference data. The call recommendation system 1000 can calculate the final score for each call preferred by the service provider. The final score of a service may increase as the price of the service increases and may decrease as the matching time of the service increases.

S170 동작에서, 콜 추천 시스템(1000)은 최종 점수가 높은 순서대로, 서비스들의 최종 순위를 결정할 수 있다. 서비스 제공자는 서비스들의 최종 순위를 참조하여, 서비스들 중 적어도 하나를 선택할 수 있다. 서비스 제공자는 선택된 서비스를 수행할 수 있다. In operation S170, the call recommendation system 1000 may determine the final ranking of services in order of highest final score. The service provider may select at least one of the services by referring to the final ranking of the services. The service provider may perform the selected service.

서비스 제공자가 선택된 서비스를 수행한 후, S180 동작에서, 콜 추천 시스템(1000)은 예측에 대한 정답 정보를 수집할 수 있다. “정답 정보”는 도 2를 참조하여 설명되었으므로, 이하 중복되는 설명은 생략된다.After the service provider performs the selected service, in operation S180, the call recommendation system 1000 may collect correct answer information for the prediction. “Correct answer information” has been described with reference to FIG. 2, so redundant description will be omitted below.

S190 동작에서, 콜 추천 시스템(1000)은 정답 정보에 기초하여, 콜 추천 시스템(1000)의 구성들(1100~1400)을 업데이트할 수 있다. 구체적으로, 콜 추천 시스템(1000)은 정답 정보를 이용하여, 콜 추천 시스템(1000)에 저장된 딥러닝 기반 학습 모델들을 학습시킬 수 있다. 따라서, 콜 추천 시스템(1000)의 예측 정확도가 향상될 수 있다. In operation S190, the call recommendation system 1000 may update the configurations 1100 to 1400 of the call recommendation system 1000 based on the correct answer information. Specifically, the call recommendation system 1000 can use the correct answer information to train deep learning-based learning models stored in the call recommendation system 1000. Accordingly, the prediction accuracy of the call recommendation system 1000 can be improved.

도 4는 도 2의 매칭 시간 예측부의 동작을 설명하기 위한 흐름도이다. FIG. 4 is a flowchart for explaining the operation of the matching time prediction unit of FIG. 2.

도 2의 매칭 시간 예측부(1200)는 데이터 수집부(1100)로부터 위치 데이터를 수신할 수 있다. 데이터 수집부(1100)로부터 수집된 위치 데이터는 서비스 이용자들의 시간에 따른 위치 정보 및 서비스 제공자들의 시간에 따른 위치 정보를 포함할 수 있다. 매칭 시간 예측부(1200)는 과거부터 현재까지의 서비스 이용자들의 위치 및 서비스 제공자들의 위치를 특정 시간 단위로 데이터화시킬 수 있다. 구체적으로, 서비스 제공자의 위치 데이터는 제 1 시간 구간부터 제 N 시간 구간까지의 시간 구간들 각각에서의 서비스 제공자의 평균 위치를 나타낼 수 있다. 예로서, 시간 구간들 각각의 시간 길이는 30분이고, 'N'은 8일 수 있다. 이 경우, 매칭 시간 예측부(1200)는 과거 4시간 동안의 서비스 제공자의 위치에 기반하여, 30분 이후의 서비스 제공자의 위치를 예측할 수 있다. 위치 데이터는 행렬(matrix) 형태일 수 있고, 엔트리(entry) 각각에는 서비스 제공자의 위치 좌표가 표시될 수 있다. 하나의 매트릭스는 특정 시간 구간에서의 서비스 제공자들의 평균 위치를 나타낼 수 있다. 서비스 이용자의 위치 데이터 역시, 서비스 제공자의 위치 데이터와 유사한 형태일 수 있다. The matching time prediction unit 1200 of FIG. 2 may receive location data from the data collection unit 1100. Location data collected from the data collection unit 1100 may include time-dependent location information of service users and time-dependent location information of service providers. The matching time prediction unit 1200 can dataize the locations of service users and service providers from the past to the present in specific time units. Specifically, the location data of the service provider may represent the average location of the service provider in each of the time sections from the first time section to the Nth time section. As an example, the time length of each of the time intervals may be 30 minutes, and 'N' may be 8. In this case, the matching time prediction unit 1200 can predict the location of the service provider 30 minutes later based on the location of the service provider over the past 4 hours. The location data may be in the form of a matrix, and each entry may display the location coordinates of the service provider. One matrix may represent the average location of service providers in a specific time period. The service user's location data may also be in a similar form to the service provider's location data.

매칭 시간 예측부(1200)는 서비스 이용자들의 위치 데이터 및 서비스 제공자들의 위치 데이터를 RNN 알고리즘에 입력할 수 있다. 위에서 언급하였듯이 본 발명은 이에 한정되지 않고, 매칭 시간 예측부(1200)는 RNN 알고리즘 중 LSTM 알고리즘을 이용할 수도 있다. 매칭 시간 예측부(1200)는 RNN 알고리즘을 이용하여, 서비스 이용자들의 미래 위치 및 서비스 제공자들의 미래 위치를 예측할 수 있다. The matching time prediction unit 1200 may input location data of service users and location data of service providers into the RNN algorithm. As mentioned above, the present invention is not limited to this, and the matching time prediction unit 1200 may use the LSTM algorithm among the RNN algorithms. The matching time prediction unit 1200 can predict the future location of service users and the future location of service providers using a RNN algorithm.

매칭 시간 예측부(1200)는 벡터화 알고리즘을 이용하여, 부가 데이터를 임베딩시켜 벡터 데이터를 생성할 수 있다. 부가 데이터는 서비스에 관한 서비스 데이터 및 서비스가 요청된 날짜와 관련된 중장기 데이터를 포함할 수 있다. 예로서, 서비스 데이터는 서비스 이용자의 출발지, 서비스 이용자의 목적지, 서비스를 수행하는데 소요되는 시간, 출발지로부터 목적지까지의 거리에 관한 정보를 포함할 수 있다. 중장기 데이터는 현재 시각, 서비스가 요청된 날짜의 요일, 서비스가 요청된 날짜가 공휴일인지 여부, 서비스가 요청된 날짜의 계절에 관한 정보를 포함할 수 있다. 중장기 데이터는 중장기적(예로서, 주간, 월간, 연간)인 관점에서 서비스 제공자 및 서비스 이용자의 위치 패턴과 콜들의 내재된 패턴을 찾기 위한 데이터일 수 있다. 부가 데이터는 서비스 이용자들 및 서비스 제공자들의 미래 위치에 대한 예측 정확도 및/또는 매칭 시간에 대한 예측 정확도를 향상시키기 위한 정보로 이용될 수 있다. The matching time prediction unit 1200 may generate vector data by embedding additional data using a vectorization algorithm. Additional data may include service data regarding the service and mid- to long-term data related to the date the service was requested. As an example, service data may include information about the service user's origin, the service user's destination, the time required to perform the service, and the distance from the origin to the destination. Mid- to long-term data may include information about the current time, the day of the week on the date the service is requested, whether the date the service is requested is a public holiday, and the season on the date the service is requested. Mid- to long-term data may be data for finding the location patterns of service providers and service users and inherent patterns of calls from a mid- to long-term (e.g., weekly, monthly, annual) perspective. Additional data may be used as information to improve prediction accuracy for future locations and/or matching times of service users and service providers.

매칭 시간 예측부(1200)는 RNN 알고리즘으로부터 출력된 결과 데이터 및 벡터 데이터를 매칭 시간 예측 알고리즘에 입력할 수 있다. 매칭 시간 예측부(1200)는 매칭 시간 예측 알고리즘을 이용하여, 콜들의 매칭 시간을 예측할 수 있다. 매칭 시간 예측부(1200)는 예측된 매칭 시간이 짧은 순서대로 콜들의 순위를 결정할할 수 있다. The matching time prediction unit 1200 may input result data and vector data output from the RNN algorithm to the matching time prediction algorithm. The matching time prediction unit 1200 can predict the matching times of calls using a matching time prediction algorithm. The matching time prediction unit 1200 may determine the ranking of calls in the order of shortest predicted matching time.

도 5는 도 2의 매칭 시간 예측부의 동작을 설명하기 위한 흐름도이다. FIG. 5 is a flowchart for explaining the operation of the matching time prediction unit of FIG. 2.

도 2의 매칭 시간 예측부(1200)는 데이터 수집부(1100)로부터 위치 데이터를 수신할 수 있다. 데이터 수집부(1100)로부터 수집된 위치 데이터는 서비스 이용자들의 시간에 따른 위치 정보 및 서비스 제공자들의 시간에 따른 위치 정보를 포함할 수 있다. 매칭 시간 예측부(1200)가 위치 데이터를 수집하는 방식은 도 4를 참조하여 설명된 방식과 실질적으로 동일할 수 있다. 따라서, 이하 중복되는 설명은 생략된다.The matching time prediction unit 1200 of FIG. 2 may receive location data from the data collection unit 1100. Location data collected from the data collection unit 1100 may include time-dependent location information of service users and time-dependent location information of service providers. The method by which the matching time prediction unit 1200 collects location data may be substantially the same as the method described with reference to FIG. 4 . Accordingly, redundant description below will be omitted.

매칭 시간 예측부(1200)는 과거부터 현재까지의 서비스 이용자들의 위치 및 서비스 제공자들의 위치를 특정 시간 단위에 따라 2차원 형태의 히트맵 형태로 변환할 수 있다. The matching time prediction unit 1200 can convert the locations of service users and service providers from the past to the present into a two-dimensional heat map according to specific time units.

매칭 시간 예측부(1200)는 히트맵 형태의 서비스 이용자들의 위치 데이터 및 서비스 제공자들의 위치 데이터를 CNN-RNN 알고리즘의 입력 데이터로 이용할 수 있다. 위에서 언급하였듯이 본 발명은 이에 한정되지 않고, 매칭 시간 예측부(1200)는 CNN-RNN 알고리즘 중 CNN-LSTM 알고리즘을 이용할 수도 있다. 매칭 시간 예측부(1200)는 CNN-RNN 알고리즘을 이용하여, 서비스 이용자들의 미래 위치 및 서비스 제공자들의 미래 위치를 예측할 수 있다.The matching time prediction unit 1200 may use heat map-type location data of service users and location data of service providers as input data for the CNN-RNN algorithm. As mentioned above, the present invention is not limited to this, and the matching time prediction unit 1200 may use the CNN-LSTM algorithm among the CNN-RNN algorithms. The matching time prediction unit 1200 can predict the future location of service users and the future location of service providers using a CNN-RNN algorithm.

도 4를 참조하여 설명된 것과 실질적으로 동일한 방법으로, 매칭 시간 예측부(1200)는 CNN-RNN 알고리즘으로부터 출력된 결과 데이터 및 벡터 데이터를 이용하여, 콜들의 매칭 시간을 예측할 수 있다. 매칭 시간 예측부(1200)는 예측된 매칭 시간이 짧은 순서대로 콜들의 순위를 결정할 수 있다. In substantially the same way as described with reference to FIG. 4, the matching time prediction unit 1200 can predict the matching times of calls using result data and vector data output from the CNN-RNN algorithm. The matching time prediction unit 1200 may determine the ranking of calls in the order of shortest predicted matching time.

도 6은 도 2의 가격 결정부 및 최종 순위 결정부의 동작을 설명하기 위한 개념도이다. FIG. 6 is a conceptual diagram for explaining the operation of the price determination unit and the final ranking unit of FIG. 2.

도 2의 가격 결정부(1200)는 동적 가격 결정 알고리즘을 이용하여, 콜들의 가격을 결정할 수 있다. 가격 결정부(1200)는 아래의 [수학식 1]을 이용하여, 콜들의 가격을 계산할 수 있다.The pricing unit 1200 of FIG. 2 can determine the prices of calls using a dynamic pricing algorithm. The price determination unit 1200 can calculate the price of calls using [Equation 1] below.

Figure 112020038309526-pat00001
Figure 112020038309526-pat00001

[수학식 1]은 시각 't'에서의 서비스의 가격을 구하기 위한 식일 수 있다. [수학식 1]을 참조하면, “Pt(Di)”는 시각 't'에서의 서비스의 가격일 수 있다. “Pt-1(Di)”는 시각 't-1'에서의 서비스의 가격을 의미한다. 시각 't-1'은 시각 't'보다 과거의 시간을 의미할 수 있다. 도 2의 가격 결정부(1300)는 주기적으로 서비스의 가격을 업데이트할 수 있다. 이 경우, “Pt-1(Di)”는 서비스의 가격이 “Pt(Di)”로 업데이트 되기 이전의 서비스의 가격을 의미한다. “lt(Di)”는 서비스가 매칭되지 않고 있는 대기 시간을 의미할 수 있다. “W(lt)”는 대기 시간이 서비스의 가격에 미칠 가중치를 의미할 수 있다. 즉, 서비스의 가격(Pt(Di))은 서비스의 대기 시간(lt(Di))이 증가함에 따라 높아질 수 있다. [Equation 1] may be an equation for finding the price of the service at time 't'. Referring to [Equation 1], “P t (Di)” may be the price of the service at time ‘t’. “P t-1 (Di)” means the price of the service at time ‘t-1’. Time 't-1' may mean a time in the past than time 't'. The price determination unit 1300 of FIG. 2 may periodically update the price of the service. In this case, “P t-1 (Di)” means the price of the service before the service price was updated to “P t (Di)”. “l t (Di)” may mean the waiting time when the service is not matched. “W(l t )” may mean the weight that waiting time will have on the price of the service. In other words, the price of the service (P t (Di)) can increase as the waiting time (l t (Di)) of the service increases.

[수학식 1]을 참조하면, “Wt+1(Di)”는 서비스 제공자가 당해 서비스를 완료한 후부터 다음 서비스와 매칭될 때까지 소요되는 매칭 시간을 의미할 수 있다. “w(Wt+1)”는 매칭 시간이 서비스의 가격에 미칠 가중치를 의미할 수 있다. 가중치들(w(lt), w(Wt+1))은 서비스 제공자의 높은 가격에 대한 선호도와 짧은 매칭 시간에 대한 선호도에 따라 결정될 수 있다. 즉, 서비스의 가격(Pt(Di))은 서비스의 매칭 시간의 제곱(Wt+1(Di)2) 값이 증가함에 따라, 높아질 수 있다. Referring to [Equation 1], “W t+1 (Di)” may mean the matching time required from when the service provider completes the service until matching with the next service. “w(W t+1 )” may mean the weight that the matching time will have on the price of the service. The weights (w(l t ), w(W t+1 )) may be determined according to the service provider's preference for high prices and preference for short matching times. In other words, the price of the service (P t (Di)) may increase as the value of the square of the matching time of the service (W t+1 (Di) 2 ) increases.

즉, 서비스의 가격(Pt(Di))은 서비스의 대기 시간(lt(Di)) 및 서비스의 매칭 시간(Wt+1(Di))이 증가함에 따라, 높아질 수 있다. 본 명세서에서, “X”가 “Y”에 비례하여 증가한다는 표현은 “X”가 증가함에 따라 “Y”도 증가하는 것을 의미한다. 서비스의 대기 시간(lt(Di))이 길다는 것은 서비스 제공자들이 해당 서비스를 선호하지 않는다는 것을 의미한다. 매칭 시간(Wt+1(Di))이 긴 서비스 역시, 서비스 제공자들이 선호하지 않을 가능성이 높다. 따라서, 본 발명은 서비스의 대기 시간(lt(Di)) 및 매칭 시간(Wt+1(Di))이 증가함에 따라 서비스의 가격(Pt(Di))을 높임으로써, 서비스 제공자가 선택하지 않는 기아 콜이 생기는 것을 방지할 수 있다. 본 발명에 따르면, 서비스 제공자에 의해 선택되지 않는 기아 콜들이 감소되어, 본 발명의 서비스 품질이 향상될 수 있다. In other words, the price of the service (P t (Di)) may increase as the waiting time of the service (l t (Di)) and the matching time of the service (W t+1 (Di)) increase. In this specification, the expression that “X” increases in proportion to “Y” means that “Y” also increases as “X” increases. A long service waiting time (l t (Di)) means that service providers do not prefer the service. Services with a long matching time (W t+1 (Di)) are also likely to be not preferred by service providers. Therefore, the present invention increases the price of the service (P t (Di)) as the waiting time (l t (Di)) and matching time (W t+1 (Di)) of the service increases, so that the service provider selects This can prevent unanswered starvation calls from occurring. According to the present invention, starvation calls that are not selected by the service provider can be reduced, thereby improving the quality of service of the present invention.

가격 결정부(1200)는 서비스들(A, B, C, D, E)의 동적 가격을 결정할 수 있다. 도 6을 참조하면, 서비스들(A, B, C, D, E)을 동적 가격이 높은 순서대로 나열하면 “C”, “D”, “E“, “A”, “B” 순서대로 나열될 수 있다. The price determination unit 1200 may determine dynamic prices of services (A, B, C, D, and E). Referring to Figure 6, if the services (A, B, C, D, E) are listed in descending order of dynamic price, “C”, “D”, “E“, “A”, “B” are listed in that order. It can be.

위에서 언급하였듯이, 가격 결정부(1200)는 서비스의 동적 가격을 주기적으로 업데이트 할 수 있다. 이 과정에서, 서비스 이용자의 요청에 따라 순위 결정 대상에 새로운 서비스가 추가될 수 있고, 서비스 제공자가 서비스를 선택하는 경우 순위 결정 대상에서 선택된 서비스가 제외될 수도 있다. 또한, 이 과정에서, 대기 시간 및/또는 매칭 시간이 증가된 서비스의 동적 가격은 증가할 수 있다. 따라서, 동적 가격에 따른 서비스들의 순위가 변경될 수 있다. As mentioned above, the price determination unit 1200 may periodically update the dynamic price of the service. In this process, new services may be added to the ranking subject at the request of the service user, and when the service provider selects a service, the selected service may be excluded from the ranking determination subject. Additionally, in this process, the dynamic price of services with increased waiting time and/or matching time may increase. Accordingly, the ranking of services according to dynamic prices may change.

도 2의 최종 순위 결정부(1400)는 서비스들(A, B, C, D, E)의 동적 가격에 대한 가격 정보를 수신할 수 있다. 최종 순위 결정부(1400)는 도 2의 데이터 수집부(1100)로부터 선호도 데이터를 수신할 수 있다. 최종 순위 결정부(1400)는 선호도 데이터에 기초하여, 서비스 제공자의 선호도에 맞지 않은 서비스(D)를 필터링할 수 있다. 최종 순위 결정부(1400)는 서비스(D)를 제외한 나머지 서비스들(A, B, C, E)의 최종 순위를 결정함으로써, 계산 효율을 향상시킬 수 있다. The final ranking unit 1400 of FIG. 2 may receive price information about the dynamic prices of services (A, B, C, D, and E). The final ranking unit 1400 may receive preference data from the data collection unit 1100 of FIG. 2 . The final ranking unit 1400 may filter the service (D) that does not meet the service provider's preference based on preference data. The final ranking unit 1400 can improve calculation efficiency by determining the final ranking of the remaining services (A, B, C, and E) excluding the service (D).

최종 순위 결정부(1400)는 아래의 [수학식 2]를 이용하여, 서비스들(A, B, C, E) 각각의 최종 점수를 계산할 수 있다. 최종 순위 결정부(1400)는 최종 점수가 높은 순서대로 서비스들(A, B, C, E)의 최종 순위를 결정할 수 있다. The final ranking unit 1400 can calculate the final score for each of the services (A, B, C, and E) using [Equation 2] below. The final ranking unit 1400 may determine the final ranking of the services (A, B, C, and E) in order of highest final score.

Figure 112020038309526-pat00002
Figure 112020038309526-pat00002

[수학식 2]는 서비스의 최종 점수(Ri)를 구하기 위한 식일 수 있다. [수학식 1]을 참조하여 설명되었듯이, “Pt(Di)”는 시각 't'에서의 서비스의 가격이고, “Wt+1(Di)”는 서비스 제공자가 당해 서비스를 완료한 후부터 다음 서비스와 매칭될 때까지 소요되는 매칭 시간일 수 있다. “m(Pt)”는 서비스의 가격이 서비스의 최종 점수에 미칠 가중치를 의미할 수 있다. “m(Wt+1)”은 서비스의 매칭 시간이 서비스의 최종 점수에 미칠 가중치를 의미할 수 있다. 가중치들(m(Pt), m(Wt+1))은 높은 가격에 대한 서비스 제공자의 선호도와 높은 매칭 시간에 대한 서비스 제공자의 비선호도에 따라 결정될 수 있다. [Equation 2] may be an equation for calculating the final score (Ri) of the service. As explained with reference to [Equation 1], “P t (Di)” is the price of the service at time ‘t’, and “W t+1 (Di)” is the price after the service provider completes the service. This may be the matching time required until matching with the next service. “m(P t )” may mean the weight that the price of the service will have on the final score of the service. “m(W t+1 )” may mean the weight that the matching time of the service will have on the final score of the service. The weights (m(P t ), m(W t+1 )) may be determined according to the service provider's preference for high price and the service provider's non-preference for high matching time.

[수학식 2]를 참조하면, 서비스의 최종 점수는 가격의 감소 및/또는 매칭 시간의 증가에 의해, 감소할 수 있다. 또한, 서비스의 최종 점수는 가격의 증가 및/또는 매칭 시간의 감소에 의해, 증가할 수 있다. 서비스의 최종 점수는 가격이 높아짐에 따라 높아지고, 매칭 시간이 증가함에 따라 낮아질 수 있다. 즉, 서비스의 최종 점수는 본 발명에 한정되지 않고, 서비스의 최종 점수가 가격이 높아짐에 따라 높아지고, 매칭 시간이 증가함에 따라 낮아지도록 구성된 수학식에 의해 결정될 수 있다 예로서, 서비스의 최종 점수는 아래의 [수학식 3]에 의해 결정될 수도 있다. Referring to [Equation 2], the final score of the service may decrease by decreasing the price and/or increasing the matching time. Additionally, the final score of a service may increase by increasing the price and/or decreasing the matching time. The final score of a service may increase as the price increases and may decrease as the matching time increases. That is, the final score of the service is not limited to the present invention, and may be determined by a mathematical equation configured such that the final score of the service increases as the price increases and decreases as the matching time increases. For example, the final score of the service is It can also be determined by [Equation 3] below.

Figure 112020038309526-pat00003
Figure 112020038309526-pat00003

[수학식 3]을 참조하면, “m1(Pt)”는 서비스의 가격이 서비스의 최종 점수에 미칠 가중치를 의미할 수 있다. “m1(Wt+1)”은 서비스의 매칭 시간이 서비스의 최종 점수에 미칠 가중치를 의미할 수 있다. Referring to [Equation 3], “m 1 (P t )” may mean the weight that the price of the service will have on the final score of the service. “m 1 (W t+1 )” may mean the weight that the matching time of the service will have on the final score of the service.

최종 순위 결정부(1400)는 서비스들(A, B, C, E) 각각의 최종 점수를 결정할 수 있다. 도 6을 참조하면, 서비스들(A, B, C, E)을 최종 점수가 높은 순서대로 나열하면 “C”, “E“, “A”, “B” 순서대로 나열될 수 있다. The final ranking unit 1400 may determine the final score for each of the services (A, B, C, and E). Referring to FIG. 6, if the services (A, B, C, E) are listed in order of highest final score, they may be listed in the order of “C”, “E“, “A”, and “B”.

상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.The above-described details are specific embodiments for carrying out the present invention. The present invention will include not only the above-described embodiments, but also embodiments that can be simply changed or easily changed in design. In addition, the present invention will also include technologies that can be easily modified and implemented using the embodiments. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the claims and equivalents of the present invention as well as the claims described later.

Claims (10)

서비스 이용자로부터 서비스가 요청되는 경우, 상기 서비스 이용자의 과거 위치를 나타내는 제 1 과거 데이터 및 상기 서비스 이용자의 현재 위치를 나타내는 제 1 현재 데이터 및 서비스 제공자의 과거 위치를 나타내는 제 2 과거 데이터 및 상기 서비스 제공자의 현재 위치를 나타내는 제 2 현재 데이터를 수집하도록 구성되는 데이터 수집부;
상기 제 1 및 제 2 과거 데이터, 상기 제 1 및 제 2 현재 데이터를 RNN(Recurrent Neural Network) 학습 모델에 입력하여 상기 서비스 이용자의 미래 위치 및 상기 서비스 제공자의 미래 위치를 예측하고, 상기 서비스 이용자의 상기 미래 위치에 관한 제 1 예측 데이터 및 상기 서비스 제공자의 상기 미래 위치에 관한 제 2 예측 데이터를 예측 학습 모델에 입력하여 상기 서비스 제공자가 상기 서비스를 선택할 경우 상기 서비스 제공자가 상기 서비스를 완료한 후부터 상기 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 소요될 매칭 시간을 예측하도록 구성되는 매칭 시간 예측부;
상기 매칭 시간이 증가함에 따라 상기 서비스에 대한 가격이 높아지도록 상기 가격을 결정하는 가격 결정부; 및
상기 서비스에 관한 상기 서비스 제공자의 선호도를 나타내는 선호도 데이터 및 상기 가격에 기초하여, 상기 서비스 제공자에게 요청된 서비스들 중에서 상기 서비스의 추천 순위를 결정하는 최종 순위 결정부를 포함하되,
상기 RNN 학습 모델 및 상기 예측 학습 모델 각각은 딥러닝 알고리즘에 기반하고,
상기 가격 결정부는 특정 시간이 지나도록 상기 서비스 이용자가 상기 콜 추천 시스템을 이용하는 서비스 제공자와 매칭되지 않는 경우, 상기 가격을 조정하고,
상기 조정된 가격은 (제 1 가중치)*(상기 서비스 이용자가 상기 콜 추천 시스템을 이용하는 상기 서비스 제공자와 매칭되지 않고 있는 대기 시간)*(상기 가격)+(제 2 가중치)*(상기 매칭 시간)2인 콜 추천 시스템.
When a service is requested from a service user, first past data indicating the past location of the service user and first current data indicating the current location of the service user and second past data indicating the past location of the service provider and the service provider a data collection unit configured to collect second current data indicating the current location of;
The first and second past data and the first and second current data are input into a Recurrent Neural Network (RNN) learning model to predict the future location of the service user and the future location of the service provider, and predict the future location of the service user. When the service provider selects the service by inputting the first prediction data about the future location and the second prediction data about the future location of the service provider into a predictive learning model, the service provider completes the service. a matching time prediction unit configured to predict the matching time it will take for the service provider to match with the next service user;
a price determination unit that determines the price so that the price for the service increases as the matching time increases; and
A final ranking unit that determines a recommendation ranking of the service among services requested from the service provider based on the price and preference data indicating the service provider's preference for the service,
Each of the RNN learning model and the prediction learning model is based on a deep learning algorithm,
The price determination unit adjusts the price if the service user is not matched with a service provider using the call recommendation system after a certain time,
The adjusted price is (the first weight) * (the waiting time when the service user is not matched with the service provider using the call recommendation system) * (the price) + (the second weight) * (the matching time) Two- person call recommendation system.
제 1 항에 있어서,
상기 매칭 시간 예측부는 CNN(Convolution Neural Network)-LSTM(Long-Short Term Memory) 알고리즘에 기반하는 상기 RNN 학습 모델을 사용하여, 상기 제 1 예측 데이터 및 상기 제 2 예측 데이터를 생성하는 콜 추천 시스템.
According to claim 1,
A call recommendation system in which the matching time prediction unit generates the first prediction data and the second prediction data using the RNN learning model based on a Convolution Neural Network (CNN)-Long-Short Term Memory (LSTM) algorithm.
삭제delete 제 1 항에 있어서,
상기 매칭 시간 예측부는 상기 서비스에 관한 서비스 데이터 및 상기 서비스가 요청된 날짜에 관한 중장기 데이터를 수신하고, 상기 서비스 데이터 및 상기 중장기 데이터를 벡터화하여 벡터 데이터를 생성하고, 상기 벡터 데이터, 상기 제 1 예측 데이터 및 상기 제 2 예측 데이터를 상기 예측 학습 모델에 입력하여 상기 매칭 시간을 예측하되,
상기 서비스 데이터는 상기 서비스 이용자의 출발지, 상기 서비스 이용자의 목적지, 상기 서비스를 수행하는데 소요되는 시간, 상기 출발지로부터 상기 목적지까지의 거리에 관한 정보를 포함하고,
상기 중장기 데이터는 현재 시각, 상기 서비스가 요청된 날짜의 요일, 상기 서비스가 요청된 날짜가 공휴일인지 여부, 상기 서비스가 요청된 날짜의 계절에 관한 정보를 포함하는 콜 추천 시스템.
According to claim 1,
The matching time prediction unit receives service data about the service and mid- to long-term data about the date on which the service was requested, vectorizes the service data and the mid- to long-term data to generate vector data, and generates vector data and the first prediction. Input data and the second prediction data into the prediction learning model to predict the matching time,
The service data includes information about the departure point of the service user, the destination of the service user, the time required to perform the service, and the distance from the departure point to the destination,
The mid- to long-term data includes information on the current time, the day of the week on the date on which the service is requested, whether the date on which the service is requested is a public holiday, and the season on the date on which the service is requested.
제 1 항에 있어서,
상기 최종 순위 결정부는 상기 선호도 데이터에 기초하여 상기 서비스가 상기 서비스 제공자의 상기 선호도에 적합한 서비스인지를 판단하고, 상기 서비스가 상기 선호도에 적합한 서비스인 경우 수학식 2에 따라 상기 서비스의 점수를 계산하고, 상기 점수에 따라 상기 서비스의 상기 추천 순위를 결정하는 콜 추천 시스템.
(수학식 2)
상기 계산된 점수=(제 1 가중치)*(상기 가격) - (제 2 가중치)*(상기 매칭 시간)
(상기 제 1 가중치 및 상기 제 2 가중치는 상기 가격과 상기 매칭 시간 각각에 대한 상기 서비스 이용자의 선호도와 관련있는 상수)
According to claim 1,
The final ranking unit determines whether the service is a service suitable for the preference of the service provider based on the preference data, and if the service is a service suitable for the preference, calculates the score of the service according to Equation 2, , A call recommendation system that determines the recommendation ranking of the service according to the score.
(Equation 2)
The calculated score = (first weight)*(the price) - (the second weight)*(the matching time)
(The first weight and the second weight are constants related to the service user's preference for the price and the matching time, respectively)
제 1 항에 있어서,
상기 최종 순위 결정부는 상기 선호도 데이터에 기초하여 상기 서비스가 상기 서비스 제공자의 상기 선호도에 적합한 서비스인지를 판단하고, 상기 서비스가 상기 선호도에 적합한 서비스인 경우 수학식 3에 따라 상기 서비스의 점수를 계산하고, 상기 점수에 따라 상기 서비스의 상기 추천 순위를 결정하는 콜 추천 시스템.
(수학식 3)
상기 계산된 점수=((제 1 가중치)*(상기 가격)) / ((제 2 가중치)*(상기 매칭 시간))
(상기 제 1 가중치 및 상기 제 2 가중치는 상기 가격과 상기 매칭 시간 각각에 대한 상기 서비스 이용자의 선호도와 관련있는 상수)
According to claim 1,
The final ranking unit determines whether the service is a service suitable for the preference of the service provider based on the preference data, and if the service is a service suitable for the preference, calculates the score of the service according to Equation 3, , A call recommendation system that determines the recommendation ranking of the service according to the score.
(Equation 3)
The calculated score = ((first weight)*(the price)) / ((second weight)*(the matching time))
(The first weight and the second weight are constants related to the service user's preference for the price and the matching time, respectively)
제 1 항에 있어서,
상기 제 1 현재 데이터는 제 1 시간 구간에서의 상기 서비스 이용자의 평균 위치를 나타내고,
상기 제 2 현재 데이터는 상기 제 1 시간 구간에서의 상기 서비스 제공자의 평균 위치를 나타내고,
상기 제 1 예측 데이터는 상기 제 1 시간 구간 이후의 제 2 시각에서 상기 서비스 이용자가 있을 것으로 예측되는 상기 미래 위치를 나타내고,
상기 제 2 예측 데이터는 상기 제 2 시각에서 상기 서비스 제공자가 있을 것으로 예측되는 상기 미래 위치를 나타내고,
상기 제 2 시각에서 상기 서비스 이용자가 실제로 위치한 장소, 상기 제 2 시각에서 상기 서비스 제공자가 실제로 위치한 장소, 상기 서비스들 중에서 상기 서비스 제공자에 의해 선택된 서비스, 상기 선택된 서비스가 수행된 후 상기 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 걸린 실제 매칭 시간 등에 관한 정답 정보를 수집하는 정답 정보 수집부; 및
상기 정답 정보에 기초하여 상기 데이터 수집부, 상기 매칭 시간 예측부, 상기 가격 결정부 및 상기 최종 순위 결정부를 업데이트 하도록 구성되는 업데이트부를 더 포함하는 콜 추천 시스템.
According to claim 1,
The first current data represents the average location of the service user in a first time interval,
the second current data represents the average location of the service provider in the first time interval,
The first prediction data represents the future location where the service user is predicted to be at a second time after the first time interval,
the second predicted data represents the future location where the service provider is predicted to be at the second time,
The place where the service user is actually located at the second time, the place where the service provider is actually located at the second time, the service selected by the service provider among the services, and the next service provider after the selected service is performed. A correct answer information collection unit that collects correct answer information regarding the actual matching time taken to match a service user, etc.; and
A call recommendation system further comprising an update unit configured to update the data collection unit, the matching time prediction unit, the price determination unit, and the final ranking unit based on the correct answer information.
제 7 항에 있어서,
상기 제 1 과거 데이터는 복수의 시간 구간 각각에서의 상기 서비스 이용자의 평균 위치를 나타내고,
상기 제 2 과거 데이터는 상기 복수의 시간 구간 각각에서의 상기 서비스 제공자의 평균 위치를 나타내고,
상기 복수의 시간 구간은 상기 제 1 시간 구간 이전의 서로 상이한 시간 구간들이고,
상기 업데이트부는 상기 정답 정보에 기초하여 상기 복수의 시간 구간의 개수와 상기 복수의 시간 구간 각각의 시간 길이가 조정되도록 상기 데이터 수집부를 업데이트 하는 콜 추천 시스템.
According to claim 7,
The first past data represents the average location of the service user in each of a plurality of time intervals,
The second historical data represents an average location of the service provider in each of the plurality of time intervals,
The plurality of time sections are different time sections before the first time section,
The update unit updates the data collection unit so that the number of the plurality of time sections and the time length of each of the plurality of time sections are adjusted based on the correct answer information.
제 1 항에 있어서,
상기 매칭 시간 예측부는 CNN(Convolution Neural Network)-LSTM(Long-Short Term Memory) 알고리즘에 기반하는 상기 RNN 학습 모델을 사용하여 상기 제 1 예측 데이터 및 상기 제 2 예측 데이터를 생성하고, 상기 서비스에 관한 서비스 데이터 및 상기 서비스가 요청된 날짜에 관한 중장기 데이터를 수신하고, 상기 서비스 데이터 및 상기 중장기 데이터를 벡터화하여 벡터 데이터를 생성하고, 상기 벡터 데이터, 상기 제 1 예측 데이터 및 상기 제 2 예측 데이터를 상기 예측 학습 모델에 입력하여 상기 매칭 시간을 예측하고,
상기 가격 결정부는 특정 시간이 지나도록 상기 서비스 이용자가 상기 콜 추천 시스템을 이용하는 서비스 제공자와 매칭되지 않는 경우, 상기 가격을 조정하고, 상기 조정된 가격이 (제 1 가중치)*(상기 서비스 이용자가 상기 콜 추천 시스템을 이용하는 상기 서비스 제공자와 매칭되지 않고 있는 대기 시간)*(상기 가격)+(제 2 가중치)*(상기 매칭 시간)2이 되도록 상기 가격을 조정하고,
상기 최종 순위 결정부는 상기 선호도 데이터에 기초하여 상기 서비스가 상기 서비스 제공자의 상기 선호도에 적합한 서비스인지를 판단하고, 상기 서비스가 상기 선호도에 적합한 서비스인 경우 상기 서비스의 점수가 (제 1 가중치)*(상기 조정된 가격)이 증가함에 따라 높아지고, (제 2 가중치)*(상기 매칭 시간)이 증가함에 따라 낮아지도록 상기 점수를 계산하고, 상기 서비스의 상기 점수에 따라 상기 서비스의 상기 추천 순위를 결정하고,
상기 서비스 데이터는 상기 서비스 이용자의 출발지, 상기 서비스 이용자의 목적지, 상기 서비스를 수행하는데 소요되는 시간, 상기 출발지로부터 상기 목적지까지의 거리에 관한 정보를 포함하고,
상기 중장기 데이터는 현재 시각, 상기 서비스가 요청된 날짜의 요일, 상기 서비스가 요청된 날짜가 공휴일인지 여부, 상기 서비스가 요청된 날짜의 계절에 관한 정보를 포함하고,
상기 제 1 가중치 및 상기 제 2 가중치는 상기 조정된 가격과 상기 매칭 시간 각각에 대한 상기 서비스 이용자의 선호도에 따라 결정되고,
상기 제 1 현재 데이터는 제 1 시간 구간에서의 상기 서비스 이용자의 평균 위치를 나타내고,
상기 제 2 현재 데이터는 상기 제 1 시간 구간에서의 상기 서비스 제공자의 평균 위치를 나타내고,
상기 제 1 예측 데이터는 상기 제 1 시간 구간 이후의 제 2 시각에서 상기 서비스 이용자가 있을 것으로 예측되는 상기 미래 위치를 나타내고,
상기 제 2 예측 데이터는 상기 제 2 시각에서 상기 서비스 제공자가 있을 것으로 예측되는 상기 미래 위치를 나타내고,
상기 제 2 시각에서 상기 서비스 이용자가 실제로 위치한 장소, 상기 제 2 시각에서 상기 서비스 제공자가 실제로 위치한 장소, 상기 서비스들 중에서 상기 서비스 제공자에 의해 선택된 서비스, 상기 선택된 서비스가 수행된 후 상기 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 걸린 실제 매칭 시간 등에 관한 정답 정보를 수집하는 정답 정보 수집부; 및
상기 정답 정보에 기초하여 상기 데이터 수집부, 상기 매칭 시간 예측부, 상기 가격 결정부 및 상기 최종 순위 결정부를 업데이트 하도록 구성되는 업데이트부를 더 포함하는 콜 추천 시스템.
According to claim 1,
The matching time prediction unit generates the first prediction data and the second prediction data using the RNN learning model based on a Convolution Neural Network (CNN)-Long-Short Term Memory (LSTM) algorithm, and provides information about the service. Receive service data and mid- to long-term data regarding the date on which the service was requested, vectorize the service data and the mid- to long-term data to generate vector data, and combine the vector data, the first prediction data, and the second prediction data with the vector data. Predict the matching time by inputting it into a predictive learning model,
If the service user is not matched with a service provider using the call recommendation system after a certain time, the price determination unit adjusts the price, and the adjusted price is (first weight) * (the service user Adjusting the price so that waiting time that is not matched with the service provider using a call recommendation system) * (the price) + (the second weight) * (the matching time) 2 ,
The final ranking unit determines whether the service is a service suitable for the preference of the service provider based on the preference data, and if the service is a service suitable for the preference, the score of the service is (first weight)*( Calculate the score so that it increases as the adjusted price) increases and decreases as (second weight)*(the matching time) increases, and determines the recommendation ranking of the service according to the score of the service, ,
The service data includes information about the departure point of the service user, the destination of the service user, the time required to perform the service, and the distance from the departure point to the destination,
The mid- to long-term data includes information about the current time, the day of the week on the date on which the service is requested, whether the date on which the service is requested is a public holiday, and the season on the date on which the service is requested,
The first weight and the second weight are determined according to the service user's preference for each of the adjusted price and the matching time,
The first current data represents the average location of the service user in a first time interval,
the second current data represents the average location of the service provider in the first time interval,
The first prediction data represents the future location where the service user is predicted to be at a second time after the first time interval,
the second predicted data represents the future location where the service provider is predicted to be at the second time,
The place where the service user is actually located at the second time, the place where the service provider is actually located at the second time, the service selected by the service provider among the services, and the next service provider after the selected service is performed. A correct answer information collection unit that collects correct answer information regarding the actual matching time taken to match a service user, etc.; and
A call recommendation system further comprising an update unit configured to update the data collection unit, the matching time prediction unit, the price determination unit, and the final ranking unit based on the correct answer information.
컴퓨터로 구현되는 콜 추천 시스템에 있어서,
서비스 이용자로부터 서비스가 요청되는 경우, 상기 콜 추천 시스템에 의해, 상기 서비스 이용자의 과거 위치를 나타내는 제 1 과거 데이터 및 상기 서비스 이용자의 현재 위치를 나타내는 제 1 현재 데이터 및 서비스 제공자의 과거 위치를 나타내는 제 2 과거 데이터 및 상기 서비스 제공자의 현재 위치를 나타내는 제 2 현재 데이터를 수집하는 단계;
상기 콜 추천 시스템에 의해, 상기 제 1 과거 데이터, 상기 제 1 현재 데이터, 상기 제 2 과거 데이터 및 상기 제 2 현재 데이터를 RNN(Recurrent Neural Network) 학습 모델에 입력하여 상기 서비스 이용자의 미래 위치 및 상기 서비스 제공자의 미래 위치를 예측하고, 상기 서비스 이용자의 상기 미래 위치에 관한 제 1 예측 데이터 및 상기 서비스 제공자의 상기 미래 위치에 관한 제 2 예측 데이터를 예측 학습 모델에 입력하여 상기 서비스 제공자가 상기 서비스를 완료한 후부터 상기 서비스 제공자가 다음 서비스 이용자와 매칭될 때까지 소요될 매칭 시간을 예측하는 단계;
상기 콜 추천 시스템에 의해, 상기 서비스에 대한 가격이 상기 매칭 시간이 증가함에 따라 높아지도록 상기 가격을 계산하는 단계; 및
상기 콜 추천 시스템에 의해, 상기 서비스에 관한 상기 서비스 제공자의 선호도를 나타내는 선호도 데이터 및 상기 가격에 기초하여, 상기 서비스 제공자에게 요청된 서비스들 중에서 상기 서비스의 추천 순위를 결정하는 단계; 및
특정 시간이 지나도록 상기 서비스 이용자가 상기 콜 추천 시스템을 이용하는 서비스 제공자와 매칭되지 않는 경우, 상기 가격을 조정하는 단계를 포함하고,
상기 조정된 가격은 (제 1 가중치)*(상기 서비스 이용자가 상기 콜 추천 시스템을 이용하는 상기 서비스 제공자와 매칭되지 않고 있는 대기 시간)*(상기 가격)+(제 2 가중치)*(상기 매칭 시간)2
상기 RNN 학습 모델 및 상기 예측 학습 모델은 딥러닝 알고리즘에 기반하는 콜 추천 방법.
In a call recommendation system implemented by a computer,
When a service is requested from a service user, first past data indicating the past location of the service user, first current data indicating the current location of the service user, and first data indicating the past location of the service provider are provided by the call recommendation system. 2 collecting historical data and second current data indicating the current location of the service provider;
By the call recommendation system, the first past data, the first current data, the second past data, and the second current data are input into a RNN (Recurrent Neural Network) learning model to determine the future location of the service user and the Predict the future location of the service provider, input first prediction data about the future location of the service user and second prediction data about the future location of the service provider into a predictive learning model so that the service provider provides the service. Predicting the matching time required from completion until the service provider is matched with the next service user;
calculating, by the call recommendation system, the price for the service so that the price for the service increases as the matching time increases; and
determining, by the call recommendation system, a recommendation ranking of the service among services requested from the service provider based on the price and preference data indicating the service provider's preference for the service; and
If the service user is not matched with a service provider using the call recommendation system after a certain period of time, adjusting the price;
The adjusted price is (the first weight) * (the waiting time when the service user is not matched with the service provider using the call recommendation system) * (the price) + (the second weight) * (the matching time) 2 people
A call recommendation method in which the RNN learning model and the prediction learning model are based on a deep learning algorithm.
KR1020200044833A 2020-02-27 2020-04-13 Call recommendation system and call recommendation method based on artificial intelligence KR102377402B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/153,054 US11665281B2 (en) 2020-02-27 2021-01-20 Call recommendation system and call recommendation method based on artificial intelligence

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200024595 2020-02-27
KR1020200024595 2020-02-27

Publications (2)

Publication Number Publication Date
KR20210109410A KR20210109410A (en) 2021-09-06
KR102377402B1 true KR102377402B1 (en) 2022-03-22

Family

ID=77782531

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200044833A KR102377402B1 (en) 2020-02-27 2020-04-13 Call recommendation system and call recommendation method based on artificial intelligence

Country Status (1)

Country Link
KR (1) KR102377402B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019165451A1 (en) * 2018-02-26 2019-08-29 Nvidia Corporation Systems and methods for computer-assisted shuttles, buses, robo-taxis, ride-sharing and on-demand vehicles with situational awareness
CN115097989B (en) * 2022-07-25 2023-01-24 荣耀终端有限公司 Service card display method, electronic device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016127918A1 (en) * 2015-02-13 2016-08-18 北京嘀嘀无限科技发展有限公司 Transport capacity scheduling method and system
KR20150045962A (en) * 2015-04-06 2015-04-29 리모택시코리아 주식회사 System and method for allocating call tax based on recommending of course
KR102310420B1 (en) * 2017-03-02 2021-10-07 현대자동차 주식회사 Destination prediction server and method based on condition information of vehicle
KR102158253B1 (en) * 2018-07-24 2020-09-21 주식회사 네이처모빌리티 Method for providing car-sharing service using ai based auto-matching and information exchange for zero-denial match

Also Published As

Publication number Publication date
KR20210109410A (en) 2021-09-06

Similar Documents

Publication Publication Date Title
Wang From 2SFCA to i2SFCA: Integration, derivation and validation
US20190236742A1 (en) Method for requesting a ride service in a ride service system
CN110781415B (en) Interest point recommendation method, device, equipment and medium
KR20180006875A (en) Methods and systems for providing information for on-demand services
KR102180881B1 (en) Rental car service apparatus and vehicle searching service method based on artificial intelligence in the same
US20090228513A1 (en) Methods, apparatuses, and computer program products for modeling contact networks
KR102377402B1 (en) Call recommendation system and call recommendation method based on artificial intelligence
CN108419205A (en) Hot spot is provided to the user apparatus in server controls region
US9448077B2 (en) Route search system, route search method, and route search program
KR20180064735A (en) System and method for servicing space
CN113408797A (en) Method for generating flow-traffic prediction multi-time-sequence model, information sending method and device
CN111581506A (en) Flight recommendation method and system based on collaborative filtering
Gao et al. Smartphone-based parking guidance algorithm and implementation
WO2022072314A1 (en) Transportation marketplace systems and methods
Chen A fuzzy ubiquitous traveler clustering and hotel recommendation system by differentiating travelers’ decision-making behaviors
Özsoy et al. Multi-objective optimization based location and social network aware recommendation
Perra A framework for the development of sustainable urban mobility applications
JP4548167B2 (en) Congestion status guidance device
US11665281B2 (en) Call recommendation system and call recommendation method based on artificial intelligence
Li et al. Coupling user preference with external rewards to enable driver-centered and resource-aware ev charging recommendation
CN113228067A (en) Communication server device, method and communication system for managing transportation-related service requests
KR102591465B1 (en) apparatus and method for providing real estate information
Chen A fuzzy integer-nonlinear programming approach for creating a flexible just-in-time location-aware service in a mobile environment
KR102624391B1 (en) System and method for sharing services provided to aged people
Lee et al. Integration of General Bayesian Network and ubiquitous decision support to provide context prediction capability

Legal Events

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