KR20230025373A - Method and apparatus for providing an online integrated repair platform for recommending repairers through scoring for repairers - Google Patents

Method and apparatus for providing an online integrated repair platform for recommending repairers through scoring for repairers Download PDF

Info

Publication number
KR20230025373A
KR20230025373A KR1020220122969A KR20220122969A KR20230025373A KR 20230025373 A KR20230025373 A KR 20230025373A KR 1020220122969 A KR1020220122969 A KR 1020220122969A KR 20220122969 A KR20220122969 A KR 20220122969A KR 20230025373 A KR20230025373 A KR 20230025373A
Authority
KR
South Korea
Prior art keywords
repair
user
information
target
clusters
Prior art date
Application number
KR1020220122969A
Other languages
Korean (ko)
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 KR1020220122969A priority Critical patent/KR20230025373A/en
Publication of KR20230025373A publication Critical patent/KR20230025373A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/20Administration of product repair or maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • 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/0601Electronic shopping [e-shopping]
    • G06Q30/0639Item locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed are a method and apparatus for providing a repair shop for a user through scoring on repair shops in an integrated online repair platform. The apparatus for providing a repair shop fit for a user through scoring on repair shops in an integrated online repair platform comprises: at least one processor; and a memory which stores instructions for the at least one processor to execute at least one operation. The at least one operation comprises the steps of: obtaining information on a target user, a type of target to be repaired and location information of the target user from a user terminal; and based on information on a plurality of users and repair histories, clustering repair shops indicated by the repair histories into a plurality of repairing target type clusters, selecting a type cluster to be repaired based on the information on the target user and the type of target to be repaired among the plurality of pre-obtained repairing type clusters, checking information on a plurality of repair shops contained in the selected type cluster to be repaired, and selecting a repair shop among the plurality of checked repair shops based on the location information of the target user, and generating repair shop recommending information containing the selected repair shop.

Description

수리업체에 대한 스코어링을 통해 수리업체를 추천하기 위한 온라인 통합 수리 플랫폼 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING AN ONLINE INTEGRATED REPAIR PLATFORM FOR RECOMMENDING REPAIRERS THROUGH SCORING FOR REPAIRERS}Method and apparatus for providing an online integrated repair platform for recommending repair companies through scoring of repair companies

본 발명은 사용자에게 수리 업체를 제공하는 기술에 관한 것으로, 더욱 상세하게는 수리업체에 대한 스코어링을 통해 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 방법 및 장치에 관한 것이다.The present invention relates to a technology for providing a repair company to a user, and more particularly, to a method and apparatus for providing a repair company suitable for a user through an online integrated repair platform through scoring of the repair company.

본 명세서에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.Unless otherwise indicated herein, material described in this section is not prior art to the claims in this application, and inclusion in this section is not an admission that it is prior art.

오늘날 O2O(Online to Offline) 비즈니스는 모든 산업분야에서 성장하고 있다. 각 분야의 상품과 서비스가 글로벌화 되어가고, 공급과 수요가 다양해지면서 O2O 플랫폼을 통해 공급자와 수요자가 편리하게 구매 또는 공급이 가능하기 때문이다.Today, O2O (Online to Offline) business is growing in all industries. This is because as products and services in each field become globalized and supply and demand diversify, suppliers and consumers can conveniently purchase or supply through the O2O platform.

이는 수리 서비스를 제공하는 분야에서도 마찬가지이다. 수리 서비스를 제공받고 자하는 수요자에게는, 자신에게 적합한 수리 서비스를 제공받기 위해서 인터넷 사이트를 검색하거나 수소문을 하는, 인적 비용이 발생하는 문제점이 존재하였다.The same is true in the field of providing repair services. Consumers who want to receive repair services have a problem of incurring human costs, such as searching Internet sites or making inquiries in order to receive repair services suitable for them.

물론 특정 제품에 대한 수리 서비스를 제공하는 플랫폼은 이미 존재하나, 특정 제품뿐만 아니라 모든 수리 대상이 되는 제품(심지어는 사람/반려동물 포함)에 대한 플랫폼은 존재하지 않는 실정이다.Of course, a platform that provides repair services for a specific product already exists, but a platform for not only a specific product but also all products subject to repair (including people/companies) does not exist.

한국등록특허 제10-2285861호(공개일자: 2021.01.19.)Korean Patent Registration No. 10-2285861 (published date: 2021.01.19.)

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 방법 및 장치를 제공하는 데 있다.An object of the present invention to solve the above problems is to provide a method and apparatus for providing a repair company suitable for a user in an integrated online repair platform.

상기 목적을 달성하기 위한 본 발명의 일 측면은, 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 장치를 제공한다.One aspect of the present invention for achieving the above object provides a device for providing a repair company suitable for a user in an integrated online repair platform.

온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 장치는, 적어도 하나의 프로세서(processor); 및 상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함한다.An apparatus for providing a repair company suitable for a user in an integrated online repair platform includes at least one processor; and a memory for storing instructions instructing the at least one processor to perform at least one operation.

상기 적어도 하나의 동작은, 사용자 단말로부터 목표 사용자에 대한 정보, 목표 수리 대상 유형 및 목표 사용자의 위치정보를 획득하는 단계; 및 복수의 사용자들에 대한 정보와 수리 이력에 기초하여 상기 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)하여 미리 획득된 복수의 수리 유형 대상 클러스터들 중 상기 목표 사용자에 대한 정보 및 상기 목표 수리 대상 유형에 기초하여 수리 대상 유형 클러스터를 선정하고, 선정된 상기 수리 대상 유형 클러스터에 포함된 복수의 수리 업체들에 대한 정보를 확인하고, 확인된 복수의 수리 업체들 중 상기 목표 사용자의 위치 정보에 기초하여 수리 업체를 선택하고, 선택된 수리 업체를 포함하는 수리 업체 추천 정보를 생성하는 단계를 포함한다.The at least one operation may include obtaining information about a target user, a target repair target type, and location information of the target user from a user terminal; and clustering repair companies indicated by the repair history into a plurality of repair target type clusters based on information about a plurality of users and repair records, and the target among a plurality of repair type target clusters previously obtained. A repair target type cluster is selected based on information about the user and the target repair target type, information on a plurality of repair companies included in the selected repair target type cluster is checked, and the plurality of repair companies identified The method includes selecting a repair company based on the location information of the target user and generating repair company recommendation information including the selected repair company.

상기 적어도 하나의 동작은, 외부 서버로부터 복수의 사용자에 대한 정보 및 수리 이력을 획득하는 단계; 상기 복수의 사용자들에 대한 정보에 기초하여 상기 사용자들을 복수의 사용자 클러스터들로 클러스터링(clustering)하는 단계; 및 상기 사용자 클러스터들 각각마다, 상기 사용자 클러스터들에 속하는 사용자에 대한 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)하는 단계를 더 포함할 수 있다.The at least one operation may include obtaining information and repair history of a plurality of users from an external server; clustering the users into a plurality of user clusters based on the information about the plurality of users; and clustering, for each of the user clusters, repair companies indicated by repair records of users belonging to the user clusters into a plurality of repair target type clusters.

상기 수리 업체 추천 정보를 생성하는 단계는, 상기 복수의 사용자 클러스터들 중 상기 목표 사용자에 대한 정보에 매칭되는 사용자 클러스터를 선정하는 단계; 선정된 사용자 클러스터에 대응하는 복수의 수리 대상 유형 클러스터들 중 상기 목표 수리 대상 유형에 매칭되는 수리 대상 유형 클러스터를 선정하는 단계; 및 선정된 상기 수리 대상 유형 클러스터에 포함된 복수의 수리 업체들에 대한 정보를 확인하고, 확인된 복수의 수리 업체들 중 상기 목표 사용자의 위치 정보에 기초하여 수리 업체를 선택하고, 선택된 수리 업체를 포함하는 수리 업체 추천 정보를 생성하는 단계를 포함할 수 있다.The generating of the repair company recommendation information may include selecting a user cluster matching the information on the target user from among the plurality of user clusters; selecting a repair target type cluster matching the target repair target type from among a plurality of repair target type clusters corresponding to the selected user cluster; and checking information on a plurality of repair companies included in the selected repair target type cluster, selecting a repair company from among the identified plurality of repair companies based on the location information of the target user, and selecting the selected repair company. It may include generating repair company recommendation information that includes.

상기 목표 사용자에 대한 정보에 매칭되는 사용자 클러스터를 선정하는 단계는, 상기 목표 사용자에 대한 정보를 상기 정보에 포함된 각각의 항목에 대한 특성을 나타내는 벡터로 변환하고, 변환된 벡터와 상기 복수의 사용자 클러스터들의 중심점들과의 거리를 각각 산출하고, 산출된 거리 중 최소의 거리에 해당하는 사용자 클러스터의 중심점에 대응하는 사용자 클러스터를 상기 목표 사용자와 매칭하고, 매칭된 사용자 클러스터를 선정하는 단계를 포함할 수 있다.Selecting a user cluster matching the information on the target user may include converting the information on the target user into a vector representing characteristics of each item included in the information, and converting the converted vector to the plurality of users. Calculating distances of the clusters from center points, respectively, matching a user cluster corresponding to the center point of the user cluster corresponding to the smallest distance among the calculated distances with the target user, and selecting the matched user cluster. can

상기 수리 업체 추천 정보를 생성하는 단계는, 상기 복수의 수리 대상 유형 클러스터들 중 목표 수리 대상 유형과 매칭되지 않는 수리 대상 유형 클러스터들을 선정하고, 상기 수리 대상 유형 클러스터 각각에 속하는 데이터의 수에 따라 상기 수리 대상 유형 클러스터들 각각의 스코어를 산출하고, 상기 스코어가 미리 설정된 값 이상인 수리 대상 유형 클러스터를 선정하고, 선정된 상기 수리 대상 유형 클러스터의 수리 대상 유형을 수리 업체 추천 정보에 포함시키는 단계를 포함할 수 있다.The generating of the repair company recommendation information may include selecting repair target type clusters that do not match a target repair target type among the plurality of repair target type clusters, and selecting the repair target type clusters according to the number of data belonging to each repair target type cluster. Calculating a score of each of the repair target type clusters, selecting a repair target type cluster having a score equal to or greater than a preset value, and including the repair target type of the selected repair target type cluster in repair company recommendation information. can

상기 사용자에 대한 정보는 나이, 성별, 직업, 취미, 결혼여부, 자녀유무, 차량 보유 여부, 장애 유무, 학력, 특기, 어학능력, 애완동물 유무, 자격증 취득 사항, 장래 희망사항, 키, 몸무게, 시력 및 해외여행 경험 유무 중 적어도 하나를 포함할 수 있다.The information about the above user includes age, gender, occupation, hobbies, marital status, children, vehicle ownership, disability, academic background, special skills, language skills, pets, qualifications obtained, future wishes, height, weight, It may include at least one of visual acuity and overseas travel experience.

상기 수리 이력은 수리 업체, 수리 대상 유형, 서비스 제공 지역, 서비스 제공 일자, 동일 수리 서비스 구매 횟수 및 수리 내용 중 적어도 하나를 포함할 수 있다.The repair history may include at least one of a repair company, a repair target type, a service providing area, a service providing date, the number of purchases of the same repair service, and repair contents.

상기 복수의 사용자들에 대한 정보에 기초하여 상기 사용자들을 복수의 사용자 클러스터들로 클러스터링(clustering)하는 단계는, 상기 복수의 사용자들에 대한 정보에 포함된 각각의 사용자에 대한 정보를 각각의 항목에 대한 특성을 나타내는 사용자 벡터로 변환하고, 전체 N(N은 1 이상의 자연수로서 사용자의 수와 동일할 수 있음)개의 사용자 벡터들 중 클러스터의 중심점으로 선정할 미리 설정된 k개(k는 2 이상의 자연수)의 사용자 벡터들을 임의로 선택하고(단계 (1)), 선택된 k개의 사용자 벡터들 각각에 의해 포인팅되는 좌표들을 k개의 클러스터 중심점들로 설정하고, 전체 N개의 사용자 벡터들 각각과 상기 중심점들 사이의 중복도 계수를 산출하고, 산출된 k개의 중복도 계수들에 기초하여 사용자 벡터들 각각을 k개의 클러스터들 중 하나에 할당하고(단계 (2)), k개의 클러스터들 각각에 할당된 사용자 벡터들을 이용하여 k개의 클러스터들 각각에서 클러스터 중심점들을 재설정하고(단계 (3)), 단계 (3)에서 설정되는 클러스터 중심점이 기존의 클러스터 중심점과 달라지지 않을 때까지 단계 (2) 및 단계 (3)을 반복함으로써 사용자 벡터들을 k개의 클러스터들 각각에 재할당하고(단계 (4)), 반복 결과에 기초하여 최종 사용자 클러스터를 획득하는 단계를 포함할 수 있다.The clustering of the users into a plurality of user clusters based on the information about the plurality of users may include assigning information about each user included in the information about the plurality of users to each item. is converted into a user vector representing the characteristics of a user vector, and among all N user vectors (N is a natural number greater than or equal to 1, which may be equal to the number of users), k pre-set (k is a natural number greater than or equal to 2) to be selected as the center point of the cluster. Randomly select user vectors of (step (1)), set coordinates pointed by each of the selected k user vectors to k cluster center points, and overlap between each of the total N user vectors and the center points. A degree coefficient is calculated, each of the user vectors is assigned to one of the k clusters based on the calculated k multiplicity coefficients (step (2)), and the user vectors assigned to each of the k clusters are used. to reset the cluster center points in each of the k clusters (step (3)), and repeat steps (2) and (3) until the cluster center point set in step (3) does not differ from the existing cluster center point and reallocating the user vectors to each of the k clusters (step (4)), and obtaining an end user cluster based on the iterative result.

상기 중복도 계수는 벡터와 상기 중심점들 사이의 거리에 기반하여 결정되고, 상기 거리가 가까울수록 중복도 계수는 높아지도록 설정될 수 있다.The redundancy coefficient may be determined based on a distance between the vector and the center points, and the redundancy coefficient may be set to increase as the distance is closer.

상기 중복도 계수는 하기의 수학식에 기초하여 결정될 수 있다.The redundancy coefficient may be determined based on the following equation.

Figure pat00001
Figure pat00001

여기서, A는 사용자 벡터를 의미하고, B는 중심점을 포인팅하는 벡터이고, Euc는 유클리디안 거리(Euclidean Distance)를 연산하는 함수이고, 중복도 계수는 사용자 벡터와 중심점을 포인팅하는 벡터 사이의 내적을 사용자 벡터와 중심점을 포인팅하는 벡터 사이의 유클리디안 거리로 나눈 값으로 정의될 수 있다.Here, A means the user vector, B is the vector pointing to the center point, Euc is a function that calculates the Euclidean distance, and the multiplicity coefficient is the dot product between the user vector and the vector pointing to the center point. It can be defined as a value divided by the Euclidean distance between the user vector and the vector pointing to the center point.

상기 목표 사용자의 위치 정보에 기초하여 수리 업체를 선정하는 단계는, 상기 추출된 수리 대상 유형 클러스터에 포함된 수리 업체의 위치와 목표 사용자의 위치의 차이의 크기에 따라 스코어를 산출하고, 상기 스코어를 이용하여 상기 수리 업체에 우선순위를 부여하고, 상기 우선순위가 가장 높은 수리 업체를 선정하는 단계를 포함할 수 있다.Selecting a repair company based on the location information of the target user may include calculating a score according to a difference between the location of the repair company included in the extracted repair target type cluster and the location of the target user; and assigning a priority to the repair company using the method, and selecting a repair company having the highest priority.

상기 스코어는 하기의 수학식에 의하여 결정될 수 있다.The score may be determined by the following equation.

Figure pat00002
Figure pat00002

여기서, Scorex는 수리업체 x에 대한 스코어를 의미하고, Ns,x는 선정된 수리 대상 유형 클러스터에 포함된 x 수리 업체를 지시하는 데이터의 개수,

Figure pat00003
는 선정된 수리 대상 유형 클러스터에 포함된 수리 업체를 지시하는 데이터의 총 개수, Px는 수리 업체 x의 서비스 제공 가격의 평균을 의미하고, Lx는 사용자 단말과 수리 업체의 직선 거리를 의미할 수 있다. k1, k2, 및 k3는 각 항에 대한 가중치를 의미할 수 있다.Here, Score x means the score for repair company x, N s,x is the number of data indicating x repair company included in the selected repair target type cluster,
Figure pat00003
is the total number of data indicating repair companies included in the selected repair target type cluster, P x means the average service price of repair company x, and L x means the straight-line distance between the user terminal and the repair company. can k1, k2, and k3 may mean weights for each term.

상기 목표 사용자의 위치 정보에 기초하여 수리 업체를 선정하는 단계는, 상기 목표 사용자에게 추천된 수리업체의 수리 후기 정보를 획득하고, 상기 획득된 수리 후기 정보에 포함된 사용자의 평점이 미리 설정된 값 미만인 경우, 상기 수리 업체의 스코어를 산출시에 일정값을 차감시키는 단계를 포함할 수 있다.In the selecting of a repair company based on the location information of the target user, repair review information of a repair company recommended to the target user is obtained, and a user's rating included in the obtained repair review information is less than a preset value. In this case, a step of deducting a predetermined value when calculating the score of the repair company may be included.

상기 목표 사용자의 위치 정보에 기초하여 수리 업체를 선정하는 단계는, 상기 목표 사용자에게 추천된 수리업체의 재방문횟수를 획득하고, 상기 획득된 재방문횟수가 미리 설정된 값 이상인 경우, 상기 수리 업체의 스코어를 산출 시에 일정값을 가감시키는 단계를 포함할 수 있다.The step of selecting a repair company based on the location information of the target user may include obtaining the number of revisits of a repair company recommended to the target user, and when the obtained number of revisits is equal to or greater than a preset value, the repair company A step of increasing or subtracting a predetermined value may be included when calculating the score.

본 발명은 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 효과를 기대할 수 있다.According to the present invention, an effect of providing a repair company suitable for a user in an integrated online repair platform can be expected.

또한 본 발명은 사용자 정보를 기반으로 미리 등록된 사용자 풀(pool)의 클러스터링을 수행함으로써 가장 유사한 사용자를 선정하고, 선정된 사용자가 과거 수리 서비스를 제공받았던 수리 업체를 사용자의 위치 정보에 기반하여 제공함으로써 사용자와 적합한 수리 업체를 사용자의 위치를 고려하여 제공하는 효과가 있다.In addition, the present invention selects the most similar user by clustering a pre-registered user pool based on user information, and provides a repair company to which the selected user has received repair service in the past based on the user's location information. By doing so, there is an effect of providing the user and a suitable repair company in consideration of the user's location.

실시예들로부터 얻을 수 있는 효과들은 이상에서 언급된 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 이하의 상세한 설명을 기반으로 당해 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다.Effects obtainable from the embodiments are not limited to the effects mentioned above, and other effects not mentioned are clearly derived and understood by those skilled in the art based on the detailed description below. It can be.

실시예들에 대한 이해를 돕기 위해 상세한 설명의 일부로 포함된, 첨부 도면은 다양한 실시예들을 제공하고, 상세한 설명과 함께 다양한 실시예들의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 방법 및 장치에 대한 개요도이다.
도 2는 도 1에 따른 추천 서버의 기능적 모듈을 예시적으로 나타낸 블록도이다.
도 3은 사용자에 대한 정보와 수리 이력에 대한 데이터의 예시를 나타낸 도면이다.
도 4는 사용자 클러스터 획득부 및 수리 대상 유형 클러스터 획득부가 클러스터링을 수행하는 개념도를 나타낸 도면이다.
도 5는 수리 대상 유형 클러스터 획득부가 수리 대상 유형 클러스터를 생성하는 개념도를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 추천 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS Included as part of the detailed description to aid understanding of the embodiments, the accompanying drawings provide various embodiments and, together with the detailed description, describe technical features of the various embodiments.
1 is a schematic diagram of a method and apparatus for providing a repair company suitable for a user in an integrated online repair platform according to an embodiment of the present invention.
FIG. 2 is a block diagram showing functional modules of the recommendation server according to FIG. 1 by way of example.
3 is a diagram showing an example of data on user information and repair history.
4 is a diagram showing a conceptual diagram in which a user cluster acquisition unit and a repair target type cluster acquisition unit perform clustering.
5 is a conceptual diagram showing a repair target type cluster acquiring unit generating a repair target type cluster.
6 is a diagram showing a hardware configuration of a recommendation server according to an embodiment of the present invention by way of example.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Like reference numerals have been used for like elements throughout the description of each figure.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that it does not preclude the possibility of addition or existence of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 방법 및 장치에 대한 개요도이다.1 is a schematic diagram of a method and apparatus for providing a repair company suitable for a user in an integrated online repair platform according to an embodiment of the present invention.

도 1을 참조하면, 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 방법은 추천 서버(100, 온라인 통합 수리 플랫폼에서 사용자에게 적합한 수리 업체를 제공하는 장치와 혼용하여 지칭될 수 있음)는, 외부 서버(200), 및 사용자 단말(300)를 이용하여 수행될 수 있다. 이때, 추천 서버(100), 외부 서버(200), 및 사용자 단말(300)을 추천 시스템으로 지칭할 수도 있다.Referring to FIG. 1, a method of providing a repair company suitable for a user in an integrated online repair platform is a recommendation server (100, which may be referred to as a device that provides a repair company suitable for a user in an integrated online repair platform), It can be performed using the external server 200 and the user terminal 300 . In this case, the recommendation server 100, the external server 200, and the user terminal 300 may be referred to as a recommendation system.

외부 서버(200)는, 추천 서버(100)가 클러스터를 획득하기 위한 데이터가 저장된 서버로서, 클러스터를 획득하기 위한 데이터를 추천 서버(100)에게 전송할 수 있다. 예를 들어, 외부 서버(200)는 온라인 통합 수리 플랫폼을 운영하는 서버일 수 있으며, 외부 서버(200)는 사용자에게 온라인 통합 수리 플랫폼 서비스를 제공하면서 축적된 복수의 사용자에 대한 정보 및 수리 이력에 대한 데이터가 저장될 수 있다. 이때, 온라인 통합 수리 플랫폼은 수리가 필요한 제품뿐만 아니라, 수리 개념을 확장하여 치유할 수 있는 사람 및/또는 반려 동물에 대한 수리 서비스를 제공하는 플랫폼일 수 있다. 즉, 온라인 통합 수리 플랫폼은 고치거나 고칠 수 있는, 치유할 수 있는 세상의 모든 것을 취급할 수 있다. The external server 200 is a server in which data for the recommendation server 100 to acquire clusters is stored, and may transmit data for acquiring clusters to the recommendation server 100 . For example, the external server 200 may be a server that operates an online integrated repair platform, and the external server 200 provides users with online integrated repair platform services while providing accumulated information and repair history of a plurality of users. data can be stored. In this case, the integrated online repair platform may be a platform that provides repair services not only for products requiring repair, but also for people and/or companion animals that can be healed by expanding the concept of repair. In other words, the online integrated repair platform can handle anything in the world that can be fixed, repaired, or cured.

사용자 단말(300)은, 추천 서버(100)로부터 추천 수리 업체를 제공받을 수 있다. 자세하게는, 사용자 단말(300)은, 추천 서버(100)에게 수리 업체를 추천받고 싶은 사용자(이하, 목표 사용자로 지칭될 수 있음)에 대한 정보, 수리하고자 하는 목표 수리 대상 유형 및 위치정보를 입력하고, 추천 서버(100)로부터 추천된 수리 업체를 제공받을 수 있다. 이때, 추천 서버(100)는 미리 획득된 클러스터에 기반하여 사용자와 유사한 사용자가 이용했던 수리 업체를 목표 사용자에게 추천할 수 있다. 추천 서버(100)가 수리 업체를 추천하는 방법에 대해서는 이하 다른 도면에서 자세히 설명하도록 한다.The user terminal 300 may be provided with a recommended repair company from the recommendation server 100 . In detail, the user terminal 300 inputs, to the recommendation server 100, information about a user (hereinafter, referred to as a target user) for whom a repair company is recommended, a target repair target type to be repaired, and location information. and a recommended repair company may be provided from the recommendation server 100 . In this case, the recommendation server 100 may recommend a repair company used by a user similar to the user to the target user based on the pre-obtained cluster. A method of recommending a repair company by the recommendation server 100 will be described in detail in another drawing below.

사용자 단말(300)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.For example, the user terminal 300 may include a communicable desktop computer, a laptop computer, a notebook, a smart phone, a tablet PC, and a mobile phone. ), smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game device, navigation device, digital camera, digital multimedia broadcasting (DMB) It may be a player, a digital audio recorder, a digital audio player, a digital video recorder, a digital video player, a personal digital assistant (PDA), and the like.

추천 서버(100)는, 수리 업체를 추천받고 싶은 사용자 단말(300)로부터 목표 사용자에 대한 정보, 목표 수리 대상 유형 및 목표 사용자의 위치정보를 획득하고, 복수의 사용자에 대한 정보와 수리 이력에 기초하여 미리 획득된 클러스터에서 목표 사용자 신상 정보, 목표 수리 대상 유형 및 목표 사용자의 위치정보에 기초하여 수리 업체를 선정하고, 선정된 수리 업체를 사용자 단말(300)에게 제공할 수 있다. 이때, 추천 서버(100)는, 이때, 상술한 온라인 통합 수리 플랫폼을 운영하는 서버일 수 있다. 또한, 추천 서버(100)는 중앙 서버, 관리 서버, 클라우드 서버, 웹서버, 클라이언트 서버 등의 형태로 구현될 수 있다. The recommendation server 100 obtains information on a target user, a target repair target type, and location information of the target user from the user terminal 300 to whom a repair company is recommended, and based on the information on a plurality of users and the repair history. Accordingly, a repair company may be selected based on target user personal information, target repair target type, and location information of the target user in the pre-obtained cluster, and the selected repair company may be provided to the user terminal 300 . At this time, the recommendation server 100 may be a server that operates the above-described integrated online repair platform. In addition, the recommendation server 100 may be implemented in the form of a central server, a management server, a cloud server, a web server, a client server, and the like.

본 발명의 일 실시예에 따른 추천 서버(100)는, 외부 서버(300)로부터 복수의 사용자에 대한 정보 및 수리 이력을 획득하고, 상기 복수의 사용자들에 대한 정보에 기초하여 상기 사용자들을 복수의 사용자 클러스터들로 클러스터링(clustering)하고, 상기 사용자 클러스터들 각각마다, 상기 사용자 클러스터들에 속하는 사용자에 대한 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클로스터들로 클러스터링(clustering)함으로써 수리 업체를 추천하기 위해 사용자에 대한 정보 및 수리 이력에 대해 클러스터링을 미리 수행할 수 있다. 또한, 추천 서버(100)는, 미리 클러스터링한 복수의 사용자 클러스터와 목표 사용자에 대한 정보를 매칭하고, 매칭된 사용자 클러스터에 대응하는 복수의 수리 대상 유형 클러스터와 목표 수리 대상 유형을 매칭하여 수리 업체를 추천함으로써, 목표 사용자에 대한 정보와 유사한 정보를 가진 사용자가 이용했던 수리 업체를 목표 사용자에게 추천할 수 있다.The recommendation server 100 according to an embodiment of the present invention obtains information and repair history of a plurality of users from an external server 300, and selects the users based on the information about the plurality of users. Repair vendors by clustering into user clusters, and clustering, for each of the user clusters, repair vendors indicated by a repair history for a user belonging to the user clusters into a plurality of repair target type clusters. Clustering may be performed in advance on user information and repair history to recommend. In addition, the recommendation server 100 matches information on a target user with a plurality of user clusters clustered in advance, and matches a target repair target type with a plurality of repair target type clusters corresponding to the matched user clusters to find a repair company. By recommending, it is possible to recommend a repair company used by a user having information similar to that of the target user to the target user.

따라서, 클러스터링을 통해, 사용자에게 적합한 수리 업체를 제공할 수 있기 때문에, 사용자가 수리 업체를 찾아야하는 비용을 절감하면서도 사용자에게 적합한 수리 업체를 추천해줄 수 있다.Accordingly, since it is possible to provide a repair company suitable for the user through clustering, it is possible to recommend a repair company suitable for the user while reducing the cost for the user to find a repair company.

도 2는 도 1에 따른 추천 서버의 기능적 모듈을 예시적으로 나타낸 블록도이다.FIG. 2 is a block diagram showing functional modules of the recommendation server according to FIG. 1 by way of example.

도 2를 참조하면, 추천 서버(100)는, 정보 관리부(101), 클러스터 획득부(102), 수리 업체 추천부(103)를 포함할 수 있다.Referring to FIG. 2 , the recommendation server 100 may include an information management unit 101 , a cluster acquisition unit 102 , and a repair company recommendation unit 103 .

정보 관리부(101)는, 추천 서버(100)에서 사용될 정보를 획득하는 기능을 수행한다. 정보 관리부(101)는 외부 서버(300)로부터 복수의 사용자에 대한 신상정보 및 수리 이력을 획득할 수 있다. 또한, 정보 관리부(101)는 사용자 단말로부터 목표 사용자에 대한 신상정보 및 목표 수리 대상 유형 및 목표 사용자의 위치정보를 획득할 수 있다. The information management unit 101 performs a function of acquiring information to be used in the recommendation server 100 . The information management unit 101 may obtain personal information and repair records of a plurality of users from the external server 300 . Also, the information management unit 101 may obtain personal information about the target user, a target repair target type, and location information of the target user from the user terminal.

예를 들어, 사용자에 대한 정보는 상기 사용자를 다른 사용자와 구분하기 위해, 상기 사용자의 특성을 나타내는 정보로서, 나이, 성별, 직업, 취미, 결혼여부, 자녀유무, 차량 보유 여부, 장애 유무, 학력, 특기, 어학능력, 애완동물 유무, 자격증 취득 사항, 장래 희망사항, 키, 몸무게, 시력, 해외여행 경험 유무 등 다양한 정보가 포함될 수 있다. For example, the information about the user is information indicating the characteristics of the user in order to distinguish the user from other users, such as age, gender, occupation, hobby, marital status, presence or absence of children, whether or not a vehicle is owned, disability, and educational background. , special skills, language ability, whether or not there is a pet, license acquisition matters, future hopes, height, weight, eyesight, overseas travel experience, and various other information can be included.

또한, 수리 이력은 사용자 별 과거 특정 업체나 특정인으로부터 수리(치료를 포함하는 개념) 서비스를 제공받았던 모든 내역에 대한 정보로서, 각각의 사용자에 대한 정보에 대응하여 매핑될 수 있는 정보일 수 있으며, 사용자가 이용했던 수리 업체(또는 수리 서비스를 제공한 자연인, 즉 특정 수리 분야에 대한 장인)에 대한 정보, 수리 대상 유형, 서비스 제공 지역, 서비스 제공 일자, 동일 수리 서비스 구매 횟수, 수리 내용 등의 다양한 기준에 근거하여 복수의 카테고리로 분류된 정보일 수 있다.In addition, the repair history is information on all the details of repair (concept including treatment) service provided by a specific company or person in the past for each user, and may be information that can be mapped to correspond to information about each user, Various information such as information on the repair company used by the user (or natural person who provided the repair service, that is, a craftsman in a specific repair field), type of repair target, service area, date of service delivery, number of purchases of the same repair service, contents of repair, etc. It may be information classified into a plurality of categories based on criteria.

도 3은 사용자에 대한 정보와 수리 이력에 대한 데이터의 예시를 나타낸 도면이다.3 is a diagram showing an example of data on user information and repair history.

도 3을 참조하면, 사용자에 대한 정보는 사용자 별로 성별, 나이, 결혼여부, 차량 보유 여부, 해외 여행 경험 유무의 항목에 대한 정보가 나타나 있다. 또한, 수리 이력은 수리 수리 대상 유형, 수리업체주소, 가격의 항목에 대한 정보가 나타나 있다. 이때, 수리 이력은 사용자 별로 상기 사용자 수리 이력을 의미한다. 즉, 수리 이력은 일 사용자가 과거 제공받았던 수리 서비스의 모든 내역에 관한 정보이다. 각 사용자별로 대응되는 수리 이력이 있으며, 도 3에서, 수리 이력은 사용자 2에 대한 수리 이력을 나타냄을 알 수 있다. Referring to FIG. 3 , information about users includes information on items such as gender, age, marital status, ownership of a vehicle, and overseas travel experience for each user. In addition, the repair history shows information on items such as the type of repair target, the address of the repair company, and the price. In this case, the repair history means the user repair history for each user. That is, the repair history is information about all details of repair services that a user has received in the past. There is a corresponding repair history for each user, and in FIG. 3 , it can be seen that the repair history indicates the repair history for user 2.

클러스터 획득부(102)는 정보 관리부(101)가 획득한 정보에 대하여 클러스터링하여 클러스터를 획득하는 기능을 수행한다. 클러스터 획득부(102)는 기능에 따라서 사용자 클러스터 획득부(102a)와 수리 대상 유형 클러스터 획득부(102b)를 포함할 수 있다. The cluster acquisition unit 102 performs a function of clustering the information acquired by the information management unit 101 to obtain a cluster. The cluster acquisition unit 102 may include a user cluster acquisition unit 102a and a repair target type cluster acquisition unit 102b according to functions.

도 4는 사용자 클러스터 획득부 및 수리 대상 유형 클러스터 획득부가 클러스터링을 수행하는 개념도를 나타낸 도면이다.4 is a diagram showing a conceptual diagram in which a user cluster acquisition unit and a repair target type cluster acquisition unit perform clustering.

사용자 클러스터 획득부(102a)는 복수의 사용자에 대한 정보에 기초하여 복수의 사용자 클러스터를 획득할 수 있다. 수리 대상 유형 클라스터 획득부(102b)는 상기 각 사용자 클러스터에 속하는 사용자의 수리 이력에 의해 지시되는 수리 업체들을 클러스터링(clustering)하여 복수의 수리 대상 유형 클러스터를 획득할 수 있다. The user cluster acquisition unit 102a may acquire a plurality of user clusters based on information about a plurality of users. The repair target type cluster acquisition unit 102b may acquire a plurality of repair target type clusters by clustering repair companies indicated by repair records of users belonging to each user cluster.

예를 들어, 도 4를 참조하면, 사용자 클러스터 획득부(102a)는 사용자에 대한 정보를 클러스터링(clustering)하여 사용자 A 클러스터, 사용자 B 클러스터를 획득할 수 있고, 수리 대상 유형 클러스터 획득부(102b)는 사용자 A 클러스터에 속하는 모든 사용자의 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)하여 복수의 수리 대상 유형 클러스터를 획득할 수 있다. For example, referring to FIG. 4 , the user cluster acquisition unit 102a clusters user information to obtain a user A cluster and a user B cluster, and the repair target type cluster acquisition unit 102b may obtain a plurality of repair target type clusters by clustering repair companies indicated by repair records of all users belonging to the user A cluster into a plurality of repair target type clusters.

관련하여, 클러스터 획득부(102)는 K-means Clustering 알고리즘을 응용하여 사용자에 대한 정보 및 수리 이력에 대하여 클러스터링을 수행할 수 있다. In this regard, the cluster acquisition unit 102 may perform clustering on user information and repair history by applying a K-means clustering algorithm.

먼저, 사용자 클러스터 획득부(102a)는 복수의 사용자에 대한 정보에 포함된 각각의 사용자에 대한 정보를 각각의 항목에 대한 특성을 나타내는 사용자 벡터로 변환한다. 특성이 숫자로 나타난 항목의 경우, 해당 항목에 대한 벡터의 성분 값은 특성을 나타내는 숫자 그대로 변환되고, 특성이 숫자로 나타낼 수 없는 항목의 경우, 해당 항목에 대한 벡터의 성분 값은 특정 항목의 특성에 따라 미리 설정된 숫자로 변환된다. 예를 들어, 도 2의 사용자 1에 대한 정보는 벡터 (1, 23, 0, 0 ,1 ??)으로 변환될 수 있다. 성별, 결혼여부, 차량 보유 여부, 해외여행 경험 유무를 나타내는 벡터의 성분값은 항목의 특성에 따라 미리 설정된 1이나 0의 값으로 변환되고, 나이를 나타내는 벡터의 2번째 성분 값은 사용자 2의 나이 그대로 23일 수 있다.First, the user cluster acquisition unit 102a converts information about each user included in information about a plurality of users into a user vector representing characteristics of each item. In the case of an item whose characteristic is expressed as a number, the component values of the vector for that item are converted as they are as numbers representing the characteristic. is converted to a preset number according to For example, information about user 1 in FIG. 2 may be converted into a vector (1, 23, 0, 0, 1 ??). The component values of the vector representing gender, marital status, vehicle ownership, and overseas travel experience are converted to a preset value of 1 or 0 according to the characteristics of the item, and the second component value of the vector representing age is the age of user 2. It could be 23 as it is.

이후, 사용자 클러스터 획득부(102a)는 전체 N(N은 1 이상의 자연수로서 사용자의 수와 동일할 수 있음)개의 사용자에 대한 정보를 나타내는 사용자 벡터들 중 클러스터의 중심점으로 선정할 미리 설정된 k개(k는 2 이상의 자연수)의 사용자 벡터들을 임의로 선택한다(단계 (1)).Thereafter, the user cluster acquisition unit 102a selects a preset number of k vectors (where N is a natural number equal to or greater than 1 and may be equal to the number of users) to be selected as the central point of a cluster among user vectors representing information on users. k is a natural number greater than or equal to 2) user vectors are randomly selected (step (1)).

이후, 사용자 클러스터 획득부(102a)는 선택된 k개의 사용자 벡터들 각각에 의해 포인팅되는 좌표들을 k개의 클러스터 중심점들(C0)로 설정하고, 설정된 클러스터 중심점들(C0) 각각을 k개의 클러스터들 각각에 대한 초기 무게 중심으로 정의한다.Then, the user cluster acquisition unit 102a sets the coordinates pointed by each of the selected k user vectors as k cluster center points C 0 , and sets each of the set cluster center points C 0 to k clusters. Defined as the initial center of gravity for each.

다음으로, 사용자 클러스터 획득부(102a)는 전체 N개의 사용자 벡터들 각각과 상기 중심점들(C0) 사이의 중복도 계수를 산출한다(단계 (2)). 따라서, 모든 사용자 벡터들 각각에 대하여 k개의 중심점들과의 관계에서 k개의 중복도 계수들이 산출될 수 있다. 즉, 사용자 벡터 하나에 대하여 k개의 중복도 계수들이 산출될 수 있다.Next, the user cluster acquisition unit 102a calculates multiplicity coefficients between each of the N user vectors and the central points C 0 (step (2)). Accordingly, k multiplicity coefficients may be calculated in relation to k center points for each of all user vectors. That is, k multiplicity coefficients can be calculated for one user vector.

사용자 클러스터 획득부(102a)는, 산출된 k개의 중복도 계수들에 기초하여 사용자 벡터들 각각을 k개의 클러스터들 중 하나에 할당할 수 있다(단계 (2)). 예를 들어, 사용자 클러스터 획득부(102a)는 산출된 k개의 중복도 계수들 중에서 가장 큰 값과 대응하는 클러스터 중심점을 갖는 클러스터에 사용자 벡터들 각각을 할당될 수 있다. 즉, 중심점과의 중복도 계수가 가장 높은 클러스터에 사용자 벡터가 할당된다.The user cluster acquisition unit 102a may allocate each of the user vectors to one of the k clusters based on the calculated k multiplicity coefficients (step (2)). For example, the user cluster acquisition unit 102a may allocate each of the user vectors to a cluster having a cluster center point corresponding to the largest value among the calculated k multiplicity coefficients. That is, the user vector is assigned to the cluster having the highest multiplicity coefficient with the central point.

이때, 중복도 계수는 사용자 벡터와 상기 중심점들 사이의 거리에 기반하여 결정될 수 있으며, 상기 거리가 가까울수록 중복도 계수는 높아지도록 설정될 수 있다. 일 실시예에서 수학식 1에 기초하여 중복도 계수(OC)가 결정될 수 있다.In this case, the multiplicity coefficient may be determined based on the distance between the user vector and the central points, and the closer the distance is, the higher the multiplicity coefficient may be set. In one embodiment, the multiplicity coefficient (OC) may be determined based on Equation 1.

Figure pat00004
Figure pat00004

여기서, A는 사용자 벡터를 의미하고, B는 중심점을 포인팅하는 벡터이고, Euc는 유클리디안 거리(Euclidean Distance)를 연산하는 함수이다. 즉, 중복도 계수는 사용자 벡터와 중심점을 포인팅하는 벡터 사이의 내적을 사용자 벡터와 중심점을 포인팅하는 벡터 사이의 유클리디안 거리로 나눈 값으로 정의된다.Here, A means a user vector, B is a vector pointing to the center point, and Euc is a function that calculates the Euclidean distance. That is, the multiplicity coefficient is defined as a value obtained by dividing the dot product between the user vector and the vector pointing to the center point by the Euclidean distance between the user vector and the vector pointing to the center point.

이후, 사용자 클러스터 획득부(102a)는 k개의 클러스터들 각각에 할당된 사용자 벡터들을 이용하여, k개의 클러스터들 각각에서 클러스터 중심점들을 재설정할 수 있다(단계 (3)). 구체적으로, k개의 클러스터들 각각에 할당된 사용자 벡터들의 평균 벡터(average vector)를 k개의 클러스터들 각각에 대한 새로운 클러스터 중심점들로 설정할 수 있다. 예를 들어, 첫번째 클러스터에 할당된 사용자 벡터들의 평균 벡터가 해당 첫번째 클러스터에 대한 클러스터 중심점으로 설정된다.Then, the user cluster acquisition unit 102a may reset cluster center points in each of the k clusters using the user vectors assigned to each of the k clusters (step (3)). Specifically, an average vector of user vectors allocated to each of the k clusters may be set as new cluster center points for each of the k clusters. For example, an average vector of user vectors assigned to the first cluster is set as a cluster center point for the first cluster.

이후, 사용자 클러스터 획득부(102a)는 단계(3)에서 설정되는 클러스터 중심점이 기존의 클러스터 중심점과 달라지지 않을 때까지 단계 (2) 및 단계(3)을 반복함으로써 사용자 벡터들을 k개의 클러스터들 각각에 재할당 할 수 있다(단계 (4)). 이후, 사용자 클러스터 획득부(102a)는 반복 결과에 기초하여 최종 사용자 클러스터를 획득한다.Thereafter, the user cluster acquisition unit 102a repeats steps (2) and (3) until the cluster center point set in step (3) does not differ from the existing cluster center point, thereby dividing the user vectors into k clusters, respectively. can be reassigned (step (4)). Then, the user cluster acquisition unit 102a acquires the end user cluster based on the iteration result.

이후, 수리 대상 유형 클러스터 획득부(102b)는 사용자 클러스터 획득부(102a)로부터 최종 사용자 클러스터를 획득하고, 각 사용자 클러스터에 포함된 사용자를 파악하고, 동일한 클러스터에 속하는 사용자들의 수리 이력 데이터를 확인한다. 예를 들어, 수리 대상 유형 클러스터 획득부(102b)는 A 사용자 클러스터에 속하는 모든 사용자의 수리 이력에 대한 데이터를 확인할 수 있다.Thereafter, the repair target type cluster acquisition unit 102b acquires end user clusters from the user cluster acquisition unit 102a, identifies users included in each user cluster, and checks repair history data of users belonging to the same cluster. . For example, the repair target type cluster acquisition unit 102b may check repair history data of all users belonging to the A user cluster.

이후, 수리 대상 유형 클러스터 획득부(102b)는 특정 사용자 클러스터에 속하는 모든 사용자의 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)하여 복수의 수리 대상 유형 클러스터를 획득할 수 있다.Thereafter, the repair target type cluster acquisition unit 102b acquires a plurality of repair target type clusters by clustering repair companies indicated by repair histories of all users belonging to a specific user cluster into a plurality of repair target type clusters. can do.

즉, 수리 대상 유형 클러스터 획득부(102b)는 상기 사용자 클러스터들 각각마다, 상기 사용자 클러스터들에 속하는 사용자에 대한 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)하여, 상기 사용자 클러스터들 각각에 대응하는 복수의 수리 대상 유형 클러스터들을 생성할 수 있다. 수리 대상 유형 클러스터 획득부(102b)는 같은 사용자 클러스터들에 속하는 모든 사용자에 대한 수리 이력을 모아 수리 대상 유형을 기준으로 클러스터링하여 복수의 수리 대상 유형 클러스터를 생성할 수 있다.That is, the repair target type cluster acquisition unit 102b clusters, for each of the user clusters, repair companies indicated by the repair records of users belonging to the user clusters into a plurality of repair target type clusters. , A plurality of repair target type clusters corresponding to each of the user clusters may be created. The repair target type cluster acquisition unit 102b may generate a plurality of repair target type clusters by collecting repair histories of all users belonging to the same user clusters and clustering them based on the repair target type.

도 5는 수리 대상 유형 클러스터 획득부가 수리 대상 유형 클러스터를 생성하는 개념도를 나타낸 도면이다.5 is a conceptual diagram showing a repair target type cluster acquiring unit generating a repair target type cluster.

도 5를 참조하면, 사용자 B 클러스터에 속하는 사용자 3 및 4의 수리 이력에 대한 데이터가 도시되어 있음을 알 수 있다.Referring to FIG. 5 , it can be seen that data on repair histories of users 3 and 4 belonging to the user B cluster are shown.

수리 대상 유형 클러스터 획득부(102b)는 사용자 B 클러스터에 속하는 사용자 3, 및 4의 수리 이력에서 노트북에 대한 수리이력과 자동차에 대한 수리이력을 각각 모아 노트북 클러스터 및 자동차 클러스터를 생성할 수 있다. 수리 대상 유형 클러스터에는, 복수의 수리 업체들에 대한 정보가 포함되어 있다. 예를 들어 수리 업체들에 대한 정보는, 수리 업체 주소, 가격 등이 포함된다.The repair target type cluster acquisition unit 102b may generate a laptop cluster and a car cluster by collecting repair records of notebook computers and repair records of automobiles from repair histories of users 3 and 4 belonging to the user B cluster. The repair target type cluster includes information on a plurality of repair companies. For example, information about repair companies includes addresses and prices of repair companies.

이때, 수리 대상 유형은, TV, 홈시어터, CD플레이어, 옷, 액세사리, 시계, 가방, 신발, 벨트, 자동차, 전동 킥보드, 스케이드보드, 식탁, 테이블, 옷장, 의자, 선반 등 다양한 유형일 수 있다.In this case, the type to be repaired may be various types such as TV, home theater, CD player, clothes, accessories, watch, bag, shoes, belt, car, electric kickboard, skateboard, dining table, table, closet, chair, shelf, etc.

종합하면, 클러스터 획득부(102)는, 복수의 사용자에 대한 정보 및 수리 이력에 대한 데이터를 사용자의 유형별, 수리 대상 유형별로 이중으로 클러스터링할 수 있다.In summary, the cluster acquisition unit 102 may doubly cluster information on a plurality of users and repair history data by user type and repair target type.

수리 업체 추천부(103)는 사용자 단말(300)로부터 얻은 정보에 기초하여 클러스터 획득부(102)에 의해 획득된 사용자 클러스터와 수리 대상 유형 클러스터에서 수리 업체 추천 정보를 생성하는 기능을 수행한다.The repair company recommendation unit 103 performs a function of generating repair company recommendation information from the user cluster acquired by the cluster acquisition unit 102 and the repair target type cluster based on information obtained from the user terminal 300 .

수리 업체 추천부(103)는, 정보 관리부(101)로부터 목표 사용자에 대한 정보, 목표 수리 대상 유형 및 목표 사용자의 위치정보를 획득하고, 복수의 사용자에 대한 정보와 수리 이력에 기초하여 미리 획득된 클러스터에서 상기 목표 사용자에 대한 정보, 상기 목표 수리 대상 유형 및 상기 목표 사용자의 위치정보에 기초하여 수리 업체 추천 정보를 생성할 수 있다. 이때, 미리 획득된 클러스터는 상술한 클러스터 획득부(102)에 의해 획득된 클러스터들을 의미한다.The repair company recommendation unit 103 obtains information about a target user, a target repair target type, and location information of the target user from the information management unit 101, and obtains previously obtained information about a plurality of users and repair history. In the cluster, repair company recommendation information may be generated based on the target user information, the target repair target type, and location information of the target user. At this time, the pre-acquired clusters refer to clusters obtained by the above-described cluster acquisition unit 102 .

관련하여, 수리 업체 추천부(103)는 상기 복수의 사용자 클러스터 중 상기 목표 사용자에 대한 정보에 매칭되는 사용자 클러스터를 선정하고, 선정된 사용자 클러스터에 대응하는 복수의 수리 대상 유형 클러스터들 중 상기 목표 수리 대상 유형에 매칭되는 수리 대상 유형 클러스터를 선정할 수 있다. In this regard, the repair company recommendation unit 103 selects a user cluster matching the information on the target user from among the plurality of user clusters, and selects the target repair from among a plurality of repair target type clusters corresponding to the selected user cluster. A repair target type cluster matching the target type may be selected.

자세하게는, 수리 업체 추천부(103)는 목표 사용자에 대한 정보를 상기 정보에 포함된 각각의 항목에 대한 특성을 나타내는 목표 사용자 벡터로 변환하고, 변환된 목표 사용자 벡터와 최종적으로 결정된 복수의 사용자 클러스터들의 중심점(C)들과의 거리를 각각 산출하고, 산출된 거리들 중 최소의 거리에 해당하는 사용자 클러스터의 중심점에 대응하는 사용자 클러스터를 상기 목표 사용자와 매칭하고, 매칭된 상기 사용자 클러스터를 상기 목표 사용자에 대한 정보에 매칭되는 사용자 클러스터로 선정할 수 있다.In detail, the repair company recommendation unit 103 converts information on a target user into a target user vector representing characteristics of each item included in the information, and converts the converted target user vector into a plurality of finally determined user clusters. Calculate the distances from the center points C of each of the calculated distances, match the user cluster corresponding to the center point of the user cluster corresponding to the smallest distance among the calculated distances with the target user, and match the matched user cluster to the target A user cluster that matches information about a user can be selected.

즉, 수리 업체 추천부(103)는 목표 사용자에 대한 정보를 나타낸 벡터와 가장 거리가 가까운 클러스터의 중심점에 대응하는 클러스터를 목표 사용자와 매칭함으로써, 목표 사용자의 특징과 유사한 사용자들의 범위와 특징들을 구체적으로 파악할 수 있는 효과가 있다.That is, the repair company recommendation unit 103 matches the target user with the cluster corresponding to the center point of the cluster closest to the vector representing information about the target user, thereby specifying the range and characteristics of users similar to the characteristics of the target user. There is an effect that can be grasped by

또한, 수리 업체 추천부(103)는 선정된 사용자 클러스터에 대응하는 복수의 수리 대상 유형 클러스터들 중 상기 목표 수리 대상 유형에 매칭되는 수리 대상 유형 클러스터를 선정할 수 있다. 예를 들어, 목표 수리 대상 유형이 노트북인 경우, 노트북 클러스터를 선정할 수 있다.Also, the repair company recommendation unit 103 may select a repair target type cluster matching the target repair target type from among a plurality of repair target type clusters corresponding to the selected user cluster. For example, if the target repair target type is a laptop computer, a laptop cluster may be selected.

수리 업체 추천부(102)는 선정된 수리 대상 유형 클러스터에서 목표 사용자의 위치 정보에 기초하여 수리 업체를 선택할 수 있다. 수리 대상 유형 클러스터에는, 복수의 수리 업체들에 대한 정보가 포함되어 있다. 예를 들어 수리 업체들에 대한 정보는, 수리 업체 주소, 가격 등이 포함된다.The repair company recommendation unit 102 may select a repair company based on location information of a target user in the selected repair target type cluster. The repair target type cluster includes information on a plurality of repair companies. For example, information about repair companies includes addresses and prices of repair companies.

관련하여, 수리 업체 추천부(102)는 선정된 수리 대상 유형 클러스터에 포함된 수리 업체의 위치와 목표 사용자의 위치의 차이의 크기에 따라 스코어를 산출할 수 있고, 상기 스코어를 이용하여 상기 수리 업체에 우선순위를 부여하고, 우선순위가 가장 높은 수리 업체를 선택하고, 선택된 수리 업체를 포함한 수리 업체 추천 정보를 생성할 수 있다. 즉, 스코어가 높은 수리 업체 일수록 사용자 단말과의 위치가 가깝다는 것을 의미할 수 있다. 예를 들어, 동일한 수리 대상 유형 클러스터에 속하는 3가지 수리 업체에 대하여 사용자 단말과의 위치에 따라 50점, 60점, 70점으로 스코어를 산출할 수 있다. 이 경우, 스코어가 가장 높은 70점의 수리업체에 1순위를 부여할 수 있다. 이에 따라, 수리 업체 추천 정보에 1순위 수리 업체가 우선적으로 포함될 수 있다.In this regard, the repair company recommendation unit 102 may calculate a score according to the size of the difference between the location of the repair company included in the selected repair target type cluster and the location of the target user, and use the score to calculate the repair company. It is possible to prioritize, select a repair company with the highest priority, and generate repair company recommendation information including the selected repair company. That is, the higher the score, the closer the location to the user terminal may be. For example, scores of 50 points, 60 points, and 70 points may be calculated for three repair companies belonging to the same repair target type cluster, depending on the location of the user terminal. In this case, the repair company with the highest score of 70 can be given 1st priority. Accordingly, the first-order repair company may be preferentially included in the repair company recommendation information.

다른 실시예에서는, 수리 업체 추천부(102)는 선정된 수리 대상 유형 클러스터에 포함된 동일한 수리 업체를 지시하는 데이터의 수, 수리 업체의 위치, 및 가격에 기초하여 스코어를 산출할 수 있다. 스코어는 수학식 2에 기초하여 결정될 수 있다.In another embodiment, the repair company recommendation unit 102 may calculate a score based on the number of data indicating the same repair company included in the selected repair target type cluster, the location of the repair company, and the price. The score may be determined based on Equation 2.

Figure pat00005
Figure pat00005

여기서, Scorex는 수리업체 x에 대한 스코어를 의미하고, Ns,x는 선정된 수리 대상 유형 클러스터에 포함된 x 수리 업체를 지시하는 데이터의 개수,

Figure pat00006
는 선정된 수리 대상 유형 클러스터에 포함된 수리 업체를 지시하는 데이터의 총 개수, Px는 수리 업체 x의 서비스 제공 가격의 평균을 의미하고, Lx는 사용자 단말과 수리 업체의 직선 거리를 의미할 수 있다. k1, k2, 및 k3는 각 항에 대한 가중치로써, 관리자에 의해 설정될 수 있다.Here, Score x means the score for repair company x, N s,x is the number of data indicating x repair company included in the selected repair target type cluster,
Figure pat00006
is the total number of data indicating repair companies included in the selected repair target type cluster, P x means the average service price of repair company x, and L x means the straight-line distance between the user terminal and the repair company. can k1, k2, and k3 are weights for each term and may be set by a manager.

또한, 수리 업체 추천부(102)는 목표 사용자에게 추천된 수리업체의 수리 후기 정보를 정보 관리부(101)로부터 획득하고, 획득된 수리 후기 정보에 포함된 사용자의 평점이 미리 설정된 값 미만인 경우, 상기 수리 업체의 스코어를 산출 시에 일정값을 차감시킬 수 있다.In addition, the repair company recommendation unit 102 obtains repair review information of a repair company recommended to the target user from the information management unit 101, and when the user's rating included in the obtained repair review information is less than a preset value, the When calculating the score of the repair company, a certain value may be deducted.

또한, 수리 업체 추천부(102)는 목표 사용자에게 추천된 수리업체의 재방문횟수를 정보 관리부(101)로부터 획득하고, 획득된 재방문횟수가 미리 설정된 값 이상인 경우, 상기 수리 업체의 스코어를 산출 시에 일정값을 가감시킬 수 있다.In addition, the repair company recommendation unit 102 obtains the number of revisits of the repair company recommended to the target user from the information management unit 101, and calculates a score of the repair company when the obtained number of revisits is equal to or greater than a preset value. A certain value can be added or subtracted at any time.

또한, 수리 업체 추천부(102)는 수리 업체를 추천할 뿐만 아니라, 사용자와 비슷한 특징을 가진 사용자가 수리한 제품을 함께 추천할 수 있다. 즉, 사용자가 좋아할 만한 제품을 함께 추천해줄 수 있다. In addition, the repair company recommendation unit 102 may recommend repair companies as well as products repaired by the user having characteristics similar to those of the user. In other words, it is possible to recommend products that the user may like.

관련하여, 수리 업체 추천부(102)는, 목표 사용자의 정보에 매칭되는 사용자 클러스터를 선정하고, 선정된 사용자 클러스터에 대응하는 복수의 수리 대상 유형 클러스터 중 목표 수리 대상 유형과 매칭되지 않는 수리 대상 유형 클러스터를 선정한다.In this regard, the repair company recommendation unit 102 selects a user cluster that matches the target user information, and repair target types that do not match the target repair target type among a plurality of repair target type clusters corresponding to the selected user cluster. select a cluster

이후, 수리 업체 추천부(102)는 상기 수리 대상 유형 클러스터에 속하는 데이터의 수에 따라 상기 수리 대상 유형 클러스터 각각의 스코어를 산출한다. 이때, 수리 업체 추천부(102)는, 상기 수리 대상 유형 클러스터 각각에 속하는 데이터의 수에 따라 상기 수리 대상 유형 클러스터 각각의 스코어를 산출한다. Then, the repair company recommendation unit 102 calculates a score for each of the repair target type clusters according to the number of data belonging to the repair target type cluster. At this time, the repair company recommendation unit 102 calculates a score for each repair target type cluster according to the number of data belonging to each repair target type cluster.

관련하여, 상기 수리 대상 유형 클러스터의 각각에 속하는 데이터의 수는, 목표 사용자와 유사한 특징을 가진 사용자가 수리 대상 유형마다 수리했던 횟수를 의미할 수 있다. 나아가, 수리했던 횟수가 클수록 수리 대상 유형에 사용자의 관심이 큰 것으로 해석할 수 있으므로, 상기 데이터의 수가 클수록 해당 데이터가 속하는 수리 대상 유형 클러스터의 수리 대상 유형에 대한 유사한 사용자들의 관심도가 크다고 볼 수 있다.In this regard, the number of data belonging to each of the repair target type clusters may mean the number of repairs performed for each repair target type by a user having characteristics similar to the target user. Furthermore, it can be interpreted that the greater the number of repairs, the greater the user's interest in the repair target type, so that the greater the number of data, the greater the interest of similar users in the repair target type of the repair target type cluster to which the corresponding data belongs. .

이후, 수리 업체 추천부(102)는, 상기 스코어가 미리 설정된 값 이상인 수리 대상 유형 클러스터를 추출하고, 상기 수리 대상 유형 클러스터의 수리 대상 유형을 수리 업체 추천 정보에 포함시킬 수 있다. Thereafter, the repair company recommendation unit 102 may extract repair target type clusters having the score equal to or greater than a preset value, and include the repair target type of the repair target type cluster in repair vendor recommendation information.

종합하면, 수리 업체 추천부(102)는 목표 수리 대상 유형은 아니나, 유사 사용자가 수리했던 수리 대상 유형을 수리 업체와 함께 제공할 수 있다. 예를 들어, 사용자가 노트북 수리 업체를 추천받으면서, 상기 사용자가 좋아할 만한 제품을 함께 추천받을 수 있다.In summary, the repair company recommendation unit 102 may provide a repair target type that is not a target repair target type but has been repaired by a similar user together with a repair company. For example, when a user is recommended a laptop repair company, a product the user may like may also be recommended.

도 6은 본 발명의 일 실시예에 따른 추천 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.6 is a diagram showing a hardware configuration of a recommendation server according to an embodiment of the present invention by way of example.

도 6을 참조하면, 추천 서버(100)는, 적어도 하나의 프로세서(110); 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.Referring to FIG. 6 , the recommendation server 100 includes at least one processor 110; and a memory for storing instructions instructing the at least one processor 110 to perform at least one operation.

상기 적어도 하나의 동작은, 도 1 내지 도 5를 참조하여 설명한 추천 서버(100)의 동작을 포함할 수 있다.The at least one operation may include the operation of the recommendation server 100 described with reference to FIGS. 1 to 5 .

여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.Here, the at least one processor 110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor for performing methods according to embodiments of the present invention. can

메모리(120)는 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.The memory 120 may include at least one of volatile storage media and non-volatile storage media. For example, the memory 120 may include at least one of a read only memory (ROM) and a random access memory (RAM).

저장 장치(160)는, 예를 들어 HDD(hard disk drive), SSD(solid state drive) 등일 수 있다.The storage device 160 may be, for example, a hard disk drive (HDD) or a solid state drive (SSD).

또한, 추천 서버(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, 추천 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 추천 서버(100)에 포함된 각각의 구성 요소들은 버스(bus, 170)에 의해 연결되어 서로 통신을 수행할 수 있다.Also, the recommendation server 100 may include a transceiver 130 that communicates through a wireless network. Also, the recommendation server 100 may further include an input interface device 140 , an output interface device 150 , a storage device 160 , and the like. Each component included in the recommendation server 100 may be connected by a bus 170 to communicate with each other.

추천 서버(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.Examples of the recommendation server 100 include a communicable desktop computer, a laptop computer, a notebook, a smart phone, a tablet PC, and a mobile phone. ), smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game device, navigation device, digital camera, digital multimedia broadcasting (DMB) It may be a player, a digital audio recorder, a digital audio player, a digital video recorder, a digital video player, a personal digital assistant (PDA), and the like.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. Computer readable media may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on a computer readable medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer readable media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include not only machine language codes generated by a compiler but also high-level language codes that can be executed by a computer using an interpreter and the like. The hardware device described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. In addition, the above-described method or device may be implemented by combining all or some of its components or functions, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. You will understand that it can be done.

100: 추천 서버 101: 정보 관리부
102: 클러스터 획득부 103a: 사용자 클러스터 획득부 103b: 수리 대상 유형 클러스터 획득부
103: 수리 업체 추천부 200: 외부서버 300: 사용자 단말
100: recommendation server 101: information management unit
102: cluster acquisition unit 103a: user cluster acquisition unit 103b: repair target type cluster acquisition unit
103: repair company recommendation unit 200: external server 300: user terminal

Claims (1)

온라인 통합 수리 플랫폼에서 수리업체에 대한 스코어링을 통해 사용자에게 수리 업체를 제공하는 장치로서,
적어도 하나의 프로세서(processor); 및
상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
상기 적어도 하나의 동작은,
사용자 단말로부터 상기 사용자 단말의 사용자인 목표 사용자에 대한 정보, 목표 수리 대상 유형 및 상기 목표 사용자의 위치정보를 획득하는 단계;
복수의 사용자들에 대한 정보와 수리 이력에 기초하여 상기 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)함에 따라 미리 획득된 복수의 수리 유형 대상 클러스터들 중에서 상기 목표 사용자에 대한 정보 및 상기 목표 수리 대상 유형에 기초하여 수리 대상 유형 클러스터를 선정하는 단계;
선정된 상기 수리 대상 유형 클러스터에 포함된 복수의 수리 업체들에 대한 정보를 확인하고, 확인된 복수의 수리 업체들 중 상기 목표 사용자의 위치 정보에 기초하여 수리 업체를 선택하는 단계; 및
선택된 수리 업체를 포함하는 수리 업체 추천 정보를 생성하는 단계;를 포함하고,
상기 적어도 하나의 동작은,
외부 서버로부터 상기 복수의 사용자들에 대한 정보 및 상기 수리 이력을 획득하는 단계;
상기 복수의 사용자들에 대한 정보에 기초하여 상기 사용자들을 복수의 사용자 클러스터들로 클러스터링(clustering)하는 단계; 및
상기 사용자 클러스터들 각각마다, 상기 사용자 클러스터들에 속하는 사용자에 대한 수리 이력에 의해 지시되는 수리 업체들을 복수의 수리 대상 유형 클러스터들로 클러스터링(clustering)하는 단계를 더 포함하되,
상기 사용자들을 복수의 사용자 클러스터들로 클러스터링하는 단계는,
상기 복수의 사용자들에 대한 정보를 이용하여, 상기 복수의 사용자들 각각에 대응하는 복수의 사용자 벡터들을 생성하는 단계;
상기 복수의 사용자 벡터들 중에서 미리 설정된 k개(k는 2 이상의 자연수)의 사용자 벡터들을 선택하는 단계;
선택된 사용자 벡터들 각각에 의해 지시되는 좌표들을 k개의 클러스터들 각각에 대응하는 중심점들로 설정하는 단계;
상기 복수의 사용자 벡터들 각각마다 상기 중심점들 사이에 k개의 중복도 계수들을 산출하는 단계;
산출된 k개의 중복도 계수들에 기초하여 상기 사용자 벡터들 각각을 상기 k개의 클러스터들 중 하나에 할당하는 단계; 및
상기 k개의 클러스터들 각각에 할당된 사용자 벡터들을 이용하여 상기 k개의 클러스터들 각각에 대응하는 상기 중심점들을 재설정하는 단계;를 포함하고,
상기 중복도 계수들 각각은, 하기 수학식에 따라 산출되며,
Figure pat00007

상기 수학식에서 A는 사용자 벡터이고, B는 중심점을 포인팅하는 벡터이고, Euc는 유클리디안 거리를 연산하는 함수이고,
상기 수리 업체를 선택하는 단계는,
선정된 상기 수리 대상 유형 클러스터에 포함된 수리 업체를 지시하는 데이터의 수, 수리 업체의 위치, 및 가격에 기초하여 수리업체별 스코어를 하기 수학식에 따라 산출하는 단계를 포함하고,
Figure pat00008

여기서, Scorex는 수리업체 x에 대한 스코어를 의미하고, Ns,x는 선정된 수리 대상 유형 클러스터에 포함된 x 수리 업체를 지시하는 데이터의 개수,
Figure pat00009
는 선정된 수리 대상 유형 클러스터에 포함된 수리 업체를 지시하는 데이터의 총 개수, Px는 수리 업체 x의 서비스 제공 가격의 평균을 의미하고, Lx는 사용자 단말과 수리 업체의 직선 거리를 의미하며, k1, k2, 및 k3는 각 항에 대한 가중치로써, 관리자에 의해 설정되는, 장치.
A device that provides repair companies to users through scoring of repair companies on an online integrated repair platform,
at least one processor; and
A memory for storing instructions instructing the at least one processor to perform at least one operation,
At least one operation,
obtaining, from a user terminal, information about a target user who is a user of the user terminal, a target repair target type, and location information of the target user;
The target among a plurality of repair type target clusters obtained in advance by clustering repair companies indicated by the repair history into a plurality of repair target type clusters based on information and repair records of a plurality of users. selecting a repair target type cluster based on user information and the target repair target type;
checking information on a plurality of repair companies included in the selected repair target type cluster, and selecting a repair company from among the identified repair companies based on location information of the target user; and
Generating repair company recommendation information including the selected repair company; Including,
At least one operation,
obtaining information about the plurality of users and the repair history from an external server;
clustering the users into a plurality of user clusters based on the information about the plurality of users; and
Clustering, for each of the user clusters, repair companies indicated by repair records of users belonging to the user clusters into a plurality of repair target type clusters;
Clustering the users into a plurality of user clusters,
generating a plurality of user vectors corresponding to each of the plurality of users by using information about the plurality of users;
selecting k (k is a natural number greater than or equal to 2) user vectors set in advance from among the plurality of user vectors;
setting coordinates indicated by each of the selected user vectors as center points corresponding to each of the k clusters;
calculating k multiplicity coefficients between the center points for each of the plurality of user vectors;
assigning each of the user vectors to one of the k clusters based on the calculated k multiplicity coefficients; and
Resetting the center points corresponding to each of the k clusters using user vectors assigned to each of the k clusters;
Each of the redundancy coefficients is calculated according to the following equation,
Figure pat00007

In the above equation, A is a user vector, B is a vector pointing to the center point, Euc is a function that calculates the Euclidean distance,
The step of selecting the repair company,
Calculating a score for each repair company based on the number of data indicating repair companies included in the selected repair target type cluster, the location of the repair companies, and the price according to the following equation;
Figure pat00008

Here, Scorex means the score for repair company x, Ns,x is the number of data indicating x repair companies included in the selected repair target type cluster,
Figure pat00009
is the total number of data indicating repair companies included in the selected repair target type cluster, Px means the average service price of repair company x, Lx means the straight-line distance between the user terminal and the repair company, and k1 , k2, and k3 are weights for each term, which are set by an administrator.
KR1020220122969A 2021-08-13 2022-09-28 Method and apparatus for providing an online integrated repair platform for recommending repairers through scoring for repairers KR20230025373A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220122969A KR20230025373A (en) 2021-08-13 2022-09-28 Method and apparatus for providing an online integrated repair platform for recommending repairers through scoring for repairers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210107132A KR102450004B1 (en) 2021-08-13 2021-08-13 Method and device for providing integrated online repair platform based on clustering
KR1020220122969A KR20230025373A (en) 2021-08-13 2022-09-28 Method and apparatus for providing an online integrated repair platform for recommending repairers through scoring for repairers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210107132A Division KR102450004B1 (en) 2021-08-13 2021-08-13 Method and device for providing integrated online repair platform based on clustering

Publications (1)

Publication Number Publication Date
KR20230025373A true KR20230025373A (en) 2023-02-21

Family

ID=83597559

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020210107132A KR102450004B1 (en) 2021-08-13 2021-08-13 Method and device for providing integrated online repair platform based on clustering
KR1020220122970A KR20230025374A (en) 2021-08-13 2022-09-28 Method and apparatus for providing an online integrated repair platform through scoring and prioritizing feature support for repair companies
KR1020220122969A KR20230025373A (en) 2021-08-13 2022-09-28 Method and apparatus for providing an online integrated repair platform for recommending repairers through scoring for repairers

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020210107132A KR102450004B1 (en) 2021-08-13 2021-08-13 Method and device for providing integrated online repair platform based on clustering
KR1020220122970A KR20230025374A (en) 2021-08-13 2022-09-28 Method and apparatus for providing an online integrated repair platform through scoring and prioritizing feature support for repair companies

Country Status (1)

Country Link
KR (3) KR102450004B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102575870B1 (en) 2023-02-24 2023-09-07 주식회사 마이스터즈 Electronic device repair management platform
CN116136982A (en) * 2023-04-17 2023-05-19 北京徐工汉云技术有限公司 Method and device for managing maintenance tool of special engineering machinery
KR102651497B1 (en) * 2023-11-22 2024-03-26 (주)아이엑세스 Platform system and method for text mining-based human resources matching

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285861B1 (en) 2019-07-09 2021-08-04 동하정밀 주식회사 Method and system for providing manufacturing distribution platform

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5487588B2 (en) * 2008-09-30 2014-05-07 富士通株式会社 Information processing apparatus, program, and method for maintaining a remote machine
KR20150121648A (en) * 2015-01-06 2015-10-29 와이드브릿지 주식회사 Device requesting repair and method of the same
KR102073068B1 (en) * 2018-02-26 2020-02-04 한국인터넷진흥원 Method for clustering application and apparatus thereof
KR20210065522A (en) * 2019-11-27 2021-06-04 조대훈 System for intermediating of repair shop
KR102280307B1 (en) * 2020-10-27 2021-07-21 주식회사 꼬리 METHOD AND APPARATUS FOR CURATING Companion animal feed and snack, and system using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285861B1 (en) 2019-07-09 2021-08-04 동하정밀 주식회사 Method and system for providing manufacturing distribution platform

Also Published As

Publication number Publication date
KR20230025374A (en) 2023-02-21
KR102450004B1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
KR102450004B1 (en) Method and device for providing integrated online repair platform based on clustering
US20180342004A1 (en) Cumulative success-based recommendations for repeat users
US20130282611A1 (en) System and methods for providing user generated video reviews
US20130283307A1 (en) System and methods for providing user generated video reviews
US20140222588A1 (en) Advertisement system, control method for advertisement system, advertisement control device, control method for advertisement control device, program, and information storage medium
US20170278173A1 (en) Personalized bundle recommendation system and method
US10147129B1 (en) Determining collections of similar items
US20210256445A1 (en) System and method for matching resource capacity with client resource needs
CN109213936B (en) Commodity searching method and device
CN110084658B (en) Method and device for matching articles
CN111967924A (en) Commodity recommendation method, commodity recommendation device, computer device, and medium
CN110990712A (en) Product data pushing method and device and computer equipment
KR101441164B1 (en) Object customization and management system
KR20140133663A (en) System and method for products recommendation service, and apparatus applied to the same
US20160005098A1 (en) Product recommendation engine based on remaining balance in a stored-value scenario
CN110750697A (en) Merchant classification method, device, equipment and storage medium
CN110362594A (en) A kind of information processing method and system
CN110648167A (en) Micropayment compensation for user-generated game content
CN107798125B (en) Access judgment method, system, equipment and storage medium based on intimacy model
JP2021190092A (en) Information processing method, information processing apparatus, and information processing program
US20140358819A1 (en) Tying Objective Ratings To Online Items
US20200155949A1 (en) Method for performing game by using activity count
CN110110222A (en) A kind of target object determines method, apparatus and computer storage medium
KR102619987B1 (en) Method of providing provider and consumer location-based intermediary platforms
Ihsani et al. Conversational recommender system based on functional requirements and technical specifications

Legal Events

Date Code Title Description
E902 Notification of reason for refusal