KR20220065523A - Method and apparatus for expanding a task-oriented dialogue corpus - Google Patents

Method and apparatus for expanding a task-oriented dialogue corpus Download PDF

Info

Publication number
KR20220065523A
KR20220065523A KR1020200152127A KR20200152127A KR20220065523A KR 20220065523 A KR20220065523 A KR 20220065523A KR 1020200152127 A KR1020200152127 A KR 1020200152127A KR 20200152127 A KR20200152127 A KR 20200152127A KR 20220065523 A KR20220065523 A KR 20220065523A
Authority
KR
South Korea
Prior art keywords
utterance
conversation
slot
corpus
existing
Prior art date
Application number
KR1020200152127A
Other languages
Korean (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 KR1020200152127A priority Critical patent/KR20220065523A/en
Publication of KR20220065523A publication Critical patent/KR20220065523A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention provides a method for extending the destination conversation corpus includes the steps of: analyzing a conversation history between a user and a system by analyzing slot values of the slots stored for each utterance turn of the user and the system and a search result type of an entity database matching the slot values; selecting a candidate slot value based on the analyzed conversation history; and extending the destination conversation corpus by replacing the slot value with the candidate slot value.

Description

목적지향 대화 말뭉치를 확장하기 위한 방법 및 장치{Method and apparatus for expanding a task-oriented dialogue corpus}Method and apparatus for expanding a task-oriented dialogue corpus

본 발명은 목적지향 대화 처리 시스템의 학습에 필요한 대화 말뭉치의 처리 기술에 관한 것이다.The present invention relates to a conversation corpus processing technique required for learning of a destination-oriented conversation processing system.

최근 신경망 기반 학습 기술이 발전함에 따라, 학습 알고리즘 기반의 목적지향 대화 시스템에 대한 관심이 높아지고 있다.With the recent development of neural network-based learning technology, interest in a destination-oriented conversation system based on a learning algorithm is increasing.

목적지향 대화 시스템은 특정 업무를 대화로 수행하는 시스템으로서, 예를 들면, 각종 정보 검색, 일정 관리, 상품 주문이나 호텔 및 음식점 예약 등에 사용될 수 있다.The destination-directed conversation system is a system for performing a specific task through conversation, and may be used, for example, for various information search, schedule management, product order, hotel or restaurant reservation, and the like.

특정 도메인에서 외부 데이터베이스를 활용하여 대화가 진행되는 목적지향 대화의 특성 상, 학습 말뭉치가 희소할 뿐만 아니라 외부 데이터베이스가 업데이트될 때마다 그에 대한 새로운 대화 말뭉치를 생성해야 하는데 이는 시간과 비용이 많이 드는 말뭉치 구축 작업을 요구한다. Due to the nature of destination-oriented conversations in which conversations are conducted using an external database in a specific domain, a learning corpus is sparse, and it is necessary to create a new conversation corpus every time the external database is updated, which is a time-consuming and expensive corpus. Requires build work.

학습 알고리즘 기반 시스템의 성능은 학습 데이터의 양에 따라 결정되므로 대화 말뭉치가 적은 목적지향 대화처리 시스템의 성능은 높지 않다.Since the performance of the learning algorithm-based system is determined by the amount of learning data, the performance of the destination-oriented dialog processing system with a small dialog corpus is not high.

그러므로 학습 알고리즘 기반의 목적지향 대화처리 시스템의 성능을 높이고, 동시에 업데이트된 데이터베이스를 대화 시스템에 반영하기 위해선 대화 말뭉치를 자동으로 확장하기 위한 기술이 필요한데, 아직 이에 대한 연구는 미비한 실정이다.Therefore, in order to improve the performance of the learning algorithm-based destination-oriented dialog processing system and at the same time reflect the updated database in the dialog system, a technology for automatically expanding the dialog corpus is required, but research on this is still insufficient.

상술한 문제점을 해결하기 위한 본 발명의 목적은, 목적지향 대화 시스템의 성능을 개선하기 위해 목적지향 대화 시스템의 학습에 필요한 대화 말뭉치를 자동으로 확장하기 위한 방법 및 장치를 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for automatically expanding a dialogue corpus required for learning a dialogue system directed to a destination in order to improve the performance of the dialogue system directed to a destination.

본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부된 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. The above and other objects, advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings.

본 발명의 목적지향 대화 말뭉치를 확장하기 위한 방법은, 슬롯과 슬롯값으로 태깅된 기존 태깅 발화로 구성된 기존 대화 말뭉치를 분석하여, 상기 기존 태깅 발화에 대한 대화 이력을 생성하는 단계; 상기 기존 대화 말뭉치의 도메인과 동일한 도메인에 속하는 개체들로 이루어진 데이터베이스를 검색하여, 상기 생성된 대화 이력에 대응하는 개체들을 개체 후보로 선정하는 단계; 기존 태깅 발화에서 상기 슬롯값을 제거하여 탈어휘 발화를 생성하는 단계; 클러스터링 기법을 이용하여 상기 생성된 탈어휘 발화로부터 상기 생성된 탈어휘 발화의 문장 의미와 유사한 유사 탈어휘 발화를 생성하는 단계; 상기 유사 탈어휘 발화에 포함된 상기 슬롯을 상기 개체 후보로 선정된 개체의 속성값을 나타내는 후보 슬롯값으로 채우는 방식으로 상기 유사 탈어휘 발화로부터 확장된 탈어휘 발화를 생성하는 단계; 및 상기 확장된 탈어휘 발화를 확장된 대화 말뭉치로 구성하는 단계를 포함한다.A method for expanding a conversation corpus directed to a destination according to the present invention comprises the steps of: analyzing an existing conversation corpus composed of an existing tagged utterance tagged with a slot and a slot value, and generating a conversation history for the existing tagged utterance; searching a database including entities belonging to the same domain as the domain of the existing conversation corpus, and selecting entities corresponding to the generated conversation history as entity candidates; generating a lexical utterance by removing the slot value from an existing tagging utterance; generating a similar derivational utterance similar to a sentence meaning of the generated divergence utterance from the generated divergence utterance by using a clustering technique; generating an extended demyelinating utterance from the pseudo-devomic utterance by filling the slots included in the pseudo-devomic utterance with a candidate slot value representing an attribute value of the entity selected as the entity candidate; and configuring the expanded lexical utterance into an expanded dialogue corpus.

본 발명에 따라 생성된 목적지향 대화 말뭉치는 별도의 대화 생성 비용을 들이지 않고 자동으로 구축할 수 있는 장점이 있다. 따라서 DB가 업데이트되거나 크기가 큰 DB에 비해 적은 양의 대화 말뭉치를 가지고 있을 때, 학습 알고리즘 기반의 대화 시스템의 성능을 향상시킬 수 있다.The destination-directed conversation corpus generated according to the present invention has an advantage in that it can be built automatically without incurring a separate conversation creation cost. Therefore, when the DB is updated or has a small amount of conversation corpus compared to a large DB, the performance of the conversation system based on the learning algorithm can be improved.

도 1은 본 발명의 실시 예에 따른 목적지향 대화 말뭉치를 확장하기 위한 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 실시 예에 따른 목적지향 대화 말뭉치 확장 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 목적지향 대화 말뭉치를 확장하기 위한 방법을 적용할 수 있는 예시적인 컴퓨팅 디바이스를 도시한 도면이다.
1 is a block diagram illustrating an apparatus for expanding a destination-directed conversation corpus according to an embodiment of the present invention.
2 is a flowchart illustrating a method for expanding a dialogue corpus directed to a destination according to an embodiment of the present invention.
3 is a diagram illustrating an exemplary computing device to which the method for expanding the destination-directed conversation corpus of the present invention can be applied.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes changes, equivalents, or substitutes included in the spirit and scope of the present invention.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is used only to describe specific embodiments, and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the existence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.

본 발명에서 적용될 수 있는 기술적 개념 및 용어들을 먼저 소개하기로 한다.Technical concepts and terms applicable to the present invention will be first introduced.

데이터베이스의 구조database structure

목적지향 대화 시스템에서 사용자가 요구할 수 있는 정보를 '슬롯' (데이터베이스의 필드)이라 하며 음식점 도메인을 예로, 하나의 식당에 대한 슬롯 정보가 하나의 개체 (데이터베이스의 레코드)가 된다.In the destination-directed conversation system, the information that the user can request is called a 'slot' (a field in the database) and, for example, the restaurant domain, slot information for one restaurant becomes one entity (record in the database).

상호명business name 지역area 음식food 가격대price range 전화번호Phone number 만선식당Manseon Restaurant 강남Gangnam episode 5만원대5 million won 1111-22221111-2222 황소곱창bull giblets 잠실Jam-sil 곱창giblets 3만원대3 million won 3333-44443333-4444 동소예Dongsoye 종로Jong-ro 쭈꾸미Webfoot octopus 1만원대10,000 won 5555-66665555-6666

위의 표 1과 같은 데이터베이스를 가정할 때, 슬롯은 <지역>, <음식>, <가격대>와 같이 도메인의 검색 조건이 될 수 있는 것들과 <상호명>, <전화번호>와 같이 사용자가 정보를 원하는 것들로 구성될 수 있다.Assuming the database as shown in Table 1 above, the slots are domain search conditions such as <region>, <food>, and <price range> and user information such as <business name> and <phone number>. It can be composed of things you want.

슬롯 값은 각 슬롯에 해당하는 개체의 속성 값이다. 예를 들어, <음식=비빔밥>의 경우 <음식>은 슬롯이고, [비빔밥]을 슬롯 값이다.The slot value is the attribute value of the object corresponding to each slot. For example, in the case of <Food=Bibimbap>, <Food> is the slot, and [Bibimbap] is the slot value.

학습기반 목적지향 대화시스템Learning-based destination-oriented dialogue system

본 발명이 적용될 수 있는 목적지향 대화 시스템은 사용자가 원하는 조건에 따라 데이터베이스를 검색하고 사용자가 원하는 정보를 제공하는 것이 목표이다.The goal of the destination-oriented conversation system to which the present invention can be applied is to search a database according to a condition desired by the user and to provide information desired by the user.

각 사용자/시스템 발화에 대해 슬롯/슬롯 값이 태깅된 대화 말뭉치 (추가적으로 발화 의도를 태깅하기도 함)로부터 목적지향 대화 시스템을 학습한다.For each user/system utterance, a destination-directed conversation system is learned from a conversation corpus in which a slot/slot value is tagged (sometimes additionally tagged with the utterance intention).

실제 대화 상황에서 각 발화에 대한 태깅 정보는 존재하지 않으므로 시스템은 자연 발화 형태의 대화 이력으로부터 사용자가 원하는 정보를 찾고, 적절한 응답을 출력하도록 학습된다. 여기서, 자연 발화 형태의 대화 이력으로부터 사용자가 원하는 정보를 찾는 것은 '슬롯 및 슬롯 값의 추론'을 의미한다.Since tagging information for each utterance does not exist in an actual conversation situation, the system is trained to find the information desired by the user from the conversation history in the form of spontaneous utterances and to output an appropriate response. Here, finding information desired by the user from the conversation history in the form of spontaneous speech means 'inference of slots and slot values'.

자연 발화는 태깅 발화에서 슬롯을 제거한 발화로, 목적지향 대화 시스템의 입력으로 활용되며, 탈어휘 발화(delexicalized utterance)는 태깅 발화에서 슬롯 값을 제거한 발화로, 추후 발화 클러스터링에 활용된다.Spontaneous utterances are utterances in which slots are removed from tagging utterances, and are used as input to a destination-oriented dialogue system.

태깅 발화tagging speech <지역=강남>에서 식당을 찾고 있어요.I am looking for a restaurant in <Region = Gangnam>. 자연 발화spontaneous combustion 강남에서 식당을 찾고 있어요.I'm looking for a restaurant in Gangnam. 탈어휘 발화out-of-vocabulary speech <지역>에서 식당을 찾고 있어요.I'm looking for a restaurant in <region>.

위의 표 2는 태깅 발화, 자연발화, 탈어휘 발화의 예이다.Table 2 above shows examples of tagging utterances, spontaneous utterances, and out-of-vocabulary utterances.

대화 말뭉치 자동 확장 방법How to auto-expand the dialog corpus

본 발명에서 언급하는 대화 말뭉치 자동 확장 방법은, 학습 기반 목적지향 대화 시스템 성능 향상을 위해 기존의 대화 말뭉치를 기반으로 다양한 발화와 동일한 도메인의 데이터베이스의 다양한 개체를 언급하는 대화 생성을 목표로 한다.The dialog corpus automatic expansion method referred to in the present invention aims to generate dialogs referring to various utterances and various objects in a database of the same domain based on an existing dialog corpus in order to improve the performance of a learning-based destination-oriented dialog system.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference numerals in each figure indicate like elements.

본 발명의 실시 예는 기존의 목적지향 대화 말뭉치를 활용하여 동일한 도메인의 데이터베이스(DB)로부터 말뭉치를 자동 확장한다. 목적지향 대화 말뭉치는 특정 도메인에서 사용자의 목적 달성을 위해 이루어지는 사용자와 시스템 간의 대화와 모든 발화에 대해 정의한 슬롯(slot)-슬롯(slot) 값 쌍으로 이루어진 온톨로지 태깅 정보를 포함한다. 여기서, 슬롯은 사용자의 목적 달성을 위한 필수 정보로서 대화를 위한 정보의 기본 저장 단위로 정의될 수 있다. 또한 목적지향 대화 말뭉치는 모든 발화의 의도 태깅 정보를 포함할 수 있다. An embodiment of the present invention automatically extends the corpus from the database (DB) of the same domain by utilizing the existing destination-directed conversation corpus. The destination-oriented conversation corpus includes ontology tagging information composed of a slot-slot value pair defined for a conversation between a user and a system and all utterances made to achieve a user's purpose in a specific domain. Here, the slot may be defined as a basic storage unit of information for conversation as essential information for achieving the user's purpose. Also, the destination-directed conversation corpus may include intention tagging information of all utterances.

아래의 표 3은 사용자가 원하는 조건으로 식당을 찾는 식당 검색 도메인에서의 목적지향 대화 말뭉치의 예이다.Table 3 below is an example of a destination-oriented conversation corpus in a restaurant search domain that searches for a restaurant based on a user's desired condition.

발화자(턴)Talker (turn) 발화 종류type of utterance 발화utterance 화행dialogue act 사용자(1)User(1) 자연 발화spontaneous combustion 강남에서 식당을 찾고 있어요.I'm looking for a restaurant in Gangnam. Inform(지역=강남)Information (Region = Gangnam) 탈어휘 발화out-of-vocabulary speech <지역>에서 식당을 찾고 있어요.I'm looking for a restaurant in <region>. 시스템(1)System(1) 자연 발화spontaneous combustion 원하시는 음식 있으세요?Do you have any food you want? Request(음식)Request (food) 탈어휘 발화out-of-vocabulary speech 원하시는 음식 있으세요?Do you have any food you want? 사용자(2)User(2) 자연 발화spontaneous combustion 비빔밥이 먹고 싶어요.I want to eat bibimbap. Inform(음식=비빔밥)Inform (food = bibimbap) 탈어휘 발화out-of-vocabulary speech <음식>이 먹고 싶어요.I want to eat <food>. 시스템(2)system(2) 자연 발화spontaneous combustion 비빔밥을 파는 곳으로는 A 음식점이 있어요.There is restaurant A that sells bibimbap. Inform(이름=A)Inform(Name=A) 탈어휘 발화out-of-vocabulary speech <음식>을 파는 곳으로는 <이름> 음식점이 있어요.There is a restaurant <name> that sells <food>.

사용자/시스템의 발화에 대해 정의한 슬롯 <지역, 음식 등>으로 태깅한 발화를 탈어휘 발화 (delexicalized utterance)라고 한다. 각 발화는 추가적으로 태깅한 발화의 의도를 활용하여 화행 단위로 표현할 수 있다. The utterances tagged with the slot <region, food, etc.> defined for the utterances of the user/system are called delexicalized utterances. Each utterance may be expressed in units of dialogue act by using the intention of the additionally tagged utterance.

목적지향 대화 시스템은 사용자와 대화를 통해 사용자가 원하는 조건 (슬롯 값)을 찾고, DB를 검색하여 조건에 맞는 결과를 출력한다. 따라서 대화의 흐름은 슬롯 값이 언급되는 순서와 그 슬롯 값에 대응하는 DB 검색 결과에 따라 달라질 수 있다.The destination-oriented dialogue system finds the condition (slot value) desired by the user through dialogue with the user, searches the DB, and outputs the result that meets the condition. Therefore, the flow of conversation may vary depending on the order in which slot values are mentioned and the DB search result corresponding to the slot value.

도 1은 본 발명의 실시 예에 따른 목적지향 대화 말뭉치를 확장하기 위한 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating an apparatus for expanding a destination-directed conversation corpus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시 예에 따른 목적지향 대화 말뭉치를 확장하기 위한 장치(100)는 컴퓨팅 장치일 수 있다.Referring to FIG. 1 , an apparatus 100 for expanding a destination-directed conversation corpus according to an embodiment of the present invention may be a computing device.

컴퓨팅 장치는, 예를 들면, 기본적으로 프로세서(101), 메모리(103), 저장소(105), 사용자 입출력 장치(도시하지 않음), 통신장치(도시하지 않음) 및 이들을 연결하는 시스템 버스(도시하지 않음) 등을 포함하도록 구성될 수 있다.A computing device includes, for example, a processor 101, a memory 103, a storage 105, a user input/output device (not shown), a communication device (not shown), and a system bus (not shown) connecting them. not), and the like.

또한 컴퓨팅 장치는 프로세서(110)에 의해 제어 또는 실행되는 모듈들을 더 포함하도록 구성될 수 있으며, 모듈들은, 예를 들면, 도 1에 도시된 바와 같이, 기존 대화 말뭉치에 없는 개체(DB 개체)에 대한 대화를 생성한다.In addition, the computing device may be configured to further include modules controlled or executed by the processor 110 , and the modules are, for example, as shown in FIG. 1 , to an entity (DB entity) that is not in the existing conversation corpus. create a conversation about

이를 위해, 목적지향 대화 말뭉치('기존 목적지향 대화 말뭉치' 또는 '기존 대화 말뭉치')를 확장하기 위한 장치(100)는 대화 이력 분석부(110), 개체 후보 선정부(120) 및 발화 생성부(130)를 포함한다.To this end, the apparatus 100 for extending the destination-directed conversation corpus ('existing destination-directed conversation corpus' or 'existing conversation corpus') includes a conversation history analysis unit 110 , an object candidate selection unit 120 , and a utterance generation unit. (130).

각 구성(110, 120, 130)은 소프트웨어 모듈, 하드웨어 모듈 및 이들의 조합으로 구성된 것일 수 있으며, 각 모듈이 소프트웨어 모듈인 경우, 이들은 메모리(103)에 상주하여, 프로세서(101)의 제어 또는 프로세서(101)로부터 입력되는 명령어에 따라 실행되도록 프로그래밍된 알고리즘일 수 있다. 각 모듈이 하드웨어 모듈인 경우, 이들은 프로세서(101)에 내장된 회로 로직으로 구현된 것일 수 있다.Each of the components 110 , 120 , and 130 may be composed of a software module, a hardware module, and a combination thereof, and when each module is a software module, they reside in the memory 103 and are controlled by the processor 101 or the processor It may be an algorithm programmed to be executed according to an instruction input from 101 . When each module is a hardware module, they may be implemented with circuit logic built into the processor 101 .

이하, 각 구성에 대해 상세히 설명하기로 한다.Hereinafter, each configuration will be described in detail.

대화 이력 분석부(110)Conversation history analysis unit 110

대화 이력 분석부(110)는 슬롯과 슬롯값으로 태깅된 태깅 발화(이하, '기존 태깅 발화'라 함)로 구성된 기존 대화 말뭉치를 분석하여, 상기 기존 태깅 발화에 대한 대화 이력을 나타내는 데이터를 분석 결과로서 출력한다. The conversation history analysis unit 110 analyzes an existing conversation corpus composed of a slot and a tagged utterance tagged with a slot value (hereinafter, referred to as 'existing tagged utterance'), and analyzes data representing a conversation history for the existing tagged utterance. output as a result.

대화 이력을 나타내는 데이터는 상기 기존 태깅 발화에 포함된 슬롯 조합(슬롯들의 조합)을 나타내는 데이터 및 상기 슬롯 조합을 키워드로 이용하여 데이터베이스(105a)로부터 검색된 DB 검색 결과의 유형(이하, 'DB 검색 결과 유형'이라 함)을 나타내는 데이터를 포함한다. 여기서, 데이터베이스(105a)는 전술한 바와 같이, 기존 대화 말뭉치의 도메인과 동일한 도메인의 검색 조건을 나타내는 슬롯을 필드로 하고, 상기 슬롯에 해당하는 개체의 속성값을 레코드로 하는 구조를 갖는 것일 수 있다.The data representing the conversation history includes data representing the slot combination (combination of slots) included in the existing tagged utterance and the type of DB search result retrieved from the database 105a using the slot combination as a keyword (hereinafter, 'DB search result') It contains data representing the type'). Here, as described above, the database 105a may have a structure in which a slot indicating a search condition of the same domain as the domain of the existing conversation corpus is used as a field, and an attribute value of an entity corresponding to the slot is recorded as a record. .

아래의 표 4는 기존 태깅 발화, 대화 이력을 구성하는 슬롯 조합과 그에 해당하는 DB 검색 결과 유형의 예를 나타내는 것이다.Table 4 below shows an example of the slot combinations constituting the existing tagged utterances and conversation history and the DB search result types corresponding thereto.

발화자(턴)Talker (turn) 기존 태깅 발화conventional tagging utterances 대화 이력conversation history 슬롯 조합slot combinations DB검색 결과 유형DB search result type 사용자 (1)User (1) <지역=강남>에 <음식-비빔밥>집 찾고 있어요.I'm looking for a <Food-Bibimbap> house in <Region=Gangnam>. (지역, 음식)(local, food) 다수many 시스템 (1)system (1) 총 <개체=4> 곳이 있어요.There are a total of <object=4> places. 사용자 (2)user (2) <가격대=만원 아래>인 집이 있나요?Do you have a house with <price=under 10,000 won>? (지역, 음식, 가격대)(region, food, price range) 실패failure 시스템 (2)system (2) 없습니다. 다른 조건으로 찾아주세요.There is not. Please look for other conditions. 사용자 (3)user (3) <가격대=만원대>도 좋아요.<Price = 10,000 won> is also good. (지역 음식, 가격대)(local food, price range) 유일only 시스템 (3)system (3) 찾으시는 조건에 맞는 음식점 <이름=A>가 있습니다.There is a restaurant <name=A> that meets the criteria you are looking for.

위의 표 4와 같이, DB 검색 결과 유형은, 예를 들면, '다수', '유일', '실패' 등으로 구분될 수 있다. DB 검색 결과 유형이 '실패'인 경우, "찾으시는 조건을 만족하는 식당이 없습니다. 다른 조건을 말씀해주시겠어요?" 등과 같은 DB 검색 결과 유형으로부터 대화 이력을 분석할 수 있다.As shown in Table 4 above, the DB search result type may be classified into, for example, 'many', 'unique', 'failure', and the like. If the DB search result type is 'Failed', "There is no restaurant that satisfies the criteria you are looking for. Could you tell me about another criteria?" Conversation history can be analyzed from DB search result types such as

DB 검색 결과 유형이 '다수'인 경우, "찾으시는 조건에 맞는 N개의 식당이 있습니다. 위치는 어디가 좋으세요?" 등 DB 검색 결과 유형으로부터 대화의 흐름(대화 이력)을 분석할 수 있다.If the DB search result type is 'many', "There are N restaurants that match your criteria. Where is the best location?" You can analyze the flow of conversation (conversation history) from the DB search result type, such as.

개체 후보 선정부(120)Object candidate selection unit 120

개체 후보 선정부(120)는, 프로세서(101)의 제어에 따라, 매턴 별로 저장된 슬롯 조합과 DB 검색 결과 유형을 조건으로 만족하는 슬롯값들(슬롯값 후보)에 대응하는 개체들을 데이터베이스(105a)로부터 검색하고, 검색된 개체들을 개체 후보로 선정한다.The object candidate selector 120 selects, under the control of the processor 101, objects corresponding to slot values (slot value candidates) satisfying the slot combinations stored for each turn and the DB search result type as conditions in the database 105a. , and the searched objects are selected as object candidates.

아래의 표 5는 슬롯값 후보와 개체 후보의 예를 나타내는 것이다.Table 5 below shows examples of slot value candidates and entity candidates.

조건Condition 슬롯값 후보slot value candidate 개체 후보object candidate 비고note Query(지역)

Figure pat00001
다수Query (region)
Figure pat00001
many 지역: {월평, 둔산}Area: {Wolpyeong, Dunsan} 둔산분식당, 둔산중식당1, 둔산중식당2Dunsan Bun Restaurant, Dunsan Chinese Restaurant 1, Dunsan Chinese Restaurant 2 "지역=월평"으로 다수의 식당이 검색되지 않아 후보군에서 제외Excluded from candidate group because many restaurants were not found with "region = Wolpyeong" Query(음식)
Figure pat00002
유일
Query (food)
Figure pat00002
only
음식: {분식, 한식, 중식}Food: {Sweets, Korean, Chinese} 둔산분식당Dunsan Bun Restaurant 남은 개체 후보군에 대해 "음식=중식"으로 다수의 식당이 검색되어 제외For the remaining candidate group, a large number of restaurants were searched for "food = Chinese food" and excluded

위의 표 5의 예에서, 기존 태깅 발화가 데이터베이스(105a)로부터 검색된 개체들을 포함하도록 대체 및 확장할 때, 대체 가능한 개체 후보는 "둔산분식당"임을 보여준다.In the example of Table 5 above, when the existing tagging utterance is replaced and expanded to include the objects retrieved from the database 105a, it is shown that the substitutable object candidate is "Dunsan Bunsikdang".

발화 생성부(130)Speech generator 130

발화 생성부(130)는 개체 후보 선정부(120)에 의해 선정된 개체 후보군을 기반으로 새로운 대화를 생성하고, 생성된 새로운 대화를 확장된 대화 말뭉치로 구성한다.The utterance generating unit 130 generates a new dialogue based on the candidate entity group selected by the entity candidate selection unit 120 , and configures the generated new dialogue into an expanded dialogue corpus.

확장된 대화 말뭉치로 구성하기 위해, 발화 생성부(130)는, 우선, 기존 대화 말뭉치에 포함된 기존 태깅 발화로부터 탈어휘 발화를 생성하는 과정을 수행한다. 여기서, 기존 태깅 발화로부터 탈어휘 발화를 생성하는 과정은 슬롯과 슬롯값의 쌍으로 태깅된 기존 태깅 발화에서 슬롯값을 제거하는 과정일 수 있다.In order to configure the expanded conversation corpus, the utterance generation unit 130 first performs a process of generating a de-vocabulary utterance from the existing tagging utterances included in the existing conversation corpus. Here, the process of generating a lexical utterance from the existing tagged utterance may be a process of removing a slot value from the existing tagged utterance tagged as a pair of a slot and a slot value.

아래의 표 6은 기존 태깅 발화와 이로부터 생성된 탈어휘 발화의 예를 보여주는 것이다.Table 6 below shows examples of existing tagging utterances and de-vocabulary utterances generated therefrom.

기존 태깅 발화conventional tagging utterances 탈어휘 발화out-of-vocabulary speech <지역=강남>에서 식당을 찾고 있어요.I am looking for a restaurant in <Region = Gangnam>. <지역>에서 식당을 찾고 있어요.I am looking for a restaurant in <region>. 원하시는 음식 있으세요?Do you have any food you want? 원하시는 음식 있으세요?Do you have any food you want? <음식=비빔밥>이 먹고 싶어요.I want to eat <food = bibimbap>. <음식>이 먹고 싶어요.I want to eat <food>. <음식=비빔밥>을 파는 곳으로는 <상호명=A>이 있어요.A place that sells <food = bibimbap> is <trade name = A>. <음식>을 파는 곳으로는 <상호명>이 있어요.A place that sells <food> is <trade name>.

위의 표 6의 일예에서 "<지역=강남>에서 식당을 찾고 있어요."라는 기존 태깅 발화의 경우, 슬롯값에 해당하는 <강남>을 제거하여 "<지역>에서 식당을 찾고 있어요."라는 탈어휘 발화가 생성된다.In the example of Table 6 above, in the case of the existing tagging utterance "I am looking for a restaurant in <region=Gangnam>", by removing <Gangnam> corresponding to the slot value, "I am looking for a restaurant in <region>." A lexical utterance is generated.

위의 표 6의 다른 예에서, "<음식=비빔밥>을 파는 곳으로는 <상호명=A>이 있어요."와 같은 기존 태깅 발화의 경우, 슬롯값에 해당하는 <강남>과 <A>를 제거하여 "<음식>을 파는 곳으로는 <상호명>이 있어요."라는 탈어휘 발화가 생성된다.In the other example of Table 6 above, in the case of the existing tagging utterances such as “There is a place that sells <food = bibimbap>, there is <trade name = A>.” By removing it, a de-vocabulary utterance is created, "There is a <trade name> for a place that sells <food>."

이처럼 탈어휘 발화가 생성되면, 발화 생성부(130)는 벡터 기반의 클러스터링(vector-based clustering) 기법을 이용하여 상기 생성된 탈어휘 발화로부터 유사한 탈어휘 발화를 추출(생성)한다. 여기서, 벡터 기반 클러스터링 기법은, 여러가지의 문장들을 군집화시켜서 특정 하나의 문장이 다른 문장들 간의 유사도를 측정하는데 널리 사용되는 공지 기술로, 의미 기반 클러스터링 방법, 화행 기반 클러스터링 방법, 언어 생성 모델을 활용한 의역 방법 등을 예로 들 수 있으며, 이에 대한 상세한 설명은 공지 기술로 대신한다.As such, when the evasive utterance is generated, the utterance generation unit 130 extracts (generates) similar evasive utterances from the generated divergence utterance by using a vector-based clustering technique. Here, the vector-based clustering technique is a well-known technique widely used to measure the similarity between sentences in one specific sentence by clustering various sentences. A paraphrase method and the like may be exemplified, and detailed descriptions thereof are replaced with known techniques.

아래의 표 7은 탈어휘 발화와 이 탈어휘 발화의 문장 의미와 유사한 유사 탈어휘 발화의 예를 보여주는 것이다.Table 7 below shows examples of lexical utterances and similar lexical utterances similar to the sentence meanings of these lexical utterances.

탈어휘 발화out-of-vocabulary speech 유사 탈어휘 발화pseudo-lexical utterances <지역>에서 식당을 찾고 있어요.I am looking for a restaurant in <region>. <지역>에 맛집 있나요?Are there any restaurants in <region>? 원하시는 음식 있으세요?Do you have any food you want? 어떤 음식을 찾고 계신가요?What food are you looking for? <음식>이 먹고 싶어요.I want to eat <food>. <음식> 파는 곳 있으면 좋겠어요.I wish there was a place that sells <food>. <음식>을 파는 곳으로는 <상호명>이 있어요.A place that sells <food> is <trade name>. <음식> 맛집으로는 <상호명>이 있어요.For <food> restaurants, there is <name>.

위의 표 7과 같이, 벡터 기반의 클러스터링 기법에 따라 탈어휘 발화로부터 추출된 유사 탈어휘 발화는 탈어휘 발화에 태깅된 슬롯과 동일한 슬롯으로 태깅되고, 동시에 탈어휘 발화와 유사한 의미를 갖는 것으로 정의할 수 있다.As shown in Table 7 above, analogous lexical utterances extracted from lexical utterances according to the vector-based clustering technique are tagged in the same slot as those tagged in lexical utterances, and are defined as having similar meanings to lexical utterances at the same time. can do.

이처럼 탈어휘 발화로부터 유사 탈어휘 발화가 추출되면, 발화 생성부(130)는 개체 후보 선정부(120)에 의해 선정된 개체들 중에서 임의로 추출한 개체의 속성값(또는 슬롯값)으로 유사 탈어휘 발화의 슬롯을 채우는 태깅 과정을 통해 확장된 탈어휘 발화를 생성하고, 이러한 확장된 탈어휘 발화를 확장된 대화 말뭉치로 구성하여 출력한다.As such, when the lexical derivational utterance is extracted from the lexical lexical utterance, the utterance generating unit 130 uses an attribute value (or a slot value) of an entity arbitrarily extracted from among the entities selected by the entity candidate selection unit 120 to generate the lexical lexical verbatim utterance. An extended out-of-vocabulary utterance is generated through a tagging process that fills the slot of

아래의 표 8은 유사 탈어휘 발화와 이 유사 탈어휘 발화로부터 생성된 확장된 탈어휘 발화의 예를 보여주는 것이다.Table 8 below shows examples of pseudo-devomic utterances and extended out-of-vocabulary utterances generated from these pseudo-devomic utterances.

유사 탈어휘 발화pseudo-lexical utterances 확장된 탈어휘 발화extended lexical utterances <지역>에 맛집 있나요?Are there any restaurants in <region>? <지역=둔산>에 맛집 있나요?Are there any restaurants in <Region=Dunsan>? 어떤 음식을 찾고 계신가요?What food are you looking for? 어떤 음식을 찾고 계신가요?What food are you looking for? <음식> 파는 곳 있으면 좋겠어요.I wish there was a place that sells <food>. <음식=분식> 파는 곳 있으면 좋겠어요.I wish there was a place that sells <food = snack>. <음식> 맛집으로는 <상호명>이 있어요.For <food> restaurants, there is <name>. <음식=분식> 맛집으로는 <상호명=둔산분식당>이 있어요.<Food=Bunsik> There is <Name=Dunsan Bunsikdang> as a restaurant.

도 2는 본 발명의 실시 예에 따른 목적지향 대화 말뭉치를 확장하기 위한 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method for expanding a destination-directed conversation corpus according to an embodiment of the present invention.

도 2를 참조하면, 먼저, 단계 S210에서, 대화 이력 분석부(110)에 의해, 슬롯과 슬롯값으로 태깅된 기존 태깅 발화로 구성된 기존 대화 말뭉치를 분석하여, 상기 기존 태깅 발화에 대한 대화 이력을 생성하는 과정이 수행된다. 여기서, 대화 이력은 슬롯 조합과 DB 검색 결과 유형을 포함한다. Referring to FIG. 2 , first, in step S210, the conversation history analysis unit 110 analyzes the existing conversation corpus composed of the existing tagged utterances tagged with slots and slot values to obtain the conversation history for the existing tagged utterances. The creation process is carried out. Here, the conversation history includes a slot combination and a DB search result type.

이어, 단계 S220에서, 개체 후보 선정부(120)에 의해, 상기 기존 대화 말뭉치의 도메인과 동일한 도메인에 속하는 개체들로 이루어진 데이터베이스로부터 검색된 상기 대화 이력에 대응하는 개체들을 개체 후보로 선정하는 과정이 수행된다.Next, in step S220, a process of selecting, as object candidates, objects corresponding to the conversation history retrieved from a database consisting of objects belonging to the same domain as the domain of the existing conversation corpus by the object candidate selection unit 120 is performed do.

이어, 단계 S230에서, 발화 생성부(130)에 의해, 기존 태깅 발화에서 상기 슬롯값을 제거하여 탈어휘 발화를 생성하는 과정이 수행된다. Next, in step S230 , a process of generating a lexical utterance by removing the slot value from the existing tagged utterance is performed by the utterance generating unit 130 .

이어, 단계 S240에서, 발화 생성부(130)에 의해, 클러스터링 기법을 이용하여 상기 생성된 탈어휘 발화로부터 상기 생성된 탈어휘 발화의 문장 의미와 유사한 유사 탈어휘 발화를 생성하는 과정이 수행된다.Next, in step S240 , a process of generating, by the utterance generation unit 130 , a similar derivational utterance similar to the sentence meaning of the generated devlexical utterance from the generated devlexical utterance by using the clustering technique is performed.

이어, 단계 S250에서, 발화 생성부(130)에 의해, 상기 유사 탈어휘 발화에 포함된 상기 슬롯에 상기 개체 후보로 선정된 개체의 속성값을 나타내는 새로운 슬롯값(개체 후보의 속성을 나타내는 후보 슬롯값)을 채우는 방식으로 상기 유사 탈어휘 발화로부터 확장된 탈어휘 발화를 생성하는 과정이 수행된다.Next, in step S250, a new slot value indicating the attribute value of the entity selected as the entity candidate (candidate slot indicating the attribute of the entity candidate) in the slot included in the pseudo-de-vocabulary utterance by the utterance generating unit 130 value), a process of generating an extended out-of-vocabulary utterance from the pseudo-devomic utterance is performed.

이어, 단계 S260에서, 발화 생성부(130)에 의해, 상기 확장된 탈어휘 발화를 확장된 대화 말뭉치로 구성하는 과정이 수행된다.Next, in step S260 , a process of configuring the expanded lexical utterance into an expanded dialogue corpus is performed by the utterance generator 130 .

도 3은 본 발명의 목적지향 대화 말뭉치를 확장하기 위한 방법을 적용할 수 있는 예시적인 컴퓨팅 디바이스를 도시한 도면이다.3 is a diagram illustrating an exemplary computing device to which the method for expanding the destination-directed conversation corpus of the present invention can be applied.

도 3을 참조하면, 본 발명의 목적지향 대화 말뭉치를 확장하기 위한 방법을 적용할 수 있는 컴퓨팅 디바이스(500)는 본 명세서에서 논의된 것과 같은 다양한 절차를 수행하는데 사용될 수 있다. Referring to FIG. 3 , a computing device 500 to which the method for expanding the destination-directed conversation corpus of the present invention may be applied may be used to perform various procedures as discussed herein.

컴퓨팅 디바이스(500)는 데스크탑 컴퓨터, 노트북 컴퓨터, 서버 컴퓨터, 휴대형 컴퓨터, 태블릿 컴퓨터, 등과 같은 다양한 컴퓨팅 디바이스 중 임의의 것일 수 있다.Computing device 500 may be any of a variety of computing devices, such as desktop computers, notebook computers, server computers, portable computers, tablet computers, and the like.

컴퓨팅 디바이스(500)는 하나 이상의 프로세서(CPU, GPU)(402), 하나 이상의 메모리 디바이스(들)(404), 하나 이상의 인터페이스(들)(406), 하나 이상의 대용량 저장 디바이스(들)(408), 하나 이상의 입/출력(I/O) 디바이스(들)(410), 및 디스플레이 디바이스(430)를 포함하고, 이들 모두는 버스(412)에 접속된다. Computing device 500 includes one or more processors (CPU, GPU) 402 , one or more memory device(s) 404 , one or more interface(s) 406 , one or more mass storage device(s) 408 . , one or more input/output (I/O) device(s) 410 , and a display device 430 , all connected to bus 412 .

프로세서(들)(402)는 메모리 디바이스(들)(404) 및/또는 대용량 저장 디바이스(들)(408)에 저장된 명령을 실행하는 하나 이상의 프로세서 또는 제어기를 포함한다. 프로세서(들)(402)는 또한 캐시 메모리와 같은 다양한 유형의 컴퓨터-판독가능 매체를 포함할 수 있다.Processor(s) 402 includes one or more processors or controllers that execute instructions stored in memory device(s) 404 and/or mass storage device(s) 408 . Processor(s) 402 may also include various types of computer-readable media, such as cache memory.

메모리 디바이스(들)(404)는 휘발성 메모리(예를 들어, 랜덤 액세스 메모리(RAM)(414)) 및/또는 비휘발성 메모리(예를 들어, 판독-전용 메모리(ROM)(416))와 같은 다양한 컴퓨터-판독가능 매체를 포함한다. 메모리 디바이스(들)(404)는 또한 플래시 메모리와 같은 재기록 가능 ROM을 포함할 수 있다.Memory device(s) 404 may include volatile memory (eg, random access memory (RAM) 414 ) and/or non-volatile memory (eg, read-only memory (ROM) 416 ). a variety of computer-readable media. Memory device(s) 404 may also include rewritable ROM, such as flash memory.

대용량 저장 디바이스(들)(408)는 자기 테이프, 자기 디스크, 광 디스크, 고체-상태 메모리(예: 플래시 메모리) 등과 같은 다양한 컴퓨터 판독가능 매체를 포함한다. 도 4에 도시된 바와 같이, 특정 대용량 저장 디바이스는 하드 디스크 드라이브(424)이다. 다양한 드라이브는 또한 다양한 컴퓨터 판독 가능 매체로부터 판독 및/또는 컴퓨터 판독 가능 매체에 기록을 가능하게 하기 위해 대용량 저장 디바이스(들)(408)에 포함될 수 있다. 대용량 저장 디바이스(들)(408)는 탈착 가능 저장 장치(426) 및/또는 고정식 매체를 포함한다.Mass storage device(s) 408 include various computer-readable media such as magnetic tape, magnetic disks, optical disks, solid-state memory (eg, flash memory), and the like. As shown in FIG. 4 , a particular mass storage device is a hard disk drive 424 . Various drives may also be included in mass storage device(s) 408 to enable reading from and/or writing to various computer readable media. Mass storage device(s) 408 include removable storage 426 and/or non-removable media.

입/출력(I/O) 디바이스(들)(410)는 데이터 및/또는 다른 정보가 컴퓨팅 디바이스([0035] 400)에 입력되거나 컴퓨터 디바이스(400)로부터 검색되게 하는 다양한 디바이스를 포함한다. 예시적인 I/O 디바이스(들)(410)는 커서 제어 디바이스, 키보드, 키패드, 마이크, 모니터 또는 다른 디스플레이 디바이스, 스피커, 프린터, 네트워크 인터페이스 카드, 모뎀, 렌즈, CCD 또는 다른 이미지 캡쳐 디바이스, 등을 포함한다.Input/output (I/O) device(s) 410 include various devices that allow data and/or other information to be input to or retrieved from computing device 400 . Exemplary I/O device(s) 410 include a cursor control device, keyboard, keypad, microphone, monitor or other display device, speaker, printer, network interface card, modem, lens, CCD or other image capture device, etc. include

디스플레이 디바이스(430)는 컴퓨팅 디바이스(400)의 하나 이상의 사용자에게 정보를 디스플레이할 수 있는 임의의 유형의 디바이스를 포함한다. 디스플레이 디바이스(430)의 예는 모니터, 디스플레이 터미널, 비디오 프로젝션 디바이스, 등을 포함한다.Display device 430 includes any type of device capable of displaying information to one or more users of computing device 400 . Examples of display devices 430 include monitors, display terminals, video projection devices, and the like.

그래픽-처리 유닛(GPU)(432)은 프로세서(들)(402) 및/또는 디스플레이 디바이스(430)에 접속될 수 있다. GPU는 컴퓨터 생성 이미지를 렌더링하고 다른 그래픽 처리를 수행하도록 동작할 수 있다. A graphics-processing unit (GPU) 432 may be coupled to the processor(s) 402 and/or the display device 430 . The GPU may be operable to render computer-generated images and perform other graphics processing.

GPU는 프로세서(들)(402)와 같은 범용 프로세서의 기능의 일부 또는 모두를 포함할 수 있다. GPU는 또한 그래픽 처리에 특정된 추가 기능을 포함할 수 있다. GPU는 좌표 변환, 음영, 텍스처링, 래스터화 및 컴퓨터 생성 이미지 렌더링에 유용한 다른 기능과 관련된 하드-코딩 및/또는 하드-와이어 그래픽 기능을 포함할 수 있다.A GPU may include some or all of the functionality of a general purpose processor, such as processor(s) 402 . The GPU may also include additional functions specific to graphics processing. The GPU may include hard-coded and/or hard-wired graphics functions related to coordinate transformations, shading, texturing, rasterization, and other functions useful for rendering computer-generated images.

인터페이스(들)(406)는 컴퓨팅 디바이스(400)가 다른 시스템, 다른 디바이스 또는 다른 컴퓨팅 환경과 상호작용할 수 있게 하는 다양한 인터페이스를 포함한다. Interface(s) 406 include various interfaces that enable computing device 400 to interact with other systems, other devices, or other computing environments.

예시적인 인터페이스(들)(406)는 근거리 네트워크(LAN), 광역 네트워크 (WAN), 무선 네트워크 및 인터넷에 대한 인터페이스와 같은 임의의 수의 상이한 네트워크 인터페이스(420)를 포함한다. Exemplary interface(s) 406 include any number of different network interfaces 420 , such as interfaces to local area networks (LANs), wide area networks (WANs), wireless networks, and the Internet.

다른 인터페이스(들)는 사용자 인터페이스(418) 및 주변 디바이스 인터페이스(422)를 포함한다. Other interface(s) include user interface 418 and peripheral device interface 422 .

인터페이스(들)(406)는 또한 하나 이상의 사용자 인터페이스 요소(418)를 포함할 수 있다. 인터페이스(들)(406)는 또한 프린터, 포인팅 디바이스(마우스, 트랙 패드, 등), 키보드, 등을 위한 인터페이스와 같은 하나 이상의 주변 인터페이스를 포함할 수 있다.Interface(s) 406 may also include one or more user interface elements 418 . Interface(s) 406 may also include one or more peripheral interfaces, such as interfaces for printers, pointing devices (mouse, trackpad, etc.), keyboards, and the like.

버스(412)는 프로세서(들)(402), 메모리 디바이스(들)(404), 인터페이스(들)(406), 대용량 저장 디바이스(들)(408), 및 I/O 디바이스(들)(410)가 서로 통신하도록, 뿐만 아니라 버스(412)에 접속된 다른 디바이스 또는 구성요소와 통신하도록 허용한다. Bus 412 includes processor(s) 402 , memory device(s) 404 , interface(s) 406 , mass storage device(s) 408 , and I/O device(s) 410 . ) to communicate with each other, as well as other devices or components connected to the bus 412 .

버스(412)는 시스템 버스, PCI 버스, IEEE 1394 버스, USB 버스 등과 같은 여러 유형의 버스 구조 중 하나 이상을 나타낸다.Bus 412 represents one or more of several types of bus structures, such as a system bus, a PCI bus, an IEEE 1394 bus, a USB bus, and the like.

설명을 위해, 프로그램 및 다른 실행 가능한 프로그램 구성 요소가 본 명세서에서 개별적인 블록으로 도시되었지만, 그러한 프로그램 및 구성 요소는 컴퓨팅 디바이스(400)의 상이한 저장 구성 요소에 다양한 시간에 상주할 수 있고, 프로세서(들)(402)에 의해 실행됨이 이해된다. 대안적으로, 여기에 설명된 시스템 및 절차는 하드웨어, 또는 하드웨어로, 또는 하드웨어, 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 예를 들어, 하나 이상의 주문형 집적 회로(ASICs)는 본 명세서에 기술된 하나 이상의 시스템 및 절차를 수행하도록 프로그래밍 될 수 있다.For purposes of illustration, although programs and other executable program components are shown as separate blocks herein, such programs and components may reside at various times in different storage components of computing device 400 , and the processor(s) ) 402 . Alternatively, the systems and procedures described herein may be implemented in hardware, or hardware, or a combination of hardware, software and/or firmware. For example, one or more application specific integrated circuits (ASICs) may be programmed to perform one or more systems and procedures described herein.

이제까지 본 발명을 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양하게 변경 또는 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명을 위한 예시적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at focusing on examples. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in variously changed or modified forms without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments are to be considered in terms of illustrative rather than restrictive views. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

Claims (1)

슬롯과 슬롯값으로 태깅된 기존 태깅 발화로 구성된 기존 대화 말뭉치를 분석하여, 상기 기존 태깅 발화에 대한 대화 이력을 생성하는 단계;
상기 기존 대화 말뭉치의 도메인과 동일한 도메인에 속하는 개체들로 이루어진 데이터베이스를 검색하여, 상기 생성된 대화 이력에 대응하는 개체들을 개체 후보로 선정하는 단계;
기존 태깅 발화에서 상기 슬롯값을 제거하여 탈어휘 발화를 생성하는 단계;
클러스터링 기법을 이용하여 상기 생성된 탈어휘 발화로부터 상기 생성된 탈어휘 발화의 문장 의미와 유사한 유사 탈어휘 발화를 생성하는 단계;
상기 유사 탈어휘 발화에 포함된 상기 슬롯을 상기 개체 후보로 선정된 개체의 속성값을 나타내는 후보 슬롯값으로 채우는 방식으로 상기 유사 탈어휘 발화로부터 확장된 탈어휘 발화를 생성하는 단계; 및
상기 확장된 탈어휘 발화를 확장된 대화 말뭉치로 구성하는 단계
를 포함하는 목적지향 대화 말뭉치를 확장하기 위한 방법.
analyzing an existing conversation corpus composed of a slot and an existing tagged utterance tagged with a slot value, and generating a conversation history for the existing tagged utterance;
searching a database including entities belonging to the same domain as the domain of the existing conversation corpus, and selecting entities corresponding to the generated conversation history as entity candidates;
generating a lexical utterance by removing the slot value from an existing tagging utterance;
generating a similar derivational utterance similar to a sentence meaning of the generated divergence utterance from the generated divergence utterance by using a clustering technique;
generating an extended evasive utterance from the lexical derivational utterance in such a way that the slot included in the lexical lexical utterance is filled with a candidate slot value indicating an attribute value of the entity selected as the entity candidate; and
Constructing the extended lexical utterance into an extended dialogue corpus
A method for expanding a destination-directed conversation corpus comprising:
KR1020200152127A 2020-11-13 2020-11-13 Method and apparatus for expanding a task-oriented dialogue corpus KR20220065523A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200152127A KR20220065523A (en) 2020-11-13 2020-11-13 Method and apparatus for expanding a task-oriented dialogue corpus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200152127A KR20220065523A (en) 2020-11-13 2020-11-13 Method and apparatus for expanding a task-oriented dialogue corpus

Publications (1)

Publication Number Publication Date
KR20220065523A true KR20220065523A (en) 2022-05-20

Family

ID=81798465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200152127A KR20220065523A (en) 2020-11-13 2020-11-13 Method and apparatus for expanding a task-oriented dialogue corpus

Country Status (1)

Country Link
KR (1) KR20220065523A (en)

Similar Documents

Publication Publication Date Title
KR102117160B1 (en) A text processing method and device based on ambiguous entity words
EP3549069B1 (en) Neural network data entry system
JP5257071B2 (en) Similarity calculation device and information retrieval device
JP7323504B2 (en) METHOD, APPARATUS, ELECTRONIC DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM FOR GENERATION OF MEETINGS
US20180203847A1 (en) Tone optimization for digital content
JP6361351B2 (en) Method, program and computing system for ranking spoken words
US10380154B2 (en) Information retrieval using structured resources for paraphrase resolution
JP2017162190A (en) Similar document search program, similar document search device, and similar document search method
US11423093B2 (en) Inter-document attention mechanism
CN114861889B (en) Deep learning model training method, target object detection method and device
KR20210041546A (en) Method and apparatus for determining causality, electronic device and storage medium
CN110909539A (en) Word generation method, system, computer device and storage medium of corpus
US11526259B2 (en) Method and apparatus for determining extended reading content, device and storage medium
US20170011068A1 (en) Extrapolative Search Techniques
US11429792B2 (en) Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model
US20160171092A1 (en) Framework for Annotated-Text Search using Indexed Parallel Fields
US20210012217A1 (en) Leveraging entity relations to discover answers using a knowledge graph
JP2020060970A (en) Context information generation method, context information generation device and context information generation program
US20230119161A1 (en) Efficient Index Lookup Using Language-Agnostic Vectors and Context Vectors
CN116484829A (en) Method and apparatus for information processing
KR20220065523A (en) Method and apparatus for expanding a task-oriented dialogue corpus
US10373060B2 (en) Answer scoring by using structured resources to generate paraphrases
US11170010B2 (en) Methods and systems for iterative alias extraction
CN116501841B (en) Fuzzy query method, system and storage medium for data model
US20220092260A1 (en) Information output apparatus, question generation apparatus, and non-transitory computer readable medium