KR20220046987A - 문단 내 객체 탐지 방법 및 장치 - Google Patents

문단 내 객체 탐지 방법 및 장치 Download PDF

Info

Publication number
KR20220046987A
KR20220046987A KR1020200130364A KR20200130364A KR20220046987A KR 20220046987 A KR20220046987 A KR 20220046987A KR 1020200130364 A KR1020200130364 A KR 1020200130364A KR 20200130364 A KR20200130364 A KR 20200130364A KR 20220046987 A KR20220046987 A KR 20220046987A
Authority
KR
South Korea
Prior art keywords
token
tokens
vector
paragraph
input
Prior art date
Application number
KR1020200130364A
Other languages
English (en)
Other versions
KR102544700B1 (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 KR1020200130364A priority Critical patent/KR102544700B1/ko
Publication of KR20220046987A publication Critical patent/KR20220046987A/ko
Application granted granted Critical
Publication of KR102544700B1 publication Critical patent/KR102544700B1/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/205Parsing
    • 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

Landscapes

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

Abstract

문단 내 객체를 탐지하기 위한 방법 및 장치가 개시된다. 일 실시예에 따른 문단 내 객체 탐지 방법은, 순환 신경망(Recurrent Neural Network, RNN) 인코더를 이용하여, 입력 문단에 기초하여 생성된 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 은닉 상태 벡터(hidden state vector)를 생성하는 동작; 상기 복수의 토큰 각각에 대한 은닉 상태 벡터에 기초하여 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터(self-attention vector)를 생성하는 동작; 및 순방향 포인터 네트워크(forward pointer network) 디코더 및 역방향 포인터 네트워크(backward pointer network) 디코더를 이용하여, 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터로부터 상기 입력 문단에 포함된 하나 이상의 대상 객체를 탐지하는 동작을 포함한다.

Description

문단 내 객체 탐지 방법 및 장치{MEHTOD AND APPARATUS FOR DETECTING OBJECT CONTAINED WITHIN PARAGRAPH}
개시되는 실시예들은 문단 내 객체를 탐지하기 위한 기술과 관련된다.
최근 질의-응답 시스템의 연구가 활발히 진행되고 있다. 기계독해 시스템은 질의-응답 시스템의 대표적인 작업 중 하나로, 주어진 문서에서 질문에 대한 정답을 찾는 시스템이다. 이러한 기계독해 시스템은 문서의 이해, 질문 작성 등의 작업을 통해 데이터를 수집하기 때문에, 데이터를 구축하기 위해서는 높은 비용을 요구한다. 최근 이 비용 문제를 완화하기 위해 심층 학습(Deep Learning)을 이용한 질문 자동 생성 모델이 연구되고 있다. 질문 자동 생성 모델은 단락과 정답 정보를 기반으로 정답에 적합한 질문을 생성한다. 그러나, 단락에서 정답 정보를 추출하는 작업을 수작업으로 진행하기에는 높은 비용과 시간이 요구되므로 단락에서 정답 후보를 자동으로 추출하기 위한 방안이 요구되고 있다.
개시되는 실시예들은 문단 내 객체를 탐지하기 위한 방법 및 장치를 제공하기 위한 것이다.
일 실시예에 따른 문단 내 객체 탐지 방법은, 순환 신경망(Recurrent Neural Network, RNN) 인코더를 이용하여, 입력 문단에 기초하여 생성된 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 은닉 상태 벡터(hidden state vector)를 생성하는 동작; 상기 복수의 토큰 각각에 대한 은닉 상태 벡터에 기초하여 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터(self-attention vector)를 생성하는 동작; 및 순방향 포인터 네트워크(forward pointer network) 디코더 및 역방향 포인터 네트워크(backward pointer network) 디코더를 이용하여, 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터로부터 상기 입력 문단에 포함된 하나 이상의 대상 객체를 탐지하는 동작을 포함한다.
상기 순방향 포인터 네트워크 디코더는, 상기 복수의 토큰 중 t(이때, t는 0≤t≤n인 자연수, n은 상기 복수의 토큰의 총 개수)번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 시작 위치로 하는 제1 대상 객체를 탐지하고, 상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 종료 위치로 하는 제2 대상 객체를 탐지할 수 있다.
상기 순방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 t번째 토큰의 상기 토큰 시퀀스 내 위치에 대응되는 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제1 스코어를 산출하고, 상기 산출된 제1 스코어가 가장 높은 토큰을 상기 제1 대상 객체의 종료 위치로 결정하고, 상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제2 스코어를 산출하고, 상기 복수의 토큰 중 상기 산출된 제2 스코어가 가장 높은 토큰을 상기 제2 대상 객체의 시작 위치로 결정할 수 있다.
상기 토큰 시퀀스는, 상기 입력 문단을 토큰화(tokenization)하여 생성된 토큰 및 상기 입력 문단에 포함되지 않은 기 설정된 토큰을 포함하고, 상기 탐지하는 단계는, 상기 복수의 토큰 중 상기 제1 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제1 대상 객체가 존재하지 않는 것으로 판단하고, 상기 복수의 토큰 중 상기 제2 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제2 대상 객체가 존재하지 않는 것으로 판단할 수 있다.
상기 은닉 상태 벡터를 생성하는 동작은, 상기 입력 문단을 기 설정된 토큰 단위로 토큰화하여 상기 토큰 시퀀스를 생성하는 동작; 상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하는 동작; 및 상기 복수의 토큰 각각에 대한 토큰 벡터를 상기 RNN 인코더의 입력으로 이용하여 상기 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성하는 동작을 포함할 수 있다.
상기 토큰 시퀀스를 생성하는 동작은, 상기 입력 문단을 형태소 단위로 토큰화할 수 있다.
상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하는 동작은, 복수의 토큰 각각에 대한 임베딩(embedding) 벡터 및 복수의 토큰 각각의 자질에 대한 자질 벡터에 기초하여 상기 복수의 토큰 각각에 대한 토큰 벡터를 생성할 수 있다.
상기 복수의 토큰 각각의 자질은, 상기 복수의 토큰 각각의 품사를 포함할 수 있다.
상기 하나 이상의 대상 객체는, 상기 입력 문단에 기초하여 생성될 질의에 대한 정답 후보일 수 있다.
상기 RNN 인코더는, 양방향 RNN 인코더일 수 있다.
일 실시예에 따른 문단 내 객체 탐지 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 순환 신경망(Recurrent Neural Network, RNN) 인코더를 이용하여, 입력 문단에 기초하여 생성된 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 은닉 상태 벡터(hidden state vector)를 생성하고, 상기 복수의 토큰 각각에 대한 은닉 상태 벡터에 기초하여 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터(self-attention vector)를 생성하고, 순방향 포인터 네트워크(forward pointer network) 디코더 및 역방향 포인터 네트워크(backward pointer network) 디코더를 이용하여, 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터로부터 상기 입력 문단에 포함된 하나 이상의 대상 객체를 탐지한다.
상기 순방향 포인터 네트워크 디코더는, 상기 복수의 토큰 중 t(이때, t는 0≤t≤n인 자연수, n은 상기 복수의 토큰의 총 개수)번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 시작 위치로 하는 제1 대상 객체를 탐지하고, 상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 종료 위치로 하는 제2 대상 객체를 탐지할 수 있다.
상기 순방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 t번째 토큰의 상기 토큰 시퀀스 내 위치에 대응되는 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제1 스코어를 산출하고, 상기 산출된 제1 스코어가 가장 높은 토큰을 상기 제1 대상 객체의 종료 위치로 결정하고, 상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제2 스코어를 산출하고, 상기 복수의 토큰 중 상기 산출된 제2 스코어가 가장 높은 토큰을 상기 제2 대상 객체의 시작 위치로 결정할 수 있다.
상기 토큰 시퀀스는, 상기 입력 문단을 토큰화(tokenization)하여 생성된 토큰 및 상기 입력 문단에 포함되지 않은 기 설정된 토큰을 포함하고, 상기 하나 이상의 프로세서는, 상기 복수의 토큰 중 상기 제1 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제1 대상 객체가 존재하지 않는 것으로 판단하고, 상기 복수의 토큰 중 상기 제2 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제2 대상 객체가 존재하지 않는 것으로 판단할 수 있다.
상기 하나 이상의 프로세서는, 상기 입력 문단을 기 설정된 토큰 단위로 토큰화하여 상기 토큰 시퀀스를 생성하고, 상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하고, 상기 복수의 토큰 각각에 대한 토큰 벡터를 상기 RNN 인코더의 입력으로 이용하여 상기 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성할 수 있다.
상기 하나 이상의 프로세서는, 상기 입력 문단을 형태소 단위로 토큰화할 수 있다.
상기 하나 이상의 프로세서는, 복수의 토큰 각각에 대한 임베딩(embedding) 벡터 및 복수의 토큰 각각의 자질에 대한 자질 벡터에 기초하여 상기 복수의 토큰 각각에 대한 토큰 벡터를 생성할 수 있다.
상기 복수의 토큰 각각의 자질은, 상기 복수의 토큰 각각의 품사를 포함할 수 있다.
상기 하나 이상의 대상 객체는, 상기 입력 문단에 기초하여 생성될 질의에 대한 정답 후보일 수 있다.
상기 RNN 인코더는, 양방향 RNN 인코더일 수 있다.
개시되는 실시예들에 따르면, 입력 문단에서 대상 객체를 추출하기 위해 순방향 포인터 네트워크 디코더와 역방향 포인터 네트워크 디코더를 함께 이용함으로써, 입력 문단에 시작 위치 또는 종료 위치가 동일한 복수의 대상 객체가 포함되어 있는 경우에도 효과적인 대상 객체 탐지를 가능하게 된다.
도 1은 일 실시예에 따른 객체 탐지 장치의 블록도이다.
도 2는 일 실시예에 따른 대상 객체 탐지 모델의 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 RNN 인코더의 구성을 나타낸 도면이다.
도 4는 일 실시예에 따른 순방향 포인터 네트워크 디코더 및 역방향 포인터 네트워크 디코더의 구성을 나타낸 도면이다.
도 5는 일 실시예에 따른 대상 객체 검출의 일 예를 나타낸 예시도이다.
도 6은 일 실시예에 따른 객체 탐지 방법의 순서도이다.
도 7은 일 실시예에 따른 은닉 상태 벡터 생성 방법을 나타낸 순서도이다.
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 객체 탐지 장치의 블록도이다.
도 1을 참조하면, 일 실시예에 따른 객체 탐지 장치(100)는 토큰화부(110), 임베딩부(120) 및 탐지부(130)를 포함한다.
일 실시예에서, 토큰화부(110), 임베딩부(120) 및 탐지부(130)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
토큰화부(110)는 입력 문단을 기 설정된 토큰(token) 단위로 토큰화(tokenization)하고, 토큰화를 통해 생성된 복수의 토큰을 포함하는 토큰 시퀀스를 생성한다.
이때, 입력 문단은 하나 이상의 자연어 문장으로 구성될 수 있다.
일 실시예에 따르면, 토큰화부(110)는 입력 문단에 대한 형태소 분석을 통해 입력 문단을 형태소 단위로 분할하여 입력 문단을 토큰화할 수 있다. 그러나, 입력 문단을 토큰화하기 위한 토큰 단위는 형태소 단위 외에도 어절 단위, 단어 단위 등일 수 있으며, 실시예에 따라 변경될 수 있다.
한편, 토큰 시퀀스는 입력 문단에 대한 토큰화를 통해 생성된 복수의 토큰을 입력 문단 내 위치의 순서대로 정렬한 것을 의미한다. 일 실시예에 따르면, 토큰 시퀀스는 입력 문단을 토큰화하여 생성된 토큰 외에도 기 설정된 하나 이상의 토큰을 포함할 수 있다.
구체적으로, 일 실시예에 따르면, 토큰 시퀀스는 입력 문단의 시작을 의미하는 시작 토큰 및 입력 문단의 종료를 나타내는 종료 토큰을 포함할 수 있다.
또한, 일 실시예에 따르면, 토큰 시퀀스는 후술할 바와 같이 입력 문단을 토큰화하여 생성된 특정 토큰을 시작 위치 또는 종료 위치로 하는 대상 객체가 존재하지 않음을 나타내기 위한 토큰(이하, "no_answer 토큰"이라 지칭한다)을 포함할 수 있다.
임베딩부(120)는 토큰화부(110)에 의해 생성된 토큰 시퀀스에 포함된 각 토큰에 대한 토큰 벡터를 생성한다.
일 실시예에 따르면, 임베딩부(120)는 토큰 시퀀스에 포함된 각 토큰에 대한 임베딩(embedding) 벡터와 각 토큰의 자질에 대한 자질 벡터를 연결(concatenation)하여 각 토큰에 대한 토큰 벡터를 생성할 수 있다.
이때, 각 토큰에 대한 임베딩 벡터 및 자질 벡터는 예를 들어, Word2Vec, GloVe, FastText 등과 같은 공지된 워드 임베딩(word embedding) 기술을 이용하여 생성될 수 있다.
한편, 일 실시예에 따르면, 각 토큰의 자질은 예를 들어, 형태소 분석을 통해 각 토큰에 태깅된 품사일 수 있으며, 실시예에 따라 각 토큰의 토큰 시퀀스 내 위치에 대응되는 위치 정보를 더 포함할 수 있다.
탐지부(130)는 대상 객체 탐지 모델을 이용하여 입력 문단에 포함된 하나 이상의 대상 객체를 탐지한다.
일 실시예에 따르면, 입력 문단에 포함된 각 대상 객체는 입력 문단에 기초하여 생성될 질의에 대한 정답 후보일 수 있다. 예를 들어, 대상 객체가 탐지된 입력 문단은 탐지된 대상 객체와 함께 질의 생성 모델의 입력으로 이용될 수 있으며, 이 경우, 질의 생성 모델은 입력된 문단과 대상 객체에 적합한 질문을 생성할 수 있다.
한편, 대상 객체 탐지 모델은 인공 신경망(artificial neural network) 기반의 모델로서 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 토큰 벡터를 입력받아 입력 문단에 포함된 하나 이상의 대상 객체 각각의 시작 위치와 종료 위치를 탐지하도록 사전 학습될 수 있다.
도 2는 일 실시예에 따른 대상 객체 탐지 모델의 구성을 나타낸 도면이다.
도 2를 참조하면, 일 실시예에 따른 객체 탐지 모델(100)은 인코딩 계층(encoding layer)(210), 주의 집중 계층(attention layer)(220) 및 디코딩 계층(decoding layer)(230)를 포함한다.
인코딩 계층(210)은 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 토큰 벡터를 인코딩하는 순환 신경망(Recurrent Neural Network, RNN) 인코더를 포함할 수 있다.
일 실시예에 따르면, RNN 인코더는 예를 들어, GRU(Gated Recurrent Unit) 또는 LSTM(Long Short-Term Memory)을 이용하여 구현된 양방향 RNN(Bidirectional RNN) 인코더일 수 있다.
구체적으로, 도 3은 일 실시예에 따른 RNN 인코더의 구성을 나타낸 도면이다.
도 3을 참조하면, 인코딩 계층(210)에 포함된 순방향 RNN(211)은 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 토큰 벡터를 토큰 시퀀스 내 순서대로 입력 받아 복수의 토큰 각각에 대한 은닉 상태 벡터(hidden state vector)를 생성한다. 구체적으로, 토큰 시퀀스 내 t(이때, t는 0≤t≤n인 자연수, n은 토큰 시퀀스에 포함된 토큰의 총 개수)번째 토큰에 대한 순방향 RNN(211)의 은닉 상태 벡터
Figure pat00001
는 아래의 수학식 1과 같이 t-1번째 토큰의 토큰 벡터
Figure pat00002
에 대한 순방향 RNN(211)의 은닉 상태 벡터
Figure pat00003
및 t번째 토큰의 토큰 벡터
Figure pat00004
를 이용하여 생성될 수 있다.
[수학식 1]
Figure pat00005
수학식 1에서, f는 비선형 활성화 함수(non-linear active function)를 나타내며, 예를 들어 LSTM(Long-Short Term Memory) 또는 GRU(Gated Recurrent Unit)일 수 있다. 이하, f는 동일한 의미로 사용된다.
한편, 인코딩 계층(210)에 포함된 역방향 RNN(212)은 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 토큰 벡터를 토큰 시퀀스 내 순서의 역순으로 입력 받아 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성한다. 구체적으로, 토큰 시퀀스 내 t번째 토큰에 대한 역방향 RNN(212)의 은닉 상태 벡터
Figure pat00006
는 아래의 수학식 2와 같이 t+1번째 토큰의 토큰 벡터
Figure pat00007
에 대한 역방향 RNN(212)의 은닉 상태 벡터
Figure pat00008
및 t번째 토큰의 토큰 벡터
Figure pat00009
를 이용하여 생성될 수 있다.
[수학식 2]
Figure pat00010
한편, 인코딩 계층(210)은 아래의 수학식 3과 같이 순방향 RNN(211)의 은닉 상태 벡터
Figure pat00011
와 역방향 RNN(212)의 은닉 상태 벡터
Figure pat00012
를 연결(concatenate)한 벡터
Figure pat00013
를 토큰 시퀀스에 포함된 t번째 토큰에 대한 은닉 상태 벡터로 출력할 수 있다.
[수학식 3]
Figure pat00014
다시 도 2를 참조하면, 주의 집중 계층(220)은 인코딩 계층(210)에서 생성된 각 은닉 상태 벡터
Figure pat00015
에 대한 자가 주의 집중(self-attention) 벡터를 생성한다.
일 실시예에 따르면, 은닉 상태 벡터
Figure pat00016
에 대한 자가 주의 집중 벡터
Figure pat00017
는 아래의 수학식 4에 기초하여 산출될 수 있다.
[수학식 4]
Figure pat00018
이때,
Figure pat00019
이고,
Figure pat00020
Figure pat00021
의 차원(dimension)을 나타낸다. 이하, Q, K, V 및
Figure pat00022
는 동일한 의미로 이용된다.
한편, 일 실시예에 따르면, 은닉 상태 벡터
Figure pat00023
에 대한 자가 주의 집중 벡터
Figure pat00024
는 멀티-헤드 주의 집중(multi-head attention) 기법을 통해 결정될 수 있다. 구체적으로, 멀티-헤드 주의 집중 기법을 이용한 자가 주의 집중 벡터는 아래의 수학식 5에 기초하여 산출될 수 있다.
[수학식 5]
Figure pat00025
이때, N은 헤드의 개수로서 사전 설정된 값을 나타내며, Wc는 학습된 가중치 행렬을 나타낸다.
한편, 수학식 5에서
Figure pat00026
는 아래의 수학식 6을 이용하여 산출될 수 있다.
[수학식 6]
Figure pat00027
또한, 수학식 6에서 Qi, Ki 및 Vi는 각각 아래의 수학식 7 내지 9와 같이 Q, K 및 V를 각각 헤드의 개수인 N개로 분할한 후, 학습된 가중치 행렬
Figure pat00028
,
Figure pat00029
Figure pat00030
를 곱함으로써 산출될 수 있다.
[수학식 7]
Figure pat00031
[수학식 8]
Figure pat00032
[수학식 9]
Figure pat00033
디코딩 계층(230)은 순방향 포인터 네트워크(forward pointer network) 디코더 및 역방향 포인터 네트워크(backward pointer network) 디코더를 이용하여, 주의 집중 계층(220)에 의해 생성된 자가 주의 집중 벡터
Figure pat00034
로부터 입력 문단에 포함된 하나 이상의 대상 객체를 탐지한다.
이때, 일 실시예에 따르면, 입력 문단에 포함된 하나 이상의 대상 객체는 각각 상술한 바와 같이 입력 문단에 기초하여 생성될 질의에 대한 정답 후보일 수 있다.
도 4는 일 실시예에 따른 순방향 포인터 네트워크 디코더 및 역방향 포인터 네트워크 디코더의 구성을 나타낸 도면이다.
도 4를 참조하면, 순방향 포인터 네트워크 디코더(231)는 토큰 시퀀스에 포함된 t번째 토큰의 은닉 상태 벡터
Figure pat00035
에 대한 주의 집중 벡터
Figure pat00036
에 기초하여, 입력 문단에 포함된 하나 이상의 대상 객체 중 t번째 토큰을 시작 위치로 하는 대상 객체를 탐지할 수 있다.
구체적으로, 순방향 포인터 네트워크 디코더(231)는 토큰 시퀀스에 포함된 t번째 토큰에 대응되는 주의 집중 벡터
Figure pat00037
및 t번째 토큰의 토큰 시퀀스 내 위치인 t에 대응되는 위치 벡터
Figure pat00038
에 기초하여 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 스코어를 산출할 수 있다. 이때, 위치 벡터
Figure pat00039
는 토큰의 위치에 따라 특정한 값을 가지도록 사전 설정된 벡터일 수 있다.
또한, 순방향 포인터 네트워크 디코더(231)는 토큰 시퀀스에 포함된 복수의 토큰 중 산출된 스코어가 가장 높은 토큰을 t번째 토큰을 시작 위치로 하는 대상 객체의 종료 위치로 결정할 수 있다.
구체적으로, 순방향 포인터 네트워크 디코더(231)의 은닉 상태 벡터
Figure pat00040
는 아래의 수학식 10를 이용하여 산출될 수 있다.
[수학식 10]
Figure pat00041
또한, 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 스코어는 아래의 수학식 11 및 12를 이용하여 산출될 수 있다.
[수학식 11]
Figure pat00042
[수학식 12]
Figure pat00043
한편, 수학식 11에서
Figure pat00044
는 스코어 함수를 나타내며, 이하 동일한 의미로 이용된다. 스코어 함수
Figure pat00045
는 예를 들어, tanh 함수를 활성화 함수로 이용하는 앞 먹임 신경망(Feed-Forward Neural Network, FNN)로 구현될 수 있으며, 이 경우, 수학식 11은 아래의 수학식 13와 같이 표현될 수 있다.
[수학식 13]
Figure pat00046
이때,
Figure pat00047
Figure pat00048
는 각각 학습된 가중치 행렬을 나타낸다.
한편, 순방향 포인터 네트워크 디코더(231)는 토큰 시퀀스에 포함된 복수의 토큰 중 상술한 수학식 11 및 12에 따라 산출된 스코어가 최대인 토큰을 t번째 토큰을 시작 위치로 하는 대상 객체의 종료 위치로 결정할 수 있다.
한편, 일 실시예에 따르면, 상술한 바와 같이 토큰 시퀀스에 no_answer 토큰이 포함되어 있고, 순방향 포인터 네트워크 디코더(231)에 의해 산출된 스코어 중 no_answer 토큰의 스코어가 가장 높은 경우, 탐지부(120)는 입력 문단에 t번째 토큰을 시작 위치로 하는 대상 객체가 포함되어 있지 않는 것으로 판단할 수 있다.
역방향 포인터 네트워크 디코더(232)는 t번째 토큰의 은닉 상태 벡터
Figure pat00049
에 대한 주의 집중 벡터
Figure pat00050
에 기초하여, 입력 문단에 포함된 하나 이상의 대상 객체 중 토큰 시퀀스에 포함된 t번째 토큰을 종료 위치로 하는 대상 객체를 탐지할 수 있다.
구체적으로, 역방향 포인터 네트워크 디코더(232)는 토큰 시퀀스에 포함된 t번째 토큰에 대응되는 주의 집중 벡터
Figure pat00051
및 t번째 토큰의 토큰 시퀀스 내 위치인 t에 대응되는 위치 벡터
Figure pat00052
에 기초하여 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 스코어를 산출할 수 있다.
또한, 역방향 포인터 네트워크 디코더(232)는 토큰 시퀀스에 포함된 복수의 토큰 중 산출된 스코어가 가장 높은 토큰을 t번째 토큰을 종료 위치로 하는 대상 객체의 시작 위치로 결정할 수 있다.
구체적으로, 역방향 포인터 네트워크 디코더(232)의 은닉 상태 벡터
Figure pat00053
는 아래의 수학식 14를 이용하여 산출될 수 있다.
[수학식 14]
Figure pat00054
또한, 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 스코어는 아래의 수학식 15 및 16을 이용하여 산출될 수 있다.
[수학식 15]
Figure pat00055
[수학식 16]
Figure pat00056
한편, 스코어 함수
Figure pat00057
가 예를 들어, tanh 함수를 활성화 함수로 이용하는 FNN으로 구현된 경우, 수학식 15는 아래의 수학식 17와 같이 표현될 수 있다.
[수학식 17]
Figure pat00058
역방향 포인터 네트워크 디코더(232)는 토큰 시퀀스에 포함된 복수의 토큰 중 상술한 수학식 15 및 16에 따라 산출된 스코어가 최대인 토큰을 t번째 토큰을 종료 위치로 하는 대상 객체의 시작 위치로 결정할 수 있다.
한편, 일 실시예에 따르면, 상술한 바와 같이 토큰 시퀀스에 no_answer 토큰이 포함되어 있고, 역방향 포인터 네트워크 디코더(232)에 의해 산출된 스코어 중 no_answer 토큰의 스코어가 가장 높은 경우, 탐지부(120)는 입력 문단에 t번째 토큰을 종료 위치로 하는 대상 객체가 포함되어 있지 않는 것으로 판단할 수 있다.
도 5는 일 실시예에 따른 대상 객체 검출의 일 예를 나타낸 예시도이다.
도 5에서는 입력 문단이 하나의 문장 "세종은 조선의 4대 군주이며 언어학자이다."로 구성된 것으로 가정하고, 입력 문단에 포함된 대상 객체가 "4대 군주", "언어학자" 및 "4대 군주이며 언어학자"인 것으로 가정한다.
이때, "4대 군주"와 "언어학자"는 각각 "4대 군주이며 언어학자"에 포함된 대상 객체로서 "4대 군주이며 언어학자"와 시작 위치 또는 종료 위치가 동일한 안긴 객체이다.
이 경우, 탐지부(130)는 순방향 포인터 네트워크 디코더(231)를 이용하여 도 5의 (a)와 같이 "4대"를 시작 위치로 하고 "학자"를 종료 위치로 하는 대상 객체인 "4대 군주이며 언어학자"와 "언어"를 시작 위치로 하고 "학자"를 종료 위치로 하는 대상 객체 "언어 학자"를 탐지할 수 있다.
즉, 순방향 포인터 네트워크 디코더(231)만을 이용하는 경우, 시작 위치가 동일한 대상 객체 "4대 군주"와 "4대 군주이며 언어학자" 중 하나만을 탐지할 수 있다.
한편, 탐지부(130)는 역방향 포인터 네트워크 디코더(232)를 이용하여 도 5의 (b)와 같이 "군주"를 종료 위치로 하고 "4대"를 시작 위치로 하는 대상 객체인 "4대 군주"와 "학자"를 종료 위치로 하고 "4대"를 시작 위치로 하는 대상 객체 "4대 군주이며 언어학자"를 탐지할 수 있다.
즉, 역방향 포인터 네트워크 디코더(232)만을 이용하는 경우, 종료 위치가 동일한 대상 객체 "언어학자"와 "4대 군주이며 언어학자" 중 하나만을 탐지할 수 있다.
도 5에 도시된 예에서 알 수 있듯이, 순방향 포인터 네트워크 디코더(231) 및 역방향 포인터 네트워크 디코더(232) 중 하나만을 이용하는 경우, 시작 위치나 종료 위치가 동일한 복수의 대상 객체를 모두 탐지할 수 없으나, 순방향 포인터 네트워크 디코더(231)와 역방향 포인터 네트워크 디코더(232)를 모두 이용하는 경우, "4대 군주", 언어학자" 및 "4대 군주이며 언어학자"를 모두 탐지할 수 있게 된다.
도 6은 일 실시예에 따른 객체 탐지 방법의 순서도이다.
도 6에 도시된 방법은 예를 들어, 도 1에 도시된 객체 탐지 장치(100)에 의해 수행될 수 있다.
도 6을 참조하면, 우선, 객체 탐지 장치(100)는 RNN 인코더를 이용하여, 입력 문단에 기초하여 생성된 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성한다(610).
이때, 일 실시예에 따르면, RNN 인코더는 양방향 RNN 인코더일 수 있다.
이후, 객체 탐지 장치(100)는 복수의 토큰 각각에 대한 은닉 상태 벡터에 기초하여 복수의 토큰 각각에 대한 자가 주의 집중 벡터를 생성한다(620).
이후, 객체 탐지 장치(100)는 순방향 포인터 네트워크 디코더 및 역방향 포인터 네트워크 디코더를 이용하여, 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 자가 주의 집중 벡터로부터 입력 문단에 포함된 하나 이상의 대상 객체를 탐지한다(630).
이때, 일 실시예에 따르면, 순방향 포인터 네트워크 디코더는, 토큰 시퀀스에 포함된 복수의 토큰 중 t번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, t번째 토큰을 시작 위치로 하는 제1 대상 객체를 탐지할 수 있다. 구체적으로, 순방향 포인터 네트워크 디코더는, t번째 토큰에 대한 자가 주의 집중 벡터 및 t번째 토큰의 토큰 시퀀스 내 위치에 대응되는 위치 벡터에 기초하여 복수의 토큰 각각에 대한 스코어를 산출하고, 산출된 스코어가 가장 높은 토큰을 제1 대상 객체의 종료 위치로 결정할 수 있다.
또한, 일 실시예에 따르면, 역방향 포인터 네트워크 디코더는, 토큰 시퀀스에 포함된 복수의 토큰 중 t번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, t번째 토큰을 종료 위치로 하는 제2 대상 객체를 탐지할 수 있다. 구체적으로, 역방향 포인터 네트워크 디코더는, t번째 토큰에 대한 자가 주의 집중 벡터 및 t번째 토큰의 토큰 시퀀스 내 위치에 대응되는 위치 벡터에 기초하여 복수의 토큰 각각에 대한 스코어를 산출하고, 산출된 스코어가 가장 높은 토큰을 제2 대상 객체의 시작 위치로 결정할 수 있다.
한편, 일 실시예에 따르면, 토큰 시퀀스는 no_answer 토큰을 포함할 수 있다. 이 경우, 객체 탐지 장치(100)는 토큰 시퀀스에 포함된 복수의 토큰 중 순방향 포인터 네트워크 디코더에 의해 산출된 스코어가 가장 높은 토큰이 no_answer 토큰인 경우, 제1 대상 객체가 존재하지 않는 것으로 판단할 수 있다. 또한, 객체 탐지 장치(100)는 토큰 시퀀스에 포함된 복수의 토큰 중 역방향 포인터 네트워크 디코더에 의해 산출된 스코어가 가장 높은 토큰이 no_answer 토큰인 경우, 제2 대상 객체가 존재하지 않는 것으로 판단할 수 있다.
한편, 도 5에 도시된 순서도에서 적어도 일부의 단계들은 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 7은 일 실시예에 따른 은닉 상태 벡터 생성 방법을 나타낸 순서도이다.
도 7에 도시된 방법은 예를 들어, 도 1에 도시된 객체 탐지 장치(100)에 의해 수행될 수 있다.
도 7을 참조하면, 우선, 객체 탐지 장치(100)는 입력 문단을 기 설정된 토큰 단위로 토큰화하여 토큰 시퀀스를 생성한다(710).
이때, 일 실시예에 따르면, 객체 탐지 장치(100)는 입력 문단을 형태소 단위로 토큰화할 수 있다.
이후, 객체 탐지 장치(100)는 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 토큰 벡터를 생성한다(720).
일 실시예에 따르면, 객체 탐지 장치(100)는 복수의 토큰 각각에 대한 임베딩 벡터 및 복수의 토큰 각각의 자질에 대한 자질 벡터에 기초하여 복수의 토큰 각각에 대한 토큰 벡터를 생성할 수 있다. 이때, 복수의 토큰 각각의 자질은 복수의 토큰 각각의 품사를 포함할 수 있다.
이후, 객체 탐지 장치(100)는 복수의 토큰 각각에 대한 토큰 벡터를 RNN 인코더의 입력으로 이용하여 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성한다(730).
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
도 8에 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 도 1에 도시된 객체 탐지 장치(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 객체 탐지 장치
110: 토큰화부
120: 임베딩부
130: 탐지부
200: 대상 객체 탐지 모델
210: 인코딩 계층
220: 주의 집중 계층
230: 디코딩 계층
211: 순방향 RNN
212: 역방향 RNN
231: 순방향 포인터 네트워크 디코더
232: 역방향 포인터 네트워크 디코더

Claims (20)

  1. 순환 신경망(Recurrent Neural Network, RNN) 인코더를 이용하여, 입력 문단에 기초하여 생성된 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 은닉 상태 벡터(hidden state vector)를 생성하는 동작;
    상기 복수의 토큰 각각에 대한 은닉 상태 벡터에 기초하여 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터(self-attention vector)를 생성하는 동작; 및
    순방향 포인터 네트워크(forward pointer network) 디코더 및 역방향 포인터 네트워크(backward pointer network) 디코더를 이용하여, 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터로부터 상기 입력 문단에 포함된 하나 이상의 대상 객체를 탐지하는 동작을 포함하는 문단 내 객체 탐지 방법.
  2. 청구항 1에 있어서,
    상기 순방향 포인터 네트워크 디코더는, 상기 복수의 토큰 중 t(이때, t는 0≤t≤n인 자연수, n은 상기 복수의 토큰의 총 개수)번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 시작 위치로 하는 제1 대상 객체를 탐지하고,
    상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 종료 위치로 하는 제2 대상 객체를 탐지하는 문단 내 객체 탐지 방법.
  3. 청구항 2에 있어서,
    상기 순방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 t번째 토큰의 상기 토큰 시퀀스 내 위치에 대응되는 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제1 스코어를 산출하고, 상기 산출된 제1 스코어가 가장 높은 토큰을 상기 제1 대상 객체의 종료 위치로 결정하고,
    상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제2 스코어를 산출하고, 상기 복수의 토큰 중 상기 산출된 제2 스코어가 가장 높은 토큰을 상기 제2 대상 객체의 시작 위치로 결정하는 문단 내 객체 탐지 방법.
  4. 청구항 3에 있어서,
    상기 토큰 시퀀스는, 상기 입력 문단을 토큰화(tokenization)하여 생성된 토큰 및 상기 입력 문단에 포함되지 않은 기 설정된 토큰을 포함하고,
    상기 탐지하는 단계는, 상기 복수의 토큰 중 상기 제1 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제1 대상 객체가 존재하지 않는 것으로 판단하고, 상기 복수의 토큰 중 상기 제2 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제2 대상 객체가 존재하지 않는 것으로 판단하는 문단 내 객체 탐지 방법.
  5. 청구항 1에 있어서,
    상기 은닉 상태 벡터를 생성하는 동작은, 상기 입력 문단을 기 설정된 토큰 단위로 토큰화하여 상기 토큰 시퀀스를 생성하는 동작;
    상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하는 동작; 및
    상기 복수의 토큰 각각에 대한 토큰 벡터를 상기 RNN 인코더의 입력으로 이용하여 상기 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성하는 동작을 포함하는 문단 내 객체 탐지 방법.
  6. 청구항 5에 있어서,
    상기 토큰 시퀀스를 생성하는 동작은, 상기 입력 문단을 형태소 단위로 토큰화하는 문단 내 객체 탐지 방법.
  7. 청구항 5에 있어서,
    상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하는 동작은, 복수의 토큰 각각에 대한 임베딩(embedding) 벡터 및 복수의 토큰 각각의 자질에 대한 자질 벡터에 기초하여 상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하는 문단 내 객체 탐지 방법.
  8. 청구항 7에 있어서,
    상기 복수의 토큰 각각의 자질은, 상기 복수의 토큰 각각의 품사를 포함하는 문단 내 객체 탐지 방법.
  9. 청구항 1에 있어서,
    상기 하나 이상의 대상 객체는, 상기 입력 문단에 기초하여 생성될 질의에 대한 정답 후보인 문단 내 객체 탐지 방법.
  10. 청구항 1에 있어서,
    상기 RNN 인코더는, 양방향 RNN 인코더인 문단 내 객체 탐지 방법.
  11. 하나 이상의 명령어를 저장하는 메모리; 및
    상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    순환 신경망(Recurrent Neural Network, RNN) 인코더를 이용하여, 입력 문단에 기초하여 생성된 토큰 시퀀스에 포함된 복수의 토큰 각각에 대한 은닉 상태 벡터(hidden state vector)를 생성하고,
    상기 복수의 토큰 각각에 대한 은닉 상태 벡터에 기초하여 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터(self-attention vector)를 생성하고,
    순방향 포인터 네트워크(forward pointer network) 디코더 및 역방향 포인터 네트워크(backward pointer network) 디코더를 이용하여, 상기 복수의 토큰 각각에 대한 자가 주의 집중 벡터로부터 상기 입력 문단에 포함된 하나 이상의 대상 객체를 탐지하는 문단 내 객체 탐지 장치.
  12. 청구항 11에 있어서,
    상기 순방향 포인터 네트워크 디코더는, 상기 복수의 토큰 중 t(이때, t는 0≤t≤n인 자연수, n은 상기 복수의 토큰의 총 개수)번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 시작 위치로 하는 제1 대상 객체를 탐지하고,
    상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터가 입력된 경우, 상기 하나 이상의 대상 객체 중 상기 t번째 토큰을 종료 위치로 하는 제2 대상 객체를 탐지하는 문단 내 객체 탐지 장치.
  13. 청구항 12에 있어서,
    상기 순방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 t번째 토큰의 상기 토큰 시퀀스 내 위치에 대응되는 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제1 스코어를 산출하고, 상기 산출된 제1 스코어가 가장 높은 토큰을 상기 제1 대상 객체의 종료 위치로 결정하고,
    상기 역방향 포인터 네트워크 디코더는, 상기 t번째 토큰에 대한 자가 주의 집중 벡터 및 상기 위치 벡터에 기초하여 상기 복수의 토큰 각각에 대한 제2 스코어를 산출하고, 상기 복수의 토큰 중 상기 산출된 제2 스코어가 가장 높은 토큰을 상기 제2 대상 객체의 시작 위치로 결정하는 문단 내 객체 탐지 장치.
  14. 청구항 13에 있어서,
    상기 토큰 시퀀스는, 상기 입력 문단을 토큰화(tokenization)하여 생성된 토큰 및 상기 입력 문단에 포함되지 않은 기 설정된 토큰을 포함하고,
    상기 하나 이상의 프로세서는, 상기 복수의 토큰 중 상기 제1 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제1 대상 객체가 존재하지 않는 것으로 판단하고, 상기 복수의 토큰 중 상기 제2 스코어가 가장 높은 토큰이 상기 기 설정된 토큰인 경우, 상기 제2 대상 객체가 존재하지 않는 것으로 판단하는 문단 내 객체 탐지 장치.
  15. 청구항 11에 있어서,
    상기 하나 이상의 프로세서는, 상기 입력 문단을 기 설정된 토큰 단위로 토큰화하여 상기 토큰 시퀀스를 생성하고,
    상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하고,
    상기 복수의 토큰 각각에 대한 토큰 벡터를 상기 RNN 인코더의 입력으로 이용하여 상기 복수의 토큰 각각에 대한 은닉 상태 벡터를 생성하는 문단 내 객체 탐지 장치.
  16. 청구항 15에 있어서,
    상기 하나 이상의 프로세서는, 상기 입력 문단을 형태소 단위로 토큰화하는 문단 내 객체 탐지 장치.
  17. 청구항 15에 있어서,
    상기 하나 이상의 프로세서는, 복수의 토큰 각각에 대한 임베딩(embedding) 벡터 및 복수의 토큰 각각의 자질에 대한 자질 벡터에 기초하여 상기 복수의 토큰 각각에 대한 토큰 벡터를 생성하는 문단 내 객체 탐지 장치.
  18. 청구항 17에 있어서,
    상기 복수의 토큰 각각의 자질은, 상기 복수의 토큰 각각의 품사를 포함하는 문단 내 객체 탐지 장치.
  19. 청구항 11에 있어서,
    상기 하나 이상의 대상 객체는, 상기 입력 문단에 기초하여 생성될 질의에 대한 정답 후보인 문단 내 객체 탐지 장치.
  20. 청구항 11에 있어서,
    상기 RNN 인코더는, 양방향 RNN 인코더인 문단 내 객체 탐지 장치.
KR1020200130364A 2020-10-08 2020-10-08 문단 내 객체 탐지 방법 및 장치 KR102544700B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200130364A KR102544700B1 (ko) 2020-10-08 2020-10-08 문단 내 객체 탐지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200130364A KR102544700B1 (ko) 2020-10-08 2020-10-08 문단 내 객체 탐지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220046987A true KR20220046987A (ko) 2022-04-15
KR102544700B1 KR102544700B1 (ko) 2023-06-20

Family

ID=81211907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200130364A KR102544700B1 (ko) 2020-10-08 2020-10-08 문단 내 객체 탐지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102544700B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514817B1 (ko) * 2022-09-27 2023-03-29 한국딥러닝 주식회사 딥러닝 기반의 시각적 문서 이해 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045650A (ko) * 2017-10-24 2019-05-03 강원대학교산학협력단 계층적 포인터 네트워크를 이용한 상호참조해결 시스템 및 방법
KR20190101567A (ko) * 2018-02-23 2019-09-02 주식회사 마인즈랩 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045650A (ko) * 2017-10-24 2019-05-03 강원대학교산학협력단 계층적 포인터 네트워크를 이용한 상호참조해결 시스템 및 방법
KR20190101567A (ko) * 2018-02-23 2019-09-02 주식회사 마인즈랩 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514817B1 (ko) * 2022-09-27 2023-03-29 한국딥러닝 주식회사 딥러닝 기반의 시각적 문서 이해 시스템 및 방법

Also Published As

Publication number Publication date
KR102544700B1 (ko) 2023-06-20

Similar Documents

Publication Publication Date Title
US10170014B2 (en) Domain-specific question-answer pair generation
US20180189272A1 (en) Apparatus and method for sentence abstraction
CN108595629B (zh) 用于答案选择系统的数据处理方法及应用
US20210124876A1 (en) Evaluating the Factual Consistency of Abstractive Text Summarization
US11126794B2 (en) Targeted rewrites
US10713288B2 (en) Natural language content generator
KR102024845B1 (ko) 화행 분석 장치 및 방법
GB2573998A (en) Device and method for natural language processing
US20230075614A1 (en) Automatically identifying multi-word expressions
WO2019118257A1 (en) Assertion-based question answering
KR102544700B1 (ko) 문단 내 객체 탐지 방법 및 장치
CN108268443B (zh) 确定话题点转移以及获取回复文本的方法、装置
KR101646159B1 (ko) Srl 기반의 문장 분석 방법 및 장치
EP3989100A1 (en) Apparatus and method for augmenting texual data
KR102284903B1 (ko) 입력 시퀀스 생성 방법 및 장치
KR20230059524A (ko) 멀티 모달 데이터를 분석하기 위한 방법 및 장치
KR102072708B1 (ko) 텍스트 콘텐츠의 장르를 추론하는 방법 및 컴퓨터 프로그램
US20200279024A1 (en) Non-transitory computer readable medium
KR102383043B1 (ko) 생략 복원 학습 방법과 인식 방법 및 이를 수행하기 위한 장치
KR102498670B1 (ko) 단락의 순위화를 위한 방법 및 장치
Petrovic et al. Attribution of 18th century political writings using machine learning
US20230140338A1 (en) Method and apparatus for document summarization
US20230131259A1 (en) Apparatus and method of training machine learning model, and apparatus and method for summarizing document using the same
US12008330B2 (en) Apparatus and method for augmenting textual data
JP6828812B2 (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

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