WO2018182270A1 - 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법 - Google Patents
전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법 Download PDFInfo
- Publication number
- WO2018182270A1 WO2018182270A1 PCT/KR2018/003574 KR2018003574W WO2018182270A1 WO 2018182270 A1 WO2018182270 A1 WO 2018182270A1 KR 2018003574 W KR2018003574 W KR 2018003574W WO 2018182270 A1 WO2018182270 A1 WO 2018182270A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- electronic device
- user interface
- display
- application
- module
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1688—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being integrated loudspeakers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
- G06F3/04817—Interaction 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 using icons
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/725—Cordless telephones
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0383—Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/22—Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/74—Details of telephonic subscriber devices with voice recognition means
Definitions
- Various embodiments of the present disclosure relate to an electronic device and a screen control method for processing a user input using the same.
- a voice recognition function may be implemented in various electronic devices including a voice input device (eg, a microphone).
- a voice input device eg, a microphone
- the electronic device may recognize a voice spoken by a user through a voice recognition function and execute a specific function based on the spoken voice.
- voice recognition functions are becoming more and more common in recent years to replace physical inputs in electronic devices and to control the electronic devices by voice.
- the user in order to control the electronic device through the voice input, the user must activate the electronic device, activate the voice recognition function, and go through a number of processes of inputting voice information.
- the screen previously executed is replaced with a screen corresponding to the user's speech in order to perform the corresponding operation. I can receive it.
- the electronic device may provide a method for easily performing a voice recognition function.
- the electronic device may provide a screen control function capable of performing an operation corresponding to user speech.
- an electronic device may include a housing, a touch screen display located inside the housing and exposed through a first portion of the housing, located inside the housing, and exposed through a second portion of the housing. At least one speaker located within the housing and exposed through a third portion of the housing, wireless communication circuitry located within the housing, located within the housing, the touch screen display, the microphone, the at least A first application program comprising a speaker, a processor electrically connected to the wireless communication circuit, and a memory located inside the housing and electrically connected to the processor, wherein the memory includes a first user interface; 2 including user interface Store a second application program, the memory stores instructions, and when the memory is executed, the processor displays the first user interface on the touchscreen display and displays the first user interface.
- a method of controlling a screen for processing a user input may include displaying a first user interface on a touch screen display, the touch screen display or a microphone while displaying the first user interface.
- Receiving a user input comprising a request to perform a task using a second application program via at least one of; transmitting data associated with the user input to an external server via a wireless communication circuit;
- Table of parts of the first user interface An operation to display a second user interface for the second application program in a first area of the touch screen display may comprise while.
- the electronic device may easily perform a voice recognition function by separately providing a button for the voice recognition function.
- the electronic device may perform a function corresponding to user utterance without disturbing a screen previously performed by the user.
- FIG. 1 is a diagram illustrating an electronic device in a network environment according to various embodiments of the present disclosure.
- FIG. 2 is a block diagram of an electronic device according to various embodiments of the present disclosure.
- FIG. 3 is a block diagram of a program module according to various embodiments of the present disclosure.
- FIG. 4 is a block diagram illustrating an integrated intelligence system according to various embodiments of the present disclosure.
- 5A is a block diagram illustrating an integrated intelligence system according to various embodiments of the present disclosure.
- 5B is a block diagram illustrating a natural language understanding module according to various embodiments of the present disclosure.
- FIG. 6 is a block diagram illustrating an intelligent server of an integrated intelligence system according to an embodiment of the present invention.
- FIG. 7 illustrates a method of generating a path rule of a path planner module according to an embodiment of the present invention.
- 8A is a diagram illustrating executing an intelligent application of an electronic device according to an embodiment of the present disclosure.
- 8B is a block diagram illustrating an integrated intelligence system according to various embodiments of the present disclosure.
- FIG. 9 is a flowchart illustrating a screen control method according to a user input according to various embodiments of the present disclosure.
- FIG. 10 is a flowchart illustrating a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- 11A and 11B are diagrams for describing a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- FIG. 12 is a flowchart illustrating a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- FIGS. 13A and 13B are diagrams for describing a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- FIG. 14 is a flowchart illustrating a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- 15A and 15B are diagrams for describing a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- 16 is a flowchart illustrating a screen control method when there are a plurality of applications to be performed according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- 17A to 17C are diagrams for describing a screen control method when there are a plurality of applications to be performed according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- FIG. 18 is a flowchart illustrating a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- FIG. 19 is a diagram illustrating a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- 20 is a flowchart illustrating a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- 21A and 21B are diagrams for describing a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- FIG. 22 is a flowchart illustrating a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- 23A to 23C are diagrams for describing a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- FIG. 24 is a flowchart illustrating a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- 25A to 25C are diagrams for describing a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- 26 is a flowchart illustrating a method of generating a pass rule for a user input in an intelligent server according to various embodiments of the present disclosure.
- FIG. 27 is a flowchart illustrating a method of determining a window for displaying an application corresponding to a pass rule of an intelligent server according to various embodiments of the present disclosure.
- 28A to 28E are diagrams for describing a method of determining a window for displaying an application corresponding to a path rule of an intelligent server according to various embodiments 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,” and the like may include all possible combinations of 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) both of cases including at least one A and at least one B.
- first,” “second,” “first,” or “second,” and the like may modify various components, regardless of order and / or importance, and may form a component. It is used to distinguish it from other components and does not limit the components.
- the first user device and the second user device may represent different user devices regardless of the order or importance.
- the first component may be called a second component, and similarly, the second component may be renamed to the first component.
- One component (such as a first component) is "(functionally or communicatively) coupled with / to" to another component (such as a second component) or " When referred to as “connected to”, it should be understood that any component may be directly connected to the other component or may be connected through another component (eg, a third component).
- a component e.g., a first component
- another component e.g., a second component
- no other component e.g., a third component
- the expression “configured to” as used in this document is, for example, “having the capacity to” depending on the context, for example, “suitable for,” “. It may be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
- the term “configured to” may not necessarily mean only “specifically designed to” in hardware. Instead, in some situations, the expression “device configured to” may mean that the device “can” along with other devices or components.
- the phrase “processor configured (or configured to) perform A, B, and C” may be implemented by executing a dedicated processor (eg, an embedded processor) to perform its operation, or one or more software programs stored in a memory device. It may mean a general-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
- an electronic device may be, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader.
- Desktop personal computer (PC) laptop personal computer (PC), netbook computer, workstation, server, personal digital assistant (PDA), portable multimedia player (PMP), MP3 player, It may include at least one of a mobile medical device, a camera, or a wearable device.
- PDA personal digital assistant
- PMP portable multimedia player
- MP3 player MP3 player
- wearable devices may be accessory (eg, watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs)), textiles, or clothing one-pieces (eg, it may include at least one of an electronic garment, a body attachment type (eg, a skin pad or a tattoo), or a living implantable type (eg, an implantable circuit).
- HMDs head-mounted-devices
- the electronic device may be a home appliance.
- Home appliances are, for example, televisions, digital video disk (DVD) players, audio, refrigerators, air conditioners, vacuum cleaners, ovens, microwaves, washing machines, air purifiers, set-top boxes, home automation controls Panel (home automation control panel), security control panel, TV box (e.g. Samsung HomeSync TM , Apple TV TM , or Google TV TM ), game console (e.g. Xbox TM , PlayStation TM ), electronic dictionary It may include at least one of an electronic key, a camcorder, or an electronic picture frame.
- DVD digital video disk
- the electronic device may include various medical devices (eg, various portable medical measuring devices (such as blood glucose meters, heart rate monitors, blood pressure monitors, or body temperature meters), magnetic resonance angiography (MRA), and magnetic resonance imaging (MRI)).
- various medical devices eg, various portable medical measuring devices (such as blood glucose meters, heart rate monitors, blood pressure monitors, or body temperature meters), magnetic resonance angiography (MRA), and magnetic resonance imaging (MRI)).
- CT computed tomography
- GNSS global navigation satellite systems
- EDRs event data recorders
- FDRs flight data recorders
- automotive infotainment ( infotainment devices e.g.
- an electronic device may be a piece of furniture or a building / structure, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, Water, electricity, gas, or radio wave measuring instrument).
- the electronic device may be one or a combination of the aforementioned various devices.
- the electronic device may be a flexible electronic device.
- the electronic device is not limited to the above-described devices, and may include a new electronic device according to technology development.
- the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) that uses an electronic device.
- a device eg, an artificial intelligence electronic device
- the electronic device 101 may include a bus 110, a processor 120, a memory 130, an input / output interface 150, a display 160, and a communication interface 170. According to an embodiment of the present disclosure, the electronic device 101 may omit at least one of the components or additionally include other components.
- the bus 110 may include circuitry that connects the components 110-170 to each other and transfers communication (eg, control messages or data) between the components.
- the processor 120 may include one or more of a central processing unit, an application processor, or a communication processor (CP). The processor 120 may execute, for example, an operation or data processing related to control and / or communication of at least one other component of the electronic device 101.
- the memory 130 may include volatile and / or nonvolatile memory.
- the memory 130 may store, for example, commands or data related to at least one other element of the electronic device 101.
- the memory 130 may store software and / or a program 140.
- the program 140 may include, for example, a kernel 141, middleware 143, an application programming interface (API) 145, an application program (or “application”) 147, or the like.
- API application programming interface
- application or “application”
- At least a portion of kernel 141, middleware 143, or API 145 may be referred to as an operating system.
- the kernel 141 may be a system resource (eg, used to execute an action or function implemented in, for example, other programs (eg, middleware 143, API 145, or application program 147).
- the bus 110, the processor 120, or the memory 130 may be controlled or managed.
- the kernel 141 may provide an interface for controlling or managing system resources by accessing individual components of the electronic device 101 from the middleware 143, the API 145, or the application program 147. Can be.
- the middleware 143 may serve as an intermediary for allowing the API 145 or the application program 147 to communicate with the kernel 141 to exchange data.
- the middleware 143 may process one or more work requests received from the application program 147 according to priority.
- the middleware 143 may use system resources (eg, the bus 110, the processor 120, or the memory 130, etc.) of the electronic device 101 for at least one of the application programs 147. Prioritize and process the one or more work requests.
- the API 145 is an interface for the application 147 to control functions provided by the kernel 141 or the middleware 143.
- the API 145 may include at least the following: file control, window control, image processing, or character control. It can contain one interface or function (eg command).
- the input / output interface 150 may transmit, for example, a command or data input from a user or another external device to other component (s) of the electronic device 101, or other components of the electronic device 101 ( Commands or data received from the device) can be output to the user or other external device.
- Display 160 may be, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, or a microelectromechanical system (MEMS) display, or an electronic paper display. It may include.
- the display 160 may display, for example, various types of content (eg, text, images, videos, icons, and / or symbols, etc.) to the user.
- the display 160 may include a touch screen and may receive, for example, a touch, gesture, proximity, or hovering input using an electronic pen or a part of a user's body.
- the communication interface 170 may establish communication between the electronic device 101 and an external device (eg, the first external electronic device 102, the second external electronic device 104, or the server 106). Can be.
- the communication interface 170 may be connected to the network 162 through wireless or wired communication to communicate with an external device (eg, the second external electronic device 104 or the server 106).
- Wireless communication may include, for example, LTE, LTE Advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), wireless broadband (WBro), or GSM (global). system for mobile communications), and the like.
- wireless communication may include, for example, near field communication 164.
- Local area communication 164 may include, for example, wireless fidelity (WiFi), light fidelity (LiFi), Bluetooth, Bluetooth low power (BLE), zigbee, near field communication (NFC), and magnetic secure transmission. ), A radio frequency (RF), or a body area network (BAN).
- the wireless communication may include GNSS.
- the GNSS may be, for example, a global positioning system (GPS), a global navigation satellite system (Glonass), a Beidou Navigation Satellite System (hereinafter “Beidou”), or a Galileo, the European global satellite-based navigation system.
- GPS global positioning system
- Beidou Beidou Navigation Satellite System
- Galileo the European global satellite-based navigation system.
- Wired communication may include, for example, at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), a standard standard232 (RS-232), a power line communication, a plain old telephone service (POTS), and the like.
- the network 162 may comprise a telecommunications network, for example at least one of a computer network (eg, LAN or WAN), the Internet, or a telephone network.
- Each of the first and second external electronic devices 102 and 104 may be a device of the same or different type as the electronic device 101. According to various embodiments of the present disclosure, all or part of operations executed in the electronic device 101 may be executed in another or a plurality of electronic devices (for example, the electronic devices 102 and 104 or the server 106). According to this, when the electronic device 101 needs to perform a function or service automatically or by request, the electronic device 101 may instead execute or execute the function or service by itself, or at least some function associated therewith.
- the other electronic device may request the requested function or The additional function may be executed and the result may be transmitted to the electronic device 101.
- the electronic device 101 may provide the requested function or service by processing the received result as it is or additionally.
- Cloud computing distributed computing, or client-server computing techniques can be used.
- FIG. 2 is a block diagram of an electronic device 201 according to various embodiments.
- the electronic device 201 may include, for example, all or part of the electronic device 101 illustrated in FIG. 1.
- the electronic device 201 may include one or more processors (eg, an AP) 210, a communication module 220, a subscriber identification module 224, a memory 230, a sensor module 240, an input device 250, and a display. 260, an interface 270, an audio module 280, a camera module 291, a power management module 295, a battery 296, an indicator 297, and a motor 298.
- the 210 may control a plurality of hardware or software components connected to the processor 210 by running an operating system or an application program, and may perform various data processing and operations.
- the processor 210 may further include a graphic processing unit (GPU) and / or an image signal processor. 210 may include at least some of the components shown in FIG. 2 (eg, cellular module 221). The processor 210 other components: processing by loading the command or data received from at least one (e.g., non-volatile memory) in the volatile memory) and can store the result data into the nonvolatile memory.
- a graphic processing unit GPU
- an image signal processor may include at least some of the components shown in FIG. 2 (eg, cellular module 221).
- the processor 210 other components: processing by loading the command or data received from at least one (e.g., non-volatile memory) in the volatile memory) and can store the result data into the nonvolatile memory.
- the communication module 220 may include, for example, a cellular module 221, a WiFi module 223, a Bluetooth module 225, a GNSS module 227, an NFC module 228, and an RF module 229. have.
- the cellular module 221 may provide, for example, a voice call, a video call, a text service, or an internet service through a communication network.
- the cellular module 221 may perform identification and authentication of the electronic device 201 in a communication network by using a subscriber identification module (eg, a SIM card) 224.
- the cellular module 221 may perform at least some of the functions that the processor 210 may provide.
- the cellular module 221 may include a communication processor (CP).
- CP communication processor
- at least some (eg, two or more) of the cellular module 221, the WiFi module 223, the Bluetooth module 225, the GNSS module 227, or the NFC module 228 may be one integrated chip. (IC) or in an IC package.
- the RF module 229 may transmit / receive a communication signal (for example, an RF signal), for example.
- the RF module 229 may include, for example, a transceiver, a power amp module (PAM), a frequency filter, a low noise amplifier (LNA), an antenna, or the like.
- PAM power amp module
- LNA low noise amplifier
- At least one of the cellular module 221, the WiFi module 223, the Bluetooth module 225, the GNSS module 227, or the NFC module 228 may transmit and receive an RF signal through a separate RF module.
- Subscriber identification module 224 may include, for example, a card or embedded SIM that includes a subscriber identification module, and may include unique identification information (eg, integrated circuit card identifier (ICCID)) or subscriber information (eg, IMSI). (international mobile subscriber identity)).
- ICCID integrated circuit card identifier
- IMSI international mobile subscriber identity
- the memory 230 may include, for example, an internal memory 232 or an external memory 234.
- the internal memory 232 may include, for example, volatile memory (for example, DRAM, SRAM, or SDRAM), nonvolatile memory (for example, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM).
- the flash memory may include at least one of a flash memory, a hard drive, or a solid state drive (SSD)
- the external memory 234 may be a flash drive, for example, a compact flash (CF) or a secure digital (SD). ), Micro-SD, Mini-SD, extreme digital (xD), multi-media card (MMC), memory stick, etc.
- the external memory 234 may be functionally connected to the electronic device 201 through various interfaces. Or physically connected.
- the sensor module 240 may measure, for example, a physical quantity or detect an operation state of the electronic device 201 and convert the measured or detected information into an electrical signal.
- the sensor module 240 includes, for example, a gesture sensor 240A, a gyro sensor 240B, an air pressure sensor 240C, a magnetic sensor 240D, an acceleration sensor 240E, a grip sensor 240F, and a proximity sensor ( 240G), color sensor 240H (e.g., red (green, blue) sensor), biometric sensor 240I, temperature / humidity sensor 240J, illuminance sensor 240K, or UV (ultra violet) ) May include at least one of the sensors 240M.
- sensor module 240 may include, for example, an e-nose sensor, an electromyography (EMG) sensor, an electrocardiogram (EEG) sensor, an electrocardiogram (ECG) sensor, Infrared (IR) sensors, iris sensors and / or fingerprint sensors.
- the sensor module 240 may further include a control circuit for controlling at least one or more sensors belonging therein.
- the electronic device 201 further includes a processor configured to control the sensor module 240, as part of or separately from the processor 210, while the processor 210 is in a sleep state. The sensor module 240 may be controlled.
- the input device 250 may include, for example, a touch panel 252, a (digital) pen sensor 254, a key 256, or an ultrasonic input device 258.
- the touch panel 252 may use at least one of capacitive, resistive, infrared, or ultrasonic methods, for example.
- the touch panel 252 may further include a control circuit.
- the touch panel 252 may further include a tactile layer to provide a tactile response to the user.
- the (digital) pen sensor 254 may be, for example, part of a touch panel or may include a separate recognition sheet.
- the key 256 may include, for example, a physical button, an optical key, or a keypad.
- the ultrasonic input device 258 may detect ultrasonic waves generated by an input tool through a microphone (for example, the microphone 288) and check data corresponding to the detected ultrasonic waves.
- Display 260 may include panel 262, hologram device 264, projector 266, and / or control circuitry to control them.
- the panel 262 may be implemented to be, for example, flexible, transparent, or wearable.
- the panel 262 may be configured with the touch panel 252 and one or more modules.
- panel 262 may include a pressure sensor (or force sensor) capable of measuring the strength of the pressure on the user's touch.
- the pressure sensor may be integrally implemented with the touch panel 252 or one or more sensors separate from the touch panel 252.
- the hologram 264 may show a stereoscopic image in the air by using interference of light.
- the projector 266 may display an image by projecting light onto a screen.
- the screen may be located inside or outside the electronic device 201.
- the interface 270 may include, for example, an HDMI 272, a USB 274, an optical interface 276, or a D-subminiature 278.
- the interface 270 may be included in, for example, the communication interface 170 illustrated in FIG. 1.
- interface 270 may include, for example, a mobile high-definition link (MHL) interface, an SD card / multi-media card (MMC) interface, or an infrared data association (IrDA) compliant interface. have.
- MHL mobile high-definition link
- MMC Secure Digital Card
- IrDA infrared data association
- the audio module 280 may bidirectionally convert, for example, a sound and an electrical signal. At least some components of the audio module 280 may be included in, for example, the input / output interface 145 illustrated in FIG. 1.
- the audio module 280 may process sound information input or output through, for example, a speaker 282, a receiver 284, an earphone 286, a microphone 288, or the like.
- the camera module 291 is, for example, a device capable of capturing still images and moving images. According to one embodiment, the camera module 291 is one or more image sensors (eg, a front sensor or a rear sensor), a lens, and an image signal processor (ISP). Or flash (eg, LED or xenon lamp, etc.).
- the power management module 295 may manage power of the electronic device 201, for example.
- the power management module 295 may include a power management integrated circuit (PMIC), a charger IC, or a battery or fuel gauge.
- the PMIC may have a wired and / or wireless charging scheme.
- the wireless charging method may include, for example, a magnetic resonance method, a magnetic induction method, an electromagnetic wave method, or the like, and may further include additional circuits for wireless charging, such as a coil loop, a resonance circuit, a rectifier, and the like. have.
- the battery gauge may measure, for example, the remaining amount of the battery 296, the voltage, the current, or the temperature during charging.
- the battery 296 may include, for example, a rechargeable cell and / or a solar cell.
- the indicator 297 may display a specific state of the electronic device 201 or a part thereof (for example, the processor 210), for example, a booting state, a message state, or a charging state.
- the motor 298 may convert electrical signals into mechanical vibrations, and may generate vibrations or haptic effects.
- the electronic device 201 may be, for example, a mobile TV supporting device capable of processing media data according to a standard such as digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or mediaFlo TM . : GPU).
- DMB digital multimedia broadcasting
- DVD digital video broadcasting
- mediaFlo TM . : GPU mediaFlo TM .
- Each of the components described in this document may be composed of one or more components, and the names of the corresponding components may vary depending on the type of electronic device.
- the electronic device (for example, the electronic device 201) may include some components, omit additional components, or combine some of the components to form one entity. The functions of the corresponding components before the combination can be performed in the
- FIG. 3 is a block diagram of a program module according to various embodiments of the present disclosure.
- the program module 310 may include an operating system and / or various applications running on the operating system for controlling resources related to the electronic device (eg, the electronic device 101).
- the application program 147 may be included.
- the operating system may include, for example, Android TM , iOS TM , Windows TM , Symbian TM , Tizen TM , or Bada TM .
- the program module 310 may include a kernel 320 (eg, kernel 141), middleware 330 (eg, middleware 143), and API 360 (eg, API 145).
- And / or the application 370 eg, the application program 147). At least a part of the program module 310 may be preloaded on the electronic device or downloaded from an external electronic device (eg, the electronic devices 102 and 104, the server 106, etc.).
- the kernel 320 may include, for example, a system resource manager 321 and / or a device driver 323.
- the system resource manager 321 may perform control, allocation, or retrieval of system resources.
- the system resource manager 321 may include a process manager, a memory manager, or a file system manager.
- the device driver 323 may include, for example, a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a WiFi driver, an audio driver, or an inter-process communication (IPC) driver.
- the middleware 330 may provide various functions through the API 360, for example, to provide functions commonly required by the application 370, or to allow the application 370 to use limited system resources inside the electronic device.
- the middleware 330 may include a runtime library 335, an application manager 341, a window manager 342, a multimedia manager 343, a resource manager 344, a power manager 345, and a database manager ( 346, a package manager 347, a connectivity manager 348, a notification manager 349, a location manager 350, a graphic manager 351, or a security manager 352.
- the runtime library 335 may include, for example, a library module that the compiler uses to add new functionality through the programming language while the application 370 is running.
- the runtime library 335 may perform input / output management, memory management, or arithmetic function processing.
- the application manager 341 may manage, for example, the life cycle of the application 370.
- the window manager 342 may manage GUI resources used on the screen.
- the multimedia manager 343 may identify a format necessary for playing the media files, and may encode or decode the media file using a codec suitable for the format.
- the resource manager 344 may manage space of source code or memory of the application 370.
- the power manager 345 may manage, for example, the capacity, temperature, or power of the battery, and may determine or provide power information necessary for the operation of the electronic device using the corresponding information. According to an embodiment of the present disclosure, the power manager 345 may interwork with a basic input / output system (BIOS).
- BIOS basic input / output system
- the database manager 346 may create, retrieve, or change a database to be used, for example, in the application 370.
- the package manager 347 may manage installation or update of an application distributed in the form of a package file.
- the connectivity manager 348 may manage, for example, a wireless connection.
- the notification manager 349 may provide the user with events such as, for example, an arrival message, an appointment, a proximity notification, and the like.
- the location manager 350 may manage location information of the electronic device, for example.
- the graphic manager 351 may manage, for example, graphic effects to be provided to the user or a user interface related thereto.
- the security manager 352 may provide system security or user authentication, for example.
- the middleware 330 may include a telephony manager for managing a voice or video call function of the electronic device or a middleware module capable of forming a combination of functions of the above-described components. .
- the middleware 330 may provide a module specialized for each type of operating system.
- the middleware 330 may dynamically delete some of the existing components or add new components.
- API 360 is, for example, a set of API programming functions, which may be provided in different configurations depending on the operating system. For example, in the case of Android or iOS, one API set may be provided for each platform, and in Tizen, two or more API sets may be provided for each platform.
- the application 370 is, for example, a home 371, a dialer 372, an SMS / MMS 373, an instant message (IM) 374, a browser 375, a camera 376, an alarm 377. , Contacts 378, voice dials 379, emails 380, calendars 381, media players 382, albums 383, watches 384, health care (e.g., measures exercise or blood sugar) Or an application for providing environmental information (eg, barometric pressure, humidity, or temperature information).
- the application 370 may include an information exchange application capable of supporting information exchange between the electronic device and the external electronic device.
- the information exchange application may include, for example, a notification relay application for delivering specific information to the external electronic device, or a device management application for managing the external electronic device.
- the notification delivery application may deliver notification information generated by another application of the electronic device to the external electronic device, or receive notification information from the external electronic device and provide the notification information to the user.
- the device management application may be, for example, the ability of an external electronic device to communicate with the electronic device (e.g. turn-on / turn-off of the external electronic device itself (or some component) or the brightness (or resolution) of the display). Control), or install, delete, or update an application running on the external electronic device.
- the application 370 may include an application (eg, a health care application of a mobile medical device) designated according to an attribute of the external electronic device.
- the application 370 may include an application received from an external electronic device.
- At least a portion of the program module 310 may be implemented (eg, executed) in software, firmware, hardware (eg, the processor 210), or a combination of at least two or more thereof, and a module for performing one or more functions; It can include a program, routine, instruction set, or process.
- module includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, components, or circuits.
- the module may be an integrally formed part or a minimum unit or part of performing one or more functions.
- Modules may be implemented mechanically or electronically, for example, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), or known or future developments that perform certain operations. It can include a programmable logic device.
- ASIC application-specific integrated circuit
- FPGAs field-programmable gate arrays
- At least a portion of an apparatus e.g., modules or functions thereof
- method e.g., operations
- a computer-readable storage medium e.g., memory 130
- the command is executed by a processor (e.g, the processor 120)
- the processor may perform a function corresponding to the command.
- Computer-readable recording media include hard disks, floppy disks, magnetic media (such as magnetic tape), optical recording media (such as CD-ROMs, DVDs, magnetic-optical media (such as floppy disks)), and internal memory. And the like. Instructions can include code generated by a compiler or code that can be executed by an interpreter. According to various embodiments of the present disclosure, the module or the program module may include at least one or more of the aforementioned components, some of them may be omitted, or may further include other components.
- operations performed by a module, program module, or other component may be executed sequentially, in parallel, repeatedly, or heuristically, or at least some of the operations may be executed in a different order, omitted, or other operations may be added. Can be.
- an artificial intelligence system is a computer system that implements human-level intelligence, and the machine learns and judges itself, and the recognition rate is improved as it is used.
- AI technology is composed of machine learning (deep learning) technology using algorithms to classify / learn characteristics of input data and element technologies that simulate functions of cognition and judgment of the human brain using machine learning algorithms.
- the element technologies are, for example, linguistic understanding technology for recognizing human language / character, visual understanding technology for recognizing objects as human vision, reasoning / prediction technology for determining and logically inferring and predicting information, and human experience information. May include at least one of a knowledge expression technique for processing the data as knowledge data, an autonomous driving of the vehicle, and an operation control technique for controlling the movement of the robot.
- Linguistic understanding is a technology for recognizing and applying / processing human language / characters and includes natural language processing, machine translation, dialogue system, question and answer, speech recognition / synthesis, and the like.
- Visual understanding is a technology that recognizes and processes objects as human vision, and includes object recognition, object tracking, image retrieval, person recognition, scene understanding, spatial understanding, and image enhancement.
- Inference Prediction is a technique for judging, logically inferring, and predicting information. It includes knowledge / probability-based inference, optimization prediction, preference-based planning, and recommendation.
- Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data generation / classification) and knowledge management (data utilization).
- Motion control is a technology for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (action control), and the like.
- FIG. 4 is a block diagram illustrating an integrated intelligence system according to various embodiments of the present disclosure.
- the integrated intelligence system 400 may include an electronic device 401, an intelligent server 470, a personalization information server 480, or a proposal server 490.
- the electronic device 401 may further include a housing, and the components of the electronic device 401 may be seated inside or located on the housing. have.
- the electronic device 401 may include an application stored in the electronic device 401 (or an application program (eg, an alarm application, a message application, or a picture). Application, etc.), for example, the electronic device 401 executes and operates another application through an intelligent application (or a voice recognition application) stored in the electronic device 401.
- the user input may be received through a physical button, a touch pad, a voice input, a remote input, or the like.
- the electronic device 401 may receive a user's speech as a user input.
- the electronic device 401 may receive a user's speech and generate a command to operate an application based on the user's speech. Accordingly, the electronic device 401 may operate the application by using the command.
- the intelligent server 470 may receive a user input (eg, a voice input) from the electronic device 401 through a communication network and change the text input into text data.
- the intelligent server 470 may generate (or select) a path rule based on the text data.
- the pass rule may include information on an action (or an operation) for performing a function of an application or information on a parameter required to execute the action.
- the path rule may include an order of the operation of the application.
- the electronic device 401 may receive the path rule, select an application according to the path rule, and execute an operation included in the path rule in the selected application.
- the electronic device 401 may execute the operation, and display a screen corresponding to the state of the electronic device 401 which has executed the operation on the display 420.
- the electronic device 401 may execute the operation and may not display the result of performing the operation on the display 420.
- the electronic device 401 may execute a plurality of operations and display only a partial result of the plurality of operations on the display 420.
- the electronic device 401 may display only the result of performing the last order of operations on the display 420.
- the electronic device 401 may receive a user input and display a result of executing the operation on the display 420.
- the personalization information server 480 may include a database in which user information is stored.
- the personalization information server 480 may receive user information (eg, context information, application execution, etc.) from the electronic device 401 and store it in the database.
- the intelligent server 470 may be used when the user information is generated from the personalization information server 480 through a communication network to generate a pass rule for a user input.
- the electronic device 401 may receive user information from the personalized information server 480 through a communication network and use the information as information for managing a database.
- the suggestion server 490 may include a database in which an information about an introduction of a function or an application or a function to be provided is stored in the electronic device 401.
- the proposal server 490 may receive a user information of the electronic device 401 from the personalization information server 480 and include a database of functions that a user can use.
- the electronic device 401 may receive information on the function to be provided from the proposal server 490 through the communication network and provide the information to the user.
- the electronic device 401 may include an input module 410 (eg, the input device of FIG. 2). 250), display 420 (eg, display 160 of FIG. 1, display 260 of FIG. 2), speaker 430 (eg, speaker 282 of FIG. 2), memory 440 (eg, 1, a memory 130 of FIG. 1, a memory 230 of FIG. 2, or a processor 460 (eg, the processor 120 of FIG. 1 and the application processor 210 of FIG. 2).
- an input module 410 eg, the input device of FIG. 2). 250
- display 420 eg, display 160 of FIG. 1, display 260 of FIG. 2
- speaker 430 eg, speaker 282 of FIG. 2
- memory 440 eg, 1, a memory 130 of FIG. 1, a memory 230 of FIG. 2, or a processor 460 (eg, the processor 120 of FIG. 1 and the application processor 210 of FIG. 2).
- the input module 410 may receive a user input from a user.
- the input module 410 may receive a user input from a connected external device (eg, a keyboard or a headset).
- the input module 410 may include a touch screen (eg, a touch screen display) coupled with the display 420.
- the input module 410 may include a hardware key (or a physical key) located in the electronic device 401 (or a housing of the user terminal 401).
- the input module 410 may include a microphone 411 capable of receiving a user's speech as a voice signal.
- the input module 410 may include a speech input system, and may receive a speech of a user as a voice signal through the speech input system.
- the display 420 may display an image, a video, and / or an execution screen of an application.
- the display 420 may display a graphical user interface (GUI) of the application.
- GUI graphical user interface
- the display 420 may display a plurality of user interfaces for the plurality of applications in the form of at least one of a multi-window, an overlay, and a pop-up window.
- the display 420 may display a user interface for performing the voice recognition function under the control of the processor 460.
- the display 420 may be converted into text data under the control of the processor 460. Can be displayed.
- the display 420 determines the user interface performed based on a sequence of states corresponding to a user input received from the intelligent server 470 under the control of the processor 460. In the window).
- the speaker 430 may output a voice signal.
- the speaker 430 may output a voice signal generated inside the electronic device 401 to the outside.
- the memory 440 may store a plurality of application programs.
- the plurality of applications stored in the memory 440 may be selected, executed, and operated according to a user input.
- the memory 440 may store a plurality of user interfaces corresponding to the plurality of application programs.
- the memory 440 may store a plurality of applications 441 and 443.
- the plurality of applications 441 and 443 stored in the memory 440 may be selected, executed, and operated according to a user input.
- the memory 440 may include a database capable of storing information necessary to recognize a user input.
- the memory 440 may include a log database capable of storing log information.
- the memory 440 may include a persona database that may store user information.
- the memory 440 may store a plurality of applications 441 and 443, and the plurality of applications 441 and 443 may be loaded and operate.
- the plurality of applications 441 and 443 stored in the memory 440 may be loaded and operated by the execution manager module 467 of the processor 460.
- the plurality of applications 441 and 443 may include execution services 441a and 443a performing a function or a plurality of operations (or unit operations) 441b and 443b.
- the execution services 441a and 443a may be generated by the execution manager module 467 of the processor 460 and execute a plurality of operations 441b and 443b.
- an execution status screen according to the execution of the operations 441b and 443b may be displayed on the display 420.
- the execution status screen may be, for example, a screen in which operations 441b and 443b are completed.
- the execution status screen may be, for example, a screen in a state in which execution of operations 441b and 443b is stopped (eg, when a parameter required for operations 441b and 443b is not input). .
- the execution services 441a and 443a may execute operations 441b and 443b according to a pass rule.
- execution services 441a and 443a are generated by execution manager module 467, receive execution requests from execution manager module 467 according to the path rules, and application 441, according to the execution request.
- Operations 441b and 443b of 443 may be executed.
- the execution services 441a and 443a may transmit completion information to the execution manager module 467 when the execution of the operations 441b and 443b is completed.
- the plurality of operations 441b and 443b when executed in the applications 441 and 443, the plurality of operations 441b and 443b may be sequentially executed.
- the execution services 441a and 443a may open the next operation (eg, operation 2) and transmit completion information to the execution manager module 467 when execution of one operation (eg, operation 1) is completed. Opening any operation herein may be understood as transitioning any operation to an executable state or preparing to execute any operation. In other words, if any action is not open, that action cannot be executed.
- the execution manager module 467 may transmit an execution request for the next operation 441b or 443b to an execution service (eg, operation 2).
- the plurality of applications 441 and 443 when the plurality of applications 441 and 443 are executed, the plurality of applications 441 and 443 may be sequentially executed. For example, when execution of the last operation of the first application 441 is completed and the completion information is received, the execution manager module 467 may execute a request for execution of the first operation of the second application 443 to the execution service 443a. Can be sent by
- a result screen according to the execution of each of the executed plurality of operations 441b and 443b is displayed on the display 420. Can be displayed. According to an embodiment of the present disclosure, only a part of the plurality of result screens according to the execution of the executed operations 441b and 443b may be displayed on the display 420.
- the memory 440 may store an intelligent application (eg, a voice recognition application) interworking with the intelligent agent 461.
- An application linked with the intelligent agent 461 may receive and process a user's speech as a voice signal.
- an application linked with the intelligent agent 461 may be operated by a specific input (for example, input through a hardware key, input through a touch screen, or specific voice input) input through the input module 410. Can be.
- the processor 460 controls the overall operation of the electronic device 401 and the signal flow between internal components of the electronic device 401, performs data processing, and performs the configurations in a battery.
- the power supply to the furnace can be controlled.
- the processor 460 may control the input module 410 to receive a user input.
- the processor 460 may control the display 420 to display an image.
- the processor 460 may control the speaker 430 to output a voice signal.
- the processor 460 may control the memory 440 to retrieve or store necessary information.
- the processor 460 may include an intelligent agent 461, an intelligent service module 463, or an execution manager module 467.
- the processor 460 may execute instructions stored in the memory 440 to drive the intelligent agent 461, the intelligent service module 463, or the execution manager module 467.
- the various modules mentioned in various embodiments of the present invention may be implemented in hardware or in software.
- operations performed by the intelligent agent 461, the intelligent service module 463, or the execution manager module 467 may be understood as operations performed by the processor 460.
- the processor 460 may display a user interface according to application execution on the display 420. For example, when a plurality of applications is executed, the processor 460 may display a plurality of user interfaces for the plurality of applications on the display 420 in the form of at least one of a multi-window, an overlay, and a pop-up window.
- the processor 460 may receive a user input for performing a task.
- the user input may be an input for performing a task using a specific application through a voice recognition function.
- the intelligent agent 461 may generate a command to operate the application based on the voice signal received by the user input.
- the user input may include a user input for performing a task using an application (single application or a plurality of applications) displayed on the display 420, and a user input for performing a task using an application different from the application displayed on the display. It may include.
- the execution manager module 467 may receive the generated command from the intelligent agent 461, select, execute, and operate the applications 441 and 443 stored in the memory 440.
- the intelligent service module 461 may manage information of the user and use the same to process user input.
- the intelligent agent 461 may transmit and process a user input received through the input module 410 to the intelligent server 470.
- the intelligent agent 461 may preprocess the user input before transmitting the user input to the intelligent server 470.
- the intelligent agent 461 is configured to apply an adaptive echo canceller (AEC) module, a noise suppression (NS) module, an end-point to preprocess the user input. detection (EPD) module or automatic gain control (AGC) module.
- the adaptive echo cancellation module may cancel an echo included in the user input.
- the noise suppression module may suppress background noise included in the user input.
- the end point detection module may detect an end point of the user voice included in the user input and find a portion in which the voice of the user exists.
- the automatic gain control module may adjust the volume of the user input to be suitable for recognizing and processing the user input.
- the intelligent agent 461 may include all of the preprocessing configurations for performance, while in other embodiments the intelligent agent 461 may include some of the preprocessing configurations to operate at low power. .
- the intelligent agent 461 may include a wake up recognition module that recognizes a user's call.
- the wakeup recognition module may recognize a wakeup command of the user through the voice recognition module, and activate the intelligent agent 461 to receive a user input when the wakeup command is received.
- the wake-up recognition module of the intelligent agent 461 may be implemented in a low power processor (eg, a processor included in an audio codec).
- the intelligent agent 461 may be activated according to a user input through a hardware key. When the intelligent agent 461 is activated, an intelligent application (eg, a voice recognition application) linked with the intelligent agent 461 may be executed.
- an intelligent application eg, a voice recognition application
- the intelligent agent 461 may include a voice recognition module for executing user input.
- the speech recognition module may recognize a user input for executing an operation in an application.
- the speech recognition module may have a limited user (voice) input (e.g., a "click") that executes a shooting operation when a camera application is running in applications 441 and 443. Etc.).
- the voice recognition module that recognizes a user input by assisting the intelligent server 470 may recognize a user command that can be processed in the electronic device 401 and process the same quickly.
- a voice recognition module for executing a user input of the intelligent agent 461 may be implemented in an application processor.
- the voice recognition module of the intelligent agent 461 may recognize a user input using an algorithm for recognizing the voice.
- the algorithm used to recognize the voice may be, for example, at least one of a hidden markov model (HMM) algorithm, an artificial neural network (ANN) algorithm, or a dynamic time warping (DTW) algorithm.
- HMM hidden markov model
- ANN artificial neural network
- DTW dynamic time warping
- the intelligent agent 461 may convert the voice input of the user into text data. According to an embodiment, the intelligent agent 461 may transmit the voice of the user to the intelligent server 470 to receive the converted text data. Accordingly, the intelligent agent 461 may display the text data on the display 420.
- the intelligent agent 461 may receive a pass rule transmitted from the intelligent server 470. According to an embodiment, the intelligent agent 461 may transmit the path rule to the execution manager module 467.
- the intelligent agent 461 transmits an execution result log according to the path rule received from the intelligent server 470 to the intelligence service module 463, and transmits the execution result.
- the log may be accumulated and managed in the user's preference information of the persona module 465.
- the processor 460 may receive information including a sequence of states for performing a task from the intelligent server 470.
- the processor 460 may determine a window of the display 420 to display a user interface for the performed task based on the received sequence of states.
- the processor 460 may determine a window to display a user interface for a task performed based on the sequence of states using the window context information.
- the window context information may include whether the currently running application, whether a window displaying a user interface for the running application is activated (active or not), and whether the user interface for the running application has an input characteristic.
- the processor 460 may display a user interface for the task performed in the determined window.
- the execution manager module 467 receives a path rule from the intelligent agent 461 to execute the applications 441 and 443, and the applications 441 and 443 include the operations included in the path rule. 441b, 443b) can be executed.
- the execution manager module 467 may transmit command information for executing operations 441b and 443b to applications 441 and 443, and operations 441b and 443b from the applications 441 and 443. Can receive completion information.
- the execution manager module 467 may transmit and receive command information for executing operations 441b and 443b of the applications 441 and 443 between the intelligent agent 461 and the applications 441 and 443. Can be.
- the execution manager module 467 binds the applications 441 and 443 to be executed according to the path rule and transmits command information of the operations 441b and 443b included in the path rule to the applications 441 and 443. can do.
- the execution manager module 467 sequentially transmits the operations 441b and 443b included in the path rule to the applications 441 and 443 to transmit the operations 441b and 443b of the applications 441 and 443. It can be executed sequentially according to the pass rule.
- the execution manager module 467 may manage execution states of operations 441b and 443b of the applications 441 and 443.
- the execution manager module 467 may receive information on an execution state of the operations 441b and 443b from the applications 441 and 443.
- the execution state of the operations 441b and 443b is, for example, a partial landing (eg, when a parameter required for the operations 441b and 443b is not input)
- the execution manager module 467 is executed. May transmit information about the stopped state to the intelligent agent 461.
- the intelligent agent 461 may request input of necessary information (eg, parameter information) from the user using the received information.
- a speech may be received from the user, and the execution manager module 467 may execute the executed applications 441 and 443 and the applications.
- Information about the execution state of the 441 and 443 may be transmitted to the intelligent agent 461.
- the intelligent agent 461 may receive parameter information of the user's speech through the intelligent server 470, and may transmit the received parameter information to the execution manager module 467.
- the execution manager module 467 may change the parameters of operations 441b and 443b into new parameters using the received parameter information.
- the execution manager module 467 may transmit parameter information included in the path rule to the applications 441 and 443.
- the execution manager module 467 may transfer parameter information included in the pass rule from one application to another application.
- the execution manager module 467 may receive a plurality of pass rules.
- the execution manager module 467 may select a plurality of pass rules based on the user's speech. For example, the execution manager module 467 may specify some applications 441 to execute some operations 441b when the user's speech does not specify other applications 443 to execute the remaining operations 443b.
- the same application 441 e.g., gallery application
- different applications 443 e.g., message application, telegram application
- a plurality of different pass rules can be received.
- the execution manager module 467 may execute, for example, the same operations 441b and 443b (eg, successive identical operations 441b and 443b) of the plurality of pass rules.
- the execution manager module 467 may display a status screen for selecting different applications 441 and 443 included in the plurality of pass rules, respectively, on the display 420.
- the intelligent service module 463 may include a context module 464, a persona module 465, or a suggestion module 466.
- the context module 464 may collect the current state of the applications 441 and 443 from the applications 441 and 443. For example, the context module 464 may receive context information indicating the current state of the applications 441 and 443 and collect the current state of the applications 441 and 443.
- the persona module 465 may manage personal information of a user who uses the electronic device 401.
- the persona module 465 may manage the personal information of the user by collecting usage information and an execution result of the electronic device 401.
- the suggestion module 466 can recommend the command to the user in anticipation of the user's intention.
- the suggestion module 466 may recommend a command to the user in consideration of the user's current state (eg, time, place, situation, application).
- the intelligent server 470 generates a sequence of states for performing a task corresponding to a user input received from the processor 460 of the electronic device 401, and generates the sequence of states. It can transmit to the electronic device 401.
- the state may include at least one action (or operation) for performing a function of at least one application.
- 5A is a block diagram illustrating an integrated intelligence system according to various embodiments of the present disclosure.
- a processor eg, the processor 460 of FIG. 4 of the electronic device 500 (eg, the electronic device 401 of FIG. 4) may be an intelligent service module 510 (eg, the intelligent of FIG. 4).
- Service module 463 intelligent agent 521 (eg, intelligent agent 461 of FIG. 4), execution manager module 523 (eg, execution manager module 467 of FIG. 4), application (application) 525, framework 527, or window selection module 530.
- the intelligent agent 521 may receive a user input, for example, a user utterance, and transmit it to the intelligent server 550 (eg, the intelligent server 470 of FIG. 4).
- the intelligent server 550 eg, the intelligent server 470 of FIG. 4
- the intelligent service module 510 may include a context module 511, a persona manager module 513, or a suggestion module 515. .
- the context module 511 when the context module 511 receives a context request from the intelligent agent 521, the application 525 (eg, the first application 441 and the second application 443 of FIG. 4). ) May request context information indicating the current state of the application 525 (eg, 441 and 443). According to an embodiment, the context module 511 may receive the context information from the application 525 (eg, 441 and 443) and transmit it to the intelligent agent 521.
- the context module 511 may receive a plurality of context information through the application 525 (eg, 441 and 443).
- the context information may be information on the most recently executed application (eg, 441 and 443).
- the context information may be information about a current state in the application 525 (eg, 441 and 443) (eg, information about the picture when viewing a picture in a gallery).
- the context module 511 may receive context information indicating the current state of the electronic device 500 from the device platform as well as the applications 525 (eg, 441 and 443).
- the context information may include general context information, user context information, or device context information.
- the general context information may include general information of the electronic device 500.
- the general context information may be confirmed through an internal algorithm by receiving data through a sensor hub of a device platform.
- the general context information may include information about the current space time.
- the information on the current space time may include, for example, information about a current time or a current location of the electronic device 500.
- the current time may be confirmed through time on the electronic device 500, and the information about the current location may be confirmed through a global positioning system (GPS).
- GPS global positioning system
- the general context information may include information about physical movement.
- the information on the physical movement may include, for example, information on walking, running, driving, and the like.
- the physical motion information may be identified through a motion sensor.
- the information on the driving may not only confirm driving through the motion sensor, but also check boarding and parking by detecting a Bluetooth connection in the vehicle.
- the general context information may include user activity information.
- the user activity information may include, for example, information about commute, shopping, travel, and the like.
- the user activity information may be confirmed using information on a place registered by a user or an application in a database.
- the user context information may include information about a user.
- the user context information may include information about the emotional state of the user.
- the information on the emotional state may include, for example, information about a user's happiness, sadness, anger, and the like.
- the user context information may include information about the current state of the user.
- the information on the current state may include, for example, information on interest, intention, etc. (eg, shopping).
- the device context information may include information about a state of the electronic device 500.
- the device context information may include information about a pass rule executed by the execution manager module 523.
- the information about the state of the electronic device 500 may include information about a battery. Information about the battery may be confirmed through, for example, the charging and discharging states of the battery.
- the information about the state of the electronic device 500 may include information about the connected device and the network. Information about the connected device may be confirmed through, for example, a communication interface to which the device is connected.
- the context module 511 may display window context information (windows) of a window displayed on a current display (eg, the display 420 of FIG. 4) from the framework 527 of the electronic device 500. context information) can be obtained further.
- the window context information may include information about the number of windows displayed on a display, window information on an active state, information on an application displayed on a window, state information of an application, and input state information of windows. , Input state using a keypad), and the like.
- the window context information may include the intelligent agent 521, the execution manager module 523, or the natural language understanding module 563 and the path planner in the intelligent server 550.
- the path planner module 569 may be used to determine a window for performing an operation corresponding to a user input received, for example, speech.
- the persona manager module 513 and the suggestion module 515 are the same as the persona module 465 and the suggestion module 466 of FIG. 4, a detailed description thereof will be omitted.
- the window selection module 530 may determine whether the window selection module 530 is activated among domain (application) information and window context information to perform a task based on a path rule received from the intelligent server 550. You can compare window information. Through the comparison operation, the window selection module 530 may determine a window for performing a task corresponding to a user input (eg, utterance).
- a user input eg, utterance
- the intelligent server 550 may include an automatic speech recognition (ASR) module 561, a natural language understanding (NLU) module 563, and a natural language generation (NLG). language generator (565), text to speech (TTS) module 567, or path planner module 569.
- ASR automatic speech recognition
- NLU natural language understanding
- NLG natural language generation
- language generator 565
- TTS text to speech
- path planner 569.
- the automatic voice recognition module 561 may convert a user input (eg, utterance) received from the electronic device 500 into text data.
- the automatic speech recognition module 561 may transfer the text data to the natural language understanding module 563.
- the natural language understanding module 563 may determine a user's intention of a user input by performing syntactic analysis and semantic analysis.
- the natural language understanding module 563 may analyze the user input to obtain a domain, an intent, and a slot (eg, a parameter) necessary for expressing the intention.
- the natural language understanding module 563 may determine a user's intention by matching a domain, an intention, and a slot to each case using a matching rule included in a rule-based algorithm.
- the natural language understanding module 563 will be described in detail with reference to FIG. 5B.
- the path planner module 569 may generate (or select) a path rule by using a user's intention determined from the natural language understanding module 563.
- the pass rule may include a plurality of operations for one application or a plurality of operations for a plurality of applications.
- the pass rule may include an execution order according to the intention of the user input.
- the natural language generation module 565 may change the designated information into a text form.
- the text form may be in the form of natural language speech.
- the designated information may include information for additional input, information for guiding completion of an operation, and the like.
- the information changed to the text form may be transmitted to the electronic device 500 and displayed on the display, or may be transmitted to the text-to-speech module 567 to change to the voice form.
- the text-to-speech module 567 may change the information in the text form into the information in the speech form.
- the text-to-speech module 567 may receive the text-type information from the natural language generation module 565, change the text-type information into the voice-type information, and transmit it to the electronic device 500.
- the electronic device 500 may output the voice information to a speaker (eg, the speaker 430 of FIG. 4).
- 5B is a block diagram illustrating a natural language understanding module according to various embodiments of the present disclosure.
- the natural language understanding module (eg, the natural language understanding module 563 of FIG. 5A) includes a domain classifier module 571, an intent classifier module 573, and a slot tagger. tagger) 575 (eg, a parameter).
- the natural language understanding module 563 may grasp the intention of the user using a matching rule divided into a domain, an intention, and a slot.
- the natural language comprehension module 563 may grasp the meaning of a word extracted from a user input using linguistic features (eg, grammatical elements) such as morphemes and phrases, and match the meaning of the identified word to a rule to the user's intention. Can be identified.
- the natural language understanding module 563 may determine the user intention by calculating how much a word extracted from the user input is included by using information about rules included in each domain and intention.
- the automatic speech recognition module may recognize the user speech.
- the domain classification module 571 of the natural language understanding module 563 may determine in which application (or category of application) the task corresponding to the recognized speech is to be performed.
- the intention classification module 573 may grasp the intention of the utterance, and the slot tagger 575 may perform a tagging operation in which part of each path (eg, slot) is used in the pass rule. The operations may occur simultaneously and may be processed as one action.
- the natural language understanding module 563 may learn a user's speech based on rule-based natural language understanding or deep natural language understanding. For example, upon receiving the utterance “Find Hawaiian Photo” from the user, the natural language understanding module 563 may perform a tagging operation with domain: gallery, intention: find photo (gallery_rule2), and slot: Hawaii photo (location @ searchviewresult). Can be. The natural language understanding module 563 may search for a related path rule in a path rule database, add Hawaii to a location parameter corresponding to a searchviewresult, and transmit the path rule to the electronic device 500.
- the natural language understanding module 563 may process a change in speech by forming a concept through learning. Accordingly, in the case of using deep natural language understanding, it may be possible to process even when there is no rule in which the user uttered contents are mapped correctly.
- the natural language understanding module 563 may input utterances corresponding to each rule, determine whether the user utterance matches the corresponding utterances, and determine an intention. A pass rule that matches the intent can be obtained. The natural language understanding module 563 may perform a matching operation until exactly matching the speech patterns in which the user speech is stored.
- the user utterance is most likely associated with applications running on the electronic device 500.
- the natural language understanding module 563 may perform matching from the speech pattern associated with the domain displayed on the display based on the window context information received from the electronic device 500.
- the window context information may include priority information on an application.
- the natural language understanding module 563 may give the highest priority to the application displayed in the activation window of the display.
- the natural language understanding module 563 may give priority to an application displayed in a window executed by the speech recognition function.
- the natural language understanding module 563 may give priority to the application displayed in the most recently executed window.
- the natural language understanding module 563 may give priority to speech patterns belonging to the domains displayed in the windows of the display.
- the natural language understanding module 563 may interpret the speech pattern belonging to a domain displayed in the windows of the display. Can be controlled.
- FIG. 6 is a block diagram illustrating an intelligent server of an integrated intelligence system according to an embodiment of the present invention.
- the intelligent server 610 (eg, the intelligent server 550 of FIG. 5A) includes an automatic speech recognition module 620 (eg, the automatic speech recognition module 561 of FIG. 5A), a natural language understanding module ( 630 (eg, natural language understanding module 563 of FIG. 5A), path planner module 640 (eg, path planner module 569 of FIG. 5A), dialogue manager (DM) module 650, Natural language generation module 660 (eg, natural language generation module 565 of FIG. 5A), or text-to-speech module 670 (eg, text-to-speech module 567 of FIG. 5A).
- an automatic speech recognition module 620 eg, the automatic speech recognition module 561 of FIG. 5A
- a natural language understanding module 630
- path planner module 640 eg, path planner module 569 of FIG. 5A
- dialogue manager (DM) module 650 eg, Natural language generation module 660 (eg, natural language generation module 565 of FIG. 5A), or text-to-speech module 6
- the natural language understanding module 630 or the path planner module 640 of the intelligent server 610 may generate a path rule.
- automatic speech recognition (ASR) module 620 may convert user input received from electronic device 600 (eg, electronic device 500 of FIG. 5A) into text data. Can be.
- electronic device 600 eg, electronic device 500 of FIG. 5A
- the automatic voice recognition module 620 may convert user input received from the electronic device 600 into text data.
- the automatic voice recognition module 620 may include a speech recognition module.
- the speech recognition module may include an acoustic model and a language model.
- the acoustic model may include information related to speech
- the language model may include information about a combination of unit phoneme information and unit phoneme information.
- the speech recognition module may convert user speech into text data by using information related to speech and unit phoneme information.
- Information about the acoustic model and the language model may be stored, for example, in an automatic speech recognition database (ASR DB) 621.
- ASR DB automatic speech recognition database
- the natural language understanding module 630 may determine a user's intention by performing syntactic analysis or semantic analysis.
- the grammatical analysis may divide user input into grammatical units (eg, words, phrases, morphemes, etc.) and determine which grammatical elements the divided units have.
- the semantic analysis may be performed using semantic matching, rule matching, formula matching, or the like. Accordingly, the natural language understanding module 630 may obtain a domain, an intent, or a parameter (or a slot) necessary for expressing the intention by the user input.
- the natural language understanding module 630 may use a matching rule divided into a domain, an intent, and a parameter (or a slot) necessary to determine the intention.
- the intention and parameters of the user can be determined.
- the one domain e.g., alarm
- the one intent may include a plurality of intents (e.g., alarm setting, alarm clearing, etc.)
- one intent may be a plurality of parameters (e.g. time, number of repetitions, alarm tone And the like).
- the plurality of rules may include, for example, one or more mandatory element parameters.
- the matching rule may be stored in a natural language understanding database (NLU DB) 631.
- NLU DB natural language understanding database
- the natural language understanding module 630 may grasp the meaning of a word extracted from a user input by using linguistic features (eg, grammatical elements) such as morphemes and phrases, and may determine the meaning of the identified word in a domain. And the intention of the user by matching the intention. For example, the natural language understanding module 630 may calculate how much a word extracted from the user input is included in each domain and intention to determine the user intention. According to an embodiment of the present disclosure, the natural language understanding module 630 may determine a parameter of a user input by using a word based on the intention.
- linguistic features eg, grammatical elements
- morphemes and phrases e.g., morphemes and phrases
- the natural language understanding module 630 may determine the intention of the user using the natural language recognition database 631 in which linguistic features for determining the intention of the user input are stored. According to another embodiment, the natural language understanding module 630 may determine a user's intention using a personal language model (PLM). For example, the natural language understanding module 630 may determine the user's intention using personalized information (eg, a contact list, a music list). The personalized language model may be stored in, for example, a natural language recognition database 631. According to an embodiment of the present disclosure, the automatic speech recognition module 620 as well as the natural language understanding module 630 may recognize the user's voice by referring to the personalized language model stored in the natural language recognition database 631.
- PLM personal language model
- the natural language understanding module 630 may generate a pass rule based on an intention and a parameter of a user input. For example, the natural language understanding module 630 may select an application to be executed based on the intention of the user input, and determine an operation to be performed in the selected application. The natural language understanding module 630 may generate a pass rule by determining a parameter corresponding to the determined operation. According to an embodiment, the path rule generated by the natural language understanding module 630 may include information about an application to be executed, an operation to be executed in the application, and a parameter required to execute the operation.
- the natural language understanding module 630 may generate one pass rule or a plurality of pass rules based on the intention and parameters of the user input. For example, the natural language understanding module 630 receives a path rule set corresponding to the electronic device 600 from the path planner module 640, and maps an intention and a parameter of a user input to the received path rule set. The rule can be determined.
- the natural language understanding module 630 may determine an application to be executed, an operation to be executed in the application, and a parameter required to execute the operation based on an intention and a parameter of a user input to determine a single pass rule or a plurality of passes. You can create rules.
- the natural language understanding module 630 may use the information of the electronic device 600 in the form of an ontology or a graph model according to the intention of a user input. Arrangement can be used to create path rules.
- the generated path rule may be stored in a path rule database (PR DB) 641 through, for example, the path planner module 640.
- the generated path rule may be added to a path rule set of the path rule database 641.
- the natural language understanding module 630 may select at least one pass rule from the generated plurality of pass rules. For example, the natural language understanding module 630 may select an optimal pass rule among the plurality of pass rules. For another example, the natural language understanding module 630 may select a plurality of pass rules when only a few actions are specified based on user speech. The natural language understanding module 630 may determine one pass rule among the plurality of pass rules by an additional input of a user.
- the natural language understanding module 630 may transmit a path rule to the electronic device 600 as a request for a user input.
- the natural language understanding module 630 may transmit one pass rule corresponding to the user input to the electronic device 600.
- the natural language understanding module 630 may transmit a plurality of pass rules corresponding to the user input to the electronic device 600.
- the plurality of pass rules may be generated by the natural language understanding module 630 when only a partial action is specified based on, for example, user speech.
- the path planner module 640 may select at least one path rule from among the plurality of path rules.
- the path planner module 640 may transmit a path rule set including a plurality of path rules to the natural language understanding module 630.
- the plurality of path rules of the path rule set may be stored in a table in a path rule database 641 connected to the path planner module 640.
- the path planner module 640 may include a path rule set corresponding to information (eg, OS information and application information) of the electronic device 600 received from the intelligent agent (eg, the intelligent agent 521 of FIG. 5A).
- the table stored in the path rule database 641 may be stored, for example, by domain or version of a domain.
- the path planner module 640 may select one path rule or a plurality of path rules from the path rule set and transmit the selected path rules to the natural language understanding module 630.
- the path planner module 640 may select one path rule or a plurality of path rules by matching a user's intention and parameters with a path rule set corresponding to the electronic device 600, and then may use the natural language understanding module 630. Can be delivered to.
- the path planner module 640 may generate one path rule or a plurality of path rules using user intentions and parameters. For example, the path planner module 640 may generate one path rule or a plurality of path rules by determining an application to be executed and an operation to be executed in the application based on user intention and parameters. According to an embodiment, the path planner module 640 may store the generated path rule in the path rule database 641.
- the path planner module 640 may store the path rule generated by the natural language understanding module 630 in the path rule database 641.
- the generated path rule may be added to a path rule set stored in the path rule database 641.
- the table stored in the path rule database 641 may include a plurality of path rules or a plurality of path rule sets.
- the plurality of pass rules or the plurality of pass rule sets may reflect the type, version, type, or characteristic of a device that performs each pass rule.
- the conversation manager module 650 may determine whether the intention of the user identified by the natural language understanding module 630 is clear. For example, the conversation manager module 650 may determine whether the intention of the user is clear based on whether the information of the parameter is sufficient. The conversation manager module 650 may determine whether the parameters identified in the natural language understanding module 630 are sufficient to perform a task. According to an embodiment, the conversation manager module 650 may perform feedback for requesting necessary information from the user when the intention of the user is not clear. For example, the conversation manager module 650 may perform feedback requesting information about a parameter for determining a user's intention.
- the dialog manager module 650 may include a content provider module.
- the content providing module may generate a result of performing a task corresponding to a user input when the content providing module may perform an operation based on the intentions and parameters identified by the natural language understanding module 630.
- the conversation manager module 650 may transmit the result generated by the content providing module to the electronic device 600 in response to a user input.
- the natural language generation module 660 may change the designated information into a text form.
- the information changed in the text form may be in the form of natural language speech.
- the specified information may be, for example, information about an additional input, information for guiding completion of an operation corresponding to a user input, or information (eg, feedback information for a user input) for guiding an additional input of a user.
- the information changed in the text form may be transmitted to the electronic device 600 and displayed on the display (for example, the display 420 of FIG. 4) or may be transmitted to the text-to-speech module 670 to be changed to the voice form.
- the text-to-speech module 670 may change the information in the text form into the information in the speech form.
- the text-to-speech module 670 may receive information in the form of text from the natural language generation module 660, change the information in the form of text into information in the form of speech, and transmit the information to the electronic device 600.
- the electronic device 600 may output the voice information to a speaker (eg, the speaker 430 of FIG. 4).
- the natural language understanding module 630, the path planner module 640, and the conversation manager module 650 may be implemented as one module.
- the natural language understanding module 630, the path planner module 640, and the conversation manager module 650 may be implemented as one module to determine a user's intention and parameters, and correspond to the determined user's intent and parameters.
- Generate a response eg, a pass rule. Accordingly, the generated response may be transmitted to the electronic device 600.
- FIG. 7 illustrates a method of generating a path rule of a path planner module according to an embodiment of the present invention.
- the natural language understanding module may divide a function of an application into unit operations (eg, A through F), and may include a path rule database (eg, 6 may be stored in the path rule database 641 of FIG. 6.
- the natural language understanding module includes a plurality of pass rules (eg, A-B1-C1, A-B1-C2, A-B1-C3-DF, A-B1-C3-DEF) that are divided into unit operations.
- the path rule set can be stored in the path rule database.
- the path rule database of the path planner module may store a path rule set for performing a function of an application.
- the pass rule set may include a plurality of pass rules including a plurality of operations. In the plurality of pass rules, operations executed according to parameters input to each of the plurality of operations may be sequentially arranged.
- the plurality of path rules may be configured in an ontology or graph model and stored in a path rule database.
- the natural language understanding module may include the plurality of pass rules (eg, A-B1-C1, A-B1-C2, A-B1-C3-DF, A-B1) corresponding to intentions and parameters of a user input.
- the optimal pass rule (A-B1-C3-DF) can be selected among -C3-DEF).
- the natural language understanding module may transmit a plurality of rules to the electronic device (eg, the electronic device 600 of FIG. 6) when there is no pass rule that perfectly matches the user input. For example, the natural language understanding module may select a pass rule (eg, A-B1) that partially corresponds to the user input.
- the natural language understanding module includes one or more pass rules (eg, A-B1-C1, A-B1-C2, A-B1-C3-DF, including pass rules (eg, A-B1) that correspond in part to user input).
- A-B1-C3-DEF can be selected and delivered to the electronic device.
- the natural language understanding module may select one of the plurality of pass rules based on the additional input of the electronic device, and transfer the selected one pass rule to the electronic device.
- the natural language understanding module may include a plurality of pass rules (eg, A-B1-C1, A-B1-C2, and A-B1) according to a user input (eg, an input for selecting C3) additionally input from the electronic device.
- One pass rule eg, A-B1-C3-DF
- A-B1-C3-DEF may be selected and transmitted to the electronic device.
- the natural language understanding module may determine a user's intention and parameters corresponding to a user input (eg, an input for selecting C3) additionally input to the electronic device through the natural language understanding module, and the determined user May transmit an intention or a parameter to the electronic device.
- the electronic device may determine one of a plurality of pass rules (eg, A-B1-C1, A-B1-C2, A-B1-C3-DF, and A-B1-C3-DEF).
- One pass rule eg, A-B1-C3-DF may be selected.
- the electronic device may complete an operation of an application (for example, 441 and 443 of FIG. 4) based on the selected one pass rule.
- the natural language understanding module may generate a pass rule partially corresponding to the received user input when a user input lacking information is received by an intelligent server (eg, the intelligent server 610 of FIG. 6). Can be.
- the natural language understanding module may transmit the partially corresponding path rule to an intelligent agent (eg, intelligent agent 521 of FIG. 5A).
- the intelligent agent may transmit the partially corresponding path rule to an execution manager module (eg, execution manager module 523 of FIG. 5A).
- the execution manager module may execute the first application 441 according to the path rule.
- the execution manager module may transmit information on the insufficient parameters to the intelligent agent while executing the first application 441.
- the intelligent agent may request additional input from the user by using the information about the insufficient parameter.
- the intelligent agent may send the intelligent agent to the intelligent server for processing if additional input is received by the user.
- the natural language understanding module may generate the added pass rule based on the additionally input intention and parameter information of the user and transmit the generated pass rule to the intelligent agent.
- the intelligent agent may execute the second application 443 by transmitting the path rule to the execution manager module.
- the natural language understanding module may transmit a user information request to a personalization information server (eg, the personalization information server 680 of FIG. 6) when a user input missing some information is received by the intelligent server. .
- the personalization information server may transmit the information of the user who inputs the user input stored in the persona database to the natural language understanding module.
- the natural language understanding module may select a pass rule corresponding to a user input missing some operations using the user information. Accordingly, even if a user input missing some information is received by the intelligent server, the natural language understanding module may request the missing information to receive additional input or use the user information to determine a pass rule corresponding to the user input.
- 8A is a diagram illustrating executing an intelligent application of an electronic device according to an embodiment of the present disclosure.
- an electronic device receives a user input, and intelligent applications (eg, voice recognition) linked with an intelligent agent (eg, the intelligent agent 521 of FIG. 5A). Application).
- intelligent applications eg, voice recognition
- an intelligent agent eg, the intelligent agent 521 of FIG. 5A.
- the electronic device may execute an intelligent application for recognizing voice through the hardware key 813 (or the physical key). For example, when the electronic device receives a user input through the hardware key 813, the electronic device may display a user interface (UI) 815 of the intelligent application on the display (eg, the display 420 of FIG. 4). For example, the user may touch the voice recognition button 815a in the UI 815 of the intelligent application to input a voice 811b while the UI 815 of the intelligent application is displayed on the display. For example, the user may input the voice 811b by continuously pressing the hardware key 813 to input the voice 811b.
- UI user interface
- the electronic device may execute an intelligent application for recognizing voice through a microphone (eg, the microphone 411 of FIG. 4). For example, when a specified voice (eg, wake up! Is input 811a through a microphone, the electronic device may display the UI 815 of the intelligent application on the display.
- a microphone eg, the microphone 411 of FIG. 4
- the electronic device may display the UI 815 of the intelligent application on the display.
- 8B is a block diagram illustrating an integrated intelligence system according to various embodiments of the present disclosure.
- the intelligent agent 820 (eg, the intelligent agent 521 of FIG. 5A) of the electronic device 810 (eg, the electronic device 600 of FIG. 6) may receive a user input from the user 800. send message to Agatha ”.
- the intelligent agent 820 may transmit 2 the user input “send message to Agatha” to the intelligent server 850 (eg, the intelligent server 550 of FIG. 5A).
- the automatic voice recognition module 851 eg, the automatic voice recognition module 620 of FIG. 6) of the intelligent server 850 may receive a user input (eg, received from the electronic device 810). It is possible to convert 853 into text data.
- the automatic speech recognition module 851 may transmit the converted text data “send message to Agatha” to the natural language understanding module 855 (eg, the natural language understanding module 630 of FIG. 6).
- the natural language understanding module 855 generates the received text data “send message to Agatha” from domain information of “message”, an intent of “send message”, and a parameter (eg, slot) of “Agatha” (857). And transmit it to the path planner module 859 (eg, the path planner module 640 of FIG. 6).
- the path planner module 859 may use a path rule “state1: message-state2: conversation view (parameter: Agatha)” based on the information received from the natural language understanding module 855.
- path rule 860 which may be transmitted 3 to the intelligent agent 820.
- a pass rule means that a task to be performed using an application is defined as a set of state units.
- the state may include movement to a particular screen, and each state may include a parameter.
- the electronic device 810 may indicate that the user input is being processed on a display (eg, the display 420 of FIG. 4) while the user input is being processed by the intelligent server 850.
- the electronic device 810 may receive a user input recognized in the form of text from the intelligent agent 820 and display it on the display.
- the intelligent agent 820 of the electronic device 810 may transfer (6) the path rule received from the intelligent server 850 to the execution manager module 830. .
- the execution manager module 830 may execute an execution service based on two states (first state and second state) corresponding to the pass rule of the user input “send message to Agatha”.
- Module 841 may transmit a signal requesting a state.
- the execution manager module 830 may transmit a signal for requesting the states after completing one state.
- the execution manager module 830 may control two states (the first state 843 and the second state 845) corresponding to the pass rule to be sequentially executed according to a user input.
- the execution service module 841 may execute the first state 843 when the signal for requesting the first state 843 is received 7.
- the execution service module 841 opens 9 the second state 845 and executes completion information 10 for the first state 843. Can be transmitted 11.
- the execution manager module 830 may transmit 12 a signal for requesting the second state 845 to the execution service module 841.
- the execution service module 841 may execute the second state 845 when the signal for requesting the second state 845 is received.
- the execution manager module 830 receives the completion rule for the second state 845 from the execution service module 841 when the second state 845 is completed 14 and receives the pass rule completion information from the intelligent server 850. Can be transmitted 16).
- the intelligent server 850 may be a natural language generation module (not shown) of the intelligent server 850 (eg, the natural language generation module 660 of FIG. 6) and a text-to-speech module (not shown). (Eg, text-to-speech module 670 of FIG. 6) can be notified to the user that the termination has been completed.
- FIG. 9 is a flowchart illustrating a screen control method according to a user input according to various embodiments of the present disclosure.
- the electronic device may display at least one user interface on the display (eg, the display 420 of FIG. 4) in operation 910.
- the electronic device eg, the processor 460 of FIG. 4 may display a user interface according to the execution of the application.
- the electronic device eg, the processor 460 of FIG. 4 may display a plurality of user interfaces for the plurality of applications on the display.
- the electronic device eg, the processor 460 of FIG. 4 may display the plurality of user interfaces on the display in the form of at least one of a multi-window, an overlay, and a pop-up window.
- the electronic device may receive a user input for performing a task in operation 920.
- the user input may be an input for performing a task using a specific application through a voice recognition function.
- an electronic device may include a hardware key (eg, the hardware key 813 of FIG. 8A) provided separately in the electronic device for performing the voice recognition function.
- a user interface for performing a voice recognition function may be displayed.
- a method for performing the voice recognition function is not limited thereto, and the voice recognition function displayed on the display when a designated voice (eg, wake up) is input through a microphone (eg, the microphone 411 of FIG. 4) is input.
- the electronic device eg, the processor 460 of FIG. 4
- the electronic device may display a user interface for performing a voice recognition function.
- the input for performing the voice recognition function is assumed to be a signal of pressing a hardware key separately provided in the electronic device.
- the electronic device may use a user through a microphone (eg, the microphone 411 of FIG. 4) in a user interface for performing the voice recognition function.
- An input for example, may receive a speech.
- the electronic device eg, the intelligent agent 820 of FIG. 8B
- the electronic device may be configured in a user input or a display to perform a task using an application (a single application or a plurality of applications) displayed on the display.
- a user input for performing a task may be received using an application different from the displayed application.
- the electronic device may automatically transmit data associated with the user input received in operation 930 to an external server (eg, intelligent server 850 of FIG. 8B).
- an electronic device may display window context information on a current display along with data associated with the user input (eg, FIG. 8B).
- Automatic voice recognition module 851 of intelligent server 850 may include whether the currently running application, whether a window displaying a user interface for the running application is activated (active or not), and whether the user interface for the running application has an input characteristic. .
- the electronic device may perform a task from an external server (eg, the natural language understanding module 855 of the intelligent server 850 of FIG. 8B) in operation 940.
- Information including a sequence of states for performing can be received.
- the sequence of states for performing the task may refer to a path rule generated by the path planner module of the intelligent server (eg, the path planner module 859 of the intelligent server 850 of FIG. 8B).
- the sequence of states may include a sequence of operations for performing a function of an application corresponding to a user input.
- the state may include at least one operation (or operation) for performing a function of at least one application.
- the electronic device may display a window of a display to display a user interface for a task performed based on the sequence of states received in operation 950. You can decide.
- the electronic device may use window context information as a window of a display to display a user interface for a task performed based on a sequence of states. Can be determined.
- the electronic device when an application associated with an application matching a sequence of states is in a state displayed on a display, the electronic device (eg, the execution manager module 830 of FIG. 8B) may display the display of the display on which the associated application is displayed. You can perform a sequence of states in the region.
- the electronic device eg, the execution manager module 830 of FIG. 8B
- the execution manager module 830 of FIG. 8B has a plurality of applications to be executed based on a sequence of states (eg, a state of a state to be finalized)
- the sequence of states can be performed in the area of the display.
- the electronic device may determine the sequence of states in each region when each of the applications represented by the multi-window is associated with an application matching the sequence of states. Can be performed.
- the electronic device may perform a sequence of states in an inactive window rather than an active window of the display in the multi-window state. For example, when there are a plurality of deactivation windows, the electronic device may perform a sequence of states in the window in which the deactivation time is old.
- the electronic device when a text input is received from a user interface displayed on a portion of a display in a multi-window state, the electronic device (eg, the execution manager module 830 of FIG. 8B) may display another region of the display. You can perform a sequence of states in.
- the electronic device may display a user interface for the task performed in the window determined in operation 860.
- FIG. 10 to FIG. 11B which will be described below, illustrates a user input received while displaying a user interface for an application on a display, and an application to perform a task corresponding to the application and the user input.
- FIG. 10 to FIG. 11B illustrates a user input received while displaying a user interface for an application on a display, and an application to perform a task corresponding to the application and the user input.
- it is a diagram for explaining a screen control method.
- FIG. 10 is a flowchart illustrating a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- the electronic device may display a first user interface for the first application on a display (eg, the display 420 of FIG. 4) in operation 1010. .
- the electronic device may receive a user input for performing a task using the first application in operation 1020.
- the electronic device may transmit data associated with user input received in operation 1030 to an external server (eg, intelligent server 850 of FIG. 8B). I can send it.
- an external server eg, intelligent server 850 of FIG. 8B.
- the electronic device eg, the intelligent agent 820 of FIG. 8B
- the electronic device may be configured to perform a task from an external server (eg, the intelligent server 850 of FIG. 8B) in operation 1040.
- Information about the sequence of states can be received.
- the electronic device may display a first user interface on the display about the task performed based on the sequence of states received in operation 1050. .
- 11A and 11B are diagrams for describing a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- an electronic device may display an application such as a message application on a display (eg, the display 420 of FIG. 4) as shown in FIG.
- the user interface 1111 may be displayed.
- the electronic device may receive a user input for performing a task using a message application while displaying the user interface 1111 on a display.
- the electronic device responds to the voice recognition function as shown in FIG. 1120.
- the user interface 1121 may be displayed on the display.
- the electronic device may display a user interface 1121 for performing the voice recognition function as an upper layer on the display.
- the electronic device may display a user interface 1121 for performing a voice recognition function as an upper layer of the user interface 1111 for a message application.
- the electronic device may graphically process (eg, shade) the user interface 1111 for the message application to display the user interface (shown as the upper layer). 1121).
- the electronic device may receive a user speech as a user input for performing a task through the user interface 1121 for performing the voice recognition function.
- the electronic device may receive a user speech, for example, “send message to Agatha” 1123 through a user interface 1121 for performing a voice recognition function.
- the electronic device may transmit the user speech “send message to Agatha” 1123 to an intelligent server (eg, the intelligent server 850 of FIG. 8B).
- the intelligent server eg, the natural language understanding module of the intelligent server (eg, the natural language understanding module 855 of FIG. 8B)
- the intelligent server may store the message as domain information based on the user speech “send message to Agatha” 1123 received from the electronic device. ”,“ Send message ”as intent, and“ Agatha ”as parameter (eg slot).
- the intelligent server e.g., the path planner module of the intelligent server (e.g., the path planner module 859 of Figure 8b)
- the intelligent server is based on the domain information, intention, and the parameters "state1: message-state2: conversation view (parameter: Agatha) Sequence of states) and transmit it to the electronic device.
- an electronic device may display an application on which the application to perform a task based on the sequence “state1: message ⁇ state2: conversation view (parameter: Agatha)” received from an intelligent server is displayed on the electronic device. Can be determined. For example, the electronic device may determine whether the user interface 1111 according to the execution of the message application displayed on the display and the domain information of the state, for example, the application are the same.
- the domain information of the state is a message
- the electronic device may determine an application to perform the state as a message application. Accordingly, the electronic device may determine that the domain information of the state and the message application currently displayed on the display are the same.
- the electronic device may sequentially perform the states according to the sequence of states using the message application currently displayed on the display. For example, the electronic device may automatically display “Agatha” in the user interface (1111 of ⁇ 1110>) for the messaging application to display the user interface 1131 switched to the Agatha conversation view, as shown in ⁇ 1130>. have.
- the electronic device may display a user interface 1133 waiting for additional input through a voice recognition function along with a user interface 1131 for composing a message to be sent to the recipient Agatha.
- the electronic device may receive a user input including a command for requesting processing on a specific screen, for example, the user interface 1141 while displaying a user interface 1141 for a message composition window on a display.
- the user input may receive a user input including a command for inputting text in a recipient field in a message composition window.
- the electronic device when the electronic device receives a user input “Add mom to the message recipient”, the electronic device may transmit a request for natural language understanding processing to the intelligent server.
- the electronic device may transmit window context information to the intelligent server together with the user input.
- the electronic device may also request whether the user input can be processed on the user interface displayed on the display of the electronic device.
- the intelligent server may perform the user input “add mom to message recipient” in the user interface 1141 for the user interface, eg, a message composition window, based on user input and window context information. Can be determined. If it is determined that it can be performed, the intelligent server may generate a sequence of states therefor and transmit the generated sequence of states to the electronic device. The electronic device may display a user interface 1141 for a message composition window in which 183 is added to the recipient field based on the sequence of states received from the intelligent server.
- the electronic device controls to process the application executed in the activation window, or controls to process the application in the most recently activated window.
- the user may be controlled to select an application to process the corresponding command.
- FIG. 12 to FIG. 13B which will be described below, illustrate that a user input is received while displaying a user interface for an application on a display, and that the application is different from an application to perform a task on the user input.
- the screen control method is described.
- FIG. 12 is a flowchart illustrating a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- the electronic device may display a first user interface for the first application on a display (eg, the display 420 of FIG. 4) in operation 1210. .
- the electronic device may receive a user input for performing a task using the second application in operation 1220.
- the electronic device may transmit data associated with a user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 1230.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 1240. It may receive information including the.
- the electronic device eg, the processor 460 of FIG. 4 maintains the display of the first user interface on the display in operation 1250, and displays a portion of the second application on a portion of the display. 2 You can display the user interface.
- FIGS. 13A and 13B are diagrams for describing a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- an electronic device may display an application such as a message application on a display (eg, the display 420 of FIG. 4) as shown in FIG.
- the user interface 1311 may be displayed.
- the electronic device may receive a user input for performing a task using an application different from the message application while displaying the user interface 1311 according to the execution of the message application on a display. have.
- the electronic device when the electronic device detects a signal of pressing a hardware key 1313 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, the electronic device responds to the voice recognition function as shown in FIG. 1320.
- the user interface 1321 for performing the operation may be displayed.
- the electronic device may receive a user speech as a user input for performing a task through the user interface 1321 for performing the voice recognition function.
- the electronic device may receive a user speech, eg, “find photo from Hawaii” 1323 through the user interface 1321 for the voice recognition application.
- the electronic device may transmit the user speech “find photo from Hawaii” 1323 to an intelligent server (eg, the intelligent server 850 of FIG. 8B).
- the electronic device may receive a sequence of states for the user speech “find photo from Hawaii” 1323 from the intelligent server.
- the sequence of states is “state1: gallery-state2: search-state3: search result (Hawaii)” based on “photo” as domain information, “find photo” as intention, and “Hawaii” as parameter (eg slot). It may include.
- the electronic device may determine whether an application to perform a task is an application previously displayed on the electronic device, for example, a message application, based on the sequence of states. For example, the electronic device may determine whether the user interface 1311 according to the execution of the message application displayed on the display and the application (eg, domain information) to perform the task are the same.
- the electronic device may determine an application to execute a state as a gallery application. Since the electronic device is different from the message application currently displayed on the display, the electronic device may generate the gallery application as a new window as shown in FIG. I can display it. The electronic device may sequentially perform the states based on the sequence of states using the gallery application, and display the user interface 1331 according to the execution. The window size for displaying the user interface 1331 may be adjusted by the item 1333.
- the electronic device may determine a window on which a user interface for performing the sequence of states is displayed as an activation window.
- the electronic device may change the activation window from a user interface that performs the sequence of states to a user interface that was activated before user input (speech). have.
- the electronic device may display a user interface 1341 according to execution of an application, for example, a message application, on the display as shown in FIG. 1340.
- an application for example, a message application
- the electronic device detects a signal of pressing a hardware key 1343 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, the electronic device responds to the voice recognition function as shown in FIG. 1350.
- a user interface 1351 for performing may be displayed.
- the electronic device may receive a user input for performing a task using an application different from the message application through the user interface 1351 for the voice recognition application.
- the electronic device may receive a user speech, for example, "execute telegram" 1353.
- the electronic device may transmit the user speech “execute Telegram” 1353 to the intelligent server (the intelligent server 850 of FIG. 8B).
- the electronic device may receive a sequence of states for the “execute Telegram” 1353 from the intelligent server.
- the sequence of states may include “state1: Telegram-state2: execute” based on "Telegram” as domain information and "execute” as intention.
- the electronic device may determine an application to execute a state as a telegram application based on the sequence of states, and is different from the message application currently displayed on the display.
- a window may be created to display a user interface for the telegram application.
- the electronic device may display a user interface for the telegram application as a popup window 1361 as shown in FIG. 1360. The size of the pop-up window may be adjusted by the item 1363.
- FIG. 14 is a flowchart illustrating a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- an electronic device may display a first user interface for a first application on a display (eg, the display 420 of FIG. 4) in operation 1410.
- the electronic device may receive a user input for performing a task using the second application in operation 1420.
- the electronic device may transmit data associated with user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 1430.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 1440. It may receive information including the.
- the electronic device when there is an external device connected to the electronic device in operation 1450, the electronic device (eg, the processor 460 of FIG. 4) may display a second application for the second application on the display of the external device.
- the user interface can be displayed.
- 15A and 15B are diagrams for describing a screen control method according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- an electronic device may display a user of a message application on a display (eg, the display 420 of FIG. 4) as shown in FIG. 1510.
- the interface 1511 can be displayed.
- the electronic device may display a user interface 1521 for performing a voice recognition function on a partial area of the display.
- the electronic device may receive a user input, for example, “find photo from Hawaii” 1523, from the user interface 1521.
- the electronic device may transmit the user input “find photo from Hawaii” 1523 to an intelligent server (eg, the intelligent server 850 of FIG. 8B).
- the electronic device may receive a sequence of states for the user input “find photo from Hawaii” 1523 from the intelligent server.
- the sequence of states is “state1: gallery-state2: search” -state3: search result (Hawaii) based on “photo” as domain information, “fine” as intention, and “Hawaii” as parameter (eg slot). It may include.
- the electronic device may determine an application to execute the state as the gallery application based on the sequence of states.
- the electronic device may determine whether to connect with the external device 1540.
- the electronic device and the external device 1540 may be connected through a wireless communication circuit (eg, the communication interface 170 of FIG. 1 and the communication module 220 of FIG. 2). If determined to be connected to the external device 1540, the electronic device maintains the display of the user interface for the message application on the display of the electronic device as shown in ⁇ 1530>, and the application corresponding to the user input, for example, a gallery.
- Execution information eg, a user interface performed using a gallery application according to a sequence of states
- the external device 1540 may display a user interface for the gallery application in which the Hawaiian photo is searched as shown in ⁇ 1550> based on the execution information of the gallery application.
- FIGS. 16 to 17C to be described below are diagrams for describing an exemplary embodiment in which there are a plurality of domains to be executed in a pass rule.
- 16 is a flowchart illustrating a screen control method when there are a plurality of applications to be performed according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- the electronic device may display a first user interface for the first application on a display (eg, the display 420 of FIG. 4) in operation 1610. .
- the electronic device may receive a user input for performing a task using the first application and the second application in operation 1620.
- the electronic device may transmit data associated with a user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 1630.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 1640. It may receive information including the.
- the electronic device may provide a second user interface for the second application to a portion of the display based on the sequence of states received in operation 1650. I can display it.
- the electronic device eg, the intelligent agent 820 of FIG. 8B performs the first task using the second application in operation 1660 and then based on the first task, based on the first task.
- the first user interface according to the execution of the second task may be displayed.
- 17A to 17C are diagrams for describing a screen control method when there are a plurality of applications to be performed according to a user input received while a single user interface is displayed according to various embodiments of the present disclosure.
- an electronic device may display a user of a message application on a display (eg, the display 420 of FIG. 4) as shown in FIG. 1710.
- Interface 1711 may be displayed.
- the electronic device detects a signal of pressing a hardware key 1713 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, the user may perform a voice recognition function as shown in FIG. Interface 1721 may be displayed.
- the user interface 1721 may receive a user input, for example, “send Hawaii photo to Jack” 1723.
- the electronic device may transmit the user input “send Hawaii photo to Jack” 1723 to an intelligent server (eg, intelligent server 850 of FIG. 8B).
- the natural language understanding module of the intelligent server may be configured based on the user input “send Hawaii photo to Jack” 1723. And parameters.
- the natural language understanding module of the intelligent server may transmit the generated domain information, intention, and parameters to the path planner module of the intelligent server (eg, the path planner module 859 of FIG. 8B).
- the path planner module may include the plurality of domains.
- a plurality of pass rules can be generated based on the information.
- the path planner module of an intelligent server may include a first pass rule “message-conversation view (Jack) -attach-search-search result (Hawaii) -Hawaii photo selection-for user input“ send Hawaii photo to Jack ”(1723).
- the server may transmit the generated first pass rule and second pass rule to the electronic device.
- the electronic device may sequentially perform the state using one of the first pass rule and the second pass rule received from the intelligent server. For example, the electronic device may determine a pass rule for performing the state based on the window usage history information and the window context information.
- the first pass rule may be related to a sequence of executing a gallery application and executing a state using the same after executing a message application and a state using the same.
- the electronic device may sequentially execute states according to the first pass rule using the message application currently displayed on the display, and then sequentially execute the gallery application and the states using the same.
- the second pass rule may be related to the execution of the gallery application and the execution of the state using the same, followed by the execution of the message application and the execution of the state using the same.
- the electronic device displays the user interface 1731 for the gallery application in addition to the user interface 1711 for the message application currently displayed on the display, as shown in FIG. 1730. It can be created as a new window and displayed as a multi-window.
- the electronic device executes a gallery application as the activation window and corresponds to a second pass rule, for example, in a gallery application.
- a gallery application as the activation window and corresponds to a second pass rule, for example, in a gallery application.
- states for the photo selection 1741 to share and the application selection 1751 for sharing the selected photo may be sequentially performed.
- the electronic device when the state to be executed in the user interface 1731 for the gallery application is terminated and the state to be executed in the user interface 1711 for the message application is started, the electronic device is shown in ⁇ 1760>.
- the gallery application may be terminated, and only the user interface 1701 for the message application may be displayed, and the state of transmitting the picture to Jack may be performed through the user interface 1701 for the message application.
- the electronic device may display a message 1773 for completing the message transmission as shown in 1770.
- FIG. 18 is a flowchart illustrating a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- the electronic device may determine that the electronic device (eg, the processor 460 of FIG. 4) corresponds to the first and second regions of the display (eg, the display 420 of FIG. 4).
- the second user interface for the first user interface and the second application may be displayed.
- the electronic device may receive a user input for performing a task using the second application in operation 1820.
- the electronic device may transmit data associated with user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 1830.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 1840. It may receive information including the.
- the electronic device may display a second user interface for the task performed based on the state sequence received in operation 1850. Can be marked on.
- FIG. 19 is a diagram illustrating a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- an electronic device may display a message application on a first area of a display (eg, the display 420 of FIG. 4) as shown in FIG. 1910.
- the user interface 1911 may display a user interface 1913 for a browser application in a second area of the display.
- the electronic device may determine a user interface 1913 for a browser application displayed on the second area of the first area and the second area of the display as an activation window.
- the electronic device may respond to a signal of pressing a hardware key 1915 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device.
- a user interface 1921 for performing the voice recognition function may be displayed.
- the electronic device may receive a user input “show a landmark” on the user interface 1921.
- the electronic device uses the application displayed in the activation window to state the user input. Can be performed sequentially. For example, since the domain information to perform the sequence of states for the user input “show a landmark” is the same as the browser application displayed in the activation window of the display, for example, the second area, the electronic device displays the second device as shown in ⁇ 1930>.
- the "landmark" may be searched using a browser application displayed in the area, and a user interface 1931 including a search result may be displayed.
- 20 is a flowchart illustrating a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- the electronic device may perform an operation for the first application on each of the first area and the second area of the display (eg, the display 420 of FIG. 4).
- the second user interface for the first user interface and the second application may be displayed.
- the electronic device may receive a user input for performing a task using the third application in operation 2020.
- the electronic device may transmit data associated with user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 2030.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 2040. It may receive information including the.
- the electronic device may perform a third application for the third application on the first area or the second area of the display based on the sequence received in operation 2050.
- the user interface can be displayed.
- 21A and 21B are diagrams for describing a screen control method according to a user input received in a multi-window according to various embodiments of the present disclosure.
- the electronic device multi-windows a user interface 2111 for a message application and a user interface 2113 for a browser application in each of the first area and the second area of the display, as shown in FIG. 2110. Can be displayed as
- the electronic device may respond to a signal of pressing a hardware key 2115 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, as shown in FIG. 2120.
- the user interface 2121 for performing the voice recognition function may be displayed.
- the electronic device may receive a user input “show a picture taken in Hawaii” on the user interface 2121.
- the electronic device may transmit a user input “show a picture taken in Hawaii” to an intelligent server (eg, the intelligent server 850 of FIG. 8B).
- the electronic device may receive a sequence of states from the intelligent server for user input “show me the picture taken in Hawaii”.
- an electronic device may be configured to provide an application and user input corresponding to an user interface in an active state, for example, a user interface 2113 displayed in a second area of a display, among user interfaces displayed as a multi-window on a display.
- Domain information for example, can determine whether the applications are the same.
- the electronic device may display the second state of the active state of the display. Maintains the display of the user interface 2113 for the browser application in the area, runs the gallery application in an area that is not active, for example, the first area of the display, as shown in ⁇ 2130>, and uses the gallery application to You can perform states for user input sequentially.
- the electronic device may determine, as an activation window, the user interface 2131 for the gallery application of the first area in which the state for the user input is sequentially performed.
- the electronic device may change the activation window to the second area that was the activation window before receiving the user input.
- the electronic device multi-windows the user interface 2141 for the message application and the user interface 2143 for the browser application in each of the first area and the second area of the display, as shown in FIG. 2140. Can be displayed as
- the electronic device may respond to a signal of pressing a hardware key 2145 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, as shown in FIG. 2150.
- a user interface 2151 for performing the voice recognition function may be displayed.
- the electronic device may receive a user input “Send a text to Jack” at the user interface 2151.
- the electronic device may transmit the user input “Send a text to Jack” to an intelligent server (eg, the intelligent server 850 of FIG. 8B).
- the electronic device may receive a sequence of states from the intelligent server for the user input " Jack to text. &Quot;
- an electronic device may be configured to provide an application and user input corresponding to an user interface in an active state, for example, a user interface 2143 displayed in a second area of a display, among user interfaces displayed as a multi-window on a display.
- Domain information for example, can determine whether the applications are the same.
- the electronic device may display the second state of the active state of the display. Maintains the display of the user interface 2143 for the browser application in the area, and performs the state according to the sequence of states using a message application corresponding to the user interface displayed in the first area of the display as shown in ⁇ 2160>. And a user interface 2161 (eg, an interface for transmitting a "know" message to Jack) for the message application according to the execution result.
- a user interface 2161 eg, an interface for transmitting a "know" message to Jack
- the electronic device may determine the user interface 2161 for the message application of the first area in which the state is performed as the activation window.
- the electronic device may activate the activation window in a second area which was an activation window before receiving a user input in the first area where the state is performed. Can be changed.
- FIGS. 22 to 23 c to be described below are views for describing an exemplary embodiment when there are a plurality of path rule domains corresponding to a user input in a multi-window state.
- FIG. 22 is a flowchart illustrating a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- the electronic device may determine that the first application and the second area of the display (eg, the display 420 of FIG. 4) correspond to the first application.
- the second user interface for the first user interface and the second application may be displayed.
- the electronic device may receive a user input for performing a task using the first application and the third application in operation 2220.
- the electronic device may transmit data associated with a user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 2230.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 2240. It may receive information including the.
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is performed based on the sequence of states while maintaining display of the second user interface in the second area of the display in operation 2250.
- the first user interface for the assigned task may be displayed in a first area of the display.
- the electronic device eg, the intelligent agent 820 of FIG. 8B
- the electronic device maintains the display of the second user interface in the second area of the display.
- a third user interface may be displayed in the first area of the display based on the sequence of states.
- 23A to 23C are diagrams for describing a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- an electronic device may include a first area and a first area of a display (eg, the display 420 of FIG. 4) as shown in FIG. 2310.
- the user interface 2311 for the gallery application and the user interface 2313 for the browser application may be displayed in a multi-window.
- the electronic device may respond to a signal of pressing a hardware key 2315 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, as illustrated in FIG. 2320.
- a hardware key 2315 eg, the hardware key 813 of FIG. 8A
- the user interface 2321 for performing the voice recognition function may be displayed.
- the electronic device may receive a user input “Send Hawaiian picture to Jack” in the user interface 2321.
- the electronic device may transmit the user input “Send Hawaiian Photo to Jack” to an intelligent server (eg, intelligent server 850 of FIG. 8B).
- the natural language understanding module of the intelligent server (eg, the natural language understanding module 855 of FIG. 8B) is based on the user input “Send Hawaiian Photo to Jack” and thus domain information, intent, and parameters. Can be generated.
- the natural language understanding module of the server may transmit the generated domain information, intention, and parameters to the path planner module of the intelligent server (eg, the path planner module 859 of FIG. 8B).
- the path planner module may be configured to include the plurality of domain information.
- a plurality of pass rules can be generated based on this.
- the intelligent planner's pass planner module may include a first pass rule “message-conversation view (jack) -attach-search-search result (Hawaii) -hawaiian photo-selection-send” for the user input “Send Hawaiian photo to Jack”.
- a second pass rule “gallery-search-search result (Hawaii) -Hawaii picture selection-share via message-send”.
- the intelligent server may transmit the generated first pass rule and second pass rule to the electronic device.
- the electronic device may sequentially execute the state by using one of the first pass rule and the second pass rule received from the intelligent server.
- the electronic device when the states are sequentially performed based on the first pass rule, the electronic device is based on the gallery application and the first pass rule displayed in the first area of the display, which are not activated in the multi-window. It is possible to compare domain information, that is, message application, to perform the first state. As a result of the comparison, if it is determined that the electronic device is different, the electronic device changes the activation window to the first area of the display on which the gallery application is displayed, and then, in the first area, states such as “message-conversation view (jack) -attach-search-search result (Hawaii) -Hawaii photo selection-send ”.
- the electronic device when the state is performed based on the second pass rule, the electronic device firstly displays the gallery application displayed in the first area of the display and the second pass rule that are not activated in the multi-window. Domain information to perform the state, that is, gallery application can be compared. As a result of the comparison, if it is determined to be the same, the electronic device changes the first area of the display on which the gallery application is displayed to the activation window as shown in ⁇ 2330> to ⁇ 2350>, and then displays a state, for example, “gallery” in the second area.
- -search-search result (Hawaii) 2361-Hawaii picture selection 2341-share via message 2351 ” may be sequentially performed.
- the electronic device is a user for the gallery application as shown in FIG. 2360.
- the message application may be executed in the first area of the display where the interface is displayed, and the remaining state of the second pass rule, for example, “send” may be performed (2361).
- the electronic device may display the user interface 2331 according to the message transmission result.
- FIG. 24 is a flowchart illustrating a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- the electronic device may determine that the first application and the second area of the display (eg, the display 420 of FIG. 4) correspond to the first application.
- the second user interface for the first user interface and the second application may be displayed in a multi-window.
- the electronic device may receive a user input for performing a task using the first application and the third application in operation 2420.
- the electronic device may transmit data associated with user input to an external server (eg, intelligent server 850 of FIG. 8B) in operation 2430.
- an external server eg, intelligent server 850 of FIG. 8B
- the electronic device eg, intelligent agent 820 of FIG. 8B
- the electronic device is a sequence of states for performing a task from an external server (eg, intelligent server 850 of FIG. 8B) in operation 2440. It may receive information including the.
- the electronic device may use the third user interface for the third application in the second area of the display based on the sequence of states received in operation 2450. Can be displayed.
- the electronic device eg, the intelligent agent 820 of FIG. 8B
- the user interface may be displayed in the first area of the display.
- 25A to 25C are diagrams for describing a screen control method when there are a plurality of applications to be executed according to a user input received in a multi-window according to various embodiments of the present disclosure.
- an electronic device may include a first area and a first area of a display (eg, the display 420 of FIG. 4) as shown in FIG. 2510.
- the user interface 2511 for the message application and the user interface 2513 for the browser application may be displayed in a multi-window.
- the electronic device may respond to a signal of pressing a hardware key 2515 (eg, the hardware key 813 of FIG. 8A) separately provided in the electronic device, as shown in FIG. 2520.
- a hardware key 2515 eg, the hardware key 813 of FIG. 8A
- the user interface 2521 for performing the voice recognition function may be displayed.
- the electronic device may receive a user input “send Hawaii photo to Jack” from the user interface 2521.
- the electronic device may transmit the user input “send Hawaii photo to Jack” to an intelligent server (eg, intelligent server 850 of FIG. 8B).
- the natural language understanding module of the intelligent server may determine domain information, intention, and parameters based on the user input “send Hawaii photo to Jack”. Can be generated.
- the natural language understanding module of the intelligent server may transmit the generated domain information, intention, and parameters to the path planner module of the intelligent server (eg, the path planner module 859 of FIG. 8B).
- the path planner module when there is a plurality of domain information corresponding to the user input “send Hawaii photo to Jack” generated by the natural language understanding module of the intelligent server, the path planner module is based on the plurality of domain information.
- a plurality of pass rules can be generated.
- the pass planner module of an intelligent server may include a first pass rule “message-conversation view (jack) -attach-search-search result (Hawaii) -hawaiian photo selection-send” for the user input “send Hawaii photo to Jack” and
- the second pass rule “gallery-search-search result (Hawaii) -Hawaii photo selection-share via message-send” may be generated.
- the intelligent server may transmit the generated first pass rule and second pass rule to the electronic device.
- the electronic device may sequentially execute the state by using one of the first pass rule and the second pass rule received from the intelligent server.
- the electronic device when the electronic device performs a sequence of states based on the first pass rule, the message application which is not activated in the multi-window and the domain (application) to execute the first pass rule are the same. Can be determined. Since the message application that is not in the active state among the multi-window and the domain in which the first pass rule is to be executed, that is, the message application is the same, the electronic device changes the first area of the display on which the message application is displayed to the activation window, and then in the first area. For example, a message-conversation view (jack) -attach-search-search result (Hawaii) -Hawaii photo selection-send " can be sequentially performed.
- the electronic device may display a message displayed as a multi-window and domain information to perform the state based on the browser application and the second pass rule, that is, the message. You can compare applications and gallery applications.
- the electronic device may determine a second area of the display on which the browser application, which is not related to the application to perform the state, is displayed, as the area to display the user interface for the application to perform the state, based on the second pass rule.
- the electronic device executes and displays a gallery application in the second area, and states, for example, “gallery-search-search result (Hawaii) 2253 in the second area. ) -Hawaii photo selection 2581-share via message (2551) ”may be sequentially performed.
- the electronic device may display the first area of the display as shown in FIG. 2560.
- the remaining message of the second pass rule for example, “send” may be performed using the displayed message application (2561).
- the electronic device may display the user interface 2551 according to the message transmission result.
- 26 is a flowchart illustrating a method of generating a pass rule for a user input in an intelligent server according to various embodiments of the present disclosure.
- an intelligent server may receive data associated with user input for performing a task from an electronic device (eg, intelligent agent 820 of FIG. 8B) in operation 2610. Can be received.
- the intelligent server eg, intelligent server 850 of FIG. 8B
- the intelligent server generates information including a sequence of states for performing a task through the path planner module (eg, path planner module 856 of FIG. 8B) in operation 2620. Can be sent to the electronic device. Since an operation of generating information including the sequence of states has been described with reference to FIG. 5B, a detailed description thereof will be omitted.
- FIG. 27 is a flowchart illustrating a method of determining a window for displaying an application corresponding to a pass rule of an intelligent server according to various embodiments of the present disclosure.
- an intelligent server may receive data associated with user input for performing a task from an electronic device (eg, intelligent agent 820 of FIG. 8B) in operation 2710. Can be received.
- the intelligent server eg, intelligent server 850 of FIG. 8B
- the intelligent server may analyze data associated with user input received from the electronic device in operation 2720.
- the intelligent server eg, the intelligent server 850 of FIG. 8B
- the user input may include at least one of user speech and touch interaction.
- the intelligent server may determine whether the user input received in operation 2740 is a command executable in an application displayed on the display of the electronic device. Information about a sequence of states corresponding to an application activated or deactivated may be generated on the display of the device.
- the intelligent server eg, intelligent server 850 of FIG. 8B
- 28A to 28E are diagrams for describing a method of determining a window for displaying an application corresponding to a path rule of an intelligent server according to various embodiments of the present disclosure.
- an electronic device eg, the electronic device 810 of FIG. 8B
- the user interface 2811 for the message application and the user interface 2813 for the browser application can be displayed in a multi-window.
- the first area in which the user interface 2811 for the message application is displayed among the user interfaces may be an activation window.
- the electronic device may receive a user input, for example, “delete” 2815.
- the electronic device may transmit the user input “delete” 2815 to an intelligent server (eg, the intelligent server 850 of FIG. 8B).
- the electronic device may transmit window context information to the intelligent server together with the user input.
- the window context information may include information about the number of windows displayed, window information of an active state, information of an application displayed on a window, state information of an application, and input state information of windows (eg, whether an input state is performed using a keypad). It may include.
- the intelligent server determines whether an operation corresponding to the user input “delete” 2815 based on the window context information may be performed in the user interface for the message application displayed in the activation window. You can decide. If possible, the intelligent server may determine a window for performing the user input “delete” 2815 as a user interface for the message application of the first area and transmit it to the electronic device.
- the electronic device may perform an operation 2821 of deleting a message in a window (eg, a user interface for a message application) determined from an intelligent server, as shown in FIG. .
- a window eg, a user interface for a message application
- the electronic device multi-windows a user interface 2831 for a message application and a user interface 2833 for a browser application in each of the first area and the second area of the display as shown in FIG. Can be displayed as
- the second area in which the user interface 2833 for the browser application is displayed among the user interfaces may be an activation window.
- the electronic device may receive a user input, for example, “delete” 2835.
- the electronic device may transmit the user input “delete” 2835 to the intelligent server.
- the electronic device may transmit window context information to the intelligent server together with the user input.
- the intelligent server may further include a user interface for a browser application in which an operation corresponding to the user input “delete” 2835 based on the window context information is displayed in the second area as the activation window. 2833) may be determined. If the operation corresponding to the user input “delete” 2835 cannot be performed in the user interface 2833 for the browser application displayed in the second area as the activation window, the electronic device is in addition to the second area as the activation window. It may be determined whether it may be performed in the user interface 2831 for the message application displayed in another area that is being displayed on the display, for example, in the first area of the inactive window.
- the intelligent server “delete” the user input.
- the window to execute 2815 may be determined by the user interface 2831 for the message application of the first area and transmitted to the electronic device.
- the electronic device may perform an operation 2841 of deleting a message in a window (eg, a user interface for the message application) determined by the intelligent server as shown in FIG. 2840. have.
- a window eg, a user interface for the message application
- the electronic device while performing the deleting operation, may maintain the activation window as the second area as the existing or change to the first area for performing the deleting operation.
- the electronic device after performing the deleting operation, the electronic device maintains the activation window as the first area changed by performing the deleting operation or moves to the second area that was the activation window before performing the deleting operation. You can change it.
- the electronic device multi-windows a user interface 2851 for a message application and a user interface 2853 for a gallery application in each of the first area and the second area of the display, as shown in FIG. 2850.
- the first area in which the user interface 2851 for the message application is displayed among the user interfaces may be an activation window.
- the electronic device may receive a user input, for example, “delete” 2855.
- the electronic device may transmit a user input “delete” 2855 to the intelligent server.
- the electronic device may transmit window context information to the intelligent server together with the user input.
- the intelligent server may be configured to perform operations corresponding to the user input “delete” 2855 based on the window context information for applications displayed in the first area and the second area of the display. It may be determined whether it may be performed in the user interface (2851, 2853). When the operation corresponding to the user input “delete” 2855 can be performed in the user interfaces 2851 and 2853 for the application displayed in the first area and the second area, the intelligent server preferentially activates the activation window. May determine that the user input is to be performed and transmit it to the electronic device.
- the electronic device may delete a message from an activation window determined by the intelligent server, for example, the user interface 2851 for the message application displayed in the first area. 2861).
- the electronic device multi-windows the user interface 2871 for the message application and the user interface 2873 for the gallery application in each of the first area and the second area of the display, as shown in FIG. 2870.
- the first area in which the user interface 2871 for the message application is displayed among the user interfaces may be an activation window.
- the electronic device may receive a user input, for example, “delete a message” (2875).
- the electronic device may transmit a user input “delete message” 2875 to the intelligent server.
- the electronic device may transmit window context information to the intelligent server together with the user input.
- the intelligent server when the intelligent server receives a user input including an object to be deleted (eg, a message), such as the user input “Please delete a message” (2875), the intelligent server may or may not activate the display area.
- the delete command may be preferentially performed in the user interface for the application corresponding to the deletion target.
- the intelligent server may determine whether a user interface for an application corresponding to the “message” to be deleted is displayed on the display in the user input “delete the message” 2875. As described above, since the user interface 2871 for the message application is displayed in the first area, which is the activation window of the display, the intelligent server displays a window for performing user input “delete message” in the first area, which is the activation window of the display. The user interface 2871 for the message application displayed on the screen may be determined and transmitted to the electronic device.
- the electronic device deletes the message from the window determined by the intelligent server (eg, the user interface 2871 for the message application displayed in the first area of the display) as shown in FIG. 2880.
- a command 2901 may be performed.
- the intelligent server may determine whether a user interface for an application corresponding to the “Photo” to be deleted is displayed on the display. As described above, since the user interface 2873 for the gallery application is displayed in the second area, which is the inactive window of the display, the intelligent server selects a window for performing user input “delete photo” in the second area, which is the inactive window of the display. The user interface 2873 for the gallery application displayed on the screen may be determined and transmitted to the electronic device.
- the electronic device may change the activation window from the first area to the second area while performing the operation of deleting the picture.
- the electronic device may maintain the activation window as the second area or change the activation window to the first area which was an existing activation window.
- the electronic device multi-windows a user interface 2891 for a message application and a user interface 2892 for a gallery application in each of the first area and the second area of the display, as shown in FIG. 2890.
- the second area in which the user interface 2892 for the gallery application is displayed among the user interfaces may be an activation window.
- the electronic device may receive a user input, for example, “delete” 2894 and sense a touch interaction 2893 in the second area.
- the electronic device may transmit a user input “delete” 2894 to the intelligent server.
- the electronic device may transmit the window context information and the detected touch interaction 2893 to the intelligent server together with the user input.
- the intelligent server may display a window in which a user interface 2891 for a message application displays a window for performing an operation (eg, a delete command) corresponding to “delete” 2894. , An area in which the touch interaction 2893 is not detected).
- the intelligent server detects a window for performing an operation corresponding to the touch interaction 2893 detected in the second area (eg, the touch interaction 2893 in which the user interface 2892 for the gallery application is displayed). Area).
- the electronic device may correspond to a user input in a first area of a display on which a user interface 2891 for a message application is displayed as shown in FIG. 28 based on a window determined from an intelligent server.
- the delete command 2897 may be performed.
- the electronic device may display an operation corresponding to the touch interaction 2893 in the second area of the display on which the user interface 2892 for the gallery application is displayed, for example, display the user interface 2898 for the gallery application converted to the next picture. Can be.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명의 다양한 실시예들은 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법에 관한 것으로, 본 발명의 다양한 실시예에 따르면, 전자 장치는, 하우징, 상기 하우징 내부에 위치하고, 상기 하우징의 제1 부분을 통하여 노출되는 터치스크린 디스플레이, 상기 하우징 내부에 위치하고, 상기 하우징의 제2 부분을 통하여 노출되는 마이크, 상기 하우징 내부에 위치하고, 상기 하우징의 제3 부분을 통하여 노출되는 적어도 하나의 스피커, 상기 하우징 내부에 위치하는 무선 통신 회로, 상기 하우징 내부에 위치하고, 상기 터치스크린 디스플레이, 상기 마이크, 상기 적어도 하나의 스피커, 및 상기 무선 통신 회로와 전기적으로 연결되는 프로세서, 및 상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램 및 제2 사용자 인터페이스를 포함하는 제2 어플리케이션 프로그램을 저장하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 메모리가 실행될 때 상기 프로세서는, 상기 터치스크린 디스플레이에 상기 제1 사용자 인터페이스를 표시하고, 상기 제1 사용자 인터페이스를 표시하는 동안 상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제2 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고, 상기 무선 통신 회로를 통해 상기 사용자 입력과 연관된 데이터를 외부 서버에 송신하고, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위해 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고, 상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제1 사용자 인터페이스의 일부를 표시하는 동안 상기 터치스크린 디스플레이의 제1 영역에 상기 제2 사용자 인터페이스를 표시하는 인스트럭션들을 포함할 수 있다. 본 발명에 개시된 다양한 실시예들 이외의 다른 다양한 실시예가 가능하다.
Description
본 발명의 다양한 실시예는 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법에 관한 것이다.
최근 음성 인식 기술이 발전함에 따라 음성 입력 장치(예컨대, 마이크)를 구비하는 다양한 전자 장치에서 음성 인식 기능이 구현될 수 있다. 예컨대, 음성 인식 기능을 통해 전자 장치는 사용자가 발화한 음성을 인식할 수 있으며, 발화한 음성에 기반하여 특정 기능을 실행할 수 있다. 이러한 음성 인식 기능은 최근 전자 장치에서 물리적 입력을 대체하고, 음성으로 전자 장치를 제어하기 위해 점점 보편화되고 있다.
하지만, 음성 입력을 통해 전자 장치를 제어하기 위해 사용자는 전자 장치를 활성화시키고, 음성 인식 기능을 활성화시켜야 하며, 음성 정보를 입력해야 하는 다수의 과정을 거쳐야 한다.
또한, 음성 인식 기능 수행으로 사용자가 발화한 음성이 입력되면 해당 동작을 수행하기 위해, 기 수행하고 있던 화면이 사용자 발화에 대응하는 화면으로 대체하여 표시하기 때문에, 사용자는 기 수행하고 있던 화면을 방해 받을 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 음성 인식 기능을 용이하게 수행하는 방법을 제공할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 발화에 대응하는 동작을 수행할 수 있는 화면 제어 기능을 제공할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는, 하우징, 상기 하우징 내부에 위치하고, 상기 하우징의 제1 부분을 통하여 노출되는 터치스크린 디스플레이, 상기 하우징 내부에 위치하고, 상기 하우징의 제2 부분을 통하여 노출되는 마이크, 상기 하우징 내부에 위치하고, 상기 하우징의 제3 부분을 통하여 노출되는 적어도 하나의 스피커, 상기 하우징 내부에 위치하는 무선 통신 회로, 상기 하우징 내부에 위치하고, 상기 터치스크린 디스플레이, 상기 마이크, 상기 적어도 하나의 스피커, 및 상기 무선 통신 회로와 전기적으로 연결되는 프로세서, 및 상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램 및 제2 사용자 인터페이스를 포함하는 제2 어플리케이션 프로그램을 저장하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 메모리가 실행될 때 상기 프로세서는, 상기 터치스크린 디스플레이에 상기 제1 사용자 인터페이스를 표시하고, 상기 제1 사용자 인터페이스를 표시하는 동안 상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제2 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고, 상기 무선 통신 회로를 통해 상기 사용자 입력과 연관된 데이터를 외부 서버에 송신하고, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위해 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고, 상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제1 사용자 인터페이스의 일부를 표시하는 동안 상기 터치스크린 디스플레이의 제1 영역에 상기 제2 사용자 인터페이스를 표시하는 인스트럭션들을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 사용자 입력을 처리하기 위한 화면을 제어하는 방법은, 터치스크린 디스플레이에 제1 사용자 인터페이스를 표시하는 동작, 상기 제1 사용자 인터페이스를 표시하는 동안 상기 터치스크린 디스플레이 또는 마이크 중 적어도 하나를 통해 제2 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작, 무선 통신 회로를 통해 상기 사용자 입력과 연관된 데이터를 외부 서버에 송신하는 동작, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위해 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하는 동작, 및 상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제1 사용자 인터페이스의 일부를 표시하는 동안 상기 터치스크린 디스플레이의 제1 영역에 상기 제2 어플리케이션 프로그램에 대한 제2 사용자 인터페이스를 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 음성 인식 기능을 위한 버튼을 별도로 구비함으로써, 음성 인식 기능을 용이하게 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자가 기 수행하고 있던 화면을 방해 받지 않고 사용자 발화에 대응하는 기능을 수행할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 네트워크 환경 내의 전자 장치를 도시한 도면이다.
도 2는 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 본 발명의 다양한 실시예에 따른 통합 지능화 시스템을 나타낸 블록도이다.
도 5a는 본 발명의 다양한 실시예에 따른 통합 지능화 시스템을 도시한 블록도이다.
도 5b은 본 발명의 다양한 실시예에 따른 자연어 이해 모듈을 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 통합 지능화 시스템의 지능형 서버를 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 패스 플래너 모듈(path planner module)의 패스 룰(path rule)을 생성하는 방법을 나타낸 도면이다.
도 8a는 본 발명의 일 실시예에 따른 전자 장치의 지능형 어플리케이션을 실행시키는 것을 나타낸 도면이다.
도 8b는 본 발명의 다양한 실시예에 따른 통합 지능화 시스템을 도시한 블록도이다.
도 9는 본 발명의 다양한 실시예에 따른 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 11a 및 도 11b는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 13a 및 도 13b는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 15a 및 도 15b는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 흐름도이다.
도 17a 내지 도 17c는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 18은 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 19는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 20은 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 21a 및 도 21b는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 22는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 흐름도이다.
도 23a 내지 도 23c는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 24는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 흐름도이다.
도 25a 내지 도 25c는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 26은 본 발명의 다양한 실시예에 따른 지능형 서버에서 사용자 입력에 대한 패스 룰을 생성하는 방법을 설명하기 위한 흐름도이다.
도 27은 본 발명의 다양한 실시예에 따른 지능형 서버의 패스 룰에 대응하는 어플리케이션을 표시할 윈도우를 결정하는 방법을 설명하기 위한 흐름도이다.
도 28a 내지 도 28e는 본 발명의 다양한 실시예에 따른 지능형 서버의 패스 룰에 대응하는 어플리케이션을 표시할 윈도우를 결정하는 방법을 설명하기 위한 도면이다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제 1," "제 2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(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)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시예들에 따르면, 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에 따르면, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에 따르면, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따르면, 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시예에 따르면, 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 도 1을 참조하면, 전자 장치(101, 102 또는 104) 또는 서버(106)는 네트워크(162) 또는 근거리 통신(164)를 통하여 서로 연결될 수 있다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, 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) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, 근거리 통신(164)을 포함할 수 있다. 근거리 통신(164)은, 예를 들면, WiFi(wireless fidelity), LiFi(light fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(magnetic secure transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(global positioning system), Glonass(global navigation satellite system), Beidou Navigation Satellite System(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도이다.
전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), (가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298)를 포함할 수 있다. 프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))을 포함할 수도 있다. 프로세서(210)는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(220)(예: 통신 인터페이스(170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)을 포함할 수 있다. 셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에 따르면, 전자 장치(예: 전자 장치(201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), API(360)(예: API(145)), 및/또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.
커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 런타임 라이브러리(335), 어플리케이션 매니저(341), 윈도우 매니저(342), 멀티미디어 매니저(343), 리소스 매니저(344), 파워 매니저(345), 데이터베이스 매니저(346), 패키지 매니저(347), 커넥티비티 매니저(348), 노티피케이션 매니저(349), 로케이션 매니저(350), 그래픽 매니저(351), 또는 시큐리티 매니저(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량, 온도, 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 한 실시예에 따르면, 파워 매니저(345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.
다양한 실시예에 따르면, 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체(예: 플롭티컬 디스크)), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따르면, 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다.
다양한 실시예에 따르면, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
일반적으로, 인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다. 인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다. 요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다.
시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다.
추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다.
지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다.
동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
도 4는 본 발명의 다양한 실시예에 따른 통합 지능화 시스템을 나타낸 블록도이다.
도 4를 참조하면, 통합 지능화 시스템(400)은 전자 장치(401), 지능형 서버(470), 개인화 정보 서버(480), 또는 제안 서버(490)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(401)는 하우징을 더 포함할 수 있고, 상기 전자 장치(401)의 구성들은 상기 하우징의 내부에 안착되거나 하우징 상에(on the housing) 위치할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(401)는 상기 전자 장치(401) 내부에 저장된 어플리케이션(application)(또는, 어플리케이션 프로그램(application program)(예컨대, 알람 어플리케이션, 메시지 어플리케이션, 사진(갤러리) 어플리케이션 등)을 통해 사용자에게 필요한 서비스를 제공할 수 있다. 예컨대, 전자 장치(401)는 상기 전자 장치(401) 내부에 저장된 지능형 어플리케이션(또는, 음성 인식 어플리케이션)을 통해 다른 어플리케이션을 실행하고 동작시키기 위한 사용자 입력을 수신할 수 있다. 상기 사용자 입력은, 물리적 버튼, 터치 패드, 음성 입력, 원격 입력 등을 통해 수신될 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(401)는 사용자의 발화를 사용자 입력으로 수신할 수 있다. 전자 장치(401)는 사용자의 발화를 수신하고, 상기 사용자의 발화에 기초하여 어플리케이션을 동작시키는 명령을 생성할 수 있다. 이에 따라, 전자 장치(401)는 상기 명령을 이용하여 상기 어플리케이션을 동작시킬 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버(470)는 통신망을 통해 전자 장치(401)로부터 사용자 입력(예: voice input)을 수신하여 텍스트 데이터(text data)로 변경할 수 있다. 다른 실시예에서는, 지능형 서버(470)는 상기 텍스트 데이터에 기초하여 패스 룰(path rule)을 생성(또는, 선택)할 수 있다. 상기 패스 룰은 어플리케이션의 기능을 수행하기 위한 동작(action)(또는, 오퍼레이션(operation))에 대한 정보 또는 상기 동작을 실행하기 위해 필요한 파라미터에 대한 정보를 포함할 수 있다. 또한, 상기 패스 룰은 상기 어플리케이션의 상기 동작의 순서를 포함할 수 있다. 전자 장치(401)는 상기 패스 룰을 수신하고, 상기 패스 룰에 따라 어플리케이션을 선택하고, 상기 선택된 어플리케이션에서 상기 패스 룰에 포함된 동작을 실행시킬 수 있다.
예컨대, 전자 장치(401)는 상기 동작을 실행하고, 동작을 실행한 전자 장치(401)의 상태에 대응되는 화면을 디스플레이(420)에 표시할 수 있다. 다른 예를 들어, 전자 장치(401)는 상기 동작을 실행하고, 동작을 수행한 결과를 디스플레이(420)에 표시하지 않을 수 있다. 전자 장치(401)는, 예를 들어, 복수의 동작을 실행하고, 상기 복수의 동작의 일부 결과만을 디스플레이(420)에 표시할 수 있다. 전자 장치(401)는, 예를 들어, 마지막 순서의 동작을 실행한 결과만을 디스플레이(420)에 표시할 수 있다. 또 다른 예를 들어, 전자 장치(401)는 사용자의 입력을 수신하여 상기 동작을 실행한 결과를 디스플레이(420)에 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 개인화 정보 서버(480)는 사용자 정보가 저장된 데이터베이스(database)를 포함할 수 있다. 예컨대, 개인화 정보 서버(480)는 전자 장치(401)로부터 사용자 정보(예: 컨텍스트 정보, 어플리케이션 실행 등)를 수신하여 상기 데이터베이스에 저장할 수 있다. 지능형 서버(470)는 통신망을 통해 개인화 정보 서버(480)로부터 상기 사용자 정보를 수신하여 사용자 입력에 대한 패스 룰을 생성하는 경우에 이용할 수 있다. 일 실시예에 따르면, 전자 장치(401)는 통신망을 통해 개인화 정보 서버(480)로부터 사용자 정보를 수신하여 데이터베이스를 관리하기 위한 정보로 이용할 수 있다.
본 발명의 다양한 실시예에 따르면, 제안 서버(490)는 전자 장치(401) 내에 기능 혹은 어플리케이션의 소개, 또는 제공될 기능에 대한 정보가 저장된 데이터베이스를 포함할 수 있다. 예컨대, 제안 서버(490)는 개인화 정보 서버(480)로부터 전자 장치(401)의 사용자 정보를 수신하여 사용자가 사용할 수 있는 기능에 대한 데이터베이스를 포함할 수 있다. 전자 장치(401)는 통신망을 통해 제안 서버(490)로부터 상기 제공될 기능에 대한 정보를 수신하여 사용자에게 제공할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(401)(예컨대, 도 1의 전자 장치(101), 도 2의 전자 장치(201))는 입력 모듈(410)(예컨대, 도 2의 입력 장치(250)), 디스플레이(420)(예컨대, 도 1의 디스플레이(160), 도 2 의 디스플레이(260)), 스피커(430)(예컨대, 도 2의 스피커(282)), 메모리(440)(예컨대, 도 1의 메모리(130), 도 2의 메모리(230)), 또는 프로세서(460)(예컨대, 도 1의 프로세서(120), 도 2의 어플리케이션 프로세서(210))를 포함할 수 있다.
본 발명의 일 실시 예에 따른, 입력 모듈(410)은 사용자로부터 사용자 입력을 수신할 수 있다. 예를 들어, 입력 모듈(410)은 연결된 외부 장치(예: 키보드, 헤드셋)로부터 사용자 입력을 수신할 수 있다. 다른 예를 들어, 입력 모듈(410)은 디스플레이(420)와 결합된 터치 스크린(예: 터치 스크린 디스플레이)을 포함할 수 있다. 또 다른 예를 들어, 입력 모듈(410)은 전자 장치(401)(또는, 사용자 단말(401)의 하우징)에 위치한 하드웨어 키(또는, 물리적 키)를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 입력 모듈(410)은 사용자의 발화를 음성 신호로 수신할 수 있는 마이크(411)를 포함할 수 있다. 예를 들어, 입력 모듈(410)은 발화 입력 시스템(speech input system)을 포함하고, 상기 발화 입력 시스템을 통해 사용자의 발화를 음성 신호로 수신할 수 있다.
본 발명의 일 실시 예에 따른, 디스플레이(420)는 이미지나 비디오, 및/또는 어플리케이션의 실행 화면을 표시할 수 있다. 예를 들어, 디스플레이(420)는 어플리케이션의 그래픽 사용자 인터페이스(graphic user interface)(GUI)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 디스플레이(420)는 복수의 어플리케이션이 실행되는 경우 상기 복수의 어플리케이션에 대한 복수의 사용자 인터페이스를 멀티윈도우, 오버레이, 팝업창 중 적어도 하나의 형태로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 음성 인식 기능을 수행하기 위한 입력이 감지되면, 프로세서(460)의 제어 하에 디스플레이(420)는 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스에서 태스크를 수행하기 위한 사용자 입력이 수신되면, 프로세서(460)의 제어 하에 디스플레이(420)는 텍스트 데이터로 변환된 사용자 입력을 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 디스플레이(420)는 프로세서(460)의 제어 하에 지능형 서버(470)로부터 수신한 사용자 입력에 대응하는 스테이트의 시퀀스에 기초하여 수행된 사용자 인터페이스를 결정된 상기 디스플레이(420)의 윈도우에 표시할 수 있다.
본 발명의 일 실시 예에 따르면, 스피커(430)는 음성 신호를 출력할 수 있다. 예를 들어, 스피커(430)는 전자 장치(401) 내부에서 생성된 음성 신호를 외부로 출력할 수 있다.
본 발명의 다양한 실시예에 따르면, 메모리(440)(예컨대, 도 1의 메모리(130), 도 2의 메모리(230))는 복수의 어플리케이션 프로그램을 저장할 수 있다. 메모리(440)에 저장된 복수의 어플리케이션은 사용자 입력에 따라 선택되어 실행되고 동작할 수 있다. 메모리(440)는 상기 복수의 어플리케이션 프로그램에 대응하는 복수의 사용자 인터페이스를 저장할 수 있다.
본 발명의 다양한 실시예에 따르면, 메모리(440)는 복수의 어플리케이션(441, 443)을 저장할 수 있다. 메모리(440)에 저장된 복수의 어플리케이션(441, 443)은 사용자 입력에 따라 선택되어 실행되고 동작할 수 있다.
일 실시 예에 따르면, 메모리(440)는 사용자 입력을 인식하는데 필요한 정보를 저장할 수 있는 데이터베이스를 포함할 수 있다. 예컨대, 메모리(440)는 로그(log) 정보를 저장할 수 있는 로그 데이터베이스 포함할 수 있다. 다른 예를 들어, 메모리(440)는 사용자 정보를 저장할 수 있는 페르소나 데이터베이스를 포함할 수 있다.
일 실시 예에 따르면, 메모리(440)는 복수의 어플리케이션(441, 443)을 저장하고, 복수의 어플리케이션(441, 443)은 로드되어 동작할 수 있다. 예를 들어, 메모리(440)에 저장된 복수의 어플리케이션(441, 443)은 프로세서(460)의 실행 매니저 모듈(467)에 의해 로드되어 동작할 수 있다. 복수의 어플리케이션(441, 443)은 기능을 수행하는 실행 서비스(441a, 443a) 또는 복수의 동작(또는, 단위 동작)(441b, 443b)을 포함할 수 있다. 실행 서비스(441a, 443a)는 프로세서(460)의 실행 매니저 모듈(467)에 의해 생성되고, 복수의 동작(441b, 443b)을 실행할 수 있다.
일 실시 예에 따르면, 어플리케이션(441, 443)의 동작(441b, 443b)이 실행되었을 때, 동작(441b, 443b)의 실행에 따른 실행 상태 화면은 디스플레이(420)에 표시될 수 있다. 상기 실행 상태 화면은, 예를 들어, 동작(441b, 443b)이 완료된 상태의 화면일 수 있다. 상기 실행 상태 화면은, 다른 예를 들어, 동작(441b, 443b)의 실행이 정지된 상태(partial landing)(예컨대, 동작(441b, 443b)에 필요한 파라미터가 입력되지 않은 경우)의 화면일 수 있다.
일 실시 예에 따른, 실행 서비스(441a, 443a)는 패스 룰에 따라 동작(441b, 443b)을 실행할 수 있다. 예를 들어, 실행 서비스(441a, 443a)는 실행 매니저 모듈(467)에 의해 생성되고, 실행 매니저 모듈(467)로부터 상기 패스 룰에 따라 실행 요청을 수신하고, 상기 실행 요청에 따라 어플리케이션(441, 443)의 동작(441b, 443b)을 실행할 수 있다. 실행 서비스(441a, 443a)는 상기 동작(441b, 443b)의 수행이 완료되면 완료 정보를 실행 매니저 모듈(467)로 송신할 수 있다.
일 실시 예에 따르면, 어플리케이션(441, 443)에서 복수의 동작(441b, 443b)이 실행되는 경우, 복수의 동작(441b, 443b)은 순차적으로 실행될 수 있다. 실행 서비스(441a, 443a)는 하나의 동작(예컨대, 동작 1)의 실행이 완료되면 다음 동작(예컨대, 동작 2)을 오픈하고 완료 정보를 실행 매니저 모듈(467)로 송신할 수 있다. 여기서 임의의 동작을 오픈한다는 것은, 임의의 동작을 실행 가능한 상태로 천이시키거나, 임의의 동작의 실행을 준비하는 것으로 이해될 수 있다. 다시 말해서, 임의의 동작이 오픈되지 않으면, 해당 동작은 실행될 수 없다. 실행 매니저 모듈(467)은 상기 완료 정보가 수신되면 다음 동작(441b, 443b)에 대한 실행 요청을 실행 서비스(예컨대, 동작 2)로 송신할 수 있다. 일 실시 예에 따르면, 복수의 어플리케이션(441, 443)이 실행되는 경우, 복수의 어플리케이션(441, 443)은 순차적으로 실행될 수 있다. 예를 들어, 제1 어플리케이션(441)의 마지막 동작의 실행이 완료되어 완료 정보를 수신하면, 실행 매니저 모듈(467)은 제2 어플리케이션(443)의 첫 번째 동작의 실행 요청을 실행 서비스(443a)로 송신할 수 있다.
일 실시 예에 따르면, 어플리케이션(441, 443)에서 복수의 동작(441b, 443b)이 실행된 경우, 상기 실행된 복수의 동작(441b, 443b) 각각의 실행에 따른 결과 화면은 디스플레이(420)에 표시될 수 있다. 일 실시 예에 따르면, 상기 실행된 복수의 동작(441b, 443b)의 실행에 따른 복수의 결과 화면 중 일부만 디스플레이(420)에 표시될 수 있다.
일 실시 예에 따르면, 메모리(440)는 지능형 에이전트(461)와 연동된 지능형 어플리케이션(예컨대, 음성 인식 어플리케이션)을 저장할 수 있다. 지능형 에이전트(461)와 연동된 어플리케이션은 사용자의 발화를 음성 신호로 수신하여 처리할 수 있다. 일 실시 예에 따르면, 지능형 에이전트(461)와 연동된 어플리케이션은 입력 모듈(410)을 통해 입력되는 특정 입력(예컨대, 하드웨어 키를 통한 입력, 터치 스크린을 통한 입력, 특정 음성 입력)에 의해 동작될 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(460)는 전자 장치(401)의 전반적인 동작 및 전자 장치(401)의 내부 구성들 간의 신호 흐름을 제어하고, 데이터 처리를 수행하고, 배터리에서 상기 구성들로의 전원 공급을 제어할 수 있다. 예컨대, 프로세서(460)는 입력 모듈(410)을 제어하여 사용자 입력을 수신할 수 있다. 프로세서(460)는 디스플레이(420)를 제어하여 이미지를 표시할 수 있다. 프로세서(460)는 스피커(430)를 제어하여 음성 신호를 출력할 수 있다. 프로세서(460)는 메모리(440)를 제어하여 필요한 정보를 불러오거나 저장할 수 있다.
일 실시예에 따르면, 프로세서(460)는 지능형 에이전트(461), 지능형 서비스 모듈(463), 또는 실행 매니저 모듈(467)을 포함할 수 있다. 일 실시예에서, 프로세서(460)는 메모리(440)에 저장된 명령어들을 실행하여 지능형 에이전트(461), 지능형 서비스 모듈(463), 또는 실행 매니저 모듈(467)을 구동시킬 수 있다. 본 발명의 다양한 실시예에서 언급되는 여러 모듈들은 하드웨어로 구현될 수도 있고, 소프트웨어로 구현될 수도 있다. 본 발명의 다양한 실시예에서 지능형 에이전트(461), 지능형 서비스 모듈(463), 또는 실행 매니저 모듈(467)에 의해 수행되는 동작은 프로세서(460)에 의해 수행되는 동작으로 이해될 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(460)는 디스플레이(420)에 어플리케이션 실행에 따른 사용자 인터페이스를 표시할 수 있다. 예컨대, 프로세서(460)는 복수의 어플리케이션이 실행되는 경우 상기 복수의 어플리케이션에 대한 복수의 사용자 인터페이스를 멀티윈도우, 오버레이, 팝업창 중 적어도 하나의 형태로 디스플레이(420)에 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(460)는 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다. 예컨대, 상기 사용자 입력은 음성 인식 기능을 통해 특정 어플리케이션을 이용하여 태스크를 수행하기 위한 입력일 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 사용자 입력으로 수신된 음성 신호에 기초하여 어플리케이션을 동작시키는 명령을 생성할 수 있다. 예컨대, 상기 사용자 입력은 디스플레이(420)에 표시된 어플리케이션(단일 어플리케이션 또는 복수의 어플리케이션)을 이용하여 태스크를 수행하기 위한 사용자 입력, 상기 디스플레이에 표시된 어플리케이션과 상이한 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 포함할 수 있다.
일 실시예에 따른, 실행 매니저 모듈(467)은 지능형 에이전트(461)로부터 상기 생성된 명령을 수신하여 메모리(440)에 저장된 어플리케이션(441, 443)을 선택하여 실행시키고 동작시킬 수 있다. 일 실시예에 따르면, 지능형 서비스 모듈(461)은 사용자의 정보를 관리하여 사용자 입력을 처리하는데 이용할 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 입력 모듈(410)을 통해 수신된 사용자 입력을 지능형 서버(470)로 송신하여 처리할 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 상기 사용자 입력을 지능형 서버(470)로 송신하기 전에, 상기 사용자 입력을 전처리할 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)는 상기 사용자 입력을 전처리하기 위하여, 적응 반향 제거(adaptive echo canceller)(AEC) 모듈, 노이즈 억제(noise suppression)(NS) 모듈, 종점 검출(end-point detection)(EPD) 모듈 또는 자동 이득 제어(automatic gain control)(AGC) 모듈을 포함할 수 있다. 상기 적응 반향 제거 모듈은 상기 사용자 입력에 포함된 에코(echo)를 제거할 수 있다. 상기 노이즈 억제 모듈은 상기 사용자 입력에 포함된 배경 잡음을 억제할 수 있다. 상기 종점 검출 모듈은 상기 사용자 입력에 포함된 사용자 음성의 종점을 검출하여 사용자의 음성이 존재하는 부분을 찾을 수 있다. 상기 자동 이득 제어 모듈은 상기 사용자 입력을 인식하여 처리하기 적합하도록 상기 사용자 입력의 음량을 조절할 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)는 성능을 위하여 상기 전처리 구성을 전부 포함할 수 있지만, 다른 실시예에서 지능형 에이전트(461)는 저전력으로 동작하기 위해 상기 전처리 구성 중 일부를 포함할 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 사용자의 호출을 인식하는 웨이크 업(wake up) 인식 모듈을 포함할 수 있다. 상기 웨이크 업 인식 모듈은 음성 인식 모듈을 통해 사용자의 웨이크 업 명령을 인식할 수 있고, 상기 웨이크 업 명령을 수신한 경우 사용자 입력을 수신하기 위해 지능형 에이전트(461)를 활성화시킬 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)의 웨이크 업 인식 모듈은 저전력 프로세서(예컨대, 오디오 코덱에 포함된 프로세서)에서 구현될 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)는 하드웨어 키를 통한 사용자 입력에 따라 활성화될 수 있다. 지능형 에이전트(461)가 활성화되는 경우, 상기 지능형 에이전트(461)와 연동된 지능형 어플리케이션(예컨대, 음성 인식 어플리케이션)이 실행될 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 사용자 입력을 실행하기 위한 음성 인식 모듈을 포함할 수 있다. 상기 음성 인식 모듈은 어플리케이션에서 동작을 실행하도록 하기 위한 사용자 입력을 인식할 수 있다. 예컨대, 상기 음성 인식 모듈은 어플리케이션(441, 443)에서 상기 웨이크 업 명령과 같은 동작을 실행하는 제한된 사용자 (음성) 입력(예컨대, 카메라 어플리케이션이 실행 중일 때 촬영 동작을 실행시키는 “찰칵”과 같은 발화 등)을 인식할 수 있다. 상기 지능형 서버(470)를 보조하여 사용자 입력을 인식하는 음성 인식 모듈은, 예를 들어, 전자 장치(401) 내에서 처리할 수 있는 사용자 명령을 인식하여 빠르게 처리할 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)의 사용자 입력을 실행하기 위한 음성 인식 모듈은 어플리케이션 프로세서에서 구현될 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)의 음성 인식 모듈(웨이크 업 모듈의 음성 인식 모듈을 포함)은 음성을 인식하기 위한 알고리즘을 이용하여 사용자 입력을 인식할 수 있다. 상기 음성을 인식하기 위해 사용되는 알고리즘은, 예를 들어, HMM(hidden markov model) 알고리즘, ANN(artificial neural network) 알고리즘 또는 DTW(dynamic time warping) 알고리즘 중 적어도 하나일 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 사용자의 음성 입력을 텍스트 데이터로 변환할 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)는 사용자의 음성을 지능형 서버로(470)로 전달하여, 변환된 텍스트 데이터를 수신할 수 있다. 이에 따라, 지능형 에이전트(461)는 상기 텍스트 데이터를 디스플레이(420)에 표시할 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 지능형 서버(470)로부터 송신한 패스 룰을 수신할 수 있다. 일 실시예에 따르면, 지능형 에이전트(461)은 상기 패스 룰을 실행 매니저 모듈(467)로 송신할 수 있다.
일 실시예에 따르면, 지능형 에이전트(461)는 지능형 서버(470)로부터 수신된 패스 룰에 따른 실행 결과 로그(log)를 지능형 서비스(intelligence service) 모듈(463)로 송신하고, 상기 송신된 실행 결과 로그는 페르소나 모듈(persona module)(465)의 사용자의 선호(preference) 정보에 누적되어 관리될 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(460)는 지능형 서버(470)로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다. 프로세서(460)는 상기 수신한 스테이트의 시퀀스에 기초하여 수행된 태스크에 대한 사용자 인터페이스를 표시할 디스플레이(420)의 윈도우를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(460)는 윈도우 컨텍스트 정보를 이용하여 상기 스테이트의 시퀀스에 기초하여 수행된 태스크에 대한 사용자 인터페이스를 표시할 윈도우를 결정할 수 있다. 예컨대, 상기 윈도우 컨텍스트 정보는 현재 실행 중인 어플리케이션, 실행 중인 어플리케이션에 대한 사용자 인터페이스가 표시된 윈도우의 활성화 여부(active or not), 실행 중인 어플리케이션에 대한 사용자 인터페이스가 입력 특성을 가지는지 여부를 포함할 수 있다. 프로세서(460)는 결정된 윈도우에 수행된 태스크에 대한 사용자 인터페이스를 표시할 수 있다.
일 실시예에 따른, 실행 매니저 모듈(467)은 지능형 에이전트(461)로부터 패스 룰을 수신하여 어플리케이션(441, 443)을 실행시키고, 상기 어플리케이션(441, 443)이 상기 패스 룰에 포함된 동작(441b, 443b)을 실행하도록 할 수 있다. 예를 들어, 실행 매니저 모듈(467)은 어플리케이션(441, 443)으로 동작(441b, 443b)을 실행하기 위한 명령 정보를 송신할 수 있고, 상기 어플리케이션(441, 443)으로부터 동작(441b, 443b)의 완료 정보를 수신할 수 있다.
일 실시예에 따르면, 실행 매니저 모듈(467)은 지능형 에이전트(461)와 어플리케이션(441, 443)의 사이에서 어플리케이션(441, 443)의 동작(441b, 443b)을 실행하기 위한 명령 정보를 송수신할 수 있다. 실행 매니저 모듈(467)은 상기 패스 룰에 따라 실행할 어플리케이션(441, 443)을 바인딩(binding)하고, 상기 패스 룰에 포함된 동작(441b, 443b)의 명령 정보를 어플리케이션(441, 443)으로 송신할 수 있다. 예를 들어, 실행 매니저 모듈(467)은 상기 패스 룰에 포함된 동작(441b, 443b)을 순차적으로 어플리케이션(441, 443)으로 송신하여, 어플리케이션(441, 443)의 동작(441b, 443b)을 상기 패스 룰에 따라 순차적으로 실행시킬 수 있다.
일 실시예에 따르면, 실행 매니저 모듈(467)은 어플리케이션(441, 443)의 동작(441b, 443b)의 실행 상태를 관리할 수 있다. 예를 들어, 실행 매니저 모듈(467)은 어플리케이션(441, 443)으로부터 상기 동작(441b, 443b)의 실행 상태에 대한 정보를 수신할 수 있다. 상기 동작(441b, 443b)의 실행 상태가, 예를 들어, 정지된 상태(partial landing)인 경우(예: 동작(441b, 443b)에 필요한 파라미터가 입력되지 않은 경우), 실행 매니저 모듈(467)은 상기 정지된 상태에 대한 정보를 지능형 에이전트(461)로 송신할 수 있다. 지능형 에이전트(461)는 상기 수신된 정보를 이용하여, 사용자에게 필요한 정보(예컨대, 파라미터 정보)의 입력을 요청할 수 있다. 상기 동작(441b, 443b)의 실행 상태가, 다른 예를 들어, 동작 상태인 경우에 사용자로부터 발화를 수신할 수 있고, 실행 매니저 모듈(467)은 상기 실행되고 있는 어플리케이션(441, 443) 및 어플리케이션(441, 443)의 실행 상태에 대한 정보를 지능형 에이전트(461)로 송신할 수 있다. 지능형 에이전트(461)는 지능형 서버(470)를 통해 상기 사용자의 발화의 파라미터 정보를 수신할 수 있고, 상기 수신된 파라미터 정보를 실행 매니저 모듈(467)로 송신할 수 있다. 실행 매니저 모듈(467)은 상기 수신한 파라미터 정보를 이용하여 동작(441b, 443b)의 파라미터를 새로운 파라미터로 변경할 수 있다.
일 실시예에 따르면, 실행 매니저 모듈(467)은 패스 룰에 포함된 파라미터 정보를 어플리케이션(441, 443)로 전달할 수 있다. 상기 패스 룰에 따라 복수의 어플리케이션(441, 443)이 순차적으로 실행되는 경우, 실행 매니저 모듈(467)은 하나의 어플리케이션에서 다른 어플리케이션으로 패스 룰에 포함된 파라미터 정보를 전달할 수 있다.
일 실시예에 따르면, 실행 매니저 모듈(467)은 복수의 패스 룰을 수신할 수 있다. 실행 매니저 모듈(467)은 사용자의 발화에 기초하여 복수의 패스 룰이 선택될 수 있다. 예를 들어, 실행 매니저 모듈(467)은 사용자의 발화가 일부 동작(441b)을 실행할 일부 어플리케이션(441)을 특정하였지만, 나머지 동작(443b)을 실행할 다른 어플리케이션(443)을 특정하지 않은 경우, 일부 동작(441b)을 실행할 동일한 어플리케이션(441)(예컨대, 갤러리 어플리케이션)이 실행되고 나머지 동작(443b)를 실행할 수 있는 서로 다른 어플리케이션(443)(예컨대, 메시지 어플리케이션, 텔레그램 어플리케이션)이 각각 실행되는 서로 다른 복수의 패스 룰을 수신할 수 있다. 실행 매니저 모듈(467)은, 예를 들어, 상기 복수의 패스 룰의 동일한 동작(441b, 443b)(예컨대, 연속된 동일한 동작(441b, 443b))을 실행할 수 있다. 실행 매니저 모듈(467)은 상기 동일한 동작까지 실행한 경우, 상기 복수의 패스 룰에 각각 포함된 서로 다른 어플리케이션(441, 443)을 선택할 수 있는 상태 화면을 디스플레이(420)에 표시할 수 있다.
일 실시예에 따르면, 지능형 서비스 모듈(463)은 컨텍스트 모듈(464), 페르소나 모듈(465), 또는 제안 모듈(466)을 포함할 수 있다.
컨텍스트 모듈(464)은 어플리케이션(441, 443)으로부터 어플리케이션(441, 443)의 현재 상태를 수집할 수 있다. 예컨대, 컨텍스트 모듈(464)은 어플리케이션(441, 443)의 현재 상태를 나타내는 컨텍스트 정보를 수신하여 어플리케이션(441, 443)의 현재 상태를 수집할 수 있다.
페르소나 모듈(465)은 전자 장치(401)를 사용하는 사용자의 개인 정보를 관리할 수 있다. 예컨대, 페르소나 모듈(465)은 전자 장치(401)의 사용 정보 및 수행 결과를 수집하여 사용자의 개인 정보를 관리할 수 있다.
제안 모듈(466)은 사용자의 의도를 예측하여 사용자에게 명령을 추천해줄 수 있다. 예컨대, 제안 모듈(466)은 사용자의 현재 상태(예컨대, 시간, 장소, 상황, 어플리케이션)을 고려하여 사용자에게 명령을 추천해줄 수 있다.
본 발명의 다양한 실시예 따르면, 지능형 서버(470)는 전자 장치(401)의 프로세서(460)로부터 수신된 사용자 입력에 대응하는 태스크를 수행하기 위한 스테이트의 시퀀스를 생성하고, 상기 생성된 스테이트 시퀀스를 상기 전자 장치(401)에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 스테이트는 적어도 하나의 어플리케이션의 기능을 수행하기 위한 적어도 하나의 동작(action)(또는, 오퍼레이션(operation))을 포함할 수 있다.
전술한 지능형 서버(470)와 관련하여, 도 5a에서 상세히 살펴보도록 하겠다.
도 5a는 본 발명의 다양한 실시예에 따른 통합 지능화 시스템을 도시한 블록도이다.
도 5a를 참조하면, 전자 장치(500)(예컨대, 도 4의 전자 장치(401))의 프로세서(예컨대, 도 4의 프로세서(460))는 지능형 서비스 모듈(510)(예컨대, 도 4의 지능형 서비스 모듈(463)), 지능형 에이전트(521)(예컨대, 도 4의 지능형 에이전트(461)), 실행 매니저(execution manager) 모듈(523)(예컨대, 도 4의 실행 매니저 모듈(467)), 어플리케이션(application)(525), 프레임워크(framework)(527), 또는 윈도우 선택(window selection) 모듈(530)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 에이전트(521)는 사용자 입력 예컨대, 사용자 발화를 수신하여 지능형 서버(550)(예컨대, 도 4의 지능형 서버(470))로 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서비스 모듈(510)은 컨텍스트(context) 모듈(511), 페르소나 매니저(persona manager) 모듈(513), 또는 제안(suggestion) 모듈(515)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 컨텍스트 모듈(511)은 지능형 에이전트(521)로부터 컨텍스트 요청을 수신하면, 어플리케이션(525)(예컨대, 도 4의 제1 어플리케이션(441), 제2 어플리케이션(443))에 상기 어플리케이션(525)(예컨대, 441, 443)의 현재 상태를 나타내는 컨텍스트 정보를 요청할 수 있다. 일 실시예에 따르면, 컨텍스트 모듈(511)은 어플리케이션(525)(예컨대, 441, 443)으로부터 상기 컨텍스트 정보를 수신하여 지능형 에이전트(521)로 송신할 수 있다.
일 실시예에 따르면, 컨텍스트 모듈(511)은 어플리케이션(525)(예컨대, 441, 443)을 통해 복수의 컨텍스트 정보를 수신할 수 있다. 예를 들어, 상기 컨텍스트 정보는 가장 최근 실행된 어플리케이션(예컨대, 441, 443)에 대한 정보일 수 있다. 다른 예를 들어, 상기 컨텍스트 정보는 어플리케이션(525)(예컨대, 441, 443) 내의 현재 상태에 대한 정보(예컨대, 갤러리에서 사진을 보고 있는 경우, 해당 사진에 대한 정보)일 수 있다.
일 실시예에 따르면, 컨텍스트 모듈(511)은 어플리케이션(525)(예컨대, 441, 443)뿐만 아니라, 디바이스 플랫폼(device platform)으로부터 전자 장치(500)의 현재 상태를 나타내는 컨텍스트 정보를 수신할 수 있다. 상기 컨텍스트 정보는 일반적 컨텍스트 정보, 사용자 컨텍스트 정보, 또는 장치 컨텍스트 정보를 포함할 수 있다.
상기 일반적 컨텍스트 정보는 전자 장치(500)의 일반적인 정보를 포함할 수 있다. 상기 일반적 컨텍스트 정보는 디바이스 플랫폼의 센서 허브 등을 통해 데이터를 받아서 내부 알고리즘을 통해 확인될 수 있다. 예를 들어, 상기 일반적 컨텍스트 정보는 현재 시공간에 대한 정보를 포함할 수 있다. 상기 현재 시공간에 대한 정보는, 예를 들어, 현재 시간 또는 전자 장치(500)의 현재 위치에 대한 정보를 포함할 수 있다. 상기 현재 시간은 전자 장치(500) 상에서의 시간을 통해 확인될 수 있고, 상기 현재 위치에 대한 정보는 GPS(global positioning system)를 통해 확인될 수 있다. 다른 예를 들어, 상기 일반적 컨텍스트 정보는 물리적 움직임에 대한 정보를 포함할 수 있다. 상기 물리적 움직임에 대한 정보는, 예를 들어, 걷기, 뛰기, 운전 중 등에 대한 정보를 포함할 수 있다. 상기 물리적 움직임 정보는 모션 센서(motion sensor)를 통해 확인될 수 있다. 상기 운전 중에 대한 정보는 상기 모션 센서를 통해 운행을 확인할 수 있을 뿐만 아니라, 차량 내의 블루투스 연결을 감지하여 탑승 및 주차를 확인할 수 있다. 또 다른 예를 들어, 상기 일반적 컨텍스트 정보는 사용자 활동 정보를 포함할 수 있다. 상기 사용자 활동 정보는, 예를 들어, 출퇴근, 쇼핑, 여행 등에 대한 정보를 포함할 수 있다. 상기 사용자 활동 정보는 사용자 또는 어플리케이션이 데이터베이스에 등록한 장소에 대한 정보를 이용하여 확인될 수 있다.
상기 사용자 컨텍스트 정보는 사용자에 대한 정보를 포함할 수 있다. 예를 들어, 상기 사용자 컨텍스트 정보는 사용자의 감정적 상태에 대한 정보를 포함할 수 있다. 상기 감정적 상태에 대한 정보는, 예를 들어, 사용자의 행복, 슬픔, 화남 등에 대한 정보를 포함할 수 있다. 다른 예를 들어, 상기 사용자 컨텍스트 정보는 사용자의 현재 상태에 대한 정보를 포함할 수 있다. 상기 현재 상태에 대한 정보는, 예를 들어, 관심, 의도 등(예컨대, 쇼핑)에 대한 정보를 포함할 수 있다.
상기 장치 컨텍스트 정보는 전자 장치(500)의 상태에 대한 정보를 포함할 수 있다. 예를 들어, 상기 장치 컨텍스트 정보는 실행 매니저 모듈(523)이 실행한 패스 룰에 대한 정보를 포함할 수 있다. 다른 예를 들어, 상기 전자 장치(500)의 상태에 대한 정보는 배터리에 대한 정보를 포함할 수 있다. 상기 배터리에 대한 정보는, 예를 들어, 상기 배터리의 충전 및 방전 상태를 통해 확인될 수 있다. 또 다른 예를 들어, 상기 전자 장치(500)의 상태에 대한 정보는 연결된 장치 및 네트워크에 대한 정보를 포함할 수 있다. 상기 연결된 장치에 대한 정보는, 예를 들어, 상기 장치가 연결된 통신 인터페이스를 통해 확인될 수 있다.
본 발명의 다양한 실시예에 따르면, 컨텍스트 모듈(511)은 전자 장치(500)의 프레임워크(527)로부터 현재 디스플레이(예컨대, 도 4의 디스플레이(420))에 표시된 윈도우에 대한 윈도우 컨텍스트 정보(windows context information)를 더 획득할 수 있다.
본 발명의 다양한 실시예에 따르면, 윈도우 컨텍스트 정보는 디스플레이에 표시된 윈도우의 개수 정보, 활성화 상태의 윈도우 정보, 윈도우에 표시된 어플리케이션의 정보, 어플리케이션의 상태(state) 정보, 및 윈도우들의 입력 상태 정보(예컨대, 키패드를 이용한 입력 상태 여부) 등을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 윈도우 컨텍스트 정보는 지능형 에이전트(521), 실행 매니저 모듈(523), 또는 지능형 서버(550) 내의 자연어 이해(NLU: natural language understanding) 모듈(563), 패스 플래너(path planner) 모듈(569)에서 수신되는 사용자 입력 예컨대, 발화에 대응하는 동작을 수행할 윈도우를 결정하는 데 사용될 수 있다.
본 발명의 다양한 실시예에 따르면, 페르소나 매니저 모듈(513) 및 제안 모듈(515)은 도 4의 페르소나 모듈(465) 및 제안 모듈(466)과 동일하므로 상세한 설명은 생략하도록 한다.
본 발명의 다양한 실시예에 따르면, 윈도우 선택 모듈(530)은 지능형 서버(550)로부터 수신된 패스 룰(path rule)에 기초하여 태스크를 수행할 도메인(어플리케이션) 정보와 윈도우 컨텍스트 정보 중 활성화 상태의 윈도우 정보를 비교할 수 있다. 비교 동작을 통해 윈도우 선택 모듈(530)은 사용자 입력(예컨대, 발화)에 대응하는 태스크를 수행할 윈도우를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버(550)는 자동 음성 인식(ASR: automatic speech recognition) 모듈(561), 자연어 이해(NLU: natural language understanding) 모듈(563), 자연어 생성(NLG: natural language generator) 모듈(565), 텍스트 음성 변환(TTS: text to speech) 모듈(567), 또는 패스 플래너(path planner) 모듈(569)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 자동 음성 인식 모듈(561)은 전자 장치(500)로부터 수신된 사용자 입력(예컨대, 발화(utterance))을 텍스트 데이터로 변환할 수 있다. 자동 음성 인식 모듈(561)은 상기 텍스트 데이터를 자연어 이해 모듈(563)로 전달할 수 있다.
본 발명의 다양한 실시예에 따르면, 자연어 이해 모듈(563)은 문법적 분석(syntactic analyze) 및 의미적 분석(semantic analyze)을 수행하여 사용자 입력에 대한 사용자 의도를 파악할 수 있다. 자연어 이해 모듈(563)은 사용자 입력을 분석하여 상기 사용자 입력이 어느 도메인(domain), 의도(intent) 및 상기 의도를 표현하는데 필요한 슬롯(slot)(예컨대, 파라미터(parameter))를 획득할 수 있다. 예컨대, 자연어 이해 모듈(563)은 규칙 기반 알고리즘에 포함된 매칭 규칙을 이용하여 도메인, 의도, 및 슬롯을 각각의 케이스에 매칭시켜 사용자의 의도를 파악할 수 있다.
상기 자연어 이해 모듈(563)과 관련하여, 도 5b에서 상세히 살펴보도록 하겠다.
본 발명의 다양한 실시예에 따르면, 패스 플래너 모듈(569)은 자연어 이해 모듈(563)로부터 파악된 사용자의 의도를 이용하여 패스 룰을 생성(또는, 선택)할 수 있다. 상기 패스 룰은 하나의 어플리케이션에 대한 복수의 동작을 포함하거나, 복수의 어플리케이션에 대한 복수의 동작을 포함할 수 있다. 상기 패스 룰은 사용자 입력의 의도에 따른 실행 순서를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 자연어 생성 모듈(565)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태는 자연어 발화의 형태일 수 있다. 예컨대, 상기 지정된 정보는 추가 입력을 위한 정보, 동작 완료를 안내하는 정보 등을 포함할 수 있다. 상기 텍스트 형태로 변경된 정보는 전자 장치(500)로 송신되어 디스플레이에 표시되거나, 텍스트 음성 변환 모듈(567)로 송신되어 음성 형태로 변경될 수 있다.
본 발명의 다양한 실시예에 따르면, 텍스트 음성 변환 모듈(567)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(567)은 자연어 생성 모듈(565)로부터 텍스트 형태의 정보를 수신하고, 상기 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 전자 장치(500)로 송신할 수 있다. 전자 장치(500)는 상기 음성 형태의 정보를 스피커(예컨대, 도 4의 스피커(430))로 출력할 수 있다.
도 5b는 본 발명의 다양한 실시예에 따른 자연어 이해 모듈을 도시한 블록도이다.
도 5b를 참조하면, 자연어 이해 모듈(예컨대, 도 5a의 자연어 이해 모듈(563))은 도메인 구분(domain classifier) 모듈(571), 의도 구분(intent classifier) 모듈(573), 및 슬롯 태거(slot tagger)(575)(예컨대, 파라미터)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 자연어 이해 모듈(563)은 도메인, 의도, 및 슬롯으로 나누어진 매칭 규칙을 이용하여 사용자의 의도를 파악할 수 있다. 자연어 이해 모듈(563)은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 룰에 매칭시켜 사용자의 의도를 파악할 수 있다. 예컨대, 자연어 이해 모듈(563)은 각각의 도메인 및 의도에 포함된 룰들에 대한 정보를 이용하여, 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는지를 계산하여 사용자 의도를 파악할 수 있다.
본 발명의 다양한 실시예에 따르면, 사용자 발화가 수신되면, 자동 음성 인식 모듈(예컨대, 도 5a의 자동 음성 인식 모듈(561))은 상기 사용자 발화를 인식할 수 있다. 자연어 이해 모듈(563)의 도메인 구분 모듈(571)은 상기 인식된 발화에 대응하는 태스크를 어떤 어플리케이션(또는, 어플리케이션의 카테고리)에서 수행할지 결정할 수 있다. 의도 구분 모듈(573)은 발화의 의도를 파악할 수 있으며, 슬롯 태거(575)는 각각의 파라미터(예컨대, 슬롯)가 패스 룰의 어느 부분에서 사용되는지 태깅 동작을 수행할 수 있다. 상기 동작들은 동시에 일어날 수도 있으며, 하나의 액션으로 처리될 수 있다.
본 발명의 다양한 실시예에 따르면, 자연어 이해 모듈(563)은 룰 기반의 자연어 이해 또는 딥(deep) 자연어 이해를 기반으로 사용자의 발화를 학습할 수 있다. 예컨대, 사용자로부터 발화 “하와이 사진 찾아줘”를 수신한 경우, 자연어 이해 모듈(563)은 도메인: 갤러리, 의도: 사진 찾기(gallery_rule2), 슬롯: 하와이 사진(location@searchviewresult)으로 태깅 동작을 수행할 수 있다. 자연어 이해 모듈(563)은 관련된 패스 룰을 패스 룰 데이터베이스에서 검색하여 searchviewresult에 해당하는 위치 파라미터(location parameter)에 하와이를 추가하고, 해당 패스 룰을 전자 장치(500)에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 딥 자연어 이해를 이용하는 경우 자연어 이해 모듈(563)은 학습을 통해 개념을 형성함으로써 발화의 변화를 처리할 수 있다. 이에 따라, 딥 자연어 이해를 이용하는 경우 사용자가 발화한 내용이 정확하게 매핑되는 룰이 없을 경우에도 처리 가능할 수 있다.
본 발명의 다양한 실시예에 따르면, 룰 기반 자연어 이해를 이용하는 경우, 자연어 이해 모듈(563)은 각 룰에 해당하는 발화들을 입력하고 사용자 발화와 상기 해당하는 발화들이 매칭되는지 결정하여 의도를 결정하고, 해당 의도에 맞는 패스 룰을 획득할 수 있다. 자연어 이해 모듈(563)은 사용자 발화를 저장한 발화 패턴들에 정확히 일치할 때까지 매칭하는 동작을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 사용자 발화(입력)는 전자 장치(500)에서 실행 중인 어플리케이션들과 연관되어 있을 가능성이 높다. 이에 기초하여 자연어 이해 모듈(563)은 상기 전자 장치(500)로부터 수신한 윈도우 컨텍스트 정보에 기초하여 디스플레이에 표시된 도메인과 관련된 발화 패턴부터 매칭하는 동작을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 윈도우 컨텍스트 정보는 어플리케이션에 대한 우선순위 정보를 포함할 수 있다. 예컨대, 자연어 이해 모듈(563)은 디스플레이의 활성화 윈도우에 표시된 어플리케이션에 가장 높은 우선순위를 부여할 수 있다. 자연어 이해 모듈(563)은 음성 인식 기능으로 실행된 윈도우에 표시된 어플리케이션에 우선순위를 부여할 수 있다. 자연어 이해 모듈(563)은 가장 최근에 실행된 윈도우에 표시된 어플리케이션에 우선순위를 부여할 수 있다. 자연어 이해 모듈(563)은 해당 발화가 다수의 발화 패턴과 매칭된다고 판단한 경우, 디스플레이의 윈도우들에 표시된 도메인에 속한 발화 패턴에 우선순위를 부여할 수 있다.
본 발명의 다양한 실시예에 따르면, 딥 자연어 이해를 이용하는 경우 발화된 문장에서 다수의 의도와 연관이 있다고 판단되면, 자연어 이해 모듈(563)은 디스플레이의 윈도우들에 표시된 도메인에 속한 발화 패턴으로 해석할 수 있도록 제어할 수 있다.
도 6은 본 발명의 일 실시예에 따른 통합 지능화 시스템의 지능형 서버를 나타낸 블록도이다.
도 6을 참조하면, 지능형 서버(610)(예컨대, 도 5a의 지능형 서버(550))는 자동 음성 인식 모듈(620)(예컨대, 도 5a의 자동 음성 인식 모듈(561)), 자연어 이해 모듈(630)(예컨대, 도 5a의 자연어 이해 모듈(563)), 패스 플래너 모듈(640)(예컨대, 도 5a의 패스 플래너 모듈(569)), 대화 매니저(dialogue manager)(DM) 모듈(650), 자연어 생성 모듈(660)(예컨대, 도 5a의 자연어 생성 모듈(565)), 또는 텍스트 음성 변환 모듈(670)(예컨대, 도 5a의 텍스트 음성 변환 모듈(567))을 포함할 수 있다.
지능형 서버(610)의 자연어 이해 모듈(630) 또는 패스 플래너 모듈(640)은 패스 룰(path rule)을 생성할 수 있다.
일 실시예에 따르면, 자동 음성 인식(automatic speech recognition)(ASR) 모듈(620)은 전자 장치(600)(예컨대, 도 5a의 전자 장치(500))로부터 수신된 사용자 입력을 텍스트 데이터로 변환할 수 있다.
일 실시예에 따르면, 자동 음성 인식 모듈(620)은 전자 장치(600)로부터 수신된 사용자 입력을 텍스트 데이터로 변환할 수 있다. 예를 들어, 자동 음성 인식 모듈(620)은 발화 인식 모듈을 포함할 수 있다. 상기 발화 인식 모듈은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 예를 들어, 상기 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 상기 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 상기 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화를 텍스트 데이터로 변환할 수 있다. 상기 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)(621)에 저장될 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 상기 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 상기 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 상기 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈(630)은 사용자 입력이 어느 도메인(domain), 의도(intent), 또는 상기 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 획득할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 도메인(domain), 의도(intend), 및 상기 의도를 파악하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))로 나누어진 매칭 규칙을 이용하여 사용자의 의도 및 파라미터를 결정할 수 있다. 예를 들어, 상기 하나의 도메인(예컨대, 알람)은 복수의 의도(예컨대, 알람 설정, 알람 해제 등)를 포함할 수 있고, 하나의 의도는 복수의 파라미터(예컨대, 시간, 반복 횟수, 알람음 등)를 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 상기 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)(631)에 저장될 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 형태소, 구 등의 언어적 특징(예컨대, 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 각각의 도메인 및 의도에 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자 의도를 결정할 수 있다. 일 실시예에 따르면, 자연어 이해 모듈(630)은 상기 의도를 파악하는데 기초가 된 단어를 이용하여 사용자 입력의 파라미터를 결정할 수 있다. 일 실시예에 따르면, 자연어 이해 모듈(630)은 사용자 입력의 의도를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스(631)를 이용하여 사용자의 의도를 결정할 수 있다. 다른 실시예에 따르면, 자연어 이해 모듈(630)은 개인화 언어 모델(personal language model)(PLM)을 이용하여 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 개인화된 정보(예컨대, 연락처 리스트, 음악 리스트)를 이용하여 사용자의 의도를 결정할 수 있다. 상기 개인화 언어 모델은, 예를 들어, 자연어 인식 데이터베이스(631)에 저장될 수 있다. 일 실시예에 따르면, 자연어 이해 모듈(630)뿐만 아니라 자동 음성 인식 모듈(620)도 자연어 인식 데이터베이스(631)에 저장된 개인화 언어 모델을 참고하여 사용자의 음성을 인식할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 사용자 입력의 의도 및 파라미터에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 사용자 입력의 의도에 기초하여 실행될 어플리케이션을 선택하고, 상기 선택된 어플리케이션에서 수행될 동작을 결정할 수 있다. 상기 자연어 이해 모듈(630)은 상기 결정된 동작에 대응되는 파라미터를 결정하여 패스 룰을 생성할 수 있다. 일 실시예에 따르면, 자연어 이해 모듈(630)에 의해 생성된 패스 룰은 실행될 어플리케이션, 상기 어플리케이션에서 실행될 동작, 및 상기 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 사용자 입력의 의도 및 파라미터를 기반으로 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 패스 플래너 모듈(640)로부터 전자 장치(600)에 대응되는 패스 룰 셋을 수신하고, 사용자 입력의 의도 및 파라미터를 상기 수신된 패스 룰 셋에 매핑하여 패스 룰을 결정할 수 있다.
다른 실시예에 따르면, 자연어 이해 모듈(630)은 사용자 입력의 의도 및 파라미터에 기초하여 실행될 어플리케이션, 상기 어플리케이션에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 전자 장치(600)의 정보를 이용하여 상기 실행될 어플리케이션 및 상기 어플리케이션에서 실행될 동작을 사용자 입력의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다. 상기 생성된 패스 룰은, 예를 들어, 패스 플래너 모듈(640)을 통해 패스 룰 데이터베이스(path rule database)(PR DB)(641)에 저장될 수 있다. 상기 생성된 패스 룰은 패스 룰 데이터베이스(641)의 패스 룰 셋에 추가될 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 상기 복수의 패스 룰 중 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈(630)은 사용자 발화에 기초하여 일부 동작만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈(630)은 사용자의 추가 입력에 의해 상기 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630)은 사용자 입력에 대한 요청으로 패스 룰을 전자 장치(600)로 송신할 수 있다. 예를 들어, 자연어 이해 모듈(630)은 사용자 입력에 대응되는 하나의 패스 룰을 전자 장치(600)로 송신할 수 있다. 다른 예를 들어, 자연어 이해 모듈(630)은 사용자 입력에 대응되는 복수의 패스 룰을 전자 장치(600)로 송신할 수 있다. 상기 복수의 패스 룰은, 예를 들어, 사용자 발화에 기초하여 일부 동작만이 특정된 경우 자연어 이해 모듈(630)에 의해 생성될 수 있다.
일 실시예에 따르면, 패스 플래너 모듈(640)은 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다.
일 실시예에 따르면, 패스 플래너 모듈(640)은 자연어 이해 모듈(630)로 복수의 패스 룰을 포함하는 패스 룰 셋을 전달할 수 있다. 상기 패스 룰 셋의 복수의 패스 룰은 패스 플래너 모듈(640)에 연결된 패스 룰 데이터베이스(641)에 테이블 형태로 저장될 수 있다. 예를 들어, 패스 플래너 모듈(640)은 지능형 에이전트(예컨대, 도 5a의 지능형 에이전트(521))로부터 수신된 전자 장치(600)의 정보(예컨대, OS 정보, 어플리케이션 정보)에 대응되는 패스 룰 셋을 자연어 이해 모듈(630)로 전달할 수 있다. 상기 패스 룰 데이터베이스(641)에 저장된 테이블은, 예를 들어, 도메인 또는 도메인의 버전 별로 저장될 수 있다.
일 실시예에 따르면, 패스 플래너 모듈(640)은 패스 룰 셋에서 하나의 패스 룰, 또는 복수의 패스 룰을 선택하여 자연어 이해 모듈(630)로 전달할 수 있다. 예를 들어, 패스 플래너 모듈(640)은 사용자의 의도 및 파라미터를 전자 장치(600)에 대응되는 패스 룰 셋에 매칭하여 하나의 패스 룰, 또는 복수의 패스 룰을 선택하여 자연어 이해 모듈(630)로 전달할 수 있다.
일 실시예에 따르면, 패스 플래너 모듈(640)은 사용자 의도 및 파라미터를 이용하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 패스 플래너 모듈(640)은 사용자 의도 및 파라미터에 기초하여 실행될 어플리케이션 및 상기 어플리케이션에서 실행될 동작을 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 일 실시예에 따르면, 패스 플래너 모듈(640)은 상기 생성된 패스 룰을 패스 룰 데이터베이스(641)에 저장할 수 있다.
일 실시예에 따르면, 패스 플래너 모듈(640)은 자연어 이해 모듈(630)에서 생성된 패스 룰을 패스 룰 데이터베이스(641)에 저장할 수 있다. 상기 생성된 패스 룰은 패스 룰 데이터베이스(641)에 저장된 패스 룰 셋에 추가될 수 있다.
일 실시예에 따르면, 패스 룰 데이터베이스(641)에 저장된 테이블에는 복수의 패스 룰 또는 복수의 패스 룰 셋을 포함할 수 있다. 복수의 패스 룰 또는 복수의 패스 룰 셋은 각 패스 룰을 수행하는 장치의 종류, 버전, 타입, 또는 특성을 반영할 수 있다.
일 실시예에 따르면, 대화 매니저 모듈(650)은 자연어 이해 모듈(630)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(650)은 파라미터의 정보가 충분하지 여부에 기초하여 사용자의 의도가 명확한지 여부를 판단할 수 있다. 대화 매니저 모듈(650)은 자연어 이해 모듈(630)에서 파악된 파라미터가 태스크를 수행하는데 충분한지 여부를 판단할 수 있다. 일 실시예에 따르면, 대화 매니저 모듈(650)은 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다. 예를 들어, 대화 매니저 모듈(650)은 사용자의 의도를 파악하기 위한 파라미터에 대한 정보를 요청하는 피드백을 수행할 수 있다.
일 실시예에 따르면, 대화 매니저 모듈(650)은 컨텐츠 제공(content provider) 모듈을 포함할 수 있다. 상기 컨텐츠 제공 모듈은 자연어 이해 모듈(630)에서 파악된 의도 및 파라미터에 기초하여 동작을 수행할 수 있는 경우, 사용자 입력에 대응되는 태스크를 수행한 결과를 생성할 수 있다. 일 실시예에 따르면, 대화 매니저 모듈(650)은 사용자 입력에 대한 응답으로 상기 컨텐츠 제공 모듈에서 생성된 상기 결과를 전자 장치(600)로 송신할 수 있다.
일 실시예에 따르면, 자연어 생성 모듈(660)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 상기 지정된 정보는, 예를 들어, 추가 입력에 대한 정보, 사용자 입력에 대응되는 동작의 완료를 안내하는 정보 또는 사용자의 추가 입력을 안내하는 정보(예: 사용자 입력에 대한 피드백 정보)일 수 있다. 상기 텍스트 형태로 변경된 정보는 전자 장치(600)로 송신되어 디스플레이(예컨대, 도 4의 디스플레이(420))에 표시되거나, 텍스트 음성 변환 모듈(670)로 송신되어 음성 형태로 변경될 수 있다.
일 실시예에 따르면, 텍스트 음성 변환 모듈(670)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(670)은 자연어 생성 모듈(660)로부터 텍스트 형태의 정보를 수신하고, 상기 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 전자 장치(600)로 송신할 수 있다. 전자 장치(600)는 상기 음성 형태의 정보를 스피커(예컨대, 도 4의 스피커(430))로 출력할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈(630), 패스 플래너 모듈(640), 및 대화 매니저 모듈(650)은 하나의 모듈로 구현될 수 있다. 예를 들어, 자연어 이해 모듈(630), 패스 플래너 모듈(640), 및 대화 매니저 모듈(650)은 하나의 모듈로 구현되어 사용자의 의도 및 파라미터를 결정하고, 상기 결정된 사용자의 의도 및 파라미터에 대응되는 응답(예컨대, 패스 룰)을 생성할 수 있다. 이에 따라, 생성된 응답은 전자 장치(600)로 송신될 수 있다.
도 7은 본 발명의 일 실시예에 따른 패스 플래너 모듈(path planner module)의 패스 룰(path rule)을 생성하는 방법을 나타낸 도면이다.
도 7을 참조하면, 일 실시예에 따른, 자연어 이해 모듈(예컨대, 도 6의 자연어 이해 모듈(630))은 어플리케이션의 기능을 단위 동작(예컨대, A 내지 F)으로 구분하여 패스 룰 데이터베이스(예컨대, 도 6의 패스 룰 데이터베이스(641))에 저장할 수 있다. 예를 들어, 자연어 이해 모듈은 단위 동작으로 구분된 복수의 패스 룰(예컨대, A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F)을 포함하는 패스 룰 셋을 패스 룰 데이터베이스에 저장할 수 있다.
일 실시예에 따르면, 패스 플래너 모듈(예컨대, 도 6의 패스 플래너 모듈(640))의 패스 룰 데이터베이스는 어플리케이션의 기능을 수행하기 위한 패스 룰 셋을 저장할 수 있다. 상기 패스 룰 셋은 복수의 동작을 포함하는 복수의 패스 룰을 포함할 수 있다. 상기 복수의 패스 룰은 복수의 동작 각각에 입력되는 파라미터에 따라 실행되는 동작이 순차적으로 배열될 수 있다. 일 실시예에 따르면, 상기 복수의 패스 룰은 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 구성되어 패스 룰 데이터베이스에 저장될 수 있다.
일 실시예에 따르면, 자연어 이해 모듈은 사용자 입력의 의도 및 파라미터에 대응되는 상기 복수의 패스 룰(예컨대, A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중에 최적의 패스 룰(A-B1-C3-D-F)을 선택할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈은 사용자 입력에 완벽히 매칭되는 패스 룰이 없는 경우 전자 장치(예컨대, 도 6의 전자 장치(600))에 복수의 룰을 전달할 수 있다. 예를 들어, 자연어 이해 모듈은 사용자 입력에 부분적으로 대응된 패스 룰(예컨대, A-B1)을 선택할 수 있다. 자연어 이해 모듈은 사용자 입력에 부분적으로 대응된 패스 룰(예컨대, A-B1)을 포함하는 하나 이상의 패스 룰(예컨대, A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F)을 선택하여 전자 장치에 전달할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈은 전자 장치의 추가 입력에 기초하여 복수의 패스 룰 중 하나를 선택하고, 상기 선택된 하나의 패스 룰을 상기 전자 장치에 전달할 수 있다. 예를 들어, 자연어 이해 모듈은 전자 장치에서 추가로 입력된 사용자 입력(예컨대, C3를 선택하는 입력)에 따라 복수의 패스 룰(예컨대, A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중 하나의 패스 룰(예컨대, A-B1-C3-D-F)을 선택하여 전자 장치에 송신할 수 있다.
또 다른 실시예에 따르면, 자연어 이해 모듈은 자연어 이해 모듈을 통해 전자 장치에 추가로 입력된 사용자 입력(예컨대, C3를 선택하는 입력)에 대응되는 사용자의 의도 및 파라미터를 결정할 수 있고, 상기 결정된 사용자의 의도 또는 파라미터를 전자 장치로 송신할 수 있다. 전자 장치는 상기 송신된 의도 또는 상기 파라미터에 기초하여, 복수의 패스 룰(예컨대, A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중 하나의 패스 룰(예컨대, A-B1-C3-D-F)을 선택할 수 있다.
이에 따라, 전자 장치는 상기 선택된 하나의 패스 룰에 의해 어플리케이션(예컨대, 도 4의 441, 443)의 동작을 완료시킬 수 있다.
일 실시예에 따르면, 자연어 이해 모듈은 정보가 부족한 사용자 입력이 지능형 서버(예컨대, 도 6의 지능형 서버(610))에 수신된 경우, 상기 수신한 사용자 입력에 부분적으로 대응되는 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈은 상기 부분적으로 대응된 패스 룰을 지능형 에이전트(예컨대, 도 5a의 지능형 에이전트(521))로 송신할 수 있다. 지능형 에이전트는 실행 매니저 모듈(예컨대, 도 5a의 실행 매니저 모듈(523))로 상기 부분적으로 대응된 패스 룰을 송신할 수 있다. 실행 매니저 모듈은 상기 패스 룰에 따라 제1 어플리케이션(441)을 실행시킬 수 있다. 실행 매니저 모듈은 제1 어플리케이션(441)을 실행하면서 부족한 파라미터에 대한 정보를 지능형 에이전트로 송신할 수 있다. 지능형 에이전트는 상기 부족한 파라미터에 대한 정보를 이용하여 사용자에게 추가 입력을 요청할 수 있다. 지능형 에이전트는 사용자에 의해 추가 입력이 수신되면 지능형 서버로 송신하여 처리할 수 있다. 자연어 이해 모듈은 상기 추가로 입력된 사용자 입력의 의도 및 파라미터 정보에 기초하여 추가된 패스 룰을 생성하여 지능형 에이전트로 송신할 수 있다. 지능형 에이전트는 실행 매니저 모듈로 상기 패스 룰을 송신하여 제2 어플리케이션(443)을 실행할 수 있다.
일 실시예에 따르면, 자연어 이해 모듈은 일부 정보가 누락된 사용자 입력이 지능형 서버에 수신된 경우, 개인화 정보 서버(예컨대, 도 6의 개인화 정보 서버(680))로 사용자 정보 요청을 송신할 수 있다. 개인화 정보 서버는 페르소나 데이터베이스에 저장된 사용자 입력을 입력한 사용자의 정보를 자연어 이해 모듈로 송신할 수 있다. 자연어 이해 모듈은 상기 사용자 정보를 이용하여 일부 동작이 누락된 사용자 입력에 대응되는 패스 룰을 선택할 수 있다. 이에 따라, 자연어 이해 모듈은 일부 정보가 누락된 사용자 입력이 지능형 서버에 수신되더라도, 누락된 정보를 요청하여 추가 입력을 받거나 사용자 정보를 이용하여 상기 사용자 입력에 대응되는 패스 룰을 결정할 수 있다.
도 8a는 본 발명의 일 실시예에 따른 전자 장치의 지능형 어플리케이션을 실행시키는 것을 나타낸 도면이다.
도 8a를 참조하면, 전자 장치(예컨대, 도 6의 전자 장치(600))가 사용자 입력을 수신하여 지능형 에이전트(예컨대, 도 5a의 지능형 에이전트(521))와 연동된 지능형 어플리케이션(예컨대, 음성 인식 어플리케이션)을 실행시키는 것을 나타낸 것이다.
일 실시예에 따르면, 전자 장치는 하드웨어 키(813)(또는, 물리적 키)를 통해 음성을 인식하기 위한 지능형 어플리케이션을 실행시킬 수 있다. 예를 들어, 전자 장치는 하드웨어 키(813)를 통해 사용자 입력을 수신한 경우 디스플레이(예컨대, 도 4의 디스플레이(420))에 지능형 어플리케이션의 UI(user interface)(815)를 표시할 수 있다. 사용자는, 예를 들어, 지능형 어플리케이션의 UI(815)가 디스플레이에 표시된 상태에서 음성을 입력(811b)하기 위해 지능형 어플리케이션의 UI(815)에서 음성인식 버튼(815a)을 터치할 수 있다. 사용자는, 다른 예를 들어, 음성을 입력(811b)하기 위해 상기 하드웨어 키(813)를 지속적으로 눌러서 음성을 입력(811b)을 할 수 있다.
일 실시예에 따르면, 전자 장치는 마이크(예컨대, 도 4의 마이크(411))를 통해 음성을 인식하기 위한 지능형 어플리케이션을 실행시킬 수 있다. 예를 들어, 전자 장치는 마이크를 통해 지정된 음성(예컨대, 일어나!(wake up!))이 입력(811a)된 경우, 디스플레이에 지능형 어플리케이션의 UI(815)를 표시할 수 있다.
도 8b 본 발명의 다양한 실시예에 따른 통합 지능화 시스템을 도시한 블록도이다.
도 8b를 참조하면, 전자 장치(810)(예컨대, 도 6의 전자 장치(600))의 지능형 에이전트(820)(예컨대, 도 5a의 지능형 에이전트(521))는 사용자(800)로부터 사용자 입력 “send message to Agatha”를 수신(1)할 수 있다. 지능형 에이전트(820)는 상기 사용자 입력 “send message to Agatha”를 지능형 서버(850)(예컨대, 도 5a의 지능형 서버(550))로 송신(2)할 수 있다. 본 발명의 다양한 실시예에 따르면, 지능형 서버(850)의 자동 음성 인식 모듈(851)(예컨대, 도 6의 자동 음성 인식 모듈(620))은 전자 장치(810)로부터 수신한 사용자 입력(예컨대, 발화(utterance))을 텍스트 데이터로 변환(853)할 수 있다. 자동 음성 인식 모듈(851)은 상기 변환된 텍스트 데이터 “send message to Agatha”를 자연어 이해 모듈(855)(예컨대, 도 6의 자연어 이해 모듈(630))에 전달할 수 있다. 자연어 이해 모듈(855)은 수신한 텍스트 데이터 “send message to Agatha”를 “message”라는 도메인 정보와 “send message”라는 의도(intent), “Agatha”라는 파라미터(예컨대, slot)를 생성(857)할 수 있으며, 이를 패스 플래너 모듈(859)(예컨대, 도 6의 패스 플래너 모듈(640))로 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 패스 플래너 모듈(859)은 상기 자연어 이해 모듈(855)로부터 수신한 정보들에 기초하여 “state1: message - state2: conversation view(parameter: Agatha)”라는 패스 룰(path rule)(860)을 생성할 수 있으며, 이를 지능형 에이전트(820)에 송신(3)할 수 있다.
본 발명의 다양한 실시예에서 패스 룰은 어플리케이션을 이용하여 수행할 태스크를 스테이트(state) 단위의 집합으로 정의한 것을 의미한다. 예컨대, 상기 스테이트는 특정 화면(screen)으로의 이동을 포함할 수 있으며, 각각의 스테이트는 파라미터를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(810)는 상기 사용자 입력이 지능형 서버(850)에서 처리되고 있는 동안 디스플레이(예컨대, 도 4의 디스플레이(420))에 처리 중임을 표시할 수 있다. 또한, 전자 장치(810)는 지능형 에이전트(820)로부터 텍스트의 형태로 인식된 사용자 입력을 수신하여 디스플레이에 표시될 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(810)의 지능형 에이전트(820)은 지능형 서버(850)로부터 수신한 패스 룰을 실행 매니저(executor manager) 모듈(830)로 전달(6)할 수 있다.
본 발명의 다양한 실시예에 따르면, 실행 매니저 모듈(830)은 사용자 입력 “send message to Agatha”의 패스 룰에 대응하는 2개의 스테이트(제1 스테이트 및 제2 스테이트)에 기초하여 실행 서비스(executor service) 모듈(841)로 스테이트를 요청하는 신호를 송신할 수 있다. 상기 스테이트가 복수개인 경우, 실행 매니저 모듈(830)은 상기 스테이트를 요청하는 신호를 하나의 스테이트를 완료한 후 송신할 수 있다. 다시 말해, 실행 매니저 모듈(830)은 사용자 입력에 따라 패스 룰에 대응되는 2개의 스테이트(제1 스테이트(843) 및 제2 스테이트(845))를 순차적으로 실행되도록 제어할 수 있다.
예컨대, 실행 서비스 모듈(841)은 제1 스테이트(843)를 요청하는 신호를 수신(7)하면 제1 스테이트(843)를 실행(8)할 수 있다. 제1 스테이트(843)가 완료되면, 실행 서비스 모듈(841)은 제2 스테이트(845)를 오픈(9)하고 상기 제1 스테이트(843)에 대한 완료 정보(10)를 실행 매니저 모듈(830)로 송신(11)할 수 있다. 실행 매니저 모듈(830)은 상기 완료 정보를 수신하면 제2 스테이트(845)를 요청하는 신호를 실행 서비스 모듈(841)에 송신(12)할 수 있다. 실행 서비스 모듈(841)는 제2 스테이트(845)를 요청하는 신호를 수신하면 제2 스테이트(845)를 실행(13)할 수 있다. 실행 매니저 모듈(830)은 제2 스테이트(845)가 완료(14)되어 상기 제2 스테이트(845)에 대한 완료 정보를 실행 서비스 모듈(841)로부터 수신하면, 패스 룰 완료 정보를 지능형 서버(850)에 송신(16)할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버(850)는 상기 지능형 서버(850)의 자연어 생성 모듈(미도시)(예컨대, 도 6의 자연어 생성 모듈(660)) 및 텍스트 음성 변환 모듈(미도시)(예컨대, 도 6의 텍스트 음성 변환 모듈(670))을 통해 사용자에게 종료되었음을 알릴 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 910동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))에 적어도 하나의 사용자 인터페이스를 표시할 수 있다. 예컨대, 전자 장치(예컨대, 도 4의 프로세서(460))는 어플리케이션 실행에 따른 사용자 인터페이스를 표시할 수 있다. 전자 장치(예컨대, 도 4의 프로세서(460))는 복수의 어플리케이션이 실행되는 경우 상기 복수의 어플리케이션에 대한 복수의 사용자 인터페이스를 디스플레이에 표시할 수 있다. 예컨대, 전자 장치(예컨대, 도 4의 프로세서(460))는 상기 복수의 사용자 인터페이스를 멀티윈도우, 오버레이, 팝업창 중 적어도 하나의 형태로 디스플레이에 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 920동작에서 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다. 예컨대, 상기 사용자 입력은 음성 인식 기능을 통해 특정 어플리케이션을 이용하여 태스크를 수행하기 위한 입력일 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 4의 프로세서(460))는 상기 음성 인식 기능을 수행하기 위한 상기 전자 장치에 별도로 구비된 하드웨어 키(예컨대, 도 8a의 하드웨어 키(813))(또는, 물리적 키)를 누르는 신호가 감지되면, 음성 인식 기능을 수행하기 위한 사용자 인터페이스를 표시할 수 있다. 음성 인식 기능을 수행하기 위한 방법으로 이에 한정하는 것은 아니며, 마이크(예컨대, 도 4의 마이크(411))를 통해 지정된 음성(예컨대: wake up))이 입력된 경우, 또는 디스플레이에 표시된 음성 인식 기능을 실행하기 위한 아이콘을 선택하는 신호가 감지되면, 전자 장치(예컨대, 도 4의 프로세서(460))는 음성 인식 기능을 수행하기 위한 사용자 인터페이스를 표시할 수 있다. 이하, 상기 음성 인식 기능을 수행하기 위한 입력은 전자 장치에 별도로 구비된 하드웨어 키를 누르는 신호로 가정하여 설명한다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스에서 마이크(예컨대, 도 4의 마이크(411))를 통해 사용자 입력 예컨대, 발화를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 디스플레이에 표시된 어플리케이션(단일 어플리케이션 또는 복수의 어플리케이션)을 이용하여 태스크를 수행하기 위한 사용자 입력 또는 상기 디스플레이에 표시된 어플리케이션과 상이한 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 930동작에서 수신된 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b 의 지능형 서버(850)의 자동 음성 인식 모듈(851))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 상기 사용자 입력과 연관된 데이터와 함께 현재 디스플레이 상의 윈도우 컨텍스트 정보(window context information)를 서버(예컨대, 도 8b의 지능형 서버(850)의 자동 음성 인식 모듈(851))에 전송할 수 있다. 예컨대, 상기 윈도우 컨텍스트 정보는 현재 실행 중인 어플리케이션, 실행 중인 어플리케이션에 대한 사용자 인터페이스가 표시된 윈도우의 활성화 여부(active or not), 실행 중인 어플리케이션에 대한 사용자 인터페이스가 입력 특성을 가지는지 여부를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 940동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850)의 자연어 이해 모듈(855))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다. 예컨대, 상기 태스크를 수행하기 위한 스테이트의 시퀀스는 지능형 서버의 패스 플래너 모듈(예컨대, 도 8b의 지능형 서버(850)의 패스 플래너 모듈(859))에 의해 생성된 패스 룰을 의미할 수 있다. 다시 말해, 상기 스테이트의 시퀀스는 사용자 입력에 대응하는 어플리케이션의 기능을 수행하기 위한 동작의 순서를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 스테이트는 적어도 하나의 어플리케이션의 기능을 수행하기 위한 적어도 하나의 동작(또는, 오퍼레이션)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 5a의 윈도우 선택 모듈(530))는 950동작에서 수신한 스테이트의 시퀀스에 기초하여 수행된 태스크에 대한 사용자 인터페이스를 표시할 디스플레이의 윈도우를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 5a의 윈도우 선택 모듈(530))는 스테이트의 시퀀스에 기초하여 수행된 태스크에 대한 사용자 인터페이스를 표시할 디스플레이의 윈도우를 윈도우 컨텍스트 정보를 이용하여 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 스테이트의 시퀀스에 매칭되는 어플리케이션과 연관된 어플리케이션이 디스플레이에 표시된 상태인 경우, 전자 장치(예컨대, 도 8b의 실행 매니저 모듈(830))는 상기 연관된 어플리케이션이 표시된 디스플레이의 영역에서 스테이트의 시퀀스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 실행 매니저 모듈(830))는 최종 랜딩(landing)될 어플리케이션(예컨대, 스테이트의 시퀀스에 기초하여 수행할 어플리케이션이 복수개인 경우, 마지막으로 실행되는 어플리케이션)이 표시되어 있는 경우, 해당 디스플레이의 영역에서 스테이트의 시퀀스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 실행 매니저 모듈(830))는 멀티윈도우로 표시된 어플리케이션 각각이 스테이트의 시퀀스에 매칭되는 어플리케이션과 연관된 경우, 각각의 영역에서 스테이트의 시퀀스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 실행 매니저 모듈(830))는 멀티윈도우 상태에서 디스플레이의 활성화 윈도우가 아닌 비활성화 윈도우에서 스테이트의 시퀀스를 수행할 수 있다. 예컨대, 전자 장치는 비활성화 윈도우가 복수개인 경우, 비활성화된 시점이 오래된 윈도우에서 스테이트의 시퀀스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 멀티윈도우 상태에서 디스플레이의 일부 영역에 표시된 사용자 인터페이스에서 텍스트 입력을 수신하는 경우, 전자 장치(예컨대, 도 8b의 실행 매니저 모듈(830))는 상기 디스플레이의 다른 영역에서 스테이트의 시퀀스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 4의 프로세서(460))는 860동작에서 결정된 윈도우에 수행된 태스크에 대한 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 이하 설명하는 도 10 내지 도 11b는 디스플레이에 어플리케이션에 대한 사용자 인터페이스를 표시하는 중에 사용자 입력이 수신되고, 상기 어플리케이션과 상기 사용자 입력에 대응하는 태스크를 수행할 어플리케이션이 동일한 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 10은 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1010동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))에 제1 어플리케이션에 대한 제1 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1020동작에서 제1 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1030동작에서 수신된 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1040동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 전자 장치의 스테이트의 시퀀스에 대한 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1050동작에서 수신된 스테이트의 시퀀스에 기초하여 수행된 태스크를 대한 제1 사용자 인터페이스를 디스플레이에 표시할 수 있다.
이와 관련하여 도 11a 및 도 11b에서 상세히 살펴보도록 하겠다.
도 11a 및 도 11b는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 11a를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <1110>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))에 어플리케이션 예컨대, 메시지 어플리케이션 실행에 따른 사용자 인터페이스(1111)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 디스플레이에 상기 사용자 인터페이스(1111)를 표시하는 중에 메시지 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
예컨대, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(1113)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호가 감지되면, 이에 응답하여 <1120>에 도시된 바와 같이 음성 인식 기능을 실행할 수 있으며, 이에 대한 사용자 인터페이스(1121)를 디스플레이에 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1121)를 디스플레이 상에 상위 레이어(layer)로서 표시할 수 있다. 예컨대, 전자 장치는 메시지 어플리케이션에 대한 사용자 인터페이스(1111)의 상위 레이어로서 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1121)를 표시할 수 있다. 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1121)를 상위 레이어로서 표시하는 경우, 전자 장치는 메시지 어플리케이션에 대한 사용자 인터페이스(1111)를 그래픽 처리(예컨대, 음영 처리)하여 상위 레이어로서 표시된 사용자 인터페이스(1121)와 구별되게 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1121)를 통해 태스크를 수행하기 위한 사용자 입력으로서, 사용자 발화를 수신할 수 있다. 예컨대, 전자 장치는 <1120>에 도시된 바와 같이 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1121)를 통해 사용자 발화 예컨대, “send message to Agatha”(1123)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사용자 발화 “send message to Agatha”(1123)를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다. 지능형 서버(예컨대, 지능형 서버의 자연어 이해 모듈(예컨대, 도 8b의 자연어 이해 모듈(855)))는 전자 장치로부터 수신한 사용자 발화 “send message to Agatha”(1123)에 기초하여 도메인 정보로서 “message”, 의도로서 “send message”, 파라미터(예컨대, slot)로서 “Agatha”를 생성할 수 있다. 지능형 서버(예컨대, 지능형 서버의 패스 플래너 모듈(예컨대, 도 8b의 패스 플래너 모듈(859)))는 상기 도메인 정보, 의도, 및 파라미터에 기초하여 “state1: message - state2: conversation view(parameter: Agatha)”의 스테이트의 시퀀스를 생성하고, 이를 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 지능형 서버로부터 수신한 스테이트의 시퀀스 “state1: message - state2: conversation view(parameter: Agatha)”에 기초하여 태스크를 수행할 어플리케이션이 상기 전자 장치에 표시된 어플리케이션인지 여부를 결정할 수 있다. 예컨대, 전자 장치는 디스플레이에 표시 중인 메시지 어플리케이션 실행에 따른 사용자 인터페이스(1111)와 스테이트의 도메인 정보 예컨대, 어플리케이션이 동일한지 여부를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 스테이트의 도메인 정보가 message로, 이에 기초하여 전자 장치는 스테이트를 수행할 어플리케이션을 메시지 어플리케이션으로 결정할 수 있다. 이에 따라, 전자 장치는 스테이트의 도메인 정보와 현재 디스플레이에 표시된 메시지 어플리케이션이 동일한 것으로 결정할 수 있다. 전자 장치는 현재 디스플레이에 표시된 메시지 어플리케이션을 이용하여 스테이트의 시퀀스에 따라 스테이트를 순차적으로 수행할 수 있다. 예컨대, 전자 장치는 <1130>에 도시된 바와 같이 메시지 어플리케이션에 대한 사용자 인터페이스(<1110>의 1111)에서 “Agatha”를 자동으로 선택하여 Agatha conversation view로 전환된 사용자 인터페이스(1131)를 표시할 수 있다. 또한, 전자 장치는 상기 수신자 Agatha로 전송할 메시지 작성을 위한 사용자 인터페이스(1131)와 함께 음성 인식 기능을 통해 추가 입력을 대기하는 사용자 인터페이스(1133)를 표시할 수 있다.
도 11b를 참조하면, 전자 장치는 디스플레이에 메시지 작성 창에 대한 사용자 인터페이스(1141)를 표시하는 중에 특정 화면 예컨대, 상기 사용자 인터페이스(1141)에서 처리를 요청하는 명령을 포함하는 사용자 입력을 수신할 수 있다. 예컨대, 상기 사용자 입력은 메시지 작성 창에서 수신인 필드(field)에 텍스트를 입력하기 위한 명령을 포함하는 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 입력 “메시지 수신인에 엄마 추가해줘”를 수신하면, 지능형 서버에 자연어 이해 처리를 위한 요청을 송신할 수 있다. 전자 장치는 상기 사용자 입력과 함께 윈도우 컨텍스트 정보를 지능형 서버에 송신할 수 있다. 또한, 전자 장치는 상기 전자 장치의 디스플레이에 표시된 사용자 인터페이스 상에서 상기 사용자 입력을 처리할 수 있는지 여부 또한 요청할 수 있다.
본 발명의 다양한 실시예에서 지능형 서버는 사용자 입력, 윈도우 컨텍스트 정보에 기초하여 상기 사용자 인터페이스 예컨대, 메시지 작성 창에 대한 사용자 인터페이스(1141)에서 상기 사용자 입력 “메시지 수신인에 엄마 추가해줘”를 수행할 수 있는지 여부를 결정할 수 있다. 수행 가능한 것으로 결정한 경우, 지능형 서버는 이에 대한 스테이트의 시퀀스를 생성하고, 상기 생성된 스테이트의 시퀀스를 전자 장치에 송신할 수 있다. 전자 장치는 지능형 서버로부터 수신한 스테이트의 시퀀스에 기초하여 수신인 필드에 “엄마”를 추가(1143)한 메시지 작성 창에 대한 사용자 인터페이스(1141)를 표시할 수 있다.
본 발명의 다양한 실시예에서 전자 장치는 하나 이상의 어플리케이션에서 해당 발화를 처리할 수 있는 경우, 활성화 윈도우에 실행된 어플리케이션에서 처리하도록 제어하거나, 가장 최근에 활성화가 되었던 윈도우의 어플리케이션에서 처리하도록 제어하거나, 또는, 사용자에게 해당 명령을 처리할 어플리케이션을 선택하도록 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, 이하 설명하는 도 12 내지 도 13b는 디스플레이에 어플리케이션에 대한 사용자 인터페이스를 표시하는 중에 사용자 입력이 수신되고, 상기 어플리케이션과 상기 사용자 입력에 대한 태스크를 수행할 어플리케이션이 상이한 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1210동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))에 제1 어플리케이션에 대한 제1 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1220동작에서 제2 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1230동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1240동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1250동작에서 디스플레이에 제1 사용자 인터페이스의 표시를 유지하며, 상기 디스플레이의 일부 영역에 제2 어플리케이션에 대한 제2 사용자 인터페이스를 표시할 수 있다.
이와 관련하여, 도 13a 및 도 13b에서 상세히 살펴보도록 하겠다.
도 13a 및 도 13b는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 13a를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <1310>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))에 어플리케이션 예컨대, 메시지 어플리케이션 실행에 따른 사용자 인터페이스(1311)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 디스플레이에 상기 메시지 어플리케이션 실행에 따른 사용자 인터페이스(1311)를 표시하는 중에, 상기 메시지 어플리케이션과 상이한 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
예컨대, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(1313)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호가 감지되면, 이에 응답하여 <1320>에 도시된 바와 같이 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1321)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1321)를 통해 사용자 발화를 태스크를 수행하기 위한 사용자 입력으로서 수신할 수 있다. 예컨대, 전자 장치는 <1320>에 도시된 바와 같이 음성 인식 어플리케이션에 대한 사용자 인터페이스(1321)를 통해 사용자 발화 예컨대, “find photo from Hawaii”(1323)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사용자 발화 “find photo from Hawaii”(1323)를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다. 전자 장치는 지능형 서버로부터 사용자 발화 “find photo from Hawaii”(1323)에 대한 스테이트의 시퀀스를 수신할 수 있다. 예컨대, 상기 스테이트의 시퀀스는 도메인 정보로서 “photo”, 의도로서 “find photo”, 파라미터(예컨대, slot)로서 “Hawaii”에 기초한 “state1: gallery - state2: search - state3: search result(Hawaii)”를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 스테이트의 시퀀스에 기초하여 태스크를 수행할 어플리케이션이 상기 전자 장치에 기 표시된 어플리케이션 예컨대, 메시지 어플리케이션인지 여부를 결정할 수 있다. 예컨대, 전자 장치는 디스플레이에 표시 중인 메시지 어플리케이션 실행에 따른 사용자 인터페이스(1311)와 태스크를 수행할 어플리케이션(예컨대, 도메인 정보)이 동일한지 여부를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 스테이트를 실행할 어플리케이션을 갤러리 어플리케이션으로 결정할 수 있으며, 현재 디스플레이에 표시된 메시지 어플리케이션과 상이하므로 <1330>에 도시된 바와 같이 상기 갤러리 어플리케이션을 새로운 윈도우로서 생성하여 표시할 수 있다. 전자 장치는 상기 갤러리 어플리케이션을 이용하여 스테이트의 시퀀스에 기초하여 스테이트를 순차적으로 수행하고, 수행에 따른 사용자 인터페이스(1331)를 표시할 수 있다. 상기 사용자 인터페이스(1331)를 표시하는 윈도우 크기는 아이템(1333)에 의해 조절될 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 스테이트의 시퀀스를 수행하는 사용자 인터페이스가 표시되는 윈도우를 활성화 윈도우로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 스테이트의 시퀀스의 수행이 완료되면, 상기 활성화 윈도우를 상기 스테이트의 시퀀스를 수행하는 사용자 인터페이스에서 사용자 입력(발화) 이전에 활성화되고 있었던 사용자 인터페이스로 변경할 수 있다.
도 13b를 참조하면, 전자 장치는 <1340>에 도시된 바와 같이 디스플레이에 어플리케이션 예컨대, 메시지 어플리케이션 실행에 따른 사용자 인터페이스(1341)를 표시할 수 있다. 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(1343)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호가 감지되면, 이에 응답하여 <1350>에 도시된 바와 같이 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1351)를 표시할 수 있다. 전자 장치는 상기 음성 인식 어플리케이션에 대한 사용자 인터페이스(1351)를 통해 상기 메시지 어플리케이션과 상이한 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다. 예컨대, 전자 장치는 사용자 발화 예컨대, “execute Telegram”(1353)을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사용자 발화 “execute Telegram”(1353)을 지능형 서버(도 8b의 지능형 서버(850))에 송신할 수 있다. 전자 장치는 지능형 서버로부터 상기 “execute Telegram”(1353)에 대한 스테이트의 시퀀스를 수신할 수 있다. 예컨대, 상기 스테이트의 시퀀스는 도메인 정보로서 “Telegram”, 의도로서 “execute”에 기초한 “state1: Telegram - state2: execute”를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 스테이트의 시퀀스에 기초하여 스테이트를 실행할 어플리케이션을 텔레그램 어플리케이션으로 결정할 수 있으며, 현재 디스플레이에 표시된 메시지 어플리케이션과 상이하므로 <1360>에 도시된 바와 같이 새로운 윈도우를 생성하여 상기 텔레그램 어플리케이션에 대한 사용자 인터페이스를 표시할 수 있다. 예컨대, 전자 장치는 상기 스테이트를 실행할 어플리케이션이 멀티윈도우를 지원하지 않는 경우, <1360>에 도시된 바와 같이 상기 텔레그램 어플리케이션에 대한 사용자 인터페이스를 팝업창(1361)으로 표시할 수 있다. 상기 팝업창의 크기는 아이템(1363)에 의해 조절될 수 있다.
도 14는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460)는 1410동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))에 제1 어플리케이션에 대한 제1 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1420동작에서 제2 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1430동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1440동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1450동작에서 전자 장치와 연결된 외부 장치가 존재하는 경우, 상기 외부 장치의 디스플레이에 제2 어플리케이션에 대한 제2 사용자 인터페이스를 표시할 수 있다.
이와 관련하여, 도 15a 및 도 15b에서 상세히 살펴보도록 하겠다.
도 15a 및 도 15b는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 15a 및 도 15b를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <1510>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))에 메시지 어플리케이션에 대한 사용자 인터페이스(1511)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 <1520>에 도시된 바와 같이 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1521)를 디스플레이의 일부 영역에 표시할 수 있다. 전자 장치는 상기 사용자 인터페이스(1521)에서 사용자 입력 예컨대, “find photo from Hawaii”(1523)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사용자 입력 “find photo from Hawaii”(1523)를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다. 전자 장치는 상기 지능형 서버로부터 사용자 입력 “find photo from Hawaii”(1523)에 대한 스테이트의 시퀀스를 수신할 수 있다. 예컨대, 상기 스테이트의 시퀀스는 도메인 정보로서 “photo”, 의도로서 “fine”, 파라미터(예컨대, slot)로서 “Hawaii”에 기초한 “state1: gallery - state2: search” - state3: search result(Hawaii)를 포함할 수 있다. 전자 장치는 상기 스테이트의 시퀀스에 기초하여 스테이트를 실행할 어플리케이션을 갤러리 어플리케이션으로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 외부 장치(1540)와 연결 여부를 결정할 수 있다. 예컨대, 상기 전자 장치와 외부 장치(1540)는 무선 통신 회로(예컨대, 도 1의 통신 인터페이스(170), 도 2의 통신 모듈(220))를 통해 연결된 상태일 수 있다. 외부 장치(1540)와 연결된 것으로 결정되면, 전자 장치는 <1530>에 도시된 바와 같이 상기 전자 장치의 디스플레이에 메시지 어플리케이션에 대한 사용자 인터페이스의 표시를 유지하며, 상기 사용자 입력에 대응하는 어플리케이션 예컨대, 갤러리 어플리케이션의 실행 정보(예컨대, 스테이트의 시퀀스에 따라 갤러리 어플리케이션를 이용하여 수행된 사용자 인터페이스)를 상기 외부 장치(1540)에 송신할 수 있다. 외부 장치(1540)는 상기 갤러리 어플리케이션의 실행 정보에 기초하여 <1550>에 도시된 바와 같이 하와이 사진이 검색된 갤러리 어플리케이션에 대한 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 후술하는 도 16 내지 도 17c는 패스 룰에서 실행해야 할 도메인이 복수개인 경우에 대한 실시예를 설명하기 위한 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 흐름도이다.
도 16을 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1610동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))에 제1 어플리케이션에 대한 제1 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1620동작에서 제1 어플리케이션 및 제2 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1630동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1640동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1650동작에서 수신한 스테이트의 시퀀스에 기초하여 디스플레이의 일부 영역에 제2 어플리케이션에 대한 제2 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1660동작에서 제2 어플리케이션을 이용하여 제1 태스크를 수행한 후, 제1 태스크에 기초하여 제1 어플리케이션을 이용한 제2 태스크 수행에 따른 제1 사용자 인터페이스를 표시할 수 있다.
이와 관련하여, 도 17a 내지 도 17c에서 상세히 살펴보도록 하겠다.
도 17a 내지 도 17c는 본 발명의 다양한 실시예에 따른 단일 사용자 인터페이스가 표시되는 중에 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 17a 내지 도 17c를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <1710>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))에 메시지 어플리케이션에 대한 사용자 인터페이스(1711)를 표시할 수 있다. 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(1713)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호가 감지되면, <1720>에 도시된 바와 같이 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1721)를 표시할 수 있다. 상기 사용자 인터페이스(1721)에서 사용자 입력 예컨대, “send Hawaii photo to Jack”(1723)을 수신할 수 있다. 전자 장치는 상기 사용자 입력 “send Hawaii photo to Jack”(1723)을 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버의 자연어 이해 모듈(예컨대, 도 8b의 자연어 이해 모듈(855))은 사용자 입력 “send Hawaii photo to Jack”(1723)에 기초하여, 도메인 정보, 의도, 및 파라미터를 생성할 수 있다. 지능형 서버의 자연어 이해 모듈은 상기 생성된 도메인 정보, 의도 및 파라미터를 지능형 서버의 패스 플래너 모듈(예컨대, 도 8b의 패스 플래너 모듈(859))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버의 자연어 이해 모듈에 의해 생성된 상기 사용자 입력 “send Hawaii photo to Jack”(1723)에 대응하는 도메인 정보가 복수개인 경우, 패스 플래너 모듈은 상기 복수개의 도메인 정보에 기초하여 패스 룰을 복수개 생성할 수 있다. 예컨대, 지능형 서버의 패스 플래너 모듈은 사용자 입력 “send Hawaii photo to Jack”(1723)에 대한 제1 패스 룰 “message-conversation view(Jack)-첨부-search-search result(Hawaii)-하와이 사진 선택-보내기” 및 제2 패스 룰 “gallery-search-search result(Hawaii)-하와이 사진 선택-share via message-send”를 생성할 수 있다. 서버는 상기 생성된 제1 패스 룰 및 제2 패스 룰을 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 지능형 서버로부터 수신한 제1 패스 룰 및 제2 패스 룰 중 하나를 이용하여 스테이트를 순차적으로 수행할 수 있다. 예컨대, 전자 장치는 윈도우 사용 이력 정보, 윈도우 컨텍스트 정보에 기초하여 스테이트를 수행하기 위한 패스 룰을 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 제1 패스 룰은 메시지 어플리케이션 실행 및 이를 이용한 스테이트를 수행한 후 갤러리 어플리케이션 실행 및 이를 이용한 스테이트를 수행하는 순서와 관련된 것일 수 있다. 전자 장치는 현재 디스플레이에 표시되고 있는 메시지 어플리케이션을 이용하여 제1 패스 룰에 따라 스테이트를 순차적으로 수행한 후, 갤러리 어플리케이션 실행 및 이를 이용한 스테이트를 순차적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 제2 패스 룰은 갤러리 어플리케이션 실행 및 이를 이용한 스테이트를 수행한 후 메시지 어플리케이션 실행 및 이를 이용한 스테이트를 수행하는 순서와 관련된 것일 수 있다. 제2 패스 룰에 기초하여 스테이트를 수행하는 경우, 전자 장치는 <1730>에 도시된 바와 같이 현재 디스플레이에 표시되고 있는 메시지 어플리케이션에 대한 사용자 인터페이스(1711) 외에 갤러리 어플리케이션에 대한 사용자 인터페이스(1731)를 새로운 윈도우로서 생성하여, 멀티윈도우로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 <1740> 및 <1750>에 도시된 바와 같이 상기 생성된 윈도우를 활성화 윈도우로서 갤러리 어플리케이션을 실행하여 제2 패스 룰에 대응하는 동작 예컨대, 갤러리 어플리케이션에서 검색된 하와이 사진 중 공유할 사진 선택(1741) 및 선택된 사진을 공유하기 위한 어플리케이션 선택(1751)에 대한 스테이트를 순차적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 갤러리 어플리케이션에 대한 사용자 인터페이스(1731)에서 수행할 스테이트가 종료되고 메시지 어플리케이션에 대한 사용자 인터페이스(1711)에서 실행할 스테이트가 시작되면, 전자 장치는 <1760>에 도시된 바와 같이 갤러리 어플리케이션을 종료하고, 메시지 어플리케이션에 대한 사용자 인터페이스(1761)만을 표시할 수 있으며, 상기 메시지 어플리케이션에 대한 사용자 인터페이스(1761)를 통해 사진을 Jack 에게 전송하는 스테이트를 수행할 수 있다. 상기 제2 패스 룰에 따른 스테이트의 수행이 완료되면, 전자 장치는 <1770>에 도시된 바와 같이 메시지 전송을 완료하는 메시지(1771)를 표시할 수 있다.
도 18은 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 18을 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 1810동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 제1 어플리케이션에 대한 제1 사용자 인터페이스 및 제2 어플리케이션에 대한 제2 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1820동작에서 제2 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1830동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1840동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 1850동작에서 수신한 스테이트 스퀀스에 기초하여 수행된 태스크에 대한 제2 사용자 인터페이스를 디스플레이의 제2 영역에 표시할 수 있다.
이와 관련하여, 도 19에서 상세히 살펴보도록 하겠다.
도 19는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 19를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <1910>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역에 메시지 어플리케이션에 대한 사용자 인터페이스(1911), 상기 디스플레이의 제2 영역에 브라우저 어플리케이션에 대한 사용자 인터페이스(1913)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 디스플레이의 제1 영역 및 제2 영역 중 상기 제2 영역에 표시된 브라우저 어플리케이션에 대한 사용자 인터페이스(1913)를 활성화 윈도우로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(1915)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호에 응답하여, <1920>에 도시된 바와 같이 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(1921)를 표시할 수 있다. 전자 장치는 상기 사용자 인터페이스(1921)에서 사용자 입력 “랜드마크 보여줘”를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 멀티윈도우로 표시된 어플리케이션들 중 활성화 윈도우에 표시된 어플리케이션과 태스크를 수행하기 위한 도메인 정보가 동일한 경우, 전자 장치는 상기 활성화 윈도우에 표시된 어플리케이션을 이용하여 사용자 입력에 대한 스테이트를 순차적으로 수행할 수 있다. 예컨대, 사용자 입력 “랜드마크 보여줘”에 대한 스테이트의 시퀀스를 수행할 도메인 정보가 디스플레이의 활성화 윈도우 예컨대, 제2 영역에 표시된 브라우저 어플리케이션과 동일하므로, 전자 장치는 <1930>에 도시된 바와 같이 제2 영역에 표시된 브라우저 어플리케이션을 이용하여 “랜드마크”를 검색할 수 있으며, 검색 결과를 포함하는 사용자 인터페이스(1931)를 표시할 수 있다.
도 20은 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 흐름도이다.
도 20을 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 2010동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 제1 어플리케이션에 대한 제1 사용자 인터페이스 및 제2 어플리케이션에 대한 제2 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2020동작에서 제3 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2030동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2040동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2050동작에서 수신된 시퀀스에 기초하여 디스플레이의 제1 영역 또는 제2 영역에 제3 어플리케이션에 대한 제3 사용자 인터페이스를 표시할 수 있다.
이와 관련하여, 도 21a 및 도 21b에서 상세히 살펴보도록 하겠다.
도 21a 및 도 21b는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따른 화면 제어 방법을 설명하기 위한 도면이다.
도 21a를 참조하면, 전자 장치는 <2110>에 도시된 바와 같이 디스플레이의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2111) 및 브라우저 어플리케이션에 대한 사용자 인터페이스(2113)를 멀티윈도우로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(2115)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호에 응답하여 <2120>에 도시된 바와 같이 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(2121)를 표시할 수 있다. 전자 장치는 상기 사용자 인터페이스(2121)에서 사용자 입력 “하와이에서 찍은 사진을 보여줘”를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 입력 “하와이에서 찍은 사진을 보여줘”를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다. 전자 장치는 지능형 서버로부터 사용자 입력 “하와이에서 찍은 사진을 보여줘”에 대한 스테이트의 시퀀스를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 디스플레이에 멀티윈도우로 표시된 사용자 인터페이스들 중 활성화 상태의 사용자 인터페이스 예컨대, 디스플레이의 제2 영역에 표시된 사용자 인터페이스(2113)에 대응하는 어플리케이션과 사용자 입력에 대한 도메인 정보 예컨대, 어플리케이션이 동일한지 여부를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 디스플레이의 제2 영역에 표시된 사용자 인터페이스(2113)에 대응하는 어플리케이션과 사용자 입력에 대한 도메인 정보 예컨대, 어플리케이션이 상이한 경우, 전자 장치는 디스플레이의 활성화 상태의 제2 영역에 브라우저 어플리케이션에 대한 사용자 인터페이스(2113)의 표시를 유지하며, <2130>에 도시된 바와 같이 활성화 상태가 아닌 영역 예컨대, 디스플레이의 제1 영역에 갤러리 어플리케이션을 실행하고, 상기 갤러리 어플리케이션을 이용하여 사용자 입력에 대한 스테이트를 순차적으로 수행할 수 있다. 전자 장치는 상기 사용자 입력에 대한 스테이트가 순차적으로 수행되는 제1 영역의 갤러리 어플리케이션에 대한 사용자 인터페이스(2131)를 활성화 윈도우로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 갤러리 어플리케이션을 이용한 스테이트의 시퀀스의 수행이 완료되면, 활성화 윈도우를 사용자 입력을 수신하기 전에 활성화 윈도우였던 제2 영역으로 변경할 수 있다.
도 21b를 참조하면, 전자 장치는 <2140>에 도시된 바와 같이 디스플레이의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2141) 및 브라우저 어플리케이션에 대한 사용자 인터페이스(2143)를 멀티윈도우로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(2145)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호에 응답하여 <2150>에 도시된 바와 같이 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(2151)를 표시할 수 있다. 전자 장치는 상기 사용자 인터페이스(2151)에서 사용자 입력 “Jack에게 알았다 문자 보내줘”를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 입력 “Jack에게 알았다 문자 보내줘”를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다. 전자 장치는 지능형 서버로부터 사용자 입력 “Jack에게 알았다 문자 보내줘”에 대한 스테이트의 시퀀스를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 디스플레이에 멀티윈도우로 표시된 사용자 인터페이스들 중 활성화 상태의 사용자 인터페이스 예컨대, 디스플레이의 제2 영역에 표시된 사용자 인터페이스(2143)에 대응하는 어플리케이션과 사용자 입력에 대한 도메인 정보 예컨대, 어플리케이션이 동일한지 여부를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 디스플레이의 제2 영역에 표시된 사용자 인터페이스(2143)에 대응하는 어플리케이션과 사용자 입력에 대한 도메인 정보 예컨대, 어플리케이션이 동일한 경우, 전자 장치는 디스플레이의 활성화 상태의 제2 영역에 브라우저 어플리케이션에 대한 사용자 인터페이스(2143)의 표시를 유지하며, <2160>에 도시된 바와 같이 디스플레이의 제1 영역에 표시된 사용자 인터페이스에 대응하는 메시지 어플리케이션을 이용하여 스테이트의 시퀀스에 따라 스테이트를 수행 및 수행 결과에 따른 메시지 어플리케이션에 대한 사용자 인터페이스(2161)(예컨대, Jack에게 “알았다”메시지를 송신한 인터페이스)를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 스테이트가 수행되는 제1 영역의 메시지 어플리케이션에 대한 사용자 인터페이스(2161)를 활성화 윈도우로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 메시지 어플리케이션을 이용한 스테이트의 시퀀스의 수행이 완료되면, 활성화 윈도우를 상기 스테이트가 수행되는 제1 영역에서 사용자 입력을 수신하기 전에 활성화 윈도우였던 제2 영역으로 변경할 수 있다.
본 발명의 다양한 실시예에 따르면, 후술하는 도 22 내지 도 23c는 멀티윈도우 상태에서 사용자 입력에 대응하는 패스 룰 도메인이 복수개인 경우에 대한 실시예를 설명하기 위한 도면이다.
도 22는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 흐름도이다.
도 22를 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 2210동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 제1 어플리케이션에 대한 제1 사용자 인터페이스 및 제2 어플리케이션에 대한 제2 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2220동작에서 제1 어플리케이션 및 제3 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2230동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2240동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2250동작에서 디스플레이의 제2 영역에 제2 사용자 인터페이스의 표시를 유지하면서, 스테이트의 시퀀스에 기초하여 수행된 태스크에 대한 제1 사용자 인터페이스를 디스플레이의 제1 영역에 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2260동작에서 제1 사용자 인터페이스를 표시한 후, 디스플레이의 제2 영역에 제2 사용자 인터페이스의 표시를 유지하면서, 스테이트의 시퀀스에 기초하여 디스플레이의 제1 영역에 제3 사용자 인터페이스를 표시할 수 있다.
이와 관련하여, 도 23a 내지 도 23c에서 상세히 살펴보도록 하겠다.
도 23a 내지 도 23c는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 23a 내지 도 23c를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <2310>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 갤러리 어플리케이션에 대한 사용자 인터페이스(2311) 및 브라우저 어플리케이션에 대한 사용자 인터페이스(2313)를 멀티윈도우로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(2315)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호에 응답하여, <2320>에 도시된 바와 같이 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(2321)를 표시할 수 있다. 전자 장치는 상기 사용자 인터페이스(2321)에서 사용자 입력 “하와이 사진을 Jack에게 보내줘”를 수신할 수 있다. 전자 장치는 상기 사용자 입력 “하와이 사진을 Jack에게 보내줘”를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버의 자연어 이해 모듈(예컨대, 도 8b의 자연어 이해 모듈(855))은 사용자 입력 “하와이 사진을 Jack에게 보내줘”에 기초하여, 도메인 정보, 의도, 및 파라미터를 생성할 수 있다. 서버의 자연어 이해 모듈은 상기 생성된 도메인 정보, 의도 및 파라미터를 지능형 서버의 패스 플래너 모듈(예컨대, 도 8b의 패스 플래너 모듈(859))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버의 자연어 이해 모듈에 의해 생성된 상기 사용자 입력 “하와이 사진을 Jack에게 보내줘”에 대응하는 도메인 정보가 복수개인 경우, 패스 플래너 모듈은 상기 복수개의 도메인 정보에 기초하여 패스 룰을 복수개 생성할 수 있다. 예컨대, 지능형 서버의 패스 플래너 모듈은 사용자 입력 “하와이 사진을 Jack에게 보내줘”에 대한 제1 패스 룰 “message-conversation view(jack)-첨부-search-search result(Hawaii)-하와이 사진 선택-보내기” 및 제2 패스 룰 “gallery-search-search result(Hawaii)-하와이 사진 선택-share via message-send”를 생성할 수 있다. 지능형 서버는 상기 생성된 제1 패스 룰 및 제2 패스 룰을 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 지능형 서버로부터 수신한 제1 패스 룰 및 제2 패스 룰 중 하나를 이용하여 스테이트를 순차적으로 실행할 수 있다.
본 발명의 다양한 실시예에 따르면, 제1 패스 룰에 기초하여 스테이트를 순차적으로 수행하는 경우, 전자 장치는 멀티윈도우 중 활성화 상태가 아닌 디스플레이의 제1 영역에 표시된 갤러리 어플리케이션과 제1 패스 룰에 기초하여 처음 스테이트를 수행할 도메인 정보 즉, 메시지 어플리케이션을 비교할 수 있다. 비교 결과, 상이한 것으로 결정되면 전자 장치는 갤러리 어플리케이션이 표시된 디스플레이의 제1 영역으로 활성화 윈도우를 변경한 후, 상기 제1 영역에서 스테이트 예컨대, “message-conversation view(jack)-첨부-search-search result(Hawaii)-하와이 사진 선택-보내기”를 순차적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 제2 패스 룰에 기초하여 스테이트를 수행하는 경우, 전자 장치는 멀티윈도우 중 활성화 상태가 아닌 디스플레이의 제1 영역에 표시된 갤러리 어플리케이션과 제2 패스 룰에 기초하여 처음 스테이트를 수행할 도메인 정보 즉, 갤러리 어플리케이션을 비교할 수 있다. 비교 결과, 동일한 것으로 결정되면, 전자 장치는 <2330> 내지 <2350>에 도시된 바와 같이 갤러리 어플리케이션이 표시된 디스플레이의 제1 영역을 활성화 윈도우로 변경한 후, 상기 제2 영역에서 스테이트 예컨대, “gallery-search-search result(Hawaii)(2331)-하와이 사진 선택(2341)-share via message(2351)”를 순차적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 갤러리 어플리케이션을 이용하여 스테이트를 순차적으로 수행한 후, 메시지 어플리케이션을 이용하여 수행할 스테이트가 시작되면, 전자 장치는 <2360>에 도시된 바와 같이 갤러리 어플리케이션에 대한 사용자 인터페이스를 표시했던 디스플레이의 제1 영역에서 메시지 어플리케이션을 실행하고 제2 패스 룰의 남은 스테이트 예컨대, “send “를 수행(2361)할 수 있다. 전자 장치는 <2370>에 도시된 바와 같이 메시지 전송 결과에 따른 사용자 인터페이스(2371)를 표시할 수 있다.
도 24는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 흐름도이다.
도 24를 참조하면, 전자 장치(예컨대, 도 4의 프로세서(460))는 2410동작에서 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 제1 어플리케이션에 대한 제1 사용자 인터페이스 및 제2 어플리케이션에 대한 제2 사용자 인터페이스를 멀티윈도우로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2420동작에서 제1 어플리케이션 및 제3 어플리케이션을 이용하여 태스크를 수행하기 위한 사용자 입력을 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2430동작에서 사용자 입력과 연관된 데이터를 외부 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2440동작에서 외부 서버(예컨대, 도 8b의 지능형 서버(850))로부터 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2450동작에서 수신한 스테이트의 시퀀스에 기초하여 디스플레이의 제2 영역에 제3 어플리케이션에 대한 제3 사용자 인터페이스를 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))는 2460동작에서 제3 사용자 인터페이스를 표시한 후, 수신한 스테이트의 시퀀스에 기초하여 수행된 태스크에 대한 제1 사용자 인터페이스를 디스플레이의 제1 영역에 표시할 수 있다.
이와 관련하여, 도 25a 내지 도 25c에서 상세히 살펴보도록 하겠다.
도 25a 내지 도 25c는 본 발명의 다양한 실시예에 따른 멀티윈도우에서 수신되는 사용자 입력에 따라 수행해야 할 어플리케이션이 복수개인 경우 화면 제어 방법을 설명하기 위한 도면이다.
도 25a 내지 도 25c를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <2510>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2511) 및 브라우저 어플리케이션에 대한 사용자 인터페이스(2513)를 멀티윈도우로 표시할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 전자 장치에 별도로 구비된 하드웨어 키(2515)(예컨대, 도 8a의 하드웨어 키(813))를 누르는 신호에 응답하여, <2520>에 도시된 바와 같이 상기 음성 인식 기능을 수행하기 위한 사용자 인터페이스(2521)를 표시할 수 있다. 전자 장치는 상기 사용자 인터페이스(2521)에서 사용자 입력 “send Hawaii photo to Jack”를 수신할 수 있다. 전자 장치는 상기 사용자 입력 “send Hawaii photo to Jack”를 지능형 서버(예컨대, 도 8b 의 지능형 서버(850))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버의 자연어 이해 모듈(예컨대, 도 8b의 자연어 이해 모듈(855))은 사용자 입력 “send Hawaii photo to Jack”에 기초하여, 도메인 정보, 의도, 및 파라미터를 생성할 수 있다. 지능형 서버의 자연어 이해 모듈은 상기 생성된 도메인 정보, 의도 및 파라미터를 지능형 서버의 패스 플래너 모듈(예컨대, 도 8b의 패스 플래너 모듈(859))에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버의 자연어 이해 모듈에 의해 생성된 상기 사용자 입력 “send Hawaii photo to Jack”에 대응하는 도메인 정보가 복수개인 경우, 패스 플래너 모듈은 상기 복수개의 도메인 정보에 기초하여 패스 룰을 복수개 생성할 수 있다. 예컨대, 지능형 서버의 패스 플래너 모듈은 사용자 입력 “send Hawaii photo to Jack”에 대한 제1 패스 룰 “message-conversation view(jack)-첨부-search-search result(Hawaii)-하와이 사진 선택-보내기” 및 제2 패스 룰 “gallery-search-search result(Hawaii)-하와이 사진 선택-share via message-send”를 생성할 수 있다. 지능형 서버는 상기 생성된 제1 패스 룰 및 제2 패스 룰을 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 지능형 서버로부터 수신한 제1 패스 룰 및 제2 패스 룰 중 하나를 이용하여 스테이트를 순차적으로 실행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 제1 패스 룰에 기초하여 스테이트의 시퀀스를 수행하는 경우, 멀티윈도우 중 활성화 상태가 아닌 메시지 어플리케이션과 제1 패스 룰을 수행할 도메인(어플리케이션)이 동일한지 여부를 결정할 수 있다. 멀티윈도우 중 활성화 상태가 아닌 메시지 어플리케이션과 제1 패스 룰을 수행할 도메인 즉, 메시지 어플리케이션이 동일하므로, 전자 장치는 메시지 어플리케이션이 표시된 디스플레이의 제1 영역을 활성화 윈도우로 변경한 후, 제1 영역에서 스테이트 예컨대, “message-conversation view(jack)-첨부-search-search result(Hawaii)-하와이 사진 선택-보내기”를 순차적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 제2 패스 룰에 기초하여 스테이트를 수행하는 경우, 전자 장치는 멀티윈도우로 표시된 메시지 및 브라우저 어플리케이션과 제2 패스 룰에 기초하여 스테이트를 수행할 도메인 정보 즉, 메시지 어플리케이션 및 갤러리 어플리케이션을 비교할 수 있다. 전자 장치는 제2 패스 룰에 기초하여 스테이트를 수행할 어플리케이션과 관련 없는 브라우저 어플리케이션이 표시된 디스플레이의 제2 영역을 스테이트를 수행할 어플리케이션에 대한 사용자 인터페이스를 표시할 영역으로 결정할 수 있다. 전자 장치는 <2530> 내지 <2550>에 도시된 바와 같이 상기 제2 영역에 갤러리 어플리케이션을 실행하여 표시할 수 있으며, 상기 제2 영역에서 스테이트 예컨대, “gallery-search-search result(Hawaii)(2531)-하와이 사진 선택(2541)-share via message(2551)”를 순차적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 상기 갤러리 어플리케이션을 이용하여 스테이트를 수행한 후, 메시지 어플리케이션을 이용하여 수행할 스테이트가 시작되면, 전자 장치는 <2560>에 도시된 바와 같이 디스플레이의 제1 영역에 표시된 메시지 어플리케이션을 이용하여 제2 패스 룰의 남은 스테이트 예컨대, “send “를 수행(2561)할 수 있다. 전자 장치는 <2570>에 도시된 바와 같이 메시지 전송 결과에 따른 사용자 인터페이스(2571)를 표시할 수 있다.
도 26은 본 발명의 다양한 실시예에 따른 지능형 서버에서 사용자 입력에 대한 패스 룰을 생성하는 방법을 설명하기 위한 흐름도이다.
도 26을 참조하면, 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2610동작에서 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))로부터 태스크를 수행하기 위한 사용자 입력과 연관된 데이터를 수신할 수 있다. 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2620동작에서 패스 플래너 모듈(예컨대, 도 8b의 패스 플래너 모듈(856))을 통해 태스크를 수행하기 위한 스테이트의 시퀀스를 포함하는 정보를 생성하여 전자 장치에 송신할 수 있다. 상기 스테이트의 시퀀스를 포함하는 정보를 생성하는 동작과 관련하여 도 5b에서 설명하였으므로 상세한 설명은 생략하도록 한다.
도 27은 본 발명의 다양한 실시예에 따른 지능형 서버의 패스 룰에 대응하는 어플리케이션을 표시할 윈도우를 결정하는 방법을 설명하기 위한 흐름도이다.
도 27을 참조하면, 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2710동작에서 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))로부터 태스크를 수행하기 위한 사용자 입력과 연관된 데이터를 수신할 수 있다. 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2720동작에서 전자 장치로부터 수신한 사용자 입력과 연관된 데이터를 분석할 수 있다. 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2730동작에서 상기 분석된 사용자 입력과 연관된 데이터가 상기 전자 장치의 디스플레이에 표시된 어플리케이션에서 수행 가능한 명령인지 여부를 결정할 수 있다. 예컨대, 상기 사용자 입력은 사용자 발화 및 터치 인터랙션 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2740동작에서 수신된 사용자 입력이 전자 장치의 디스플레이에 표시된 어플리케이션에서 수행 가능한 명령인지 여부에 따라, 상기 전자 장치의 디스플레이에 활성화 또는 비활성화된 어플리케이션에 해당하는 스테이트의 시퀀스에 대한 정보를 생성할 수 있다. 지능형 서버(예컨대, 도 8b의 지능형 서버(850))는 2750동작에서 생성된 스테이트의 시퀀스에 대한 정보를 전자 장치(예컨대, 도 8b의 지능형 에이전트(820))에 송신할 수 있다.
이와 관련하여, 도 28a 내지 도 28e에서 상세히 살펴보도록 하겠다.
도 28a 내지 도 28e는 본 발명의 다양한 실시예에 따른 지능형 서버의 패스 룰에 대응하는 어플리케이션을 표시할 윈도우를 결정하는 방법을 설명하기 위한 도면이다.
도 28a를 참조하면, 전자 장치(예컨대, 도 8b의 전자 장치(810))는 <2810>에 도시된 바와 같이 디스플레이(예컨대, 도 4의 디스플레이(420))의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2811) 및 브라우저 어플리케이션에 대한 사용자 인터페이스(2813)를 멀티윈도우로 표시할 수 있다. 상기 사용자 인터페이스들 중 메시지 어플리케이션에 대한 사용자 인터페이스(2811)가 표시된 제1 영역이 활성화 윈도우일 수 있다. 전자 장치는 사용자 입력 예컨대, “삭제해줘”(2815)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사용자 입력 “삭제해줘”(2815)를 지능형 서버(예컨대, 도 8b의 지능형 서버(850))에 송신할 수 있다. 전자 장치는 상기 사용자 입력과 함께 윈도우 컨텍스트 정보를 지능형 서버에 송신할 수 있다. 상기 윈도우 컨텍스트 정보는 디스플레이된 윈도우의 개수 정보, 활성화 상태의 윈도우 정보, 윈도우에 표시된 어플리케이션의 정보, 어플리케이션의 상태(state) 정보, 및 윈도우들의 입력 상태 정보(예컨대, 키패드를 이용한 입력 상태 여부)등을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버는 상기 윈도우 컨텍스트 정보에 기초하여 상기 사용자 입력 “삭제해줘”(2815)에 대응하는 동작이 상기 활성화 윈도우에 표시된 메시지 어플리케이션에 대한 사용자 인터페이스에서 수행 가능한지 여부를 결정할 수 있다. 수행 가능한 경우, 지능형 서버는 상기 사용자 입력 “삭제해줘”(2815)를 수행할 윈도우를 제1 영역의 메시지 어플리케이션에 대한 사용자 인터페이스로 결정하고 이를 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 <2820>에 도시된 바와 같이 지능형 서버로부터 결정된 윈도우에서(예컨대, 메시지 어플리케이션에 대한 사용자 인터페이스)에서 메시지를 삭제하는 동작(2821)을 수행할 수 있다.
도 28b를 참조하면, 전자 장치는 <2830>에 도시된 바와 같이 디스플레이의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2831) 및 브라우저 어플리케이션에 대한 사용자 인터페이스(2833)를 멀티윈도우로 표시할 수 있다. 상기 사용자 인터페이스들 중 브라우저 어플리케이션에 대한 사용자 인터페이스(2833)가 표시된 제2 영역이 활성화 윈도우일 수 있다. 전자 장치는 사용자 입력 예컨대, “삭제해줘”(2835)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사용자 입력 “삭제해줘”(2835)를 지능형 서버에 송신할 수 있다. 전자 장치는 상기 사용자 입력과 함께 윈도우 컨텍스트 정보를 지능형 서버에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버는 상기 윈도우 컨텍스트 정보에 기초하여 상기 사용자 입력 “삭제해줘”(2835)에 대응하는 동작이 상기 활성화 윈도우로서 제2 영역에 표시된 브라우저 어플리케이션에 대한 사용자 인터페이스(2833)에서 수행될 수 있는지 여부를 결정할 수 있다. 상기 사용자 입력 “삭제해줘”(2835)에 대응하는 동작이 상기 활성화 윈도우로서 제2 영역에 표시된 브라우저 어플리케이션에 대한 사용자 인터페이스(2833)에서 수행될 수 없는 경우, 전자 장치는 활성화 윈도우로서 제2 영역 외에 디스플레이에 표시되고 있는 다른 영역 예컨대, 비활성화 윈도우의 제1 영역에 표시된 메시지 어플리케이션에 대한 사용자 인터페이스(2831)에서 수행될 수 있는지 여부를 결정할 수 있다. 상기 비활성화 윈도우의 제1 영역에 표시된 메시지 어플리케이션에 대한 사용자 인터페이스(2831)에서 사용자 입력 “삭제해줘”(2835)에 대응하는 동작을 수행할 수 있는 경우, 지능형 서버는 상기 사용자 입력 “삭제해줘”(2815)를 수행할 윈도우를 제1 영역의 메시지 어플리케이션에 대한 사용자 인터페이스(2831)로 결정하고 이를 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 <2840>에 도시된 바와 같이 지능형 서버에 의해 결정된 윈도우(예컨대, 상기 메시지 어플리케이션에 대한 사용자 인터페이스)에서 메시지를 삭제하는 동작(2841)을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 삭제하는 동작을 수행하는 중에, 활성화 윈도우를 기존과 동일하게 제2 영역으로 유지하거나, 삭제하는 동작을 수행하는 제1 영역으로 변경할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 삭제하는 동작을 수행한 후, 활성화 윈도우를 삭제 동작의 수행으로 변경된 제1 영역으로 유지하거나, 삭제 동작을 수행하기 전의 활성화 윈도우였던 제2 영역으로 변경할 수 있다.
도 28c를 참조하면, 전자 장치는 <2850>에 도시된 바와 같이 디스플레이의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2851) 및 갤러리 어플리케이션에 대한 사용자 인터페이스(2853)를 멀티윈도우로 표시할 수 있다. 상기 사용자 인터페이스들 중 메시지 어플리케이션에 대한 사용자 인터페이스(2851)가 표시된 제1 영역이 활성화 윈도우일 수 있다. 전자 장치는 사용자 입력 예컨대, “삭제해줘”(2855)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 입력 “삭제해줘”(2855)를 지능형 서버에 송신할 수 있다. 전자 장치는 상기 사용자 입력과 함께 윈도우 컨텍스트 정보를 지능형 서버에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버는 상기 윈도우 컨텍스트 정보에 기초하여 상기 사용자 입력 “삭제해줘”(2855)에 대응하는 동작이 상기 디스플레이의 제1 영역 및 제2 영역에 표시된 어플리케이션들에 대한 사용자 인터페이스(2851, 2853)에서 수행될 수 있는지 여부를 결정할 수 있다. 상기 사용자 입력 “삭제해줘”(2855)에 대응하는 동작이 상기 제1 영역 및 제2 영역에 표시된 어플리케이션에 대한 사용자 인터페이스들(2851, 2853)에서 수행될 수 있는 경우, 지능형 서버는 우선적으로 활성화 윈도우에서 상기 사용자 입력이 수행되도록 결정하고 이를 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 <2860>에 도시된 바와 같이 지능형 서버에 의해 결정된 활성화 윈도우 예컨대, 제1 영역에 표시된 메시지 어플리케이션에 대한 사용자 인터페이스(2851)에서 메시지를 삭제하는 명령(2861)을 수행할 수 있다.
도 28d를 참조하면, 전자 장치는 <2870>에 도시된 바와 같이 디스플레이의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2871) 및 갤러리 어플리케이션에 대한 사용자 인터페이스(2873)를 멀티윈도우로 표시할 수 있다. 상기 사용자 인터페이스들 중 메시지 어플리케이션에 대한 사용자 인터페이스(2871)가 표시된 제1 영역이 활성화 윈도우일 수 있다. 전자 장치는 사용자 입력 예컨대, “메시지 삭제해줘”(2875)를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 입력 “메시지 삭제해줘”(2875)를 지능형 서버에 송신할 수 있다. 전자 장치는 상기 사용자 입력과 함께 윈도우 컨텍스트 정보를 지능형 서버에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버는 상기 사용자 입력 “메시지 삭제해줘”(2875)와 같이 삭제 대상(예컨대, 메시지)을 포함하는 사용자 입력을 수신하는 경우, 디스플레이 영역의 활성화 여부와 관계없이 상기 삭제 대상에 대응하는 어플리케이션에 대한 사용자 인터페이스에서 삭제 명령을 우선적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버는 사용자 입력 “메시지 삭제해줘”(2875)에서 삭제 대상의 “메시지”에 대응하는 어플리케이션에 대한 사용자 인터페이스가 디스플레이에 표시되어 있는지 여부를 결정할 수 있다. 전술한 바와 같이 디스플레이의 활성화 윈도우인 제1 영역에 메시지 어플리케이션에 대한 사용자 인터페이스(2871)가 표시된 상태이므로, 지능형 서버는 사용자 입력 “메시지 삭제해줘”를 수행할 윈도우를 디스플레이의 활성화 윈도우인 제1 영역에 표시된 메시지 어플리케이션에 대한 사용자 인터페이스(2871)로 결정하고, 이를 전자 장치에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 <2880>에 도시된 바와 같이 지능형 서버에 의해 결정된 윈도우(예컨대, 디스플레이의 제1 영역에 표시된 메시지 어플리케이션에 대한 사용자 인터페이스(2871))에서 메시지를 삭제하는 명령(2881)을 수행할 수 있다.
본 발명의 다양한 실시예에서 사용자 입력 “메시지 삭제해줘”로 가정하여 설명하였지만, 이에 한정하는 것은 아니다. 예컨대, 지능형 서버는 전자 장치로부터 사용자 입력 “사진 삭제해줘”를 수신하면, 삭제 대상의 “사진”에 대응하는 어플리케이션에 대한 사용자 인터페이스가 디스플레이에 표시되어 있는지 여부를 결정할 수 있다. 전술한 바와 같이 디스플레이의 비활성화 윈도우인 제2 영역에 갤러리 어플리케이션에 대한 사용자 인터페이스(2873)가 표시된 상태이므로, 지능형 서버는 사용자 입력 “사진 삭제해줘”를 수행할 윈도우를 디스플레이의 비활성화 윈도우인 제2 영역에 표시된 갤러리 어플리케이션에 대한 사용자 인터페이스(2873)로 결정하고, 이를 전자 장치에 송신할 수 있다. 본 발명의 다양한 실시예에 따르면, 전자 장치는 상기 사진을 삭제하는 동작을 수행하는 중에 활성화 윈도우를 제1 영역에서 제2 영역으로 변경할 수 있다. 또한, 전자 장치는 상기 삭제하는 동작을 수행한 후, 활성화 윈도우를 제2 영역으로 유지하거나, 기존의 활성화 윈도우였던 제1 영역으로 변경할 수 있다.
도 28e를 참조하면, 전자 장치는 <2890>에 도시된 바와 같이 디스플레이의 제1 영역 및 제2 영역 각각에 메시지 어플리케이션에 대한 사용자 인터페이스(2891) 및 갤러리 어플리케이션에 대한 사용자 인터페이스(2892)를 멀티윈도우로 표시할 수 있다. 상기 사용자 인터페이스들 중 갤러리 어플리케이션에 대한 사용자 인터페이스(2892)가 표시된 제2 영역이 활성화 윈도우일 수 있다. 전자 장치는 사용자 입력 예컨대, “삭제해줘”(2894)를 수신 및 상기 제2 영역에서의 터치 인터랙션(2893)을 감지할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자 입력 “삭제해줘”(2894)를 지능형 서버에 송신할 수 있다. 전자 장치는 상기 사용자 입력과 함께 윈도우 컨텍스트 정보 및 상기 감지된 터치 인터랙션(2893)에 대한 정보를 지능형 서버에 송신할 수 있다.
본 발명의 다양한 실시예에 따르면, 지능형 서버는 “삭제해줘”(2894)에 대응하는 동작(예컨대, 삭제 명령)을 수행할 윈도우를 메시지 어플리케이션에 대한 사용자 인터페이스(2891)가 표시된 제1 영역(예컨대, 터치 인터랙션(2893)이 감지되지 않은 영역)으로 결정할 수 있다. 또한, 지능형 서버는 제2 영역에서 감지된 터치 인터랙션(2893)에 대응하는 동작을 수행할 윈도우를 갤러리 어플리케이션에 대한 사용자 인터페이스(2892)가 표시된 제2 영역(예컨대, 터치 인터랙션(2893)이 감지된 영역)으로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 지능형 서버로부터 결정된 윈도우에 기초하여 <2895>에 도시된 바와 같이 메시지 어플리케이션에 대한 사용자 인터페이스(2891)가 표시된 디스플레이의 제1 영역에서 사용자 입력에 대응하는 삭제 명령(2897)을 수행할 수 있다. 또한, 전자 장치는 갤러리 어플리케이션에 대한 사용자 인터페이스(2892)가 표시된 디스플레이의 제2 영역에서 터치 인터랙션(2893)에 대응하는 동작 예컨대, 다음 사진으로 전환된 갤러리 어플리케이션에 대한 사용자 인터페이스(2898)를 표시할 수 있다.
이상에서는 본 발명의 실시예에 따르면, 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법에 대하여 본 명세서 및 도면을 통해 바람직한 실시예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위해 일반적인 의미에서 사용된 것일 뿐, 본 발명이 전술한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 기술적 사상에 바탕을 둔 다양한 실시예가 가능함은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
Claims (13)
- 전자 장치에 있어서,하우징;상기 하우징 내부에 위치하고, 상기 하우징의 제1 부분을 통하여 노출되는 터치스크린 디스플레이;상기 하우징 내부에 위치하고, 상기 하우징의 제2 부분을 통하여 노출되는 마이크;상기 하우징 내부에 위치하고, 상기 하우징의 제3 부분을 통하여 노출되는 적어도 하나의 스피커;상기 하우징 내부에 위치하는 무선 통신 회로;상기 하우징 내부에 위치하고, 상기 터치스크린 디스플레이, 상기 마이크, 상기 적어도 하나의 스피커, 및 상기 무선 통신 회로와 전기적으로 연결되는 프로세서; 및상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고,상기 메모리는 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램 및 제2 사용자 인터페이스를 포함하는 제2 어플리케이션 프로그램을 저장하고,상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 메모리가 실행될 때 상기 프로세서는,상기 터치스크린 디스플레이에 상기 제1 사용자 인터페이스를 표시하고,상기 제1 사용자 인터페이스를 표시하는 동안 상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제2 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고,상기 무선 통신 회로를 통해 상기 사용자 입력과 연관된 데이터를 외부 서버에 송신하고,상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위해 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고,상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제1 사용자 인터페이스의 일부를 표시하는 동안 상기 터치스크린 디스플레이의 제1 영역에 상기 제2 사용자 인터페이스를 표시하는 인스트럭션들을 포함하는 전자 장치.
- 제1항에 있어서,상기 메모리가 실행될 때 상기 프로세서는,상기 제1 사용자 인터페이스의 일부와 중첩하도록 상기 제2 사용자 인터페이스를 표시하는 전자 장치.
- 제1항에 있어서,상기 메모리가 실행될 때 상기 프로세서는,상기 제2 사용자 인터페이스를 표시한 후, 상기 제1 사용자 인터페이스와 상기 제2 사용자 인터페이스를 클로즈하고, 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이에 제3 사용자 인터페이스를 표시하는 전자 장치.
- 제1항에 있어서,상기 메모리가 실행될 때 상기 프로세서는,상기 제1 사용자 인터페이스를 표시하는 동안 음성 인식 기능을 실행하기 위한 입력이 감지되면, 상기 터치스크린 디스플레이에 상기 음성 인식 기능에 대한 사용자 인터페이스를 표시하고, 상기 음성 인식 기능에 대한 사용자 인터페이스를 통해 상기 사용자 입력을 수신하는 전자 장치.
- 제1항에 있어서,상기 음성 인식 기능을 실행하기 위한 하드웨어 키를 포함하는 입력 모듈을 더 포함하는 전자 장치.
- 제1항에 있어서,상기 메모리가 실행될 때 상기 프로세서는,상기 제2 사용자 인터페이스를 표시할 상기 터치스크린 디스플레이의 영역을 상기 스테이트의 시퀀스와 윈도우 컨텍스트 정보에 기초하여 결정하는 전자 장치.
- 제6항에 있어서,상기 윈도우 컨텍스트 정보는, 현재 실행 중인 어플리케이션에 대한 정보, 실행 중인 어플리케이션에 대한 사용자 인터페이스가 표시된 상기 터치스크린 디스플레이의 윈도우 활성화 여부에 대한 정보, 실행 중인 어플리케이션에 대한 사용자 인터페이스가 입력 특성을 가지는지 여부에 대한 정보 중 적어도 하나를 포함하는 전자 장치.
- 제1항에 있어서,상기 메모리가 실행될 때 상기 프로세서는,상기 무선 통신 회로를 통해 외부 장치와의 연결 여부를 결정하고, 상기 외부 장치와 연결된 것으로 결정되면 상기 제2 사용자 어플리케이션을 상기 외부 장치의 디스플레이에 표시하도록 상기 스테이트의 시퀀스에 대한 정보를 상기 무선 통신 회로를 통해 상기 외부 장치에 송신하는 전자 장치.
- 제1항에 있어서,상기 제1 어플리케이션 프로그램은 메시지 어플리케이션을 포함하고, 상기 제2 어플리케이션 프로그램은 갤러리 어플리케이션, 카메라 어플리케이션, 브라우저 어플리케이션 중 적어도 하나를 포함하는 전자 장치.
- 전자 장치에 있어서,하우징;상기 하우징 내부에 위치하고, 상기 하우징의 제1 부분을 통하여 노출되는 터치스크린 디스플레이;상기 하우징 내부에 위치하고, 상기 하우징의 제2 부분을 통하여 노출되는 마이크;상기 하우징 내부에 위치하고, 상기 하우징의 제3 부분을 통하여 노출되는 적어도 하나의 스피커;상기 하우징 내부에 위치하는 무선 통신 회로;상기 하우징 내부에 위치하고, 상기 터치스크린 디스플레이, 상기 마이크, 상기 적어도 하나의 스피커, 및 상기 무선 통신 회로와 전기적으로 연결되는 프로세서; 및상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고,상기 메모리는 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램 및 제2 사용자 인터페이스를 포함하는 제2 어플리케이션 프로그램을 저장하고,상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 메모리가 실행될 때 상기 프로세서는,상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제1 어플리케이션 프로그램 및 상기 제2 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고,상기 무선 통신 회로를 통해 상기 사용자 입력과 연관된 데이터를 외부 서버에 송신하고,상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위한 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고,상기 응답을 수신한 후, 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이에 상기 제1 사용자 인터페이스를 표시하고,상기 제1 사용자 인터페이스를 표시한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제1 사용자 인터페이스의 일부를 표시하는 동안 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이의 제2 영역에 상기 제2 사용자 어플리케이션을 표시하는 인스트럭션들을 포함하는 전자 장치.
- 전자 장치에 있어서,하우징;상기 하우징 내부에 위치하고, 상기 하우징의 제1 부분을 통하여 노출되는 터치스크린 디스플레이;상기 하우징 내부에 위치하고, 상기 하우징의 제2 부분을 통하여 노출되는 마이크;상기 하우징 내부에 위치하고, 상기 하우징의 제3 부분을 통하여 노출되는 적어도 하나의 스피커;상기 하우징 내부에 위치하는 무선 통신 회로;상기 하우징 내부에 위치하고, 상기 터치스크린 디스플레이, 상기 마이크, 상기 적어도 하나의 스피커, 및 상기 무선 통신 회로와 전기적으로 연결되는 프로세서; 및상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고,상기 메모리는 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램 및 제2 사용자 인터페이스를 포함하는 제2 어플리케이션 프로그램을 저장하고,상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 메모리가 실행될 때 상기 프로세서는,상기 터치스크린 디스플레이의 제1 영역에 상기 제1 사용자 인터페이스, 제2 영역에 상기 제2 사용자 인터페이스를 표시하고,상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제2 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고,상기 무선 통신 회로를 통해 상기 사용자 입력과 연관된 데이터를 외부 서버에 송신하고,상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위한 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고,상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제1 영역에 상기 제1 사용자 인터페이스의 표시를 유지하면서 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이의 상기 제2 사용자 인터페이스를 변환(adapt)하는 인스트럭션들을 포함하는 전자 장치.
- 제 11 항에 있어서,상기 메모리는 제3 사용자 인터페이스를 포함하는 제3 어플리케이션 프로그램을 더 저장하고,상기 메모리가 실행될 때 상기 프로세서는,상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제3 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고,상기 무선 통신 회로를 통해 상기 제3 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력과 연관된 데이터를 상기 외부 서버에 송신하고,상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위한 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고,상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제2 사용자 인터페이스의 표시를 유지하면서 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이의 제1 영역에 상기 제3 사용자 인터페이스를 표시하는 인스트럭션들을 포함하는 전자 장치.
- 제 11 항에 있어서,상기 메모리는 제3 사용자 인터페이스를 포함하는 제3 어플리케이션 프로그램을 더 저장하고,상기 메모리가 실행될 때 상기 프로세서는,상기 터치스크린 디스플레이 또는 상기 마이크 중 적어도 하나를 통해 상기 제1 어플리케이션 프로그램 및 상기 제3 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고,상기 무선 통신 회로를 통해 상기 제1 어플리케이션 프로그램 및 상기 제3 어플리케이션 프로그램을 이용하여 태스크를 수행하기 위한 요청을 포함하는 사용자 입력과 연관된 데이터를 상기 외부 서버에 송신하고,상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 태스크를 수행하기 위한 상기 전자 장치의 스테이트의 시퀀스에 대한 정보를 포함하는 응답을 수신하고,상기 응답을 수신한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제2 사용자 인터페이스의 표시를 유지하면서 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이의 제1 영역에 상기 제1 사용자 인터페이스를 변환하고,상기 제1 사용자 인터페이스를 변환하여 표시한 후, 상기 터치스크린 디스플레이의 제2 영역에 상기 제2 사용자 인터페이스의 표시를 유지하면서 상기 스테이트의 시퀀스에 기초하여 상기 터치스크린 디스플레이의 제1 영역에 상기 제3 사용자 인터페이스를 표시하는 인스트럭션들을 포함하는 전자 장치.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/499,197 US11360791B2 (en) | 2017-03-28 | 2018-03-27 | Electronic device and screen control method for processing user input by using same |
| EP18776046.7A EP3588258A4 (en) | 2017-03-28 | 2018-03-27 | ELECTRONIC DEVICE AND SCREEN CONTROL METHOD FOR PROCESSING USER INPUT BY USING IT |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170039239A KR102389996B1 (ko) | 2017-03-28 | 2017-03-28 | 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법 |
| KR10-2017-0039239 | 2017-03-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018182270A1 true WO2018182270A1 (ko) | 2018-10-04 |
Family
ID=63676635
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2018/003574 Ceased WO2018182270A1 (ko) | 2017-03-28 | 2018-03-27 | 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11360791B2 (ko) |
| EP (1) | EP3588258A4 (ko) |
| KR (1) | KR102389996B1 (ko) |
| WO (1) | WO2018182270A1 (ko) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112214101A (zh) * | 2019-07-11 | 2021-01-12 | 祥闳科技股份有限公司 | 安全互动系统和通信显示装置 |
| US11334244B2 (en) * | 2019-10-14 | 2022-05-17 | Samsung Electronics Co., Ltd. | Electronic device and method of processing pop-up window using multi-window thereof |
| US12346500B1 (en) | 2023-04-17 | 2025-07-01 | Snap Inc. | EMG speech signal detection |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102398649B1 (ko) * | 2017-03-28 | 2022-05-17 | 삼성전자주식회사 | 사용자 발화를 처리하는 전자 장치 및 그 동작 방법 |
| KR102620705B1 (ko) * | 2018-10-11 | 2024-01-04 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
| KR102857227B1 (ko) * | 2018-11-01 | 2025-09-09 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
| KR102843159B1 (ko) * | 2019-02-13 | 2025-08-06 | 삼성전자 주식회사 | 음성 인식 기능을 이용한 동작을 수행하는 전자 장치 및 이를 이용한 동작과 관련된 알림을 제공하는 방법 |
| KR102305184B1 (ko) * | 2019-07-04 | 2021-09-27 | 주식회사 포시에스 | 다양한 입력 방식 전환을 통한 전자문서 표시 방법 및 장치 |
| DE102019212673A1 (de) | 2019-07-22 | 2021-01-28 | OSRAM CONTINENTAL GmbH | Optische anordnung und verfahren |
| CN110753152B (zh) * | 2019-08-29 | 2020-09-22 | 珠海格力电器股份有限公司 | 一种免打扰提醒方法、服务器、可读计算机介质和系统 |
| CN110516083B (zh) * | 2019-08-30 | 2022-07-12 | 京东方科技集团股份有限公司 | 相册管理方法、存储介质及电子设备 |
| US11302327B2 (en) * | 2020-06-22 | 2022-04-12 | Bank Of America Corporation | Priori knowledge, canonical data forms, and preliminary entrentropy reduction for IVR |
| EP4506802A4 (en) * | 2022-10-11 | 2025-07-02 | Samsung Electronics Co Ltd | ELECTRONIC DEVICE FOR PERFORMING AN OPERATION CORRESPONDING TO A USER'S SPEECH, AND METHOD FOR CONTROLLING THE SAME |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140282272A1 (en) * | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | Interactive Inputs for a Background Task |
| KR20160016530A (ko) * | 2014-07-31 | 2016-02-15 | 삼성전자주식회사 | 디바이스 및 디바이스의 기능 수행 방법 |
| KR20160059026A (ko) * | 2014-11-17 | 2016-05-26 | 주식회사 엘지유플러스 | 이동통신단말기의 음성메모에 기초한 이벤트실행 시스템, 그 단말기 제어서버 및 이동통신단말기 제어방법, 이동통신단말기 및 어플리케이션 실행방법 |
| KR20160061733A (ko) * | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 복수의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 |
| KR101659063B1 (ko) * | 2016-01-20 | 2016-09-26 | 네이버 주식회사 | 검색 서비스 제공 장치 및 방법 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8165886B1 (en) * | 2007-10-04 | 2012-04-24 | Great Northern Research LLC | Speech interface system and method for control and interaction with applications on a computing system |
| US20090112572A1 (en) * | 2007-10-30 | 2009-04-30 | Karl Ola Thorn | System and method for input of text to an application operating on a device |
| JP5365060B2 (ja) | 2008-04-30 | 2013-12-11 | 富士通モバイルコミュニケーションズ株式会社 | 情報処理装置 |
| US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| KR101590386B1 (ko) | 2011-09-07 | 2016-02-01 | 네이버 주식회사 | 검색 서비스 제공 장치 및 방법 |
| US8452597B2 (en) * | 2011-09-30 | 2013-05-28 | Google Inc. | Systems and methods for continual speech recognition and detection in mobile computing devices |
| JP5928048B2 (ja) | 2012-03-22 | 2016-06-01 | ソニー株式会社 | 情報処理装置、情報処理方法、情報処理プログラムおよび端末装置 |
| KR101992676B1 (ko) * | 2012-07-26 | 2019-06-25 | 삼성전자주식회사 | 영상 인식을 이용하여 음성 인식을 하는 방법 및 장치 |
| US20140218372A1 (en) | 2013-02-05 | 2014-08-07 | Apple Inc. | Intelligent digital assistant in a desktop environment |
| KR102057629B1 (ko) | 2013-02-19 | 2020-01-22 | 엘지전자 주식회사 | 이동 단말기 및 이동 단말기의 제어 방법 |
| KR20140105340A (ko) | 2013-02-22 | 2014-09-01 | 삼성전자주식회사 | 휴대 단말기의 멀티 태스킹 운용 방법 및 장치 |
| WO2014157889A1 (en) * | 2013-03-25 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and apparatus for improving quality of experience in sharing screen among devices, and recording medium thereof |
| KR20150077774A (ko) | 2013-12-30 | 2015-07-08 | 삼성전자주식회사 | 화면 전환 방법 및 그 장치 |
| WO2016017978A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Device and method for performing functions |
-
2017
- 2017-03-28 KR KR1020170039239A patent/KR102389996B1/ko active Active
-
2018
- 2018-03-27 EP EP18776046.7A patent/EP3588258A4/en not_active Ceased
- 2018-03-27 WO PCT/KR2018/003574 patent/WO2018182270A1/ko not_active Ceased
- 2018-03-27 US US16/499,197 patent/US11360791B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140282272A1 (en) * | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | Interactive Inputs for a Background Task |
| KR20160016530A (ko) * | 2014-07-31 | 2016-02-15 | 삼성전자주식회사 | 디바이스 및 디바이스의 기능 수행 방법 |
| KR20160059026A (ko) * | 2014-11-17 | 2016-05-26 | 주식회사 엘지유플러스 | 이동통신단말기의 음성메모에 기초한 이벤트실행 시스템, 그 단말기 제어서버 및 이동통신단말기 제어방법, 이동통신단말기 및 어플리케이션 실행방법 |
| KR20160061733A (ko) * | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 복수의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 |
| KR101659063B1 (ko) * | 2016-01-20 | 2016-09-26 | 네이버 주식회사 | 검색 서비스 제공 장치 및 방법 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3588258A4 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112214101A (zh) * | 2019-07-11 | 2021-01-12 | 祥闳科技股份有限公司 | 安全互动系统和通信显示装置 |
| US11334244B2 (en) * | 2019-10-14 | 2022-05-17 | Samsung Electronics Co., Ltd. | Electronic device and method of processing pop-up window using multi-window thereof |
| US12346500B1 (en) | 2023-04-17 | 2025-07-01 | Snap Inc. | EMG speech signal detection |
Also Published As
| Publication number | Publication date |
|---|---|
| US11360791B2 (en) | 2022-06-14 |
| US20210109703A1 (en) | 2021-04-15 |
| EP3588258A4 (en) | 2020-04-15 |
| KR20180109465A (ko) | 2018-10-08 |
| KR102389996B1 (ko) | 2022-04-25 |
| EP3588258A1 (en) | 2020-01-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018182270A1 (ko) | 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법 | |
| WO2018194268A1 (en) | Electronic device and method for processing user speech | |
| WO2018182202A1 (en) | Electronic device and method of executing function of electronic device | |
| WO2018097478A1 (en) | Electronic device for processing multi-modal input, method for processing multi-modal input and sever for processing multi-modal input | |
| WO2018182311A1 (en) | Method for operating speech recognition service, electronic device and system supporting the same | |
| WO2018182163A1 (ko) | 사용자 발화를 처리하는 전자 장치 및 그 동작 방법 | |
| WO2018135753A1 (ko) | 전자 장치 및 그의 동작 방법 | |
| WO2018131775A1 (ko) | 전자 장치 및 그의 동작 방법 | |
| WO2018182293A1 (en) | Method for operating speech recognition service and electronic device supporting the same | |
| WO2018159971A1 (en) | Operating method of electronic device for function execution based on voice command in locked state and electronic device supporting the same | |
| WO2018097549A1 (en) | Method for processing various inputs, and electronic device and server for the same | |
| WO2019212213A1 (en) | Electronic device and method of executing function of electronic device | |
| WO2017164708A1 (en) | Electronic device and method of providing information in electronic device | |
| EP3603040A1 (en) | Electronic device and method of executing function of electronic device | |
| WO2017082543A1 (en) | Electronic device and method for controlling the same | |
| WO2019013510A1 (en) | VOICE PROCESSING METHOD AND ELECTRONIC DEVICE SUPPORTING IT | |
| WO2019039834A1 (en) | METHOD FOR PROCESSING VOICE DATA AND ELECTRONIC DEVICE SUPPORTING SAID METHOD | |
| WO2018199483A1 (ko) | 지능형 에이전트 관리 방법 및 장치 | |
| WO2019004659A1 (en) | DISPLAY CONTROL METHOD AND ELECTRONIC DEVICE SUPPORTING SAID METHOD | |
| WO2020032563A1 (en) | System for processing user voice utterance and method for operating same | |
| WO2019182252A1 (en) | Electronic device and server for processing data received from electronic device | |
| WO2019172627A1 (en) | System for processing user utterance and controlling method thereof | |
| EP3646318A1 (en) | Electronic device and system for deciding duration of receiving voice input based on context information | |
| WO2019059642A1 (ko) | 자연어 표현 제공 방법 및 이를 지원하는 전자 장치 | |
| WO2020032568A1 (en) | Electronic device for performing task including call in response to user utterance and operation method thereof |
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: 18776046 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2018776046 Country of ref document: EP Effective date: 20190927 |