KR102284903B1 - 입력 시퀀스 생성 방법 및 장치 - Google Patents

입력 시퀀스 생성 방법 및 장치 Download PDF

Info

Publication number
KR102284903B1
KR102284903B1 KR1020190057711A KR20190057711A KR102284903B1 KR 102284903 B1 KR102284903 B1 KR 102284903B1 KR 1020190057711 A KR1020190057711 A KR 1020190057711A KR 20190057711 A KR20190057711 A KR 20190057711A KR 102284903 B1 KR102284903 B1 KR 102284903B1
Authority
KR
South Korea
Prior art keywords
tokens
token
sub
input
generating
Prior art date
Application number
KR1020190057711A
Other languages
English (en)
Other versions
KR20200132344A (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 KR1020190057711A priority Critical patent/KR102284903B1/ko
Publication of KR20200132344A publication Critical patent/KR20200132344A/ko
Application granted granted Critical
Publication of KR102284903B1 publication Critical patent/KR102284903B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • 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

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)
  • Machine Translation (AREA)

Abstract

입력 시퀀스 생성 방법 및 장치가 개시된다. 일 실시예에 따른 입력 시퀀스 생성 방법은 입력 문장을 제1 분할 단위로 토큰화(tokenization)하여 상기 입력 문장에 대한 토큰 시퀀스를 생성하는 동작; 및 상기 토큰 시퀀스에 포함된 복수의 토큰 각각을 임베딩 벡터(embedding vector)로 변환하여 문장 생성 모델에 대한 입력 시퀀스를 생성하는 동작을 포함하되, 상기 입력 시퀀스를 생성하는 동작은, 상기 복수의 토큰 중 기 설정된 카테고리에 속하는 하나 이상의 분할 대상 토큰이 포함되어 있는 경우, 상기 하나 이상의 분할 대상 토큰 각각을 제2 분할 단위로 토큰화하여 상기 하나 이상의 분할 대상 토큰 각각을 복수의 서브 토큰으로 분할하는 동작; 및 상기 복수의 서브 토큰을 이용하여 상기 하나 이상의 분할 대상 토큰 각각에 대한 임베딩 벡터를 생성하는 동작을 포함한다.

Description

입력 시퀀스 생성 방법 및 장치{MEHTOD AND APPARATUS FOR INPUT SEQUENCE}
개시되는 실시예들은 문장 생성 기술과 관련된다.
최근 챗봇(chatbot)을 이용한 대화 서비스, 기계 번역 서비스 등과 같이 자연어로 작성된 문장을 입력받아 자연어로 작성된 다른 문장을 생성하는 문장 생성 모델을 이용한 다양한 서비스가 제공되고 있다.
이때, 문장 생성 모델로서 시퀀스 투 시퀀스(sequence to sequence) 모델 기반의 문장 생성 모델이 주로 이용되고 있다. 시퀀스 투 시퀀스(sequence to sequence) 모델은 입력 문장을 형태소 또는 음절 등과 같은 특정한 단위로 토큰화하여 생성된 각 토큰에 대한 임베딩 벡터(embedding vector)로 구성된 입력 시퀀스를 입력 받아, 출력 문장을 생성하게 된다.
한편, 입력 시퀀스 생성 시, 입력 문장을 예를 들어, 음절과 같이 지나치게 작은 단위로 토큰화하는 경우, 입력 시퀀스의 길이가 길어지게 되고, 생성해야 하는 토큰이 많아 출력 문장 생성 시 오류가 발생할 확률이 높아지게 된다.
반면, 입력 문장을 예를 들어, 형태소 단위로 토큰화하는 경우, 미등록어(out of vocabulary)가 발생할 수 있다는 문제점이 있다.
개시되는 실시예들은 입력 시퀀스 생성 방법 및 장치를 제공하기 위한 것이다.
일 실시예에 따른 입력 시퀀스 생성 방법은, 입력 문장을 제1 분할 단위로 토큰화(tokenization)하여 상기 입력 문장에 대한 토큰 시퀀스를 생성하는 동작; 및 상기 토큰 시퀀스에 포함된 복수의 토큰 각각을 임베딩 벡터(embedding vector)로 변환하여 문장 생성 모델에 대한 입력 시퀀스를 생성하는 동작을 포함하되, 상기 입력 시퀀스를 생성하는 동작은, 상기 복수의 토큰 중 기 설정된 카테고리에 속하는 하나 이상의 분할 대상 토큰이 포함되어 있는 경우, 상기 하나 이상의 분할 대상 토큰 각각을 제2 분할 단위로 토큰화하여 상기 하나 이상의 분할 대상 토큰 각각을 복수의 서브 토큰으로 분할하는 동작; 및 상기 복수의 서브 토큰을 이용하여 상기 하나 이상의 분할 대상 토큰 각각에 대한 임베딩 벡터를 생성하는 동작을 포함한다.
상기 토큰 시퀀스를 생성하는 동작은, 상기 입력 문장을 형태소 단위로 토큰화할 수 있다.
상기 분할하는 동작은, 상기 하나 이상의 분할 대상 토큰 각각을 음절 단위로 토큰화할 수 있다.
상기 분할하는 동작은, 상기 복수의 토큰 각각의 품사에 기초하여 상기 복수의 토큰 중 개방 품사 카테고리에 속하는 토큰을 상기 분할 대상 토큰으로 결정할 수 있다.
상기 분할하는 동작은, 상기 복수의 토큰 중 품사가 미등록어, 고유명사, 외국어 및 숫자 중 하나인 토큰을 상기 개방 품사 카테고리에 속하는 토큰으로 판단할 수 있다.
상기 임베딩 벡터를 생성하는 동작은, 컨볼루션 신경망(Convolutional Neural Network)을 이용하여 상기 복수의 서브 토큰으로부터 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성할 수 있다.
상기 임베딩 벡터를 생성하는 동작은, 상기 복수의 서브 토큰 각각을 임베딩 벡터로 변환하는 동작; 및 상기 복수의 서브 토큰 각각에 대한 임베딩 벡터를 포함하는 행렬을 상기 컨볼루션 신경망의 입력으로 이용하여 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성하는 동작을 포함할 수 있다.
일 실시예에 따른 입력 시퀀스 생성 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 입력 문장을 제1 분할 단위로 토큰화(tokenization)하여 상기 입력 문장에 대한 토큰 시퀀스를 생성하고, 상기 토큰 시퀀스에 포함된 복수의 토큰 각각을 임베딩 벡터(embedding vector)로 변환하여 문장 생성 모델에 대한 입력 시퀀스를 생성하되, 상기 복수의 토큰 중 기 설정된 카테고리에 속하는 하나 이상의 분할 대상 토큰이 포함되어 있는 경우, 상기 하나 이상의 분할 대상 토큰 각각을 제2 분할 단위로 토큰화하여 상기 하나 이상의 분할 대상 토큰 각각을 복수의 서브 토큰으로 분할하고, 상기 복수의 서브 토큰을 이용하여 상기 하나 이상의 분할 대상 토큰 각각에 대한 임베딩 벡터를 생성한다.
상기 하나 이상의 프로세서는, 상기 입력 문장을 형태소 단위로 토큰화할 수 있다.
상기 하나 이상의 프로세서는, 상기 하나 이상의 분할 대상 토큰 각각을 음절 단위로 토큰화할 수 있다.
상기 하나 이상의 프로세서는, 상기 복수의 토큰 각각의 품사에 기초하여 상기 복수의 토큰 중 개방 품사 카테고리에 속하는 토큰을 상기 분할 대상 토큰으로 결정할 수 있다.
상기 하나 이상의 프로세서는, 상기 복수의 토큰 중 품사가 미등록어, 고유명사, 외국어 및 숫자 중 하나인 토큰을 상기 개방 품사 카테고리에 속하는 토큰으로 판단할 수 있다.
상기 하나 이상의 프로세서는, 컨볼루션 신경망(Convolutional Neural Network)을 이용하여 상기 복수의 서브 토큰으로부터 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성할 수 있다.
상기 하나 이상의 프로세서는, 상기 복수의 서브 토큰 각각을 임베딩 벡터로 변환하고, 상기 복수의 서브 토큰 각각에 대한 임베딩 벡터를 포함하는 행렬을 상기 컨볼루션 신경망의 입력으로 이용하여 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성할 수 있다.
개시되는 실시예들에 따르면, 문장 생성 모델에 대한 입력 시퀀스 생성 시 입력 문장을 특정한 분할 단위로 토큰화한 후 기 설정된 카테고리에 속하는 토큰을 더 작은 단위로 재차 토큰화하여 입력 시퀀스를 생성함으로써, 입력 시퀀스의 길이가 지나치게 길어지는 것을 방지함과 동시에 미등록어 문제를 해소할 수 있게 된다.
도 1은 일 실시예에 따른 입력 시퀀스 생성 장치의 구성도이다.
도 2는 일 실시예에 따른 입력 시퀀스 생성의 일 예를 나타낸 예시도이다.
도 3은 일 실시예에 따른 문장 생성 모델의 개략적 구성을 나타낸 도면이다.
도 4는 다른 실시예에 따른 문장 생성 모델의 개략적 구성을 나타낸 도면이다.
도 5는 일 실시예에 따른 입력 시퀀스 생성 방법의 순서도이다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 입력 시퀀스 생성 장치의 구성도이다.
도 1을 참조하면, 일 실시예에 따른 입력 시퀀스 생성 장치(100)는 토큰화부(110) 및 임베딩부(120)를 포함한다.
입력 시퀀스 생성 장치(100)는 자연어로 작성된 입력 문장을 입력받아 시퀀스 투 시퀀스 모델(sequence to sequence) 기반의 문장 생성 모델로 입력될 입력 시퀀스를 생성한다. 이때, 시퀀스 투 시퀀스 모델은 연속적인 복수의 입력 데이터를 포함하는 입력 시퀀스를 연속적인 복수의 출력 데이터를 포함하는 출력 시퀀스로 변환하기 위한 순환 신경망(Recurrent Neural Network, RNN) 모델을 의미한다. 일 실시예에서, 시퀀스 투 시퀀스 모델은 후술할 바와 같이 RNN으로 구성되며 입력 시퀀스로부터 문맥 벡터(context vector)를 생성하는 인코더(encoder)와 RNN으로 구성되며 문맥 벡터로부터 출력 시퀀스를 생성하는 디코더(decoder)를 포함할 수 있다.
한편, 문장 생성 모델은 특정 언어로 작성된 입력 문장을 다른 언어로 번역한 출력 문장을 생성하거나, 특정한 입력 문장에 대응되는 응답 문장을 생성하기 위해 이용되는 모델을 의미할 수 있다.
한편, 일 실시예에서, 토큰화부(110) 및 임베딩부(120)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
토큰화부(110)는 입력 문장을 제1 분할 단위로 토큰화(tokenization)하여 입력 문장에 대한 토큰 시퀀스를 생성한다.
구체적으로, 토큰화부(110)는 입력 문장을 제1 분할 단위로 분할하여, 제1 분할 단위로 분할된 복수의 토큰을 포함하는 토큰 시퀀스를 생성할 수 있다.
이때, 일 실시예에 따르면, 제1 분할 단위는 형태소(morpheme) 단위일 수 있다. 즉, 토큰 시퀀스에 포함된 각 토큰은 입력 문장에 포함된 각 형태소일 수 있다. 구체적으로, 토큰화부(110)는 입력 문장에 대해 형태소 분석(morphological analysis)을 수행하여 입력 문장을 형태소 단위로 분할할 수 있다. 이때, 형태소 분석은 입력 문장을 형태소 단위로 분할한 후, 분할된 각 형태소에 대한 품사를 결정하는 과정을 의미한다.
한편, 토큰화부(110)는 입력 문장에 대한 토큰화를 위해 공지된 다양한 형태소 분석 기법을 이용할 수 있다. 또한, 토큰화부(110)에 의해 이용되는 형태소 분석 기법은 입력 문장의 언어(예를 들어, 한국어, 영어 등), 형태소 분석 결과의 정확성 등을 고려하여 실시예에 따라 변경될 수 있다.
임베딩부(120)는 토큰 시퀀스에 포함된 각 토큰을 임베딩 벡터로 변환하여 문장 생성 모델로 입력할 입력 시퀀스를 생성한다. 이때, 입력 시퀀스는 토큰 시퀀스에 포함된 각 토큰에 대한 임베딩 벡터(embedding vector)를 포함하는 시퀀스를 의미할 수 있다.
한편, 임베딩 벡터는 각 토큰을 기 설정된 차원의 벡터 표현으로 변환한 것으로, 일 실시예에 따르면, 임베딩부(120)는 예를 들어, Glove, FastText, Word2Vec 등과 같이 공지된 다양한 워드 임베딩(word embedding) 기법을 이용하여 토큰 시퀀스에 포함된 각 토큰에 대한 임베딩 벡터를 생성할 수 있다.
한편, 임베딩부(120)는 토큰 시퀀스에 기 설정된 카테고리에 속하는 분할 대상 토큰이 포함되어 있는 경우, 분할 대상 토큰을 제2 분할 단위로 토큰화하여 분할 대상 토큰을 복수의 서브 토큰으로 분할하고, 복수의 서브 토큰을 이용하여 분할 대상 토큰에 대한 임베딩 벡터를 생성한다.
이때, 일 실시예에 따르면, 임베딩부(120)는 토큰 시퀀스에 포함된 각 토큰의 품사에 기초하여 각 토큰이 기 설정된 카테고리에 속하는 분할 대상 토큰인지 여부를 판단할 수 있다. 이때, 각 토큰의 품사는 토큰화부(110)에 의해 수행된 형태소 분석 과정에서 각 토큰에 태깅될 수 있다.
구체적으로, 임베딩부(120)는 토큰 시퀀스에 포함된 각 토큰의 품사에 기초하여, 토큰 시퀀스에 포함된 각 토큰 중 개방 품사(open part of speech) 카테고리에 속하는 토큰을 분할 대상 토큰으로 결정할 수 있다. 이때, 개방 품사는 외래어 수용, 신조어 제작, 합성어 등을 통해 어휘 확장이 가능한 품사를 의미할 수 있다. 예를 들어, 개방 품사 카테고리는 외국어, 고유명사, 숫자, 미등록어(Out of vocabulary) 중 적어도 하나를 포함할 수 있으나, 반드시 이에 한정되는 것은 아니며, 개방 품사 카테고리에 속하는 품사의 종류는 실시예에 따라 변경될 수 있다.
한편, 일 실시예에 따르면, 제2 분할 단위는 음절(syllable) 단위일 수 있다. 구체적으로, 임베딩부(120)는 토큰 시퀀스에 분할 대상 토큰이 포함되어 있는 경우, 각 분할 대상 토큰을 음절 단위의 복수의 서브 토큰으로 분할할 수 있다.
또한, 일 실시예에 따르면, 임베딩부(120)는 컨볼루션 신경망(Convolution Neural Network, CNN)를 이용하여, 분할된 복수의 서브 토큰으로부터 분할 대상 토큰에 대한 임베딩 벡터를 생성할 수 있다. 구체적으로, 임베딩부(120)는 예를 들어, 워드 임베딩 기법을 이용하여, 분할 대상 토큰으로부터 분할된 각 서브 토큰을 기 설정된 차원의 임베딩 벡터로 변환할 수 있다. 이후, 임베딩부(120)는 각 서브 토큰에 대한 임베딩 벡터를 포함하는 행렬을 CNN의 입력으로 이용하여 분할 대상 토큰에 대한 임베딩 벡터를 생성할 수 있다.
도 2는 일 실시예에 따른 입력 시퀀스 생성의 일 예를 나타낸 예시도이다.
도 2를 참조하면, 우선, 토큰화부(110)는 입력 문장(210)에 대한 형태소 분석을 수행하여 형태소 단위의 토큰들을 포함하는 토큰 시퀀스(220)를 생성할 수 있다.
도시된 예에서, 토큰 시퀀스(220)에 포함된 각 토큰에 "/"와 함께 표시된 태그는 형태소 분석 과정에서 각 토큰에 태깅된 품사를 나타낸다. 구체적으로, "NNG"는 일반명사(common nouns), "JX"는 보조사(auxiliary particles), "NNP"는 고유명사(proper nouns), "JKG"는 관형격 조사(genitive case markers), "JKB"는 부사격 조사(adverbial case markers), "VV"는 동사(verb), "SF"는 문장 부호(punctuation marks), "UNK"는 미등록어를 각각 의미한다.
한편, 임베딩부(120)는 토큰 시퀀스(220)에 포함된 토큰 각각을 임베딩 벡터로 변환하여, 각 토큰에 대응되는 임베딩 벡터 X1 내지 X11을 포함하는 입력 시퀀스(230)를 생성할 수 있다.
구체적으로, 임베딩부(120)는 워드 임베딩 기법을 이용하여, 토큰 시퀀스(220)에 포함된 토큰들 중 개방 품사 카테고리에 속하지 않는 나머지 토큰 각각에 대한 임베딩 벡터 X1, X2, X5, X6, X7, X8, X9, X10 및 X11을 생성할 수 있다.
또한, 임베딩부(120)는 토큰 시퀀스(220)에 포함된 토큰들 중 각각 개방 품사 카테고리에 속하는 고유명사와 미등록어로 분류된 토큰인 "엔씨"(221)와 "다이노스"(222)를 분할 대상 토큰으로 판단하고, 음절 단위로 분할할 수 있다. 구체적으로, 임베딩부(120)는 "엔씨"(221)를 서브 토큰인 "엔"과 "씨"로 분할하여 서브 토큰 시퀀스(221-1)을 생성할 수 있다. 또한, 임베딩부(120)는 "다이노스"(222)를 서브 토큰인 "다", "이", "노", "스"로 분할하여 서브 토큰 시퀀스(222-1)를 생성할 수 있다.
이후, 임베딩부(120)는 워드 임베딩 기법을 이용하여 서브 토큰 시퀀스(221-1)에 포함된 서브 토큰 "엔"과 "씨" 각각에 대한 임베딩 벡터
Figure 112019050359657-pat00001
Figure 112019050359657-pat00002
를 생성하고, 생성된 임베딩 벡터
Figure 112019050359657-pat00003
Figure 112019050359657-pat00004
를 포함하는 행렬을 CNN의 입력으로 이용하여 분할 대상 토큰 "엔씨"(221)에 대한 임베딩 벡터 X3를 생성할 수 있다.
또한, 임베딩부(120)는 워드 임베딩 기법을 이용하여 서브 토큰 시퀀스(222-1)에 포함된 서브 토큰 "다", "이", "노" 및 "스" 각각에 대한 임베딩 벡터
Figure 112019050359657-pat00005
,
Figure 112019050359657-pat00006
,
Figure 112019050359657-pat00007
Figure 112019050359657-pat00008
를 생성하고, 생성된 임베딩 벡터
Figure 112019050359657-pat00009
,
Figure 112019050359657-pat00010
,
Figure 112019050359657-pat00011
Figure 112019050359657-pat00012
를 포함하는 행렬을 CNN의 입력으로 이용하여 분할 대상 토큰 "다이노스"(222)에 대한 임베딩 벡터 X4를 생성할 수 있다.
도 3은 일 실시예에 따른 문장 생성 모델의 개략적 구성을 나타낸 도면이다.
도 3을 참조하면, 일 실시예에 따른 문장 생성 모델(300)은 각각 순환 신경망(Recurrent Neural Network, RNN)으로 구성된 인코더(encoder)(310)와 디코더(decoder)(330)를 포함하는 인코더-디코더 모델일 수 있다.
구체적으로, 인코더(310)는 입력 시퀀스 생성 장치(100)에 의해 생성된 입력 시퀀스 X={X1, X2, X3, ..., Xn}로부터 문맥 벡터(context vector, 320)를 생성하고, 디코더(330)는 문맥 벡터(320)로부터 출력 시퀀스 Y={y1, y2, y3,..., ym}를 생성할 수 있다. 이때, 출력 시퀀스 Y에 포함된 y1, y2, y3,..., ym는 각각 출력 문장에 포함될 각 토큰에 대한 임베딩 벡터일 수 있다. 이때, 출력 문장에 포함될 각 토큰은 형태소 및 음절 중 하나의 단위를 가질 수 있다.
한편, 인코더(310)로 입력 시퀀스 X의 i번째 임베딩 벡터(즉, Xi)이 인코더(310)로 입력된 경우, 인코더(310)의 은닉 상태 벡터(hidden state vector) hi는 아래의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
Figure 112019050359657-pat00013
수학식 1에서, f는 비선형 활성화 함수(non-linear active function)를 나타내며, 예를 들어 LSTM(Long-Short Term Memory) 또는 GRU(Gated Recurrent Unit)일 수 있다. 이하, f는 동일한 의미로 사용된다.
한편, 문맥 벡터(320) c는 아래의 수학식 2를 이용하여 생성될 수 있다.
[수학식 2]
Figure 112019050359657-pat00014
수학식 2에서, q는 문맥 벡터를 생성하기 위한 비선형 함수를 나타내며, 예를 들어, 아래의 수학식 3과 같이 인코더(310)의 마지막 은닉 상태 벡터를 추출하는 함수일 수 있다.
[수학식 3]
Figure 112019050359657-pat00015
한편, 디코더(230)는 문맥 벡터(320), 이전 출력 시점에서 디코더(330)의 은닉 상태 벡터 및 이전 출력 시점에서 출력된 토큰에 대한 임베딩 벡터를 입력받아 현재 출력 시점에서 출력할 토큰을 결정할 수 있다.
구체적으로, 현재 출력 시점 j에서 디코더(330)의 은닉 상태 벡터 Sj는 아래의 수학식 4와 같이 표현될 수 있다.
[수학식 4]
Figure 112019050359657-pat00016
또한, 디코더(330)는 예를 들어, 아래의 수학식 5와 같이 현재 시점에서 출력할 토큰에 대한 조건부 확률을 산출하고, 산출된 확률이 최대가 되도록 현재 시점에서 출력할 토큰을 결정할 수 있다.
[수학식 5]
Figure 112019050359657-pat00017
도 4는 다른 실시예에 따른 문장 생성 모델의 개략적 구성을 나타낸 도면이다.
도 4를 참조하면, 일 실시예에 따른 문장 생성 모델(400)은 주의 집중 메커니즘(attention mechanism)이 적용된 주의 집중 기반 인코더-디코더(attention based encoder-decoder) 모델일 수 있다.
도 4에 도시된 실시예에서, 인코더(410)는 순방향 RNN(forward RNN)과 역방향 RNN(backward RNN)을 포함하는 양방향 RNN(bidirectional RNN)으로 구성될 수 있다.
구체적으로, 입력 시퀀스 X={X1, X2, X3, ..., Xn}의 i번째 임베딩 벡터(즉, Xi)에 대한 인코더(410)의 순방향 은닉 상태 벡터
Figure 112019050359657-pat00018
와 역방향 은닉 상태 벡터
Figure 112019050359657-pat00019
는 각각 아래의 수학식 6 및 7과 같이 표현될 수 있다.
[수학식 6]
Figure 112019050359657-pat00020
[수학식 7]
Figure 112019050359657-pat00021
또한, Xi에 대한 인코더(410)의 은닉 상태 벡터
Figure 112019050359657-pat00022
는 아래의 수학식 8과 같이
Figure 112019050359657-pat00023
Figure 112019050359657-pat00024
를 결합(concatenate)하여 생성될 수 있다.
[수학식 8]
Figure 112019050359657-pat00025
한편, 주의 집중 층(attention layer, 420)은 인코더(410)에 의해 생성된 각 은닉 상태 벡터에 대한 디코더(430)의 현재 출력 시점에서의 주의 집중 가중치(attention weight)를 결정할 수 있다. 이때, 주의 집중 가중치는 현재 출력 시점에서 출력할 토큰을 결정하기 위해 입력 시퀀스에 포함된 임베딩 벡터들 중 어떤 토큰에 대한 임베딩 벡터에 집중하여야 할 지를 나타낸다.
구체적으로, 현재 출력 시점 j에서 인코더(410)의 i번째 은닉 상태 벡터
Figure 112019050359657-pat00026
에 대한 주의 집중 가중치
Figure 112019050359657-pat00027
는 예를 들어, 수학식 9와 같은 소프트맥스(softmax) 함수를 이용하여 정규화된 값으로 산출될 수 있다.
[수학식 9]
Figure 112019050359657-pat00028
수학식 9에서, Tx는 디코더(430)로 입력된 임베딩 벡터의 개수를 나타낸다. 또한,
Figure 112019050359657-pat00029
는 현재 출력 시점 j에서 인코더(410)의 i번째 은닉 상태 벡터
Figure 112019050359657-pat00030
에 대한 주의 집중 스코어(attention score)이며, 이전 출력 시점에서 디코더(430)의 은닉 상태 벡터
Figure 112019050359657-pat00031
와 인코더(410)의 i번째 은닉 상태 벡터
Figure 112019050359657-pat00032
가 얼마나 유사한지를 나타낸다. 예를 들어, 주의 집중 스코어는 아래의 수학식 10에 의해 산출될 수 있다.
[수학식 10]
Figure 112019050359657-pat00033
수학식 10에서
Figure 112019050359657-pat00034
는 스코어 함수를 나타낸다. 이때, 스코어 함수는 예를
Figure 112019050359657-pat00035
Figure 112019050359657-pat00036
를 입력으로 하고, tanh를 활성화 함수로 이용하는 앞 먹임 신경망(Feed-Forward Neural Network)로 구현될 수 있다. 그러나, 스코어 함수로서 앞 먹임 신경망 외에도
Figure 112019050359657-pat00037
Figure 112019050359657-pat00038
사이의 내적(dot product) 내지는 쌍선형 함수(bilinear function)가 이용될 수도 있다.
한편, 디코더(430)는 이전 출력 시점에서 디코더(430)의 은닉 상태 벡터, 이전 출력 시점에서 출력된 토큰 및 현재 출력 시점에서 문맥 벡터를 입력받아 현재 출력 시점에서 출력할 토큰을 결정할 수 있다.
이때, 현재 출력 시점 j에서 디코더(430)로 입력되는 문맥 벡터
Figure 112019050359657-pat00039
는 아래의 수학식 11과 같이 산출될 수 있다.
[수학식 11]
Figure 112019050359657-pat00040
또한, 현재 출력 시점 j에서 디코더(430)의 은닉 상태 벡터
Figure 112019050359657-pat00041
는 아래의 수학식 12와 같이 표현될 수 있다.
[수학식 12]
Figure 112019050359657-pat00042
도 5는 일 실시예에 따른 입력 시퀀스 생성 방법의 순서도이다.
도 5에 도시된 방법은 예를 들어, 도 1에 도시된 입력 시퀀스 생성 장치(100)에 의해 수행될 수 있다.
도 5를 참조하면, 우선, 입력 시퀀스 생성 장치(100)는 입력 문장을 제1 분할 단위로 토큰화하여 입력 문장에 대한 토큰 시퀀스를 생성한다(510).
이때, 일 실시예에 따르면, 입력 시퀀스 생성 장치(100)는 형태소 단위로 입력 문장을 토큰화할 수 있다.
이후, 입력 시퀀스 생성 장치(100)는 입력 문장에 대한 토큰 시퀀스에 포함된 i(이때, i는 1≤i≤n인 자연수, n은 토큰 시퀀스에 포함된 토큰의 개수) 번째 토큰이 분할 대상 토큰인지 여부를 판단한다(520, 530).
이때, 입력 시퀀스 생성 장치(100)는 i번째 토큰이 기 설정된 카테고리에 속하는지 여부에 따라 i번째 토큰이 분할 대상 토큰인지 여부를 판단할 수 있다.
구체적으로, 일 실시예에 따르면, 입력 시퀀스 생성 장치(100)는 i번째 토큰의 품사에 기초하여 i번째 토큰이 개방 품사 카테고리에 속하는 경우 분할 대상 토큰으로 판단할 수 있다. 이때, 입력 시퀀스 생성 장치(100)는 i번째 토큰의 품사가 미등록어, 고유명사, 외국어 및 숫자 중 하나에 해당하는 경우 i번째 토큰이 개방 품사 카테고리에 속하는 것으로 판단할 수 있다.
이후, 입력 시퀀스 생성 장치(100)는 i번째 토큰이 분할 대상 토큰이 아닌 경우, i번째 토큰에 대한 임베딩 벡터를 생성한다(540).
이때, 일 실시예에 따르면, 입력 시퀀스 생성 장치(100)는 워드 임베딩 기법을 이용하여 i번째 토큰으로부터 임베딩 벡터를 생성할 수 있다.
한편, 입력 시퀀스 생성 장치(100)는 i번째 토큰이 분할 대상 토큰인 경우, i번째 토큰을 제2 분할 단위로 토큰화하여 i번째 토큰에 대한 복수의 서브 토큰을 생성한다(550).
이때, 일 실시예에 따르면, 입력 시퀀스 생성 장치(100)는 음절 단위로 i번째 토큰을 토큰화할 수 있다.
이후, 입력 시퀀스 생성 장치(100)는 i번째 토큰에 대한 복수의 서브 토큰을 이용하여 i번째 토큰에 대한 임베딩 벡터를 생성한다(560).
이때, 일 실시예에 따르면, 입력 시퀀스 생성 장치(100)는 컨볼루션 신경망을 이용하여, i번째 토큰에 대한 복수의 서브 토큰으로부터 i번째 토큰에 대한 임베딩 벡터를 생성할 수 있다. 구체적으로, 입력 시퀀스 생성 장치(100)는 예를 들어, 워드 임베딩 기법을 이용하여, i번째 토큰에 대한 복수의 서브 토큰 각각을 기 설정된 차원의 임베딩 벡터로 변환하고, 각 서브 토큰에 대한 임베딩 벡터를 포함하는 행렬을 CNN의 입력으로 이용하여 i번째 토큰에 대한 임베딩 벡터를 생성할 수 있다.
한편, i번째 토큰에 대한 임베딩 벡터가 생성된 경우, 입력 시퀀스 생성 장치(100)는 토큰 시퀀스에 i+1번째 토큰이 존재하는지 여부를 판단하고(570, 580), 존재하는 경우, i+1번째 토큰에 대해 530 내지 560 과정을 수행하여 i+1째 토큰에 대한 임베딩 벡터를 생성한다.
한편, 도 5에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(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: 임베딩부
300, 400: 문장 생성 모델

Claims (14)

  1. 입력 문장을 제1 분할 단위로 토큰화(tokenization)하여 상기 입력 문장에 대한 토큰 시퀀스를 생성하는 동작; 및
    상기 토큰 시퀀스에 포함된 복수의 토큰 각각을 임베딩 벡터(embedding vector)로 변환하여 문장 생성 모델에 대한 입력 시퀀스를 생성하는 동작을 포함하되,
    상기 입력 시퀀스를 생성하는 동작은,
    상기 복수의 토큰 중 기 설정된 카테고리에 속하지 않는 토큰은 상기 제1 분할 단위로 임베딩 벡터를 생성하는 동작;
    상기 복수의 토큰 중 기 설정된 카테고리에 속하는 하나 이상의 분할 대상 토큰이 포함되어 있는 경우, 상기 하나 이상의 분할 대상 토큰 각각을 제2 분할 단위로 토큰화하여 상기 하나 이상의 분할 대상 토큰 각각을 복수의 서브 토큰으로 분할하는 동작; 및
    상기 복수의 서브 토큰을 이용하여 상기 하나 이상의 분할 대상 토큰 각각에 대한 임베딩 벡터를 생성하는 동작을 포함하는 입력 시퀀스 생성 방법.
  2. 청구항 1에 있어서,
    상기 토큰 시퀀스를 생성하는 동작은, 상기 입력 문장을 형태소 단위로 토큰화하는 입력 시퀀스 생성 방법.
  3. 청구항 1에 있어서,
    상기 분할하는 동작은, 상기 하나 이상의 분할 대상 토큰 각각을 음절 단위로 토큰화하는 입력 시퀀스 생성 방법.
  4. 청구항 1에 있어서,
    상기 분할하는 동작은, 상기 복수의 토큰 각각의 품사에 기초하여 상기 복수의 토큰 중 개방 품사 카테고리에 속하는 토큰을 상기 분할 대상 토큰으로 결정하는 입력 시퀀스 생성 방법.
  5. 청구항 4에 있어서,
    상기 분할하는 동작은, 상기 복수의 토큰 중 품사가 미등록어, 고유명사, 외국어 및 숫자 중 하나인 토큰을 상기 개방 품사 카테고리에 속하는 토큰으로 판단하는 입력 시퀀스 생성 방법.
  6. 청구항 1에 있어서,
    상기 임베딩 벡터를 생성하는 동작은, 컨볼루션 신경망(Convolutional Neural Network)을 이용하여 상기 복수의 서브 토큰으로부터 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성하는 입력 시퀀스 생성 방법.
  7. 청구항 6에 있어서,
    상기 임베딩 벡터를 생성하는 동작은,
    상기 복수의 서브 토큰 각각을 임베딩 벡터로 변환하는 동작; 및
    상기 복수의 서브 토큰 각각에 대한 임베딩 벡터를 포함하는 행렬을 상기 컨볼루션 신경망의 입력으로 이용하여 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성하는 동작을 포함하는 입력 시퀀스 생성 방법.
  8. 하나 이상의 명령어를 저장하는 메모리; 및
    상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    입력 문장을 제1 분할 단위로 토큰화(tokenization)하여 상기 입력 문장에 대한 토큰 시퀀스를 생성하고,
    상기 토큰 시퀀스에 포함된 복수의 토큰 각각을 임베딩 벡터(embedding vector)로 변환하여 문장 생성 모델에 대한 입력 시퀀스를 생성하되,
    상기 복수의 토큰 중 기 설정된 카테고리에 속하지 않는 토큰은 상기 제1 분할 단위로 임베딩 벡터를 생성하며,
    상기 복수의 토큰 중 기 설정된 카테고리에 속하는 하나 이상의 분할 대상 토큰이 포함되어 있는 경우, 상기 하나 이상의 분할 대상 토큰 각각을 제2 분할 단위로 토큰화하여 상기 하나 이상의 분할 대상 토큰 각각을 복수의 서브 토큰으로 분할하고,
    상기 복수의 서브 토큰을 이용하여 상기 하나 이상의 분할 대상 토큰 각각에 대한 임베딩 벡터를 생성하는 입력 시퀀스 생성 장치.
  9. 청구항 8에 있어서,
    상기 하나 이상의 프로세서는, 상기 입력 문장을 형태소 단위로 토큰화하는 입력 시퀀스 생성 장치.
  10. 청구항 8에 있어서,
    상기 하나 이상의 프로세서는, 상기 하나 이상의 분할 대상 토큰 각각을 음절 단위로 토큰화하는 입력 시퀀스 생성 장치.
  11. 청구항 8에 있어서,
    상기 하나 이상의 프로세서는, 상기 복수의 토큰 각각의 품사에 기초하여 상기 복수의 토큰 중 개방 품사 카테고리에 속하는 토큰을 상기 분할 대상 토큰으로 결정하는 입력 시퀀스 생성 장치.
  12. 청구항 11에 있어서,
    상기 하나 이상의 프로세서는, 상기 복수의 토큰 중 품사가 미등록어, 고유명사, 외국어 및 숫자 중 하나인 토큰을 상기 개방 품사 카테고리에 속하는 토큰으로 판단하는 입력 시퀀스 생성 장치.
  13. 청구항 8에 있어서,
    상기 하나 이상의 프로세서는, 컨볼루션 신경망(Convolutional Neural Network)을 이용하여 상기 복수의 서브 토큰으로부터 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성하는 입력 시퀀스 생성 장치.
  14. 청구항 13에 있어서,
    상기 하나 이상의 프로세서는,
    상기 복수의 서브 토큰 각각을 임베딩 벡터로 변환하고,
    상기 복수의 서브 토큰 각각에 대한 임베딩 벡터를 포함하는 행렬을 상기 컨볼루션 신경망의 입력으로 이용하여 상기 복수의 서브 토큰에 대응되는 분할 대상 토큰에 대한 임베딩 벡터를 생성하는 입력 시퀀스 생성 장치.
KR1020190057711A 2019-05-17 2019-05-17 입력 시퀀스 생성 방법 및 장치 KR102284903B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190057711A KR102284903B1 (ko) 2019-05-17 2019-05-17 입력 시퀀스 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190057711A KR102284903B1 (ko) 2019-05-17 2019-05-17 입력 시퀀스 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200132344A KR20200132344A (ko) 2020-11-25
KR102284903B1 true KR102284903B1 (ko) 2021-08-03

Family

ID=73645805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190057711A KR102284903B1 (ko) 2019-05-17 2019-05-17 입력 시퀀스 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102284903B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102673273B1 (ko) * 2021-05-03 2024-06-05 삼성생명보험주식회사 텍스트 교정 방법 및 장치
KR102575034B1 (ko) * 2021-09-29 2023-09-04 가천대학교 산학협력단 시퀀스 레이블링 기반의 의존 구문 분석 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체
KR102699939B1 (ko) * 2023-10-31 2024-08-29 한국철도기술연구원 어구 명사화와 텍스트 임베딩을 이용한 유사 키워드 통합 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098952A (ja) * 2007-10-17 2009-05-07 Mitsubishi Electric Corp 情報検索システム
KR101929509B1 (ko) * 2018-09-17 2018-12-14 서강대학교 산학협력단 형태소 합성 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102071582B1 (ko) * 2017-05-16 2020-01-30 삼성전자주식회사 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098952A (ja) * 2007-10-17 2009-05-07 Mitsubishi Electric Corp 情報検索システム
KR101929509B1 (ko) * 2018-09-17 2018-12-14 서강대학교 산학협력단 형태소 합성 장치 및 방법

Also Published As

Publication number Publication date
KR20200132344A (ko) 2020-11-25

Similar Documents

Publication Publication Date Title
Sproat et al. RNN approaches to text normalization: A challenge
KR102540774B1 (ko) 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치
JP2020038687A (ja) テキスト要約システム、方法及び記憶媒体
US9805718B2 (en) Clarifying natural language input using targeted questions
US7860705B2 (en) Methods and apparatus for context adaptation of speech-to-speech translation systems
US11709893B2 (en) Search method, electronic device and storage medium
KR102284903B1 (ko) 입력 시퀀스 생성 방법 및 장치
CN104573099B (zh) 题目的搜索方法及装置
JPS63223962A (ja) 翻訳装置
US7136803B2 (en) Japanese virtual dictionary
CN112559725A (zh) 文本匹配方法、装置、终端和存储介质
KR101929509B1 (ko) 형태소 합성 장치 및 방법
US20200279024A1 (en) Non-transitory computer readable medium
KR102544700B1 (ko) 문단 내 객체 탐지 방법 및 장치
CN110287498A (zh) 层次化翻译方法、装置及存储介质
US12093298B2 (en) Apparatus and method for training model for document summarization
JP7327647B2 (ja) 発話生成装置、発話生成方法、プログラム
KR102261411B1 (ko) 채팅 모델 학습 방법 및 장치
KR20100069555A (ko) 음성 인식 시스템 및 방법
JP2020030379A (ja) 認識結果補正装置、認識結果補正方法、およびプログラム
KR102383043B1 (ko) 생략 복원 학습 방법과 인식 방법 및 이를 수행하기 위한 장치
JP2019087058A (ja) 文章中の省略を特定する人工知能装置
US12039264B2 (en) Artificial intelligence based system and method for smart sentence completion in mobile devices
JP2004118461A (ja) 言語モデルのトレーニング方法、かな漢字変換方法、言語モデルのトレーニング装置、かな漢字変換装置、コンピュータプログラムおよびコンピュータ読み取り可能な記録媒体
KR102498670B1 (ko) 단락의 순위화를 위한 방법 및 장치

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