KR20220081398A - 검색어 추천 장치, 방법 및 기록매체 - Google Patents

검색어 추천 장치, 방법 및 기록매체 Download PDF

Info

Publication number
KR20220081398A
KR20220081398A KR1020200170070A KR20200170070A KR20220081398A KR 20220081398 A KR20220081398 A KR 20220081398A KR 1020200170070 A KR1020200170070 A KR 1020200170070A KR 20200170070 A KR20200170070 A KR 20200170070A KR 20220081398 A KR20220081398 A KR 20220081398A
Authority
KR
South Korea
Prior art keywords
vector
result
search word
unit
result vector
Prior art date
Application number
KR1020200170070A
Other languages
English (en)
Other versions
KR102561662B1 (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 KR1020200170070A priority Critical patent/KR102561662B1/ko
Publication of KR20220081398A publication Critical patent/KR20220081398A/ko
Priority to KR1020230096500A priority patent/KR102666635B1/ko
Application granted granted Critical
Publication of KR102561662B1 publication Critical patent/KR102561662B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Human Computer Interaction (AREA)

Abstract

본 개시는 검색어 추천 장치, 방법 및 기록매체에 관한 것으로서, 특히 고객사 별 제품명 정보를 기계 학습을 통해 검색어 확장 분석을 수행함으로써, 검색어 기반으로 사용자에게 관련성이 높은 상품을 추천하여 제공할 수 있다. 구체적으로, 사용자로부터 입력된 검색어 정보에 대응하는 추천 상품을 제공함으로써, 사용자의 검색 의도를 파악하는 고도의 상품 추천을 제공할 수 있다.

Description

검색어 추천 장치, 방법 및 기록매체{USER EQUIPMENT, METHOD, AND RECORDING MEDIUM FOR CREATING RECOMMENDATION KEYWORD}
본 실시 예들은 검색어 추천 장치, 방법 및 기록매체를 제공한다.
정보 통신 기술이 발달하면서 컴퓨터, 스마트 폰 등을 통한 사용자들의 온라인 쇼핑에 대한 접근성이 높아졌다. 이에 따라 온라인을 통해 상품을 판매하는 운영자뿐만 아니라 상품을 구매하는 사용자가 점점 증가하는 추세이다. 이러한 온라인 쇼핑에서 제공되는 상품들의 종류가 다양해지고 그 수가 점점 많아짐에 따라 사용자들은 원하는 상품을 선택하는데 어려움을 느끼고 있다.
또한, 사용자들은 자신이 원하는 정보를 얻기 위하여 소정의 검색어를 입력하고 그 검색 결과를 제공받게 된다. 그런데 많은 사용자들이 검색어를 선정함에 있어 어려움이나 불편함을 느끼게 되는 경우를 흔하게 경험하게 된다. 특히, 사용자가 명확한 검색 목적이나 검색 방안을 가지지 못하고 있는 경우라면 사용자는 검색어를 선정함에 있어 더욱 큰 어려움을 느낄 수 있다. 따라서 온라인 쇼핑 이용에 있어서 검색어로부터 상품을 추천해 주는 기술을 필요로 하고 있다.
온라인을 통해 상품을 판매하는 운영자 역시 사용자들의 구매 전환을 유도하기 위하여 사용자들의 검색에 기초한 상품 추천 성공 확률을 향상시키려는 노력을 하고 있다. 따라서 온라인을 통해 상품을 판매하는 운영자는 사용자들의 검색어에 담긴 의도를 파악하여 관련성이 높은 상품을 찾아내 추천하는 기술을 필요로 하고 있다.
이러한 배경에서, 본 실시 예들은 검색어에 대응하여 상품을 추천해주는 검색어 추천 장치, 방법 및 기록매체를 제공할 수 있다.
전술한 목적을 달성하기 위하여, 일 측면에서, 본 실시 예는, 검색어 추천 장치에 있어서, 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여, 원 핫 벡터(one-hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리부, 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습시키는 모델 학습부 및 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출하고, 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론부를 포함하는 검색어 추천 장치를 제공한다.
다른 측면에서, 본 실시 예는 검색어 추천 방법에 있어서, 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여, 원 핫 벡터(one-hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리 단계, 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습시키는 모델 학습 단계 및 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출하고, 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론 단계를 포함하는 검색어 추천 방법을 제공한다.
또 다른 측면에서, 본 실시 예는 검색어 추천 방법을 실행시키기 위한 프로그램을 기록한 기록 매체에 있어서, 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여, 원 핫 벡터(one-hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리 기능, 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습시키는 모델 학습 기능 및 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출하고, 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론 기능을 구현하는 프로그램이 기록되고 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 실시 예들에 의하면, 검색어에 대응하여 관련성이 높은 상품을 추천해주는 검색어 추천 장치, 방법 및 기록매체를 제공할 수 있다.
도 1은 본 개시가 적용될 수 있는 시스템 구성을 예시적으로 도시한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 검색어 추천 장치의 구성을 도시한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 검색어 추천 장치의 전처리부 동작을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시 예에 따른 검색어 추천 장치에서 학습 데이터를 생성하는 예시를 도시한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 검색어 추천 장치의 모델 학습부 동작을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시 예에 따른 검색어 추천 장치의 결과 추론부 동작을 설명하기 위한 흐름도이다.
도 7은 본 개시의 일 실시 예에 따른 검색어 추천 장치의 결과 추론부에서 결과 벡터를 산출하는 예시를 도시한 도면이다.
도 8은 본 개시의 다른 실시 예에 따른 검색어 추천 방법의 흐름도이다.
본 개시는 검색어 추천 장치, 방법 및 기록매체에 관한 것이다.
이하, 본 개시의 일부 실시 예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성 요소들에 참조부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 실시 예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 기술 사상의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다. 본 명세서 상에서 언급된 "포함한다", "갖는다", "이루어진다" 등이 사용되는 경우 "~만"이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별한 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함할 수 있다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다.
구성 요소들의 위치 관계에 대한 설명에 있어서, 둘 이상의 구성 요소가 "연결", "결합" 또는 "접속" 등이 된다고 기재된 경우, 둘 이상의 구성 요소가 직접적으로 "연결", "결합" 또는 "접속" 될 수 있지만, 둘 이상의 구성 요소와 다른 구성 요소가 더 "개재"되어 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. 여기서, 다른 구성 요소는 서로 "연결", "결합" 또는 "접속" 되는 둘 이상의 구성 요소 중 하나 이상에 포함될 수도 있다.
구성 요소들이나, 동작 방법이나 제작 방법 등과 관련한 시간적 흐름 관계에 대한 설명에 있어서, 예를 들어, "~후에", "~에 이어서", "~다음에", "~전에" 등으로 시간적 선후 관계 또는 흐름적 선후 관계가 설명되는 경우, "바로" 또는 "직접"이 사용되지 않는 이상 연속적이지 않은 경우도 포함할 수 있다.
한편, 구성 요소에 대한 수치 또는 그 대응 정보(예: 레벨 등)가 언급된 경우, 별도의 명시적 기재가 없더라도, 수치 또는 그 대응 정보는 각종 요인(예: 공정상의 요인, 내부 또는 외부 충격, 노이즈 등)에 의해 발생할 수 있는 오차 범위를 포함하는 것으로 해석될 수 있다.
본 명세서에서의 원 핫 벡터(one hot vector)는 컴퓨터 또는 기계에서 자연어 처리를 위해 문자를 숫자로 바꾸는 기법으로, 단어 집합의 크기를 벡터의 차원으로 하여 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식을 의미할 수 있다.
또한, 본 명세서에서의 다층 신경망은 입력층과 출력층 사이에 여러 은닉층이 있는 신경망 구조를 가진 신경망으로 여러 변형된 다양한 신경망들로 입력층을 제외한 층이 2개 이상이 되면 다층 신경망일 수 있다. 예를 들어, 학습을 시키는 인공 신경망이 다층 신경망일 경우에는 이를 딥러닝이라고 할 수 있다.
또한, 본 명세서에서의 역전파는 오차역전파 또는 오류역전파를 포함하는 역전파 알고리즘으로 인공 신경망을 효율적으로 훈련하는데 사용되는 방법이다. 역전파는 학습 중인 작업을 수행할 수 있을 때까지 네트워크를 개선하기 위해 가중치 업데이트를 계산하는 반복적이고 재귀적인 방법을 의미할 수 있다. 구체적으로, 역전파는 순방향(Feed forward) 연산 후 예측 값과 정답 사이의 오차를 후방(backward)으로 다시 보내주면서 학습시키는 방법일 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시가 적용될 수 있는 시스템 구성을 예시적으로 도시한 도면이다.
도 1을 참조하면, 본 개시는 검색어 추천 방법을 제공하는 시스템에 관한 것으로, 검색어 추천 장치(110) 및 서버(100)에 구현될 수 있다.
검색어 추천 장치(110)는, 일반적인 데스크 탑이나 노트북 등의 일반 PC를 포함하고, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기 등을 포함할 수 있으며, 이에 제한되지 않고, 서버(100)와 통신 가능한 어떠한 전자 기기로 폭넓게 해석되어야 할 것이다.
서버(100)는 하드웨어적으로는 통상적인 웹 서버(Web Server) 또는 웹 어플리케이션 서버(Web Application Server) 또는 웹 서버(WAP Server)와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는, 아래에서 상세하게 설명할 바와 같이, C, C++, Java, PHP, .Net, Python, Ruby 등 여하한 언어를 통하여 구현되어 여러 가지 기능을 하는 프로그램 모듈(Module)을 포함할 수 있다.
또한, 서버(100)는 네트워크를 통하여 불특정 다수 클라이언트(장치(110)를 포함) 및/또는 다른 서버와 연결될 수 있는데, 이에 따라, 서버(100)는 클라이언트 또는 다른 서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 또는 이러한 컴퓨터 시스템을 위하여 설치되어 있는 컴퓨터 소프트웨어(서버 프로그램)를 뜻하는 것일 수도 있다.
또한, 서버(100)는 전술한 서버 프로그램 이외에도, 서버(100) 상에서 동작하는 일련의 응용 프로그램(Application Program)과, 경우에 따라서는 내부 또는 외부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다.
여기서, 데이터베이스는, 서버 또는 다른 장치 등에 의해 사용될 목적으로 정보나 자료 등의 데이터가 구조화되어 관리되는 데이터의 집합체를 의미할 수 있으며, 이러한 데이터의 집합체를 저장하는 저장매체를 의미할 수도 있다.
또한, 이러한 데이터베이스는 데이터의 구조화 방식, 관리 방식, 종류 등에 따라 분류된 복수의 데이터베이스를 포함하는 것일 수도 있다. 경우에 따라서, 데이터베이스는 정보나 자료 등을 추가, 수정, 삭제 등을 할 수 있도록 해주는 소프트웨어인 데이터베이스 관리시스템(Database Management System, DBMS)을 포함할 수도 있다.
또한, 서버(100)는 콘텐츠, 각종 정보 및 데이터를 데이터베이스에 저장시키고 관리할 수 있다. 여기서, 데이터베이스는 서버(100)의 내부 또는 외부에 구현될 수 있다.
또한, 서버(100)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹 사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 Apache, Nginx, Light HTTP 등이 이용될 수 있다.
한편, 네트워크(120)는 서버(100)와 검색어 추천 장치(110)를 연결해주는 망(Network)으로서, LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크(120)일 수도 있으나, 인터넷(Internet)과 같은 개방형 네트워크(120)일 수도 있다. 여기서, 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미한다.
간략하게 전술한 본 개시의 일 실시 예에 따른 검색어 추천 장치, 방법 및 기록매체에 대하여, 이하에서 더욱 상세하게 설명한다.
도 2는 본 개시의 일 실시 예에 따른 검색어 추천 장치의 구성을 도시한 도면이다.
도 2를 참조하면, 본 개시의 일 실시 예에 따른 검색어 추천 방법을 제공하는 검색어 추천 장치(110)는 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여, 원 핫 벡터(one-hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리부(210), 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습시키는 모델 학습부(220) 및 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출하고, 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론부(230)를 포함할 수 있다.
전처리부(210)는 서버(100)로부터 고객사 별 제품명 정보를 획득할 수 있다. 예를 들어, 전처리부(210)는 NoSQL(여러 유형의 데이터베이스 사용)로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템의 한 종류인 Mongo DB 로부터 고객사 별 제품명 정보를 내려받을 수 있다. 다만, Mongo DB는 일 예로, 이에 한정되지 않는다. 전처리부(210)는 고객사 별 제품명 정보를 CSV 파일 형태로 저장할 수 있다. 여기서, CSV(comma separated variables) 파일은 몇 가지 필드를 쉼표로 구분한 텍스트 데이터 및 텍스트 파일로, 표 형태의 데이터를 저장하는 파일 형식일 수 있다.
전처리부(210)는 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거할 수 있다. 예를 들어, 전처리부(210)는 특수문자, 한자, 숫자 등을 방해 요소로 미리 설정하고, 고객사 별 제품명 정보가 기재된 문자열에서 방해 요소를 제거할 수 있다. 또한, 전처리부(210)는 방해 요소가 제거된 문자열을 자모 단위 또는 초성 단위로 분리하고, 원 핫 벡터 형태로 변환시켜 학습 데이터를 생성할 수 있다. 예를 들어, 전처리부(210)는 문자열을 자모 단위 또는 초성 단위에 따라 분리하고, 분리된 자모 단위 또는 초성 단위를 미리 설정된 개수를 기준으로 묶을 수 있다. 이 때, 설정된 개수로 묶은 단위를 하나의 토큰으로 간주할 수 있다. 전처리부(210)는 토큰을 기준으로 원 핫 벡터 형태로 변환시켜 학습 데이터를 생성할 수 있다.
이 때, 전처리부(210)는 학습 데이터를 독립 변수와 종속 변수 세트로 생성하여 저장할 수 있다. 전처리부(210)에서 생성하는 학습 데이터에 관한 상세한 내용은 도3 및 도4를 참조하여 후술한다.
모델 학습부(220)는 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 출력된 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습할 수 있다. 예를 들어, 모델 학습부(220)는 임의의 초기 가중치 행렬을 이용하여 결과 벡터를 산출하고, 실제 벡터와의 오차를 구해 바로 앞 가중치 행렬을 오차가 작아지는 방향으로 갱신할 수 있고, 더 이상 오차가 줄어들지 않을 때까지 이를 반복할 수 있다.
모델 학습부(220)는 결과 벡터와 실제 벡터에 대한 크로스 엔트로피를 이용하여 오차가 최소가 되도록 다층 신경망을 학습시킬 수 있다. 예를 들어, 모델 학습부(220)는 다층 신경망에서 크로스 엔트로피를 비용함수로 이용하여 두 확률 분포의 차이를 구할 수 있다. 여기서 두 확률 분포의 차이는 실제 벡터의 확률 분포와 계산된 결과 벡터의 확률 분포 차이를 의미할 수 있다. 즉, 모델 학습부(220)는 오차가 최소인 가중치 행렬을 구하기 위하여 크로스 엔트로피를 비용함수로 이용하여 다층 신경망을 학습시킬 수 있다.
모델 학습부(220)는 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력할 수 있다. 예를 들어, 결과 벡터는 학습 데이터에 대한 확률로, 결과 벡터가 출력될 입력 벡터들의 조건부 확률일 수 있다. 여기서 입력 벡터는 입력된 검색어 정보가 원 핫 벡터 형태로 변환된 것일 수 있다. 모델 학습부(220)에서 다층 신경망을 학습시키는 내용에 관한 상세한 내용은 도 5를 참조하여 후술한다.
결과 추론부(230)는 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출하고, 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천할 수 있다. 예를 들어, 결과 추론부(230)는 검색어 정보 및 고객사 별 제품 정보를 원 핫 벡터의 형태로 변환할 때, 자모 단위 또는 초성 단위에 따라 분리하는 기준 개수를 복수 개로 설정할 수 있다. 이 때, 결과 추론부(230)는 기준 개수에 따라 변환된 각각의 원 핫 벡터를 학습 데이터로 다층 신경망에 입력하여 결과 벡터를 출력할 수 있다. 결과 추론부(230)는 기준 개수에 따라 변환된 각각의 원 핫 벡터의 평균을 다층 신경망에 입력하여 결과 벡터를 산출할 수 있다. 또는, 결과 추론부(230)는 기준 개수에 따라 변환된 각각의 원 핫 벡터를 다층 신경망에 입력하여 산출한 각각의 결과 벡터의 평균 값을 최종 결과 벡터로 산출할 수도 있다.
결과 추론부(230)는 검색 결과 벡터와 결과 벡터 간의 내적의 결과를 검색 결과 벡터 및 결과 벡터의 벡터 크기로 정규화하여 유사도를 산출할 수 있다. 여기서 유사도는 코사인 유사도를 이용한 방법일 수 있다. 예를 들어, 결과 추론부(230)는 검색 결과 벡터와 결과 벡터 간의 유클리드 거리(euclidean distance)를 이용하여 유사도를 산출할 수도 있다. 다른 예를 들어, 결과 추론부(230)는 검색 결과 벡터와 결과 벡터 간의 교집합 크기를 합집합 크기로 나눈 값으로 유사도를 산출할 수도 있다.
결과 추론부(230)는 유사도 중에서 1에 근접한 순서대로 N개의 결과 벡터를 선별하고, 선별된 결과 벡터에 해당하는 제품명 정보를 검색어 정보에 대응하는 추천 제품명으로 추천할 수 있다. 예를 들어, 결과 추론부(230)는 검색 결과 벡터와 결과 벡터 간의 코사인 유사도를 비교할 때, 코사인 유사도가 1이면 두 벡터는 완전히 동일한 벡터에 해당한다고 판단할 수 있다. 따라서, 결과 추론부(230)는 유사도가 1에 근접한 순서대로 N개의 결과 벡터를 선별하여 추천할 수 있다. 결과 추론부(230)에서 유사도를 이용하여 추천 제품명을 추천하는 내용에 관한 상세한 내용은 도 6을 참조하여 후술한다.
도 3은 본 개시의 일 실시 예에 따른 검색어 추천 장치의 전처리부 동작을 설명하기 위한 흐름도이다.
도 3을 참조하면, 본 개시의 일 실시 예에 따른 검색어 추천 장치의 전처리부(210)는 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거할 수 있다(S310). 일 예로, 전처리부(210)는 특수 문자, 한자, 숫자 등을 방해 요소로 설정할 수 있다. 전처리부(210)는 CSV 파일 형식의 고객사 별 제품명 정보를 불러와서 미리 설정된 특수 문자, 한자, 숫자 등 모델 학습에 방해가 되는 요소들을 제거할 수 있다. 예를 들어, 전처리부(210)는 고객사 별 제품명 정보가 기재된 문자열에서 한글과 알파벳 이외에 문장 부호, 특수 문자, 한자, 숫자 등을 제거할 수 있다. 이는 벡터 공간이 너무 커지지 않도록 제한하기 위함이다.
전처리부(210)는 방해 요소가 제거된 고객사 별 제품명 정보를 자모 단위 또는 초성 단위로 분리할 수 있다(S320). 일 예로, 전처리부(210)는 방해 요소가 제거된 문자열이 한글인 경우 초성, 중성, 종성으로 구분되는 자모 단위로 분리할 수 있다. 여기서, 자모 단위는 자음과 모음으로 분류되는 음소 단위일 수 있다. 또는, 전처리부(210)는 방해 요소가 제거된 문자열이 한글인 경우 자음으로만 이루어진 초성 단위로 분리할 수도 있다. 전처리부(210)는 자모 단위 또는 초성 단위로 분리함으로써, 자연어를 숫자의 나열인 벡터로 바꾸는 과정에서 오탈자나 노이즈 측면에 더 강한 효과를 제공할 수 있다.
전처리부(210)는 분리된 문자열을 원 핫 벡터 형태로 변환할 수 있다(S330). 일 예로, 전처리부(210)는 방해 요소가 제거된 문자열을 자모 단위 또는 초성 단위로 분리하고, 미리 설정된 개수를 기준으로 묶은 단위인 토큰을 색인하여 숫자 데이터로 매핑할 수 있다. 숫자 데이터로 매핑된 문자열을 원 핫 인코딩하여 원 핫 벡터로 생성할 수 있다.
다른 일 예로, 전처리부(210)는 문자열을 연속되는 횟수 기반의 벡터로 표현 (Count-based representation)하는 방법을 이용하여 원 핫 벡터로 생성할 수 있다. 예를 들어, 검색어 추천 장치는 검색어와 가장 관련된 제품명을 추천하기 위해 문자열을 다층 신경망에 입력하여, 입력했던 문자열에 대한 확률을 출력하여 문자열의 시퀀스를 찾아낼 수 있다. 따라서, 전처리부(210)는 시퀀스를 몇 개의 연속되는 자모로 구성할지 결정하여, 분리된 자모 단위를 묶는 개수를 미리 설정할 수 있다.
전처리부(210)는 원 핫 벡터 형태로 변환된 학습 데이터를 생성할 수 있다(S340). 일 예로, 전처리부(210)는 원 핫 벡터 형태로 변환된 데이터를 독립 변수와 종속 변수 세트로 매칭시켜 학습 데이터를 생성할 수 있다. 예를 들어, 독립 변수는 상품의 용도, 성질, 재질 등 상품을 보충 설명하는 내용을 포함하는 문자열이 변환된 것일 수 있고, 종속 변수는 제품명, 모델명, 약어 등 상품을 지칭하는 내용을 포함하는 문자열이 변환된 것일 수 있다. 생성된 학습 데이터에 관한 상세한 내용은 도 4를 참조하여 후술한다.
도 4는 본 개시의 일 실시 예에 따른 검색어 추천 장치에서 학습 데이터를 생성하는 예시를 도시한 도면이다.
도 4를 참조하면, 본 개시의 일 실시 예에 따른 검색어 추천 장치(110)의 학습 데이터(400)를 생성하여 학습하는 과정을 설명할 수 있다.
일 예로, 전처리부(210)는 서버(100)의 데이터베이스로부터 고객사 별 제품명 정보를 획득할 수 있다. 구체적인 예를 들어, 고객사 별 제품명 정보는 "따뜻한 보온발커버", "덮지말고 입는 담요", "엄마 품 속 발열 이불세트", "린넨 폴링 블라우스" "리본 롱스커트" 등의 문자열일 수 있다.
전처리부(210)는 고객사 별 제품명 정보를 자모 단위 또는 초성 단위로 분리할 수 있다. 예를 들어, 전처리부(210)는 "린넨 블라우스"가 입력되는 경우, 린넨 블라우스를 자모 단위로 분리하여 {ㄹㅣㄴㄴㅔㄴ, ㅂㅡㄹㄹㅏㅇㅜㅅ}로 변환할 수 있다. 또는 전처리부(210)는 린넨블라우스를 초성 단위로 분리하여 {ㄹㄴㅂㄹㅇㅅ}로 변환할 수 있다.
전처리부(210)는 분리된 문자열을 원 핫 벡터 형태로 변환할 수 있다. 예를 들어, 전처리부(210)는 미리 설정된 개수를 기준으로 묶은 토큰을 색인하여 숫자 데이터로 매핑하는 방식으로 원 핫 벡터 형태로 변환할 수 있다. 구체적으로 기준 개수가 3으로 설정되는 경우, {ㄹㅣㄴ}, {ㅣㄴㄴ}, {ㄴㄴㅔ}, {ㄴㅔㄴ} 으로 구분되고 각각을 숫자 데이터로 매핑할 수 있다. 또한, 전처리부(210)는 기준 개수를 복수 개로 설정할 수도 있다.
전처리부(210)는 독립 변수(410)와 종속 변수(420) 세트로 매칭시켜 학습 데이터(400)를 생성할 수 있다. 예를 들어, 전처리부(210)는 독립 변수(410)로 {ㄹㅣㄴㄴㅔㄴ}, 종속 변수(420)로 {ㅂㅡㄹㄹㅏㅇㅜㅅ}를 구분하여 학습 데이터(400)를 생성할 수 있다.
모델 학습부(220)는 생성된 학습 데이터(400)를 다층 신경망에 입력하여 학습 데이터에 대한 확률을 결과 벡터로 출력할 수 있다. 예를 들어, 모델 학습부(220)의 출력은 T개의 토큰으로 구성된 문자열을 횟수를 사용하여 벡터로 표현(count-based representation)하면 수학식 1로 표현될 수 있다.
Figure pat00001
이 때, Wt를 입력으로 할 때, Wc가 출력될 확률을 의미할 수 있다. 즉, 모델 학습부(220)는 목표하는 토큰인 Wc 이전까지의 모든 토큰의 시퀀스 W1,W2…WT 입력을 이용하여 Wt 자리에 올 가능성이 있는 토큰들의 확률 분포를 출력할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 검색어 추천 장치의 모델 학습부 동작을 설명하기 위한 흐름도이다.
도 5를 참조하면, 본 개시의 일 실시 예에 따른 검색어 추천 장치의 모델 학습부(220)는 2-layer 인공 신경망으로 구성될 수 있다(S510). 모델 학습부(220)는 생성된 학습 데이터가 입력되는 층인 입력층(input layer), 출력 값이 출력되는 층인 출력층(output layer) 및 입력층과 출력층 사이에 위치하는 모든 층인 은닉층(hidden layer)을 포함하는 인공 신경망 모델로 학습을 진행할 수 있다. 예를 들어, 모델 학습부(220)는 은닉층과 출력층이 2개 이상으로 구성된 다층 신경망 모델로 학습을 진행 할 수 있다.
모델 학습부(220)는 가중치 행렬을 초기화할 수 있다(S520). 일 예로, 모델 학습부(220)는 입력층과 은닉층 사이의 가중치 행렬 W1, 은닉층과 출력층 사이의 가중치 행렬 W2를 무작위 값으로 초기화할 수 있다. 예를 들어, 모델 학습부(220)는 가중치 행렬들의 초기 값을 작게 초기화할 수 있고, 동일한 초기값 또는 초기값이 0이 되지 않도록 랜덤하게 초기화할 수 있다. 구체적으로, 모델 학습부(220)는 가중치 행렬들의 초기값을 평균이 0이고 표준 편차가 1 인 정규 분포에 해당하는 값으로 랜덤하게 초기화할 수 있다.
모델 학습부(220)는 다층 신경망 모델의 학습 목표를 지정해주기 위한 손실함수로 이진 크로스 엔트로피 함수(binary cross entropy)를 설정할 수 있다(S530). 일 예로, 모델 학습부(220)는 오차가 최소인 가중치 행렬을 구하는 것을 목적으로 하며, 손실함수(loss function)는 오차를 측정하는 척도일 수 있다. 손실함수는 다층 신경망 모델의 오차에 비례할 수 있다. 여기서 손실 함수(loss function)는 비용함수(cost function) 또는 목적함수(objective function)를 의미할 수 있다. 예를 들어, 모델 학습부(220)는 크로스 엔트로피 함수를 손실함수로 설정할 수 있고, 수학식 2로 표현될 수 있다.
Figure pat00002
이 때, y는 실제 값을 나타내며, k는 클래스의 개수일 수 있다. yj는 실제 값 원 핫 벡터의 j번째 인덱스를 의미하며, pj 샘플 데이터가 j번째 클래스일 확률을 의미할 수 있다.
다른 예를 들어, 모델 학습부(220)는 이진 크로스 엔트로피 함수를 손실함수로 설정할 수 있다. 이진 크로스 엔트로피(binary cross entropy) 손실 함수는 True 또는 False, 양성 또는 음성 등 2개의 클래스를 분류할 수 있는 분류기를 학습시킬 수 있다. 여기서, 이진 크로스 엔트로피 함수는 수학식 3으로 표현될 수 있다.
Figure pat00003
이 때, y는 실제 값을 p는 출력된 확률 값을 나타내며, k는 클래스의 개수, n 는 전체 데이터의 개수일 수 있다.
모델 학습부(220)는 피드 포워드(Feed-Forward) 및 손실 계산을 수행할 수 있다(S540). 일 예로, 모델 학습부(220)는 입력층에서 출력층 방향으로 순차적으로 연산이 전개되는 피드 포워드 과정을 수행할 수 있다. 구체적으로 모델 학습부(220)는 학습 과정에서 원 핫 벡터와 가중치 행렬 W1의 곱을 통해 임베딩 벡터(embedding vector)를 생성할 수 있고, 편향 값이 더해져서 은닉층의 활성화 함수에 입력할 수 있다. 그리고, 모델 학습부(220)는 은닉층의 출력에 가중치 행렬W2를 곱해지고 편향 값이 더해지면 입력된 원 핫 벡터들과 동일한 차원의 벡터를 얻을 수 있다. 그리고 모델 학습부(220)는 출력층에서 활성화 함수를 통해 예측 값인 결과 벡터를 산출 할 수 있다. 이 때 활성함수는 하이퍼볼릭탄젠트(tanh) 함수, 시그모이드(Sigmoid)함수, LeakyReLU 함수, Softmax 함수 등일 수 있고, 이에 한정되지 않는다. 다른 일 예로, 모델 학습부(220)는 설정된 손실함수를 이용하여 피드 포워드 신경망을 통해 나온 값과 실제 값의 오차를 측정할 수 있다. 예를 들어, 모델 학습부(220)는 설정된 손실함수를 계산하여 손실 함수의 값이 최소화되는 방향으로 학습을 진행할 수 있다.
모델 학습부(220)는 역전파 과정 및 가중치 행렬을 갱신할 수 있다(S550). 일 예로, 모델 학습부(220)는 피드 포워드 과정을 통해 나온 결과 값을 다시 역으로 오차를 보내 가중치 행렬을 갱신할 수 있다. 예를 들어, 모델 학습부(220)는 오차를 은닉층과 입력층으로 보내면서 가중치 행렬을 계산하고 출력층에서 발생했던 오차를 적용시킬 수 있다. 구체적으로, 모델 학습부(220)는 그래디언트 역전파(Gradient Back-propagation)과정을 통해 오차가 더 이상 줄어들지 않을 때까지 반복하여 학습할 수 있다.
모델 학습부(220)는 이후 결과 추론 과정을 위해 학습이 완료된 모델을 별도로 저장할 수 있다(S560).
도 6은 본 개시의 일 실시 예에 따른 검색어 추천 장치의 결과 추론부 동작을 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 개시의 일 실시 예에 따른 검색어 추천 장치의 결과 추론부(230)는 사용자로부터 입력된 검색어 정보 및 서버로부터 수신된 고객사 별 제품명 정보를 획득할 수 있다(S610). 예를 들어, 검색어는 오탈자, 특수 문자, 한자 및 숫자가 포함된 것일 수 있고, "따뜻한", "하늘하늘한" 등의 수식어와 같은 감성어일 수도 있다.
결과 추론부(230)는 입력된 검색어 정보 및 고객사 별 제품명 정보를 전처리할 수 있다(S620). 일 예로, 결과 추론부(230)는 입력된 검색어 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여 원 핫 벡터 형태로 변환할 수 있다. 또한, 고객사 별 제품명 정보는 전처리부(210)를 통해 사전에 변환되어 있을 수 있다.
결과 추론부(230)는 전처리된 검색어 정보 및 고객사 별 제품명 정보를 학습 모델에 적용시킬 수 있다(S630). 학습 모델은 도 5를 참조하여 전술한 바와 같이 원 핫 벡터를 입력하여 결과 벡터를 출력할 수 있다.
결과 추론부(230)는 검색 결과 벡터 및 제품 결과 벡터 추출할 수 있다(S640). 일 예로, 결과 추론부(230)는 학습이 완료되어 저장된 학습 모델을 이용하여 결과 벡터를 추출할 수 있다. 예를 들어, 결과 추론부(230)는 입력된 검색어 정보를 학습 모델에 입력하여 검색 결과 벡터를 추출할 수 있다. 또한, 고객사 별 제품명 정보로부터 학습 모델에 입력하여 검색 결과 벡터를 추출할 수 있다
다른 일 예로, 결과 추론부(230)는 변환된 원 핫 벡터들의 평균을 이용하여 결과 벡터를 산출할 수 있다. 원 핫 벡터들의 평균에 관한 상세한 내용은 도 7을 참조하여 후술한다.
결과 추론부(230)는 검색 결과 벡터 및 제품 결과 벡터를 비교하여 유사도를 산출할 수 있다(S650). 일 예로, 결과 추론부(230)는 코사인 유사도를 이용하여 유사도를 산출할 수 있다. 예를 들어, 결과 추론부(230)는 검색 결과 벡터와 결과 벡터 간의 내적의 결과를 검색 결과 벡터 및 결과 벡터의 벡터 크기로 정규화(Normalization)하여 코사인 유사도를 산출할 수 있다. 여기서, 코사인 유사도는 수학식 4로 표현될 수 있다.
Figure pat00004
이 때, 분자는 벡터의 내적이, 분모는 각 벡터의 노름(norm)으로 정의할 수 있다. 또한, A는 검색 결과 벡터이고, B 는 결과 벡터일 수 있다.
결과 추론부(230)는 산출한 유사도가 1이면 검색 결과 벡터 및 제품 결과 벡터가 동일한 벡터라고 판단할 수 있다. 반면에, 결과 추론부(230)는 산출한 유사도가 0이면 검색 결과 벡터 및 제품 결과 벡터는 상관 관계가 없다고 판단할 수 있다.
결과 추론부(230)는 산출한 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 출력할 수 있다(S660). 일 예로, 결과 추론부(230)는 산출된 유사도 중에서 1에 근접한 순서대로 N개의 결과 벡터를 선별하고, 선별된 결과 벡터에 해당하는 제품명 정보를 검색어 정보에 대응하는 추천 제품명으로 추천할 수 있다. 구체적인 예를 들어, 결과 추론부(230)는 검색어로 "따뜻한"이 입력되는 경우, 이를 입력하여 추출한 검색 결과 벡터와의 유사도가 0.91로 계산되는 결과 벡터를 획득할 수 있다. 그리고 결과 추론부(230)는 획득한 결과 벡터에 해당되는 제품명 정보인 "덮지말고 입는 담요"를 검색어 정보에 대응하는 추천 제품명으로 추천할 수 있다
도 7은 본 개시의 일 실시 예에 따른 검색어 추천 장치의 결과 추론부에서 결과 벡터를 산출하는 예시를 도시한 도면이다.
도 7을 참조하면, 본 개시의 일 실시 예에 따른 결과 추론부(230)는 검색어 정보를 입력하여 원 핫 벡터의 형태로 변환하는 경우, 자모 단위 또는 초성 단위에 따라 분리하는 기준 개수를 복수 개로 설정할 수 있다. 일 예로 결과 추론부(230)는 검색어 정보를 연속된 N개의 자모 단위를 하나의 토큰으로 이용하는 N-gram 추출하여 원 핫 벡터 형태로 변환할 수 있다. 또한, 결과 추론부(230) 연속된 N개를 복수 개로 설정하는 경우에 검색어 정보로부터 N에 따라 각각 변환된 원 핫 벡터의 평균 값을 다층 신경망의 입력으로 할 수 있다.
구체적인 예를 들어, 검색어 정보가 "린넨블라우ㅆ"로 입력되는 경우, 검색어 정보는 하나의 토큰이 연속된 3개의 자모 단위로 설정되면, {ㄹㅣㄴ, ㅣㄴㄴ, ㄴㄴㅔ, ... , ㅇㅜㅆ}가 될 수 있다. 또한, 검색어 정보는 연속된 4개의 자모 단위로 설정되면, {ㄹㅣㄴㄴ, ㅣㄴㄴㅔ, ㄴㄴㅔㄴ, ... , ㅏㅇㅜㅆ}가 될 수 있고, 연속된 N개의 자모 단위로 설정되면 {ㄹㅣㄴㄴㅔㄴ ㅂㅡㄹㄹㅏㅇㅜㅆ}가 될 수 있다. 그리고 자모 단위로 분리된 검색어 정보는 각각의 토큰을 색인하여 숫자 데이터로 매핑시켜 벡터 형태로 표현될 수 있다. 그리고, 검색어 정보가 자모 단위의 개수를 변경시켜 복수의 벡터로 표현되는 경우, 복수의 벡터들의 총합을 벡터의 개수로 나눈 평균 값을 검색어 정보의 변환 값으로 표현될 수 있다.
예를 들어, 결과 추론부(230)는 검색어 정보 및 고객사 별 제품명 정보를 N-gram 추출 방식을 이용하여 모델을 학습함으로써 검색 결과 벡터 및 결과 벡터 추출할 수 있다.
이하에서는 도 1 내지 도 7을 참조하여 설명한 검색어 추천 장치가 수행할 수 있는 검색어 추천 방법에 대해서 설명한다.
도 8은 본 개시의 다른 실시 예에 따른 검색어 추천 방법의 흐름도이다.
도 8을 참조하면, 본 개시의 검색어 추천 방법은 전처리 단계를 포함할 수 있다(S810). 일 예로, 검색어 추천 장치는 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여, 원 핫 벡터 형태로 변환된 학습 데이터를 생성할 수 있다. 예를 들어, 검색어 추천 장치는 특수 문자, 한자, 숫자 등을 방해요소로 설정하고, 고객사 별 제품명 정보를 기재한 문자열로부터 방해 요소를 제거할 수 있다. 또한, 검색어 추천 장치는 방해 요소가 제거된 문자열을 자모 단위 또는 초성 단위에 따라 분리하고, 분리된 자모 단위 또는 초성 단위를 미리 설정된 개수를 기준으로 묶을 수 있다. 이 때, 설정된 개수로 묶은 단위를 하나의 토큰으로 간주할 수 있다. 검색어 추천 장치는 토큰 단위로 원 핫 벡터 형태로 변환시켜 학습 데이터를 생성할 수 있다. 이 때, 생성된 학습 데이터는 독립 변수와 종속 변수 세트로 이루어져 저장될 수 있다.
검색어 추천 방법은 모델 학습 단계를 포함할 수 있다(S820). 일 예로 검색어 추천 장치는 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습시킬 수 있다. 또한, 검색어 추천 장치는 결과 벡터와 실제 벡터에 대한 크로스 엔트로피를 이용하여 오차가 최소가 되도록 다층 신경망을 학습시킬 수 있다.
다른 일 예로 검색어 추천 장치는 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력할 수 있다. 결과 벡터는 학습 데이터에 대한 확률로, 결과 벡터가 출력될 입력 벡터들의 조건부 확률일 수 있다. 이 때, 입력 벡터는 검색어 정보가 원-핫 벡터 형태로 변환된 것일 수 있다.
검색어 추천 방법은 결과 추로 단계를 포함할 수 있다(S830). 일 예로 검색어 추천 장치는 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출할 수 있다. 예를 들어, 검색어 추천 장치는 자모 단위 또는 초성 단위에 따라 미리 설정된 개수를 기준으로 분리하여 원 핫 벡터의 형태로 변환할 때, 기준이 되는 개수를 복수 개로 설정할 수 있다. 이 때, 검색어 추천 장치는 개수 별 변환된 각각의 원 핫 벡터의 평균을 이용하여 결과 벡터를 산출할 수 있다.
또한, 검색어 추천 장치는 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천할 수 있다. 예를 들어, 검색어 추천 장치는 검색 결과 벡터와 결과 벡터 간의 내적의 결과를 검색 결과 벡터 및 결과 벡터의 벡터 크기로 정규화하여 유사도를 산출할 수 있다.
검색어 추천 장치는 산출된 유사도 중에서 1에 근접한 순서대로 N개의 결과 벡터를 선별하고, 선별된 결과 벡터에 해당하는 제품명 정보를 검색어 정보에 대응하는 추천 제품명으로 추천할 수 있다.
이상에서는 본 개시의 실시 예에 따른 검색어 추천 방법이 도8 에서와 같은 절차로 수행되는 것으로 설명되었으나, 이는 설명의 편의를 위한 것일 뿐, 본 개시의 본질적인 개념을 벗어나지 않는 범위 내에서, 구현 방식에 따라 각 단계의 수행 절차가 바뀌거나 둘 이상의 단계가 통합되거나 하나의 단계가 둘 이상의 단계로 분리되어 수행될 수도 있다.
전술한 검색어 추천 방법은, 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 또한, 전술한 검색어 추천 방법을 실행시키기 위한 프로그램은, 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여, 원 핫 벡터 형태로 변환된 학습 데이터를 생성하는 전처리 기능, 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 학습 데이터의 실제 벡터와 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 다층 신경망을 학습시키는 모델 학습 기능 및 학습이 완료된 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 고객사 별 제품명 정보로부터 추출된 결과 벡터를 비교하여 유사도를 산출하고, 유사도를 이용하여 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론 기능을 실행한다.
이상에서 전술한 본 개시의 실시 예에 따른 검색어 추천 방법은, 검색어 추천 장치(110)에 기본적으로 설치된 애플리케이션(이는 단말에 기본적으로 탑재된 플랫폼에 포함되거나 운영체제 등에 포함되거나 호환되는 프로그램일 수 있음)에 의해 실행될 수 있고, 또한, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 검색어 추천 장치(110)의 운영체제와 호환 가능하고 검색어 추천 장치(110)에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 여기서, 검색어 추천 장치(110)의 운영체제는, 데스크 탑 등의 일반 PC에 설치되는 윈도우(Window), 매킨토시(Macintosh), 리눅스(Linux) 등의 운영체제이거나, 스마트폰, 태블릿 PC 등의 모바일 단말기에 설치되는 iOS, 안드로이드(Android), 윈도우 모바일 등의 모바일 전용 운영체제 등일 수도 있다.
이러한 의미에서, 전술한 본 개시의 실시 예에 따른 검색어 추천 방법은 검색어 추천 장치(110)에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고, 검색어 추천 장치(110) 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
본 개시의 실시 예에 따른 검색어 추천 방법을 구현한 프로그램은, 전처리 기능, 모델 학습 기능과 결과 추론 기능 등을 실행한다. 이뿐만 아니라, 도1 내지 도8 를 참조하여 전술한 본 개시의 실시 예에 따른 검색어 추천 방법에 대응되는 모든 기능을 실행할 수 있다.
이러한 프로그램은 컴퓨터에 의해 읽힐 수 있는 기록매체에 기록되고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다.
이와 같이, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 검색어 추천 방법을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다.
또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다.
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
그리고, 본 개시를 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 개시가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 하나 이상의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 하나 이상에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
이상에서 전술한 바와 같은, 본 개시의 실시 예에 따른 검색어 추천 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한, 본 개시의 실시 예에 따른 검색어 추천 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 애플리케이션 스토어 서버(Application Store Server), 애플리케이션 또는 해당 서비스와 관련된 웹 서버(Web Server) 등을 포함하는 애플리케이션 제공 서버(Application Provider Server)에 포함된 저장매체(예: 하드디스크 등)이거나, 애플리케이션 제공 서버 그 자체일 수도 있으며, 프로그램을 기록한 다른 컴퓨터 또는 그 저장매체일 수도 있다.
본 개시의 일 실시 예에 따른 검색어 추천 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기를 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
만약, 본 개시의 일 실시 예에 따른 검색어 추천 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기인 경우, 모바일 단말기는 애플리케이션 스토어 서버, 웹 서버 등을 포함하는 애플리케이션 제공 서버로부터 해당 애플리케이션을 다운로드 받아 설치할 수 있고, 경우에 따라서는, 애플리케이션 제공 서버에서 일반 PC로 다운로드 된 이후, 동기화 프로그램을 통해 모바일 단말기에 설치될 수도 있다.
이상에서, 본 개시의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시가 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 개시의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 개시의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 개시에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 개시의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 개시에 개시된 실시 예들은 본 개시의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 개시의 기술 사상의 범위가 한정되는 것은 아니다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (16)

  1. 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여 원 핫 벡터(one hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리부;
    상기 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 상기 학습 데이터의 실제 벡터와 상기 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 상기 다층 신경망을 학습시키는 모델 학습부; 및
    학습이 완료된 상기 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 상기 고객사 별 제품명 정보로부터 추출된 상기 결과 벡터를 비교하여 유사도를 산출하고, 상기 유사도를 이용하여 상기 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론부;를 포함하는 것을 특징으로 하는 검색어 추천 장치
  2. 제 1 항에 있어서,
    상기 전처리부는,
    상기 자모 단위 또는 상기 초성 단위에 따라 미리 설정된 개수를 기준으로 분리하여 상기 원 핫 벡터 형태로 변환된 학습 데이터를 생성하되,
    상기 학습 데이터는 독립 변수와 종속 변수 세트로 이루어지는 것을 특징으로 하는 검색어 추천 장치.
  3. 제 1 항에 있어서,
    상기 모델 학습부는,
    상기 결과 벡터와 상기 실제 벡터에 대한 크로스 엔트로피를 이용하여 상기 오차가 되도록 상기 다층 신경망을 학습시키는 것을 특징으로 하는 검색어 추천 장치.
  4. 제 1 항에 있어서,
    상기 모델 학습부는,
    상기 학습 데이터를 상기 다층 신경망에 입력하여 상기 학습 데이터에 대한 확률을 상기 결과 벡터로 출력하되, 상기 확률은 상기 결과 벡터가 출력될 입력 벡터들의 조건부 확률인 것을 특징으로 하는 검색어 추천 장치.
  5. 제 4 항에 있어서,
    상기 입력 벡터는,
    상기 검색어 정보가 상기 원 핫 벡터 형태로 변환된 것인 것을 특징으로 하는 검색어 추천 장치.
  6. 제 1 항에 있어서,
    상기 결과 추론부는,
    상기 자모 단위 또는 상기 초성 단위에 따라 미리 설정된 개수를 기준으로 분리하여 상기 원 핫 벡터의 형태로 변환된 상기 학습 데이터를 상기 다층 신경망에 입력하여 상기 결과 벡터를 출력하되,
    상기 개수가 복수 개로 설정되는 경우,
    상기 개수 별 변환된 상기 원 핫 벡터의 평균을 이용하여 상기 결과 벡터를 산출하는 것을 특징으로 하는 검색어 추천 장치.
  7. 제 1 항에 있어서,
    상기 결과 추론부는,
    상기 검색 결과 벡터와 상기 결과 벡터 간의 내적의 결과를 상기 검색 결과 벡터 및 상기 결과 벡터의 벡터 크기로 정규화하여 상기 유사도를 산출하는 것을 특징으로 하는 검색어 추천 장치.
  8. 제 7 항에 있어서,
    상기 결과 추론부는,
    상기 유사도 중에서 1에 근접한 순서대로 N 개의 상기 결과 벡터를 선별하고, 선별된 상기 결과 벡터에 해당하는 상기 제품명 정보를 상기 검색어 정보에 대응하는 상기 추천 제품명으로 추천하는 것을 특징으로 하는 검색어 추천 장치.
  9. 고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자무 단위 또는 초성 단위로 분리하여 원 핫 벡터(one hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리 단계;
    상기 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 상기 학습 데이터의 실제 벡터와 상기 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 상기 다층 신경망을 학습시키는 모델 학습 단계; 및
    학습이 완료된 상기 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 상기 고객사 별 제품명 정보로부터 추출된 상기 결과 벡터를 비교하여 유사도를 산출하고, 상기 유사도를 이용하여 상기 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론 단계;를 포함하는 것을 특징으로 하는 검색어 추천 방법.
  10. 제 9 항에 있어서,
    상기 전처리 단계는,
    상기 자모 단위 또는 상기 초성 단위에 따라 미리 설정된 개수를 기준으로 분리하여 상기 원 핫 벡터 형태로 변환된 학습 데이터를 생성하되,
    상기 학습 데이터는 독립 변수와 종속 변수 세트로 이루어지는 것을 특징으로 하는 검색어 추천 방법.
  11. 제 9 항에 있어서,
    상기 모델 학습 단계는,
    상기 결과 벡터와 상기 실제 벡터에 대한 크로스 엔트로피를 이용하여 상기 오차가 최소가 되도록 상기 다층 신경망을 학습시키는 것을 특징으로 하는 검색어 추천 방법.
  12. 제 9 항에 있어서,
    상기 모델 학습 단계는,
    상기 학습 데이터를 상기 다층 신경망에 입력하여 상기 학습 데이터에 대한 확률을 상기 결과 벡터로 출력하되, 상기 확률은 상기 결과 벡터가 출력된 입력 벡터들의 조건부 확률인 것을 특징으로 하는 검색어 추천 방법.
  13. 제 9 항에 있어서,
    상기 결과 추론 단계는,
    상기 자모 단위 또는 상기 초성 단위에 따라 미리 설정된 개수를 기준으로 분리하여 상기 원 핫 벡터의 형태로 변환된 상기 학습 데이터를 상기 다층 신경망에 입력하여 상기 결과 벡터를 출력하되,
    상기 개수가 복수 개로 설정되는 경우,
    상기 개수 별 변환된 상기 원 핫 벡터의 평균을 이용하여 상기 결과 벡터를 산출하는 것을 특징으로 하는 검색어 추천 방법.
  14. 제 9 항에 있어서,
    상기 결과 추론 단계는,
    상기 검색 결과 벡터와 상기 결과 벡터 간의 내적의 결과를 상기 검색 결과 벡터 및 상기 결과 벡터의 벡터 크기로 정규화하여 상기 유사도를 산출하는 것을 특징으로 하는 검색어 추천 방법.
  15. 제 15 항에 있어서,
    상기 결과 추론 단계는,
    상기 유사도 중에서 1에 근접한 순서대로 N 개의 상기 결과 벡터를 선별하고, 선별된 상기 결과 벡터에 해당하는 상기 제품명 정보를 상기 검색어 정보에 대응하는 상기 추천 제품명으로 추천하는 것을 특징으로 하는 검색어 추천 방법.
  16. 검색어 추천 방법을 실행시키기 위한 프로그램을 기록한 기록 매체에 있어서,
    고객사 별 제품명 정보로부터 미리 설정된 방해 요소를 제거하고, 자모 단위 또는 초성 단위로 분리하여 원 핫 벡터(one hot vector) 형태로 변환된 학습 데이터를 생성하는 전처리 기능;
    상기 학습 데이터를 다층 신경망에 입력하여 결과 벡터를 출력하고, 상기 학습 데이터의 실제 벡터와 상기 결과 벡터의 오차가 최소가 되도록 역전파하여 가중치 행렬을 갱신하고 상기 다층 신경망을 학습시키는 모델 학습 기능; 및
    학습이 완료된 상기 다층 신경망을 이용하여, 입력된 검색어 정보로부터 추출된 검색 결과 벡터와 상기 고객사 별 제품명 정보로부터 추출된 상기 결과 벡터를 비교하여 유사도를 산출하고, 상기 유사도를 이용하여 상기 검색어 정보에 대응하는 추천 제품명을 추천하는 결과 추론 기능을 구현하는 프로그램이 기록되고 컴퓨터로 읽을 수 있는 기록 매체.
KR1020200170070A 2020-12-08 2020-12-08 검색어 추천 장치, 방법 및 기록매체 KR102561662B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200170070A KR102561662B1 (ko) 2020-12-08 2020-12-08 검색어 추천 장치, 방법 및 기록매체
KR1020230096500A KR102666635B1 (ko) 2023-07-25 검색어 추천 장치, 방법 및 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200170070A KR102561662B1 (ko) 2020-12-08 2020-12-08 검색어 추천 장치, 방법 및 기록매체

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230096500A Division KR102666635B1 (ko) 2023-07-25 검색어 추천 장치, 방법 및 기록매체

Publications (2)

Publication Number Publication Date
KR20220081398A true KR20220081398A (ko) 2022-06-16
KR102561662B1 KR102561662B1 (ko) 2023-08-02

Family

ID=82217373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200170070A KR102561662B1 (ko) 2020-12-08 2020-12-08 검색어 추천 장치, 방법 및 기록매체

Country Status (1)

Country Link
KR (1) KR102561662B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117195890A (zh) * 2023-11-07 2023-12-08 成都航空职业技术学院 一种基于机器学习的文本推荐方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190030435A (ko) * 2017-09-14 2019-03-22 주식회사 세진마인드 자연어 처리를 이용한 지정상품 추천 방법, 장치 및 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램
KR20200010672A (ko) * 2018-07-06 2020-01-31 주식회사 지브이글러벌 딥러닝을 이용한 스마트 상품 검색 방법 및 시스템
KR102148451B1 (ko) * 2019-10-02 2020-08-27 한경훈 멀티 쇼핑몰의 통합 관리 및 연동을 위한 쇼핑몰 질의응답 동기화 서비스 제공 방법, 서버, 및 시스템
KR102155768B1 (ko) * 2019-10-02 2020-09-14 한경훈 학습을 통하여 진화하는 질의응답 데이터 셋을 이용한 쇼핑몰 질의응답 추천 서비스 제공 방법
KR102155739B1 (ko) * 2019-10-24 2020-09-14 한경훈 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190030435A (ko) * 2017-09-14 2019-03-22 주식회사 세진마인드 자연어 처리를 이용한 지정상품 추천 방법, 장치 및 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램
KR20200010672A (ko) * 2018-07-06 2020-01-31 주식회사 지브이글러벌 딥러닝을 이용한 스마트 상품 검색 방법 및 시스템
KR102148451B1 (ko) * 2019-10-02 2020-08-27 한경훈 멀티 쇼핑몰의 통합 관리 및 연동을 위한 쇼핑몰 질의응답 동기화 서비스 제공 방법, 서버, 및 시스템
KR102155768B1 (ko) * 2019-10-02 2020-09-14 한경훈 학습을 통하여 진화하는 질의응답 데이터 셋을 이용한 쇼핑몰 질의응답 추천 서비스 제공 방법
KR102155739B1 (ko) * 2019-10-24 2020-09-14 한경훈 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117195890A (zh) * 2023-11-07 2023-12-08 成都航空职业技术学院 一种基于机器学习的文本推荐方法
CN117195890B (zh) * 2023-11-07 2024-01-26 成都航空职业技术学院 一种基于机器学习的文本推荐方法

Also Published As

Publication number Publication date
KR20230117716A (ko) 2023-08-09
KR102561662B1 (ko) 2023-08-02

Similar Documents

Publication Publication Date Title
CN111368996B (zh) 可传递自然语言表示的重新训练投影网络
CN111444340B (zh) 文本分类方法、装置、设备及存储介质
CN107798140B (zh) 一种对话系统构建方法、语义受控应答方法及装置
CN109376222B (zh) 问答匹配度计算方法、问答自动匹配方法及装置
KR20180125905A (ko) 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
US20220129621A1 (en) Bert-based machine-learning tool for predicting emotional response to text
CN112069408B (zh) 一种融合关系抽取的推荐系统及方法
CN110704576B (zh) 一种基于文本的实体关系抽取方法及装置
CN112084337A (zh) 文本分类模型的训练方法、文本分类方法及设备
CN114565104A (zh) 语言模型的预训练方法、结果推荐方法及相关装置
CN115115913A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN112131350A (zh) 文本标签确定方法、装置、终端及可读存储介质
CN111143536A (zh) 基于人工智能的信息抽取方法及存储介质和相关装置
CN110796160A (zh) 一种文本分类方法、装置和存储介质
CN116450796B (zh) 一种智能问答模型构建方法及设备
CN114676234A (zh) 一种模型训练方法及相关设备
CN113705313A (zh) 文本识别方法、装置、设备及介质
CN113704460B (zh) 一种文本分类方法、装置、电子设备和存储介质
CN111898384A (zh) 一种文本情感识别方法、装置、存储介质及电子设备
CN113569001A (zh) 文本处理方法、装置、计算机设备及计算机可读存储介质
CN113836866B (zh) 文本编码方法、装置、计算机可读介质及电子设备
CN111858898A (zh) 基于人工智能的文本处理方法、装置及电子设备
CN111324738B (zh) 一种确定文本标签的方法和系统
CN113221553A (zh) 一种文本处理方法、装置、设备以及可读存储介质
Mathur et al. A scaled‐down neural conversational model for chatbots

Legal Events

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