KR102483927B1 - 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치 - Google Patents

계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치 Download PDF

Info

Publication number
KR102483927B1
KR102483927B1 KR1020190155815A KR20190155815A KR102483927B1 KR 102483927 B1 KR102483927 B1 KR 102483927B1 KR 1020190155815 A KR1020190155815 A KR 1020190155815A KR 20190155815 A KR20190155815 A KR 20190155815A KR 102483927 B1 KR102483927 B1 KR 102483927B1
Authority
KR
South Korea
Prior art keywords
attention
context
word
vector
sentence
Prior art date
Application number
KR1020190155815A
Other languages
English (en)
Other versions
KR20210066505A (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 KR1020190155815A priority Critical patent/KR102483927B1/ko
Priority to PCT/KR2019/016770 priority patent/WO2021107231A1/ko
Publication of KR20210066505A publication Critical patent/KR20210066505A/ko
Application granted granted Critical
Publication of KR102483927B1 publication Critical patent/KR102483927B1/ko

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Abstract

문장 내에 포함된 단어의 단어 임베딩 벡터를 생성하는 단계, 외부 도메인으로부터 수집된, 단어에 관한 계층적 단어 정보 및 단어 임베딩 벡터를 바탕으로 적어도 두 개의 맥락 어텐션 벡터를 생성하는 단계, 및 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 단계를 통해 문장을 인코딩하는 방법 및 인코더가 제공된다.

Description

계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치{METHOD AND APPARATUS FOR ENCODING SENTENCE USING HIERARCHICAL WORD INFORMATION}
본 기재는 계층적 단어 정보를 이용함으로써 문장을 인코딩하는 방법 및 장치에 관한 것이다.
독해 시스템은 자연어 질의가 입력되면 문서 내의 본문에서 알맞은 답을 출력하는 시스템으로서 질의 응답 시스템의 한 종류이다. 최근 독해 시스템은 딥러닝 기술의 발전과 함께 그 성능이 많이 향상되었다. 이들 독해 시스템은 자연어 질의 문장을 문서 내의 본문 전체와 비교하여 정답을 찾는다.
한 실시예는, 계층적 단어 정보를 사용하여 문장을 인코딩하는 방법을 제공한다.
다른 실시예는, 계층적 단어 정보를 사용하여 문장을 인코딩하는 인코더를 제공한다.
또 다른 실시예는, 계층적 단어 정보를 사용하는 인코더를 포함하는 질의 응답 장치를 제공한다.
한 실시예에 따르면, 문장을 인코딩하는 방법이 제공된다. 상기 문장 인코딩 방법은, 문장 내에 포함된 단어의 단어 임베딩 벡터를 생성하는 단계, 외부 도메인으로부터 수집된, 단어에 관한 계층적 단어 정보 및 단어 임베딩 벡터를 바탕으로 적어도 두 개의 맥락 어텐션 벡터를 생성하는 단계, 및 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 단계를 포함한다.
상기 문장 인코딩 방법에서 적어도 두 개의 맥락 어텐션 벡터는 장소 맥락에 관한 장소 어텐션 벡터 및 시간 맥락에 관한 시간 어텐션 벡터를 포함할 수 있다.
상기 문장 인코딩 방법에서 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 단계는, 장소 어텐션 벡터 및 시간 어텐션 벡터를 요소별 합산으로 결합하는 단계를 포함할 수 있다.
상기 문장 인코딩 방법에서 단어가 맥락 단어일 때, 계층적 단어 정보는 맥락 단어의 상위 개념을 계층적으로 포함할 수 있다.
상기 문장 인코딩 방법에서 맥락 단어가 장소의 명칭일 때, 계층적 단어 정보는 장소가 위치한 지역의 명칭 또는 장소가 위치한 국가명을 포함할 수 있다.
상기 문장 인코딩 방법에서 맥락 단어가 특정 년도일 때, 계층적 단어 정보는 특정 년도를 포함하는 10년 단위의 년도 표현 또는 100년 단위의 년도 표현을 포함할 수 있다.
다른 실시예에 따르면, 문장을 인코딩하는 인코더가 제공된다. 상기 인코더는 문장 내에 포함된 단어의 단어 임베딩 벡터를 생성하는 단어 임베더, 외부 도메인으로부터 수집된 단어에 관한 계층적 단어 정보를 저장하는 데이터베이스, 계층적 단어 정보 및 단어 임베딩 벡터를 바탕으로 적어도 두 개의 맥락 어텐션 벡터를 어텐션 결정부, 및 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 어텐션 결합부를 포함한다.
상기 인코더에서 적어도 두 개의 맥락 어텐션 벡터는 장소 맥락에 관한 장소 어텐션 벡터 및 시간 맥락에 관한 시간 어텐션 벡터를 포함할 수 있다.
상기 인코더에서 어텐션 결합부는, 장소 어텐션 벡터 및 시간 어텐션 벡터를 요소별 합산으로 결합할 수 있다.
상기 인코더에서 단어가 맥락 단어일 때, 계층적 단어 정보는 맥락 단어의 상위 개념을 계층적으로 포함할 수 있다.
상기 인코더에서 맥락 단어가 장소의 명칭일 때, 계층적 단어 정보는 장소가 위치한 지역의 명칭 또는 장소가 위치한 국가명을 포함할 수 있다.
상기 인코더에서 맥락 단어가 특정 년도일 때, 계층적 단어 정보는 특정 년도를 포함하는 10년 단위의 년도 표현 또는 100년 단위의 년도 표현을 포함할 수 있다.
또 다른 실시예에 따르면, 오픈 도메인 질의에 응답하는 질의 응답 장치가 제공된다. 상기 질의 응답 장치는, 외부 도메인으로부터 수집되는 계층적 단어 정보를 바탕으로 질의의 문장 임베딩 벡터를 생성하고, 문서의 맥락 임베딩 벡터를 생성하는 인코더, 문장 임베딩 벡터 및 맥락 임베딩 벡터를 비교함으로써 질의와 문서 간의 유사도를 결정하는 임베딩 비교부, 및 유사도를 바탕으로 문서 내에서 질의에 대한 정답 후보를 결정하는 정답 후보 결정부를 포함한다.
또 다른 실시예에 따르면, 오픈 도메인 질의에 응답하는 질의 응답 장치가 제공된다. 상기 질의 응답 장치는 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 프로그램을 실행하여, 외부 도메인으로부터 수집되는 계층적 단어 정보를 바탕으로 질의의 문장 임베딩 벡터를 생성하고, 문서 내의 복수의 문장에 대한 맥락 임베딩 벡터를 생성하는 단계, 문장 임베딩 벡터 및 맥락 임베딩 벡터를 비교함으로써 질의와 복수의 문장 간의 유사도를 각각 결정하는 단계, 및 유사도를 바탕으로 복수의 문장 중에서 질의에 대한 정답 후보를 결정하는 단계를 수행한다.
외부 도메인으로부터 수집되는 계층적 단어 정보가 활용됨으로써 맥락의 의미가 유사한 문장들의 문장 임베딩 벡터가 유사하게 출력될 수 있도록 언어 모델의 학습이 수행될 수 있다.
도 1은 한 실시예에 따른 문장 인코더를 나타낸 블록도이다.
도 2는 한 실시예에 따른 문장 임베딩 방법을 나타낸 흐름도이다.
도 3은 한 실시예에 따른 문장 임베딩 방법을 나타낸 개념도이다.
도 4는 한 실시예에 따른 장소 맥락에 관한 계층적 단어 정보를 나타낸 도면이다.
도 5는 한 실시예에 따른 시간 맥락에 관한 계층적 단어 정보를 나타낸 도면이다.
도 6은 한 실시예에 따른 질의 응답 장치를 나타낸 블록도이다.
도 7은 다른 실시예에 따른 인코더를 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 기재의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 기재는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 기재를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서, '맥락 정보(context information)'는 질의(query) 또는 문서에 대한 장소, 시간, 또는 토픽 중 적어도 하나를 포함하는 단어를 지칭할 수 있다. 예를 들어, 질의가 "who is governor of Ohio in 2011?"일 때, 맥락 정보는 장소를 나타내는 "Ohio" 및 시간을 나타내는 "2011"일 수 있고, 또는 질문의 토픽을 나타내는 'history'일 수 있다.
본 명세서에서 '임베딩 벡터'는 맥락 정보의 의미를 함축적으로 나타내는, 고정 길이의 k차원의 벡터를 지칭할 수 있다. '임베딩 벡터'는 '맥락 임베딩 벡터' 또는 '맥락 공간'으로 표현될 수 있다.
도 1은 한 실시예에 따른 문장 인코더를 나타낸 블록도이다.
한 실시예에 따른 문장 인코더(100)는 질의 문장 또는 문서 내의 문장을 인코딩하여 문장 임베딩 벡터를 생성할 수 있다. 도 1을 참조하면, 한 실시예에 따른 문장 인코더(100)는, 단어 임베더(110), 어텐션 결정부(120), 및 어텐션 결합부(130)를 포함한다.
단어 임베더(110)는 문장 내의 단어(예를 들어, 맥락 단어)를 인코딩하여 단어 임베딩 벡터를 생성한다. 인코딩되는 단어가 문장 내의 맥락 단어일 때, 문장 내에서 맥락 단어를 결정하는 방법은 여기서 제한되지 않는다. 하나의 문장 내에 포함된 복수의 단어 중 i번째 단어의 단어 임베딩 벡터는 yi로 표현될 수 있다. 단어 임베더(110)는 word2vec, GloVe, BERT 등의 인공지능 언어 모델에 포함될 수 있다. 한 실시예에 따른 단어 임베더(110)는 질의 문장 내의 단어를 인코딩하여 단어 임베딩 벡터를 생성할 수 있고, 질의와 관련된 문서 또는 질의의 정답을 포함하는 문서 내의 단어를 인코딩하여 단어 임베딩 벡터를 생성할 수 있다.
어텐션 결정부(120)는 단어 임베딩 벡터로부터 문장 임베딩을 출력하기 위해 사용되는 어텐션 매트릭스, 어텐션 가중치 매트릭스, 및 계층 정보 기반 어텐션 매트릭스를 결정한다. 어텐션 결정부(120)는 어텐션 매트릭스에 기반하여 어텐션 가중치 매트릭스 및 계층 정보 기반 어텐션 매트릭스를 결정할 수 있다.
어텐션 결정부(120)는 맥락 단어에 관한 계층적 단어 정보를 데이터베이스(200)에서 조회하고, 맥락 단어의 단어 임베딩 벡터와 조회된 계층적 단어 정보를 바탕으로 맥락 어텐션 벡터를 생성할 수 있다. 어텐션 결정부(120)가 맥락 어텐션 벡터를 생성할 때 어텐션 가중치 매트릭스도 사용될 수 있다.
계층적 단어 정보는 하나의 맥락 단어에 관한 계층 정보이다. 맥락 단어가 장소에 관한 명칭일 때, 데이터베이스(200)에는 해당 장소가 위치한 지역의 명칭, 해당 장소가 위치한 국가명 등이 외부 도메인으로부터 계층적 단어 정보로서 미리 저장될 수 있다. 또는 맥락 단어가 특정 년도일 때, 데이터베이스(200)에는 특정 년도를 포함하는 10년 단위의 년도 표현, 100년 단위의 년도 표현(즉, 세기(century))이 계층적 단어 정보로서 미리 저장될 수 있다. 예를 들어, 어텐션 결정부(120)는 하나의 맥락 단어의 부모단어셋(parent set)을 데이터베이스(200)로부터 조회하고, 부모단어셋을 사용하여 계층 정보 기반 어텐션 매트릭스를 결정할 수 있다. 이때 맥락 단어의 부모단어셋은 맥락 단어의 계층적 단어 정보의 한 종류이다.
맥락 어텐션 벡터는 장소 맥락에 관한 장소 어텐션 벡터 및 시간 맥락에 관한 시간 어텐션 벡터를 포함할 수 있다. 장소 어텐션 벡터는 장소에 관한 맥락 어텐션이 반영된 단어 임베딩 벡터를 바탕으로 생성될 수 있고, 시간 어텐션 벡터는 시간에 관한 맥락 어텐션이 반영된 단어 임베딩 벡터를 바탕으로 생성될 수 있다. 맥락 어텐션 벡터는 장소 및 시간이 아닌 다른 맥락(인물, 사물의 명칭 등)에 관한 것일 수 있다.
어텐션 결합부(130)는 각 단어 임베딩 벡터로부터 생성된, 장소 어텐션 벡터 및 시간 어텐션 벡터를 결합하여 문장 임베딩을 생성한다. 어텐션 결합부(130)는 두 개의 어텐션 벡터를 요소별(element-wise) 연산(합, 곱 등), 평균 연산, 가중합 등을 통해 결합할 수 있다.
도 2는 한 실시예에 따른 문장 임베딩 방법을 나타낸 흐름도이고, 도 3은 한 실시예에 따른 문장 임베딩 방법을 나타낸 개념도이다.
도 2를 참조하면, 문장 인코더(100)의 단어 임베더(110)는 문장 내의 각 단어를 인코딩하여 단어 임베딩 벡터를 생성한다(S110). 도 3을 참조하면, 문장 내의 m개의 맥락 단어는 Ohio, governor, 2011를 포함하고, 각 맥락 단어의 인코딩에 의해 생성되는 단어 임베딩 벡터는 y1 내지 ym이다.
다음, 어텐션 결정부(120)는 각 단어 임베딩 벡터에 대응하는 어텐션 가중치 매트릭스 및 계층 정보 기반 어텐션 매트릭스를 사용하여 각 맥락 어텐션에 대한 어텐션 벡터를 생성한다(S120). 도 3을 참조하면 어텐션 결정부(120)는 맥락 어텐션에 대한 어텐션 벡터로서, 장소 어텐션 벡터(ZLOC) 및 시간 어텐션 벡터(ZTIME)을 결정할 수 있다.
한 실시예에 따르면, 어텐션 결정부(120)는 하나의 단어 임베딩 벡터 yj, 단어 임베딩 벡터에 할당된 가중치 Ws, 및 바이어스 bs를 바탕으로 어텐션 매트릭스를 결정할 수 있다. 하나의 문장 내의 j번째 단어 임베딩 벡터에 대한 어텐션 매트릭스
Figure 112019123085621-pat00001
는 아래 수학식 1과 같이 결정될 수 있다.
Figure 112019123085621-pat00002
수학식 1에서 가중치 Ws는 단어 임베딩 벡터에 맥락 어텐션이 반영될 수 있도록 맥락 단어마다 미리 결정될 수 있다. 문장 내에 포함된 단어 중에서 장소 맥락에 관한 단어에 대응되는 가중치 Ws는 다른 단어(장소에 관한 것이 아님)의 가중치에 비해 큰 값으로 미리 결정되어 있을 수 있다. 예를 들어, 맥락 단어가 'Ohio'일 때, 'Ohio'로부터 생성된 단어 임베딩 벡터에 대응하는 가중치는 장소를 나타내지 않는 다른 단어의 단어 임베딩 벡터의 가중치에 비해 크다. 또는 문장 내에 포함된 단어 중에서 시간 맥락에 관한 단어에 대응되는 가중치 Ws가 다른 단어(시간에 관한 것이 아님)의 가중치에 비해 큰 값으로 미리 결정되어 있을 수 있다. 예를 들어, 맥락 단어가 '2011'일 때, '2011'로부터 생성된 단어 임베딩 벡터에 대응하는 가중치는 시간을 나타내지 않는 다른 단어의 단어 임베딩 벡터의 가중치에 비해 크다.
어텐션 결정부(120)는 어텐션 매트릭스
Figure 112019123085621-pat00003
를 바탕으로 어텐션 가중치 매트릭스를 결정할 수 있다. 하나의 문장 내의 j번째 단어 임베딩 벡터에 대한 어텐션 가중치 매트릭스
Figure 112019123085621-pat00004
는 아래 수학식 2와 같이 결정될 수 있다.
Figure 112019123085621-pat00005
수학식 2와 도 3을 참조하면, m은 하나의 문장에 포함된 맥락 단어의 개수이다.
어텐션 결정부(120)는 어텐션 매트릭스
Figure 112019123085621-pat00006
를 바탕으로 계층 정보 기반 어텐션 매트릭스를 결정할 수 있다. 하나의 문장 내의 맥락 단어가 i번째 계층에 위치할 때의 계층 정보 기반 어텐션 매트릭스
Figure 112019123085621-pat00007
는 아래 수학식 3과 같이 결정될 수 있다.
Figure 112019123085621-pat00008
수학식 3에서 i는 1 내지 p 사이의 자연수이고, p는 맥락 단어에 관한 계층적 단어 정보의 계층의 개수이다. 그리고 어텐션 결정부(120)가 어텐션 가중치 매트릭스 및 계층 정보 기반 어텐션 매트릭스를 바탕으로 생성하는 맥락 어텐션 벡터
Figure 112019123085621-pat00009
는 아래 수학식 4와 같다.
Figure 112019123085621-pat00010
수학식 4를 참조하면, 하나의 맥락 어텐션 벡터
Figure 112019123085621-pat00011
는 단어 임베딩 벡터 yj, 어텐션 가중치 매트릭스
Figure 112019123085621-pat00012
, 및 계층 정보 기반 어텐션 매트릭스
Figure 112019123085621-pat00013
를 바탕으로 결정될 수 있다. 도 3을 참조하면, 어텐션 결정부(120)는 장소 어텐션 벡터(ZLOC) 및 시간 어텐션 벡터(ZTIME)을 결정할 수 있다.
아래에서는 도 4 및 도 5를 통해서, 외부 도메인에서 수집되어 데이터베이스(200)에 미리 저장되어 있는 장소 맥락에 관한 계층적 단어 정보 및 시간 맥락에 관한 계층적 단어 정보가 설명된다.
도 4는 한 실시예에 따른 장소 맥락에 관한 계층적 단어 정보를 나타낸 도면이고, 도 5는 한 실시예에 따른 시간 맥락에 관한 계층적 단어 정보를 나타낸 도면이다.
한 실시예에 따르면 문장 내에 포함된 맥락 단어에 관한 계층적 단어 정보는 맥락 단어의 상위 개념을 계층적으로 포함할 수 있으며, 외부 도메인으로부터 수집될 수 있다. 도 4를 참조하면, 문장에 포함된 장소 맥락 단어인 'Ohio'는 데이터베이스(200)에 저장된 계층적 단어 정보 내에서 'United States' 및 'Americas'를 부모 계층으로 갖는다. 그리고 도 5를 참조하면, 문장에 포함된 시간 맥락 단어인 '2011'은 데이터베이스(200)에 저장된 계층적 단어 정보 내에서 '2010s' 및 '21C'를 부모 계층으로 갖는다. 도 4에 도시된 장소에 관한 계층적 단어 정보 및 도 5에 도시된 시간에 관한 계층적 단어 정보는 각각의 맥락 단어를 포함하는 문장의 맥락을 더 정확하게 표현할 수 있게 한다. 즉, 한 실시예에 따른 어텐션 결정부(120)는 계층적 단어 정보를 사용하여 문장 내의 맥락 단어 간의 장소적 또는 시간적 포함 관계를 보다 정확히 표현할 수 있다.
어텐션 결합부(130)는 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장의 문장 임베딩 벡터를 생성할 수 있다(S130). 도 3을 참조하면 어텐션 결합부(130)는 장소 어텐션 벡터(ZLOC) 및 시간 어텐션 벡터(ZTIME)을 결합하여 문장 임베딩 벡터를 생성할 수 있다. 어텐션 결합부(130)는 벡터의 요소별(element-wise) 연산(합, 곱 등), 평균 연산, 가중합 등을 통해 장소 어텐션 벡터(ZLOC) 및 시간 어텐션 벡터(ZTIME)를 결합할 수 있다.
한 실시예에 따른 문장 인코더(100)는 외부 도메인으로부터 수집되어 데이터베이스(200) 내에 저장되는 계층적 단어 정보를 활용하여, 맥락의 의미가 유사한 문장들의 문장 임베딩 벡터가 유사하게 출력될 수 있도록 언어 모델을 학습시킬 수 있다. 즉, 문장 인코더(100)가 문장 내의 맥락 단어의 임베딩을 학습할 때, 외부 도메인으로부터 수집된 계층적 단어 정보의 어텐션 매트릭스도 함께 학습할 수 있고, 이에 따라 최종적으로 생성되는 문장의 문장 임베딩 벡터가 더 정확하게 학습될 수 있다.
도 6은 한 실시예에 따른 질의 응답 장치를 나타낸 블록도이다.
도 6을 참조하면, 한 실시예에 따른 질의 응답 장치(10)는, 인코더(100), 데이터베이스(200), 임베딩 비교부(300), 및 정답 후보 결정부(400)를 포함한다.
인코더(100)는 데이터베이스(200)에 미리 저장되어 있는 계층적 단어 정보를 사용하여 질의 문장 또는 문서의 임베딩 벡터를 생성할 수 있다. 여기서 질의는 오픈 도메인 질의이고, 질의 응답 장치(10)는 오픈 도메인 질의에 대한 미리 결정된 개수의 정답 후보를 결정할 수 있다.
임베딩 비교부(300)는, 질의 문장의 문장 임베딩 벡터와 문서의 맥락 임베딩 벡터를 비교하여 질의와 문서 간의 유사도를 결정할 수 있다. 또는 임베딩 비교부(300)는 질의 문장의 문장 임베딩 벡터와 문서 내의 복수의 문장의 맥락 임베딩 벡터를 비교함으로써, 질의와 문서 내의 복수의 문장 간의 유사도를 결정할 수 있다. 질의와 문서 간의 유사도는 질의 문장의 문장 임베딩 벡터와 문서의 맥락 임베딩 벡터 간의 벡터 유사도로서 결정될 수 있다. 또는 질의와 문서 내의 복수의 문장 간의 유사도는 질의 문장의 문장 임베딩 벡터와 복수의 문장의 맥락 임베딩 벡터 간의 벡터 유사도로서 결정될 수 있다.
정답 후보 결정부(400)는 질의와 문서 간의 유사도를 바탕으로 문서 내에서 질의에 대한 정답 후보를 결정할 수 있다. 또는 정답 후보 결정부(400)는 질의와 복수의 문장 간의 유사도를 바탕으로 복수의 문장 내에서 질의에 대한 정답 후보를 결정할 수 있다. 벡터 간의 벡터 유사도가 가장 높은 문서 또는 문장 내에서 정답 후보가 결정될 수 있다.
도 7은 다른 실시예에 따른 문장 인코더를 나타낸 블록도이다.
다른 실시예에 따른 문장 인코더는, 컴퓨터 시스템, 예를 들어 컴퓨터 판독 가능 매체로 구현될 수 있다. 도 7을 참조하면, 컴퓨터 시스템(700)은, 버스(770)를 통해 통신하는 프로세서(710), 메모리(730), 입력 인터페이스 장치(750), 출력 인터페이스 장치(760), 및 저장 장치(740) 중 적어도 하나를 포함할 수 있다. 컴퓨터 시스템(700)은 또한 네트워크에 결합된 통신 장치(720)를 포함할 수 있다. 프로세서(710)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(730) 또는 저장 장치(740)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 메모리(730) 및 저장 장치(740)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 본 기재의 실시예에서 메모리는 프로세서의 내부 또는 외부에 위치할 수 있고, 메모리는 이미 알려진 다양한 수단을 통해 프로세서와 연결될 수 있다. 메모리는 다양한 형태의 휘발성 또는 비휘발성 저장 매체이며, 예를 들어, 메모리는 읽기 전용 메모리(read-only memory, ROM) 또는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터에 구현된 방법으로서 구현되거나, 컴퓨터 실행 가능 명령이 저장된 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 한 실시예에서, 프로세서에 의해 실행될 때, 컴퓨터 판독 가능 명령은 본 기재의 적어도 하나의 양상에 따른 방법을 수행할 수 있다.
통신 장치(720)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. 구체적으로, 본 발명의 실시예에 따른 방법(예, 네트워크 관리 방법, 데이터 전송 방법, 전송 스케줄 생성 방법 등)은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은, 본 발명의 실시예를 위해 특별히 설계되어 구성된 것이거나, 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체는 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등일 수 있다. 프로그램 명령은 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 통해 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 실시예에 대하여 상세하게 설명하였지만 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 권리범위에 속하는 것이다.

Claims (14)

  1. 기계학습 장치에 의해 각 단계가 수행되는 문장 인코딩 방법으로서,
    상기 문장 내에 포함된 단어의 단어 임베딩 벡터를 생성하는 단계,
    외부 도메인으로부터 수집된, 상기 단어에 관한 계층적 단어 정보 및 상기 단어 임베딩 벡터를 바탕으로 적어도 두 개의 맥락 어텐션 벡터를 생성하는 단계, 및
    상기 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 단계
    를 포함하고,
    상기 단어가 맥락 단어일 때, 상기 계층적 단어 정보는 상기 맥락 단어의 상위 개념을 계층적으로 포함하고,
    상기 적어도 두 개의 맥락 어텐션 벡터를 생성하는 단계는,
    상기 맥락 단어의 맥락 단어 임베딩 벡터, 상기 맥락 단어 임베딩 벡터에 할당된 가중치, 및 바이어스를 바탕으로 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 어텐션 가중치 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 상기 계층적 단어 정보에 기반하는 계층 정보 기반 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 가중치 매트릭스 및 상기 계층 정보 기반 어텐션 매트릭스를 바탕으로 상기 적어도 두 개의 맥락 어텐션 벡터 중 제1 맥락 어텐션 벡터를 생성하는 단계
    를 포함하는, 문장 인코딩 방법.
  2. 제1항에서,
    상기 적어도 두 개의 맥락 어텐션 벡터는 장소 맥락에 관한 장소 어텐션 벡터 및 시간 맥락에 관한 시간 어텐션 벡터를 포함하는, 문장 인코딩 방법.
  3. 제2항에서,
    상기 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 단계는,
    상기 장소 어텐션 벡터 및 상기 시간 어텐션 벡터를 요소별 합산으로 결합하는 단계
    를 포함하는, 문장 인코딩 방법.
  4. 삭제
  5. 제1항에서,
    상기 맥락 단어가 장소의 명칭일 때, 상기 계층적 단어 정보는 상기 장소가 위치한 지역의 명칭 또는 상기 장소가 위치한 국가명을 포함하는, 문장 인코딩 방법.
  6. 제1항에서,
    상기 맥락 단어가 특정 년도일 때, 상기 계층적 단어 정보는 상기 특정 년도를 포함하는 10년 단위의 년도 표현 또는 100년 단위의 년도 표현을 포함하는, 문장 인코딩 방법.
  7. 문장을 인코딩하는 인코더로서,
    상기 문장 내에 포함된 단어의 단어 임베딩 벡터를 생성하는 단어 임베더,
    외부 도메인으로부터 수집된 상기 단어에 관한 계층적 단어 정보를 저장하는 데이터베이스,
    상기 계층적 단어 정보 및 상기 단어 임베딩 벡터를 바탕으로 적어도 두 개의 맥락 어텐션 벡터를 생성하는 어텐션 결정부, 및
    상기 적어도 두 개의 맥락 어텐션 벡터를 결합하여 문장 임베딩 벡터를 생성하는 어텐션 결합부
    를 포함하고,
    상기 단어가 맥락 단어일 때, 상기 계층적 단어 정보는 상기 맥락 단어의 상위 개념을 계층적으로 포함하고,
    상기 어텐션 결정부는,
    상기 맥락 단어의 맥락 단어 임베딩 벡터, 상기 맥락 단어 임베딩 벡터에 할당된 가중치, 및 바이어스를 바탕으로 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 어텐션 가중치 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 상기 계층적 단어 정보에 기반하는 계층 정보 기반 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 가중치 매트릭스 및 상기 계층 정보 기반 어텐션 매트릭스를 바탕으로 상기 적어도 두 개의 맥락 어텐션 벡터 중 제1 맥락 어텐션 벡터를 생성하는 단계
    수행하는, 인코더.
  8. 제7항에서,
    상기 적어도 두 개의 맥락 어텐션 벡터는 장소 맥락에 관한 장소 어텐션 벡터 및 시간 맥락에 관한 시간 어텐션 벡터를 포함하는, 인코더.
  9. 제8항에서,
    상기 어텐션 결합부는,
    상기 장소 어텐션 벡터 및 상기 시간 어텐션 벡터를 요소별 합산으로 결합하는, 인코더.
  10. 삭제
  11. 제7항에서,
    상기 맥락 단어가 장소의 명칭일 때, 상기 계층적 단어 정보는 상기 장소가 위치한 지역의 명칭 또는 상기 장소가 위치한 국가명을 포함하는, 인코더.
  12. 제7항에서,
    상기 맥락 단어가 특정 년도일 때, 상기 계층적 단어 정보는 상기 특정 년도를 포함하는 10년 단위의 년도 표현 또는 100년 단위의 년도 표현을 포함하는, 인코더.
  13. 오픈 도메인 질의에 응답하는 질의 응답 장치로서,
    외부 도메인으로부터 수집되는 계층적 단어 정보를 바탕으로 질의의 문장 임베딩 벡터를 생성하고, 문서의 맥락 임베딩 벡터를 생성하는 인코더,
    상기 문장 임베딩 벡터 및 상기 맥락 임베딩 벡터를 비교함으로써 상기 질의와 상기 문서 간의 유사도를 결정하는 임베딩 비교부, 및
    상기 유사도를 바탕으로 상기 문서 내에서 상기 질의에 대한 정답 후보를 결정하는 정답 후보 결정부
    를 포함하고,
    상기 인코더는 상기 질의의 상기 문장 임베딩 벡터를 생성할 때,
    상기 질의 내의 맥락 단어의 맥락 단어 임베딩 벡터, 상기 맥락 단어 임베딩 벡터에 할당된 가중치, 및 바이어스를 바탕으로 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 어텐션 가중치 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 상기 계층적 단어 정보에 기반하는 계층 정보 기반 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 가중치 매트릭스 및 상기 계층 정보 기반 어텐션 매트릭스를 바탕으로 맥락 어텐션 벡터를 생성하는 단계
    를 수행하는, 질의 응답 장치.
  14. 오픈 도메인 질의에 응답하는 질의 응답 장치로서,
    프로세서 및 메모리를 포함하고, 상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하여,
    외부 도메인으로부터 수집되는 계층적 단어 정보를 바탕으로 질의의 문장 임베딩 벡터를 생성하고, 문서 내의 복수의 문장에 대한 맥락 임베딩 벡터를 생성하는 단계,
    상기 문장 임베딩 벡터 및 상기 맥락 임베딩 벡터를 비교함으로써 상기 질의와 상기 복수의 문장 간의 유사도를 각각 결정하는 단계, 및
    상기 유사도를 바탕으로 상기 복수의 문장 중에서 상기 질의에 대한 정답 후보를 결정하는 단계
    를 수행하고,
    상기 프로세서는 상기 외부 도메인으로부터 수집되는 계층적 단어 정보를 바탕으로 질의의 문장 임베딩 벡터를 생성할 때,
    상기 질의 내의 맥락 단어의 맥락 단어 임베딩 벡터, 상기 맥락 단어 임베딩 벡터에 할당된 가중치, 및 바이어스를 바탕으로 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 어텐션 가중치 매트릭스를 결정하는 단계,
    상기 어텐션 매트릭스를 바탕으로 상기 계층적 단어 정보에 기반하는 계층 정보 기반 어텐션 매트릭스를 결정하는 단계,
    상기 어텐션 가중치 매트릭스 및 상기 계층 정보 기반 어텐션 매트릭스를 바탕으로 맥락 어텐션 벡터를 생성하는 단계
    를 수행하는, 질의 응답 장치.
KR1020190155815A 2019-11-28 2019-11-28 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치 KR102483927B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190155815A KR102483927B1 (ko) 2019-11-28 2019-11-28 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치
PCT/KR2019/016770 WO2021107231A1 (ko) 2019-11-28 2019-11-29 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190155815A KR102483927B1 (ko) 2019-11-28 2019-11-28 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210066505A KR20210066505A (ko) 2021-06-07
KR102483927B1 true KR102483927B1 (ko) 2023-01-04

Family

ID=76130268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190155815A KR102483927B1 (ko) 2019-11-28 2019-11-28 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102483927B1 (ko)
WO (1) WO2021107231A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102642488B1 (ko) * 2023-09-04 2024-03-04 주식회사 그래디언트바이오컨버전스 인공지능 기술을 이용하여 질문에 대한 답변을 생성하는 데이터 제공 장치, 방법 및 컴퓨터 프로그램

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589638B1 (ko) * 2016-10-31 2023-10-16 삼성전자주식회사 문장 생성 장치 및 방법
KR101958729B1 (ko) * 2017-04-06 2019-03-18 네이버 주식회사 주제별 질의의 서브토픽 자동 추출 및 구조화
KR102055899B1 (ko) * 2017-09-28 2019-12-16 한국과학기술원 맥락을 이용하여 문서를 검색하는 시스템 및 방법
KR102608469B1 (ko) * 2017-12-22 2023-12-01 삼성전자주식회사 자연어 생성 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Poddar et al. "A Probabilistic Framework for Learning Domain Specific Hierarchical Word Embeddings." arXiv preprint arXiv:1910.07333 (2019).

Also Published As

Publication number Publication date
WO2021107231A1 (ko) 2021-06-03
KR20210066505A (ko) 2021-06-07

Similar Documents

Publication Publication Date Title
US11574122B2 (en) Method and system for joint named entity recognition and relation extraction using convolutional neural network
CN109388793B (zh) 实体标注方法、意图识别方法及对应装置、计算机存储介质
US8457950B1 (en) System and method for coreference resolution
KR102297849B1 (ko) 정답을 찾는 질의 응답 시스템 및 그의 훈련 방법
CN111950269A (zh) 文本语句处理方法、装置、计算机设备和存储介质
CN110263325B (zh) 中文分词系统
CN109978060B (zh) 一种自然语言要素抽取模型的训练方法及装置
JPWO2010119615A1 (ja) 学習データ生成装置、固有表現抽出システム、学習データ生成方法、及びプログラム
US9009029B1 (en) Semantic hashing in entity resolution
CN111885000A (zh) 一种基于图神经网络的网络攻击检测方法、系统及装置
CN110134965B (zh) 用于信息处理的方法、装置、设备和计算机可读存储介质
US11461613B2 (en) Method and apparatus for multi-document question answering
Skoumas et al. Location estimation using crowdsourced spatial relations
CN114936287A (zh) 预训练语言模型的知识注入方法和相应的交互系统
CN112131883A (zh) 语言模型训练方法、装置、计算机设备和存储介质
CN116228383A (zh) 风险预测方法及装置、存储介质和电子设备
CN113076758B (zh) 一种面向任务型对话的多域请求式意图识别方法
KR102483927B1 (ko) 계층적 단어 정보를 이용한 문장 인코딩 방법 및 장치
US20230061731A1 (en) Significance-based prediction from unstructured text
US11755671B2 (en) Projecting queries into a content item embedding space
CN113704466B (zh) 基于迭代网络的文本多标签分类方法、装置及电子设备
US20230229639A1 (en) Predictive recommendations for schema mapping
CN114398482A (zh) 一种词典构造方法、装置、电子设备及存储介质
CN112749251B (zh) 文本处理方法、装置、计算机设备和存储介质
CN114329064A (zh) 视频处理方法、装置、计算机设备及存储介质

Legal Events

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