KR101896973B1 - 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체 - Google Patents

기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체 Download PDF

Info

Publication number
KR101896973B1
KR101896973B1 KR1020180009775A KR20180009775A KR101896973B1 KR 101896973 B1 KR101896973 B1 KR 101896973B1 KR 1020180009775 A KR1020180009775 A KR 1020180009775A KR 20180009775 A KR20180009775 A KR 20180009775A KR 101896973 B1 KR101896973 B1 KR 101896973B1
Authority
KR
South Korea
Prior art keywords
tag
sentence
vector
output
semantic
Prior art date
Application number
KR1020180009775A
Other languages
English (en)
Inventor
강상우
Original Assignee
가천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가천대학교 산학협력단 filed Critical 가천대학교 산학협력단
Priority to KR1020180009775A priority Critical patent/KR101896973B1/ko
Application granted granted Critical
Publication of KR101896973B1 publication Critical patent/KR101896973B1/ko

Links

Images

Classifications

    • G06F17/28
    • G06F17/277
    • G06F17/2785
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • G06N99/005

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 입력되는 사용자 발화의 의미표현으로부터 사용자가 원하는 정보에 대한 시스템 발화를 생성하는, 자연어 생성 시스템, 방법, 및 컴퓨터-판독가능매체에 관한 것으로서, 본 발명의 일 실시예에 따른 자연어 생성 시스템은, 의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신부; 의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화부; 상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩부; 학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론부; 및 추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화부;를 포함한다.

Description

기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체{Natural Laguage Generating System Using Machine Learning Moodel, Method and Computer-readable Medium Thereof}
본 발명은 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체에 관한 것으로서, 보다 상세하게는 입력되는 사용자 발화의 의미표현으로부터 사용자가 원하는 정보에 대한 시스템 발화를 생성하는, 자연어 생성 시스템, 방법, 및 컴퓨터-판독가능매체에 관한 것이다.
자연어 생성이란 대화시스템에 의하여 구현되는 동작으로서, 대화관리자 (Dialogue Manager)가 사용자로부터 입력되는 사용자 발화의 응답에 대한 선택된 정보를 담고 있는 의미표현태그(Dialogue Act)를 자연어로 변환하는 동작을 의미한다.
종래 기술로는 규칙기반의 자연어 생성방법과 코퍼스 기반의 통계적 자연어 생성 방법에 관한 연구가 진행되었다.
다만, 규칙 기반의 자연어 생성방법의 경우, 문장을 생성하는데 있어서는 효율적이지만 사용자로부터 입력되는 사용자 발화의 응답에 있어서 한정적인 응답만을 반복적으로 제공하는 문제점이 존재하였다.
반면, 코퍼스 기반의 통계적 자연어 생성 방법의 경우, 상기 대화시스템을 구현하는 사용자가 직접 규칙을 않고 문장을 생성할 수 있다는 장점이 있지만, 상기 의미표현 태그의 각 구성 요소와 문장을 이루는 단어들 사이의 병렬 정보가 태그된 코퍼스를 필요로 하는 단점이 있다.
이와 같이 코퍼스 기반의 통계적 자연어 생성 방법을 사용하는 경우에, 특히 한국어로 기록된 학습데이터를 이용하여 상기 자연어를 효율적으로 생성하는 시스템, 방법에 대하여 활발한 연구가 진행되고 있다.
본 발명의 목적은 입력되는 사용자 발화의 의미표현으로부터 사용자가 원하는 정보에 대한 시스템 발화를 생성하는, 자연어 생성 시스템, 방법, 및 컴퓨터-판독가능매체를 제공하는 것이다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 기계학습 모델을 이용한 자연어 생성 시스템으로서, 의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신부; 의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화부; 상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩부; 학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론부; 및 추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화부;를 포함하는, 자연어 생성시스템을 제공한다.
본 발명의 일 실시예에서는, 상기 의미표현태그는, 상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그; 상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그; 상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고, 상기 의미표현정보수신부는, 상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신할 수 있다.
본 발명의 일 실시예에서는, 상기 탈어휘회부는, 상기 데이터값태그에 의하여 표현되는 상기 출력의미표현정보에 포함되는 사용자의 고유정보를 상기 학습된 순환신경망 모델의 동작을 위한 슬롯토큰으로 치환할 수 있다.
본 발명의 일 실시예에서는, 상기 의미인코딩부는, 상기 출력의미표현정보를 구성하는 상기 의미표현태그 각각에 벡터를 할당하고, 상기 의미표현태그 각각에 할당된 벡터를 결합하여 n차원의 출력의미표현정보벡터를 생성하고, n은 1 이상의 자연수일 수 있다.
본 발명의 일 실시예에서는, 상기 의미인코딩부는, 상기 발화유형태그에 벡터를 할당하여 발화유형태그벡터를 생성하고, 상기 데이터분류태그에 벡터를 할당하여 데이터분류태그벡터를 생성하고, 상기 데이터분류태그에 할당되는 상기 데이터값태그 혹은 상기 데이터값태그에 할당된 토큰에 벡터를 할당하여 데이터값태그벡터를 생성하고, 상기 발화유형태그벡터, 상기 데이터분류태그벡터, 및 상기 데이터값태그벡터를 결합하여 n차원의 출력의미표현정보벡터를 생성할 수 있다.
본 발명의 일 실시예에서는, 상기 문장추론부는, 복수개의 LSTM으로 구성된 상기 학습된 순환 신경망 모델에 의하여 구현되고, 상기 학습된 순환 신경망 모델은, 복수의 학습대상의 의미표현태그를 입력값으로 하고, 상기 복수의 학습대상의 의미표현태그에 각각 대응되는 학습대상의 복수의 정답문장의 역순의 문장이 출력값으로 하여 학습될 수 있다.
본 발명의 일 실시예에서는, 상기 문장추론부는, 상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 첫번째 LSTM으로 입력되고, 복수의 LSTM으로 구성된 상기 학습된 순환 신경망 모델에 의하여 상기 시스템 발화의 문장구조의 역순으로 상기 시스템 발화를 구성하는 문장단위를 추론하고, 각각 추론된 하나의 문장단위가 상기 학습된 순환 신경망 모델의 그 다음의 LSTM에 입력되어 다음 문장단위를 추론할 수 있다.
본 발명의 일 실시예에서는, 상기 문장추론부는, 상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력되는 첫번째 LSTM에서 가장 높은 확률을 갖는 제1문장단위에 기반하여 시스템 발화의 제1문장구조를 추론하고, 상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력되는 첫번째 LSTM에서 두번째로 높은 확률을 갖는 제2문장단위에 기반하여 시스템 발화의 제2문장구조를 추론할 수 있다.
본 발명의 일 실시예에서는, 상기 문장추론부는, 상기 시스템 발화의 문장구조의 시작에 시작토큰을 부여하고, 상기 시스템 발화의 문장구조의 종료에 종료토큰을 부여하고, 상기 학습된 순환 신경망 모델에 의하여 상기 시스템 발화의 문장구조의 역순으로 상기 시스템 발화를 구성하는 문장단위를 추론하는데 있어서, 상기 종료토큰 및 상기 출력의미표현정보벡터가 상기 순환 신경망 모델의 첫번째 LSTM의 입력 문장단위로 입력되고, 상기 첫번째 LSTM에서 출력되는 문장단위에 있어서 최상위 확률값 및 차상위 확률값을 갖는 문장단위인 제1 문장단위 및 제2 문장단위를 선별하고, 상기 제1문장단위를 기초로 상기 복수의 LSTM으로 이루어진 상기 학습된 순환 신경망 모델로부터 도출되는 제1문장구조를 생성하고, 상기 제2문장단위를 기초로 상기 복수의 LSTM으로 이루어진 상기 학습된 순환 신경망 모델로부터 도출되는 제2문장구조를 생성하고, 상기 제1문장구조 및 제2문장구조와 관련된 소프트맥스 확률값에 기초하여 제1문장구조 및 제2문장구조 중 어느 하나를 최종 문장구조로 선택할 수 있다.
본 발명의 일 실시예에서는, 상기 어휘화부는, 상기 문장추론부에서 상기 시스템 발화의 문장구조의 역순으로 추론된 상기 최종 문장구조를 원래의 문장구조로 순서를 정렬하고, 상기 출력의미표현정보벡터를 기초로 상기 슬롯토큰의 자리에 해당하는 어휘를 대입할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 기계학습 모델을 이용한 자연어 생성방법으로서, 의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신단계; 의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화단계; 상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩단계; 학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론단계; 및 추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화단계;를 포함하는, 자연어 생성방법을 제공한다.
본 발명의 일 실시예에서는, 상기 의미표현태그는, 상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그; 상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그; 상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고, 상기 의미표현정보수신단계는, 상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 기계학습 모델을 이용한 자연어 생성 방법을 구현하기 위한 컴퓨터-판독가능 매체로서, 상기 컴퓨터-판독가능 매체는, 컴퓨팅 장치로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 단계들은: 의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신단계; 의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화단계; 상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩단계; 학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론단계; 및 추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화단계;를 포함하는, 컴퓨터-판독가능 매체를 제공한다.
본 발명의 일 실시예에서는, 상기 의미표현태그는, 상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그; 상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그; 상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고, 상기 의미표현정보수신단계는, 상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 자연어생성시스템을 구현하기 위한 학습된 순환 신경망 모델을 통하여 일정관리 영역에서의 자연어 생성 시스템을 구현할 수 있다.
본 발명의 일 실시예에 따르면, 이와 같은 일정관리 영역에서의 자연어 생성 시스템의 기능을 일정등록, 확인, 변경, 삭제로 구분하여 모든 대화 상황을 고려한 시스템을 구현할 수 있다.
본 발명의 일 실시예에 따르면, 한국어 문장구조의 서술어가 문장의 후미에 위치하는 특성상, 순환 신경망 모델의 학습데이터의 정답문장을 문장구조의 역순으로 학습하여 시스템에서의 오류발생을 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 기계학습 모델을 이용한 자연어 생성 시스템의 동작환경을 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 자연어생성시스템의 내부구성을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 탈어휘화부의 동작 과정을 예시적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 의미표현벡터의 생성과정을 예시적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 문장추론부의 동작과정을 예시적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 문장추론부에서 문장단위가 선택되는 과정을 예시적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 어휘화부의 동작과정을 예시적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명은 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체에 관한 것으로서, 입력되는 사용자 발화의 의미표현으로부터 사용자가 원하는 정보에 대한 시스템 발화를 기계학습 모델을 이용하여 생성하는 것을 목적으로 한다.
이하에서는 이와 같은 자연어 생성을 수행하기 위한 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 기계학습 모델을 이용한 자연어 생성 시스템의 동작환경을 개략적으로 도시한다.
상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따르면, 기계학습 모델을 이용한 자연어 생성 시스템으로서, 자연어로 입력되는 사용자 발화에 대응되는 입력 자연어 텍스트를 생성하는 음성인식모듈(1000); 상기 입력 자연어 텍스트를 기초로 상기 사용자 발화의 의미를 추론하여 의미표현태그에 의하여 표현되는 입력의미표현정보를 생성하는 자연어이해모듈(2000); 상기 입력의미표현정보에 대한 응답으로 의미표현태그에 의하여 표현되는 출력의미표현정보를 생성하는 대화관리자모듈(3000); 상기 출력의미표현정보를 기초로 상기 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 자연어생성시스템(4000); 및 상기 출력 자연어 텍스트에 대응되는 자연어로 출력되는 시스템 발화를 생성하는 텍스트음성변환모듈(5000);을 포함하는, 자연어 생성 시스템을 제공한다.
상기 음성인식모듈(1000)은 자연어로 입력되는 사용자 발화에 대응되는 입력 자연어 텍스트를 생성할 수 있다.
즉, 상기 음성인식모듈(1000)은 사용자로부터 자연어로 입력되는 사용자 발화를 자연어 생성 시스템에서 처리 가능한 형태의 입력의미표현정보로 변환하기 위한 전처리 단계를 수행하는 모듈로서, 음성정보의 형태로 입력되는 상기 사용자 발화를 음성처리 기술을 활용하여 문자정보 형태의 입력 자연어 텍스트로 변환 하는 동작을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 상기 자연어 생성 시스템이 사용자의 일정관리를 위하여 사용되는 경우로서, 상기 음성인식모듈(1000)은 상기 사용자의 입을 통하여 발화되는 “12월 20일에 일정 있어”라는 음성정보를 입력 받아 동일한 정보를 갖는 “12월 20일에 일정 있어”라는 문자정보 형태의 입력 자연어 텍스트로 변환할 수 있다.
상기 자연어이해모듈(2000)은 입력되는 상기 자연어 텍스트를 기초로 상기 사용자 발화의 의미를 추론하여 의미표현태그에 의하여 표현되는 입력의미표현정보를 생성할 수 있다.
즉, 상기 자연어이해모듈(2000)은 이와 같이 상기 사용자 발화로부터 변환된 상기 자연어 텍스트를 상기 자연어 생성 시스템에서 처리 가능한 형태의 데이터인 입력의미표현정보로 변환하고, 이와 같은 입력의미표현정보는 의미표현태그에 의하여 표현될 수 있다.
구체적으로, 상기 의미표현태그는 발화유형태그, 데이터분류태그, 및 이에 대응하는 데이터값태그를 포함하는 하위태그로 구성될 수 있다.
이와 같은 방법으로 상기 자연어 텍스트는 1 이상의 하위태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 입력의미표현정보로 변환되고, 상기 입력의미표현정보는 상기 대화관리자모듈(3000)에 입력된다.
본 발명의 일 실시예에 따르면, “12월 20일에 일정 있어”라는 문자정보 형태의 입력 자연어 텍스트가 상기 자연어이해모듈(2000)에 의하여 상기 발화유형태그, 상기 데이터분류태그, 및 이에 대응하는 데이터값태그를 포함하는 하위태그 중 1 이상으로 구성되는 의미표현태그에 의하여 표현되는 입력의미표현정보로 변환될 수 있다.
즉, 상기 자연어 생성 시스템에 정보를 요구하는 상기 입력 자연어 텍스트는 사용자에 의하여 설정될 수 있는 상기 발화유형태그인 “ask_ref(정보요구)”로 표현되고, 상기 데이터분류태그인 “date(날짜)”로 표현되고, 상기 데이터분류태그에 대응하는 상기 데이터값태그인 “12월 20일”로 표현되는 상기 입력의미표현정보로 변환될 수 있다.
상기 대화관리자모듈(3000)은 상기 입력의미표현정보에 대한 응답으로 의미표현태그에 의하여 표현되는 출력의미표현정보를 생성할 수 있다.
구체적으로, 상기 출력의미표현정보는 상기 입력의미표현정보와 마찬가지로 상기 발화유형태그, 상기 데이터분류태그, 및 이에 대응하는 데이터값태그를 포함하는 의미표현태그로 표현될 수 있고, 상기 출력의미표현정보에 표현되는 내용은 상기 입력의미표현정보에 대한 응답이 된다.
즉, 본 발명의 일 실시예에 따르면, “12월 20일에 일정 있어”라는 입력 자연어 텍스트가 의미표현태그에 의하여 표현되는 상기 입력의미표현정보로 변환되었을 때, “12월 20일에 일정 있어”라는 정보를 담는 상기 입력의미표현정보에 대한 출력의미표현정보는 이에 대한 응답의 내용이 상기 자연어생성시스템(4000)에서 출력 자연어 텍스트로 변환될 수 있는 정보를 담도록 생성될 수 있다.
즉, 상기 자연어 생성 시스템에 정보를 요구하는 상기 입력 자연어 텍스트에 대한 대답으로, 상기 발화유형태그인 “inform”(정보제공)으로 표현되고, 상기 데이터분류태그인 “date”(날짜), “event_title”(일정명), 및 “system_action”(시스템동작)으로 표현되고, 상기 데이터분류태그에 대응하는 상기 데이터값태그인 “12월 20일”, “졸업논문심사”, 및 “read”(읽음)으로 표현되는 상기 출력의미표현정보를 생성할 수 있다.
상기 자연어생성시스템(4000)은 상기 출력의미표현정보를 기초로 상기 사용자가 원하는 정보에 대한 출력자연어 텍스트를 생성하고, 이는 학습된 순환 신경망 모델에 의하여 구현될 수 있다.
상기 자연어생성시스템(4000) 혹은 상기 자연어 생성 시스템에서의 자연어 생성 (Natural Language Generation)이란 대화시스템의 한 부분으로서 상기 대화관리자모듈(3000)에서 상기 사용자 발화 혹은 상기 입력 자연어 텍스트에 대하여 선택한 응답의 내용을 표현하는 의미표현태그를 자연어로 만들어 주는 동작을 의미한다.
즉, 상기 실시예에 따르면, 상기 자연어생성시스템(4000)은 상기 대화관리자모듈(3000)에서 상기 입력의미표현정보에 대한 응답으로 의미표현태그에 의하여 표현되는 출력의미표현정보를 출력 자연어 텍스트로 바꾸어주는 동작을 수행한다.
본 발명의 일 실시예에 따르면, “12월 20일에 일정 있어”라는 입력 자연어 텍스트가 의미표현태그에 의하여 상기 입력의미표현정보로 변환되고, 이에 대한 응답을 담은 상기 출력의미표현정보가 상기 자연어생성시스템(4000)로 입력되었을 때, 상기 자연어 생성모델(4000)에 의하여 생성되는 상기 출력 자연어 텍스트는 “12월 20일에는 심사 일정이 등록되어 있습니다.”와 같은 내용을 담을 수 있다.
또한, 본 발명의 일 실시예에 따른 자연어생성시스템(4000)을 구현하기 위한 상기 학습된 순환 신경망 모델은 학습을 위하여 대용량 시스템 발화 코퍼스를 필요로 한다.
구체적으로, 상기 순환신경망 모델을 학습하기 위한 대용량 시스템 발화 코퍼스는 하나의 상기 의미표현태그에 대응되는 정답문장으로 구성되어 학습될 수 있다.
이와 같이 상기 학습된 순환 신경망 모델을 통하여 구현되는 상기 자연어생성시스템(4000)을 통하여 상기 자연어 생성 시스템은 일정등록, 확인, 변경, 및 삭제로 구분되는 4가지의 기능을 구현할 수 있고, 4가지의 기능에 대하여 발생할 수 있는 모든 대화 상황을 고려한 시나리오를 제작하여 모두 80여가지의 시스템 발화 카테고리를 결정할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 의미표현태그는 inform(정보제공)을 포함하는 9개의 상기 발화유형태그인 Dialogue Act를 정의하고, 이에 따른 date(날짜), event_title(일정명), 및 system_action(시스템동작)을 포함하는 15개의 상기 데이터분류태그인 Slot을 정의하여 상기 자연어 생성 시스템을 통하여 구현되는 상기 시스템 발화에 들어가는 정보를 표현할 수 있다.
이와 같은 방법으로 구현될 수 있는 시스템 발화는 10,270가지로서, 각각의 상기 시스템 발화 카테고리에서 거의 균등한 비율로 제작하여, 하나의 의미표현태그에는 약 2.6개의 slot이 구현될 수 있다. 다만, 동일한 의미표현태그에 대하여는 다양한 발화를 생성하기 위하여 중복되는 문장을 모두 제외할 수 있다.
후술하는 바와 같이, 상기 자연어 생성 시스템의 오류를 줄이기 위하여 sytem_action(시스템 동작)의 slot(데이터분류태그)을 제외한 모든 slot에 대응하는 value값(데이터값태그)은 탈어휘화 동작을 수행하였다.
상기 텍스트음성변환모듈(5000)은 상기 출력 자연어 텍스트에 대응되는 자연어로 출력되는 시스템 발화를 생성할 수 있다.
본 발명의 일 실시예에 따르면, “12월 20일에는 심사 일정이 등록되어 있습니다.”와 같은 내용을 담는 상기 출력 자연어 텍스트가 상기 텍스트음성변환모듈(5000)에 의하여 사용자가 청각에 의하여 들을 수 있는 시스템 발화로 변환되어 생성될 수 있다.
결국, 도 1에 도시된 바와 같이 사용자가 상기 자연어 생성 시스템에 발화에 의한 입력을 넣게 되면, 자연어로 입력되는 상기 사용자 발화는 상기 음성인식모듈(1000)에 의하여 입력 자연어 텍스트로 변환되고, 상기 입력 자연어 텍스트는 상기 자연어이해모듈(2000)에 의하여 입력의미표현정보로 변환되고, 상기 입력의미표현정보에 대한 응답인 상기 출력의미표현정보가 상기 대화관리자모듈(3000)에 의하여 생성되어 상기 자연어생성시스템(4000)로 입력되고, 상기 출력의미표현정보는 상기 자연어생성시스템에 의하여 출력 자연어 텍스트로 변환되고, 상기 텍스트음성변환모듈(5000)에 의하여 상기 출력 자연어 텍스트가 상기 시스템 발화로 변환되어 상기 사용자의 청각에 의하여 인식될 수 있다.
이하에서는 상기 자연어 생성시스템을 구성하는 상기 자연어생성시스템(4000)에 대하여 자세하게 후술하도록 한다.
도 2는 본 발명의 일 실시예에 따른 자연어생성시스템의 내부구성을 개략적으로 도시한다.
상기 실시예에 따른 자연어생성시스템(4000)은 1 이상의 프로세서 및 1 이상의 메모리를 갖는 컴퓨팅 장치에 의하여 구현될 수 있다.
이와 같은 컴퓨팅장치는 프로세서(A), 버스(프로세서, 메모리, 네트워크 인터페이스 사이의 양방향 화살표에 해당), 네트워크 인터페이스(B) 및 메모리(C)를 포함할 수 있다. 메모리(C)에는 운영체제, 및 인공신경망을 구현하는 데 있어서 학습된 학습데이터로서 후술하는 본 발명의 추론 혹은 예측을 하는 모듈/부에서 이용되는 추론부학습데이터가 저장되어 있을 수 있다. 혹은 상기 추론부학습데이터는 딥러닝이 진행된 모델링 정보 자체를 의미할 수도 있다. 프로세서(A)에서는 의미표현정보수신부(4100), 탈어휘화부(4200), 의미인코딩부(4300), 문장추론부(4400), 및 어휘화부(4500)가 실행될 수 있다. 다른 실시예들에서 상기 자연어생성시스템(4000)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다.
메모리는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism, 미도시)을 이용하여 메모리와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체(미도시)를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 네트워크 인터페이스(B)를 통해 메모리에 로딩될 수도 있다.
버스는 컴퓨팅 장치의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.
네트워크 인터페이스(B)는 자연어생성시스템(4000)을 구현하는 컴퓨팅장치를 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성 요소일 수 있다. 네트워크 인터페이스(B)는 자연어생성시스템(4000)을 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.
프로세서(A)는 기본적인 산술, 로직 및 자연어생성시스템(4000)을 구현하는 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(C) 또는 네트워크 인터페이스(B)에 의해, 그리고 버스를 통해 프로세서로 제공될 수 있다. 프로세서는 의미표현정보수신부(4100), 탈어휘화부(4200), 의미인코딩부(4300), 문장추론부(4400), 및 어휘화부(4500)를 위한 프로그램 실행코드를 실행하도록 구성될 수 있다. 이러한 프로그램 실행코드는 메모리와 같은 기록 장치에 저장될 수 있다.
의미표현정보수신부(4100), 탈어휘화부(4200), 의미인코딩부(4300), 문장추론부(4400), 및 어휘화부(4500)는 이하에서 설명하게 될 자연어 생성 방법을 수행하기 위해 구성될 수 있다. 상기한 프로세서는 자연어 생성 방법에 따라 일부 컴포넌트가 생략되거나, 도시되지 않은 추가의 컴포넌트가 더 포함되거나, 2개 이상의 컴포넌트가 결합될 수 있다.
한편, 이와 같은 상기 컴퓨팅 장치는 바람직하게는 개인용 컴퓨터 혹은 서버에 해당하고, 경우에 따라서는 스마트 폰(smart phone)과, 태블릿(tablet)과, 이동 전화기와, 화상 전화기와, 전자책 리더(e-book reader)와, 데스크 탑(desktop) PC와, 랩탑(laptop) PC와, 넷북(netbook) PC와, 개인용 복합 단말기(personal digital assistant: PDA, 이하 'PDA'라 칭하기로 한다)와, 휴대용 멀티미디어 플레이어(portable multimedia player: PMP, 이하 'PMP'라 칭하기로 한다)와, 엠피3 플레이어(mp3 player)와, 이동 의료 디바이스와, 카메라와, 웨어러블 디바이스(wearable device)(일 예로, 헤드-마운티드 디바이스(head-mounted device: HMD, 일 예로 'HMD'라 칭하기로 한다)와, 전자 의류와, 전자 팔찌와, 전자 목걸이와, 전자 앱세서리(appcessory)와, 전자 문신, 혹은 스마트 워치(smart watch) 등에 해당할 수 있다.
바람직하게는, 이와 같은 자연어생성시스템(4000)은 학습된 순환 신경망 모델에 의하여 구현될 수 있고, 상기 학습된 순환 신경망 모델의 학습데이터는 의미표현태그의 정답문장의 문장단위의 역순으로 입력되어 학습될 수 있다.
상기 학습된 순환 신경망 모델은 문장과 같이 일정한 규칙에 의하여 순서를 갖는 구조에 대한 추론결과를 도출할 수 있는 기계학습 모델로서, 학습데이터에 의하여 학습될 수 있다.
특히 한국어의 발화유형은 서술어에 의하여 그 의미가 표현되는데, 서술어가 문장의 후미에 위치하는 한국어의 특성상 문장의 끝을 나타내는 심볼 “/END”가 입력되기 전에 서술어가 입력되도록 하기 위하여 학습데이터를 입력하는데 있어서 의미표현태그에 대응되는 정답문장이 문장단위의 역순으로 상기 순환 신경망 모델에 입력함으로써, 이와 같은 문제점을 해결할 수 있다.
또한, 후술하는 바와 같이, 사용자 발화에 대한 시스템 발화의 결과를 얻기 위하여 상기 자연어생성시스템(4000)에 입력되는 상기 출력의미표현정보도 상기 학습데이터인 의미표현태그의 정답문장이 문장단위의 역순으로 입력되는 것과 마찬가지로 역순으로 입력됨으로써, 상기 출력 자연어 텍스트를 생성할 수 있다.
본 발명의 일 실시예에 따른 자연어생성시스템(4000)은 의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신부(4100); 의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화부(4200); 상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩부(4300); 학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론부(4400); 및 추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화부(4500);를 포함할 수 있다.
이하에서는, 상기 자연어생성시스템(4000)의 세부 구성요소에 대하여 상술하도록 한다.
상기 의미표현정보수신부(4100)는 상기 출력의미표현정보를 수신할 수 있다.
즉, 상기 의미표현정보수신부(4100)는 상기 대화관리자모듈(3000)로부터 입력되는 상기 출력의미표현정보를 수신하여 상기 자연어생성시스템(4000)의 동작을 수행할 수 있도록 한다.
바람직하게는 상기 의미표현태그는, 상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그; 상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그; 상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고, 상기 의미표현정보수신부(4100)는, 상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신할 수 있다.
이와 같은 상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그는 상술한 바와 같이 정의되어 표현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 탈어휘화부의 동작 과정을 예시적으로 도시한다.
상기 실시예에 따르면, 상기 탈어휘화부(4200)는 의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환할 수 있다.
바람직하게는, 상기 탈어휘회부(4200)는, 상기 데이터값태그에 의하여 표현되는 상기 출력의미표현정보에 포함되는 사용자의 고유정보를 상기 학습된 순환신경망 모델의 동작을 위한 슬롯토큰으로 치환할 수 있다.
상기 출력의미표현정보의 고유정보란 출력의미표현에 자연어생성시스템 동작을 위한 일반적인 정보가 아닌 일정, 날짜, 시간, 장소 등을 포함하는 사용자의 고유한 정보를 의미한다.
바람직하게는, 상기 고유정보는 일정, 날짜, 시간, 장소 등을 포함하는 사용자의 개인적인 고유한 정보를 의미하기 때문에, 후술하는 바와 같이 일정, 날짜, 시간, 장소 등의 정보를 포함하는 상기 데이터값태그가 상기 슬롯토큰에 의하여 치환될 수 있다.
이와 같이 상기 출력의미표현정보에 고유정보가 포함되는 경우에는, 상기 자연어생성시스템(4000)의 1 이상의 학습된 인공신경망의 동작에 의하여 오류가 발생할 수 있기 때문에 상기 고유정보를 상기 슬롯토큰으로 치환하여 상기 자연어생성시스템(4000)을 구성하는 하위 모듈/부의 동작을 수행하도록 한다.
도 3에 도시된 바와 같이 발화유형태그인 “Speech Act”, 데이터분류태그인 “Slot”, 이에 대응되는 데이터값태그인 “Value”의 각각에 정보가 표현되어 있는 경우에, 데이터분류태그인 “date”에 대응하는 데이터값인 “12월 15일”, 및 데이터분류태그인 “event title”에 대응하는 데이터값인 “졸업논문심사”는 모두 사용자의 고유한 정보로서 상기 고유정보에 해당하고, 결국 이와 같은 고유정보인 “12월 15일”, 및 “졸업논문심사”는 각각 {date%value}, {event_title%value}와 같은 슬롯토큰으로 치환될 수 있다.
또한, 이와 같은 고유정보는 ontology에 의하여 분류됨으로써 상기 슬롯토큰으로 치환될 수 있다. 즉, ontology를 기반으로 하여 상기 고유정보를 어느 슬롯토큰에 해당되는지 분류함으로써, 상기 실시예와 같이 “12월 15일”은 날짜에 해당하는 슬롯토큰인 {date%value}로 치환되고, “졸업논문심사”는 일정명(日程名)에 해당하는 슬롯토큰인 {event_title%value}로 치환될 수 있다.
도 4는 본 발명의 일 실시예에 따른 의미표현벡터의 생성과정을 예시적으로 도시한다.
상술한 바와 같이 상기 상기 의미표현태그는 상기 시스템 발화의 유형에 대한 태그인 발화유형태그, 상기 의미표현정보에 포함되는 정보의 유형에 따른 태그인 데이터분류태그, 및 상기 데이터분류태그 각각에 대응되는 값에 대한 태그인 데이터값태그를 포함할 수 있다.
상기 실시예에 따르면, 상기 의미인코딩부(4300)는 상기 출력의미표현정보를 구성하는 상기 의미표현태그 각각에 벡터를 할당하고, 상기 의미표현태그 각각에 할당된 벡터를 결합하여 n차원의 출력의미표현정보벡터를 생성하고, n은 1 이상의 자연수일 수 있다.
즉, 상기 의미인코딩부(4300)의 동작에 의하여 상기 출력의미표현정보를 구성하는 상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그 각각에 벡터를 할당하고, 각각의 하위태그에 할당된 벡터를 연속적으로 결합함으로써 상기 출력의미표현정보벡터를 생성할 수 있다.
상기 실시예에 따르면, 도 4는 상기 발화유형태그에 9 bit가 할당되고, 상기 데이터분류태그에 15 bit가 할당되고, 상기 데이터값태그에 22 bit가 할당되어 총 46 bit의 상기 출력의미표현정보벡터가 생성될 수 있다.
즉, 상기 발화유형태그인 DA(Dialogue Act)에 9 bit가 할당되고, 상기 데이터분류태그인 Slot에 15 bit가 할당되고, 상기 데이터값태그인 Value에 22 bit가 할당되어 연속적으로 결합됨으로써 상기 출력의미표현정보벡터가 생성된 것을 확인할 수 있다.
이와 같은 출력의미표현정보벡터에 상기 출력의미표현정보가 표현된다. 즉, 상기 출력의미표현정보의 발화유형태그 정보인 “Inform(정보제공)”에 할당된 bit에 “1”이 저장되고, 상기 데이터분류태그 정보인 “event_title”, “date”, 및 “system_action”에 “1”이 저장되고, 상기 데이터분류태그에 대응되는 상기 데이터값태그 정보인 “event_title%value”, “date%value”, 및 “read”에 “1”이 저장되어 상기 출력의미표현정보를 벡터인 출력의미표현정보벡터에 의하여 표현할 수 있다.
즉, 상기 의미인코딩부(4300)에서 상기 발화유형태그벡터, 상기 데이터분류태그벡터, 및 상기 데이터값태그벡터가 생성되어 각각의 벡터에 정보가 저장되는 상기의 과정에 의하여 이하에서와 같이 출력의미표현정보벡터가 생성될 수 있다.
바람직하게는, 상기 의미인코딩부(4300)는, 상기 발화유형태그에 벡터를 할당하여 발화유형태그벡터를 생성하고, 상기 데이터분류태그에 벡터를 할당하여 데이터분류태그벡터를 생성하고, 상기 데이터분류태그에 할당되는 상기 데이터값태그 혹은 상기 데이터값태그에 할당된 토큰에 벡터를 할당하여 데이터값태그벡터를 생성하고, 상기 발화유형태그벡터, 상기 데이터분류태그벡터, 및 상기 데이터값태그벡터를 결합하여 n차원의 출력의미표현정보벡터를 생성할 수 있다.
도 5는 본 발명의 일 실시예에 따른 문장추론부의 동작과정을 예시적으로 도시한다.
상기 실시예에 따르면, 상기 문장추론부(4400)는, 복수개의 LSTM으로 구성된 상기 학습된 순환 신경망 모델에 의하여 구현되고, 상기 학습된 순환 신경망 모델은, 복수의 학습대상의 의미표현태그를 입력값으로 하고, 상기 복수의 학습대상의 의미표현태그에 각각 대응되는 학습대상의 복수의 정답문장의 역순의 문장이 출력값으로 하여 학습될 수 있다.
바람직하게는, 상기 문장추론부(4400)는, 상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 첫번째 LSTM으로 입력되고, 복수의 LSTM으로 구성된 상기 학습된 순환 신경망 모델에 의하여 상기 시스템 발화의 문장구조의 역순으로 상기 시스템 발화를 구성하는 문장단위를 추론하고, 각각 추론된 하나의 문장단위가 상기 학습된 순환 신경망 모델의 그 다음의 LSTM에 입력되어 다음 문장단위를 추론할 수 있다.
구체적으로, 상기 문장추론부(4400)를 구성하는 상기 순환 신경망 모델에는 은닉상태벡터(hidden state vector)의 초기값이 입력되는데 상기 출력의미표현정보벡터가 상기 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력될 수 있다.
이와 같은 상기 출력의미표현정보벡터가 입력됨에 따라 상기 출력의미표현정보벡터에 저장된 데이터를 기초로 상기 학습된 순환신경망 모델에 학습된 것과 같은 상기 시스템 발화의 문장구조를 추론할 수 있다.
즉, 도 5에 도시된 바와 같이, 본 발명의 일 실시예에서는 상기 순환 신경망 모델에 입력되는 은닉상태의 초기값으로서 상기 출력의미표현정보벡터인 “Thought Vector”가 입력되고, 이와 같은 출력의미표현정보벡터인 “Thought Vector”에 저장된 데이터를 기초로, 상기 학습된 순환 신경망 모델에 의하여 “있습니다”, “일정이”, “{event_title%value}”, “에”, “{date%value}”, “/START”와 같은 문장단위가 추론된다.
즉, 상기 시스템 발화의 문장구조가 도출됨에 있어서, 상기 학습된 순환 신경망 모델에 학습데이터는 의미표현태그에 대응되는 정답문장이 문장단위의 역순으로 입력되어 학습되는 것과 마찬가지로, 먼저 시스템 발화의 문장구조가 문장단위의 역순으로 추론된다.
구체적으로, 상기 학습된 순환신경망을 구성하는 LSTM 인공신경망 모델에 의하여 “있습니다”라는 단어가 추론되고, “있습니다”라는 단어가 다음 LSTM 인공신경망 모델에 입력되어 “일정이”라는 단어가 추론되고, “일정이”라는 단어가 다음 LSTM 인공신경망 모델에 입력되는 방식으로 연속적인 과정이 이루어지면, 결과적으로 “있습니다”, “일정이”, “{event_title%value}”, “에”, “{date%value}”, “/START”와 같은 문장단위가 추론된다.
도 6은 본 발명의 일 실시예에 따른 문장추론부에서 문장단위가 선택되는 과정을 예시적으로 도시한다.
바람직하게는, 상기 문장추론부(4400)는 상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력되는 첫번째 LSTM에서 가장 높은 확률을 갖는 제1문장단위에 기반하여 시스템 발화의 제1문장구조를 추론하고, 상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력되는 첫번째 LSTM에서 두번째로 높은 확률을 갖는 제2문장단위에 기반하여 시스템 발화의 제2문장구조를 추론할 수 있다.
즉, 위와 같은 확률값을 통하여 문장단위를 선별함으로서, 다양한 형태의 시스템 발화의 문장구조를 추론할 수 있다.
구체적으로, 시스템 발화의 문장구조를 추론하기 위하여 하나의 문장단위가 상기 학습된 순환 신경망 모델에 입력되면, 상기 순환 신경망 모델에 학습된 학습데이터를 기초로, 입력된 문장단위의 다음에 위치할 수 있는 모든 문장단위 별로 확률값을 계산하여 그 중에 가장 높은 확률값을 갖는 문장단위를 선별할 수 있다.
가장 높은 확률값을 갖는 선별된 문장단위 역시 상기 학습된 순환 신경망 모델에 입력값으로 입력되어 이와 같은 과정을 통하여 그 다음에 위치할 수 있는 문장단위를 선별함으로써 시스템 발화의 문장구조 전체를 추론할 수 있다.
이와 같이 추론된 상기 시스템 발화의 문장구조는 상술한 바와 같이 일반적인 문장단위의 역순으로 출력되기 대문에, 일반적인 자연어에서의 어순과 같이 순서정렬의 단계를 거쳐 최종의 시스템 발화의 문장구조를 추론할 수 있다.
더욱 바람직하게는, 상기 문장추론부(4400)는 상기 시스템 발화의 문장구조의 시작에 시작토큰을 부여하고, 상기 시스템 발화의 문장구조의 종료에 종료토큰을 부여하고, 상기 학습된 순환 신경망 모델에 의하여 상기 시스템 발화의 문장구조의 역순으로 상기 시스템 발화를 구성하는 문장단위를 추론하는데 있어서, 상기 종료토큰 및 상기 출력의미표현정보벡터가 상기 순환 신경망 모델의 첫번째 LSTM의 입력 문장단위로 입력되고, 상기 첫번째 LSTM에서 출력되는 문장단위에 있어서 최상위 확률값 및 차상위 확률값을 갖는 문장단위인 제1 문장단위 및 제2 문장단위를 선별하고, 상기 제1문장단위를 기초로 상기 복수의 LSTM으로 이루어진 상기 학습된 순환 신경망 모델로부터 도출되는 제1문장구조를 생성하고, 상기 제2문장단위를 기초로 상기 복수의 LSTM으로 이루어진 상기 학습된 순환 신경망 모델로부터 도출되는 제2문장구조를 생성하고, 상기 제1문장구조 및 제2문장구조와 관련된 소프트맥스 확률값에 기초하여 제1문장구조 및 제2문장구조 중 어느 하나를 최종 문장구조로 선택할 수 있다.
구체적으로 상술한 바와 같은 방법으로 상기 문장구조가 추론될 수 있지만, 이에 그치지 않고 상기 첫번째 LSTM의 입력 문장단위로부터 선별되는 상기 제1 문장단위 및 상기 제2 문장단위를 기초로 하여 더 높은 확률을 갖는 다양한 표현의 문장구조를 추론할 수 있다.
또한 상기 소프트맥스는 상기 제1 문장구조 및 상기 제2 문장구조를 선택하기 위하여 선택되는 확률값에 대한 레이어로서, 각각의 문장단위가 선택될 수 있는 확률의 곱 혹은 각각의 문장단위가 선택될 수 있는 확률의 합을 통하여 상기 문장단위를 선별함으로써 상기 제1 문장구조 및 상기 제2 문장구조를 완성하여 그 중 어느 하나를 최종 문장구조로 선택할 수 있다.
도 7은 본 발명의 일 실시예에 따른 어휘화부의 동작과정을 예시적으로 도시한다.
상기 실시예에 따르면, 상기 어휘화부(4500)는, 상기 문장추론부에서 상기 시스템 발화의 문장구조의 역순으로 추론된 상기 최종 문장구조를 원래의 문장구조로 순서를 정렬하고, 상기 출력의미표현정보벡터를 기초로 상기 슬롯토큰의 자리에 해당하는 어휘를 대입할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 상기 문장추론부(4400)에서 추론된 “/START”, “{date%value}”, “에”, {event_title%value}, “일정이”, “있습니다.”, 및 “/END”의 문장단위에 포함된 슬롯토큰인 “{date%value}” 및 “{event_title%value}”에 해당하는 값에 상기 출력의미정보벡터에 포함된 태그값벡터값으로 치환을 하여 어휘를 선별한다.
결국, 상기 자연어생성시스템(4000)을 구성하는 어휘화부(4500)는 “12월 20일에 논문심사 일정이 있습니다”와 같은 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성할 수 있다.
도 8은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
도 8에 도시한 바와 같이, 컴퓨팅 장치(11000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅 장치(11000)는 개체명 인식시스템에 연결된 사용자단말기(A) 혹은 전술한 컴퓨팅 장치(B)에 해당될 수 있다.
메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 학습된 임베딩모델에 포함하는 그밖에 다양한 데이터를 포함할 수 있다.
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.
주변장치 인터페이스(11300)는 컴퓨팅 장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.
이러한 도 8의 실시예는, 컴퓨팅 장치(11000)의 일례일 뿐이고, 컴퓨팅 장치(11000)은 도 8에 도시된 일부 컴포넌트가 생략되거나, 도 8에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 8에도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(1160)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 삭제
  2. 기계학습 모델을 이용한 자연어 생성 시스템으로서,
    의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신부;
    의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화부;
    상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩부;
    학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론부; 및
    추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화부;를 포함하고,
    상기 의미표현태그는,
    상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그;
    상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그;
    상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고,
    상기 의미표현정보수신부는,
    상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신하는, 자연어 생성 시스템.
  3. 청구항 2에 있어서,
    상기 탈어휘화부는,
    상기 데이터값태그에 의하여 표현되는 상기 출력의미표현정보에 포함되는 사용자의 고유정보를 상기 학습된 순환신경망 모델의 동작을 위한 슬롯토큰으로 치환하는, 자연어 생성 시스템.
  4. 청구항 3에 있어서,
    상기 의미인코딩부는,
    상기 출력의미표현정보를 구성하는 상기 의미표현태그 각각에 벡터를 할당하고,
    상기 의미표현태그 각각에 할당된 벡터를 결합하여 n차원의 출력의미표현정보벡터를 생성하고,
    n은 1 이상의 자연수인, 자연어 생성 시스템.
  5. 청구항 4에 있어서,
    상기 의미인코딩부는,
    상기 발화유형태그에 벡터를 할당하여 발화유형태그벡터를 생성하고,
    상기 데이터분류태그에 벡터를 할당하여 데이터분류태그벡터를 생성하고,
    상기 데이터분류태그에 할당되는 상기 데이터값태그 혹은 상기 데이터값태그에 할당된 토큰에 벡터를 할당하여 데이터값태그벡터를 생성하고,
    상기 발화유형태그벡터, 상기 데이터분류태그벡터, 및 상기 데이터값태그벡터를 결합하여 n차원의 출력의미표현정보벡터를 생성하는, 자연어 생성 시스템.
  6. 청구항 4에 있어서,
    상기 문장추론부는,
    복수개의 LSTM으로 구성된 상기 학습된 순환 신경망 모델에 의하여 구현되고,
    상기 학습된 순환 신경망 모델은,
    복수의 학습대상의 의미표현태그를 입력값으로 하고, 상기 복수의 학습대상의 의미표현태그에 각각 대응되는 학습대상의 복수의 정답문장의 역순의 문장이 출력값으로 하여 학습되는, 자연어 생성 시스템.
  7. 청구항 6에 있어서,
    상기 문장추론부는,
    상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 첫번째 LSTM으로 입력되고,
    복수의 LSTM으로 구성된 상기 학습된 순환 신경망 모델에 의하여 상기 시스템 발화의 문장구조의 역순으로 상기 시스템 발화를 구성하는 문장단위를 추론하고,
    각각 추론된 하나의 문장단위가 상기 학습된 순환 신경망 모델의 그 다음의 LSTM에 입력되어 다음 문장단위를 추론하는, 자연어 생성 시스템.
  8. 청구항 7에 있어서,
    상기 문장추론부는,
    상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력되는 첫번째 LSTM에서 가장 높은 확률을 갖는 제1문장단위에 기반하여 시스템 발화의 제1문장구조를 추론하고,
    상기 출력의미표현정보벡터가 상기 학습된 순환 신경망 모델의 은닉상태벡터의 초기값으로서 입력되는 첫번째 LSTM에서 두번째로 높은 확률을 갖는 제2문장단위에 기반하여 시스템 발화의 제2문장구조를 추론하는, 자연어 생성 시스템.
  9. 청구항 7에 있어서,
    상기 문장추론부는,
    상기 시스템 발화의 문장구조의 시작에 시작토큰을 부여하고, 상기 시스템 발화의 문장구조의 종료에 종료토큰을 부여하고,
    상기 학습된 순환 신경망 모델에 의하여 상기 시스템 발화의 문장구조의 역순으로 상기 시스템 발화를 구성하는 문장단위를 추론하는데 있어서, 상기 종료토큰 및 상기 출력의미표현정보벡터가 상기 순환 신경망 모델의 첫번째 LSTM의 입력 문장단위로 입력되고,
    상기 첫번째 LSTM에서 출력되는 문장단위에 있어서 최상위 확률값 및 차상위 확률값을 갖는 문장단위인 제1 문장단위 및 제2 문장단위를 선별하고,
    상기 제1문장단위를 기초로 상기 복수의 LSTM으로 이루어진 상기 학습된 순환 신경망 모델로부터 도출되는 제1문장구조를 생성하고,
    상기 제2문장단위를 기초로 상기 복수의 LSTM으로 이루어진 상기 학습된 순환 신경망 모델로부터 도출되는 제2문장구조를 생성하고,
    상기 제1문장구조 및 제2문장구조와 관련된 소프트맥스 확률값에 기초하여 제1문장구조 및 제2문장구조 중 어느 하나를 최종 문장구조로 선택하는, 자연어 생성 시스템.
  10. 청구항 9에 있어서,
    상기 어휘화부는,
    상기 문장추론부에서 상기 시스템 발화의 문장구조의 역순으로 추론된 상기 최종 문장구조를 원래의 문장구조로 순서를 정렬하고,
    상기 출력의미표현정보벡터를 기초로 상기 슬롯토큰의 자리에 해당하는 어휘를 대입하는, 자연어 생성 시스템.
  11. 삭제
  12. 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 기계학습 모델을 이용한 자연어 생성방법으로서,
    의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신단계;
    의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화단계;
    상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩단계;
    학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론단계; 및
    추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화단계;를 포함하고,
    상기 의미표현태그는,
    상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그;
    상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그;
    상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고,
    상기 의미표현정보수신단계는,
    상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신하는, 자연어 생성방법.
  13. 삭제
  14. 기계학습 모델을 이용한 자연어 생성 방법을 구현하기 위한 컴퓨터-판독가능 매체로서, 상기 컴퓨터-판독가능 매체는, 컴퓨팅 장치로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 단계들은:
    의미표현태그에 의하여 표현되는 출력의미표현정보를 수신하는 의미표현정보수신단계;
    의미표현태그에 포함된 어휘의 일부를 학습된 순환신경망 모델의 동작을 위한 토큰으로 치환하는 탈어휘화단계;
    상기 출력의미표현정보를 기초로 벡터형태의 출력의미표현정보벡터를 생성하는 의미인코딩단계;
    학습된 순환신경망 모델에 의하여 상기 출력의미표현정보벡터에 표현된 데이터를 기초로 시스템 발화의 문장구조를 추론하는 문장추론단계; 및
    추론된 상기 시스템 발화의 문장구조 및 상기 토큰에 지정된 어휘를 기초로 사용자가 원하는 정보에 대한 출력 자연어 텍스트를 생성하는 어휘화단계;를 포함하고,
    상기 의미표현태그는,
    상기 자연어 생성 시스템으로부터 도출되는 상기 시스템 발화의 유형을 나타내는 발화유형태그;
    상기 시스템 발화에 포함되는 정보의 분류를 나타내는 2 이상의 데이터분류태그;
    상기 2 이상의 데이터분류태그에 각각 할당되는 값인 데이터값태그;를 포함하고,
    상기 의미표현정보수신단계는,
    상기 발화유형태그, 상기 데이터분류태그, 및 상기 데이터값태그를 포함하는 상기 의미표현태그에 의하여 표현되는 상기 출력의미표현정보를 수신하는, 컴퓨터-판독가능 매체.

KR1020180009775A 2018-01-26 2018-01-26 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체 KR101896973B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180009775A KR101896973B1 (ko) 2018-01-26 2018-01-26 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180009775A KR101896973B1 (ko) 2018-01-26 2018-01-26 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체

Publications (1)

Publication Number Publication Date
KR101896973B1 true KR101896973B1 (ko) 2018-09-10

Family

ID=63594038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180009775A KR101896973B1 (ko) 2018-01-26 2018-01-26 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체

Country Status (1)

Country Link
KR (1) KR101896973B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020180000A1 (ko) * 2019-03-06 2020-09-10 삼성전자 주식회사 음성 인식 모델에서 사용되는 언어를 확장시키는 방법 및 음성 인식 모델을 포함하는 전자 장치
KR20200137160A (ko) * 2019-05-29 2020-12-09 주식회사 카카오 입력 발화의 의도를 추정하는 모델의 학습을 제어하는 방법 및 장치
WO2020262788A1 (en) * 2019-06-26 2020-12-30 Samsung Electronics Co., Ltd. System and method for natural language understanding
CN112257434A (zh) * 2019-07-02 2021-01-22 Tcl集团股份有限公司 一种无人机控制方法、系统、移动终端及存储介质
CN112364152A (zh) * 2020-11-09 2021-02-12 上海束水智能科技有限公司 一种响应式学习辅助的方法、系统及设备
KR20210038430A (ko) * 2019-12-17 2021-04-07 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 자연어 및 지식 그래프 기반 표현 학습 방법 및 장치
CN117785542A (zh) * 2024-02-28 2024-03-29 深圳耀德数据服务有限公司 用于数据中心的智能运维方法、系统、设备及存储介质
CN117785542B (zh) * 2024-02-28 2024-05-31 深圳耀德数据服务有限公司 用于数据中心的智能运维方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010103151A (ko) * 2000-02-29 2001-11-23 김영택 기계번역 장치 및 시스템, 방법
KR20160089210A (ko) * 2015-01-19 2016-07-27 삼성전자주식회사 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010103151A (ko) * 2000-02-29 2001-11-23 김영택 기계번역 장치 및 시스템, 방법
KR20160089210A (ko) * 2015-01-19 2016-07-27 삼성전자주식회사 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Li, Jiwei. "Feature weight tuning for recursive neural networks." arXiv preprint arXiv:1412.3714. 2014. *
Tang, Duyu, et al. "Effective LSTMs for Target-Dependent Sentiment Classification." arXiv preprint arXiv:1512.01100v2. 2016.9.29. *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11967313B2 (en) 2019-03-06 2024-04-23 Samsung Electronics Co., Ltd. Method for expanding language used in speech recognition model and electronic device including speech recognition model
WO2020180000A1 (ko) * 2019-03-06 2020-09-10 삼성전자 주식회사 음성 인식 모델에서 사용되는 언어를 확장시키는 방법 및 음성 인식 모델을 포함하는 전자 장치
KR102271068B1 (ko) 2019-05-29 2021-06-30 주식회사 카카오 입력 발화의 의도를 추정하는 모델의 학습을 제어하는 방법 및 장치
KR20200137160A (ko) * 2019-05-29 2020-12-09 주식회사 카카오 입력 발화의 의도를 추정하는 모델의 학습을 제어하는 방법 및 장치
US11790895B2 (en) 2019-06-26 2023-10-17 Samsung Electronics Co., Ltd. System and method for natural language understanding
WO2020262788A1 (en) * 2019-06-26 2020-12-30 Samsung Electronics Co., Ltd. System and method for natural language understanding
CN112257434B (zh) * 2019-07-02 2023-09-08 Tcl科技集团股份有限公司 一种无人机控制方法、系统、移动终端及存储介质
CN112257434A (zh) * 2019-07-02 2021-01-22 Tcl集团股份有限公司 一种无人机控制方法、系统、移动终端及存储介质
KR20210038430A (ko) * 2019-12-17 2021-04-07 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 자연어 및 지식 그래프 기반 표현 학습 방법 및 장치
KR102524766B1 (ko) 2019-12-17 2023-04-24 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 자연어 및 지식 그래프 기반 표현 학습 방법 및 장치
CN112364152A (zh) * 2020-11-09 2021-02-12 上海束水智能科技有限公司 一种响应式学习辅助的方法、系统及设备
CN117785542A (zh) * 2024-02-28 2024-03-29 深圳耀德数据服务有限公司 用于数据中心的智能运维方法、系统、设备及存储介质
CN117785542B (zh) * 2024-02-28 2024-05-31 深圳耀德数据服务有限公司 用于数据中心的智能运维方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
KR101896973B1 (ko) 기계학습 모델을 이용한 자연어 생성 시스템, 방법, 및 컴퓨터 판독가능매체
US11403345B2 (en) Method and system for processing unclear intent query in conversation system
CN112131366B (zh) 训练文本分类模型及文本分类的方法、装置及存储介质
US10599686B1 (en) Method and system for extracting information from graphs
Ma et al. Impressiongpt: an iterative optimizing framework for radiology report summarization with chatgpt
US20200104729A1 (en) Method and system for extracting information from graphs
CN111930942B (zh) 文本分类方法、语言模型训练方法、装置及设备
US20170286397A1 (en) Predictive Embeddings
CN111368996A (zh) 可传递自然语言表示的重新训练投影网络
US10719668B2 (en) System for machine translation
WO2019224629A1 (en) Training data expansion for natural language classification
US11507828B2 (en) Unsupervised hypernym induction machine learning
WO2020232943A1 (zh) 用于事件预测的知识图构建方法与事件预测方法
US11030402B2 (en) Dictionary expansion using neural language models
Ding et al. An attentive neural sequence labeling model for adverse drug reactions mentions extraction
CN113821616B (zh) 领域自适应的槽位填充方法、装置、设备及存储介质
KR20210083986A (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법
CN113761190A (zh) 文本识别方法、装置、计算机可读介质及电子设备
US10558760B2 (en) Unsupervised template extraction
Yuan et al. Large language models for healthcare data augmentation: An example on patient-trial matching
CN113051910B (zh) 一种用于预测人物角色情绪的方法和装置
Tsakiris et al. The development of a chatbot using Convolutional Neural Networks
US11176327B2 (en) Information processing device, learning method, and storage medium
Kounte et al. Analysis of Intelligent Machines using Deep learning and Natural Language Processing
Sarrouti et al. Multi-task transfer learning with data augmentation for recognizing question entailment in the medical domain

Legal Events

Date Code Title Description
GRNT Written decision to grant