KR20200088088A - 단어 속성 분류 장치 및 방법 - Google Patents

단어 속성 분류 장치 및 방법 Download PDF

Info

Publication number
KR20200088088A
KR20200088088A KR1020190004649A KR20190004649A KR20200088088A KR 20200088088 A KR20200088088 A KR 20200088088A KR 1020190004649 A KR1020190004649 A KR 1020190004649A KR 20190004649 A KR20190004649 A KR 20190004649A KR 20200088088 A KR20200088088 A KR 20200088088A
Authority
KR
South Korea
Prior art keywords
words
word
extracted
target
learning
Prior art date
Application number
KR1020190004649A
Other languages
English (en)
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 KR1020190004649A priority Critical patent/KR20200088088A/ko
Publication of KR20200088088A publication Critical patent/KR20200088088A/ko

Links

Images

Classifications

    • 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/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 실시예에 따른 단어 속성 분류 장치는, 적어도 하나 이상의 자연어 문장을 포함하는 대상 원문을 입력 받는 입력부, 상기 입력된 상기 대상 원문을, 상기 대상 원문의 상기 자연어 문장을 구성하는 단어별로 분절함에 따라 분절된 단어들을 추출하는 단어 추출부, 단어 임베딩 모델을 이용하여 상기 추출된 단어들을 학습함에 따라 상기 각 단어의 특징값을 생성하는 특징값 생성부 및 상기 생성된 단어 특징값들을 이용하여 상기 단어들간 유사도를 판단함에 따라 군집화하여, 상기 추출된 단어들을 기 설정된 속성별로 분류하는 속성 분류부를 포함할 수 있다.

Description

단어 속성 분류 장치 및 방법 {Apparatus and method for classifying word attribute}
본 발명의 단어 속성 분류 장치 및 방법에 관한 것이다.
동의어나 유사어와 같은 대역 어휘를 찾기 위해 동의어/유사어 사전을 이용하는 방법이 있다. 이러한 방법은 분야별로 구축된 동의어/유사어 쌍을 통해 주어진 어휘에 대한 대역 어휘를 파악하는 방법이다.
그러나, 이러한 동의어/유사어 사전을 구축하기 위해서는 해당 분야의 전문가의 많은 노력과 시간이 필요하다. 또한, 동의어/유사어 사전을 이용하여 방법은 새로운 어휘들에 대해 그 대역 어휘를 찾기 힘들다.
한편, 기계 학습 기술이 발전함에 따라 병렬 코퍼스를 통해 병렬 문장쌍을 학습함으로써 대역 어휘를 찾는 방법이 있으나, 이에 의하더라도, 병렬 문장쌍이 있는 코퍼스를 구축하는 작업에 많은 노력과 시간이 필요하다
한국 공개 특허 제10-2013-0074176호 (공개)
상기 전술한 종래의 문제점을 해결하기 위한 본 발명의 실시예에 따른 단어 속성 분류 장치 및 방법은, 적은 학습 시간으로도 보다 효율적인 단어 임베딩 학습을 함으로써 속성별 단어를 분류시킬 수 있도록 하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 단어 속성 분류 장치는, 적어도 하나 이상의 자연어 문장을 포함하는 대상 원문을 입력 받는 입력부, 상기 입력된 상기 대상 원문을, 상기 대상 원문의 상기 자연어 문장을 구성하는 단어별로 분절함에 따라 분절된 단어들을 추출하는 단어 추출부, 단어 임베딩 모델을 이용하여 상기 추출된 단어들을 학습함에 따라 상기 각 단어의 특징값을 생성하는 특징값 생성부 및 상기 생성된 단어 특징값들을 이용하여 상기 단어들간 유사도를 판단함에 따라 군집화하여, 상기 추출된 단어들을 기 설정된 속성별로 분류하는 속성 분류부를 포함할 수 있다.
또한, 상기 특징값 생성부는, 상기 추출된 단어들 중 하나의 타겟 단어를 선택하는 타겟 단어 선택부를 더 포함할 수 있다.
또한, 상기 특징값 생성부는, 상기 타겟 단어와 인접하거나 인접하지 않은 단어들을 분류함에 따라 네거티브 샘플링을 수행하는 네거티브 샘플링부를 더 포함할 수 있다.
또한, 상기 네거티브 샘플링부는, 상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서, 기 설정된 기준에 따라 상기 타겟 단어와 인접한 단어인 것으로 정의되는 인접 단어들을 추출하는 인접 단어 추출부 및 상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서 상기 인접 단어 추출부로부터 추출된 인접 단어들을 제외한 나머지 단어로 정의되는 네거티브 샘플 단어를 추출하는 네거티브 샘플 단어 추출부를 더 포함할 수 있다.
또한, 상기 네거티브 샘플링부는, 상기 추출된 인접 단어들 및 네거티브 샘플 단어를 독립 파라미터로서 이용하는 수식에 기초하여 상기 추출된 단어들을 학습시킴으로써, 상기 추출된 단어들을 상기 기 설정된 속성별로 분류하기 위한 학습 과정에서의 노이즈를 최소화시키기 위한 네거티브 샘플링을 수행할 수 있다.
또한, 상기 특징값 생성부는, 상기 추출된 단어들 각각의 출현빈도를 고려하여 상기 추출된 단어들 중 적어도 하나의 단어의 특징값을 서브샘플링(subsampling)함에 따라 학습 대상 단어 후보에서 제외시킬 수 있다.
또한, 상기 속성 분류부는, 상기 추출된 단어들의 특징벡터들간 코사인 유사도를 판단함에 따라 상기 추출된 단어들을 상기 기 설정된 속성별로 분류할 수 있다.
또한, 상기 단어 임베딩 모델은 입력층, 프로젝션 층 및 복수개의 출력층을 포함하는 skip-gram 학습 모델일 수 있다.
상술한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 단어 속성 분류 방법은, 적어도 하나 이상의 자연어 문장을 포함하는 대상 원문을 입력 받는 단계, 상기 입력된 상기 대상 원문을, 상기 대상 원문의 상기 자연어 문장을 구성하는 단어별로 분절함에 따라 분절된 단어들을 추출하는 단계, 단어 임베딩 모델을 이용하여 상기 추출된 단어들을 학습함에 따라 상기 각 단어의 특징값을 생성하는 단계 및 상기 생성된 단어 특징값들을 이용하여 상기 단어들간 유사도를 판단함에 따라 군집화하여, 상기 추출된 단어들을 기 설정된 속성별로 분류하는 단계를 포함할 수 있다.
또한, 상기 특징값을 생성하는 단계는, 상기 추출된 단어들 중 하나의 타겟 단어를 선택하는 단계, 상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서, 기 설정된 기준에 따라 상기 타겟 단어와 인접한 단어인 것으로 정의되는 인접 단어들을 추출하는 단계 및 상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서 상기 추출된 인접 단어들을 제외한 나머지 단어로 정의되는 네거티브 샘플 단어를 추출하는 단계를 포함할 수 있다.
또한, 상기 특징값을 생성하는 단계는, 상기 추출된 인접 단어들 및 네거티브 샘플 단어를 독립 파라미터로서 이용하는 수식에 기초하여 상기 추출된 단어들을 학습시킴으로써, 상기 추출된 단어들을 상기 기 설정된 속성별로 분류하기 위한 학습 과정에서의 노이즈를 최소화시키기 위한 네거티브 샘플링을 수행할 수 있다.
또한 본 발명은 상기한 방법에 따른 단어 속성 분류 방법을 실행시키는 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제안한다.
본 발명의 실시예에 따른 단어 속성 분류 장치 및 방법은, 적은 학습 시간으로도 보다 효율적인 단어 임베딩 학습을 함으로써 속성별 단어를 분류시킬 수 있는 효과가 있다.
도1은 본 발명의 일 실시예에 따른 단어 속성 분류 장치의 구성을 개략적으로 도시한 블록도이다
도2는 본 발명의 일 실시예에 따른 특징값 생성부의 구성을 개략적으로 도시한 블록도이다.
도3은 본 발명의 일 실시예에 따른 네거티브 샘플링부의 구성을 개략적으로 도시한 블록도이다.
도4는 본 발명의 일 실시예에 따른 단어 임베딩 모델을 설명하기 위해 도시한 도면이다.
도5는 본 발명의 일 실시예에 따른 단어의 속성을 분류하기 위해 학습하는 과정을 설명하기 위한 도면이다.
도6은 본 발명의 일 실시예에 따른 각 단어의 특징 벡터를 시각화하여 도시한 도면이다.
도7은 본 발명의 일 실시예에 따른 단어 속성 분류 장치의 동작 순서를 개략적으로 나타낸 도면이다.
도8은 본 발명의 일 실시예에 따른 단어 속성 분류 방법을 시간의 순서에 따라 도시한 흐름도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계 없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록"등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로구현될 수 있다.
이하, 본 발명의 일 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
이하에서는 본 발명의 실시예에 따른 단어 속성 분류 장치 및 방법의 구성을 관련된 도면을 참조하여 상세히 설명한다. 본 발명의 단어 속성 분류 장치는 영단어를 효과적으로 학습할 수 있도록 하는 학습자 맞춤형 엉어 학습 컨텐츠를 제공하는 장치 및 시스템에 탑재되도록 구현될 수 있다.
본 명세서에서는 본 발명의 단어 속성 분류 장치 및 방법이 영단어의 속성을 분류하는 장치 및 방법으로서 예시하여 설명하지만, 본 발명의 단어 속성 분류 장치 및 방법은 이에 한정되지 않고, 한국어, 중국어 일본어 등 다양한 언어에 적용 가능하다.
또한, 본 발명의 실시예에 따른 단어 속성 분류 장치 및 방법은 어느 하나의 영단어를 기계 학습하여 기준이 되는 단어 속성별로 분류함으로써, 상기 어느 하나의 영단어와 관련된 특정 영역에서 많이 쓰이는 단어 리스트, 상기 어느 하나의 영단어와 함께 쓰이는 단어 뭉치, 사용자의 학습 수준에 맞는 학습이 필요한 단어 리스트 및 유의어, 반의어, 동의어 등과 같은 연관 단어 리스트 등을 출력할 수 있다.
도1은 본 발명의 일 실시예에 따른 단어 속성 분류 장치(100)의 구성을 개략적으로 도시한 블록도이다
도1에 도시된 바와 같이, 본 발명의 실시예에 따른 단어 속성 분류 장치(100)는 입력부(110), 단어 추출부(120), 특징값 생성부(130) 및 속성 분류부(140)를 포함하여 구성될 수 있다.
먼저, 본 발명의 실시예에 따른 입력부(110)는 적어도 하나 이상의 자연어 문장을 포함하는 대상 원문을 입력 받을 수 있다. 여기서, 대상 원문이란 영화, 책, 시험 등 대용량 영어 원문을 포함하는 원문 데이터를 의미할 수 있다. 이러한 적어도 하나의 대상 원문이 입력됨에 따라 본 발명의 단어 속성 분류 장치가 분류 및 분석할 수 있는 단어의 개수로는 예컨대 약 7억 개 내지 9억 개의 단어를 분석할 수 있다.
그리고, 본 발명의 실시예에 따른 단어 추출부(120)는 입력부(110)로 입력된 대상 원문을, 자연어 문장을 구성하고 있는 단어별로 분절하고, 의미론적 분석을 통해 분절된 단어들 중 적어도 일부를 추출할 수 있다.
예컨대, 단어 추출부(120)는 대상 원문 내 포함되어 있는 각 자연어 문장을 의미론적(semantic) 분석함에 따라 단어들을 분절할 수도 있고, 자연어 문장 내 어절 별로 분절한 후, 어절별로 분절된 단어들 중 의미론적인 단어들을 추출할 수도 있다. 이렇게, 추출된 의미론적인 단어들은 기계 학습에 이용될 단어들이 다.
그리고, 본 발명의 실시예에 따른 특징값 생성부(130)는 단어 임베딩 모델을 이용하여 상기 단어 추출부(120)로부터 추출된 단어들을 학습함에 따라 각 단어의 특징값을 생성할 수 있다.
본 발명의 단어 속성 분류 장치는 사용자 단말 내부에 탑재되는 소프트웨어로 구현될 수도 있는데, 이때, 단어 속성 분류 장치의 특징값 생성부(130)는 대상 원문을 입력 받아 기계 학습하는 개발 단계에서 동작하는 구성요소로서 동작할 수 있고, 상술한 학습을 하거나, 신경망을 통하여 특징값을 생성하는 실제 사용자가 사용하는 단계에서 동작하는 구성요소로서 동작할 수도 있다.
본 발명의 특징값 생성부(130)를 보다 구체적으로 설명하기 위해 도2를 참조하여 후술한다.
도2는 본 발명의 일 실시예에 따른 특징값 생성부(200)의 구성을 개략적으로 도시한 블록도이고, 도3은 본 발명의 일 실시예에 따른 네거티브 샘플링부(230)의 구성을 보다 구체적으로 도시한 블록도이다.
도2를 참조하면, 본 발명의 특징값 생성부(200)는, 타겟 단어 선택부(210), 서브 샘플링부(220) 및 네거티브 샘플링부(230)를 포함하여 구성될 수 있다.
본 발명의 실시예에 따른 타겟 단어 선택부(210)는 단어 추출부(120)로부터 추출된 단어들 중 하나의 타겟 단어를 선택할 수 있다. 여기서, 타겟 단어란, 분절되어 추출된 수많은 단어들 중 단어 임베딩 모델을 기반으로 기계 학습시키기 위한 하나의 단어를 말한다.
상기 타겟 단어는, 사용자에 의해 선택될 수도 있고, 미리 설정된 출현 빈도 상위 범위 안에 속하는 일부 단어들을, 출현 빈도 횟수를 고려하여 순차적으로 선택되어 분류하도록 구현될 수도 있다.
또한, 본 발명의 특징값 생성부(200)가 타겟 단어를 학습시키기 위해 이용하는 단어 임베딩 모델은 도4와 같을 수 있다.
도4는 본 발명의 일 실시예에 따른 단어 임베딩 모델을 설명하기 위해 도시한 도면이다.
도4의 (a) 도시된 바와 같이, 본 발명의 특징값 생성부가 이용하는 단어 임베딩 모델은 입력층(input layer), 프로젝션 층(projection layer) 및 출력층(output layer)의 3개의 층(layer)을 이용하여 구성된 인공 신경망일 수 있고, 본 발명의 단어 임베딩 모델은 skip-gram 학습 모델일 수 있다.
도4의 (a)를 참고하면, 단어 임베딩 모델의 입력 층에는 원-핫(one-hot) 형태로 학습할 단어가 들어가게 되고, 출력층에는 입력층에서 사용한 단어의 앞의 두 단어(w(t-2), w(t-1)), 뒤의 두 단어(w(t+1), w(t+2))가 들어가서 학습하게 된다.
그리고 일 실시예에 따른 본 발명의 단어 임베딩 모델은 입력층과 프로젝션 층 사이의 간선과 프로젝션층 및 출력층 사이의 간선은 서로 다른 값으로 구성되어 있을 수 있다.
그리고, 본 발명의 실시예에 따른 서브 샘플링부(220)는, 상기 단어 추출부(120)로부터 추출된 단어들 각각의 출현 빈도를 고려하여, 추출된 단어들 중 적어도 하나의 특징값을 서브샘플링(subsampling)함에 따라 학습 대상 단어 후보에서 제외시킬 수 있다.
예컨대, 윈도우 사이즈가 2로 설정된 상태에서, 타겟 단어 선택부(210)가 입력된 대상 원문의 자연어 문장 중 "The quick brown fox jumps over the lazy dog."이라는 문장에서 타겟 단어를 선택할 때, 서브 샘플링부(220)는 상대적으로 중요도가 낮은 단어가 선택될 확률, 또는 특징값 생성부가 타겟 단어를 학습하는 경우 상대적으로 중요도가 낮은 단어가 높은 빈도로 학습될 확률을 줄이기 위해, 자연어 문장에 높은 빈도로 등장하는 단어들을 학습 대상 단어 후보에서 제외시킨다.
이러한 단어로는 예를 들어 "a" 나 "the"와 같은 조사(助詞)가 있을 수 있으며, 본 발명의 단어 속성 분류 장치는 대용량 학습 단어를 효율적으로 학습시키기 위해, 서브 샘플링부(220)는 상기와 같은 조사 단어를 학습 대상 단어에서 제외시킴으로써, 계산량을 줄여줄 수 있어 학습 시간을 줄일 수 있는 효과가 있다.
서브 샘플링부(220)가 각 단어의 출현 빈도를 고려함에 따라 i번째 단어를 학습에서 제외시키기 위한 확률은 아래 <수학식1>과 같이 정의할 수 있다.
Figure pat00001
여기서, P(wi)는 i번째 단어가 학습에서 제외될 확률을 나타내고, f(wi)는 해당 단어가 자연어 문장(말뭉치)에 출현한 비율(해당 단어 빈도/전체 단어 수), t는 초매개변수(hyper parameter)로, 예컨대 0.00001로 설정될 수 있다.
그리고, 본 발명의 실시예에 따른 네거티브 샘플링부는(230)는 상기 타겟 단어 선택부(210)로부터 선택된 타겟 단어와 인접하거나 인접하지 않은 단어들을 분류함에 따라 네거티브 샘플링(negative sampling)을 수행할 수 있다.
본 발명의 네거티브 샘플링부(230)에 대해 보다 상세하게 설명하기 위해 도3을 참조한다.
도3을 참조하면, 본 발명의 네거티브 샘플링부(300)는 인접 단어 추출부(310) 및 네거티브 샘플 단어 추출부(320)를 포함하여 구성될 수 있다.
본 발명의 실시예에 따른 인접 단어 추출부(310)는 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서 기 설정된 기준에 따라 타겟 단어와 인접한 단어인 것으로 정의되는 인접 단어들을 추출할 수 있다.
또한, 본 발명의 실시예에 따른 네거티브 샘플 단어 추출부(320)는 상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서 상기 인접 단어 추출부(310)로부터 추출된 인접 단어들을 제외한 나머지 단어로 정의되는 네거티브 샘플 단어를 추출할 수 있다.
즉, 본 발명의 네거티브 샘플링부(300)는 추출된 인접 단어들 및 네거티브 샘플 단어를 독립 파라미터로서 이용하는 수식에 기초하여 상기 추출된 단어들을 학습시킴으로써, 상기 추출된 단어들을 기 설정된 속성별로 분류하기 위한 학습 과정에서의 노이즈를 최소화시키기 위한 네거티브 샘플링을 수행할 수 있다.
네거티브 샘플링부(300)는 입력되는 대상 원문에 포함된 전체 단어들을 계산하는 대신, 일부 단어들에 한해서 단어 임베딩 모델의 출력층에서 확률 계산(softmax 계산)을 하고, 정규화(normalization)함에 따라서 학습할 수 있도록 한다. 즉, 네거티브 샘플링부(300)는 윈도우 사이즈 내에 포함되어 있는 단어(positive sample) 외에 나머지 단어들(negative sample) 중 학습하는데 사용할 일부 단어를 추출할 수 있다.
아래 <수학식2>는 네거티브 샘플링부(300)가 네거티브 샘플링을 수행하기 위한 손실 함수이다.
Figure pat00002
여기서, Jt(θ)는 네거티브 샘플링을 수행하기 위한 손실 함수이고, σ는 시그모이드 함수, vc는 타겟 단어,
Figure pat00003
는 주변 단어(들)(윈도우 사이즈에 의해 정해짐), ~이고,
Figure pat00004
는 윈도우 사이즈 내에 포함되지 않은 나머지 단어들(negative samples), j~P(w)는 오답 쌍 후보를 의미한다.
도5는 본 발명의 일 실시예에 따른 단어의 속성을 분류하기 위해 학습하는 과정을 설명하기 위한 도면이다.
도5에서, 타겟 단어가 "going"이라고 할 때, 윈도우 사이즈(window size)가 2이면, 본 발명의 인접 단어 추출부(310)는 타겟 단어 "going"과 인접 단어인 "I", "am", "to", "watch"를 추출하고, 네거티브 샘플 단어 추출부(320)는 상기 추출된 인접 단어 외에 나머지 단어들을 네거티브 샘플 단어로 추출함에 따라 상기 <수학식2>를 이용하여 네거티브 샘플링을 수행할 수 있다.
본 발명의 특징값 생성부는 상술한 바와 같은 동작을 통해, 입력되는 단어들 중 적어도 일부의 단어들을 단어 임베딩 모델을 이용하여 기계 학습함에 따라 특징값인 특징 벡터를 생성하게 되고, 그에 따라 각 단어들은 서로 연관성이 있는 단어들끼리 연결될 수 있다.
본 발명의 일 실시예에 따르면, 추출된 학습 대상 단어들이 특징값 생성부에 의해 학습됨에 따라 각 학습 대상 단어의 특징값이 생성될 수 있는데, 여기서 특징값은 특징벡터 또는 벡터행렬로 생성될 수 있다. 예컨대, 각 벡터행렬에는 해당 단어 고유의 특징정보(특징벡터)들, 예를 들어 해당 단어의 품사 및 해당 단어가 실린 대상 원문의 분야(마케팅, 경제학, 뉴스, 영화 대본 등)에 대한 정보를 포함하고 있을 수 있다.
도6은 본 발명의 일 실시예에 따른 각 단어의 특징 벡터를 시각화하여 도시한 도면이다. 일 실시예에 따른 도6에 도시된 바와 같이, 본 발명의 특징값 생성부의 동작에 따라, 입력된 단어들은 서로 비슷한 형태의 특징 벡터값을 가지는 단어들끼리 군집화될 수 있다.
다시 도1을 참조하면, 본 발명의 실시예에 따른 속성 분류부(140)는 특징값 생성부(130)에 의해 생성된 단어 특징값들을 이용하여 단어들간 유사도를 판단함에 따라 군집화하여, 학습된 단어들을 기 설정된 속성별로 분류할 수 있다.
여기서, 본 발명의 속성 분류부(140)는 복수개의 단어들에 따른 특징값들 간 코사인 유사도(cosine similarity)를 판단함으로써, 각 단어들을 군집화(clustering)할 수 있다.
이렇게, 속성 분류부(140)에 의해 단어들이 군집화됨에 따라 단어 속성 분류 장치가 분류하고자 하는 기준에 따라서, 예컨대 어느 하나의 영단어와 관련된 특정 영역에서 많이 쓰이는 단어 리스트, 상기 어느 하나의 영단어와 함께 쓰이는 단어 뭉치, 사용자의 학습 수준에 맞는 학습이 필요한 단어 리스트 및 유의어, 반의어, 동의어 등과 같은 연관 단어 리스트, 학습된 해당 영단어와 동일한 품사에 따른 단어 리스트 등을 출력할 수 있게 된다.
또 다른 일 실시예에 따르면 노래 가사에 포함되어 있는 단어들이 입력부에 입력되어, 특징값 생성부는 입력된 단어들을 학습함에 따라 각 단어의 특징값을 생성하는데, 이 때 생성된 특징값에는 음악 제목 또는 음악 장르에 대한 특징값이 포함되어 있을 수 있고, 이에 따라 본 발명의 속성 분류부는 음악 제목 또는 음악 장르라는 미리 설정된 속성을 기준으로 입력된 복수개의 단어들을 군집화 분류할 수 있다.
도7은 본 발명의 일 실시예에 따른 단어 속성 분류 장치의 동작 순서를 개략적으로 나타낸 도면이다. 도7을 참고하면, 본 발명의 단어 속성 분류 장치는 학습하고자 하는 대상 원문이 입력되면(a), 입력된 대상 원문에 포함되어 있는 단어들을 단어 임베딩 모델을 이용하여 기계 학습함에 따라(b), 분류하고자 하는 단어의 기준 속성(예를들어, 유의어, 반의어, 동의어 등)별로 서로 관련 있는 단어들을 군집화할 수 있다.
도8은 본 발명의 일 실시예에 따른 단어 속성 분류 방법을 시간의 순서에 따라 도시한 흐름도이다.
도8을 참고하면, 먼저 S800 단계에서, 본 발명의 입력부는 적어도 하나 이상의 자연어 문장을 포함하는 대상 원문을 입력 받는다.
그리고 S810 단계에서 본 발명의 단어 추출부는 상기 입력된 상기 대상 원문을, 상기 대상 원문의 상기 자연어 문장을 구성하는 단어별로 분절함에 따라 분절된 단어들을 추출한다.
그리고 S820 단계에서 본 발명의 특징값 생성부는 상기 추출된 단어들 중 하나의 타겟 단어를 선택한다.
그 후 S830 단계에서 본 발명의 특징값 생성부는 선택된 타겟 단어를 기반으로 단어 임베딩 모델(word embedding model)을 이용하여 추출된 단어들 중 적어도 일부를 학습함에 따라 각 단어의 특징값(특징벡터)을 생성한다. 여기서, 특징값 생성부의 자세한 동작설명은 위에서 상세하게 설명한 바 여기서는 생략한다.
그리고 S840 단계에서 본 발명의 속성 분류부는, 특징값 생성부로부터 생성된 단어 특징값들을 이용하여 상기 단어들간 유사도를 판단한다.
그에 따라, S850 단계에서 본 발명의 속성 분류부는 판단된 단어 특징값들의 유사도에 따라 단어들을 군집화함으로써 기 설정된 속성에 따라 상기 단어들을 분류할 수 있다.
본 실시예에서 상기 방법은, 컴퓨터, 스마트폰, 프로세서와 같은 장치에서 수행가능한 프로그램(computer program), 애플리케이션, 프로그램을 구성하는 소스 코드(source code), 명령어(instruction), 명령문, 펌웨어의 형태로 구현될 수 있다.
본 실시예에서 상기 방법을 수행하는 장치는, 상기 방법을 수행하는 컴퓨팅 능력을 가진 처리 장치이다. 이러한 처리 장치는 컴퓨터 장치와 같이 주어지는 입력이나 지령에 따른 하나 이상의 프로세스를 수행하여 응답을 생성하는 장치로 예시될 수 있다. 또한, 컴퓨터의 하나의 구성요소인 프로세서나, 특정 목적의 신호처리 장치에 포함된 프로세서의 형태로 구현될 수 있고, 스마트폰, 태블릿, 특정목적의 정보처리장치의 형태, 클라우드 컴퓨터의 형태로도 구현될 수 있다.
당업자라면 본 실시예에서 상기 장치가 프로세서, 컨트롤러, ALU(arithmetic logic unit), DSP(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서 등의 형태로 구현될 수 있음을 알 수 있다. 상기 처리 장치는 상기 예시된 하드웨어 구성요소는 물론, 소프트웨어 구성요소(software component)의 조합을 통해 구현될 수도 있다.
본 실시예에서 상기 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 상기 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 본 기술 분야에서 통상의 기술을 가진 자는 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
상술한 프로그램으로 예시되는 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어와, 데이터는 하나 이상의 컴퓨터 판독가능한 기록 매체에 저장될 수 있다. 상기 처리 장치는 상기 프로그램 소스코드나 실행 파일을 일시적으로/계속적으로 저장하는 기록 매체나 메모리를 포함할 수 있고, 외부 장치가 이를 저장하는 형태로 구현될 수도 있다.
상기 방법은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령 형태로 구현되며, 컴퓨터에서 판독가능한 가능 매체에 기록될 수 있다. 여기서, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
100: 단어 속성 분류 장치
110: 입력부
120: 단어 추출부
130: 특징값 생성부
140: 속성 분류부

Claims (12)

  1. 적어도 하나의 자연어 문장을 포함하는 대상 원문을 입력 받는 입력부;
    상기 입력된 상기 대상 원문을, 상기 자연어 문장을 구성하는 단어별로 분절하고, 의미론적 분석을 통해 분절된 단어들 중 적어도 일부를 추출하는 단어 추출부;
    단어 임베딩 모델을 이용하여 상기 추출된 단어들을 학습함에 따라 상기 추출된 각 단어의 특징값을 생성하는 특징값 생성부; 및
    상기 생성된 단어 특징값들을 이용하여 상기 생성된 단어들간 유사도를 판단함에 따라 군집화하여, 상기 추출된 단어들을 기 설정된 속성별로 분류하는 속성 분류부;
    를 포함하는 단어 속성 분류 장치.
  2. 제1항에 있어서, 상기 특징값 생성부는,
    상기 추출된 단어들 중 하나의 타겟 단어를 선택하는 타겟 단어 선택부를 더 포함하는 것을 특징으로 하는 단어 속성 분류 장치.
  3. 제2항에 있어서, 상기 특징값 생성부는,
    미리 설정된 윈도우 사이즈를 고려하여 상기 타겟 단어와 인접하거나 인접하지 않은 단어들을 분류함에 따라 네거티브 샘플링(negative sampling)을 수행하는 네거티브 샘플링부를 더 포함하는 것을 특징으로 하는 단어 속성 분류 장치.
  4. 제3항에 있어서, 상기 네거티브 샘플링부는,
    상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서, 기 설정된 기준에 따라 상기 타겟 단어와 인접한 단어인 것으로 정의되는 인접 단어들을 추출하는 인접 단어 추출부; 및
    상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서 상기 인접 단어 추출부로부터 추출된 인접 단어들을 제외한 나머지 단어로 정의되는 네거티브 샘플 단어를 추출하는 네거티브 샘플 단어 추출부;를 더 포함하는 것을 특징으로 하는 단어 속성 분류 장치.
  5. 제4항에 있어서,
    상기 네거티브 샘플링부는,
    상기 추출된 인접 단어들 및 네거티브 샘플 단어를 독립 파라미터로서 이용하는 수식에 기초하여 상기 추출된 단어들을 학습시킴으로써, 상기 추출된 단어들을 상기 기 설정된 속성별로 분류하기 위한 학습 과정에서의 노이즈를 최소화시키기 위한 네거티브 샘플링을 수행하는 것을 특징으로 하는 단어 속성 분류 장치.
  6. 제1항에 있어서,
    상기 특징값 생성부는, 상기 추출된 단어들 각각의 출현빈도를 고려하여 상기 추출된 단어들 중 적어도 하나의 단어의 특징값을 서브샘플링(subsampling)함에 따라 학습 대상 단어 후보에서 제외시키는 것을 특징으로 하는 단어 속성 분류 장치.
  7. 제1항에 있어서,
    상기 속성 분류부는, 상기 추출된 단어들의 특징벡터들간 코사인 유사도를 판단함에 따라 상기 추출된 단어들을 상기 기 설정된 속성별로 분류하는 것을 특징으로 하는 단어 속성 분류 장치.
  8. 제1항에 있어서,
    상기 단어 임베딩 모델은 입력층, 프로젝션 층 및 복수개의 출력층을 포함하는 skip-gram 학습 모델인 것을 특징으로 하는 단어 속성 분류 장치.
  9. 적어도 하나의 자연어 문장을 포함하는 대상 원문을 입력 받는 단계;
    상기 입력된 상기 대상 원문을, 상기 대상 원문의 상기 자연어 문장을 구성하는 단어별로 분절함에 따라 분절된 단어들을 추출하는 단계;
    단어 임베딩 모델을 이용하여 상기 추출된 단어들을 학습함에 따라 상기 추출된 각 단어의 특징값을 생성하는 단계; 및
    상기 생성된 단어 특징값들을 이용하여 상기 생성된 단어들간 유사도를 판단함에 따라 군집화하여, 상기 추출된 단어들을 기 설정된 속성별로 분류하는 단계;
    를 포함하는 단어 속성 분류 방법.
  10. 제9항에 있어서, 상기 특징값을 생성하는 단계는,
    상기 추출된 단어들 중 하나의 타겟 단어를 선택하는 단계;
    상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서, 기 설정된 기준에 따라 상기 타겟 단어와 인접한 단어인 것으로 정의되는 인접 단어들을 추출하는 단계; 및
    상기 타겟 단어가 속하는 적어도 하나의 자연어 문장을 구성하는 단어들 중에서 상기 추출된 인접 단어들을 제외한 나머지 단어로 정의되는 네거티브 샘플 단어를 추출하는 단계;
    를 더 포함하는 것을 특징으로 하는 단어 속성 분류 방법.
  11. 제10항에 있어서,
    상기 특징값을 생성하는 단계는,
    상기 추출된 인접 단어들 및 네거티브 샘플 단어를 독립 파라미터로서 이용하는 수식에 기초하여 상기 추출된 단어들을 학습시킴으로써, 상기 추출된 단어들을 상기 기 설정된 속성별로 분류하기 위한 학습 과정에서의 노이즈를 최소화시키기 위한 네거티브 샘플링을 수행하는 것을 특징으로 하는 단어 속성 분류 방법.
  12. 컴퓨터에서 적어도 하나의 자연어 문장을 포함하는 대상 원문을 입력 받는 단계;
    상기 입력된 상기 대상 원문을, 상기 대상 원문의 상기 자연어 문장을 구성하는 단어별로 분절함에 따라 분절된 단어들을 추출하는 단계;
    단어 임베딩 모델을 이용하여 상기 추출된 단어들을 학습함에 따라 상기 각 단어의 특징값을 생성하는 단계; 및
    상기 생성된 단어 특징값들을 이용하여 상기 단어들간 유사도를 판단함에 따라 군집화하여, 상기 추출된 단어들을 기 설정된 속성별로 분류하는 단계;를 실행시키기 위하여 컴퓨터에서 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
KR1020190004649A 2019-01-14 2019-01-14 단어 속성 분류 장치 및 방법 KR20200088088A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190004649A KR20200088088A (ko) 2019-01-14 2019-01-14 단어 속성 분류 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190004649A KR20200088088A (ko) 2019-01-14 2019-01-14 단어 속성 분류 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20200088088A true KR20200088088A (ko) 2020-07-22

Family

ID=71893250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190004649A KR20200088088A (ko) 2019-01-14 2019-01-14 단어 속성 분류 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20200088088A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112364130A (zh) * 2020-11-10 2021-02-12 深圳前海微众银行股份有限公司 样本采样方法、设备和可读存储介质
KR102265947B1 (ko) * 2020-11-23 2021-06-17 주식회사 엠로 기계 학습 기반 정보 제공 방법 및 장치
KR102327002B1 (ko) * 2020-07-27 2021-11-16 주식회사 엔터프라이즈블록체인 구매자 가치를 예측하는 영업기회정보 판매 서버 및 그 방법
KR102329920B1 (ko) * 2021-06-04 2021-11-23 가천대학교 산학협력단 기계학습된 모델을 이용한 의료원문데이터를 증강하는 방법 및 시스템
KR20220040295A (ko) * 2020-09-23 2022-03-30 네이버 주식회사 메트릭 학습을 위한 가상의 학습 데이터 생성 방법 및 시스템
US20240104300A1 (en) * 2022-09-28 2024-03-28 Korea Electric Power Corporation Apparatus and method for generating word embedding library
US12026764B2 (en) 2020-11-23 2024-07-02 Emro Co., Ltd. Method and apparatus for providing information using trained model based on machine learning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130074176A (ko) 2011-12-26 2013-07-04 울산대학교 산학협력단 말뭉치 기반의 한국어 형태소 분석장치 및 그 분석방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130074176A (ko) 2011-12-26 2013-07-04 울산대학교 산학협력단 말뭉치 기반의 한국어 형태소 분석장치 및 그 분석방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102327002B1 (ko) * 2020-07-27 2021-11-16 주식회사 엔터프라이즈블록체인 구매자 가치를 예측하는 영업기회정보 판매 서버 및 그 방법
WO2022025465A1 (ko) * 2020-07-27 2022-02-03 주식회사 엔터프라이즈블록체인 구매자 가치를 예측하는 영업기회정보 판매 서버 및 그 방법
KR20220040295A (ko) * 2020-09-23 2022-03-30 네이버 주식회사 메트릭 학습을 위한 가상의 학습 데이터 생성 방법 및 시스템
CN112364130A (zh) * 2020-11-10 2021-02-12 深圳前海微众银行股份有限公司 样本采样方法、设备和可读存储介质
CN112364130B (zh) * 2020-11-10 2024-04-09 深圳前海微众银行股份有限公司 样本采样方法、设备和可读存储介质
KR102265947B1 (ko) * 2020-11-23 2021-06-17 주식회사 엠로 기계 학습 기반 정보 제공 방법 및 장치
US12026764B2 (en) 2020-11-23 2024-07-02 Emro Co., Ltd. Method and apparatus for providing information using trained model based on machine learning
KR102329920B1 (ko) * 2021-06-04 2021-11-23 가천대학교 산학협력단 기계학습된 모델을 이용한 의료원문데이터를 증강하는 방법 및 시스템
US20240104300A1 (en) * 2022-09-28 2024-03-28 Korea Electric Power Corporation Apparatus and method for generating word embedding library
US12112128B2 (en) 2022-09-28 2024-10-08 Korea Electric Power Corporation Apparatus and method for generating word embedding library

Similar Documents

Publication Publication Date Title
Barbieri et al. Tweeteval: Unified benchmark and comparative evaluation for tweet classification
KR20200088088A (ko) 단어 속성 분류 장치 및 방법
US20240028837A1 (en) Device and method for machine reading comprehension question and answer
KR102455616B1 (ko) 멀티 모달리티를 기반으로 하는 주제 분류 방법, 장치, 기기 및 저장 매체
US20210142791A1 (en) System and Method for Intent Discovery from Multimedia Conversation
KR102088357B1 (ko) 기계독해기반 질의응답방법 및 기기
CN110414004A (zh) 一种核心信息提取的方法和系统
CN111144102B (zh) 用于识别语句中实体的方法、装置和电子设备
US11989514B2 (en) Identifying high effort statements for call center summaries
CN104750677A (zh) 语音传译装置、语音传译方法及语音传译程序
Youssef et al. MoArLex: an Arabic sentiment lexicon built through automatic lexicon expansion
CN107943940A (zh) 数据处理方法、介质、系统和电子设备
Abdallah et al. Multi-domain evaluation framework for named entity recognition tools
CN117094383B (zh) 一种语言模型的联合训练方法、系统、设备及存储介质
CN109472032A (zh) 一种实体关系图的确定方法、装置、服务器及存储介质
JP7452623B2 (ja) 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム
Khassanov et al. Enriching rare word representations in neural language models by embedding matrix augmentation
Tellez et al. Regionalized models for Spanish language variations based on Twitter
EP3822816A1 (en) Device and method for machine reading comprehension question and answer
JP2022067234A (ja) 回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム
Zhang et al. Language-agnostic and language-aware multilingual natural language understanding for large-scale intelligent voice assistant application
AbuElAtta et al. Arabic Regional Dialect Identification (ARDI) using Pair of Continuous Bag-of-Words and Data Augmentation.
US20240005104A1 (en) Data processing device, data processing method, and data processing program
JP6309852B2 (ja) 強調位置予測装置、強調位置予測方法及びプログラム
WO2022213864A1 (zh) 一种语料标注方法、装置及相关设备

Legal Events

Date Code Title Description
E601 Decision to refuse application