KR20190056352A - 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
KR20190056352A
KR20190056352A KR1020190056071A KR20190056071A KR20190056352A KR 20190056352 A KR20190056352 A KR 20190056352A KR 1020190056071 A KR1020190056071 A KR 1020190056071A KR 20190056071 A KR20190056071 A KR 20190056071A KR 20190056352 A KR20190056352 A KR 20190056352A
Authority
KR
South Korea
Prior art keywords
user
task
input
server
pattern
Prior art date
Application number
KR1020190056071A
Other languages
Korean (ko)
Other versions
KR102050377B1 (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 KR1020190056071A priority Critical patent/KR102050377B1/en
Publication of KR20190056352A publication Critical patent/KR20190056352A/en
Application granted granted Critical
Publication of KR102050377B1 publication Critical patent/KR102050377B1/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
    • G06F17/20
    • 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/50

Abstract

Provided is a collaborative personal assistant (PA) server for delegating provision of services by third party task providers. The collaborative PA server comprises: a task delegation database for receiving a plurality of pattern descriptors including natural language input patterns and service queries from a plurality of external devices, and storing the pattern descriptors; a context inference unit for acquiring an input of a user requiring execution of at least one task which can be performed by one of the external devices, and identifying at least one pattern descriptor among the pattern descriptors based on the acquired input of the user; and a task delegation unit for transmitting a query request to at least one external device corresponding to the identified at least one pattern descriptor, and receiving a final response including an action list associated with the at least one task in response to the query request, from the at least one external device, wherein each of the natural language input patterns is mapped to at least one of the service queries, the input of the user is a form of voice or text, the at least one pattern descriptor includes a natural language input pattern matched with the acquired input of the user, and the at least one task is executed based on the query request.

Description

서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법{A COLLABORATIVE PERSONAL ASSISTANT SYSTEM FOR DELEGATING PROVIDING OF SERVICES SUPPORTED BY THIRD PARTY TASK PROVIDERS AND METHOD THEREFOR}TECHNICAL FIELD [0001] The present invention relates to a collaborative personal assistant system for providing service of a third party task provider and a method thereof,

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

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

도 1은 일반적인 가상의 PA 시스템의 구조도이다.1 is a structural diagram of a general 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, a virtual PA system includes a PA server 102, a network 104, a user device 106 and a third party task server 108. Here, the PA server 102 includes three technical components not shown in the figure. The technical components include a conversational interface, a personal context awareness unit, and a service agent. The dialog interface is a dialog-style natural language user interface that obtains natural language input from both a human speech or a user-typed query type query. The PA server 102 is aware of the personal contexts in advance. The personal contexts may include, for example, information about a place where the user is currently located, or where he or she lives or works. The PA server 102 acts as a proxy server for providing services to the corresponding user, which the third party task server 108 supports. Here, as an example, the case where there is one third-party task server is shown, but the PA server 102 can provide services that are 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, searching for small businesses / restaurants, local events and movie theaters, reserving restaurants etc., And answering the answers to the questions.

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

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

도 2를 참조하면, 상기 가상의 PA 시스템은 사용자 장치(200)와, PA 서버(202) 및 외부의 서드 파티 테스크 서버(204)를 포함한다.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 a user. At this time, the user input may be inputted in the form of a human speech (dictation) or a characterized query. The operating system (OS) or PA application of the user device 200 will pre-process the dormant speech dictated from the text by applying a speech to text technique.

208단계에서 상기 사용자 장치(200) 상에서 운용하는 PA 어플리케이션은 상기 사용자 입력으로부터 사용자 요청을 획득하고, 상기 사용자 요청을 상기 PA 서버(202)에게 송신한다. 상기 사용자 요청은 사용자 질의 및 일 예로, 상기 사용자 장치(200)의 위치와 같은 추가적인 컨텍스트 정보(장치의 위치 등)를 포함한다. 이때, 상기 사용자 질의는 텍스트화된 질의 형태 또는 구술된 질의 형태 모두 될 수 있다. In operation 208, the PA application operating 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 may include user queries and, in one example, additional context information (such as the location of the device), such as the location of the user device 200. At this time, the user query may be either a textual query form or an oral query form.

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

Figure pat00001
Figure pat00001

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

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

Figure pat00002
Figure pat00002

이후, 상기 PA 서버(202)는 상기 외부의 서드 파티 테스크 서버(204)에게 상기 사용자 요청이 요구하는 테스크를 수행하기 위해서, 이를 전달하기 위한 질의를 구성하고, 218단계에서 상기 구성된 질의를 상기 외부의 서드 파티 테스크 서버(204)에게 송신한다. 그러면, 220단계에서 상기 외부의 서드 파티 테스크 서버는 상기 질의에 상응하는 테스크를 포함하는 질의 응답을 상기 PA 서버(202)에게 전달한다. 이때, 상기 외부의 서드 파티 테스크 서버(204)가 상기 질의 응답으로 제공하는 테스크들이 다수 개일 경우, 224단계에서 상기 PA 서버(202)는 상기 테스크들 중 사용자에게 최종적으로 디스플레이될 아이템들을 한정하기 위해서 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 선택된 아이템들로 구성된 최종 응답을 결정하고, 226단계에서 상기 최종 응답을 상기 사용자 장치(200)에게 송신한다. 그러면, 228단계에서 상기 사용자 장치(228)는 상기 최종 응답을 상기 사용자 장치(200)의 화면 상에 디스플레이한다.Then, the PA server 202 constructs a query for delivering the task to the external third party task server 204 in order to perform the task requested by the user request. In step 218, Party task server 204 of the third party. 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 plurality of tasks to be provided by the external third party task server 204 in the inquiry response, in step 224, the PA server 202 determines the items to be finally displayed to the user Determines a final response based on the determined priority based on the selected items, and transmits the final response 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 conventional virtual PA system as described above has the inflexibility due to the limited number of third party providers to provide the service to the user. And, even though there are a number of actions or services that the third party provider can provide, the virtual PA system is unable to provide other sets of actions or services requested by the user.

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

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

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

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

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

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

본 개시의 실시 예에 따른 장치는 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트(Collaborative Personal Assistant) 서버에 있어서, 복수의 외부 장치로부터 자연 언어 입력 패턴들 및 서비스 질의들을 포함하는 복수의 패턴 디스크립터를 수신하고, 상기 복수의 패턴 디스크립터를 저장하는 테스크 대행 데이터 베이스와, 상기 복수의 외부 장치 중 하나에 의해 실행 가능한 적어도 하나의 테스크의 실행을 필요로 하는 사용자의 입력을 획득하고, 상기 획득된 사용자의 입력에 기초하여 상기 복수의 패턴 디스크립터 중 적어도 하나의 패턴 디스크립터를 식별하는 문맥 추론부와, 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 외부 장치에 질의 요청을 전송하고, 상기 적어도 하나의 외부 장치로부터 상기 질의 요청에 대한 응답으로 상기 적어도 하나의 테스크와 연관된 액션 리스트를 포함하는 최종 응답을 수신하는 테스크 대행부를 포함하고, 상기 자연 언어 입력 패턴들 각각은 상기 서비스 질의들 중 적어도 하나에 매핑되고, 상기 사용자의 입력은 음성 또는 텍스트의 형태이고, 상기 적어도 하나의 패턴 디스크립터는 상기 획득된 사용자의 입력과 매칭되는 자연 언어 입력 패턴을 포함하고, 상기 적어도 하나의 테스크는 상기 질의 요청에 기초하여 실행된다.The apparatus according to an embodiment of the present disclosure includes a Collaborative Personal Assistant server for providing services of third party suppliers, and includes natural language input patterns and service queries from a plurality of external devices A task proxy database for receiving the plurality of pattern descriptors for storing the plurality of pattern descriptors and an input of a user requiring execution of at least one task executable by one of the plurality of external apparatuses A context inference unit for identifying at least one pattern descriptor among the plurality of pattern descriptors based on the obtained input of the user, and a query request unit for transmitting a query request to at least one external device corresponding to the identified at least one pattern descriptor And from the at least one external device And a task agent for receiving a final response including an action list associated with the at least one task in response to the query request, wherein each of the natural language input patterns is mapped to at least one of the service queries, Wherein the user input is in the form of voice or text and the at least one pattern descriptor comprises a natural language input pattern that matches the obtained user input and the at least one task is executed based on the query request.

본 개시의 실시 예에 따른 방법은, 협력적 퍼스널 어시스턴트(Collaborative Personal Assistant) 서버를 이용하여 서드 파티 공급자들의 서비스 제공을 대행하는 방법에 있어서, 복수의 외부 장치로부터 자연 언어 입력 패턴들 및 서비스 질의들을 포함하는 복수의 패턴 디스크립터를 수신하고, 상기 복수의 패턴 디스크립터를 저장하는 과정과, 상기 복수의 외부 장치 중 하나에 의해 실행 가능한 적어도 하나의 테스크의 실행을 필요로 하는 사용자의 입력을 획득하는 과정과, 상기 획득된 사용자의 입력에 기초하여 상기 복수의 패턴 디스크립터 중 적어도 하나의 패턴 디스크립터를 식별하는 과정과, 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 외부 장치에 질의 요청을 전송하는 과정과, 상기 적어도 하나의 외부 장치로부터 상기 질의 요청에 대한 응답으로 상기 적어도 하나의 테스크와 연관된 액션 리스트를 포함하는 최종 응답을 수신하는 과정을 포함하고, 상기 자연 언어 입력 패턴들 각각은 상기 서비스 질의들 중 적어도 하나에 매핑되고, 상기 사용자의 입력은 음성 또는 텍스트의 형태이고, 상기 적어도 하나의 패턴 디스크립터는 상기 획득된 사용자의 입력과 매칭되는 자연 언어 입력 패턴을 포함하고, 상기 적어도 하나의 테스크는 상기 질의 요청에 기초하여 실행된다.A method according to an embodiment of the present disclosure is a method for providing a service of a third party provider using a Collaborative Personal Assistant server, the method comprising: receiving natural language input patterns and service queries from a plurality of external devices The method comprising: receiving a plurality of pattern descriptors including a plurality of pattern descriptors and storing the plurality of pattern descriptors; obtaining an input of a user requiring execution of at least one task executable by one of the plurality of external apparatuses; Identifying at least one pattern descriptor among the plurality of pattern descriptors based on the obtained input of the user, transmitting a query request to at least one external device corresponding to the identified at least one pattern descriptor From said at least one external device, Receiving a final response comprising a list of actions associated with the at least one task in response to a request of the user, wherein each of the natural language input patterns is mapped to at least one of the service queries, Wherein the input is in the form of voice or text and the at least one pattern descriptor comprises a natural language input pattern that matches the obtained user input and the at least one task is executed based on the query request.

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

도 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 view of a typical virtual personal assistant system.
2 is a signal flow diagram for operation of a general virtual PA system;
3 is a configuration diagram of a collaborative PA system in accordance with 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 illustrating 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.
FIG. 5B is a view showing an example of a screen of a user apparatus on which a service proxy operation of a cooperative PA system according to a second embodiment of the present invention is displayed; FIG.
6A is an example of a signal flow diagram of a cooperative PA system according to a third embodiment of the present invention.
FIG. 6B is a view showing an example of a screen of a user device displaying a request for sharing a user profile according to the third embodiment of the present invention; FIG.
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;

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

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

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

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

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

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

도 3을 참조하면, 협력적 PA 시스템(300)은 PA 서버(310)와, 사용자 장치(320)와, 네트워크(330) 및 서드 파티 테스크 서버(340)를 포함한다.3, the collaborative 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) 312, a chat robot 316, a task proxy DB 317, a natural language processor (NLP) 313 Contextual reasoned and task delegate agent 315. The user device 320 includes a personal assistant application and a mobile operating system (OS) 324 The third party task server 340 includes a query processor 342 and an action processor 344. The user device 320 and the third party task server 340 are connected to a general user device and a third party And operates in the same manner as the task server, and thus a detailed description thereof will be omitted here.

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

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

도 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 pre-registered natural language input patterns. Here, it is assumed that the third party task server 404 provides a task corresponding to the user input when the user inputs a user input through the PA application provided by the PA server 402. [

도 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, an operator of the third party task server 404 manages a service for providing services supported by the third party task server 404, And transmits a registration request of a pattern descriptor to the PA server 402. The pattern descriptor for the query includes a web service query for proxy operation of a task proxy agent (corresponding to 315 in Fig. 3) included in the PA server 402, and a natural language input pattern mapped to the web service query . Wherein the PA server includes a third party that supports a task corresponding to a web service query mapped to the one input pattern and the natural language input pattern when one of the natural language input patterns stored in the PA server matches a user input, Performs proxy operation of the task server. For example, the pattern descriptor for the query is shown in Table 3 and Table 4 below. The pattern descriptor for the query includes a category of service for the task and an end point uniform resource locator (URL) of the third party task server to be substituted.

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

그러면, 408단계에서 상기 PA 서버(402)는 상기 질의를 위한 디스크립터를 등록한 후, 상기 서드 파티 테스크 서버(404)에게 등록 응답을 송신한다.In step 408, the PA server 402 registers a descriptor for the query and 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 and delivers the user input to the PA server 402. Here, the user input is delivered in a natural language form, either in words or text. In step 412, the PA server 402 checks whether the user input requests an agent service of the third party task server. As a result of the inspection, when the user input requests an agent service of the third party task server, context inference of the user input is performed using the pattern descriptor based on the previously registered query. Specifically, when the user input is matched with one of the natural language input patterns stored in the PA server 402, the PA server 402 generates a task corresponding to the one input pattern and the web service query mapped to the input pattern Identify the domain of the supported third-party task server. In step 414, the PA server 402 delivers a message-type interim response to the user through the PA application 400 to indicate 'searching for the identified domain'.

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

Figure pat00005
Figure pat00005

Figure pat00006
Figure pat00006

Figure pat00007
Figure pat00007

그리고, 420단계에서 상기 PA 서버(402)는 상기 PA 어플리케이션(400)을 통해서 상기 사용자 입력에 대한 최종 응답을 송신한다. 상기 최종 응답은 일 예로, 도 4b와 같은 형태로 나타내어진다.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, for example, in the form of 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?' 430 is an example of a query displayed on the user device by the PA application 400. The 'Find cozy place for Korean BBQ' 435 corresponds to an example of textual representation of the user input 410 transmitted to the PA server 402 in step 410 of FIG. 4A.

참조 번호 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 ~ in reference numeral 440 represents an example of the intermediate response that the PA server 402 provides to the user through the PA application 400 in step 414 of Figure 4A. Finally, reference numeral 445 denotes an example of a final response corresponding to step 420 of FIG. 4A. Specifically, two final responses to user input requesting a venue request for a Korean BBQ are displayed. Then, additional actions for each of the two places, that is, a set of actions capable of performing a call and a reserve action, 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 the task required by the user input. At this time, the PA server enables the action to be performed by transmitting a service end point URL of an action that can receive additional services other than the corresponding service through a user's touch or click action on the user device. In addition, the content object metadata previously stored by the inquiry inference unit includes natural language verb words. The words are used to identify actions that can be performed on the content object, and the PA server can analyze and identify the corresponding actions in a programming language such as play, download, etc. through natural language context reasoning.

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

이후, 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 the personal profile information for the user (including, for example, a query command and parameters for requesting the user identifier) as a query request, To the third party task server (504). At this time, the parameters are configured from the user input with a personal context, a conversation context, and an inferred context. At this time, the inquiry request includes a user identifier, for example, personal profile information of the user in order to identify the user and the permission of the action the user subscribed to, by the operator of the corresponding third party task server. In step 514, the third party task server 504, which has received the inquiry request, transmits a query response corresponding to the inquiry request to the PA server 502. Specifically, the third party task server 504 determines whether or not the user has joined the server, and if the user is subscribed, the performance of the user device supports the object corresponding to the user input , Then the third party task server 504 includes a list of the actions allowed by the subscription of the user in the query response. And may further include further actions that may be performed by the user after the allowed actions are performed. One example of the additional actions corresponds to a natural language text that can be presented to the user through the PA server 502 and an action to play music. As a specific example, assume that a user is not subscribed to a third party task provider that is a music play site. In this case, the third party task provider sends to the PA server a list of actions such as 'one minute free listening' or 'join' action that can be provided to the user. If the user is subscribed to the 'streaming play' service but not the 'download service', the third party task server transmits only 'play' action to the PA server. However, if the user is subscribed to both the 'streaming play' and the 'download service', the third party task server transmits both the 'streaming play' and the 'download service' actions to the PA server.

514단계에서 상기 PA 서버(502)는 상기 서드 파티 테스크 서버(504)로부터 질의 응답을 수신한 후, 퍼스널 컨텍스트 DB에 상기 질의 응답이 제공하는 액션들의 언어 키워드를 저장한다. 상기 저장 동작은 상기 저장된 키워드를 포함하는 추후 입력될 사용자 입력의 이해를 돕기 위한 것이다.In step 514, the PA server 502 receives the query response from the third party task server 504, and then stores the language keyword of the action provided by the query response in the personal context DB. The storing operation is for helping understanding of 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 priorities of the items included in the query response and supports the task, and transmits a final response, which is composed of the determined items, to the user through the PA application 500 . Then, in step 518, the PA application 500 can display the items obtained through the final response and the actions permitted to the user for each item. Then, in step 520, the user enters a second user input to select one of the displayed actions via the PA application 500. [ At this time, the input method corresponds to touch, click, or speaking. In step 522, the PA server 502 receiving the second user input interprets the second user input as 'music play', using the stored personal context information. In step 524, the PA application 500 transmits a response to the user. The response includes, for example, a content object identifier such as an action requested by the user and 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 determines whether the music play library or the music play application on the user device that can access the third party task server 504, which is identified by the end point URL obtained through the response, . Then, in step 528a, the PA application 500 transmits an action request including the user identifier and the object identifier to the third party task server 504 for further action. Then, in step 528b, the third party task server 504 provides the streaming service to the user through the PA application 500 as an example of a corresponding service corresponding to the object identifier.

도 5b는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 서비스 대행 동작이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면이다.FIG. 5B is a view showing an example of a screen of a user apparatus 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?"를 디스플레이한다. Referring to FIG. 5B, reference numeral 501 denotes a start screen of the PA application 500. That is, the PA application 500 displays " what can I help you with? &Quot; as an example of a query sentence for requesting a user input.

상기 질의의 응답의 일 예인 'what is lonely?"는 도 5a의 506단계 즉, 제1사용자 입력에 해당한다. 여기서는 상기 질의의 응답을 문장으로 입력하는 경우를 일 예로서 도시하였으나, 상기 질의의 응답은 앞서 언급한 바와 같이 스피킹 형태로 사용자 장치에 입력될 수도 있다.The 'what is lonely?', Which is an example of the response of the query, corresponds to the first user input in step 506 of FIG. 5A. Herein, the case of inputting the response of the query as a sentence is shown as an example, The response may be input to the user device in the form of speech as described 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 as a response to the query response in FIG. 5B is obtained in step 510 .

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

이때, 사용자가 도 5a의 520단계에서의 제2사용자 입력을 통해서 특정 액션 일 예로 '플레이'가 선택된 경우를 가정하자. 그러면, 상기 PA 서버(500)는 상기 사용자 장치 상에 상기 액션의 선택에 대한 응답 일 예로, 'Could you play the song?'을 문장으로 디스플레이한다. 상기 응답은 도 5a의 524단계에 해당한다. 그리고, 상기 PA 어플리케이션(500)은 일 예로, 상기 사용자에게 음악 플레이를 제공한다는 문장 형태의 메시지("O.K. I will play the song 'lonely'")와 함께 해당 음악을 제공하며, 도 5a의 526단계에 해당한다.Here, it is assumed 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 response to the selection of the action on the user device in a sentence. The response corresponds to step 524 of FIG. 5A. The PA application 500 provides the corresponding music together with a message ("OK I will play the song 'lonely") that provides music play to the user, .

도 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. The collaborative PA system according to the third embodiment of the present invention includes a task corresponding to a request of a user and a proxy service for registering personal profiles required for providing the object by a third party task server providing an object supporting the task to provide. That is, while the PA server retrieves results according to user input, the PA server obtains the user permission to share the user profile information (e.g., location, telephone number, etc.), and transmits the user profile information to the corresponding third party task server It handles the action requested by the user by forwarding.

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

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

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

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

Figure pat00008
Figure pat00008

616단계에서 상기 PA 서버(602)는 상기 사용자의 허용 요청과 함께 상기 질의에 대한 결과들에 상응하는 데이터들을 최종 응답으로서 상기 PA 어플리케이션(600)에게 전달한다. 그러면, 618단계에서 상기 PA 어플리케이션(600)은 사용자 장치의 화면을 통해서 상기 최종 응답에 포함된 콘텐츠 객체들을 상기 사용자에게 디스플레이한다.In step 616, the PA server 602 transmits the data corresponding to the results of the query together with the permission request of the user to the PA application 600 as a final response. 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실시 예에 따라 사용자의 사용자 프로파일 정보를 공유하기 위한 요청이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면이다.FIG. 6B is a diagram illustrating an example of a screen of a user device displaying a request to share user profile information of a user 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, for example, a Korean BBQ restaurant near the user location is checked ("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)를 포함할 경우, 상기 사용자가 '예약'을 선택한 경우를 가정하자.The PA server 602 then displays the final response including the restaurant information retrieved along with the intermediate response through the user device, e.g., name, distance and telephone number, and actions that the user can select. The final response of the above form corresponds to step 618 of FIG. 6A. For example, assume that the user selects 'reservation' when the actions that can be selected by the user include a call and a reserve.

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

만약, 620단계에서 상기 PA 어플리케이션(600)을 통해서 상기 사용자가 상기 요청에 대한 '허용'을 제2사용자 입력으로서 상기 PA 서버(602)에게 전달한 경우를 가정하자. 그러면, 상기 PA 서버(602)는 상기 제2사용자 입력의 수신에 대한 응답을 상기 PA 어플리케이션(600)을 통해서 송신한다. 그리고, 624단계에서 상기 PA 서버(602)는 상기 사용자가 요청한 액션과, 상기 액션에 요구되는 일 예로 전화 번호 또는 위치 정보 등의 퍼스널 프로파일 정보를 포함하는 액션 요청을 상기 서드 파티 테스크 서버(604)로 전달한다. 앞서 언급한 바와 같이 상기 사용자가 액션으로 '예약'을 선택하였으므로, 요구된 퍼스널 프로파일 정보는 사용자 전화 번호 또는 위치 정보 등이 포함될 수 있다. 그리고, 626a,b단계에서 상기 서드 파티 테스크 서버(604)는 상기 액션에 상응하는 사용자 응답을 상기 PA 서버(602)를 거쳐서 상기 PA 어플리케이션(600)에게 전달한다.Assume that in step 620, the user transmits 'allow' for the request to the PA server 602 through the PA application 600 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. In step 624, the PA server 602 transmits to the third party task server 604 an action request including the action requested by the user and personal profile information such as a phone number or location information requested as an example of the action. . As described above, since the user has selected &quot; reservation &quot; as the action, the requested personal profile information is A user telephone number or location information, and the like. In step 626a and step b, the third party task server 604 transmits a user response corresponding to the action to the PA application 600 via 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, the PA server must be accompanied by a preprocessing procedure for associating user information managed by each of the PA server and the third party task server in order to recognize the user's permission to the task and the content object requested by the user. A typical third-party task server manages identifiers of subscribed users. In the second to third embodiments of the present invention, the pre-processing operation is required.

상기 선처리 작업은 임의의 사용자가 임의의 서드 파티 테스크 서버에 가입하는 동안에 수행된다. 예를 들어, 상기 가입 절차 동안 서드 파티 테스크 서버가 사용자에게 PA 서버들의 목록을 보여주면, 상기 사용자는 상기 목록으로부터 하나의 PA 서버를 선택한다. 이때, 상기 서드 파티 테스크 서버는 상기 사용자에게 상기 PA 서버의 식별을 요청한다. 이를 통해서 상기 가입 절차 동안, 상기 서드 파티 서버는 해당 사용자가 연관된 PA 서버의 식별자를 획득할 수 있게 된다.The preprocessing operation is performed while any user subscribes to any third party task server. For example, if the third party task server displays 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 subscription procedure, the third party server is able to obtain 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 apparatus. Here, the case where the third party task server 704 is one is described as an example. However, each of the third party task servers providing the service to be PA server 702 should be accompanied by a preprocessing procedure for user identification something to do.

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

Figure pat00009
Figure pat00009

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

Figure pat00010
Figure pat00010

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

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

Claims (12)

서드 파티(third party) 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트(Collaborative Personal Assistant) 서버에 있어서,
복수의 외부 장치로부터 자연 언어 입력 패턴들 및 서비스 질의들을 포함하는 복수의 패턴 디스크립터를 수신하고, 상기 복수의 패턴 디스크립터를 저장하는 테스크 대행 데이터 베이스와,
상기 복수의 외부 장치 중 하나에 의해 실행 가능한 적어도 하나의 테스크의 실행을 필요로 하는 사용자의 입력을 획득하고, 상기 획득된 사용자의 입력에 기초하여 상기 복수의 패턴 디스크립터 중 적어도 하나의 패턴 디스크립터를 식별하는 문맥 추론부와,
상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 외부 장치에 질의 요청을 전송하고, 상기 적어도 하나의 외부 장치로부터 상기 질의 요청에 대한 응답으로 상기 적어도 하나의 테스크와 연관된 액션 리스트를 포함하는 최종 응답을 수신하는 테스크 대행부를 포함하고,
상기 자연 언어 입력 패턴들 각각은 상기 서비스 질의들 중 적어도 하나에 매핑되고,
상기 사용자의 입력은 음성 또는 텍스트의 형태이고,
상기 적어도 하나의 패턴 디스크립터는 상기 획득된 사용자의 입력과 매칭되는 자연 언어 입력 패턴을 포함하고,
상기 적어도 하나의 테스크는 상기 질의 요청에 기초하여 실행되는 협력적 퍼스널 어시스턴트 서버.
CLAIMS 1. A Collaborative Personal Assistant server for providing services of third party suppliers,
A task proxy database for receiving a plurality of pattern descriptors including natural language input patterns and service queries from a plurality of external devices and storing the plurality of pattern descriptors,
Acquiring an input of a user requiring execution of at least one task executable by one of the plurality of external apparatuses and identifying at least one pattern descriptor of the plurality of pattern descriptors based on the input of the obtained user A context inference unit,
The method comprising the steps of: sending a query request to at least one external device corresponding to the identified at least one pattern descriptor; and sending, from the at least one external device, And a task agent for receiving a response,
Wherein each of the natural language input patterns is mapped to at least one of the service queries,
The input of the user is in the form of voice or text,
Wherein the at least one pattern descriptor includes a natural language input pattern matched with an input of the obtained user,
Wherein the at least one task is executed based on the query request.
제1항에 있어서,
상기 테스크 대행부는,
상기 획득된 사용자의 입력에 응답하여 텍스트 메시지의 형태인 중간 응답을 디스플레이하는 것을 특징으로 하는 협력적 퍼스널 어시스턴트 서버.
The method according to claim 1,
Wherein the task agency comprises:
And displays an intermediate response in the form of a text message in response to the obtained input of the user.
제1항에 있어서,
상기 액션 리스트는 상기 적어도 하나의 테스크와 연관된 추가 서비스 및 액션들을 포함하며,
상기 테스크 대행부는,
상기 적어도 하나의 테스크와 연관된 추가 서비스 및 액션들을 디스플레이하는 것을 특징으로 하는 협력적 퍼스널 어시스턴트 서버.
The method according to claim 1,
Wherein the action list includes additional services and actions associated with the at least one task,
Wherein the task agency comprises:
And displaying additional services and actions associated with the at least one task.
제1항에 있어서,
상기 액션 리스트는,
상기 적어도 하나의 테스크를 지원하는 아이템들 및 상기 아이템들 각각에 허용된 동작 세트를 포함하는 협력적 퍼스널 어시스턴트 서버.
The method according to claim 1,
The action list includes:
The items of support for the at least one task and the set of actions allowed for each of the items.
제3항에 있어서,
상기 테스크 대행부는,
상기 추가 서비스 및 액션들이 사용자의 개인 정보를 요구하는 경우, 사용자 장치에 상기 사용자의 개인 정보의 사용에 대한 수락 요청을 전송하고, 상기 사용자 장치로부터 상기 개인 정보의 사용에 대한 수락을 수신한 경우, 상기 적어도 하나의 외부 장치에 상기 사용자의 개인 정보를 전달하여, 상기 사용자 장치에 상기 추가 서비스 및 액션들을 제공함을 특징으로 하는 협력적 퍼스널 어시스턴트 서버.
The method of claim 3,
Wherein the task agency comprises:
When the additional service and actions request the user's personal information, transmits an acceptance request for use of the user's personal information to the user device, and, when receiving the acceptance of use of the personal information from the user device, And delivering the user's personal information to the at least one external device to provide the additional services and actions to the user device.
협력적 퍼스널 어시스턴트(Collaborative Personal Assistant) 서버를 이용하여 서드 파티 공급자들의 서비스 제공을 대행하는 방법에 있어서,
복수의 외부 장치로부터 자연 언어 입력 패턴들 및 서비스 질의들을 포함하는 복수의 패턴 디스크립터를 수신하고, 상기 복수의 패턴 디스크립터를 저장하는 과정과,
상기 복수의 외부 장치 중 하나에 의해 실행 가능한 적어도 하나의 테스크의 실행을 필요로 하는 사용자의 입력을 획득하는 과정과,
상기 획득된 사용자의 입력에 기초하여 상기 복수의 패턴 디스크립터 중 적어도 하나의 패턴 디스크립터를 식별하는 과정과,
상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 외부 장치에 질의 요청을 전송하는 과정과,
상기 적어도 하나의 외부 장치로부터 상기 질의 요청에 대한 응답으로 상기 적어도 하나의 테스크와 연관된 액션 리스트를 포함하는 최종 응답을 수신하는 과정을 포함하고,
상기 자연 언어 입력 패턴들 각각은 상기 서비스 질의들 중 적어도 하나에 매핑되고,
상기 사용자의 입력은 음성 또는 텍스트의 형태이고,
상기 적어도 하나의 패턴 디스크립터는 상기 획득된 사용자의 입력과 매칭되는 자연 언어 입력 패턴을 포함하고,
상기 적어도 하나의 테스크는 상기 질의 요청에 기초하여 실행되는 서드 파티 공급자들의 서비스 제공 대행 방법.
In a method for providing service of a third party provider using a Collaborative Personal Assistant server,
Receiving a plurality of pattern descriptors including natural language input patterns and service queries from a plurality of external apparatuses and storing the plurality of pattern descriptors;
Obtaining an input of a user requiring execution of at least one task executable by one of the plurality of external apparatuses;
Identifying at least one pattern descriptor among the plurality of pattern descriptors based on the obtained user input;
Transmitting a query request to at least one external device corresponding to the identified at least one pattern descriptor;
Receiving a final response from the at least one external device, the response including a list of actions associated with the at least one task in response to the query request;
Wherein each of the natural language input patterns is mapped to at least one of the service queries,
The input of the user is in the form of voice or text,
Wherein the at least one pattern descriptor includes a natural language input pattern matched with an input of the obtained user,
Wherein the at least one task is executed based on the query request.
제6항에 있어서,
상기 획득된 사용자의 입력에 응답하여 텍스트 메시지의 형태인 중간 응답을 디스플레이하는 과정을 더 포함하는 서드 파티 공급자들의 서비스 제공 대행 방법.
The method according to claim 6,
And displaying an intermediate response in the form of a text message in response to the obtained input of the user.
제6항에 있어서,
상기 액션 리스트는 상기 적어도 하나의 테스크와 연관된 추가 서비스 및 액션들을 포함하며,
상기 적어도 하나의 테스크와 연관된 추가 서비스 및 액션들을 디스플레이하는 과정을 더 포함하는 것을 특징으로 하는 서드 파티 공급자들의 서비스 제공 대행 방법.
The method according to claim 6,
Wherein the action list includes additional services and actions associated with the at least one task,
Further comprising displaying additional services and actions associated with the at least one task. &Lt; RTI ID = 0.0 &gt; 31. &lt; / RTI &gt;
제6항에 있어서,
상기 액션 리스트는,
상기 적어도 하나의 테스크를 지원하는 아이템들 및 상기 아이템들 각각에 허용된 동작 세트를 더 포함하는 서드 파티 공급자들의 서비스 제공 대행 방법.
The method according to claim 6,
The action list includes:
Further comprising items supporting the at least one task and an action set allowed for each of the items.
제8항에 있어서,
상기 추가 서비스 및 액션들이 사용자의 개인 정보를 요구하는 경우, 사용자 장치에 상기 사용자의 개인 정보의 사용에 대한 수락 요청을 전송하는 과정과,
상기 사용자 장치로부터 상기 개인 정보의 사용에 대한 수락을 수신한 경우, 상기 적어도 하나의 외부 장치에 상기 사용자의 개인 정보를 전달함에 의해서, 상기 사용자 장치에 상기 추가 서비스 및 액션들을 제공하는 과정을 더 포함하는 서드 파티 공급자들의 서비스 제공 대행 방법.
9. The method of claim 8,
Transmitting an acceptance request for use of the personal information of the user to the user device when the additional services and actions request the user's personal information;
And providing the additional service and actions to the user device by transmitting the user's personal information to the at least one external device when the user device receives an acceptance of use of the personal information from the user device To provide services to third party suppliers.
제6항에 있어서,
상기 적어도 하나의 테스크와 연관된 액션 리스트에 관한 정보를 사용자 장치로 전송하는 과정을 포함하는 서드 파티 공급자들의 서비스 제공 대행 방법.
The method according to claim 6,
And sending information about an action list associated with the at least one task to a user device.
제6항에 있어서,
상기 적어도 하나의 테스크와 연관된 액션 리스트에 관한 정보는, 사용자 장치로부터의 입력에 대한 응답으로 상기 사용자 장치로 전송되어, 상기 사용자 장치 상에 표시되는 서드 파티 공급자들의 서비스 제공 대행 방법.
The method according to claim 6,
Wherein the information about the action list associated with the at least one task is transmitted to the user device in response to an input from the user device and displayed on the user device.
KR1020190056071A 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 KR102050377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190056071A 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190056071A 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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120027137A Division KR101980173B1 (en) 2012-03-16 2012-03-16 A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190152047A Division 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

Publications (2)

Publication Number Publication Date
KR20190056352A true KR20190056352A (en) 2019-05-24
KR102050377B1 KR102050377B1 (en) 2019-11-29

Family

ID=66680433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190056071A 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

Country Status (1)

Country Link
KR (1) KR102050377B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020008517A (en) * 2000-07-20 2002-01-31 구자홍 Method for paying for the price in internet
US20120016678A1 (en) * 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020008517A (en) * 2000-07-20 2002-01-31 구자홍 Method for paying for the price in internet
US20120016678A1 (en) * 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant

Also Published As

Publication number Publication date
KR102050377B1 (en) 2019-11-29

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
US20210112161A1 (en) System and Method for Omnichannel User Engagement and Response
CN103080927B (en) Automatic route using Search Results
US9130900B2 (en) Assistive agent
JP4648906B2 (en) Push-type information communication system with calls
US20200334740A1 (en) System and method for a hybrid conversational and graphical user interface
CN102143227B (en) Systems and methods for collaborative browsing on telecom web
JP6470246B2 (en) User support system, user support program and user support method
JP5441455B2 (en) Network-based service provision system
WO2009079252A1 (en) Devices and methods for automating interactive voice response system interaction
JP2007108806A (en) User matching server, user matching method, user matching program
US20170286133A1 (en) One Step Task Completion
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
US11657096B2 (en) Free-form, automatically-generated conversational graphical user interfaces
CN108984260B (en) Method and apparatus for handling information
KR102050377B1 (en) A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor
JP2009509254A (en) Method for accessing data relating to at least one user and subsequently allowing contact with said user
KR102091441B1 (en) A collaborative personal assistant system for delegating providing of services supported by third party task providers and method therefor
JP2002163171A (en) Device and system for supporting user
US20210264910A1 (en) User-driven content generation for virtual assistant
CN111190668B (en) User Interface (UI) event response method and device, electronic equipment and storage medium

Legal Events

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