KR102600307B1 - 사용자별 대표 활동 로그 추출 방법과 머신러닝 모델의 병합을 적용한 사용자 및 대화 파트너 매칭 제공 최적화 시스템 및 그 동작 방법 - Google Patents
사용자별 대표 활동 로그 추출 방법과 머신러닝 모델의 병합을 적용한 사용자 및 대화 파트너 매칭 제공 최적화 시스템 및 그 동작 방법 Download PDFInfo
- Publication number
- KR102600307B1 KR102600307B1 KR1020220129525A KR20220129525A KR102600307B1 KR 102600307 B1 KR102600307 B1 KR 102600307B1 KR 1020220129525 A KR1020220129525 A KR 1020220129525A KR 20220129525 A KR20220129525 A KR 20220129525A KR 102600307 B1 KR102600307 B1 KR 102600307B1
- Authority
- KR
- South Korea
- Prior art keywords
- text data
- partner
- user
- interest
- features
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000000694 effects Effects 0.000 title description 4
- 238000000605 extraction Methods 0.000 title description 3
- 238000010801 machine learning Methods 0.000 title description 3
- 238000005457 optimization Methods 0.000 title 1
- 238000007781 pre-processing Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims abstract description 11
- 238000003860 storage Methods 0.000 claims abstract description 11
- 238000012552 review Methods 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 49
- 238000004891 communication Methods 0.000 claims description 7
- 238000000513 principal component analysis Methods 0.000 claims description 7
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007115 recruitment Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Strategic Management (AREA)
- Medical Informatics (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본원의 다양한 실시예에 따른 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 사용자의 검색 이력, 파트너 프로필 조회 이력, 사용자의 가입 시 수행한 설문 결과, 및 사용자가 파트너들에 대해 작성한 리뷰 및 평점 이력 정보를 포함하는 사용자 데이터를 수집하는 단계; 수집된 사용자 데이터를 이용하여, 사용자의 적어도 하나의 관심 직군 및 관심 커리어 영역을 결정하고 적어도 하나의 제1 관심 직군 및 제1 관심 커리어 영역을 결정하는 단계; 사용자로부터 획득된 제1 텍스트 데이터에 전처리를 수행하여 생성한 제1 텍스트 데이터 및 복수의 파트너로부터 획득된 제2 텍스트 데이터에 전처리를 수행하여 제2 텍스트 데이터의 피쳐를 추출하여 병합하는 단계 - 제1 텍스트 데이터는 사용자가 남긴 커리어에 관련된 질의 및 설문에 대한 답변을 포함하고, 제2 텍스트 데이터는 파트너가 입력한 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 파트너가 입력한 직무 관련 해시태그를 포함함 -; 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성하는 단계; 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성하는 단계; 파트너 풀에 포함된 적어도 하나의 파트너 중 제1 관심 직군 및 제1 관심 커리어 영역에 매치되는 파트너를 선택하여 추천 파트너 풀을 생성하는 단계를 포함할 수 있다.
Description
본원 발명은 사용자 및 대화 파트너 매칭 제공 시스템에 연관되며, 구체적으로 시스템에 축적된 사용자별 활동 로그 분석을 통한 대표 관심 커리어 분야 추출 방법과 머신러닝 기반 학습된 모델의 병합 적용을 통해 사용자별 최적의 맞춤형 커리어 대화 파트너를 제공하는 매칭 시스템에 관한 것이다.
최근 공채중심의 취업 시장에서 수시채용으로의 전환이 이어지고 있고 평생직장의 개념이 사라지면서 구인구직이 활발해지고 있다. 급변하는 채용 및 이직 시장에서 구직자들은 개인화된 정보와 기회들을 적극적으로 탐색하고 있으며 그 중에서도 인터넷 및 애플리케이션 프로그램 서비스를 통한 커리어 정보 서비스는 시공간적 제약을 극복할 수 있다는 점에서 인맥 이외의 주요한 정보 획득 수단으로 자리잡고 있다. 이러한 추세의 일환으로 맞춤형 커리어 서비스도 다양해지고 있다.
예를 들어, 서비스들은 유저가 원하는 채용기회 혹은 정보 콘텐츠를 제공하는 등의 커리어 서비스를 제공해주고 있다. 그러나 개인별 커리어 방향성에 대한 고민의 스펙트럼은 다양해지고 세분화되고 있으며, 이에 따라 한정된 정보를 단순 조합하여 제공하는 커리어 정보 콘텐츠 제공 방식은 갈수록 한계점이 명확해지고, 이에 따라 개인이 원하는 시점에 고민의 의도를 정확하게 파악하여 제공되는 개인 맞춤형 추천 서비스 제공 기술의 중요도가 증가하고 있다.
관련 선행문헌: 공개특허공보 제10-2022-0065353호(공개일자: 2022.05.20)
본원의 다양한 실시예에 따라, 사용자가 작성한 개인별 커리어 관련 '질의' 내용과 이를 답변 가능한 전문가의 주요 '프로필 정보'를 종합하여, 일차적으로 사용자와 전문가의 매칭 풀을 선정하고, 사용자의 축적된 활동 로그 내역을 함께 고려함으로서 사용자의 주요 관심 직무 영역 및 커리어 영역을 더욱 정확히 파악하고 이에 맞춤형 최적 전문가를 매칭 할 수 있다.
본원의 다양한 실시예에 따른 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 사용자의 검색 이력, 파트너 프로필 조회 이력, 사용자의 가입 시 수행한 설문 결과, 및 사용자가 파트너들에 대해 작성한 리뷰 및 평점 이력 정보를 포함하는 사용자 데이터를 수집하는 단계; 수집된 사용자 데이터를 이용하여, 사용자의 적어도 하나의 관심 직군 및 관심 커리어 영역을 결정하고 적어도 하나의 제1 관심 직군 및 제1 관심 커리어 영역을 결정하는 단계; 사용자로부터 획득된 제1 텍스트 데이터에 전처리를 수행하여 생성한 제1 텍스트 데이터 및 복수의 파트너로부터 획득된 제2 텍스트 데이터에 전처리를 수행하여 제2 텍스트 데이터의 피쳐를 추출하여 병합하는 단계 - 제1 텍스트 데이터는 사용자가 남긴 커리어에 관련된 질의 및 설문에 대한 답변을 포함하고, 제2 텍스트 데이터는 파트너가 입력한 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 파트너가 입력한 직무 관련 해시태그를 포함함 -; 제 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성하는 단계; 파트너 풀에 포함된 적어도 하나의 파트너 중 제1 관심 직군 및 제1 관심 커리어 영역에 매치되는 파트너를 선택하여 추천 파트너 풀을 생성하는 단계를 포함할 수 있다.
일실시예에 따라, 상기 단계들은 파트너 풀에 포함된 적어도 하나의 파트너들의 제2 텍스트 데이터 및 사용자의 제1 텍스트 데이터에 주성분 분석(principal component analysis, PCA)를 이용하여 차원을 축소하고, 사용자와 적어도 하나의 파트너 간의 유사도를 계산하는 단계; 및 유사도가 미리 설정된 임계치 이상인 파트너를 선택하여 추천 파트너 풀을 생성하는 단계를 더 포함할 수 있다.
일실시예에 따라, 사용자의 제1 텍스트 데이터는 파트너와의 대화를 수행하기 위해 자신의 관심 영역 및 커리어 영역에 대한 텍스트 정보를 포함하고, 파트너의 제2 텍스트 데이터는, 사용자와 매칭될 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 및 파트너에 의해 입력된 해시태그의 텍스트 정보를 포함할 수 있다.
일실시예에 따라, 상기 단계들은, 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 텍스트 임베딩을 수행하는 단계; 를 더 포함하고, 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 텍스트 임베딩을 수행하는 단계는, 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 TF-IDF를 계산하는 단계; 상기 TF-IDF에 대한 밀집 벡터를 계산하는 단계; 및 상기 TF-IDF 및 밀집 벡터에 주성분 분석을 적용하여 차원을 축소하고 사용자와 적어도 하나의 파트너 사이의 유사도를 계산하는 단계를 포함할 수 있다.
일실시예에 따라, 상기 단계들은, 상기 추출되어 병합된 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐를 이용하여, LDA(Latent Dirichlet Allocation, LDA), NMF(Non-negative Matrix Factorization, NMF), LSI(Latent Semantic Indexing, LSI), 및 BERT 기반 토픽 모델 (Bidirectional Encoder Representations from Transformers Topic Model, BERTopic) 방식을 통해 각각의 방식에 대응하는 적어도 하나의 토픽 모델들의 집합들로 구성된 복수의 토픽 모델을 생성하는 단계; 및 제1 텍스트 데이터의 피쳐와 토픽 모델을 공유하는 제2 텍스트 데이터를 갖는 적어도 하나의 파트너를 추출하여 파트너 풀을 생성하는 단계;를 더 포함하고, 복수의 토픽 모델 각각에는 번호가 부여되고, 상기 단계는, 사용자 및 파트너로부터 획득한 텍스트 데이터 및 텍스트 데이터의 피쳐를 각각 LDA, NMF, LSI 및 BERTopic 방식들에 입력에 입력한 결과에 기초하여 사용자 및 파트너에 번호를 부여하는 단계; 및 상기 사용자 및 파트너에 부여된 번호와 상기 복수의 토픽 모델 각각에 부여된 번호를 비교하여, 사용자 및 파트너를 토픽 모델들에 분류하여 클러스터링을 수행하는 단계를 포함할 수 있다.
일실시예에 따라, 복수의 토픽 모델 각각에는 식별을 위한 번호가 부여되고, 상기 단계는, 사용자 및 파트너로부터 획득한 텍스트 데이터 및 텍스트 데이터의 피쳐를 각각 LDA, NMF, LSI 및 BERTopic 방식들에 입력에 입력한 결과에 기초하여 사용자 및 파트너에 번호를 부여하는 단계; 및 상기 사용자 및 파트너에 부여된 번호와 상기 복수의 토픽 모델 각각에 부여된 번호를 비교하여, 사용자 및 파트너를 토픽 모델들에 분류하여 클러스터링을 수행하는 단계를 포함할 수 있다.
본원의 다양한 실시예에 따른 서버에 있어서, 상기 서버는: 프로세서; 메모리; 및 통신 모듈을 포함하고, 상기 메모리는 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 사용자의 검색 이력, 파트너 프로필 조회 이력, 사용자의 가입 시 수행한 설문 결과, 및 사용자가 파트너들에 대해 작성한 리뷰 및 평점 이력 정보를 포함하는 사용자 데이터를 수집하는 단계; 수집된 사용자 데이터를 이용하여, 사용자의 적어도 하나의 관심 직군 및 관심 커리어 영역을 결정하고 적어도 하나의 제1 관심 직군 및 제1 관심 커리어 영역을 결정하는 단계; 사용자로부터 획득된 제1 텍스트 데이터에 전처리를 수행하여 생성한 제1 텍스트 데이터 및 복수의 파트너로부터 획득된 제2 텍스트 데이터에 전처리를 수행하여 제2 텍스트 데이터의 피쳐를 추출하여 병합하는 단계 - 제1 텍스트 데이터는 사용자가 남긴 커리어에 관련된 질의 및 설문에 대한 답변을 포함하고, 제2 텍스트 데이터는 파트너가 입력한 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 파트너가 입력한 직무 관련 해시태그를 포함함 -; 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성하는 단계; 파트너 풀에 포함된 적어도 하나의 파트너 중 제1 관심 직군 및 제1 관심 커리어 영역에 매치되는 파트너를 선택하여 추천 파트너 풀을 생성하는 단계를 포함할 수 있다.
도 1은 본원의 다양한 실시예에 따른 사용자 및 대화 파트너 매칭 제공 시스템에 대한 예시적인 도면이다.
도 2는 본원의 다양한 실시예에 따른 사용자 및 대화 파트너 매칭 제공 시스템의 서버의 내부 구성에 대한 예시적인 도면이다.
도 3은 본원의 다양한 실시예에 따른 사용자 및 대화 파트너 매칭 제공 시스템이 동작하는 방법의 흐름도이다.
도 4는 본원의 다양한 실시예에 따른 사용자 및 대화 파트너의 매칭 방식을 설명하기 위한 예시적인 도면이다.
이상의 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다.
따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다.
또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.
또한, 이상의 도면에서는 이해를 돕기 위해서, 축척에 비례하지 않고 특정 부분을 확대하거나 축소한 점에 유의해야 한다.
도 2는 본원의 다양한 실시예에 따른 사용자 및 대화 파트너 매칭 제공 시스템의 서버의 내부 구성에 대한 예시적인 도면이다.
도 3은 본원의 다양한 실시예에 따른 사용자 및 대화 파트너 매칭 제공 시스템이 동작하는 방법의 흐름도이다.
도 4는 본원의 다양한 실시예에 따른 사용자 및 대화 파트너의 매칭 방식을 설명하기 위한 예시적인 도면이다.
이상의 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다.
따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다.
또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.
또한, 이상의 도면에서는 이해를 돕기 위해서, 축척에 비례하지 않고 특정 부분을 확대하거나 축소한 점에 유의해야 한다.
다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본원의 이해를 제공하 기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 전자 장치에서 실행되는 애플리케이션 및 전자 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하 나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스 템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
그리고, "A 또는 B 중 적어도 하나"이라는 용어는, "A만을 포함하는 경우", "B 만을 포함하는 경우", "A와 B의 구성으로 조합된 경우"를 의미하는 것으로 해석되어야 한다.
당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합 들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개 시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.
제시된 실시예들에 대한 설명은 본원의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본원의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본원의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예 들로 한정되는 것이 아니다. 본 발명은 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
본원에서 네트워크 함수와 인공 신경망 및 뉴럴 네트워크(neural network)는 상호교환 가능하게 사용될 수 있다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 및 저장매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 전자 장치의 프로세서 자체로 구현될 수 있다
도 1을 참고하면, 본원의 다양한 실시예에 따른 사용자 및 대화 파트너 매칭 제공을 위한 시스템(100)은, 사용자 단말(110), 서버(120), 및 복수의 파트너 단말(130)로 구성될 수 있다. 사용자 단말(110)의 사용자는 서버(120)를 통해 본인이 원하는 직군 또는 관심 영역에서 활동하고 있어 질의 및 설문을 진행하고 싶어하는 파트너와 매칭을 통해 대화를 수행하고자 하는 개인일 수 있다. 사용자 단말은 사용자의 모바일 단말, 랩탑, 또는 데스크탑 등 다양한 전자 장치를 포함할 수 있다. 서버(120)는 메모리 또는 데이터베이스에 사용자 및 파트너의 정보를 저장하여, 사용자와 적절한 파트너의 매칭을 통해 사용자가 궁금해하거나 고민이 있는 직무 또는 영역에 있어서의 대화 또는 질의에 대한 니즈를 충족시켜줄 수 있는 서버를 통칭할 수 있다.
파트너 단말(30)의 사용자인 파트너는 사용자와 매칭되어 관련 직무, 커리어, 등에 대한 상담을 진행할 수 있는 개인일 수 있다. 파트너 단말은 파트너의 모바일 단말, 랩탑, 또는 데스크탑 등 다양한 전자 장치를 포함할 수 있다. 사용자 단말(110), 서버(120), 및 복수의 파트너 단말(130)은 네트워크(140)을 통해 연결될 수 있으며, 통신 모듈을 통해 서로 간에 통신을 수행하도록 할 수 있다.
도2에 도시된 서버(120)의 구성은 간략화하여 나타낸 예시일 뿐이다. 본원의 일 실시예에서 서버(120)는 서버(120)의 컴퓨팅 환경을 수행하기 위한 다른 구성들이 포함될 수 있고, 개시된 구성들 중 일부만이 서버(120)를 구성할 수도 있다.
서버(120)는 프로세서(210), 메모리(220), 및 통신 모듈(230)을 포함할 수 있다. 프로세서(210)는 하나 이상의 코어로 구성될 수 있으며, 서버(120)의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서(210)는 메모리에 저장된 컴퓨터 프로그램을 판독하여 본원의 일 실시예에 따른 기계 학습을 위한 데이터 처리를 수행할 수 있다. 또한, 프로세서(210)는 서버(120)의 구성이 동작하도록 제어하며, 전반적인 시스템(100)의 동작을 구현할 수 있다.
예를 들어, 프로세서(210)는 통상적으로 서버(120)의 전반적인 동작을 제어할 수 있다. 프로세서(210)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(220)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 프로세서(210)는 메모리(220)에 저장된 응용 프로그램을 구동하기 위하여, 서버(120)의 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(210)는 상기 응용 프로그램의 구동을 위하여, 서버(120)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
본원의 일실시예에 따라 프로세서(210)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(210)는 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(210)의 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다.
사용자 단말(110)은, 프로세서(310), 메모리(320), 통신 모듈(330), 및 디스플레이(340)로 구성될 수 있다. 프로세서(310), 메모리(320), 통신 모듈(300)에 대한 설명은 도 2에서 자세히 하였으므로, 생략하기로 한다. 디스플레이(340)는 다양한 디스플레이를 포함할 수 있고, 터치 스크린 디스플레이를 포함할 수 있다.
도 3을 참고하면, 단계 310에서, 프로세서는 사용자의 검색 이력, 파트너 프로필 조회 이력, 사용자의 가입 시 수행한 설문 결과, 및 사용자가 파트너들에 대해 작성한 리뷰 및 평점 이력 정보를 포함하는 사용자 데이터를 수집할 수 있다. 사용자 데이터는, 사용자가 본원의 시스템에서 제출한 정보 외에도 네트워크 상으로 연결된 다른 시스템 또는 서비스에서 활동한 내역에 대한 정보를 포함할 수 있다.
단계 320에서, 프로세서는 수집된 사용자 데이터를 이용하여, 사용자의 적어도 하나의 관심 직군 및 관심 커리어 영역을 결정하고 적어도 하나의 제1 관심 직군 및 제1 관심 커리어 영역을 결정할 수 있다. 예를 들어, 프로세서는 수집된 사용자 데이터 중에 사용자가 자주 방문한 사이트에 관련된 직무, 사용자가 자주 검색한 검색어와 관련된 직무 및/또는 커리어 영역을 관심 커리어 영역으로 설정할 수 있다.
도 4를 참고하면, 프로세서가 사용자의 리뷰, 별점, 로그 등의 정보 등에 기초하여 생성된 사용자 데이터(410)을 이용하여 제1 관심 직군 및 제1 관심 커리어 영역(411)을 설정한다. 설정된 제1 관심 직군 및 제1 관심 커리어는 관심 직군 및 관심 커리어 영역 풀(412)에 포함되어, 라벨링되어 서로 구분되도록 할 수 있다. 예를 들어, "직군 A", "직군 B", 및 "직군 C"는 각각 "label 1", "label 2", 및 "label 3"에 매칭될 수 있다.
단계 330에서, 프로세서는 사용자로부터 획득된 제1 텍스트 데이터(421)에 전처리를 수행하여 생성한 제1 텍스트 데이터의 피쳐 및 복수의 파트너로부터 획득된 제2 텍스트 데이터(422)에 전처리를 수행하고, 제2 텍스트 데이터의 피쳐를 추출하여 병합할 수 있다. 예를 들어, 제1 텍스트 데이터는 사용자가 남긴 커리어에 관련된 질의 및 설문에 대한 답변을 포함하고, 제2 텍스트 데이터는 파트너가 입력한 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 파트너가 입력한 직무 관련 해시태그를 포함할 수 있다.
예를 들어, 프로세서는 제1 설문을 통해, 사용자로부터 수신된 응답에 포함된 제1 텍스트 데이터에 전처리(pre-processing)를 수행하여 제1 텍스트 데이터의 피쳐를 추출하여 병합할 수 있다. 제1 설문은, 사용자가 대화를 수행할 파트너를 매칭하기 위해 입력되는 기본적인 정보를 포함할 수 있다. 예를 들어, 제1 설문은 사용자의 관심 영역, 커리어 영역 등 사용자가 관심을 두고 있는 주제를 확인하여 유사한 관심 영역 및 커리어 영역에 대한 경력 또는 인사이트를 갖는 파트너를 매칭하기 위한 정보를 얻기 위한 설문을 통칭할 수 있다. 사용자의 제1 텍스트 데이터는, 사용자가 남긴 커리어와 관련된 질의가 포함될 수 있다.
예를 들어, 텍스트 데이터의 전처리란, 사용자로부터 수신된 텍스트 데이터로부터 주요 피쳐를 추출하고 추출된 피쳐를 병합하는 과정을 통칭할 수 있다. 예를 들어, 사용자로부터의 응답은 파트너와의 대화를 수행하기 위해 자신의 관심 영역 및/또는 커리어 영역에 대한 정보를 포함할 수 있다. 응답에 해당하는 텍스트 데이터의 일 예로, "안녕하세요. 국내 기업에 다니다 최근 외국계 기업으로 이직을 하였습니다. 국내 기업과 외국계 기업의 문화가 달라 고민이 많습니다." 의 응답을 수신할 수 있다. 텍스트 데이터의 전처리는, 텍스트 데이터의 토큰화를 통해 의미를 갖는 단어를 텍스트 데이터의 피쳐로서 생성하는 과정을 의미할 수 있다. 상술한 응답에 대해, 데이터의 전처리가 진행되면, " '안녕하다', '국내', '기업', '다니다', '최근', '외국', '회사'" 등을 포함할 수 있다. 즉, 텍스트 데이터의 전처리를 통해, 문장 단위로 이루어지는 사용자의 질의 또는 답변이 각각 의미를 갖는 단위의 단어들로 변환될 수 있다.
예를 들어, 프로세서는 제2 설문을 통해, 복수의 파트너로부터 수신된 응답에 포함된 제2 텍스트 데이터에 전처리를 수행하여 제2 텍스트 데이터의 피쳐를 추출하여 병합할 수 있다. 제2 설문에 대한 내용 및 제2 텍스트 데이터의 피쳐 추출에 대한 내용은 제1 설문 및 제1 텍스트 데이터의 피쳐 추출에 대한 내용과 동일하므로, 자세한 설명은 생략하기로 한다.
파트너의 제2 텍스트 데이터는, 사용자와 매칭될 파트너의 주요 프로필 정보(직무, 자기소개, 답변 가능 주제, 보유 기술, 해시태그 등)의 데이터를 포함할 수 있다. 이후에서 자세히 설명하겠지만, 제1 텍스트 데이터 및 제2 텍스트 데이터 또는 이로부터 추출된 피쳐들을 통해 사용자의 핵심 '질의 의도' 및 질의 내용이 소속된 '잠재적 토픽' (예: 제1 질의 의도 토픽 그룹: 데이터 분석, 제2 질의 의도 토픽 그룹: 취업) 그룹을 추출할 수 있다.
단계 340에서, 프로세서는, 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성할 수 있다. 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여 적어도 하나의 파트너를 선택하는 방법은 다양하며, 본원은 이에 제한되지 않는다.
일실시예에 따라, 프로세서는 전처리된 텍스트 데이터의 피쳐들에 대해 텍스트 임베딩을 수행할 수 있다. 텍스트 임베딩은 각각의 텍스트 데이터의 피쳐들에 대한 TF-IDF(term frequency-inverse document frequency)를 계산하고, 계산된 TF-IDF에 대해 밀집 벡터(dense vector)를 계산함으로써 수행될 수 있다. 텍스트 임베딩을 통해, TF-IDF , 및 밀집 벡터가 획득될 수 있으며, TF-IDF 및 밀집 벡터는 후술하겠지만 저차원 벡터로서 변환된 사용자 및 파트너 간의 거리를 계산하는데 사용될 수 있다. 사용자로부터 수신한 제1 텍스트 데이터는 텍스트 전처리를 통해 제1 텍스트 데이터의 피쳐로 변환될 수 있고, TF-IDF 및 밀집 벡터를 이용한 텍스트 임베딩을 통해 TF-IDF 및 밀집 벡터를 포함하는 제1 가중치 벡터가 생성될 수 있다. 파트너로부터 수신한 제2 텍스트 데이터는 텍스트 전처리를 통해 제2 텍스트 데이터의 피쳐로 변환될 수 있고, TF-IDF 및 밀집 벡터를 이용한 텍스트 임베딩을 통해 TF-IDF 및 밀집 벡터를 포함하는 제2 가중치 벡터가 생성될 수 있다. 또는, 제1 가중치 벡터(423) 및 제2 가중치 벡터(431)의 생성 전, TF-IDF 에 대한 정규화(normalization)가 더 수행되어 정규화된 TF-IDF 를 이용하여 가중치 벡터가 생성될 수 있다.
후술하겠지만, TF-IDF 및 TF-IDF를 이용하여 생성된 밀집 벡터로 구성된 가중치 벡터는 사용자와 파트너의 유사도 결정에 사용될 수 있다. 또는, 스파스 벡터(sparse vector)인 TF-IDF를 밀집 벡터로 변환하여 밀집 벡터만을 이용하여 사용자와 파트너 간의 유사도를 계산할 수도 있다. 즉, 본원에 따르면 밀집 벡터만을 이용하여 유사도를 계산하거나, 더욱 정확한 결과 값을 얻기 위해 밀집 벡터와 스파스 벡터인 TF-IDF를 모두 이용하여 유사도를 계산할 수도 있다.
일실시예에 따라, 프로세서는 상기 추출되어 병합된 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐를 이용하여, 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA), 비음수 행렬 분해(non-negative matrix factorization, NMF), 잠재 의미 인덱싱(latent semantic indexing, LSI), 및 BERT 기반 토픽 모델(Bidirectional Encoder Representations from Transformers Topic Model, BERTopic) 방식 등을 통해 각각의 방식에 대응하는 적어도 하나의 토픽 모델들의 집합들로 구성된 복수의 토픽 모델을 생성할 수 있다.
BERTopic은 토픽 내에 중요한 단어를 유지하면서 쉽게 토픽이 해석가능하게 하는 밀집 클러스터(dense cluster)를 만드는데 있어서 트랜스포머와 클래스 기반의 TF-IDF를 이용하는 토픽 모델링 기술을 통칭할 수 있다. LDA, NMF, LSI, 및 BERTopic에 대한 자세한 내용은 본원의 기술분야의 통상의 기술자에게 자명한 사항이므로, 설명은 생략하기로 한다.
프로세서는 사용자 및 파트너들로부터 획득된 텍스트 데이터를 LDA, NMF, LSI, BERTopic 등 다양한 방식들에 입력으로 입력할 수 있다. 각각의 방식에 대해서, 사용자 및 파트너들은 자신이 입력한 텍스트 데이터에 기반하여 생성된 텍스트 데이터의 피쳐에 따라 복수의 토픽 모델로 분류될 수 있다.
본원에 따르면, LDA, NMF, LSI, 및 BERTopic 등의 방식에 각각에 대해 적어도 하나의 토픽 모델들이 생성될 수 있고, 이러한 적어도 하나의 토픽 모델들의 집합은 복수의 토픽 모델을 형성할 수 있다. 토픽 모델은, 특정 주제에 대해 사용자 및 파트너를 클러스터링하기 위한 모델링을 의미할 수 있고, 토픽 그룹은 클러스터링되어 사용자 또는 파트너들을 포함하게 되는 사용자 및/또는 파트너들의 집합을 의미할 수 있다.
예를 들어, LDA 방식의 토픽 모델 집합에는 LDA 1, LDA 2, LDA 3의 토픽 모델이, NMF 방식의 토픽 모델 집합에는 NMF 1, NMF 2, NMF 3 방식의 토픽 모델이, LSI 방식의 토픽 모델 집합에는 LSI 1, LSI 2 방식의 토픽 모델이 포함될 수 있다. 각각의 토픽 모델들에는, 번호가 부여될 수 있다. 프로세서는, 사용자 및 파트너로부터 획득한 텍스트 데이터 및/또는 텍스트 데이터의 피쳐를 각각 LDA, NMF, LSI, BERTopic의 방식들에 입력하여 사용자 및 파트너를 라벨링되어 클러스터링된 토픽 모델들에 분류할 수 있다.
각각의 토픽 모델은, 텍스트 데이터들의 피쳐들에 의해 분류되는 것일 수 있다. 즉, 토픽 그룹들은 LDA, NMF, LSI, 및 BERTopic 등 다양한 방식에 따라 분류되는 토픽 그룹이면서도, 각각의 방식에 대해서는 사용자의 잠재 관심 영역, 관심 커리어 영역 등으로 분류되는 그룹일 수 있다. 각각의 토픽 그룹에는, 각각의 토픽 그룹에 해당하는 텍스트 데이터의 피쳐를 갖는 사용자 또는 파트너들이 속하게 될 수 있다. 결론적으로, 사용자 및 파트너들은 각각이 입력한 텍스트 데이터에 기초하여, 복수의 토픽 모델들로 클러스터링될 수 있다.
프로세서는 제1 텍스트 데이터의 피쳐와 토픽 모델을 공유하는 제2 텍스트 데이터를 갖는 적어도 하나의 파트너를 추출하여 파트너 풀을 생성할 수 있다. 프로세서는 파트너 풀에 포함된 적어도 하나의 파트너들의 제2 텍스트 데이터 및 사용자의 제1 텍스트 데이터에 주성분 분석을 적용하여 차원을 축소하고 사용자와 적어도 하나의 파트너 사이의 유사도를 계산할 수 있다. 예를 들어, 유사도 계산에는 사용자 및 파트너에 의해 입력된 텍스트 데이터로부터 각각의 사용자 및 파트너에 대해 생성된 밀집 벡터(dense vector) 및 정규화된 TF-IDF(term frequency - inverse document frequency)가 이용될 수 있다. 밀집 벡터(dense vector) 및 정규화된 TF-IDF(term frequency - inverse document frequency)를 포함하는 사용자 및 파트너들의 가중치 벡터에 대한 주성분 분석을 통해, 고차원 벡터의 차원 축소가 진행될 수 있다. 예를 들어, 고차원 벡터의 차원 축소에 따라 사용자 및 파트너들은 2차원 좌표평면에 배치될 수 있다. 사용자 및 파트너들의 2차원 좌표 상에서의 거리는 유클리디안 거리로 표현될 수 있다. 또한, 고차원 벡터의 차원 축소에 따라 사용자 및 파트너들은 3차원 이상의 차원을 갖는 좌표계에 배치될 수 있다. 이 경우, 사용자 및 파트너들의 거리는 코사인 유사도 등으로 표현될 수 있다.
일실시예에 따라, 프로세서는 제1 텍스트 데이터의 피쳐와 토픽 모델을 공유하는 제2 텍스트 데이터를 갖는 적어도 하나의 파트너를 추출하여 파트너 풀(423)을 생성할 수 있다. 예를 들어, 복수의 토픽 그룹 중 사용자와 토픽 그룹을 공유하는 파트너들을 파트너 풀(423)에 포함되는 파트너로 선택할 수 있다.
단계 350에서, 프로세서는 파트너 풀에 포함된 적어도 하나의 파트너 중 제1 관심 직군 및 제1 관심 커리어 영역에 매치되는 파트너를 선택하여 추천 파트너 풀을 생성할 수 있다. 도 4를 참고하면, 관심 직군/관심 커리어 영역 풀에 포함된 관심 직군 및 관심 커리어 영역은 파트너 풀에 포함된 파트너들에 대응되도록 연결될 수 있다. 생성된 추천 파트너 풀은, 사용자에게 제공될 수 있다. 예를 들어, "직군 A"의 "label 1" 및 "직군 B"의 "label 2"는 파트너 풀(423)의 파트너들 중 "파트너 1"에 매칭될 수 있다. 또한, "직군 C"의 "label 3"은 파트너 풀(423)의 파트너들 중 "파트너 N"에 매칭될 수 있다. 이에 따라, 추천 파트너 풀(424)에는 "직군 A"에 대응되는 "파트너 1" 및 "직군 C"에 대응되는 "파트너 N"이 포함될 수 있고, 사용자에게 대화 파트너로서 추천 및 제공될 수 있다.
본원의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
본원의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에 서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본원의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정 한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본원의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장 치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한 다. 설계 우선순위들에 기반하여, 본원의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본원의 기술 분야에서 통상의 지식을 가진 자가 본원을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본원의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본원의 범위를 벗어남이 없이 다른 실 시예들에 적용될 수 있다. 그리하여, 본원은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
Claims (7)
- 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은:
사용자의 검색 이력, 파트너 프로필 조회 이력, 사용자의 가입 시 수행한 설문 결과, 및 사용자가 파트너들에 대해 작성한 리뷰 및 평점 이력 정보를 포함하는 사용자 데이터를 수집하는 단계;
수집된 사용자 데이터를 이용하여, 사용자의 적어도 하나의 관심 직군 및 관심 커리어 영역을 결정하고 적어도 하나의 제1 관심 직군 및 제1 관심 커리어 영역을 결정하는 단계;
사용자로부터 획득된 제1 텍스트 데이터에 전처리를 수행하여 생성한 제1 텍스트 데이터 및 복수의 파트너로부터 획득된 제2 텍스트 데이터에 전처리를 수행하고 제2 텍스트 데이터의 피쳐를 추출하여 병합하는 단계 - 제1 텍스트 데이터는 사용자가 남긴 커리어에 관련된 질의 및 설문에 대한 답변을 포함하고, 제2 텍스트 데이터는 파트너가 입력한 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 파트너가 입력한 직무 관련 해시태그를 포함함 -;
제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성하는 단계;
제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 텍스트 임베딩을 수행하는 단계 - 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 텍스트 임베딩을 수행하는 단계는, 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 TF-IDF를 계산하는 단계; 제1 텍스트 데이터의 TF-IDF에 대한 제1 밀집 벡터 및 제2 텍스트 데이터의 상기 TF-IDF에 대한 제2 밀집 벡터를 계산하는 단계; 제1 텍스트 데이터의 TF-IDF 및 제1 밀집 벡터를 이용하여 제1 가중치 벡터를 획득하고, 제2 텍스트 데이터의 TF-IDF 및 제2 밀집 벡터를 이용하여 제2 가중치 벡터를 획득하는 단계; 및 제1 가중치 벡터 및 제2 가중치 벡터에 주성분 분석을 적용하여 차원을 축소하고 정규화를 수행하여, 제1 가중치 벡터 및 제2 가중치 벡터 사이의 유사도를 계산함으로써 사용자와 적어도 하나의 파트너 사이의 유사도를 계산하는 단계를 포함함 -; 및
유사도가 미리 설정된 임계치 이상인 파트너를 선택하여 추천 파트너 풀을 생성하는 단계;
를 포함하는, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
- 삭제
- 제1항에 있어서,
사용자의 제1 텍스트 데이터는 파트너와의 대화를 수행하기 위해 자신의 관심 영역 및 커리어 영역에 대한 텍스트 정보를 포함하고,
파트너의 제2 텍스트 데이터는, 사용자와 매칭될 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 및 파트너에 의해 입력된 해시태그의 텍스트 정보를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
- 삭제
- 제1항에 있어서,
상기 단계들은,
상기 추출되어 병합된 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐를 이용하여, LDA(Latent Dirichlet Allocation, LDA), NMF(Non-negative Matrix Factorization, NMF), LSI(Latent Semantic Indexing, LSI), 및 BERT 기반 토픽 모델 (Bidirectional Encoder Representations from Transformers Topic Model, BERTopic) 방식을 통해 각각의 방식에 대응하는 적어도 하나의 토픽 모델들의 집합들로 구성된 복수의 토픽 모델을 생성하는 단계; 및
제1 텍스트 데이터의 피쳐와 토픽 모델을 공유하는 제2 텍스트 데이터를 갖는 적어도 하나의 파트너를 추출하여 파트너 풀을 생성하는 단계를 더 포함하고,
복수의 토픽 모델 각각에는 번호가 부여되고,
상기 단계는,
사용자 및 파트너로부터 획득한 텍스트 데이터 및 텍스트 데이터의 피쳐를 각각 LDA, NMF, LSI, 및 BERTopic 방식들에 입력에 입력한 결과에 기초하여 사용자 및 파트너에 번호를 부여하는 단계; 및
상기 사용자 및 파트너에 부여된 번호와 상기 복수의 토픽 모델 각각에 부여된 번호를 비교하여, 사용자 및 파트너를 토픽 모델들에 분류하여 클러스터링을 수행하는 단계
를 포함하는, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
- 삭제
- 서버에 있어서, 상기 서버는:
프로세서;
메모리; 및
통신 모듈을 포함하고,
상기 메모리는 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은:
서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은:
사용자의 검색 이력, 파트너 프로필 조회 이력, 사용자의 가입 시 수행한 설문 결과, 및 사용자가 파트너들에 대해 작성한 리뷰 및 평점 이력 정보를 포함하는 사용자 데이터를 수집하는 단계;
수집된 사용자 데이터를 이용하여, 사용자의 적어도 하나의 관심 직군 및 관심 커리어 영역을 결정하고 적어도 하나의 제1 관심 직군 및 제1 관심 커리어 영역을 결정하는 단계;
사용자로부터 획득된 제1 텍스트 데이터에 전처리를 수행하여 생성한 제1 텍스트 데이터 및 복수의 파트너로부터 획득된 제2 텍스트 데이터에 전처리를 수행하여 제2 텍스트 데이터의 피쳐를 추출하여 병합하는 단계 - 제1 텍스트 데이터는 사용자가 남긴 커리어에 관련된 질의 및 설문에 대한 답변을 포함하고, 제2 텍스트 데이터는 파트너가 입력한 파트너의 직무, 자기소개, 답변 가능 주제, 보유 기술, 파트너가 입력한 직무 관련 해시태그를 포함함 -;
제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 기초하여, 복수의 파트너 중 적어도 하나의 파트너를 포함하는 파트너 풀을 생성하는 단계;
제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 텍스트 임베딩을 수행하는 단계 - 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 텍스트 임베딩을 수행하는 단계는, 제1 텍스트 데이터의 피쳐 및 제2 텍스트 데이터의 피쳐에 대한 TF-IDF를 계산하는 단계; 제1 텍스트 데이터의 TF-IDF에 대한 제1 밀집 벡터 및 제2 텍스트 데이터의 상기 TF-IDF에 대한 제2 밀집 벡터를 계산하는 단계; 제1 텍스트 데이터의 TF-IDF 및 제1 밀집 벡터를 이용하여 제1 가중치 벡터를 획득하고, 제2 텍스트 데이터의 TF-IDF 및 제2 밀집 벡터를 이용하여 제2 가중치 벡터를 획득하는 단계; 및 제1 가중치 벡터 및 제2 가중치 벡터에 주성분 분석을 적용하여 차원을 축소하고 정규화를 수행하여, 제1 가중치 벡터 및 제2 가중치 벡터 사이의 유사도를 계산함으로써 사용자와 적어도 하나의 파트너 사이의 유사도를 계산하는 단계를 포함함 -; 및
유사도가 미리 설정된 임계치 이상인 파트너를 선택하여 추천 파트너 풀을 생성하는,
서버.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220129525A KR102600307B1 (ko) | 2022-10-11 | 2022-10-11 | 사용자별 대표 활동 로그 추출 방법과 머신러닝 모델의 병합을 적용한 사용자 및 대화 파트너 매칭 제공 최적화 시스템 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220129525A KR102600307B1 (ko) | 2022-10-11 | 2022-10-11 | 사용자별 대표 활동 로그 추출 방법과 머신러닝 모델의 병합을 적용한 사용자 및 대화 파트너 매칭 제공 최적화 시스템 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102600307B1 true KR102600307B1 (ko) | 2023-11-09 |
Family
ID=88747890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220129525A KR102600307B1 (ko) | 2022-10-11 | 2022-10-11 | 사용자별 대표 활동 로그 추출 방법과 머신러닝 모델의 병합을 적용한 사용자 및 대화 파트너 매칭 제공 최적화 시스템 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102600307B1 (ko) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130035064A (ko) * | 2011-09-29 | 2013-04-08 | 삼성전자주식회사 | 개인 성향 기반의 개인화 서비스 제공 방법 및 시스템 |
KR20130134046A (ko) * | 2012-05-30 | 2013-12-10 | 전북대학교산학협력단 | 하이브리드 협업적 여과 방법을 이용한 코사인 유사도 기반 전문가 추천 장치 및 방법 |
KR20150125442A (ko) * | 2014-04-30 | 2015-11-09 | 삼성전자주식회사 | 의미를 기반으로 웹 페이지 접근 기록을 구조화하는 장치 및 방법 |
JP2017134732A (ja) * | 2016-01-29 | 2017-08-03 | 株式会社リクルートホールディングス | 類似度学習システム及び類似度学習方法 |
KR20200000789A (ko) * | 2018-06-25 | 2020-01-03 | 주식회사 딥서치 | 투자 포트폴리오 구축 방법, 투자 포트폴리오 서비스 제공 방법 및 이를 지원하는 장치 |
KR20200052786A (ko) * | 2018-11-07 | 2020-05-15 | 주식회사 화성 | 소셜웨어 데이터를 이용한 사용자 별 라이프스타일 판별 및 관광지 추천 방법 및 시스템 |
KR20200129028A (ko) * | 2019-05-07 | 2020-11-17 | (주)스마트소셜 | 직무 기술서 생성 방법, 역량 측정 도구 생성 방법, 신사업 추천 방법 및 커리큘럼 추천 방법 |
JP2021026413A (ja) * | 2019-08-01 | 2021-02-22 | 株式会社大和総研 | マッチングシステムおよびプログラム |
KR20210104415A (ko) * | 2020-02-17 | 2021-08-25 | 주식회사 텐덤 | 개인 맞춤형 커리어 추천 방법 및 서버 |
KR102368043B1 (ko) * | 2021-01-06 | 2022-02-24 | 한전케이디엔주식회사 | 사용자 정의 토픽 모델링을 활용한 사용자 관심 뉴스 추천 장치 및 그 방법 |
KR20220065353A (ko) * | 2020-11-13 | 2022-05-20 | 주식회사 선도소프트 | 빅데이터 기반 전문가 매칭 시스템 및 방법 |
KR102432426B1 (ko) * | 2020-12-09 | 2022-08-16 | 황진석 | 사용자 인터페이스 기반의 콘텐츠 피드백 시스템 |
-
2022
- 2022-10-11 KR KR1020220129525A patent/KR102600307B1/ko active IP Right Grant
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130035064A (ko) * | 2011-09-29 | 2013-04-08 | 삼성전자주식회사 | 개인 성향 기반의 개인화 서비스 제공 방법 및 시스템 |
KR20130134046A (ko) * | 2012-05-30 | 2013-12-10 | 전북대학교산학협력단 | 하이브리드 협업적 여과 방법을 이용한 코사인 유사도 기반 전문가 추천 장치 및 방법 |
KR20150125442A (ko) * | 2014-04-30 | 2015-11-09 | 삼성전자주식회사 | 의미를 기반으로 웹 페이지 접근 기록을 구조화하는 장치 및 방법 |
JP2017134732A (ja) * | 2016-01-29 | 2017-08-03 | 株式会社リクルートホールディングス | 類似度学習システム及び類似度学習方法 |
KR20200000789A (ko) * | 2018-06-25 | 2020-01-03 | 주식회사 딥서치 | 투자 포트폴리오 구축 방법, 투자 포트폴리오 서비스 제공 방법 및 이를 지원하는 장치 |
KR20200052786A (ko) * | 2018-11-07 | 2020-05-15 | 주식회사 화성 | 소셜웨어 데이터를 이용한 사용자 별 라이프스타일 판별 및 관광지 추천 방법 및 시스템 |
KR20200129028A (ko) * | 2019-05-07 | 2020-11-17 | (주)스마트소셜 | 직무 기술서 생성 방법, 역량 측정 도구 생성 방법, 신사업 추천 방법 및 커리큘럼 추천 방법 |
JP2021026413A (ja) * | 2019-08-01 | 2021-02-22 | 株式会社大和総研 | マッチングシステムおよびプログラム |
KR20210104415A (ko) * | 2020-02-17 | 2021-08-25 | 주식회사 텐덤 | 개인 맞춤형 커리어 추천 방법 및 서버 |
KR20220065353A (ko) * | 2020-11-13 | 2022-05-20 | 주식회사 선도소프트 | 빅데이터 기반 전문가 매칭 시스템 및 방법 |
KR102432426B1 (ko) * | 2020-12-09 | 2022-08-16 | 황진석 | 사용자 인터페이스 기반의 콘텐츠 피드백 시스템 |
KR102368043B1 (ko) * | 2021-01-06 | 2022-02-24 | 한전케이디엔주식회사 | 사용자 정의 토픽 모델링을 활용한 사용자 관심 뉴스 추천 장치 및 그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sadiq et al. | Discrepancy detection between actual user reviews and numeric ratings of Google App store using deep learning | |
Kühl et al. | Supporting customer-oriented marketing with artificial intelligence: automatically quantifying customer needs from social media | |
CN111444428B (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
Dessì et al. | Bridging learning analytics and cognitive computing for big data classification in micro-learning video collections | |
US11481448B2 (en) | Semantic matching and retrieval of standardized entities | |
Wang et al. | Word clustering based on POS feature for efficient twitter sentiment analysis | |
US20190197486A1 (en) | Probability of hire scoring for job candidate searches | |
WO2020253503A1 (zh) | 人才画像的生成方法、装置、设备及存储介质 | |
Fang et al. | Word-of-mouth understanding: Entity-centric multimodal aspect-opinion mining in social media | |
Li et al. | Dynamic mapping of design elements and affective responses: a machine learning based method for affective design | |
RU2583716C2 (ru) | Метод построения и обнаружения тематической структуры корпуса | |
Zineb et al. | An intelligent approach for data analysis and decision making in big data: a case study on e-commerce industry | |
Law et al. | Knowledge-driven decision analytics for commercial banking | |
Kulkarni et al. | Big data analytics | |
Li et al. | The user preference identification for product improvement based on online comment patch | |
Durga et al. | Deep-Sentiment: An Effective Deep Sentiment Analysis Using a Decision-Based Recurrent Neural Network (D-RNN) | |
Wang | Analysis of students’ behavior in english online education based on data mining | |
Huang et al. | Sentiment analysis algorithm using contrastive learning and adversarial training for POI recommendation | |
Dhameliya et al. | Job recommendation system using content and collaborative filtering based techniques | |
WO2023164312A1 (en) | An apparatus for classifying candidates to postings and a method for its use | |
Lee | User Review Mining: An Approach for Software Requirements Evolution | |
KR102600307B1 (ko) | 사용자별 대표 활동 로그 추출 방법과 머신러닝 모델의 병합을 적용한 사용자 및 대화 파트너 매칭 제공 최적화 시스템 및 그 동작 방법 | |
CN116205296A (zh) | 一种融合自顶向下与自底向上的abac策略工程方法 | |
KR102600305B1 (ko) | 머신러닝 기반 학습된 모델을 이용한 사용자 맞춤형 대화 파트너 매칭 제공 추천 시스템 및 그 동작 방법 | |
Pang | A personalized recommendation algorithm for semantic classification of new book recommendation services for university libraries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |