KR102060176B1 - 문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템 - Google Patents

문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템 Download PDF

Info

Publication number
KR102060176B1
KR102060176B1 KR1020170116619A KR20170116619A KR102060176B1 KR 102060176 B1 KR102060176 B1 KR 102060176B1 KR 1020170116619 A KR1020170116619 A KR 1020170116619A KR 20170116619 A KR20170116619 A KR 20170116619A KR 102060176 B1 KR102060176 B1 KR 102060176B1
Authority
KR
South Korea
Prior art keywords
category
learning
document
correct
vector
Prior art date
Application number
KR1020170116619A
Other languages
English (en)
Other versions
KR20190029264A (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 KR1020170116619A priority Critical patent/KR102060176B1/ko
Priority to JP2018169490A priority patent/JP6629935B2/ja
Publication of KR20190029264A publication Critical patent/KR20190029264A/ko
Application granted granted Critical
Publication of KR102060176B1 publication Critical patent/KR102060176B1/ko

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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템이 개시된다. 컴퓨터로 구현되는 카테고리 학습 방법은, 상기 카테고리 학습 방법은 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하는 것으로, 각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 단계; 및 상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 단계를 포함한다.

Description

문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템{DEEP LEARNING METHOD DEEP LEARNING SYSTEM FOR CATEGORIZING DOCUMENTS}
아래의 설명은 문서와 관련 있는 카테고리를 학습하는 기술에 관한 것이다.
인터넷 상에는 수만 내지 수억 개의 문서가 존재하며, 지식 공유 서비스, 그리고 블로그나 각종 SNS(social network service) 등의 활성화로 인하여 문서의 양은 기하급수적으로 증가하고 있다. 이러한 문서는 많은 정보를 가지고 있으며 문서에 포함된 정보에 접근하기 위해서 검색 시스템이나 분석 시스템 등이 다양하게 사용되고 있다.
문서의 정보에 접근하기 위한 검색 및 분석 시스템의 대부분은 문서를 카테고리 별로 구분하여 접근성을 높인다. 예를 들어, 인터넷 뉴스를 제공하는 포털 검색 시스템의 경우에 문서들을 정치, 사회, 경제, 연예 등의 카테고리 별로 분류함으로써 문서에 대한 접근성을 높이고 있다.
초기에는 이러한 문서의 분류는 사람에 의하여 직접 수행되었으나, 정보의 양이 급증함에 따라 많은 문서들을 자동으로 분류할 수 있는 문서 분류 기술에 대한 연구가 활발히 진행되고 있다.
문서 분류 기술의 일례로, 한국공개특허공보 제10-2001-0102687호(공개일 2001년 11월 16일)에는 카테고리 학습 기법을 이용하여 웹 문서를 주제 별로 자동 분류하는 기술이 개시되어 있다.
특히, 규모가 크고 계층이 깊은 분류체계에서는 적절한 분류명을 사용자가 직접 찾기가 어렵다. 이런 현상을 해결하려면 계층적 분류체계에서도 작성한 문서에 어울리는 분류명을 추천하는 시스템이 필요하다.
계층적 분류체계를 사용하는 시스템에서 사용자가 작성한 문서에 적합한 분류명을 추천하는 모델을 제시한다. 사용자가 작성한 문서를 벡터로 표현하고, 같은 공간에 분류명을 의미하는 벡터들과 비교하여 문서 벡터와 가장 가까운 분류명 벡터를 추천하는 방법 및 시스템을 제공한다.
학습 문서의 정답 카테고리를 기준으로 오답 카테고리를 선택적으로 샘플링 하여 학습 문서에 대해 정답 카테고리와 오답 카테고리를 함께 학습할 수 있는 방법 및 시스템을 제공한다.
컴퓨터로 구현되는 카테고리 학습 방법에 있어서, 상기 카테고리 학습 방법은 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하는 것으로, 각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 단계; 및 상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 단계를 포함하는 카테고리 학습 방법을 제공한다.
일 측면에 따르면, 상기 선정하는 단계는, 상기 정답 카테고리와 일부 계층이 동일한 카테고리 중에서 무작위 샘플링을 통해 상기 오답 카테고리를 선정할 수 있다.
다른 측면에 따르면, 상기 선정하는 단계는, 상기 정답 카테고리의 최하위 계층을 제외한 나머지 계층의 각 깊이 별로 해당 깊이의 계층까지 동일한 카테고리 중에서 상기 오답 카테고리를 샘플링 하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 선정하는 단계는, 상기 정답 카테고리의 최상위 계층을 제외한 나머지 카테고리 중에서 상기 오답 카테고리를 추가 샘플링 하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 구축하는 단계는, 상기 학습 문서와 상기 정답 카테고리 및 상기 오답 카테고리를 각각 벡터화 하여 벡터 공간에 매핑하는 단계; 및 상기 학습 문서의 벡터를 기준으로 상기 정답 카테고리의 벡터와 상기 오답 카테고리의 벡터를 동시 학습하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 학습하는 단계는, 상기 학습 문서의 벡터를 기준으로 상기 정답 카테고리의 벡터를 상기 학습 문서의 벡터와 소정 비율만큼 가까워지게, 상기 오답 카테고리의 벡터를 상기 학습 문서의 벡터와 소정 비율만큼 멀어지게 학습할 수 있다.
또 다른 측면에 따르면, 상기 카테고리 학습 방법은, 새로운 문서가 입력되면 상기 학습 모델을 통해 입력된 문서와 관련 있는 카테고리를 판단함으로써 해당 문서의 카테고리를 분류하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 분류하는 단계는, 상기 새로운 문서에 대해 해당 문서와 관련 있는 것으로 판단된 카테고리를 추천하거나 혹은 상기 새로운 문서의 정답 카테고리로 자동 마킹할 수 있다.
카테고리 학습 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 카테고리 학습 방법은, 상기 카테고리 학습 방법은 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하는 것으로, 각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 단계; 및 상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 단계를 포함하는, 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램을 제공한다.
컴퓨터로 구현되는 카테고리 학습 시스템에 있어서, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하기 위한 것으로, 각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 학습 데이터 선정부; 및 상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 카테고리 학습부를 포함하는 카테고리 학습 시스템을 제공한다.
본 발명의 실시예들에 따르면, 학습 문서의 정답 카테고리를 기준으로 오답 카테고리를 선택적으로 샘플링 하여 학습 문서에 대해 정답 카테고리와 오답 카테고리를 함께 학습함으로써 문서의 카테고리 분류를 위한 학습 모델의 정확도를 개선하여 문서 분류 성능을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 서버의 프로세서가 수행할 수 있는 방법의 예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 있어서 학습용 데이터로 사용되는 학습 문서의 예시들을 도시한 것이다.
도 6 내지 도 10은 본 발명의 일 실시예에 있어서 카테고리 샘플링 과정을 설명하기 위한 예시 도면이다.
도 11 내지 도 12는 본 발명의 일 실시예에 있어서 카테고리 학습 과정을 설명하기 위한 예시 도면이다.
도 13은 본 발명의 일 실시예에 있어서 문서의 카테고리를 자동 분류하는 과정의 예를 설명하기 위한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 문서와 관련 있는 카테고리를 학습하는 기술에 관한 것으로, 더욱 상세하게는 딥러닝을 이용하여 문서에 맞는 카테고리를 학습하고자 할 때 효과적인 샘플링 방식을 사용하여 문서의 카테고리를 학습하는 방법 및 시스템에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 학습 문서에 대해 복수 개의 카테고리를 선택적으로 선정하여 학습 문서의 카테고리를 학습할 수 있고 이를 통해 정확성, 효율성, 신뢰성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.
본 명세서에서 '카테고리'는 문서의 종류나 관련 분야 등을 분류하기 위한 것으로 적어도 둘 이상의 뎁스(depth)로 이루어진 계층적 구조를 가진다.
도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 태블릿 PC, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player) 등이 있다. 일례로 제1 전자 기기(110)는 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
일례로, 서버(160)는 네트워크(170)를 통해 접속한 제1 전자 기기(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 전자 기기(110)는 서버(160)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 제1 전자 기기(110)가 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 제1 전자 기기(110)가 어플리케이션의 제어에 따라 네트워크(170)를 통해 서비스 요청 메시지를 서버(150)로 전송하면, 서버(150)는 서비스 요청 메시지에 대응하는 코드를 제1 전자 기기(110)로 전송할 수 있고, 제1 전자 기기(110)는 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.
도 2는 본 발명의 일 실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 하나의 전자 기기에 대한 예로서 제1 전자 기기(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.
제1 전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 제1 전자 기기(110)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
제1 전자 기기(110)와 서버(150)는 메모리(211, 221) 이외에 제1 전자 기기(110)와 서버(150)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 데이터베이스 시스템(미도시)을 더 포함할 수 있다. 데이터베이스 시스템은 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있으며, 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 제1 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 제2 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 제1 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 검색 요청)이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 제1 전자 기기(110)의 통신 모듈(213)을 통해 제1 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 제1 전자 기기(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 제2 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다. 입출력 인터페이스(224) 또한 마찬가지로 서버(150)의 프로세서(222)가 메모리(221)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어 서버(150)가 제공하는 데이터를 이용하여 구성되는 정보를 출력할 수 있다.
또한, 다른 실시예들에서 제1 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 제1 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 제1 전자 기기(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.
이하에서는 문서의 카테고리를 학습하는 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 4는 본 발명의 일 실시예에 따른 서버의 프로세서가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
본 실시예에 따른 서버(150)에는 컴퓨터로 구현된 카테고리 학습 시스템이 구성될 수 있다. 카테고리 학습 시스템은 문서의 분류를 위한 카테고리 분류기 모델을 학습하여 이를 통해 주어진 문서의 카테고리를 자동으로 분류하는 환경을 제공할 수 있다.
도 4의 카테고리 학습 방법을 수행하기 위해, 서버(150)의 프로세서(222)는 구성요소로서 도 3에 도시된 바와 같이, 학습 데이터 선정부(310), 카테고리 학습부(320), 카테고리 분류부(330)를 포함할 수 있다. 실시예에 따라 프로세서(222)의 구성요소들은 선택적으로 프로세서(222)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(222)의 구성요소들은 프로세서(222)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.
이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 4의 카테고리 학습 방법이 포함하는 단계들(S410 내지 S440)을 수행하도록 서버(150)를 제어할 수 있다. 예를 들어, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
여기서, 프로세서(222)의 구성요소들은 서버(150)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 서버(150)가 카테고리 학습을 위한 학습 데이터를 선정하도록 상술한 명령에 따라 서버(150)를 제어하는 프로세서(222)의 기능적 표현으로서 학습 데이터 선정부(310)가 이용될 수 있다.
서버(150)는 임의의 문서가 주어질 때 주어진 문서를 해당 문서와 어울리는 카테고리로 자동 분류하고자 하는 것이다. 서버(150)는 카테고리가 마킹된 문서를 학습 데이터로 이용하여 딥러닝 모델로 학습함으로써 카테고리 분류기 모델을 구축할 수 있고, 이후 새로운 문서가 입력되면 카테고리 분류기 모델을 통해 입력된 문서의 카테고리를 판단하여 자동 분류할 수 있다.
카테고리 분류기 모델을 구축하기 위해서는 먼저 단어의 벡터화, 문서의 벡터화, 카테고리의 벡터화가 필요하다. 이때, 문서의 벡터화는 문서에 포함된 단어의 조합을 가지고 문서를 벡터화 할 수 있다.
문서와 관련 있는 카테고리를 찾기 위해서는 문서 벡터와 가까운 카테고리 벡터를 찾게끔 학습하는 것으로, 다시 말해 서버(150)는 문서와 관련 있는 카테고리의 벡터를 해당 문서의 벡터와 가깝게 하는 학습을 통해 카테고리 분류기 모델을 구축한다. 이때, 서버(150)는 학습 문서에 대해 포지티브 샘플(positive sample)인 정답 카테고리와 네거티브 샘플(negative sample)인 오답 카테고리를 선정하여 동시에 학습하게 되는데, 이때 정답 카테고리의 벡터는 학습 문서의 벡터와 가까워지게, 오답 카테고리의 벡터는 학습 문서의 벡터와 멀어지게 학습한다.
본 실시예에서는 딥러닝을 이용하여 문서에 맞는 카테고리를 학습하고자 할 때 효과적인 샘플링 방식을 사용하여 정확도가 높은 카테고리 분류기 모델을 구축할 수 있다.
단계(S410)에서 프로세서(222)는 서버(150)의 제어와 관련된 명령이 로딩된 메모리(221)로부터 필요한 명령을 읽어들일 수 있다. 이 경우, 상기 읽어들인 명령은 프로세서(222)가 이후 설명될 단계들(S420 내지 S440)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.
단계(S420)에서 학습 데이터 선정부(310)는 문서 자동 분류를 위한 카테고리 분류기 모델을 학습하기 위해 학습 문서를 선정하고 선정된 학습 문서 각각에 대해 학습 문서에 사전 설정된 정답 카테고리에 기초하여 오답 카테고리를 선정할 수 있다. 서버(150)에서는 정답 카테고리가 마킹된 문서를 학습용 데이터로 하여 딥러닝 학습 모델로 학습할 수 있다. 이때, 학습 데이터 선정부(310)는 서버(150)와 관련된 문서 DB 상에서 문서의 품질 지수에 기초하여 카테고리가 마킹된 문서 중 적어도 일부 문서를 학습 문서로 선정할 수 있다. 문서의 품질 지수는 예를 들어 문서에 등록된 답변 유무나 답변 개수, 문서에 답변을 등록한 답변자의 신뢰도 등을 고려하여 산출 가능하다. 문서 DB 상의 문서에는 해당 문서와 관련 있는 카테고리가 마킹되어 있으며, 문서에 마킹된 카테고리를 정답 카테고리라 한다. 그리고, 학습 데이터 선정부(310)는 학습 문서에 대한 오답 카테고리로서 정답 카테고리와 다른 카테고리를 선정하게 되는데, 특히 학습 문서의 정답 카테고리와 일부 계층이 동일한 카테고리를 샘플링 함으로써 오답 카테고리를 선정할 수 있다. 다시 말해, 학습 데이터 선정부(310)는 학습 문서의 정답 카테고리와 다른 카테고리를 전체 카테고리 내에서 무작위로 선정하는 것이 아니라, 소정 규칙의 일례로서 학습 문서의 정답 카테고리를 기준으로 일부 계층이 정답 카테고리와 중복되는 범주 내에서 적어도 하나의 오답 카테고리를 선정하는 것이다. 오답 카테고리를 선정하는 구체적인 방법에 대해서는 이하에서 다시 설명하기로 한다.
단계(S430)에서 카테고리 학습부(320)는 학습 문서를 이용하여 카테고리 분류기 모델을 학습하게 되는데, 이때 학습 문서 별로 정답 카테고리와 오답 카테고리를 함께 학습하여 카테고리 학습 결과를 포함한 카테고리 분류기 모델을 구축할 수 있다. 먼저, 카테고리 학습부(320)는 학습 문서에 포함된 단어들을 다차원 실수 벡터로 표현 및 조합(예컨대, 합산)함으로써 해당 문서를 벡터화 할 수 있고, 정답 카테고리와 오답 카테고리 또한 다차원 실수 벡터로 표현하여 카테고리를 벡터화 할 수 있다.
보다 구체적인 예로는, 사용자의 문서를 벡터화하는 방법으로 CNN을 사용할 수 있다. 자연어 문장을 형태소 단위로 나누고 각 형태소에 대응하는 벡터로 문장 전체를 변환하여 다양한 크기의 필터를 사용하는 Convolution 계층과 Max pooling 계층에 통과시켜 문서를 근접한 단어끼리 일차적으로 해석한다. 해석한 내용을 모두 모아 종합할 수 있는 문서 벡터로 표현하기 위해, 완전 연결 계층의 입력으로 일차적 해석 결과물을 넣고 출력부를 벡터 공간 차원 크기만큼의 노드들로 구성하여 완성한다. 자연어 문장을 넣으면 연산 과정을 거쳐 최종 노드가 가지게 되는 일련의 값들이 곧 문서 벡터의 각 차원을 구성하는 요소가 된다.
다음으로, 카테고리 학습부(320)는 학습 문서의 벡터, 그리고 정답 카테고리의 벡터와 오답 카테고리의 벡터를 다차원 벡터 공간의 벡터로 매핑하되 정답 카테고리의 벡터는 학습 문서의 벡터와 가까워지게, 오답 카테고리의 벡터는 학습 문서의 벡터와 멀어지게 학습할 수 있다. 일례로, 카테고리 학습부(320)는 학습 문서의 벡터와 정답 카테고리의 벡터 간 거리에 기초하여 소정 비율을 결정한 후 학습 문서의 벡터를 기준으로 앞서 결정된 소정 비율만큼 정답 카테고리의 벡터를 학습 문서의 벡터와 가까워지도록 학습하고 오답 카테고리의 벡터를 학습 문서의 벡터와 멀어지도록 학습한다. 구체적인 학습 방법은 논문 <Arpita Das et al., "Together We Stand: Siamese Networks for Similar Question Retrieval", https://www.aclweb.org/anthology/P/P16/P16-1036.pdf>에 개시된 학습 기술을 이용할 수 있고, 이러한 것으로만 한정되는 것은 아니며 널리 알려진 딥러닝 기술을 활용할 수 있다.
이때, 학습에 이용하는 오답 카테고리 벡터의 개수를 적절히 조절하면 최적값에 빨리 도달할 수 있는 효과를 볼 수 있다. 카테고리 벡터들이 각각 특정 지점으로 수렴되면 당시의 카테고리 벡터 위치를 저장하고 학습을 종료한다.
분류체계의 규모가 큰 경우, 다른 수많은 분류명 벡터들과 비교하여 상대적인 위치를 찾기 때문에 신경망의 가중치 값이 올바른 최적값에 도달하지 못하여 예측의 정확도가 현저히 낮아질 수 있다. 이 경우 계층적 구조의 특성을 이용하여 적절하게 학습 데이터를 선택하는 것이 중요한데, 본 발명의 실시예에 따른 카테고리 샘플링과 관련해서는 이후에 상세하게 설명하도록 한다.
단계(S440)에서 카테고리 분류부(330)는 주어진 문서에 대해 단계(S430)에서 학습된 카테고리 분류기 모델을 통해 해당 문서의 카테고리를 자동 분류할 수 있다. 카테고리 분류부(330)는 새로운 문서가 입력되면 카테고리 분류기 모델을 통과시켜 해당 문서의 카테고리를 판단할 수 있다. 다시 말해, 카테고리 분류부(330)는 새로운 문서에 포함된 단어들을 다차원 실수 벡터로 표현 및 조합(예컨대, 합산)함으로써 해당 문서를 벡터화 할 수 있고, 새로운 문서의 벡터를 다차원 벡터 공간의 벡터로 매핑하여 새로운 문서의 벡터와 가장 가까운 벡터의 카테고리를 새로운 문서와 관련 있는 카테고리로 판단할 수 있다. 카테고리 분류부(330)는 새로운 문서에 대해 해당 문서와 관련 있는 것으로 판단된 카테고리를 추천하거나 혹은 새로운 문서의 정답 카테고리로 마킹할 수 있다.
따라서, 본 발명에 따른 카테고리 학습 시스템 및 카테고리 학습 방법은 문서의 카테고리 학습을 위한 카테고리 선정 시 카테고리의 계층적 구조를 이용한 소정 규칙에 기초하여 카테고리 샘플링을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 있어서 학습용 데이터로 사용되는 학습 문서의 예시들을 도시한 것이다.
도 5를 참조하면, 학습 데이터 선정부(310)는 서버(150)와 관련된 문서 DB에서 일부 문서(500)를 학습용 데이터로 선정할 수 있다. 학습용 데이터로 이용되는 문서, 즉 학습 문서(500)는 텍스트 위주로 작성된 글은 물론, 이미지나 동영상 등 다양한 형태의 컨텐츠를 포괄하여 의미할 수 있다. 예를 들어, 지식 공유 서비스 상의 문서 DB의 경우 제목과 본문을 포함한 질문 글들을 학습 문서(500)로 이용할 수 있다. 이때, 학습 데이터 선정부(310)는 문서 DB 상의 문서 중에서 답변 유무나 답변 개수, 답변을 등록한 답변자의 신뢰도 등을 바탕으로 한 품질 지수를 이용하여 일부 문서를 학습 문서(500)로 선정할 수 있다. 학습 문서(500)는 해당 문서와 관련 있는 카테고리(정답 카테고리)(510)가 마킹된 문서를 대상으로 한다.
따라서, 학습 데이터 선정부(310)는 정답 카테고리가 마킹된 문서 중에서 품질 지수를 이용한 필터링을 통해 일부 문서를 선정하여 카테고리 학습을 위한 학습 문서(500)로 이용할 수 있다.
이하에서는 학습을 위한 샘플 데이터, 특히 오답 카테고리를 선정하는 구체적인 방법의 예시를 설명하기로 한다.
계층적 구조의 특성에 따라 같은 카테고리를 공유하는 하위 분류체계 또한 독립적인 분류체계의 특징을 가지고 있다. 그러므로, 하위 카테고리 내에서 카테고리 벡터 위치를 학습하는 하위문제로 재정의하면 하위 문제를 해결하여 전체 문제를 해결할 수 있다.
하위 문제를 해결하기 위하여 오답 카테고리 샘플을 학습 카테고리명, 그리고 그 상위 카테고리명과 겹치지 않게 지정한 최상위 카테고리 아래에서 선택할 수 있다. 학습 데이터 한 개당 다수 개의 오답 카테고리를 선택할 수 있기 때문에, 다양한 하위 카테고리에서 고르게 표집하는 것이 효과적이다. 다시 말해, 세 단계 이상의 계층 구조인 경우 오답 카테고리를 각 계층에서 고르게 선택해야 성공적으로 학습할 수 있다.
구체적인 예로 학습 데이터의 카테고리가 상위 계층부터 가>나>다>라인 경우, 첫 번째 샘플은 가>나>다에 속하면서 가>나>다>라에 속하지 않는 범위에서, 두 번째 샘플은 가>나에 속하면서 가>나>다의 모든 하위 분류에 속하지 않는 범위에서, 세 번째 샘플은 가에 속하면서 가>나의 모든 하위 분류에 속하지 않는 범위에서, 마지막 샘플은 거의 모든 하위 분류에 속하지 않는 범위에서 추출하는 것이다.
도 6 내지 도 10은 본 발명의 일 실시예에 있어서 카테고리 샘플링 과정을 설명하기 위한 예시 도면이다.
학습 데이터 선정부(310)는 각 학습 문서에 대하여 해당 문서의 정답 카테고리를 기준으로 적어도 하나의 오답 카테고리를 선정할 수 있다. 예를 들어, 도 6에 도시한 바와 같이 학습 문서는 최상위 계층부터 가>나>다>라(depth 4)의 정답 카테고리가 마킹될 수 있다.
학습 문서의 정답 카테고리와 무관하게 무작위 카테고리에서 오답 카테고리를 샘플링 하는 경우 학습 모델 정확도가 떨어지고 카테고리 개수가 많으면 학습이 되지 않는 현상이 발생한다.
이러한 문제를 해결하기 위해 본 발명에서는 오답 카테고리를 전략적으로 골라서 학습하는 방법을 적용할 수 있다. 학습 데이터 선정부(310)는 학습 문서의 정답 카테고리와 일부 계층이 겹치는 카테고리 내에서 무작위 샘플링 하여 오답 카테고리를 선정할 수 있다. 일 예로, 카테고리 A의 깊이가 n인 경우 n개의 오답 카테고리를 선정할 수 있으며, 이때 1번째 오답 카테고리는 n-1의 깊이에서 무작위 샘플링 하고, 2번째 오답 카테고리는 n-2 깊이에서 무작위 샘플링 하고, …, n번째 오답 카테고리는 최상위 계층에서 무작위 샘플링 한다.
깊이가 4인 가>나>다>라의 정답 카테고리가 마킹된 학습 문서에 대해 4개의 오답 카테고리를 선정하고자 할 때:
먼저, 첫 번째 오답 카테고리는 도 7에 도시한 바와 같이 정답 카테고리와 깊이가 3인 세 개의 계층(가>나>다)까지 같은 카테고리 범위(710) 내에서 무작위로 샘플링 할 수 있다.
다음으로, 두 번째 오답 카테고리는 도 8에 도시한 바와 같이 정답 카테고리와 깊이가 2인 두 개의 계층(가>나)까지 같은 카테고리 범위(810) 내에서 무작위로 샘플링 할 수 있다.
다음으로, 세 번째 오답 카테고리는 도 9에 도시한 바와 같이 정답 카테고리와 깊이가 1인 하나의 계층(가)이 같은 카테고리 범위(910) 내에서 무작위로 샘플링 할 수 있다.
마지막으로, 네 번째 오답 카테고리는 도 10에 도시한 바와 같이 전체 카테고리 범위에서 정답 카테고리의 최상위 계층(가) 이하의 카테고리를 제외한 나머지 카테고리 범위(1010) 내에서 무작위로 샘플링 할 수 있다. 도 10을 통해 설명한 마지막 샘플링 단계는 선택적으로 포함되거나 제외될 수도 있다.
따라서, 학습 데이터 선정부(310)는 학습 문서의 정답 카테고리와 일부 계층이 겹치는 카테고리 범위 내에서 무작위 샘플링 하여 오답 카테고리를 선정할 수 있다. 상기한 카테고리 샘플링의 마지막 단계에서 설명한 바와 같이, 오답 카테고리 중 일부는 정답 카테고리의 최상위 계층 이하의 카테고리를 제외한 나머지 카테고리 범위 내에서 무작위 샘플링 하는 것 또한 가능하다.
상기에서는 카테고리의 깊이가 n개일 때 n개의 오답 카테고리, 즉 각 깊이의 계층 별로 하나의 오답 카테고리를 선정하는 것으로 설명하고 있으나, 이에 한정되는 것은 아니며 상기한 규칙을 유지하면서 샘플링 비율 등을 조정하여 오답 카테고리의 개수를 확장할 수 있다. 예를 들어, 하위 계층에서 상위 계층으로 갈수록 샘플링 개수를 점진적으로 늘릴 수 있다.
도 11 내지 도 12는 본 발명의 일 실시예에 있어서 카테고리 학습 과정을 설명하기 위한 예시 도면이다.
도 11을 참조하면, 카테고리 학습부(320)는 문서 분류를 위한 카테고리에 대하여 카테고리의 벡터화를 통해 카테고리 벡터(1101)를 벡터 공간(1100) 상에 매핑할 수 있다.
도 12에 도시한 바와 같이, 학습 과정에서 학습 문서에 해당되는 문서 벡터(1210) 또한 카테고리 벡터(1101)가 매핑된 벡터 공간(1100)에 매핑되며, 이때 카테고리 학습부(320)는 카테고리 벡터(1101) 중 학습 문서와 관련 있는 카테고리 벡터를 문서 벡터(1210)와 가깝게 학습한다. 특히, 카테고리 학습부(320)는 학습 문서의 정답 카테고리와 함께, 학습 문서의 정답 카테고리를 기준으로 선정된 오답 카테고리를 동시에 학습하게 되는데, 카테고리 벡터(1101) 중 정답 카테고리의 벡터(1201)는 문서 벡터(1210)와 가까워지게, 오답 카테고리의 벡터(1202)는 문서 벡터(1210)와 멀어지게 학습한다.
학습 문서의 정답 카테고리와 무관하게 전체 카테고리에서 무작위로 오답 카테고리를 샘플링 하는 것이 아니라, 학습 문서의 정답 카테고리와 일부 계층이 겹치는 카테고리 내에서 오답 카테고리를 샘플링 하여 카테고리 학습을 수행함으로써 학습 모델의 정확도가 상승할 수 있다.
도 13을 참조하면, 카테고리 분류부(330)는 새로운 문서(1301)가 입력되는 경우 정답 카테고리와 오답 카테고리를 동시에 학습한 카테고리 분류기 모델(1310)을 통과시켜 해당 문서(1301)와 관련 있는 카테고리(1311)를 판단할 수 있다. 카테고리 분류부(330)는 새로운 문서(1301)에 대해 해당 문서(1301)와 관련 있는 것으로 판단된 카테고리를 추천하거나 혹은 새로운 문서(1301)의 정답 카테고리로 자동 마킹할 수 있다.
이처럼 본 발명의 실시예들에 따르면, 학습 문서의 정답 카테고리를 기준으로 복수 개의 오답 카테고리를 선택적으로 샘플링 하여 학습 문서에 대해 정답 카테고리와 오답 카테고리를 함께 학습함으로써 문서의 카테고리 분류를 위한 학습 모델의 정확도를 개선하여 문서 분류 성능을 향상시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 컴퓨터로 구현되는 카테고리 학습 방법에 있어서,
    상기 카테고리 학습 방법은 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하는 것으로,
    각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 단계; 및
    상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 단계
    를 포함하고,
    상기 선정하는 단계는,
    상기 정답 카테고리를 기준으로 일부 계층이 상기 정답 카테고리의 계층과 중복되는 카테고리 범주 내에서 상기 오답 카테고리를 적어도 하나 이상 선정하는 것
    을 특징으로 하는 카테고리 학습 방법.
  2. 삭제
  3. 컴퓨터로 구현되는 카테고리 학습 방법에 있어서,
    상기 카테고리 학습 방법은 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하는 것으로,
    각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 단계; 및
    상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 단계
    를 포함하고,
    상기 선정하는 단계는,
    상기 정답 카테고리의 최하위 계층을 제외한 나머지 계층의 각 깊이 별로 해당 깊이의 계층까지 동일한 카테고리 중에서 상기 오답 카테고리를 샘플링 하는 단계
    를 포함하는 카테고리 학습 방법.
  4. 제3항에 있어서,
    상기 선정하는 단계는,
    상기 정답 카테고리의 최상위 계층을 제외한 나머지 카테고리 중에서 상기 오답 카테고리를 추가 샘플링 하는 단계
    를 더 포함하는 카테고리 학습 방법.
  5. 제1항 또는 제3항에 있어서,
    상기 구축하는 단계는,
    상기 학습 문서와 상기 정답 카테고리 및 상기 오답 카테고리를 각각 벡터화 하여 벡터 공간에 매핑하는 단계; 및
    상기 학습 문서의 벡터를 기준으로 상기 정답 카테고리의 벡터와 상기 오답 카테고리의 벡터를 동시 학습하는 단계
    를 포함하는 카테고리 학습 방법.
  6. 제5항에 있어서,
    상기 학습하는 단계는,
    상기 학습 문서의 벡터를 기준으로 상기 정답 카테고리의 벡터를 상기 학습 문서의 벡터와 소정 비율만큼 가까워지게, 상기 오답 카테고리의 벡터를 상기 학습 문서의 벡터와 소정 비율만큼 멀어지게 학습하는 것
    을 특징으로 하는 카테고리 학습 방법.
  7. 제1항 또는 제3항에 있어서,
    상기 카테고리 학습 방법은,
    새로운 문서가 입력되면 상기 학습 모델을 통해 입력된 문서와 관련 있는 카테고리를 판단함으로써 해당 문서의 카테고리를 분류하는 단계
    를 더 포함하는 카테고리 학습 방법.
  8. 제7항에 있어서,
    상기 분류하는 단계는,
    상기 새로운 문서에 대해 해당 문서와 관련 있는 것으로 판단된 카테고리를 추천하거나 혹은 상기 새로운 문서의 정답 카테고리로 자동 마킹하는 것
    을 특징으로 하는 카테고리 학습 방법.
  9. 카테고리 학습 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
    상기 카테고리 학습 방법은,
    상기 카테고리 학습 방법은 문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하는 것으로,
    각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 단계; 및
    상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 단계
    를 포함하고,
    상기 선정하는 단계는,
    상기 정답 카테고리를 기준으로 일부 계층이 상기 정답 카테고리의 계층과 중복되는 카테고리 범주 내에서 상기 오답 카테고리를 적어도 하나 이상 선정하는 것
    을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.
  10. 컴퓨터로 구현되는 카테고리 학습 시스템에 있어서,
    컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하기 위한 것으로,
    각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 학습 데이터 선정부; 및
    상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 카테고리 학습부
    를 포함하고,
    상기 학습 데이터 선정부는,
    상기 정답 카테고리를 기준으로 일부 계층이 상기 정답 카테고리의 계층과 중복되는 카테고리 범주 내에서 상기 오답 카테고리를 적어도 하나 이상 선정하는 것
    을 특징으로 하는 카테고리 학습 시스템.
  11. 삭제
  12. 컴퓨터로 구현되는 카테고리 학습 시스템에 있어서,
    컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    문서의 카테고리로서 계층 구조를 가진 카테고리를 학습하기 위한 것으로,
    각 학습 문서에 대해 상기 학습 문서에 마킹된 정답 카테고리에 기초하여 상기 정답 카테고리와 다른 오답 카테고리를 선정하는 학습 데이터 선정부; 및
    상기 학습 문서에 대해 상기 정답 카테고리와 상기 오답 카테고리를 함께 학습하여 문서 자동 분류를 위한 학습 모델을 구축하는 카테고리 학습부
    를 포함하고,
    상기 학습 데이터 선정부는,
    상기 정답 카테고리의 최하위 계층을 제외한 나머지 계층의 각 깊이 별로 해당 깊이의 계층까지 동일한 카테고리 중에서 상기 오답 카테고리를 샘플링 하는 것
    을 특징으로 하는 카테고리 학습 시스템.
  13. 제12항에 있어서,
    상기 학습 데이터 선정부는,
    상기 정답 카테고리의 최상위 계층을 제외한 나머지 카테고리 중에서 상기 오답 카테고리를 추가 샘플링 하는 것
    을 특징으로 하는 카테고리 학습 시스템.
  14. 제10항 또는 제12항에 있어서,
    상기 카테고리 학습부는,
    상기 학습 문서와 상기 정답 카테고리 및 상기 오답 카테고리를 각각 벡터화 하여 벡터 공간에 매핑한 후, 상기 학습 문서의 벡터를 기준으로 상기 정답 카테고리의 벡터와 상기 오답 카테고리의 벡터를 동시 학습하는 것
    을 특징으로 하는 카테고리 학습 시스템.
  15. 제14항에 있어서,
    상기 카테고리 학습부는,
    상기 학습 문서의 벡터를 기준으로 상기 정답 카테고리의 벡터를 상기 학습 문서의 벡터와 소정 비율만큼 가까워지게, 상기 오답 카테고리의 벡터를 상기 학습 문서의 벡터와 소정 비율만큼 멀어지게 학습하는 것
    을 특징으로 하는 카테고리 학습 시스템.
  16. 제10항 또는 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    새로운 문서가 입력되면 상기 학습 모델을 통해 입력된 문서와 관련 있는 카테고리를 판단함으로써 해당 문서의 카테고리를 분류하는 카테고리 분류부
    를 더 포함하는 카테고리 학습 시스템.
  17. 제16항에 있어서,
    상기 카테고리 분류부는,
    상기 새로운 문서에 대해 해당 문서와 관련 있는 것으로 판단된 카테고리를 추천하거나 혹은 상기 새로운 문서의 정답 카테고리로 자동 마킹하는 것
    을 특징으로 하는 카테고리 학습 시스템.
KR1020170116619A 2017-09-12 2017-09-12 문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템 KR102060176B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170116619A KR102060176B1 (ko) 2017-09-12 2017-09-12 문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템
JP2018169490A JP6629935B2 (ja) 2017-09-12 2018-09-11 文書のカテゴリ分類のためのディープラーニング学習方法およびそのシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170116619A KR102060176B1 (ko) 2017-09-12 2017-09-12 문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20190029264A KR20190029264A (ko) 2019-03-20
KR102060176B1 true KR102060176B1 (ko) 2019-12-27

Family

ID=66014976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170116619A KR102060176B1 (ko) 2017-09-12 2017-09-12 문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템

Country Status (2)

Country Link
JP (1) JP6629935B2 (ko)
KR (1) KR102060176B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11328125B2 (en) 2019-05-14 2022-05-10 Korea University Research And Business Foundation Method and server for text classification using multi-task learning

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102215259B1 (ko) * 2019-03-22 2021-02-15 주식회사 커넥트닷 주제별 단어 또는 문서의 관계성 분석 방법 및 이를 구현하는 장치
US20220398827A1 (en) * 2019-05-09 2022-12-15 Automobilia Ii, Llc Methods, systems and computer program products for media processing and display
KR102095892B1 (ko) * 2019-10-02 2020-04-01 (주)디앤아이파비스 인공지능 모델을 이용한 특허문서의 유사도 판단 방법, 장치 및 시스템
CN112732868B (zh) * 2020-12-30 2023-04-07 科大讯飞股份有限公司 解答题的答案分析方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270347A1 (en) 2013-03-13 2014-09-18 Sharp Laboratories Of America, Inc. Hierarchical image classification system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010102687A (ko) * 2000-05-04 2001-11-16 정만원 카테고리 학습 기법을 이용한 주제별 웹 문서 자동 분류방법 및 시스템
WO2003005235A1 (en) * 2001-07-04 2003-01-16 Cogisum Intermedia Ag Category based, extensible and interactive system for document retrieval
JP2014096086A (ja) * 2012-11-12 2014-05-22 Hitachi Solutions Ltd 文書分類システムおよび方法
US10387773B2 (en) * 2014-10-27 2019-08-20 Ebay Inc. Hierarchical deep convolutional neural network for image classification
JP2017027495A (ja) * 2015-07-27 2017-02-02 Kddi株式会社 検証装置、分類システム、検証方法、分類方法、及びコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270347A1 (en) 2013-03-13 2014-09-18 Sharp Laboratories Of America, Inc. Hierarchical image classification system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Das, Arpita, et al. Together we stand: Siamese networks for similar question retrieval. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Vol. 1. 2016.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11328125B2 (en) 2019-05-14 2022-05-10 Korea University Research And Business Foundation Method and server for text classification using multi-task learning

Also Published As

Publication number Publication date
JP2019053730A (ja) 2019-04-04
JP6629935B2 (ja) 2020-01-15
KR20190029264A (ko) 2019-03-20

Similar Documents

Publication Publication Date Title
KR102060176B1 (ko) 문서의 카테고리 분류를 위한 딥러닝 학습 방법 및 그 시스템
US20200364389A1 (en) Generating integrated circuit floorplans using neural networks
US10446028B2 (en) Parking identification and availability prediction
CN110399035A (zh) 计算系统中与时间相关的虚拟现实环境的交付
CN104750771B (zh) 利用域信息进行上下文数据分析的方法和系统
KR102327913B1 (ko) 블록 기반 데이터 분석 방법 및 시스템
TWI710917B (zh) 資料處理方法及裝置
KR20170030379A (ko) 사용자 선호에 맞춘 여행 큐레이션 서비스 방법 및 시스템
US20170316345A1 (en) Machine learning aggregation
US11144783B2 (en) Servers, non-transitory computer-readable media and methods for providing articles
KR102337536B1 (ko) 장기간 관련 있는 이슈 단위의 클러스터를 이용한 문서 타임라인을 제공하는 방법 및 시스템
Wybrow et al. Euler diagrams drawn with ellipses area-proportionally (Edeap)
KR101747532B1 (ko) 여행성 질의에 대응하는 검색 결과로 코스를 추천하는 방법 및 시스템
KR20200044644A (ko) Cnn 기반 이미지 검색 방법 및 장치
KR20210016593A (ko) 인공지능 기반 상품 추천 방법 및 그 시스템
Nguyen et al. Explaining how deep neural networks forget by deep visualization
US11869385B2 (en) Methods, systems, devices, and software for managing and conveying knowledge
KR20210006098A (ko) 문서 검색 품질 향상을 위한 문서 일관성 판단 방법 및 시스템
KR20230151704A (ko) 지역 지식 그래프를 기반으로 추천 정보를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20190000061A (ko) 키워드 속성을 기준으로 관련 있는 키워드를 제공하는 방법 및 시스템
JP6810780B2 (ja) Cnn基盤イメージ検索方法および装置
US11157535B2 (en) Method and system for subject-based ranking considering writer-reader interaction
US11934852B1 (en) Providing help content proactively
KR102426056B1 (ko) 문서 선별을 위해 멀티모달 어뷰징 패턴을 감지하는 방법, 시스템, 및 컴퓨터 프로그램
US20230229722A1 (en) Attribute-based positioning of bookmarks in a 3d virtual space

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right