WO2020080771A1 - 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법 - Google Patents

변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
WO2020080771A1
WO2020080771A1 PCT/KR2019/013443 KR2019013443W WO2020080771A1 WO 2020080771 A1 WO2020080771 A1 WO 2020080771A1 KR 2019013443 W KR2019013443 W KR 2019013443W WO 2020080771 A1 WO2020080771 A1 WO 2020080771A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
speech
domain
utterance
server
Prior art date
Application number
PCT/KR2019/013443
Other languages
English (en)
French (fr)
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 US17/279,284 priority Critical patent/US20220051661A1/en
Publication of WO2020080771A1 publication Critical patent/WO2020080771A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/72Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for transmitting results of 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
    • 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/08Learning methods

Definitions

  • Embodiments disclosed in this document relate to a technique for providing a modified speech text corresponding to a training speech text.
  • electronic devices can support various input methods such as voice input.
  • electronic devices such as smartphones and tablets may recognize a user's voice input while the voice recognition service is executed, perform an operation corresponding to the voice input, or provide a search result.
  • the technology for processing natural language is a technology that grasps the intention of a user's speech and provides the user with a result in accordance with the intention.
  • the server providing the speech recognition service is trained based on a set of training speech texts written manually by the developer.
  • the developer creates a representative utterance and creates a training utterance text set by generating an application utterance for the representative utterance. Therefore, the training effect by the training speech text set depends on the developer's ability.
  • Various embodiments of the present invention are to propose a method for generating an additional modified speech text set in a server for training a speech recognition service based on a training speech text set or an actual user speech.
  • various embodiments of the present invention are intended to propose a method for providing a generated set of modified speech text to a developer or user.
  • An operation method of an electronic device communicating with a server includes an operation of receiving a domain and a category, transmitting the domain and the category to the server, and the domain and the category from the server Receiving a modified speech text corresponding to, and the operation of displaying the modified speech text, wherein the modified speech text is generated through a generation model or a transfer learning model based on user speech data previously stored in the server.
  • the user's speech data is stored by converting the voice data transmitted to the server by an external electronic device that receives the user's speech into text.
  • an operation method of an electronic device communicating with a server includes an operation of receiving a domain and a category, an operation of receiving a domain and a set of training speech text corresponding to the category, and the domain And transmitting the category and the training speech text set to the server, receiving a variation speech text set corresponding to the training speech text set from the server, and displaying the variation speech text set.
  • the modified speech text set is generated through a generation model or a transfer learning model based on user speech data pre-stored in the server, and the user speech data is voice data transmitted to the server by an external electronic device that receives a user speech.
  • the server turns into text And stores.
  • an operation method of an electronic device communicating with a server includes an operation of receiving a domain and a category, an operation of receiving a domain and a set of training speech text corresponding to the category, and the domain , Transmitting the category and the training speech text set to the server, receiving a modified speech text set corresponding to the training speech text set from the server, and the training speech text based on the modified speech text set And displaying a plurality of second parameters corresponding to the first parameter included in the set.
  • a modified speech text set may be generated based on user speech data accumulated in the past.
  • a modified speech text set may be generated based on a generation model or a transfer learning model.
  • a modified speech text set may be generated based on user characteristics.
  • a natural language understanding module of the server may be trained based on the generated set of modified speech texts.
  • FIG. 1 is a block diagram illustrating an integrated intelligence system according to an embodiment.
  • FIG. 2 is a diagram illustrating a form in which relationship information between a concept and an action is stored in a database according to an embodiment.
  • FIG. 3 is a diagram illustrating a user terminal displaying a screen for processing a voice input received through an intelligent app, according to an embodiment.
  • FIG. 4 is a block diagram showing an intelligent server generating a modified speech text set according to an embodiment.
  • FIG. 5 is a block diagram showing an embodiment of the parameter collection module of FIG. 4.
  • FIG. 6 is a flowchart illustrating an operation method of an intelligent server in a natural language understanding training mode according to an embodiment.
  • FIG. 7 is a flowchart illustrating an example of a method of generating a modified speech text set in operation 650 of FIG. 6.
  • FIG. 8 is a flowchart illustrating another example of a method of generating a modified speech text set in operation 650 of FIG. 6.
  • FIG. 9 is a flowchart illustrating an operation method of an intelligent server in a speech recommendation mode according to an embodiment.
  • FIG. 10A is a diagram illustrating a method in which a modified speech text is recommended according to a category of an input domain when training speech text is input through a speech input device according to an embodiment.
  • FIG. 10B is a diagram illustrating a method in which a modified speech text is recommended according to an intention of a user speech example input when training speech text is input through a speech input device according to an embodiment.
  • FIG. 10C is a diagram illustrating a method in which a modified utterance text is recommended according to a keyword included in an input user utterance example when the training utterance text is input through the utterance input device according to an embodiment.
  • FIG. 11 is a diagram illustrating a method of recommending a modified speech text to a user when a user speaks according to an embodiment.
  • FIG. 12 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure.
  • FIG. 1 is a block diagram illustrating an integrated intelligence system according to an embodiment.
  • an integrated intelligent system may include a user terminal 100, an intelligent server 200, and a service server 300.
  • the user terminal 100 may be a terminal device (or electronic device) that can be connected to the Internet, for example, a mobile phone, a smartphone, a personal digital assistant (PDA), a laptop computer, a TV, or a white appliance. It may be a wearable device, an HMD, or a smart speaker.
  • the user terminal 100 may include a communication interface 110, a microphone 120, a speaker 130, a display 140, a memory 150, or a processor 160.
  • the components listed above can be operatively or electrically connected to each other.
  • the communication interface 110 of one embodiment may be configured to be connected to an external device to transmit and receive data.
  • the microphone 120 of one embodiment may receive a sound (eg, user speech) and convert it into an electrical signal.
  • the speaker 130 of one embodiment may output an electrical signal as sound (eg, voice).
  • the display 140 of one embodiment may be configured to display an image or video.
  • the display 140 of one embodiment may also display a graphical user interface (GUI) of an app (or application program) to be executed.
  • GUI graphical user interface
  • the memory 150 of one embodiment may store a client module 151, a software development kit (SDK) 153, and a plurality of apps 155.
  • the client module 151 and the SDK 153 may constitute a framework (or solution program) for performing general-purpose functions. Also, the client module 151 or the SDK 153 may constitute a framework for processing voice input.
  • the plurality of apps 155 of an embodiment may be a program for performing a designated function.
  • the plurality of apps 155 may include a first app 155_1 and a second app 155_2.
  • each of the plurality of apps 155 may include a plurality of operations for performing a designated function.
  • the plurality of apps 155 may include an alarm app, a message app, and / or a schedule app.
  • the plurality of apps 155 may be executed by the processor 160 to sequentially execute at least some of the plurality of operations.
  • the processor 160 of one embodiment may control the overall operation of the user terminal 100.
  • the processor 160 may be electrically connected to the communication interface 110, the microphone 120, the speaker 130, and the display 140 to perform a designated operation.
  • the processor 160 of one embodiment may also execute a program stored in the memory 150 to perform a designated function.
  • the processor 160 may execute at least one of the client module 151 or the SDK 153 to perform the following operations for processing voice input.
  • the processor 160 may control the operations of the plurality of apps 155 through, for example, the SDK 153.
  • the following operations described as operations of the client module 151 or the SDK 153 may be operations performed by the processor 160.
  • the client module 151 of one embodiment may receive a voice input.
  • the client module 151 may receive a voice signal corresponding to a user's speech detected through the microphone 120.
  • the client module 151 may transmit the received voice input to the intelligent server 200.
  • the client module 151 may transmit status information of the user terminal 100 to the intelligent server 200 together with the received voice input.
  • the status information may be, for example, execution status information of the app.
  • the client module 151 of one embodiment may receive a result corresponding to the received voice input. For example, when the intelligent server 200 can calculate a result corresponding to the received voice input, the client module 151 may receive a result corresponding to the received voice input. The client module 151 may display the received result on the display 140.
  • the client module 151 of one embodiment may receive a plan corresponding to the received voice input.
  • the client module 151 may display a result of executing a plurality of operations of the app according to the plan on the display 140.
  • the client module 151 may sequentially display, for example, execution results of a plurality of operations on a display.
  • the user terminal 100 may display only some results (for example, results of the last operation) performed by a plurality of operations on the display.
  • the client module 151 may receive a request for obtaining information necessary for calculating a result corresponding to a voice input from the intelligent server 200. According to an embodiment, the client module 151 may transmit the required information to the intelligent server 200 in response to the request.
  • the client module 151 of one embodiment may transmit information to the intelligent server 200 as a result of executing a plurality of operations according to the plan.
  • the intelligent server 200 may confirm that the received voice input is correctly processed using the result information.
  • the client module 151 of one embodiment may include a speech recognition module. According to one embodiment, the client module 151 may recognize a voice input performing a limited function through the voice recognition module. For example, the client module 151 may perform an intelligent app for processing a voice input for performing an organic operation through a designated input (for example, wake up!).
  • the intelligent server 200 may receive information related to user voice input from the user terminal 100 through a communication network. According to an embodiment, the intelligent server 200 may change data related to the received voice input into text data. According to one embodiment, the intelligent server 200 may generate a plan for performing a task corresponding to a user voice input based on the text data.
  • the plan may be generated by an artificial intelligent (AI) system.
  • the artificial intelligence system may be a rule-based system, a neural network-based system (eg, a feedforward neural network (FNN)), a recurrent neural network (RNN) ))). Or, it may be a combination of the above or another artificial intelligence system.
  • the plan may be selected from a predefined set of plans, or may be generated in real time in response to a user request. For example, the artificial intelligence system may select at least one plan among a plurality of predefined plans.
  • the intelligent server 200 may transmit the result according to the generated plan to the user terminal 100 or the generated plan to the user terminal 100.
  • the user terminal 100 may display the result according to the plan on the display.
  • the user terminal 100 may display the result of executing the operation according to the plan on the display.
  • the intelligent server 200 includes a front end 210, a natural language platform 220, a capsule DB 230, an execution engine 240, It may include an end user interface (end user interface) 250, a management platform (management platform) 260, a big data platform (big data platform) 270, or an analysis platform (analytic platform) 280.
  • end user interface end user interface
  • management platform management platform
  • big data platform big data platform
  • analysis platform analytic platform
  • the front end 210 of one embodiment may receive the voice input received from the user terminal 100.
  • the front end 210 may transmit a response corresponding to the voice input.
  • the natural language platform 220 includes an automatic speech recognition module (ASR module) 221, a natural language understanding module (NLU module) 223, and a planner module ( It may include a planner module (225), a natural language generator module (NLG module) 227 or a text to speech module (TTS module) 229.
  • ASR module automatic speech recognition module
  • NLU module natural language understanding module
  • TTS module text to speech module
  • the automatic speech recognition module 221 of one embodiment may convert speech input received from the user terminal 100 into text data.
  • the natural language understanding module 223 of one embodiment may grasp the user's intention using text data of voice input.
  • the natural language understanding module 223 may grasp a user's intention by performing a syntactic analysis or semantic analysis.
  • the natural language understanding module 223 of one embodiment uses the morpheme or the linguistic features of the phrase (eg, grammatical elements) to understand the meaning of the word extracted from the speech input, and matches the meaning of the identified word to the intention of the user Intent can be determined.
  • the planner module 225 of one embodiment may generate a plan using intentions and parameters determined by the natural language understanding module 223. According to an embodiment, the planner module 225 may determine a plurality of domains required to perform a task based on the determined intention. The planner module 225 may determine a plurality of operations included in each of the plurality of domains determined based on the intention. According to an embodiment, the planner module 225 may determine a parameter required to execute the determined plurality of operations or a result value output by executing the plurality of operations. The parameter and the result value may be defined as a concept of a designated format (or class). Accordingly, the plan may include a plurality of operations determined by the user's intention, and a plurality of concepts.
  • the planner module 225 may determine the relationship between the plurality of operations and the plurality of concepts in a stepwise (or hierarchical) manner. For example, the planner module 225 may determine an execution order of a plurality of operations determined based on a user's intention based on a plurality of concepts. In other words, the planner module 225 may determine an execution order of a plurality of operations based on parameters required for execution of the plurality of operations and a result output by the execution of the plurality of operations. Accordingly, the planner module 225 may generate a plan including a plurality of operations and association information (eg, ontology) between the plurality of concepts. The planner module 225 may generate a plan using information stored in the capsule database 230 in which a set of relations between concepts and actions is stored.
  • the natural language generation module 227 of one embodiment may change the designated information in the form of text.
  • the information changed to the text form may be in the form of natural language speech.
  • the text-to-speech module 229 may change text-type information into voice-type information.
  • the capsule database 230 may store information on a relationship between a plurality of concepts and operations corresponding to a plurality of domains.
  • the capsule may include a plurality of action objects (action objects or action information) and concept objects (concept objects or concept information) included in the plan.
  • the capsule database 230 may store a plurality of capsules in the form of a concept action network (CAN).
  • CAN concept action network
  • a plurality of capsules may be stored in a function registry included in the capsule database 230.
  • the capsule database 230 may include a strategy registry in which strategy information necessary for determining a plan corresponding to voice input is stored.
  • the strategy information may include reference information for determining one plan when there are multiple plans corresponding to voice input.
  • the capsule database 230 may include a follow up registry in which information of a subsequent operation for suggesting a subsequent operation to a user in a specified situation is stored.
  • the subsequent operation may include, for example, a subsequent utterance.
  • the capsule database 230 may include a layout registry that stores layout information of information output through the user terminal 100.
  • the capsule database 230 may include a vocabulary registry in which vocabulary information included in capsule information is stored.
  • the capsule database 230 may include a dialogue registry in which dialogue (or interaction) information with a user is stored.
  • the capsule database 230 may update an object stored through a developer tool.
  • the developer tool may include, for example, a function editor for updating a motion object or a concept object.
  • the developer tool may include a vocabulary editor for updating the vocabulary.
  • the developer tool may include a strategy editor for generating and registering a strategy for determining a plan.
  • the developer tool may include a dialog editor that creates a conversation with the user.
  • the developer tool may include a follow up editor capable of activating a follow-on goal and editing a follow-up utterance that provides hints.
  • the following targets may be determined based on currently set targets, user preferences, or environmental conditions.
  • the capsule database 230 may be implemented in the user terminal 100.
  • the execution engine 240 of one embodiment may calculate a result using the generated plan.
  • the end user interface 250 may transmit the calculated result to the user terminal 100. Accordingly, the user terminal 100 may receive the result and provide the received result to the user.
  • the management platform 260 of one embodiment may manage information used in the intelligent server 200.
  • the big data platform 270 of one embodiment may collect user data.
  • the analysis platform 280 of one embodiment may manage quality of service (QoS) of the intelligent server 200. For example, the analysis platform 280 may manage the components and processing speed (or efficiency) of the intelligent server 200.
  • QoS quality of service
  • the service server 300 may provide a service (eg, food order or hotel reservation) designated to the user terminal 100.
  • the service server 300 may be a server operated by a third party.
  • the service server 300 may provide information for generating a plan corresponding to the received voice input to the intelligent server 200.
  • the provided information may be stored in the capsule database 230.
  • the service server 300 may provide result information according to the plan to the intelligent server 200.
  • the user terminal 100 may provide various intelligent services to the user in response to user input.
  • the user input may include, for example, input through a physical button, touch input, or voice input.
  • the user terminal 100 may provide a voice recognition service through an intelligent app (or voice recognition app) stored therein.
  • the user terminal 100 may recognize a user's utterance or voice input received through the microphone, and provide a service corresponding to the recognized voice input to the user. .
  • the user terminal 100 may perform a designated operation alone or together with the intelligent server and / or service server based on the received voice input. For example, the user terminal 100 may execute an app corresponding to the received voice input, and perform a designated operation through the executed app.
  • the user terminal 100 when the user terminal 100 provides a service with the intelligent server 200 and / or a service server, the user terminal detects a user's utterance using the microphone 120 and the A signal (or voice data) corresponding to the sensed user speech may be generated. The user terminal may transmit the voice data to the intelligent server 200 using the communication interface 110.
  • the intelligent server 200 is a response to the voice input received from the user terminal 100, a plan for performing a task corresponding to the voice input, or performing an operation according to the plan Can produce results.
  • the plan may include, for example, a plurality of operations for performing a task corresponding to a user's voice input, and a plurality of concepts related to the plurality of operations.
  • the concept may be defined as a parameter input to execution of the plurality of operations or a result value output by execution of the plurality of operations.
  • the plan may include information related to a plurality of operations and a plurality of concepts.
  • the user terminal 100 may receive the response using the communication interface 110.
  • the user terminal 100 outputs the voice signal generated inside the user terminal 100 using the speaker 130 to the outside, or uses the display 140 to externally generate the image generated inside the user terminal 100. Can be output as
  • FIG. 2 is a diagram illustrating a form in which relationship information between a concept and an operation is stored in a database according to various embodiments of the present disclosure.
  • the capsule database (eg, capsule database 230) of the intelligent server 200 may store capsules in the form of a concept action network (CAN).
  • the capsule database may store an operation for processing a task corresponding to a user's voice input, and parameters required for the operation in a concept action network (CAN) form.
  • the capsule database may store a plurality of capsules (capsule (A) 401, capsule (B) 404) corresponding to each of a plurality of domains (eg, applications).
  • one capsule eg, capsule (A) 401
  • one domain eg, location, application
  • at least one service provider eg, CP 1 402 or CP 2 403
  • one capsule may include at least one operation 410 and at least one concept 420 for performing a designated function.
  • the natural language platform 220 may generate a plan for performing a task corresponding to the received voice input using the capsule stored in the capsule database.
  • the planner module 225 of the natural language platform may generate a plan using capsules stored in the capsule database.
  • plan 407 is created using actions 4011 and 4013 and concepts 4012 and 4014 of capsule A 410 and actions 4041 and concept 4042 of capsule B 404. can do.
  • FIG. 3 is a diagram illustrating a screen in which a user terminal processes voice input received through an intelligent app according to various embodiments of the present disclosure.
  • the user terminal 100 may run an intelligent app to process user input through the intelligent server 200.
  • the user terminal 100 when the user terminal 100 recognizes a designated voice input (eg, wake up! Or receives an input through a hardware key (eg, a dedicated hardware key), processes the voice input.
  • a hardware key eg, a dedicated hardware key
  • the user terminal 100 may, for example, execute an intelligent app while the schedule app is running.
  • the user terminal 100 may display an object (eg, icon) 311 corresponding to the intelligent app on the display 140.
  • the user terminal 100 may receive a voice input by user speech. For example, the user terminal 100 may receive a voice input "Please tell me about this week!.
  • the user terminal 100 may display a UI (user interface) 313 (eg, an input window) of an intelligent app in which text data of the received voice input is displayed on the display.
  • UI user interface
  • the user terminal 100 may display a result corresponding to the received voice input on the display.
  • the user terminal 100 may receive a plan corresponding to the received user input, and display the 'this week schedule' on the display according to the plan.
  • FIG. 4 is a block diagram showing an intelligent server generating a modified speech text set according to an embodiment.
  • description of components that overlap with those described in the above-described drawings may be omitted.
  • the intelligent server 200 generates at least a part of the configuration described in FIG. 1 (eg, an automatic speech recognition module 221 and a natural language understanding module 223), a parameter collection module 291, and variant speech generation It may include a module 292, first and second modified speech recommendation modules 293 and 294, and a natural language understanding (NLU) training module 295.
  • an automatic speech recognition module 221 and a natural language understanding module 223 e.g., a parameter collection module 291, and variant speech generation It may include a module 292, first and second modified speech recommendation modules 293 and 294, and a natural language understanding (NLU) training module 295.
  • NLU natural language understanding
  • the intelligent server 200 may include at least one communication circuit, memory, and processor.
  • the communication circuit forms a communication channel with at least one of at least one external electronic device (eg, a developer terminal 500 or a user terminal 100), and transmits and receives data to and from the external electronic device through the communication channel.
  • the memory may store various data, commands, algorithms, engines, etc. related to driving the intelligent server 200.
  • the processor executes the instructions stored in the memory to collect a parameter collection module 291, a modified speech generation module 292, first and second modified speech recommendation modules 293, 294, and a natural language understanding (NLU) training module 295. ) Can be driven.
  • the intelligent server 200 may transmit and receive data (or information) with an external electronic device (eg, the user terminal 100 and the developer terminal 500) through the communication circuit.
  • the user terminal 100 may receive a user's speech as a user input and transmit a user input (eg, voice data) to the automatic speech recognition module 221.
  • the automatic speech recognition module 221 may convert user input received from the user terminal 100 into user spoken text.
  • the user utterance text may be transmitted to the modified utterance generation module 292 through the natural language understanding module 223 and the parameter collection module 291.
  • the modified speech generation module 292 may generate a modified speech text set corresponding to the user speech text.
  • the variant speech text set may include a plurality of variant speech texts.
  • the user terminal 100 may be configured the same or similar to the user terminal 100 of FIG. 1.
  • the developer terminal 500 may transmit a set of training speech texts for training the natural language understanding module 223 to the modified speech generation module 292 and the NLU (natural language understanding) training module 295.
  • a set of training speech texts can be written by the developer.
  • the developer terminal 500 may include an utterance input device.
  • the developer inputs a representative utterance text (for example, utterances predicted to be frequently used by users in each service) using a utterance input device, and inputs the application utterance text corresponding to the representative utterance text according to the domain, intention, and parameters to the developer terminal 500 ).
  • the developer terminal 500 may store a set of training speech texts including representative speech texts and application speech texts. For example, a set of training speech texts can be manually entered by the developer.
  • the training speech text set may include a plurality of training speech texts written by a developer.
  • the variant speech generation module 292 may generate a variant speech text set corresponding to the training speech text set received from the developer terminal 500.
  • the developer terminal 500 may be configured the same or similar to the user terminal 100 of FIG. 1.
  • the developer may input training speech information (eg, domain information, category information, user speech example information, and intention information) for generating a training speech text set through the speech input device.
  • the developer terminal 500 may transmit training speech information to the modified speech generation module 292.
  • the modified speech generation module 292 may generate a modified speech text set based on training speech information received from the developer terminal 500.
  • the intelligent server 200 may operate in a natural language understanding training mode (or function) for training the natural language understanding module 223 by receiving a training speech text set.
  • the NLU (natural language understanding) training module 295 may train the natural language understanding module 223 based on the training speech text set.
  • the training speech text set is manually generated by the developer, the performance of the training method based on the training speech text set may depend on the ability of the developer.
  • the intelligent server 200 may train the natural language understanding module 223 by generating additional speech text to improve training performance.
  • the modified speech generation module 292 may receive a training speech text set (or training speech information) to generate an additional modified speech text set.
  • the NLU (natural language understanding) training module 295 may additionally train the natural language understanding module 223 based on the modified speech text set.
  • the natural language understanding module 223 may be trained using the training speech text set and the modified speech text set, and the training effect of the natural language understanding module 223 may be improved compared to a situation in which training is performed only with the training speech text set.
  • the intelligent server 200 may operate in a speech recommendation mode (or function) that provides a modified speech text set to a developer or inventor based on a training speech text set or a user speech text.
  • a speech recommendation mode or function
  • the variant speech generation module 292 may generate a variant speech text set corresponding to the training speech text set (or training speech information) when receiving a training speech text set (or training speech information). have.
  • the generated modified speech text set may be transmitted to the first modified speech recommendation module 293.
  • the first modified speech recommendation module 293 may transmit the modified speech text set generated by the developer terminal 500.
  • Developers can create a new set of training utterance text by utilizing the variant utterance text set. For example, the developer may input training utterance information (eg, domain information, category information, user utterance example information, and intention information) through the utterance input device executed in the developer terminal 500, and the utterance input device may input training A training speech text set may be generated based on speech information.
  • training utterance information eg, domain information, category information, user utterance example information, and intention information
  • the speech input device may provide a modified speech text set to a developer in the process of receiving training speech information.
  • the developer may input more various user utterance examples by referring to the provided set of utterance utterance texts, and the utterance input unit may generate a new set of training utterance texts by adding newly entered user utterance examples to the previously stored training utterance examples.
  • the developer terminal 500 transmits a new set of training speech texts to the intelligent server 200, and the NLU (natural language understanding) training module 295 utilizes the new training speech text set for training training of the natural language understanding module 223. Can be improved.
  • NLU natural language understanding
  • the user's speech when a user's speech is input to the user terminal 100, the user's speech is converted into user speech text through the automatic speech recognition module 221 and the natural language understanding module 223, and the modified speech generation module 292 ) May generate a set of modified spoken text corresponding to the user spoken text when receiving the user spoken text.
  • the generated variant speech text set may be transmitted to the second variant speech recommendation module 294.
  • the second modified speech recommendation module 294 may transmit the modified speech text set generated by the user terminal 100.
  • the user terminal 100 may provide a modified speech text set when a user speech is input.
  • the user's utterance text initially recognized by the user terminal 100 does not match the user's intention, the user has utterance text similar to (or familiar to the user's) utterance pattern (for example, a set of variant utterance text) Can be recommended.
  • the user terminal 100 is a user's utterance (eg, “close the phone”), but is not a representative utterance (eg, “end call”), a utterance text similar to the user utterance pattern (user-friendly) (eg, “Turn off the phone”) ”) Can be recommended.
  • the utterance patterns frequently used by the user and the utterance patterns well processed in the natural language understanding module 223 may be different. Therefore, user speech that the natural language understanding module 223 cannot process may occur.
  • the set of deformed utterance texts generated by the deformed utterance generation module 292 may supplement a portion that the natural language understanding module 223 cannot process.
  • the modified speech generation module 292 may generate a modified speech text set based on various criteria in a natural language understanding training mode or a speech recommendation mode.
  • the variant speech generation module 292 may generate a variant speech text set based on a user's speech.
  • user speech data in which user input that has been input in the past is converted into text may be stored in the natural language recognition database through the natural language understanding module 223.
  • the parameter collection module 291 may generate user speech classification information by receiving user speech data from a natural language recognition database.
  • User utterance classification information may include domain information, intent information, and parameter information for user utterance data.
  • the variant utterance generation module 292 may receive user utterance classification information from the parameter collection module 291 and generate a variant utterance text set for each domain or by intention based on the user utterance classification information.
  • the modified speech generation module 292 may generate a modified speech text set when the number of training speech texts included in the training speech text set received in the natural language understanding training mode is smaller than the reference speech number. If the number of training speech texts included in the training speech text set is less than the reference speech count, the training effect of the natural language understanding module 223 may be reduced, and thus an additional modified speech text set may be required.
  • the variant speech generation module 292 may generate a variant speech text set based on a generation model or a transfer learning model.
  • the generation model may include GAN (Generative Adversarial Networks), VAE (Variational Autoencoder), DNN (Deep Neural Network), and the like
  • the transfer learning model may include Style-transfer.
  • the modified utterance generation module 292 may include a generation module and an inspection module.
  • the generation module and the inspection module may implement a generation model.
  • the generation module may generate candidate speech text using user speech data.
  • the inspection module may compare whether the candidate speech text is similar to the reference speech text (eg, training speech text set or user speech text). When the candidate spoken text and the reference spoken text are similar (eg, when the similarity is equal to or greater than a specified ratio), the inspection module may select candidate spoken text similar to the reference spoken text as a set of modified spoken text.
  • the generation module and the inspection module may generate various sets of modified utterance text similar to the reference utterance text by repeating the generation and examination while setting at least one of the domain, intent, and parameters differently.
  • the modified speech generation module 292 may determine a domain (eg, a first domain) of the reference speech text.
  • the modified utterance generation module 292 may determine a second domain similar to the first domain.
  • the modified speech generation module 292 may generate a modified speech text set for training the natural language understanding module 223 for the first domain in the second domain.
  • a second domain similar to the first domain may be determined based on a category. For example, if the category of the first domain (eg Pizza Hut app) is “pizza delivery”, the second domain (eg Domino Pizza app) is a domain within the category “Pizza Delivery” (eg Domino Pizza app). , Mr Pizza app).
  • a second domain similar to the first domain may be determined based on an intent. For example, when the intention of the first domain (eg, the message app) is “send text”, the second domain (eg, the KakaoTalk app) has domains intended to “send the text” (eg, the KakaoTalk app). , Line app).
  • the modified speech generation module 292 may generate a modified speech text set through transfer learning. For example, the modified speech generation module 292 may generate a modified speech text set for the first domain using a speech pattern used in the second domain, not used in the first domain. The modified speech generation module 292 may generate a modified speech text set for the first domain by transferring the intent used in the second domain to the first domain.
  • the modified speech generation module 292 may generate a modified speech text set based on user characteristics.
  • the parameter collection module 291 may receive user speech data from the natural language understanding module 223.
  • the parameter collection module 291 may change user utterance data to a form used in the modified utterance generation module 292 by performing pre-processing (noise removal, sample utterance extraction, and processing of at least one of associated utterance selection).
  • the parameter collection module 291 may generate pre-processed user utterance data to generate information about user characteristics (eg, age, region, gender) (hereinafter, user characteristic information).
  • user characteristic information may include information on terms that are frequently used according to age, region, or gender. The user can use different terms (eg, “please”, “haejusam”, haejuseom ”) for the same meaning according to user characteristics.
  • the parameter collection module 291 may extract a frequently used utterance pattern according to age, region, and gender based on user characteristic information.
  • user utterance patterns based on user characteristics include utterance patterns frequently used by 20s, utterance patterns frequently used by 40s, utterance patterns frequently used in Busan, utterance patterns frequently used in Jeju Island, and utterances frequently used by men Patterns and utterance patterns frequently used by women.
  • the modified speech generation module 291 may generate a modified speech text set based on the user speech pattern. For example, the modified utterance generation module 291 may compare the number of user utterance patterns and the number of reference patterns. When the number of specific user speech patterns is greater than the number of reference patterns, it means that the specific user speech patterns are frequently used by users. Accordingly, the modified speech generation module 291 may use a specific user speech pattern to generate additional sets of modified speech text.
  • the number of reference patterns may be determined based on the amount of ignition.
  • the number of reference patterns may be determined according to the utterance complexity. For example, speech complexity may be proportional to the number of parameters (or slots) included in the user speech. In the case of a complex user utterance (eg, a user utterance having a large number of parameters (or slots) included in the user utterance), the reference pattern count may be set low.
  • the modified speech generation module 292 may generate a modified speech text set through transfer learning based on user characteristic information. For example, the modified utterance generation module 292 may generate a modified utterance text set for the first domain frequently used by the thirties by using the utterance pattern used in the second domain that is frequently used by teenagers. have.
  • the intelligent server 200 generates a variety of modified speech text sets in response to the training speech text set received from the developer terminal 500 or the user input received from the user terminal 100. can do.
  • the intelligent server 200 may train the natural language understanding module 223 using the generated set of modified speech texts.
  • the intelligent server 200 may transmit the generated modified speech text set to the developer terminal for use by the developer to create the training speech text set.
  • the intelligent server 200 may transmit the generated modified speech text set to the user terminal so that the user can easily select an operation corresponding to the user speech.
  • FIG. 5 is a block diagram showing an example of the parameter collection module of FIG. 4.
  • the parameter collection module 291 may include a pre-processing module 2911 and a user utterance classification module 2912.
  • the pre-processing module 2911 may include a noise removal module 2911a, a sampling module 2911b, and an associated speech selection module 2911c.
  • the user speech data received from the natural language understanding module 223 has a large amount of noise (eg, ambient noise included between the start and end of the user speech), and a large amount (eg, collected and accumulated or natural language understanding)
  • noise eg, ambient noise included between the start and end of the user speech
  • a large amount eg, collected and accumulated or natural language understanding
  • the number of user utterances stored in the module 223 is large, and it is not balanced (for example, classified by category or domain), and uncertainty (for example, the utterance or domain whose result is ambiguous by the natural language understanding module 223) It may have a feature that includes speech that is absent or cannot be understood by the natural language understanding module 223 (for example, there is a light black yesterday).
  • the pre-processing module 2911 may pre-process the user utterance data having the above characteristics and change it to a form used in the modified utterance generation module 292.
  • the noise removal module 2911a may remove noise using a filtering technique or an ensemble technique.
  • the sampling module 2911b may extract patterned sample speech from user speech data.
  • the sampling module 2911b extracts repeated sample utterances to reduce the amount of user utterance data.
  • the associated utterance selection module 2911c may remove user utterances that are not significantly related to the reference utterance text (eg, training utterance text set or user utterance text) from the user utterance data. That is, the associated utterance selection module 2911c may select a user utterance having a high relevance to the reference utterance text.
  • the user speech classification module 2912 may receive preprocessed user speech data from the preprocessing module 2911.
  • the user utterance classification module 2912 may generate user utterance classification information based on the preprocessed user utterance data, and transmit the preprocessed user utterance data and the user utterance classification information to the modified utterance generation module 292.
  • the user speech classification module 2912 may receive the current user speech text from the natural language understanding module 223.
  • the user speech classification module 2912 may transmit the current user speech text to the variant speech generation module 292.
  • FIG. 6 is a flowchart illustrating an operation method 600 of an intelligent server in a natural language understanding training mode according to an embodiment.
  • the operation method 600 of the intelligent server may be performed differently according to the number of training speech text sets included in the training speech text set in the natural language understanding training mode.
  • the intelligent server 200 may receive a training speech text set.
  • the modified speech generation module 292 may receive a training speech text set from the developer terminal 500.
  • the training speech text set may include a plurality of training speech text sets written by the developer.
  • the intelligent server 200 may compare the number of training speech text sets included in the training speech text set with a reference speech number. For example, if the number of training speech text sets included in the training speech text set is smaller than the reference speech number, the variation speech generation module 292 performs operations (operation 630 to operation 1150) of generating the variation speech text set. can do. When the number of training speech text sets included in the training speech text set is greater than or equal to the reference number of speeches, operation 1170 may be performed.
  • the intelligent server 200 sets the domain (eg, the first domain) of the training speech text set. Can decide.
  • the modified speech generation module 292 may determine the domain of the training speech text set using the natural language understanding module 223.
  • the intelligent server 200 may determine a second domain having a utterance pattern similar to the first domain.
  • the modified utterance generation module 292 may determine a second domain similar to the first domain based on a category. For example, when the category of the first domain (eg Pizza Hut App) is “pizza delivery business”, the second domain (eg Domino Pizza app) is within the domain of “Pizza Delivery” category (eg Domino Pizza App, Mr. Pizza app).
  • the modified utterance generation module 292 may determine a second domain similar to the first domain based on the intent.
  • the second domain eg, the KakaoTalk app
  • the second domain has domains intended to “send the text” (eg, the KakaoTalk app). , Line app).
  • the intelligent server 200 may generate a modified speech text set to be applied to the first domain based on a user speech pattern used in the second domain.
  • the parameter collection module 291 may receive user speech data from the natural language understanding module 223.
  • the parameter collection module 291 may change the user speech data to a form used in the modified speech generation module 292 by pre-processing (noise removal, sample speech extraction, and associated speech selection).
  • the parameter collection module 291 may generate user utterance classification information based on the preprocessed user utterance data, and transmit the preprocessed user utterance data and user utterance classification information to the modified utterance generation module 292.
  • the modified speech generation module 292 may extract a user speech pattern used in the second domain based on the user speech classification information.
  • the modified speech generation module 292 may generate a modified speech text set to be applied to the first domain using the extracted user speech pattern.
  • the variant speech text set may include a plurality of variant speech text sets.
  • the intelligent server 200 may train the natural language understanding module 223 for the first domain based on the received training speech text set and the generated modified speech text set.
  • the NLU (natural language understanding) training module 295 may receive a training speech text set from the developer terminal 500.
  • the NLU (natural language understanding) training module 295 may train the natural language understanding module 223 based on the training speech text set.
  • the NLU (Natural Language Understanding) training module 295 may receive a variant speech text set from the variant speech generation module 292.
  • the NLU (natural language understanding) training module 295 may additionally train the natural language understanding module 223 based on the modified speech text set. Therefore, the performance of the natural language understanding module 223 may be improved more than the case of training using only the training speech text set.
  • the intelligent server 200 may set the first domain based on the training speech text set.
  • the natural language understanding module 223 may be trained. For example, if the number of training speech text sets included in the training speech text set is greater than or equal to the reference number of speeches, a sufficient training speech text set may already exist for the first domain. In this case, the modified speech generation module 292 may not operate. Accordingly, the NLU (natural language understanding) training module 295 may receive the training speech text set from the developer terminal 500 to train the natural language understanding module 223.
  • FIG. 7 is a flowchart illustrating an example of a method of generating a modified speech text set in operation 650 of FIG. 6.
  • the method 700 of generating the modified speech text set of FIG. 7 may be performed by a generation model or a transfer learning model according to user speech classification information generated based on user speech data.
  • the parameter collection module 291 may receive user speech data.
  • the parameter collection module 291 may receive user speech data from the natural language understanding module 223.
  • the parameter collection module 291 may change the user speech data to a form used in the modified speech generation module 292 by pre-processing (noise removal, sample speech extraction, and associated speech selection).
  • the parameter collection module 291 may generate user speech classification information based on the user speech data. For example, the parameter collection module 291 may generate user utterance classification information based on the preprocessed user utterance data, and transmit the preprocessed user utterance data and user utterance classification information to the modified utterance generation module 292.
  • the modified speech generation module 292 may generate a modified speech text set by a generation model or a transfer learning model based on user speech classification information.
  • the modified speech generation module 292 may extract a user speech pattern used in the second domain based on the user speech classification information.
  • the modified speech generation module 292 may generate a modified speech text set to be applied to the first domain using the extracted user speech pattern.
  • the variant speech text set may include a plurality of variant speech text sets.
  • the plurality of modified speech text sets may be generated by a generation model or a transfer learning model based on intents and parameters used in the second domain.
  • FIG. 8 is a flowchart illustrating another example of a method of generating a modified speech text set in operation 650 of FIG. 6.
  • the method 800 of generating the modified speech text set of FIG. 8 may be performed according to the identified user characteristics based on the user speech data.
  • the parameter collection module 291 may receive user speech data.
  • the parameter collection module 291 may receive user speech data from the natural language understanding module 223.
  • the parameter collection module 291 may change the user speech data to a form used in the modified speech generation module 292 by pre-processing (noise removal, sample speech extraction, and associated speech selection).
  • the parameter collection module 291 may check user characteristics based on user speech data. For example, the parameter collection module 291 may generate pre-processed user utterance data to generate information about user characteristics (eg, age, region, gender) (hereinafter, user characteristic information).
  • the user characteristic information may include information on terms frequently used according to age, region, or gender. The user can use different terms (eg, “please”, “haejusam”, haejuseom ”) for the same meaning according to user characteristics.
  • the parameter collection module 291 may extract a user's speech pattern based on user characteristics.
  • the parameter collection module 291 may extract frequently used utterance patterns according to age, region, and gender based on user characteristic information.
  • user utterance patterns based on user characteristics include utterance patterns frequently used by 20s, utterance patterns frequently used by 40s, utterance patterns frequently used in Busan, utterance patterns frequently used in Jeju Island, and utterances frequently used by men Patterns and utterance patterns frequently used by women.
  • the modified speech generation module 291 may generate a modified speech text set based on the user speech pattern. For example, the modified speech generation module 291 may compare the number of reference patterns with the number of user speech patterns. When the number of specific user speech patterns is greater than the number of reference patterns, it means that the specific user speech patterns are frequently used by users. Accordingly, the modified speech generation module 291 may use a specific user speech pattern to generate additional sets of modified speech text.
  • the number of reference patterns may be determined based on the amount of ignition.
  • the number of reference patterns may be determined according to the utterance complexity. For example, in the case of a complex user speech, the reference pattern number of times may be set low.
  • the modified speech generation module 292 may generate a modified speech text set through transfer learning based on user characteristic information. For example, the modified utterance generation module 292 may generate a modified utterance text set for the first domain frequently used by the thirties by using the utterance pattern used in the second domain that is frequently used by teenagers. have.
  • FIG. 9 is a flowchart illustrating an operation method 900 of an intelligent server in a speech recommendation mode according to an embodiment.
  • the operation method 900 of the intelligent server may be performed in response to the training speech text set or the user speech text received in the speech recommendation mode.
  • the modified speech generation module 292 may receive a training speech text set or a user speech text.
  • the modified speech generation module 292 may receive a training speech text set from the developer terminal 500.
  • the training speech text set may include a plurality of training speech text sets written by the developer.
  • the modified speech generation module 292 may receive the user speech text from the natural language understanding module 223 through the parameter collection module 291.
  • the automatic speech recognition module 221 may convert user input (eg, user speech) received from the user terminal 100 into user speech text.
  • the modified speech generation module 292 may determine a training speech text set or a domain (first domain) of the user speech text. For example, the modified speech generation module 292 may determine the domain of the training speech text set or the user speech text using the natural language understanding module 223.
  • the modified utterance generation module 292 may determine a second domain having a utterance pattern similar to the first domain. For example, the modified utterance generation module 292 may determine a second domain similar to the first domain based on a category. For example, when the category of the first domain (eg Pizza Hut App) is “pizza delivery business”, the second domain (eg Domino Pizza app) is within the domain of “Pizza Delivery” category (eg Domino Pizza App, Mr. Pizza app). According to various embodiments, the modified utterance generation module 292 may determine a second domain similar to the first domain based on the intent.
  • the category of the first domain eg Pizza Hut App
  • the second domain eg Domino Pizza app
  • the modified utterance generation module 292 may determine a second domain similar to the first domain based on the intent.
  • the second domain eg, the KakaoTalk app
  • the second domain has domains intended to “send the text” (eg, the KakaoTalk app). , Line app).
  • the modified speech generation module 292 may generate a modified speech text set to be applied to the first domain based on a user speech pattern used in the second domain.
  • the parameter collection module 291 may receive user speech data from the natural language understanding module 223.
  • the parameter collection module 291 may change the user utterance data into a form used in the modified utterance generation module 292 by preprocessing (eg, processing at least one of noise removal, sample utterance extraction, and associated utterance selection).
  • the parameter collection module 291 may generate user utterance classification information based on the preprocessed user utterance data, and transmit the preprocessed user utterance data and user utterance classification information to the modified utterance generation module 292.
  • the modified speech generation module 292 may extract a user speech pattern used in the second domain based on the user speech classification information.
  • the modified speech generation module 292 may generate a modified speech text set to be applied to the first domain using the extracted user speech pattern.
  • the variant speech text set may include a plurality of variant speech text sets. For example, in operation 940, the modified speech generation module 292 may generate the modified speech text set through the modified speech text set generation method of FIG. 7 or the modified speech text set generation method of FIG. 8.
  • the intelligent server 200 may transmit the generated modified speech text set to the developer terminal or the user terminal.
  • the modified speech generation module 292 may transmit the set of modified speech texts to the first modified speech recommendation module 293 or the first modified speech recommendation module 293.
  • the variant speech generation module 292 may transmit the generated variant speech text set to the first variant speech recommendation module 293 when the training speech text set is received from the developer terminal 500.
  • the first modified speech recommendation module 293 may transmit the modified speech text set to the developer terminal 500.
  • the variant speech generation module 292 may transmit the generated variant speech text set to the second variant speech recommendation module 294 when the user speech text is received from the parameter collection module 291.
  • the second modified speech recommendation module 294 may transmit the modified speech text set to the user terminal 100.
  • FIG. 10A is a diagram illustrating a method in which a modified speech text is recommended according to a category of an input domain when training speech text is input through a speech input device according to an embodiment.
  • FIG. 10B is a diagram illustrating a method in which a modified speech text is recommended according to an intention of a user speech example input when training speech text is input through a speech input device according to an embodiment.
  • FIG. 10C is a diagram illustrating a method in which a modified utterance text is recommended according to a keyword included in an input user utterance example when the training utterance text is input through the utterance input device according to an embodiment.
  • the developer terminal may display the utterance input device 1000 on the screen.
  • the speech input device 1000 receives various items from a developer and trains speech to train a natural language understanding module (eg, a natural language understanding module 223 of FIG. 4) of an intelligent server (eg, the intelligent server 200 of FIG. 4). You can create a text set.
  • the intelligent server can train a natural language understanding module by receiving a set of training speech texts. Meanwhile, the speech input device 1000 may provide additional user speech (eg, modified speech text) in the process of inputting the various items.
  • the developer may input the domain item 1001, the category item 1002, the user utterance example item 1003, the intended item 1004, the action item 1005, the parameter item through the utterance input device 1000 ( 1006) and a response item 1007.
  • the speech input device 1000 may generate training speech text based on the input domain information, category information, user speech example information, intention information, operation information, parameter information, and response information.
  • the developer terminal may transmit at least one of input domain information, category information, user utterance example information, intention information, operation information, parameter information, and response information to the intelligent server. Further, the developer terminal may transmit the training speech text to the intelligent server. The intelligent server may generate a modified speech text set based on at least one of domain information, category information, user speech example information, intention information, operation information, parameter information, and response information. In addition, the intelligent server may generate a modified speech text set based on the training speech text.
  • the intelligent server may transmit a modified speech text set corresponding to at least one of domain information, category information, user speech example information, intention information, operation information, parameter information, and response information to the developer terminal.
  • the intelligent server may transmit a set of modified speech texts corresponding to the training speech text to the developer terminal.
  • the modified speech text set may be newly generated based on at least one of the previously generated and stored or received domain information, category information, user speech example information, intention information, operation information, parameter information, and response information, or a modified speech text set.
  • the modified speech text set can be generated by the method described in FIGS. 4 to 8.
  • the developer may input a domain (eg, Domino Pizza, Pizza Hut, Alarm, Calendar) in which the developer is in charge of development in the domain item 1001.
  • the developer may input a category to which the domain belongs to the category item 1002.
  • the domain is a service related to food ordering (eg, Domino Pizza, Pizza Hut, Yogiyo, Starbucks, BHC)
  • the developer may enter “food order” in the category item 1002.
  • the category item 1002 may be directly input by a developer or may be selected from among pre-entered candidates.
  • the developer may input a user utterance example (eg, representative utterance text or application utterance text) expected to be used by the user in the user utterance example item 1003.
  • the developer may input a plurality of user utterance examples having a similar shape (eg, menu recommendation, menu recommendation, menu recommendation, menu recommendation) to the user utterance example item 1003.
  • a plurality of user utterance examples entered in the user utterance example item 1003 may be recognized by the intelligent server with the same intention (eg, the intention entered in the intent item 1004).
  • the developer may input an intention (eg, menu recommendation, message transmission) corresponding to the user's speech example in the intent item 1004.
  • the developer may input an operation corresponding to the intention (eg, a Domino Pizza app execution, a message app execution, and Wi-Fi on / off) in the action item 1005.
  • the developer may input contents (eg, place-Seoul, Gwangju, and Busan) of elements (eg, place, time, person) included in the user's speech example in the parameter item 1006.
  • the parameter item 1006 may be directly input by the developer or may be input based on data provided by the system (eg, the developer terminal 500 of FIG. 4 or the intelligent server 200).
  • the developer may input a response corresponding to the intention in the response item 1007 (for example, when the intention is “send message”, a result notification for an operation corresponding to the intention, such as “a message was sent”). have.
  • the utterance input device 1000 may display the recommended user utterance 1010a.
  • the developer terminal transmits the input domain information and category information to the intelligent server, and the domain information and A set of modified speech texts corresponding to category information may be received.
  • the utterance input device 1000 may display the received modified utterance text set on the recommended user utterance 1010a.
  • the utterance input device 1000 may display the recommended user utterance 1010a based on the received set of utterance utterance texts.
  • the recommended user speech 1010a is generated based on user speeches used in other domains (eg Pizza Hut, Starbucks, BHC) belonging to the same category as the input domain (eg Domino Pizza) (eg : "Recommend menu", "Please order pizza”, “Show delivery status”).
  • the developer may additionally create the user utterance example item 1003 with reference to the recommended user utterance 1010a.
  • the utterance input unit 1000 recommends the modified utterance (1020a) can be displayed.
  • the domain item 1001, the category item 1002, the user utterance example item 1003, and the intention item 1004 are input through the utterance input device 1000
  • the developer terminal inputs the domain information, category Information, user utterance example information and intention information may be transmitted to the intelligent server, and a modified utterance text set corresponding to domain information, category information, user utterance example information, and intention information may be received from the intelligent server.
  • the utterance input device 1000 may display the recommended variant utterance 1020a based on the received set of variant utterance texts.
  • the recommendation variation utterance 1020a may have a similar domain (eg, an intelligent server) with an intent similar to the input intention (eg, menu recommendation) (eg, an intention determined to be similar to the intention entered by the intelligent server). It is created based on user utterances used in domains that are determined to be similar to the domain entered by (eg, “Recommend new menu”, “Show popular menu”, “What is the most popular pizza these days”).
  • the developer may additionally create a user utterance example item 1003 with reference to the recommended modified utterance 1020a.
  • the utterance input device 1000 may display the recommended variant utterance 1020b based on the received variant utterance text set.
  • the recommended modified utterance 1020b may be generated by keyword included in the user utterance example (eg, “Send photos to Julie taking a trip to Everland”) (eg, Everland, Go to Play, Send).
  • the developer may additionally create a user utterance example item 1003 with reference to the recommended modified utterance 1020b.
  • the developer terminal may provide the recommended user speech 1010 or the recommended modified speech 1020 through the speech input device 1000. Accordingly, the developer may input additional user utterance examples based on the recommended user utterance 1010 or the recommended modified utterance 1020, and the utterance input unit 1000 may generate a more diverse set of training utterance texts.
  • the developer terminal 500 transmits a domain and a category to the intelligent server 200, and receives variant speech text (or set of variant speech texts) corresponding to the domain and category from the intelligent server 200.
  • the modified speech text (or the modified speech text set) may be generated through a generation model or a transfer learning model based on user speech data previously stored in the intelligent server 200.
  • the intelligent server 200 may convert voice data delivered by the user terminal receiving the user's speech to the intelligent server 200 into text and store it as user speech data.
  • the generation model includes Generative Adversarial Networks (GAN), Variant Autoencoder (VAE), and Deep Neural Network (DNN), and the transfer learning model may include a Style-transfer.
  • the developer terminal 500 transmits a domain, category, and user utterance example (eg, training utterance text or training utterance text set) to the intelligent server 200 and corresponds to a domain, category, and user utterance example To receive a modified speech text (or a modified speech text set).
  • a domain, category, and user utterance example eg, training utterance text or training utterance text set
  • the developer terminal 500 corresponds to one parameter (first parameter) included in the training speech text (or training speech text set) based on the received variation speech text (or variation speech text set). By doing so, a plurality of second parameters can be displayed. When one of the plurality of second parameters is selected, the developer terminal 500 may display a modified speech text (or a modified speech text set) including the selected parameter.
  • the intelligent server 200 sets the domain received from the developer terminal 500 as the first domain, and has a utterance pattern similar to the first domain within the category received from the developer terminal 500.
  • the second domain may be determined, and a modified speech text may be generated based on the speech pattern of the second domain.
  • the intelligent server 200 may determine a domain in which an intent similar to that used in the first domain is used as the second domain.
  • the intelligent server 200 may determine the intention of the training speech text (or training speech text included in the training speech text set), and determine a domain in which an intent similar to that of the training speech text is used as the second domain.
  • the intelligent server 200 determines parameters included in the training speech text (or training speech text set), and generates a modified speech text set using parameters of a second domain similar to the parameters. You can.
  • the intelligent server 200 may generate a variation speech text (or a variation speech text set).
  • the reference number of utterances may be set differently for each domain. In the case of a domain having a large number of training speech texts to be collected, the reference speech count may be set relatively large. In the case of domains having a small number of training speech texts to be collected, the reference speech count may be set relatively small.
  • the intelligent server 200 may generate a modified speech text based on user characteristics extracted from user speech data.
  • the intelligent server 200 may extract a user's speech pattern based on the user's characteristics, and generate a modified speech text based on the user's speech pattern when the number of user speech patterns is greater than the reference pattern number.
  • the reference pattern number of times may be determined based on the utterance amount of the user utterance pattern or the number of parameters included in the user utterance pattern.
  • user characteristics may include age, region, and gender.
  • the intelligent server 200 may generate user utterance classification information based on user utterance data, and generate modified utterance text based on user utterance classification information.
  • the user speech classification information may include domain information, degree of intention, and parameter information of user speeches included in the user speech data.
  • the intelligent server 200 removes noise from the user's speech data, extracts a patterned sample pattern from the user's speech data, and the meaning of the training speech text (or training speech text set) from the user speech data It can eliminate unrelated user speech.
  • FIG. 11 is a diagram illustrating a method of recommending a modified speech text to a user when a user speaks according to an embodiment.
  • a user terminal (eg, the user terminal 100 of FIG. 4) may receive a user speech 1101 and provide a modified speech text similar to the user speech 1101.
  • the user terminal may convert the user's utterance 1101 into utterance text 1111 and display it on the first screen 1110.
  • the user terminal may display the result view item 1112 on the first screen 1110.
  • the user terminal may display the searched result (eg, execution of a pass rule corresponding to the utterance text 1111) based on the utterance text 1111 on the display.
  • the user terminal may display the second screen 1120.
  • the user terminal may display the utterance text 1121 corresponding to the user's utterance 1101 on the second screen 1120, and display the modified utterance text 1122, 1123, 1124 based on the utterance text 1121.
  • the user terminal may transmit a user input (eg, voice data) corresponding to the user's utterance 1101 to an intelligent server (eg, the intelligent server 200 of FIG. 4).
  • the intelligent server may transmit the set of modified speech texts corresponding to the received user input to the user terminal.
  • the modified speech text set may be generated in advance and stored or newly generated based on the received user input.
  • the modified speech text set can be generated by the method described in FIGS. 4 to 8.
  • the user terminal may provide a modified speech recommendation item 1113 when the user speech 1101 is input.
  • the user terminal may provide the modified speech texts 1122, 1123, and 1124.
  • the user terminal can provide the spoken text similar to the user's spoken pattern.
  • the user terminal is a user utterance (for example, “close the phone”), but a utterance text similar to the user utterance pattern (user-friendly), not a representative utterance (for example, “End Call”), such as “Turn off the phone. Jusam ”) can be recommended.
  • the electronic device 1201 is a block diagram of an electronic device 1201 in a network environment 1200 according to various embodiments.
  • the electronic device 1201 eg, the user terminal 100
  • the electronic device 1202 communicates with the electronic device 1202 through the first network 1298 (eg, short-range wireless communication) or
  • the electronic device 1204 or the server 1208 eg, the intelligent server 200
  • the second network 1299 eg, remote wireless communication
  • the electronic device 1201 may communicate with the electronic device 1204 through the server 1208.
  • the electronic device 1201 includes a processor 1220 (eg, the processor 160), a memory 1230 (eg, the memory 150), an input device 1250 (eg, the microphone 120) ), Sound output device 1255 (e.g., speaker 130), display device 1260 (e.g., display 140), audio module 1270, sensor module 1276, interface 1277, haptic module 1279, a camera module 1280, a power management module 1288, a battery 1289, a communication module 1290, a subscriber identification module 1296, and an antenna module 1297.
  • the components eg, the display device 1260 or the camera module 1280
  • some components such as, for example, the sensor module 1276 embedded in the display device 1260 (eg, a display) (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) It can be integrated and implemented.
  • the processor 1220 may control, for example, at least one other component (eg, hardware or software configuration) of the electronic device 1201 connected to the processor 1220 by driving software (eg, the program 1240).
  • the processor 1220 loads instructions or data received from other components (eg, the sensor module 1276 or the communication module 1290) into the volatile memory 1232. And the result data can be stored in the non-volatile memory 1234.
  • the processor 1220 is operated by a main processor 1221 (eg, a central processing unit or an application processor), and independently of the processor 1220.
  • main processor 1221 uses less power than the main processor 1221, or a coprocessor 1223 specialized for a given function (e.g., graphics processing unit, image signal) Processor and may include a sensor hub processor, or communication processor).
  • a coprocessor 1223 specialized for a given function (e.g., graphics processing unit, image signal) Processor and may include a sensor hub processor, or communication processor).
  • the second processor 1223 may be, or are embedded separately from the main processor 1221 operate.
  • the coprocessor 1223 may, for example, replace the main processor 1221 while the main processor 1221 is in an inactive (eg, sleep) state, or the main processor 1221 may be active (eg, : While performing the application), along with the main processor 1221, at least one of the components of the electronic device 1201 (eg, the display device 1260, the sensor module 1276, or the communication module ( 1290)).
  • the coprocessor 1223 eg, an image signal processor or communication processor
  • is implemented as some component of another functionally related component eg, the camera module 1280 or the communication module 1290. Can be.
  • the memory 1230 includes various data used by at least one component of the electronic device 1201 (for example, the processor 1220 or the sensor module 1276), for example, software (eg, the program 1240). ), And input data or output data for a command related thereto.
  • the memory 1230 may include a volatile memory 1232 or a nonvolatile memory 1234.
  • the program 1240 is software stored in the memory 1230, and may include, for example, an operating system 1242, middleware 1244, or an application 1246.
  • the input device 1250 is a device for receiving commands or data to be used for components (eg, the processor 1220) of the electronic device 1201 from outside (eg, a user) of the electronic device 1201, for example
  • components eg, the processor 1220
  • the electronic device 1201 may include a microphone, mouse, or keyboard.
  • the audio output device 1255 is a device for outputting an audio signal to the outside of the electronic device 1201, for example, a speaker used for general purposes, such as multimedia playback or recording playback, and a receiver used only for receiving calls. It can contain. According to one embodiment, the receiver may be formed integrally or separately from the speaker.
  • the display device 1260 is a device for visually providing information to a user of the electronic device 1201, and may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device. According to an embodiment, the display device 1260 may include a touch circuitry or a pressure sensor capable of measuring the intensity of pressure on the touch.
  • the audio module 1270 may convert sound and electric signals in both directions. According to an embodiment of the present disclosure, the audio module 1270 acquires sound through the input device 1250, or an external electronic device connected to the sound output device 1255 or the electronic device 1201 by wire or wireless (for example: Sound may be output through the electronic device 1202 (eg, a speaker or headphones).
  • the audio module 1270 acquires sound through the input device 1250, or an external electronic device connected to the sound output device 1255 or the electronic device 1201 by wire or wireless (for example: Sound may be output through the electronic device 1202 (eg, a speaker or headphones).
  • the sensor module 1276 may generate an electrical signal or data value corresponding to an internal operating state (eg, power or temperature) of the electronic device 1201 or an external environmental state.
  • the sensor module 1276 includes, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a bio sensor, a temperature sensor, a humidity sensor, Or it may include an illuminance sensor.
  • the interface 1277 may support a designated protocol that can be connected to an external electronic device (eg, the electronic device 1202) by wire or wirelessly.
  • the interface 1277 may include a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • the connection terminal 1278 is a connector that can physically connect the electronic device 1201 and an external electronic device (eg, the electronic device 1202), for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (Eg, headphone connector).
  • an HDMI connector e.g., a USB connector, an SD card connector, or an audio connector (Eg, headphone connector).
  • the haptic module 1279 may convert electrical signals into mechanical stimuli (eg, vibration or movement) or electrical stimuli that the user can perceive through tactile or motor sensations.
  • the haptic module 1279 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 1280 may capture still images and videos. According to one embodiment, the camera module 1280 may include one or more lenses, an image sensor, an image signal processor, or a flash.
  • the power management module 1288 is a module for managing power supplied to the electronic device 1201, and may be configured, for example, as at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 1289 is a device for supplying power to at least one component of the electronic device 1201, and may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 1290 establishes a wired or wireless communication channel between the electronic device 1201 and an external electronic device (eg, the electronic device 1202, the electronic device 1204, or the server 1208), and an established communication channel It can support the execution of communication through.
  • the communication module 1290 may include one or more communication processors supporting wired communication or wireless communication, which are operated independently of the processor 1220 (eg, an application processor).
  • the communication module 1290 may include a wireless communication module 1292 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 1294 (eg : Includes a local area network (LAN) communication module or a power line communication module, and a short-range such as a first network 1298 (for example, Bluetooth, WiFi direct, or infrared data association) using a corresponding communication module A communication network) or a second network 1299 (eg, a cellular network, the Internet, or a telecommunication network such as a computer network (eg, a LAN or WAN)) to communicate with external electronic devices.
  • a wireless communication module 1292 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • a wired communication module 1294 eg : Includes a local area network (LAN) communication module or
  • the wireless communication module 1292 may distinguish and authenticate the electronic device 1201 within the communication network using user information stored in the subscriber identification module 1296.
  • the antenna module 1297 may include one or more antennas for transmitting a signal or power to the outside or receiving it from the outside.
  • the communication module 1290 eg, the wireless communication module 1292
  • peripheral devices for example, a bus, a general purpose input / output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)
  • Signals eg commands or data
  • GPIO general purpose input / output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 1201 and an external electronic device 1204 through the server 1208 connected to the second network 1299.
  • Each of the electronic devices 1202 and 1704 may be the same or a different type of device from the electronic device 1201.
  • all or some of the operations executed in the electronic device 1201 may be executed in another one or a plurality of external electronic devices.
  • the electronic device 1201 may instead execute or additionally execute the function or service itself, and
  • the external electronic device may request at least some of the related functions.
  • the external electronic device receiving the request may execute a requested function or an additional function, and deliver the result to the electronic device 1201.
  • the electronic device 1201 may process the received result as it is or additionally to provide the requested function or service.
  • cloud computing, distributed computing, or client-server computing technology can be used.
  • An electronic device may be a device of various types.
  • the electronic device may include, for example, at least one of a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a laptop, a desktop, a tablet, or a portable multimedia device.
  • portable medical device e.g., a portable medical device
  • camera a camera
  • a wearable device e.g., a smart watch
  • a home appliance e.g., a portable medical device
  • first, second, first or second can modify the components, regardless of order or importance, and are used only to distinguish one component from another component
  • the components are not limited.
  • one (eg, first) component is “connected (functionally or communicatively)” to another (eg, second) component or is “connected,” the component is the other It may be directly connected to the component, or may be connected through another component (eg, a third component).
  • module includes units composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, components, or circuits.
  • the module may be an integrally configured component or a minimum unit that performs one or more functions or a part thereof.
  • the module can be configured with an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document include instructions stored in a machine-readable storage media (eg, internal memory 1236 or external memory 1238). It may be implemented in software (eg, program 1240).
  • the device may include an electronic device (eg, the electronic device 1201) according to the disclosed embodiments as a device capable of invoking a stored command from a storage medium and operating according to the called command.
  • the instruction is executed by a processor (for example, the processor 1220)
  • the processor may perform a function corresponding to the instruction directly or by using other components under the control of the processor.
  • Instructions can include code generated or executed by a compiler or interpreter.
  • the storage medium readable by the device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between data being stored semi-permanently or temporarily on the storage medium.
  • a method according to various embodiments disclosed in this document may be provided as being included in a computer program product.
  • Computer program products are commodities that can be traded between sellers and buyers.
  • the computer program product may be distributed online in the form of a storage medium readable by the device (eg compact disc read only memory (CD-ROM)) or through an application store (eg Play Store TM ).
  • a storage medium such as a memory of a manufacturer's server, an application store's server, or a relay server, or may be temporarily generated.
  • Each component may be composed of a singular or a plurality of entities, and some of the aforementioned sub-components may be omitted, or other sub-components may be various. It may be further included in the embodiment. Alternatively or additionally, some components (eg, modules or programs) may be integrated into one entity, performing the same or similar functions performed by each corresponding component before being integrated. According to various embodiments, operations performed by a module, program, or other component may be sequentially, parallelly, repeatedly, or heuristically executed, at least some operations may be executed in a different order, omitted, or other operations may be added. You can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

서버와 통신하는 전자 장치의 동작 방법에 있어서, 도메인 및 카테고리를 입력 받는 동작, 상기 도메인 및 상기 카테고리를 상기 서버로 전송하는 동작, 상기 서버로부터 상기 도메인 및 상기 카테고리에 대응하는 변형 발화 텍스트를 수신하는 동작, 그리고 상기 변형 발화 텍스트를 표시하는 동작을 포함하되, 상기 변형 발화 텍스트는 상기 서버에 기 저장된 사용자 발화 데이터에 기초하여 생성 모델 또는 전이 학습 모델을 통해 생성되고, 상기 사용자 발화 데이터는 사용자 발화를 입력 받는 외부 전자 장치가 상기 서버로 전달한 음성 데이터를 상기 서버가 텍스트로 변환하여 저장하는 전자 장치의 동작 방법이 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
본 문서에서 개시되는 실시 예들은, 트레이닝 발화 텍스트에 대응하는 변형 발화 텍스트를 제공하는 기술과 관련된다.
키보드나 마우스를 이용한 전통적인 입력 방식에 부가하여, 최근의 전자 장치들은 음성 입력과 같은 다양한 입력 방식을 지원할 수 있다. 예를 들어, 스마트폰이나 태블릿과 같은 전자 장치들은 음성 인식 서비스가 실행된 상태에서 입력되는 사용자의 음성을 인식하고, 음성 입력에 대응되는 동작을 실행하거나 검색 결과를 제공할 수 있다.
근래 음성 인식 서비스는 자연어를 처리하는 기술을 기반으로 발전하고 있다. 자연어를 처리하는 기술은 사용자 발화의 의도를 파악하고, 의도에 맞는 결과를 사용자에게 제공하는 기술이다.
음성 인식 서비스를 제공하는 서버는 개발자에 의해 수동으로 작성된 트레이닝 발화 텍스트 세트에 기초하여 트레이닝된다. 개발자는 대표 발화를 생성하고, 대표 발화에 대한 응용 발화 생성하여 트레이닝 발화 텍스트 세트를 작성한다. 따라서, 트레이닝 발화 텍스트 세트에 의한 트레이닝 효과는 개발자의 능력에 따라 달라지게 된다.
본 발명의 다양한 실시 예들은 트레이닝 발화 텍스트 세트 또는 실제 사용자 발화에 기초하여 음성 인식 서비스의 트레이닝을 위해 서버 내에서 추가적인 변형 발화 텍스트 세트를 생성하는 방법을 제안하고자 한다.
또한, 본 발명의 다양한 실시 예들은 생성된 변형 발화 텍스트 세트를 개발자 또는 사용자에게 제공하는 방법을 제안하고자 한다.
본 문서에 개시되는 일 실시 예에 따른 서버와 통신하는 전자 장치의 동작 방법은, 도메인 및 카테고리를 입력 받는 동작, 상기 도메인 및 상기 카테고리를 상기 서버로 전송하는 동작, 상기 서버로부터 상기 도메인 및 상기 카테고리에 대응하는 변형 발화 텍스트를 수신하는 동작, 그리고 상기 변형 발화 텍스트를 표시하는 동작을 포함하되, 상기 변형 발화 텍스트는 상기 서버에 기 저장된 사용자 발화 데이터에 기초하여 생성 모델 또는 전이 학습 모델을 통해 생성되고, 상기 사용자 발화 데이터는 사용자 발화를 입력 받는 외부 전자 장치가 상기 서버로 전달한 음성 데이터를 상기 서버가 텍스트로 변환하여 저장한다.
또한, 본 문서에 개시되는 일 실시 예에 따른 서버와 통신하는 전자 장치의 동작 방법은, 도메인 및 카테고리를 입력 받는 동작, 상기 도메인 및 상기 카테고리에 대응하는 트레이닝 발화 텍스트 세트를 입력 받는 동작, 상기 도메인, 상기 카테고리 및 상기 트레이닝 발화 텍스트 세트를 상기 서버로 전송하는 동작, 상기 서버로부터 상기 트레이닝 발화 텍스트 세트에 대응하는 변형 발화 텍스트 세트를 수신하는 동작, 그리고 상기 변형 발화 텍스트 세트를 표시하는 동작을 포함하되, 상기 변형 발화 텍스트 세트는 상기 서버에 기 저장된 사용자 발화 데이터에 기초하여 생성 모델 또는 전이 학습 모델을 통해 생성되고, 상기 사용자 발화 데이터는 사용자 발화를 입력 받는 외부 전자 장치가 상기 서버로 전달한 음성 데이터를 상기 서버가 텍스트로 변환하여 저장한다.
또한, 본 문서에 개시되는 일 실시 예에 따른 서버와 통신하는 전자 장치의 동작 방법은, 도메인 및 카테고리를 입력 받는 동작, 상기 도메인 및 상기 카테고리에 대응하는 트레이닝 발화 텍스트 세트를 입력 받는 동작, 상기 도메인, 상기 카테고리 및 상기 트레이닝 발화 텍스트 세트를 상기 서버로 전송하는 동작, 상기 서버로부터 상기 트레이닝 발화 텍스트 세트에 대응하는 변형 발화 텍스트 세트를 수신하는 동작, 그리고 상기 변형 발화 텍스트 세트에 기초하여 상기 트레이닝 발화 텍스트 세트에 포함된 제1 파라미터에 대응하는 복수의 제2 파라미터를 표시하는 동작을 포함한다.
본 문서에 개시되는 실시 예들에 따르면, 과거에 축적된 사용자 발화 데이터를 기반으로 변형 발화 텍스트 세트를 생성할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 생성 모델 또는 전이 학습 모델을 기반으로 변형 발화 텍스트 세트를 생성할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 사용자 특성을 기반으로 변형 발화 텍스트 세트를 생성할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 생성된 변형 발화 텍스트 세트에 기초하여 서버의 자연어 이해 모듈을 트레이닝 할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 생성된 변형 발화 텍스트 세트를 개발자 또는 사용자에게 추천하여 음성 인식 서비스의 성능을 향상시킬 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 통합 지능(integrated intelligence) 시스템을 나타낸 블록도이다.
도 2는 일 실시 예에 따른, 컨셉과 액션의 관계 정보가 데이터베이스에 저장된 형태를 나타낸 도면이다.
도 3은 일 실시 예에 따라, 지능형 앱을 통해 수신된 음성 입력을 처리하는 화면을 표시하는 사용자 단말을 도시하는 도면이다.
도 4는 일 실시 예에 따른 변형 발화 텍스트 세트를 생성하는 지능형 서버를 보여주는 블록도이다.
도 5는 도 4의 파라미터 수집 모듈의 일 실시 예를 보여주는 블록도이다.
도 6은 일 실시 예에 따른 자연어 이해 트레이닝 모드 시 지능형 서버의 동작 방법을 보여주는 순서도이다.
도 7은, 도 6의 동작 650에서, 변형 발화 텍스트 세트를 생성하는 방법의 일 예를 보여주는 순서도이다.
도 8은, 도 6의 동작 650에서, 변형 발화 텍스트 세트를 생성하는 방법의 다른 예를 보여주는 순서도이다.
도 9는 일 실시 예에 따른 발화 추천 모드 시 지능형 서버의 동작 방법을 보여주는 순서도이다.
도 10a는 일 실시 예에 따라 트레이닝 발화 텍스트가 발화 입력기를 통해 입력될 때 입력된 도메인의 카테고리에 따라 변형 발화 텍스트가 추천되는 방법을 나타내는 도면이다.
도 10b는 일 실시 예에 따라 트레이닝 발화 텍스트가 발화 입력기를 통해 입력될 때 입력된 사용자 발화 예시의 의도에 따라 변형 발화 텍스트가 추천되는 방법을 나타내는 도면이다.
도 10c는 일 실시 예에 따라 트레이닝 발화 텍스트가 발화 입력기를 통해 입력될 때 입력된 사용자 발화 예시에 포함된 키워드에 따라 변형 발화 텍스트가 추천되는 방법을 나타내는 도면이다.
도 11은 일 실시 예에 따라 사용자 발화 시 사용자에게 변형 발화 텍스트를 추천하는 방법을 나타내는 도면이다.
도 12는 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
본 발명의 일 실시 예를 서술하기에 앞서, 본 발명의 일 실시 예가 적용될 수 있는 통합 지능화 시스템에 대해 설명한다.
도 1은 일 실시 예에 따른 통합 지능(integrated intelligence) 시스템을 나타낸 블록도이다.
도 1을 참조하면, 일 실시 예의 통합 지능화 시스템은 사용자 단말(100), 지능형 서버(200), 및 서비스 서버(300)를 포함할 수 있다.
일 실시 예의 사용자 단말(100)은, 인터넷에 연결 가능한 단말 장치(또는, 전자 장치)일 수 있으며, 예를 들어, 휴대폰, 스마트폰, PDA(personal digital assistant), 노트북 컴퓨터, TV, 백색 가전, 웨어러블 장치, HMD, 또는 스마트 스피커일 수 있다.
도시된 실시 예에 따르면, 사용자 단말(100)은 통신 인터페이스(110), 마이크(120), 스피커(130), 디스플레이(140), 메모리(150), 또는 프로세서(160)를 포함할 수 있다. 상기 열거된 구성요소들은 서로 작동적으로 또는 전기적으로 연결될 수 있다.
일 실시 예의 통신 인터페이스(110)는 외부 장치와 연결되어 데이터를 송수신하도록 구성될 수 있다. 일 실시 예의 마이크(120)는 소리(예: 사용자 발화)를 수신하여, 전기적 신호로 변환할 수 있다. 일 실시 예의 스피커(130)는 전기적 신호를 소리(예: 음성)로 출력할 수 있다. 일 실시 예의 디스플레이(140)는 이미지 또는 비디오를 표시하도록 구성될 수 있다. 일 실시 예의 디스플레이(140)는 또한 실행되는 앱(app)(또는, 어플리케이션 프로그램(application program))의 그래픽 사용자 인터페이스(graphic user interface)(GUI)를 표시할 수 있다.
일 실시 예의 메모리(150)는 클라이언트 모듈(151), SDK(software development kit)(153), 및 복수의 앱들(155)을 저장할 수 있다. 상기 클라이언트 모듈(151), 및 SDK(153)는 범용적인 기능을 수행하기 위한 프레임워크(framework)(또는, 솔루션 프로그램)를 구성할 수 있다. 또한, 클라이언트 모듈(151) 또는 SDK(153)는 음성 입력을 처리하기 위한 프레임워크를 구성할 수 있다.
일 실시 예의 상기 복수의 앱들(155)은 지정된 기능을 수행하기 위한 프로그램일 수 있다. 일 실시 예에 따르면, 복수의 앱들(155)은 제1 앱(155_1), 제2 앱(155_2)을 포함할 수 있다. 일 실시 예에 따르면, 복수의 앱들(155) 각각은 지정된 기능을 수행하기 위한 복수의 동작들을 포함할 수 있다. 예를 들어, 상기 복수의 앱들(155)은 알람 앱, 메시지 앱, 및/또는 스케줄 앱을 포함할 수 있다. 일 실시 예에 따르면, 복수의 앱들(155)은 프로세서(160)에 의해 실행되어 상기 복수의 동작들 중 적어도 일부를 순차적으로 실행할 수 있다.
일 실시 예의 프로세서(160)는 사용자 단말(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(160)는 통신 인터페이스(110), 마이크(120), 스피커(130), 및 디스플레이(140)와 전기적으로 연결되어 지정된 동작을 수행할 수 있다.
일 실시 예의 프로세서(160)는 또한 상기 메모리(150)에 저장된 프로그램을 실행시켜 지정된 기능을 수행할 수 있다. 예를 들어, 프로세서(160)는 클라이언트 모듈(151) 또는 SDK(153) 중 적어도 하나를 실행하여, 음성 입력을 처리하기 위한 이하의 동작을 수행할 수 있다. 프로세서(160)는, 예를 들어, SDK(153)를 통해 복수의 앱들(155)의 동작을 제어할 수 있다. 클라이언트 모듈(151) 또는 SDK(153)의 동작으로 설명된 이하의 동작은 프로세서(160)의 실행에 의한 동작일 수 있다.
일 실시 예의 클라이언트 모듈(151)은 음성 입력을 수신할 수 있다. 예를 들어, 클라이언트 모듈(151)은 마이크(120)를 통해 감지된 사용자 발화에 대응되는 음성 신호를 수신할 수 있다. 상기 클라이언트 모듈(151)은 수신된 음성 입력을 지능형 서버(200)로 송신할 수 있다. 클라이언트 모듈(151)은 수신된 음성 입력과 함께, 사용자 단말(100)의 상태 정보를 지능형 서버(200)로 송신할 수 있다. 상기 상태 정보는, 예를 들어, 앱의 실행 상태 정보일 수 있다.
일 실시 예의 클라이언트 모듈(151)은 수신된 음성 입력에 대응되는 결과를 수신할 수 있다. 예를 들어, 클라이언트 모듈(151)은 지능형 서버(200)에서 상기 수신된 음성 입력에 대응되는 결과를 산출할 수 있는 경우, 수신된 음성 입력에 대응되는 결과를 수신할 수 있다. 클라이언트 모듈(151)은 상기 수신된 결과를 디스플레이(140)에 표시할 수 있다.
일 실시 예의 클라이언트 모듈(151)은 수신된 음성 입력에 대응되는 플랜을 수신할 수 있다. 클라이언트 모듈(151)은 플랜에 따라 앱의 복수의 동작을 실행한 결과를 디스플레이(140)에 표시할 수 있다. 클라이언트 모듈(151)은, 예를 들어, 복수의 동작들의 실행 결과를 순차적으로 디스플레이에 표시할 수 있다. 사용자 단말(100)은, 다른 예를 들어, 복수의 동작들을 실행한 일부 결과(예: 마지막 동작의 결과)만을 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 클라이언트 모듈(151)은 지능형 서버(200)로부터 음성 입력에 대응되는 결과를 산출하기 위해 필요한 정보를 획득하기 위한 요청을 수신할 수 있다. 일 실시 예에 따르면, 클라이언트 모듈(151)은 상기 요청에 대응하여 상기 필요한 정보를 지능형 서버(200)로 송신할 수 있다.
일 실시 예의 클라이언트 모듈(151)은 플랜에 따라 복수의 동작들을 실행한 결과 정보를 지능형 서버(200)로 송신할 수 있다. 지능형 서버(200)는 상기 결과 정보를 이용하여 수신된 음성 입력이 올바르게 처리된 것을 확인할 수 있다.
일 실시 예의 클라이언트 모듈(151)은 음성 인식 모듈을 포함할 수 있다. 일 실시 예에 따르면, 클라이언트 모듈(151)은 상기 음성 인식 모듈을 통해 제한된 기능을 수행하는 음성 입력을 인식할 수 있다. 예를 들어, 클라이언트 모듈(151)은 지정된 입력(예: 웨이크 업!)을 통해 유기적인 동작을 수행하기 위한 음성 입력을 처리하기 위한 지능형 앱을 수행할 수 있다.
일 실시 예의 지능형 서버(200)는 통신망을 통해 사용자 단말(100)로부터 사용자 음성 입력과 관련된 정보를 수신할 수 있다. 일 실시 예에 따르면, 지능형 서버(200)는 수신된 음성 입력과 관련된 데이터를 텍스트 데이터(text data)로 변경할 수 있다. 일 실시 예에 따르면, 지능형 서버(200)는 상기 텍스트 데이터에 기초하여 사용자 음성 입력과 대응되는 태스크(task)를 수행하기 위한 플랜(plan)을 생성할 수 있다
일 실시 예에 따르면, 플랜은 인공 지능(artificial intelligent)(AI) 시스템에 의해 생성될 수 있다. 인공지능 시스템은 룰 베이스 시스템(rule-based system)일 수도 있고, 신경망 베이스 시스템(neural network-based system)(예: 피드포워드 신경망(feedforward neural network(FNN)), 순환 신경망(recurrent neural network(RNN)))일 수도 있다. 또는, 전술한 것의 조합 또는 이와 다른 인공지능 시스템일 수도 있다. 일 실시 예에 따르면, 플랜은 미리 정의된 플랜의 집합에서 선택될 수 있거나, 사용자 요청에 응답하여 실시간으로 생성될 수 있다. 예를 들어, 인공지능 시스템은 미리 정의된 복수의 플랜들 중 적어도 하나의 플랜을 선택할 수 있다.
일 실시 예의 지능형 서버(200)는 생성된 플랜에 따른 결과를 사용자 단말(100)로 송신하거나, 생성된 플랜을 사용자 단말(100)로 송신할 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 플랜에 따른 결과를 디스플레이에 표시할 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 플랜에 따른 동작을 실행한 결과를 디스플레이에 표시할 수 있다.
일 실시 예의 지능형 서버(200)는 프론트 엔드(front end)(210), 자연어 플랫폼(natural language platform)(220), 캡슐 데이터베이스(capsule DB)(230), 실행 엔진(execution engine)(240), 엔드 유저 인터페이스(end user interface)(250), 매니지먼트 플랫폼(management platform)(260), 빅 데이터 플랫폼(big data platform)(270), 또는 분석 플랫폼(analytic platform)(280)을 포함할 수 있다.
일 실시 예의 프론트 엔드(210)는 사용자 단말(100)로부터 수신된 음성 입력을 수신할 수 있다. 프론트 엔드(210)는 상기 음성 입력에 대응되는 응답을 송신할 수 있다.
일 실시 예에 따르면, 자연어 플랫폼(220)은 자동 음성 인식 모듈(automatic speech recognition module)(ASR module)(221), 자연어 이해 모듈(natural language understanding module)(NLU module)(223), 플래너 모듈(planner module)(225), 자연어 생성 모듈(natural language generator module)(NLG module)(227) 또는 텍스트 음성 변환 모듈(text to speech module)(TTS module)(229)을 포함할 수 있다.
일 실시 예의 자동 음성 인식 모듈(221)은 사용자 단말(100)로부터 수신된 음성 입력을 텍스트 데이터로 변환할 수 있다. 일 실시 예의 자연어 이해 모듈(223)은 음성 입력의 텍스트 데이터를 이용하여 사용자의 의도를 파악할 수 있다. 예를 들어, 자연어 이해 모듈(223)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자의 의도를 파악할 수 있다. 일 실시 예의 자연어 이해 모듈(223)은 형태소 또는 구의 언어적 특징(예: 문법적 요소)을 이용하여 음성 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 의도에 매칭시켜 사용자의 의도를 결정할 수 있다.
일 실시 예의 플래너 모듈(225)은 자연어 이해 모듈(223)에서 결정된 의도 및 파라미터를 이용하여 플랜을 생성할 수 있다. 일 실시 예에 따르면, 플래너 모듈(225)은 상기 결정된 의도에 기초하여 태스크를 수행하기 위해 필요한 복수의 도메인을 결정할 수 있다. 플래너 모듈(225)은 상기 의도에 기초하여 결정된 복수의 도메인 각각에 포함된 복수의 동작을 결정할 수 있다. 일 실시 예에 따르면, 플래너 모듈(225)은 상기 결정된 복수의 동작을 실행하는데 필요한 파라미터나, 상기 복수의 동작의 실행에 의해 출력되는 결과 값을 결정할 수 있다. 상기 파라미터, 및 상기 결과 값은 지정된 형식(또는, 클래스)의 컨셉으로 정의될 수 있다. 이에 따라, 플랜은 사용자의 의도에 의해 결정된 복수의 동작, 및 복수의 컨셉을 포함할 수 있다. 상기 플래너 모듈(225)은 상기 복수의 동작, 및 상기 복수의 컨셉 사이의 관계를 단계적(또는, 계층적)으로 결정할 수 있다. 예를 들어, 플래너 모듈(225)은 복수의 컨셉에 기초하여 사용자의 의도에 기초하여 결정된 복수의 동작의 실행 순서를 결정할 수 있다. 다시 말해, 플래너 모듈(225)은 복수의 동작의 실행에 필요한 파라미터, 및 복수의 동작의 실행에 의해 출력되는 결과에 기초하여, 복수의 동작의 실행 순서를 결정할 수 있다. 이에 따라, 플래너 모듈(225)은 복수의 동작, 및 복수의 컨셉 사이의 연관 정보(예: 온톨로지(ontology))가 포함된 플랜을 생성할 수 있다. 상기 플래너 모듈(225)은 컨셉과 동작의 관계들의 집합이 저장된 캡슐 데이터베이스(230)에 저장된 정보를 이용하여 플랜을 생성할 수 있다.
일 실시 예의 자연어 생성 모듈(227)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 일 실시 예의 텍스트 음성 변환 모듈(229)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다.
상기 캡슐 데이터베이스(230)는 복수의 도메인에 대응되는 복수의 컨셉과 동작의 관계에 대한 정보를 저장할 수 있다. 일 실시 예에 따른 캡슐은 플랜에 포함된 복수의 동작 오브젝트(action object 또는, 동작 정보) 및 컨셉 오브젝트(concept object 또는 컨셉 정보)를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 CAN(concept action network)의 형태로 복수의 캡슐을 저장할 수 있다. 일 실시 예에 따르면, 복수의 캡슐은 캡슐 데이터베이스(230)에 포함된 기능 레지스트리(function registry)에 저장될 수 있다.
상기 캡슐 데이터베이스(230)는 음성 입력에 대응되는 플랜을 결정할 때 필요한 전략 정보가 저장된 전략 레지스트리(strategy registry)를 포함할 수 있다. 상기 전략 정보는 음성 입력에 대응되는 복수의 플랜이 있는 경우, 하나의 플랜을 결정하기 위한 기준 정보를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 지정된 상황에서 사용자에게 후속 동작을 제안하기 위한 후속 동작의 정보가 저장된 후속 동작 레지스트리(follow up registry)를 포함할 수 있다. 상기 후속 동작은, 예를 들어, 후속 발화를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 사용자 단말(100)을 통해 출력되는 정보의 레이아웃(layout) 정보를 저장하는 레이아웃 레지스트리(layout registry)를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 캡슐 정보에 포함된 어휘(vocabulary) 정보가 저장된 어휘 레지스트리(vocabulary registry)를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 사용자와의 대화(dialog)(또는, 인터렉션(interaction)) 정보가 저장된 대화 레지스트리(dialog registry)를 포함할 수 있다. 상기 캡슐 데이터베이스(230)는 개발자 툴(developer tool)을 통해 저장된 오브젝트를 업데이트(update)할 수 있다. 상기 개발자 툴은, 예를 들어, 동작 오브젝트 또는 컨셉 오브젝트를 업데이트하기 위한 기능 에디터(function editor)를 포함할 수 있다. 상기 개발자 툴은 어휘를 업데이트하기 위한 어휘 에디터(vocabulary editor)를 포함할 수 있다. 상기 개발자 툴은 플랜을 결정하는 전략을 생성 및 등록 하는 전략 에디터(strategy editor)를 포함할 수 있다. 상기 개발자 툴은 사용자와의 대화를 생성하는 대화 에디터(dialog editor)를 포함할 수 있다. 상기 개발자 툴은 후속 목표를 활성화하고, 힌트를 제공하는 후속 발화를 편집할 수 있는 후속 동작 에디터(follow up editor)를 포함할 수 있다. 상기 후속 목표는 현재 설정된 목표, 사용자의 선호도 또는 환경 조건에 기초하여 결정될 수 있다. 일 실시 예에서는 캡슐 데이터베이스(230)는 사용자 단말(100) 내에도 구현이 가능할 수 있다.
일 실시 예의 실행 엔진(240)은 상기 생성된 플랜을 이용하여 결과를 산출할 수 있다. 엔드 유저 인터페이스(250)는 산출된 결과를 사용자 단말(100)로 송신할 수 있다. 이에 따라, 사용자 단말(100)은 상기 결과를 수신하고, 상기 수신된 결과를 사용자에게 제공할 수 있다. 일 실시 예의 매니지먼트 플랫폼(260)은 지능형 서버(200)에서 이용되는 정보를 관리할 수 있다. 일 실시 예의 빅 데이터 플랫폼(270)은 사용자의 데이터를 수집할 수 있다. 일 실시 예의 분석 플랫폼(280)은 지능형 서버(200)의 QoS(quality of service)를 관리할 수 있다. 예를 들어, 분석 플랫폼(280)은 지능형 서버(200)의 구성 요소 및 처리 속도(또는, 효율성)를 관리할 수 있다.
일 실시 예의 서비스 서버(300)는 사용자 단말(100)에 지정된 서비스(예: 음식 주문 또는 호텔 예약)를 제공할 수 있다. 일 실시 예에 따르면, 서비스 서버(300)는 제3 자에 의해 운영되는 서버일 수 있다. 일 실시 예의 서비스 서버(300)는 수신된 음성 입력에 대응되는 플랜을 생성하기 위한 정보를 지능형 서버(200)에 제공할 수 있다. 상기 제공된 정보는 캡슐 데이터베이스(230)에 저장될 수 있다. 또한, 서비스 서버(300)는 플랜에 따른 결과 정보를 지능형 서버(200)에 제공할 수 있다.
위에 기술된 통합 지능화 시스템에서, 상기 사용자 단말(100)은, 사용자 입력에 응답하여 사용자에게 다양한 인텔리전트 서비스를 제공할 수 있다. 상기 사용자 입력은, 예를 들어, 물리적 버튼을 통한 입력, 터치 입력 또는 음성 입력을 포함할 수 있다.
일 실시 예에서, 상기 사용자 단말(100)은 내부에 저장된 지능형 앱(또는, 음성 인식 앱)을 통해 음성 인식 서비스를 제공할 수 있다. 이 경우, 예를 들어, 사용자 단말(100)은 상기 마이크를 통해 수신된 사용자 발화(utterance) 또는 음성 입력(voice input)를 인식하고, 인식된 음성 입력에 대응되는 서비스를 사용자에게 제공할 수 있다.
일 실시 예에서, 사용자 단말(100)은 수신된 음성 입력에 기초하여, 단독으로 또는 상기 지능형 서버 및/또는 서비스 서버와 함께 지정된 동작을 수행할 수 있다. 예를 들어, 사용자 단말(100)은 수신된 음성 입력에 대응되는 앱을 실행시키고, 실행된 앱을 통해 지정된 동작을 수행할 수 있다.
일 실시 예에서, 사용자 단말(100)이 지능형 서버(200) 및/또는 서비스 서버와 함께 서비스를 제공하는 경우에는, 상기 사용자 단말은, 상기 마이크(120)를 이용하여 사용자 발화를 감지하고, 상기 감지된 사용자 발화에 대응되는 신호(또는, 음성 데이터)를 생성할 수 있다. 상기 사용자 단말은, 상기 음성 데이터를 통신 인터페이스(110)를 이용하여 지능형 서버(200)로 송신할 수 있다.
일 실시 예에 따른 지능형 서버(200)는 사용자 단말(100)로부터 수신된 음성 입력에 대한 응답으로써, 음성 입력에 대응되는 태스크(task)를 수행하기 위한 플랜, 또는 상기 플랜에 따라 동작을 수행한 결과를 생성할 수 있다. 상기 플랜은, 예를 들어, 사용자의 음성 입력에 대응되는 태스크(task)를 수행하기 위한 복수의 동작, 및 상기 복수의 동작과 관련된 복수의 컨셉을 포함할 수 있다. 상기 컨셉은 상기 복수의 동작의 실행에 입력되는 파라미터나, 복수의 동작의 실행에 의해 출력되는 결과 값을 정의한 것일 수 있다. 상기 플랜은 복수의 동작, 및 복수의 컨셉 사이의 연관 정보를 포함할 수 있다.
일 실시 예의 사용자 단말(100)은, 통신 인터페이스(110)를 이용하여 상기 응답을 수신할 수 있다. 사용자 단말(100)은 상기 스피커(130)를 이용하여 사용자 단말(100) 내부에서 생성된 음성 신호를 외부로 출력하거나, 디스플레이(140)를 이용하여 사용자 단말(100) 내부에서 생성된 이미지를 외부로 출력할 수 있다.
도 2는 다양한 실시 예에 따른, 컨셉과 동작의 관계 정보가 데이터베이스에 저장된 형태를 나타낸 도면이다.
도 1 및 도 2를 참조하면, 상기 지능형 서버(200)의 캡슐 데이터베이스(예: 캡슐 데이터베이스(230))는 CAN(concept action network) 형태로 캡슐을 저장할 수 있다. 상기 캡슐 데이터베이스는 사용자의 음성 입력에 대응되는 태스크를 처리하기 위한 동작, 및 상기 동작을 위해 필요한 파라미터를 CAN(concept action network) 형태로 저장될 수 있다.
상기 캡슐 데이터베이스는 복수의 도메인(예: 어플리케이션) 각각에 대응되는 복수의 캡슐(capsule(A)(401), capsule(B)(404))을 저장할 수 있다. 일 실시 예에 따르면, 하나의 캡슐(예: capsule(A)(401))은 하나의 도메인(예: 위치(geo), 어플리케이션)에 대응될 수 있다. 또한, 하나의 캡슐에는 캡슐과 관련된 도메인에 대한 기능을 수행하기 위한 적어도 하나의 서비스 제공자(예: CP 1(402) 또는 CP 2(403))가 대응될 수 있다. 일 실시 예에 따르면, 하나의 캡슐은 지정된 기능을 수행하기 위한 적어도 하나 이상의 동작(410) 및 적어도 하나 이상의 컨셉(420)을 포함할 수 있다.
상기 자연어 플랫폼(220)은 캡슐 데이터베이스에 저장된 캡슐을 이용하여 수신된 음성 입력에 대응하는 태스크를 수행하기 위한 플랜을 생성할 수 있다. 예를 들어, 자연어 플랫폼의 플래너 모듈(225)은 캡슐 데이터베이스에 저장된 캡슐을 이용하여 플랜을 생성할 수 있다. 예를 들어, 캡슐 A(410)의 동작들(4011, 4013)과 컨셉들(4012, 4014) 및 캡슐 B(404)의 동작(4041)과 컨셉(4042)을 이용하여 플랜(407)을 생성할 수 있다.
도 3은 다양한 실시 예에 따른 사용자 단말이 지능형 앱을 통해 수신된 음성 입력을 처리하는 화면을 나타낸 도면이다.
사용자 단말(100)은 지능형 서버(200)를 통해 사용자 입력을 처리하기 위해 지능형 앱을 실행할 수 있다.
일 실시 예에 따르면, 310 화면에서, 사용자 단말(100)은 지정된 음성 입력(예: 웨이크 업!)을 인식하거나 하드웨어 키(예: 전용 하드웨어 키)를 통한 입력을 수신하면, 음성 입력을 처리하기 위한 지능형 앱을 실행할 수 있다. 사용자 단말(100)은, 예를 들어, 스케줄 앱을 실행한 상태에서 지능형 앱을 실행할 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 지능형 앱에 대응되는 오브젝트(예: 아이콘)(311)를 디스플레이(140)에 표시할 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 사용자 발화에 의한 음성 입력을 수신할 수 있다. 예를 들어, 사용자 단말(100)은 "이번 주 일정 알려줘!"라는 음성 입력을 수신할 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 수신된 음성 입력의 텍스트 데이터가 표시된 지능형 앱의 UI(user interface)(313)(예: 입력창)를 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 320 화면에서, 사용자 단말(100)은 수신된 음성 입력에 대응되는 결과를 디스플레이에 표시할 수 있다. 예를 들어, 사용자 단말(100)은 수신된 사용자 입력에 대응되는 플랜을 수신하고, 플랜에 따라 '이번 주 일정'을 디스플레이에 표시할 수 있다.
도 4는 일 실시 예에 따른 변형 발화 텍스트 세트를 생성하는 지능형 서버를 보여주는 블록도이다. 도 4에서는 상술한 도면들에서 설명된 구성 요소와 중복되는 구성 요소에 대해서는 설명을 생략할 수 있다.
도 4를 참조하면, 지능형 서버(200)는 도 1에서 설명된 구성의 적어도 일부(예: 자동 음성 인식 모듈(221) 및 자연어 이해 모듈(223)) 및 파라미터 수집 모듈(291), 변형 발화 생성 모듈(292), 제1 및 제2 변형 발화 추천 모듈(293, 294), 자연어 이해(natural language understanding)(NLU) 트레이닝 모듈(295)을 포함할 수 있다.
일 실시 예에 따르면, 지능형 서버(200)는 적어도 하나의 통신 회로, 메모리 및 프로세서를 포함할 수 있다. 상기 통신 회로는 적어도 하나의 외부 전자 장치(예: 개발자 단말(500) 또는 사용자 단말(100)) 중 적어도 하나와 통신 채널을 형성하고, 상기 통신 채널을 통하여 상기 외부 전자 장치와 데이터를 송수신할 수 있다. 상기 메모리는 상기 지능형 서버(200) 구동과 관련한 다양한 데이터, 명령어, 알고리즘, 엔진 등을 저장할 수 있다. 상기 프로세서는 상기 메모리에 저장된 명령어를 실행하여 파라미터 수집 모듈(291), 변형 발화 생성 모듈(292), 제1 및 제2 변형 발화 추천 모듈(293, 294), NLU(자연어 이해) 트레이닝 모듈(295)을 구동시킬 수 있다. 지능형 서버(200)는 상기 통신 회로를 통해 외부 전자 장치(예: 사용자 단말(100), 개발자 단말(500))와 데이터(또는, 정보)를 송수신할 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 사용자의 발화를 사용자 입력으로 수신하고, 자동 음성 인식 모듈(221)로 사용자 입력(예: 음성 데이터)을 전송할 수 있다. 자동 음성 인식 모듈(221)은 사용자 단말(100)로부터 수신된 사용자 입력을 사용자 발화 텍스트로 변환할 수 있다. 사용자 발화 텍스트는 자연어 이해 모듈(223) 및 파라미터 수집 모듈(291)을 통해 변형 발화 생성 모듈(292)로 전달될 수 있다. 변형 발화 생성 모듈(292)은 사용자 발화 텍스트에 대응하는 변형 발화 텍스트 세트를 생성할 수 있다. 변형 발화 텍스트 세트는 복수의 변형 발화 텍스트를 포함할 수 있다. 사용자 단말(100)은 도 1의 사용자 단말(100)과 동일 또는 유사하게 구성될 수 있다.
일 실시 예에 따르면, 개발자 단말(500)은 자연어 이해 모듈(223)을 트레이닝하기 위한 트레이닝 발화 텍스트 세트를 변형 발화 생성 모듈(292) 및 NLU(자연어 이해) 트레이닝 모듈(295)로 전송할 수 있다. 예를 들어, 트레이닝 발화 텍스트 세트는 개발자에 의해 작성될 수 있다. 개발자 단말(500)은 발화 입력기를 포함할 수 있다. 개발자는 발화 입력기를 이용하여 대표 발화 텍스트(예: 각 서비스에서 사용자들이 자주 사용할 것으로 예측되는 발화)를 입력하고, 도메인, 의도 및 파라미터에 따라 대표 발화 텍스트에 대응하는 응용 발화 텍스트를 개발자 단말(500)에 입력할 수 있다. 개발자 단말(500)은 대표 발화 텍스트 및 응용 발화 텍스트를 포함하는 트레이닝 발화 텍스트 세트를 저장할 수 있다. 예를 들어, 트레이닝 발화 텍스트 세트는 개발자에 의해 수동으로 입력될 수 있다. 트레이닝 발화 텍스트 세트는 개발자에 의해 작성된 복수의 트레이닝 발화 텍스트를 포함할 수 있다. 변형 발화 생성 모듈(292)은 개발자 단말(500)로부터 수신된 트레이닝 발화 텍스트 세트에 대응하는 변형 발화 텍스트 세트를 생성할 수 있다. 개발자 단말(500)은 도 1의 사용자 단말(100)과 동일 또는 유사하게 구성될 수 있다.
일 실시 예에 따르면, 개발자는 발화 입력기를 통해 트레이닝 발화 텍스트 세트를 생성하기 위한 트레이닝 발화 정보(예: 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보 및 의도 정보)를 입력할 수 있다. 개발자 단말(500)은 트레이닝 발화 정보를 변형 발화 생성 모듈(292)로 전송할 수 있다. 변형 발화 생성 모듈(292)은 개발자 단말(500)로부터 수신된 트레이닝 발화 정보에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 지능형 서버(200)는 트레이닝 발화 텍스트 세트를 수신하여 자연어 이해 모듈(223)을 트레이닝하기 위한 자연어 이해 트레이닝 모드(또는 기능)로 동작할 수 있다. 예를 들면, 자연어 이해 트레이닝 모드 시, NLU(자연어 이해) 트레이닝 모듈(295)은 트레이닝 발화 텍스트 세트에 기초하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다. 다만, 트레이닝 발화 텍스트 세트는 개발자에 의해 수동적으로 생성되기 때문에, 트레이닝 발화 텍스트 세트에 기초한 트레이닝 방법의 성능은 개발자의 능력에 좌우될 수 있다. 본 발명의 실시 예에 따른 지능형 서버(200)는 트레이닝 성능을 향상시키기 위해 추가적인 발화 텍스트를 생성하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 트레이닝 발화 텍스트 세트(또는 트레이닝 발화 정보)를 수신하여 추가적인 변형 발화 텍스트 세트를 생성할 수 있다. NLU(자연어 이해) 트레이닝 모듈(295)은 변형 발화 텍스트 세트에 기초하여 추가적으로 자연어 이해 모듈(223)을 트레이닝 할 수 있다. 자연어 이해 모듈(223)은 트레이닝 발화 텍스트 세트 및 변형 발화 텍스트 세트를 이용하여 트레이닝되고, 트레이닝 발화 텍스트 세트 만으로 트레이닝이 수행되는 상황보다 자연어 이해 모듈(223)의 트레이닝 효과는 향상될 수 있다.
일 실시 예에 따르면, 지능형 서버(200)는 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트에 기초하여 개발자 또는 발명자에게 변형 발화 텍스트 세트를 제공하는 발화 추천 모드(또는 기능)로 동작할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 트레이닝 발화 텍스트 세트(또는 트레이닝 발화 정보)를 수신하는 경우 상기 트레이닝 발화 텍스트 세트(또는 트레이닝 발화 정보)에 대응하는 변형 발화 텍스트 세트를 생성할 수 있다. 생성된 변형 발화 텍스트 세트는 제1 변형 발화 추천 모듈(293)로 전송될 수 있다. 제1 변형 발화 추천 모듈(293)은 개발자 단말(500)로 생성된 변형 발화 텍스트 세트를 전송할 수 있다. 개발자는 변형 발화 텍스트 세트를 활용하여 새로운 트레이닝 발화 텍스트 세트를 생성할 수 있다. 예를 들어, 개발자는 개발자 단말(500)에서 실행되는 발화 입력기를 통해 트레이닝 발화 정보(예: 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보 및 의도 정보)를 입력할 수 있고, 발화 입력기는 입력된 트레이닝 발화 정보에 기초하여 트레이닝 발화 텍스트 세트를 생성할 수 있다. 발화 입력기는 트레이닝 발화 정보를 입력 받는 과정에서 개발자에게 변형 발화 텍스트 세트를 제공할 수 있다. 개발자는 제공된 변형 발화 텍스트 세트를 참고하여 더욱 다양한 사용자 발화 예시들을 입력할 수 있고, 발화 입력기는 기 저장된 트레이닝 발화 텍스트에 새로 입력된 사용자 발화 예시들을 추가하여 새로운 트레이닝 발화 텍스트 세트를 생성할 수 있다. 개발자 단말(500)은 새로운 트레이닝 발화 텍스트 세트를 지능형 서버(200)에 전송하고, NLU(자연어 이해) 트레이닝 모듈(295)은 새로운 트레이닝 발화 텍스트 세트에 활용하여 자연어 이해 모듈(223)의 트레이닝 성능은 향상될 수 있다.
일 실시 예에 따르면, 사용자 단말(100)에 사용자 발화가 입력되는 경우 사용자 발화는 자동 음성 인식 모듈(221) 및 자연어 이해 모듈(223)을 통해 사용자 발화 텍스트로 변환되고, 변형 발화 생성 모듈(292)은 상기 사용자 발화 텍스트를 수신하는 경우 상기 사용자 발화 텍스트에 대응하는 변형 발화 텍스트 세트를 생성할 수 있다. 생성된 변형 발화 텍스트 세트는 제2 변형 발화 추천 모듈(294)로 전송될 수 있다. 제2 변형 발화 추천 모듈(294)은 사용자 단말(100)로 생성된 변형 발화 텍스트 세트를 전송할 수 있다. 사용자 단말(100)은 사용자 발화가 입력될 때 변형 발화 텍스트 세트를 제공할 수 있다. 예를 들어, 사용자 단말(100)이 처음에 인식한 사용자 발화 텍스트가 사용자의 의도에 일치하지 않는 경우, 사용자는 사용자 발화 패턴과 유사한(또는 사용자에게 익숙한) 발화 텍스트(예: 변형 발화 텍스트 세트)를 추천 받을 수 있다. 사용자 단말(100)은 사용자 발화(예: “전화 닫아주삼”)에 대하여 대표 발화(예: “전화 종료”)가 아닌 사용자 발화 패턴과 유사한(사용자에게 익숙한) 발화 텍스트(예: “전화 꺼주삼”)를 추천할 수 있다. 사용자의 발화 패턴은 다양하고, 자연어 이해 모듈(223)에서 사용되는 발화 모델도 다양하기 때문에, 사용자가 자주 사용하는 발화 패턴과 자연어 이해 모듈(223)에서 잘 처리되는 발화 패턴은 서로 다를 수 있다. 따라서, 자연어 이해 모듈(223)이 처리하지 못하는 사용자 발화가 발생할 수 있다. 변형 발화 생성 모듈(292)에 의해 생성된 변형 발화 텍스트 세트는 자연어 이해 모듈(223)이 처리하지 못하는 부분을 보충할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 자연어 이해 트레이닝 모드 또는 발화 추천 모드 시 다양한 기준에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다. 변형 발화 생성 모듈(292)은 사용자 발화에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 과거에 입력된 사용자 입력이 텍스트로 변환된 사용자 발화 데이터는 자연어 이해 모듈(223)을 통해 자연어 인식 데이터베이스에 저장될 수 있다. 파라미터 수집 모듈(291)은 자연어 인식 데이터베이스로부터 사용자 발화 데이터를 제공받아 사용자 발화 분류 정보를 생성할 수 있다. 사용자 발화 분류 정보는 사용자 발화 데이터에 대한 도메인 정보, 의도 정보 및 파라미터 정보 등을 포함할 수 있다. 변형 발화 생성 모듈(292)은 파라미터 수집 모듈(291)로부터 사용자 발화 분류 정보를 수신하고, 사용자 발화 분류 정보에 기초하여 도메인별로 또는 의도 별로 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 자연어 이해 트레이닝 모드 시 수신된 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트의 수가 기준 발화 횟수보다 작은 경우 변형 발화 텍스트 세트를 생성할 수 있다. 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트의 수가 기준 발화 횟수보다 작으면, 자연어 이해 모듈(223)의 트레이닝 효과는 감소할 수 있고, 따라서 추가적인 변형 발화 텍스트 세트가 필요할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 생성 모델 또는 전이 학습 모델에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들면, 생성 모델은 GAN(Generative Adversarial Networks), VAE(Variational Autoencoder), DNN(Deep Neural Network) 등을 포함하고, 전이 학습 모델은 Style-transfer 등을 포함할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 생성 모듈 및 검사 모듈을 포함할 수 있다. 예를 들면, 상기 생성 모듈 및 상기 검사 모듈은 생성 모델을 구현할 수 있다. 상기 생성 모듈은 사용자 발화 데이터를 이용하여 후보 발화 텍스트를 생성할 수 있다. 상기 검사 모듈은 후보 발화 텍스트와 기준 발화 텍스트(예: 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트)의 유사 여부를 비교할 수 있다. 후보 발화 텍스트와 기준 발화 텍스트가 유사한 경우(예: 유사도가 지정된 비율 이상인 경우), 상기 검사 모듈은 기준 발화 텍스트와 유사한 후보 발화 텍스트를 변형 발화 텍스트 세트로 선택할 수 있다. 상기 생성 모듈 및 상기 검사 모듈은 도메인, 의도 및 파라미터 중 적어도 하나를 다르게 설정하면서 생성 및 검사를 반복하여 기준 발화 텍스트와 유사한 다양한 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 기준 발화 텍스트의 도메인(예: 제1 도메인)을 판별할 수 있다. 변형 발화 생성 모듈(292)은 제1 도메인과 유사한 제2 도메인을 결정할 수 있다. 변형 발화 생성 모듈(292)은 제2 도메인에서 제1 도메인에 대한 자연어 이해 모듈(223)의 트레이닝을 위한 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 제1 도메인에 유사한 제2 도메인은 카테고리(category)에 기초하여 결정될 수 있다. 예를 들어, 제1 도메인(예: 피자헛 앱)의 카테고리가 “피자 배달”인 경우, 제2 도메인(예: 도미노피자 앱)은 “피자 배달”이라는 카테고리 내의 도메인들(예: 도미노피자 앱, 미스터피자 앱) 중에서 선택될 수 있다.
일 실시 예에 따르면, 제1 도메인에 유사한 제2 도메인은 의도(intent)에 기초하여 결정될 수 있다. 예를 들어, 제1 도메인(예: 메시지 앱)의 의도가 “문자 전송”인 경우, 제2 도메인(예: 카카오톡 앱)은 “문자 전송”이라는 의도를 가지는 도메인들(예: 카카오톡 앱, 라인 앱) 중에서 선택될 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 전이 학습을 통해 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들어, 변형 발화 생성 모듈(292)은 제1 도메인에서는 사용되지 않고 제2 도메인에서 사용된 발화 패턴을 이용하여 제1 도메인에 대한 변형 발화 텍스트 세트를 생성할 수 있다. 변형 발화 생성 모듈(292)은 제2 도메인에서 사용되는 의도를 제1 도메인으로 전이하여 제1 도메인에 대한 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 사용자 특성에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 파라미터 수집 모듈(291)은 자연어 이해 모듈(223)로부터 사용자 발화 데이터를 수신할 수 있다. 파라미터 수집 모듈(291)은 사용자 발화 데이터를 전처리(노이즈 제거, 샘플 발화 추출, 연관 발화 선택 중 적어도 하나의 처리)를 수행하여 변형 발화 생성 모듈(292)에서 사용되는 형태로 변경할 수 있다. 파라미터 수집 모듈(291)은 전처리된 사용자 발화 데이터를 분석하여 사용자 특성(예: 연령, 지역, 성별)에 대한 정보(이하 사용자 특성 정보)를 생성할 수 있다. 예컨대, 사용자 특성 정보는 연령, 지역 또는 성별에 따라 자주 사용하는 용어들에 대한 정보를 포함할 수 있다. 사용자는 사용자 특성에 따라 동일한 의미에 대하여 형태가 다른 용어들(예: “해주세요”, “해주삼”, 해주세욤”)을 사용할 수 있다.
일 실시 예에 따르면, 파라미터 수집 모듈(291)은 사용자 특성 정보에 기초하여 연령, 지역 및 성별에 따라 자주 사용하는 발화 패턴을 추출할 수 있다. 예를 들어, 사용자 특성에 기초한 사용자 발화 패턴은 20대가 자주 사용하는 발화 패턴, 40대가 자주 사용하는 발화 패턴, 부산에서 자주 사용하는 발화 패턴, 제주도에서 자주 사용하는 발화 패턴, 남성이 자주 사용하는 발화 패턴 및 여성이 자주 사용하는 발화 패턴 등을 포함할 수 있다.
일 실시 예에 따르면, 추출된 사용자 발화 패턴의 횟수가 기준 패턴 횟수보다 큰 경우, 변형 발화 생성 모듈(291)은 사용자 발화 패턴에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들면, 변형 발화 생성 모듈(291)은 사용자 발화 패턴의 수와 기준 패턴 횟수를 비교할 수 있다. 특정 사용자 발화 패턴의 수가 기준 패턴 횟수보다 큰 경우, 특정 사용자 발화 패턴은 사용자들에 의해 자주 사용된다는 것을 의미한다. 따라서, 변형 발화 생성 모듈(291)은 추가적인 변형 발화 텍스트 세트를 생성하기 위해 특정 사용자 발화 패턴을 사용할 수 있다. 기준 패턴 횟수는 발화량에 기초하여 결정될 수 있다. 기준 패턴 횟수는 발화 복잡도에 따라 결정될 수 있다. 예를 들어, 발화 복잡도는 사용자 발화에 포함된 파라미터(또는 슬롯)의 수에 비례할 수 있다. 복잡한 사용자 발화(예: 사용자 발화에 포함된 파라미터(또는 슬롯)가 많은 사용자 발화)의 경우, 기준 패턴 횟수는 낮게 설정될 수 있다.
일 실시 예에 따르면, 변형 발화 생성 모듈(292)은 사용자 특성 정보에 기초하여 전이 학습을 통해 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들어, 변형 발화 생성 모듈(292)은 10대에 의해 많이 사용되는 제2 도메인에서 사용된 발화 패턴을 이용하여 30대에 의해 많이 사용되는 제1 도메인에 대한 변형 발화 텍스트 세트를 생성할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 지능형 서버(200)는 개발자 단말(500)로부터 수신된 트레이닝 발화 텍스트 세트 또는 사용자 단말(100)로부터 수신된 사용자 입력에 대응하여 다양한 변형 발화 텍스트 세트를 생성할 수 있다. 지능형 서버(200)는 생성된 변형 발화 텍스트 세트를 이용하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다. 지능형 서버(200)는 개발자가 트레이닝 발화 텍스트 세트를 작성하는데 활용하도록 생성된 변형 발화 텍스트 세트를 개발자 단말로 전송할 수 있다. 지능형 서버(200)는 사용자가 사용자 발화에 대응하는 동작을 쉽게 선택할 수 있도록 생성된 변형 발화 텍스트 세트를 사용자 단말로 전송할 수 있다.
도 5는 도 4의 파라미터 수집 모듈의 일 예를 보여주는 블록도이다.
도 5를 참조하면, 파라미터 수집 모듈(291)은 전처리 모듈(2911) 및 사용자 발화 분류 모듈(2912)을 포함할 수 있다. 전처리 모듈(2911)은 노이즈 제거 모듈(2911a), 샘플링 모듈(2911b) 및 연관 발화 선택 모듈(2911c)을 포함할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(223)로부터 수신되는 사용자 발화 데이터는 노이즈(예: 사용자 발화의 시작과 종료 사이에 포함된 주변 소음)가 많고, 양(예: 수집되어 축적된 또는 자연어 이해 모듈(223)에 저장된 사용자 발화의 개수)이 많으며, 밸런싱(예: 카테고리 또는 도메인별로 구분)되어 있지 않고, 불확실성(예: 자연어 이해 모듈(223)에 의해 결과가 모호한 발화, 또는 도메인을 알 수 없거나 자연어 이해 모듈(223)이 이해할 수 없는 발화(예: 어제 라이트검정등이 있어))을 포함하는 특징을 가질 수 있다. 전처리 모듈(2911)은 상기 특징을 가지는 사용자 발화 데이터를 전처리하여 변형 발화 생성 모듈(292)에서 사용되는 형태로 변경할 수 있다. 노이즈 제거 모듈(2911a)은 필터링 기법 또는 앙상블 기법을 사용하여 노이즈를 제거할 수 있다. 샘플링 모듈(2911b)은 사용자 발화 데이터에서 패턴화된 샘플 발화를 추출할 수 있다. 샘플링 모듈(2911b)은 반복되는 샘플 발화를 추출하여 사용자 발화 데이터의 양을 감소시킬 수 있다. 연관 발화 선택 모듈(2911c)은 기준 발화 텍스트(예: 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트)와 의미적으로 관련이 적은 사용자 발화를 사용자 발화 데이터에서 제거할 수 있다. 즉, 연관 발화 선택 모듈(2911c)은 기준 발화 텍스트와 관련성이 큰 사용자 발화를 선택할 수 있다.
일 실시 예에 따르면, 사용자 발화 분류 모듈(2912)은 전처리 모듈(2911)로부터 전처리된 사용자 발화 데이터를 수신할 수 있다. 사용자 발화 분류 모듈(2912)은 상기 전처리된 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성하고, 상기 전처리된 사용자 발화 데이터 및 상기 사용자 발화 분류 정보를 변형 발화 생성 모듈(292)로 전송할 수 있다. 한편, 사용자 발화 분류 모듈(2912)은 자연어 이해 모듈(223)로부터 현재의 사용자 발화 텍스트를 수신할 수 있다. 사용자 발화 분류 모듈(2912)은 상기 현재의 사용자 발화 텍스트를 변형 발화 생성 모듈(292)로 전송할 수 있다.
도 6은 일 실시 예에 따른 자연어 이해 트레이닝 모드 시 지능형 서버의 동작 방법(600)을 보여주는 순서도이다. 지능형 서버의 동작 방법(600)은 자연어 이해 트레이닝 모드 시 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수에 따라 다르게 수행될 수 있다.
도 6을 참조하면, 동작 610에서, 지능형 서버(200)는 트레이닝 발화 텍스트 세트를 수신할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 개발자 단말(500)로부터 트레이닝 발화 텍스트 세트를 수신할 수 있다. 트레이닝 발화 텍스트 세트는 개발자에 의해 작성된 복수의 트레이닝 발화 텍스트 세트를 포함할 수 있다.
일 실시 예에 따르면, 동작 620에서, 지능형 서버(200)는 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수를 기준 발화 횟수와 비교할 수 있다. 예를 들면, 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수가 기준 발화 횟수보다 작은 경우, 변형 발화 생성 모듈(292)은 변형 발화 텍스트 세트를 생성하는 동작들(동작 630 내지 동작 1150)을 수행할 수 있다. 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수가 기준 발화 횟수보다 크거나 같은 경우, 동작 1170이 수행될 수 있다.
일 실시 예에 따르면, 동작 630에서, 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수가 기준 발화 횟수보다 작은 경우, 지능형 서버(200)는 트레이닝 발화 텍스트 세트의 도메인(예: 제1 도메인)을 결정할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 자연어 이해 모듈(223)을 이용하여 트레이닝 발화 텍스트 세트의 도메인을 결정할 수 있다.
일 실시 예에 따르면, 동작 640에서, 지능형 서버(200)는 제1 도메인과 유사한 발화 패턴을 가지는 제2 도메인을 결정할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 카테고리(category)에 기초하여 제1 도메인에 유사한 제2 도메인을 결정할 수 있다. 예컨대, 제1 도메인(예: 피자헛 앱)의 카테고리가 “피자 배달업”인 경우, 제2 도메인(예: 도미노피자 앱)은 “피자 배달”이라는 카테고리 내의 도메인들(예: 도미노피자 앱, 미스터피자 앱) 중에서 선택될 수 있다. 다양한 실시 예에 따르면, 변형 발화 생성 모듈(292)은 의도(intent)에 기초하여 제1 도메인에 유사한 제2 도메인을 결정할 수 있다. 예를 들어, 제1 도메인(예: 메시지 앱)의 의도가 “문자 전송”인 경우, 제2 도메인(예: 카카오톡 앱)은 “문자 전송”이라는 의도를 가지는 도메인들(예: 카카오톡 앱, 라인 앱) 중에서 선택될 수 있다.
일 실시 예에 따르면, 동작 650에서, 지능형 서버(200)는 제2 도메인에서 사용되는 사용자 발화 패턴에 기초하여 제1 도메인에 적용될 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 자연어 이해 모듈(223)로부터 사용자 발화 데이터를 수신할 수 있다. 파라미터 수집 모듈(291)은 사용자 발화 데이터를 전처리(노이즈 제거, 샘플 발화 추출, 연관 발화 선택)하여 변형 발화 생성 모듈(292)에서 사용되는 형태로 변경할 수 있다. 파라미터 수집 모듈(291)은 전처리된 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성하고, 전처리된 사용자 발화 데이터 및 사용자 발화 분류 정보를 변형 발화 생성 모듈(292)로 전송할 수 있다. 변형 발화 생성 모듈(292)은 사용자 발화 분류 정보에 기초하여 제2 도메인에서 사용되는 사용자 발화 패턴을 추출할 수 있다. 변형 발화 생성 모듈(292)은 추출된 사용자 발화 패턴을 이용하여 제1 도메인에 적용될 변형 발화 텍스트 세트를 생성할 수 있다. 변형 발화 텍스트 세트는 복수의 변형 발화 텍스트 세트를 포함할 수 있다.
일 실시 예에 따르면, 동작 660에서, 지능형 서버(200)는 수신된 트레이닝 발화 텍스트 세트 및 생성된 변형 발화 텍스트 세트에 기초하여 제1 도메인에 대하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다. 예를 들면, NLU(자연어 이해) 트레이닝 모듈(295)은 개발자 단말(500)로부터 트레이닝 발화 텍스트 세트를 수신할 수 있다. NLU(자연어 이해) 트레이닝 모듈(295)은 트레이닝 발화 텍스트 세트에 기초하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다. 또한, NLU(자연어 이해) 트레이닝 모듈(295)은 변형 발화 생성 모듈(292)로부터 변형 발화 텍스트 세트를 수신할 수 있다. NLU(자연어 이해) 트레이닝 모듈(295)은 변형 발화 텍스트 세트에 기초하여 자연어 이해 모듈(223)을 추가적으로 트레이닝 할 수 있다. 따라서, 자연어 이해 모듈(223)의 성능은 트레이닝 발화 텍스트 세트만을 사용하여 트레이닝 된 경우보다 더욱 향상될 수 있다.
일 실시 예에 따르면, 동작 670에서, 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수가 기준 발화 횟수보다 크거나 같은 경우, 지능형 서버(200)는 트레이닝 발화 텍스트 세트에 기초하여 제1 도메인에 대하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다. 예를 들면, 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트 세트의 수가 기준 발화 횟수보다 크거나 같은 경우, 제1 도메인에 대하여 이미 충분한 트레이닝 발화 텍스트 세트가 존재할 수 있다. 이 경우, 변형 발화 생성 모듈(292)은 동작하지 않을 수 있다. 따라서, NLU(자연어 이해) 트레이닝 모듈(295)은 개발자 단말(500)로부터 트레이닝 발화 텍스트 세트를 수신하여 자연어 이해 모듈(223)을 트레이닝 할 수 있다.
도 7은, 도 6의 동작 650에서, 변형 발화 텍스트 세트를 생성하는 방법의 일 예를 보여주는 순서도이다. 도 7의 변형 발화 텍스트 세트를 생성하는 방법(700)은 사용자 발화 데이터에 기초하여 생성된 사용자 발화 분류 정보에 따라 생성 모델 또는 전이 학습 모델에 의해 수행될 수 있다.
도 7을 참조하면, 동작 710에서, 파라미터 수집 모듈(291)은 사용자 발화 데이터를 수신할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 자연어 이해 모듈(223)로부터 사용자 발화 데이터를 수신할 수 있다. 파라미터 수집 모듈(291)은 사용자 발화 데이터를 전처리(노이즈 제거, 샘플 발화 추출, 연관 발화 선택)하여 변형 발화 생성 모듈(292)에서 사용되는 형태로 변경할 수 있다.
일 실시 예에 따르면, 동작 720에서, 파라미터 수집 모듈(291)은 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 전처리된 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성하고, 전처리된 사용자 발화 데이터 및 사용자 발화 분류 정보를 변형 발화 생성 모듈(292)로 전송할 수 있다.
일 실시 예에 따르면, 동작 730에서, 변형 발화 생성 모듈(292)은 사용자 발화 분류 정보에 기초하여 생성 모델 또는 전이 학습 모델에 의해 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 사용자 발화 분류 정보에 기초하여 제2 도메인에서 사용되는 사용자 발화 패턴을 추출할 수 있다. 변형 발화 생성 모듈(292)은 추출된 사용자 발화 패턴을 이용하여 제1 도메인에 적용될 변형 발화 텍스트 세트를 생성할 수 있다. 변형 발화 텍스트 세트는 복수의 변형 발화 텍스트 세트를 포함할 수 있다. 복수의 변형 발화 텍스트 세트는 제2 도메인에서 사용된 의도 및 파라미터에 기초하여 생성 모델 또는 전이 학습 모델에 의해 생성될 수 있다.
도 8은, 도 6의 동작 650에서, 변형 발화 텍스트 세트를 생성하는 방법의 다른 예를 보여주는 순서도이다. 도 8의 변형 발화 텍스트 세트를 생성하는 방법(800)은 사용자 발화 데이터에 기초하여 확인된 사용자 특성에 따라 수행될 수 있다.
도 8을 참조하면, 동작 810에서, 파라미터 수집 모듈(291)은 사용자 발화 데이터를 수신할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 자연어 이해 모듈(223)로부터 사용자 발화 데이터를 수신할 수 있다. 파라미터 수집 모듈(291)은 사용자 발화 데이터를 전처리(노이즈 제거, 샘플 발화 추출, 연관 발화 선택)하여 변형 발화 생성 모듈(292)에서 사용되는 형태로 변경할 수 있다.
일 실시 예에 따르면, 동작 820에서, 파라미터 수집 모듈(291)은 사용자 발화 데이터에 기초하여 사용자 특성을 확인할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 전처리된 사용자 발화 데이터를 분석하여 사용자 특성(예: 연령, 지역, 성별)에 대한 정보(이하 사용자 특성 정보)를 생성할 수 있다. 사용자 특성 정보는 연령, 지역 또는 성별에 따라 자주 사용하는 용어들에 대한 정보를 포함할 수 있다. 사용자는 사용자 특성에 따라 동일한 의미에 대하여 형태가 다른 용어들(예: “해주세요”, “해주삼”, 해주세욤”)을 사용할 수 있다.
일 실시 예에 따르면, 동작 830에서, 파라미터 수집 모듈(291)은 사용자 특성에 기초하여 사용자 발화 패턴을 추출할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 사용자 특성 정보에 기초하여 연령, 지역 및 성별에 따라 자주 사용하는 발화 패턴을 추출할 수 있다. 예를 들어, 사용자 특성에 기초한 사용자 발화 패턴은 20대가 자주 사용하는 발화 패턴, 40대가 자주 사용하는 발화 패턴, 부산에서 자주 사용하는 발화 패턴, 제주도에서 자주 사용하는 발화 패턴, 남성이 자주 사용하는 발화 패턴 및 여성이 자주 사용하는 발화 패턴 등을 포함할 수 있다.
일 실시 예에 따르면, 동작 840에서, 추출된 사용자 발화 패턴의 수가 기준 패턴 횟수보다 큰 경우, 변형 발화 생성 모듈(291)은 사용자 발화 패턴에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들면, 변형 발화 생성 모듈(291)은 사용자 발화 패턴의 수가 기준 패턴 횟수를 비교할 수 있다. 특정 사용자 발화 패턴의 수가 기준 패턴 횟수보다 큰 경우, 특정 사용자 발화 패턴은 사용자들에 의해 자주 사용된다는 것을 의미한다. 따라서, 변형 발화 생성 모듈(291)은 추가적인 변형 발화 텍스트 세트를 생성하기 위해 특정 사용자 발화 패턴을 사용할 수 있다. 기준 패턴 횟수는 발화량에 기초하여 결정될 수 있다. 기준 패턴 횟수는 발화 복잡도에 따라 결정될 수 있다. 예를 들어, 복잡한 사용자 발화의 경우, 기준 패턴 횟수는 낮게 설정될 수 있다.
다양한 실시 예에 따르면, 변형 발화 생성 모듈(292)은 사용자 특성 정보에 기초하여 전이 학습을 통해 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들어, 변형 발화 생성 모듈(292)은 10대에 의해 많이 사용되는 제2 도메인에서 사용된 발화 패턴을 이용하여 30대에 의해 많이 사용되는 제1 도메인에 대한 변형 발화 텍스트 세트를 생성할 수 있다.
도 9는 일 실시 예에 따른 발화 추천 모드 시 지능형 서버의 동작 방법(900)을 보여주는 순서도이다. 지능형 서버의 동작 방법(900)은 발화 추천 모드 시 수신된 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트에 대응하여 수행될 수 있다.
도 9를 참조하면, 동작 910에서, 변형 발화 생성 모듈(292)은 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트를 수신할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 개발자 단말(500)로부터 트레이닝 발화 텍스트 세트를 수신할 수 있다. 트레이닝 발화 텍스트 세트는 개발자에 의해 작성된 복수의 트레이닝 발화 텍스트 세트를 포함할 수 있다. 또한, 변형 발화 생성 모듈(292)은 파라미터 수집 모듈(291)을 통해 자연어 이해 모듈(223)로부터 사용자 발화 텍스트를 수신할 수 있다. 자동 음성 인식 모듈(221)은 사용자 단말(100)로부터 수신된 사용자 입력(예: 사용자 발화)을 사용자 발화 텍스트로 변환할 수 있다.
일 실시 예에 따르면, 동작 920에서, 변형 발화 생성 모듈(292)은 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트의 도메인(제1 도메인)을 결정할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 자연어 이해 모듈(223)을 이용하여 트레이닝 발화 텍스트 세트 또는 사용자 발화 텍스트의 도메인을 결정할 수 있다.
일 실시 예에 따르면, 동작 930에서, 변형 발화 생성 모듈(292)은 제1 도메인과 유사한 발화 패턴을 가지는 제2 도메인을 결정할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 카테고리(category)에 기초하여 제1 도메인에 유사한 제2 도메인을 결정할 수 있다. 예컨대, 제1 도메인(예: 피자헛 앱)의 카테고리가 “피자 배달업”인 경우, 제2 도메인(예: 도미노피자 앱)은 “피자 배달”이라는 카테고리 내의 도메인들(예: 도미노피자 앱, 미스터피자 앱) 중에서 선택될 수 있다. 다양한 실시 예에 따르면, 변형 발화 생성 모듈(292)은 의도(intent)에 기초하여 제1 도메인에 유사한 제2 도메인을 결정할 수 있다. 예를 들어, 제1 도메인(예: 메시지 앱)의 의도가 “문자 전송”인 경우, 제2 도메인(예: 카카오톡 앱)은 “문자 전송”이라는 의도를 가지는 도메인들(예: 카카오톡 앱, 라인 앱) 중에서 선택될 수 있다.
일 실시 예에 따르면, 동작 940에서, 변형 발화 생성 모듈(292)은 제2 도메인에서 사용되는 사용자 발화 패턴에 기초하여 제1 도메인에 적용될 변형 발화 텍스트 세트를 생성할 수 있다. 예를 들면, 파라미터 수집 모듈(291)은 자연어 이해 모듈(223)로부터 사용자 발화 데이터를 수신할 수 있다. 파라미터 수집 모듈(291)은 사용자 발화 데이터를 전처리(예: 노이즈 제거, 샘플 발화 추출, 연관 발화 선택 중 적어도 하나의 처리)하여 변형 발화 생성 모듈(292)에서 사용되는 형태로 변경할 수 있다. 파라미터 수집 모듈(291)은 전처리된 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성하고, 전처리된 사용자 발화 데이터 및 사용자 발화 분류 정보를 변형 발화 생성 모듈(292)로 전송할 수 있다. 변형 발화 생성 모듈(292)은 사용자 발화 분류 정보에 기초하여 제2 도메인에서 사용되는 사용자 발화 패턴을 추출할 수 있다. 변형 발화 생성 모듈(292)은 추출된 사용자 발화 패턴을 이용하여 제1 도메인에 적용될 변형 발화 텍스트 세트를 생성할 수 있다. 변형 발화 텍스트 세트는 복수의 변형 발화 텍스트 세트를 포함할 수 있다. 예를 들어, 동작 940에서, 변형 발화 생성 모듈(292)은 도 7의 변형 발화 텍스트 세트 생성 방법 또는 도 8의 변형 발화 텍스트 세트 생성 방법을 통해 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 동작 950에서, 지능형 서버(200)는 생성된 변형 발화 텍스트 세트를 개발자 단말 또는 사용자 단말로 전송할 수 있다. 예를 들면, 변형 발화 생성 모듈(292)은 변형 발화 텍스트 세트를 제1 변형 발화 추천 모듈(293) 또는 제1 변형 발화 추천 모듈(293)로 전송할 수 있다. 변형 발화 생성 모듈(292)은 개발자 단말(500)로부터 트레이닝 발화 텍스트 세트를 수신한 경우 생성된 변형 발화 텍스트 세트를 제1 변형 발화 추천 모듈(293)로 전송할 수 있다. 제1 변형 발화 추천 모듈(293)은 변형 발화 텍스트 세트를 개발자 단말(500)로 전송할 수 있다. 한편, 변형 발화 생성 모듈(292)은 파라미터 수집 모듈(291)로부터 사용자 발화 텍스트를 수신한 경우 생성된 변형 발화 텍스트 세트를 제2 변형 발화 추천 모듈(294)로 전송할 수 있다. 제2 변형 발화 추천 모듈(294)은 변형 발화 텍스트 세트를 사용자 단말(100)로 전송할 수 있다.
이하에서는 도 10a 내지 도 10c를 참조하여, 개발자 단말에서 변형 발화 텍스트 세트가 추천되는 실시 예가 설명된다.
도 10a는 일 실시 예에 따라 트레이닝 발화 텍스트가 발화 입력기를 통해 입력될 때 입력된 도메인의 카테고리에 따라 변형 발화 텍스트가 추천되는 방법을 나타내는 도면이다.
도 10b는 일 실시 예에 따라 트레이닝 발화 텍스트가 발화 입력기를 통해 입력될 때 입력된 사용자 발화 예시의 의도에 따라 변형 발화 텍스트가 추천되는 방법을 나타내는 도면이다.
도 10c는 일 실시 예에 따라 트레이닝 발화 텍스트가 발화 입력기를 통해 입력될 때 입력된 사용자 발화 예시에 포함된 키워드에 따라 변형 발화 텍스트가 추천되는 방법을 나타내는 도면이다.
도 10a 내지 도 10c를 참조하면, 개발자 단말(예: 도 4의 개발자 단말(500))은 발화 입력기(1000)를 화면에 표시할 수 있다. 발화 입력기(1000)는 개발자로부터 다양한 항목을 입력 받아 지능형 서버(예: 도 4의 지능형 서버(200))의 자연어 이해 모듈(예: 도 4의 자연어 이해 모듈(223))을 트레이닝하기 위한 트레이닝 발화 텍스트 세트를 생성할 수 있다. 지능형 서버는 트레이닝 발화 텍스트 세트를 수신하여 자연어 이해 모듈을 트레이닝 할 수 있다. 한편, 발화 입력기(1000)는 상기 다양한 항목이 입력되는 과정에서 추가적인 사용자 발화(예: 변형 발화 텍스트)를 제공할 수 있다.
일 실시 예에 따르면, 개발자는 발화 입력기(1000)를 통해 도메인 항목(1001), 카테고리 항목(1002), 사용자 발화 예시 항목(1003), 의도 항목(1004), 동작 항목(1005), 파라미터 항목(1006) 및 응답 항목(1007)을 입력할 수 있다. 발화 입력기(1000)는 입력된 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보, 의도 정보, 동작 정보, 파라미터 정보 및 응답 정보에 기초하여 트레이닝 발화 텍스트를 생성할 수 있다.
일 실시 예에 따르면, 개발자 단말은 입력된 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보, 의도 정보, 동작 정보, 파라미터 정보 및 응답 정보 중 적어도 하나를 지능형 서버에 전송할 수 있다. 또한, 개발자 단말은 트레이닝 발화 텍스트를 지능형 서버에 전송할 수 있다. 지능형 서버는 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보, 의도 정보, 동작 정보, 파라미터 정보 및 응답 정보 중 적어도 하나에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다. 또한, 지능형 서버는 트레이닝 발화 텍스트에 기초하여 변형 발화 텍스트 세트를 생성할 수 있다.
일 실시 예에 따르면, 지능형 서버는 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보, 의도 정보, 동작 정보, 파라미터 정보 및 응답 정보 중 적어도 하나에 대응하는 변형 발화 텍스트 세트를 개발자 단말로 전송할 수 있다. 또한, 지능형 서버는 트레이닝 발화 텍스트에 대응하는 변형 발화 텍스트 세트를 개발자 단말로 전송할 수 있다. 변형 발화 텍스트 세트는 미리 생성되어 저장되거나 수신된 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보, 의도 정보, 동작 정보, 파라미터 정보 및 응답 정보 중 적어도 하나 또는 변형 발화 텍스트 세트에 기초하여 새롭게 생성될 수 있다. 변형 발화 텍스트 세트는 도 4 내지 도 8에서 설명된 방법으로 생성될 수 있다.
일 실시 예에 따르면, 개발자는 도메인 항목(1001)에 개발자가 개발을 담당하고 있는 도메인(예: 도미노 피자, 피자헛, 알람, 캘린더)을 입력할 수 있다. 개발자는 카테고리 항목(1002)에 상기 도메인이 속하는 카테고리를 입력할 수 있다. 예를 들어, 도메인이 음식 주문에 관련된 서비스(예, 도미노 피자, 피자헛, 요기요, 스타벅스, BHC)인 경우, 개발자는 카테고리 항목(1002)에 “음식 주문”을 입력할 수 있다. 카테고리 항목(1002)은 개발자가 직접 입력하거나 미리 입력된 후보들 중에 선택될 수 있다. 개발자는 사용자 발화 예시 항목(1003)에 사용자가 사용할 것으로 예상되는 사용자 발화 예시(예: 대표 발화 텍스트 또는 응용 발화 텍스트)를 입력할 수 있다. 개발자는 사용자 발화 예시 항목(1003)에 형태가 유사한 복수의 사용자 발화 예시(예: 메뉴 추천, 메뉴 추천해라, 메뉴 추천해줘, 메뉴 추천 부탁해)를 입력할 수 있다. 사용자 발화 예시 항목(1003)에 입력된 복수의 사용자 발화 예시는 동일한 의도(예: 의도 항목(1004)에 입력된 의도)로 지능형 서버에서 인식될 수 있다. 개발자는 의도 항목(1004)에 사용자 발화 예시에 대응하는 의도(예: 메뉴 추천, 메시지 전송)를 입력할 수 있다. 개발자는 동작 항목(1005)에 상기 의도에 대응하는 동작(예: 도미노 피자 앱 실행, 메시지 앱 실행, 와이파이 on/off)을 입력할 수 있다. 개발자는 파라미터 항목(1006)에 사용자 발화 예시에 포함되는 요소(예: 장소, 시간, 사람)의 내용들(예: 장소 - 서울, 광주, 부산)을 입력할 수 있다. 예를 들어, 파라미터 항목(1006)은 개발자에 의해 직접 입력되거나 시스템(예: 도 4의 개발자 단말(500), 지능형 서버(200))에서 제공되는 데이터에 기초하여 입력될 수 있다. 개발자는 응답 항목(1007)에 상기 의도에 대응하는 응답(예: 상기 의도가 “메시지 전송”인 경우, “메시지가 전송되었습니다”와 같이 상기 의도에 대응하는 동작에 대한 결과 알림)을 입력할 수 있다.
일 실시 예에 따른 도 10a를 참조하면, 도메인 항목(1001) 및 카테고리 항목(1002)이 입력된 경우, 발화 입력기(1000)는 추천 사용자 발화(1010a)를 표시할 수 있다. 예를 들면, 발화 입력기(1000)를 통해 도메인 항목(1001) 및 카테고리 항목(1002)이 입력된 경우, 개발자 단말은 입력된 도메인 정보 및 카테고리 정보를 지능형 서버로 전송하고, 지능형 서버로부터 도메인 정보 및 카테고리 정보에 대응하는 변형 발화 텍스트 세트를 수신할 수 있다. 발화 입력기(1000)는 수신된 변형 발화 텍스트 세트를 추천 사용자 발화(1010a)에 표시할 수 있다. 또는 발화 입력기(1000)는 수신된 변형 발화 텍스트 세트에 기초하여 추천 사용자 발화(1010a)를 표시할 수 있다. 예를 들어, 추천 사용자 발화(1010a)는 입력된 도메인(예: 도미노 피자)과 동일한 카테고리에 속하는 다른 도메인(예: 피자헛, 스타벅스, BHC)에서 사용되는 사용자 발화들에 기초하여 생성(예: “메뉴 추천해줘”, “피자 주문해줘”, “배달 상태 보여줘”)된 것이다. 개발자는 추천 사용자 발화(1010a)를 참고하여 사용자 발화 예시 항목(1003)을 추가적으로 작성할 수 있다.
일 실시 예에 따른 도 10b를 참조하면, 도메인 항목(1001), 카테고리 항목(1002), 사용자 발화 예시 항목(1003) 및 의도 항목(1004)이 입력된 경우, 발화 입력기(1000)는 추천 변형 발화(1020a)를 표시할 수 있다. 예를 들면, 발화 입력기(1000)를 통해 도메인 항목(1001), 카테고리 항목(1002), 사용자 발화 예시 항목(1003) 및 의도 항목(1004)이 입력된 경우, 개발자 단말은 입력된 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보 및 의도 정보를 지능형 서버로 전송하고, 지능형 서버로부터 도메인 정보, 카테고리 정보, 사용자 발화 예시 정보 및 의도 정보에 대응하는 변형 발화 텍스트 세트를 수신할 수 있다. 발화 입력기(1000)는 수신된 변형 발화 텍스트 세트에 기초하여 추천 변형 발화(1020a)를 표시할 수 있다. 예를 들어, 추천 변형 발화(1020a)는 입력된 의도(예: 메뉴 추천)와 유사한 의도(예: 지능형 서버에 의해 입력된 의도와 유사한 것으로 판단된 의도)를 가지고 유사한 도메인(예: 지능형 서버에 의해 입력된 도메인과 유사한 것으로 판단된 도메인)에서 사용되는 사용자 발화들에 기초하여 생성(예: “신메뉴 추천해줘”, “인기 메뉴 보여줘”, “요즘 가장 인기 있는 피자가 뭐야”)된 것이다. 개발자는 추천 변형 발화(1020a)를 참고하여 사용자 발화 예시 항목(1003)을 추가적으로 작성할 수 있다.
일 실시 예에 따른 도 10c를 참조하면, 발화 입력기(1000)는 수신된 변형 발화 텍스트 세트에 기초하여 추천 변형 발화(1020b)를 표시할 수 있다. 예를 들어, 추천 변형 발화(1020b)는 사용자 발화 예시(예: “에버랜드 놀러가서 찍은 사진 줄리한테 전송해줘”)에 포함된 키워드 별(예: 에버랜드, 놀러가서, 전송해줘)로 생성될 수 있다. 개발자는 추천 변형 발화(1020b)를 참고하여 사용자 발화 예시 항목(1003)을 추가적으로 작성할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 개발자 단말은 발화 입력기(1000)를 통해 추천 사용자 발화(1010) 또는 추천 변형 발화(1020)를 제공할 수 있다. 따라서, 개발자는 추천 사용자 발화(1010) 또는 추천 변형 발화(1020)에 기초하여 추가적인 사용자 발화 예시를 입력할 수 있고, 발화 입력기(1000)는 더욱 다양한 트레이닝 발화 텍스트 세트를 생성할 수 있다.
다양한 실시 예에 따르면, 개발자 단말(500)은 지능형 서버(200)로 도메인 및 카테고리를 전송하고, 지능형 서버(200)로부터 도메인 및 카테고리에 대응하는 변형 발화 텍스트(또는 변형 발화 텍스트 세트)를 수신할 수 있다. 변형 발화 텍스트(또는 변형 발화 텍스트 세트)는 지능형 서버(200)에 기 저장된 사용자 발화 데이터에 기초하여 생성 모델 또는 전이 학습 모델을 통해 생성될 수 있다. 지능형 서버(200)는 사용자 발화를 입력 받는 사용자 단말이 지능형 서버(200)로 전달한 음성 데이터를 텍스트로 변환하여 사용자 발화 데이터로서 저장할 수 있다. 예를 들어, 상기 생성 모델은 GAN(Generative Adversarial Networks), VAE(Variational Autoencoder) 및 DNN(Deep Neural Network)를 포함하고, 상기 전이 학습 모델은 Style-transfer를 포함할 수 있다.
다양한 실시 예에 따르면, 개발자 단말(500)은 지능형 서버(200)로 도메인, 카테고리 및 사용자 발화 예시(예: 트레이닝 발화 텍스트 또는 트레이닝 발화 텍스트 세트)를 전송하고, 도메인, 카테고리 및 사용자 발화 예시에 대응하는 변형 발화 텍스트(또는 변형 발화 텍스트 세트)를 수신할 수 있다.
다양한 실시 예에 따르면, 개발자 단말(500)은 수신된 변형 발화 텍스트(또는 변형 발화 텍스트 세트)에 기초하여 트레이닝 발화 텍스트(또는 트레이닝 발화 텍스트 세트)에 포함된 하나의 파라미터(제1 파라미터)에 대응하여 복수의 제2 파라미터를 표시할 수 있다. 복수의 제2 파라미터 중 하나가 선택되는 경우, 개발자 단말(500)은 선택된 파라미터가 포함된 변형 발화 텍스트(또는 변형 발화 텍스트 세트)를 표시할 수 있다.
다양한 실시 예에 따르면, 지능형 서버(200)는 개발자 단말(500)로부터 수신한 도메인을 제1 도메인으로 설정하고, 개발자 단말(500)로부터 수신한 카테고리 내에서 제1 도메인과 유사한 발화 패턴을 가지는 제2 도메인을 결정하고, 제2 도메인의 발화 패턴에 기초하여 변형 발화 텍스트를 생성할 수 있다. 예를 들어, 지능형 서버(200)는 제1 도메인에서 사용되는 의도와 유사한 의도가 사용되는 도메인을 상기 제2 도메인으로 결정할 수 있다. 또는 지능형 서버(200)는 트레이닝 발화 텍스트(또는 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트)의 의도를 판별하고, 트레이닝 발화 텍스트의 의도와 유사한 의도가 사용되는 도메인을 제2 도메인으로 결정할 수 있다. 일 실시 예에 따르면, 지능형 서버(200)는 트레이닝 발화 텍스트(또는 트레이닝 발화 텍스트 세트)에 포함된 파라미터들을 판별하고, 상기 파라미터들과 유사한 제2 도메인의 파라미터들을 이용하여 변형 발화 텍스트 세트를 생성할 수 있다.
다양한 실시 예에 따르면, 지능형 서버(200)는 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트의 수가 기준 발화 횟수보다 작은 경우 변형 발화 텍스트(또는 변형 발화 텍스트 세트)를 생성할 수 있다. 예를 들어, 기준 발화 횟수는 도메인별로 서로 다르게 설정될 수 있다. 수집되는 트레이닝 발화 텍스트의 수가 많은 도메인의 경우, 기준 발화 횟수는 상대적으로 크게 설정될 수 있다. 수집되는 트레이닝 발화 텍스트의 수가 적은 도메인의 경우, 기준 발화 횟수는 상대적으로 작게 설정될 수 있다.
다양한 실시 예에 따르면, 지능형 서버(200)는 사용자 발화 데이터에서 추출된 사용자 특성에 기초하여 변형 발화 텍스트를 생성할 수 있다. 또는 지능형 서버(200)는 사용자 특성에 기초하여 사용자 발화 패턴을 추출하고, 사용자 발화 패턴의 횟수가 기준 패턴 횟수보다 큰 경우 사용자 발화 패턴에 기초하여 변형 발화 텍스트를 생성할 수 있다. 기준 패턴 횟수는 사용자 발화 패턴의 발화량 또는 사용자 발화 패턴에 포함된 파라미터의 수에 기초하여 결정될 수 있다. 예를 들어, 사용자 특성은 나이, 지역 및 성별을 포함할 수 있다.
다양한 실시 예에 따르면, 지능형 서버(200)는 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성하고, 사용자 발화 분류 정보에 기초하여 변형 발화 텍스트를 생성할 수 있다. 예를 들어, 사용자 발화 분류 정보는 사용자 발화 데이터에 포함된 사용자 발화들의 도메인 정보, 의도 정도 및 파라미터 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 지능형 서버(200)는 사용자 발화 데이터에서 노이즈를 제거하고, 사용자 발화 데이터에서 패턴화된 샘플 패턴을 추출하고, 사용자 발화 데이터에서 트레이닝 발화 텍스트(또는 트레이닝 발화 텍스트 세트)와 의미적으로 연관이 없는 사용자 발화를 제거할 수 있다.
도 11은 일 실시 예에 따라 사용자 발화 시 사용자에게 변형 발화 텍스트를 추천하는 방법을 나타내는 도면이다.
도 11을 참조하면, 사용자 단말(예: 도 4의 사용자 단말(100))은 사용자 발화(1101)를 수신하여 사용자 발화(1101)와 유사한 변형 발화 텍스트를 제공할 수 있다.
일 실시 예에 따르면, 사용자 단말은 사용자 발화(1101)를 발화 텍스트(1111)로 변환하여 제1 화면(1110)에 표시할 수 있다. 사용자 단말은 제1 화면(1110)에 결과 보기 항목(1112)을 표시할 수 있다. 사용자가 결과 보기 항목(1112)을 선택하면, 사용자 단말은 발화 텍스트(1111)에 기초하여 탐색된 결과(예: 발화 텍스트(1111)에 대응하는 패스 룰의 실행)를 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 사용자가 변형 발화 추천 항목(1113)을 선택하면, 사용자 단말은 제2 화면(1120)을 표시할 수 있다. 사용자 단말은 제2 화면(1120)에서 사용자 발화(1101)에 대응하는 발화 텍스트(1121)를 표시하고, 발화 텍스트(1121)에 기초하여 변형 발화 텍스트(1122, 1123, 1124)를 표시할 수 있다. 사용자 단말은 사용자 발화(1101)에 대응하는 사용자 입력(예: 음성 데이터)을 지능형 서버(예: 도 4의 지능형 서버(200))로 전송할 수 있다. 지능형 서버는 수신된 사용자 입력에 대응하는 변형 발화 텍스트 세트를 사용자 단말로 전송할 수 있다. 변형 발화 텍스트 세트는 미리 생성되어 저장되거나 수신된 사용자 입력에 기초하여 새롭게 생성될 수 있다. 변형 발화 텍스트 세트는 도 4 내지 도 8에서 설명된 방법으로 생성될 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 사용자 단말은 사용자 발화(1101)가 입력될 때 변형 발화 추천 항목(1113)을 제공할 수 있다. 사용자 단말은 사용자가 변형 발화 추천 항목(1113)을 선택할 때 변형 발화 텍스트(1122, 1123, 1124)를 제공할 수 있다. 따라서, 사용자 단말은 사용자 발화 패턴과 유사한 발화 텍스트를 제공할 수 있다. 예를 들어, 사용자 단말은 사용자 발화(예: “전화 닫아주삼”)에 대하여 대표 발화(예: “전화 종료”)가 아닌 사용자 발화 패턴과 유사한(사용자에게 익숙한) 발화 텍스트(예: “전화 꺼주삼”)를 추천할 수 있다.
도 12는 다양한 실시 예들에 따른, 네트워크 환경(1200) 내의 전자 장치(1201)의 블럭도이다. 도 12를 참조하면, 네트워크 환경(1200)에서 전자 장치(1201)(예: 사용자 단말(100))는 제1 네트워크(1298)(예: 근거리 무선 통신)를 통하여 전자 장치(1202)와 통신하거나, 또는 제2 네트워크(1299)(예: 원거리 무선 통신)를 통하여 전자 장치(1204) 또는 서버(1208)(예: 지능형 서버(200))와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1201)는 서버(1208)를 통하여 전자 장치(1204)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(1201)는 프로세서(1220)(예: 프로세서(160)), 메모리(1230)(예: 메모리(150)), 입력 장치(1250)(예: 마이크(120)), 음향 출력 장치(1255)(예: 스피커(130)), 표시 장치(1260)(예: 디스플레이(140)), 오디오 모듈(1270), 센서 모듈(1276), 인터페이스(1277), 햅틱 모듈(1279), 카메라 모듈(1280), 전력 관리 모듈(1288), 배터리(1289), 통신 모듈(1290), 가입자 식별 모듈(1296), 및 안테나 모듈(1297)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1201)에는, 이 구성 요소들 중 적어도 하나(예: 표시 장치(1260) 또는 카메라 모듈(1280))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(1260)(예: 디스플레이)에 임베디드된 센서 모듈(1276)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성 요소들이 통합되어 구현될 수 있다.
프로세서(1220)는, 예를 들면, 소프트웨어(예: 프로그램(1240))를 구동하여 프로세서(1220)에 연결된 전자 장치(1201)의 적어도 하나의 다른 구성 요소(예: 하드웨어 또는 소프트웨어 구성 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1220)는 다른 구성 요소(예: 센서 모듈(1276) 또는 통신 모듈(1290))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1232)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(1234)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(1220)는 메인 프로세서(1221)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(1221)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(1223)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(1223)는 메인 프로세서(1221)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(1223)는, 예를 들면, 메인 프로세서(1221)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1221)를 대신하여, 또는 메인 프로세서(1221)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(1221)와 함께, 전자 장치(1201)의 구성 요소들 중 적어도 하나의 구성 요소(예: 표시 장치(1260), 센서 모듈(1276), 또는 통신 모듈(1290))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(1223)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(1280) 또는 통신 모듈(1290))의 일부 구성 요소로서 구현될 수 있다.
메모리(1230)는, 전자 장치(1201)의 적어도 하나의 구성 요소(예: 프로세서(1220) 또는 센서 모듈(1276))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(1240)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(1230)는 휘발성 메모리(1232) 또는 비휘발성 메모리(1234)를 포함할 수 있다.
프로그램(1240)은 메모리(1230)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(1242), 미들 웨어(1244) 또는 어플리케이션(1246)을 포함할 수 있다.
입력 장치(1250)는, 전자 장치(1201)의 구성 요소(예: 프로세서(1220))에 사용될 명령 또는 데이터를 전자 장치(1201)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(1255)는 음향 신호를 전자 장치(1201)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(1260)는 전자 장치(1201)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(1260)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(1270)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(1270)은, 입력 장치(1250)를 통해 소리를 획득하거나, 음향 출력 장치(1255), 또는 전자 장치(1201)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1202)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(1276)은 전자 장치(1201)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(1276)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(1277)는 외부 전자 장치(예: 전자 장치(1202))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(1277)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(1278)는 전자 장치(1201)와 외부 전자 장치(예: 전자 장치(1202))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(1279)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(1279)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(1280)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(1280)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(1288)은 전자 장치(1201)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(1289)는 전자 장치(1201)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(1290)은 전자 장치(1201)와 외부 전자 장치(예: 전자 장치(1202), 전자 장치(1204), 또는 서버(1208))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(1290)은 프로세서(1220)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(1290)은 무선 통신 모듈(1292)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(1294)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제1 네트워크(1298)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(1299)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(1290)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 모듈(1292)은 가입자 식별 모듈(1296)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(1201)를 구별 및 인증할 수 있다.
안테나 모듈(1297)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(1290)(예: 무선 통신 모듈(1292))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성 요소들 중 일부 구성 요소들은 주변 기기들 간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(1299)에 연결된 서버(1208)를 통해서 전자 장치(1201)와 외부의 전자 장치(1204) 간에 송신 또는 수신될 수 있다. 전자 장치(1202, 1704) 각각은 전자 장치(1201)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(1201)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(1201)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(1201)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(1201)로 전달할 수 있다. 전자 장치(1201)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제1) 구성 요소가 다른(예: 제2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(1236) 또는 외장 메모리(1238))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(1240))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(1201))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(1220))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성 요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (15)

  1. 서버와 통신하는 전자 장치의 동작 방법에 있어서,
    도메인 및 카테고리를 입력 받는 동작;
    상기 도메인 및 상기 카테고리를 상기 서버로 전송하는 동작;
    상기 서버로부터 상기 도메인 및 상기 카테고리에 대응하는 변형 발화 텍스트를 수신하는 동작; 그리고
    상기 변형 발화 텍스트를 표시하는 동작을 포함하되,
    상기 변형 발화 텍스트는 상기 서버에 기 저장된 사용자 발화 데이터에 기초하여 생성 모델 또는 전이 학습 모델을 통해 생성되고,
    상기 사용자 발화 데이터는 사용자 발화를 입력 받는 외부 전자 장치가 상기 서버로 전달한 음성 데이터를 상기 서버가 텍스트로 변환하여 저장하는 전자 장치의 동작 방법.
  2. 청구항 1에 있어서,
    상기 생성 모델은 GAN(Generative Adversarial Networks), VAE(Variational Autoencoder) 및 DNN(Deep Neural Network)를 포함하고,
    상기 전이 학습 모델은 Style-transfer를 포함하는 전자 장치의 동작 방법.
  3. 청구항 1에 있어서,
    상기 서버는,
    상기 도메인을 제1 도메인으로 설정하고, 상기 카테고리 내에서 상기 제1 도메인과 유사한 발화 패턴을 가지는 제2 도메인을 결정하고, 그리고 상기 제2 도메인의 발화 패턴에 기초하여 상기 변형 발화 텍스트를 생성하도록 설정되는 전자 장치의 동작 방법.
  4. 청구항 3에 있어서,
    상기 서버는,
    상기 제1 도메인에서 사용되는 의도와 유사한 의도가 사용되는 도메인을 상기 제2 도메인으로 결정하도록 설정되는 전자 장치의 동작 방법.
  5. 청구항 1에 있어서,
    상기 서버는,
    상기 사용자 발화 데이터에서 추출된 사용자 특성에 기초하여 상기 변형 발화 텍스트를 생성하도록 설정되는 전자 장치의 동작 방법.
  6. 청구항 5에 있어서,
    상기 서버는,
    상기 사용자 특성에 기초하여 사용자 발화 패턴을 추출하고, 그리고 상기 사용자 발화 패턴의 횟수가 기준 패턴 횟수보다 큰 경우 상기 사용자 발화 패턴에 기초하여 상기 변형 발화 텍스트를 생성하도록 설정되는 전자 장치의 동작 방법.
  7. 청구항 6에 있어서,
    상기 기준 패턴 횟수는 상기 사용자 발화 패턴의 발화량 또는 상기 사용자 발화 패턴에 포함된 파라미터의 수에 기초하여 결정되는 전자 장치의 동작 방법.
  8. 청구항 5에 있어서,
    상기 사용자 특성은 나이, 지역 및 성별을 포함하는 전자 장치의 동작 방법.
  9. 청구항 1에 있어서,
    상기 서버는,
    상기 사용자 발화 데이터에 기초하여 사용자 발화 분류 정보를 생성하고, 그리고 상기 사용자 발화 분류 정보에 기초하여 상기 변형 발화 텍스트를 생성하도록 설정되고,
    상기 사용자 발화 분류 정보는 상기 사용자 발화 데이터에 포함된 사용자 발화들의 도메인 정보, 의도 정보 및 파라미터 정보를 포함하는 전자 장치의 동작 방법.
  10. 서버와 통신하는 전자 장치의 동작 방법에 있어서,
    도메인 및 카테고리를 입력 받는 동작;
    상기 도메인 및 상기 카테고리에 대응하는 트레이닝 발화 텍스트 세트를 입력 받는 동작;
    상기 도메인, 상기 카테고리 및 상기 트레이닝 발화 텍스트 세트를 상기 서버로 전송하는 동작;
    상기 서버로부터 상기 트레이닝 발화 텍스트 세트에 대응하는 변형 발화 텍스트 세트를 수신하는 동작; 그리고
    상기 변형 발화 텍스트 세트를 표시하는 동작을 포함하되,
    상기 변형 발화 텍스트 세트는 상기 서버에 기 저장된 사용자 발화 데이터에 기초하여 생성 모델 또는 전이 학습 모델을 통해 생성되고,
    상기 사용자 발화 데이터는 사용자 발화를 입력 받는 외부 전자 장치가 상기 서버로 전달한 음성 데이터를 상기 서버가 텍스트로 변환하여 저장하는 전자 장치의 동작 방법.
  11. 청구항 10에 있어서,
    상기 서버는,
    상기 사용자 발화 데이터에서 노이즈를 제거하고, 상기 사용자 발화 데이터에서 패턴화된 샘플 패턴을 추출하고, 상기 사용자 발화 데이터에서 상기 트레이닝 발화 텍스트 세트와 의미적으로 연관이 없는 사용자 발화를 제거하도록 설정되는 전자 장치의 동작 방법.
  12. 청구항 10에 있어서,
    상기 서버는,
    상기 도메인을 제1 도메인으로 설정하고, 상기 카테고리 내에서 상기 제1 도메인과 유사한 발화 패턴을 가지는 제2 도메인을 결정하고, 그리고 상기 제2 도메인의 발화 패턴에 기초하여 상기 변형 발화 텍스트를 생성하도록 설정되는 전자 장치의 동작 방법.
  13. 청구항 12에 있어서,
    상기 서버는,
    상기 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트의 의도를 판별하고, 상기 트레이닝 발화 텍스트의 의도와 유사한 의도가 사용되는 도메인을 상기 제2 도메인으로 결정하도록 설정되는 전자 장치의 동작 방법.
  14. 청구항 12에 있어서,
    상기 서버는,
    상기 트레이닝 발화 텍스트 세트에 포함된 파라미터들을 판별하고, 상기 파라미터들과 유사한 상기 제2 도메인의 파라미터들을 이용하여 상기 변형 발화 텍스트 세트를 생성하도록 설정되는 전자 장치의 동작 방법.
  15. 청구항 10에 있어서,
    상기 서버는,
    상기 트레이닝 발화 텍스트 세트에 포함된 트레이닝 발화 텍스트의 수가 기준 발화 횟수보다 작은 경우 상기 변형 발화 텍스트 세트를 생성하도록 설정되는 전자 장치의 동작 방법.
PCT/KR2019/013443 2018-10-15 2019-10-14 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법 WO2020080771A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/279,284 US20220051661A1 (en) 2018-10-15 2019-10-14 Electronic device providing modified utterance text and operation method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180122313A KR20200042137A (ko) 2018-10-15 2018-10-15 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
KR10-2018-0122313 2018-10-15

Publications (1)

Publication Number Publication Date
WO2020080771A1 true WO2020080771A1 (ko) 2020-04-23

Family

ID=70283554

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/013443 WO2020080771A1 (ko) 2018-10-15 2019-10-14 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US20220051661A1 (ko)
KR (1) KR20200042137A (ko)
WO (1) WO2020080771A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102372642B1 (ko) 2021-01-27 2022-03-08 아주대학교산학협력단 자동 응답 생성 방법 및 장치
KR20230039909A (ko) * 2021-09-15 2023-03-22 삼성전자주식회사 불완전 연속 발화를 처리하는 서버, 전자 장치 및 그의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130289985A1 (en) * 2009-09-02 2013-10-31 At&T Intellectual Property I, L.P. System and Method for Generating User Models From Transcribed Dialogs
KR20140005639A (ko) * 2012-07-05 2014-01-15 삼성전자주식회사 전자 장치 및 이의 음성 인식 오류 수정 방법
KR20160044859A (ko) * 2014-10-16 2016-04-26 현대자동차주식회사 음성 인식 장치, 이를 포함하는 차량, 및 음성 인식 방법
KR20160089145A (ko) * 2015-01-19 2016-07-27 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR20170051994A (ko) * 2015-11-03 2017-05-12 주식회사 엘지유플러스 음성인식 디바이스 및 이의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370127B2 (en) * 2006-06-16 2013-02-05 Nuance Communications, Inc. Systems and methods for building asset based natural language call routing application with limited resources
US8073681B2 (en) * 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US10296160B2 (en) * 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10331763B2 (en) * 2014-06-04 2019-06-25 Nuance Communications, Inc. NLU training with merged engine and user annotations
SG11202000712YA (en) * 2017-08-03 2020-02-27 Telepathy Labs Inc Omnichannel, intelligent, proactive virtual agent
US11321522B1 (en) * 2017-08-04 2022-05-03 Grammarly, Inc. Artificial intelligence communication assistance for composition utilizing communication profiles
US10453454B2 (en) * 2017-10-26 2019-10-22 Hitachi, Ltd. Dialog system with self-learning natural language understanding
KR102096388B1 (ko) * 2018-06-05 2020-04-06 네이버 주식회사 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법
US10922342B2 (en) * 2018-06-11 2021-02-16 Stratifyd, Inc. Schemaless systems and methods for automatically building and utilizing a chatbot knowledge base or the like
US10140977B1 (en) * 2018-07-31 2018-11-27 botbotbotbot Inc. Generating additional training data for a natural language understanding engine

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130289985A1 (en) * 2009-09-02 2013-10-31 At&T Intellectual Property I, L.P. System and Method for Generating User Models From Transcribed Dialogs
KR20140005639A (ko) * 2012-07-05 2014-01-15 삼성전자주식회사 전자 장치 및 이의 음성 인식 오류 수정 방법
KR20160044859A (ko) * 2014-10-16 2016-04-26 현대자동차주식회사 음성 인식 장치, 이를 포함하는 차량, 및 음성 인식 방법
KR20160089145A (ko) * 2015-01-19 2016-07-27 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR20170051994A (ko) * 2015-11-03 2017-05-12 주식회사 엘지유플러스 음성인식 디바이스 및 이의 동작 방법

Also Published As

Publication number Publication date
US20220051661A1 (en) 2022-02-17
KR20200042137A (ko) 2020-04-23

Similar Documents

Publication Publication Date Title
WO2020040595A1 (ko) 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
WO2020122677A1 (en) Method of performing function of electronic device and electronic device using same
WO2021075736A1 (en) Electronic device and method for sharing voice command thereof
WO2020080635A1 (ko) 동작 상태에 기반하여 선택한 마이크를 이용하여 음성 인식을 수행하는 전자 장치 및 그의 동작 방법
WO2021060728A1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
WO2019203418A1 (ko) 음성 인식을 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2021187901A1 (en) Method for controlling external device based on voice and electronic device thereof
WO2020080771A1 (ko) 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
WO2021101276A1 (en) Electronic device for providing intelligent assistance service and operating method thereof
WO2020180000A1 (ko) 음성 인식 모델에서 사용되는 언어를 확장시키는 방법 및 음성 인식 모델을 포함하는 전자 장치
WO2020180008A1 (en) Method for processing plans having multiple end points and electronic device applying the same method
WO2020209661A1 (en) Electronic device for generating natural language response and method thereof
WO2020101389A1 (ko) 음성 인식 기반 이미지를 표시하는 전자 장치
WO2020076086A1 (en) System for processing user utterance and operating method thereof
WO2022191395A1 (ko) 사용자 명령을 처리하는 장치 및 그 동작 방법
WO2022092901A1 (ko) 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
WO2022139420A1 (ko) 전자 장치 및 그의 연속성을 가지는 사용자 입력에 대한 실행 정보를 공유하는 방법
WO2020171545A1 (en) Electronic device and system for processing user input and method thereof
WO2020076087A1 (ko) 전자 장치 및 그의 동작 방법
WO2021075820A1 (en) Method of generating wakeup model and electronic device therefor
WO2021045406A1 (en) Electronic device configured to perform action using speech recognition function and method for providing notification related to action using same
WO2020116766A1 (ko) 데이터를 학습하여 사용자를 식별하는 사용자 예측 모델을 생성하는 방법, 상기 모델을 적용한 전자 장치, 및 상기 모델을 적용하는 방법
WO2023177051A1 (ko) 증강된 문장 후보에 기반하여 사용자 발화를 처리하는 방법 및 전자 장치
WO2021020727A1 (ko) 대상의 언어 수준을 식별하는 전자 장치 및 방법
WO2024072036A1 (ko) 음성인식 장치 및 음성인식 장치의 동작방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19873256

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19873256

Country of ref document: EP

Kind code of ref document: A1