KR20190133135A - 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법 - Google Patents

서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법 Download PDF

Info

Publication number
KR20190133135A
KR20190133135A KR1020190152047A KR20190152047A KR20190133135A KR 20190133135 A KR20190133135 A KR 20190133135A KR 1020190152047 A KR1020190152047 A KR 1020190152047A KR 20190152047 A KR20190152047 A KR 20190152047A KR 20190133135 A KR20190133135 A KR 20190133135A
Authority
KR
South Korea
Prior art keywords
user
server
task
input
response
Prior art date
Application number
KR1020190152047A
Other languages
English (en)
Other versions
KR102091441B1 (ko
Inventor
이지철
최성호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190152047A priority Critical patent/KR102091441B1/ko
Publication of KR20190133135A publication Critical patent/KR20190133135A/ko
Application granted granted Critical
Publication of KR102091441B1 publication Critical patent/KR102091441B1/ko

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

본 발명은, 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서, 제1 장치로부터 입력을 수신하고, 상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하고, 상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하고 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―, 상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하고, 상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하고, 상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신한다.

Description

서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법{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) 및 그에 따른 방법에 관한 것이다.
일반적으로 가상의(virtual) 퍼스널 어시스턴트(Personal Assistant, 이하, 'PA'라 칭함) 시스템은 사용자의 의도(intention)를 이해하고, 사용자 프로파일(user Profile) 및 컨텍스트(context) 정보를 러닝(learning) 및 적용(applying)함에 의해서 사용자들이 요구하는 테스크(task)를 수행한다. 상기 가상의 PA 시스템은 사용자의 질의에 응답하기 위한 자연 언어 프로세싱(natural language processing)을 사용하고, 추천(recommendation)들을 만들고 웹 서비스들의 확장 셋에서 요청들을 대행함에 의해서 해당 테스크에 상응하는 액션들을 수행한다.
도 1은 일반적인 가상의 PA 시스템의 구조도이다.
도 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)하는 등의 동작들에 해당한다.
일반적인 가상의 PA 시스템(100)은 상기 PA 서버(102), 사용자 장치(106) 및 상기 서드 파티 서버(108) 상에서 운용하는 PA 어플리케이션(application)으로 구성되어 있다. 상기 사용자 장치(106)는 퍼스널 디지털 어시스턴트(PDA: Personal Digital Assistant)와, 휴대 전화에 인터넷 통신과 정보 검색 등 컴퓨터 지원 기능을 추가한 지능형 단말기 예를 들어, 스마트 폰(Samrt Phone), 태블릿(tablet) 등이 될 수 있다.
도 2는 일반적인 가상의 PA 시스템의 동작에 대한 신호 흐름도이다.
도 2를 참조하면, 상기 가상의 PA 시스템은 사용자 장치(200)와, PA 서버(202) 및 외부의 서드 파티 테스크 서버(204)를 포함한다.
206단계에서 상기 사용자 장치(200)는 사용자로부터 사용자 입력을 수신한다. 이때, 상기 사용자 입력은 휴먼 스피치(구술) 또는 문자화된 질의 형태로 입력될 수 있다. 그리고, 상기 사용자 장치(200)의 이동 운용체제(OS: Operation System) 또는 PA 어플리케이션은 스피치 투 텍스트(speech to text) 기술을 적용함에 의해서 텍스트로부터 구술된 휴면 스피치를 선처리할 것이다.
208단계에서 상기 사용자 장치(200) 상에서 운용하는 PA 어플리케이션은 상기 사용자 입력으로부터 사용자 요청을 획득하고, 상기 사용자 요청을 상기 PA 서버(202)에게 송신한다. 상기 사용자 요청은 사용자 질의 및 일 예로, 상기 사용자 장치(200)의 위치와 같은 추가적인 컨텍스트 정보(장치의 위치 등)를 포함한다. 이때, 상기 사용자 질의는 텍스트화된 질의 형태 또는 구술된 질의 형태 모두 될 수 있다.
일 예로, 하기 <표 1>은 상기 사용자 요청을 메시지 형태로 나타낸 표이다.
Figure pat00001
하는 도메인을 식별하기 위한 퍼스널 컨텍스트 정보와 함께 수신된 상기 사용자 요청을 분석한다. 이때, '존재론(ontology)'과, '추론(inference)'및 '단일화된 모델링(unified modeling), 사전들(dictionaries) 및 대화 모델들(dialog models)을 지원하는 패턴 매칭'과 같은 인공 지능 기술들을 사용한다.
그리고, 214단계에서 상기 PA 서버(202)는 상기 PA 어플리케이션의 응답으로서 중간 응답을 상기 사용자 장치(200)에게 송신한다. 상기 중간 응답은 사용자에게 문자 메시지 형태로 디스플레이되거나 말로 전달된다. 이러한, 중간 응답의 일 예로 "나는 오늘 너의 저녁 식사를 위한 한국 BBQ 레스토랑을 찾는 중이다"를 들 수 있다. 그러면, 216단계에서 상기 사용자 장치(200)는 하기 <표 2>의 메시지 형태로 상기 수신한 중간 응답을 디스플레이(display)한다.
Figure pat00002
이후, 상기 PA 서버(202)는 상기 외부의 서드 파티 테스크 서버(204)에게 상기 사용자 요청이 요구하는 테스크를 수행하기 위해서, 이를 전달하기 위한 질의를 구성하고, 218단계에서 상기 구성된 질의를 상기 외부의 서드 파티 테스크 서버(204)에게 송신한다. 그러면, 220단계에서 상기 외부의 서드 파티 테스크 서버는 상기 질의에 상응하는 테스크를 포함하는 질의 응답을 상기 PA 서버(202)에게 전달한다. 이때, 상기 외부의 서드 파티 테스크 서버(204)가 상기 질의 응답으로 제공하는 테스크들이 다수 개일 경우, 224단계에서 상기 PA 서버(202)는 상기 테스크들 중 사용자에게 최종적으로 디스플레이될 아이템들을 한정하기 위해서 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 선택된 아이템들로 구성된 최종 응답을 결정하고, 226단계에서 상기 최종 응답을 상기 사용자 장치(200)에게 송신한다. 그러면, 228단계에서 상기 사용자 장치(228)는 상기 최종 응답을 상기 사용자 장치(200)의 화면 상에 디스플레이한다.
상기한 바와 같은 일반적인 가상의 PA 시스템은 사용자에게 서비스를 제공할 서드 파티 공급자의 수가 한정됨으로 인한 비유연성을 갖는다. 그리고, 해당 서드 파티 공급자가 제공할 수 있는 액션들(actions) 또는 서비스들이 다수 존재한다 하더라고 상기 가상의 PA 시스템은 해당 사용자가 요구한 액션들 또는 서비스들의 셋 이외에 다른 셋들을 제공하는 것이 불가능하다.
일 예로, 사용자가 음악 관련 사이트인 서드 파티 테스크 서버에서 제공하는 서비스를 요청하는 경우를 가정하자. 이때, 상기 서드 파티 서버는 스트리밍(steaming), 뮤직 다운로드, 또는 구매(purchase) 서비스를 사용하여 음악을 플레이하는 등의 다양한 서비스 셋들을 제공한다. 그러나, 상기 가상 PA 시스템을 사용하는 사용자는 상기 가상의 PA 시스템을 통해서 제공될 수 있는 상기 서드 파티 서버의 서비스만을 사용할 수 있다. 예를 들어, 상기 가상의 PA 시스템이 제공하는 PA 어플리케이션이 사용자 장치 상에서 음악 플레이 어플리케이션을 수행하거나 음악 콘텐츠(contents)들을 플레이하기 위한 라이브러리(library)를 실행하는 동작을 지원하는 경우, 상기 PA 어플리케이션을 사용하는 사용자는 해당 콘텐츠들을 직접 접속(다운로드 또는 플레이)할 수 없다.
만약, 상기 서드 파티 테스크 서버가 제공하는 액션들 중 사용자의 임시(temporary) 컨텍스트 정보가 요구되는 경우가 존재한다. 상기 액션들의 일 예로는, 유로 서비스나 해당 사용자 정보를 바탕으로 생성되는 타로 점, 예약 서비스 등이 될 수 있고, 임시 컨텍스트 정보는 위치 정보 또는 사용자 프로필 정보(전화 번호)등이 해당된다. 상기한 가상의 PA 시스템은 해당 사용자에게 임시 컨텍스트 정보가 요구될 경우, 상기 사용자에게 상기 임시 컨텍스트 정보를 서드 파티 테스크 서버에 제공할 수 있는 지에 대한 수락을 확인해야 하는 불편함이 있었다.
본 발명은 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 PA 시스템 및 그에 따른 방법을 제안한다.
본 발명은 협력적 PA 시스템은 다수의 서드 파티 테스크 서버들이 지원하는 서비스들의 제공을 대행하기 위한 인터페이스를 제안한다.
본 발명은 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들을 제공한다.
본 발명은 협력적 PA 시스템은 해당 사용자의 사용자 입력에 상응하는 테스크가 수행되기 위해서 요구되는 퍼스널 프로파일들을 사용자의 허용에 따라 해당 서드 파티 테스크 서버로 전달한다.
본 개시의 실시 예에 따른 장치는 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서, 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서, 송수신부; 및 상기 송수신부와 연결된 프로세서를 포함하고, 상기 프로세서는, 제1 장치로부터 입력을 수신하고, 상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하고, 상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하고 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―, 상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하고, 상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하고, 상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신한다..
본 개시의 실시 예에 따른 방법은, 서버를 이용하여 서드 파티 공급자들의 서비스 제공을 대행하는 방법에 있어서, 제1 장치로부터 입력을 수신하는 과정과, 상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하는 과정과, 상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하는 과정과 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―, 상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하는 과정과, 상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하는 과정과, 상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신하는 과정을 포함한다.
본 발명은 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 PA 시스템은 상기 협력적 PA 시스템이 사용자의 사용자 입력으로부터 상기 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버 및 해당 테스크에 매칭되는 질의 명령들을 찾는 것을 돕기 위한 자연 언어 입력 패턴들을 서드 파티 테스크 대행부에 등록하기 위한 인터페이스를 제공함으로써, 사용자의 사용자 입력을 보다 체계적으로 인지하고, 상기 사용자 입력에 상응하는 테스크를 제공하는 서드 파티 테스크 서버를 보다 간단히 찾을 수 있는 효과가 있다. 그리고, 상기 협력적 PA 시스템은 사용자의 요구와 관계 없이, 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들을 제공함으로써, 한정된 서드 파티 테스크 서버의 제공으로 인한 비유선성의 한계를 극복할 수 있게 된다. 마지막으로, 미리 사용자의 퍼스널 프로파일 정보에 대한 사용 허용을 획득하고, 서드 파티 테스크 서버에게 전달함으로써, 해당 테스크를 해당 사용자에게 제공 시, 상기 사용자의 퍼스널 프로파일 정보를 요청 및 획득하는 절차를 수행하는 번거로움이 줄어들게 된다.
도 1은 일반적인 가상 퍼스널 어시스턴트 시스템의 구조도.
도 2는 일반적인 가상 PA 시스템의 동작에 대한 신호 흐름도.
도 3은 본 발명의 실시 예에 따른 협력적 PA 시스템의 구성도.
도 4a는 본 발명의 제1실시 예에 따른 협력적 PA 시스템의 신호 흐름도.
도 4b는 본 발명의 제1실시 예에 따라 사용자에게 제공되는 최종 응답의 일 예를 나타낸 도면.
도 5a는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예.
도 5b는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 서비스 대행 동작이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면.
도 6a는 본 발명의 제3실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예.
도 6b는 본 발명의 제3실시 예에 따라 사용자 프로파일의 공유를 위한 요청이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면.
도 7은 본 발명의 실시 예에 따라 PA 서버과 서드 파티 테스크 서버 간의 사용자 식별을 위한 선처리 절차의 신호 흐름도의 일 예.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 서드 파티 공급자들의 서비스 제공을 대행하는 협력적 PA 시스템 및 그에 따른 방법을 제안한다.
본 발명의 제1실시 예에 따른 협력적 PA 시스템은 다수의 서드 파티 테스크 서버들이 지원하는 서비스들의 제공을 대행하기 위한 인터페이스를 제공한다. 상기 인터페이스는 상기 협력적 PA 시스템이 사용자의 사용자 입력으로부터 상기 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버 및 해당 테스크에 매칭되는 질의 명령들을 찾는 것을 돕기 위한 자연 언어 입력 패턴들을 서드 파티 테스크 대행부에 등록하기 위한 것이다. 이에 따라 본 발명에 따른 협렵적 PA 시스템은 상기 인터페이스를 통해서 상기 서드 파티 테스크 서버의 대행 동작을 수행하기 위한 기능들을 위한 질의를 자동적으로 생성하도록 형성된다.
본 발명의 제2실시 예에 따른 협력적 PA 시스템은, 사용자의 요구와 관계 없이, 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들을 제공한다. 구체적으로, 상기 협력적 PA 시스템은 사용자 장치 상에서 사용자의 터치 또는 클릭 등의 추가 액션을 통해서 해당 서비스 이외의 추가 서비스를 제공받을 수 있는 액션 서비스 엔드 포인트 URL을 전달한다. 이에 따라 상기 협력적 PA 시스템은 플레이, 다운로드 등과 같은 프로그래밍 언어로부터 지시된 액션을 식별할 수 있는 문맥 추론부를 더 포함한다. 상기 문맥 추론부는 해당 콘첸트 객체에 대해 취해지는 액션을 식별하는 자연 언어 동사 단어들(verbal words)을포함하는 콘텐츠 객체 메타 데이터(contents object meta data)를 저장하고 있다.
본 발명의 제3실시 예에 따른 협력적 PA 시스템은 해당 사용자의 사용자 입력에 상응하는 테스크가 수행되기 위해서 요구되는 퍼스널 프로파일들을 등록하기 위한 서드 파티 테스크 대행부를 제공한다. 상기 협력적 PA 시스템은 해당 사용자의 사용자 입력에 상응하는 결과를 검색하는 동작 동안 상기 사용자의 위치 또는 전화 번호와 같은 퍼스널 프로파일 정보를 공유하기 위한 사용자 허용을 획득한다. 그리고, 상기 협력적 PA 시스템은 상기 사용자가 요청한 테스크를 처리하기 위해서 상기 테스크를 제공하는 서드 파티 테스크 서버에게 상기 사용자의 퍼스널 프로파일 정보를 송신한다.
도 3은 본 발명의 실시 예에 따른 협력적 PA 시스템의 구성도이다.
도 3을 참조하면, 협력적 PA 시스템(300)은 PA 서버(310)와, 사용자 장치(320)와, 네트워크(330) 및 서드 파티 테스크 서버(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)는 일반적인 사용자 장치 및 서드 파티 테스크 서버와 동일하게 동작하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
상기 문맥 추론부(314)는 사용자 요청을 만족시키는 테스크들의 도메인을 식별하기 위해서 해당 사용자의 퍼스널 컨텍스트 정보와 함께 수신된 사용자 입력을 분석한다. 상기 문맥 추론부(314)는 스피치 투 텍스트(speech to text) 기술을 적용함에 의해서 텍스트로부터 구술된 사용자 입력의 선처리(pre-processing)를 수행한다. 상기 문맥 추론부(314)가 상기 사용자 입력에 대응하는 테스크를 제공하는 도메인을 식별한다. 그러면, 상기 테스크 대행 에이전트(315)는 추론 또는 대화를 사용하여 획득한 상기 사용자 입력으로부터 추출된 정보 및 상기 사용자의 퍼스널 컨텍스트와 함께 구체화된 테스크를 수행한다. 상기 테스크 대행 DB(317)는 일 예로, 도 3의 서드 파티 테스크 서버(340)를 포함하는 다수의 서드 파티 테스크 서버들로부터 등록 정보를 저장한다. 상기 서드 파티 테스크 서버(340)는 지식 검색 엔진, 레스토랑 예약/검색 등과 같은 구체적인 서비스들을 지원하는 도메인을 공급하기 위해서 어플리케이션 프로그래밍 인터페이스를 공급하는 웹 서비스 공급자들을 나타낸다.
이하, 본 발명의 실시 예들에 따른 동작은 설명의 편의상 PA 서버를 구성하는 세부 구성들 각각에 의해서 설명하지 않고, 상기 PA 서버 자체의 동작으로서 설명하기로 한다.
도 4a는 본 발명의 제1실시 예에 따른 협력적 PA 시스템의 신호 흐름도이다. 여기서는 사전에 등록된 자연 언어 입력 패턴들을 통해서 사용자 질의 및 대응하는 테스크가 제공된다. 여기서는 사용자가 PA 서버(402)가 제공하는 PA 어플리케이션을 통해서 사용자 입력이 요청되는 경우, 서드 파티 테스크 서버(404)가 상기 사용자 입력에 상응하는 테스크를 제공하는 경우를 가정한다.
도 4a를 참조하면, 406단계에서 서드 파티 테스크 서버(404)의 운용자는 상기 서드 파티 테스크 서버(404)가 지원하는 서비스들의 제공 대행을 위해서 자신이 제공하는 서비스들에 대한 사용자 입력인 질의를 위한 패턴 디스크립터(descriptor)의 등록 요청을 PA 서버(402)에게 송신한다. 상기 질의를 위한 패턴 디스크립터는 상기 PA 서버(402)가 포함하고 있는 테스크 대행 에이전트(도 3의 315에 해당함)의 대행 동작을 위한 웹 서비스 질의와, 상기 웹 서비스 질의에 매핑되는 자연 언어 입력 패턴들을 포함한다. 상기 PA 서버는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 자연 언어 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 대행 동작을 수행한다. 일 예로, 상기 질의를 위한 패턴 디스크립터는 하기 <표 3> 및 <표 4>와 같이 나타내어진다. 상기 질의를 위한 패턴 디스크립터는 해당 테스크를 위한 서비스의 카테고리 및 대행할 서드 파티 테스크 서버의 엔드 포인트URL(end point Uniform Resource Locator) 등을 포함한다.
Figure pat00003
Figure pat00004
그러면, 408단계에서 상기 PA 서버(402)는 상기 질의를 위한 디스크립터를 등록한 후, 상기 서드 파티 테스크 서버(404)에게 등록 응답을 송신한다.
410단계에서 사용자는 사용자 장치 상의 PA 어플리케이션(400)을 구동시켜 사용자 입력을 상기 PA 서버(402)에게 전달한다. 여기서, 사용자 입력은 자연 언어 형태로 말 또는 텍스트 형태로 전달된다. 그러면, 412단계에서 상기 PA 서버(402)는 상기 사용자 입력이 서드 파티 테스크 서버의 대행 서비스를 요구하는 지 검사한다. 상기 검사 결과, 상기 사용자 입력이 상기 서드 파티 테스크 서버의 대행 서비스를 요구하는 경우, 기 등록된 상기 질의를 의한 패턴 디스크립터를 사용하여 상기 사용자 입력에 대한 문맥 추론을 수행한다. 구체적으로, 상기 PA 서버(402)는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 도메인을 식별한다. 414단계에서 상기 PA 서버(402)는 일 예로, '상기 식별된 도메인을 찾는 중임을 지시'하는 메시지 형태의 중간 응답(interim response)을 상기 PA 어플리케이션(400)을 통해서 사용자에게 전달한다.
이후, 416단계에서 상기 PA 서버(402)의 테스크 대행 에이전트는 상기 사용자에 대한 퍼스널 프로파일 정보(일 예로, 상기 사용자 식별자를 요구하기 위한 질의 명령과 파라미터들을 포함함)를 질의 요청으로 구성하여 상기 서드 파티 테스크 서버(404)에게 송신한다. 그러면, 418단계에서 상기 서드 파티 테스크 서버(404)는 질의 응답을 상기 PA 서버(402)에게 송신한다. 상기 질의 응답은 상기 사용자 입력이 요구한 테스크를 지원하는 아이템 객체 및 상기 아이템 객체 별로 허용된 액션 셋들을 포함한다. 일 예로, 상기 질의 응답은 하기 <표 5> 내지 <표 7>과 같은 형태로 나타내어진다.
Figure pat00005
Figure pat00006
Figure pat00007
그리고, 420단계에서 상기 PA 서버(402)는 상기 PA 어플리케이션(400)을 통해서 상기 사용자 입력에 대한 최종 응답을 송신한다. 상기 최종 응답은 일 예로, 도 4b와 같은 형태로 나타내어진다.
도 4b는 본 발명의 제1실시 예에 따라 사용자에게 제공되는 최종 응답의 일 예이다.
도 4b를 참조하면, 참조 번호 430의 'what can I do for you?'는 상기 PA 어플리케이션(400)이 사용자 장치 상에서 디스플레이된 질의의 일 예를 나타낸다. 참조 번호 435의 'Find cozy place for Korean BBQ'는 도 4a의 410단계에서 상기 PA 서버 (402)로 전달된 사용자 입력(410)을 텍스트 형태로 나타낸 일 예에 해당한다.
참조 번호 440의 'Let me check the Korean~'은 도 4a의 414단계에서 PA 서버(402)가 상기 PA 어플리케이션(400)을 통해서 사용자에게 제공하는 중간 응답의 일 예를 나타낸다. 마지막으로, 참조 번호 445는 도 4a의 420단계에 해당하는 최종 응답의 일 예를 나타낸다. 구체적으로, 한국 BBQ를 위한 장소 요청을 요구하는 사용자 입력에 대한 2개의 최종 응답이 디스플레이된 상태이다. 그리고, 2개의 장소 각각에 대한 추가 액션 즉, 전화(call) 및 예약(reserve) 액션을 수행할 수 있는 액션 셋들이 함께 디스플레이된 형태이다.
도 5a는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예이다. 여기서는 PA 서버(502)가 사용자 입력이 요구하는 테스크를 제공하는 서드 파티 테스크 서버를 통해서 제공할 수 있는 추가 서비스 및 액션들의 셋을 사용자에게 제공한다. 이때, PA 서버는 사용자 장치 상에서 사용자의 터치 또는 클릭 등의 추가 액션을 통해서 해당 서비스 이외의 추가 서비스를 제공받을 수 있는 액션의 서비스 엔드 포인트 URL을 전달함에 의해서 해당 액션을 수행할 수 있게 한다. 추가적으로 문객 추론부가 미리 저장하고 있는 콘텐츠 객체 메타 데이터는 자연 언어 동사 단어들을 포함한다. 상기 단어들은 해당 콘텐츠 객체에 대해 수행할 수 있는 액션을 식별하기 위한 것이며, PA 서버가 자연 언어 문맥 추론을 통해서 플레이, 다운로드 등가 같은 프로그래밍 언어에서 해당 액션을 해석 및 식별할 수 있게 한다.
도 5a를 참조하면, 506단계에서 사용자는 사용자 장치 상의 PA 어플리케이션(500)을 구동시켜 사용자 입력을 상기 PA 서버(502)에게 전달한다. 여기서, 사용자 입력은 자연 언어 형태로 말 또는 텍스트 형태로 전달된다. 그러면, 508단계에서 상기 PA 서버(502)는 해당 사용자 입력이 요구하는 질의가 서드 파티 테스크 서버의 대행을 요구하는 지 검사한다. 상기 검사 결과, 서드 파티 테스크 서버의 대행을 요구하는 질의에 해당하면, 도 4a에서 설명한 절차를 통해 저장하고 있는 질의를 위한 패턴 디스크립터들을 사용하여 상기 사용자 입력에 대한 문맥 추론을 수행한다. 구체적으로, 상기 PA 서버(502)는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 도메인을 식별한다. 그리고, 510단계에서 상기 PA 서버(502)는 일 예로, '상기 식별된 도메인을 찾는 중임을 지시'하는 메시지 형태의 중간 응답(interim response)을 상기 PA 어플리케이션(500)을 통해서 사용자에게 전달한다.
이후, 512단계에서 상기 PA 서버(502)는 상기 사용자에 대한 퍼스널 프로파일 정보(일 예로, 상기 사용자 식별자를 요구하기 위한 질의 명령 및 파라미터들을 포함함)를 질의 요청으로 구성하고, 상기 질의에 매칭되는 상기 서드 파티 테스크 서버(504)에게 전달한다. 이때, 상기 파라미터들은 퍼스널 컨텍스트, 대화 컨텍스트 및 추론된 컨텍스트와 함께 상기 사용자 입력으로부터 구성된다. 이때, 상기 질의 요청은 해당 서드 파티 테스크 서버의 운용자가 사용자 및 상기 사용자가 가입한 액션 허용을 식별하기 위해서 상기 사용자의 퍼스널 프로파일 정보 일 예로, 사용자 식별자를 포함한다. 상기 질의 요청을 수신한 서드 파티 테스크 서버(504)는 514단계에서 상기 질의 요청에 상응하는 질의 응답을 상기 PA 서버(502)에게 전달한다. 구체적으로, 상기 서드 파티 테스크 서버(504)는 '상기 사용자가 자신의 서버에 가입하였는 지 여부'와, '상기 사용자가 가입된 경우, 상기 사용자 장치의 성능이 상기 사용자 입력에 대응하는 객체를 지원하는 지 여부'를 확인한다, 이후, 상기 서드 파티 테스크 서버(504)는 상기 사용자의 가입에 의해서 허용된 액션들의 리스트들을 상기 질의 응답에 포함시킨다. 그리고, 상기 허용된 액션들이 수행된 이후 다음으로 상기 사용자가 수행될 수 있는 추가 액션들을 더 포함시킬 수 있다. 상기 추가 액션들의 일 예로는 상기 PA 서버(502)를 통해서 상기 사용자에게 제시될 수 있는 자연 언어 텍스트와 함께 음악 플레이하는 액션 등이 해당한다. 구체적인 예로, 사용자가 음악 플레이 사이트인 서드 파티 테스크 공급자에게 가입되지 않은 경우를 가정하자. 이 경우, 상기 서드 파티 테스크 공급자는 상기 사용자에게 제공될 수 있는 '1분 동안 무료 듣기' 또는 '가입' 동작과 같은 액션의 리스트를 상기 PA 서버에게 송신한다. 그리고, 만약, 사용자가 '스트리밍 플레이'서비스에 가입되었으나, '다운로드 서비스'에는 가입하지 않은 경우, 상기 서드 파티 테스크 서버는 상기 PA 서버에게 '플레이'액션만을 송신한다. 그러나 만약, 상기 사용자가 '스트리밍 플레이'와 '다운로드 서비스' 둘 다에 가입된 경우, 상기 서드 파티 테스크 서버는 상기 PA 서버에게 상기 '스트리밍 플레이'및 '다운로드 서비스' 액션 둘 다를 송신한다.
514단계에서 상기 PA 서버(502)는 상기 서드 파티 테스크 서버(504)로부터 질의 응답을 수신한 후, 퍼스널 컨텍스트 DB에 상기 질의 응답이 제공하는 액션들의 언어 키워드를 저장한다. 상기 저장 동작은 상기 저장된 키워드를 포함하는 추후 입력될 사용자 입력의 이해를 돕기 위한 것이다.
516단계에서 상기 PA 서버(502)는 상기 질의 응답에 포함된, 해당 테스크를 지원하는 아이템들의 우선 순위를 결정하고, 상기 결정된 아이템들로 구성되는 최종 응답을 상기 PA 어플리케이션(500)을 통해서 사용자에게 전달한다. 그러면, 518단계에서 상기 PA 어플리케이션(500)은 상기 최종 응답을 통해서 획득한 상기 아이템들과, 아이템별 사용자에게 허용된 액션들을 디스플레이할 수 있다. 그러면, 520단계에서 상기 사용자는 상기 PA 어플리케이션(500)을 통해서 상기 디스플레이된 액션들 중 하나를 선택하는, 제2사용자 입력을 입력한다. 이때, 입력 방식은 터치 또는 클릭 또는 스피킹 등에 해당한다. 522단계에서 상기 제2사용자 입력을 수신한 상기 PA 서버(502)는 저장된 퍼스널 컨텍스트 정보를 사용하여 상기 제2사용자 입력을 일 예로, '음악 플레이'로 해석한다. 그리고, 524단계에서 상기 PA 어플리케이션(500)을 통해서 상기 사용자에게 응답을 송신한다. 상기 응답은 상기 해석된 제2사용자 입력에 상응하는 예를 들어, 해당 사용자가 요청한 액션 및 URL 등의 콘텐츠 객체 식별자 등을 포함한다.
이후, 526단계에서 상기 PA 어플리케이션(500)은 상기 응답을 통해서 획득한 엔드 포인트 URL에 의해서 식별된 일 예로, 상기 서드 파티 테스크 서버(504)에 접속할 수 있는 사용자 장치 상에서 음악 플레이 라이브러리 또는 음악 플레이 어플리케이션을 실행한다. 그리고, 이후 추가 액션을 위해서 528a단계에서 상기 PA 어플리케이션(500)은 상기 서드 파티 테스크 서버(504)에게 사용자 식별자 및 객체 식별자를 포함하는 액션 요청을 송신한다. 그러면, 528b단계에서 상기 서드 파티 테스크 서버(504)는 상기 PA 어플리케이션(500)을 통해서 상기 객체 식별자에 대응하는 해당 서비스 일 예로, 스트리밍 서비스를 상기 사용자에게 제공한다.
도 5b는 본 발명의 제2실시 예에 따른 협력적 PA 시스템의 서비스 대행 동작이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면이다.
도 5b를 참조하면, 참조번호 501은 상기 PA 어플리케이션(500)의 시작 화면이다. 즉, 상기 PA 어플리케이션(500)은 사용자 입력을 요구하기 위한 질의 문장의 일 예로 "what can I help you with?"를 디스플레이한다.
상기 질의의 응답의 일 예인 'what is lonely?"는 도 5a의 506단계 즉, 제1사용자 입력에 해당한다. 여기서는 상기 질의의 응답을 문장으로 입력하는 경우를 일 예로서 도시하였으나, 상기 질의의 응답은 앞서 언급한 바와 같이 스피킹 형태로 사용자 장치에 입력될 수도 있다.
다음으로, 도 5b에서 상기 질의의 응답에 대한 답변으로 제공되는 디스크립션("Lonely is a music~ You can play or download the song.")은 도 5a의 508 단계의 문맥 추론의 결과로서 획득한 510단계의 중간 응답에 해당한다.
참조번호 515는 도 5a의 516단계의 최종 응답에 해당한다. 여기서는, 상기 질의 응답의 일 예로, 음원 제목 및 재생 시간 등의 음원 서비스를 제공하면서, 상기 사용자에게 허용되는 액션들 일 예로, 플레이 및 다운로드를 함께 제공한다.
이때, 사용자가 도 5a의 520단계에서의 제2사용자 입력을 통해서 특정 액션 일 예로 '플레이'가 선택된 경우를 가정하자. 그러면, 상기 PA 서버(500)는 상기 사용자 장치 상에 상기 액션의 선택에 대한 응답 일 예로, 'Could you play the song?'을 문장으로 디스플레이한다. 상기 응답은 도 5a의 524단계에 해당한다. 그리고, 상기 PA 어플리케이션(500)은 일 예로, 상기 사용자에게 음악 플레이를 제공한다는 문장 형태의 메시지("O.K. I will play the song 'lonely'")와 함께 해당 음악을 제공하며, 도 5a의 526단계에 해당한다.
도 6a는 본 발명의 제3실시 예에 따른 협력적 PA 시스템의 신호 흐름도의 일 예이다. 본 발명의 제3실시 예에 따른 협력적 PA 시스템은 사용자의 요청에 상응하는 테스크, 이를 지원하는 객체를 제공하는 서드 파티 테스크 서버가 상기 객체를 제공하기 위해서 요구되는 퍼스널 프로파일들을 등록하는 대행 서비스를 제공한다. 즉, PA 서버가 사용자 입력에 따른 결과를 검색하는 동안, 사용자 프로파일 정보(예를 들어, 위치, 전화 번호 등)를 공유하기 위해서 사용자 허용을 획득하고, 해당 서드 파티 테스크 서버에게 상기 사용자 프로파일 정보를 전달함에 의해서, 사용자에 의해서 요청된 액션을 처리한다.
도 6a를 참조하면, 606단계에서 사용자는 사용자 장치 상의 PA 어플리케이션(600)을 구동시켜 사용자 입력을 상기 PA 서버(602)에게 전달한다. 여기서, 사용자 입력은 자연 언어 형태로 말 또는 텍스트 형태로 전달된다. 그러면, 608단계에서 상기 PA 서버(602)는 해당 사용자 입력이 요구하는 질의가 서드 파티 테스크 서버의 대행을 요구하는 지 검사한다.
상기 검사 결과, 서드 파티 테스크 서버의 대행을 요구하는 질의에 해당하면, 도 4a에서 설명한 절차를 통해 저장하고 있는 질의를 위한 패턴 디스크립터들을 사용하여 상기 사용자 입력에 대한 문맥 추론을 수행한다. 구체적으로, 상기 PA 서버(602)는 기 저장하고 있는 상기 자연 언어 입력 패턴들 중 하나와 사용자 입력이 매칭되는 경우, 상기 하나의 입력 패턴과 상기 입력 패턴에 매핑되는 웹 서비스 질의에 상응하는 테스크를 지원하는 서드 파티 테스크 서버의 도메인을 식별한다. 그리고, 610단계에서 상기 PA 서버(602)는 일 예로, '상기 식별된 도메인을 찾는 중임을 지시'하는 메시지 형태의 중간 응답(interim response)을 상기 PA 어플리케이션(600)을 통해서 사용자에게 전달한다.
이후, 612단계에서 상기 PA 서버(602)는 상기 사용자에 대한 퍼스널 정보 일 예로, 상기 사용자 식별자를 요구하기 위한 질의 명령 및 파라미터들을 질의 요청으로 구성하고, 상기 질의에 매칭되는 상기 서드 파티 테스크 서버(604)에게 전달한다. 상기 파라미터들은 퍼스널 컨텍스트, 대화 컨텍스트 및 추론된 컨텍스트와 함께 상기 사용자 입력으로부터 구성된다. 이때, 상기 질의 요청은 해당 서드 파티 공급자가 사용자 및 상기 사용자가 가입한 액션 허용을 식별하기 위해서 상기 사용자의 퍼스널 정보 일 예로 사용자 식별자를 포함한다. 상기 질의 요청을 수신한 서드 파티 테스크 서버(604)는 614단계에서 상기 질의 요청에 상응하는 질의 응답을 상기 PA 서버(602)에게 전달한다. 구체적으로, 상기 서드 파티 테스크 서버(604)는 상기 질의 요청에 의해서 요구되는 퍼스널 프로파일 정보를 포함하는 액션 디스크립터를 포함한다.
상기 액션 디스크립터는 하기 <표 8>과 같이 나타내어 진다.
Figure pat00008
616단계에서 상기 PA 서버(602)는 상기 사용자의 허용 요청과 함께 상기 질의에 대한 결과들에 상응하는 데이터들을 최종 응답으로서 상기 PA 어플리케이션(600)에게 전달한다. 그러면, 618단계에서 상기 PA 어플리케이션(600)은 사용자 장치의 화면을 통해서 상기 최종 응답에 포함된 콘텐츠 객체들을 상기 사용자에게 디스플레이한다.
도 6b는 본 발명의 제3실시 예에 따라 사용자의 사용자 프로파일 정보를 공유하기 위한 요청이 디스플레이된 사용자 장치의 화면의 일 예를 나타낸 도면이다.
도 6b를 참조하면, 일 예로, 사용자 위치 근처의 한국 BBQ 레스토랑을 검사할 것("Let me check the Korean BBQ restaurant which is cozy you're your location")이라는 중간 응답을 디스플레이하고 있다. 상기 중간 응답은 도 6a의 610단계에 해당한다.
그리고, 상기 PA 서버(602)는 사용자 장치를 통해서 상기 중간 응답과 함께 검색된 레스토랑 정보 예를 들어, 명칭, 거리 및 전화번호 등과 사용자의 선택이 가능한 액션들을 포함하는 최종 응답을 디스플레이한다. 상기한 형태의 최종 응답은 도 6a의 618단계에 해당한다. 그리고, 일 예로, 상기 사용자의 선택이 가능한 액션들이 전화(Call) 및 예약(Reserve)를 포함할 경우, 상기 사용자가 '예약'을 선택한 경우를 가정하자.
이때, 상기 PA 서버(602)는 상기 사용자는 상기 사용자의 선택이 가능한 액션들이 전화(Call) 및 예약(Reserve)과 함께 상기 사용자의 퍼스널 정보의 사용에 대한 요청을 함께 송신한다.
만약, 620단계에서 상기 PA 어플리케이션(600)을 통해서 상기 사용자가 상기 요청에 대한 '허용'을 제2사용자 입력으로서 상기 PA 서버(602)에게 전달한 경우를 가정하자. 그러면, 상기 PA 서버(602)는 상기 제2사용자 입력의 수신에 대한 응답을 상기 PA 어플리케이션(600)을 통해서 송신한다. 그리고, 624단계에서 상기 PA 서버(602)는 상기 사용자가 요청한 액션과, 상기 액션에 요구되는 일 예로 전화 번호 또는 위치 정보 등의 퍼스널 프로파일 정보를 포함하는 액션 요청을 상기 서드 파티 테스크 서버(604)로 전달한다. 앞서 언급한 바와 같이 상기 사용자가 액션으로 '예약'을 선택하였으므로, 요구된 퍼스널 프로파일 정보는 사용자 전화 번호 또는 위치 정보 등이 포함될 수 있다. 그리고, 626a,b단계에서 상기 서드 파티 테스크 서버(604)는 상기 액션에 상응하는 사용자 응답을 상기 PA 서버(602)를 거쳐서 상기 PA 어플리케이션(600)에게 전달한다.
도 7은 본 발명의 실시 예에 따라 PA 서버과 서드 파티 테스크 서버 간의 사용자 식별을 위한 선처리 절차의 신호 흐름도의 일 예이다. 여기서는, PA 서버가 사용자가 요구하는 테스크 및 콘텐트 객체에 대한 사용자의 허용을 인지하기 위해서 상기 PA 서버 및 서드 파티 테스크 서버 각각이 관리하는 사용자 정보를 연관시키는 선처리 절차가 수반되어야 한다. 일반적인 서드 파티 테스크 서버는 자신에게 가입한 사용자들의 식별자를 관리한다. 본 발명의 제2실시 예 내지 제3실시 예에서 상기 선처리 작업이 요구된다.
상기 선처리 작업은 임의의 사용자가 임의의 서드 파티 테스크 서버에 가입하는 동안에 수행된다. 예를 들어, 상기 가입 절차 동안 서드 파티 테스크 서버가 사용자에게 PA 서버들의 목록을 보여주면, 상기 사용자는 상기 목록으로부터 하나의 PA 서버를 선택한다. 이때, 상기 서드 파티 테스크 서버는 상기 사용자에게 상기 PA 서버의 식별을 요청한다. 이를 통해서 상기 가입 절차 동안, 상기 서드 파티 서버는 해당 사용자가 연관된 PA 서버의 식별자를 획득할 수 있게 된다.
도 7을 참조하면, 706단계에서 사용자는 사용자 장치 상에 구동하는 PA 어플리케이션(700)을 통해서 서드 파티 테스크 서버(704)로의 가입 절차를 수행한다. 여기서는 상기 서드 파티 테스크 서버(704)가 1개인 경우를 일 예로서 설명하였으나, PA 서버(702)가 대행하고자 하는 서비스를 제공하는 서드 파티 테스크 서버들 각각에 대해서는 사용자 식별을 위한 선처리 절차가 수반되어야 할 것이다.
상기 가입 절차가 완료되면, 708단계에서 상기 서드 파티 테스크 서버(704)는 상기 PA 서버(702)에게 상기 서드 파티 테스크에 가입한 사용자들의 사용자 정보를 전달한다. 일 예로, 상기 서드 파티 테스크 서버(704)가 관리하는 상기 사용자 정보는 하기 <표 9>와 같이 나타내어진다.
Figure pat00009
한편, 상기 PA 서버(702)과 관리하는 사용자 정보들은 일 예로, 하기 <표 10>과 같이 나타내어 질 수 있다.
Figure pat00010
상기한 바와 같은 협력적 PA 시스템은 사용자 입력에 상응하는 테스크 및 객체를 제공하는 서드 파티 테스크 서버의 서비스 동작을 대행함으로써, 해당 사용자가 상기 서드 파티 테스크 서버에 직접 접속하여 해당 테스크 및 객체를 획득하는 동작에 비해 불필요한 절차를 감소시키고, 기존의 문제점들을 해소할 수 있는 효과를 갖게 된다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (8)

  1. 서드 파티(third party) 공급자들의 서비스 제공을 대행하는 서버에 있어서,
    송수신부; 및
    상기 송수신부와 연결된 프로세서를 포함하고,
    상기 프로세서는,
    제1 장치로부터 입력을 수신하고,
    상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하고,
    상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하고 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―,
    상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하고,
    상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하고,
    상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신하는 서버.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 입력에 응답하여 상기 테스크를 식별중임을 나타내는 중간 응답을 상기 제1 장치에 전송하는 서버.
  3. 제1항에 있어서,
    상기 응답은,
    상기 테스크를 지원하는 아이템들에 대한 정보 및 상기 테스크와 관련된 추가 액션에 대한 정보를 더 포함하는 서버.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 추가 액션에 대한 사용자의 개인 정보가 요구되는 경우, 상기 제1 장치에 상기 사용자의 개인 정보의 사용에 대한 수락 요청을 전송하고,
    상기 제1 장치로부터 상기 개인 정보의 사용에 대한 수락을 수신한 경우, 상기 식별된 적어도 하나의 제2 장치에 상기 사용자의 개인 정보를 전송하는 서버.
  5. 서버를 이용하여 서드 파티 (third party) 공급자들의 서비스 제공을 대행하는 방법에 있어서,
    제1 장치로부터 입력을 수신하는 과정과,
    상기 입력이 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는지 여부를 결정하는 과정과,
    상기 입력이 상기 복수의 제2 장치들 각각에 의해 실행 가능한 테스크에 대응하는 경우, 복수의 패턴 디스크립터 중 상기 입력에 대응하는 적어도 하나의 패턴 디스크립터를 식별하는 과정과 ― 상기 복수의 패턴 디스크립터는 서비스 질의들 및 상기 서비스 질의들에 매칭되는 자연 언어 입력 패턴들을 포함함 ―,
    상기 복수의 제2 장치들 중 상기 식별된 적어도 하나의 패턴 디스크립터에 대응하는 적어도 하나의 제2 장치를 식별하는 과정과,
    상기 식별된 적어도 하나의 제2 장치에 질의 요청을 전송하는 과정과,
    상기 질의 요청에 대한 응답으로, 상기 식별된 적어도 하나의 제2 장치로부터 상기 테스크와 연관된 상기 적어도 하나의 제2 장치의 하나 이상의 액션에 대한 정보를 포함하는 응답을 수신하는 과정을 포함하는 방법.
  6. 제5항에 있어서,
    상기 입력에 응답하여 상기 테스크를 식별중임을 나타내는 중간 응답을 상기 제1 장치에 전송하는 과정을 더 포함하는 방법.
  7. 제5항에 있어서,
    상기 응답은,
    상기 테스크를 지원하는 아이템들에 대한 정보 및 상기 테스크와 관련된 추가 액션에 대한 정보를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 추가 액션에 대한 사용자의 개인 정보가 요구되는 경우, 상기 제1 장치에 상기 사용자의 개인 정보의 사용에 대한 수락 요청을 전송하는 과정과,
    상기 제1 장치로부터 상기 개인 정보의 사용에 대한 수락을 수신한 경우, 상기 식별된 적어도 하나의 제2 장치에 상기 사용자의 개인 정보를 전송하는 과정을 더 포함하는 방법.
KR1020190152047A 2019-11-25 2019-11-25 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법 KR102091441B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190152047A KR102091441B1 (ko) 2019-11-25 2019-11-25 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190152047A KR102091441B1 (ko) 2019-11-25 2019-11-25 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190056071A Division KR102050377B1 (ko) 2019-05-14 2019-05-14 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법

Publications (2)

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

Family

ID=68847843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190152047A KR102091441B1 (ko) 2019-11-25 2019-11-25 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법

Country Status (1)

Country Link
KR (1) KR102091441B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100049271A (ko) * 2008-11-03 2010-05-12 에스케이 텔레콤주식회사 자연어에 기반하여 상품을 검색하는 방법, 쇼핑몰 서버 및 쇼핑몰 시스템
KR20110102453A (ko) * 2008-12-11 2011-09-16 콸콤 인코포레이티드 문맥적으로 관련있는 콘텐츠를 획득하기 위한 방법들 및 장치
US20120016678A1 (en) * 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100049271A (ko) * 2008-11-03 2010-05-12 에스케이 텔레콤주식회사 자연어에 기반하여 상품을 검색하는 방법, 쇼핑몰 서버 및 쇼핑몰 시스템
KR20110102453A (ko) * 2008-12-11 2011-09-16 콸콤 인코포레이티드 문맥적으로 관련있는 콘텐츠를 획득하기 위한 방법들 및 장치
US20120016678A1 (en) * 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant

Also Published As

Publication number Publication date
KR102091441B1 (ko) 2020-03-20

Similar Documents

Publication Publication Date Title
KR101980173B1 (ko) 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법
US9953088B2 (en) Crowd sourcing information to fulfill user requests
JP3703082B2 (ja) 会話型バーチャル・マシンによる会話型コンピューティング
US20200334740A1 (en) System and method for a hybrid conversational and graphical user interface
JP6470246B2 (ja) ユーザーサポートシステム、ユーザーサポートプログラム及びユーザーサポート方法
JP5441455B2 (ja) ネットワーク基盤のサービス提供システム
US11249821B1 (en) Cross-platform context activation
JP2007108806A (ja) ユーザマッチングサーバ、ユーザマッチング方法、ユーザマッチングプログラム
US20170286133A1 (en) One Step Task Completion
KR20210090133A (ko) 검색 서비스와 연결된 메시지 서비스를 위한 메시지 서비스 제공 방법 및 상기 메시지 서비스 제공 방법을 수행하는 메시지 서버 및 사용자 단말
US20220358462A1 (en) Context and rule based dynamic communication channels for collaboration between users
KR20130062799A (ko) 키워드 정보 제공 방법
US20230325442A1 (en) Free-form, automatically-generated conversational graphical user interfaces
JP2021099862A (ja) 電子チャットインタフェースとの対話の改善
US10665230B1 (en) Alias-based access of entity information over voice-enabled digital assistants
Ben Njima et al. Development of a mobile web services discovery and composition model
KR102050377B1 (ko) 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법
KR102091441B1 (ko) 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법
JP2024508412A (ja) グラフィックユーザインタフェースからの自然言語インタフェースの生成
CN109964457A (zh) 用于上下文信息显示的统一资源标识符和图像共享
US20200125565A1 (en) Methods and systems to facilitate the generation of responses to verbal queries
JP2002163171A (ja) ユーザ支援装置およびシステム
CN111190668B (zh) 用户界面ui事件响应方法、装置、电子设备及存储介质
US20210264910A1 (en) User-driven content generation for virtual assistant
KR102188454B1 (ko) 소셜 데이터를 활용하는 자원 추천 시스템

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