KR20210017098A - Electronic device and method of providing application service of thereof - Google Patents

Electronic device and method of providing application service of thereof Download PDF

Info

Publication number
KR20210017098A
KR20210017098A KR1020190095798A KR20190095798A KR20210017098A KR 20210017098 A KR20210017098 A KR 20210017098A KR 1020190095798 A KR1020190095798 A KR 1020190095798A KR 20190095798 A KR20190095798 A KR 20190095798A KR 20210017098 A KR20210017098 A KR 20210017098A
Authority
KR
South Korea
Prior art keywords
content
electronic device
virtual assistant
assistant server
command
Prior art date
Application number
KR1020190095798A
Other languages
Korean (ko)
Inventor
강연주
오영일
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190095798A priority Critical patent/KR20210017098A/en
Priority to PCT/KR2020/008367 priority patent/WO2021025292A1/en
Publication of KR20210017098A publication Critical patent/KR20210017098A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/38Displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention relates to an electronic device to provide application service satisfying a user′s intention from an analysis result of a virtual assistant server and an application service providing method of the electronic device. According to various embodiments of the present invention, the electronic device comprises: a display; a wireless communication circuit for communicating with an external virtual assistant server; a processor operatively coupled to the display; and a memory operatively coupled to the processor. The memory stores at least one installation set to allow the processor, during execution of the electronic device, to select content included in a screen displayed by the display; acquire at least one input signal corresponding to a user input for inputting a preset symbol for the content; control the wireless communication circuit so that a command corresponding to the selected content and the preset symbol are transmitted to the virtual assistant server; control the wireless communication circuit so that an input parameter corresponding to the content and application execution information corresponding to the command are received from the virtual assistant server through the wireless communication circuit as an analysis result of the virtual assistant server; and provide a result of applying the input parameter to at least one application in accordance with the received input parameter and application execution information. Various embodiments are possible.

Description

전자 장치 및 전자 장치의 어플리케이션 서비스 제공 방법{ELECTRONIC DEVICE AND METHOD OF PROVIDING APPLICATION SERVICE OF THEREOF}Electronic device and method of providing application service of electronic device {ELECTRONIC DEVICE AND METHOD OF PROVIDING APPLICATION SERVICE OF THEREOF}

본 개시는 전자 장치 및 전자 장치의 어플리케이션 서비스 제공 방법에 관한 것으로, 예로, 외부의 가상 어시스턴트 서버와 통신하며 어플리케이션 서비스를 제공하는 방법에 관한 것이다.The present disclosure relates to an electronic device and a method of providing an application service of the electronic device, for example, to a method of providing an application service by communicating with an external virtual assistant server.

이동 통신 및 하드웨어/소프트웨어 기술의 발달에 따라, 스마트폰으로 대표되는 전자 장치는 진화를 거듭하여 다양한 기능들을 탑재할 수 있게 되었다. 전자 장치는 사용자가 다양한 기능들에 쉽게 액세스할 수 있도록 유저 인터페이스를 제공하고, 유저 인터페이스를 이용한 사용자 입력(예로, 손가락 또는 스타일러스 펜을 이용한 입력, 음성 명령을 통한 입력 등)에 기반하여 사용자가 원하는 어플리케이션 서비스를 제공할 수 있다.With the development of mobile communication and hardware/software technologies, electronic devices represented by smart phones have evolved and can be equipped with various functions. The electronic device provides a user interface so that users can easily access various functions, and based on user input using the user interface (e.g., input using a finger or stylus pen, input through voice commands, etc.) Can provide application services.

이러한, 전자 장치는 사용자가 원하는 어플리케이션 서비스를 제공하기 위하여 가상 어시스턴트 서버를 이용할 수 있다. 가상 어시스턴트 서버는 사용자의 비서처럼 사용자가 필요한 정보 및 어플리케이션 기능을 적절하게 생성하고, 전자 장치가 이를 사용자에게 제공하도록 할 수 있는 서버로서, 예로, 사용자가 원하는 컨텐츠를 검색하여 제공하는 검색 어시스턴트 서버, 사용자의 음성 명령을 처리하는 보이스 어시스턴트 서버 등이 있을 수 있다.Such an electronic device may use a virtual assistant server to provide an application service desired by a user. The virtual assistant server is a server capable of appropriately generating information and application functions required by a user like a user's assistant, and allowing an electronic device to provide it to the user.For example, a search assistant server that searches for and provides content desired by the user, There may be a voice assistant server or the like that processes the user's voice commands.

가상 어시스턴트 서버를 통하여 사용자에게 필요한 정보가 수신되면, 전자 장치는 수신된 정보에 기반하여 사용자가 만족하는 어플리케이션 서비스를 제공할 수 있다.When information necessary for a user is received through the virtual assistant server, the electronic device may provide an application service that satisfies the user based on the received information.

사용자의 의도를 만족하는 어플리케이션 서비스를 제공하기 위하여, 가상 어시스턴트 서버는 사용자의 의도를 정확히 분석할 필요가 있다. 또한, 전자 장치는 사용자의 입력을 이해하여, 가상 어시스턴트 서버에게 사용자 입력에 대응되는 사용자 의도 분석에 필요한 정보를 제공할 필요가 있다. 사용자 입력은 다양한 형태로 이루어질 수 있다. 예로, 사용자 입력은 터치 입력, 필기 입력, 음성 입력 등이 있을 수 있다. 이에, 본 개시의 실시예들은 사용자의 다양한 입력에 대응하여 가상 어시스턴트에게 적합한 정보를 제공하고 가상 어시스턴트 서버의 분석 결과로부터 사용자의 의도를 만족하는 어플리케이션 서비스를 제공하는 목적이 있다.In order to provide an application service that satisfies the user's intention, the virtual assistant server needs to accurately analyze the user's intention. In addition, the electronic device needs to understand the user's input and provide the virtual assistant server with information necessary for user intention analysis corresponding to the user input. User input can be made in various forms. For example, the user input may include a touch input, a handwriting input, and a voice input. Accordingly, embodiments of the present disclosure provide suitable information to a virtual assistant in response to various inputs of a user, and provide an application service that satisfies a user's intention from an analysis result of the virtual assistant server.

일 실시예에 따른 전자 장치는, 디스플레이, 외부의 가상 어시스턴트 서버와 통신하는 무선 통신 회로, 상기 디스플레이와 동작 가능하게 연결되는 프로세서, 및 상기 프로세서와 동작 가능하게 연결되는 메모리를 포함하고, 상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가, 상기 디스플레이에 의하여 표시되는 화면에 포함된 컨텐츠를 선택하고, 상기 컨텐츠를 대상으로 기 설정된 기호를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하고, 상기 선택된 컨텐츠 및 상기 기 설정된 기호에 대응되는 명령어가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하고, 상기 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보가 상기 무선 통신 회로를 통하여 수신되도록 상기 무선 통신 회로를 제어하고, 상기 수신된 입력 파라미터 및 상기 어플리케이션 실행 정보에 따라, 적어도 하나의 어플리케이션에 상기 입력 파라미터를 적용한 결과를 제공하도록 설정된 적어도 하나의 인스트럭션을 포함한다.An electronic device according to an embodiment includes a display, a wireless communication circuit in communication with an external virtual assistant server, a processor operably connected to the display, and a memory operably connected to the processor, the memory , When the electronic device is executed, the processor obtains at least one input signal corresponding to a user input for selecting a content included in a screen displayed by the display and inputting a preset symbol for the content And controlling the wireless communication circuit so that a command corresponding to the selected content and the preset preference is transmitted to the virtual assistant server, and an input corresponding to the content as an analysis result of the virtual assistant server from the virtual assistant server Controlling the wireless communication circuit so that a parameter and application execution information corresponding to the command are received through the wireless communication circuit, and applying the input parameter to at least one application according to the received input parameter and the application execution information It contains at least one instruction set to provide a result.

일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 방법은, 컨텐츠를 포함하는 화면을 표시하는 동작, 상기 컨텐츠를 선택하는 사용자 입력, 및 상기 컨텐츠를 대상으로 기 설정된 기호를 입력하는 사용자에 입력에 대응되는 적어도 하나의 입력 신호를 획득하는 동작, 상기 선택된 컨텐츠, 및 상기 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버로 전송하는 동작, 상기 가상 어시스턴트 서버로부터, 상기 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신하는 동작, 및 상기 수신된 입력 파라미터 및 상기 어플리케이션 실행 정보에 따라, 적어도 하나의 어플리케이션에 상기 입력 파라미터를 적용한 결과를 제공하는 동작을 포함한다.The method of providing an application service of an electronic device according to an embodiment includes an operation of displaying a screen including content, a user input for selecting the content, and an input corresponding to an input to a user who enters a preset symbol for the content. Acquiring at least one input signal, transmitting the selected content, and a command corresponding to the preset preference to a virtual assistant server, from the virtual assistant server, as a result of analysis of the virtual assistant server, in the content Receiving a corresponding input parameter and application execution information corresponding to the command, and providing a result of applying the input parameter to at least one application according to the received input parameter and the application execution information. .

본 개시에 따르면, 컨텐츠를 대상으로 기 설정된 기호를 이용하여 어플리케이션의 실행 결과가 제공됨에 따라, 사용자 입력이 간소화되어 전자 장치를 이용하는 사용자의 편의성이 향상될 수 있다.According to the present disclosure, as an execution result of an application is provided using preset symbols for content, a user input may be simplified, so that user convenience using an electronic device may be improved.

특히, 스타일러스 펜을 이용한 드로잉을 통하여 컨텐츠 선택 및 기호의 입력까지 연속된 사용자 입력이 가능할 수 있다. 또한, 복수의 기호를 입력하거나, 컨텐츠를 공유 대상자를 입력하는 등의 사용자 입력이 추가로 가능하여 컨텐츠를 대상으로 다양한 명령을 한번에 수행하는 것이 가능해진다.In particular, through drawing using a stylus pen, continuous user input may be possible from content selection and input of symbols. In addition, user input such as inputting a plurality of symbols or inputting a person to whom the content is to be shared is additionally possible, so that various commands can be executed for the content at once.

또한, 가상 어시스턴트 서버를 이용하여 선택된 컨텐츠 및 기 설정된 기호에 대응되는 명령어에 대한 분석이 가능함에 따라, 기존의 사용자 입력과 어플리케이션 간의 직접적인 커뮤니케이션과 비교하여 더욱 적응적이고 사용자의 상황에 적합한 어플리케이션의 서비스의 제공이 가능해진다.In addition, as it is possible to analyze the command corresponding to the selected content and the preset preference using the virtual assistant server, it is more adaptive compared to the direct communication between the existing user input and the application. Provision becomes possible.

또한, 가상 어시스턴트 서버가 보이스 어시스턴트 서버를 겸용하는 경우, 환경적 제약이 있는 보이스 인터랙션의 단점이 극복되고, 사용자의 자연스러운 필기 경험을 통하여 다양한 명령을 보이스 어시스턴트 서버로 전달하는 것이 가능해진다.In addition, when the virtual assistant server also uses the voice assistant server, the disadvantage of voice interaction, which has environmental restrictions, is overcome, and various commands can be transmitted to the voice assistant server through the user's natural writing experience.

도 1은 일 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 프로그램의 블록도이다.
도 3은 일 실시예에 따른 전자 장치의 외형도이다.
도 4는 일 실시예에 따른 전자 장치의 블록도이다.
도 5는 일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 나타내는 도면이다.
도 6 내지 도 11은 일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 상세하게 나타내는 도면이다.
도 12 및 도 13은 다른 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 상세하게 나타내는 도면이다.
도 14는 일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 나타내는 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1 is a block diagram of an electronic device in a network environment according to an embodiment.
2 is a block diagram of a program according to an embodiment.
3 is an external view of an electronic device according to an exemplary embodiment.
4 is a block diagram of an electronic device according to an embodiment.
5 is a diagram illustrating a process of providing an application service by an electronic device according to an embodiment.
6 to 11 are diagrams illustrating in detail a process of providing an application service by an electronic device according to an exemplary embodiment.
12 and 13 are diagrams illustrating in detail a process of providing an application service by an electronic device according to another embodiment.
14 is a flowchart illustrating a process of providing an application service by an electronic device according to an embodiment.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.

본 개시의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. Various embodiments of the present disclosure and terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various changes, equivalents, or substitutes for the corresponding embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or a plurality of the items unless clearly indicated otherwise in a related context.

본 개시에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", "A 및/또는 B" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.In the present disclosure, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, “A and Each of the phrases such as "B" and "at least one of A, B, or C" may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish the component from other corresponding components, and the components may be referred to in other aspects (eg, importance or Order) is not limited. Some (eg, a first) component is referred to as “coupled” or “connected” with or without the terms “functionally” or “communicatively” to another (eg, second) component. When mentioned, it means that any of the above components can be connected to the other components directly (eg by wire), wirelessly, or via a third component.

도 1은 일 실시예에 따른, 네트워크 환경(1) 내의 전자 장치(100)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(1)에서 전자 장치(100)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)(예로, 가상 어시스턴트 서버)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(100)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다.1 is a block diagram of an electronic device 100 in a network environment 1 according to an exemplary embodiment. Referring to FIG. 1, in a network environment 1, the electronic device 100 communicates with the electronic device 102 through a first network 198 (for example, a short-range wireless communication network), or a second network 199 It is possible to communicate with the electronic device 104 or the server 108 (eg, a virtual assistant server) through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 100 may communicate with the electronic device 104 through the server 108. According to an embodiment, the electronic device 100 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, and a sensor module ( 176, an interface 177, a power management module 188, a battery 189, and a communication module 190. In some embodiments, at least one of these components (for example, the display device 160) may be omitted or one or more other components may be added to the electronic device 100. In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (eg, a program 140) to implement at least one other component (eg, a hardware or software component) of the electronic device 100 connected to the processor 120. It can be controlled and can perform various data processing or operations. According to an embodiment, as at least part of data processing or operation, the processor 120 may store commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132 The command or data stored in the volatile memory 132 may be processed, and result data may be stored in the nonvolatile memory 134. According to an embodiment, the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphics processing unit, an image signal processor) that can be operated independently or together with the main processor 121 (eg, a central processing unit or an application processor). , A sensor hub processor, or a communication processor). Additionally or alternatively, the coprocessor 123 may be set to use less power than the main processor 121 or to be specialized for a designated function. The secondary processor 123 may be implemented separately from the main processor 121 or as a part thereof.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(100)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소 또는 통신 모듈(190))의 일부로서 구현될 수 있다. The coprocessor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, an application is executed). ) While in the state, together with the main processor 121, at least one of the components of the electronic device 100 (for example, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the functions or states related to. According to an embodiment, the coprocessor 123 (for example, an image signal processor or a communication processor) may be implemented as a part of another functionally related component or communication module 190.

메모리(130)는, 전자 장치(100)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component of the electronic device 100 (eg, the processor 120 or the sensor module 176 ). The data may include, for example, software (eg, the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a nonvolatile memory 134.

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130, and may include, for example, an operating system 142, middleware 144, or an application 146.

입력 장치(150)는, 전자 장치(100)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(100)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input device 150 may receive commands or data to be used for components of the electronic device 100 (eg, the processor 120) from outside (eg, a user) of the electronic device 100. The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).

음향 출력 장치(155)는 음향 신호를 전자 장치(100)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output device 155 may output an sound signal to the outside of the electronic device 100. The sound output device 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

표시 장치(160)는 전자 장치(100)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다. The display device 160 may visually provide information to the outside of the electronic device 100 (eg, a user). The display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device. According to an embodiment, the display device 160 may include a touch circuitry set to sense a touch, or a sensor circuit (eg, a pressure sensor) set to measure the strength of a force generated by the touch. have.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(100)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.The audio module 170 may convert sound into an electric signal or, conversely, convert an electric signal into sound. According to an embodiment, the audio module 170 acquires sound through the input device 150, the sound output device 155, or an external electronic device (for example, an external electronic device directly or wirelessly connected to the electronic device 100). Sound may be output through the electronic device 102) (for example, a speaker or headphones).

센서 모듈(176)은 전자 장치(100)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 100, or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do. According to an embodiment, the sensor module 176 is, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.

인터페이스(177)는 전자 장치(100)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that may be used for the electronic device 100 to directly or wirelessly connect with an external electronic device (eg, electronic device 102). According to an embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(100)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 100 may be physically connected to an external electronic device (eg, the electronic device 102). According to an embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

전력 관리 모듈(188)은 전자 장치(100)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 may manage power supplied to the electronic device 100. According to an embodiment, the power management module 388 may be implemented as at least a part of a power management integrated circuit (PMIC), for example.

배터리(189)는 전자 장치(100)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 100. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.

통신 모듈(190)은 전자 장치(100)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. The communication module 190 includes a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 100 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It is possible to support establishment and communication through the established communication channel. The communication module 190 operates independently of the processor 120 (eg, an application processor), and may include one or more communication processors that support direct (eg, wired) communication or wireless communication. According to an embodiment, the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg : A LAN (local area network) communication module, or a power line communication module) may be included. Among these communication modules, a corresponding communication module is a first network 198 (for example, a short-range communication network such as Bluetooth, WiFi direct or IrDA (infrared data association)) or a second network 199 (for example, a cellular network, the Internet, or It can communicate with external electronic devices through a computer network (for example, a telecommunication network such as a LAN or WAN). These various types of communication modules may be integrated into one component (eg, a single chip), or may be implemented as a plurality of separate components (eg, multiple chips).

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method (e.g., a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI))) between peripheral devices and signals ( E.g. commands or data) can be exchanged with each other.

일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(100)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(100)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(100)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(100)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(100)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(100)로 전달할 수 있다. 전자 장치(100)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. According to an embodiment, a command or data may be transmitted or received between the electronic device 100 and the external electronic device 104 through the server 108 connected to the second network 199. Each of the electronic devices 102 and 104 may be a device of the same or different type as the electronic device 100. According to an embodiment, all or part of the operations executed by the electronic device 100 may be executed by one or more of the external electronic devices 102, 104, or 108. For example, when the electronic device 100 needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device 100 does not execute the function or service by itself. In addition or in addition, it is possible to request one or more external electronic devices to perform the function or at least part of the service. One or more external electronic devices receiving the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the execution result to the electronic device 100. The electronic device 100 may process the result as it is or additionally and provide it as at least part of a response to the request. To this end, for example, cloud computing, distributed computing, or client-server computing technology may be used.

도 2는, 일 실시예에 따른 프로그램(140)의 블록도이다. 일 실시예에 따르면, 프로그램(140)은 전자 장치(100)의 하나 이상의 리소스들을 제어하기 위한 운영 체제(142), 미들 웨어(144), 또는 상기 운영 체제(142) 상에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. 운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(100)에 프리로드되거나, 또는 사용자의 사용 환경에서 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드되거나 갱신 될 수 있다.2 is a block diagram of a program 140 according to an embodiment. According to an embodiment, the program 140 is an operating system 142 for controlling one or more resources of the electronic device 100, middleware 144, or an application 146 executable on the operating system 142 It may include. The operating system 142 may include, for example, Android TM , iOS TM , Windows TM , Symbian TM , Tizen TM , or Bada TM . At least some of the programs 140 may be preloaded on the electronic device 100 at the time of manufacture, for example, or an external electronic device (eg, electronic device 102 or 104), or a server ( 108)) can be downloaded or updated.

운영 체제(142)는 전자 장치(100)의 시스템 리소스 (예: 프로세스, 메모리, 또는 전원)를 제어(예: 할당 또는 회수)할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(100)의 다른 하드웨어 디바이스, 예를 들면, 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190)을 구동하기 위한 하나 이상의 드라이버 프로그램들을 포함할 수 있다.The operating system 142 may control (eg, allocate or recover) system resources (eg, process, memory, or power) of the electronic device 100. Operating system 142, additionally or alternatively, other hardware devices of the electronic device 100, for example, input device 150, sound output device 155, display device 160, audio module 170 , The sensor module 176, the interface 177, the power management module 188, the battery 189, may include one or more driver programs for driving the communication module 190.

미들 웨어(144)는 어플리케이션(146)이 전자 장치(100)의 하나 이상의 리소스들이 제공하는 기능 또는 정보를 사용할 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 일 실시예에 따르면, 미들 웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 별도의 소프트웨어로 구현될 수 있다.The middleware 144 may provide various functions to the application 146 so that the application 146 can use functions or information provided by one or more resources of the electronic device 100. According to an embodiment, at least a part of the middleware 144 may be included as a part of the operating system 142 or may be implemented as software separate from the operating system 142.

어플리케이션(146)은, 예를 들면, 홈(251), 메모(253), 메시지(255), 검색(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 일정(271), 동영상(273), 앨범(275), 연락처(277), 음악(279), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보) 어플리케이션을 포함할 수 있다. The application 146 is, for example, home 251, memo 253, message 255, search 257, browser 259, camera 261, alarm 263, contact 265, Voice recognition (267), email (269), calendar (271), video (273), album (275), contact (277), music (279), or environmental information (281) (e.g., barometric pressure, humidity, or Temperature information) application.

도 3은, 일 실시예에 따른 전자 장치의 외형도이다.3 is an external view of an electronic device according to an exemplary embodiment.

일 실시예에 따른 전자 장치(100)는 스마트 폰 등과 같은 휴대용 전자 장치로 구현될 수 있다. 전자 장치(100)의 구현 예는 도 3의 형태에 한정되지 않고, 다양한 종류의 전자 장치에 본 개시의 다양한 실시예들이 적용될 수 있다. 전자 장치(100)는, 예를 들면, 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 개시의 실시예에 따른 전자 장치(100)는 전술한 기기들에 한정되지 않는다.The electronic device 100 according to an embodiment may be implemented as a portable electronic device such as a smart phone. An implementation example of the electronic device 100 is not limited to the form of FIG. 3, and various embodiments of the present disclosure may be applied to various types of electronic devices. The electronic device 100 may include, for example, a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. The electronic device 100 according to an embodiment of the present disclosure is not limited to the above-described devices.

전자 장치(100)는 도 1의 전자 장치(100)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있으며, 스타일러스 펜(350)이 삽입될 수 있는 구조를 포함할 수 있다.The electronic device 100 may include at least some of the configuration and/or functions of the electronic device 100 of FIG. 1, and may include a structure in which the stylus pen 350 can be inserted.

도 3을 참고하면 전자 장치(100)의 하우징의 전면에 디스플레이(310)가 배치될 수 있다. 디스플레이(310)는 예로, 터치 센서와 결합하여 터치 스크린 디스플레이로써 구현될 수도 있다. 터치 스크린 디스플레이는, 디스플레이(310)의 배면에 터치 센서가 배치되거나, 디스플레이(310)와 터치 센서가 일체형으로 마련될 수 있다. 전자 장치(100)의 전면에서 디스플레이(310)가 배치된 이외의 영역(예: BM(black matrix) 영역)에는 리시버, 센서, 홈 버튼 등 다양한 구성이 배치될 수 있다.Referring to FIG. 3, the display 310 may be disposed on the front surface of the housing of the electronic device 100. The display 310 may be implemented as a touch screen display in combination with, for example, a touch sensor. In the touch screen display, a touch sensor may be disposed on the rear surface of the display 310, or the display 310 and the touch sensor may be integrally provided. Various configurations such as a receiver, a sensor, and a home button may be disposed in an area other than the display 310 disposed on the front surface of the electronic device 100 (eg, a black matrix (BM) area).

일 실시예에 따르면, 전자 장치(100)는 스타일러스 펜(350)을 포함할 수 있다. 스타일러스 펜(350)은 전자 장치(100)의 디스플레이(310)에 대한 터치 입력 또는 호버링 입력에 사용될 수 있다. According to an embodiment, the electronic device 100 may include a stylus pen 350. The stylus pen 350 may be used for a touch input or a hovering input to the display 310 of the electronic device 100.

일 실시예에 따르면, 전자 장치(100)의 하우징의 일 부분, 예를 들면, 측면(301)의 일 부분에는 홀(recess)(355)이 포함될 수 있다. 전자 장치(100)는, 홀(355)과 연결된 수납 공간을 포함할 수 있으며, 스타일러스 펜(350)은 수납 공간 내에 삽입될 수 있다. 홈(355)은 스타일러스 펜(350)이 삽입 또는 분리될 수 있도록 스타일러스 펜(350)의 형성과 같이 가늘고 긴(elongated) 형태일 수 있다. 홈(355)은 전자 장치(100)의 하우징의 하단에 마련될 수 있으나, 이에 한정되지 않으며, 상단 또는 측면에서 안 쪽으로 스타일러스 펜(350)이 삽입될 수 있는 형태일 수 있다.According to an embodiment, a hole 355 may be included in a portion of the housing of the electronic device 100, for example, a portion of the side surface 301. The electronic device 100 may include a storage space connected to the hole 355, and the stylus pen 350 may be inserted into the storage space. The groove 355 may have an elongated shape such as the stylus pen 350 so that the stylus pen 350 can be inserted or removed. The groove 355 may be provided at the lower end of the housing of the electronic device 100, but is not limited thereto, and may have a shape in which the stylus pen 350 can be inserted from the top or side to the inside.

일 실시예에 따르면, 스타일러스 펜(350)은 스타일러스 펜(350)을 전자 장치(100)의 홀(350)으로부터 꺼내기 용이하도록, 일 단부에 눌림 가능한 버튼(352)을 포함할 수 있다. 버튼(352)이 눌리면, 버튼(352)과 연계 구성된 반발 메커니즘(예를 들어, 적어도 하나의 스프링)들이 작동하여, 홀(350)로부터 스타일러스 펜(350)이 이탈될 수 있다.According to an embodiment, the stylus pen 350 may include a pushable button 352 at one end of the stylus pen 350 so as to be easily removed from the hole 350 of the electronic device 100. When the button 352 is pressed, a repulsion mechanism (eg, at least one spring) configured in connection with the button 352 operates, so that the stylus pen 350 may be separated from the hole 350.

일 실시예에 따르면, 스타일러스 펜(350)은 버튼(351)을 더 포함할 수 있다. 버튼(351)은 스타일러스 펜(350)의 하우징 측면의 개구부를 통해 외부로 노출 될 수 있고, 지지부재(미도시)에 의해 지지될 수 있다. 이에 따라, 버튼(351)에 작용하는 외력이 없으면 지지부재가 탄성 복원력을 제공하여 버튼(351)을 일정 위치에 배치된 상태로 복원 또는 유지할 수 있다. 도시된 도 3에서는, 두 개의 버튼들(351,352)을 도시하고 있으나, 스타일러스 펜(350)은 2개 이상의 버튼을 포함할 수도 있다.According to an embodiment, the stylus pen 350 may further include a button 351. The button 351 may be exposed to the outside through an opening at the side of the housing of the stylus pen 350 and may be supported by a support member (not shown). Accordingly, when there is no external force acting on the button 351, the support member provides an elastic restoring force to restore or maintain the button 351 in a state disposed at a predetermined position. In FIG. 3, two buttons 351 and 352 are illustrated, but the stylus pen 350 may include two or more buttons.

일 실시예에 따르면, 전자 장치(100)와 스타일러스 펜(350)은 무선 통신(예: BLE(bluetooth low energy))을 통해 서로 연결될 수 있다. 예를 들어, 전자 장치(100)는 스타일러스 펜(350)이 전자 장치(100)의 홈(355)에서 이탈되는 경우, 또는 스타일러스 펜(350)이 전자 장치(100)의 홈(355)에 삽입되는 경우, 스타일러스 펜(350)과 무선 통신 연결을 수립할 수 있다. 또한, 스타일러스 펜(350)은 전술한 버튼들(351, 352) 및/또는 다양한 센서를 이용해 사용자 입력(예: 버튼 입력, 모션, 사운드 등)을 감지하고, 무선 통신 연결을 이용해 사용자 입력에 대응되는 무선 신호를 전자 장치(100)에 제공할 수 있다.According to an embodiment, the electronic device 100 and the stylus pen 350 may be connected to each other through wireless communication (eg, Bluetooth low energy (BLE)). For example, in the electronic device 100, when the stylus pen 350 is separated from the groove 355 of the electronic device 100, or the stylus pen 350 is inserted into the groove 355 of the electronic device 100 If so, it is possible to establish a wireless communication connection with the stylus pen 350. In addition, the stylus pen 350 detects user input (eg, button input, motion, sound, etc.) using the aforementioned buttons 351 and 352 and/or various sensors, and responds to user input using a wireless communication connection. The wireless signal to be used may be provided to the electronic device 100.

도 4는, 일 실시예에 따른 전자 장치의 블록도이다.4 is a block diagram of an electronic device according to an embodiment.

도시된 바와 같이, 전자 장치(100)는 디스플레이(410), 무선 통신 회로(420), 프로세서(430), 및 메모리(440)를 포함할 수 있으며, 도시된 구성 중 적어도 일부가 생략 또는 치환되더라도 본 발명의 다양한 실시예를 구현할 수 있다. 전자 장치(100)는 도 3의 전자 장치(100)와 같은 형태로 구현될 수 있으며, 도 1의 전자 장치(100)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있다. 도 4에 도시된 구성들 중 적어도 일부(예: 무선 통신 회로(420), 프로세서(430), 메모리(440) 등)는 하우징(미도시) 내에 배치될 수 있고, 다른 적어도 일부(예: 디스플레이(410) 등)는 하우징의 외부로 노출될 수도 있다.As shown, the electronic device 100 may include a display 410, a wireless communication circuit 420, a processor 430, and a memory 440, and even if at least some of the illustrated components are omitted or substituted Various embodiments of the present invention can be implemented. The electronic device 100 may be implemented in the same form as the electronic device 100 of FIG. 3, and may further include at least some of the configuration and/or functions of the electronic device 100 of FIG. 1. At least some of the components shown in FIG. 4 (for example, a wireless communication circuit 420, a processor 430, a memory 440, etc.) may be disposed in a housing (not shown), and at least some other components (for example, a display 410, etc.) may be exposed to the outside of the housing.

디스플레이(410)는 영상을 표시하며, 액정 디스플레이(liquid crystal display(LCD)), 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이 등 다양한 방식 중 하나로 구현될 수 있다. 디스플레이(410)는 도 1의 표시 장치(160)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 디스플레이(410)는 전자 장치(100)의 하우징의 일부(예: 전면)를 통해 외부로 노출될 수 있다. 일 예로, 디스플레이(410)는 터치 스크린 디스플레이로써, 사용자의 손가락(또는 다른 신체 일부) 또는 스타일러스 펜(350)에 의한 터치 또는 호버링(hovering)(또는 근접 터치) 입력을 감지할 수 있다.The display 410 displays an image, and may be implemented in one of various ways such as a liquid crystal display (LCD) or an organic light-emitting diode (OLED) display. The display 410 may include at least some of the configuration and/or functions of the display device 160 of FIG. 1. The display 410 may be exposed to the outside through a part (eg, the front surface) of the housing of the electronic device 100. For example, the display 410 is a touch screen display, and may detect a touch or hovering (or proximity touch) input by a user's finger (or other body part) or stylus pen 350.

무선 통신 회로(420)는 다양한 방식의 무선 통신을 지원하기 위한 무선 통신 모듈(예: 도 1의 무선 통신 모듈(192))을 포함할 수 있다. 일 예로, 무선 통신 회로(420)는 스타일러스 펜(350)과 무선 통신 연결을 수행할 수 있다. 무선 통신 회로(420)는 스타일러스 펜의 무선 통신 회로(미도시)와 다양한 방식의 근거리 무선 통신 방식 중 적어도 하나를 이용해 통신할 수 있으며, 예로, 저전력 블루투스 기술(Bluetooth Low Energy(BLE))을 사용할 수 있으나, 이에 한정되지는 않는다. 또한, 무선 통신 회로(420)는 가상 어시스턴트 서버와 무선 통신 연결을 수행할 수 있다. 예로, 무선 통신 회로(420)는 원거리 통신 방식 중 적어도 하나를 이용해 통신할 수 있으며, 예로, 셀룰러 네트워크 기술을 사용할 수 있으나, 이에 한정되지는 않는다. The wireless communication circuit 420 may include a wireless communication module (eg, the wireless communication module 192 of FIG. 1) for supporting various types of wireless communication. For example, the wireless communication circuit 420 may perform wireless communication connection with the stylus pen 350. The wireless communication circuit 420 can communicate using at least one of a wireless communication circuit (not shown) of a stylus pen and various short-range wireless communication methods, for example, using Bluetooth Low Energy (BLE). However, it is not limited thereto. In addition, the wireless communication circuit 420 may perform wireless communication connection with the virtual assistant server. For example, the wireless communication circuit 420 may communicate using at least one of a long-distance communication method. For example, a cellular network technology may be used, but the present invention is not limited thereto.

메모리(440)는 휘발성 메모리(volatile memory) 및 비휘발성 메모리(non-volatile memory)를 포함할 수 있으며, 구체적인 구현 예에 있어서는 한정되지 않는다. 메모리(440)는 도 1의 메모리(130)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 또한, 메모리(440)는 도 1의 프로그램(140) 및/또는 도 2의 프로그램(140) 중 적어도 일부를 저장할 수 있다. The memory 440 may include a volatile memory and a non-volatile memory, and is not limited in a specific implementation example. The memory 440 may include at least some of the configuration and/or functions of the memory 130 of FIG. 1. In addition, the memory 440 may store at least some of the program 140 of FIG. 1 and/or the program 140 of FIG. 2.

메모리(440)는 작동적으로(operatively) 및/또는 전기적으로(electrically) 프로세서(430)와 연결되고, 프로세서(430)에서 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(430)에 의해 인식될 수 있는 산술 및 논리 연산, 데이터 이동, 입출력과 같은 제어 명령을 포함할 수 있다. The memory 440 is operatively and/or electrically connected to the processor 430 and may store various instructions that may be executed by the processor 430. Such instructions may include control instructions such as arithmetic and logical operations, data movement, and input/output that can be recognized by the processor 430.

프로세서(430)는 전자 장치(100)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성으로써, 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 프로세서(430)는 디스플레이(410), 무선 통신 회로(420), 메모리(440)와 같은 전자 장치(100)의 내부 구성요소와 작동적으로 및/또는 전기적으로 연결될 수 있다.The processor 430 is a component capable of performing an operation or data processing related to control and/or communication of each component of the electronic device 100, and at least some of the configuration and/or functions of the processor 120 of FIG. 1 It may include. The processor 430 may be operatively and/or electrically connected to internal components of the electronic device 100 such as the display 410, the wireless communication circuit 420, and the memory 440.

프로세서(430)가 전자 장치(100) 내에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 본 개시에서, 프로세서(430)는 메모리(440)에 저장된 인스트럭션들을 로딩 함으로써 후술할 실시예들을 수행할 수 있다. There will be no limit to the operation and data processing functions that the processor 430 can implement in the electronic device 100, but in the present disclosure, the processor 430 loads instructions stored in the memory 440 to describe embodiments to be described later. Can be done.

일 실시예에 따르면, 인스트럭션들은, 프로세서(430)가, 디스플레이(410)에 의하여 표시되는 화면에 포함된 컨텐츠를 선택하고, 컨텐츠를 대상으로 기 설정된 기호를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하고, 선택된 컨텐츠 및 기 설정된 기호에 대응되는 명령어가 가상 어시스턴트 서버로 전송되도록 무선 통신 회로(420)를 제어하고, 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 컨텐츠에 대응되는 입력 파라미터 및 명령어에 대응되는 어플리케이션 실행 정보가 무선 통신 회로(420)를 통하여 수신되도록 무선 통신 회로(420)를 제어하고, 수신된 입력 파라미터 및 어플리케이션 실행 정보에 따라, 적어도 하나의 어플리케이션에 입력 파라미터를 적용한 결과를 제공하도록 설정된 적어도 하나의 인스트럭션을 포함할 수 있다. According to an embodiment, the instructions include at least one user input corresponding to the processor 430 selecting content included in the screen displayed by the display 410 and inputting a preset symbol for the content. Control the wireless communication circuit 420 so that an input signal is obtained and a command corresponding to the selected content and a preset symbol is transmitted to the virtual assistant server, and as a result of analysis of the virtual assistant server, corresponding to the content Control the wireless communication circuit 420 so that application execution information corresponding to the input parameter and the command is received through the wireless communication circuit 420, and input parameters to at least one application according to the received input parameter and application execution information. It may include at least one instruction set to provide the applied result.

도 5는, 일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 나타내는 도면이다.5 is a diagram illustrating a process of providing an application service by an electronic device according to an embodiment.

도 5의 식별부호 5-a에서, 컨텐츠(511)를 포함하는 화면이 디스플레이(410)에 표시된 상태에서, 프로세서(430)는 컨텐츠(511)를 선택(551)하는 사용자 입력 및 및 컨텐츠(511)를 대상으로 기 설정된 기호(553)를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 또한, 프로세서(430)는 컨텐츠(511)의 공유 대상자(513)를 필기하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다.In the identification code 5-a of FIG. 5, while the screen including the content 511 is displayed on the display 410, the processor 430 selects the content 511 (551) and the user input and the content 511 At least one input signal corresponding to a user input for inputting a preset symbol 553 for) may be obtained. In addition, the processor 430 may obtain at least one input signal corresponding to a user input of writing the content 511 to be shared with the person 513.

예로, 컨텐츠(511)를 선택하는 사용자 입력은, 스타일러스 펜(350)을 이용하여 컨텐츠(511)의 주변에 밑줄을 긋거나, 컨텐츠(511)를 대상으로 색칠하거나, 또는 컨텐츠(511)를 중심으로 도형(예로, 원 또는 박스 등)(551)을 드로잉하는 사용자 입력을 포함할 수 있다. For example, the user input for selecting the content 511 is to draw an underline around the content 511 using the stylus pen 350, color the content 511, or focus on the content 511 A user input for drawing a figure (for example, a circle or a box) 551 may be included.

또한, 기 설정된 기호(553)를 입력하는 사용자 입력은, 스타일러스 펜(350)을 이용하여 기 설정된 기호를 드로잉하거나, 또는 복수 개의 기호들을 포함한 메뉴에서 일 기호를 선택하는 사용자 입력을 포함할 수 있다. 기 설정된 기호는, 예로, 더하기 기호('+'), 물음표 기호('?'), 화살표 기호('→') 또는 체크 기호('√') 중 적어도 하나를 포함할 수 있으나, 전술한 예에 제한되는 것은 아니다. In addition, the user input for inputting the preset symbol 553 may include a user input of drawing a preset symbol using the stylus pen 350 or selecting one symbol from a menu including a plurality of symbols. . The preset symbol may include at least one of a plus sign ('+'), a question mark sign ('?'), an arrow sign ('→'), or a check sign ('√'), for example, Is not limited to.

기 설정된 기호(553)를 입력하는 사용자 입력에 대응되는 적어도 하나의 신호가 획득되면, 프로세서(430)는 기 설정된 기호에 대응되는 명령어를 획득할 수 있다. 예로, 전자 장치(100)의 메모리(440)는 복수 개의 기 설정된 기호 각각에 대응하는 복수 개의 명령어들을 포함하는 룩업 테이블(lookup-table)을 저장 중일 수 있다. 프로세서(430)는 룩업 테이블을 검색하여 입력된 기 설정된 기호에 대응되는 명령어를 획득할 수 있다.When at least one signal corresponding to a user input for inputting a preset symbol 553 is obtained, the processor 430 may obtain a command corresponding to the preset symbol. For example, the memory 440 of the electronic device 100 may be storing a lookup-table including a plurality of commands corresponding to each of a plurality of preset symbols. The processor 430 may search the lookup table to obtain a command corresponding to the input preset symbol.

일 실시예로, 프로세서(430)는 기 설정된 기호를 드로잉하는 사용자 입력을 인식하여 표준화된 기 설정된 기호로 변환할 수도 있다. 드로잉 입력에 대한 인식은 이미지 인식 알고리즘으로서, 예로, 신경망(Neural Networks) 알고리즘, HMM(Hidden Markov Models) 알고리즘 또는 KNN(K-Nearest-Neighbor) 알고리즘 등이 이용될 수 있으나, 전술한 예에 제한되는 것은 아니다. 이 경우, 프로세서(430)는 표준화된 기 설정된 기호에 대응되는 명령어를 룩업 테이블에서 검색하여 획득할 수 있다.In an embodiment, the processor 430 may recognize a user input for drawing a preset symbol and convert it into a standardized preset symbol. Recognition of the drawing input is an image recognition algorithm, for example, a Neural Networks (Neural Networks) algorithm, HMM (Hidden Markov Models) algorithm, or KNN (K-Nearest-Neighbor) algorithm, etc., but is limited to the above example. It is not. In this case, the processor 430 may retrieve and obtain a command corresponding to a standardized preset symbol in the lookup table.

기 설정된 기호에 대응되는 명령어가 획득되면, 프로세서(430)는 컨텐츠(511), 공유 대상자(513) 및 기 설정된 기호에 대응되는 명령어를 세트로 저장할 수 있다.When a command corresponding to a preset sign is obtained, the processor 430 may store the content 511, the sharing target 513, and a command corresponding to the preset sign as a set.

이후, 가상 어시스턴트의 이용을 요청하는 UI(555)를 선택하는 사용자 입력에 대응되는 입력 신호가 획득되면, 프로세서(430)는 컨텐츠(511), 공유 대상자(513) 및 기 설정된 기호에 대응되는 명령어가 가상 어시스턴트 서버(500)로 전송(①)되도록 무선 통신 회로(420)를 제어할 수 있다.Thereafter, when an input signal corresponding to a user input for selecting the UI 555 requesting the use of the virtual assistant is obtained, the processor 430 performs a command corresponding to the content 511, the share target 513, and a preset preference. The wireless communication circuit 420 may be controlled to be transmitted (①) to the virtual assistant server 500.

가상 어시스턴트 서버(500)는 컨텐츠(511), 공유 대상자(513) 또는 기 설정된 기호에 대응되는 명령어 중 적어도 하나에 기반하여, 사용자의 의도에 따라 전자 장치(100)가 수행할 어플리케이션 서비스를 결정할 수 있다. 즉, 가상 어시스턴트 서버(500)는 사용자의 비서처럼 사용자가 필요한 정보 및 어플리케이션 기능을 적절하게 생성하고, 전자 장치(100)가 이를 사용자에게 제공하도록 할 수 있다.The virtual assistant server 500 may determine an application service to be performed by the electronic device 100 according to a user's intention, based on at least one of the content 511, the sharing target 513, or a command corresponding to a preset preference. have. That is, the virtual assistant server 500 may appropriately generate information and application functions required by the user, such as the user's assistant, and allow the electronic device 100 to provide the information to the user.

일 실시예로, 가상 어시스턴트 서버(500)는 보이스 어시스턴트 서비스(예: 삼성 빅스비(bixby)TM 기능)를 지원하는 보이스 어시스턴트 서버가 될 수도 있다. 보이스 어시스턴트 서비스는 사용자의 음성에 따라 전자 장치(100)를 제어하거나, 사용자와 전자 장치(100) 간에 대화가 가능하도록 하는 보이스 서비스를 제공할 수 있다. In an embodiment, the virtual assistant server 500 may be a voice assistant server supporting a voice assistant service (eg, Samsung Bixby TM function). The voice assistant service may control the electronic device 100 according to a user's voice or provide a voice service that enables a conversation between the user and the electronic device 100.

가상 어시스턴트 서버(500)로서 보이스 어시스턴트 서버가 이용되는 경우, 프로세서(430)는 컨텐츠(511), 공유 대상자(513) 및 기 설정된 기호에 대응되는 명령어를 보이스 어시스턴트 서버(500)의 수신에 적합한 포맷으로 변환할 수 있다. 예로, 프로세서(430)는 보이스 어시스턴트 서버(500)의 전송에 이용되는 API(application program interface) 형식에 따라 컨텐츠(511), 공유 대상자(513) 및 기 설정된 기호에 대응되는 명령어를 변환할 수 있다. When a voice assistant server is used as the virtual assistant server 500, the processor 430 provides a format suitable for reception of the voice assistant server 500 by sending a command corresponding to the content 511, the sharing target 513, and a preset preference. Can be converted to For example, the processor 430 may convert a command corresponding to the content 511, the share target 513, and a preset preference according to an API (application program interface) format used for transmission of the voice assistant server 500. .

일 예로, 전자 장치(100)로부터 음성 데이터가 수신되는 경우, 가상 어시스턴트 서버(500)는 음성 데이터를 텍스트 데이터(text data)로 변경할 수 있다. 가상 어시스턴트 서버(500)는 텍스트 데이터에 기초하여 전자 장치(100)가 수행할 어플리케이션 서비스를 결정할 수 있다. 구체적으로, 가상 어시스턴트 서버(500)는 텍스트 데이터에 기초하여 패스 룰(path rule)을 생성(또는, 선택)할 수 있다. 패스 룰은 어플리케이션의 기능을 수행하기 위한 동작(action)(또는, 오퍼레이션(operation))에 대한 정보 또는 상기 동작을 실행하기 위해 필요한 파라미터에 대한 정보를 포함할 수 있다. 또한, 패스 룰은 어플리케이션의 동작의 순서를 포함할 수 있다. 패스 룰은 인공 지능(artificial intelligent)(AI) 시스템에 의해 제공되거나, 생성될 수 있다. 인공지능 시스템은 룰 베이스 시스템(rule-based system)일 수도 있고, 신경망 베이스 시스템(neural network-based system)(예: 피드포워드 신경망(feedforward neural network(FNN)), 순환 신경망(recurrent neural network(RNN)))일 수도 있다. 또는 전술한 것의 조합 또는 이와 다른 인공 지능 시스템일 수도 있다. 일 실시 예에 따르면, 패스 룰은 미리 정의된 패스 룰들의 집합에서 선택될 수 있거나, 사용자 요청에 응답하여 실시간으로 생성될 수 있다. 예를 들어, 인공지능 시스템은 미리 정의된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택하거나, 동적(또는, 실시간)으로 패스 룰을 생성할 수 있다. 또한, 가상 어시스턴트 서버(500)는 패스 룰을 제공하기 위해 하이브리드 시스템을 사용할 수 있다.For example, when voice data is received from the electronic device 100, the virtual assistant server 500 may change the voice data into text data. The virtual assistant server 500 may determine an application service to be performed by the electronic device 100 based on text data. Specifically, the virtual assistant server 500 may generate (or select) a path rule based on text data. The pass rule may include information on an action (or operation) for performing a function of the application or information on a parameter required to execute the operation. Also, the pass rule may include an order of operation of an application. Pass rules may be provided or generated by an artificial intelligent (AI) system. The artificial intelligence system may be a rule-based system, or a neural network-based system (e.g., a feedforward neural network (FNN)), a recurrent neural network (RNN). It may be ))). Or it may be a combination of the above or another artificial intelligence system. According to an embodiment, the pass rule may be selected from a set of predefined pass rules, or may be generated in real time in response to a user request. For example, the artificial intelligence system may select at least one pass rule from among a plurality of predefined pass rules, or may dynamically (or in real time) generate a pass rule. In addition, the virtual assistant server 500 may use a hybrid system to provide pass rules.

다른 예로, 전자 장치(100)로부터 컨텐츠 및 기 설정된 기호에 대응하는 명령어가 수신되는 경우, 가상 어시스턴트 서버(500)는 음성 데이터를 텍스트 데이터(text data)로 변경하는 단계를 생략할 수 있다. 이때, 가상 어시스턴트 서버(500)로 컨텐츠 및 기 설정된 기호에 대응하는 명령어와 함께, 보이스 어시스턴트 서버의 기능 중 일부의 기능의 스킵(skip)을 요청하는 정보가 전자 장치(100)로부터 전송될 수 있다. 예로, 가상 어시스턴트 서버(500)로 보이스 어시스턴트 서버의 자동 음성 인식(automatic speech recognition)(ASR) 기능 또는 자연어 이해(natural language understanding)(NLU) 기능 중 적어도 하나의 스킵을 요청하는 정보가 전자 장치(100)로부터 전송될 수 있다. As another example, when a command corresponding to content and a preset symbol is received from the electronic device 100, the virtual assistant server 500 may omit the step of changing voice data into text data. In this case, information for requesting to skip some of the functions of the voice assistant server together with a command corresponding to the content and preset preferences to the virtual assistant server 500 may be transmitted from the electronic device 100. . For example, information for requesting to skip at least one of an automatic speech recognition (ASR) function or a natural language understanding (NLU) function of the voice assistant server as the virtual assistant server 500 is transmitted to the electronic device ( 100) can be transmitted.

여기서, 자동 음성 인식 기능은 전자 장치(100)로부터 수신된 음성 데이터를 텍스트 데이터로 변환하는 과정일 수 있다. 예로, 자동 음성 인식 기능은 발성에 관한 정보를 포함하는 음향 모델 및, 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함하는 언어 모델을 이용하여 음성 데이터를 텍스트 데이터로 변환할 수 있다. 자연어 이해 기능은 변환된 텍스트 데이터를 대상으로 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 문법적 분석은 텍스트 데이터를 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 상기 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 사용자가 원하는 도메인(domain), 의도(intent) 또는 상기 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 파악할 수 있다.Here, the automatic speech recognition function may be a process of converting speech data received from the electronic device 100 into text data. For example, the automatic speech recognition function may convert speech data into text data by using an acoustic model including information about speech and a language model including information about a combination of unit phoneme information and unit phoneme information. The natural language comprehension function can grasp user intention by performing syntactic analysis or semantic analysis on the converted text data. Grammatical analysis can divide text data into grammatical units (eg, words, phrases, morphemes, etc.), and determine which grammatical elements the divided units have. Semantic analysis uses semantic matching, rule matching, formula matching, and the like, and the domain, intent, or parameters required to express the intent (or , Slot (slot) can be identified.

가상 어시스턴트 서버(500)는 수신된 컨텐츠(511), 공유 대상자(513) 및 명령어와 관련된 정보를 수집 및 분석하여 전자 장치(100)에서 실행할 어플리케이션 및 상기 어플리케이션에 이용되는 적어도 하나의 입력 파라미터를 결정할 수 있다. 예로, 가상 어시스턴트 서버(500)는 전술한 패스 룰 결정 방식에 따라 전자 장치(100)에서 실행할 어플리케이션 및 상기 어플리케이션에 이용되는 적어도 하나의 입력 파라미터를 결정할 수 있다. 또한, 가상 어시스턴트 서버(500)는 수신된 명령어로부터 명령어에 대응되는 어플리케이션 실행 정보를 결정할 수 있다. 어플리케이션 실행 정보는 명령어에 대응되는 어플리케이션의 식별자 및 상기 어플리케이션을 이용하여 실행될 기능 정보를 포함할 수 있다.The virtual assistant server 500 determines an application to be executed in the electronic device 100 and at least one input parameter used for the application by collecting and analyzing information related to the received content 511, the sharing target 513, and the command. I can. For example, the virtual assistant server 500 may determine an application to be executed by the electronic device 100 and at least one input parameter used for the application according to the above-described pass rule determination method. Also, the virtual assistant server 500 may determine application execution information corresponding to the command from the received command. The application execution information may include an identifier of an application corresponding to a command and function information to be executed using the application.

일 실시예로, 도 5의 식별부호 5-b의 (a)를 참조하면, 기 설정된 기호에 대응되는 명령어가 컨텐츠의 공유를 요청하는 공유 명령어인 경우, 가상 어시스턴트 서버(500)는 컨텐츠(511)를 공유할 어플리케이션으로서 메시지 어플리케이션(255)를 결정할 수 있다. 공유 명령어에 대응되는 어플리케이션이 복수 개인 경우, 가상 어시스턴트 서버(500)는 전자 장치(100)에 설치된 어플리케이션의 종류, 전자 장치(100)의 복수 개의 어플리케이션들의 사용 이력 또는 사용 패턴, 사용자의 계정을 공유하는 타 장치들에 설치된 복수 개의 어플리케이션들의 사용 이력 또는 사용 패턴 등을 고려하여, 컨텐츠(511)를 공유할 어플리케이션을 결정할 수 있다. 예로, 메시지 어플리케이션(255)이 결정되면, 가상 어시스턴트 서버(500)는 메시지 어플리케이션(255)을 이용하여 실행될 기능을 결정할 수 있다. 예로, 가상 어시스턴트 서버(500)는 메시지 어플리케이션(255)이 실행할 기능으로서, 공유 대상자(513)에게 컨텐츠(511)를 전송하는 메시지 전송 기능을 결정할 수 있다.As an embodiment, referring to (a) of identification code 5-b of FIG. 5, when a command corresponding to a preset symbol is a sharing command for requesting content sharing, the virtual assistant server 500 includes content 511 The message application 255 may be determined as an application to share ). When there are multiple applications corresponding to the sharing command, the virtual assistant server 500 shares the type of application installed in the electronic device 100, the usage history or usage pattern of the multiple applications of the electronic device 100, and the user's account. An application to share the content 511 may be determined in consideration of the usage history or usage pattern of a plurality of applications installed on other devices. For example, when the message application 255 is determined, the virtual assistant server 500 may use the message application 255 to determine a function to be executed. For example, the virtual assistant server 500 may determine a message transmission function for transmitting the content 511 to the sharing target 513 as a function to be executed by the message application 255.

메시지 어플리케이션(255)을 이용하여 실행될 기능이 결정되면, 가상 어시스턴트 서버(500)는 메시지 어플리케이션(255)에 기 결정된 적어도 하나의 입력 파라미터가 적용 가능한지를 판단할 수 있다. 예로, 컨텐츠(511)의 공유 대상자가 '엄마'인 경우, 가상 어시스턴트 서버(500)는 전자 장치(100)에 저장된 메시지 어플리케이션(255)의 연락처 목록에 '엄마'가 포함되는지를 판단할 수 있다. When a function to be executed is determined using the message application 255, the virtual assistant server 500 may determine whether at least one predetermined input parameter is applicable to the message application 255. For example, when the subject to share the content 511 is'mother', the virtual assistant server 500 may determine whether'mother' is included in the contact list of the message application 255 stored in the electronic device 100. .

연락처 목록에서 '엄마'가 검색되지 않는 경우, 도 5의 식별부호 5-b의 (b)와 같이 가상 어시스턴트 서버(500)는 공유 대상자와 관련된 정보를 추가로 수집할 수 있다. 예로, 사용자가 공통 계정(예: AA 계정)을 통하여 전자 장치(100) 외에 타 장치를 함께 이용하는 경우, 가상 어시스턴트 서버(500)는 타 장치에 기 등록 또는 설정한 정보를 참조할 수 있다. 예로, 사용자가 타 장치들의 '관계' 설정 기능을 이용하여, '엄마 = 맘'이라고 설정한 경우, 가상 어시스턴트 서버(500)는 상기 설정된 정보를 참조하여 기존 공유 대상자(513)인 '엄마'에 대한 대체 공유 대상자가 '맘'인 것으로 결정할 수 있다.When'mother' is not searched in the contact list, the virtual assistant server 500 may additionally collect information related to the person to be shared as shown in (b) of identification code 5-b of FIG. 5. For example, when a user uses other devices other than the electronic device 100 through a common account (eg, AA account), the virtual assistant server 500 may refer to information previously registered or set in the other device. For example, when the user sets'Mom = Mom' by using the'relationship' setting function of other devices, the virtual assistant server 500 refers to the set information to the'Mother', the existing sharing target 513. It can be determined that the alternative sharing target for the'heart' is.

대체 공유 대상자가 새로운 입력 파라미터로서 결정되면, 도 5의 식별부호 5-b의 (c)와 같이, 가상 어시스턴트 서버(50)는 메시지 어플리케이션(255)에 새로운 입력 파라미터가 적용 가능한지를 판단할 수 있다. 예로, 컨텐츠(511)의 대체 공유 대상자가 '맘'인 경우, 가상 어시스턴트 서버(50)는 전자 장치(100)에 메시지 어플리케이션(255)의 연락처 목록에 '맘'이 포함되는지를 판단할 수 있다. 연락처 목록에서 '맘'이 검색되는 경우, 가상 어시스턴트 서버(50)는 '맘'을 전자 장치(100)의 메시지 어플리케이션(255)에 적용할 입력 파라미터로 결정할 수 있다.When the alternative sharing target is determined as a new input parameter, as shown in (c) of identification code 5-b of FIG. 5, the virtual assistant server 50 may determine whether the new input parameter is applicable to the message application 255. . For example, if the alternative sharing target of the content 511 is'Mom', the virtual assistant server 50 may determine whether'Mom' is included in the contact list of the message application 255 in the electronic device 100. . When'mam' is searched in the contact list, the virtual assistant server 50 may determine'mam' as an input parameter to be applied to the message application 255 of the electronic device 100.

가상 어시스턴트 서버(500)가 전자 장치(100)로부터 수신된 컨텐츠(511), 공유 대상자(513) 및 명령어와 관련된 정보를 수집 및 분석한 결과, 전자 장치(100)에서 실행할 어플리케이션, 어플리케이션의 기능 및 상기 어플리케이션의 적용할 적어도 하나의 입력 파라미터가 결정되면, 가상 어시스턴트 서버(500)는 상기 적어도 하나의 입력 파라미터, 및 상기 어플리케이션의 식별자 및 상기 어플리케이션의 기능 정보가 포함된 어플리케이션 실행 정보를 전자 장치(100)에게 전송(②)할 수 있다.As a result of the virtual assistant server 500 collecting and analyzing information related to the content 511, the person to be shared 513, and the command received from the electronic device 100, the application to be executed in the electronic device 100, the function of the application, and When at least one input parameter to be applied to the application is determined, the virtual assistant server 500 transmits the at least one input parameter and application execution information including the identifier of the application and the function information of the application to the electronic device 100 ) To (②).

도 5의 식별부호 5-c에서, 전자 장치(100)의 프로세서(430)는 무선 통신 회로(420)를 통하여, 적어도 하나의 입력 파라미터 및 어플리케이션 실행 정보를 가상 어시스턴트 서버로부터 수신할 수 있다. 프로세서(430)는 적어도 하나의 입력 파라미터 및 어플리케이션 실행 정보에 따라, 메시지의 어플리케이션(255)에 적어도 하나의 입력 파라미터를 적용할 수 있다. 예를 들어, 일 입력 파라미터가 메시지 어플리케이션(255)에 적용할 메시지로서 텍스트 형태의 컨텐츠(511)이고, 다른 입력 파라미터가 메시지 어플리케이션(255)에 적용할 메시지 수신 대상자인 '맘'일 수 있다. 이 경우, 프로세서(430)는 메시지 수신 대상자인 '맘'에게 메시지로서 컨텐츠(511)를 전송할 수 있다.In identification code 5-c of FIG. 5, the processor 430 of the electronic device 100 may receive at least one input parameter and application execution information from the virtual assistant server through the wireless communication circuit 420. The processor 430 may apply at least one input parameter to the application 255 of the message according to the at least one input parameter and application execution information. For example, one input parameter may be a text-type content 511 as a message to be applied to the message application 255, and another input parameter may be a'mam', a message receiving target to be applied to the message application 255. In this case, the processor 430 may transmit the content 511 as a message to a'mam' that is a message receiving target.

도 6 내지 도 11은, 일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 상세하게 나타내는 도면이다.6 to 11 are diagrams illustrating in detail a process of providing an application service by an electronic device according to an exemplary embodiment.

먼저, 도 6의 식별부호 6-a에서, 프로세서(430)는 컨텐츠를 포함하는 화면이 표시되도록 디스플레이(410)를 제어할 수 있다. 여기서, 화면이란 디스플레이(410)가 제공하는 정보가 표시되거나 또는 표시되는 영역이 될 수 있다. 이 경우, 식별부호 6-b와 같이, 사용자는 가상 어시스턴트 서버를 이용하는 가상 어시스턴트 모드로 진입하는 사용자 입력을 수행할 수 있다. 예로, 사용자는 도 6-b의 (a)와 같이 스타일러스 펜(350)의 일 단부에 버튼(352)을 누르거나, 도 6-b의 (b)와 같이 팝업 메뉴(예로, 삼성 에어커맨드(air command)TM)에서 상기 가상 어시스턴트 모드의 진입을 위한 UI(621)를 선택하는 사용자 입력을 수행하거나, 또는, 도 6-b의 (c)와 같이, 가상 어시스턴트 모드로 진입을 요청하는 음성 명령을 수행할 수 있다. First, in the identification code 6-a of FIG. 6, the processor 430 may control the display 410 to display a screen including content. Here, the screen may be an area in which information provided by the display 410 is displayed or displayed. In this case, as shown in identification code 6-b, the user may perform a user input to enter the virtual assistant mode using the virtual assistant server. For example, the user presses the button 352 at one end of the stylus pen 350 as shown in (a) of FIG. 6-b, or a pop-up menu (e.g., Samsung Air Command) as shown in (b) of FIG. air command) In TM ), a user input for selecting the UI 621 for entering the virtual assistant mode is performed, or, as shown in (c) of FIG. 6-b, a voice command for requesting entry to the virtual assistant mode Can be done.

사용자 입력에 대응되는 입력 신호가 획득되면, 식별부호 6-c와 같이, 프로세서(430)는 가상 어시스턴트 모드를 실행하고, 사용자 입력 대기 화면이 표시되도록 디스플레이(410)를 제어할 수 있다. 이때, 가상 어시스턴트 모드가 실행 중임을 나타내는 UI(미도시)가 화면에 표시될 수도 있다.When an input signal corresponding to a user input is obtained, as shown in identification number 6-c, the processor 430 may execute a virtual assistant mode and control the display 410 to display a user input standby screen. In this case, a UI (not shown) indicating that the virtual assistant mode is being executed may be displayed on the screen.

가상 어시스턴트 모드가 실행 중인 동안에, 도 7a의 식별부호 7-a에서, 프로세서(430)는 컨텐츠(711)를 대상으로 밑줄(751)을 드로잉하는 사용자 입력, 및 기 설정된 기호로서 물음표 기호('?')(753)를 드로잉하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 프로세서(430)는 물음표 기호('?')(753)에 대응되는 명령어로서, 룩업 테이블에서 컨텐츠에 대한 검색을 요청하는 검색 명령어를 획득할 수 있다. 프로세서(430)는 선택된 컨텐츠(711)와 획득된 검색 명령어를 세트로 저장할 수 있다.While the virtual assistant mode is being executed, in the identification number 7-a of FIG. 7A, the processor 430 draws an underline 751 for the content 711 as a user input, and a question mark symbol ('? At least one input signal corresponding to a user input for drawing') 753 may be obtained. The processor 430 is a command corresponding to a question mark symbol ('?') 753 and may obtain a search command requesting a search for content from a lookup table. The processor 430 may store the selected content 711 and the acquired search command as a set.

또한, 도 7a의 식별부호 7-b와 같이, 프로세서(430)는 컨텐츠(713)를 대상으로 밑줄(755)을 드로잉하는 사용자 입력, 및 기 설정된 기호로서 더하기 기호('+')(757)를 드로잉하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 프로세서(430)는 더하기 기호('+')(757)에 대응되는 명령어로서, 룩업 테이블에서 컨텐츠를 등록하는 등록 명령어를 획득할 수 있다. 프로세서(430)는 선택된 컨텐츠(713)와 등록 명령어를 세트로 저장할 수 있다. In addition, as shown in the identification number 7-b of FIG. 7A, the processor 430 draws an underline 755 for the content 713, and a plus sign ('+') 757 as a preset symbol At least one input signal corresponding to a user input drawing may be obtained. The processor 430 is a command corresponding to the plus sign ('+') 757 and may obtain a registration command for registering content in the lookup table. The processor 430 may store the selected content 713 and a registration instruction as a set.

또한, 도 7b의 식별부호 7-c와 같이, 프로세서(430)는 컨텐츠(715)를 중심으로 도형(759)를 드로잉하는 사용자 입력, 및 기 설정된 기호로서 화살표 기호('→')(761)를 드로잉하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 프로세서(430)는 화살표 기호('→')(761)에 대응되는 명령어로서, 룩업 테이블에서 컨텐츠의 공유를 요청하는 공유 명령어를 획득할 수 있다. 또한, 프로세서(430)는 컨텐츠(715)의 공유 대상자(717)를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 예로, 프로세서(430)는 화살표 기호('→')(761) 상에 공유 대상자(예: 이름 또는 별칭 등)(717)를 필기하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 일 예로, 프로세서(430)는 공유 대상자를 필기하는 사용자 입력을 인식하여 텍스트로 변환할 수 있다. 필기 입력에 대한 인식은 텍스트 알고리즘을 이용하여 수행될 수 있으며, 예로, 신경망(Neural Networks) 알고리즘, HMM(Hidden Markov Models) 알고리즘 또는 KNN(K-Nearest-Neighbor) 알고리즘 등을 이용하여 수행될 수 있으나, 전술한 예에 제한되는 것은 아니다. 프로세서(430)는 선택된 컨텐츠(715), 공유 대상자(717) 및 획득된 공유 명령어를 세트로 저장할 수 있다.In addition, as shown in the identification number 7-c of FIG. 7B, the processor 430 draws a figure 759 around the content 715, and an arrow sign ('→') 761 as a preset sign. At least one input signal corresponding to a user input drawing may be obtained. The processor 430 is a command corresponding to an arrow symbol ('→') 761 and may obtain a sharing command requesting sharing of content from a lookup table. In addition, the processor 430 may obtain at least one input signal corresponding to a user input for inputting the content 715 to be shared with the person 717. For example, the processor 430 may acquire at least one input signal corresponding to a user input of writing a share target (eg, name or alias) 717 on the arrow symbol ('→') 761. . For example, the processor 430 may recognize a user input for writing a person to be shared and convert it into text. Recognition of the handwriting input may be performed using a text algorithm, for example, a Neural Networks algorithm, a Hidden Markov Models (HMM) algorithm, or a K-Nearest-Neighbor (KNN) algorithm. , Is not limited to the above-described example. The processor 430 may store the selected content 715, the person to be shared 717, and the acquired sharing instruction as a set.

또한, 도 7b의 식별부호 7-d와 같이, 프로세서(430)는 컨텐츠(719)를 중심으로 도형(761)을 드로잉하는 사용자 입력, 및 기 설정된 기호로서 더하기 기호('+')(763)를 드로잉하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 프로세서(430)는 더하기 기호('+')(763)에 대응되는 명령어로서, 룩업 테이블에서 컨텐츠를 등록하는 등록 명령어를 획득할 수 있다. 프로세서(430)는 선택된 컨텐츠(719)와 또는 등록 명령어를 세트로 저장할 수 있다. In addition, as shown in the identification number 7-d of FIG. 7B, the processor 430 draws a figure 761 based on the content 719, and a plus sign ('+') 763 as a preset sign. At least one input signal corresponding to a user input drawing may be obtained. The processor 430 is a command corresponding to the plus sign ('+') 763 and may obtain a registration command for registering content in the lookup table. The processor 430 may store the selected content 719 and a registration instruction as a set.

사용자 입력에 따라 컨텐츠 및 컨텐츠에 대한 명령어가 결정되면, 도 8의 식별부호 8-a와 같이 프로세서(430)는 사용자 입력에 따른 어플리케이션이 실행되도록 가상 어시스턴트의 이용을 요청하는 UI(631)를 선택하는 사용자 입력에 대응되는 입력 신호를 획득할 수 있다. When the content and the command for the content are determined according to the user input, the processor 430 selects the UI 631 requesting the use of the virtual assistant so that the application according to the user input is executed as shown in the identification code 8-a of FIG. An input signal corresponding to a user input may be obtained.

가상 어시스턴트의 이용을 요청하는 UI(631)를 선택하는 사용자 입력에 따라, 프로세서(430)는 전술한 도 7a 및 도 7b 과정을 통하여 저장된 세트들이 가상 어시스턴트 서버(500)로 전송되도록 무선 통신 회로(420)를 제어할 수 있다. 예로, 프로세서(430)는 도 7a의 식별부호 7-a에서 저장된 컨텐츠(711)와 획득된 검색 명령어를 포함하는 세트를 가상 어시스턴트 서버(500)로 전송할 수 있다. 또한, 프로세서(430)는 도 7a의 식별부호 7-b에서 저장된 컨텐츠(713)와 등록 명령어를 포함하는 세트를 가상 어시스턴트 서버(500)로 전송할 수 있다. 또한, 프로세서(430)는 도 7b의 식별부호 7-c에서 저장된 컨텐츠(715), 공유 대상자(717) 및 공유 명령어를 포함하는 세트를 가상 어시스턴트 서버(500)로 전송할 수 있다. 또한, 프로세서(430)는 도 7b의 식별부호 7-d에서 저장된 컨텐츠(719)와 등록 명령어를 세트로 가상 어시스턴트 서버(500)로 전송할 수 있다.According to a user input for selecting the UI 631 requesting the use of the virtual assistant, the processor 430 transmits the stored sets to the virtual assistant server 500 through the above-described processes of FIGS. 7A and 7B. 420) can be controlled. For example, the processor 430 may transmit to the virtual assistant server 500 a set including the content 711 stored in the identification number 7-a of FIG. 7A and the acquired search command. In addition, the processor 430 may transmit to the virtual assistant server 500 a set including the content 713 stored in the identification number 7-b of FIG. 7A and a registration instruction. In addition, the processor 430 may transmit to the virtual assistant server 500 a set including the content 715 stored in the identification number 7-c of FIG. 7B, the person to be shared 717, and a sharing instruction. In addition, the processor 430 may transmit the content 719 stored in the identification number 7-d of FIG. 7B and the registration instruction as a set to the virtual assistant server 500.

이 경우, 가상 어시스턴트의 이용을 요청하는 UI(631)를 선택하는 사용자 입력에 응답하여, 프로세서(430)는 전술한 복수 개의 세트들을 가상 어시스턴트 서버(500)로 함께 전송할 수도 있고, 또는 새로운 세트들이 저장될 때마다 기존에 저장 중이던 세트를 가상 어시스턴트 서버(500)로 전송할 수도 있다. In this case, in response to a user input for selecting the UI 631 requesting use of the virtual assistant, the processor 430 may transmit the above-described plurality of sets to the virtual assistant server 500 together, or new sets Whenever it is stored, the previously stored set may be transmitted to the virtual assistant server 500.

가상 어시스턴트 서버(500)는 수신된 세트들에 포함된 컨텐츠, 공유 대상자 또는 기 설정된 기호에 대응되는 명령어 중 적어도 하나에 기반하여, 사용자의 의도에 따라 전자 장치(100)에 수행할 어플리케이션 서비스를 결정할 수 있다. 예로, 가상 어시스턴트 서버(500)는 도 7a의 식별부호 7-a에 따라 획득된 컨텐츠(711) 및 검색 명령어에 기반하여, 검색 명령어에 대응되는 어플리케이션으로서 검색 어플리케이션(257), 어플리케이션의 기능을 검색 기능으로 결정하고, 컨텐츠(711)를 입력 파라미터에 대응되는 검색어로 결정할 수 있다. The virtual assistant server 500 determines an application service to be performed on the electronic device 100 according to the user's intention, based on at least one of a command corresponding to a content included in the received sets, a sharing target, or a preset preference. I can. For example, the virtual assistant server 500 searches for a search application 257 and a function of the application as an application corresponding to the search command based on the content 711 acquired according to the identification number 7-a of FIG. 7A and the search command. It is determined as a function, and the content 711 may be determined as a search word corresponding to the input parameter.

또한, 가상 어시스턴트 서버(500)는 도 7a의 식별부호 7-b에 따라 획득된 컨텐츠(713) 및 등록 명령어에 기반하여, 등록 명령어에 대응되는 어플리케이션으로서 일정 어플리케이션(271), 어플리케이션의 기능을 일정 등록 기능으로 결정하고, 컨텐츠(713)를 입력 파라미터에 대응되는 일정 정보로서 결정할 수 있다. 일 실시예로, 등록 명령어에 대응되는 어플리케이션들이 다수 개 일 수 있다. 예로, 등록 명령어에 대응되는 어플리케이션들은 일정 등록이 가능한 일정 어플리케이션(271), 메모장으로 등록이 가능한 메모 어플리케이션(253), 연락처 목록에 등록이 가능한 연락처 어플리케이션(277) 등을 포함할 수 있다. 이에, 가상 어시스턴트 서버(500)는 컨텐츠의 속성에 기반하여, 명령어에 대응하여 실행될 어플리케이션 및 상기 어플리케이션을 이용하여 실행될 기능을 결정할 수 있다.In addition, the virtual assistant server 500 schedules a schedule application 271 as an application corresponding to the registration command and functions of the application based on the content 713 acquired according to the identification number 7-b of FIG. 7A and the registration command. The registration function may be determined, and the content 713 may be determined as schedule information corresponding to the input parameter. In one embodiment, there may be a plurality of applications corresponding to the registration command. For example, applications corresponding to the registration command may include a schedule application 271 capable of registering a schedule, a memo application 253 capable of registering with a notepad, a contact application 277 capable of registering in a contact list, and the like. Accordingly, the virtual assistant server 500 may determine an application to be executed in response to a command and a function to be executed using the application, based on the attribute of the content.

예로, 가상 어시스턴트 서버(500)는 컨텐츠의 속성을 분석할 수 있다. 가상 어시스턴트 서버(500)는 컨텐츠의 속성이 날짜, 메모, 연락처, 주소, 이미지 또는 동영상 중 어느 속성에 해당하는지를 결정할 수 있다. 예로, 컨텐츠의 속성이 날짜인 경우, 가상 어시스턴트 서버(500)는 명령어에 대응하여 실행될 어플리케이션으로 일정 어플리케이션(271)을 선택할 수 있다. 컨텐츠의 속성이 메모인 경우, 가상 어시스턴트 서버(500)는 명령어에 대응하여 실행될 어플리케이션으로 메모 어플리케이션(253)을 선택할 수 있다. 컨텐츠의 속성이 연락처(예로, 전화번호)인 경우, 가상 어시스턴트 서버(500)는 명령어에 대응하여 실행될 어플리케이션으로 연락처 어플리케이션(277)을 선택할 수 있다.For example, the virtual assistant server 500 may analyze the attribute of the content. The virtual assistant server 500 may determine which attribute of the content corresponds to a date, a memo, a contact, an address, an image, or a video. For example, when the attribute of the content is a date, the virtual assistant server 500 may select a schedule application 271 as an application to be executed in response to a command. When the attribute of the content is a memo, the virtual assistant server 500 may select the memo application 253 as an application to be executed in response to a command. When the attribute of the content is a contact (eg, a phone number), the virtual assistant server 500 may select a contact application 277 as an application to be executed in response to a command.

또한, 가상 어시스턴트 서버(500)는 도 7b의 식별부호 7-c에 따라 획득된 컨텐츠(715), 공유 대상자(717) 및 획득된 공유 명령어에 기반하여, 공유 명령어에 대응되는 어플리케이션으로서 메시지 어플리케이션(255), 어플리케이션의 기능을 메시지 전송 기능으로 결정하고, 컨텐츠(711)를 전송할 메시지, 공유 대상자(717)를 메시지 수신 대상자로 결정할 수 있다. 가상 어시스턴트 서버(500)가 공유 명령어에 대응되는 어플리케이션 서비스를 결정하는 과정은, 도 5에서 전술하여 상세한 설명은 생략한다.In addition, the virtual assistant server 500 is a message application as an application corresponding to the sharing command, based on the content 715 acquired according to the identification number 7-c of FIG. 7B, the sharing target 717, and the acquired sharing command. 255), a function of an application may be determined as a message transmission function, a message to be transmitted to the content 711, and a sharing target 717 may be determined as a message receiving target. A process in which the virtual assistant server 500 determines the application service corresponding to the shared command has been described above with reference to FIG. 5 and a detailed description thereof will be omitted.

또한, 가상 어시스턴트 서버(500)는 도 7b의 식별부호 7-d에 따라 획득된 컨텐츠(719) 및 등록 명령어에 기반하여, 등록 명령어에 대응되는 어플리케이션으로서 연락처 어플리케이션(277), 어플리케이션의 기능을 연락처 등록 기능으로 결정하고, 컨텐츠(719)를 입력 파라미터에 대응되는 연락처로 결정할 수 있다.In addition, the virtual assistant server 500 is an application corresponding to the registration command, based on the content 719 obtained according to the identification number 7-d of FIG. 7B and the registration command, the contact application 277 and the function of the application are contact information. The registration function may be determined, and the content 719 may be determined as a contact information corresponding to the input parameter.

사용자의 의도에 따라 전자 장치(100)에 수행할 적어도 하나의 어플리케이션 서비스가 결정되면, 가상 어시스턴트 서버(500)는 각각의 어플리케이션 서비스를 위한 컨텐츠 및/또는 공유 대상자에 대응되는 적어도 하나의 입력 파라미터 및 명령어에 대응되는 어플리케이션 실행 정보를 전자 장치(100)에게 전송할 수 있다. When at least one application service to be performed on the electronic device 100 is determined according to the user's intention, the virtual assistant server 500 includes content for each application service and/or at least one input parameter corresponding to a person to be shared and Application execution information corresponding to the command may be transmitted to the electronic device 100.

전자 장치(100)의 프로세서(430)는, 무선 통신 회로(420)를 통하여 각각의 어플리케이션 서비스를 위한 컨텐츠 및/또는 공유 대상자에 대응되는 적어도 하나의 입력 파라미터 및 명령어에 대응되는 어플리케이션 실행 정보를 가상 어시스턴트 서버(500)로부터 수신할 수 있다. 그리고, 프로세서(430)는 적어도 하나의 입력 파라미터 및 명령어에 대응되는 어플리케이션 실행 정보에 따라 어플리케이션에 적어도 하나의 입력 파라미터를 적용한 결과를 제공할 수 있다. The processor 430 of the electronic device 100 virtualizes the content for each application service and/or at least one input parameter corresponding to the sharing target and application execution information corresponding to the command through the wireless communication circuit 420. It may be received from the assistant server 500. Further, the processor 430 may provide a result of applying at least one input parameter to an application according to at least one input parameter and application execution information corresponding to the command.

예로, 적어도 하나의 입력 파라미터가 검색어이고, 어플리케이션 실행 정보에 포함된 어플리케이션이 검색 어플리케이션(257)이고, 검색 어플리케이션(257)의 기능이 검색 기능일 수 있다. 이 경우, 프로세서(430)는 도 9a의 식별부호 9-a와 같이, 검색어가 적용되어 검색 기능이 실행된 검색 어플리케이션(257)의 실행 화면이 표시되도록 디스플레이(410)를 제어할 수 있다.For example, at least one input parameter may be a search word, an application included in application execution information may be a search application 257, and a function of the search application 257 may be a search function. In this case, the processor 430 may control the display 410 to display an execution screen of the search application 257 on which the search function is executed by applying the search word, as shown in the identification code 9-a of FIG. 9A.

또한, 적어도 하나의 입력 파라미터가 일정 정보이고, 어플리케이션 실행 정보에 포함된 어플리케이션이 일정 어플리케이션(271)이고, 일정 어플리케이션(271)의 기능이 일정 등록 기능일 수 있다. 이 경우, 프로세서(430)는 도 9a의 식별부호 9-b와 같이, 일정 정보가 등록된 일정 어플리케이션의 실행 화면이 표시되도록 디스플레이(410)를 제어할 수 있다.In addition, at least one input parameter may be schedule information, an application included in the application execution information may be a schedule application 271, and a function of the schedule application 271 may be a schedule registration function. In this case, the processor 430 may control the display 410 to display an execution screen of a schedule application in which schedule information is registered, as shown in identification code 9-b of FIG. 9A.

또한, 입력 파라미터가 메시지 및 메시지 수신 대상자를 포함하고, 어플리케이션 실행 정보에 포함된 어플리케이션이 메시지 어플리케이션(255)이고, 메시지 어플리케이션(255)의 기능이 메시지 전송 기능일 수 있다. 이 경우, 프로세서(430)는 도 9b의 식별부호 9-c와 같이, 메시지 수신 대상자에게 메시지를 전송한 메시지 어플리케이션(255)의 실행 화면이 표시되도록 디스플레이(410)를 제어할 수 있다. In addition, an input parameter may include a message and a message recipient, an application included in the application execution information may be a message application 255, and a function of the message application 255 may be a message transmission function. In this case, the processor 430 may control the display 410 to display an execution screen of the message application 255 that has transmitted the message to the message recipient, as shown in the identification code 9-c of FIG. 9B.

또한, 입력 파라미터가 연락처를 포함하고, 어플리케이션 실행 정보에 포함된 어플리케이션이 연락처 어플리케이션(277)일 수 있다. 이 경우, 프로세서(430)는 도 9b의 식별부호 9-d와 같이, 연락처가 등록된 연락처 어플리케이션의 실행 화면이 표시되도록 디스플레이(410)를 제어할 수 있다. Also, the input parameter may include a contact information, and an application included in the application execution information may be the contact application 277. In this case, the processor 430 may control the display 410 to display an execution screen of a contact application in which a contact is registered, as shown in identification number 9-d of FIG. 9B.

전술한 도 9a 및 도 9b의 복수 개의 어플리케이션 실행 화면들의 적어도 일부는 포그라운드 레이어에 할당되어 표시되고, 다른 일부는 백그라운드 레이어에 할당될 수 있다. 예로, 사용자가 가장 처음 입력한 기호에 대응되는 어플리케이션의 실행 화면이 포그라운드 레이어에 표시되고, 사용자가 다음으로 입력한 기호에 대응되는 어플리케이션의 실행 화면들은 백그라운드 레이어들에 할당될 수 있다. 또는, 복수 개의 어플리케이션 실행 화면들의 적어도 일부는 멀티윈도우로 제공되거나, 듀얼 디스플레이에 각각 제공되거나, 팝업 화면으로 제공될 수 있다. 그밖에, 복수 개의 어플리케이션 실행 화면들이 표시되는 순서 및 표시 방식은, 전술한 예에 제한되지 않고 사용자의 설정에 따라 다양한 방식으로 제공될 수 있다. 예로, 사용자가 우선 순위를 부여한 어플리케이션은 항상 포그라운드 레이어에 표시될 수 있다. At least a portion of the plurality of application execution screens of FIGS. 9A and 9B described above may be allocated to and displayed in a foreground layer, and other portions may be allocated to a background layer. For example, an execution screen of an application corresponding to a preference first input by a user may be displayed in a foreground layer, and execution screens of an application corresponding to a sign next input by the user may be allocated to background layers. Alternatively, at least some of the plurality of application execution screens may be provided as a multi-window, may be provided respectively to a dual display, or may be provided as a pop-up screen. In addition, the order and display method in which the plurality of application execution screens are displayed are not limited to the above-described example, and may be provided in various ways according to a user's setting. For example, an application to which the user has given priority may always be displayed in the foreground layer.

도 10 및 도 11은, 본 개시의 다른 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 상세하게 나타내는 도면이다.10 and 11 are diagrams illustrating in detail a process of providing an application service by an electronic device according to another embodiment of the present disclosure.

가상 어시스턴트 모드가 실행 중인 동안에, 도 10의 식별부호 10-a와 같이, 프로세서(430)는 컨텐츠(1011)를 선택하기 위하여 컨텐츠(1011)를 대상으로 밑줄(1051)을 드로잉하는 사용자 입력, 및 기 설정된 기호로서 물음표 기호('?')(1053)를 드로잉하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 추가로, 도 10의 식별부호 10-b와 같이, 프로세서(430)는 컨텐츠(1011)를 중심으로 도형(1055)를 드로잉하는 사용자 입력, 기 설정된 기호로서 화살표 기호('→')(1057)를 드로잉하는 사용자 입력, 및 공유 대상자(1013)를 필기하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다.While the virtual assistant mode is being executed, as shown in identification number 10-a of FIG. 10, the processor 430 draws an underline 1051 for the content 1011 in order to select the content 1011, and At least one input signal corresponding to a user input for drawing a question mark ('?') 1053 as a preset symbol may be obtained. In addition, as shown in the identification number 10-b of FIG. 10, the processor 430 is a user input for drawing a figure 1055 centering on the content 1011, an arrow sign ('→') 1057 as a preset sign. At least one input signal corresponding to a user input for drawing a user input and a user input for writing the shared person 1013 may be obtained.

도 10의 식별부호 10-a에서의 적어도 하나의 사용자 입력 신호, 및 식별부호 10-b에서의 적어도 하나의 사용자 입력 신호에 기반하여, 프로세서(430)는 컨텐츠(1011), 공유 대상자(1013), 물음표 기호('?')(1053)에 대응되는 제1 명령어, 및 화살표 기호('→')(1057)에 대응되는 제2 명령어를 저장할 수 있다.Based on the at least one user input signal in the identification code 10-a of FIG. 10 and the at least one user input signal in the identification code 10-b, the processor 430 includes the content 1011 and the sharing target 1013 , A first command corresponding to the question mark sign ('?') 1053, and a second command corresponding to the arrow sign ('→') 1057 may be stored.

사용자가 가상 어시스턴트의 이용을 요청하면, 프로세서(430)는 컨텐츠(1011), 공유 대상자(1013), 물음표 기호('?')(1053)에 대응되는 제1 명령어, 및 화살표 기호('→')(1057)에 대응되는 제2 명령어를 가상 어시스턴트 서버(500)로 전송할 수 있다. When the user requests the use of the virtual assistant, the processor 430 transmits the content 1011, the shared person 1013, a first instruction corresponding to the question mark ('?') 1053, and an arrow symbol ('→'). ) A second command corresponding to 1057 may be transmitted to the virtual assistant server 500.

가상 어시스턴트 서버(500)는 수신된 세트들에 포함된 컨텐츠, 공유 대상자 또는 제1 명령어 및 제2 명령어 중 적어도 하나에 기반하여, 사용자의 의도에 따라 전자 장치(100)에 수행할 어플리케이션 서비스를 결정할 수 있다. 가상 어시스턴트 서버(500)는 제1 명령어에 따라 수행될 제1 어플리케이션 및 제2 명령어에 따라 수행될 제2 어플리케이션의 관계에 기반하여 서비스 수행 절차를 결정할 수 있다. 예로, 가상 어시스턴트 서버(500)는 제1 명령어 및 제2 명령어의 입력 순서, 또는 제1 어플리케이션 및 제2 어플리케이션의 속성에 기반하여 서비스 수행 절차를 결정할 수 있다. 구체적으로, 제1 명령어에 따라 수행될 제1 어플리케이션이 검색 어플리케이션(257)이고, 제2 명령어에 따라 수행될 제2 어플리케이션이 메시지 어플리케이션(255)일 수 있다. 이 경우, 가상 어시스턴트 서버(500)는 검색 어플리케이션(257)의 검색 결과를 메시지 어플리케이션(255)을 통하여 제3자에게 전송하는 서비스 절차를 추정할 수 있다. 다른 예로, 제1 어플리케이션이 검색 어플리케이션(257)이고, 제2 어플리케이션이 음악 어플리케이션(279) 또는 동영상 어플리케이션(273)일 수 있다. 이 경우, 가상 어시스턴트 서버(500)는 검색 어플리케이션(257)의 검색 결과를 음악 어플리케이션(279) 또는 동영상 어플리케이션(273)을 통하여 재생하는 서비스 절차를 추정할 수 있다. The virtual assistant server 500 determines an application service to be performed on the electronic device 100 according to the user's intention, based on the content included in the received sets, the sharing target, or at least one of the first command and the second command. I can. The virtual assistant server 500 may determine a service execution procedure based on a relationship between a first application to be executed according to the first command and a second application to be executed according to the second command. For example, the virtual assistant server 500 may determine a service execution procedure based on an input order of the first command and the second command, or attributes of the first application and the second application. Specifically, a first application to be executed according to the first command may be the search application 257, and a second application to be executed according to the second command may be the message application 255. In this case, the virtual assistant server 500 may estimate a service procedure for transmitting the search result of the search application 257 to a third party through the message application 255. As another example, the first application may be a search application 257, and the second application may be a music application 279 or a video application 273. In this case, the virtual assistant server 500 may estimate a service procedure for reproducing the search result of the search application 257 through the music application 279 or the video application 273.

사용자의 의도에 따라 전자 장치(100)에 수행할 적어도 하나의 어플리케이션 서비스가 결정되면, 가상 어시스턴트 서버(500)는 각각의 어플리케이션 서비스를 위한 컨텐츠 및/또는 공유 대상자에 대응되는 적어도 하나의 입력 파라미터 및 명령어에 대응되는 어플리케이션 실행 정보를 전자 장치(100)에게 전송할 수 있다. When at least one application service to be performed on the electronic device 100 is determined according to the user's intention, the virtual assistant server 500 includes content for each application service and/or at least one input parameter corresponding to a person to be shared and Application execution information corresponding to the command may be transmitted to the electronic device 100.

전자 장치(100)의 프로세서(430)는, 무선 통신 회로(420)를 통하여 어플리케이션 서비스를 위한 컨텐츠 및/또는 공유 대상자에 대응되는 입력 파라미터, 제1 명령어에 대응되는 어플리케이션 실행 정보, 및 제2 명령어에 대응되는 어플리케이션 실행 정보를 가상 어시스턴트 서버(500)로부터 수신할 수 있다. 이때, 제1 명령어에 대응되는 어플리케이션 실행 정보 및 제2 명령어에 대응되는 어플리케이션 실행 정보가 각각 수신될 수도 있고, 하나의 어플리케이션 실행 정보로 수신될 수도 있다. The processor 430 of the electronic device 100 includes an input parameter corresponding to a content for an application service and/or a person to be shared through the wireless communication circuit 420, application execution information corresponding to the first command, and a second command. Application execution information corresponding to may be received from the virtual assistant server 500. In this case, application execution information corresponding to the first command and application execution information corresponding to the second command may be respectively received, or may be received as one application execution information.

프로세서(430)는 입력 파라미터를 이용하여 획득된 제1 어플리케이션의 실행 결과를 제2 어플리케이션의 입력 파라미터로 적용한 결과를 제공할 수 있다. 예로, 도 11의 식별부호 11-a와 같이, 프로세서(430)는 검색어가 적용되어 검색 기능이 실행된 검색 어플리케이션(257)의 검색 결과를 획득하여, 메시지 어플리케이션(255)의 입력 파라미터로 적용할 수 있다. 이에, 프로세서(430)는 메시지 수신 대상자에게 검색 결과를 전송한 메시지 어플리케이션(255)의 실행 화면이 표시되도록 디스플레이(410)를 제어할 수 있다. The processor 430 may provide a result of applying the execution result of the first application acquired using the input parameter as the input parameter of the second application. For example, as shown in the identification code 11-a of FIG. 11, the processor 430 obtains the search result of the search application 257 on which a search word is applied and the search function is executed, and applies it as an input parameter of the message application 255. I can. Accordingly, the processor 430 may control the display 410 to display an execution screen of the message application 255 that has transmitted the search result to the message recipient.

도 12 및 도 13은, 다른 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 상세하게 나타내는 도면이다.12 and 13 are diagrams illustrating in detail a process of providing an application service by an electronic device according to another embodiment.

가상 어시스턴트 모드가 실행 중인 동안에, 도 12의 식별부호 12-a와 같이, 프로세서(430)는 컨텐츠들(1201, 1203, 1205) 각각을 중심으로 도형들(1251, 1253, 1255)을 드로잉하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. 또한, 도 12의 식별 부호 12-b와 같이, 프로세서(430)는 음성 명령을 발화하는 사용자 입력에 대응되는 음성 데이터를 획득할 수 있다. 여기서, 음성 명령은, 전술한 기 설정된 기호에 대응될 수 있다. 즉, 사용자가 기 설정된 기호를 기억하지 못하거나, 어플리케이션의 특정 기능에 대응하는 기호가 존재하지 않는 경우, 사용자는 기 설정된 기호 대신에 음성 명령을 발화할 수 있다. 도 12의 식별 부호 12-b에서는, 사용자는 컨텐츠들(1201, 1203, 1205)의 공유를 위한 음성 명령을 발화할 수 있다.While the virtual assistant mode is running, the processor 430 draws figures 1251, 1253, and 1255 centering on each of the contents 1201, 1203, and 1205 as shown in the identification number 12-a of FIG. 12 At least one input signal corresponding to the input may be obtained. In addition, as shown in the identification number 12-b of FIG. 12, the processor 430 may acquire voice data corresponding to a user input for uttering a voice command. Here, the voice command may correspond to the above-described preset symbol. That is, when the user cannot memorize a preset symbol or a symbol corresponding to a specific function of the application does not exist, the user may utter a voice command instead of the preset symbol. In the identification code 12-b of FIG. 12, the user may utter a voice command for sharing the contents 1201, 1203, and 1205.

사용자의 음성 명령에 응답하여, 프로세서(430)는 컨텐츠들(1201, 1203, 1205), 및 음성 명령에 대응되는 음성 데이터를 가상 어시스턴트 서버(500)로 전송할 수 있다. In response to the user's voice command, the processor 430 may transmit the contents 1201, 1203, and 1205 and voice data corresponding to the voice command to the virtual assistant server 500.

가상 어시스턴트 서버(500)는 수신된 컨텐츠들(1201, 1203, 1205)에 기반하여 어플리케이션에 적용할 입력 파라미터를 결정할 수 있다. 예로, 가상 어시스턴트 서버(500)는 선택된 컨텐츠들(1201, 1203, 1205)을 별도의 가공 없이 어플리케이션에 적용할 입력 파라미터로 결정할 수도 있고, 영상 처리 후에 어플리케이션에 적용할 입력 파라미터로 결정할 수도 있다. 예로, 가상 어시스턴트 서버(500)는 컨텐츠들(1201, 1203, 1205)이 이미지들인 경우, 상기 이미지들의 크기를 축소하거나, 상기 이미지들을 필터링하거나, 상기 이미지들의 용량을 줄이거나, 상기 이미지들의 일부를 커팅하는 등과 같은 다양한 영상 처리를 수행할 수 있다.The virtual assistant server 500 may determine an input parameter to be applied to the application based on the received contents 1201, 1203, and 1205. For example, the virtual assistant server 500 may determine the selected contents 1201, 1203, and 1205 as input parameters to be applied to the application without separate processing, or as input parameters to be applied to the application after image processing. For example, when the contents 1201, 1203, and 1205 are images, the virtual assistant server 500 reduces the size of the images, filters the images, reduces the size of the images, or reduces the size of the images. Various image processing such as cutting can be performed.

또한, 가상 어시스턴트 서버(500)는 음성 데이터에 기반하여, 사용자의 의도에 따라 전자 장치(100)에 수행할 어플리케이션 서비스를 결정할 수 있다. 이 경우, 가상 어시스턴트 서버(500)는 음성 데이터를 대상으로 자동 음성 인식 기능을 적용하여 텍스트 데이터로 변환할 수 있다. 가상 어시스턴트 서버(500)는 변환된 텍스트 데이터를 대상으로 자연어 이해 기능을 적용하여 서비스를 실행할 어플리케이션 및 입력 파라미터를 결정할 수 있다. 예로, 도 12의 12-b에서, 사용자가 발화한 음성 데이터가 "다영에게 보내줘"인 경우, 가상 어시스턴트 서버(500)는 서비스를 실행할 어플리케이션으로 메시지 어플리케이션(255), 메시지 공유 대상자의 입력 파라미터로 "다영'을 결정할 수 있다.In addition, the virtual assistant server 500 may determine an application service to be performed on the electronic device 100 according to a user's intention, based on voice data. In this case, the virtual assistant server 500 may convert the voice data into text data by applying an automatic voice recognition function. The virtual assistant server 500 may determine an application to execute a service and an input parameter by applying a natural language understanding function to the converted text data. For example, in 12-b of FIG. 12, when the voice data uttered by the user is "Send to Dayoung", the virtual assistant server 500 is an application to execute a service, a message application 255, and an input parameter of a message sharing target. You can decide "Dayoung".

사용자의 의도에 따라 전자 장치(100)에 수행할 적어도 하나의 어플리케이션 서비스가 결정되면, 가상 어시스턴트 서버(500)는 각각의 어플리케이션 서비스를 위한 컨텐츠에 대응되는 적어도 하나의 입력 파라미터 및 명령어에 대응되는 어플리케이션 실행 정보를 전자 장치(100)에게 전송할 수 있다. When at least one application service to be performed on the electronic device 100 is determined according to the user's intention, the virtual assistant server 500 provides at least one input parameter corresponding to the content for each application service and an application corresponding to the command. The execution information may be transmitted to the electronic device 100.

전자 장치(100)의 프로세서(430)는 무선 통신 회로(420)를 통하여 컨텐츠들(1201, 1203, 1205)에 대응되는 적어도 하나의 입력 파라미터, 음성 명령의 일부에 대응되는 적어도 하나의 입력 파라미터 및 음성 명령의 다른 일부에 대응되는 어플리케이션 실행 정보를 수신할 수 있다. The processor 430 of the electronic device 100 includes at least one input parameter corresponding to the contents 1201, 1203, and 1205, at least one input parameter corresponding to a part of the voice command through the wireless communication circuit 420, and Application execution information corresponding to another part of the voice command may be received.

프로세서(430)는 적어도 하나의 입력 파라미터를 어플리케이션에 적용한 결과를 제공할 수 있다. The processor 430 may provide a result of applying at least one input parameter to the application.

이 경우, 프로세서(430)는 도 13-a와 같이, 프로세서(430)가 수행 중 또는 수행 예정인 어플리케이션 서비스의 진행 과정이 표시되도록 디스플레이(410)를 제어할 수도 있다. 예로, 프로세서(430)는 사용자가 선택한 컨텐츠들(1201, 1203, 1205)을 확인하는 그래픽들(1301, 1303, 1305) 및 어플리케이션이 수행 예정인 기능에 대한 정보(1307)를 표시할 수 있다. In this case, the processor 430 may control the display 410 to display the progress of the application service that the processor 430 is executing or is scheduled to perform, as shown in FIG. 13-A. For example, the processor 430 may display graphics 1301, 1303, and 1305 for checking the contents 1201, 1203, and 1205 selected by the user, and information 1307 on a function scheduled to be performed by the application.

다음으로, 어플리케이션 서비스의 실행을 요청하는 사용자 요청이 입력되거나, 또는, 소정 시간 경과되면, 도 13의 식별부호 13-b와 같이, 프로세서(430)는 적어도 하나의 입력 파라미터에 포함된 공유 대상자에게 컨텐츠들(1301, 1303, 1305)을 첨부 파일로서 전송하기 위한 메시지 어플리케이션(255)의 실행 화면이 표시되도록 디스플레이(410)를 제어할 수 있다.Next, when a user request requesting execution of an application service is input, or when a predetermined time elapses, as shown in identification code 13-b of FIG. 13, the processor 430 provides the sharing target included in at least one input parameter. The display 410 may be controlled to display an execution screen of the message application 255 for transmitting the contents 1301, 1303, 1305 as an attached file.

도 14는, 일 실시예에 따른 전자 장치의 어플리케이션 서비스 제공 과정을 나타내는 흐름도이다.14 is a flowchart illustrating a process of providing an application service by an electronic device according to an embodiment.

동작 1401에서, 전자 장치(100)는 컨텐츠를 포함하는 화면을 표시할 수 있다. In operation 1401, the electronic device 100 may display a screen including content.

동작 1403에서, 전자 장치(100)는 화면에 표시된 컨텐츠를 선택하는 사용자 입력, 상기 컨텐츠를 대상으로 기 설정된 기호를 입력하는 사용자에 입력에 대응되는 적어도 하나의 입력 신호를 획득할 수 있다. In operation 1403, the electronic device 100 may obtain a user input for selecting content displayed on a screen, and at least one input signal corresponding to an input to a user who inputs a preset symbol for the content.

동작 1405에서, 전자 장치(100)는 선택된 컨텐츠, 및 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버(500)로 전송할 수 있다. 예로, 메모리에 복수 개의 기 설정된 기호 각각에 대응하는 복수 개의 명령어들을 포함하는 룩업 테이블이 저장된 경우, 전자 장치(100)는 룩업 테이블을 검색하여 기 설정된 기호에 대응되는 명령어를 획득할 수 있다. 또한, 가상 어시스턴트 서버(500)가 보이스 어시스턴트 서버인 경우, 전자 장치(100)는 상기 컨텐츠, 상기 기 설정된 기호에 대응하는 명령어, 및 상기 보이스 어시스턴트 서버의 기능 중 일부 기능의 스킵을 요청하는 정보를 가상 어시스턴트 서버(500)로 전송할 수 있다. In operation 1405, the electronic device 100 may transmit the selected content and a command corresponding to a preset symbol to the virtual assistant server 500. For example, when a lookup table including a plurality of commands corresponding to each of a plurality of preset symbols is stored in the memory, the electronic device 100 may search the lookup table to obtain a command corresponding to a preset symbol. In addition, when the virtual assistant server 500 is a voice assistant server, the electronic device 100 transmits the content, a command corresponding to the preset preference, and information for requesting to skip some functions of the voice assistant server. It can be transmitted to the virtual assistant server 500.

일 실시예로, 동작 1403에서, 컨텐츠의 공유 대상자를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호가 더 획득되는 경우, 전자 장치(100)는 선택된 컨텐츠, 상기 공유 대상자, 및 상기 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버(500)로 전송할 수 있다. In an embodiment, in operation 1403, when at least one input signal corresponding to a user input for inputting a person to be shared with the content is further obtained, the electronic device 100 may perform the selected content, the person to be shared, and the preset symbol A command corresponding to may be transmitted to the virtual assistant server 500.

다른 실시예로, 동작 1403에서, 상기 컨텐츠를 대상으로 기 설정된 다른 기호를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호가 더 획득되는 경우, 전자 장치(100)는 기 설정된 기호에 대응되는 제1 명령어 및 기 설정된 다른 기호에 대응되는 제2 명령어를 가상 어시스턴트 서버(500)로 전송할 수 있다. In another embodiment, in operation 1403, when at least one input signal corresponding to a user input of inputting another preset symbol for the content is further acquired, the electronic device 100 The 1 command and the second command corresponding to the other preset preference may be transmitted to the virtual assistant server 500.

동작 1407에서, 전자 장치(100)는 가상 어시스턴트 서버로부터(500), 가상 어시스턴트 서버(500)의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신할 수 있다. In operation 1407, the electronic device 100 may receive an input parameter corresponding to the content and application execution information corresponding to the command from the virtual assistant server 500 as a result of the analysis of the virtual assistant server 500. .

일 실시예로, 동작 1405에서, 컨텐츠, 공유 대상자, 및 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버(500)로 전송한 경우, 전자 장치(100)는 가상 어시스턴트 서버(500)로부터, 가상 어시스턴트 서버(500)의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터, 상기 공유 대상자에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신할 수 있다. In an embodiment, in operation 1405, when a command corresponding to content, a person to be shared, and a preset symbol is transmitted to the virtual assistant server 500, the electronic device 100 transmits the virtual assistant from the virtual assistant server 500. As a result of analysis of the server 500, an input parameter corresponding to the content, an input parameter corresponding to the sharing target, and application execution information corresponding to the command may be received.

다른 실시예로, 동작 1405에서, 컨텐츠, 공유 대상자, 기 설정된 기호에 대응되는 제1 명령어, 및 기 설정된 다른 기호에 대응되는 제2 명령어를 가상 어시스턴트 서버(500)로 전송한 경우, 전자 장치(100)는 가상 어시스턴트 서버(500)로부터, 가상 어시스턴트 서버(500)의 분석 결과로서, 컨텐츠 및/또는 상기 공유자에 대응되는 적어도 하나의 입력 파라미터, 제1 명령어에 대응되는 어플리케이션 실행 정보, 및 제2 명령어에 대응되는 어플리케이션 실행 정보를 수신할 수 있다. In another embodiment, in operation 1405, when content, a person to be shared, a first command corresponding to a preset symbol, and a second command corresponding to another preset symbol are transmitted to the virtual assistant server 500, the electronic device ( 100) is an analysis result of the virtual assistant server 500 from the virtual assistant server 500, as a result of analyzing the content and/or at least one input parameter corresponding to the sharer, application execution information corresponding to the first command, and the second Application execution information corresponding to a command may be received.

동작 1409에서, 전자 장치(100)는 수신된 입력 파라미터 및 상기 어플리케이션 실행 정보에 따라, 적어도 하나의 어플리케이션에 상기 입력 파라미터를 적용한 결과를 제공할 수 있다. In operation 1409, the electronic device 100 The result of applying the input parameter to at least one application may be provided according to the received input parameter and the application execution information.

일 실시예로, 동작 1407에서, 컨텐츠 및/또는 상기 공유자에 대응되는 적어도 하나의 입력 파라미터, 제1 명령어에 대응되는 어플리케이션 실행 정보, 및 제2 명령어에 대응되는 어플리케이션 실행 정보를 수신한 경우, 전자 장치(100)는 수신된 적어도 하나의 입력 파라미터 및 상기 적어도 하나의 어플리케이션 실행 정보에 따라, 상기 입력 파라미터를 이용하여 획득한 제1 어플리케이션의 실행 결과를 제2 어플리케이션의 입력 파라미터로 적용한 결과를 제공할 수 있다. In an embodiment, in operation 1407, when at least one input parameter corresponding to the content and/or the sharer, application execution information corresponding to the first command, and application execution information corresponding to the second command are received, the electronic The device 100 may provide a result of applying the execution result of the first application obtained using the input parameter as the input parameter of the second application according to the received at least one input parameter and the at least one application execution information. I can.

본 개시에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in the present disclosure may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, parts, or circuits. The module may be an integrally configured component or a minimum unit of the component or a part thereof that performs one or more functions. For example, according to an embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 개시의 다양한 실시예들은 기기(machine)(예: 전자 장치(100)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리(130), 메모리(440))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(100))의 프로세서(예: 프로세서(120), 프로세서(430))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present disclosure include one or more instructions stored in a storage medium (eg, memory 130, memory 440) readable by a machine (eg, electronic device 100). It may be implemented as software (for example, the program 140). For example, a processor (e.g., processor 120, processor 430) of a device (e.g., electronic device 100) calls at least one instruction among one or more instructions stored from a storage medium and executes it. I can. This makes it possible for the device to be operated to perform at least one function according to the at least one command invoked. The one or more instructions may include code generated by a compiler or code executable by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here,'non-transient' only means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic wave), and this term refers to the case where data is semi-permanently stored in the storage medium. It does not distinguish between temporary storage cases.

일 실시예에 따르면, 본 개시에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, a method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product. Computer program products can be traded between sellers and buyers as commodities. Computer program products are distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play StoreTM) or two user devices (e.g. It can be distributed (e.g., downloaded or uploaded) directly between, e.g. smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium that can be read by a device such as a server of a manufacturer, a server of an application store, or a memory of a relay server.

일 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 일 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to an embodiment, each component (eg, a module or program) of the above-described components may include a single or a plurality of entities. According to an embodiment, one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg, a module or a program) may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components in the same or similar to that performed by the corresponding component among the plurality of components prior to the integration. . According to one embodiment, operations performed by a module, program, or other component are sequentially, parallel, repeatedly, or heuristically executed, or one or more of the above operations are executed in a different order or omitted. Or one or more other actions may be added.

Claims (20)

전자 장치에 있어서,
디스플레이;
외부의 가상 어시스턴트 서버와 통신하는 무선 통신 회로;
상기 디스플레이와 동작 가능하게 연결되는 프로세서; 및
상기 프로세서와 동작 가능하게 연결되는 메모리를 포함하고,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 디스플레이에 의하여 표시되는 화면에 포함된 컨텐츠를 선택하고, 상기 컨텐츠를 대상으로 기 설정된 기호를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하고,
상기 선택된 컨텐츠 및 상기 기 설정된 기호에 대응되는 명령어가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하고,
상기 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보가 상기 무선 통신 회로를 통하여 수신되도록 상기 무선 통신 회로를 제어하고,
상기 수신된 입력 파라미터 및 상기 어플리케이션 실행 정보에 따라, 적어도 하나의 어플리케이션에 상기 입력 파라미터를 적용한 결과를 제공하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
In the electronic device,
display;
A wireless communication circuit in communication with an external virtual assistant server;
A processor operatively connected to the display; And
Including a memory operably connected to the processor,
The memory, when the electronic device is executed, the processor,
Selecting content included in the screen displayed by the display, obtaining at least one input signal corresponding to a user input of inputting a preset symbol for the content,
Controlling the wireless communication circuit so that a command corresponding to the selected content and the preset preference is transmitted to the virtual assistant server,
From the virtual assistant server, controlling the wireless communication circuit so that an input parameter corresponding to the content and application execution information corresponding to the command are received through the wireless communication circuit as a result of analysis by the virtual assistant server,
Including at least one instruction set to provide a result of applying the input parameter to at least one application according to the received input parameter and the application execution information,
Electronic device.
제1항에 있어서,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 컨텐츠의 공유 대상자를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하고,
상기 선택된 컨텐츠, 상기 공유 대상자, 및 상기 기 설정된 기호에 대응되는 명령어가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
The method of claim 1,
The memory, when the electronic device is executed, the processor,
Acquiring at least one input signal corresponding to a user input for inputting a person to be shared with the content,
Including at least one instruction set to control the wireless communication circuit so that a command corresponding to the selected content, the sharing target, and the preset preference is transmitted to the virtual assistant server,
Electronic device.
제2항에 있어서,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터, 상기 공유 대상자에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보가 상기 무선 통신 회로를 통하여 수신되도록 상기 무선 통신 회로를 제어하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
The method of claim 2,
The memory, when the electronic device is executed, the processor,
From the virtual assistant server, as a result of the analysis of the virtual assistant server, the wireless communication system receives an input parameter corresponding to the content, an input parameter corresponding to the sharing target, and application execution information corresponding to the command through the wireless communication circuit. Comprising at least one instruction set to control a communication circuit,
Electronic device.
제1항에 있어서,
상기 메모리는,
복수 개의 기 설정된 기호 각각에 대응하는 복수 개의 명령어들을 포함하는 룩업 테이블을 저장하고,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 룩업 테이블을 검색하여 상기 입력된 기 설정된 기호에 대응되는 명령어를 획득하고,
상기 선택된 컨텐츠, 및 상기 기 설정된 기호에 대응되는 명령어가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
The method of claim 1,
The memory,
Store a lookup table including a plurality of commands corresponding to each of a plurality of preset symbols,
The memory, when the electronic device is executed, the processor,
Searching the lookup table to obtain a command corresponding to the input preset symbol,
Including at least one instruction set to control the wireless communication circuit so that a command corresponding to the selected content and the preset preference is transmitted to the virtual assistant server,
Electronic device.
제1항에 있어서,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 입력된 기 설정된 기호를 드로잉하는 사용자 입력을 인식하여 표준화된 기 설정된 기호를 획득하고,
상기 선택된 컨텐츠, 및 상기 표준화된 기 설정된 기호에 대응되는 명령어가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
The method of claim 1,
The memory, when the electronic device is executed, the processor,
Recognizing a user input for drawing the input preset symbol to obtain a standardized preset symbol,
Including at least one instruction set to control the wireless communication circuit so that the selected content and a command corresponding to the standardized preset symbol is transmitted to the virtual assistant server,
Electronic device.
제1항에 있어서,
상기 어플리케이션 실행 정보는,
상기 명령어에 대응되는 어플리케이션의 식별자 및 상기 어플리케이션을 이용하여 실행될 기능 정보를 포함하는,
전자 장치.
The method of claim 1,
The application execution information,
Including an identifier of an application corresponding to the command and function information to be executed using the application,
Electronic device.
제1항에 있어서,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 컨텐츠를 대상으로 기 설정된 다른 기호를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하고,
상기 선택된 컨텐츠, 상기 기 설정된 기호에 대응되는 제1 명령어 및 상기 기 설정된 다른 기호에 대응되는 제2 명령어가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하고,
상기 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터, 및 상기 제1 명령어에 대응되는 어플리케이션 실행 정보, 및 상기 제2 명령어에 대응되는 어플리케이션 실행 정보가 수신되도록 상기 무선 통신 회로를 제어하고,
상기 수신된 입력 파라미터 및 상기 적어도 하나의 어플리케이션 실행 정보에 따라, 상기 입력 파라미터를 이용하여 획득한 제1 어플리케이션의 실행 결과를 제2 어플리케이션의 입력 파라미터로 적용한 결과를 제공하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
The method of claim 1,
The memory, when the electronic device is executed, the processor,
Acquiring at least one input signal corresponding to a user input of inputting another preset symbol for the content,
Controlling the wireless communication circuit to transmit the selected content, a first command corresponding to the preset preference, and a second command corresponding to the other preset preference to the virtual assistant server,
From the virtual assistant server, as an analysis result of the virtual assistant server, the wireless device receives input parameters corresponding to the content, application execution information corresponding to the first command, and application execution information corresponding to the second command. Control the communication circuit,
Including at least one instruction set to provide a result of applying the execution result of the first application obtained using the input parameter as the input parameter of the second application according to the received input parameter and the at least one application execution information doing,
Electronic device.
제1항에 있어서,
상기 가상 어시스턴트 서버가 보이스 어시스턴트 서버인 경우,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 선택된 컨텐츠, 상기 기 설정된 기호에 대응하는 명령어, 및 상기 보이스 어시스턴트 서버의 기능 중 일부 기능의 스킵(skip)을 요청하는 정보가 상기 가상 어시스턴트 서버로 전송되도록 상기 무선 통신 회로를 제어하는,
전자 장치.
The method of claim 1,
When the virtual assistant server is a voice assistant server,
The memory, when the electronic device is executed, the processor,
Controlling the wireless communication circuit so that the selected content, a command corresponding to the preset preference, and information requesting to skip some functions of the voice assistant server are transmitted to the virtual assistant server,
Electronic device.
제1항에 있어서,
상기 설정된 기호에 대응되는 명령어는,
컨텐츠 검색 명령어, 컨텐츠 등록 명령어 또는 컨텐츠 검색 명령어인,
전자 장치.
The method of claim 1,
The command corresponding to the set symbol,
Content search command, content registration command, or content search command,
Electronic device.
제2항에 있어서,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
가상 어시스턴트 모드가 실행 중인 동안에, 상기 컨텐츠 및 상기 기호를 입력하는 사용자 입력에 대응되는 상기 적어도 하나의 입력 신호를 획득하도록 설정된 적어도 하나의 인스트럭션을 포함하는,
전자 장치.
The method of claim 2,
The memory, when the electronic device is executed, the processor,
Including at least one instruction set to obtain the at least one input signal corresponding to a user input of inputting the content and the symbol while the virtual assistant mode is being executed,
Electronic device.
제1항에 있어서,
상기 컨텐츠를 선택하는 사용자 입력은,
스타일러스 펜을 이용하여 상기 컨텐츠의 주변에 줄을 긋거나, 상기 컨텐츠를 대상으로 색칠하거나, 또는 상기 컨텐츠를 중심으로 도형을 그리는 드로잉을 포함하고,
상기 기 설정된 기호를 입력하는 사용자에 입력은,
상기 스타일러스 펜을 이용하여 상기 기 설정된 기호를 그리는 드로잉을 포함하는,
전자 장치.
The method of claim 1,
User input for selecting the content,
Drawing a line around the content using a stylus pen, coloring the content, or drawing a figure around the content,
Input to the user who enters the preset symbol,
Including a drawing for drawing the preset symbol using the stylus pen,
Electronic device.
제1항에 있어서,
상기 메모리는, 상기 전자 장치가 실행될 때, 상기 프로세서가,
상기 가상 어시스턴트 서버를 이용하는 모드로 진입하는 사용자 입력에 대응되는 입력 신호를 획득하도록 설정된 적어도 하나의 인스트럭션을 ?l마하는,
전자 장치.
The method of claim 1,
The memory, when the electronic device is executed, the processor,
To perform at least one instruction set to acquire an input signal corresponding to a user input entering a mode using the virtual assistant server,
Electronic device.
전자 장치의 어플리케이션 서비스 제공 방법에 있어서,
컨텐츠를 포함하는 화면을 표시하는 동작;
상기 컨텐츠를 선택하는 사용자 입력, 및 상기 컨텐츠를 대상으로 기 설정된 기호를 입력하는 사용자에 입력에 대응되는 적어도 하나의 입력 신호를 획득하는 동작;
상기 선택된 컨텐츠, 및 상기 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버로 전송하는 동작;
상기 가상 어시스턴트 서버로부터, 상기 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신하는 동작; 및
상기 수신된 입력 파라미터 및 상기 어플리케이션 실행 정보에 따라, 적어도 하나의 어플리케이션에 상기 입력 파라미터를 적용한 결과를 제공하는 동작을 포함하는,
어플리케이션 서비스 제공 방법.
In the method of providing an application service of an electronic device,
Displaying a screen including content;
Acquiring at least one input signal corresponding to a user input for selecting the content and a user inputting a preset symbol for the content;
Transmitting the selected content and a command corresponding to the preset preference to a virtual assistant server;
Receiving, from the virtual assistant server, an input parameter corresponding to the content and application execution information corresponding to the command, as an analysis result of the virtual assistant server; And
Including an operation of providing a result of applying the input parameter to at least one application according to the received input parameter and the application execution information,
How to provide application service.
제13항에 있어서,
상기 적어도 하나의 입력 신호를 획득하는 동작은,
상기 컨텐츠의 공유 대상자를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하는 동작을 더 포함하고,
상기 선택된 컨텐츠, 및 상기 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버로 전송하는 동작은,
상기 선택된 컨텐츠, 상기 공유 대상자, 및 상기 기 설정된 기호에 대응되는 명령어를 상기 가상 어시스턴트 서버로 전송하는 동작을 포함하는,
어플리케이션 서비스 제공 방법.
The method of claim 13,
The operation of obtaining the at least one input signal,
Further comprising an operation of obtaining at least one input signal corresponding to a user input for inputting a person to be shared with the content,
The operation of transmitting the selected content and a command corresponding to the preset preference to a virtual assistant server,
Transmitting a command corresponding to the selected content, the sharing target, and the preset preference to the virtual assistant server,
How to provide application service.
제14항에 있어서,
상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신하는 동작은,
상기 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터, 상기 공유 대상자에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신하는 동작을 더 포함하는,
어플리케이션 서비스 제공 방법.
The method of claim 14,
The operation of receiving an input parameter corresponding to the content and application execution information corresponding to the command,
Receiving, from the virtual assistant server, an input parameter corresponding to the content, an input parameter corresponding to the sharing target, and application execution information corresponding to the command, as a result of analysis of the virtual assistant server,
How to provide application service.
제13항에 있어서,
상기 전자 장치의 메모리에 복수 개의 기 설정된 기호 각각에 대응하는 복수 개의 명령어들을 포함하는 룩업 테이블을 저장된 경우,
상기 방법은,
상기 룩업 테이블을 검색하여 상기 입력된 기 설정된 기호에 대응되는 명령어를 획득하는 동작을 더 포함하는,
어플리케이션 서비스 제공 방법.
The method of claim 13,
When a lookup table including a plurality of commands corresponding to each of a plurality of preset symbols is stored in the memory of the electronic device,
The above method,
Further comprising the operation of obtaining a command corresponding to the input preset symbol by searching the lookup table,
How to provide application service.
제13항에 있어서,
상기 적어도 하나의 입력 신호를 획득하는 동작은,
상기 컨텐츠를 대상으로 기 설정된 다른 기호를 입력하는 사용자 입력에 대응되는 적어도 하나의 입력 신호를 획득하는 동작을 더 포함하고,
상기 선택된 컨텐츠, 및 상기 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버로 전송하는 동작은,
상기 선택된 컨텐츠, 상기 기 설정된 기호에 대응되는 제1 명령어 및 상기 기 설정된 다른 기호에 대응되는 제2 명령어를 상기 가상 어시스턴트 서버로 전송하는 동작을 더 포함하고,
상기 컨텐츠에 대응되는 입력 파라미터 및 상기 명령어에 대응되는 어플리케이션 실행 정보를 수신하는 동작은,
상기 가상 어시스턴트 서버로부터, 가상 어시스턴트 서버의 분석 결과로서, 상기 컨텐츠에 대응되는 입력 파라미터, 상기 제1 명령어에 대응되는 어플리케이션 실행 정보, 및 상기 제2 명령어에 대응되는 어플리케이션 실행 정보가 수신하는 동작을 더 포함하고,
상기 적어도 하나의 어플리케이션에 상기 입력 파라미터를 적용한 결과를 제공하는 동작은,
상기 수신된 입력 파라미터 및 상기 적어도 하나의 어플리케이션 실행 정보에 따라, 상기 입력 파라미터를 이용하여 획득한 제1 어플리케이션의 실행 결과를 제2 어플리케이션의 입력 파라미터로 적용한 결과를 제공하는 동작을 더 포함하는,
어플리케이션 서비스 제공 방법.
The method of claim 13,
The operation of obtaining the at least one input signal,
Further comprising an operation of obtaining at least one input signal corresponding to a user input of inputting another preset symbol for the content,
The operation of transmitting the selected content and a command corresponding to the preset preference to a virtual assistant server,
Transmitting the selected content, a first command corresponding to the preset preference, and a second command corresponding to the other preset preference to the virtual assistant server,
The operation of receiving an input parameter corresponding to the content and application execution information corresponding to the command,
An operation of receiving, from the virtual assistant server, an input parameter corresponding to the content, application execution information corresponding to the first command, and application execution information corresponding to the second command, as a result of analysis of the virtual assistant server, from the virtual assistant server. Including,
The operation of providing a result of applying the input parameter to the at least one application,
According to the received input parameter and the at least one application execution information, providing a result of applying the execution result of the first application obtained using the input parameter as an input parameter of the second application, further comprising,
How to provide application service.
제13항에 있어서,
상기 가상 어시스턴트 서버가 보이스 어시스턴트 서버인 경우,
상기 선택된 컨텐츠, 및 상기 기 설정된 기호에 대응되는 명령어를 가상 어시스턴트 서버로 전송하는 동작은,
상기 선택된 컨텐츠, 상기 기 설정된 기호에 대응하는 명령어, 및 상기 보이스 어시스턴트 서버의 기능 중 일부 기능의 스킵을 요청하는 정보를 상기 가상 어시스턴트 서버로 전송하는 동작을 포함하는,
어플리케이션 서비스 제공 방법.
The method of claim 13,
When the virtual assistant server is a voice assistant server,
The operation of transmitting the selected content and a command corresponding to the preset preference to a virtual assistant server,
Transmitting the selected content, a command corresponding to the preset preference, and information for requesting to skip some functions of the voice assistant server to the virtual assistant server,
How to provide application service.
제13항에 있어서,
상기 설정된 기호에 대응되는 명령어는,
컨텐츠 검색 명령어, 컨텐츠 등록 명령어 또는 컨텐츠 검색 명령어인,
어플리케이션 서비스 제공 방법.
The method of claim 13,
The command corresponding to the set symbol,
Content search command, content registration command, or content search command,
How to provide application service.
제13항에 있어서,
상기 컨텐츠를 선택하는 사용자 입력은,
스타일러스 펜을 이용하여 상기 컨텐츠의 주변에 줄을 긋거나, 상기 컨텐츠를 대상으로 색칠하거나, 또는 상기 컨텐츠를 중심으로 도형을 그리는 드로잉을 포함하고,
상기 기 설정된 기호를 입력하는 사용자에 입력은,
상기 스타일러스 펜을 이용하여 상기 기 설정된 기호를 그리는 드로잉을 포함하는,
어플리케이션 서비스 제공 방법.

The method of claim 13,
User input for selecting the content,
Drawing a line around the content using a stylus pen, coloring the content, or drawing a figure around the content,
Input to the user who enters the preset symbol,
Including a drawing for drawing the preset symbol using the stylus pen,
How to provide application service.

KR1020190095798A 2019-08-06 2019-08-06 Electronic device and method of providing application service of thereof KR20210017098A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190095798A KR20210017098A (en) 2019-08-06 2019-08-06 Electronic device and method of providing application service of thereof
PCT/KR2020/008367 WO2021025292A1 (en) 2019-08-06 2020-06-26 Electronic device and method of providing application service in electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190095798A KR20210017098A (en) 2019-08-06 2019-08-06 Electronic device and method of providing application service of thereof

Publications (1)

Publication Number Publication Date
KR20210017098A true KR20210017098A (en) 2021-02-17

Family

ID=74503234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190095798A KR20210017098A (en) 2019-08-06 2019-08-06 Electronic device and method of providing application service of thereof

Country Status (2)

Country Link
KR (1) KR20210017098A (en)
WO (1) WO2021025292A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150086032A (en) * 2014-01-17 2015-07-27 엘지전자 주식회사 Mobile terminal and method for controlling the same
KR20170017572A (en) * 2015-08-07 2017-02-15 삼성전자주식회사 User terminal device and mehtod for controlling thereof
KR102457143B1 (en) * 2015-08-10 2022-10-21 엘지전자 주식회사 Mobile terminal and method for controlling the same
KR20180101063A (en) * 2017-03-03 2018-09-12 삼성전자주식회사 Electronic apparatus for processing user input and method for processing user input
US10019133B1 (en) * 2017-04-02 2018-07-10 Charles Russell McNeill Unified computing device interface for assembly of a plurality of types of digital content for transmission to a plurality of target destinations

Also Published As

Publication number Publication date
WO2021025292A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
CN108806669B (en) Electronic device for providing voice recognition service and method thereof
US11170768B2 (en) Device for performing task corresponding to user utterance
US11120792B2 (en) System for processing user utterance and controlling method thereof
US11537360B2 (en) System for processing user utterance and control method of same
US11144175B2 (en) Rule based application execution using multi-modal inputs
US11150870B2 (en) Method for providing natural language expression and electronic device supporting same
US11972761B2 (en) Electronic device for sharing user-specific voice command and method for controlling same
US11474780B2 (en) Method of providing speech recognition service and electronic device for same
KR102369083B1 (en) Voice data processing method and electronic device supporting the same
US20200326832A1 (en) Electronic device and server for processing user utterances
KR20190122457A (en) Electronic device for performing speech recognition and the method for the same
US20200034112A1 (en) Electronic device for performing operation according to user input after partial landing
CN110945455A (en) Electronic device for processing user utterance for controlling external electronic device and control method thereof
US11151995B2 (en) Electronic device for mapping an invoke word to a sequence of inputs for generating a personalized command
US10976997B2 (en) Electronic device outputting hints in an offline state for providing service according to user context
KR20210001082A (en) Electornic device for processing user utterance and method for operating thereof
KR20210036527A (en) Electronic device for processing user utterance and method for operating thereof
US11341965B2 (en) System for processing user utterance and operating method thereof
US20220013135A1 (en) Electronic device for displaying voice recognition-based image
CN113678119A (en) Electronic device for generating natural language response and method thereof
KR20210017098A (en) Electronic device and method of providing application service of thereof
KR102543656B1 (en) Screen controlling method and electronic device supporting the same
CN112542171A (en) Electronic device for executing action by using voice recognition function and method thereof
KR102616156B1 (en) Electronic device for creating contents
KR20210111423A (en) Electronic device processing user input and method thereof