KR20230094193A - 무참조 판별자에 기초한 다이얼로그 모델 훈련 - Google Patents

무참조 판별자에 기초한 다이얼로그 모델 훈련 Download PDF

Info

Publication number
KR20230094193A
KR20230094193A KR1020237018761A KR20237018761A KR20230094193A KR 20230094193 A KR20230094193 A KR 20230094193A KR 1020237018761 A KR1020237018761 A KR 1020237018761A KR 20237018761 A KR20237018761 A KR 20237018761A KR 20230094193 A KR20230094193 A KR 20230094193A
Authority
KR
South Korea
Prior art keywords
candidate
quality score
candidate answer
candidate answers
answers
Prior art date
Application number
KR1020237018761A
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 텐센트 아메리카 엘엘씨
Publication of KR20230094193A publication Critical patent/KR20230094193A/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/04Speaking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • 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
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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
    • G06N3/047Probabilistic or stochastic networks
    • 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
    • G06N3/0475Generative networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/04Electrically-operated educational appliances with audible presentation of the material to be studied

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

신경망 기반 오픈 도메인 다이얼로그 모델을 생성하는 방법은 상기 다이얼로그 모델과 대화 중인 디바이스로부터 입력 발화를 수신하는 단계, 상기 다이얼로그 모델로부터 상기 입력 발화에 대한 복수의 후보 답변을 획득하는 단계, 무참조 판별자에 기초하여 상기 복수의 후보 답변에 대한 복수의 판별자 스코어를 결정하는 단계, 상기 복수의 후보 답변과 연관된 복수의 품질 스코어를 결정하는 단계, 및 상기 복수의 품질 스코어에 기초하여 상기 다이얼로그 모델을 훈련시키는 단계를 포함한다.

Description

무참조 판별자에 기초한 다이얼로그 모델 훈련
본 발명은 다이얼로그 모델을 생성하는 것에 관한 것으로, 보다 상세하게는 무참조 판별자(reference-free discriminator)에 기초한 신경망 기반 다이얼로그 모델을 훈련하는 것에 관한 것이다.
대화 응답 생성은 대화 이력을 고려하여 매력적이고 일관된 응답을 생성하는 것을 목적으로 한다. 이는 주로 상업적인 수요의 증가로 인해 연구에 대한 관심이 높아지고 있다. 점점 더 강력한 신경 모델이 제안되었으며, 여기서 토큰 레벨 교차 엔트로피 손실(token-level cross-entropy loss)이 각각의 다이얼로그 컨텍스트(dialogue context)에 대한 사람의 주석이 달린 답변(human annotated reply)의 가능성을 최대화하는 데 사용되었다. 그러나 다이얼로그 응답 생성에서 무의미하거나 비논리적인 응답을 생성하는 것과 같은 심각한 오류(critical failings)가 자주 관찰된다.
이 문제를 해결하기 위해, 초기 노력은 더 풍부한 특징에 대한 외부 지식을 활용한다. 그러나, 주어진 컨텍스트에 대해 (전형적으로 인간에 의해 선택되는) 하나의 골드 응답(gold response)을 가정하는 반면, 각각의 대화 컨텍스트에 대해 다른 의미를 가진 다양한 유효한 응답이 있을 수 있으므로, 잠재적인 오류 전파를 무시한다. 결과적으로, 잘못된 지식 검색으로 인한 문제에 직면할 수 있다. 최근에는 모델이 충분한(아마도 수십억) 인스턴스를 보았을 때 위의 문제가 크게 완화될 수 있다는 가설에 기초하여, 대규모 훈련이 솔루션으로 제안되었다. 그러나 이 솔루션은 계속해서 새로운 주제, 단어 및 슬로건을 도입하는 언어의 점점 더 급속한 진화로 인해 어려움을 겪고 있다. 또한 대규모 훈련은 시간과 자원이 많이 소모되어 지속 가능한 방향이 아닐 수 있다.
일부 가능한 구현에 따르면, 방법(바람직하게는 신경망 기반 오픈 도메인 다이얼로그 모델(neural network based open-domain dialogue model)을 생성하는 방법)은 상기 다이얼로그 모델과 대화 중인 디바이스로부터 입력 발화(input utterance)를 수신하는 단계(상기 디바이스(그로부터 입력 발화가 수신됨)를 제1 디바이스이고, 상기 다이얼로그 모델은 상기 제1 디바이스와 대화 통신하는 제2 디바이스에서 실행됨(run/execute); 상기 다이얼로그 모델로부터(즉, 상기 다이얼로그 모델이 실행되는 상기 제2 디바이스로부터) 상기 입력 발화에 대한 복수의 후보 답변(candidate reply)을 획득하는 단계 - 상기 복수의 후보 답변은 제1 후보 답변과 제2 후보 답변을 포함함 -; 상기 제1 후보 답변에 대한 복수의 판별자 스코어(discriminator score)를 결정하는 단계 - 상기 복수의 판별자 스코어는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력(history of the conversation)에 대응하는 컨텍스트 정보(contextual information)에 기초하여 상기 제1 후보 답변의 품질을 평가하는 복수의 판별자에 의해 제공됨 -; 상기 제2 후보 답변에 대한 복수의 판별자 스코어를 결정하는 단계 - 상기 복수의 판별자 스코어는 상기 제2 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제2 후보 답변의 품질을 평가하는 상기 복수의 판별자에 의해 제공됨 -; 상기 제1 후보 답변과 연관된 제1 품질 스코어를 결정하는 단계 - 상기 제1 품질 스코어는 상기 제1 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합(weighted sum)에 기초함 -; 제2 후보 답변과 연관된 제2 품질 스코어를 결정하는 단계 - 상기 제2 품질 스코어는 상기 제2 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 및 상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 상기 다이얼로그 모델을 훈련시키는 단계를 포함할 수 있다.
일부 가능한 구현에 따르면, 디바이스는 프로그램 코드 및 신경망 기반 오픈 도메인 다이얼로그 모델을 저장하도록 구성된 적어도 하나의 메모리; 및 상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 명령받은 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다. 상기 프로그램 코드는 상기 적어도 하나의 프로세서로 하여금 상기 다이얼로그 모델과 대화 중인 디바이스로부터 입력 발화를 수신하게 하도록 구성된 수신 코드; 상기 적어도 하나의 프로세서로 하여금 상기 다이얼로그 모델로부터 상기 입력 발화에 대한 복수의 후보 답변을 획득하게 하도록 구성된 획득 코드 - 상기 복수의 후보 답변은 제1 후보 답변과 제2 후보 답변을 포함함 -; 상기 적어도 하나의 프로세서로 하여금 상기 제1 후보 답변에 대한 복수의 판별자 스코어 결정하게 하도록 구성된 제1 결정 코드 - 상기 복수의 판별자 스코어는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제1 후보 답변의 품질을 평가하는 복수의 판별자에 의해 제공됨 -; 상기 적어도 하나의 프로세서로 하여금 상기 제2 후보 답변에 대한 복수의 판별자 스코어를 결정하게 하도록 구성된 제2 결정 코드 - 상기 복수의 판별자 스코어는 상기 제2 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제2 후보 답변의 품질을 평가하는 상기 복수의 판별자에 의해 제공됨 -; 상기 적어도 하나의 프로세서로 하여금 상기 제1 후보 답변과 연관된 제1 품질 스코어를 결정하게 하도록 구성된 제3 결정 코드 - 상기 제1 품질 스코어는 상기 제1 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 상기 적어도 하나의 프로세서로 하여금 상기 제2 후보 답변과 연관된 제2 품질 스코어를 결정하게 하도록 구성된 제4 결정 코드 - 상기 제2 품질 스코어는 상기 제2 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 및 상기 적어도 하나의 프로세서로 하여금 상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 상기 다이얼로그 모델을 훈련시키게 하도록 구성된 훈련 코드를 포함할 수 있다.
일부 가능한 구현에 따르면, 컴퓨터로 판독 가능한 비일시적 매체는 명령어를 저장하며, 상기 명령어는, 모바일 디바이스의 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금, 상기 다이얼로그 모델과 대화 중인 디바이스로부터 입력 발화를 수신하게 하고; 상기 다이얼로그 모델로부터 상기 입력 발화에 대한 복수의 후보 답변을 획득하게 하게 하고 - 상기 복수의 후보 답변은 제1 후보 답변과 제2 후보 답변을 포함함 -; 상기 제1 후보 답변에 대한 복수의 판별자 스코어 결정하게 하고 - 상기 복수의 판별자 스코어는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제1 후보 답변의 품질을 평가하는 복수의 판별자에 의해 제공됨 -; 상기 제2 후보 답변에 대한 복수의 판별자 스코어를 결정하게 하고 - 상기 복수의 판별자 스코어는 상기 제2 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제2 후보 답변의 품질을 평가하는 상기 복수의 판별자에 의해 제공됨 -; 상기 제1 후보 답변과 연관된 제1 품질 스코어를 결정하게 하고 - 상기 제1 품질 스코어는 상기 제1 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 상기 제2 후보 답변과 연관된 제2 품질 스코어를 결정하게 하고 - 상기 제2 품질 스코어는 상기 제2 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 및 상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 상기 다이얼로그 모델을 훈련시키게 하는, 하나 이상의 명령어를 포함할 수 있다.
본 개시의 실시예의 상기 및 다른 측면, 특징은 첨부된 도면과 함께 이루어진 이하의 설명으로부터 더욱 명백해질 것이다.
도 1은 본 명세서에 기재된 예시적인 구현의 개요를 나타낸 도면이다.
도 2는 본 명세서에 기재된 시스템 및/또는 방법이 구현될 수 있는 예시적인 환경의 도면이다.
도 3은 도 2의 하나 이상의 디바이스의 예시적인 구성요소의 도면이다.
도 4는 신경망 기반 오픈 도메인 다이얼로그 모델을 생성하는 방법에 대한 예시적인 프로세스의 흐름도이다.
예시적인 실시예에 대한 이하의 상세한 설명은 첨부된 도면을 참조한다. 서로 다른 도면에서의 동일한 참조 번호는 동일하거나 유사한 요소를 식별할 수 있게 한다.
전술한 개시는 예시 및 설명을 제공하지만, 총망라하거나 개시된 정확한 형태로 구현을 한정하려는 의도는 아니다. 수정 및 변형은 상기한 개시 내용에 비추어 가능하거나 구현의 실천으로부터 획득될 수 있다.
여기에 기재된 시스템 및/또는 방법이 상이한 형태의 하드웨어, 펌웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있음은 명백할 것이다. 이러한 시스템 및/또는 방법을 구현하는 데 사용되는 실제의 특화된 제어 하드웨어 또는 소프트웨어 코드는 구현을 한정하지 않는다. 따라서, 시스템 및/또는 방법의 동작 및 거동은 특정 소프트웨어 코드를 참조하지 않고 여기에 설명되었는데, 이는 소프트웨어 및 하드웨어는 여기서의 기재에 기초하여 시스템 및/또는 방법을 구현하도록 설계될 수 있는 것으로 이해된다.
특징들의 특정 조합이 청구범위에 언급되고/되거나 명세서에 개시되더라도, 이러한 조합은 가능한 구현의 개시를 한정하려는 의도가 아니다. 사실, 이들 특징 중 다수는 청구범위에 구체적으로 언급되지 않은 방식 및/또는 명세서에 개시되지 않은 방식으로 조합될 수 있다. 아래에 나열된 각각의 종속항은 하나의 청구항에만 직접적으로 종속할 수 있지만, 가능한 구현의 개시 내용은 청구항 세트의 다른 모든 청구항과 결합된 각 종속항이 포함된다.
여기에 사용된 요소(element), 행위(act), 또는 명령(instruction)은 명시적으로 설명되지 않는 한 중요하거나 필수적인 것으로 해석되어서는 안 된다. 또한, 여기에 사용된 바와 같이, "일(영어 관사 "a" 및 "an"에 해당됨)은 하나 이상의 항목을 포함하도록 의도되며, "하나 이상(one or more)"와 상호 교환적으로 사용될 수 있다. 하나의 항목만 의도되는 경우 "하나" 또는 이와 유사한 용어가 사용된다. 또한, 여기에 사용된 용어 "가지다(has, have)", "갖는(having)", "포함하다(include)", "포함하는(including)" 등은 제한이 없는 용어(open-ended terms)를 의미한다. 또한, "~에 기초하여(based on)"라는 어구는 달리 명시적으로 언급되지 않는 한 "적어도 부분적으로 ~에 기초하여"를 의미하는 것으로 의도된다.
도 1은 신경망 기반 다이얼로그 모델을 훈련시키기 위한 방법의 실시예의 개요를 나타낸 도면이다. 방법(100)은 서버, 데스크톱 컴퓨터, 핸드헬드 컴퓨팅 디바이스 또는 이들의 조합과 같은 플랫폼에서 수행될 수 있다.
도 1에 도시된 바와 같이, 동작 102에서 플랫폼에 의해 대화로부터 발화가 획득될 수 있다. 발화는 "게임을 하시겠습니까?"와 같은 텍스트 스트링일 수 있다. 발화는 플랫폼과 통신하는 외부 디바이스로부터 수신될 수 있다.
동작 104에서, 획득된 발화에 기초하여, 다이얼로그 모델은 획득된 발화에 대한 일련의 후보 답변을 생성할 수 있다. 도 1에 도시된 바와 같이, 제1 내지 제N 후보 답변이 생성될 수 있다. 일 실시예에 따르면, 다이얼로그 모델은 빔 검색 알고리즘(beam search algorithm)을 사용할 수 있다.
동작 106에서, 제1 내지 제N 무참조 판별자 스코어(reference-free discriminator score)가 플랫폼에 의해 결정될 수 있다. 각각의 무참조 판별자 스코어는 별개의 무참조 판별자에 대응할 수 있다. 무참조 판별자는 후보 답변 및 대화 이력의 입력에 기초하여 각자의 무참조 판별자 스코어를 계산할 수 있다. 일 실시예에 따르면, 무참조 판별자는 후보 답변과 대화 이력만 고려하고 외부 지식은 고려하지 않을 수 있다.
일 실시예에 따르면, 각각의 판별자는 보완 인자(complimentary factor)에 기초할 수 있다. 보완 인자로는 후보 답변의 특이성(specificity), 후보 답변의 일관성(consistency), 후보 답변의 유창성(fluency) 및 후보 답변의 관련성(relatedness)을 포함할 수 있다. 예를 들어, 도 1을 참조하면, 제1 무참조 판별자 스코어는 후보 답변의 특이성을 지시할 수 있고, 제2 무참조 판별자는 이전 응답과의 응답의 일관성을 지시할 수 있으며, 추가 무참조 판별자는 이미 고려된 보완 인자 중 다른 보완 인자 또는 다른 측면을 고려할 수 있다.
도 1은 제1 후보 답변에 대해서만 획득되는 무참조 판별자 스코어를 보여준다. 그러나 제1 내지 제N 후보 답변 각각에 대해 무참조 판별자가 획득될 수 있다.
동작 108에서, 제1 후보 답변에 대응하는 각각의 무참조 판별자 스코어에 기초하여 제1 후보 답변의 가중 합을 생성할 수 있다. 예를 들어, 제1 후보 답변에 대응하는 각각의 무참조 판별 스코어는 경험적 데이터에 기초하여 특정 가중치를 부여받을 수 있으며, 그 후 가중치가 적용된 각각의 무참조 판별 스코어를 합산하여 후보 답변에 대한 가중 합을 획득할 수 있다. 일 실시예에 따르면, 동작 104에서 생성된 각각의 후보 응답에 대해 가중 합이 생성될 수 있다.
동작 110에서, 제1 후보 답변에 대응하는 가중치 합에 기초하여 다이얼로그 모델이 훈련될 수 있다. 예를 들어, 훈련 알고리즘은 제1 후보 답변의 가중 합을 포함하는 손실 함수에 기초할 수 있다. 일 실시예에 따르면, 다이얼로그 모델은 동작 104에서 생성된 다수의 후보 답변에 대응하는 가중 합에 기초하여 훈련될 수 있다.
이러한 방식으로, 여기서의 일부 구현은 자원 집약이 덜한 훈련에 기초하여 보다 의미 있고 논리적이며 관련성 있는 답변을 생성하는 다이얼로그 모델을 제공한다.
도 2는 여기에 기재된 시스템 및/또는 방법이 구현될 수 있는 예시적인 환경(200)의 도면이다. 도 2에 도시된 바와 같이, 환경(200)은 사용자 디바이스(210), 플랫폼(220) 및 네트워크(230)를 포함할 수 있다. 환경(200)의 디바이스들은 유선 연결, 무선 연결 또는 유선 연결과 무선 연결의 조합을 통해 상호 연결될 수 있다.
사용자 디바이스(210)는 플랫폼(220)과 연관된 정보를 수신, 생성, 저장, 처리 및/또는 제공할 수 있는 하나 이상의 디바이스를 포함한다. 예를 들어, 사용자 디바이스(210)는 컴퓨팅 디바이스(예: 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트 스피커, 서버 등), 이동 전화(예: 스마트폰, 무선전화 등), 웨어러블 디바이스(예: 스마트 안경 또는 스마트 시계) 또는 이와 유사한 디바이스를 포함할 수 있다. 일부 구현에서, 사용자 디바이스(210)는 플랫폼(220)으로부터 정보를 수신 및/또는 플랫폼에 정보를 송신할 수 있다.
플랫폼(220)은 본 명세서의 다른 곳에서 설명된 바와 같이. 무참조 판별자를 사용하여 다이얼로그 모델을 훈련할 수 있는 하나 이상의 디바이스를 포함한다. 일부 구현에서, 플랫폼(220)은 클라우드 서버 또는 클라우드 서버 그룹을 포함할 수 있다. 일부 구현에서, 플랫폼(220)은 특정 소프트웨어 구성 요소가 특정 요구에 따라 교체될 수 있도록 모듈식으로 설계될 수 있다. 이와 같이, 플랫폼(220)은 상이한 용도를 위해 쉽고 및/또는 신속하게 재구성될 수 있다.
일부 구현에서, 도시된 바와 같이, 플랫폼(220)은 클라우드 컴퓨팅 환경(222)에서 호스팅될 수 있다. 특히, 여기에 설명된 구현은 플랫폼(220)이 클라우드 컴퓨팅 환경(222)에서 호스팅되는 것으로 기재하지만, 일부 구현에서 플랫폼(220)은 클라우드 기반이 아니거나(즉, 클라우드 컴퓨팅 환경 외부에서 구현될 수 있음) 또는 부분적으로 클라우드 기반일 수 있다.
클라우드 컴퓨팅 환경(222)은 플랫폼(220)을 호스팅하는 환경을 포함한다. 클라우드 컴퓨팅 환경(222)은 플랫폼(220)을 호스팅하는 시스템(들) 및/또는 디바이스(들)의 물리적 위치 및 구성에 대한 최종 사용자(예: 사용자 디바이스(210)) 지식을 요구하지 않는 계산, 소프트웨어, 데이터 액세스, 저장 등의 서비스를 제공할 수 있다. 도시된 바와 같이, 클라우드 컴퓨팅 환경(222)은 컴퓨팅 자원(224)의 그룹(집합적으로 "컴퓨팅 자원들(224)"로 지칭되고 개별적으로 "컴퓨팅 자원(224)"으로 지칭됨)을 포함할 수 있다.
컴퓨팅 자원(224)은 하나 이상의 개인용 컴퓨터, 워크스테이션 컴퓨터, 서버 디바이스 또는 기타 유형의 계산 및/또는 통신 디바이스를 포함한다. 일부 구현에서, 컴퓨팅 자원(224)은 플랫폼(220)을 호스팅할 수 있다. 클라우드 자원은 컴퓨팅 자원(224)에서 실행되는 컴퓨팅 인스턴스, 컴퓨팅 자원(224)에서 제공되는 저장 디바이스, 컴퓨팅 자원(224)에 의해 제공되는 데이터 전송 디바이스 등을 포함할 수 있다. 컴퓨팅 자원(224)은 유선 연결, 무선 연결 또는 유선 연결과 무선 연결의 조합을 통해 다른 컴퓨팅 자원(224)과 통신할 수 있다.
도 2에 또한 도시된 바와 같이, 컴퓨팅 자원(224)은 하나 이상의 애플리케이션("APPs")(224-1), 하나 이상의 가상 머신("VMs")(224-2), 가상화된 스토리지("VSs")(224-3), 하나 이상의 하이퍼바이저(hypervisor)("HYPs")(224-4) 등과 같은, 클라우드 자원 그룹을 포함한다.
애플리케이션(224-1)은 사용자 디바이스(210) 및/또는 센서 디바이스(220)에 제공될 수 있거나 사용자 디바이스(210) 및/또는 센서 디바이스(220)에 의해 액세스될 수 있는 하나 이상의 소프트웨어 애플리케이션을 포함한다. 애플리케이션(224-1)은 사용자 디바이스(210)에 소프트웨어 애플리케이션을 설치하고 실행할 필요를 없앨 수 있다. 예를 들어, 애플리케이션(224-1)은 플랫폼(220)과 연관된 소프트웨어 및/또는 클라우드 컴퓨팅 환경(222)을 통해 제공될 수 있는 임의의 다른 소프트웨어를 포함할 수 있다. 일부 구현에서, 하나의 애플리케이션(224-1)은 하나 이상의 다른 애플리케이션(224-1)과 가상 머신 224-2를 통해 정보를 송수신할 수 있다.
가상 머신(224-2)은 물리 머신처럼 프로그램을 실행하는 머신(예: 컴퓨터)의 소프트웨어 구현을 포함한다. 가상 머신(224-2)은 가상 머신(224-2)에 의한 임의의 실제 머신에 대한 사용 및 대응 정도에 따라 시스템 가상 머신 또는 프로세스 가상 머신일 수 있다. 시스템 가상 머신은 완전한 운영 체제("operating system, OS")의 실행을 지원하는 완전한 시스템 플랫폼을 제공할 수 있다. 프로세스 가상 머신은 단일 프로그램을 실행할 수 있고, 단일 프로세스를 지원할 수 있다. 일부 구현에서, 가상 머신(224-2)은 사용자(예: 사용자 디바이스(210))를 대신하여 실행될 수 있고, 데이터 관리, 동기화 또는 장기 데이터 전송(long-duration data transfer)과 같은 클라우드 컴퓨팅 환경(222)의 인프라를 관리할 수 있다.
가상화된 스토리지(224-3)는 하나 이상의 스토리지 시스템 및/또는 컴퓨팅 자원(224)의 디바이스 또는 스토리지 시스템 내의 가상화 기술을 사용하는 하나 이상의 디바이스를 포함한다. 일부 구현에서, 스토리지 시스템의 컨텍스트 내에서, 가상화의 유형으로는 블록 가상화 및 파일 가상화를 포함할 수 있다. 블록 가상화는 물리 스토리지나 이기종 구조에 관계없이 스토리지 시스템이 액세스될 수 있도록 물리 스토리지로부터 논리 스토리지를 추상화(또는 분리)하는 것을 의미할 수 있다. 분리를 통해 스토리지 시스템 관리자는 관리자가 최종 사용자를 위해 스토리지를 관리하는 방식에 유연성을 가질 수 있다. 파일 가상화는 파일 레벨에서 액세스되는 데이터와 파일이 물리적으로 저장된 위치 간의 종속성을 없앨 수 있다. 이를 통해 스토리지 사용, 서버 통합 및/또는 무중단 파일 마이그레이션(non-disruptive file migration)의 성능을 최적화할 수 있다.
하이퍼바이저(224-4)는 컴퓨팅 자원(224)와 같은 호스트 컴퓨터에서 다수의 운영 체제(예: "게스트 운영 체제")를 동시에 실행할 수 있도록 하는 하드웨어 가상화 기술을 제공할 수 있다. 하이퍼바이저(224-4)는 게스트 운영 체제에 가상 운영 플랫폼을 제공할 수 있고, 게스트 운영 체제의 실행을 관리할 수 있다. 다양한 운영 체제의 여러 인스턴스가 가상화된 하드웨어 자원를 공유할 수 있다.
네트워크(230)는 하나 이상의 유선 및/또는 무선 네트워크를 포함한다. 예를 들어, 네트워크(230)는 셀룰러 네트워크(예: 5세대(5G) 네트워크, LTE(Long-Term Evolution) 네트워크, 3세대(3G) 네트워크, CDMA(Code Division Multiple Access) 네트워크 등), PLMN(Public Land Mobile Network), LAN(Local Area Network), WAN(Wide Area Network), MAN(Metropolitan Area Network), 전화망(예: PSTN(Public Switched Telephone Network)), 사설 네트워크, ad hoc 네트워크, 인트라넷, 인터넷, 광섬유 기반 네트워크 등 및/또는 이들 또는 다른 유형의 네트워크 조합을 포함할 수 있다.
도 2에 도시된 디바이스와 네트워크의 수 및 배열은 예시로 제공된다. 실제로는 추가 디바이스 및/또는 네트워크, 더 적은 수의 디바이스 및/또는 네트워크, 상이한 디바이스 및/또는 네트워크, 또는 도 2에 도시된 것과 다르게 배열된 디바이스 및/또는 네트워크가 있을 수 있다. 또한, 도 2에 도시된 두 개 이상의 디바이스가 단일 디바이스 내에 구현될 수 있거나, 도 2에 도시된 단일 디바이스가 다수의 분산된 디바이스로 구현될 수 있다. 추가적으로 또는 대안적으로, 환경(200)의 디바이스 세트(예: 하나 이상의 디바이스)는 환경(200)의 다른 디바이스 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
도 3은 디바이스(300)의 예시적인 구성요소를 나타낸 도면이다. 디바이스(300)는 사용자 디바이스(210) 및/또는 플랫폼(220)에 대응할 수 있다. 도 3에 도시된 바와 같이, 디바이스(300)는 버스(310), 프로세서(320), 메모리(330), 저장 구성요소(340), 입력 구성요소(350), 출력 구성요소(360) 및 통신 인터페이스(370)를 포함할 수 있다.
버스(310)는 디바이스(300)의 구성요소들 사이에 통신을 할 수 있도록 해주는 구성요소를 포함한다. 프로세서(320)는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 프로세서(320)는 중앙 처리 유닛(central processing unit, CPU), 그래픽 처리 유닛(graphics processing unit, GPU), 가속된 처리 유닛(accelerated processing unit, APU), 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA), 주문형 반도체(application-specific integrated circuit, ASIC) 또는 기타 유형의 처리 구성요소이다. 일부 구현에서, 프로세서(320)는 기능을 수행하도록 프로그래밍될 수 있는 하나 이상의 프로세서를 포함한다. 메모리(330)는 랜덤 액세스 메모리(random access memory, RAM), 판독 전용 메모리(read only memory, ROM), 및/또는 프로세서(320)에 의한 사용을 위해 정보 및/또는 명령어를 저장하는 기타 유형의 동적 또는 정적 저장 디바이스(예: 플래시 메모리, 자기 메모리 및/또는 광학 메모리)를 포함한다.
저장 구성요소(340)는 디바이스(300)의 동작 및 사용과 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 저장 구성요소(340)는 하드 디스크(예: 자기 디스크, 광 디스크, 광자기 디스크 및/또는 솔리드 스테이트 디스크), 콤팩트 디스크(compact disc, CD), 디지털 다목적 디스크(digital versatile disc, DVD), 플로피 디스크, 카트리지, 자기 테이프 및/또는 컴퓨터로 판독 가능한 기타 유형의 비일시적 매체를, 대응하는 드라이브와 함께 포함할 수 있다.
입력 구성요소(350)는 디바이스(300)가 사용자 입력(예: 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치 및/또는 마이크로폰)을 통해서와 같이, 정보를 수신할 수 있도록 하는 구성요소를 포함한다. 추가적으로 또는 대안적으로, 입력 구성요소(350)는 정보를 감지하기 위한 센서(예: 글로벌 측위 시스템(global positioning system, GPS) 구성요소, 가속도계, 자이로스코프 및/또는 액추에이터)를 포함할 수 있다. 출력 구성요소(360)는 디바이스(300)(예: 디스플레이, 스피커 및/또는 하나 이상의 발광 다이오드(light-emitting diode, LED))로부터의 출력 정보를 제공하는 구성요소를 포함한다.
통신 인터페이스(370)는 디바이스(300)가 유선 연결, 무선 연결 또는 유선 연결과 무선 연결의 조합을 통해서와 같이, 다른 디바이스와 통신할 수 있게 하는 송수신기형 구성요소(예: 송수신기 및/또는 별개의 수신기와 송신기)를 포함한다. 통신 인터페이스(370)는 디바이스(300)가 다른 디바이스로부터 정보를 수신하고/하거나 다른 디바이스에 정보를 제공할 수 있도록 한다. 예를 들어, 통신 인터페이스(370)는 이더넷 인터페이스, 광 인터페이스, 동축 인터페이스, 적외선 인터페이스, 무선 주파수(radio frequency, RF) 인터페이스, 범용 직렬 버스(universal serial bus, USB) 인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함할 수 있다.
디바이스(300)는 여기에 설명된 하나 이상의 프로세스를 수행할 수 있다. 디바이스(300)는 메모리(330) 및/또는 저장 구성요소(340)와 같은, 컴퓨터로 판독 가능한 비일시적 매체에 저장된 소프트웨어 명령어를 실행하는 프로세서(320)에 응답하여 이러한 프로세스를 수행할 수 있다. 여기서 컴퓨터로 판독 가능한 매체는 비일시적 메모리 디바이스로 정의된다. 메모리 디바이스는 단일 물리 저장 디바이스 내의 메모리 공간 또는 다수의 물리 저장 디바이스에 분산된 메모리 공간을 포함한다.
소프트웨어 명령어는 다른 컴퓨터로 판독 가능한 매체로부터 또는 통신 인터페이스(370)를 통해 다른 디바이스로부터 메모리(330) 및/또는 저장 구성요소(340) 내로 판독될 수 있다. 메모리(330) 및/또는 저장 구성요소(340)에 저장된 소프트웨어 명령어는 실행될 때, 프로세서(320)로 하여금 여기에 기재된 하나 이상의 프로세스를 수행하도록 할 수 있다. 추가적으로 또는 대안적으로, 여기에 기재된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령어 대신에 또는 소프트웨어 명령어와 조합하여 하드와이어형 회로(hardwired circuitry)가 사용될 수 있다. 따라서, 여기에 기재된 구현은 하드웨어 회로와 소프트웨어의 특정 조합으로 한정되지 않습니다.
도 3에 도시된 구성요소의 수 및 배열은 예시로 제공된다. 실제로, 디바이스(300)는 추가 구성요소, 더 적은 구성요소, 다른 구성요소 또는 도 3에 도시된 구성요소와 다르게 배열된 구성요소를 포함할 수 있다. 추가적으로 또는 대안적으로, 디바이스(300)의 구성요소 세트(예: 하나 이상의 구성요소)는 디바이스(300)의 다른 구성요소 세트에 의해 수행되는 것으로 기재된 하나 이상의 기능을 수행할 수 있다.
도 4는 무참조 판별자에 기초하여 다이얼로그 모델을 생성하기 위한 예시적인 프로세스(400)의 흐름도이다. 일부 구현에서, 도 4의 하나 이상의 프로세스 블록은 플랫폼(220)에 의해 수행될 수 있다. 일부 구현에서, 도 4의 하나 이상의 블록은 사용자 디바이스(210)와 같은, 플랫폼(220)과 별개이거나 플랫폼(220)을 포함하는 다른 디바이스 또는 디바이스 그룹에 의해 수행될 수 있다.
도 4에 도시된 바와 같이, 프로세스(400)는 입력 발화를 수신하는 것을 포함할 수 있다(블록 410). 입력 발화는 텍스트 스트링의 형태일 수 있다.
예를 들어, 플랫폼(220)은 사용자 또는 훈련 세트로부터 "게임을 하고 싶나요?"라는 입력 발화를 수신할 수 있다. 입력 발화는 다이얼로그 또는 대화의 일부일 수 있다.
도 4에 또한 도시된 바와 같이, 프로세스(400)는 각각의 후보 답변에 대한 판별자 스코어를 결정하는 것(블록 420)을 포함할 수 있다.
플랫폼(220)은 좋은 답변의 보완 인자를 정량화하는 판별자에 기초하여 판별자 스코어를 결정할 수 있다. 좋은 답변은 의미 있고 논리적이며 관련 있는 답변일 수 있다. 판별자는 참조가 없을 수 있는데, 이는 외부 지식을 고려하지 않고 현재 대화 또는 다이얼로그 이력의 후보 답변 및 컨텍스트 정보를 고려한다는 것을 의미한다.
좋은 답변을 위한 보완 인자는 연산 낭비를 최소화할 수 있는 중첩을 최소화하도록 선택될 수 있다. 예를 들어, 보완 인자로는 후보 답변의 특이성, 이전에 출력된 답변과 후보 답변의 일관성, 후보 답변의 유창성 및 후보 답변의 관련성을 포함할 수 있다. 판별자는 좋은 응답을 위한 보완 인자 중 하나에 대응할 수 있다.
일 실시예에 따르면, 단어 정규화된 역 문서 빈도(word normalized inverse document frequency, NIDF) 값의 평균으로서 후보 답변 u에 대한 특이성 스코어를 계산하는 데 판별자 spec u 가 사용될 수 있다.
단어 w에 대한 NIDF 값은 단어 w의 역 문서 빈도(IDF)에 기초할 수 있다. 단어 w의 IDF는
Figure pct00001
로 정의되며, 여기서
Figure pct00002
는 생성된 후보 답변 세트 내의 후보 답변의 수이고
Figure pct00003
w를 포함하는 후보 답변의 수이다.
NDIF는 다음 식 1에 기초하여 결정될 수 있다:
Figure pct00004
[식 1]
식 1에서 min_idf는 후보 답변의 최소 IDF 값을 나타내고, max_idf는 후보 답변의 최대 IDF 값을 나타낸다.
판별자 spec u 는 다음 식 2를 사용하여 결정될 수 있다:
Figure pct00005
[식 2]
인수 c(컨텍스트 정보)는 다른 판별자와의 일관성을 위해 포함되지만 spec u 를 결정할 때 고려되지 않는다. 즉, spec u (u,c)는 컨텍스 정보(예: 대화 또는 다이얼로그 이력)를 고려하지 않고서 후보 답변을 고려한다.
일 실시예에 따르면, 판별자 spec c 는 컨텍스트 정보 c를 고려하여 후보 답변 u에 대한 특이성 스코어를 계산하는 데 사용될 수 있다. 판별자 스펙 spec c 는 다음 식 3을 사용하여 결정될 수 있다:
Figure pct00006
[식 3]
식 3에서 볼 수 있듯이, spec c 는 후보 답변 u와 컨텍스트 정보 c 모두에 나타나는 단어 w만 고려한다.
판별자 spec u spec c 모두는 다이얼로그 모델이 상세하고 매력적인 답변을 생성하도록 권장할 수 있다. 예를 들어, "볼링하러 가보는 건 어때요?"라는 발화에 대한 응답으로, 판별자 spec u spec c 는 다이얼로그 모델이 "모르겠어요"와 같은 일반적이고 의미 없는 답변을 사용하지 못하게 할 수 있다.
일 실시예에 따르면, 판별자 cons는 후보 답변이 대화하는 동안 다이얼로그 모델에 의해 출력된 이전 응답과 모순되는지 여부를 평가할 수 있다. 이와 같이, 판별자 cons는 일관성 보완 인자에 기초한다.
판별자 cons는 언어 이해를 위한 깊은 양방향 변환의 사전 훈련에 기초할 수 있다. 예를 들어, 판별자 cons는 RoBRETa 모델과 같은 최적화된 BERT 사전 훈련 접근방식에 기초할 수 있다. RoBRETa 모델은 다중 장르 자연어 추론(Multi-Genre Natural Language Inference, MNLI) 데이터 세트와 같은 데이터 세트에 대해 미세 조정될 수 있다. MNLI 데이터 세트는 각각의 문장 쌍 사이에 모순, 수반 및 중립의 세 가지 가능한 관계를 고려한다.
예를 들어, 대화 중에 어떤 사람이 "나는 개를 좋아해요"라고 말한다면, 그 사람이 "나는 개를 무서워하고 보통 개를 멀리해요."라고 말할 가능성은 거의 없다. 따라서, 판별자 cons는 후보 답변 u와 컨텍스트 정보 c를 고려하여 후보 답변 u가 대화 또는 현재 다이얼로그 세션 동안 다이얼로그 모델의 이전 응답과 모순되지 않을 확률을 계산하여 일관성 판별 스코어를 생성한다.
일 실시예에 따르면, 판별자 flu는 후보 답변이 유창하고 자연스러운지를 판단한다. 이와 같이, 판별자 flu는 유창성 보완 인자에 기초한다.
판별자 flu는 조정 가능한 신경 대화 생성 모델(tunable neural conversational generation model)에 기초할 수 있다. 예를 들어, 판별자 flu는 다이얼로그 생성형 사전 훈련 변환기(dialogue generative pre-training transformer, DialoGPT)와 같은 대화 응답의 생성을 위한 조정 가능한 기가워드 규모의 신경망 모델(tunable gigaword-scale neural network model)에 기초할 수 있다.
판별자 flu는 컨텍스트 정보 c가 주어진 각각의 생성된 턴(generated turn) u의 혼란도(perplexity)를 취하여 유창성 판별자 스코어를 생성한다.
일 실시예에 따르면, 판별자 rel s 는 생성된 답변이 다이얼로그 모델에 얼마나 관련이 있는지를 측정한다. 따라서 판별자 rel s 는는 관련성 보완 인자에 기초한다.
판별자 rel s 는 문장 레벨의 시맨틱 유사성에 초점을 맞출 수 있다. 예를 들어, 판별자 rel s 는 모든 계층에서 왼쪽과 오른쪽 컨텍스트 모두를 공동으로 조건화함으로써 레이블이 지정되지 않은(unlabeled) 텍스트로부터 깊은 양방향 표현(deep bidirectional representation)을 사전 훈련하는 언어 표현 모델에 의해 생성되는, 후보 답변 u의 표현 벡터와 컨텍스트 c의 표현 벡터 간의 코사인 유사성에 기초할 수 있다. 예를 들어, 후보 답변 u의 표현 벡터와 컨텍스트 c의 표현 벡터 사이의 코사인 유사성은 모든 계층에서 왼쪽과 오른쪽 컨텍스트 모두를 공동으로 조건화함으로써 레이블이 지정되지 않은 텍스트로부터 깊은 양방향 표현을 사전 훈련하도록 설계된 BERT(Bidirectional Encoder Representations from Transforms)와 같은 모델에 의해 생성될 수 있다.
또한 도 4에 도시된 바와 같이, 프로세스(400)는 판별 스코어에 기초하여 각각의 후보 답변에 대한 품질 스코어를 결정하는 것(블록 440)를 더 포함할 수 있다. 후보 답변 u에 대한 품질 스코어는 후보 답변 u에 대한 판별 스코어의 가중 합에 기초할 수 있다. 예를 들어, 플랫폼(220)은 다음 보상 함수 식 [4]에 기초하여 컨텍스트 c에서 후보 답변 u에 대한 품질 스코어 r(u,c)를 결정할 수 있다:
Figure pct00007
[식 4]
식 4에서
Figure pct00008
는 판별자 스코어 |d|를 나타내고, |d|는 판별자의 수를 나타내고,
Figure pct00009
는 판별자에 부여된 가중치를 나타낸다. 판별자 스코어에 부여되는 가중치
Figure pct00010
는 경험적 증거에 기초하여 결정될 수 있다. 예를 들어, 각각의 판별자 스코어에는 실험을 통해 결정되는 특정 가중치
Figure pct00011
가 부여될 수 있다. 각각의 판별자에 대한 가중치
Figure pct00012
는 해당 판별자에 대해서만 결정될 수 있다. 따라서, 서로 다른 가중치
Figure pct00013
가 각각의 판별자에 대응할 수 있다. 일 실시예에 따르면, 가중치
Figure pct00014
는 서로 다른 상황에 대해 최적화될 수 있다.
또한 도 4에 도시된 바와 같이, 프로세스(400)는 품질 스코어에 기초하여 다이얼로그 모델을 훈련하는 것(블록 450)을 더 포함할 수 있다.
예를 들어, 플랫폼(220)은 다이얼로그 모델을 훈련시키기 위해 자기 임계 훈련 알고리즘(self-critical training algorithm)을 사용할 수 있다. 이 알고리즘은 정책 기울기(policy-gradient) 강화 학습(reinforcement learning, RL) 알고리즘일 수 있다. 훈련에 대한 손실 함수는 식 5에 나타냈다:
Figure pct00015
[식 5]
식 5에서
Figure pct00016
는 그리디 디코딩(greedy decoding)에 의해 생성된 베이스라인 후보 답변이다. 일 실시예에 따르면,
Figure pct00017
는 가장 높은 판별 스코어를 가진 후보 답변이다. 식 5에서
Figure pct00018
는 현재 모델 분포에 따른 샘플 발화이다. 일 실시예에 따르면,
Figure pct00019
는 생성된 후보 답변의 리스트 중에서 무작위로 선택된 후보 답변이다. 따라서
Figure pct00020
은 식 4에 나타낸 보상 함수에 기초로 한 품질 스코어를 나타낸다.
식 5에서 |
Figure pct00021
|는 샘플링된 발화
Figure pct00022
의 길이를 나타낸다. 위에 논의된 바와 같이, w는 후보 답변의 단어를 나타내고 c는 대화 또는 다이얼로그 이력과 같은 컨텍스트 정보를 나타낸다.
일 실시예에 따르면, 자기 임계 훈련 알고리즘은 베이스라인 알고리즘을 사용하는 강화의 특수한 경우일 수 있다.
일 실시예에 따르면, 위의 RL 기반 목표
Figure pct00023
은 교차 엔트로피 기반 목표(cross-entropy based objective)
Figure pct00024
와 결합되어 식 6에 나타낸 최종 훈련 목표를 생성할 수 있다:
Figure pct00025
[식 6]
식 6에서
Figure pct00026
는 경험적으로 결정될 수 있다. 일 실시예에 따르면,
Figure pct00027
는 경험적으로 0.7로 설정될 수 있다.
교차 엔트로피 기반 목표
Figure pct00028
는 사람의 주석이 달린 답변에 기초하여 토큰 레벨 교차 엔트로피 손실을 결정할 수 있다.
비록 도 4는 프로세스(400)의 예시적인 블록을 도시하지만, 일부 구현에서, 프로세스(400)는 추가 블록, 더 적은 수의 블록, 상이한 블록, 또는 도 4에 도시된 블록과 다르게 배열된 블록을 포함할 수 있다. 추가적으로 또는 대안적으로, 프로세스(400)의 둘 이상의 블록이 병렬로 수행될 수 있다.
전술한 개시는 예시 및 설명을 제공하지만, 총망라하거나 개시된 정확한 형태로 구현을 한정하려는 의도는 아니다. 수정 및 변형은 상기한 개시 내용에 비추어 가능하거나 구현의 실천으로부터 획득될 수 있다.
여기에 사용된 바와 같이, 구성요소라는 용어는 하드웨어, 펌웨어 또는 하드웨어와 소프트웨어의 조합으로 광범위하게 해석되도록 의도된다.
여기에 기재된 시스템 및/또는 방법이 상이한 형태의 하드웨어, 펌웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있음은 명백할 것이다. 이러한 시스템 및/또는 방법을 구현하는 데 사용되는 실제의 특화된 제어 하드웨어 또는 소프트웨어 코드는 구현을 한정하지 않는다. 따라서, 시스템 및/또는 방법의 동작 및 거동은 특정 소프트웨어 코드를 참조하지 않고 여기에 설명되었는데, 이는 소프트웨어 및 하드웨어는 여기서의 기재에 기초하여 시스템 및/또는 방법을 구현하도록 설계될 수 있는 것으로 이해된다.
특징들의 특정 조합이 청구범위에 언급되고/되거나 명세서에 개시되더라도, 이러한 조합은 가능한 구현의 개시를 한정하려는 의도가 아니다. 사실, 이들 특징 중 다수는 청구범위에 구체적으로 언급되지 않은 방식 및/또는 명세서에 개시되지 않은 방식으로 조합될 수 있다. 아래에 나열된 각각의 종속항은 하나의 청구항에만 직접적으로 종속할 수 있지만, 가능한 구현의 개시 내용은 청구항 세트의 다른 모든 청구항과 결합된 각 종속항이 포함된다.
여기에 사용된 요소, 행위, 또는 명령은 명시적으로 설명되지 않는 한 중요하거나 필수적인 것으로 해석되어서는 안 된다. 또한, 여기에 사용된 바와 같이, "일(영어 관사 "a" 및 "an"에 해당됨)은 하나 이상의 항목을 포함하도록 의도되며, "하나 이상"과 상호 교환적으로 사용될 수 있다. 또한, 여기에 사용된 바와 같이, "세트(set)라는 용어를 하나 이상의 항목(예: 관련 있는 항목, 관련 없는 항목, 관련 있는 항목과 관련 없는 항목의 조합 등)을 포함하도록 의도되고, "하나 이상"과 상호 교환적으로 사용될 수 있다. 하나의 항목만 의도되는 경우 "하나" 또는 이와 유사한 용어가 사용된다. 또한, 여기에 사용된 용어 "가지다(has, have)", "갖는(having)", "포함하다(include)", "포함하는(including)" 등은 제한이 없는 용어를 의미한다. 또한, "~에 기초하여(based on)"라는 어구는 달리 명시적으로 언급되지 않는 한 "적어도 부분적으로 ~에 기초하여"를 의미하는 것으로 의도된다.

Claims (18)

  1. 컴퓨터로 구현되는 방법으로서,
    상기 다이얼로그 모델(dialogue model)과 대화 중인 디바이스로부터 입력 발화(input utterance)를 수신하는 단계;
    상기 다이얼로그 모델로부터 상기 입력 발화에 대한 복수의 후보 답변을 획득하는 단계 - 상기 복수의 후보 답변은 제1 후보 답변과 제2 후보 답변을 포함함 -;
    상기 제1 후보 답변에 대한 복수의 판별자 스코어(discriminator score)를 결정하는 단계 - 상기 복수의 판별자 스코어는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제1 후보 답변의 품질을 평가하는 복수의 판별자에 의해 제공됨 -;
    상기 제2 후보 답변에 대한 복수의 판별자 스코어를 결정하는 단계 - 상기 복수의 판별자 스코어는 상기 제2 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제2 후보 답변의 품질을 평가하는 상기 복수의 판별자에 의해 제공됨 -;
    상기 제1 후보 답변과 연관된 제1 품질 스코어를 결정하는 단계 - 상기 제1 품질 스코어는 상기 제1 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -;
    제2 후보 답변과 연관된 제2 품질 스코어를 결정하는 단계 - 상기 제2 품질 스코어는 상기 제2 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 및
    상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 상기 다이얼로그 모델을 훈련시키는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 복수의 판별자는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에만 기초하여 상기 복수의 후보 답변을 평가하는, 방법.
  3. 제1항에 있어서,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변의 정규화된 역함수 문서 빈도를 결정함으로써 상기 복수의 후보 답변의 특이성(specificity)을 평가하는, 방법.
  4. 제1항에 있어서,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변이 상기 대화 동안에 상기 다이얼로그 모델에 의해 출력되는 이전 후보 답변들과 모순될 확률을 계산함으로써 상기 복수의 후보 답변의 일관성(consistency)을 평가하는, 방법.
  5. 제1항에 있어서,
    상기 복수의 판별자 중 적어도 하나는 상기 컨텍스트 정보에 기초하여 상기 복수의 후보 답변의 혼란도(perplexity)를 결정함으로써 상기 복수의 후보 답변의 유창성(fluency)을 평가하는, 방법.
  6. 제1항에 있어서,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변의 표현 벡터와 상기 컨텍스트 정보의 표현 벡터 사이의 코사인 유사도(cosine similarity)를 계산함으로써 상기 복수의 후보 답변이 상기 대화와 관련이 있는지 여부를 평가하는, 방법.
  7. 제1항에 있어서,
    상기 다이얼로그 모델은 상기 복수의 후보 답변 중에서 가장 높은 품질 스코어를 갖는 후보 답변의 품질 스코어 및 상기 복수의 후보 답변 중에서 무작위로 선택된 후보 답변의 품질 스코어에 기초하여 훈련되는, 방법.
  8. 제1항에 있어서,
    상기 다이얼로그 모델을 훈련시키는 단계는,
    상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 강화된 학습 기반 목표(reinforced learning based objective)를 결정하는 단계;
    토큰 레벨 교차 엔트로피 손실에 기초하여 상기 복수의 후보 답변을 평가하는 교차 엔트로피 기반 목표를 결정하는 단계, 및
    상기 강화된 학습 기반 목표 및 상기 교차 엔트로피 기반 목표의 조합에 기초하여 최종 훈련 목표를 결정하는 단계를 포함하는, 방법.
  9. 디바이스로서,
    프로그램 코드 및 신경망 기반 오픈 도메인 다이얼로그 모델을 저장하도록 구성된 적어도 하나의 메모리;
    상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 명령받은 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금 상기 다이얼로그 모델과 대화 중인 디바이스로부터 입력 발화를 수신하게 하도록 구성된 수신 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 다이얼로그 모델로부터 상기 입력 발화에 대한 복수의 후보 답변을 획득하게 하도록 구성된 획득 코드 - 상기 복수의 후보 답변은 제1 후보 답변과 제2 후보 답변을 포함함 -;
    상기 적어도 하나의 프로세서로 하여금 상기 제1 후보 답변에 대한 복수의 판별자 스코어 결정하게 하도록 구성된 제1 결정 코드 - 상기 복수의 판별자 스코어는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제1 후보 답변의 품질을 평가하는 복수의 판별자에 의해 제공됨 -;
    상기 적어도 하나의 프로세서로 하여금 상기 제2 후보 답변에 대한 복수의 판별자 스코어를 결정하게 하도록 구성된 제2 결정 코드 - 상기 복수의 판별자 스코어는 상기 제2 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제2 후보 답변의 품질을 평가하는 상기 복수의 판별자에 의해 제공됨 -;
    상기 적어도 하나의 프로세서로 하여금 상기 제1 후보 답변과 연관된 제1 품질 스코어를 결정하게 하도록 구성된 제3 결정 코드 - 상기 제1 품질 스코어는 상기 제1 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -;
    상기 적어도 하나의 프로세서로 하여금 상기 제2 후보 답변과 연관된 제2 품질 스코어를 결정하게 하도록 구성된 제4 결정 코드 - 상기 제2 품질 스코어는 상기 제2 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -; 및
    상기 적어도 하나의 프로세서로 하여금 상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 상기 다이얼로그 모델을 훈련시키게 하도록 구성된 훈련 코드를 포함하는,
    디바이스.
  10. 제9항에 있어서,
    상기 복수의 판별자는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에만 기초하여 상기 복수의 후보 답변을 평가하는, 디바이스.
  11. 제9항에 있어서,
    상기 훈련 코드는 추가로, 상기 적어도 하나의 프로세서로 하여금 상기 복수의 후보 답변 중에서 가장 높은 품질 스코어를 갖는 후보 답변의 품질 스코어 및 상기 복수의 후보 답변 중에서 무작위로 선택된 후보 답변의 품질 스코어에 기초하여 상기 다이얼로그 모델을 훈련시키게 하도록 구성되는, 디바이스.
  12. 제9항에 있어서,
    상기 훈련 코드는 추가로, 상기 적어도 하나의 프로세서로 하여금,
    상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 강화된 학습 기반 목표를 결정하게 하고;
    토큰 레벨 교차 엔트로피 손실에 기초하여 상기 복수의 후보 답변을 평가하는 교차 엔트로피 기반 목표를 결정하게 하고,
    상기 강화된 학습 기반 목표와 상기 교차 엔트로피 기반 목표의 조합에 기초하여 최종 훈련 목표를 결정하게 하도록 구성되는, 디바이스.
  13. 제9항에 있어서,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변의 정규화된 역함수 문서 빈도를 결정함으로써 상기 복수의 후보 답변의 특이성을 평가하고,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변이 상기 대화 동안에 상기 다이얼로그 모델에 의해 출력되는 이전 후보 답변들과 모순될 확률을 계산함으로써 상기 복수의 후보 답변의 일관성을 평가하고,
    상기 복수의 판별자 중 적어도 하나는 상기 컨텍스트 정보에 기초하여 상기 복수의 후보 답변의 혼란도를 결정함으로써 상기 복수의 후보 답변의 유창성을 평가하고,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변의 표현 벡터와 상기 컨텍스트 정보의 표현 벡터 사이의 코사인 유사도를 계산함으로써 상기 복수의 후보 답변이 상기 대화와 관련이 있는지 여부를 평가하는, 디바이스.
  14. 명령어를 저장하는, 컴퓨터로 판독 가능한 비일시적 매체로서,
    상기 명령어는 모바일 디바이스의 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금,
    상기 다이얼로그 모델과 대화 중인 디바이스로부터 입력 발화를 수신하게 하고;
    상기 다이얼로그 모델로부터 상기 입력 발화에 대한 복수의 후보 답변을 획득하게 하게 하고 - 상기 복수의 후보 답변은 제1 후보 답변과 제2 후보 답변을 포함함 -;
    상기 제1 후보 답변에 대한 복수의 판별자 스코어 결정하게 하고 - 상기 복수의 판별자 스코어는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제1 후보 답변의 품질을 평가하는 복수의 판별자에 의해 제공됨 -;
    상기 제2 후보 답변에 대한 복수의 판별자 스코어를 결정하게 하고 - 상기 복수의 판별자 스코어는 상기 제2 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에 기초하여 상기 제2 후보 답변의 품질을 평가하는 상기 복수의 판별자에 의해 제공됨 -;
    상기 제1 후보 답변과 연관된 제1 품질 스코어를 결정하게 하고 - 상기 제1 품질 스코어는 상기 제1 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -;
    상기 제2 후보 답변과 연관된 제2 품질 스코어를 결정하게 하고 - 상기 제2 품질 스코어는 상기 제2 후보 답변에 대응하는 상기 복수의 판별자 스코어의 가중 합에 기초함 -;
    상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 상기 다이얼로그 모델을 훈련시키게 하는, 하나 이상의 명령어를 포함하는,
    컴퓨터로 판독 가능한 비일시적 매체.
  15. 제14항에 있어서,
    상기 복수의 판별자는 상기 제1 후보 답변에 대응하는 정보 및 상기 대화의 이력에 대응하는 컨텍스트 정보에만 기초하여 상기 복수의 후보 답변을 평가하는, 컴퓨터로 판독 가능한 비일시적 매체.
  16. 제14항에 있어서,
    상기 다이얼로그 모델은 상기 복수의 후보 답변 중에서 가장 높은 품질 스코어를 갖는 후보 답변의 품질 스코어 및 상기 복수의 후보 답변 중에서 무작위로 선택된 후보 답변의 품질 스코어에 기초하여 훈련되는, 컴퓨터로 판독 가능한 비일시적 매체.
  17. 제14항에 있어서,
    상기 하나 이상의 명령어는 상기 하나 이상의 프로세서로 하여금,
    상기 제1 품질 스코어 또는 상기 제2 품질 스코어 중 적어도 하나에 기초하여 강화된 학습 기반 목표를 결정하게 하고;
    토큰 레벨 교차 엔트로피 손실에 기초하여 상기 복수의 후보 답변을 평가하는 교차 엔트로피 기반 목표를 결정하게 하고,
    상기 강화된 학습 기반 목표 및 상기 교차 엔트로피 기반 목표의 조합에 기초하여 최종 훈련 목표를 결정하게 하는, 컴퓨터로 판독 가능한 비일시적 매체.
  18. 제14항에 있어서,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변의 정규화된 역함수 문서 빈도를 결정함으로써 상기 복수의 후보 답변의 특이성을 평가하고,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변이 상기 대화 동안에 상기 다이얼로그 모델에 의해 출력되는 이전 후보 답변들과 모순될 확률을 계산함으로써 상기 복수의 후보 답변의 일관성을 평가하고,
    상기 복수의 판별자 중 적어도 하나는 상기 컨텍스트 정보에 기초하여 상기 복수의 후보 답변의 혼란도를 결정함으로써 상기 복수의 후보 답변의 유창성을 평가하고,
    상기 복수의 판별자 중 적어도 하나는 상기 복수의 후보 답변의 표현 벡터와 상기 컨텍스트 정보의 표현 벡터 사이의 코사인 유사도를 계산함으로써 상기 복수의 후보 답변이 상기 대화와 관련이 있는지 여부를 평가하는, 컴퓨터로 판독 가능한 비일시적 매체.
KR1020237018761A 2021-02-22 2021-12-16 무참조 판별자에 기초한 다이얼로그 모델 훈련 KR20230094193A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/181,475 2021-02-22
US17/181,475 US11995542B2 (en) 2021-02-22 2021-02-22 Dialogue model training based on reference-free discriminators
PCT/US2021/063791 WO2022177630A1 (en) 2021-02-22 2021-12-16 Dialogue model training based on reference-free discriminators

Publications (1)

Publication Number Publication Date
KR20230094193A true KR20230094193A (ko) 2023-06-27

Family

ID=82901159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237018761A KR20230094193A (ko) 2021-02-22 2021-12-16 무참조 판별자에 기초한 다이얼로그 모델 훈련

Country Status (5)

Country Link
US (1) US11995542B2 (ko)
JP (1) JP2023552137A (ko)
KR (1) KR20230094193A (ko)
CN (1) CN116710986A (ko)
WO (1) WO2022177630A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230077528A1 (en) * 2021-08-25 2023-03-16 Hyperconnect Inc. Method of Generating Conversation Information Using Examplar-Based Generation Model and Apparatus for the Same
CN117112744B (zh) * 2023-08-02 2024-07-12 北京聆心智能科技有限公司 大语言模型的评估方法、装置及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625748A (en) 1994-04-18 1997-04-29 Bbn Corporation Topic discriminator using posterior probability or confidence scores
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
TW517221B (en) 2001-08-24 2003-01-11 Ind Tech Res Inst Voice recognition system
US9275154B2 (en) * 2010-06-18 2016-03-01 Google Inc. Context-sensitive point of interest retrieval
KR20130128716A (ko) 2012-05-17 2013-11-27 포항공과대학교 산학협력단 어학 학습 시스템 및 학습 방법
CN105095182B (zh) * 2014-05-22 2018-11-06 华为技术有限公司 一种回复信息推荐方法及装置
CN110019722B (zh) * 2017-12-21 2023-11-24 株式会社理光 对话模型的回复排序方法、装置及计算机可读存储介质
CN108446269B (zh) * 2018-03-05 2021-11-23 昆明理工大学 一种基于词向量的词义消歧方法及装置

Also Published As

Publication number Publication date
US20220269934A1 (en) 2022-08-25
CN116710986A (zh) 2023-09-05
US11995542B2 (en) 2024-05-28
JP2023552137A (ja) 2023-12-14
WO2022177630A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
US11379659B2 (en) Text categorization using natural language processing
AU2019200124B2 (en) Predicting links in knowledge graphs using ontological knowledge
US11361243B2 (en) Recommending machine learning techniques, features, and feature relevance scores
US11087088B2 (en) Automated and optimal encoding of text data features for machine learning models
US10832658B2 (en) Quantized dialog language model for dialog systems
JP7136752B2 (ja) 受信したデータ入力に基づいて過少データに関連するデータを生成する方法、デバイス、および非一時的コンピュータ可読媒体
WO2020163422A1 (en) Enhancing hybrid self-attention structure with relative-position-aware bias for speech synthesis
US11164562B2 (en) Entity-level clarification in conversation services
KR20230094193A (ko) 무참조 판별자에 기초한 다이얼로그 모델 훈련
US20230118506A1 (en) Conversational aspect sentiment analysis for dialogue understanding
AU2017265080A1 (en) Platform for supporting multiple virtual agent applications
WO2021045877A1 (en) Understanding a query intention for medical artificial intelligence systems using semi-supervised deep learning
WO2020167591A1 (en) Large margin tracking for attention-based end-to-end speech recognition
KR102280439B1 (ko) 질의의도를 분석하기 위한 장치 및 방법
KR20200106108A (ko) 딥러닝 기반의 특허정보 워드임베딩 방법 및 그 시스템
CN113939868A (zh) 无监督自动语音识别
US10923117B2 (en) Best path change rate for unsupervised language model weight selection
US20240078393A1 (en) Search-engine-augmented dialogue response generation with cheaply supervised query production
US20230162055A1 (en) Hierarchical context tagging for utterance rewriting
US20240095514A1 (en) Friend-training: methods, systems, and apparatus for learning from models of different but related tasks
KR20200106109A (ko) 딥러닝 기반의 특허정보 멀티링규얼 머신 트랜슬레이션 방법 및 그 시스템

Legal Events

Date Code Title Description
A201 Request for examination