KR102487571B1 - 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치 - Google Patents

자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR102487571B1
KR102487571B1 KR1020210030838A KR20210030838A KR102487571B1 KR 102487571 B1 KR102487571 B1 KR 102487571B1 KR 1020210030838 A KR1020210030838 A KR 1020210030838A KR 20210030838 A KR20210030838 A KR 20210030838A KR 102487571 B1 KR102487571 B1 KR 102487571B1
Authority
KR
South Korea
Prior art keywords
data
natural language
computing device
synonym
database
Prior art date
Application number
KR1020210030838A
Other languages
English (en)
Other versions
KR20220126493A (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 KR1020210030838A priority Critical patent/KR102487571B1/ko
Priority to PCT/KR2021/010484 priority patent/WO2022191368A1/ko
Priority to KR1020220113354A priority patent/KR102477782B1/ko
Publication of KR20220126493A publication Critical patent/KR20220126493A/ko
Application granted granted Critical
Publication of KR102487571B1 publication Critical patent/KR102487571B1/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

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

Abstract

컴퓨팅 장치에 의해 수행되는 데이터 처리 방법이 개시된다.
일 실시예에 따른 자연어의 의도를 분류하는 뉴럴 네트워크의 훈련에 이용되는 자연어에 대한 데이터 처리 방법은 자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 사용되는 자연어인 제1 데이터를 수신하는 단계, 유의어 리스트가 저장된 제1 데이터베이스 또는 자연어 의도 분류와 무관한 관용어 리스트가 저장된 제2 데이터베이스 중 적어도 하나 기초하여, 상기 제1 데이터에 대한 전처리를 수행하는 단계를 포함할 수 있다.

Description

자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치 {DATA PROCESSING METHOD AND APPARATUS FOR TRAINING NEURAL NETWORKS CLASSIFING NATURAL LANGUAGE INTENTIONS }
아래 실시예들은 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치에 관한 것이다.
최근 딥 러닝 기술이 다양한 분야에 응용되고 있으며 특히 음성 인식, 자연어 처리 등의 비약적인 발전을 선도하는 핵심 기술로 자리 잡고 있다.
자연어의 의도를 분류하는 뉴럴 네트워크를 훈련시키기 위해서는, 각각의 의도가 레이블링된 자연어 데이터가 필수적으로 요구될 수 있다. 레이블링의 대상이 되는 자연어 데이터의 양은 방대하므로, 이를 합리적으로 축소할 수 있는 방안이 요구된다.
일 실시예에 따른 자연어의 의도를 분류하는 뉴럴 네트워크의 훈련에 이용되는 자연어에 대한 데이터 처리 방법은 자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 사용되는 자연어인 제1 데이터를 수신하는 단계; 및 유의어 리스트가 저장된 제1 데이터베이스 또는 자연어 의도 분류와 무관한 관용어 리스트가 저장된 제2 데이터베이스 중 적어도 하나 기초하여, 상기 제1 데이터에 대한 전처리를 수행하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 제1 데이터베이스에 미리 정의된 유의어에 해당하는 제3 데이터가 상기 제1 데이터 내에 존재하는 지 여부를 결정하는 단계; 및 상기 제3 데이터가 상기 제1 데이터 내에 존재하는 경우, 상기 제3 데이터를 대표하는 용어로 미리 결정된 제4 데이터로 상기 제3 데이터를 치환하는 단계를 포함할 수 있다.
상기 제3 데이터를 치환하는 단계는, 유의어에 해당하는 제3-1 데이터 및 제3-2 데이터가 연속적으로 존재하는 경우, 상기 제3-1 데이터 및 상기 제3-2 데이터를 상기 제1 데이터에서 제거하고 상기 제4 데이터를 추가하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 제2 데이터베이스에 미리 정의된 용어에 해당하는 제5 데이터가 상기 제1 데이터 내에 존재하는 지 여부를 결정하는 단계; 및 상기 제5 데이터가 상기 제1 데이터 내에 존재하는 경우, 상기 제5 데이터를 상기 제1 데이터로부터 제거하는 단계를 포함할 수 있다.
상기 제1 데이터베이스는, 벡터화된 개별 요소들 사이의 유사도에 의해 결정되는 유의어 및 상기 유의어와 결합하여 단어를 생성하는 횟수가 소정의 임계치 이상인 중심 키워드에 기초하여 구축될 수 있다.
다른 실시예에 따른 자연어의 의도를 분류하는 뉴럴 네트워크에 대한 훈련에 사용되는 특징어를 생성하는 데이터 처리 방법은 학습 데이터에 대한 레이블링의 기준이 되는 제1 특징어를 포함하는 제1 특징어 리스트를 수신하는 단계; 상기 제1 특징어 각각에 대하여, 품사 정보에 기초하여 상기 제1 특징어를 구성하는 제1 개별 요소를 추출하는 단계; 상기 학습 데이터에서 상기 제1 개별 요소와 결합되어 단어를 구성하는 제2 개별 요소를 추출하는 단계; 상기 제2 개별 요소 및 상기 제1 개별 요소의 결합에 기초하여 생성되는 제2 특징어를 통해 제2 특징어 리스트를 생성하는 단계를 포함할 수 있다.
상기 제2 개별 요소를 추출하는 단계는, 상기 제1 개별 요소 중 유의어에 해당하는 제1-1 개별 요소에 대하여, 상기 제1-1 개별 요소를 대표하는 것으로 미리 결정된 대표어로 상기 제1-1 개별 요소를 치환하는 단계; 상기 학습 데이터에서 상기 대표어와 결합되어 단어를 구성하는 제2-1 개별 요소를 추출하는 단계; 및 상기 학습 데이터에서, 상기 제1 개별 요소 중 유의어에 해당하지 않는 제1-2 개별 요소와 결합되어 단어를 구성하는 제2-2 개별 요소를 추출하는 단계를 포함하고, 상기 제2 특징어 리스트를 생성하는 단계는, 상기 제1 개별 요소, 상기 제2-1 개별 요소 및 상기 제2-2 개별 요소 중 적어도 하나에 기초하여 상기 제2 특징어 리스트를 생성할 수 있다.
다른 실시예에 따른 데이터 처리 방법은 상기 학습 데이터에 포함된 개별 요소 중, 특정 레이블에 대응하는 학습 데이터에만 포함되는 제3 개별 요소로 추출하는 단계를 더 포함하고, 상기 제2 특징어 리스트를 생성하는 단계는, 상기 제1 개별 요소 내지 제3 개별 요소 중 적어도 하나에 기초하여 상기 제2 특징어 리스트를 생성할 수 있다.
또 다른 실시예에 따른 자연어의 의도를 분류하는 뉴럴 네트워크에 대한 훈련에 사용되는 특징어를 갱신하는 데이터 처리 방법은 복수의 개별 요소로 구성된 기존 특징어를 추출하는 단계; 상기 복수의 개별 요소 중 어느 하나의 개별 요소를 현재 후보 특징어로 결정하는 단계; 상기 현재 후보 특징어에 기초한 수행된 제1 임시 레이블링 결과와 상기 기존 특징어에 기초하여 수행된 기존 레이블링 결과를 비교하는 단계; 및 비교 결과에 기초하여 상기 기존 특징어를 갱신하는 단계를 포함할 수 있다.
상기 갱신하는 단계는, 상기 제1 임시 레이블링 결과에서 대응되는 레이블이 변경된 학습 데이터의 개수가 소정의 임계값을 초과하는 경우, 상기 기존 특징어에서 상기 현재 후보 특징어와 연속적으로 존재하는 개별 요소를 상기 현재 후보 특징어에 부가함으로써, 상기 현재 후보 특징어를 갱신하는 단계; 상기 갱신된 현재 후보 특징어에 기초한 제2 임시 레이블링 결과 및 상기 기존 레이블링 결과에 대한 비교 결과에 기초하여 상기 기존 특징어를 갱신하는 단계를 포함할 수 있다.
상기 현재 후보 특징어로 결정하는 단계는, 상기 복수의 개별 요소 중, 개별 요소를 포함하는 모든 특징어가 동일한 레이블에 대응되는 개별 요소를 현재 후보 특징어로 결정할 수 있다.
추가적인 실시예에 따른 자연어의 의도를 분류하는 뉴럴 네트워크에 대한 훈련에 사용되는 특징어를 처리하는 데이터 처리 방법은 복수의 레이블에 대응되는 복합의도 특징어를 추출하는 단계; 및 미리 결정된 조건에 기초하여 상기 복수의 레이블 중 어느 하나의 레이블을 상기 복합의도 특징어에 대응하는 레이블에서 배제하는 단계를 포함할 수 있다.
일 실시예에 따른 데이터 처리 방법을 수행하는 컴퓨팅 장치는 통신부; 및 프로세서를 포함하고, 상기 프로세서는, 자연어의 의도를 분류하는 뉴럴 네트워크의 훈련에 사용되는 자연어에 대응되는 제1 데이터를 수신하고, 유의어 리스트가 저장된 제1 데이터베이스 또는 자연어 의도 분류와 무관한 관용 표현 리스트가 저장된 제2 데이터베이스 중 적어도 하나 기초하여, 상기 제1 데이터에 대한 전처리를 수행함으로써, 제2 데이터를 생성할 수 있다.
도 1a는 자연어 의도 추론 장치의 동작을 개략적으로 설명하기 위한도면이다.
도 1b는 자연어 의도 추론 장치의 학습 방식을 설명하기 위한 도면이다.
도 2는 데이터 전처리 방식을 개략적으로 설명하기 위한 도면이다.
도 3은 데이터 전처리 프로세스를 설명하기 위한 흐름도이다.
도 4는 전처리 동작을 보다 상세하게 설명하기 위한 도면이다.
도 5는 앞서 설명된 유의어 리스트를 저장하는 제1 데이터베이스를 구축하는 방법을 설명하기 위한 흐름도이다.
도 6은 컴퓨팅 장치가 상관도를 산출하는 일례를 도시하는 도면이다.
도 7은 데이터 처리 방법이 구현된 일례를 도시한 도면이다.
도 8은 특징어를 생성하는 데이터 처리 방법을 설명하기 위한 흐름도이다.
도 9은 특징어를 생성하는 데이터 처리 방법이 구현된 일례를 도시하는 도면이다.
도 10은 특징어를 처리하는 데이터 처리 방법을 설명하는 도면이다.
도 11a는 복합 의도 학습 데이터에 대한 처리 과정을 예시적으로 설명하기 위한 도면이다.
도 11b는 복합 의도 학습 데이터에 대한 처리 과정을 예시적으로 설명하기 위한 도면이다.
도 12는 특징어를 갱신하는 데이터 처리 방법을 설명하기 위한 도면이다.
도 13은 특징어를 갱신하는 데이터 처리 방법이 구현된 일례를 도시하는 도면이다.
도 14는 데이터 처리 방법이 구현된 일례를 도시하는 도면이다.
도 15는 본원 발명에 따른 컴퓨팅 장치의 구성을 도시하는 도면이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시 된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
그리고 본 발명의 상세한 설명 및 청구항들에 걸쳐 '학습' 혹은 '러닝'은 절차에 따른 컴퓨팅(computing)을 통하여 기계 학습(machine learning)을 수행함을 일컫는 용어인바, 인간의 교육 활동과 같은 정신적 작용을 지칭하도록 의도된 것이 아님을 통상의 기술자는 이해할 수 있을 것이다.
도 1a는 자연어 의도 추론 장치의 동작을 개략적으로 설명하기 위한 도면이다.
자연어 의도 추론 장치(110)는 입력된 자연어(111)의 의도를 추론하고, 추론된 의도에 대한 정보를 출력할 수 있다. 의도란 자연어가 어떤 취지를 가지고 있는 지 여부에 대한 정보를 의미할 수 있다. 예를 들어, 자연어 의도 추론 장치(110)는 자기 소개서 개별 문항에 대한 입력(예를 들어, "예상치 못한 변화에도 성과를 얻어낸 경험을 서술하시오")의 의도(예를 들어, "문제 해결 능력 판단")를 출력할 수 있다.
일 실시예에 따른 자연어 의도 추론 장치(110)는 딥 러닝 기술을 이용하여 입력 자연어에 상응하는 의도를 출력하도록 구현될 수 있다. 딥 러닝은 빅 데이터 세트로부터 자연어 인식 또는 음성 인식과 같은 문제를 해결하기 위한 기계 학습 기법이다. 딥 러닝은 준비된 학습 데이터를 이용하여 뉴럴 네트워크를 트레이닝하면서 에너지가 최소화되는 지점을 찾아가는 최적화 문제 풀이 과정으로 이해될 수 있다. 딥 러닝의 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 뉴럴 네트워크의 구조, 혹은 모델에 대응하는 가중치(weight)가 구해질 수 있고, 이러한 가중치를 통해 입력 데이터 및 출력 데이터가 서로 매핑될 수 있다.
일 실시예에 따른 자연어 의도 추론 장치(110)는 자연어의 의도를 추론하도록 딥러닝 기술에 의해 훈련된 뉴럴 네트워크(112)를 포함할 수 있다. 훈련된 뉴럴 네트워크(112)는 주어진 초기 뉴럴 네트워크에 대한 반복적으로 훈련(학습)을 통해 생성될 수 있다. 훈련된 뉴럴 네트워크(112)를 생성하는 것은 뉴럴 네트워크 파라미터를 결정하는 것을 의미할 수 있다. 여기서, 파라미터들은 예를 들어 뉴럴 네트워크의 입/출력 액티베이션들, 웨이트들, 바이어스들 등 뉴럴 네트워크에 입/출력되는 다양한 종류의 데이터를 포함할 수 있다. 뉴럴 네트워크의 반복적인 훈련이 진행됨에 따라, 뉴럴 네트워크의 파라미터들은 주어진 입력에 대해 보다 정확한 출력을 연산하기 위해 조정될(tuned) 수 있다.
자연어 의도 추론 장치(110)는 학습된 뉴럴 네트워크(112)에 기초하여 자연어의 의도를 추론하는 기능과 같은 다양한 프로세싱 기능들을 갖는 컴퓨팅 디바이스에 해당된다. 예를 들어, 자연어 의도 추론 장치(110)는 PC(personal computer), 서버 디바이스, 모바일 디바이스 등의 다양한 종류의 디바이스들로 구현될 수 있다.
도 1b는 자연어 의도 추론 장치의 학습 방식을 설명하기 위한 도면이다.
도 1b에 도시된 학습 단계는 뉴럴 네트워크 학습 장치(미도시)에 의해 수행될 수 있으며, 뉴럴 네트워크 학습 장치는 뉴럴 네트워크를 훈련(train)(또는 학습(learn))하거나, 뉴럴 네트워크를 재훈련(retrain)하는 기능들과 같은 다양한 프로세싱 기능들을 갖는 컴퓨팅 디바이스에 해당된다. 예를 들어, 뉴럴 네트워크 학습 장치는 PC(personal computer), 서버 디바이스, 모바일 디바이스 등의 다양한 종류의 디바이스들로 구현될 수 있다.
학습 단계에 도시된 바와 같이, 자연어 의도 추론 장치(110)에 탑재되는 학습된 뉴럴 네트워크(112)는 학습 데이터(121) 및 정답에 대응되는 레이블(122)에 기초하여 초기 뉴럴 네트워크(111)를 학습시킴으로써 생성될 수 있다. 보다 구체적으로, 초기 뉴럴 네트워크(111)는 자연어에 해당하는 학습 데이터(121)로부터 학습 데이터(121)에 대응하여 미리 결정된 레이블(122)에 해당하는 의도를 출력하도록 학습될 수 있다. 학습 데이터(121)는 자기 소개서에 포함되는 항목으로 예시되었으나, 학습 데이터는 이에 한정되는 것이 아니고 임의의 자연어로 확장될 수 있음은 통상의 기술자가 이해할 것이다.
학습 단계에서, 뉴럴 네트워크 학습 장치는 학습 데이터(121)에 전처리 프로세스(예를 들어, 노이즈 제거 및 불용어 제거 등)(130)를 수행한 후, 특징어 추출 프로세스(140)를 수행할 수 있다. 특징어는 학습 데이터의 분류 기준 즉, 레이블링의 기준이 되는 용어를 의미할 수 있다. 뉴럴 네트워크 학습 장치는 학습 데이터 확대 프로세스(150)에서 유의어 사전에 포함된 유의어로 학습 데이터의 용어를 확장할 수 있다. 유의어는 상호간의 유사한 의미를 가지는 용어를 의미할 수 있다. 예를 들어, 학습 데이터(121)에 "팀워크를 발휘했던 경험을 서술하시오"가 포함된 경우, 뉴럴 네트워크 학습 장치는 프로세스(150)를 통해 "협력을 발휘했던 경험을 서술하시오"에 해당하는 학습 데이터를 추가할 수 있다. 확대된 학습 데이터에 기초하여 초기 뉴럴 네트워크(111)는 학습 데이터(121)에 대응되는 의도를 추론하도록 학습될 수 있다.
추론 단계에서, 자연어 의도 추론 장치(110)는 학습된 뉴럴 네트워크(112)를 통해 자연어 입력(171)에 대응하는 의도를 추론할 수 있다. 예를 들어, 자연어 의도 추론 장치(110)는 "예상치 못한 변화에도 불구하고 성과를 얻어낸 경험에 대해 작성하시오."라는 입력에 대응하는 질문 의도를 추론할 수 있다. 자연어 의도 추론 장치(110)가 위 입력에 대한 의도를 "문제 해결 능력"으로 추론한 경우, 추론은 성공한 것으로 결정될 수 있으나, 의도를 "공동체 생활 능력"으로 추론한 경우, 추론은 실패한 것으로 결정될 수 있다. 추론에 실패한 경우, 자연어 입력(171)은 새로운 학습 데이터(172)로 추가될 수 있고, 추가된 학습 데이터(172)에 기초하여 추가 학습이 진행됨으로써, 뉴럴 네트워크의 추론 정확성이 향상될 수 있다.
구현 예에 도시된 바와 같이, 자연어 의도 추론 장치(110)는 자기 소개서 작성 멘토링 엔진 등 자연어 의도 파악이 필요한 임의의 영역에 적용될 수 있다.
뉴럴 네트워크를 지도 학습시키기 위해서는 정답이 레이블링된 학습 데이터가 요구될 수 있다. 또한, 뉴럴 네트워크의 학습을 위해 요구되는 학습 데이터의 양은 방대할 수 있다. 예를 들어, 자연어의 의도를 추론하는 뉴럴 네트워크 훈련을 위해서는 개별 자연어 데이터에 대한 의도가 레이블링된 학습 데이터가 요구될 수 있으며, 레이블링은 인간이 관여하여 진행되므로 매우 방대한 인력이 요구될 수 있다.
따라서, 학습 데이터를 생성하는 과정에서, 레이블링 대상 데이터를 합리적으로 축소함으로써, 레이블링에 소요되는 리소스를 절감하는 프로세스가 요구될 수 있다.
도 2는 데이터 전처리 방식을 개략적으로 설명하기 위한 도면이다.
일 실시예에 따른 컴퓨팅 장치(220)는 학습 데이터로 이용될 원본 데이터에 대한 전처리를 통해 레이블링 대상 데이터를 축소함으로써 레이블링에 소요되는 리소스를 절감하는 수단을 제공할 수 있다. 보다 구체적으로, 컴퓨팅 장치(220)는 유의어 정보를 저장하는 제1 데이터베이스(231), 관용어 정보를 저장하는 제2 데이터베이스(232) 및 불용어 정보를 저장하는 제3 데이터베이스(233)와 연계하여 학습 데이터를 생성하기 위한 전처리를 수행할 수 있다.
제1 데이터베이스(231)는 이음 동의어를 포함하는 유의어와, 각각의 유의어를 대표하는 대표어에 대한 정보를 저장할 수 있다. 예를 들어, "계기, 동기, 사유, 이유"는 이음 동의어로써 매칭되어 제1 데이터베이스(231)에 저장될 수 있고, 이음 동의어를 대표하는 대표어로써 "이유"가 미리 결정되어 제1 데이터베이스(231)에 저장될 수 있다.
제2 데이터베이스(232)는 의도 판단과 무관한 관용어(예를 들어, 기술, 서술, 작성) 정보를 저장할 수 있다.
제3 데이터베이스(233)는 특수문자, 반복어구, 조사 등 특별한 의미를 지니지 않는 불용어에 대한 정보를 저장할 수 있다.
컴퓨팅 장치(220)는 제1 데이터베이스(231) 내지 제3 데이터베이스(233) 중 적어도 하나를 이용하여, 원본 데이터에 포함된 개별 요소를 삭제하거나, 치환함으로써, 레이블링 대상 데이터를 축소할 수 있다. 컴퓨팅 장치(220)의 보다 상세한 동작은 이하 첨부되는 도면을 통해 보다 상세하게 설명될 수 있다.
도 3은 데이터 처리 프로세스를 설명하기 위한 흐름도이다.
도 3을 참조하면, 컴퓨팅 장치는 단계(311)에서 학습 데이터 생성을 위한 원본 데이터를 수신할 수 있다. 원본 데이터는 자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 사용되는 자연어일 수 있다. 실시예에 따라서 원본 데이터는 자기소개서 항목 데이터를 포함할 수 있으나, 이에 한정되는 것은 아니고, 임의의 자연어 데이터를 포함할 수 있음은 통상의 기술자가 이해할 것이다.
단계(312)에서 컴퓨팅 장치는 원본 데이터에서 불용어를 제거할 수 있다. 컴퓨팅 장치는 앞서 설명된 제3 데이터베이스에 저장된 불용어가 원본 데이터에 포함된 경우, 이를 제거할 수 있다.
단계(313)에서 컴퓨팅 장치는 원본 데이터에 포함된 고유 명사를 동일한 형태로 통일시킬 수 있다. 예를 들어, 원본 데이터에 "주식회사 A","㈜ A", "주식회사 B" 및 "㈜ B"가 포함되어 있는 경우, 컴퓨팅 장치는 "㈜"를 "주식회사"로 변경하고, 기업명에 해당하는 요소 "A" 및 "B"를 기업명에 대응하여 미리 결정된 요소인 "C"로 수정함으로써, 고유 명상인 기업 명의 형태를 "주식회사 C"로 표현할 수 있다. 고유 명사를 동일한 형태로 수정하는 프로세스는 기업 명에 한정되는 것이 아니고, 모든 고유 명사를 고유 명사의 종류별로 미리 결정된 하나의 형태로 수정하는 것으로 확장됨은 통상의 기술자가 이해할 것이다.
단계(314)에서 컴퓨팅 장치는 레이블링 기준이 되는 특징어가 될 수 있는 품사에 대응되는 개별 요소를 추출할 수 있다. 예를 들어, 특징어가 될 수 있는 품사는 명사, 동사, 형용사, 부사 등을포함할 수 있으며, 추출되는 개별 요소는 명사, 동사, 형용사, 부사 등에 대응되는 단어일 수 있다.
단계(315)에서 컴퓨팅 장치는 추출된 개별 요소에 기초하여, 중복되는 원본 데이터를 제거함으로써, 1차 필터링을 수행할 수 있다. 예를 들어, 컴퓨팅 장치는 앞선 단계를 거친 각각의 원본 데이터를 추출된 개별 요소에 기초하여 중복 여부를 판단하고, 판단 결과에 기초하여 중복되는 원본 데이터가 있는 경우, 중복되는 원본 데이터를 제거할 수 있다.
단계(316)에서 컴퓨팅 장치는 유의어 리스트가 저장된 제1 데이터베이스 또는 관용어 리스트가 저장된 제2 데이터베이스에 기초하여 제1 필터링이 수행된 원본 데이터에 대한 전처리를 수행할 수 있다. 단계(316)이 수행되는 보다 상세한 방식을 이하 첨부되는 도 4를 통해 보다 상세히 설명된다.
컴퓨팅 장치는 단계(317)에서 전처리가 수행된 각각의 원본 데이터에 대하여 공백을 제거하고, 단계(318)를 통해 2차 필터링을 수행할 수 있다. 2차 필터링은 공백이 제거된 전처리 결과에서 중복되는 데이터를 삭제하는 동작일 수 있다.
컴퓨팅 장치는 단계(319)에서 1차 필터링 및 2차 필터링이 수행된 원본 데이터를 레이블링 대상 데이터로 제공할 수 있다.
도 4는 전처리 동작을 보다 상세하게 설명하기 위한 도면이다.
일 실시예에 따르면, 컴퓨팅 장치는 자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 사용되는 자연어인 제1 데이터에 대한 전처리를 통해 보다 간소화된 제2 데이터를 생성할 수 있다. 예를 들어, 제1 데이터는 앞서 언급된 1차 필터링이 수행된 원본 데이터일 수 있으며, 제2 데이터는 이하 설명될 전처리가 수행된 원본 데이터를 의미할 수 있다.
도 4를 참조하면, 컴퓨팅 장치는 단계(411)에서 제1 데이터 내에 유의어에 해당하는 제3 데이터가 존재하는지 여부를 결정할 수 있다. 보다 구체적으로, 컴퓨팅 장치는 제1 데이터베이스에 저장된 유의어인 제3 데이터가 제1 데이터 내에 존재하는지 여부를 결정할 수 있다. 컴퓨팅 장치는 단계(411)에서 제3 데이터가 제1 데이터에 존재하는 것으로 결정된 경우, 단계(412)를 통해 유의어가 연속된 유의어인지 여부를 결정할 수 있다. 연속된 유의어는 유사한 의미를 지니는 복수의 유의어가 연속적으로 결합된 형태의 용어를 의미할 수 있다. 보다 구체적으로, 컴퓨팅 장치는 단계(412)에서 유사한 의미를 지니는 제3-1 데이터 및 제3-2 데이터가 제1 데이터 내에 연속적으로 존재하는 경우, 연속된 유의어가 존재하는 것으로 결정할 수 있다. 예를 들어, 제1 데이터가 "장기적 단기적 관점에서 비전을 기술하시오"인 경우, 미래를 지칭하는 유의어인 "장기적"(제3-1 데이터) 및 "단기적"(제3-2 데이터)이 제1 데이터 내에 연속적으로 존재하므로, 컴퓨팅 장치는 연속된 이음 유의어가 제1 데이터에 존재하는 것으로 결정할 수 있다.
컴퓨팅 장치는 단계(412)에서 연속된 유의어가 존재하지 않는 것으로 결정된 경우, 단계(413)를 통해 유의어에 해당하는 제3 데이터를 제3 데이터에 상응하여 대표어로 미리 결정된 제4 데이터로 치환할 수 있다. 예를 들어, 제1 데이터가 "입사 동기를 기술하시오"인 상황에서, 컴퓨팅 장치는 "입사 동기"에서 "동기"라는 용어가 제1 데이터베이스에 정의된 제2 데이터에 해당하는 경우, 단계(412)를 통해 "동기"에 대한 대표어로 미리 결정된 제4 데이터인 "이유"로 제3 데이터를 치환할 수 있다.
컴퓨팅 장치는 단계(412)에서 연속된 유의어가 존재하는 것으로 결정된 경우, 연속된 유의어에 해당하는 제3-1 데이터 및 제3-2 데이터를 제거하고, 제3-1 데이터 및 제3-2 데이터의 대표어로 미리 결정된 제4 데이터를 제1 데이터에 추가할 수 있다. 앞선 예시에서, 컴퓨팅 장치는 "장기적"(제3-1 데이터) 및 "단기적"(제3-2 데이터)를 대표하는 것으로 미리 결정된 "향후"를 통해 "장기적" 및 "단기적"이 치환함으로써, "향후 관점"에 대응되는 데이터를 생성할 수 있다.
컴퓨팅 장치는 단계(415)를 통해 관용어 리스트를 저장하는 제2 데이터베이스에 정의된 용어에 해당하는 제5 데이터가 제1 데이터 내에 존재하는 지 여부를 결정할 수 있다. 제5 데이터가 존재하는 것으로 결정된 경우, 컴퓨팅 장치는 단계(416)를 제5 데이터를 제거함으로써 전처리 프로세스를 완료할 수 있다. 예를 들어, 컴퓨팅 장치는 "향후 관점에서 비전을 서술하시오"에서 제5 데이터에 대응하는 "서술하시오"에 대응되는 요소를 제거함으로써, 전처리 프로세스를 완료할 수 있다.
제2 데이터베이스에 저장되는 관용어 리스트는, 원본 데이터에 포함된 개별 요소 중 관용어에 대응되는 것으로 미리 결정된 개별 요소에 기초하여 결정될 수 있다. 또한, 다른 개별 요소와 결합되어 특징어로 결정되는 개별 요소의 경우, 관용어 리스트에서 배제될 수 있다.
단계(316)을 통해 전처리가 수행된 데이터는 앞선 단계(312 내지 315)가 진행됨에 따라 개별 요소만이 결합된 형태이거나, 원본 데이터의 형태일 수 있다. 예를 들어, 원본 데이터가 "장기적 단기적 관점에서 비전을 기술하시오"인 경우, 단계(416)을 거친 데이터는 "향후 관점 비전"이거나 "향후 관점에서 비전을"의 형태를 가질 수 있으며, 상세 구현 방식은 통상의 기술자가 용이하게 선택할 수 있다.
단계(316)를 통해 전처리가 완료된 데이터는 단계(317)를 통해 공백이 제거될 수 있고, 단계(318)를 통해 중복된 데이터가 제거될 수 있다. 단계(318)을 통해 제공되는 데이터는 단계(319)를 통해 레이블링 대상 데이터로 제공될 수 있다. 앞선 동작을 통해 원본 데이터의 양이 축소되어, 레이블링 대상 데이터가 현저히 감소할 수 있으며, 위 방식을 통해 생성된 학습 데이터는 뉴럴 네트워크 학습 성능에 큰 영향을 미치지 않을 수 있다.
도 5는 앞서 설명된 유의어 리스트를 저장하는 제1 데이터베이스를 구축하는 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 단계(510)를 통해 컴퓨팅 장치는 제1 데이터베이스 구축을 위한 유의어 후보 데이터를 결정할 수 있다. 컴퓨팅 장치는 앞서 설명된 도 3의 단계(311)를 통해 획득한 원본 데이터 및 단계(315)를 통해 제1 필터링이 수행된 원본 데이터에 기초하여 유의어 후보 데이터를 결정할 수 있다. 보다 구체적으로, 원본 데이터 내에 소정의 임계 개수 이상의 개별 요소(단어)가 포함된 경우, 해당 개별 요소를 포함하는 원본 데이터를 유의어 후보 데이터로 결정할 수 있다. 또한, 제1 필터링이 수행된 원본 데이터에 소정의 임계 개수 이상의 개별 요소가 포함된 경우, 해당 개별 요소를 포함하는 원본 데이터를 유의어 후보 데이터로 결정할 수 있다. 컴퓨팅 장치는 유의어 후보 데이터를 결정하는 과정에서, 개별 요소 전체를 확인하거나, 특징어에 대응하는 개별 요소만을 대상으로 확인을 진행할 수 있다.
단계(520)에서 컴퓨팅 장치는 유의어 후보 데이터의 개별 요소를 추출할 수 있다. 보다 구체적으로, 컴퓨팅 장치는 명사, 동사, 형용사, 부사에 대응되는 개별 요소를 유의어 후보 데이터로부터 추출할 수 있다. 예를 들어, 유의어 후보 데이터가 "희망 분야 및 지원 이유를 쓰시오" 및 "희망 부문 및 지원 계기를 쓰시오"로 결정된 경우, 컴퓨팅 장치는 각각의 개별 요소를 (희망, 분야, 지원, 이유) 및 (희망, 부문, 지원, 계기)로 추출할 수 있다.
단계(530)에서 컴퓨팅 장치는 개별 요소들 사이의 유사도를 측정할 수 있다. 예를 들어, 컴퓨팅 장치는 Word2Vec 방식을 통해 각각의 개별 요소를 벡터화하고, 벡터들 사이의 유사도를 측정함으로써 개별 요소들 사이의 유사도를 측정할 수 있다. 예를 들어, 앞선 예시에서 "분야"와 "부문"은 유사도가 높은 단어로 측정될 수 있으며, "이유" 및 "계기"는 유사도가 높은 단어로 측정될 수 있다. Word2Vec 방식은 설명을 위해 예시적으로 제시된 것으로, 임의의 임베딩 방식을 통해 개별 요소를 벡터화함으로써 개별 요소들 사이의 유사도가 측정될 수 있음은 통상의 기술자가 이해할 것이다.
단계(540)에서 컴퓨팅 장치는 앞서 측정된 유사도에 기초하여 제1 유의어 리스트를 생성할 수 있다. 컴퓨팅 장치는 유사도가 소정의 임계치를 초과하는 개별 요소들을 유의어로 결정할 수 있으며, 결정 결과에 기초하여 제1 유의어 리스트를 생성할 수 있다. 예를 들어, 컴퓨팅 장치는 "분야"와 "부문"을 유의어로 매칭하고, "이유"와 "계기"를 유의어로 매칭하고, 매칭 결과에 기초하여 제1 유의어 리스트를 결정할 수 있다.
단계(550)에서 컴퓨팅 장치는 제1 유의어 리스트에 기초하여 중심 키워드를 추출할 수 있다. 중심 키워드는 상호 유의어 관계인 개별 요소들과 각각 결합하여 단어를 구성하는 횟수가 소정의 임계치 이상인 개별 요소를 의미할 수 있다. 예를 들어, 유의어로 결정된 "분야" 및 "부문"과 각각 결합하여 단어를 구성하는 횟수가 소정 임계치 이상인 "희망"은 중심 키워드로 결정될 수 있다. 동일한 방식으로, 서로 유의어 관계에 해당하는 "계기" 및 "이유"와 각각 결합하여 단어를 구성하는 횟수가 소정 임계치 이상인 "지원"은 중심 키워드로 결정될 수 있다. 컴퓨팅 장치는 유의어 후보 데이터에 포함된 연어 및 제1 유의어 리스트에 기초하여 중심 키워드를 추출할 수 있다. 연어는 개별 요소를 순서대로 결합한 형태를 의미할 수 있으며, 결합된 개별 요소의 개수에 기초하여 연어 N1, 연어 N2 등으로 판별될 수 있다. 예를 들어, 원본 데이터가 i) "희망 분야 및 지원 이유를 쓰시오" 및 ii) "희망 부문 및 지원 계기를 쓰시오"인 경우, 개별 요소는 i) "희망, 분야, 지원, 이유" 및 ii) "희망, 부문, 지원, 계기"로 추출될 수 있다. 이 경우, 연어 N1은 "희망", "분야", "부문", "지원", "이유", "계기"로 추출될 수 있고, 연어 N2는 "희망-분야", "희망-부문", "지원-이유", "지원-계기"로 추출될 수 있다. 컴퓨팅 장치는 위 상황에서 유의어인 "분야" 및 "지원"과 결합하여 단어를 구성하는 횟수가 소정의 조건을 만족하는 "희망"을 중심 키워드로 결정하고, 유의어인 "이유" 및 "계기"와 결합하여 단어를 구성하는 횟수가 소정의 조건을 만족하는 "지원"을 중심 키워드로 결정할 수 있다.
단계(560)에서 컴퓨팅 장치는 중심 키워드에 기초하여 제2 유의어 리스트를 생성할 수 있다. 보다 구체적으로, 컴퓨팅 장치는 각각의 중심 키워드와 유의어 후보 데이터에 포함된 다른 개별 요소들 사이의 상관도를 측정하고, 중심 키워드와 상관도가 소정의 임계치 이상인 개별 요소를 새로운 유의어로 결정할 수 있다. 상관도는 두 개별 요소 사이의 연관성을 나타내는 지표로, 상호정보량(Mutual Information ; MI), 점별 상호정보량(Pointwise Mutual information ; PMI), 정규화 점별 상호 정보량(Normalized Pointwise Mutual Information ; NPMI) 중 적어도 하나로 결정될 수 있다. 상호 정보량을 산출하는 예시적인 방식은 이하 첨부되는 도 6을 통해 보다 상세히 설명된다.
앞선 예시에서, 중심 키워드에 해당하는 "지원"은 유의어로 결정된 "이유" 및 "계기" 이외에도, "동기" 및 "사유"와 미리 결정된 임계치 이상의 상관도를 가지는 것으로 산출될 수 있다. 컴퓨팅 장치는 "지원"과 임계치 이상의 상관도가 산출된 "동기" 및 "사유"를 "이유" 및 "계기"에 대한 유의어로 결정함으로써, 제2 유의어 리스트를 생성할 수 있다.
단계(570)에서 컴퓨팅 장치는 제2 유의어 리스트에 포함된 유의어 각각에 대한 대표어를 결정할 수 있다. 예를 들어, 제2 유의어 리스트 상에 유의어로 정의된 "이유", "계기", "동기" 및 "사유" 중 어느 하나의 개별 요소를 유의어에 대한 대표어로 결정할 수 있다. 실시예에 따라서는, 유의어 중 가장 많은 빈도로 등장하는 개별 요소를 대표어로 결정할 수 있으나, 대표어를 선정하는 방식은 이에 한정되는 것이 아니다.
단계(580)에서 컴퓨팅 장치는 제2 유의어 리스트 및 각각의 유의어에 대해 결정된 대표어에 기초하여 제1 데이터베이스를 구축할 수 있다.
도 6은 컴퓨팅 장치가 상관도를 산출하는 일례를 도시하는 도면이다.
도 6을 참조하면, 상관도는 수학식(610)에 기재된 바와 같이, 상호정보량, 점별 상호정보량, 정규화 점별 상호정보량 중 어느 하나에 기초하여 산출될 수 있다.
산출 방식(620)에 도시된 바와 같이, 유의어 후보 데이터 상에서 각각의 개별 요소(희망, 직종 등)이 포함된 항목의 개수에 기초하여 확률이 산출되고, 산출 결과에 기초하여 상호 정보량이 산출될 수 있다.
컴퓨팅 장치는 산출된 상호 정보량에 기초하여 유의어를 추가적으로 도출할 수 있으며, 이를 통해 유의어 리스트가 결정될 수 있다.
도 7은 데이터 처리 방법이 구현된 일례를 도시한 도면이다.
도 7을 참고하면, 학습 데이터로 이용될 자소서 항목 원본 데이터는 앞서 설명된 제3 데이터베이스에 대응되는 불용어 사전에 기초하여 불용어가 제거되고(단계 (312)), 고유 명사가 통일되고(단계(313)), 품사를 추출하는 과정(단계(314))을 거쳐서 1차 필터링에 대응되는 1차 중복 제거 프로세스(단계(315))가 진행될 수 있다. 1차 중복 제거가 완료된 원본 데이터는 유의어 치환(단계(413)), 연속된 유의어 치환(단계(414)) 및 관용어 제거(단계(416)) 프로세스(단계(316))를 거칠 수 있다. 추가적으로, 공백을 제거하는 프로세스(단계(317))을 거쳐 2차 필터링(단계(318))이 수행되어, 레이블링 대상 데이터인 학습 데이터로 제공(단계(319))될 수 있다. 2차 필터링에서는 추가적인 품사 추출, 유의어 치환, 관용어 제거 프로세스가 진행될 수 있다.
유의어 사전에 대응되는 제1 데이터베이스는 반복적으로 출현되는 단어에 기초하여 유의어 후보 데이터에 대응하는 벡터화 대상 데이터를 결정하는 프로세스(단계(510)), 품사 추출(단계(520)), 유사도 측정 및 신규 유의어에 기초하여 유의어 리스트를 구성하는 프로세스(단계(530) 내지 단계(580))를 통해 구축될 수 있다. 도면에 도시된 바와 같이, 유의어 사전은 대표어에 해당하는 "조직"과 대응되는 유의어에 해당하는 "팀", "조직", "단체", "집단"이 매핑된 형태를 가질 수 있다.
또한, 관용어 사전은 앞선 제2 데이터베이스에 대응될 수 있다.
유의어 사전에 대응되는 제1 데이터베이스는 앞선 전처리 프로세스(단계(316)) 및 추후 모델 학습 과정에 사용될 수 있다.
도 8은 특징어를 생성하는 데이터 처리 방법을 설명하기 위한 흐름도이다.
레이블링은 원본 데이터 내에 존재하는 특징어에 기초하여 수행될 수 있다. 예를 들어, 원본 데이터가 "공동체 과제를 해결한 경험에 대해 서술하시오"에서, "공동체 과제를 해결"이 원본 데이터의 의도에 해당하는 "문제 해결 능력" 레이블과 관련된 특징어일 수 있다. 이에 따라, 위 원본 데이터는 "문제 해결 능력"에 대응되는 레이블이 매핑될 수 있다.
일 실시예에 따른 컴퓨팅 장치는 특징어 개수를 확대하는 방안을 제공함으로써, 레이블링의 정확도를 향상시켜 추후 뉴럴 네트워크의 추론 정확도를 높일 수 있는 수단을 제공할 수 있다.
단계(810)에서 컴퓨팅 장치는 레이블링 기준이 되는 제1 특징어를 포함하는 제1 특징어 리스트를 수신할 수 있다. 제1 특징어 리스트는 시스템 설계자에 의해 미리 결정된 제1 특징어를 포함할 수 있으며, 예를 들어, 제1 특징어에 해당하는 "공동체 과제를 해결"과 이에 대응되는 레이블인 "문제 해결 능력"이 매핑된 형태일 수 있다. 제1 특징어 리스트는 최종적인 특징어 리스트를 생성하기 위한 후보 특징어 데이터에 해당할 수 있다.
단계(820)에서 컴퓨팅 장치는 제1 특징어 각각에 대하여, 품사 정보(명사, 형용사, 부사, 동사)에 기초하여 제1 특징어를 구성하는 제1 개별 요소를 추출할 수 있다. 예를 들어, 컴퓨팅 장치는 제1 특징어에 해당하는 "공동체 과제를 해결"에 포함된 제1 개별 요소인 "공동체", "과제" 및 "해결"를 추출할 수 있다.
단계(830)에서 컴퓨팅 장치는 학습 데이터 내에서 제1 개별 요소와 결합되는 제2 개별 요소를 추출할 수 있다. 예를 들어, 제1 개별 요소가 "과제"인 경우, 컴퓨팅 장치는 학습 데이터 내에서 "과제"와 결합된 모든 개별 요소를 제2 개별 요소로써 추출할 수 있다.
보다 구체적으로, 컴퓨팅 장치는 제1 개별 요소 중 유의어에 해당하는 제1-1 개별 요소에 대하여, 제1-1 개별 요소를 대표하는 것으로 미리 결정된 대표어로 상기 제1-1 개별 요소를 치환할 수 있다. 예를 들어, 제1-1 개별 요소가 "과제"인 경우, 앞서 설명된 제1 데이터베이스에 기초하여 컴퓨팅 장치는 "과제"를 이에 대응하는 대표어인 "문제"로 치환할 수 있다.
컴퓨팅 장치는 학습 데이터에서 대표어와 결합된 제2-1 개별 요소를 추출할 수 있다. 예를 들어, 대표어가 "문제"인 경우, 컴퓨팅 장치는 학습 데이터 내에서 "문제"와 결합된 모든 개별 요소를 제2 개별 요소로써 추출할 수 있다.
컴퓨팅 장치는 학습 데이터에서, 제1 개별 요소 중 유의어에 해당하지 않는 제1-2 개별 요소와 결합된 제2-2 개별 요소를 추출할 수 있다.
단계(840)에서 컴퓨팅 장치는 제1 개별 요소 및 제2 개별 요소의 결합에 기초하여 생성되는 제2 특징어를 통해 제2 특징어 리스트를 생성할 수 있다. 컴퓨팅 장치는 제1 개별 요소와 각각의 제2 개별 요소의 임의의 조합에 기초하여 제2 특징어를 생성할 수 있다. 예를 들어, 컴퓨팅 장치는 제1 개별 요소인 "문제"에 대응하여 제2 개별 요소가 "팀", "공동체", "조직", "당면", "직면", "해결"이 도출된 경우, 제2 특징어는 "문제 해결", "문제 직면", "문제 당면" "팀 문제", "공동체 문제" 등으로 생성될 수 있다. 앞선 예시에서는 제1 개별 요소에 하나의 제2 개별 요소가 결합되어 제2 특징어가 생성되는 것으로 제시되었으나, 실시예는 이에 한정되는 것이 아니고, 제1 개별 요소와 결합하는 제2 개별 요소의 개수 및 순서는 제한된 것이 아니며, 제1 개별 요소 및 제2 개별 요소의 임의의 조합에 기초하여 제2 특징어가 생성될 수 있음은 통상의 기술자가 이해할 것이다.
추가적으로, 컴퓨팅 장치는 학습 데이터에 포함된 개별 요소 중, 특정한 레이블에 대응하는 학습 데이터에만 포함되는 제3 개별 요소를 추출하고, 제3 개별 요소에 기초하여 제2 특징어 리스트를 생성할 수 있다. 예를 들어, 학습 데이터에 포함된 "과업"이라는 개별 요소가 "문제 해결 능력"에 해당하는 레이블이 부여된 학습 데이터에만 포함되는 경우, 컴퓨팅 장치는 "과업"을 제3 개별 요소로써 추출할 수 있으며, 제3 개별 요소에 기초하여 제2 특징어를 생성할 수 있다. 예를 들어, 제3 개별 요소인 "과업" 자체를 제2 특징어로 결정할 수 있다. 제3 개별 요소는 하나의 단어에 한정되지 않으며, 연속된 단어의 결합에 해당할 수 있음은 통상의 기술자가 이해할 것이다. 컴퓨팅 장치는 TF-IDF를 통해 부여된 가중치 정보가 소정의 임계치를 초과하는 개별 요소에 기초하여 제3 개별 요소를 도출할 수 있다.
제2 특징어 리스트는 검토자의 검토에 기초하여 레이블링이 이루어질 수 있으며, 제1 특징어 리스트에 비해 특징어의 수가 확장된 제2 특징어 리스트에 기초하여 뉴럴 네트워크는 보다 정확도 높은 방식으로 학습될 수 있다.
도 9은 특징어를 생성하는 데이터 처리 방법이 구현된 일례를 도시하는 도면이다.
도 9를 참조하면, 컴퓨팅 장치는 시스템 설계자에 의해 설정된 제1 특징어 리스트에 대응되는 특징어 후보 데이터를 수신(단계(810))하고, 개별 요소에 대응되는 품사 추출(단계(820)) 및 추출된 개별 요소에 대한 유의어 치환 프로세스를 수행할 수 있다. 유의어 치환 프로세스는 앞서 설명된 제1 데이터베이스에 저장된 유의어 리스트를 활용한 방식에 기초하여 통상의 기술자가 용이하게 구현할 수 있을 것이다.
컴퓨팅 장치는 학습 데이터에서 제1 개별 요소(예를 들어, "문제")와 결합되는 제2 개별 요소(예를 들어, "팀", "공동체", "조직", "당면", "직면", "해결")을 추출(단계(830))하고, 추출된 개별 요소에 대한 유의어 치환 프로세스를 진행할 수 있다.
컴퓨팅 장치는 개별 요소의 조합에 기초하여 제2 특징어 리스트를 생성(단계(840))하거나 특정 레이블에만 포함되는 개별 요소를 신규 특징어로 추가함으로써 제2 특징어 리스트를 생성할 수 있다.
생성된 제2 특징어 리스트는 검토자의 검토 및 중복 제거에 의해 최종적인 특징어가 결정될 수 있다.
도 10은 특징어를 처리하는 데이터 처리 방법을 설명하는 도면이다.
컴퓨팅 장치는 단계(1010)에서 레이블링이 완료된 학습 데이터 중 복수의 레이블에 대응되는 복합 의도 학습 데이터 리스트를 추출할 수 있다. 복합 의도 학습 데이터는 학습 데이터 내에 각각 서로 다른 레이블에 대응되는 둘 이상의 특징어를 포함하고 있거나, 특징어가 복수의 레이블에 대응되는 상황에서 생성될 수 있다.
단계(1020)에서 컴퓨팅 장치는 복합 의도 학습 데이터에 대응하는 복수의 레이블 중 어느 하나의 레이블만을 복합 의도 학습 데이터에 대응되는 레이블로 결정함으로써, 복합 의도 학습 데이터에 대한 레이블을 수정할 수 있다.
보다 구체적으로, 컴퓨팅 장치는 복합 의도 학습 데이터에서 복합 의도 특징 데이터를 추출할 수 있다. 예를 들어, 컴퓨팅 장치는 서로 다른 제1 레이블 및 제2 레이블 모두에 포함되는 특징어를 복합 의도 특징어로 추출할 있다.
제1 레이블 및 제2 레이블 모두에 대응되는 복합 의도 특징어가 존재하는 상황에서, 제2 레이블은 복합 의도 특징어 이외의 다른 특징어가 대응되지 않는 레이블인 경우, 컴퓨팅 장치는 제2 레이블을 복합 의도 특징어에 대응되는 레이블에서 배제할 수 있다. 이를 통해 복합 의도 특징어는 제1 레이블에만 대응되는 것으로 결정되고, 복합 의도 학습 데이터는 제1 레이블에만 대응되는 것으로 결정될 수 있다.
단계(1030)에서 컴퓨팅 장치는 복합 의도 학습 데이터 리스트 또는 단계(1020)에 따른 레이블 수정 결과를 외부 엔티티에 제공할 수 있다. 검토자는 복합 의도 학습 데이터에 대한 검토를 통해 복합 의도 학습 데이터의 레이블을 수정하거나, 각각의 복합 의도 특징어에 대응하는 레이블을 수정할 수 있다.
도 11a는 복합 의도 학습 데이터에 대한 처리 과정을 예시적으로 설명하기 위한 도면이다.
도 11a의 (a) 및 (b)에는 서로 다른 레이블 모두에 속하는 복합 의도 특징어에 해당되는 영역(1130, 1160)을 포함할 수 있다. 영역(1130, 1160)에 속하는 복합 의도 특징어를 포함하는 복합 의도 학습 데이터는 서로 다른 두 레이블 모두에 대응될 수 있다.
(a)의 경우, 제2 레이블(1120)에는 복합 의도 특징어 외에도 추가적인 특징어를 포함하고 있기 때문에, 복합 의도 특징어에 대한 레이블 수정이 불가능할 수 있다.
하지만, (b)의 경우, 제4 레이블(1150)에는 추가적인 특징어가 포함되어 있지 않기 때문에, 컴퓨팅 장치는 영역(1160)에 포함되는 복합 의도 특징어를 제3 레이블(1140)에만 대응되는 것으로 수정하고, 대응되는 복합 의도 학습 데이터를 제3 레이블(1140)에만 대응되는 것으로 수정할 수 있다.
실시예에 따라서, 각각의 레이블(1110, 1120, 1140, 1150) 모두에 포함되지 않는 특징어들에 대해서 컴퓨팅 장치는 분류 알고리즘(예를 들어, BR-SVM)을 적용하여 대응되는 레이블을 결정할 수 있다.
도 11b는 복합 의도 학습 데이터에 대한 처리 과정을 예시적으로 설명하기 위한 도면이다.
도 11b를 참조하면, (a)에 도시된 바와 같이, 복합 의도 학습 데이터 리스트는 검토자(사람)의 비교, 수정을 통해 지속적으로 갱신될 수 있다. 또한, 앞서 설명된 바와 같이 컴퓨팅 장치에 의해 자동으로 수정될 수도 있다.
보다 구체적으로, (b)에 도시된 바와 같이, 복합 의도 학습 데이터 리스트에 포함된 모호한 특징어(복합 의도 특징어)는 검토자에 의해 수정됨으로써, 특징어 데이터가 업데이트될 수 있다(단계 1171). 예를 들어, 검토자에 의해 복합 의도 특징어가 단일 레이블에 대응되는 것으로 수정될 수 있다. 또한, 앞선 도 10 및 도 11 a에서 설명된 바와 같이 컴퓨팅 장치에 의해 자동으로 복합 의도 특징어의 레이블이 수정될 수도 있다.
업데이트된 특징어에 기초하여 학습 데이터에 대한 재분류가 진행될 수 있다(단계 1172). 앞선 도 10 및 도 11 a에서 설명된 바와 같이 컴퓨팅 장치에 의해 자동으로 레이블이 수정되거나, 검토자에 의해 레이블이 수정될 수 있다.
분류 결과에 기초하여, 복합 의도 학습 데이터 리스트가 재생성될 수 있다. 보다 구체적으로, 컴퓨팅 장치는 서로 다른 레이블에 중복하여 대응되는 학습 데이터를 추출함으로써, 복합 의도 학습 데이터 리스트를 재생성할 수 있다. 재생성된 복합 의도 학습 데이터 리스트 중 기존 복합 의도 학습 데이터를 제외함으로써, 수정된 복합 의도 학습 데이터 리스트가 생성될 수 있다(단계 1173). 단계 1171 내지 단계 1173이 반복됨으로써 복합 의도 학습 데이터 리스트 및 복합 의도 특징어는 지속적으로 갱신될 수 있다.
도 12는 특징어를 갱신하는 데이터 처리 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 단계(1210)에서 복수의 개별 요소로 구성된 제3 특징어를 추출할 수 있다. 예를 들어, 제3 특징어는 "사회경험/학창생활" 레이블에 대응되는 "금전 보수 일정 이내"에 해당하는 특징어와 같이, 복수의 개별 요소(단어)로 구성된 특징어일 수 있다.
컴퓨팅 장치는 단계(1220)에서 복수의 개별 요소 중 어느 하나의 개별 요소를 현재 후보 특징어로 결정할 수 있다. 보다 구체적으로, 복수의 개별 요소 중, 개별 요소를 포함하는 모든 특징어가 동일한 레이블에 대응되는 개별 요소를 현재 후보 특징어로 결정할 수 있다. 예를 들어, "금전 보수 일정 이내"에 포함된 4개의 개별 요소 중 "보수"의 경우, "보수"를 포함하는 모든 특징어가 동일한 레이블에 대응되는 경우, 컴퓨팅 장치는 "보수"를 현재 후보 특징어로 결정할 수 있다.
단계(1230)에서 컴퓨팅 장치는 현재 후보 특징어에 기초한 임시 레이블링 결과와 제3 특징어에 기초한 기존 레이블링 결과를 비교할 수 있다. 예를 들어, "보수"에 해당하는 현재 후보 특징어를 통해 학습 데이터에 대해 레이블링을 수행한 결과와, "금전 보수 일정 이내"에 해당하는 제3 특징어를 통해 학습 데이터에 대해 레이블링을 수행한 결과를 비교할 수 있다. 결과를 비교하는 프로세스는, 각각의 학습 데이터에 대한 레이블링의 변동이 있는 지 여부에 기초하여 수행될 수 있다.
단계(1240)에서 컴퓨팅 장치는 비교 결과가 임계 조건을 충족시키는 지 여부를 결정할 수 있다. 예를 들어, 임계 조건은 레이블링이 변경되지 않은 학습 데이터의 개수가 소정의 임계치를 초과하는지 여부일 수 있다.
레이블링이 변경되지 않은 학습 데이터의 개수가 소정의 임계치를 미만인 경우, 단계(1250)를 통해 컴퓨팅 장치는 제3 특징어에서 현재 후보 특징어와 연속적으로 존재하는 개별 요소를 현재 후보 특징어에 부가함으로써 현재 후보 특징어를 갱신할 수 있다. 예를 들어, 컴퓨팅 장치는 단계(1250)에서 현재 후보 특징어에 해당하는 "보수"에 "일정" 또는 "금전"을 부가하여 "보수 일정" 또는 "금전 보수"를 새로운 현재 후보 특징어로 결정할 수 있다. 컴퓨팅 장치는 단계(1230) 및 단계(1240)을 추가로 수행함에 따라 다시 단계(1250)에 진입하는 경우, 현재 후보 특징어에 해당하는 "보수 일정" 또는 "금전 보수"를 "금전 보수 일정", "보수 일정 이내" 등으로 갱신할 수 있다. 이처럼, 컴퓨팅 장치는 단계(1240)에서 소정의 임계 조건을 충족하여 단계(1260)를 수행하기 전까지는 개별 요소를 하나씩 추가시키는 단계(1250)의 동작을 반복할 수 있다.
레이블링이 변경되지 않은 학습 데이터의 개수가 소정의 임계치를 초과한 경우, 단계(1260)를 통해 컴퓨팅 장치는 현재 후보 특징어에 기초하여 제3 특징어를 갱신할 수 있다. 예를 들어, 기존의 제3 특징어인 "금전 보수 일정 이내"를 "보수"로 수정할 수 있다.
도 13은 특징어를 갱신하는 데이터 처리 방법이 구현된 일례를 도시하는 도면이다.
도 13을 참고하면, 단계(1310)에서 컴퓨팅 장치는 특징 연어로 지칭될 수 있는 복수의 개별 요소로 구성된 제3 특징어를 추출하고(단계(1210)), 제3 특징어에 포함된 개별 요소(단어)를 추출할 수 있다. 도면 상의 1 gram은 현재 후보 특징어가 1개의 개별 요소로 구성됨을 의미할 수 있으며, 2 gram 및 3 gram은 개별 요소가 각각 2개 및 3개임을 의미할 수 있다.
단계(1320)에서 컴퓨팅 장치는 추출된 개별 요소 중, 개별 요소를 포함하는 특징어가 모두 동일한 레이블에 해당하는 개별 요소를 현재 후보 특징어로 결정할 수 있다(단계(1220)). 예를 들어, 1gram 단어로 지칭된 "보수"와 관련된 특징어 "금전 보수 일정", "금전 보수 일정 이내", "보수 일정 이내", "금전 보수 받 일정", "금전 보수 받", "보수 받 일정" 및 "보수 받 일정 이내" 모두가 동일한 레이블에 대응되므로, 컴퓨팅 장치는 "보수"를 현재 후보 특징어로 결정할 수 있다.
단계(1330)에서 현재 후보 특징어에 기초한 레이블링이 학습 데이터에 대해 수행됨으로써, 임시 레이블링 결과가 생성될 수 있다. 레이블링은 중복이 제거된 학습 데이터에 해당하는 중복제거 데이터(앞서 설명된 2차 필터링이 완료된 데이터)에 대해 수행될 수 있다. 이 경우, 결과의 정확도를 향상시키기 위하여, 중복제거 데이터에 포함된 개별 요소에 대한 유의어가 치환된 데이터에 대해 레이블링이 수행될 수 있다. 보다 구체적으로, 컴퓨팅 장치는 중복제거 데이터 중 "대가 보수 일정", "대가 보수 일정 이내" 등과 같이 1 gram 단어인 "보수"의 유의어를 포함하는 데이터들에 대하여 유의어 치환("대가"를 "보수"로 치환)을 수행하고, 유의어 치환 결과에 대한 레이블링을 수행함으로써, 임시 레이블링 결과를 생성할 수 있다. 임시 레이블링 결과와 비교되는 기존 레이블링 결과 역시도 동일한 유의어 치환 프로세스에 기초하여 결정될 수 있다.
단계(1340)에서, 컴퓨팅 장치는 임시 레이블링 결과 기존 레이블링 결과를 비교할 수 있다(단계(1230)). 단계(1350)에서 컴퓨팅 장치는 레이블링이 변경되지 않은 학습 데이터의 비율이 소정의 기준 이상인 경우, 현재 후보 특징어를 통해 제3 특징어를 대체할 수 있다(단계(1260)). 즉, 현재 후보 특징어가 대응되는 레이블 이외의 다른 레이블의 학습 데이터에 많이 포함되어 있지 않은 경우, 현재 후보 특징어는 제3 특징어를 대체할 수 있으나, 그렇지 않은 경우에는 현재 후보 특징어는 제3 특징어를 대체할 수 없고, 보다 많은 수의 개별 요소가 결합된 용어로 갱신되어 비교 절차가 반복될 수 있다. 단계(1350)에서 컴퓨팅 장치는 레이블링이 변경되지 않은 학습 데이터의 비율이 소정 기준 미만인 경우, 현재 후보 특징어를 갱신할 수 있다(단계(1250). 현재 후보 특징어를 갱신하는 방식은 앞선 도면에서 설명된 단계(1250)와 동일한 방식일 수 있다. 예를 들어, 현재 후보 특징어 "보수"는 "보수 일정"으로 갱신될 수 있다.
현재 후보 특징어를 갱신하여 임시 레이블링을 수행하는 일련의 프로세스는, 임시 레이블링 결과가 앞서 설명된 소정의 조건을 만족할 때까지 반복될 수 있다.
단계(1340)에서는 추가적으로 레이블링이 이루어지지 않은 학습 데이터에 대한 처리가 진행될 수 있다. 보다 구체적으로, 레이블링이 되지 않은 학습 데이터에 포함된 개별 요소가 기존 특징어에 포함되지 않은 개별 요소인 경우, 신규 특징어로 추출하거나, 개별 요소에 대한 분류 오기가 있는 경우, 이를 정정할 수 있다.
앞선 설명에서는 하나의 연어에 대하여 개별 요소를 증가시키며 현재 후보 특징어를 갱신하여 임시 레이블링을 수행하는 방식으로 설명되었으나, 본원 발명의 실시예는 이에 한정되는 것이 아니고, 복수의 데이터 세트 단위로 수행될 수 있음은 통상의 기술자가 이해할 것이다. 예를 들어, 단계(1310)에서는 1개의 개별 요소로 구성된 복수의 병렬적인 후보 특징어("보수", "조금")가 도출되고, 복수의 후보 특징어에 기초한 임시 레이블링이 수행될 수 있으며, 임시 레이블링 결과와 기존 레이블링 결과의 비교에 기초하여 특징어 갱신 절차가 이루어 질 수 있다. 이 경우, "보수"에 해당하는 후보 특징어와 관련된 임시 레이블링 결과의 경우, 기존 레이블링 결과와 차이가 없더라도, "조금"과 관련된 후보 특징어에 대한 임시 레이블링 결과의 변화가 큰 경우, 각각의 후보 특징어에 대한 2 gram에 해당하는 후보 특징어("금전 보수", "보수 일정", ??, "조금 개선"??)로 갱신하고 임시 레이블링 결과와 기존 레이블링 결과를 비교하는 프로세스가 추가적으로 진행될 수 있다.
도 14는 데이터 처리 방법이 구현된 일례를 도시하는 도면이다.
도 14를 참고하면, 특징어에 기초하여 레이블링이 완료된 학습 데이터 중 복합 의도 학습 데이터는 복합의도 처리 프로세스(앞서 도 10 내지 도 11b를 통해 설명된 프로세스)를 통해 모호한 특징이 수정되는 데이터 처리 프로세스가 진행될 수 있다. 또한, 복합 의도가 없는 학습 데이터의 경우, 앞서 도 9를 통해 설명된 신규 특징어 추출 프로세스를 통해 신규 특징어가 추출될 수 있다.
레이블링이 되지 않은 학습 데이터는 분류 알고리즘(예를 들어, BR-SVM)에 기초하여 추가적인 분류가 진행될 수 있다.
앞선 프로세스를 통해 확정된 특징어들은 Ngram 최적화로 지칭된 앞선 도 12 및 도 13을 통해 설명된 데이터 처리 방법을 통해 특징어가 갱신될 수 있다.
도 15는 본원 발명에 따른 컴퓨팅 장치의 구성을 도시하는 도면이다.
도 15를 참조하면, 일 실시예에 따른 컴퓨팅 장치(1500)는 프로세서(1520)를 포함한다. 컴퓨팅 장치(1500)는 메모리(1510) 및 통신 인터페이스(1530)를 더 포함할 수 있다. 프로세서(1520), 메모리(1510) 및 통신 인터페이스(1530)는 통신 버스(미도시)를 통해 서로 통신할 수 있다.
일 실시예에 따르면, 프로세서(1520)는 자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 이용되는 자연어에 대한 데이터 처리를 수행할 수 있다.
프로세서(1520)는 자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 사용되는 자연어인 제1 데이터를 수신하고, 유의어 리스트가 저장된 제1 데이터베이스 또는 자연어 의도 분류와 무관한 관용어 리스트가 저장된 제2 데이터베이스 중 적어도 하나 기초하여, 상기 제1 데이터에 대한 전처리를 수행할 수 있다.
다른 실시예에 따르면, 프로세서(1520)는 자연어의 의도를 분류하는 뉴럴 네트워크에 대한 학습에 사용되는 특징어를 생성할 수 있다. 프로세서(1520)는 학습 데이터에 대한 레이블링의 기준이 되는 제1 특징어를 포함하는 제1 특징어 리스트를 수신하고, 제1 특징어 각각에 대하여, 품사 정보에 기초하여 상기 제1 특징어를 구성하는 제1 개별 요소를 추출하고, 학습 데이터에서 제1 개별 요소와 결합되어 단어를 구성하는 제2 개별 요소를 추출하고, 제2 개별 요소 및 제1 개별 요소의 결합에 기초하여 생성되는 제2 특징어를 통해 제2 특징어 리스트를 생성할 수 있다.
또 다른 실시예에 따르면, 프로세서(1520)는 자연어의 의도를 분류하는 뉴럴 네트워크에 대한 학습에 사용되는 특징어를 갱신하는 데이터 처리를 수행할 수 있다.
프로세서(1520)는 복수의 개별 요소로 구성된 기존 특징어를 추출하고, 복수의 개별 요소 중 어느 하나의 개별 요소를 현재 후보 특징어로 결정하고, 현재 후보 특징어에 기초한 수행된 제1 임시 레이블링 결과와 기존 특징어에 기초하여 수행된 기존 레이블링 결과를 비교하고, 비교 결과에 기초하여 기존 특징어를 갱신할 수 있다.
추가적인 실시예에 따르면, 프로세서(1520)는 자연어의 의도를 분류하는 뉴럴 네트워크에 대한 학습에 사용되는 특징어를 처리하는 데이터 처리 방법을 수행할 수 있다.
프로세서(1520)는 복수의 레이블에 대응되는 복합의도 특징어를 추출하고, 미리 결정된 조건에 기초하여 복수의 레이블 중 어느 하나의 레이블을 복합의도 특징어에 대응하는 레이블에서 배제할 수 있다.
메모리(1510)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
이 밖에도, 프로세서(1520)는 프로그램을 실행하고, 컴퓨팅 장치(1500)를 제어할 수 있다. 프로세서(1520)에 의하여 실행되는 프로그램 코드는 메모리(1510)에 저장될 수 있다. 컴퓨팅 장치(1500)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 컴퓨팅 장치(1500)는 서버에 탑재될 수 있다.
컴퓨팅 장치(1500)는 프로세서(1520)를 통해 앞선 도 1 내지 도 14를 통해 설명된 데이터 처리 방법을 수행할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 컴퓨팅 장치에 의해 수행되는, 자연어의 의도를 분류하는 뉴럴 네트워크의 훈련에 이용되는 자연어에 대한 데이터 처리 방법에 있어서,
    자연어의 의도를 분류하는 뉴럴 네트워크의 학습에 사용되는 자연어인 제1 데이터를 수신하는 단계; 및
    유의어 리스트가 저장된 제1 데이터베이스 또는 자연어 의도 분류와 무관한 관용어 리스트가 저장된 제2 데이터베이스 중 적어도 하나 기초하여, 상기 제1 데이터에 대한 전처리를 수행하는 단계;
    를 포함하고,
    상기 전처리를 수행하는 단계는,
    상기 제1 데이터베이스에 미리 정의된 유의어에 해당하는 제3 데이터가 상기 제1 데이터 내에 존재하는 지 여부를 결정하는 단계; 및
    상기 제3 데이터가 상기 제1 데이터 내에 존재하는 경우, 상기 제3 데이터를 대표하는 용어로 미리 결정된 제4 데이터로 상기 제3 데이터를 치환하는 단계;
    를 포함하고,
    상기 제1 데이터베이스는 벡터화된 개별 요소들 사이의 유사도에 의해 결정되는 유의어 및 상기 유의어와 결합하여 단어를 생성하는 횟수가 소정의 임계치 이상인 중심 키워드에 기초하여 구축되는, 데이터 처리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제3 데이터를 치환하는 단계는,
    유의어에 해당하는 제3-1 데이터 및 제3-2 데이터가 연속적으로 존재하는 경우, 상기 제3-1 데이터 및 상기 제3-2 데이터를 상기 제1 데이터에서 제거하고 상기 제4 데이터를 추가하는 단계
    를 포함하는, 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 전처리를 수행하는 단계는,
    상기 제2 데이터베이스에 미리 정의된 용어에 해당하는 제5 데이터가 상기 제1 데이터 내에 존재하는 지 여부를 결정하는 단계; 및
    상기 제5 데이터가 상기 제1 데이터 내에 존재하는 경우, 상기 제5 데이터를 상기 제1 데이터로부터 제거하는 단계
    를 포함하는, 데이터 처리 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 제1항, 제3항 및 제4항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
  15. 데이터 처리 방법을 수행하는 컴퓨팅 장치에 있어서,
    통신부; 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    자연어의 의도를 분류하는 뉴럴 네트워크의 훈련에 사용되는 자연어에 대응되는 제1 데이터를 수신하고,
    유의어 리스트가 저장된 제1 데이터베이스 또는 자연어 의도 분류와 무관한 관용 표현 리스트가 저장된 제2 데이터베이스 중 적어도 하나 기초하여, 상기 제1 데이터에 대한 전처리를 수행하되, 상기 제1 데이터베이스에 미리 정의된 유의어에 해당하는 제3 데이터가 상기 제1 데이터 내에 존재하는 지 여부를 결정하고, 상기 제3 데이터가 상기 제1 데이터 내에 존재하는 경우, 상기 제3 데이터를 대표하는 용어로 미리 결정된 제4 데이터로 상기 제3 데이터를 치환함으로써 제2 데이터를 생성하고, 그리고, 상기 제1 데이터베이스는 벡터화된 개별 요소들 사이의 유사도에 의해 결정되는 유의어 및 상기 유의어와 결합하여 단어를 생성하는 횟수가 소정의 임계치 이상인 중심 키워드에 기초하여 구축되는, 컴퓨팅 장치.
KR1020210030838A 2021-03-09 2021-03-09 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치 KR102487571B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210030838A KR102487571B1 (ko) 2021-03-09 2021-03-09 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치
PCT/KR2021/010484 WO2022191368A1 (ko) 2021-03-09 2021-08-09 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치
KR1020220113354A KR102477782B1 (ko) 2021-03-09 2022-09-07 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210030838A KR102487571B1 (ko) 2021-03-09 2021-03-09 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220113354A Division KR102477782B1 (ko) 2021-03-09 2022-09-07 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220126493A KR20220126493A (ko) 2022-09-16
KR102487571B1 true KR102487571B1 (ko) 2023-01-12

Family

ID=83228229

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210030838A KR102487571B1 (ko) 2021-03-09 2021-03-09 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치
KR1020220113354A KR102477782B1 (ko) 2021-03-09 2022-09-07 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220113354A KR102477782B1 (ko) 2021-03-09 2022-09-07 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치

Country Status (2)

Country Link
KR (2) KR102487571B1 (ko)
WO (1) WO2022191368A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102639880B1 (ko) * 2023-08-02 2024-02-23 (주)유알피 문서 내의 유의어를 대표어로 관리하기 위한 인공지능기반 유의어 치환방법
KR102639873B1 (ko) * 2023-08-02 2024-02-23 (주)유알피 인공지능을 활용한 대표어 관리를 위한 유의어 치환장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101400548B1 (ko) * 2012-10-18 2014-05-27 조선대학교산학협력단 문서의 자동 학습 장치와 이를 이용한 문서 자동 학습 방법, 문서의 자동 분류 장치와 이를 이용한 문서 자동 분류 방법
KR20140052328A (ko) * 2012-10-24 2014-05-07 에스케이텔레콤 주식회사 Rdf 기반의 문장 온톨로지 생성 장치 및 방법
JP6173848B2 (ja) 2013-09-11 2017-08-02 株式会社東芝 文書分類装置
KR101799681B1 (ko) * 2016-06-15 2017-11-20 울산대학교 산학협력단 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법
KR101962113B1 (ko) * 2017-03-28 2019-07-19 (주)아크릴 자연어 문장을 확장하는 장치와 상기 자연어 문장을 확장하는 방법
KR101880628B1 (ko) 2017-11-27 2018-08-16 한국인터넷진흥원 기계 학습 데이터셋에 대한 레이블링 방법 및 그 장치
KR102103273B1 (ko) * 2018-02-27 2020-04-22 주식회사 와이즈넛 계층적으로 사용자 표현을 이해하고 답변을 생성하는 대화형 상담 챗봇 장치 및 방법
KR101938212B1 (ko) * 2018-05-29 2019-01-15 전남대학교산학협력단 의미와 문맥을 고려한 주제기반 문서 자동 분류 시스템
KR20200135607A (ko) * 2019-05-22 2020-12-03 삼성전자주식회사 학습 네트워크 모델 기반의 언어 처리 방법 및 장치
KR102283283B1 (ko) * 2019-07-26 2021-07-28 주식회사 수아랩 데이터 레이블링 우선순위 결정방법
KR20210083706A (ko) * 2019-12-27 2021-07-07 삼성전자주식회사 데이터의 범주를 분류하는 컴퓨팅 장치 및 방법

Also Published As

Publication number Publication date
KR20220126493A (ko) 2022-09-16
KR102477782B1 (ko) 2022-12-16
KR20220127786A (ko) 2022-09-20
WO2022191368A1 (ko) 2022-09-15

Similar Documents

Publication Publication Date Title
Nandwani et al. A primal dual formulation for deep learning with constraints
KR102477782B1 (ko) 자연어 의도를 분류하는 뉴럴 네트워크 훈련을 위한 데이터 처리 방법 및 장치
US20230169267A1 (en) Multi-layer graph-based categorization
Feng et al. Enhanced sentiment labeling and implicit aspect identification by integration of deep convolution neural network and sequential algorithm
Al-Hroob et al. The use of artificial neural networks for extracting actions and actors from requirements document
CN112131366A (zh) 训练文本分类模型及文本分类的方法、装置及存储介质
CN110209822A (zh) 基于深度学习的学术领域数据相关性预测方法、计算机
US11775594B2 (en) Method for disambiguating between authors with same name on basis of network representation and semantic representation
CN113641819B (zh) 基于多任务稀疏共享学习的论辩挖掘系统及方法
US11663406B2 (en) Methods and systems for automated detection of personal information using neural networks
Jiang et al. Ontology matching with knowledge rules
KR20180094664A (ko) 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치
CN113761868B (zh) 文本处理方法、装置、电子设备及可读存储介质
Bokka et al. Deep Learning for Natural Language Processing: Solve your natural language processing problems with smart deep neural networks
US20200311345A1 (en) System and method for language-independent contextual embedding
Dai et al. A survey on dialog management: Recent advances and challenges
Chen et al. Entailment graph learning with textual entailment and soft transitivity
Brenon et al. Classifying encyclopedia articles: Comparing machine and deep learning methods and exploring their predictions
CN114036276A (zh) 一种信息抽取方法、装置、设备及存储介质
Blšták Automatic Question Generation Based on Sentence Structure Analysis.
Ribeiro et al. Semantic frame induction through the detection of communities of verbs and their arguments
CN115841105A (zh) 一种基于事件类型层级关系的事件抽取方法、系统及介质
CN115600595A (zh) 一种实体关系抽取方法、系统、设备及可读存储介质
KR20230142109A (ko) 지식 베이스를 활용한 유저별 맞춤형 컨텐츠 추천 방법, 장치 및 컴퓨터-판독가능 기록매체
Mitra et al. Matgap: A systematic approach to perform match and gap analysis among sbvr-based domain specific business rules

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right