WO2020222384A1 - Electronic device and control method therefor - Google Patents

Electronic device and control method therefor Download PDF

Info

Publication number
WO2020222384A1
WO2020222384A1 PCT/KR2019/016547 KR2019016547W WO2020222384A1 WO 2020222384 A1 WO2020222384 A1 WO 2020222384A1 KR 2019016547 W KR2019016547 W KR 2019016547W WO 2020222384 A1 WO2020222384 A1 WO 2020222384A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
voice
neural network
electronic device
input
Prior art date
Application number
PCT/KR2019/016547
Other languages
French (fr)
Korean (ko)
Inventor
박영환
김명선
김대현
에거버나드
최기영
하순회
강두석
김희수
토마스 헤리스바렌드
배인표
Original Assignee
삼성전자주식회사
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 서울대학교산학협력단 filed Critical 삼성전자주식회사
Publication of WO2020222384A1 publication Critical patent/WO2020222384A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • 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
    • 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/08Learning methods
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device that recognizes a user who uttered an input user voice and performs a function corresponding to the recognized user voice command, and a control method thereof. .
  • the artificial intelligence system is a system in which machines learn, judge, and become smart. As the artificial intelligence system is used, the recognition rate improves and users' tastes can be understood more accurately, and the existing rule-based smart system is gradually being replaced by a deep learning-based artificial intelligence system.
  • Machine learning for example, deep learning
  • component technologies using machine learning.
  • Machine learning is an algorithm technology that classifies/learns the features of input data by itself
  • element technology is a technology that simulates functions such as cognition and judgment of the human brain using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control.
  • linguistic understanding is a technology that recognizes and applies/processes human language/text, and includes natural language processing, machine translation, dialogue systems, question and answer, and speech recognition/synthesis.
  • the present disclosure was devised to solve the above-described problem, and the object of the present disclosure is to recognize a user's voice by using a voice fingerprint supplemented with user information that is continuously provided, and obtain information on the user's voice command to obtain a voice command. It is to provide an electronic device that performs a function corresponding to and a control method thereof.
  • An electronic device for achieving the above object includes a microphone, a display, a memory storing at least one instruction, and a processor executing the at least one instruction, and the processor is the microphone Recognizes the user who uttered the voice input through, and when the recognized user's voice command is input through the microphone after the user is recognized, the user's voice command is transmitted to the first neural network of the first artificial intelligence model.
  • the first neural network is a neural network that is learned based on data stored in a plurality of user databases
  • the second neural network is additionally learned based on data stored in the user's database. It can be characterized as being a neural network.
  • the electronic device control method for achieving the above object, when a user voice is input, recognizing a user who uttered the input voice, and after the user is recognized, the recognized user
  • a voice command of is input, inputting the user voice command to a first neural network of a first artificial intelligence model, inputting a result output from the first neural network to a second neural network of the first artificial intelligence model, Acquiring control information corresponding to the user's voice command based on results output from the first neural network and the second neural network, and performing a function corresponding to the acquired control information
  • the first neural network may be a neural network that is learned based on data stored in a plurality of user databases
  • the second neural network may be a neural network that is additionally learned based on data stored in a user's database.
  • the electronic device continuously recognizes a user by using a voice fingerprint supplemented with user information, and responds to a user voice command through an artificial intelligence model including a plurality of neural networks.
  • an artificial intelligence model including a plurality of neural networks.
  • FIG. 1 is a diagram illustrating a use of an electronic device that recognizes a user who has spoken and performs a function according to a command of the recognized user according to an embodiment of the present disclosure.
  • FIG. 2A is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure
  • 2B is a block diagram showing in detail the configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 3 is a block diagram illustrating a process of extracting a voice fingerprint according to an embodiment of the present disclosure
  • 4A is a view for explaining a process of comparing an extracted voice fingerprint and a pre-registered voice fingerprint according to an embodiment of the present disclosure
  • 4B is a diagram for explaining a UI when recognizing a user who has spoken according to an embodiment of the present disclosure
  • FIG. 4C is a diagram for explaining a process of additionally storing voice fingerprints when voice fingerprints are stored more than a preset number according to an embodiment of the present disclosure
  • FIG. 5 is a flowchart illustrating a process of comparing and storing voice fingerprints according to an embodiment of the present disclosure
  • FIG. 6 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure
  • FIG. 7 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure
  • FIG. 8 is a block diagram showing a configuration of an electronic device for learning and using an artificial intelligence model according to an embodiment of the present disclosure
  • FIG. 9 is a block diagram showing a detailed configuration of a learning unit and a recognition unit according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining a UI for checking whether recognized voice command information is correct according to an embodiment of the present disclosure
  • FIG. 11 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” includes (1) at least one A, (2) at least one B, Or (3) it may refer to all cases including both at least one A and at least one B.
  • Some component eg, a first component
  • another component eg, a second component
  • the certain component may be directly connected to the other component or may be connected through another component (eg, a third component).
  • a component eg, a first component
  • the component and the It may be understood that no other component (eg, a third component) exists between the different components.
  • a device configured to may mean that the device “can” along with other devices or parts.
  • a subprocessor configured (or configured) to perform A, B, and C refers to a dedicated processor (eg, an embedded processor) for performing the operation, or executing one or more software programs stored in a memory device. By doing so, it may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
  • Electronic devices include, for example, smart phones, tablet PCs, mobile phones, video phones, e-book readers, desktop PCs, laptop PCs, netbook computers, workstations, servers, PDAs, and PMPs. It may include at least one of (portable multimedia player), MP3 player, medical device, camera, or wearable device.
  • the electronic device is, for example, a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, a microwave oven, an air purifier, a set-top box, a media box (eg, Samsung HomeSyncTM, Apple TVTM or Google TVTM), a game console (eg, XboxTM, PlayStationTM), an electronic dictionary, an electronic key, or an electronic frame.
  • DVD digital video disk
  • the electronic device includes various medical devices (eg, various portable medical measuring devices (blood glucose meter, heart rate meter, blood pressure meter, or body temperature meter, etc.), a navigation device, a global navigation satellite system (GNSS). ), avionics, security devices, industrial or home robots, drones, ATMs of financial institutions, point of sales (POS) of stores, or Internet of Things devices.
  • various medical devices eg, various portable medical measuring devices (blood glucose meter, heart rate meter, blood pressure meter, or body temperature meter, etc.), a navigation device, a global navigation satellite system (GNSS).
  • GNSS global navigation satellite system
  • avionics security devices
  • industrial or home robots drones
  • ATMs of financial institutions e.g., ATMs of financial institutions, point of sales (POS) of stores, or Internet of Things devices.
  • POS point of sales
  • the term user may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using an electronic device.
  • a device eg, an artificial intelligence electronic device
  • FIG. 1 is a diagram illustrating a use of an electronic device that recognizes a user who has spoken and performs a function according to a command of the recognized user according to an embodiment of the present disclosure.
  • the electronic device 100 may receive a voice 10 from a user through the microphone 110.
  • the voice 10 received from the user may be a trigger voice that initiates the voice fingerprint extraction 30 representing the user.
  • the trigger voice may be'Hi Bixby' as shown in (a) of FIG. 1, but this is only an example and can be freely set by the user.
  • the electronic device 100 may pre-process the voice 10 received from the user before inputting it into the learned second artificial intelligence model 20 to obtain a voice fingerprint.
  • the electronic device 100 may distinguish between an actual user's voice and a background noise that does not contain a meaning from the input voice and delete the background noise. That is, the electronic device 100 may delete meaningless background noise from among the input voices 10 in order to input only the user voice having actual meaning to the second artificial intelligence model 20.
  • the electronic device 100 may amplify only the amplitude of the frequency band in which the user's voice exists among voices 10 input from the user and delete the remaining frequency bands.
  • the electronic device 100 may divide the preprocessed speech into a preset frame unit, and extract a characteristic vector or a characteristic matrix of the speech in the frame section.
  • the electronic device 100 may input a feature vector or a feature matrix of the voice into the second artificial intelligence model 20 to extract a voice fingerprint representing the user (30), but this is only an example, and the electronic device 100 By inputting the preprocessed voice into the second artificial intelligence model 20 as it is, a voice fingerprint representing the user may be extracted (30).
  • the voice fingerprint 41 representing the user shown in FIG. 1B may be data obtained by analyzing the frequency of energy of the user's voice.
  • the data obtained by analyzing the frequency of the energy of the user's voice may be in the form of a vector or matrix, and may be in the form of an image that visually represents the spectrum in the frequency band of the voice.
  • the electronic device 100 may recognize a user who uttered the input user's voice by comparing the voice fingerprint 41 representing the user with the previously registered voice fingerprints 42, 43-1, and 43-2. Specifically, the electronic device 100 may calculate an error by comparing the voice fingerprint 41 representing the user with the previously registered voice fingerprints 42, 43-1, and 43-2. In addition, when the calculated error does not exceed the threshold value, the electronic device 100 may recognize the user who uttered the input voice.
  • the electronic device 100 may store the voice fingerprint 41 representing the user in the memory 130.
  • the preset value may be a value smaller than the threshold value.
  • the electronic device 100 may delete the last stored voice fingerprint representing the user. That is, the electronic device 100 may store and manage the voice fingerprint in a first-in first-out (FIFO) method. That is, the electronic device 100 may include a buffer for storing the voice fingerprint 41.
  • FIFO first-in first-out
  • the electronic device 100 may continue to store the voice fingerprint 42 indicating the first registered user. Accordingly, when a voice fingerprint representing a user is stored in excess of the preset number, the electronic device 100 may delete the last stored voice fingerprint except for the first registered voice fingerprint 42.
  • the pre-registered voice fingerprint may be average data of the voice fingerprint 42 representing the first registered user and the voice fingerprint 43-1 and 43-2 representing the stored user.
  • the electronic device 100 in a state in which a preset number of voice fingerprints are stored, if there is an additionally stored voice fingerprint, the electronic device 100 may be configured to use the last voice fingerprint 43-stored except for the first registered voice fingerprint 42. After deleting 1), the average data of the stored voice fingerprint can be obtained.
  • the threshold value may be changed in correspondence with a voice fingerprint representing a newly stored user. That is, since the user's voice may not always be the same and may vary over time, the electronic device 100 may change the threshold value according to an additionally stored voice fingerprint. Specifically, when the energy frequency distribution of the voice corresponding to the newly stored voice fingerprint is different from the energy frequency distribution of the voice corresponding to the previously registered voice fingerprint, the electronic device 100 may change the threshold value to correspond to the difference. have.
  • the electronic device 100 may control the display 120 to display a UI 50 including a message indicating that the user has been recognized.
  • the electronic device 100 transmits the voice command to a device including a plurality of neural networks.
  • Control information corresponding to a voice command may be obtained by inputting it into the artificial intelligence model 70.
  • the first artificial intelligence model 70 may be a model using a first neural network learned through a plurality of user voice commands and a second neural network learned through a user’s voice command.
  • the first neural network may be referred to as a general neural network, a global neural network, and the like, and will be described below as a general neural network.
  • the second neural network may be referred to as a personal neural network, and hereinafter, it will be described as a personal neural network.
  • the electronic device 100 may input the inputted user's voice command 60 to the general neural network of the first artificial intelligence model 70.
  • the general neural network may be a neural network learned based on data stored in a plurality of user databases.
  • information of a plurality of users, a plurality of voice commands, and control information corresponding to the voice commands may be stored.
  • the electronic device 100 may input the recognized user's database and the result output from the general neural network into the personal neural network of the first artificial intelligence model 70.
  • the personal neural network can learn additionally based on data stored in the recognized user's database.
  • the user's database may store recognized user information, a previously input voice command, and control information corresponding to the voice command.
  • control information for a user's voice command may be obtained based on a result output from a general neural network and a result output from a personal neural network based on data stored in the user database. That is, the electronic device 100 may recognize the voice command through control information on the user voice command (80).
  • the electronic device 100 may perform a function corresponding to the acquired control information. For example, when a voice command 60 of'tell me today's weather' is input to the first artificial intelligence model 70 to obtain control information corresponding to the voice command, the electronic device 100 provides information on today's weather.
  • the display 120 may be controlled to display the UI 90 including.
  • the artificial intelligence model learned in the present disclosure may be constructed in consideration of the application field of the recognition model or the computer performance of the device.
  • the artificial intelligence model may be trained to obtain control information corresponding to the voice command by inputting a voice command.
  • the recognition model may be designed to simulate the human brain structure on a computer and may include a plurality of network nodes with weights, which simulate neurons of a human neural network. A plurality of network nodes may each form a connection relationship so as to simulate the synaptic activity of neurons that send and receive signals through synapses.
  • the artificial intelligence model may be a deep neural network (DNN), but this is only an example, and another artificial intelligence model may be used.
  • DNN deep neural network
  • the electronic device 100 may use an artificial intelligence agent to search for information corresponding to a voice command.
  • the artificial intelligence agent is a dedicated program for providing AI (Artificial Intelligence)-based services (e.g., voice recognition service, secretary service, translation service, search service, etc.), and is an existing general-purpose processor (for example, CPU) or a separate AI dedicated processor (for example, GPU, etc.).
  • AI Artificial Intelligence
  • Intelligent agents can operate.
  • the artificial intelligence agent may acquire information corresponding to the voice command based on the user's voice.
  • the artificial intelligence agent may be operated.
  • the artificial intelligence agent is previously executed before the user's voice is input after a preset trigger voice is input or a button provided in the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed. It can be a state.
  • the electronic device 100 may perform a function of retrieving control information information for a user's voice command.
  • the artificial intelligence agent is in a standby state before the user's voice is input after a preset trigger voice is input or a button provided on the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed.
  • the standby state is a state in which a predefined user input is received to control the start of the operation of the artificial intelligence agent.
  • the electronic The device 100 may operate an artificial intelligence agent, and may search for and provide control information according to a user's voice command.
  • FIG. 2A is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may include a microphone 110, a display 120, a memory 130, and a processor 140.
  • the configurations shown in FIG. 2A are exemplary diagrams for implementing embodiments of the present disclosure, and appropriate hardware/software configurations, which are obvious to a person skilled in the art, may be additionally included in the electronic device 100.
  • the microphone 110 is a configuration for receiving a user's voice and may be provided inside the electronic device 100, but this is only an example, and is provided outside the electronic device 100 It may be electrically connected or may be communicatively connected through the communication unit 160.
  • the microphone 110 may be provided in a separate remote controller for controlling the electronic device 100, and at this time, the remote controller may be provided with a button for executing an artificial intelligence agent.
  • the display 120 may display various types of information under the control of the processor 140.
  • the display 120 may display a UI including a message indicating that the user has been recognized.
  • the display 120 may display a UI for checking whether the information acquired by the electronic device 100 through the first artificial intelligence model 70 corresponds to information on a user's voice command.
  • the display 120 may be implemented as a touch screen together with a touch panel. However, it is not limited to the above-described implementation, and the display 120 may be implemented differently according to the type of the electronic device 100.
  • the memory 130 may store an instruction or data related to at least one other component of the electronic device 100.
  • the memory 130 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the memory 130 is accessed by the processor 140, and data read/write/edit/delete/update by the processor 140 may be performed.
  • the term memory refers to a memory 130, a ROM (not shown) in the processor 140, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (for example, micro SD Card, memory stick).
  • the memory 130 may store programs and data for configuring various screens to be displayed in the display area of the display 120.
  • the memory 130 may store a program for executing an artificial intelligence agent.
  • the artificial intelligence agent is a personalized program for providing various services to the electronic device 100.
  • the memory 130 may store the learned first artificial intelligence model 70 to obtain control information corresponding to a user's voice command.
  • the memory 130 may store a voice fingerprint representing a user extracted from the second artificial intelligence model 20 and the second artificial intelligence model 20 learned to acquire a voice fingerprint.
  • the processor 140 is electrically connected to the memory 130 to control overall operations and functions of the electronic device 100.
  • the processor 140 extracts a voice fingerprint representing the user based on the voice input through the microphone 110 by executing at least one instruction stored in the memory 130, and
  • the user who uttered the input user's voice is recognized by comparing the previously registered voice fingerprints, and when the user's voice command recognized through the microphone is input after the user is recognized, the user's voice command is transmitted to a plurality of neural networks.
  • the control information corresponding to the user's voice command may be obtained by inputting into the first artificial intelligence model 70 including ), and a function corresponding to the acquired control information may be performed.
  • the processor 140 may pre-process the input voice when a user voice is input through the microphone 110. Specifically, the processor 140 may obtain only the voice part of the actual user by classifying a non-significant background noise part and a voice part of an actual user among the input voice, and deleting the background noise part. Further, the processor 140 may amplify only the amplitude of the frequency band in which the user's voice exists and delete the remaining bands.
  • the above-described method is only an embodiment, and the processor 140 may pre-process the input voice in various ways.
  • the processor 140 may divide the preprocessed speech into a predetermined frame unit, and extract a characteristic vector or a characteristic matrix of the speech in the frame section.
  • the processor 140 may extract a voice fingerprint representing a user by inputting a feature vector of a voice, a feature matrix, or the preprocessed voice itself into the second artificial intelligence model 20.
  • the voice fingerprint representing the user may be data obtained by analyzing the frequency of energy of the user's voice.
  • the data obtained by analyzing the frequency of the energy of the user's voice may be in the form of a vector or matrix, and may be in the form of an image that visually represents the spectrum in the frequency band of the voice.
  • the processor 140 may recognize a user who uttered the input voice by comparing the extracted voice fingerprint with a previously registered voice fingerprint. Specifically, the processor 140 calculates an error by comparing a voice fingerprint representing a user with a previously registered voice fingerprint, and when the calculated error does not exceed a threshold value, the processor 140 may recognize a user who uttered the input voice. . When the calculated error does not exceed a preset value, the processor 140 may store a voice fingerprint representing the user in the memory 130. In addition, when a voice fingerprint representing a user is stored in the memory 130 in excess of a preset number, the last stored voice fingerprint representing the user may be deleted.
  • the previously registered voice fingerprint may be average data of a voice fingerprint indicating a first registered user and a voice fingerprint indicating a stored user. Accordingly, when the number of voice fingerprints is stored in excess of the preset number, the processor 140 may delete the last stored voice fingerprint except for the first registered voice fingerprint. In addition, the processor 140 may obtain average data of the initially registered voice fingerprint and the remaining voice fingerprints, and calculate a voice fingerprint representing the newly extracted user and an error.
  • the processor 140 may change the threshold value in response to the newly stored voice fingerprint representing the user. Specifically, when the energy frequency distribution of the voice corresponding to the newly stored voice fingerprint is different from the energy frequency distribution of the voice corresponding to the previously registered voice fingerprint, the processor 140 may change the threshold value to correspond to the difference. .
  • the processor 140 inputs the input user's voice command into the first artificial intelligence model 70, and the result output from the recognized user's database and the general neural network is input to the individual of the first artificial intelligence model 70. It can be entered into a neural network. Further, the processor 140 may obtain information on a user's voice command based on results output from the general neural network and the personal neural network. Specifically, the processor 140 may input a user's voice command to a pre-learned general neural network based on data stored in a plurality of user databases. In addition, the processor 140 may input control information corresponding to a voice command output from a general neural network and a recognized user's database to the personal neural network. Meanwhile, the personal neural network may be additionally learned based on data stored in the user database. Further, the processor 140 may obtain final control information for a user's voice command based on results output from the general neural network and the personal neural network.
  • the processor 140 may control the display 120 to display a UI for checking whether the acquired information corresponds to information about the user's voice command.
  • the processor 140 may additionally learn the personal neural network by inputting the acquired information and the user voice command into the personal neural network. Accordingly, when the same voice command is input later, the processor 140 may acquire control information corresponding to the correct voice command through the learned personal neural network.
  • the processor 140 may perform a function corresponding to the acquired control information. For example, when a user's voice command for notifying today's weather is input to obtain control information corresponding to today's weather, the processor 140 may control the display 120 to display a UI for today's weather.
  • the electronic device 100 includes a microphone 110, a display 120, a memory 130, a processor 140, a speaker 150, a communication unit 160, a camera 170, and an input unit. It may include 180. Meanwhile, since the microphone 110, the display 120, the memory 130, and the processor 140 have been described in FIG. 2A, redundant descriptions will be omitted.
  • the speaker 150 is a component that outputs various notification sounds or voice messages as well as various audio data on which various processing tasks such as decoding, amplification, and noise filtering have been performed by an audio processing unit (not shown).
  • the speaker 150 is merely an exemplary embodiment, and may be implemented as another output terminal capable of outputting audio data.
  • the communication unit 160 may communicate with an external device through various communication methods.
  • the communication connection between the communication unit 160 and an external device may include communicating via a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
  • a third device eg, a repeater, a hub, an access point, a server, or a gateway.
  • the communication unit 160 may include various communication modules to perform communication with an external device.
  • the communication unit 150 may include a wireless communication module, for example, LTE, LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications). system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications), or the like.
  • the wireless communication module is, for example, WiFi (wireless fidelity), Bluetooth, Bluetooth low power (BLE), Zigbee, NFC (near field communication), magnetic secure transmission, radio frequency It may include at least one of (RF) or a body area network (BAN).
  • the communication unit 160 may include a wired communication module, for example, universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard232 (RS-232), power line communication, or plain old (POTS). telephone service) and the like.
  • the network in which wireless communication or wired communication is performed may include at least one of a telecommunication network, for example, a computer network (eg, LAN or WAN), the Internet, or a telephone network.
  • the camera 170 may photograph a user.
  • the photographed user's picture may be included in a UI displayed when the user is recognized.
  • the camera 170 may be provided in at least one of the front and the rear of the electronic device 100.
  • the camera 170 may be provided inside the electronic device 100, but this is only an example, and exists outside the electronic device 100, and may be connected to the electronic device 100 by wire or wirelessly.
  • the input unit 180 may receive various user inputs and transmit them to the processor 140.
  • the input unit 180 may include a touch sensor, a (digital) pen sensor, a pressure sensor, a key, or a microphone.
  • the touch sensor may use at least one of, for example, a capacitive type, a pressure sensitive type, an infrared type, or an ultrasonic type.
  • the (digital) pen sensor may be part of, for example, a touch panel, or may include a separate recognition sheet.
  • the key may include, for example, a physical button, an optical key, or a keypad.
  • the input unit 180 may obtain an input signal according to a user command input through the UI. In addition, the input unit 180 may transmit an input signal to the processor 140.
  • the processor 140 is a central processing unit (CPU) that processes digital signals, a micro controller unit (MCU), a micro processing unit (MPU), a controller, and an application processor (AP). , Or one or more of a communication processor (CP) and an ARM processor, or may be defined with a corresponding term. Further, the processor 140 may be implemented as a system on chip (SoC) or large scale integration (LSI) in which a processing algorithm is embedded, or may be implemented in the form of a field programmable gate array (FPGA). The processor 140 may perform various functions by executing computer executable instructions stored in the memory 130. In addition, the processor 140 may include at least one of a graphics-processing unit (GPU), a neural processing unit (NPU), and a visual processing unit (VPU), which are separate AI-only processors, in order to perform an artificial intelligence function. have.
  • GPU graphics-processing unit
  • NPU neural processing unit
  • VPU visual processing unit
  • the electronic device 100 may receive a user voice through the microphone 110 (310).
  • the inputted user voice may be a trigger voice for starting voice fingerprint extraction.
  • the trigger voice may be'Hi Bixby', but this is only an example and can be freely changed by the user.
  • the electronic device 100 may pre-process the input voice (320).
  • the electronic device 100 may preprocess the user's voice in various ways, such as amplifying the amplitude of the frequency band in which the actual voice is located and deleting the remaining bands.
  • the electronic device 100 may go through a process of removing background noise from the input voice and securing only the voice with real meaning in order to input the learned second artificial intelligence model 20 to obtain a voice fingerprint.
  • the electronic device 100 may divide the preprocessed speech into a predetermined frame unit, and extract a characteristic vector or a characteristic matrix of the speech in the frame section.
  • the electronic device 100 may input the extracted feature vector, the feature matrix, or the preprocessed voice itself into the second artificial intelligence model 20 (330). That is, the electronic device 100 may input the voice feature vector and the feature matrix as well as the preprocessed voice itself into the second artificial intelligence model 20 to extract the voice fingerprint.
  • the second artificial intelligence model 20 is an artificial intelligence model that has been trained to acquire a voice fingerprint. Accordingly, the second artificial intelligence model 20 may extract a voice fingerprint, which is data obtained by analyzing the distribution of energy frequencies of the user's voice, based on the feature vector, the feature matrix, and the preprocessed voice of the input voice (340 ).
  • the voice fingerprint may be image data indicating the distribution of the energy frequency of the user's voice, and may be expressed in the form of a vector or matrix.
  • the electronic device 100 may recognize a user who uttered the input voice by comparing the extracted voice fingerprint with a previously registered voice fingerprint. The specific process will be described in detail in FIGS. 4A to 4C and FIG. 5.
  • the electronic device 100 may compare a voice fingerprint 410 representing an extracted user with a previously registered voice fingerprint 420, 430, and 440. Specifically, the electronic device 100 calculates an error by comparing the voice fingerprint 410 representing the user with the previously registered voice fingerprints 420, 430, 440, and inputs when the calculated error does not exceed a threshold value. The user who uttered the voiced voice can be recognized.
  • the previously registered voice fingerprint may be average data of the first registered voice fingerprint 420 and the stored voice fingerprints 430 and 440. Accordingly, the electronic device 100 may calculate an error by comparing the average data of the initially registered voice fingerprint 420 and the stored voice fingerprints 430 and 440 with the voice fingerprint 410 representing the user.
  • the electronic device 100 may use the cosine similarity when calculating an error between voice fingerprints.
  • Equation (1) above is an equation to calculate the cosine similarity between voice fingerprints. For example, if the voice fingerprint representing the user is a and the previously registered voice fingerprint is b, the electronic device 100 may calculate the similarity and calculate the error using the above equation (1).
  • the above equation (2) is an equation for calculating the cosine similarity when the number of previously registered voice fingerprints is plural. For example, if the voice fingerprint representing the user is Xin, the number of pre-registered voice fingerprints is N, and the pre-registered voice fingerprint is Xq, the electronic device 100 calculates the similarity by using the above (2) equation. You can calculate and calculate the error.
  • FIG. 4B is a diagram illustrating a UI when recognizing a user who has spoken according to an embodiment of the present disclosure.
  • the electronic device 100 may control the display 120 to display a message indicating that the user has been recognized and a UI including user information.
  • the user information may be a user's name, a user's picture taken through the camera 170, and the like, but this is only an example.
  • FIG. 4C is a diagram illustrating a process of additionally storing voice fingerprints by the electronic device 100 when voice fingerprints are stored in excess of a preset number, according to an embodiment of the present disclosure. If the error calculated by comparing the voice fingerprint 410 representing the user with the previously registered voice fingerprint 420, 430, and 440 does not exceed a preset value, the electronic device 100 may display the voice fingerprint 410 representing the user. May be stored in the memory 130. In addition, when a voice fingerprint representing a user is stored in the memory 130 in excess of a preset number, the electronic device 100 may delete the voice fingerprint 430 that represents the last stored user.
  • the electronic device 100 may delete the last stored voice fingerprint 430 except for the first registered voice fingerprint 420.
  • the preset number is three, but this is only an example, and the preset number may be changed according to the type of the electronic device 100 or user setting.
  • the electronic device 100 may change the threshold value in response to the voice fingerprint 410 representing a newly stored user. Specifically, when the frequency distribution of the energy of the voice corresponding to the newly stored voice fingerprint 410 is different from the frequency distribution of the energy of the voice corresponding to the previously registered voice fingerprint 420, 430, 440, the electronic device ( 100) may change the threshold value to correspond to the difference.
  • FIG. 5 is a flowchart illustrating a process of comparing and storing voice fingerprints according to an embodiment of the present disclosure.
  • the electronic device 100 may calculate an error by comparing a voice fingerprint representing a user with a previously registered voice fingerprint (S510). Specifically, the electronic device 100 may calculate an error by comparing a previously registered voice fingerprint, which is the average data of the voice fingerprint registered first and the voice fingerprint stored later, with the voice fingerprint representing the user. When the calculated error exceeds the threshold value, the electronic device 100 may fail to recognize the user (S525). When the calculated error does not exceed the threshold value, the electronic device 100 may recognize the user who uttered the input user voice (S530). Further, the electronic device 100 may control the display 120 to display a UI including information on the recognized user and a message indicating that the recognition has been completed.
  • the electronic device 100 may determine whether the calculated error exceeds a preset value smaller than a threshold value (S540). When it is determined that the calculated error does not exceed a preset value, the electronic device 100 may store a voice fingerprint representing the user in the memory 130 (S550). In addition, the electronic device 100 may determine whether or not more than a preset number of voice fingerprints are stored in the memory 130 (S560). The preset number may vary according to the type of electronic device 100 and may be determined by a user. When it is determined that voice fingerprints are stored in the memory 130 in excess of the preset number, the electronic device 100 may delete the last stored voice fingerprint (S570). In particular, the electronic device 100 may delete the last stored voice fingerprint except for the first registered voice fingerprint.
  • the electronic device 100 may change the threshold value in response to the newly stored voice fingerprint (S580). Specifically, when the energy frequency distribution of the voice corresponding to the newly stored voice fingerprint is different from the energy frequency distribution of the voice corresponding to the previously registered voice fingerprint, the electronic device 100 may change the threshold value to correspond to the difference. have.
  • FIG. 6 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure.
  • the electronic device 100 may receive the recognized user's voice command through the microphone 110 (610).
  • the electronic device 100 may input the inputted user's voice command to the first artificial intelligence model 70 including a plurality of neural networks.
  • the first artificial intelligence model 70 uses a general neural network learned through a plurality of user's voice commands and a personal neural network learned through a user's voice command to control information corresponding to a user's voice command. Can be obtained.
  • the electronic device 100 may input the inputted user's voice command to the general neural network 620 of the first artificial intelligence model.
  • the general neural network 620 is a neural network learned based on data stored in a plurality of user databases.
  • information on a plurality of users, voice commands previously input by the plurality of users, and data on functions performed according to the voice commands are stored. Accordingly, the electronic device 100 may obtain information corresponding to the voice command by inputting a user voice command to the general neural network 620 learned based on data stored in a plurality of user databases.
  • the general neural network 620 may extract feature points of an input user voice command.
  • the feature point may be in the form of a vector, but is only an example and may be stored in various forms. Further, the general neural network 620 may extract control information for the voice command by comparing the feature points of the extracted user voice command with data stored from a plurality of user databases.
  • the electronic device 100 may input the result output from the general neural network 620 and the recognized user's database 640 into the personal neural network 630 of the first artificial intelligence model 70.
  • the personal neural network 630 is a neural network that is additionally learned based on data stored in the user's database 640.
  • the user's database 640 stores user information and data on a voice command previously input by the user and a function performed according to the voice command. Accordingly, the personal neural network 630 may acquire information on a voice command based on data stored in the user's database 640 and a newly inputted user voice command, and further learn.
  • the personal neural network 630 may output control information for a user's voice command by connecting a result input from the general neural network 620 with information acquired by itself. That is, the electronic device 100 may obtain information on a user voice command based on results output from the general neural network 620 and the personal neural network 630 (650 ).
  • FIG. 7 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure.
  • the personal neural network 630 may include a neural layer 710 and a connection layer 720.
  • the neural layer 710 is learned based on data stored in the user database 640 and a newly input voice command, and may output control information for the voice command. Information on a user voice command newly output from the neural layer 710 may be stored in the user database 640. Further, the neural layer 710 may additionally output information on a voice command based on a result output from the general neural network 620.
  • the neural layer 710 may receive the final result output from the general neural network, but this is only an example, and the intermediate result output from the general neural network 620 may be input.
  • the neural layer 710 may include a convolutional layer and a pooling layer.
  • a feature map can be output by extracting a feature of a voice command and passing a filter.
  • the size of the feature map output from the convolutional layer can be reduced.
  • the feature map is composed of a plurality of submaps, and values corresponding to voice features are stored in the submap.
  • the integration layer can reduce the size of the feature map by storing only the largest value or the average value among values corresponding to the voice features stored in each submap. Accordingly, the neural layer 710 may output information on a voice command through a convolutional layer and an integration layer on the result output from the general neural network.
  • connection layer 720 may connect the result output from the general neural network and the result output from the neural layer 710 to output final control information for the voice command.
  • the connection layer 720 is a user that can be recognized by the electronic device 100 by integrating information on a voice command output from the general neural network 620 and information on a voice command output from the neural layer 710 Control information for voice commands can be output. Accordingly, the electronic device 100 may finally obtain control information corresponding to the voice command output from the connection layer 720.
  • FIG. 8 is a block diagram illustrating a configuration of an electronic device for learning and using an artificial intelligence model according to an embodiment of the present disclosure.
  • the processor 800 may include at least one of a learning unit 810 and an acquisition unit 820.
  • the processor 800 of FIG. 8 may correspond to the processor 140 of the electronic device 100 of FIGS. 2A and 2B or a processor of a data learning server (not shown).
  • the learning unit 810 may generate or train a first model for obtaining control information corresponding to a user's voice command and a second model for extracting a voice fingerprint representing the user.
  • the learning unit 810 may generate a trained model having a recognition criterion using the collected training data.
  • the learning unit 810 may generate, learn, or update a first model for acquiring control information corresponding to the user voice command by using the user voice command as input data.
  • the learning unit 810 may generate, learn, or update a second model for extracting a voice fingerprint representing a user by using a feature vector, a feature matrix, and a preprocessed voice as input data.
  • the first model and the second model may be implemented as an integrated model. That is, the integrated model may extract information on the user's voice command and a voice fingerprint representing the user by using the user's voice command as input data.
  • the acquisition unit 820 may acquire various types of information by using predetermined data as input data of the trained model.
  • the acquisition unit 820 may acquire (or recognize, estimate) information on the user's voice command by using the user's voice command as input data of the learned first model.
  • the acquisition unit 820 may acquire (or estimate, infer, or recognize) a voice fingerprint representing the user by using the feature vector, the feature matrix, and the preprocessed voice of the user voice as input data of the learned second model.
  • At least a portion of the learning unit 810 and at least a portion of the acquisition unit 820 may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on an electronic device.
  • at least one of the learning unit 810 and the acquisition unit 820 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (eg, CPU or application processor) or a graphics dedicated processor (for example, a GPU), and mounted on the aforementioned various electronic devices.
  • AI artificial intelligence
  • the dedicated hardware chip for artificial intelligence is a dedicated processor specialized in probability calculation, and has higher parallel processing performance than conventional general-purpose processors, so it can quickly process computation tasks in artificial intelligence fields such as machine learning.
  • the software module is a non-transitory readable recording medium that can be read by a computer. transitory computer readable media).
  • the software module may be provided by an OS (Operating System) or a predetermined application.
  • OS Operating System
  • some of the software modules may be provided by an operating system (OS), and some of the software modules may be provided by a predetermined application.
  • the learning unit 810 and the acquisition unit 820 may be mounted on one electronic device or may be mounted on separate electronic devices, respectively.
  • one of the learning unit 810 and the acquisition unit 820 may be included in the electronic device 100 and the other may be included in an external server.
  • the learning unit 810 and the acquisition unit 820 may provide model information built by the learning unit 810 to the acquisition unit 820 through wired or wireless, or input to the learning unit 810 Data may be provided to the learning unit 810 as additional learning data.
  • FIG. 9 is a block diagram showing a detailed configuration of a learning unit and a recognition unit according to an embodiment of the present disclosure.
  • the learning unit 810 may include a learning data acquisition unit 810-1 and a model learning unit 810-4.
  • the learning unit 810 may selectively further include at least one of a training data preprocessor 810-2, a training data selection unit 810-3, and a model evaluation unit 810-5.
  • the training data acquisition unit 810-1 may acquire training data required for the first model and the second model.
  • the learning data acquisition unit 11110-1 may acquire a user voice command, a feature vector of a voice, a feature matrix, and a preprocessed voice as learning data.
  • the learning data may be data collected or tested by the learning unit 810 or the manufacturer of the learning unit 810.
  • the model learning unit 810-4 may learn to have a reference for how to obtain control information for a user's voice command and a voice fingerprint representing the user by using the training data. For example, the model learning unit 810-4 may train an artificial intelligence model through supervised learning using at least a portion of the training data as a criterion for determination. Alternatively, the model learning unit 810-4, for example, by self-learning using the training data without any special guidance, through unsupervised learning to find a criterion for determining the situation, artificial intelligence You can train the model. In addition, the model learning unit 810-4 may train the artificial intelligence model through reinforcement learning using feedback on whether a result of situation determination according to learning is correct, for example. In addition, the model learning unit 810-4 may train the artificial intelligence model using, for example, a learning algorithm including error back-propagation or gradient descent.
  • the model learning unit 810-4 may determine an artificial intelligence model having a high correlation between the input training data and the basic training data as an artificial intelligence model to be trained.
  • the basic training data may be pre-classified by data type, and the artificial intelligence model may be pre-built for each data type.
  • the basic learning data may be classified according to various criteria such as an area in which the training data is generated, a time when the training data is generated, a size of the training data, a genre of the training data, and a creator of the training data.
  • the model learning unit 810-4 may store the learned artificial intelligence model.
  • the model learning unit 810-4 may store the learned artificial intelligence model in the memory 130 of the electronic device 100.
  • the model learning unit 810-4 may store the learned artificial intelligence model in a memory of a server connected to the electronic device 100 through a wired or wireless network.
  • the learning unit 810 is a training data preprocessing unit 810-2 and a training data selection unit 810-3 in order to improve the recognition result of the artificial intelligence model or save resources or time required for generation of the artificial intelligence model. ) May be further included.
  • the learning data preprocessor 810-2 may preprocess the acquired data so that the acquired data can be used for learning for acquiring control information corresponding to a voice command and extracting a voice fingerprint.
  • the training data preprocessing unit 810-2 is configured to preset the acquired data so that the model learning unit 810-4 can use the acquired data for learning for acquiring control information corresponding to a voice command and extracting a voice fingerprint. It can be processed into a format.
  • the learning data selection unit 810-3 may select data necessary for learning from data acquired by the learning data acquisition unit 810-1 or data preprocessed by the learning data preprocessor 810-2.
  • the selected training data may be provided to the model learning unit 810-4.
  • the learning data selection unit 810-3 may select learning data required for learning from acquired or preprocessed data according to a preset selection criterion.
  • the training data selection unit 810-3 may select training data according to a preset selection criterion by learning by the model learning unit 810-4.
  • the learning unit 810 may further include a model evaluation unit 810-5 in order to improve the recognition result of the artificial intelligence model.
  • the model evaluation unit 810-5 inputs evaluation data to the artificial intelligence model, and when the recognition result output from the evaluation data does not satisfy a predetermined criterion, the model learning unit 810-4 may retrain. have.
  • the evaluation data may be predefined data for evaluating an artificial intelligence model.
  • the model evaluation unit 810-5 may set a predetermined criterion when the number or ratio of evaluation data whose recognition result is not accurate among the recognition results of the learned artificial intelligence model for the evaluation data exceeds a preset threshold. It can be evaluated as not satisfied.
  • the model evaluation unit 810-5 evaluates whether each of the learned artificial intelligence models satisfies a predetermined criterion, and determines a model that satisfies the predetermined criterion. Can be determined as a model. In this case, when there are a plurality of models that satisfy a predetermined criterion, the model evaluation unit 810-5 may determine any one or a predetermined number of models set in advance in the order of the highest evaluation scores as the final artificial intelligence model.
  • the acquisition unit 820 may include an input data acquisition unit 820-1 and a providing unit 820-4.
  • the acquisition unit 820 may further selectively include at least one of the input data preprocessor 820-2, the input data selection unit 820-3, and the model update unit 820-5.
  • the input data acquisition unit 820-1 may acquire data necessary for acquiring control information corresponding to a user's voice command and extracting a voice fingerprint representing the user.
  • the providing unit 820-4 applies the input data obtained by the input data acquisition unit 820-1 to the artificial intelligence model learned as an input value to obtain control information corresponding to the user's voice command, and a voice fingerprint representing the user. Can be extracted.
  • the providing unit 820-4 may obtain a recognition result by applying the data selected by the input data preprocessor 820-2 or the input data selection unit 820-3 to be described later to the artificial intelligence model as an input value. .
  • the recognition result can be determined by an artificial intelligence model.
  • the providing unit 820-4 obtains control information corresponding to the user’s voice command by applying the user’s voice command obtained from the input data obtaining unit 820-1 to the learned first model (or, Can be estimated).
  • the providing unit 820-4 applies a feature vector, a feature matrix, and a preprocessed voice of the user's voice acquired by the input data acquisition unit 820-1 to the learned second model, Can be obtained (or estimated).
  • the acquisition unit 820 is an input data preprocessing unit 820-2 and an input data selection unit 1120-3 in order to improve the recognition result of the artificial intelligence model or save resources or time for providing the recognition result. It may further include.
  • the input data preprocessor 820-2 may pre-process the acquired data so that the acquired data to be input to the first and second models can be used.
  • the input data preprocessing unit 820-2 uses the acquired data so that the providing unit 820-4 can use the acquired data to obtain control information corresponding to the user's voice command and extract a voice fingerprint representing the user. It can be processed into a predefined format.
  • the input data selection unit 820-3 may select data necessary for situation determination from data obtained by the input data acquisition unit 820-1 or data preprocessed by the input data preprocessor 820-2. The selected data may be provided to the providing unit 820-4. The input data selection unit 820-3 may select some or all of the acquired or preprocessed data according to a preset selection criterion for determining a situation. In addition, the input data selection unit 820-3 may select data according to a preset selection criterion by learning by the model learning unit 810-4.
  • the model update unit 820-5 may control the artificial intelligence model to be updated based on an evaluation of the recognition result provided by the providing unit 820-4. For example, the model update unit 820-5 provides the recognition result provided by the providing unit 820-4 to the model learning unit 810-4, so that the model learning unit 810-4 You can request to further train or update the model.
  • FIG. 10 is a diagram for explaining a UI for checking whether recognized voice command information is correct according to an embodiment of the present disclosure.
  • the electronic device 100 may perform a function corresponding to control information corresponding to the acquired user voice command.
  • the electronic device 100 acquires information about today's weather, and a UI (User Interface) including information about today's weather
  • the display 120 may be controlled to display.
  • the electronic device 100 may control the display 120 to display a UI 1010 that checks whether the acquired information corresponds to information about a user's voice command. As shown in FIG. 10, in an embodiment, the electronic device 100 displays information about today's weather and displays a UI 1010 that checks whether the information about the weather is the information requested by the user. I can.
  • the electronic device 100 may input the acquired control information and the user's voice command to the personal neural network. . Further, the electronic device 100 may additionally learn a personal neural network based on the acquired control information and a user's voice command. Accordingly, the electronic device 100 may obtain correct information on the voice command.
  • FIG. 11 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may extract a voice fingerprint representing the user based on the input voice (S1110).
  • the user voice may be a trigger voice for initiating voice fingerprint extraction.
  • the electronic device 100 may extract a voice fingerprint representing a user by inputting the input voice into the learned second artificial intelligence model 20 to obtain a voice fingerprint.
  • the electronic device 100 may recognize a user who uttered the input user voice by comparing a voice fingerprint representing the user with a previously registered voice fingerprint (S1120).
  • the electronic device 100 may calculate an error by comparing a previously registered voice fingerprint, which is the average data of the initially registered voice fingerprint and the stored voice fingerprint, with a voice fingerprint representing the user. Further, when the calculated error does not exceed the threshold value, the electronic device 100 may recognize a user who uttered the input voice.
  • the electronic device 100 inputs the user's voice command into the first artificial intelligence model 70 including a plurality of neural networks to respond to the user's voice command.
  • Control information may be acquired (S1130).
  • the first artificial intelligence model 70 may acquire control information corresponding to a user's voice command by using a general neural network learned through a plurality of user's voice commands and a personal neural network learned through the user's voice command.
  • the electronic device 100 may perform a function corresponding to the acquired control information (S1140).
  • Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium (eg, a computer).
  • the device receives instructions stored from the storage medium.
  • a device capable of making a call and operating according to the called command may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments.
  • the command When the command is executed by a processor, the processor directly, Alternatively, a function corresponding to the command may be performed using other components under the control of the processor, and the command may include a code generated or executed by a compiler or an interpreter.
  • a method according to various embodiments disclosed in the present document may be provided by being included in a computer program product.
  • Computer program products can be traded between sellers and buyers as commodities.
  • the computer program product may be distributed online in the form of a device-readable storage medium (eg, compact disc read only memory (CD-ROM)) or through an application store (eg, Play StoreTM).
  • a storage medium such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • Each of the constituent elements may be composed of a singular or a plurality of entities, and some sub-elements among the aforementioned sub-elements are omitted, or other sub-elements are It may be further included in various embodiments.
  • some constituent elements eg, a module or a program

Landscapes

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

Abstract

An electronic device and a control method therefor are provided. The present electronic device may comprise: a microphone; a memory having at least one instruction stored therein; and a processor for executing the at least one instruction, wherein the processor recognizes a user who has uttered a sound input through the microphone, and after the recognition of the user, when the recognized user's voice command is input through the microphone, the processor inputs the user's voice command to a first neural network of a first artificial intelligence model, inputs results output from the first neural network, to a second neural network of the first artificial intelligence model, acquires control information corresponding to the user's voice command on the basis of the results output from the first neural network and the second neural network, and performs a function corresponding to the acquired control information, wherein the first neural network is a neural network trained on the basis of data stored in a plurality of user databases, and the second neural network is a neural network additionally trained on the basis of data stored in a database for the recognized user.

Description

전자 장치 및 이의 제어 방법Electronic device and control method thereof
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 입력된 사용자 음성을 발화한 사용자를 인식하고, 인식된 사용자 음성 명령에 대응하는 기능을 수행하는 전자 장치 및 이의 제어 방법에 관한 것이다.The present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device that recognizes a user who uttered an input user voice and performs a function corresponding to the recognized user voice command, and a control method thereof. .
근래에는 인공 지능 시스템을 활용한 음성 인식 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습시키고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.In recent years, speech recognition systems using artificial intelligence systems are being used in various fields. Unlike the existing rule-based smart system, the artificial intelligence system is a system in which machines learn, judge, and become smart. As the artificial intelligence system is used, the recognition rate improves and users' tastes can be understood more accurately, and the existing rule-based smart system is gradually being replaced by a deep learning-based artificial intelligence system.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.Artificial intelligence technology consists of machine learning (for example, deep learning) and component technologies using machine learning.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습시키는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다. 특히, 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다.Machine learning is an algorithm technology that classifies/learns the features of input data by itself, and element technology is a technology that simulates functions such as cognition and judgment of the human brain using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control. In particular, linguistic understanding is a technology that recognizes and applies/processes human language/text, and includes natural language processing, machine translation, dialogue systems, question and answer, and speech recognition/synthesis.
다만, 기존의 심층 기계학습을 하기 위해서는 고성능 컴퓨터 서버를 사용하기 때문에 많은 비용 및 공간을 필요로 하고, 특히 일반 사용자가 구하기 어려운 매우 큰 규모의 데이터베이스도 필요하였다. 따라서, 일반적으로 사용하는 가전 시스템이나 휴대용 기기에서는 심층 기계학습 기술을 활용하기 어렵다는 한계가 존재하였다.However, since a high-performance computer server is used for the existing deep machine learning, a large amount of cost and space is required, and a very large database, which is difficult for general users to obtain, is also required. Therefore, there is a limitation in that it is difficult to utilize deep machine learning technology in general home appliance systems or portable devices.
한편, 근래에 사용자 음성에서 음성지문을 추출하여 입력된 음성을 발화한 사용자를 인식하는 기술이 계속적으로 개발되고 있다. 다만, 기존에는 사용자의 피드백과 함께 제공되는 음성만을 음성지문으로 저장하여 화자 인식을 진행하였는 바, 지속적인 사용으로 얻게 되는 사용자의 정보를 보완한 음성지문을 활용하기 위해서는 사용자의 피드백이 계속적으로 필요로 한다는 한계가 존재하였다.Meanwhile, in recent years, technology for recognizing a user who uttered an input voice by extracting a voice fingerprint from a user voice has been continuously developed. However, in the past, speaker recognition was performed by storing only the voice provided with the user's feedback as a voice fingerprint.However, in order to utilize the voice fingerprint supplemented with the user's information obtained through continuous use, the user's feedback is continuously required. There was a limit to that.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 지속적으로 제공되는 사용자 정보를 보완한 음성지문을 활용하여 사용자 음성을 인식하고, 사용자 음성 명령에 대한 정보를 획득하여 음성 명령에 대응하는 기능을 수행하는 전자 장치 및 이의 제어 방법을 제공함에 있다.The present disclosure was devised to solve the above-described problem, and the object of the present disclosure is to recognize a user's voice by using a voice fingerprint supplemented with user information that is continuously provided, and obtain information on the user's voice command to obtain a voice command. It is to provide an electronic device that performs a function corresponding to and a control method thereof.
상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른 전자 장치는 마이크, 디스플레이, 적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리 및 상기 적어도 하나의 인스트럭션을 실행하는 프로세서를 포함하고 상기 프로세서는 상기 마이크를 통해 입력된 음성을 발화한 사용자를 인식하고, 상기 사용자가 인식된 후 상기 마이크를 통해 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자의 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하고, 상기 인식된 사용자의 데이터 베이스 및 상기 제1 신경망에서 출력된 결과를 제1 인공지능 모델의 제2 신경망에 입력하고, 상기 제1 신경망 및 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하고, 상기 제1 신경망은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망이며, 상기 제2 신경망은 사용자의 데이터 베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 할 수 있다.An electronic device according to an embodiment of the present disclosure for achieving the above object includes a microphone, a display, a memory storing at least one instruction, and a processor executing the at least one instruction, and the processor is the microphone Recognizes the user who uttered the voice input through, and when the recognized user's voice command is input through the microphone after the user is recognized, the user's voice command is transmitted to the first neural network of the first artificial intelligence model. And inputs the recognized user's database and the result output from the first neural network into the second neural network of the first artificial intelligence model, and the user based on the results output from the first neural network and the second neural network The control information corresponding to the voice command of is acquired, the first neural network is a neural network that is learned based on data stored in a plurality of user databases, and the second neural network is additionally learned based on data stored in the user's database. It can be characterized as being a neural network.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른 전자 장치 제어 방법은 사용자 음성을 입력받으면, 상기 입력된 음성을 발화한 사용자를 인식하는 단계, 상기 사용자가 인식된 후 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하는 단계, 상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하는 단계, 상기 제1 신경망 및 상기 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하는 단계 및 상기 획득한 제어 정보에 대응하는 기능을 수행하는 단계를 포함할 수 있고, 상기 제1 신경망은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망이며, 상기 제2 신경망은 사용자의 데이터 베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 할 수 있다.Meanwhile, in the electronic device control method according to an embodiment of the present disclosure for achieving the above object, when a user voice is input, recognizing a user who uttered the input voice, and after the user is recognized, the recognized user When a voice command of is input, inputting the user voice command to a first neural network of a first artificial intelligence model, inputting a result output from the first neural network to a second neural network of the first artificial intelligence model, Acquiring control information corresponding to the user's voice command based on results output from the first neural network and the second neural network, and performing a function corresponding to the acquired control information, The first neural network may be a neural network that is learned based on data stored in a plurality of user databases, and the second neural network may be a neural network that is additionally learned based on data stored in a user's database.
상술한 바와 같이 본 개시의 다양한 실시예에 의해, 전자 장치는 지속적으로 사용자 정보가 보완된 음성지문을 활용하여 사용자를 인식하고, 복수의 신경망을 포함하는 인공지능 모델을 통해 사용자 음성 명령에 대응하는 제어 정보를 확보함으로써 사용자는 편리하게 음성 명령어 인식 시스템을 활용할 수 있다.As described above, according to various embodiments of the present disclosure, the electronic device continuously recognizes a user by using a voice fingerprint supplemented with user information, and responds to a user voice command through an artificial intelligence model including a plurality of neural networks. By securing the control information, the user can conveniently utilize the voice command recognition system.
도 1은 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하고 인식한 사용자의 명령에 따라 기능을 수행하는 전자 장치의 사용도,1 is a diagram illustrating a use of an electronic device that recognizes a user who has spoken and performs a function according to a command of the recognized user according to an embodiment of the present disclosure.
도 2a는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 간략히 도시한 블록도,2A is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
도 2b는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,2B is a block diagram showing in detail the configuration of an electronic device according to an embodiment of the present disclosure;
도 3은 본 개시의 일 실시예에 따른, 음성지문을 추출하는 과정을 설명하기 위한 블록도,3 is a block diagram illustrating a process of extracting a voice fingerprint according to an embodiment of the present disclosure;
도 4a는 본 개시의 일 실시예에 따른, 추출한 음성지문과 기등록된 음성지문을 비교하는 과정을 설명하기 위한 도면,4A is a view for explaining a process of comparing an extracted voice fingerprint and a pre-registered voice fingerprint according to an embodiment of the present disclosure;
도 4b는 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하는 경우의 UI를 설명하기 위한 도면,4B is a diagram for explaining a UI when recognizing a user who has spoken according to an embodiment of the present disclosure;
도 4c는 본 개시의 일 실시예에 따른, 기설정된 개수 이상으로 음성지문이 저장된 경우, 음성지문을 추가적으로 저장하는 과정을 설명하기 위한 도면,FIG. 4C is a diagram for explaining a process of additionally storing voice fingerprints when voice fingerprints are stored more than a preset number according to an embodiment of the present disclosure;
도 5는 본 개시의 일 실시예에 따른, 음성지문을 비교하고 저장하는 과정을 설명하기 위한 순서도,5 is a flowchart illustrating a process of comparing and storing voice fingerprints according to an embodiment of the present disclosure;
도 6은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도,6 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure;
도 7은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도,7 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure;
도 8은 본 개시의 일 실시예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도,8 is a block diagram showing a configuration of an electronic device for learning and using an artificial intelligence model according to an embodiment of the present disclosure;
도 9는 본 개시의 일 실시예에 따른, 학습부 및 인식부의 구체적인 구성을 나타내는 블록도,9 is a block diagram showing a detailed configuration of a learning unit and a recognition unit according to an embodiment of the present disclosure;
도 10은 본 개시의 일 실시예에 따른, 인식한 음성 명령 정보가 맞는지 여부를 확인하는 UI를 설명하기 위한 도면,10 is a diagram for explaining a UI for checking whether recognized voice command information is correct according to an embodiment of the present disclosure;
도 11은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.11 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. However, this is not intended to limit the technology described in this document to a specific embodiment, it should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of this document. . In connection with the description of the drawings, similar reference numerals may be used for similar elements.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this document, expressions such as "have," "may have," "include," or "may contain" are the presence of corresponding features (eg, elements such as numbers, functions, actions, or parts). And does not exclude the presence of additional features.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this document, expressions such as "A or B," "at least one of A or/and B," or "one or more of A or/and B" may include all possible combinations of the items listed together. . For example, "A or B," "at least one of A and B," or "at least one of A or B" includes (1) at least one A, (2) at least one B, Or (3) it may refer to all cases including both at least one A and at least one B.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. Expressions such as "first," "second," "first," or "second," used in this document can modify various elements regardless of their order and/or importance, and It is used to distinguish it from other components and does not limit the components.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.Some component (eg, a first component) is "(functionally or communicatively) coupled with/to)" to another component (eg, a second component) or " When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component or may be connected through another component (eg, a third component). On the other hand, when a component (eg, a first component) is referred to as being “directly connected” or “directly connected” to another component (eg, a second component), the component and the It may be understood that no other component (eg, a third component) exists between the different components.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression "configured to" as used in this document is, for example, "suitable for," "having the capacity to" depending on the situation. ," "designed to," "adapted to," "made to," or "capable of." The term "configured to (or set)" may not necessarily mean only "specifically designed to" in hardware. Instead, in some situations, the expression "a device configured to" may mean that the device "can" along with other devices or parts. For example, the phrase “a subprocessor configured (or configured) to perform A, B, and C” refers to a dedicated processor (eg, an embedded processor) for performing the operation, or executing one or more software programs stored in a memory device. By doing so, it may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 전자레인지, 공기 청정기, 셋톱 박스, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.Electronic devices according to various embodiments of the present document include, for example, smart phones, tablet PCs, mobile phones, video phones, e-book readers, desktop PCs, laptop PCs, netbook computers, workstations, servers, PDAs, and PMPs. It may include at least one of (portable multimedia player), MP3 player, medical device, camera, or wearable device. In some embodiments, the electronic device is, for example, a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, a microwave oven, an air purifier, a set-top box, a media box (eg, Samsung HomeSyncTM, Apple TVTM or Google TVTM), a game console (eg, XboxTM, PlayStationTM), an electronic dictionary, an electronic key, or an electronic frame.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), 항공 전자기기(avionics), 보안 기기, 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 중 적어도 하나를 포함할 수 있다. In another embodiment, the electronic device includes various medical devices (eg, various portable medical measuring devices (blood glucose meter, heart rate meter, blood pressure meter, or body temperature meter, etc.), a navigation device, a global navigation satellite system (GNSS). ), avionics, security devices, industrial or home robots, drones, ATMs of financial institutions, point of sales (POS) of stores, or Internet of Things devices.
본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.In this document, the term user may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using an electronic device.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하도록 한다.Hereinafter, the present disclosure will be described in more detail with reference to the drawings.
도 1은 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하고 인식한 사용자의 명령에 따라 기능을 수행하는 전자 장치의 사용도이다.1 is a diagram illustrating a use of an electronic device that recognizes a user who has spoken and performs a function according to a command of the recognized user according to an embodiment of the present disclosure.
먼저, 도 1의 (a)에 도시된 바와 같이, 전자 장치(100)는 마이크(110)를 통해 사용자로부터 음성(10)을 입력받을 수 있다. 특히, 사용자로부터 입력받은 음성(10)은 사용자를 나타내는 음성지문 추출(30)을 개시하는 트리거 음성일 수 있다. 트리거 음성은 도 1의 (a)에 도시된 바와 같이 '하이 빅스비'일 수 있으나 이는 일 실시예에 불과하며 사용자가 자유롭게 설정할 수 있다.First, as shown in (a) of FIG. 1, the electronic device 100 may receive a voice 10 from a user through the microphone 110. In particular, the voice 10 received from the user may be a trigger voice that initiates the voice fingerprint extraction 30 representing the user. The trigger voice may be'Hi Bixby' as shown in (a) of FIG. 1, but this is only an example and can be freely set by the user.
한편, 전자 장치(100)는 사용자로부터 입력받은 음성(10)을 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20)에 입력하기 전에 전처리할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 입력받은 음성에서 실제 사용자의 음성과 의미가 내포되지 않은 배경 노이즈(Noise)를 구분하고 배경 노이즈를 삭제할 수 있다. 즉, 전자 장치(100)는 제2 인공지능 모델(20)에 실제 의미가 있는 사용자 음성만을 입력하기 위하여 입력받은 음성(10) 중 의미 없는 배경 노이즈는 삭제할 수 있다. 또한, 일 실시예로, 전자 장치(100)는 사용자로부터 입력받은 음성(10) 중 사용자 음성이 존재하는 주파수 대역의 진폭만을 증폭시키고 나머지 주파수 대역은 삭제할 수 있다. 그리고, 전자 장치(100)는 전처리한 음성을 기설정된 프레임 단위로 분할하고, 프레임 구간에서 음성의 특징 벡터 또는 특징 행렬을 추출할 수 있다.Meanwhile, the electronic device 100 may pre-process the voice 10 received from the user before inputting it into the learned second artificial intelligence model 20 to obtain a voice fingerprint. According to an embodiment, the electronic device 100 may distinguish between an actual user's voice and a background noise that does not contain a meaning from the input voice and delete the background noise. That is, the electronic device 100 may delete meaningless background noise from among the input voices 10 in order to input only the user voice having actual meaning to the second artificial intelligence model 20. In addition, as an embodiment, the electronic device 100 may amplify only the amplitude of the frequency band in which the user's voice exists among voices 10 input from the user and delete the remaining frequency bands. In addition, the electronic device 100 may divide the preprocessed speech into a preset frame unit, and extract a characteristic vector or a characteristic matrix of the speech in the frame section.
전자 장치(100)는 음성의 특징 벡터 또는 특징 행렬을 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출(30)할 수 있으나, 이는 일 실시예일 뿐이며 전자 장치(100)는 전처리된 음성을 그대로 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출(30)할 수 있다.The electronic device 100 may input a feature vector or a feature matrix of the voice into the second artificial intelligence model 20 to extract a voice fingerprint representing the user (30), but this is only an example, and the electronic device 100 By inputting the preprocessed voice into the second artificial intelligence model 20 as it is, a voice fingerprint representing the user may be extracted (30).
도 1의 (b)에서 도시하고 있는 사용자를 나타내는 음성지문(41)은 사용자 음성의 에너지의 주파수를 분석한 데이터일 수 있다. 사용자 음성의 에너지의 주파수를 분석한 데이터는 벡터, 행렬의 형태일 수 있으며 음성의 주파수 대역에서의 스펙트럼을 시각적으로 나타내는 이미지의 형태일 수 있다.The voice fingerprint 41 representing the user shown in FIG. 1B may be data obtained by analyzing the frequency of energy of the user's voice. The data obtained by analyzing the frequency of the energy of the user's voice may be in the form of a vector or matrix, and may be in the form of an image that visually represents the spectrum in the frequency band of the voice.
전자 장치(100)는 사용자를 나타내는 음성지문(41)을 기등록된 음성지문(42, 43-1,43-2)과 비교하여 입력된 사용자 음성을 발화한 사용자를 인식할 수 있다. 구체적으로, 전자 장치(100)는 사용자를 나타내는 음성지문(41)과 기등록된 음성지문(42, 43-1, 43-2)과 비교하여 오차를 계산할 수 있다. 그리고, 계산된 오차가 임계값을 초과하지 않는 경우, 전자 장치(100)는 입력된 음성을 발화한 사용자를 인식할 수 있다. The electronic device 100 may recognize a user who uttered the input user's voice by comparing the voice fingerprint 41 representing the user with the previously registered voice fingerprints 42, 43-1, and 43-2. Specifically, the electronic device 100 may calculate an error by comparing the voice fingerprint 41 representing the user with the previously registered voice fingerprints 42, 43-1, and 43-2. In addition, when the calculated error does not exceed the threshold value, the electronic device 100 may recognize the user who uttered the input voice.
한편, 계산된 오차가 기설정된 값을 넘지 않는 경우, 전자 장치(100)는 사용자를 나타내는 음성지문(41)을 메모리(130)에 저장할 수 있다. 특히, 기설정된 값은 임계값보다 작은 값일 수 있다. 또한, 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 메모리(130)에 저장된 경우, 전자 장치(100)는 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제할 수 있다. 즉, 전자 장치(100)는 음성지문을 FIFO(First-in First-out) 방식으로 저장하고 관리할 수 있다. 즉, 전자 장치(100)는 음성지문(41)을 저장하기 위한 버퍼를 구비할 수 있다.Meanwhile, when the calculated error does not exceed a preset value, the electronic device 100 may store the voice fingerprint 41 representing the user in the memory 130. In particular, the preset value may be a value smaller than the threshold value. In addition, when a voice fingerprint representing a user exceeding a preset number is stored in the memory 130, the electronic device 100 may delete the last stored voice fingerprint representing the user. That is, the electronic device 100 may store and manage the voice fingerprint in a first-in first-out (FIFO) method. That is, the electronic device 100 may include a buffer for storing the voice fingerprint 41.
한편, 추가적으로 저장된 음성지문이 잘못된 데이터인 경우를 대비하여, 전자 장치(100)는 최초로 등록된 사용자를 나타내는 음성지문(42)은 계속 저장할 수 있다. 따라서, 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 저장되는 경우, 전자 장치(100)는 최초로 등록된 음성지문(42)는 제외하고 가장 나중에 저장된 음성지문을 삭제할 수 있다.Meanwhile, in case the additionally stored voice fingerprint is incorrect data, the electronic device 100 may continue to store the voice fingerprint 42 indicating the first registered user. Accordingly, when a voice fingerprint representing a user is stored in excess of the preset number, the electronic device 100 may delete the last stored voice fingerprint except for the first registered voice fingerprint 42.
그리고, 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문(42)과 저장된 사용자를 나타내는 음성지문(43-1, 43-2)의 평균 데이터일 수 있다. 일 실시예로, 기설정된 개수만큼 음성지문이 저장된 상태에서, 추가적으로 저장되는 음성지문이 있는 경우, 전자 장치(100)는 최초로 등록된 음성지문(42)을 제외하고 가장 나중에 저장된 음성지문(43-1)을 삭제한 뒤, 저장되어 있는 음성지문의 평균 데이터를 획득할 수 있다.In addition, the pre-registered voice fingerprint may be average data of the voice fingerprint 42 representing the first registered user and the voice fingerprint 43-1 and 43-2 representing the stored user. In one embodiment, in a state in which a preset number of voice fingerprints are stored, if there is an additionally stored voice fingerprint, the electronic device 100 may be configured to use the last voice fingerprint 43-stored except for the first registered voice fingerprint 42. After deleting 1), the average data of the stored voice fingerprint can be obtained.
또한, 임계값은 새로 저장된 사용자를 나타내는 음성지문에 대응되어 변경될 수 있다. 즉, 사용자의 음성은 항상 동일할 수 없고 시간에 따라 차이가 있을 수 있으므로, 전자 장치(100)는 추가적으로 저장되는 음성지문에 따라 임계값을 변경할 수 있다. 구체적으로, 새로 저장된 음성지문에 대응되는 음성의 에너지 주파수 분포가 기등록된 음성지문에 대응되는 음성의 에너지 주파수 분포와 차이가 있는 경우, 전자 장치(100)는 차이에 대응되도록 임계값을 변경할 수 있다.In addition, the threshold value may be changed in correspondence with a voice fingerprint representing a newly stored user. That is, since the user's voice may not always be the same and may vary over time, the electronic device 100 may change the threshold value according to an additionally stored voice fingerprint. Specifically, when the energy frequency distribution of the voice corresponding to the newly stored voice fingerprint is different from the energy frequency distribution of the voice corresponding to the previously registered voice fingerprint, the electronic device 100 may change the threshold value to correspond to the difference. have.
한편, 전자 장치(100)는 입력된 음성을 발화한 사용자를 인식하면 사용자를 인식했다는 메시지를 포함하는 UI(50)를 표시하도록 디스플레이(120)를 제어할 수 있다.Meanwhile, when the electronic device 100 recognizes a user who uttered an input voice, the electronic device 100 may control the display 120 to display a UI 50 including a message indicating that the user has been recognized.
도 1(c)에 도시된 바와 같이, 음성지문을 통해 사용자가 인식 된 후, 인식된 사용자의 음성 명령(60)이 입력되면, 전자 장치(100)는 음성 명령을 복수의 신경망을 포함하는 제1 인공지능 모델(70)에 입력하여 음성 명령에 대응하는 제어 정보를 획득할 수 있다. 특히, 제1 인공지능 모델(70)은 복수의 사용자 음성 명령을 통해 학습된 제1 신경망 및 사용자의 음성 명령을 통해 학습된 제2 신경망을 이용하는 모델일 수 있다. 그리고, 제1 신경망은 일반(general) 신경망, 글로벌(Global) 신경망 등이라고 부를 수 있으며 이하에서는 일반 신경망으로 서술하도록 한다. 또한, 제2 신경망은 개인(personal) 신경망 등으로 부를 수 있으며 이하에서는 개인 신경망으로 서술하도록 한다.As shown in Fig. 1(c), after the user is recognized through a voice fingerprint, when the recognized user's voice command 60 is input, the electronic device 100 transmits the voice command to a device including a plurality of neural networks. 1 Control information corresponding to a voice command may be obtained by inputting it into the artificial intelligence model 70. In particular, the first artificial intelligence model 70 may be a model using a first neural network learned through a plurality of user voice commands and a second neural network learned through a user’s voice command. In addition, the first neural network may be referred to as a general neural network, a global neural network, and the like, and will be described below as a general neural network. Also, the second neural network may be referred to as a personal neural network, and hereinafter, it will be described as a personal neural network.
구체적으로, 전자 장치(100)는 입력된 사용자의 음성 명령(60)을 제1 인공지능 모델(70)의 일반 신경망에 입력할 수 있다. 일반 신경망은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망일 수 있다. 복수의 사용자 데이터 베이스에는 복수의 사용자의 정보, 복수의 음성 명령 및 음성 명령에 대응하는 제어 정보가 저장될 수 있다.Specifically, the electronic device 100 may input the inputted user's voice command 60 to the general neural network of the first artificial intelligence model 70. The general neural network may be a neural network learned based on data stored in a plurality of user databases. In the plurality of user databases, information of a plurality of users, a plurality of voice commands, and control information corresponding to the voice commands may be stored.
그리고, 전자 장치(100)는 인식된 사용자의 데이터베이스 및 일반 신경망에서 출력된 결과를 제1 인공지능 모델(70)의 개인 신경망에 입력할 수 있다. 개인 신경망은 인식된 사용자의 데이터 베이스에 저장된 데이터를 바탕으로 추가 학습할 수 있다. 사용자의 데이터 베이스에는 인식된 사용자의 정보, 기존에 입력했던 음성 명령 및 음성 명령에 대응하는 제어 정보가 저장될 수 있다. Further, the electronic device 100 may input the recognized user's database and the result output from the general neural network into the personal neural network of the first artificial intelligence model 70. The personal neural network can learn additionally based on data stored in the recognized user's database. The user's database may store recognized user information, a previously input voice command, and control information corresponding to the voice command.
그리고, 일반 신경망에서 출력된 결과와 사용자 데이터 베이스에 저장된 데이터를 바탕으로 개인 신경망이 출력한 결과를 바탕으로 사용자 음성 명령에 대한 제어 정보를 획득할 수 있다. 즉, 전자 장치(100)는 사용자 음성 명령에 대한 제어 정보를 통해 음성 명령을 인식할 수 있다(80).In addition, control information for a user's voice command may be obtained based on a result output from a general neural network and a result output from a personal neural network based on data stored in the user database. That is, the electronic device 100 may recognize the voice command through control information on the user voice command (80).
그리고, 전자 장치(100)는 획득한 제어 정보에 대응되는 기능을 수행할 수 있다. 예를 들면, '오늘 날씨 알려줘'라는 음성 명령(60)이 제1 인공지능 모델(70)에 입력되어 음성 명령에 대응하는 제어 정보를 획득한 경우, 전자 장치(100)는 오늘 날씨에 대한 정보를 포함하는 UI(90)를 표시하도록 디스플레이(120)를 제어할 수 있다.In addition, the electronic device 100 may perform a function corresponding to the acquired control information. For example, when a voice command 60 of'tell me today's weather' is input to the first artificial intelligence model 70 to obtain control information corresponding to the voice command, the electronic device 100 provides information on today's weather. The display 120 may be controlled to display the UI 90 including.
한편, 본 개시에서 학습된 인공지능 모델은 인식 모델의 적용 분야 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 예로, 인공지능 모델은 음성 명령을 입력하여 음성 명령에 대응하는 제어 정보를 획득하도록 학습될 수 있다. 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 이때, 이때, 인공지능 모델은 DNN(Deep Neural Network)일 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 인공지능 모델이 이용될 수 있다. Meanwhile, the artificial intelligence model learned in the present disclosure may be constructed in consideration of the application field of the recognition model or the computer performance of the device. For example, the artificial intelligence model may be trained to obtain control information corresponding to the voice command by inputting a voice command. The recognition model may be designed to simulate the human brain structure on a computer and may include a plurality of network nodes with weights, which simulate neurons of a human neural network. A plurality of network nodes may each form a connection relationship so as to simulate the synaptic activity of neurons that send and receive signals through synapses. At this time, in this case, the artificial intelligence model may be a deep neural network (DNN), but this is only an example, and another artificial intelligence model may be used.
또한, 전자 장치(100)는 음성 명령에 대응되는 정보를 검색하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다. Also, the electronic device 100 may use an artificial intelligence agent to search for information corresponding to a voice command. At this time, the artificial intelligence agent is a dedicated program for providing AI (Artificial Intelligence)-based services (e.g., voice recognition service, secretary service, translation service, search service, etc.), and is an existing general-purpose processor (for example, CPU) or a separate AI dedicated processor (for example, GPU, etc.).
구체적으로, 사용자 음성(10) 즉, 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력된 경우, 인공지능 에이전트가 동작할 수 있다. 그리고, 인공지능 에이전트는 사용자 음성을 바탕으로 음성 명령에 대응되는 정보를 획득할 수 있다.Specifically, if a user voice is input after a user voice 10, that is, a trigger voice is input or a button provided on the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed, Intelligent agents can operate. In addition, the artificial intelligence agent may acquire information corresponding to the voice command based on the user's voice.
물론, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되면, 인공지능 에이전트가 동작할 수도 있다. 또는, 인공지능 에이전트는 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되기 이전에 기 실행된 상태일 수 있다. 이 경우, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력된 이후에는 전자 장치(100)의 인공지능 에이전트가 사용자 음성 명령에 대한 제어 정보 정보 검색 기능을 수행할 수 있다. 또한, 인공지능 에이전트는 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되기 이전에 대기 상태일 수 있다. 여기서, 대기 상태란, 인공지능 에이전트의 동작 시작을 제어하기 위해 미리 정의된 사용자 입력이 수신되는 것을 감지하는 상태이다. 인공지능 에이전트가 대기 상태인 동안 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성 명령이 입력되면, 전자 장치(100)는 인공지능 에이전트를 동작시키고, 사용자 음성 명령에 따른 제어 정보를 검색하여 제공할 수 있다.Of course, when a user voice is input after a preset trigger voice is input or a button provided on the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed, the artificial intelligence agent may be operated. . Alternatively, the artificial intelligence agent is previously executed before the user's voice is input after a preset trigger voice is input or a button provided in the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed. It can be a state. In this case, after a preset trigger voice is input or a button provided on the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed and a user voice is input, the electronic device 100 The artificial intelligence agent may perform a function of retrieving control information information for a user's voice command. In addition, the artificial intelligence agent is in a standby state before the user's voice is input after a preset trigger voice is input or a button provided on the electronic device 100 (for example, a button for executing an artificial intelligence agent) is pressed. I can. Here, the standby state is a state in which a predefined user input is received to control the start of the operation of the artificial intelligence agent. When a user voice command is input after a preset trigger voice is input or a button provided on the electronic device 100 (eg, a button for executing an artificial intelligence agent) is pressed while the artificial intelligence agent is in the standby state, the electronic The device 100 may operate an artificial intelligence agent, and may search for and provide control information according to a user's voice command.
도 2a는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 간략히 도시한 블록도이다. 도 2a에 도시된 바와 같이, 전자 장치(100)는 마이크(110), 디스플레이(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다. 도 2a에 도시된 구성들은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.2A is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure. 2A, the electronic device 100 may include a microphone 110, a display 120, a memory 130, and a processor 140. The configurations shown in FIG. 2A are exemplary diagrams for implementing embodiments of the present disclosure, and appropriate hardware/software configurations, which are obvious to a person skilled in the art, may be additionally included in the electronic device 100.
마이크(110)는 사용자 음성을 입력받기 위한 구성으로, 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)의 외부에 구비되어 전자 장치(100)와 전기적으로 연결되거나 통신부(160)를 통해 통신 연결될 수 있다. 특히, 마이크(110)는 전자 장치(100)를 제어하기 위한 별도의 리모트 컨트롤러에 구비될 수 있으며, 이때, 리모트 컨트롤러에는 인공지능 에이전트를 실행시키기 위한 버튼이 구비될 수 있다.The microphone 110 is a configuration for receiving a user's voice and may be provided inside the electronic device 100, but this is only an example, and is provided outside the electronic device 100 It may be electrically connected or may be communicatively connected through the communication unit 160. In particular, the microphone 110 may be provided in a separate remote controller for controlling the electronic device 100, and at this time, the remote controller may be provided with a button for executing an artificial intelligence agent.
디스플레이(120)는 프로세서(140)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 전자 장치(100)가 마이크(110)를 통해 입력된 음성을 발화한 사용자를 인식했을 때, 디스플레이(120)는 사용자를 인식했다는 메시지를 포함하는 UI를 표시할 수 있다. 그리고, 디스플레이(120)는 전자 장치(100)가 제1 인공지능 모델(70)을 통해 획득한 정보가 사용자 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시할 수 있다.The display 120 may display various types of information under the control of the processor 140. In particular, when the electronic device 100 recognizes a user who uttered a voice input through the microphone 110, the display 120 may display a UI including a message indicating that the user has been recognized. In addition, the display 120 may display a UI for checking whether the information acquired by the electronic device 100 through the first artificial intelligence model 70 corresponds to information on a user's voice command.
그리고, 디스플레이(120)는 터치 패널과 함께 터치 스크린으로도 구현될 수 있다. 그러나 상술한 구현으로 한정되는 것은 아니며, 디스플레이(120)는 전자 장치(100)의 유형에 따라 다르게 구현될 수 있다.In addition, the display 120 may be implemented as a touch screen together with a touch panel. However, it is not limited to the above-described implementation, and the display 120 may be implemented differently according to the type of the electronic device 100.
메모리(130)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 인스트럭션(Instruction) 또는 데이터를 저장할 수 있다. 특히, 메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(130)는 프로세서(140)에 의해 액세스되며, 프로세서(140)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(130), 프로세서(140) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(130)에는 디스플레이(120)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다. The memory 130 may store an instruction or data related to at least one other component of the electronic device 100. In particular, the memory 130 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD). The memory 130 is accessed by the processor 140, and data read/write/edit/delete/update by the processor 140 may be performed. In the present disclosure, the term memory refers to a memory 130, a ROM (not shown) in the processor 140, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (for example, micro SD Card, memory stick). In addition, the memory 130 may store programs and data for configuring various screens to be displayed in the display area of the display 120.
특히, 메모리(130)는 인공지능 에이전트를 수행하기 위한 프로그램을 저장할 수 있다. 이때, 인공지능 에이전트는 전자 장치(100)에 대한 다양한 서비스를 제공하기 위한 개인화된 프로그램이다. 또한, 메모리(130)는 사용자의 음성 명령에 대응하는 제어 정보를 획득하기 위해 학습된 제1 인공지능 모델(70)을 저장할 수 있다. 또한, 메모리(130)는 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20) 및 제2 인공지능 모델(20)에서 추출한 사용자를 나타내는 음성지문을 저장할 수 있다.In particular, the memory 130 may store a program for executing an artificial intelligence agent. In this case, the artificial intelligence agent is a personalized program for providing various services to the electronic device 100. In addition, the memory 130 may store the learned first artificial intelligence model 70 to obtain control information corresponding to a user's voice command. In addition, the memory 130 may store a voice fingerprint representing a user extracted from the second artificial intelligence model 20 and the second artificial intelligence model 20 learned to acquire a voice fingerprint.
프로세서(140)는 메모리(130)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(140)는 메모리(130)에 저장되어 있는 적어도 하나의 인스트럭션을 실행함으로써, 마이크(110)를 통해 입력된 음성을 바탕으로 사용자를 나타내는 음성지문을 추출하고, 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 상기 입력된 사용자 음성을 발화한 사용자를 인식하고, 사용자가 인식된 후 마이크를 통해 인식된 사용자의 음성 명령이 입력되면, 사용자의 음성 명령을 복수의 신경망(Neural Network)을 포함하는 제1 인공지능 모델(70)에 입력하여 사용자의 음성 명령에 대응하는 제어 정보를 획득하고, 획득한 제어 정보에 대응하는 기능을 수행할 수 있다.The processor 140 is electrically connected to the memory 130 to control overall operations and functions of the electronic device 100. In particular, the processor 140 extracts a voice fingerprint representing the user based on the voice input through the microphone 110 by executing at least one instruction stored in the memory 130, and The user who uttered the input user's voice is recognized by comparing the previously registered voice fingerprints, and when the user's voice command recognized through the microphone is input after the user is recognized, the user's voice command is transmitted to a plurality of neural networks. ), the control information corresponding to the user's voice command may be obtained by inputting into the first artificial intelligence model 70 including ), and a function corresponding to the acquired control information may be performed.
특히, 프로세서(140)는 마이크(110)를 통해 사용자 음성을 입력받으면 입력된 음성을 전처리할 수 있다. 구체적으로, 프로세서(140)는 입력받은 음성 중 의미가 없는 배경 노이즈 부분과 실제 사용자의 음성 부분을 구분하고, 배경 노이즈 부분을 삭제하여 실제 사용자의 음성 부분만을 획득할 수 있다. 또한, 프로세서(140)는 사용자 음성이 존재하는 주파수 대역의 진폭만을 증폭시키고 그 나머지 대역은 삭제할 수 있다. 다만, 상술한 방식은 일 실시예에 불과할 뿐, 프로세서(140)는 다양한 방식으로 입력한 음성을 전처리 할 수 있다.In particular, the processor 140 may pre-process the input voice when a user voice is input through the microphone 110. Specifically, the processor 140 may obtain only the voice part of the actual user by classifying a non-significant background noise part and a voice part of an actual user among the input voice, and deleting the background noise part. Further, the processor 140 may amplify only the amplitude of the frequency band in which the user's voice exists and delete the remaining bands. However, the above-described method is only an embodiment, and the processor 140 may pre-process the input voice in various ways.
그리고, 프로세서(140)는 전처리한 음성을 기설정된 프레임 단위로 분할하고, 프레임 구간에서 음성의 특징 벡터 또는 특징 행렬을 추출할 수 있다. 그리고, 프로세서(140)는 음성의 특징 벡터, 특징 행렬, 또는 전처리된 음성 자체를 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출할 수 있다. 사용자를 나타내는 음성지문은 사용자 음성의 에너지의 주파수를 분석한 데이터일 수 있다. 사용자 음성의 에너지의 주파수를 분석한 데이터는 벡터, 행렬의 형태일 수 있으며 음성의 주파수 대역에서의 스펙트럼을 시각적으로 나타내는 이미지의 형태일 수 있다.In addition, the processor 140 may divide the preprocessed speech into a predetermined frame unit, and extract a characteristic vector or a characteristic matrix of the speech in the frame section. In addition, the processor 140 may extract a voice fingerprint representing a user by inputting a feature vector of a voice, a feature matrix, or the preprocessed voice itself into the second artificial intelligence model 20. The voice fingerprint representing the user may be data obtained by analyzing the frequency of energy of the user's voice. The data obtained by analyzing the frequency of the energy of the user's voice may be in the form of a vector or matrix, and may be in the form of an image that visually represents the spectrum in the frequency band of the voice.
한편, 프로세서(140)는 추출한 음성지문과 기등록된 음성지문을 비교하여 입력된 음성을 발화한 사용자를 인식할 수 있다. 구체적으로, 프로세서(140)는 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 오차를 계산하고, 계산된 오차가 임계값을 초과하지 않는 경우 입력된 음성을 발화한 사용자를 인식할 수 있다. 계산된 오차가 기설정된 값을 넘지 않을 경우, 프로세서(140)는 사용자를 나타내는 음성지문을 메모리(130)에 저장할 수 있다. 그리고, 메모리(130)에 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 저장된 경우, 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제할 수 있다. Meanwhile, the processor 140 may recognize a user who uttered the input voice by comparing the extracted voice fingerprint with a previously registered voice fingerprint. Specifically, the processor 140 calculates an error by comparing a voice fingerprint representing a user with a previously registered voice fingerprint, and when the calculated error does not exceed a threshold value, the processor 140 may recognize a user who uttered the input voice. . When the calculated error does not exceed a preset value, the processor 140 may store a voice fingerprint representing the user in the memory 130. In addition, when a voice fingerprint representing a user is stored in the memory 130 in excess of a preset number, the last stored voice fingerprint representing the user may be deleted.
한편, 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문과 저장된 사용자를 나타내는 음성지문의 평균 데이터일 수 있다. 따라서, 프로세서(140)는 기설정된 개수를 초과하여 음성지문이 저장된 경우, 최초로 등록된 음성지문을 제외하고 가장 나중에 저장된 음성지문을 삭제할 수 있다. 그리고, 프로세서(140)는 최초로 등록된 음성 지문과 나머지 음성지문의 평균 데이터를 획득하고 새로 추출한 사용자를 나타내는 음성지문과 오차를 계산할 수 있다.Meanwhile, the previously registered voice fingerprint may be average data of a voice fingerprint indicating a first registered user and a voice fingerprint indicating a stored user. Accordingly, when the number of voice fingerprints is stored in excess of the preset number, the processor 140 may delete the last stored voice fingerprint except for the first registered voice fingerprint. In addition, the processor 140 may obtain average data of the initially registered voice fingerprint and the remaining voice fingerprints, and calculate a voice fingerprint representing the newly extracted user and an error.
그리고, 프로세서(140)는 새로 저장된 사용자를 나타내는 음성지문에 대응하여 임계값을 변경할 수 있다. 구체적으로, 새로 저장된 음성지문에 대응되는 음성의 에너지 주파수 분포가 기등록된 음성지문에 대응되는 음성의 에너지 주파수 분포와 차이가 있는 경우, 프로세서(140)는 차이에 대응되도록 임계값을 변경할 수 있다.In addition, the processor 140 may change the threshold value in response to the newly stored voice fingerprint representing the user. Specifically, when the energy frequency distribution of the voice corresponding to the newly stored voice fingerprint is different from the energy frequency distribution of the voice corresponding to the previously registered voice fingerprint, the processor 140 may change the threshold value to correspond to the difference. .
또한, 프로세서(140)는 입력된 사용자의 음성명령을 제1 인공지능 모델(70)에 입력하고, 인식된 사용자의 데이터 베이스 및 일반 신경망에서 출력된 결과를 제1 인공지능 모델(70)의 개인 신경망에 입력할 수 있다. 그리고, 프로세서(140)는 일반 신경망 및 개인 신경망에서 출력된 결과를 바탕으로 사용자의 음성 명령에 대한 정보를 획득할 수 있다. 구체적으로, 프로세서(140)는 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 기학습된 일반 신경망에 사용자의 음성명령을 입력할 수 있다. 그리고, 프로세서(140)는 일반 신경망에서 출력한 음성 명령에 대응하는 제어 정보 및 인식된 사용자의 데이터베이스를 개인 신경망에 입력할 수 있다. 한편, 개인 신경망은 사용자 데이터베이스에 저장된 데이터를 바탕으로 추가 학습될 수 있다. 그리고, 프로세서(140)는 일반 신경망 및 개인 신경망에서 출력된 결과를 바탕으로 사용자의 음성 명령에 대한 최종 제어 정보를 획득할 수 있다.In addition, the processor 140 inputs the input user's voice command into the first artificial intelligence model 70, and the result output from the recognized user's database and the general neural network is input to the individual of the first artificial intelligence model 70. It can be entered into a neural network. Further, the processor 140 may obtain information on a user's voice command based on results output from the general neural network and the personal neural network. Specifically, the processor 140 may input a user's voice command to a pre-learned general neural network based on data stored in a plurality of user databases. In addition, the processor 140 may input control information corresponding to a voice command output from a general neural network and a recognized user's database to the personal neural network. Meanwhile, the personal neural network may be additionally learned based on data stored in the user database. Further, the processor 140 may obtain final control information for a user's voice command based on results output from the general neural network and the personal neural network.
그리고, 프로세서(140)는 획득한 정보가 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 획득한 제어 정보가 사용자 음성 명령에 관한 정보와 맞지 않다는 사용자 입력이 있는 경우, 프로세서(140)는 획득한 정보 및 사용자 음성 명령을 개인 신경망에 입력하여 개인 신경망을 추가 학습할 수 있다. 따라서, 추후에 동일한 음성 명령이 입력될 때, 프로세서(140)는 학습한 개인 신경망을 통해 올바른 음성 명령에 대응되는 제어 정보를 획득할 수 있다.In addition, the processor 140 may control the display 120 to display a UI for checking whether the acquired information corresponds to information about the user's voice command. When there is a user input indicating that the acquired control information does not match the information on the user voice command, the processor 140 may additionally learn the personal neural network by inputting the acquired information and the user voice command into the personal neural network. Accordingly, when the same voice command is input later, the processor 140 may acquire control information corresponding to the correct voice command through the learned personal neural network.
그리고, 프로세서(140)는 획득한 제어 정보에 대응하는 기능을 수행할 수 있다. 예를 들어, 오늘 날씨를 알려달라는 사용자 음성 명령이 입력되어 오늘 날씨에 대응되는 제어 정보를 획득하면, 프로세서(140)는 오늘 날씨에 대한 UI를 표시하도록 디스플레이(120)를 제어할 수 있다.In addition, the processor 140 may perform a function corresponding to the acquired control information. For example, when a user's voice command for notifying today's weather is input to obtain control information corresponding to today's weather, the processor 140 may control the display 120 to display a UI for today's weather.
도 2b는 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 2b에 도시한 바와 같이, 전자 장치(100)는 마이크(110), 디스플레이(120), 메모리(130), 프로세서(140), 스피커(150), 통신부(160), 카메라(170) 및 입력부(180)를 포함할 수 있다. 한편, 마이크(110), 디스플레이(120), 메모리(130) 및 프로세서(140)는 도 2a에서 설명하였으므로, 중복되는 설명은 생략하기로 한다.2B is a block diagram illustrating a detailed configuration of the electronic device 100 according to an embodiment of the present disclosure. As shown in FIG. 2B, the electronic device 100 includes a microphone 110, a display 120, a memory 130, a processor 140, a speaker 150, a communication unit 160, a camera 170, and an input unit. It may include 180. Meanwhile, since the microphone 110, the display 120, the memory 130, and the processor 140 have been described in FIG. 2A, redundant descriptions will be omitted.
스피커(150)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 다만, 스피커(150)는 일 실시예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 다른 출력 단자로 구현될 수도 있다.The speaker 150 is a component that outputs various notification sounds or voice messages as well as various audio data on which various processing tasks such as decoding, amplification, and noise filtering have been performed by an audio processing unit (not shown). However, the speaker 150 is merely an exemplary embodiment, and may be implemented as another output terminal capable of outputting audio data.
통신부(160)는 다양한 통신 방식을 통해 외부의 장치와 통신을 수행할 수 있다. 통신부(160)가 외부 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다.The communication unit 160 may communicate with an external device through various communication methods. The communication connection between the communication unit 160 and an external device may include communicating via a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
한편, 통신부(160)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(150)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 또한, 통신부(160)는 유선 통신 모듈을 포함할 수 있으며 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 무선 통신 또는 유선 통신이 수행되는 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.Meanwhile, the communication unit 160 may include various communication modules to perform communication with an external device. As an example, the communication unit 150 may include a wireless communication module, for example, LTE, LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications). system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications), or the like. As another example, the wireless communication module is, for example, WiFi (wireless fidelity), Bluetooth, Bluetooth low power (BLE), Zigbee, NFC (near field communication), magnetic secure transmission, radio frequency It may include at least one of (RF) or a body area network (BAN). In addition, the communication unit 160 may include a wired communication module, for example, universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard232 (RS-232), power line communication, or plain old (POTS). telephone service) and the like. The network in which wireless communication or wired communication is performed may include at least one of a telecommunication network, for example, a computer network (eg, LAN or WAN), the Internet, or a telephone network.
카메라(170)는 사용자를 촬영할 수 있다. 특히, 촬영된 사용자의 사진은 사용자가 인식될 때 표시되는 UI에 포함될 수 있다. 그리고, 카메라(170)는 전자 장치(100)의 전방 및 후방 중 적어도 하나에 구비될 수 있다. 한편, 카메라(170)는 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100) 외부에 존재하며, 전자 장치(100)와 유무선으로 연결될 수 있다.The camera 170 may photograph a user. In particular, the photographed user's picture may be included in a UI displayed when the user is recognized. In addition, the camera 170 may be provided in at least one of the front and the rear of the electronic device 100. Meanwhile, the camera 170 may be provided inside the electronic device 100, but this is only an example, and exists outside the electronic device 100, and may be connected to the electronic device 100 by wire or wirelessly.
입력부(180)는 다양한 사용자 입력을 수신하여 프로세서(140)로 전달할 수 있다. 특히, 입력부(180)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다.The input unit 180 may receive various user inputs and transmit them to the processor 140. In particular, the input unit 180 may include a touch sensor, a (digital) pen sensor, a pressure sensor, a key, or a microphone. The touch sensor may use at least one of, for example, a capacitive type, a pressure sensitive type, an infrared type, or an ultrasonic type. The (digital) pen sensor may be part of, for example, a touch panel, or may include a separate recognition sheet. The key may include, for example, a physical button, an optical key, or a keypad.
특히, 입력부(180)는 UI를 통해 입력된 사용자 명령에 따른 입력 신호를 획득할 수 있다. 그리고, 입력부(180)는 입력 신호를 프로세서(140)로 전송할 수 있다.In particular, the input unit 180 may obtain an input signal according to a user command input through the UI. In addition, the input unit 180 may transmit an input signal to the processor 140.
프로세서(140)는 디지털 신호를 처리하는 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(140)는 메모리(130)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다. 뿐만 아니라, 프로세서(140)는 인공지능 기능을 수행하기 위하여, 별도의 AI 전용 프로세서인 GPU(graphics-processing unit), NPU(Neural Processing Unit), VPU(Visual Processing UniT) 중 적어도 하나를 포함할 수 있다.The processor 140 is a central processing unit (CPU) that processes digital signals, a micro controller unit (MCU), a micro processing unit (MPU), a controller, and an application processor (AP). , Or one or more of a communication processor (CP) and an ARM processor, or may be defined with a corresponding term. Further, the processor 140 may be implemented as a system on chip (SoC) or large scale integration (LSI) in which a processing algorithm is embedded, or may be implemented in the form of a field programmable gate array (FPGA). The processor 140 may perform various functions by executing computer executable instructions stored in the memory 130. In addition, the processor 140 may include at least one of a graphics-processing unit (GPU), a neural processing unit (NPU), and a visual processing unit (VPU), which are separate AI-only processors, in order to perform an artificial intelligence function. have.
도 3은 본 개시의 일 실시예에 따른 음성지문을 추출하는 과정을 설명하기 위한 블록도이다. 우선, 전자 장치(100)는 마이크(110)를 통해 사용자 음성을 입력받을 수 있다(310). 입력된 사용자 음성은 음성지문 추출을 개시하는 트리거 음성일 수 있다. 트리거 음성은 '하이 빅스비'일 수 있으나 이는 일 실시예에 불과하며, 사용자에 의해 자유롭게 변경될 수 있다.3 is a block diagram illustrating a process of extracting a voice fingerprint according to an embodiment of the present disclosure. First, the electronic device 100 may receive a user voice through the microphone 110 (310). The inputted user voice may be a trigger voice for starting voice fingerprint extraction. The trigger voice may be'Hi Bixby', but this is only an example and can be freely changed by the user.
사용자로부터 트리거 음성이 입력되면, 전자 장치(100)는 입력된 음성을 전처리할 수 있다(320). 전자 장치(100)는 실제 음성이 있는 주파수 대역의 진폭을 증폭시키고 나머지 대역은 삭제하는 등 다양한 방식으로 사용자 음성을 전처리할 수 있다. 또는, 전자 장치(100)는 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20)에 입력하기 위하여 입력된 음성에서 배경 노이즈를 삭제하고 실제 의미가 있는 음성만을 확보하는 과정을 거칠수 있다. 그리고, 전자 장치(100)는 전처리된 음성을 기설정된 프레임 단위로 분할하고, 프레임 구간에서 음성의 특징 벡터 또는 특징 행렬을 추출할 수 있다.When a trigger voice is input from the user, the electronic device 100 may pre-process the input voice (320). The electronic device 100 may preprocess the user's voice in various ways, such as amplifying the amplitude of the frequency band in which the actual voice is located and deleting the remaining bands. Alternatively, the electronic device 100 may go through a process of removing background noise from the input voice and securing only the voice with real meaning in order to input the learned second artificial intelligence model 20 to obtain a voice fingerprint. . Further, the electronic device 100 may divide the preprocessed speech into a predetermined frame unit, and extract a characteristic vector or a characteristic matrix of the speech in the frame section.
그리고, 전자 장치(100)는 추출한 음성의 특징 벡터, 특징 행렬 또는 전처리된 음성 자체를 제2 인공지능 모델(20)에 입력할 수 있다(330). 즉, 전자 장치(100)는 음성의 특징 벡터, 특징 행렬 뿐 아니라 전처리된 음성 자체를 제2 인공지능 모델(20)에 입력하여 음성지문을 추출할 수 있다. 한편, 제2 인공지능 모델(20)은 음성지문을 획득하기 위해 학습된 인공지능 모델이다. 따라서, 제2 인공지능 모델(20)은 입력받은 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 바탕으로 사용자 음성의 에너지 주파수의 분포를 분석한 데이터인 음성지문을 추출할 수 있다(340). 음성지문은 사용자 음성의 에너지 주파수의 분포를 나타내는 이미지 데이터일 수 있고, 벡터나 행렬의 형태로 나타낼 수 있다. 그리고, 전자 장치(100)는 추출한 음성지문을 기등록된 음성지문과 비교하여 입력된 음성을 발화한 사용자를 인식할 수 있다. 구체적인 과정은 도 4a 내지 도 4c 및 도 5에서 자세히 설명하도록 한다.In addition, the electronic device 100 may input the extracted feature vector, the feature matrix, or the preprocessed voice itself into the second artificial intelligence model 20 (330). That is, the electronic device 100 may input the voice feature vector and the feature matrix as well as the preprocessed voice itself into the second artificial intelligence model 20 to extract the voice fingerprint. On the other hand, the second artificial intelligence model 20 is an artificial intelligence model that has been trained to acquire a voice fingerprint. Accordingly, the second artificial intelligence model 20 may extract a voice fingerprint, which is data obtained by analyzing the distribution of energy frequencies of the user's voice, based on the feature vector, the feature matrix, and the preprocessed voice of the input voice (340 ). The voice fingerprint may be image data indicating the distribution of the energy frequency of the user's voice, and may be expressed in the form of a vector or matrix. In addition, the electronic device 100 may recognize a user who uttered the input voice by comparing the extracted voice fingerprint with a previously registered voice fingerprint. The specific process will be described in detail in FIGS. 4A to 4C and FIG. 5.
도 4a는 본 개시의 일 실시예에 따른, 추출한 음성지문과 기등록된 음성지문을 비교하는 과정을 설명하기 위한 도면이다. 도 4a에서 도시된 바와 같이 전자 장치(100)는 발화한 사용자를 인식하기 위하여 추출한 사용자를 나타내는 음성지문(410)과 기등록된 음성지문(420, 430, 440)을 비교할 수 있다. 구체적으로, 전자 장치(100)는 사용자를 나타내는 음성지문(410)과 기등록된 음성지문(420, 430, 440)을 비교하여 오차를 계산하고, 계산된 오차가 임계값을 초과하지 않는 경우 입력된 음성을 발화한 사용자를 인식할 수 있다. 그리고, 기등록된 음성지문은 최초로 등록된 음성지문(420)과 저장된 음성지문(430, 440)의 평균 데이터일 수 있다. 따라서, 전자 장치(100)는 최초로 등록된 음성지문(420)과 저장된 음성지문(430, 440)의 평균 데이터를 사용자를 나타내는 음성지문(410)과 비교하여 오차를 계산할 수 있다.4A is a diagram for describing a process of comparing an extracted voice fingerprint and a pre-registered voice fingerprint according to an embodiment of the present disclosure. As illustrated in FIG. 4A, in order to recognize the user who spoke, the electronic device 100 may compare a voice fingerprint 410 representing an extracted user with a previously registered voice fingerprint 420, 430, and 440. Specifically, the electronic device 100 calculates an error by comparing the voice fingerprint 410 representing the user with the previously registered voice fingerprints 420, 430, 440, and inputs when the calculated error does not exceed a threshold value. The user who uttered the voiced voice can be recognized. In addition, the previously registered voice fingerprint may be average data of the first registered voice fingerprint 420 and the stored voice fingerprints 430 and 440. Accordingly, the electronic device 100 may calculate an error by comparing the average data of the initially registered voice fingerprint 420 and the stored voice fingerprints 430 and 440 with the voice fingerprint 410 representing the user.
그리고, 전자 장치(100)는 음성지문 간의 오차를 계산할 때 코사인 유사도를 사용할 수 있다. Further, the electronic device 100 may use the cosine similarity when calculating an error between voice fingerprints.
Figure PCTKR2019016547-appb-I000001
(1)
Figure PCTKR2019016547-appb-I000001
(One)
위 (1) 수식은 음성 지문간의 코사인 유사도를 계산하는 식이다. 예를 들어, 사용자를 나타내는 음성지문이 a 이고 기등록된 음성지문이 b인 경우, 전자 장치(100)는 위 (1) 수식을 이용하여 유사도를 계산하고 오차를 계산할 수 있다.Equation (1) above is an equation to calculate the cosine similarity between voice fingerprints. For example, if the voice fingerprint representing the user is a and the previously registered voice fingerprint is b, the electronic device 100 may calculate the similarity and calculate the error using the above equation (1).
Figure PCTKR2019016547-appb-I000002
(2)
Figure PCTKR2019016547-appb-I000002
(2)
위 (2) 수식은 기등록된 음성지문의 개수가 복수일 때, 코사인 유사도를 계산하는 식이다. 예를 들어, 사용자를 나타내는 음성지문이 Xin이고, 기등록된 음성지문의 개수가 N이고, 기등록된 음성지문이 Xq인 경우, 전자 장치(100)는 위 (2) 수식을 이용하여 유사도를 계산하고 오차를 계산할 수 있다.The above equation (2) is an equation for calculating the cosine similarity when the number of previously registered voice fingerprints is plural. For example, if the voice fingerprint representing the user is Xin, the number of pre-registered voice fingerprints is N, and the pre-registered voice fingerprint is Xq, the electronic device 100 calculates the similarity by using the above (2) equation. You can calculate and calculate the error.
도 4b는 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하는 경우의 UI를 설명하기 위한 도면이다. 도 4b에 도시된 바와 같이, 전자 장치(100)는 발화한 사용자를 인식한 경우, 사용자를 인식했다는 메시지 및 사용자 정보를 포함하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 사용자 정보는 사용자의 이름, 카메라(170)를 통해 촬영한 사용자의 사진 등이 될 수 있으나 이는 일 실시예일 뿐이다.4B is a diagram illustrating a UI when recognizing a user who has spoken according to an embodiment of the present disclosure. As illustrated in FIG. 4B, when recognizing a user who has spoken, the electronic device 100 may control the display 120 to display a message indicating that the user has been recognized and a UI including user information. The user information may be a user's name, a user's picture taken through the camera 170, and the like, but this is only an example.
도 4c는 본 개시의 일 실시예에 따른, 기설정된 개수를 초과하여 음성지문이 저장된 경우, 전자 장치(100)가 음성지문을 추가적으로 저장하는 과정을 설명하기 위한 도면이다. 사용자를 나타내는 음성지문(410)과 기등록된 음성지문(420, 430, 440)를 비교하여 계산된 오차가 기설정된 값을 넘지 않을 경우, 전자 장치(100)는 사용자를 나타내는 음성지문(410)을 메모리(130)에 저장할 수 있다. 그리고, 메모리(130)에 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 저장된 경우, 전자 장치(100)는 가장 나중에 저장된 사용자를 나타내는 음성지문(430)을 삭제할 수 있다. 잘못된 음성지문이 저장되는 경우를 대비하여, 전자 장치(100)는 최초로 등록된 음성지문(420)을 제외하고 가장 나중에 저장된 음성지문(430)을 삭제할 수 있다. 도 4c는 기설정된 개수가 3개인 경우로 가정하고 도시하였으나 이는 일 실시예일 뿐이고, 기설정된 개수는 전자 장치(100)의 유형 또는 사용자 설정에 의해 변경될 수 있다.FIG. 4C is a diagram illustrating a process of additionally storing voice fingerprints by the electronic device 100 when voice fingerprints are stored in excess of a preset number, according to an embodiment of the present disclosure. If the error calculated by comparing the voice fingerprint 410 representing the user with the previously registered voice fingerprint 420, 430, and 440 does not exceed a preset value, the electronic device 100 may display the voice fingerprint 410 representing the user. May be stored in the memory 130. In addition, when a voice fingerprint representing a user is stored in the memory 130 in excess of a preset number, the electronic device 100 may delete the voice fingerprint 430 that represents the last stored user. In preparation for a case in which an incorrect voice fingerprint is stored, the electronic device 100 may delete the last stored voice fingerprint 430 except for the first registered voice fingerprint 420. In FIG. 4C, it is assumed that the preset number is three, but this is only an example, and the preset number may be changed according to the type of the electronic device 100 or user setting.
그리고, 전자 장치(100)는 새로 저장된 사용자를 나타내는 음성지문(410)에 대응하여 임계값을 변경할 수 있다. 구체적으로, 새로 저장된 음성지문(410)에 대응되는 음성의 에너지의 주파수 분포가 기등록된 음성지문(420, 430, 440)에 대응되는 음성의 에너지의 주파수 분포와 차이가 있는 경우, 전자 장치(100)는 차이에 대응되도록 임계값을 변경할 수 있다.In addition, the electronic device 100 may change the threshold value in response to the voice fingerprint 410 representing a newly stored user. Specifically, when the frequency distribution of the energy of the voice corresponding to the newly stored voice fingerprint 410 is different from the frequency distribution of the energy of the voice corresponding to the previously registered voice fingerprint 420, 430, 440, the electronic device ( 100) may change the threshold value to correspond to the difference.
도 5는 본 개시의 일 실시예에 따른, 음성지문을 비교하고 저장하는 과정을 설명하기 위한 순서도이다.5 is a flowchart illustrating a process of comparing and storing voice fingerprints according to an embodiment of the present disclosure.
우선, 전자 장치(100)는 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 오차를 계산할 수 있다(S510). 구체적으로, 전자 장치(100)는 최초로 등록된 음성지문과 추후 저장된 음성지문의 평균 데이터인 기등록된 음성지문을 사용자를 나타내는 음성지문과 비교하여 오차를 계산할 수 있다. 계산된 오차가 임계값을 초과한 경우, 전자 장치(100)는 사용자 인식을 실패할 수 있다(S525). 계산된 오차가 임계값을 초과하지 않은 경우, 전자 장치(100)는 입력된 사용자 음성을 발화한 사용자를 인식할 수 있다(S530). 그리고, 전자 장치(100)는 인식된 사용자의 정보 및 인식이 완료되었다는 메시지를 포함하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 또한, 전자 장치(100)는 계산된 오차가 임계값보다 작은 기설정된 값을 초과했는지 여부를 판단할 수 있다(S540). 계산된 오차가 기설정된 값을 초과하지 않다고 판단되면, 전자 장치(100)는 사용자를 나타내는 음성지문을 메모리(130)에 저장할 수 있다(S550). 그리고, 전자 장치(100)는 메모리(130)에 음성지문이 기설정된 개수 이상으로 저장되어있는지 여부를 판단할 수 있다(S560). 기설정된 개수는 전자 장치(100)의 유형에 따라 달라질 수 있으며, 사용자에 의해 결정될 수도 있다. 메모리(130)에 기설정된 개수를 초과하여 음성지문이 저장되어 있다고 판단되는 경우, 전자 장치(100)는 가장 나중에 저장된 음성지문을 삭제할 수 있다(S570). 특히, 전자 장치(100)는 최초로 등록된 음성지문을 제외하고 가장 나중에 저장된 음성지문을 삭제할 수 있다. 그리고, 전자 장치(100)는 새로 저장된 음성지문에 대응하여 임계값을 변경할 수 있다(S580). 구체적으로, 새로 저장된 음성지문에 대응하는 음성의 에너지 주파수 분포가 기등록된 음성지문에 대응하는 음성의 에너지 주파수 분포와 차이가 있을 경우, 전자 장치(100)는 차이에 대응되도록 임계값을 변경할 수 있다.First, the electronic device 100 may calculate an error by comparing a voice fingerprint representing a user with a previously registered voice fingerprint (S510). Specifically, the electronic device 100 may calculate an error by comparing a previously registered voice fingerprint, which is the average data of the voice fingerprint registered first and the voice fingerprint stored later, with the voice fingerprint representing the user. When the calculated error exceeds the threshold value, the electronic device 100 may fail to recognize the user (S525). When the calculated error does not exceed the threshold value, the electronic device 100 may recognize the user who uttered the input user voice (S530). Further, the electronic device 100 may control the display 120 to display a UI including information on the recognized user and a message indicating that the recognition has been completed. Also, the electronic device 100 may determine whether the calculated error exceeds a preset value smaller than a threshold value (S540). When it is determined that the calculated error does not exceed a preset value, the electronic device 100 may store a voice fingerprint representing the user in the memory 130 (S550). In addition, the electronic device 100 may determine whether or not more than a preset number of voice fingerprints are stored in the memory 130 (S560). The preset number may vary according to the type of electronic device 100 and may be determined by a user. When it is determined that voice fingerprints are stored in the memory 130 in excess of the preset number, the electronic device 100 may delete the last stored voice fingerprint (S570). In particular, the electronic device 100 may delete the last stored voice fingerprint except for the first registered voice fingerprint. In addition, the electronic device 100 may change the threshold value in response to the newly stored voice fingerprint (S580). Specifically, when the energy frequency distribution of the voice corresponding to the newly stored voice fingerprint is different from the energy frequency distribution of the voice corresponding to the previously registered voice fingerprint, the electronic device 100 may change the threshold value to correspond to the difference. have.
도 6은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도이다. 음성지문을 통해 사용자가 인식된 후, 전자 장치(100)는 마이크(110)를 통해 인식된 사용자의 음성 명령을 입력받을 수 있다(610). 전자 장치(100)는 입력된 사용자의 음성 명령을 복수의 신경망을 포함하는 제1 인공지능 모델(70)에 입력할 수 있다. 제1 인공지능 모델(70)은 복수의 사용자의 음성 명령을 통해 학습된 일반(general) 신경망 및 사용자의 음성 명령을 통해 학습된 개인(Personal) 신경망을 이용하여 사용자의 음성 명령에 대응되는 제어 정보를 획득할 수 있다.6 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure. After the user is recognized through the voice fingerprint, the electronic device 100 may receive the recognized user's voice command through the microphone 110 (610). The electronic device 100 may input the inputted user's voice command to the first artificial intelligence model 70 including a plurality of neural networks. The first artificial intelligence model 70 uses a general neural network learned through a plurality of user's voice commands and a personal neural network learned through a user's voice command to control information corresponding to a user's voice command. Can be obtained.
구체적으로, 전자 장치(100)는 입력된 사용자의 음성 명령을 제1 인공지능 모델의 일반 신경망(620)에 입력할 수 있다. 일반 신경망(620)은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망이다. 복수의 사용자 데이터 베이스에는 복수의 사용자의 정보, 복수의 사용자가 기존에 입력했던 음성 명령 및 음성 명령에 따라 수행된 기능에 대한 데이터가 저장되어 있다. 따라서, 전자 장치(100)는 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 일반 신경망(620)에 사용자 음성 명령을 입력하여 음성 명령에 대응되는 정보를 획득할 수 있다.Specifically, the electronic device 100 may input the inputted user's voice command to the general neural network 620 of the first artificial intelligence model. The general neural network 620 is a neural network learned based on data stored in a plurality of user databases. In the plurality of user databases, information on a plurality of users, voice commands previously input by the plurality of users, and data on functions performed according to the voice commands are stored. Accordingly, the electronic device 100 may obtain information corresponding to the voice command by inputting a user voice command to the general neural network 620 learned based on data stored in a plurality of user databases.
일 실시 예로, 일반 신경망(620)은 입력된 사용자 음성 명령의 특징점을 추출할 수 있다. 특징점은 벡터의 형태일 수 있으나 일 실시 예일 뿐이고 다양한 형태로 저장될 수 있다. 그리고, 일반 신경망(620)은 추출한 사용자 음성 명령의 특징점과 복수의 사용자 데이터 베이스로부터 저장된 데이터를 비교하여 음성 명령에 대한 제어 정보를 추출할 수 있다.As an example, the general neural network 620 may extract feature points of an input user voice command. The feature point may be in the form of a vector, but is only an example and may be stored in various forms. Further, the general neural network 620 may extract control information for the voice command by comparing the feature points of the extracted user voice command with data stored from a plurality of user databases.
그리고, 전자 장치(100)는 일반 신경망(620)에서 출력된 결과와 인식된 사용자의 데이터 베이스(640)를 제1 인공지능 모델(70)의 개인 신경망(630)에 입력할 수 있다. 개인 신경망(630)은 사용자의 데이터 베이스(640)에 저장된 데이터를 바탕으로 추가 학습되는 신경망이다. 사용자의 데이터 베이스(640)에는 사용자의 정보 및 사용자가 기존에 입력했던 음성 명령 및 음성 명령에 따라 수행된 기능에 대한 데이터가 저장되어 있다. 따라서, 개인 신경망(630)은 사용자의 데이터 베이스(640)에 저장된 데이터와 새로 입력된 사용자 음성 명령을 바탕으로 음성 명령에 대한 정보를 획득하고 추가 학습될 수 있다. 그리고, 개인 신경망(630)은 일반 신경망(620)으로부터 입력된 결과와 자체적으로 획득한 정보를 연결하여 사용자 음성명령에 대한 제어 정보를 출력할 수 있다. 즉, 전자 장치(100)는 일반 신경망(620) 및 개인 신경망(630)에서 출력된 결과를 바탕으로 사용자 음성명령에 대한 정보를 획득할 수 있다(650). Further, the electronic device 100 may input the result output from the general neural network 620 and the recognized user's database 640 into the personal neural network 630 of the first artificial intelligence model 70. The personal neural network 630 is a neural network that is additionally learned based on data stored in the user's database 640. The user's database 640 stores user information and data on a voice command previously input by the user and a function performed according to the voice command. Accordingly, the personal neural network 630 may acquire information on a voice command based on data stored in the user's database 640 and a newly inputted user voice command, and further learn. In addition, the personal neural network 630 may output control information for a user's voice command by connecting a result input from the general neural network 620 with information acquired by itself. That is, the electronic device 100 may obtain information on a user voice command based on results output from the general neural network 620 and the personal neural network 630 (650 ).
도 7은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도이다. 7 is a block diagram illustrating a process of recognizing a user's voice command according to an embodiment of the present disclosure.
개인 신경망(630)은 신경 레이어(710)와 연결 레이어(720)를 포함할 수 있다. 신경 레이어(710)는 사용자 데이터 베이스(640)에 저장된 데이터 및 새로 입력된 음성 명령을 바탕으로 학습되고, 음성 명령에 대한 제어 정보를 출력할 수 있다. 신경 레이어(710)에서 새로 출력한 사용자 음성 명령에 대한 정보는 사용자 데이터 베이스(640)에 저장될 수 있다. 그리고, 신경 레이어(710)는 일반 신경망(620)에서 출력된 결과를 바탕으로 음성 명령에 대한 정보를 추가 출력할 수 있다. 신경 레이어(710)는 일반 신경망에서 최종 출력된 결과를 입력받을 수도 있으나 이는 일 실시예에 불과할 뿐이며 일반 신경망(620)에서 출력된 중간 결과를 입력받을 수도 있다.The personal neural network 630 may include a neural layer 710 and a connection layer 720. The neural layer 710 is learned based on data stored in the user database 640 and a newly input voice command, and may output control information for the voice command. Information on a user voice command newly output from the neural layer 710 may be stored in the user database 640. Further, the neural layer 710 may additionally output information on a voice command based on a result output from the general neural network 620. The neural layer 710 may receive the final result output from the general neural network, but this is only an example, and the intermediate result output from the general neural network 620 may be input.
일 실시예로, 제1 인공지능 모델(70)이 CNN(Convolutional Neural Network)모델로 이루어진 경우, 신경 레이어(710)는 합성곱 계층(Convolutional Layer)와 통합 계층(Pooling Layer)를 포함할 수 있다. 합성곱 계층에서는 음성 명령의 특징을 추출하고 필터를 통과시켜 특징 맵(Feature map)을 출력할 수 있다. 통합 계층에서는 합성곱 계층에서 출력된 특징 맵의 크기를 줄일 수 있다. 구체적으로, 특징 맵은 복수의 서브맵으로 이루어져있으며 서브맵에는 음성 특징에 대응되는 값이 저장되어 있다. 통합 계층은 각 서브맵에 저장되어 있는 음성 특징에 대응되는 값 중 가장 큰 값 또는 평균값만을 남기고 저장하여 특징맵의 크기를 줄일 수 있다. 따라서, 신경 레이어(710)는 일반 신경망에서 출력된 결과를 합성곱 계층과 통합 계층을 거쳐 음성 명령에 대한 정보를 출력할 수 있다.In an embodiment, when the first artificial intelligence model 70 is made of a convolutional neural network (CNN) model, the neural layer 710 may include a convolutional layer and a pooling layer. . In the convolutional layer, a feature map can be output by extracting a feature of a voice command and passing a filter. In the integration layer, the size of the feature map output from the convolutional layer can be reduced. Specifically, the feature map is composed of a plurality of submaps, and values corresponding to voice features are stored in the submap. The integration layer can reduce the size of the feature map by storing only the largest value or the average value among values corresponding to the voice features stored in each submap. Accordingly, the neural layer 710 may output information on a voice command through a convolutional layer and an integration layer on the result output from the general neural network.
그리고, 연결 레이어(720)에서는 일반 신경망에서 출력한 결과와 신경 레이어(710)에서 출력한 결과를 연결하여 음성 명령에 대한 최종 제어 정보를 출력할 수 있다. 구체적으로, 연결 레이어(720)는 일반 신경망(620)에서 출력한 음성 명령에 대한 정보와 신경 레이어(710)에서 출력한 음성 명령에 대한 정보를 통합하여 전자 장치(100)가 인식할 수 있는 사용자 음성 명령에 대한 제어 정보를 출력할 수 있다. 따라서, 전자 장치(100)는 연결 레이어(720)에서 출력된 음성 명령에 대응하는 제어 정보를 최종적으로 획득할 수 있다.In addition, the connection layer 720 may connect the result output from the general neural network and the result output from the neural layer 710 to output final control information for the voice command. Specifically, the connection layer 720 is a user that can be recognized by the electronic device 100 by integrating information on a voice command output from the general neural network 620 and information on a voice command output from the neural layer 710 Control information for voice commands can be output. Accordingly, the electronic device 100 may finally obtain control information corresponding to the voice command output from the connection layer 720.
도 8은 본 개시의 일 실시예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.8 is a block diagram illustrating a configuration of an electronic device for learning and using an artificial intelligence model according to an embodiment of the present disclosure.
도 8을 참조하면, 프로세서(800)는 학습부(810) 및 획득부(820) 중 적어도 하나를 포함할 수 있다. 도 8의 프로세서(800)는 도 2a 및 도 2b의 전자 장치(100)의 프로세서(140) 또는 데이터 학습 서버(미도시)의 프로세서에 대응될 수 있다.Referring to FIG. 8, the processor 800 may include at least one of a learning unit 810 and an acquisition unit 820. The processor 800 of FIG. 8 may correspond to the processor 140 of the electronic device 100 of FIGS. 2A and 2B or a processor of a data learning server (not shown).
학습부(810)는 사용자 음성 명령에 대응하는 제어 정보를 획득하기 위한 제1 모델, 사용자를 나타내는 음성지문을 추출하기 위한 제2 모델을 생성 또는 학습시킬 수 있다. 학습부(810)는 수집된 학습 데이터를 이용하여 인식 기준을 갖는 학습된 모델을 생성할 수 있다. The learning unit 810 may generate or train a first model for obtaining control information corresponding to a user's voice command and a second model for extracting a voice fingerprint representing the user. The learning unit 810 may generate a trained model having a recognition criterion using the collected training data.
일 예로, 학습부(810)는 사용자 음성 명령을 입력 데이터로 사용하여 사용자 음성 명령에 대응하는 제어 정보를 획득하기 위한 제1 모델을 생성, 학습 또는 갱신시킬 수 있다. 또한, 학습부(810)는 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 입력데이터로 사용하여 사용자를 나타내는 음성지문을 추출하기 위한 제2 모델을 생성, 학습 또는 갱신시킬 수 있다. 한편, 본 발명의 일 실시예에 다른 실시예에 따르면, 제1 모델 및 제2 모델은 서로 통합된 모델로 구현될 수 있다. 즉, 통합된 모델은 사용자 음성 명령을 입력 데이터로 사용하여 사용자 음성 명령에 대한 정보 및 사용자를 나타내는 음성지문을 추출할 수 있다.For example, the learning unit 810 may generate, learn, or update a first model for acquiring control information corresponding to the user voice command by using the user voice command as input data. In addition, the learning unit 810 may generate, learn, or update a second model for extracting a voice fingerprint representing a user by using a feature vector, a feature matrix, and a preprocessed voice as input data. Meanwhile, according to another embodiment of the present invention, the first model and the second model may be implemented as an integrated model. That is, the integrated model may extract information on the user's voice command and a voice fingerprint representing the user by using the user's voice command as input data.
획득부(820)는 소정의 데이터를 학습된 모델의 입력 데이터로 사용하여, 다양한 정보를 획득할 수 있다.The acquisition unit 820 may acquire various types of information by using predetermined data as input data of the trained model.
일 예로, 획득부(820)는 사용자의 음성 명령을 학습된 제1 모델의 입력 데이터로 사용하여 사용자 음성 명령에 대한 정보를 획득(또는, 인식, 추정)할 수 있다. 또한, 획득부(820)는 사용자 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 학습된 제2 모델의 입력 데이터로 사용하여 사용자를 나타내는 음성지문을 획득(또는 추정, 추론, 인식)할 수 있다.For example, the acquisition unit 820 may acquire (or recognize, estimate) information on the user's voice command by using the user's voice command as input data of the learned first model. In addition, the acquisition unit 820 may acquire (or estimate, infer, or recognize) a voice fingerprint representing the user by using the feature vector, the feature matrix, and the preprocessed voice of the user voice as input data of the learned second model. .
학습부(810)의 적어도 일부 및 획득부(820)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(810) 및 획득부(820) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(810) 및 획득부(820)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.At least a portion of the learning unit 810 and at least a portion of the acquisition unit 820 may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on an electronic device. For example, at least one of the learning unit 810 and the acquisition unit 820 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (eg, CPU or application processor) or a graphics dedicated processor (for example, a GPU), and mounted on the aforementioned various electronic devices. At this time, the dedicated hardware chip for artificial intelligence is a dedicated processor specialized in probability calculation, and has higher parallel processing performance than conventional general-purpose processors, so it can quickly process computation tasks in artificial intelligence fields such as machine learning. When the learning unit 810 and the acquisition unit 820 are implemented as a software module (or a program module including an instruction), the software module is a non-transitory readable recording medium that can be read by a computer. transitory computer readable media). In this case, the software module may be provided by an OS (Operating System) or a predetermined application. Alternatively, some of the software modules may be provided by an operating system (OS), and some of the software modules may be provided by a predetermined application.
한편, 학습부(810) 및 획득부(820)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(810) 및 획득부(820) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(810) 및 획득부(820)는 유선 또는 무선으로 통하여, 학습부(810)가 구축한 모델 정보를 획득부(820)로 제공할 수도 있고, 학습부(810)로 입력된 데이터가 추가 학습 데이터로서 학습부(810)로 제공될 수도 있다.Meanwhile, the learning unit 810 and the acquisition unit 820 may be mounted on one electronic device or may be mounted on separate electronic devices, respectively. For example, one of the learning unit 810 and the acquisition unit 820 may be included in the electronic device 100 and the other may be included in an external server. In addition, the learning unit 810 and the acquisition unit 820 may provide model information built by the learning unit 810 to the acquisition unit 820 through wired or wireless, or input to the learning unit 810 Data may be provided to the learning unit 810 as additional learning data.
도 9는 본 개시의 일 실시예에 따른, 학습부 및 인식부의 구체적인 구성을 나타내는 블록도이다. 9 is a block diagram showing a detailed configuration of a learning unit and a recognition unit according to an embodiment of the present disclosure.
도 9의 (a)를 참조하면, 일부 실시예에 따른 학습부(810)는 학습 데이터 획득부(810-1) 및 모델 학습부(810-4)를 포함할 수 있다. 또한, 학습부(810)는 학습 데이터 전처리부(810-2), 학습 데이터 선택부(810-3) 및 모델 평가부(810-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.Referring to FIG. 9A, the learning unit 810 according to some embodiments may include a learning data acquisition unit 810-1 and a model learning unit 810-4. In addition, the learning unit 810 may selectively further include at least one of a training data preprocessor 810-2, a training data selection unit 810-3, and a model evaluation unit 810-5.
학습 데이터 획득부(810-1)는 제1 모델 및 제2 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시예로, 학습 데이터 획득부(1110-1)는 사용자 음성 명령, 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(810) 또는 학습부(810)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다. The training data acquisition unit 810-1 may acquire training data required for the first model and the second model. In an embodiment of the present disclosure, the learning data acquisition unit 11110-1 may acquire a user voice command, a feature vector of a voice, a feature matrix, and a preprocessed voice as learning data. The learning data may be data collected or tested by the learning unit 810 or the manufacturer of the learning unit 810.
모델 학습부(810-4)는 학습 데이터를 이용하여 사용자 음성 명령에 대한 제어 정보 및 사용자를 나타내는 음성지문을 어떻게 획득할지에 관한 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(810-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(810-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(810-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(810-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다The model learning unit 810-4 may learn to have a reference for how to obtain control information for a user's voice command and a voice fingerprint representing the user by using the training data. For example, the model learning unit 810-4 may train an artificial intelligence model through supervised learning using at least a portion of the training data as a criterion for determination. Alternatively, the model learning unit 810-4, for example, by self-learning using the training data without any special guidance, through unsupervised learning to find a criterion for determining the situation, artificial intelligence You can train the model. In addition, the model learning unit 810-4 may train the artificial intelligence model through reinforcement learning using feedback on whether a result of situation determination according to learning is correct, for example. In addition, the model learning unit 810-4 may train the artificial intelligence model using, for example, a learning algorithm including error back-propagation or gradient descent.
모델 학습부(810-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자 등과 같은 다양한 기준으로 기분류되어 있을 수 있다. When there are a plurality of pre-built artificial intelligence models, the model learning unit 810-4 may determine an artificial intelligence model having a high correlation between the input training data and the basic training data as an artificial intelligence model to be trained. In this case, the basic training data may be pre-classified by data type, and the artificial intelligence model may be pre-built for each data type. For example, the basic learning data may be classified according to various criteria such as an area in which the training data is generated, a time when the training data is generated, a size of the training data, a genre of the training data, and a creator of the training data.
인공지능 모델이 학습되면, 모델 학습부(810-4)는 학습된 인공지능 모델을 저장할 수 있다. 이 경우, 모델 학습부(810-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(130)에 저장할 수 있다. 또는, 모델 학습부(810-4)는 학습된 인공지능 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.When the artificial intelligence model is trained, the model learning unit 810-4 may store the learned artificial intelligence model. In this case, the model learning unit 810-4 may store the learned artificial intelligence model in the memory 130 of the electronic device 100. Alternatively, the model learning unit 810-4 may store the learned artificial intelligence model in a memory of a server connected to the electronic device 100 through a wired or wireless network.
학습부(810)는 인공지능 모델의 인식 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(810-2) 및 학습 데이터 선택부(810-3)를 더 포함할 수도 있다.The learning unit 810 is a training data preprocessing unit 810-2 and a training data selection unit 810-3 in order to improve the recognition result of the artificial intelligence model or save resources or time required for generation of the artificial intelligence model. ) May be further included.
학습 데이터 전처리부(810-2)는 음성 명령에 대응하는 제어 정보 획득 및 음성 지문추출을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(810-2)는 모델 학습부(810-4)가 음성 명령에 대응하는 제어 정보 획득 및 음성 지문추출을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.The learning data preprocessor 810-2 may preprocess the acquired data so that the acquired data can be used for learning for acquiring control information corresponding to a voice command and extracting a voice fingerprint. The training data preprocessing unit 810-2 is configured to preset the acquired data so that the model learning unit 810-4 can use the acquired data for learning for acquiring control information corresponding to a voice command and extracting a voice fingerprint. It can be processed into a format.
학습 데이터 선택부(810-3)는 학습 데이터 획득부(810-1)에서 획득된 데이터 또는 학습 데이터 전처리부(810-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(810-4)에 제공될 수 있다. 학습 데이터 선택부(810-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(810-3)는 모델 학습부(810-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다. The learning data selection unit 810-3 may select data necessary for learning from data acquired by the learning data acquisition unit 810-1 or data preprocessed by the learning data preprocessor 810-2. The selected training data may be provided to the model learning unit 810-4. The learning data selection unit 810-3 may select learning data required for learning from acquired or preprocessed data according to a preset selection criterion. In addition, the training data selection unit 810-3 may select training data according to a preset selection criterion by learning by the model learning unit 810-4.
학습부(810)는 인공지능 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(810-5)를 더 포함할 수도 있다.The learning unit 810 may further include a model evaluation unit 810-5 in order to improve the recognition result of the artificial intelligence model.
모델 평가부(810-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(810-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다. The model evaluation unit 810-5 inputs evaluation data to the artificial intelligence model, and when the recognition result output from the evaluation data does not satisfy a predetermined criterion, the model learning unit 810-4 may retrain. have. In this case, the evaluation data may be predefined data for evaluating an artificial intelligence model.
예를 들어, 모델 평가부(810-5)는 평가 데이터에 대한 학습된 인공지능 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. For example, the model evaluation unit 810-5 may set a predetermined criterion when the number or ratio of evaluation data whose recognition result is not accurate among the recognition results of the learned artificial intelligence model for the evaluation data exceeds a preset threshold. It can be evaluated as not satisfied.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(810-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(810-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.On the other hand, when there are a plurality of learned artificial intelligence models, the model evaluation unit 810-5 evaluates whether each of the learned artificial intelligence models satisfies a predetermined criterion, and determines a model that satisfies the predetermined criterion. Can be determined as a model. In this case, when there are a plurality of models that satisfy a predetermined criterion, the model evaluation unit 810-5 may determine any one or a predetermined number of models set in advance in the order of the highest evaluation scores as the final artificial intelligence model.
도 9의 (b)를 참조하면, 일부 실시예에 따른 획득부(820)는 입력 데이터 획득부(820-1) 및 제공부(820-4)를 포함할 수 있다.Referring to FIG. 9B, the acquisition unit 820 according to some embodiments may include an input data acquisition unit 820-1 and a providing unit 820-4.
*또한, 획득부(820)는 입력 데이터 전처리부(820-2), 입력 데이터 선택부(820-3) 및 모델 갱신부(820-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.*In addition, the acquisition unit 820 may further selectively include at least one of the input data preprocessor 820-2, the input data selection unit 820-3, and the model update unit 820-5.
입력 데이터 획득부(820-1)는 사용자 음성 명령에 대응하는 제어 정보 획득 및 사용자를 나타내는 음성지문 추출을 위해 필요한 데이터를 획득할 수 있다. 제공부(820-4)는 입력 데이터 획득부(820-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 사용자 음성 명령에 대응하는 제어 정보를 획득하고 사용자를 나타내는 음성지문을 추출할 수 있다. 제공부(820-4)는 후술할 입력 데이터 전처리부(820-2) 또는 입력 데이터 선택부(820-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 인식 결과를 획득할 수 있다. 인식 결과는 인공지능 모델에 의해 결정될 수 있다. The input data acquisition unit 820-1 may acquire data necessary for acquiring control information corresponding to a user's voice command and extracting a voice fingerprint representing the user. The providing unit 820-4 applies the input data obtained by the input data acquisition unit 820-1 to the artificial intelligence model learned as an input value to obtain control information corresponding to the user's voice command, and a voice fingerprint representing the user. Can be extracted. The providing unit 820-4 may obtain a recognition result by applying the data selected by the input data preprocessor 820-2 or the input data selection unit 820-3 to be described later to the artificial intelligence model as an input value. . The recognition result can be determined by an artificial intelligence model.
일 실시예로, 제공부(820-4)는 입력 데이터 획득부(820-1)에서 획득한 사용자 음성 명령을 학습된 제1 모델에 적용하여 사용자 음성 명령에 대응하는 제어 정보를 획득(또는, 추정)할 수 있다.In an embodiment, the providing unit 820-4 obtains control information corresponding to the user’s voice command by applying the user’s voice command obtained from the input data obtaining unit 820-1 to the learned first model (or, Can be estimated).
또 다른 예로, 제공부(820-4)는 입력 데이터 획득부(820-1)에서 획득한 사용자 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 학습된 제2 모델에 적용하여 사용자를 나타내는 음성지문을 획득(또는, 추정)할 수 있다.As another example, the providing unit 820-4 applies a feature vector, a feature matrix, and a preprocessed voice of the user's voice acquired by the input data acquisition unit 820-1 to the learned second model, Can be obtained (or estimated).
획득부(820)는 인공지능 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(820-2) 및 입력 데이터 선택부(1120-3)를 더 포함할 수도 있다.The acquisition unit 820 is an input data preprocessing unit 820-2 and an input data selection unit 1120-3 in order to improve the recognition result of the artificial intelligence model or save resources or time for providing the recognition result. It may further include.
입력 데이터 전처리부(820-2)는 제1 및 제2 모델에 입력되기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(820-2)는 제공부(820-4)가 사용자 음성 명령에 대응하는 제어 정보의 획득 및 사용자를 나타내는 음성지문을 추출하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. The input data preprocessor 820-2 may pre-process the acquired data so that the acquired data to be input to the first and second models can be used. The input data preprocessing unit 820-2 uses the acquired data so that the providing unit 820-4 can use the acquired data to obtain control information corresponding to the user's voice command and extract a voice fingerprint representing the user. It can be processed into a predefined format.
입력 데이터 선택부(820-3)는 입력 데이터 획득부(820-1)에서 획득된 데이터 또는 입력 데이터 전처리부(820-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 제공부(820-4)에게 제공될 수 있다. 입력 데이터 선택부(820-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(820-3)는 모델 학습부(810-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.The input data selection unit 820-3 may select data necessary for situation determination from data obtained by the input data acquisition unit 820-1 or data preprocessed by the input data preprocessor 820-2. The selected data may be provided to the providing unit 820-4. The input data selection unit 820-3 may select some or all of the acquired or preprocessed data according to a preset selection criterion for determining a situation. In addition, the input data selection unit 820-3 may select data according to a preset selection criterion by learning by the model learning unit 810-4.
모델 갱신부(820-5)는 제공부(820-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(820-5)는 제공부(820-4)에 의해 제공되는 인식 결과를 모델 학습부(810-4)에게 제공함으로써, 모델 학습부(810-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.The model update unit 820-5 may control the artificial intelligence model to be updated based on an evaluation of the recognition result provided by the providing unit 820-4. For example, the model update unit 820-5 provides the recognition result provided by the providing unit 820-4 to the model learning unit 810-4, so that the model learning unit 810-4 You can request to further train or update the model.
도 10은 본 개시의 일 실시예에 따른, 인식한 음성 명령 정보가 맞는지 여부를 확인하는 UI를 설명하기 위한 도면이다. 전자 장치(100)는 획득한 사용자 음성 명령에 대응하는 제어 정보에 대응하는 기능을 수행할 수 있다. 일 실시예로, 오늘 날씨를 알려달라는 음성 명령이 마이크(110)를 통해 입력되면, 전자 장치(100)는 오늘 날씨에 대한 정보를 획득하고, 오늘 날씨에 대한 정보를 포함하는 UI(User Interface)를 표시하도록 디스플레이(120)를 제어할 수 있다.FIG. 10 is a diagram for explaining a UI for checking whether recognized voice command information is correct according to an embodiment of the present disclosure. The electronic device 100 may perform a function corresponding to control information corresponding to the acquired user voice command. In an embodiment, when a voice command for notifying today's weather is input through the microphone 110, the electronic device 100 acquires information about today's weather, and a UI (User Interface) including information about today's weather The display 120 may be controlled to display.
그리고, 전자 장치(100)는 획득한 정보가 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI(1010)를 표시하도록 디스플레이(120)를 제어할 수 있다. 도 10에 도시된 바와 같이, 일 실시예로 전자 장치(100)는 오늘 날씨에 대한 정보를 표시하는 동시에, 날씨에 대한 정보가 사용자가 요청한 정보가 맞는지 여부를 확인하는 UI(1010)를 표시할 수 있다.In addition, the electronic device 100 may control the display 120 to display a UI 1010 that checks whether the acquired information corresponds to information about a user's voice command. As shown in FIG. 10, in an embodiment, the electronic device 100 displays information about today's weather and displays a UI 1010 that checks whether the information about the weather is the information requested by the user. I can.
만약 UI(1010)를 통해, 획득한 제어 정보가 사용자의 음성 명령에 관한 정보가 맞지 않다는 정보가 입력되면, 전자 장치(100)는 획득한 제어 정보와 사용자 음성 명령을 개인 신경망에 입력할 수 있다. 그리고, 전자 장치(100)는 획득한 제어 정보와 사용자 음성 명령을 바탕으로 개인 신경망을 추가 학습시킬 수 있다. 따라서, 전자 장치(100)는 음성 명령에 대한 올바른 정보를 획득할 수 있다.If information indicating that the acquired control information does not match the user's voice command information is input through the UI 1010, the electronic device 100 may input the acquired control information and the user's voice command to the personal neural network. . Further, the electronic device 100 may additionally learn a personal neural network based on the acquired control information and a user's voice command. Accordingly, the electronic device 100 may obtain correct information on the voice command.
도 11은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.11 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
전자 장치(100)는 사용자 음성을 입력받으면, 입력된 음성을 바탕으로 사용자를 나타내는 음성지문을 추출할 수 있다(S1110). 특히, 사용자 음성은 음성 지문 추출을 개시하는 트리거 음성일 수 있다. 그리고, 전자 장치(100)는 입력된 음성을 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출할 수 있다. 전자 장치(100)는 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 입력된 사용자 음성을 발화한 사용자를 인식할 수 있다(S1120). 구체적으로, 전자 장치(100)는 최초로 등록된 음성지문과 저장된 음성지문의 평균데이터인 기등록된 음성지문과 사용자를 나타내는 음성지문을 비교하여 오차를 계산할 수 있다. 그리고, 계산된 오차가 임계값을 초과하지 않는 경우 전자 장치(100)는 입력된 음성을 발화한 사용자를 인식할 수 있다.When the user's voice is input, the electronic device 100 may extract a voice fingerprint representing the user based on the input voice (S1110). In particular, the user voice may be a trigger voice for initiating voice fingerprint extraction. In addition, the electronic device 100 may extract a voice fingerprint representing a user by inputting the input voice into the learned second artificial intelligence model 20 to obtain a voice fingerprint. The electronic device 100 may recognize a user who uttered the input user voice by comparing a voice fingerprint representing the user with a previously registered voice fingerprint (S1120). Specifically, the electronic device 100 may calculate an error by comparing a previously registered voice fingerprint, which is the average data of the initially registered voice fingerprint and the stored voice fingerprint, with a voice fingerprint representing the user. Further, when the calculated error does not exceed the threshold value, the electronic device 100 may recognize a user who uttered the input voice.
그리고, 전자 장치(100)는 사용자가 인식된 후, 인식된 사용자의 음성 명령이 입력되면 사용자 음성 명령을 복수의 신경망을 포함하는 제1 인공지능 모델(70)에 입력하여 사용자의 음성 명령에 대응하는 제어 정보를 획득할 수 있다(S1130). 제1 인공지능 모델(70)은 복수의 사용자의 음성 명령을 통해 학습된 일반 신경망 및 상기 사용자의 음성 명령을 통해 학습된 개인 신경망을 이용하여 사용자의 음성 명령에 대응되는 제어 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 획득한 제어 정보에 대응하는 기능을 수행할 수 있다(S1140).In addition, after the user is recognized, when the recognized user's voice command is input, the electronic device 100 inputs the user's voice command into the first artificial intelligence model 70 including a plurality of neural networks to respond to the user's voice command. Control information may be acquired (S1130). The first artificial intelligence model 70 may acquire control information corresponding to a user's voice command by using a general neural network learned through a plurality of user's voice commands and a personal neural network learned through the user's voice command. . In addition, the electronic device 100 may perform a function corresponding to the acquired control information (S1140).
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium (eg, a computer). The device receives instructions stored from the storage medium. A device capable of making a call and operating according to the called command, may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments. When the command is executed by a processor, the processor directly, Alternatively, a function corresponding to the command may be performed using other components under the control of the processor, and the command may include a code generated or executed by a compiler or an interpreter. , May be provided in the form of a non-transitory storage medium, where'non-transitory' means that the storage medium does not contain a signal and is tangible. It does not distinguish between being stored semi-permanently or temporarily.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, a method according to various embodiments disclosed in the present document may be provided by being included in a computer program product. Computer program products can be traded between sellers and buyers as commodities. The computer program product may be distributed online in the form of a device-readable storage medium (eg, compact disc read only memory (CD-ROM)) or through an application store (eg, Play StoreTM). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the constituent elements (eg, a module or a program) according to various embodiments may be composed of a singular or a plurality of entities, and some sub-elements among the aforementioned sub-elements are omitted, or other sub-elements are It may be further included in various embodiments. Alternatively or additionally, some constituent elements (eg, a module or a program) may be integrated into one entity, and functions performed by each corresponding constituent element prior to the consolidation may be performed identically or similarly. Operations performed by modules, programs, or other components according to various embodiments are sequentially, parallel, repetitively or heuristically executed, or at least some operations are executed in a different order, omitted, or other operations are added. Can be.

Claims (15)

  1. 전자 장치에 있어서,In the electronic device,
    마이크;MIC;
    적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리; 및A memory for storing at least one instruction; And
    상기 적어도 하나의 인스트럭션을 실행하는 프로세서;를 포함하고,Includes; a processor that executes the at least one instruction,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,The processor executes the at least one instruction,
    상기 마이크를 통해 입력된 음성을 발화한 사용자를 인식하고,Recognizing the user who uttered the voice input through the microphone,
    상기 사용자가 인식된 후, 상기 마이크를 통해 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자의 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하고,After the user is recognized, when the recognized user's voice command is input through the microphone, the user's voice command is input to the first neural network of the first artificial intelligence model,
    상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하고,Input the result output from the first neural network to the second neural network of the first artificial intelligence model,
    상기 제1 신경망 및 상기 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하고,Acquires control information corresponding to the user's voice command based on the results output from the first neural network and the second neural network,
    상기 획득한 제어 정보에 대응하는 기능을 수행하며,Performs a function corresponding to the acquired control information,
    상기 제1 신경망은 복수의 사용자 데이터베이스에 저장된 데이터를 바탕으로 학습된 신경망이며,The first neural network is a neural network learned based on data stored in a plurality of user databases,
    상기 제2 신경망은 상기 인식된 사용자의 데이터베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 하는 전자 장치.And the second neural network is a neural network that is additionally learned based on data stored in the recognized user's database.
  2. 제1항에 있어서,The method of claim 1,
    상기 프로세서는,The processor,
    상기 마이크를 통해 입력된 음성을 바탕으로 상기 사용자를 나타내는 음성지문을 추출하고,Extracting a voice fingerprint representing the user based on the voice input through the microphone,
    상기 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 상기 입력된 사용자 음성을 발화한 사용자를 인식하는 전자 장치.An electronic device for recognizing a user who uttered the input user voice by comparing the voice fingerprint representing the user with a previously registered voice fingerprint.
  3. 제2항에 있어서,The method of claim 2,
    상기 프로세서는,The processor,
    상기 입력된 음성을 전처리하고,Pre-process the input voice,
    상기 전처리된 음성을 상기 음성지문을 획득하기 위해 학습된 제2 인공지능 모델에 입력하여 상기 사용자를 나타내는 음성지문을 추출하고, 상기 사용자를 나타내는 음성지문은 상기 사용자 음성의 에너지의 주파수 분포를 분석한 데이터인 것을 특징으로 하는 전자 장치.The voice fingerprint representing the user is extracted by inputting the preprocessed voice into the learned second artificial intelligence model to obtain the voice fingerprint, and the voice fingerprint representing the user analyzes the frequency distribution of the energy of the user's voice. Electronic device, characterized in that the data.
  4. 제2항에 있어서,The method of claim 2,
    상기 입력된 음성은 상기 사용자를 나타내는 음성지문 추출을 개시하는 트리거 음성인 것을 특징으로 하는 전자 장치.The electronic device, characterized in that the input voice is a trigger voice for initiating extraction of a voice fingerprint representing the user.
  5. 제2항에 있어서,The method of claim 2,
    상기 프로세서는,The processor,
    상기 사용자를 나타내는 음성지문과 상기 기등록된 음성지문을 비교하여 오차를 계산하고,Computing an error by comparing the voice fingerprint representing the user with the previously registered voice fingerprint,
    상기 계산된 오차가 임계값을 초과하지 않는 경우 상기 입력된 음성을 발화한 사용자를 인식하고,When the calculated error does not exceed a threshold value, the user who uttered the input voice is recognized,
    상기 오차가 기설정된 값을 넘지 않을 경우, 상기 사용자를 나타내는 음성지문을 상기 메모리에 저장하고,When the error does not exceed a preset value, a voice fingerprint representing the user is stored in the memory,
    상기 메모리에 기설정된 개수를 초과하여 상기 사용자를 나타내는 음성지문이 저장된 경우, 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제하는 전자 장치.When a voice fingerprint representing the user is stored in the memory exceeding a preset number, the last voice fingerprint representing the stored user is deleted.
  6. 제5항에 있어서,The method of claim 5,
    상기 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문과 상기 저장된 사용자를 나타내는 음성지문의 평균 데이터인 것을 특징으로 하는 전자 장치.The electronic device, wherein the pre-registered voice fingerprint is an average data of a voice fingerprint representing a first registered user and a voice fingerprint representing the stored user.
  7. 제5항에 있어서,The method of claim 5,
    상기 임계값은 상기 새로 저장된 사용자를 나타내는 음성지문에 대응되어 변경되는 것을 특징으로 하는 전자 장치.The electronic device, wherein the threshold value is changed in response to the newly stored voice fingerprint representing the user.
  8. 제1항에 있어서,The method of claim 1,
    상기 제2 신경망은 신경 레이어 및 연결 레이어를 포함하고,The second neural network includes a neural layer and a connection layer,
    상기 신경 레이어는 상기 제1 신경망에서 출력한 결과를 입력받아 상기 음성 명령에 대한 정보를 출력하고,The neural layer receives the result output from the first neural network and outputs information on the voice command,
    상기 연결 레이어는 상기 제1 신경망에서 출력한 결과와 상기 신경 레이어에서 출력한 결과를 연결하여 상기 음성 명령에 대한 최종 제어 정보를 출력하는 것을 특징으로 하는 전자 장치.Wherein the connection layer connects a result output from the first neural network and a result output from the neural layer to output final control information on the voice command.
  9. 제1항에 있어서,The method of claim 1,
    상기 프로세서는,The processor,
    상기 획득한 제어 정보가 상기 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.An electronic device that controls the display to display a UI for checking whether the acquired control information corresponds to information about the user's voice command.
  10. 제9항에 있어서,The method of claim 9,
    상기 프로세서는,The processor,
    상기 획득한 제어 정보가 상기 사용자 음성 명령에 관한 정보와 맞지 않다는 사용자 입력이 있는 경우, 상기 획득한 정보 및 상기 사용자 음성 명령을 제2 신경망에 입력하여 상기 제2 신경망을 학습시키는 전자 장치.When there is a user input indicating that the acquired control information does not match information on the user voice command, the electronic device trains the second neural network by inputting the acquired information and the user voice command into a second neural network.
  11. 전자 장치의 제어 방법에 있어서,In the control method of an electronic device,
    사용자 음성을 입력받으면, 상기 입력된 사용자 음성을 발화한 사용자를 인식하는 단계;Recognizing a user who uttered the input user voice upon receiving a user voice;
    상기 사용자가 인식된 후 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하는 단계;Inputting the user voice command into a first neural network of a first artificial intelligence model when the recognized user's voice command is input after the user is recognized;
    상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하는 단계;Inputting a result output from the first neural network to a second neural network of the first artificial intelligence model;
    상기 제1 신경망 및 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하는 단계; 및;Acquiring control information corresponding to the user's voice command based on results output from the first and second neural networks; And;
    상기 획득한 제어 정보에 대응하는 기능을 수행하는 단계;를 포함하며,Including; performing a function corresponding to the obtained control information,
    상기 제1 신경망은 복수의 사용자 데이터베이스에 저장된 데이터를 바탕으로 학습된 신경망이며,The first neural network is a neural network learned based on data stored in a plurality of user databases,
    상기 제2 신경망은 상기 인식된 사용자의 데이터베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 하는 전자 장치의 제어 방법.And the second neural network is a neural network that is additionally learned based on data stored in the recognized user's database.
  12. 제11항에 있어서,The method of claim 11,
    상기 인식하는 단계는,The step of recognizing,
    상기 입력된 음성을 바탕으로 상기 사용자를 나타내는 음성지문을 추출하고,Extracting a voice fingerprint representing the user based on the input voice,
    상기 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 상기 입력된 사용자 음성을 발화한 사용자를 인식하는Recognizing the user who uttered the input user voice by comparing the voice fingerprint representing the user with a previously registered voice fingerprint
    전자 장치의 제어 방법.Control method of electronic devices.
  13. 제11항에 있어서,The method of claim 11,
    상기 인식하는 단계는,The step of recognizing,
    상기 입력된 음성을 전처리하는 단계; 및Pre-processing the input voice; And
    상기 전처리된 음성을 상기 음성지문을 획득하기 위해 학습된 제2 인공지능 모델에 입력하여 상기 사용자를 나타내는 음성지문을 추출하는 단계;를 포함하고,Including; inputting the preprocessed voice into a second artificial intelligence model learned to acquire the voice fingerprint to extract a voice fingerprint representing the user; and
    상기 사용자를 나타내는 음성지문은 상기 사용자 음성의 에너지의 주파수 분포를 분석한 데이터인 것을 특징으로 하는 전자 장치.The electronic device, wherein the voice fingerprint representing the user is data obtained by analyzing a frequency distribution of energy of the user voice.
  14. 제12항에 있어서,The method of claim 12,
    상기 입력된 음성은 상기 사용자를 나타내는 음성지문 추출을 개시하는 트리거 음성인 것을 특징으로 하는 전자 장치의 제어 방법.The input voice is a control method of an electronic device, wherein the input voice is a trigger voice to start extracting a voice fingerprint representing the user.
  15. 제12항에 있어서,The method of claim 12,
    상기 사용자를 나타내는 음성지문과 상기 기등록된 음성지문을 비교하여 오차를 계산하는 단계;Calculating an error by comparing the voice fingerprint representing the user with the previously registered voice fingerprint;
    상기 계산된 오차가 임계값을 초과하지 않는 경우 상기 입력된 음성을 발화한 사용자를 인식하는 단계;Recognizing a user who uttered the input voice when the calculated error does not exceed a threshold value;
    상기 오차가 기설정된 값을 넘지 않을 경우, 상기 사용자를 나타내는 음성지문을 저장하는 단계; 및Storing a voice fingerprint representing the user when the error does not exceed a preset value; And
    기설정된 개수를 초과하여 상기 사용자를 나타내는 음성지문이 저장된 경우, 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제하는 단계;를 포함하는 전자 장치의 제어 방법.And if the voice fingerprint representing the user is stored in excess of the preset number, deleting the last voice fingerprint representing the user.
PCT/KR2019/016547 2019-04-30 2019-11-28 Electronic device and control method therefor WO2020222384A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0050603 2019-04-30
KR1020190050603A KR20200126675A (en) 2019-04-30 2019-04-30 Electronic device and Method for controlling the electronic device thereof

Publications (1)

Publication Number Publication Date
WO2020222384A1 true WO2020222384A1 (en) 2020-11-05

Family

ID=73028956

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/016547 WO2020222384A1 (en) 2019-04-30 2019-11-28 Electronic device and control method therefor

Country Status (2)

Country Link
KR (1) KR20200126675A (en)
WO (1) WO2020222384A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116072118A (en) * 2023-03-07 2023-05-05 广东海新智能厨房股份有限公司 Intelligent control method, device, equipment and medium based on voice recognition

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108075A1 (en) * 2020-11-20 2022-05-27 삼성전자주식회사 Electronic device, control method thereof, and electronic system
KR20220120197A (en) * 2021-02-23 2022-08-30 삼성전자주식회사 Electronic apparatus and controlling method thereof
CN116711006A (en) 2021-02-23 2023-09-05 三星电子株式会社 Electronic device and control method thereof
KR102334580B1 (en) * 2021-04-15 2021-12-06 동국대학교 산학협력단 Apparatus and method for recognizing emotion based on user voice and graph neural network
WO2024071729A1 (en) * 2022-09-28 2024-04-04 경북대학교 산학협력단 Voice recognition device using artificial intelligence based on two-stage pre-learning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9691020B2 (en) * 2013-05-23 2017-06-27 National Institute Of Information And Communications Technology Deep neural network learning method and apparatus, and category-independent sub-network learning apparatus
WO2018049313A1 (en) * 2016-09-12 2018-03-15 Pindrop Security, Inc. End-to-end speaker recognition using deep neural network
WO2018117608A1 (en) * 2016-12-20 2018-06-28 삼성전자 주식회사 Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
US20180197547A1 (en) * 2017-01-10 2018-07-12 Fujitsu Limited Identity verification method and apparatus based on voiceprint
KR20190030081A (en) * 2017-09-13 2019-03-21 (주)파워보이스 Method for Providing Artificial Intelligence Secretary Service, and Voice Recognition Device Used Therein

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9691020B2 (en) * 2013-05-23 2017-06-27 National Institute Of Information And Communications Technology Deep neural network learning method and apparatus, and category-independent sub-network learning apparatus
WO2018049313A1 (en) * 2016-09-12 2018-03-15 Pindrop Security, Inc. End-to-end speaker recognition using deep neural network
WO2018117608A1 (en) * 2016-12-20 2018-06-28 삼성전자 주식회사 Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
US20180197547A1 (en) * 2017-01-10 2018-07-12 Fujitsu Limited Identity verification method and apparatus based on voiceprint
KR20190030081A (en) * 2017-09-13 2019-03-21 (주)파워보이스 Method for Providing Artificial Intelligence Secretary Service, and Voice Recognition Device Used Therein

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116072118A (en) * 2023-03-07 2023-05-05 广东海新智能厨房股份有限公司 Intelligent control method, device, equipment and medium based on voice recognition

Also Published As

Publication number Publication date
KR20200126675A (en) 2020-11-09

Similar Documents

Publication Publication Date Title
WO2020222384A1 (en) Electronic device and control method therefor
US20240038218A1 (en) Speech model personalization via ambient context harvesting
WO2020199932A1 (en) Model training method, face recognition method, device and apparatus, and storage medium
EP3770905B1 (en) Speech recognition method, apparatus and device, and storage medium
US11769492B2 (en) Voice conversation analysis method and apparatus using artificial intelligence
WO2021036644A1 (en) Voice-driven animation method and apparatus based on artificial intelligence
WO2019182346A1 (en) Electronic device for modulating user voice using artificial intelligence model and control method thereof
US11393459B2 (en) Method and apparatus for recognizing a voice
WO2020166896A1 (en) Electronic apparatus and controlling method thereof
US11776544B2 (en) Artificial intelligence apparatus for recognizing speech of user and method for the same
US11508356B2 (en) Method and apparatus for recognizing a voice
KR20210052036A (en) Apparatus with convolutional neural network for obtaining multiple intent and method therof
US20210110815A1 (en) Method and apparatus for determining semantic meaning of pronoun
WO2020180001A1 (en) Electronic device and control method therefor
KR20200080418A (en) Terminla and operating method thereof
WO2022227507A1 (en) Wake-up degree recognition model training method and speech wake-up degree acquisition method
US11366984B1 (en) Verifying a target object based on confidence coefficients generated by trained models
Dahanayaka et al. A multi-modular approach for sign language and speech recognition for deaf-mute people
CN110728993A (en) Voice change identification method and electronic equipment
Pushpalatha et al. Sign Language Converter Using Feature Extractor and PoseNet
CN115101075A (en) Voice recognition method and related device
KR102642617B1 (en) Voice synthesizer using artificial intelligence, operating method of voice synthesizer and computer readable recording medium
WO2024005388A1 (en) Apparatus and method for speaking verification for voice assistant
WO2022119179A1 (en) Electronic device and method for controlling same
CN117718969B (en) Household robot control system and method based on visual and auditory fusion

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: 19927068

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: 19927068

Country of ref document: EP

Kind code of ref document: A1