KR102024300B1 - 개체명 임베딩 시스템 및 방법 - Google Patents

개체명 임베딩 시스템 및 방법 Download PDF

Info

Publication number
KR102024300B1
KR102024300B1 KR1020180008343A KR20180008343A KR102024300B1 KR 102024300 B1 KR102024300 B1 KR 102024300B1 KR 1020180008343 A KR1020180008343 A KR 1020180008343A KR 20180008343 A KR20180008343 A KR 20180008343A KR 102024300 B1 KR102024300 B1 KR 102024300B1
Authority
KR
South Korea
Prior art keywords
entity name
embedding vector
embedding
document
definition document
Prior art date
Application number
KR1020180008343A
Other languages
English (en)
Other versions
KR20190038240A (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 한국과학기술원
Publication of KR20190038240A publication Critical patent/KR20190038240A/ko
Application granted granted Critical
Publication of KR102024300B1 publication Critical patent/KR102024300B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

개체명에 대한 임베딩 벡터를 생성하는 개체명 임베딩 시스템으로서, 상기 개체명을 정의한 문서를 획득하는 정의 문서 획득부, 상기 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성하는 정의 문서 임베딩 벡터 생성부, 그리고 상기 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정하는 개체명 임베딩 벡터 생성부를 포함한다.

Description

개체명 임베딩 시스템 및 방법{SYSTEM AND METHOD FOR EMBEDDING NAMED-ENTITY}
본 발명은 개체명을 임베딩하는 기술에 관한 것이다.
개체명 임베딩 벡터(Named-entity embedding Vector)란 인명, 기관명, 지명 등과 같은 고유명사나 일반적인 사전에 등록되지 않은 단어에 대한 함축적인 의미를 나타내는 벡터를 지칭하며, 개체명 임베딩이란 이러한 벡터를 생성하기 위해 해당 개체명이 포함된 문서 등을 이용하여 임베딩을 수행하는 과정을 의미한다. 개체명 임베딩은 정보 추출, 정보 검색, 텍스트 마이닝 등과 같은 다양한 분야에서 필수적으로 요구되는 작업으로서 현재 활발히 연구가 진행 중에 있으며, 기존에는 말뭉치(corpus) 내 존재하는 개체명을 벡터로 표현하는 Word2Vec을 기반으로 하는 개체명 임베딩 방법이 사용되고 있다.
그러나, Word2Vec 기반의 방법은 고려할 수 있는 문맥 정보가 개체명의 주변 단어로 제한되고, 문맥을 이용하여 개체명 임베딩을 하고자 할 때 벡터화하려는 개체명이 말뭉치에서 거의 등장하지 않은 경우에는 좋은 품질의 개체명 임베딩 벡터를 생성하기 어렵다는 문제점이 있다.
본 발명이 해결하고자 하는 과제는 개체명을 정의한 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성하고, 생성된 정의 문서 임베딩 벡터를 개체명 임베딩 벡터의 초기 벡터로 설정하고, 초기 개체명 임베딩 벡터를 단어 임베딩 방법을 통해 지속적으로 업데이트시키는 시스템 및 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 개체명에 대한 임베딩 벡터를 생성하는 개체명 임베딩 시스템은 상기 개체명을 정의한 문서를 획득하는 정의 문서 획득부, 상기 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성하는 정의 문서 임베딩 벡터 생성부, 그리고 상기 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정하는 개체명 임베딩 벡터 생성부를 포함한다.
상기 정의 문서 임베딩 벡터 생성부는 상기 문서에 대한 임의의 맥락 기억 임베딩 벡터를 설정하고, 상기 문서 내에서 미리 설정된 사이즈를 갖는 윈도우를 이동시키며 상기 윈도우에 포함된 적어도 하나 이상의 단어들을 벡터화하여 상기 임의의 맥락 기억 임베딩 벡터를 지속적으로 업데이트하고, 상기 업데이트된 맥락 기억 임베딩 벡터를 상기 정의 문서 임베딩 벡터로 결정한다.
상기 정의 문서 획득부는 상기 개체명을 제목으로 포함하는 문서 또는 상기 개체명을 미리 설정된 수 이상 포함하는 문서를 상기 개체명을 정의한 문서로서 획득한다.
상기 개체명 임베딩 벡터 생성부는 상기 개체명을 포함하는 말뭉치(corpus)를 이용하여, 상기 초기 개체명 임베딩 벡터를 업데이트한다.
상기 개체명 임베딩 벡터 생성부는 상기 말뭉치에서 상기 개체명을 기준으로 미리 설정된 범위 내에 존재하는 단어들의 임베딩 벡터를 이용하여 상기 초기 개체명 임베딩 벡터를 업데이트한다.
본 발명의 일 실시예에 따른 개체명 임베딩 시스템이 개체명에 대한 임베딩 벡터를 생성하는 방법은 상기 개체명을 정의한 문서를 획득하는 단계, 상기 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성하는 단계, 그리고 상기 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정하는 단계를 포함한다.
상기 정의 문서 임베딩 벡터를 생성하는 단계는 상기 문서에 대한 임의의 맥락 기억 임베딩 벡터를 설정하는 단계, 상기 문서 내에서 미리 설정된 사이즈를 갖는 윈도우를 이동시키며 상기 윈도우에 포함된 적어도 하나 이상의 단어들을 벡터화하여 상기 임의의 맥락 기억 임베딩 벡터를 지속적으로 업데이트하는 단계, 상기 업데이트된 맥락 기억 임베딩 벡터를 상기 정의 문서 임베딩 벡터로 결정하는 단계를 포함한다.
상기 개체명을 정의한 문서를 획득하는 단계는 상기 개체명을 제목으로 포함하는 문서 또는 상기 개체명을 미리 설정된 수 이상 포함하는 문서를 상기 개체명을 정의한 문서로서 획득한다.
본 발명의 일 실시예에 따른 개체명 임베딩 시스템이 개체명에 대한 임베딩 벡터를 생성하는 방법은 상기 개체명을 포함하는 말뭉치(corpus)를 이용하여, 상기 초기 개체명 임베딩 벡터를 업데이트하는 단계를 더 포함한다.
상기 초기 개체명 임베딩 벡터를 업데이트하는 단계는 상기 말뭉치에서 상기 개체명을 기준으로 미리 설정된 범위 내에 존재하는 단어들의 임베딩 벡터를 이용하여 상기 초기 개체명 임베딩 벡터를 업데이트한다.
본 발명에 따르면, 개체명을 정의한 문서에 포함된 단어 전체를 개체명 임베딩 벡터를 생성하는데 활용하게 되는바, 기존의 임베딩 방법보다 더욱 다양한 문맥 정보를 고려할 수 있다.
또한, 본 발명에 따르면, 개체명을 정의한 문서의 내용을 이용하여 임베딩을 수행하는바, 개체명 자체가 말뭉치에서 적게 등장하여 개체의 학습 데이터 수가 적다고 하더라도 좋은 품질의 임베딩을 획득할 수 있다.
도 1은 한 실시예에 따른 개체명 임베딩 시스템의 구조를 설명하는 도면이다.
도 2는 단락 벡터를 이용하여 정의 문서를 임베딩하는 예시적인 방법을 설명하는 도면이다.
도 3은 말뭉치를 이용하여 개체명 임베딩 벡터를 업데이트하는 예시적인 방법을 설명하는 도면이다.
도 4는 한 실시예에 따른 개체명 임베딩 시스템이 개체명 임베딩 벡터를 생성하는 방법을 설명하는 도면이다.
도 5 및 도 6은 기존의 개체명 임베딩 방법과 본 발명에 따른 개체명 임베딩 방법을 비교하는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서, "임베딩 벡터"는 단어, 문장, 문단 또는 문서의 함축적인 의미를 나타내는 벡터를 의미한다. 따라서, 개체명 임베딩 벡터는 개체명에 해당하는 대상의 함축적인 의미를 나타내는 벡터를 의미하고, 문서 임베딩 벡터는 해당 문서의 함축적인 의미를 나타내는 벡터를 의미한다.
또한, 본 명세서에서, "임베딩"은 임베딩 벡터를 생성하기 위해 단어 또는 문서를 이루는 단어를 벡터화하는 과정을 의미한다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 개체명 임베딩 시스템 및 방법에 대해 설명한다.
도 1은 한 실시예에 따른 개체명 임베딩 시스템의 구조를 설명하는 도면이다.
도 1을 참고하면, 개체명 임베딩 시스템(100)은 정의 문서 획득부(110), 정의 문서 임베딩 벡터 생성부(120) 및 개체명 임베딩 벡터 생성부(130)를 포함한다.
정의 문서 획득부(110)는 개체명을 제목으로 포함하는 문서 또는 개체명을 미리 설정된 수 이상 포함하는 문서를 개체명을 정의한 문서로서 획득한다.
구체적으로, 정의 문서 획득부(110)는 연동된 문서 데이터베이스(200)에 개체명을 전송하고, 문서 데이터베이스(200)는 데이터베이스 내 문서들 중에서 개체명을 제목에 포함하는 문서를 검색하고 검색한 문서를 개체명을 정의한 문서로서 정의 문서 획득부(110)에 전송할 수 있다.
또한, 정의 문서 획득부(110)는 연동된 문서 데이터베이스(200)에 개체명을 전송하고, 문서 데이터베이스(200)는 데이터베이스 내 문서들 중에서 개체명이 출현하는 빈도수가 미리 설정된 수 이상인 문서를 개체명을 정의한 문서로서 정의 문서 획득부(110)에 전송할 수도 있다.
예를 들면, 정의 문서 획득부(110)는 연동된 문서 데이터베이스(200)에 개체명 "Donald Trump"를 전송하고, 문서 데이터베이스(200)로부터 개체명 "Donald Trump"를 정의한 문서를 획득할 수 있다. 이 경우, 정의 문서는 "Donald Trump"를 헤드라인에 포함하는 기사 또는 "Donald Trump"를 정의한 사전 콘텐츠 등이 될 수 있다.
또한, 정의 문서 획득부(110)는 개체명뿐만 아니라 개체명의 약어, 유의어, 유사어 또는 동의어를 이용하여 개체명을 정의한 문서를 획득할 수 있다. 예를 들면, 정의 문서 획득부(110)는 문서 데이터베이스(200)로부터 "Donald", "Trump", "President Trump"등을 제목에 포함하거나 상기 단어들을 본문에 미리 설정된 수 이상 포함하는 문서를 개체명 "Donald Trump"를 정의한 문서로서 획득할 수 있다.
정의 문서 임베딩 벡터 생성부(120)는 개체명을 정의한 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성한다.
구체적으로, 정의 문서 임베딩 벡터 생성부(120)는 획득한 정의 문서에 포함된 각각의 단어에 대해 임베딩을 수행하여 단어에 대한 임베딩 벡터들을 생성하고, 생성된 단어 임베딩 벡터들을 이용하여 정의 문서 전체에 대한 임베딩 벡터를 생성한다.
일 실시예에서, 정의 문서 임베딩 벡터 생성부(120)는 개체명을 정의한 문서에 포함된 단어 각각에 대한 단어 임베딩 벡터를 생성하고, 생성된 단어 임베딩 벡터들을 모두 더하여 정의 문서 임베딩 벡터를 생성할 수 있다.
다른 실시예에서, 정의 문서 임베딩 벡터 생성부(120)는 단락 벡터(Paragraph Vector)를 이용하여 개체명을 정의한 문서에 대해 임베딩을 수행할 수 있으며, 이에 대한 자세한 내용은 도 2를 통해 설명한다.
도 2는 단락 벡터를 이용하여 정의 문서를 임베딩하는 예시적인 방법을 설명하는 도면이다.
도 2를 참고하면, 정의 문서 임베딩 벡터 생성부(120)는 Paragraph Vector 방법 중 DM(Distributed Memory) 모델에 따라 정의 문서 전체에 대한 임베딩을 수행한다. 즉, 정의 문서 임베딩 벡터 생성부(120)는 정의 문서 내에 포함되는 단어 의 주변에 존재하는 단어 A의, 단어 B 및 단어 C와 맥락 기억(Context Memory)에 대한 벡터를 이용하여 단어 A의 임베딩 벡터를 생성하고, 고려하는 단어를 결정 짓는 창(Window)을 이동시키며 이 과정을 반복함으로써 정의 문서 내에 등장하는 모든 단어의 임베딩 벡터와 함께 최종적으로 정의 문서 임베딩 벡터로 사용되게 되는 맥락 기억의 임베딩 벡터를 생성할 수 있다.
구체적으로, 정의 문서 임베딩 벡터 생성부(120)는 정의 문서에 대해 임의의 맥락 기억 임베딩 벡터를 설정하고, 정의 문서 내에서 미리 설정된 사이즈를 갖는 윈도우를 이동시키며 상기 윈도우에 포함된 적어도 하나 이상의 단어들을 벡터화하여 임의의 맥락 기억 임베딩 벡터를 지속적으로 업데이트한다.
이후, 정의 문서 임베딩 벡터 생성부(120)는 업데이트된 맥락 기억 임베딩 벡터를 상기 문서에 대한 임베딩 벡터로 결정한다.
다시 도 1로 돌아오면, 개체명 임베딩 벡터 생성부(130)는 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정한다.
예를 들면, 개체명 임베딩 벡터 생성부(130)는 "Donald Trump"를 정의한 문서에 대한 임베딩 벡터를 개체명 "Donald Trump"에 대한 초기 임베딩 벡터로 설정할 수 있다.
"Donald Trump"를 정의한 문서는 "Donald Trump"와 관련성이 높은 단어들을 다수 포함하는바 "Donald Trump"를 정의한 문서에 대한 임베딩 벡터는 제한된 문맥 정보를 이용한 개체명 "Donald Trump"에 대한 임베딩 벡터보다 품질이 우수하다. 따라서, "Donald Trump"를 정의한 문서에 대한 임베딩 벡터를 개체명 "Donald Trump"에 대한 초기 임베딩 벡터로 설정하는 경우, 기존의 방법보다 더욱 다양한 문맥 정보를 고려한 임베딩 벡터를 생성할 수 있다.
또한, 개체명 임베딩 벡터 생성부(130)는 개체명을 포함하는 말뭉치(corpus)를 이용하여, 개체명 임베딩 벡터를 업데이트한다.
구체적으로, 개체명 임베딩 벡터 생성부(130)는 말뭉치 데이터베이스(330)로부터 말뭉치를 수신한다.
또한, 개체명 임베딩 벡터 생성부(130)는 말뭉치에서 개체명을 기준으로 미리 설정된 범위 내에 존재하는 단어들의 임베딩 벡터를 이용하여 개체명 임베딩 벡터를 업데이트하며, 이에 대한 자세한 내용은 도 3을 통해 설명한다.
도 3은 말뭉치를 이용하여 개체명 임베딩 벡터를 업데이트하는 예시적인 방법을 설명하는 도면이다.
도 3을 참고하면, 개체명 임베딩 벡터 생성부(130)는 CBOW(Continuous Bag-of-Words) 모델을 사용하여 개체명 임베딩 벡터를 업데이트할 수 있다.
예를 들면, 개체명 임베딩 벡터 생성부(130)는 말뭉치 내에 존재하는 개체명을 기준으로 앞뒤로 C/2개씩 총 C개의 단어를 입력 레이어에 맵핑하고, 입력 레이어를 VxN 크기의 Projection Matrix W를 이용하여 히든 레이어(프로젝션 레이어)를 생성한다. 즉, 개체명 임베딩 벡터 생성부(130)는 입력 단어의 임베딩 벡터를 Projection Matrix W에 곱하여 N 차원의 벡터를 만들고, 이렇게 만들어진 벡터를 합산하여 최종적으로 히든 레이어 벡터를 생성한다. 이후, 개체명 임베딩 벡터 생성부(130)는 히든 레이어에 NxV 크기의 Weight Matrix W'를 곱하여 V 크기의 출력 레이어를 생성함으로써 최종적으로 말뭉치에 포함된 단어들과 개체명에 대한 임베딩을 업데이트한다.
이 경우, 개체명 임베딩 벡터 생성부(130)는 개체명의 약어, 유의어, 유사어 또는 동의어에 대해 임베딩을 수행하고, 이를 이용하여 개체명 임베딩 벡터를 업데이트할 수 있다. 예를 들면, 개체명 임베딩 벡터 생성부(130)는 말뭉치 내 존재하는 "Donald", "Trump", "President Trump"에 대한 임베딩 벡터를 생성하고, 생성된 임베딩 벡터의 평균값을 개체명 "Donald Trump"에 대한 임베딩 벡터값에 적용하여 개체명 "Donald Trump"에 대한 임베딩 벡터를 업데이트할 수 있다.
다시 도 1로 돌아오면, 문서 데이터베이스(200)는 정의 문서 획득부(110)와 연동되어 정의 문서 획득부(110)로부터 개체명을 수신하고, 수신한 개체명을 제목에 포함하거나 본문에 미리 설정된 수 이상 포함하는 문서를 정의 문서 획득부(110)에 전송한다.
문서 데이터베이스(200)는 특정 개체에 대한 정보를 포함하는 문서들을 저장하는 서버를 지칭하며, 예를 들면, 위키피디아 서버와 같은 사전 서비스를 제공하는 서버일 수 있다.
말뭉치 데이터베이스(300)는 개체명 임베딩 벡터 생성부(130)와 연동되어 개체명 임베딩 벡터 생성부(130)로부터 개체명을 수신하고, 수신한 개체명을 포함하는 하나 이상의 말뭉치를 개체명 임베딩 벡터 생성부(130)에 전송하는 서버를 지칭한다.
도 4는 한 실시예에 따른 개체명 임베딩 시스템이 개체명 임베딩 벡터를 생성하는 방법을 설명하는 도면이다.
도 4를 참고하면, 개체명 임베딩 시스템(100)은 개체명을 정의한 문서를 획득한다(S100).
일 실시예에서, 개체명 임베딩 시스템(100)은 문서 데이터베이스(200)에 저장된 문서들 중에서, 문서의 제목이 개체명을 포함하는 문서를 검색하고, 검색한 문서를 획득할 수 있다.
다른 실시예에서, 개체명 임베딩 시스템(100)은 문서의 콘텐츠에서 개체명이 출현하는 빈도수가 미리 설정된 수 이상인 문서를 검색하고, 검색한 문서를 개체명을 정의한 문서로서 획득할 수도 있다. 개체명 임베딩 시스템(100)은 그 밖에 다양한 실시예를 통해 개체명을 정의한 문서를 획득할 수 있다.
예를 들면, 개체명 임베딩 시스템(100)은 위키피디아와 같은 문서 데이터베이스와 연동하고 개체명 "Donald Trump"를 문서 데이터베이스에 검색하여, 문서 데이터베이스로부터 "Donald Trump"를 제목으로 포함하는 문서를 개체명 "Donald Trump"를 정의한 문서로서 획득할 수 있고, 문서 내에 개체명 "Donald Trump"가 미리 설정된 수 이상 출연하는 문서를 개체명 "Donald Trump"를 정의한 문서로서 획득할 수도 있다.
개체명 임베딩 시스템(100)은 개체명을 정의한 문서를 임베딩하여, 정의 문서 임베딩 벡터를 생성한다(S110).
구체적으로, 개체명 임베딩 시스템(100)은 정의 문서에 대해 임의의 맥락 기억 임베딩 벡터를 설정하고, 정의 문서 내에서 미리 설정된 사이즈를 갖는 윈도우를 이동시키며 상기 윈도우에 포함된 적어도 하나 이상의 단어들을 벡터화하여 임의의 맥락 기억 임베딩 벡터를 지속적으로 업데이트한다.
이후, 개체명 임베딩 시스템(100)은 상기 업데이트된 임베딩 벡터를 정의 문서 임베딩 벡터로 결정한다.
개체명 임베딩 시스템(100)은 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정한다(S120).
예를 들면, 개체명 임베딩 시스템(100)은 개체명 "Donald Trump"를 정의한 문서에 대한 임베딩 벡터를 개체명 "Donald Trump"자체에 대한 임베딩 벡터의 초기값으로 설정할 수 있다.
이 경우, 개체명 "Donald Trump"를 정의한 문서는 "Donald Trump"와 관련성이 높은 단어들을 다수 포함하는바, 개체명 "Donald Trump"를 정의한 문서에 대한 임베딩 벡터는 제한된 문맥 정보를 이용한 개체명 "Donald Trump"의 임베딩 벡터보다 품질이 우수하다.
개체명 임베딩 시스템(100)은 개체명을 포함하는 말뭉치(corpus)를 이용하여, 개체명 임베딩 벡터를 업데이트한다(S130).
구체적으로, 개체명 임베딩 시스템(100)은 상기 말뭉치에서 상기 개체명을 기준으로 미리 설정된 범위 내에 있는 주변 단어를 벡터화하여 개체명 임베딩 벡터를 업데이트한다.
도 5 및 도 6은 기존의 개체명 임베딩 방법과 본 발명에 따른 개체명 임베딩 방법을 비교하는 도면이다.
도 5를 참고하면, 기존의 개체명 임베딩 방법은 우선, 개체명 탐지 및 연결 결과를 이용하여 문서에 포함된 각각의 개체명에 고유한 식별자를 부여한다. 예를 들면, 도 5에서, 개체명 "Donald John Trump", "President", "United States" 각각에 고유한 식별자를 부여할 수 있다.
이후, 기존의 개체명 임베딩 방법은 식별자가 부여된 개체명의 임베딩 벡터를 생성한다. 구체적으로, 기존의 개체명 임베딩 방법은 말뭉치에서 식별자가 부여된 개체명과 개체명 주변의 단어들 간의 문맥 정보를 이용하여 식별자가 부여된 개체명을 임베딩하며, 결과적으로 개체명과 주변 단어들과의 관계를 벡터로서 표현하는 개체명 임베딩 벡터를 생성한다. 예를 들면, 기존의 개체명 임베딩 방법은 상기 과정을 수행하기 위해 CBOW 모델 또는 Skip-gram 모델을 이용할 수 있다.
기존의 개체명 임베딩 방법은 개체명에 대한 임베딩 벡터를 생성함에 있어, 말뭉치 내에 존재하는 개체명 주변의 단어들(예를 들면, 개체명이 속한 문장 안에 있는 단어들)만을 고려한다. 따라서, 고려할 수 있는 문맥 정보가 개체명의 주변 단어로 제한된다.
예를 들면, 도 5에서, 한 문장 단위로 개체명 임베딩을 수행한다고 가정할 때, 개체명 "Donald John Trump"에 대해 임베딩을 수행하는 경우 "Presient" 및 "United States"만이 고려되며, 다른 문장에 존재하는 "businessman", "politics" 및 "television personality"는 고려되지 않는다.
또한, 기존의 개체명 임베딩 방법은 만일 말뭉치 내에 개체명의 출현빈도가 낮은 경우 개체명 임베딩의 품질은 낮을 수 밖에 없으며, 이는 말뭉치 내에 존재하는 다른 개체명 임베딩의 품질까지 저하시키게 된다.
이와 달리, 도 6을 참고하면, 본 발명에 따른 개체명 임베딩 방법은 개체명을 정의한 문서의 전체 내용을 이용하여 최초 개체명 임베딩 벡터를 우선 생성한다.
예를 들면, 본 발명에 따른 개체명 임베딩 방법은 개체명 "Donald Trump"를 정의한 문서에 포함된 단어들 각각에 대해 생성한 임베딩 벡터를 모두 합하여 정의 문서 임베딩 벡터를 생성하고 이를 개체명 "Donald Trump"의 임베딩 벡터로 설정할 수 있다. 이에 따라, 개체명 "Donald Trump"에 대한 임베딩 벡터는 "Presient" 및 "United States" 뿐만 아니라, 다른 문장에 존재하는 "businessman", "politics" 및 "television personality"까지 고려하여 생성된다.
이후, 본 발명에 따른 개체명 임베딩 방법은 말뭉치를 이용하여 초기 개체명 임베딩 벡터를 업데이트시킨다. 업데이트 과정에서 기존의 개체명 임베딩 방법과 동일하게 한 문장 단위로 개체명 임베딩을 수행하더라도, 초기 개체명 임베딩 벡터 생성 과정에서 정의 문서 전체를 기준으로 임베딩 벡터를 생성한바, 도 6에서 고려되지 않았던 "businessman", "politics" 및 "television personality"가 고려되어 개체명 임베딩 벡터가 생성된다. 따라서, 본 발명에 따른 개체명 임베딩 방법은 기존의 개체명 임베딩 방법에 의해 생성된 개체명 임베딩 벡터보다 좋은 품질의 임베딩 벡터를 생성할 수 있다.
본 발명에 따르면, 개체명을 정의한 문서에 포함된 단어 전체를 개체명 임베딩 벡터를 생성하는데 활용하게 되는바, 기존의 임베딩 방법보다 더욱 다양한 문맥 정보를 고려할 수 있다.
또한, 본 발명에 따르면, 개체명을 정의한 문서의 내용을 이용하여 임베딩을 수행하는바, 개체명 자체가 말뭉치에서 적게 등장하여 개체의 학습 데이터 수가 적다고 하더라도 좋은 품질의 임베딩을 획득할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (10)

  1. 개체명에 대한 임베딩 벡터를 생성하는 개체명 임베딩 시스템으로서,
    상기 개체명을 제목으로 포함하거나 상기 개체명을 미리 설정된 수 이상 포함하고 상기 개체명을 정의한 정의 문서를 획득하는 정의 문서 획득부,
    상기 정의 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성하는 정의 문서 임베딩 벡터 생성부, 그리고
    상기 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정하고, 상기 개체명을 포함하는 말뭉치(corpus)를 이용하여, 상기 초기 개체명 임베딩 벡터를 업데이트하는 개체명 임베딩 벡터 생성부
    를 포함하는 개체명 임베딩 시스템.
  2. 제1항에서,
    상기 정의 문서 임베딩 벡터 생성부는
    상기 정의 문서에 대한 임의의 맥락 기억 임베딩 벡터를 설정하고, 상기 정의 문서 내에서 미리 설정된 사이즈를 갖는 윈도우를 이동시키며 상기 윈도우에 포함된 적어도 하나 이상의 단어들을 벡터화하여 상기 임의의 맥락 기억 임베딩 벡터를 지속적으로 업데이트하고, 상기 업데이트된 맥락 기억 임베딩 벡터를 상기 정의 문서 임베딩 벡터로 결정하는 개체명 임베딩 시스템.
  3. 삭제
  4. 삭제
  5. 제1항에서,
    상기 개체명 임베딩 벡터 생성부는
    상기 말뭉치에서 상기 개체명을 기준으로 미리 설정된 범위 내에 존재하는 단어들의 임베딩 벡터를 이용하여 상기 초기 개체명 임베딩 벡터를 업데이트하는 개체명 임베딩 시스템.
  6. 개체명 임베딩 시스템이 개체명에 대한 임베딩 벡터를 생성하는 방법으로서,
    상기 개체명을 제목으로 포함하거나 상기 개체명을 미리 설정된 수 이상 포함하고 상기 개체명을 정의한 정의 문서를 획득하는 단계,
    상기 정의 문서를 임베딩하여 정의 문서 임베딩 벡터를 생성하는 단계,
    상기 정의 문서 임베딩 벡터를 초기 개체명 임베딩 벡터로 설정하는 단계, 그리고
    상기 개체명을 포함하는 말뭉치(corpus)를 이용하여, 상기 초기 개체명 임베딩 벡터를 업데이트하는 단계
    를 포함하는 개체명 임베딩 벡터 생성 방법.
  7. 제6항에서,
    상기 정의 문서 임베딩 벡터를 생성하는 단계는
    상기 정의 문서에 대한 임의의 맥락 기억 임베딩 벡터를 설정하는 단계,
    상기 정의 문서 내에서 미리 설정된 사이즈를 갖는 윈도우를 이동시키며 상기 윈도우에 포함된 적어도 하나 이상의 단어들을 벡터화하여 상기 임의의 맥락 기억 임베딩 벡터를 지속적으로 업데이트하는 단계, 그리고
    상기 업데이트된 맥락 기억 임베딩 벡터를 상기 정의 문서 임베딩 벡터로 결정하는 단계
    를 포함하는 개체명 임베딩 벡터 생성 방법.
  8. 삭제
  9. 삭제
  10. 제6항에서,
    상기 초기 개체명 임베딩 벡터를 업데이트하는 단계는
    상기 말뭉치에서 상기 개체명을 기준으로 미리 설정된 범위 내에 존재하는 단어들의 임베딩 벡터를 이용하여 상기 초기 개체명 임베딩 벡터를 업데이트하는 개체명 임베딩 벡터 생성 방법.
KR1020180008343A 2017-09-28 2018-01-23 개체명 임베딩 시스템 및 방법 KR102024300B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170126364 2017-09-28
KR20170126364 2017-09-28

Publications (2)

Publication Number Publication Date
KR20190038240A KR20190038240A (ko) 2019-04-08
KR102024300B1 true KR102024300B1 (ko) 2019-09-24

Family

ID=66164888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180008343A KR102024300B1 (ko) 2017-09-28 2018-01-23 개체명 임베딩 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102024300B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210046487A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 데이터 베이스에 포함된 데이터를 분석하는 데이터 분석 장치 및 방법
KR102526055B1 (ko) * 2022-09-23 2023-04-26 서울시립대학교 산학협력단 관계형 테이블 임베딩 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101494795B1 (ko) 2014-06-25 2015-02-23 서울시립대학교 산학협력단 문서를 매트릭스로 표현하는 방법
JP2016161968A (ja) 2015-02-26 2016-09-05 日本電信電話株式会社 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム
JP2017142746A (ja) 2016-02-12 2017-08-17 日本電信電話株式会社 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160133349A (ko) * 2015-05-12 2016-11-22 삼성전자주식회사 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101494795B1 (ko) 2014-06-25 2015-02-23 서울시립대학교 산학협력단 문서를 매트릭스로 표현하는 방법
JP2016161968A (ja) 2015-02-26 2016-09-05 日本電信電話株式会社 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム
JP2017142746A (ja) 2016-02-12 2017-08-17 日本電信電話株式会社 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김도우, "Doc2Vec을 활용한 CNN 기반 한국어 신문 기사분류에 관한 연구", 석사논문, 2017년1월*
유홍영, 고영중, "Bidirectional LSTM CRF 기반의 개체명 인식을 위한 단어 표상의 확장", 정보과학회논문지, pp. 306~313, 2017년3월*

Also Published As

Publication number Publication date
KR20190038240A (ko) 2019-04-08

Similar Documents

Publication Publication Date Title
US10726204B2 (en) Training data expansion for natural language classification
KR102033395B1 (ko) 심층 자연어 질문 분석 기반 구조화된 지식베이스 질의응답 시스템 및 그 방법
CN109241286B (zh) 用于生成文本的方法和装置
WO2014126657A1 (en) Latent semantic analysis for application in a question answer system
KR20010019414A (ko) 멀티미디어 데이타의 키워드 자가 생성방법 및 멀티미디어 데이타구조
CN109725980B (zh) 生成镜像标签的方法、设备以及计算机可读介质
US11687570B2 (en) System and method for efficient multi-relational entity understanding and retrieval
KR101623860B1 (ko) 문서 요소에 대한 유사도를 산출하는 방법
CN111160030A (zh) 一种信息抽取方法、装置、及存储介质
KR102024300B1 (ko) 개체명 임베딩 시스템 및 방법
US11461394B2 (en) Storing semi-structured data
CN111443964A (zh) 更新用户界面的方法、设备和计算机程序产品
MXPA04007146A (es) Metodo y aparato para resolucion de nombre de ruta de aglutinacion tardia/dinamica.
CN114462384A (zh) 一种面向数字对象建模的元数据自动生成装置
Patel et al. Web page classification on news feeds using hybrid technique for extraction
Otunuga Global stability of nonlinear stochastic SEI epidemic model with fluctuations in transmission rate of disease
WO2018111700A3 (en) Contextually sensitive summary
JP6867963B2 (ja) 要約評価装置、方法、プログラム、及び記憶媒体
CN109117471B (zh) 一种词语相关度的计算方法及终端
KR20200106108A (ko) 딥러닝 기반의 특허정보 워드임베딩 방법 및 그 시스템
US20200387815A1 (en) Building training data and similarity relations for semantic space
JP6787755B2 (ja) 文書検索装置
CN113780827A (zh) 一种物品筛选方法、装置、电子设备及计算机可读介质
CN108536685B (zh) 信息处理装置
CN109800438B (zh) 用于生成信息的方法和装置

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
GRNT Written decision to grant