KR102091441B1 - A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor - Google Patents

A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor Download PDF

Info

Publication number
KR102091441B1
KR102091441B1 KR1020190152047A KR20190152047A KR102091441B1 KR 102091441 B1 KR102091441 B1 KR 102091441B1 KR 1020190152047 A KR1020190152047 A KR 1020190152047A KR 20190152047 A KR20190152047 A KR 20190152047A KR 102091441 B1 KR102091441 B1 KR 102091441B1
Authority
KR
South Korea
Prior art keywords
user
server
task
input
response
Prior art date
Application number
KR1020190152047A
Other languages
Korean (ko)
Other versions
KR20190133135A (en
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 KR1020190152047A priority Critical patent/KR102091441B1/en
Publication of KR20190133135A publication Critical patent/KR20190133135A/en
Application granted granted Critical
Publication of KR102091441B1 publication Critical patent/KR102091441B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/40

Abstract

본 발명은, 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서, 제1 장치로부터 입력을 수신하고, 상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하고, 상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하고 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―, 상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하고, 상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하고, 상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신한다.The present invention, in a server that performs service provision by third party providers, receives input from a first device and determines whether the input corresponds to a task executable by each of a plurality of second devices. Determine, and if the input corresponds to a task executable by each of the plurality of second devices, identify at least one pattern descriptor corresponding to the input among the plurality of pattern descriptors, wherein the plurality of pattern descriptors are serviced Includes natural language input patterns matching queries and the service queries, identifying at least one second device corresponding to the identified at least one pattern descriptor among the plurality of second devices, and identifying the A query request to at least one second device, and in response to the query request, the identified Even it receives from a second device a response including information about one or more actions of the at least one second device is associated with the task.

Description

서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법{A COLLABORATIVE PERSONAL ASSISTANT SYSTEM FOR DELEGATING PROVIDING OF SERVICES SUPPORTED BY THIRD PARTY TASK PROVIDERS AND METHOD THEREFOR}A COLLABORATIVE PERSONAL ASSISTANT SYSTEM FOR DELEGATING PROVIDING OF SERVICES SUPPORTED BY THIRD PARTY TASK PROVIDERS AND METHOD THEREFOR}

본 발명은 서드 파티 테스크 공급자(third party task provider)들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템(Personal Assistant System) 및 그에 따른 방법에 관한 것이다.The present invention relates to a cooperative personal assistant system (Agent Personal System) and a method according to the service provision of the third party task providers (third party task providers).

일반적으로 가상의(virtual) 퍼스널 어시스턴트(Personal Assistant, 이하, 'PA'라 칭함) 시스템은 사용자의 의도(intention)를 이해하고, 사용자 프로파일(user Profile) 및 컨텍스트(context) 정보를 러닝(learning) 및 적용(applying)함에 의해서 사용자들이 요구하는 테스크(task)를 수행한다. 상기 가상의 PA 시스템은 사용자의 질의에 응답하기 위한 자연 언어 프로세싱(natural language processing)을 사용하고, 추천(recommendation)들을 만들고 웹 서비스들의 확장 셋에서 요청들을 대행함에 의해서 해당 테스크에 상응하는 액션들을 수행한다.Generally, a virtual personal assistant (hereinafter referred to as 'PA') system understands a user's intention and learns user profile and context information. And performing tasks required by users by applying. The virtual PA system performs actions corresponding to the task by using natural language processing to respond to a user's query, making recommendations and acting on requests in an extended set of web services. do.

도 1은 일반적인 가상의 PA 시스템의 구조도이다.1 is a structural diagram of a typical virtual PA system.

도 1을 참조하면, 가상의 PA 시스템은 PA 서버(Server)(102)와, 네트워크(104)와, 사용자 장치(106) 및 서드 파티 테스크(Third Party Task) 서버(108)를 포함한다. 여기서, 상기 PA 서버(102)는 도면에 도시하지는 않았으나 3개의 기술적 구성소자들을 포함한다. 상기 기술적 구성소자들은 대화용 인터페이스(conversational interface)와, 퍼스널 컨텍스트 인식(awareness)부 및 서비스 대행부를 포함한다. 상기 대화용 인터페이스는 사용자로부터 휴먼 스피치(human speech) 또는 사용자가 타이핑한 텍스트(text) 형태의 질의 둘 다로부터 자연 언어 입력을 획득하는 대화 스타일(dialog-style) 자연 언어 사용자 인터페이스이다. 상기 PA 서버(102)는 퍼스널 컨텍스트들을 미리 인지하고 있다. 상기 퍼스널 컨텍스트들은 일 예로, 사용자가 현재 위치하거나, 거주하거나 근무하는 장소에 대한 정보를 포함할 수 있다. 상기PA 서버(102)는 해당 사용자에게 상기 서드 파티 테스크 서버(108)가 지원하는 서비스들의 제공을 대행한다. 여기서는 일 예로서, 서드 파티 테스크 서버가 하나인 경우를 도시하였으나, 상기 PA 서버(102)는 다수의 서드 파티 테스크 서버가 지원하는 서비스들의 제공을 대행할 수 있다. 상기 서드 파티 테스크 서버(108)가 지원하는 서비스들의 제공은 예를 들어, 작은 비즈니스(small business)/레스토랑들, 지역 이벤트들 및 영화 극장을 찾거나, 레스토랑 등을 예약하거나, 실제적인 질의들에 대한 대답을 수행(answering)하는 등의 동작들에 해당한다.Referring to FIG. 1, the virtual PA system includes a PA server (Server) 102, a network 104, a user device 106, and a third party task server 108. Here, the PA server 102, although not shown in the drawing, includes three technical components. The technical components include a conversational interface, a personal context awareness unit, and a service agency unit. The conversational interface is a dialogue-style natural language user interface that obtains natural language input from both a human speech or a text-type query typed by the user from the user. The PA server 102 recognizes personal contexts in advance. The personal contexts may include, for example, information about a place where the user is currently located, living or working. The PA server 102 acts as a user to provide services supported by the third party task server 108. Here, as an example, a case in which one third-party task server is shown is illustrated, but the PA server 102 may act to provide services supported by a plurality of third-party task servers. The provision of the services supported by the third party task server 108 may include, for example, small business / restaurants, local events and movie theaters, reservations at restaurants, etc. It corresponds to actions such as answering an answer.

일반적인 가상의 PA 시스템(100)은 상기 PA 서버(102), 사용자 장치(106) 및 상기 서드 파티 서버(108) 상에서 운용하는 PA 어플리케이션(application)으로 구성되어 있다. 상기 사용자 장치(106)는 퍼스널 디지털 어시스턴트(PDA: Personal Digital Assistant)와, 휴대 전화에 인터넷 통신과 정보 검색 등 컴퓨터 지원 기능을 추가한 지능형 단말기 예를 들어, 스마트 폰(Samrt Phone), 태블릿(tablet) 등이 될 수 있다.A general virtual PA system 100 is composed of a PA application running on the PA server 102, a user device 106, and the third party server 108. The user device 106 is a personal digital assistant (PDA), an intelligent terminal that adds computer support functions such as Internet communication and information search to a mobile phone, for example, a smart phone (Samrt Phone), a tablet (tablet) ).

도 2는 일반적인 가상의 PA 시스템의 동작에 대한 신호 흐름도이다.2 is a signal flow diagram of the operation of a typical virtual PA system.

도 2를 참조하면, 상기 가상의 PA 시스템은 사용자 장치(200)와, PA 서버(202) 및 외부의 서드 파티 테스크 서버(204)를 포함한다.Referring to FIG. 2, the virtual PA system includes a user device 200, a PA server 202, and an external third-party task server 204.

206단계에서 상기 사용자 장치(200)는 사용자로부터 사용자 입력을 수신한다. 이때, 상기 사용자 입력은 휴먼 스피치(구술) 또는 문자화된 질의 형태로 입력될 수 있다. 그리고, 상기 사용자 장치(200)의 이동 운용체제(OS: Operation System) 또는 PA 어플리케이션은 스피치 투 텍스트(speech to text) 기술을 적용함에 의해서 텍스트로부터 구술된 휴면 스피치를 선처리할 것이다. In step 206, the user device 200 receives a user input from the user. At this time, the user input may be input in the form of human speech (oral) or textual query. In addition, a mobile operating system (OS) or a PA application of the user device 200 will pre-process dormant speech dictated from text by applying speech to text technology.

208단계에서 상기 사용자 장치(200) 상에서 운용하는 PA 어플리케이션은 상기 사용자 입력으로부터 사용자 요청을 획득하고, 상기 사용자 요청을 상기 PA 서버(202)에게 송신한다. 상기 사용자 요청은 사용자 질의 및 일 예로, 상기 사용자 장치(200)의 위치와 같은 추가적인 컨텍스트 정보(장치의 위치 등)를 포함한다. 이때, 상기 사용자 질의는 텍스트화된 질의 형태 또는 구술된 질의 형태 모두 될 수 있다. In step 208, the PA application running on the user device 200 obtains a user request from the user input and transmits the user request to the PA server 202. The user request includes user queries and additional context information (eg, the location of the device), such as the location of the user device 200. At this time, the user query may be in the form of a textual query or a dictated query.

일 예로, 하기 <표 1>은 상기 사용자 요청을 메시지 형태로 나타낸 표이다.As an example, the following <Table 1> is a table showing the user request in the form of a message.

Figure 112019120923450-pat00001
Figure 112019120923450-pat00001

하는 도메인을 식별하기 위한 퍼스널 컨텍스트 정보와 함께 수신된 상기 사용자 요청을 분석한다. 이때, '존재론(ontology)'과, '추론(inference)'및 '단일화된 모델링(unified modeling), 사전들(dictionaries) 및 대화 모델들(dialog models)을 지원하는 패턴 매칭'과 같은 인공 지능 기술들을 사용한다.The user request received along with personal context information for identifying the domain to be analyzed is analyzed. At this time, artificial intelligence technologies such as 'ontology', 'inference' and 'pattern matching to support unified modeling, dictionaries and dialogue models' Use them.

그리고, 214단계에서 상기 PA 서버(202)는 상기 PA 어플리케이션의 응답으로서 중간 응답을 상기 사용자 장치(200)에게 송신한다. 상기 중간 응답은 사용자에게 문자 메시지 형태로 디스플레이되거나 말로 전달된다. 이러한, 중간 응답의 일 예로 "나는 오늘 너의 저녁 식사를 위한 한국 BBQ 레스토랑을 찾는 중이다"를 들 수 있다. 그러면, 216단계에서 상기 사용자 장치(200)는 하기 <표 2>의 메시지 형태로 상기 수신한 중간 응답을 디스플레이(display)한다.Then, in step 214, the PA server 202 transmits an intermediate response to the user device 200 as a response of the PA application. The intermediate response is displayed to the user in the form of a text message or delivered in words. An example of this, intermediate response is "I'm looking for a Korean BBQ restaurant for your dinner today." Then, in step 216, the user device 200 displays the received intermediate response in the form of a message shown in Table 2 below.

Figure 112019120923450-pat00002
Figure 112019120923450-pat00002

이후, 상기 PA 서버(202)는 상기 외부의 서드 파티 테스크 서버(204)에게 상기 사용자 요청이 요구하는 테스크를 수행하기 위해서, 이를 전달하기 위한 질의를 구성하고, 218단계에서 상기 구성된 질의를 상기 외부의 서드 파티 테스크 서버(204)에게 송신한다. 그러면, 220단계에서 상기 외부의 서드 파티 테스크 서버는 상기 질의에 상응하는 테스크를 포함하는 질의 응답을 상기 PA 서버(202)에게 전달한다. 이때, 상기 외부의 서드 파티 테스크 서버(204)가 상기 질의 응답으로 제공하는 테스크들이 다수 개일 경우, 224단계에서 상기 PA 서버(202)는 상기 테스크들 중 사용자에게 최종적으로 디스플레이될 아이템들을 한정하기 위해서 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 선택된 아이템들로 구성된 최종 응답을 결정하고, 226단계에서 상기 최종 응답을 상기 사용자 장치(200)에게 송신한다. 그러면, 228단계에서 상기 사용자 장치(228)는 상기 최종 응답을 상기 사용자 장치(200)의 화면 상에 디스플레이한다.Thereafter, the PA server 202 constructs a query to deliver the task requested by the user request to the external third-party task server 204, and in step 218, the configured query is external to the external server. 3rd party task server 204. Then, in step 220, the external third-party task server transmits a query response including the task corresponding to the query to the PA server 202. At this time, if there are a number of tasks provided by the external third-party task server 204 in response to the query, in step 224, the PA server 202 limits the items to be finally displayed to the user among the tasks. Priority is determined, a final response composed of selected items is determined based on the determined priority, and the final response is transmitted to the user device 200 in step 226. Then, in step 228, the user device 228 displays the final response on the screen of the user device 200.

상기한 바와 같은 일반적인 가상의 PA 시스템은 사용자에게 서비스를 제공할 서드 파티 공급자의 수가 한정됨으로 인한 비유연성을 갖는다. 그리고, 해당 서드 파티 공급자가 제공할 수 있는 액션들(actions) 또는 서비스들이 다수 존재한다 하더라고 상기 가상의 PA 시스템은 해당 사용자가 요구한 액션들 또는 서비스들의 셋 이외에 다른 셋들을 제공하는 것이 불가능하다. The general virtual PA system as described above has inflexibility due to a limited number of third party providers to provide services to users. In addition, even if there are a number of actions or services that a third party provider can provide, the virtual PA system is unable to provide sets other than the set of actions or services requested by the user.

일 예로, 사용자가 음악 관련 사이트인 서드 파티 테스크 서버에서 제공하는 서비스를 요청하는 경우를 가정하자. 이때, 상기 서드 파티 서버는 스트리밍(steaming), 뮤직 다운로드, 또는 구매(purchase) 서비스를 사용하여 음악을 플레이하는 등의 다양한 서비스 셋들을 제공한다. 그러나, 상기 가상 PA 시스템을 사용하는 사용자는 상기 가상의 PA 시스템을 통해서 제공될 수 있는 상기 서드 파티 서버의 서비스만을 사용할 수 있다. 예를 들어, 상기 가상의 PA 시스템이 제공하는 PA 어플리케이션이 사용자 장치 상에서 음악 플레이 어플리케이션을 수행하거나 음악 콘텐츠(contents)들을 플레이하기 위한 라이브러리(library)를 실행하는 동작을 지원하는 경우, 상기 PA 어플리케이션을 사용하는 사용자는 해당 콘텐츠들을 직접 접속(다운로드 또는 플레이)할 수 없다.As an example, suppose a user requests a service provided by a music related site, a third party task server. At this time, the third-party server provides a variety of service sets, such as playing music using streaming, music download, or purchase service. However, a user using the virtual PA system can use only the services of the third party server that can be provided through the virtual PA system. For example, when the PA application provided by the virtual PA system supports an operation of performing a music play application on a user device or a library for playing music contents, the PA application is executed. The user cannot directly access (download or play) the contents.

만약, 상기 서드 파티 테스크 서버가 제공하는 액션들 중 사용자의 임시(temporary) 컨텍스트 정보가 요구되는 경우가 존재한다. 상기 액션들의 일 예로는, 유로 서비스나 해당 사용자 정보를 바탕으로 생성되는 타로 점, 예약 서비스 등이 될 수 있고, 임시 컨텍스트 정보는 위치 정보 또는 사용자 프로필 정보(전화 번호)등이 해당된다. 상기한 가상의 PA 시스템은 해당 사용자에게 임시 컨텍스트 정보가 요구될 경우, 상기 사용자에게 상기 임시 컨텍스트 정보를 서드 파티 테스크 서버에 제공할 수 있는 지에 대한 수락을 확인해야 하는 불편함이 있었다.If, among the actions provided by the third-party task server, temporary context information of a user is required. An example of the above actions may be a Euro service or a tarot point created based on the corresponding user information, a reservation service, etc., and the temporary context information includes location information or user profile information (phone number). The above-described virtual PA system was inconvenient to confirm whether the user can provide the temporary context information to the third-party task server to the user when temporary context information is requested.

본 발명은 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 PA 시스템 및 그에 따른 방법을 제안한다.The present invention proposes a cooperative PA system and method according to the service provision of third party task providers.

본 발명은 협력적 PA 시스템은 다수의 서드 파티 테스크 서버들이 지원하는 서비스들의 제공을 대행하기 위한 인터페이스를 제안한다.The present invention proposes an interface for a cooperative PA system to provide services provided by multiple third-party task servers.

본 발명은 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들을 제공한다.The present invention provides additional services and actions that can be provided through a third party task server that provides tasks required by user input.

본 발명은 협력적 PA 시스템은 해당 사용자의 사용자 입력에 상응하는 테스크가 수행되기 위해서 요구되는 퍼스널 프로파일들을 사용자의 허용에 따라 해당 서드 파티 테스크 서버로 전달한다.According to the present invention, the cooperative PA system delivers personal profiles required to perform a task corresponding to the user input of the user to the corresponding third party task server according to the user's permission.

본 개시의 실시 예에 따른 장치는 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서, 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서, 송수신부; 및 상기 송수신부와 연결된 프로세서를 포함하고, 상기 프로세서는, 제1 장치로부터 입력을 수신하고, 상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하고, 상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하고 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―, 상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하고, 상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하고, 상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신한다..An apparatus according to an exemplary embodiment of the present disclosure includes a server that provides services of third party providers, a server that provides services of third party providers, a transmitting and receiving unit; And a processor connected to the transceiver, the processor receiving an input from a first device, determining whether the input corresponds to a task executable by each of a plurality of second devices, and wherein the input is If it corresponds to a task executable by each of the plurality of second devices, identify at least one pattern descriptor corresponding to the input among the plurality of pattern descriptors, wherein the plurality of pattern descriptors are service queries and the service query And natural language input patterns matched to each other, identifying at least one second device corresponding to the identified at least one pattern descriptor among the plurality of second devices, and identifying the at least one second Sending a query request to a device, and in response to the query request, the identified at least one agent A response is received from two devices, including information about one or more actions of the at least one second device associated with the task.

본 개시의 실시 예에 따른 방법은, 서버를 이용하여 서드 파티 공급자들의 서비스 제공을 대행하는 방법에 있어서, 제1 장치로부터 입력을 수신하는 과정과, 상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하는 과정과, 상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하는 과정과 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―, 상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하는 과정과, 상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하는 과정과, 상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신하는 과정을 포함한다.A method according to an embodiment of the present disclosure, in a method of proxying service provision of third-party providers using a server, the process of receiving an input from a first device and the input by each of a plurality of second devices Determining whether the task corresponds to an executable task, and when the input corresponds to a task executable by each of the plurality of second devices, at least one pattern descriptor corresponding to the input among the plurality of pattern descriptors Identifying and the plurality of pattern descriptors includes service queries and natural language input patterns matching the service queries, corresponding to the identified at least one pattern descriptor of the plurality of second devices Identifying at least one second device, and requesting an inquiry to the identified at least one second device Transmitting, and in response to the query request, receiving a response including information on one or more actions of the at least one second device associated with the task from the identified at least one second device Includes.

본 발명은 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 PA 시스템은 상기 협력적 PA 시스템이 사용자의 사용자 입력으로부터 상기 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버 및 해당 테스크에 매칭되는 질의 명령들을 찾는 것을 돕기 위한 자연 언어 입력 패턴들을 서드 파티 테스크 대행부에 등록하기 위한 인터페이스를 제공함으로써, 사용자의 사용자 입력을 보다 체계적으로 인지하고, 상기 사용자 입력에 상응하는 테스크를 제공하는 서드 파티 테스크 서버를 보다 간단히 찾을 수 있는 효과가 있다. 그리고, 상기 협력적 PA 시스템은 사용자의 요구와 관계 없이, 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들을 제공함으로써, 한정된 서드 파티 테스크 서버의 제공으로 인한 비유선성의 한계를 극복할 수 있게 된다. 마지막으로, 미리 사용자의 퍼스널 프로파일 정보에 대한 사용 허용을 획득하고, 서드 파티 테스크 서버에게 전달함으로써, 해당 테스크를 해당 사용자에게 제공 시, 상기 사용자의 퍼스널 프로파일 정보를 요청 및 획득하는 절차를 수행하는 번거로움이 줄어들게 된다.In the present invention, a cooperative PA system that provides services of third party task providers includes a query in which the cooperative PA system provides a task required by the user input from a user input of a user and a query matching the task. By providing an interface for registering natural language input patterns to a third party task agency to help find commands, a third party task server that recognizes a user's user input more systematically and provides a task corresponding to the user input There is an effect that can be found more simply. In addition, the cooperative PA system provides additional services and actions that can be provided through a third-party task server that provides a task required by a user input regardless of a user's request, thereby providing a limited third-party task server. It is possible to overcome the limitations of non-linearity. Lastly, by obtaining the permission to use the user's personal profile information in advance and passing it to a third-party task server, when providing the task to the user, the process of requesting and obtaining the user's personal profile information is cumbersome. Loneliness is reduced.

도 1은 일반적인 가상 퍼스널 어시스턴트 시스템의 구조도.
도 2는 일반적인 가상 PA 시스템의 동작에 대한 신호 흐름도.
도 3은 본 발명의 실시 예에 따른 협력적 PA 시스템의 구성도.
도 4a는 본 발명의 제1실시 예에 따른 협력적 PA 시스템의 신호 흐름도.
도 4b는 본 발명의 제1실시 예에 따라 사용자에게 제공되는 최종 응답의 일 예를 나타낸 도면.
도 5a는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예.
도 5b는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 서비스 대행 동작이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면.
도 6a는 본 발명의 제3실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예.
도 6b는 본 발명의 제3실시 예에 따라 사용자 프로파일의 공유를 위한 요청이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면.
도 7은 본 발명의 실시 예에 따라 PA 서버과 서드 파티 테스크 서버 간의 사용자 식별을 위한 선처리 절차의 신호 흐름도의 일 예.
1 is a structural diagram of a general virtual personal assistant system.
2 is a signal flow diagram for the operation of a typical virtual PA system.
3 is a block diagram of a cooperative PA system according to an embodiment of the present invention.
4A is a signal flow diagram of a cooperative PA system according to a first embodiment of the present invention.
4B is a diagram showing an example of a final response provided to a user according to the first embodiment of the present invention.
5A is an example of a signal flow diagram of a cooperative PA system according to a second embodiment of the present invention.
5B is a diagram showing an example of a screen of a user device on which a service proxy operation of a cooperative PA system according to a second embodiment of the present invention is displayed.
6A is an example of a signal flow diagram of a cooperative PA system according to a third embodiment of the present invention.
6B is a view showing an example of a screen of a user device on which a request for sharing a user profile is displayed according to a third embodiment of the present invention.
7 is an example of a signal flow diagram of a pre-processing procedure for user identification between a PA server and a third-party task server according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention are described, and descriptions of other parts will be omitted so as not to distract the subject matter of the present invention.

본 발명은 서드 파티 공급자들의 서비스 제공을 대행하는 협력적 PA 시스템 및 그에 따른 방법을 제안한다. The present invention proposes a cooperative PA system and method according to the service provision of third party providers.

본 발명의 제1실시 예에 따른 협력적 PA 시스템은 다수의 서드 파티 테스크 서버들이 지원하는 서비스들의 제공을 대행하기 위한 인터페이스를 제공한다. 상기 인터페이스는 상기 협력적 PA 시스템이 사용자의 사용자 입력으로부터 상기 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버 및 해당 테스크에 매칭되는 질의 명령들을 찾는 것을 돕기 위한 자연 언어 입력 패턴들을 서드 파티 테스크 대행부에 등록하기 위한 것이다. 이에 따라 본 발명에 따른 협렵적 PA 시스템은 상기 인터페이스를 통해서 상기 서드 파티 테스크 서버의 대행 동작을 수행하기 위한 기능들을 위한 질의를 자동적으로 생성하도록 형성된다.The cooperative PA system according to the first embodiment of the present invention provides an interface for proxying services provided by a plurality of third party task servers. The interface acts as a third-party task agent for natural language input patterns to help the collaborative PA system find a query command matching the task and a third-party task server that provides the task required by the user input from the user's user input. It is to register with the department. Accordingly, the cooperative PA system according to the present invention is formed to automatically generate a query for functions for performing the proxy operation of the third party task server through the interface.

본 발명의 제2실시 예에 따른 협력적 PA 시스템은, 사용자의 요구와 관계 없이, 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들을 제공한다. 구체적으로, 상기 협력적 PA 시스템은 사용자 장치 상에서 사용자의 터치 또는 클릭 등의 추가 액션을 통해서 해당 서비스 이외의 추가 서비스를 제공받을 수 있는 액션 서비스 엔드 포인트 URL을 전달한다. 이에 따라 상기 협력적 PA 시스템은 플레이, 다운로드 등과 같은 프로그래밍 언어로부터 지시된 액션을 식별할 수 있는 문맥 추론부를 더 포함한다. 상기 문맥 추론부는 해당 콘첸트 객체에 대해 취해지는 액션을 식별하는 자연 언어 동사 단어들(verbal words)을포함하는 콘텐츠 객체 메타 데이터(contents object meta data)를 저장하고 있다.The cooperative PA system according to the second embodiment of the present invention provides additional services and actions that can be provided through a third party task server that provides a task requested by a user input, regardless of a user request. Specifically, the cooperative PA system delivers an action service endpoint URL capable of receiving additional services other than the corresponding service through an additional action such as a user's touch or click on the user device. Accordingly, the cooperative PA system further includes a context inference unit capable of identifying an action indicated from a programming language such as play or download. The context inference unit stores content object meta data including natural language verb words that identify an action to be taken on the corresponding content object.

본 발명의 제3실시 예에 따른 협력적 PA 시스템은 해당 사용자의 사용자 입력에 상응하는 테스크가 수행되기 위해서 요구되는 퍼스널 프로파일들을 등록하기 위한 서드 파티 테스크 대행부를 제공한다. 상기 협력적 PA 시스템은 해당 사용자의 사용자 입력에 상응하는 결과를 검색하는 동작 동안 상기 사용자의 위치 또는 전화 번호와 같은 퍼스널 프로파일 정보를 공유하기 위한 사용자 허용을 획득한다. 그리고, 상기 협력적 PA 시스템은 상기 사용자가 요청한 테스크를 처리하기 위해서 상기 테스크를 제공하는 서드 파티 테스크 서버에게 상기 사용자의 퍼스널 프로파일 정보를 송신한다.The cooperative PA system according to the third embodiment of the present invention provides a third-party task proxy for registering personal profiles required to perform a task corresponding to a user input of a corresponding user. The cooperative PA system obtains user permission to share personal profile information, such as the user's location or phone number, during the operation of retrieving results corresponding to the user input of the user. Then, the cooperative PA system transmits the personal profile information of the user to a third party task server that provides the task in order to process the task requested by the user.

도 3은 본 발명의 실시 예에 따른 협력적 PA 시스템의 구성도이다.3 is a block diagram of a cooperative PA system according to an embodiment of the present invention.

도 3을 참조하면, 협력적 PA 시스템(300)은 PA 서버(310)와, 사용자 장치(320)와, 네트워크(330) 및 서드 파티 테스크 서버(340)를 포함한다.Referring to FIG. 3, the cooperative PA system 300 includes a PA server 310, a user device 320, a network 330 and a third party task server 340.

먼저, 상기 PA 서버(310)는 퍼스널 컨텍스트 데이터 베이스(DB: Data Base)(312)와, 채팅 로봇(316), 테스크 대행 DB(317), 자연 언어 처리부((NLP: Nature Language Processor)(313), 문맥 추론부(contextual reasoned), 테스크 대행 에이전트(task delegate agent)(315)를 포함한다. 상기 사용자 장치(320)는 퍼스널 어시스턴트 어플리케이션 및 이동 운영 체제(OS: Operation System)(324)를 포함한다. 그리고, 상기 서드 파티 테스크 서버(340)는 질의 처리부(342) 및 액션 처리부(344)를 포함한다. 여기서 상기 사용자 장치(320)와 서드 파티 테스크 서버(340)는 일반적인 사용자 장치 및 서드 파티 테스크 서버와 동일하게 동작하므로, 여기서는 그 상세한 설명을 생략하기로 한다.First, the PA server 310 includes a personal context database (DB: Data Base) 312, a chat robot 316, a task agency DB 317, and a natural language processor (NLP) 313 ), Contextual reasoned, task delegate agent 315. The user device 320 includes a personal assistant application and a mobile operating system (OS) 324. In addition, the third-party task server 340 includes a query processing unit 342 and an action processing unit 344. Here, the user device 320 and the third-party task server 340 are general user devices and third-party servers. Since it operates in the same way as the task server, its detailed description will be omitted here.

상기 문맥 추론부(314)는 사용자 요청을 만족시키는 테스크들의 도메인을 식별하기 위해서 해당 사용자의 퍼스널 컨텍스트 정보와 함께 수신된 사용자 입력을 분석한다. 상기 문맥 추론부(314)는 스피치 투 텍스트(speech to text) 기술을 적용함에 의해서 텍스트로부터 구술된 사용자 입력의 선처리(pre-processing)를 수행한다. 상기 문맥 추론부(314)가 상기 사용자 입력에 대응하는 테스크를 제공하는 도메인을 식별한다. 그러면, 상기 테스크 대행 에이전트(315)는 추론 또는 대화를 사용하여 획득한 상기 사용자 입력으로부터 추출된 정보 및 상기 사용자의 퍼스널 컨텍스트와 함께 구체화된 테스크를 수행한다. 상기 테스크 대행 DB(317)는 일 예로, 도 3의 서드 파티 테스크 서버(340)를 포함하는 다수의 서드 파티 테스크 서버들로부터 등록 정보를 저장한다. 상기 서드 파티 테스크 서버(340)는 지식 검색 엔진, 레스토랑 예약/검색 등과 같은 구체적인 서비스들을 지원하는 도메인을 공급하기 위해서 어플리케이션 프로그래밍 인터페이스를 공급하는 웹 서비스 공급자들을 나타낸다.The context inference unit 314 analyzes the user input received together with the personal context information of the user in order to identify the domain of tasks that satisfy the user request. The context inference unit 314 performs pre-processing of user inputs dictated from text by applying a speech to text technique. The context inference unit 314 identifies a domain providing a task corresponding to the user input. Then, the task agent agent 315 performs a task embodied with the information extracted from the user input obtained using inference or conversation and the user's personal context. The task agency DB 317 stores registration information from a plurality of third-party task servers including the third-party task server 340 of FIG. 3, for example. The third-party task server 340 represents web service providers that supply application programming interfaces to supply domains that support specific services such as knowledge search engines, restaurant reservation / search, and the like.

이하, 본 발명의 실시 예들에 따른 동작은 설명의 편의상 PA 서버를 구성하는 세부 구성들 각각에 의해서 설명하지 않고, 상기 PA 서버 자체의 동작으로서 설명하기로 한다.Hereinafter, the operation according to the embodiments of the present invention will not be described by each of the detailed components constituting the PA server for convenience of description, but will be described as the operation of the PA server itself.

도 4a는 본 발명의 제1실시 예에 따른 협력적 PA 시스템의 신호 흐름도이다. 여기서는 사전에 등록된 자연 언어 입력 패턴들을 통해서 사용자 질의 및 대응하는 테스크가 제공된다. 여기서는 사용자가 PA 서버(402)가 제공하는 PA 어플리케이션을 통해서 사용자 입력이 요청되는 경우, 서드 파티 테스크 서버(404)가 상기 사용자 입력에 상응하는 테스크를 제공하는 경우를 가정한다.4A is a signal flow diagram of a cooperative PA system according to a first embodiment of the present invention. Here, user queries and corresponding tasks are provided through natural language input patterns registered in advance. Here, it is assumed that when a user input is requested through a PA application provided by the PA server 402, the third party task server 404 provides a task corresponding to the user input.

도 4a를 참조하면, 406단계에서 서드 파티 테스크 서버(404)의 운용자는 상기 서드 파티 테스크 서버(404)가 지원하는 서비스들의 제공 대행을 위해서 자신이 제공하는 서비스들에 대한 사용자 입력인 질의를 위한 패턴 디스크립터(descriptor)의 등록 요청을 PA 서버(402)에게 송신한다. 상기 질의를 위한 패턴 디스크립터는 상기 PA 서버(402)가 포함하고 있는 테스크 대행 에이전트(도 3의 315에 해당함)의 대행 동작을 위한 웹 서비스 질의와, 상기 웹 서비스 질의에 매핑되는 자연 언어 입력 패턴들을 포함한다. 상기 PA 서버는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 자연 언어 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 대행 동작을 수행한다. 일 예로, 상기 질의를 위한 패턴 디스크립터는 하기 <표 3> 및 <표 4>와 같이 나타내어진다. 상기 질의를 위한 패턴 디스크립터는 해당 테스크를 위한 서비스의 카테고리 및 대행할 서드 파티 테스크 서버의 엔드 포인트URL(end point Uniform Resource Locator) 등을 포함한다.Referring to FIG. 4A, in step 406, the operator of the third-party task server 404 is a user input for queries provided by the third-party task server 404 for querying services provided by the third-party task server 404. The registration request of the pattern descriptor is transmitted to the PA server 402. The pattern descriptor for the query includes web service queries for proxy operation of the task agent agent (corresponding to 315 in FIG. 3) included in the PA server 402, and natural language input patterns mapped to the web service query. Includes. When the PA server matches one of the previously stored natural language input patterns with a user input, a third party supporting a task corresponding to a web service query mapped to the one input pattern and the natural language input pattern Perform the proxy operation of the task server. As an example, the pattern descriptors for the query are shown in <Table 3> and <Table 4> below. The pattern descriptor for the query includes a service category for the task and an end point uniform resource locator (URL) of a third-party task server to act.

Figure 112019120923450-pat00003
Figure 112019120923450-pat00003

Figure 112019120923450-pat00004
Figure 112019120923450-pat00004

그러면, 408단계에서 상기 PA 서버(402)는 상기 질의를 위한 디스크립터를 등록한 후, 상기 서드 파티 테스크 서버(404)에게 등록 응답을 송신한다.Then, in step 408, the PA server 402 registers a descriptor for the query, and then transmits a registration response to the third-party task server 404.

410단계에서 사용자는 사용자 장치 상의 PA 어플리케이션(400)을 구동시켜 사용자 입력을 상기 PA 서버(402)에게 전달한다. 여기서, 사용자 입력은 자연 언어 형태로 말 또는 텍스트 형태로 전달된다. 그러면, 412단계에서 상기 PA 서버(402)는 상기 사용자 입력이 서드 파티 테스크 서버의 대행 서비스를 요구하는 지 검사한다. 상기 검사 결과, 상기 사용자 입력이 상기 서드 파티 테스크 서버의 대행 서비스를 요구하는 경우, 기 등록된 상기 질의를 의한 패턴 디스크립터를 사용하여 상기 사용자 입력에 대한 문맥 추론을 수행한다. 구체적으로, 상기 PA 서버(402)는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 도메인을 식별한다. 414단계에서 상기 PA 서버(402)는 일 예로, '상기 식별된 도메인을 찾는 중임을 지시'하는 메시지 형태의 중간 응답(interim response)을 상기 PA 어플리케이션(400)을 통해서 사용자에게 전달한다.In step 410, the user drives the PA application 400 on the user device to transmit the user input to the PA server 402. Here, the user input is transmitted in the form of words or text in the form of natural language. Then, in step 412, the PA server 402 checks whether the user input requests a proxy service of a third-party task server. As a result of the inspection, when the user input requests the agent service of the third-party task server, context inference is performed on the user input using a pattern descriptor based on the previously registered query. Specifically, when the PA server 402 matches a user input with one of the previously stored natural language input patterns, a task corresponding to a web service query mapped to the one input pattern and the input pattern is generated. Identifies the domain of the supported third-party task server. In step 414, the PA server 402, for example, transmits an interim response in the form of a message indicating that the user is searching for the identified domain through the PA application 400.

이후, 416단계에서 상기 PA 서버(402)의 테스크 대행 에이전트는 상기 사용자에 대한 퍼스널 프로파일 정보(일 예로, 상기 사용자 식별자를 요구하기 위한 질의 명령과 파라미터들을 포함함)를 질의 요청으로 구성하여 상기 서드 파티 테스크 서버(404)에게 송신한다. 그러면, 418단계에서 상기 서드 파티 테스크 서버(404)는 질의 응답을 상기 PA 서버(402)에게 송신한다. 상기 질의 응답은 상기 사용자 입력이 요구한 테스크를 지원하는 아이템 객체 및 상기 아이템 객체 별로 허용된 액션 셋들을 포함한다. 일 예로, 상기 질의 응답은 하기 <표 5> 내지 <표 7>과 같은 형태로 나타내어진다.Thereafter, in step 416, the task agent agent of the PA server 402 configures the personal profile information for the user (eg, including query commands and parameters for requesting the user identifier) as a query request, and the third agent. Send to the party task server 404. Then, in step 418, the third-party task server 404 transmits a query response to the PA server 402. The query response includes an item object supporting a task requested by the user input and action sets allowed for each item object. For example, the query response is shown in the following <Table 5> to <Table 7>.

Figure 112019120923450-pat00005
Figure 112019120923450-pat00005

Figure 112019120923450-pat00006
Figure 112019120923450-pat00006

Figure 112019120923450-pat00007
Figure 112019120923450-pat00007

그리고, 420단계에서 상기 PA 서버(402)는 상기 PA 어플리케이션(400)을 통해서 상기 사용자 입력에 대한 최종 응답을 송신한다. 상기 최종 응답은 일 예로, 도 4b와 같은 형태로 나타내어진다.Then, in step 420, the PA server 402 transmits a final response to the user input through the PA application 400. The final response is shown as an example, as shown in FIG. 4B.

도 4b는 본 발명의 제1실시 예에 따라 사용자에게 제공되는 최종 응답의 일 예이다.4B is an example of a final response provided to a user according to the first embodiment of the present invention.

도 4b를 참조하면, 참조 번호 430의 'what can I do for you?'는 상기 PA 어플리케이션(400)이 사용자 장치 상에서 디스플레이된 질의의 일 예를 나타낸다. 참조 번호 435의 'Find cozy place for Korean BBQ'는 도 4a의 410단계에서 상기 PA 서버 (402)로 전달된 사용자 입력(410)을 텍스트 형태로 나타낸 일 예에 해당한다. Referring to FIG. 4B, 'what can I do for you?' Of reference number 430 represents an example of a query displayed on the user device by the PA application 400. 'Find cozy place for Korean BBQ' of reference numeral 435 corresponds to an example in which the user input 410 delivered to the PA server 402 in step 410 of FIG. 4A is shown in text form.

참조 번호 440의 'Let me check the Korean~'은 도 4a의 414단계에서 PA 서버(402)가 상기 PA 어플리케이션(400)을 통해서 사용자에게 제공하는 중간 응답의 일 예를 나타낸다. 마지막으로, 참조 번호 445는 도 4a의 420단계에 해당하는 최종 응답의 일 예를 나타낸다. 구체적으로, 한국 BBQ를 위한 장소 요청을 요구하는 사용자 입력에 대한 2개의 최종 응답이 디스플레이된 상태이다. 그리고, 2개의 장소 각각에 대한 추가 액션 즉, 전화(call) 및 예약(reserve) 액션을 수행할 수 있는 액션 셋들이 함께 디스플레이된 형태이다.'Let me check the Korean ~' of reference number 440 represents an example of an intermediate response that the PA server 402 provides to the user through the PA application 400 in step 414 of FIG. 4A. Finally, reference numeral 445 denotes an example of a final response corresponding to step 420 of FIG. 4A. Specifically, two final responses to a user input requesting a place request for a Korean BBQ are displayed. In addition, action sets capable of performing additional actions for each of the two places, that is, call and reserve actions, are displayed together.

도 5a는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예이다. 여기서는 PA 서버(502)가 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들의 셋을 사용자에게 제공한다. 이때, PA 서버는 사용자 장치 상에서 사용자의 터치 또는 클릭 등의 추가 액션을 통해서 해당 서비스 이외의 추가 서비스를 제공받을 수 있는 액션의 서비스 엔드 포인트 URL을 전달함에 의해서 해당 액션을 수행할 수 있게 한다. 추가적으로 문객 추론부가 미리 저장하고 있는 콘텐츠 객체 메타 데이터는 자연 언어 동사 단어들을 포함한다. 상기 단어들은 해당 콘텐츠 객체에 대해 수행할 수 있는 액션을 식별하기 위한 것이며, PA 서버가 자연 언어 문맥 추론을 통해서 플레이, 다운로드 등가 같은 프로그래밍 언어에서 해당 액션을 해석 및 식별할 수 있게 한다.5A is an example of a signal flow diagram of a cooperative PA system according to a second embodiment of the present invention. Here, the PA server 502 provides the user with a set of additional services and actions that can be provided through a third-party task server that provides tasks requested by the user input. At this time, the PA server enables the user to perform the corresponding action by passing the service endpoint URL of the action that can receive additional services other than the corresponding service through an additional action such as a user's touch or click on the user device. In addition, the content object metadata stored in advance by the visitor inference unit includes natural language verb words. The words are for identifying an action that can be performed on the corresponding content object, and allow the PA server to interpret and identify the action in a programming language such as play, download, etc. through natural language context inference.

도 5a를 참조하면, 506단계에서 사용자는 사용자 장치 상의 PA 어플리케이션(500)을 구동시켜 사용자 입력을 상기 PA 서버(502)에게 전달한다. 여기서, 사용자 입력은 자연 언어 형태로 말 또는 텍스트 형태로 전달된다. 그러면, 508단계에서 상기 PA 서버(502)는 해당 사용자 입력이 요구하는 질의가 서드 파티 테스크 서버의 대행을 요구하는 지 검사한다. 상기 검사 결과, 서드 파티 테스크 서버의 대행을 요구하는 질의에 해당하면, 도 4a에서 설명한 절차를 통해 저장하고 있는 질의를 위한 패턴 디스크립터들을 사용하여 상기 사용자 입력에 대한 문맥 추론을 수행한다. 구체적으로, 상기 PA 서버(502)는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 도메인을 식별한다. 그리고, 510단계에서 상기 PA 서버(502)는 일 예로, '상기 식별된 도메인을 찾는 중임을 지시'하는 메시지 형태의 중간 응답(interim response)을 상기 PA 어플리케이션(500)을 통해서 사용자에게 전달한다.Referring to FIG. 5A, in operation 506, the user drives the PA application 500 on the user device to transmit the user input to the PA server 502. Here, the user input is transmitted in the form of words or text in the form of natural language. Then, in step 508, the PA server 502 checks whether the query requested by the corresponding user input requests the agent of the third-party task server. As a result of the check, if it corresponds to a query that requires the agent of the third-party task server, context inference on the user input is performed using the pattern descriptors for the query stored through the procedure described in FIG. 4A. Specifically, when the PA server 502 matches a user input with one of the previously stored natural language input patterns, a task corresponding to a web service query mapped to the one input pattern and the input pattern is generated. Identifies the domain of the supported third-party task server. Then, in step 510, the PA server 502, for example, transmits an interim response in the form of a message indicating that the user is searching for the identified domain through the PA application 500.

이후, 512단계에서 상기 PA 서버(502)는 상기 사용자에 대한 퍼스널 프로파일 정보(일 예로, 상기 사용자 식별자를 요구하기 위한 질의 명령 및 파라미터들을 포함함)를 질의 요청으로 구성하고, 상기 질의에 매칭되는 상기 서드 파티 테스크 서버(504)에게 전달한다. 이때, 상기 파라미터들은 퍼스널 컨텍스트, 대화 컨텍스트 및 추론된 컨텍스트와 함께 상기 사용자 입력으로부터 구성된다. 이때, 상기 질의 요청은 해당 서드 파티 테스크 서버의 운용자가 사용자 및 상기 사용자가 가입한 액션 허용을 식별하기 위해서 상기 사용자의 퍼스널 프로파일 정보 일 예로, 사용자 식별자를 포함한다. 상기 질의 요청을 수신한 서드 파티 테스크 서버(504)는 514단계에서 상기 질의 요청에 상응하는 질의 응답을 상기 PA 서버(502)에게 전달한다. 구체적으로, 상기 서드 파티 테스크 서버(504)는 '상기 사용자가 자신의 서버에 가입하였는 지 여부'와, '상기 사용자가 가입된 경우, 상기 사용자 장치의 성능이 상기 사용자 입력에 대응하는 객체를 지원하는 지 여부'를 확인한다, 이후, 상기 서드 파티 테스크 서버(504)는 상기 사용자의 가입에 의해서 허용된 액션들의 리스트들을 상기 질의 응답에 포함시킨다. 그리고, 상기 허용된 액션들이 수행된 이후 다음으로 상기 사용자가 수행될 수 있는 추가 액션들을 더 포함시킬 수 있다. 상기 추가 액션들의 일 예로는 상기 PA 서버(502)를 통해서 상기 사용자에게 제시될 수 있는 자연 언어 텍스트와 함께 음악 플레이하는 액션 등이 해당한다. 구체적인 예로, 사용자가 음악 플레이 사이트인 서드 파티 테스크 공급자에게 가입되지 않은 경우를 가정하자. 이 경우, 상기 서드 파티 테스크 공급자는 상기 사용자에게 제공될 수 있는 '1분 동안 무료 듣기' 또는 '가입' 동작과 같은 액션의 리스트를 상기 PA 서버에게 송신한다. 그리고, 만약, 사용자가 '스트리밍 플레이'서비스에 가입되었으나, '다운로드 서비스'에는 가입하지 않은 경우, 상기 서드 파티 테스크 서버는 상기 PA 서버에게 '플레이'액션만을 송신한다. 그러나 만약, 상기 사용자가 '스트리밍 플레이'와 '다운로드 서비스' 둘 다에 가입된 경우, 상기 서드 파티 테스크 서버는 상기 PA 서버에게 상기 '스트리밍 플레이'및 '다운로드 서비스' 액션 둘 다를 송신한다.Thereafter, in step 512, the PA server 502 configures personal profile information for the user (eg, including query commands and parameters for requesting the user identifier) as a query request, and matches the query. It is delivered to the third party task server 504. At this time, the parameters are configured from the user input together with a personal context, a conversation context and an inferred context. At this time, the query request includes an example of the user's personal profile information, such as a user identifier, in order to identify the user and the action permission of the user subscribed to by the operator of the third-party task server. The third party task server 504 receiving the query request transmits a query response corresponding to the query request to the PA server 502 in step 514. Specifically, the third-party task server 504 supports' whether the user has subscribed to his server 'and' when the user is subscribed, the performance of the user device supports an object corresponding to the user input. If yes, the third party task server 504 then includes the list of actions allowed by the user's subscription in the query response. And, after the allowed actions are performed, further actions that the user can perform may be further included. An example of the additional actions includes an action to play music with natural language text that can be presented to the user through the PA server 502. As a specific example, assume that the user is not subscribed to a third party task provider, a music play site. In this case, the third-party task provider sends a list of actions, such as 'free listening for one minute' or 'subscribe' actions, which may be provided to the user to the PA server. And, if the user is subscribed to the 'Streaming Play' service but not the 'Download Service', the third-party task server transmits only the 'Play' action to the PA server. However, if the user is subscribed to both 'streaming play' and 'download service', the third party task server sends both the 'streaming play' and 'download service' actions to the PA server.

514단계에서 상기 PA 서버(502)는 상기 서드 파티 테스크 서버(504)로부터 질의 응답을 수신한 후, 퍼스널 컨텍스트 DB에 상기 질의 응답이 제공하는 액션들의 언어 키워드를 저장한다. 상기 저장 동작은 상기 저장된 키워드를 포함하는 추후 입력될 사용자 입력의 이해를 돕기 위한 것이다.In step 514, the PA server 502 receives a query response from the third-party task server 504, and stores language keywords of actions provided by the query response in a personal context DB. The storing operation is to help understand a user input to be input later including the stored keyword.

516단계에서 상기 PA 서버(502)는 상기 질의 응답에 포함된, 해당 테스크를 지원하는 아이템들의 우선 순위를 결정하고, 상기 결정된 아이템들로 구성되는 최종 응답을 상기 PA 어플리케이션(500)을 통해서 사용자에게 전달한다. 그러면, 518단계에서 상기 PA 어플리케이션(500)은 상기 최종 응답을 통해서 획득한 상기 아이템들과, 아이템별 사용자에게 허용된 액션들을 디스플레이할 수 있다. 그러면, 520단계에서 상기 사용자는 상기 PA 어플리케이션(500)을 통해서 상기 디스플레이된 액션들 중 하나를 선택하는, 제2사용자 입력을 입력한다. 이때, 입력 방식은 터치 또는 클릭 또는 스피킹 등에 해당한다. 522단계에서 상기 제2사용자 입력을 수신한 상기 PA 서버(502)는 저장된 퍼스널 컨텍스트 정보를 사용하여 상기 제2사용자 입력을 일 예로, '음악 플레이'로 해석한다. 그리고, 524단계에서 상기 PA 어플리케이션(500)을 통해서 상기 사용자에게 응답을 송신한다. 상기 응답은 상기 해석된 제2사용자 입력에 상응하는 예를 들어, 해당 사용자가 요청한 액션 및 URL 등의 콘텐츠 객체 식별자 등을 포함한다.In step 516, the PA server 502 determines the priority of items included in the query response and supports the corresponding task, and sends a final response composed of the determined items to the user through the PA application 500. To deliver. Then, in step 518, the PA application 500 may display the items obtained through the final response and actions allowed to the user for each item. Then, in step 520, the user inputs a second user input to select one of the displayed actions through the PA application 500. At this time, the input method corresponds to touch or click or speaking. In step 522, the PA server 502, which has received the second user input, interprets the second user input as 'music play' as an example using the stored personal context information. Then, in step 524, a response is transmitted to the user through the PA application 500. The response includes, for example, an action object requested by the corresponding user and a content object identifier such as a URL corresponding to the interpreted second user input.

이후, 526단계에서 상기 PA 어플리케이션(500)은 상기 응답을 통해서 획득한 엔드 포인트 URL에 의해서 식별된 일 예로, 상기 서드 파티 테스크 서버(504)에 접속할 수 있는 사용자 장치 상에서 음악 플레이 라이브러리 또는 음악 플레이 어플리케이션을 실행한다. 그리고, 이후 추가 액션을 위해서 528a단계에서 상기 PA 어플리케이션(500)은 상기 서드 파티 테스크 서버(504)에게 사용자 식별자 및 객체 식별자를 포함하는 액션 요청을 송신한다. 그러면, 528b단계에서 상기 서드 파티 테스크 서버(504)는 상기 PA 어플리케이션(500)을 통해서 상기 객체 식별자에 대응하는 해당 서비스 일 예로, 스트리밍 서비스를 상기 사용자에게 제공한다.Thereafter, in step 526, the PA application 500 is an example identified by the endpoint URL obtained through the response, for example, a music play library or music play application on a user device that can access the third-party task server 504. Run Then, in step 528a for further action, the PA application 500 transmits an action request including the user ID and the object ID to the third-party task server 504. Then, in step 528b, the third-party task server 504 provides a streaming service to the user as an example of a corresponding service corresponding to the object identifier through the PA application 500.

도 5b는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 서비스 대행 동작이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면이다.5B is a diagram illustrating an example of a screen of a user device on which a service proxy operation of the cooperative PA system according to the second embodiment of the present invention is displayed.

도 5b를 참조하면, 참조번호 501은 상기 PA 어플리케이션(500)의 시작 화면이다. 즉, 상기 PA 어플리케이션(500)은 사용자 입력을 요구하기 위한 질의 문장의 일 예로 "what can I help you with?"를 디스플레이한다. 5B, reference numeral 501 is a start screen of the PA application 500. That is, the PA application 500 displays "what can I help you with?" As an example of a query sentence for requesting user input.

상기 질의의 응답의 일 예인 'what is lonely?"는 도 5a의 506단계 즉, 제1사용자 입력에 해당한다. 여기서는 상기 질의의 응답을 문장으로 입력하는 경우를 일 예로서 도시하였으나, 상기 질의의 응답은 앞서 언급한 바와 같이 스피킹 형태로 사용자 장치에 입력될 수도 있다.As an example of the response of the query, 'what is lonely?' Corresponds to step 506 of FIG. 5A, that is, the first user input. Here, a case of inputting the response of the query as a sentence is illustrated as an example. The response may be input to the user device in the form of speaking as mentioned above.

다음으로, 도 5b에서 상기 질의의 응답에 대한 답변으로 제공되는 디스크립션("Lonely is a music~ You can play or download the song.")은 도 5a의 508 단계의 문맥 추론의 결과로서 획득한 510단계의 중간 응답에 해당한다.Next, the description ("Lonely is a music ~ You can play or download the song.") Provided in response to the response of the query in FIG. 5B is obtained as a result of context inference in step 508 of FIG. 5A, step 510. Corresponds to the middle answer.

참조번호 515는 도 5a의 516단계의 최종 응답에 해당한다. 여기서는, 상기 질의 응답의 일 예로, 음원 제목 및 재생 시간 등의 음원 서비스를 제공하면서, 상기 사용자에게 허용되는 액션들 일 예로, 플레이 및 다운로드를 함께 제공한다.Reference numeral 515 corresponds to the final response in step 516 of FIG. 5A. Here, as an example of the query response, while providing a sound source service such as a sound source title and a play time, an example of actions allowed to the user is provided with play and download.

이때, 사용자가 도 5a의 520단계에서의 제2사용자 입력을 통해서 특정 액션 일 예로 '플레이'가 선택된 경우를 가정하자. 그러면, 상기 PA 서버(500)는 상기 사용자 장치 상에 상기 액션의 선택에 대한 응답 일 예로, 'Could you play the song?'을 문장으로 디스플레이한다. 상기 응답은 도 5a의 524단계에 해당한다. 그리고, 상기 PA 어플리케이션(500)은 일 예로, 상기 사용자에게 음악 플레이를 제공한다는 문장 형태의 메시지("O.K. I will play the song 'lonely'")와 함께 해당 음악을 제공하며, 도 5a의 526단계에 해당한다.In this case, suppose that the user selects 'play' as an example of a specific action through the second user input in step 520 of FIG. 5A. Then, the PA server 500 displays 'Could you play the song?' As a sentence in response to the selection of the action on the user device as a sentence. The response corresponds to step 524 of FIG. 5A. In addition, the PA application 500 provides the corresponding music with a message in the form of a sentence ("OK I will play the song 'lonely'") that provides music play to the user, for example, step 526 of FIG. 5A. Corresponds to

도 6a는 본 발명의 제3실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예이다. 본 발명의 제3실시 예에 따른 협력적 PA 시스템은 사용자의 요청에 상응하는 테스크, 이를 지원하는 객체를 제공하는 서드 파티 테스크 서버가 상기 객체를 제공하기 위해서 요구되는 퍼스널 프로파일들을 등록하는 대행 서비스를 제공한다. 즉, PA 서버가 사용자 입력에 따른 결과를 검색하는 동안, 사용자 프로파일 정보(예를 들어, 위치, 전화 번호 등)를 공유하기 위해서 사용자 허용을 획득하고, 해당 서드 파티 테스크 서버에게 상기 사용자 프로파일 정보를 전달함에 의해서, 사용자에 의해서 요청된 액션을 처리한다.6A is an example of a signal flow diagram of a cooperative PA system according to a third embodiment of the present invention. In the cooperative PA system according to the third embodiment of the present invention, a third party task server that provides a task corresponding to a user's request and an object supporting it, registers a proxy service for registering personal profiles required to provide the object. to provide. That is, while the PA server retrieves the result according to the user input, the user permission is obtained to share user profile information (eg, location, phone number, etc.), and the user profile information is transmitted to the corresponding third-party task server. By delivering, it processes the action requested by the user.

도 6a를 참조하면, 606단계에서 사용자는 사용자 장치 상의 PA 어플리케이션(600)을 구동시켜 사용자 입력을 상기 PA 서버(602)에게 전달한다. 여기서, 사용자 입력은 자연 언어 형태로 말 또는 텍스트 형태로 전달된다. 그러면, 608단계에서 상기 PA 서버(602)는 해당 사용자 입력이 요구하는 질의가 서드 파티 테스크 서버의 대행을 요구하는 지 검사한다.  Referring to FIG. 6A, in operation 606, the user drives the PA application 600 on the user device to transmit the user input to the PA server 602. Here, the user input is transmitted in the form of words or text in the form of natural language. Then, in step 608, the PA server 602 checks whether the query requested by the corresponding user input requests the agent of the third-party task server.

상기 검사 결과, 서드 파티 테스크 서버의 대행을 요구하는 질의에 해당하면, 도 4a에서 설명한 절차를 통해 저장하고 있는 질의를 위한 패턴 디스크립터들을 사용하여 상기 사용자 입력에 대한 문맥 추론을 수행한다. 구체적으로, 상기 PA 서버(602)는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 도메인을 식별한다. 그리고, 610단계에서 상기 PA 서버(602)는 일 예로, '상기 식별된 도메인을 찾는 중임을 지시'하는 메시지 형태의 중간 응답(interim response)을 상기 PA 어플리케이션(600)을 통해서 사용자에게 전달한다.As a result of the check, if it corresponds to a query that requires the agent of the third-party task server, context inference on the user input is performed using the pattern descriptors for the query stored through the procedure described in FIG. 4A. Specifically, when the PA server 602 matches one of the previously stored natural language input patterns with a user input, a task corresponding to the web service query mapped to the one input pattern and the input pattern is generated. Identifies the domain of the supported third-party task server. Then, in step 610, the PA server 602, for example, transmits an interim response in the form of a message indicating that the user is searching for the identified domain through the PA application 600.

이후, 612단계에서 상기 PA 서버(602)는 상기 사용자에 대한 퍼스널 정보 일 예로, 상기 사용자 식별자를 요구하기 위한 질의 명령 및 파라미터들을 질의 요청으로 구성하고, 상기 질의에 매칭되는 상기 서드 파티 테스크 서버(604)에게 전달한다. 상기 파라미터들은 퍼스널 컨텍스트, 대화 컨텍스트 및 추론된 컨텍스트와 함께 상기 사용자 입력으로부터 구성된다. 이때, 상기 질의 요청은 해당 서드 파티 공급자가 사용자 및 상기 사용자가 가입한 액션 허용을 식별하기 위해서 상기 사용자의 퍼스널 정보 일 예로 사용자 식별자를 포함한다. 상기 질의 요청을 수신한 서드 파티 테스크 서버(604)는 614단계에서 상기 질의 요청에 상응하는 질의 응답을 상기 PA 서버(602)에게 전달한다. 구체적으로, 상기 서드 파티 테스크 서버(604)는 상기 질의 요청에 의해서 요구되는 퍼스널 프로파일 정보를 포함하는 액션 디스크립터를 포함한다.Thereafter, in step 612, the PA server 602 configures query commands and parameters for requesting the user identifier as an example of personal information for the user as a query request, and the third party task server matching the query ( 604). The parameters are constructed from the user input along with the personal context, conversation context and inferred context. In this case, the query request includes a user identifier as an example of the personal information of the user in order to identify a user allowed by the third party provider and an action to which the user subscribes. The third party task server 604 receiving the query request transmits a query response corresponding to the query request to the PA server 602 in step 614. Specifically, the third party task server 604 includes an action descriptor including personal profile information required by the query request.

상기 액션 디스크립터는 하기 <표 8>과 같이 나타내어 진다.The action descriptor is shown in Table 8 below.

Figure 112019120923450-pat00008
Figure 112019120923450-pat00008

616단계에서 상기 PA 서버(602)는 상기 사용자의 허용 요청과 함께 상기 질의에 대한 결과들에 상응하는 데이터들을 최종 응답으로서 상기 PA 어플리케이션(600)에게 전달한다. 그러면, 618단계에서 상기 PA 어플리케이션(600)은 사용자 장치의 화면을 통해서 상기 최종 응답에 포함된 콘텐츠 객체들을 상기 사용자에게 디스플레이한다.In step 616, the PA server 602 transmits data corresponding to the results of the query to the PA application 600 as a final response along with the user's allow request. Then, in step 618, the PA application 600 displays the content objects included in the final response to the user through the screen of the user device.

도 6b는 본 발명의 제3실시 예에 따라 사용자의 사용자 프로파일 정보를 공유하기 위한 요청이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면이다.6B is a diagram illustrating an example of a screen of a user device on which a request for sharing user profile information of a user is displayed according to a third embodiment of the present invention.

도 6b를 참조하면, 일 예로, 사용자 위치 근처의 한국 BBQ 레스토랑을 검사할 것("Let me check the Korean BBQ restaurant which is cozy you're your location")이라는 중간 응답을 디스플레이하고 있다. 상기 중간 응답은 도 6a의 610단계에 해당한다.Referring to FIG. 6B, as an example, an intermediate response is displayed, that is, "Let me check the Korean BBQ restaurant which is cozy you're your location". The intermediate response corresponds to step 610 of FIG. 6A.

그리고, 상기 PA 서버(602)는 사용자 장치를 통해서 상기 중간 응답과 함께 검색된 레스토랑 정보 예를 들어, 명칭, 거리 및 전화번호 등과 사용자의 선택이 가능한 액션들을 포함하는 최종 응답을 디스플레이한다. 상기한 형태의 최종 응답은 도 6a의 618단계에 해당한다. 그리고, 일 예로, 상기 사용자의 선택이 가능한 액션들이 전화(Call) 및 예약(Reserve)를 포함할 경우, 상기 사용자가 '예약'을 선택한 경우를 가정하자.In addition, the PA server 602 displays a final response including user-selectable actions, such as restaurant information, for example, name, street, and phone number, searched for with the intermediate response through a user device. The final response of the above type corresponds to step 618 of FIG. 6A. In addition, as an example, suppose that the user selects 'reserved' when the selectable actions include a call and a reservation.

이때, 상기 PA 서버(602)는 상기 사용자는 상기 사용자의 선택이 가능한 액션들이 전화(Call) 및 예약(Reserve)과 함께 상기 사용자의 퍼스널 정보의 사용에 대한 요청을 함께 송신한다. At this time, the PA server 602 transmits a request for the use of the personal information of the user together with a call and a reservation for the user's selectable actions.

만약, 620단계에서 상기 PA 어플리케이션(600)을 통해서 상기 사용자가 상기 요청에 대한 '허용'을 제2사용자 입력으로서 상기 PA 서버(602)에게 전달한 경우를 가정하자. 그러면, 상기 PA 서버(602)는 상기 제2사용자 입력의 수신에 대한 응답을 상기 PA 어플리케이션(600)을 통해서 송신한다. 그리고, 624단계에서 상기 PA 서버(602)는 상기 사용자가 요청한 액션과, 상기 액션에 요구되는 일 예로 전화 번호 또는 위치 정보 등의 퍼스널 프로파일 정보를 포함하는 액션 요청을 상기 서드 파티 테스크 서버(604)로 전달한다. 앞서 언급한 바와 같이 상기 사용자가 액션으로 '예약'을 선택하였으므로, 요구된 퍼스널 프로파일 정보는 사용자 전화 번호 또는 위치 정보 등이 포함될 수 있다. 그리고, 626a,b단계에서 상기 서드 파티 테스크 서버(604)는 상기 액션에 상응하는 사용자 응답을 상기 PA 서버(602)를 거쳐서 상기 PA 어플리케이션(600)에게 전달한다.If, in step 620, the user through the PA application 600, it is assumed that the user has passed the 'allow' for the request to the PA server 602 as a second user input. Then, the PA server 602 transmits a response to the reception of the second user input through the PA application 600. Then, in step 624, the PA server 602 requests the action including the action requested by the user and personal profile information such as phone number or location information as an example required for the third party task server 604. To pass. As mentioned above, since the user has selected 'reservation' as the action, the requested personal profile information may include a user phone number or location information. Then, in steps 626a and b, the third-party task server 604 transmits a user response corresponding to the action to the PA application 600 through the PA server 602.

도 7은 본 발명의 실시 예에 따라 PA 서버과 서드 파티 테스크 서버 간의 사용자 식별을 위한 선처리 절차의 신호 흐름도의 일 예이다. 여기서는, PA 서버가 사용자가 요구하는 테스크 및 콘텐트 객체에 대한 사용자의 허용을 인지하기 위해서 상기 PA 서버 및 서드 파티 테스크 서버 각각이 관리하는 사용자 정보를 연관시키는 선처리 절차가 수반되어야 한다. 일반적인 서드 파티 테스크 서버는 자신에게 가입한 사용자들의 식별자를 관리한다. 본 발명의 제2실시 예 내지 제3실시 예에서 상기 선처리 작업이 요구된다.7 is an example of a signal flow diagram of a preprocessing procedure for user identification between a PA server and a third party task server according to an embodiment of the present invention. Here, a pre-processing procedure for associating user information managed by each of the PA server and the third-party task server should be accompanied in order for the PA server to recognize the user's permission for the task and content object requested by the user. A typical third-party task server manages the identifiers of users who subscribe to it. In the second to third embodiments of the present invention, the pre-processing operation is required.

상기 선처리 작업은 임의의 사용자가 임의의 서드 파티 테스크 서버에 가입하는 동안에 수행된다. 예를 들어, 상기 가입 절차 동안 서드 파티 테스크 서버가 사용자에게 PA 서버들의 목록을 보여주면, 상기 사용자는 상기 목록으로부터 하나의 PA 서버를 선택한다. 이때, 상기 서드 파티 테스크 서버는 상기 사용자에게 상기 PA 서버의 식별을 요청한다. 이를 통해서 상기 가입 절차 동안, 상기 서드 파티 서버는 해당 사용자가 연관된 PA 서버의 식별자를 획득할 수 있게 된다.The pre-processing operation is performed while any user subscribes to any third party task server. For example, if a third-party task server shows a list of PA servers to the user during the subscription procedure, the user selects one PA server from the list. At this time, the third-party task server requests the user to identify the PA server. Through this, during the sign-up process, the third-party server can acquire the identifier of the PA server to which the user is associated.

도 7을 참조하면, 706단계에서 사용자는 사용자 장치 상에 구동하는 PA 어플리케이션(700)을 통해서 서드 파티 테스크 서버(704)로의 가입 절차를 수행한다. 여기서는 상기 서드 파티 테스크 서버(704)가 1개인 경우를 일 예로서 설명하였으나, PA 서버(702)가 대행하고자 하는 서비스를 제공하는 서드 파티 테스크 서버들 각각에 대해서는 사용자 식별을 위한 선처리 절차가 수반되어야 할 것이다.Referring to FIG. 7, in step 706, the user performs a subscription procedure to the third-party task server 704 through the PA application 700 running on the user device. Here, the case where the third party task server 704 is one has been described as an example, but a pre-processing procedure for user identification must be accompanied for each of the third party task servers that provide a service that the PA server 702 intends to act on. something to do.

상기 가입 절차가 완료되면, 708단계에서 상기 서드 파티 테스크 서버(704)는 상기 PA 서버(702)에게 상기 서드 파티 테스크에 가입한 사용자들의 사용자 정보를 전달한다. 일 예로, 상기 서드 파티 테스크 서버(704)가 관리하는 상기 사용자 정보는 하기 <표 9>와 같이 나타내어진다.When the sign-up process is completed, in step 708, the third-party task server 704 delivers the user information of the users who subscribe to the third-party task to the PA server 702. For example, the user information managed by the third-party task server 704 is shown in Table 9 below.

Figure 112019120923450-pat00009
Figure 112019120923450-pat00009

한편, 상기 PA 서버(702)과 관리하는 사용자 정보들은 일 예로, 하기 <표 10>과 같이 나타내어 질 수 있다.Meanwhile, the PA server 702 and the user information it manages may be represented as <Table 10> below.

Figure 112019120923450-pat00010
Figure 112019120923450-pat00010

상기한 바와 같은 협력적 PA 시스템은 사용자 입력에 상응하는 테스크 및 객체를 제공하는 서드 파티 테스크 서버의 서비스 동작을 대행함으로써, 해당 사용자가 상기 서드 파티 테스크 서버에 직접 접속하여 해당 테스크 및 객체를 획득하는 동작에 비해 불필요한 절차를 감소시키고, 기존의 문제점들을 해소할 수 있는 효과를 갖게 된다.The cooperative PA system as described above acts as a service operation of a third-party task server that provides tasks and objects corresponding to user input, so that the user directly accesses the third-party task server to obtain the tasks and objects. It has the effect of reducing unnecessary procedures and resolving existing problems compared to operation.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.On the other hand, in the detailed description of the present invention, although specific embodiments have been described, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the claims to be described later, but also by the scope and equivalents of the claims.

Claims (8)

서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서,
송수신부; 및
상기 송수신부와 연결된 프로세서를 포함하고,
상기 프로세서는,
제1 장치로부터 입력을 수신하고,
상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하고,
상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하고 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―,
상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하고,
상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하고,
상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신하는 서버.
In the server acting as a service provider of third party providers,
Transceiver; And
It includes a processor connected to the transceiver,
The processor,
Receiving an input from a first device,
Determine whether the input corresponds to a task executable by each of a plurality of second devices,
If the input corresponds to a task executable by each of the plurality of second devices, identify at least one pattern descriptor corresponding to the input among the plurality of pattern descriptors, wherein the plurality of pattern descriptors include service queries and Contains natural language input patterns matching the service queries.
Identify at least one second device corresponding to the identified at least one pattern descriptor among the plurality of second devices,
Sending a query request to the identified at least one second device,
In response to the query request, a server that receives a response from the identified at least one second device that includes information about one or more actions of the at least one second device associated with the task.
제1항에 있어서,
상기 프로세서는,
상기 입력에 응답하여 상기 테스크를 식별중임을 나타내는 중간 응답을 상기 제1 장치에 전송하는 서버.
According to claim 1,
The processor,
A server that transmits to the first device an intermediate response indicating that the task is being identified in response to the input.
제1항에 있어서,
상기 응답은,
상기 테스크를 지원하는 아이템들에 대한 정보 및 상기 테스크와 관련된 추가 액션에 대한 정보를 더 포함하는 서버.
According to claim 1,
The response is:
A server further comprising information on items supporting the task and additional actions related to the task.
제3항에 있어서,
상기 프로세서는,
상기 추가 액션에 대한 사용자의 개인 정보가 요구되는 경우, 상기 제1 장치에 상기 사용자의 개인 정보의 사용에 대한 수락 요청을 전송하고,
상기 제1 장치로부터 상기 개인 정보의 사용에 대한 수락을 수신한 경우, 상기 식별된 적어도 하나의 제2 장치에 상기 사용자의 개인 정보를 전송하는 서버.
According to claim 3,
The processor,
If the user's personal information for the additional action is required, transmit a request to accept the use of the user's personal information to the first device,
A server that transmits the user's personal information to the identified at least one second device when receiving acceptance of the use of the personal information from the first device.
서버를 이용하여 서드 파티 (third party) 공급자들의 서비스 제공을 대행하는 방법에 있어서,
제1 장치로부터 입력을 수신하는 과정과,
상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하는 과정과,
상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하는 과정과 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―,
상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하는 과정과,
상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하는 과정과,
상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신하는 과정을 포함하는 방법.
In the method of using the server to provide services of third party providers,
Receiving an input from a first device,
Determining whether the input corresponds to a task executable by each of the plurality of second devices;
Identifying at least one pattern descriptor corresponding to the input among the plurality of pattern descriptors when the input corresponds to a task executable by each of the plurality of second devices, and wherein the plurality of pattern descriptors are service queries And natural language input patterns matching the service queries.
Identifying at least one second device corresponding to the identified at least one pattern descriptor among the plurality of second devices;
Transmitting a query request to the identified at least one second device;
And in response to the query request, receiving a response from the identified at least one second device that includes information about one or more actions of the at least one second device associated with the task.
제5항에 있어서,
상기 입력에 응답하여 상기 테스크를 식별중임을 나타내는 중간 응답을 상기 제1 장치에 전송하는 과정을 더 포함하는 방법.
The method of claim 5,
And in response to the input, sending an intermediate response indicating that the task is being identified to the first device.
제5항에 있어서,
상기 응답은,
상기 테스크를 지원하는 아이템들에 대한 정보 및 상기 테스크와 관련된 추가 액션에 대한 정보를 더 포함하는 방법.
The method of claim 5,
The response is:
The method further includes information on items supporting the task and additional actions related to the task.
제7항에 있어서,
상기 추가 액션에 대한 사용자의 개인 정보가 요구되는 경우, 상기 제1 장치에 상기 사용자의 개인 정보의 사용에 대한 수락 요청을 전송하는 과정과,
상기 제1 장치로부터 상기 개인 정보의 사용에 대한 수락을 수신한 경우, 상기 식별된 적어도 하나의 제2 장치에 상기 사용자의 개인 정보를 전송하는 과정을 더 포함하는 방법.
The method of claim 7,
If the user's personal information for the additional action is required, transmitting a request for acceptance of the use of the user's personal information to the first device,
And receiving an acceptance for use of the personal information from the first device, transmitting the personal information of the user to the identified at least one second device.
KR1020190152047A 2019-11-25 2019-11-25 A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor KR102091441B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190152047A KR102091441B1 (en) 2019-11-25 2019-11-25 A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190152047A KR102091441B1 (en) 2019-11-25 2019-11-25 A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190056071A Division KR102050377B1 (en) 2019-05-14 2019-05-14 A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor

Publications (2)

Publication Number Publication Date
KR20190133135A KR20190133135A (en) 2019-12-02
KR102091441B1 true KR102091441B1 (en) 2020-03-20

Family

ID=68847843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190152047A KR102091441B1 (en) 2019-11-25 2019-11-25 A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor

Country Status (1)

Country Link
KR (1) KR102091441B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016678A1 (en) 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101250845B1 (en) * 2008-11-03 2013-04-04 에스케이플래닛 주식회사 Method, Server and System for Searching Commodity based on Natural Language
US10812937B2 (en) * 2008-12-11 2020-10-20 Qualcomm Incorporated Method and apparatus for obtaining contextually relevant content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016678A1 (en) 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant

Also Published As

Publication number Publication date
KR20190133135A (en) 2019-12-02

Similar Documents

Publication Publication Date Title
KR101980173B1 (en) A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor
CN103080927B (en) Automatic route using Search Results
KR101777392B1 (en) Central server and method for processing of voice of user
JP2019091428A (en) Method and apparatus for recommending news
US20200334740A1 (en) System and method for a hybrid conversational and graphical user interface
US20110016421A1 (en) Task oriented user interface platform
KR102340228B1 (en) Message service providing method for message service linking search service and message server and user device for performing the method
US20080045190A1 (en) System and method of live data search on a mobile device
CN101405732A (en) A search tool providing optional use of human search guides
JP5441455B2 (en) Network-based service provision system
WO2015196987A1 (en) Natural language supported data query method, open platform and user terminal
US20220358462A1 (en) Context and rule based dynamic communication channels for collaboration between users
JP2017072976A (en) Information processing system, information processing method, and program
JP2019175464A (en) Information processing device, information processing method and program
JP2021099862A (en) Improvement of dialog with electronic chat interface
KR20130062799A (en) Method for managing keyword information server
WO2022133153A1 (en) Free-form, automatically-generated conversational graphical user interfaces
Ben Njima et al. Development of a mobile web services discovery and composition model
KR102091441B1 (en) A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor
KR20150062541A (en) A direct search system for message on the instant messenger
KR102050377B1 (en) A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor
KR102369960B1 (en) Electronic apparatus for providing information based on existence of a user account and method thereof
CN109964457A (en) The uniform resource identifier and Image Sharing shown for contextual information
US20200125565A1 (en) Methods and systems to facilitate the generation of responses to verbal queries
JP2002163171A (en) Device and system for supporting user

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant