KR102318502B1 - 대화 중 미션 변경의 검출 - Google Patents

대화 중 미션 변경의 검출 Download PDF

Info

Publication number
KR102318502B1
KR102318502B1 KR1020197030669A KR20197030669A KR102318502B1 KR 102318502 B1 KR102318502 B1 KR 102318502B1 KR 1020197030669 A KR1020197030669 A KR 1020197030669A KR 20197030669 A KR20197030669 A KR 20197030669A KR 102318502 B1 KR102318502 B1 KR 102318502B1
Authority
KR
South Korea
Prior art keywords
mission
user
network
user utterance
conversation
Prior art date
Application number
KR1020197030669A
Other languages
English (en)
Other versions
KR20190131065A (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 이베이 인크.
Publication of KR20190131065A publication Critical patent/KR20190131065A/ko
Application granted granted Critical
Publication of KR102318502B1 publication Critical patent/KR102318502B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

대화 중 미션 변경을 검출하기 위한 방법, 시스템 및 컴퓨터 프로그램이 제시된다. 사용자 디바이스로부터의 사용자 발언이 수신된다. 사용자 발언은 지능형 도우미와의 대화의 일부이다. 대화는 제1 미션을 추구하는 선행 사용자 발언을 포함한다. 사용자 발언 및 선행 사용자 발언에의 머신 러닝식 모델의 적용에 기반하여 사용자 발언이 제1 미션으로부터 제2 미션으로의 미션 변경을 지시함이 판정된다. 머신 러닝식 모델은 시간 기간에 걸쳐 다른 사용자의 과거 발언으로써 반복적으로 훈련되었는데, 그 판정은 그 지시의 확실성이 확실성 임계조건을 만족시키는 것에 기반한다. 사용자 발언이 제1 미션으로부터 제2 미션으로의 미션 변경을 지시한다는 판정에 응답하여, 제1 미션보다는 제2 미션을 진행하도록 사용자 발언에 대한 답신이 생성된다.

Description

대화 중 미션 변경의 검출
관련 출원에 대한 상호 참조
이 출원은 참조에 의해 본 문서에 전체로서 포함되는, 2017년 3월 20일 출원된 미국 임시 출원 제62/473,816호의 이익을 주장한다.
기술 분야
본 문서에 개시된 주제(subject matter)는 일반적으로 네트워크 서비스 내에서 대화(conversation) 중 미션(mission) 변경의 검출을 용이하게 하는 특수 목적 머신(special-purpose machine)(그러한 특수 목적 머신의 소프트웨어 구성된 컴퓨터화된 변형(software-configured computerized variant)을 포함함)의 기술 분야에 관련되고, 그러한 특수 목적 머신이 대화 중 미션 변경의 검출을 가능하게 하는 다른 특수 목적 머신에 비해 개선되게 하는 기술에 관련된다.
대화는 예컨대 검색 엔진(search engine)과의, 또는 다른 타이핑된 입력과의 전통적인 상호작용(interaction)에 없는 다수의 난제가 있다. 주요한 하나는 사용자가 대화 중에 임의의 시점에서 현재의 미션을 포기하고 새로운 미션으로 전환할(switch) 수 있다는 것이다. 좋은 사용자 경험(user experience)를 제공하기 위하여, 그리고 사용자가 목적을 달성하는 데 도움이 되기 위하여, 이런 미션 변경이 발생하는 때를 검출하는 것이 중요하다.
미션 변경은 인간에게 명백하지만, 이 문제는 알고리즘식으로 다루기가 곤란하다. 예를 들어, 만일 사용자가 제1 아이템 유형(item type)을 구하며 "당신은 어떤 색을 찾고 있나요"라는 질문을 받으면, 사용자가 "빨간색 부탁해요"라고 응답하는 경우 사용자는 빨간 제1 아이템 유형을 보기를 원하는 반면, 사용자가 "빨간색 [제2 아이템 유형]"이라고 말하면 사용자는 대신에 제2 아이템 유형을 구하고자 의도한다. 구문론적으로 그런 발언들은 동일하지만, 그것들은 매우 상이한 바람을 표현한다.
미션 변경은 수작업식(hand-crafted) 휴리스틱(heuristic) 규칙을 사용하여 검출가능하다. 그러나, 그러한 수작업은 좁다란 상황에서만 유용하고, 좁다란 상황의 각 세트에 대해 노동 집약적인 수작업을 요구한다.
첨부된 도면 중의 여러 가지 도면은 본 개시의 예시적 실시예를 보여줄 뿐이며 그것의 범위를 한정하는 것으로 간주될 수 없다.
도 1은 몇몇 예시적 실시예에 따라, 네트워킹형(networked) 시스템을 보여주는 블록도이다.
도 2는 몇몇 예시적 실시예에 따라, 지능형 도우미(intelligent assistant)의 동작을 보여주는 도면이다.
도 3은 몇몇 예시적 실시예에 따라, 인공 지능(Artificial Intelligence: AI) 프레임워크의 특징을 보여준다.
도 4는 몇몇 예시적 실시예에 따라 서비스 아키텍처를 보여주는 도면이다.
도 5는 몇몇 예시적 실시예에 따라, AI 프레임워크를 구현하기 위한 블록도이다.
도 6은 몇몇 예시적 실시예에 따라, 예시적 대화 생성 컴포넌트의 블록도이다.
도 7은 몇몇 예시적 실시예에 따라, 미션을 판정하고 계속하는 것을 포함하여, 대화를 생성하는 방법의 흐름도이다.
도 8은 몇몇 예시적 실시예에 따라, 대화를 수행하는 방법의 흐름도이다.
도 9는 몇몇 예시적 실시예에 따라, 미션을 확정하는(confirming) 방법의 흐름도이다.
도 10은 몇몇 예시적 실시예에 따라, 대화를 위한 머신 러닝(machine learning) 시스템을 재훈련하는 방법의 흐름도이다.
도 11은 몇몇 예시적 실시예에 따라, 대화를 위한 머신 러닝 시스템을 훈련하는 방법의 흐름도이다.
도 12는 몇몇 예시적 실시예에 따라, 머신 상에 설치될 수 있는 소프트웨어 아키텍처의 예를 보여주는 블록도이다.
데이터 구동형(data-driven), 머신 러닝 기반의 접근법이 광범위한 대화에서의 미션 변경을 식별한다. 오프라인 국면(offline phase)은 미션 변경의 검출을 비롯하여, 라벨표시된(labeled) 예의 세트에 대해 머신 러닝식(machine-learned) 대화 모델을 훈련시킨다. 온라인 국면(online phase)은 대화 중 다양한 시점에서의 미션 변경의 검출을 비롯하여, 훈련된 머신 러닝식 모델을 대화를 가이드하는(guide) 데에 사용한다. 다양한 예시적 실시예가 오프라인 국면, 온라인 국면, 또는 오프라인 국면과 온라인 국면의 조합에 정향된다. 미션은 사용자가 대화를 통해 도달하고자 노력하고 있는 목표이다. 예를 들어, 그것은 특정한 아이템(item)을 찾는 것, 다른 것 대신 어떤 아이템에 대한 제안을 얻는 것, 주문과 같은 이전 거래(transaction)를 추적하는것, 거래에 대한 피드백(feedback)을 제출하는 것 등일 수 있다. 다양한 예가 에이전트(agent), 예컨대 자동화된 에이전트로써 수행된다.
다양한 실시예는 사용자와의 비대화식(non-conversational) 네트워크 상호작용의 데이터베이스를 활용하여(leverage) 다수의 시뮬레이션된(simulated) 대화를 가이드하여서, 사용자가 성취하고자 노력하고 있는 것의 구조화된 표현이 이미 알려지고, 사용자가 그의 현재 미션을 계속하고 있는지 또는 새로운 미션을 시작하고 있는지가 이미 알려지며, 머신 러닝식 모델은 사용자가 미션의 그런 목표를 어떻게 표현할 수 있는지의 표층형(surface form)으로써 훈련된다.
예시적 실시예에서, 대화 중 미션 변경을 검출하기 위한 방법, 시스템 및 컴퓨터 프로그램이 제시된다. 사용자 디바이스로부터의 기록된 사용자 발언(utterance)을 포함한 파일(file)이 액세스된다(accessed). 사용자 발언은 사용자 디바이스 및 지능형 도우미 간의 대화의 일부이다. 대화는 제1 미션을 추구하는 선행 사용자 발언을 포함한다. 사용자 발언 및 선행 사용자 발언에의 머신 러닝식 모델의 적용에 기반하여 제1 미션으로부터 제2 미션으로의 미션 변경을 사용자 발언이 지시함(indicate)이 판정된다. 머신 러닝식 모델은 시간 기간(time period)에 걸친 다른 사용자의 과거 발언으로써 반복적으로 훈련되었는데, 그 판정은 그 지시의 확실성(certainty)이 확실성 임계조건(certainty threshold)을 만족시키는 것에 기반한다. 사용자 발언이 제1 미션으로부터 제2 미션으로의 미션 변경을 지시한다는 판정에 응답하여, 제1 미션보다는 제2 미션을 진행하도록 사용자 발언에 대한 답신이 생성된다.
도 1은 몇몇 예시적 실시예에 따라, 네트워킹형 시스템을 보여주는 블록도이다. 도 1을 참조하면, 고수준 클라이언트-서버 기반 네트워크 아키텍처(high-level client-server-based network architecture)(100)의 예시적 실시예가 도시된다. 네트워크 기반 마켓플레이스(marketplace) 또는 지불(payment) 시스템의 예시적 형태로 된 네트워킹형 시스템(102)은 하나 이상의 클라이언트 디바이스(110)에 네트워크(104)(가령, 인터넷 또는 광역 네트워크(Wide Area Network: WAN))를 통해 서버측 기능을 제공한다. 도 1은, 예를 들어, 클라이언트 디바이스(110) 상에서 실행되는 웹 클라이언트(web client)(112)(가령, 브라우저(browser), 예컨대 워싱턴주(Washington State), 레드몬드(Redmond)의 마이크로소프트 사(Microsoft® Corporation)에 의해 개발된 인터넷 익스플로러(Internet Explorer®) 브라우저), 애플리케이션(114) 및 프로그램적 클라이언트(programmatic client)(116)를 보여준다.
클라이언트 디바이스(110)는 모바일 전화(mobile phone), 데스크톱 컴퓨터(desktop computer), 랩톱(laptop), 휴대가능한(portable) 디지털 보조기기(Portable Digital Assistant: PDA), 스마트폰(smart phone), 태블릿(tablet), 울트라북(ultra book), 넷북(netbook), 랩톱, 다중 프로세서(multi-processor) 시스템, 마이크로프로세서 기반(microprocess-based) 또는 프로그램적 가전기기, 게임 콘솔(game console), 셋톱 박스(set-top box), 또는 임의의 다른 통신 디바이스(이는 사용자가 네트워킹형 시스템(102)을 액세스하는 데에 이용할 수 있음)를 포함할 수 있으나, 이에 한정되지 않는다. 몇몇 실시예에서, 클라이언트 디바이스(110)는 (가령, 사용자 인터페이스의 형태로) 정보를 디스플레이하는 디스플레이 모듈(도시되지 않음)을 포함할 수 있다. 추가의 실시예에서, 클라이언트 디바이스(110)는 터치 스크린(touch screen), 가속도계(accelerometer), 자이로스코프(gyroscope), 카메라(camera), 마이크(microphone), 글로벌 포지셔닝 시스템(Global Positioning System: GPS) 디바이스, 기타 등등 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(110)는 네트워킹형 시스템(102) 내에서 디지털 아이템을 수반하는 거래를 수행하는 데에 사용되는 사용자의 디바이스일 수 있다. 하나의 실시예에서, 네트워킹형 시스템(102)은 제품 목록에 대한 요청에 응답하는 네트워크 기반 마켓플레이스로서, 네트워크 기반 마켓플레이스 상에서 이용가능한 제품의 아이템 목록을 포함하는 발행물을 발행하고, 이들 마켓플레이스 거래를 위한 지불을 관리한다. 하나 이상의 사용자(106)는 클라이언트 디바이스(110)와 상호작용하는 사람, 머신, 또는 다른 수단일 수 있다. 몇몇 실시예에서, 사용자(106)는 네트워크 아키텍처(100)의 일부가 아니나, 클라이언트 디바이스(110) 또는 다른 수단을 통해 네트워크 아키텍처(100)와 상호작용할 수 있다. 예를 들어, 네트워크(104)의 하나 이상의 부분은 애드혹 네트워크(ad hoc network), 인트라넷(intranet), 엑스트라넷(extranet), 가상 사설 네트워크(Virtual Private Network: VPN), 로컬 영역 네트워크(Local Area Network: LAN), 무선 LAN(Wireless LAN: WLAN), 광역 네트워크(Wide Area Network: WAN), 무선 WAN(Wireless WAN: WWAN), 대도시 영역 네트워크(Metropolitan Area Network: MAN), 인터넷, 인터넷의 일부분, 공중 교환 전화 네트워크(Public Switched Telephone Network: PSTM)의 일부분, 셀룰러 전화 네트워크(cellular telephone network), 무선 네트워크(wireless network), 와이파이 네트워크(WiFi network), 와이맥스 네트워크(WiMax network), 다른 유형의 네트워크, 또는 둘 이상의 그러한 네트워크의 조합일 수 있다.
클라이언트 디바이스(110) 각각은 예컨대 웹 브라우저(web browser), 메시징 애플리케이션(messaging application), 전자 메일(이메일(email)) 애플리케이션, 전자상거래 사이트 애플리케이션(e-commerce site application)(또한 마켓플레이스 애플리케이션으로 지칭됨) 및 유사한 것과 같은, 그러나 이에 한정되지 않는 하나 이상의 애플리케이션(또한 "앱"(app)으로 지칭됨)을 포함할 수 있다. 몇몇 실시예에서, 클라이언트 디바이스(110) 중 주어진 하나에 전자상거래 사이트 애플리케이션이 포함되면, 이 애플리케이션은 사용자 인터페이스 및 기능 중 적어도 몇몇을 로컬로(locally) 제공하도록 구성되는데 그 애플리케이션은 로컬로 이용가능하지 않은 데이터 또는 처리 능력을 위해 (가령, 지불 방법을 확인하기(verify) 위해, 사용자를 인증하기(authenticate) 위해, 판매를 위해 이용가능한 아이템의 데이터베이스에의 액세스 등등), 필요에 따라, 네트워킹형 시스템(102)과 통신하도록 구성된다. 역으로 클라이언트 디바이스(110)에 전자상거래 사이트 애플리케이션이 포함되지 않은 경우, 클라이언트 디바이스(110)는 네트워킹형 시스템(102) 상에서 호스팅되는(hosted) 전자상거래 사이트(또는 이의 변형)를 액세스하는 데에 그것의 웹 브라우저를 사용할 수 있다.
하나 이상의 사용자(106)는 클라이언트 디바이스(110)와 상호작용하는 사람, 머신, 또는 다른 수단일 수 있다. 예시적 실시예에서, 사용자(106)는 네트워크 아키텍처(100)의 일부가 아니나, 클라이언트 디바이스(110) 또는 다른 수단을 통해 네트워크 아키텍처(100)와 상호작용할 수 있다. 예를 들면, 사용자는 입력(가령, 터치 스크린 입력 또는 문자 숫자 입력(alphanumeric input))을 클라이언트 디바이스(110)에 제공하고 입력은 네트워크(104)를 통해 네트워킹형 시스템(102)에 통신된다. 이 예에서, 네트워킹형 시스템(102)은, 사용자로부터 입력을 수신하는 것에 응답하여, 사용자에게 제시되도록 네트워크(104)를 통해 클라이언트 디바이스(110)에 정보를 통신한다. 이 방식으로, 사용자는 클라이언트 디바이스(110)를 사용하여 네트워킹형 시스템(102)과 상호작용할 수 있다.
애플리케이션 프로그램 인터페이스(Application Program Interface: API) 서버(216) 및 웹 서버(218)는 하나 이상의 애플리케이션 서버(140)에 커플링되고(coupled), 이에 각각 프로그램적 및 웹 인터페이스를 제공한다. 애플리케이션 서버(140)는 지능적 개인 도우미 시스템(intelligent personal assistant system)(142)을 호스팅하는데, 이는 인공 지능 프레임워크(144)을 포함하되, 그 각각은 하나 이상의 모듈 또는 애플리케이션을 포함할 수 있고 그 각각은 하드웨어, 소프트웨어, 펌웨어, 또는 이의 임의의 조합으로서 체현될 수 있다.
애플리케이션 서버(140)는, 이어서, 하나 이상의 정보 저장 보관소(information storage repository) 또는 데이터베이스(database)(226)에의 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(226)에 커플링된 것으로 도시된다. 예시적 실시예에서, 데이터베이스(226)는 발행 시스템(publication system)(242)에 게시될 정보(가령, 발행물 또는 목록)를 저장하는 저장 디바이스이다. 데이터베이스(226)는 또한 예시적 실시예에 따라 디지털 아이템 정보를 저장할 수 있다.
추가적으로, 제3자 서버(third party server)(130) 상에서 실행되는 제3자 애플리케이션(third party application)(132)은 API 서버(216)에 의해 제공되는 프로그램적 인터페이스를 통해 네트워킹형 시스템(102)에의 프로그램적 액세스(programmatic access)를 갖는 것으로서 도시된다. 예를 들어, 제3자 애플리케이션(132)은, 네트워킹형 시스템(102)으로부터 인출된(retrieved) 정보를 이용하여, 제3자에 의해 호스팅되는 웹사이트 상에서 하나 이상의 특징 또는 기능을 지원한다. 제3자 웹사이트는, 예를 들어, 네트워킹형 시스템(102)의 관련 애플리케이션에 의해 지원되는 하나 이상의 판촉용, 마켓플레이스 또는 지불 기능을 제공한다.
또한, 도 1에 도시된 클라이언트-서버 기반 네트워크 아키텍처(100)는 클라이언트-서버 아키텍처를 이용하나, 본 발명적 주제는 그러한 아키텍처에 물론 한정되지 않으며, 예를 들어, 분산형(distributed) 또는 피어 대 피어(peer-to-peer) 아키텍처 시스템에서 똑같이 잘 적용되게 될 수 있다. 다양한 발행 시스템(102) 및 인공 지능 프레임워크 시스템(144)은 반드시 네트워킹 능력을 갖지는 않는 독립형(standalone) 소프트웨어 프로그램으로서 또한 구현될 수 있다.
웹 클라이언트(212)는 웹 서버(218)에 의해 지원되는 웹 인터페이스를 통해 지능형 개인 도우미 시스템(142)을 액세스할 수 있다. 유사하게, 프로그램적 클라이언트(116)는 API 서버(216)에 의해 제공되는 프로그램적 인터페이스(programmatic interface)를 통해 지능형 개인 도우미 시스템(142)에 의해 제공되는 다양한 서비스 및 기능을 액세스한다.
추가적으로, 제3자 서버(130) 상에서 실행되는 제3자 애플리케이션(들)(132)은 API 서버(114)에 의해 제공되는 프로그램적 인터페이스를 통해 네트워킹형 시스템(102)에의 프로그램적 액세스를 갖는 것으로서 도시된다. 예를 들어, 제3자 애플리케이션(132)은, 네트워킹형 시스템(102)으로부터 인출된 정보를 이용하여, 제3자에 의해 호스팅되는 웹사이트 상에서 하나 이상의 특징 또는 기능을 지원할 수 있다. 제3자 웹사이트는, 예를 들어, 네트워킹형 시스템(102)의 관련 애플리케이션에 의해 지원되는 하나 이상의 판촉용, 마켓플레이스 또는 지불 기능을 제공할 수 있다.
도 2는 몇몇 예시적 실시예에 따라, 지능형 도우미의 동작을 보여주는 도면이다. 오늘날의 온라인 쇼핑은 비개인적이고, 일방향성이며, 대화식이 아니다. 구매자는 자신의 소망을 전하기 위해 평이한 말로 이야기할 수 없는바, 의도를 전하는 것을 어렵게 한다. 상거래 사이트 상에서의 쇼핑은 제품에 대해 판매원 또는 친구와 이야기하는 것보다 보통 더 어려워서, 흔히 구매자는 그가 원하는 제품을 찾는 데 어려움을 겪는다.
실시예는 맥락을 구축하고 쇼핑객의 의도를 이해하기 위해 쇼핑객과의 쌍방향 통신을 지원하는, 지능형 도우미로 또한 지칭되는 개인적 쇼핑 도우미를 제시하는바, 더 나은, 개인화된 쇼핑 결과의 전달을 가능하게 한다. 지능형 도우미는 자연스러운, 인간 같은 담화(human-like dialog)를 하는데, 이는 손쉽게 구매자를 돕는바, 구매자가 장래의 구입을 위해 지능형 도우미를 재사용할 공산을 증가시킨다.
인공 지능 프레임워크(144)는 사용자 및 이용가능한 재고(inventory)를 이해하여 자연 언어 질의에 응답하며, 고객과 그의 수요를 예상하고 이해하는 데에서 점진적 개선을 내놓을 능력을 갖는다.
인공 지능 프레임워크(Artificial Intelligence Framework: AIF)(144)는 담화 관리기(dialogue manager)(504), 자연 언어 이해(Natural Language Understanding: NLU)(206), 대화 가이던스(conversation guidance)(230), 발화 인식(speech recognition)(210), 검색(search)(218), 조정기(orchestrator)(220) 및 현저성 기반 대상 카운팅 및 로컬화(saliency-based object counting and localization)를 포함한다. AIF(144)는 관련 결과(222)를 생성하기 위해, 상이한 종류의 입력, 예컨대 텍스트 입력(212), 이미지 입력(214) 및 음성 입력(216)을 수신할 수가 있다. 본 문서에서 사용되는 바와 같이, AIF(144)는 대응하는 서버에 의해 구현되는 복수의 서비스(가령, NLU(206), 대화 가이던스(230))를 포함하며, 용어 서비스 또는 서버는 서비스 및 대응하는 서비스를 식별하는 데에 이용될 수 있다.
자연 언어 이해(Natural Language Understanding: NLU)(206) 유닛은 자연 언어 텍스트 입력(212)(격식 및 비격식 언어 양자 모두)을 처리하고, 텍스트의 의도를 검출하며, 유용한 정보, 예컨대 관심 대상 및 그것의 속성을 추출한다. 그러므로 자연 언어 사용자 입력은 구조화된 질의(structured query)로 변환될 수 있으니 추가적인 지식으로부터의 풍부한 정보를 사용하여 질의를 훨씬 더 풍부하게 하는 것이다. 이 정보는 이후 사용자와의, 또는 전체 시스템 내의 다른 컴포넌트와의 추가 행동을 위해 조정기(220)를 통해 담화 관리기(504) 상으로 전해진다. 구조화되고 풍부화된 질의는 또한 개선된 매칭(matching)을 위해 검색(218)에 의해 소비된다. 텍스트 입력은 제품에 대한 질의, 이전의 질의에 대한 정제(refinement), 또는 관련 대상에의 다른 정보(가령, 신발 사이즈)일 수 있다.
대화 가이던스(230)는 입력으로서 사용자로부터 또는 봇(bot)으로부터 대화 발언을 취하고 대화 생성을 수행하여 적절한 답신 발언으로 응답하여 사용자의 미션 및 행동을 가능하게 한다. 발화 인식(210)은 발화(216)를 입력으로서 취하고 언어 인식을 수행하여 발화를 텍스트로 전환하는데, 이는 이후 처리를 위해 NLU에 전송된다. 예시적 실시예에서, 발언은 입력 디바이스(가령, 마이크)를 통해 포착되고(captured) 하나 이상의 컴퓨터 메모리 내에 레코딩(recording)으로서(가령, 하나 이상의 전자 파일 내의 오디오 데이터로서) 저장된다. 예를 들어, 오디오 레코딩의 오디오 데이터는 하나 이상의 컨테이너(container) 내에 포함되고 하나 이상의 코덱(codec)에 의해 인코딩되거나 디코딩될 수 있다. 파일 포맷은 비압축(uncompressed), 무손실 압축(lossless compressed), 또는 손실 압축(lossy compressed) 오디오 포맷 중 하나 이상일 수 있다.
NLU(206)는 대상, 대상과 연관된 양상, 어떻게 검색 인터페이스 입력을 생성할 것인지, 그리고 어떻게 응답을 생성할 것인지를 판정한다. 예를 들어, AIF(144)는 사용자가 찾고 있는 것을 명확히 하기 위해 사용자에게 질문을 할 수 있다. 이것은 AIF(144)가 결과를 생성할 뿐만 아니라, 최적의, 또는 최적에 가까운 결과(222)를 얻기 위해 일련의 상호작용적 동작을 창출할 수 있음을 의미한다.
예를 들어, 질의 "빨간 나이키 신발 한 켤레를 찾아 주겠니?"에 응답하여, AIF(144)는 다음의 파라미터를 생성할 수 있다: <intent:shopping, statement-type:question, dominant-object:shoes, target:self, color:red, brand:nike>. 질의 "나는 내 아내를 위해 선글래스 한 벌을 찾고 있어"에 대하여, NLU는 <intent:shopping, statement-type:statement, dominant-object:sunglasses, target:wife, target-gender:female>를 생성할 수 있다.
담화 관리기(504)는 사용자의 질의를 분석하여 의미를 추출하고, 질의를 검색(218)에 발신하기 전에, 질의를 정제하기 위해서 물어질 필요가 있는 질문이 있는지를 판정하는 모듈이다. 담화 관리기(504)는 사용자 및 인공 지능 프레임워크(144) 간의 이전의 통신의 맥락에서 현재의 통신을 사용한다. 질문은 (가령, 지식 그래프(knowledge graph)에 의해 제공되는) 축적된 지식 및 검색이 재고로부터 추출할 수 있는 것의 조합에 따라서 자동으로 생성된다. 담화 관리기의 일은 사용자를 위해 응답을 생성하는 것이다. 예를 들어, 사용자가 "안녕"이라고 말하는 경우, 담화 관리기(504)는 응답 " 안녕하세요, 제 이름은 봇입니다"를 생성한다.
조정기(220)는 인공 지능 프레임워크(144) 내의 다른 서비스 간의 상호작용을 편성한다(coordinate). 도 5를 참조하여 다른 서비스와의 조정기(220)의 상호작용에 대해 더 많은 세부사항이 아래에서 제공된다.
도 3은 몇몇 예시적 실시예에 따라, 인공 지능 프레임워크(Artificial Intelligence Framework: AIF)(144)의 특징을 보여준다. AIF(144)는 몇 개의 입력 채널(304), 예컨대 네이티브 상거래(native commerce) 애플리케이션, 채팅(chat) 애플리케이션, 소셜 네트워크(social network), 브라우저 등과 상호작용할 수가 있다. 추가로, AIF(144)는 사용자에 의해 표현된 의도(306)를 이해한다. 예를 들어, 의도는 사용자가 괜찮은 거래(good deal)를 찾음, 또는 사용자가 선물을 찾음, 또는 사용자가 특정 제품을 구매하는 미션 중임, 사용자가 제안을 찾음 등을 포함할 수 있다.
또한, AIF(144)는 소셜 네트워크, 이메일, 달력, 뉴스, 시장 동향 등과 같은 여러 소스로부터 사전주도적(proactive) 데이터 추출(310)을 수행한다. AIF(144)는 사용자 선호, 요망되는 가격 범위, 사이즈, 친근감 등과 같은 사용자 세부사항(312)에 대해 안다. AIF(144)는 제품 검색, 개인화, 추천, 체크아웃 특징 등과 같은, 서비스 네트워크 내의 복수의 서비스를 가능하게 한다. 출력(308)은 추천, 결과 등을 포함할 수 있다.
AIF(144)는 사용자의 의도(가령, 타겟팅된(targeted) 검색, 비교(compare), 쇼핑(shop), 브라우징(browse)), 필수적인 파라미터(가령, 제품, 제품 카테고리, 아이템), 선택적인 파라미터(가령, 아이템의 양상, 색, 사이즈, 호기(occasion))는 물론, 묵시적인 정보(가령, 지리 위치(geo location), 개인적 선호, 나이, 성별(gender))를 이해하는 지능적이고 친화적인 시스템이다. AIF(144)는 평이한 말로 된 잘 설계된 응답으로써 응답한다.
예를 들어, AIF(144)는 예컨대 다음과 같은 입력 질문을 처리할 수 있다: "어이, 내 여자친구를 위해 옅은 분홍색 신발 한 켤레 찾아 줄 수 있어? 힐(heel) 있는 걸로. $200까지. 고마워"; "최근에 클래식한 제임스 딘 풍의 남자 가죽 재킷에 대해 검색했었어. 거의 새 스타 워즈 영화에서 해리슨 포드의 것인 듯싶은데. 그런데, $200-300 가격 범위에서 양질을 찾고 있어. 가능하지 않을지도 모르겠지만, 봤으면 해!"; 또는 "검은 노스페이스 써모볼(Northface Thermoball) 재킷을 찾고 있어."
하드코딩된(hardcoded) 시스템 대신에, AIF(144)는 구성가능한 유연한 인터페이스에 진행 중인 개선을 위한 머신 러닝 능력을 제공한다. AIF(144)는 가치(사용자를 사용자가 원하는 것에 연결함), 지능(맞는 아이템을 추천하기 위해 사용자와 사용자 거동으로부터 깨닫고 배움), 편의성(복수의 사용자 인터페이스를 제공함), 사용의 용이함, 그리고 효율(사용자한테서 시간과 돈을 덜어줌)을 제공하는 상거래 시스템을 지원한다.
도 4는 몇몇 예시적 실시예에 따라 서비스 아키텍처(400)를 보여주는 도면이다. 서비스 아키텍처(400)는 어떻게 서비스 아키텍처가 다양한 데이터 센터 또는 클라우드 서비스 상에 배치될 수 있는지를 기술하기 위해서 서비스 아키텍처의 다양한 뷰(view)를 제시한다. 아키텍처(400)는 본 문서에 기술된 실시예의 구현을 위한 적합한 환경을 나타낸다.
서비스 아키텍처(402)는 어떻게 클라우드 아키텍처가 전형적으로 사용자, 개발자, 기타 등등에게 나타나는지를 표현한다. 그 아키텍처는 일반적으로, 도 1의 다른 뷰에서 표현된, 실제의 기저(underlying) 아키텍처 구현의 추상화된 표현이다. 예를 들어, 서비스 아키텍처(402)는 서비스 아키텍처(402)와 연관된 상이한 기능 및/또는 서비스를 나타내는, 복수의 계층을 포함한다.
경험 서비스 계층(404)은 플랫폼(모바일 전화, 데스크톱 등) 상에서 구동되는(running) 애플리케이션, 웹 기반 제시(모바일 웹, 데스크톱 웹 브라우저 등), 기타 등등과 같은, 상이한 클라이언트 플랫폼에 걸쳐서 구축된, 최종 고객의 관점(point of view)으로부터의 서비스 및 특징의 논리적 그룹화(grouping)을 나타낸다. 그것은 사용자 인터페이스를 렌더링하는 것(rendering) 및 적절한 사용자 인터페이스가 렌더링될 수 있도록 정보를 클라이언트 플랫폼에 제공하는 것, 클라이언트 입력을 포착하는 것, 기타 등등을 포함한다. 마켓플레이스의 맥락에서, 이 계층에 상주할(reside) 서비스의 예는 홈 페이지(가령, 홈 뷰), 아이템 목록 보기, 검색/검색 결과 보기, 쇼핑 카트, 구매 사용자 인터페이스 및 관련된 서비스, 판매 사용자 인터페이스 및 관련된 서비스, 판매 후 경험(거래, 피드백 등을 포스팅하는 것(posting)), 기타 등등이다. 다른 시스템의 맥락에서, 경험 서비스 계층(404)은 시스템에 의해 체현되는 그런 최종 사용자 서비스 및 경험을 포함할 것이다.
API 계층(406)은 비즈니스 프로세스 및 코어 계층과의 상호작용을 허용하는 API를 포함한다. 이것은 서비스 아키텍처(402)에 반하여 제3자 개발을 허용하고 제3자가 서비스 아키텍처(402) 위에 추가적인 서비스를 개발하도록 허용한다.
비즈니스 프로세스 서비스 계층(408)은 제공되는 서비스를 위해 비즈니스 로직이 상주하는 데이다. 마켓플레이스의 맥락에서 이는 사용자 등록(user registration), 사용자 서명 입장(user sign in), 목록 생성 및 발행, 쇼핑 카트에 추가하기, 주문을 하기, 체크아웃, 송장을 보내기, 라벨을 프린트하기, 아이템을 발송하기, 아이템을 반송하기, 기타 등등과 같은 서비스가 구현될 곳이다. 비즈니스 프로세스 서비스 계층(408)은 또한 다양한 비즈니스 로직 및 데이터 개체 간을 조정하며 따라서 공유되는 서비스의 조성을 나타낸다. 이 계층에서의 비즈니스 프로세스는 또한 몇몇 클라우드 서비스 아키텍처와의 호환가능성을 증가시키기 위해서 다중 차용(multi-tenancy)을 지원할 수 있다.
데이터 개체 서비스 계층(410)은 직접 데이터 액세스(direct data access) 부근에 격리(isolation)를 시행하며, 더 높은 레벨의 계층이 의존하는 서비스를 포함한다. 그러므로, 마켓플레이스 맥락에서 이 계층은 주문 관리, 금융 기관 관리, 사용자 계정 서비스, 기타 등등 같은 기저의 서비스를 포함할 수 있다. 이 계층에서의 서비스는 전형적으로 다중 차용을 지원한다.
인프라스트럭처 서비스 계층(412)은 구현되는 서비스 아키텍처의 유형에 특정적이지 않은 그런 서비스를 포함한다. 그러므로, 마켓플레이스의 맥락에서, 이 계층에서의 서비스는 마켓플레이스의 특정적이거나 고유하지 않은 서비스이다. 그러므로, 암호학적(cryptographic) 기능 같은 기능, 키 관리(key management), CAPTCHA, 인증(authentication) 및 인가(authorization), 구성 관리(configuraiton management), 로깅(logging), 추적(tracking), 문서화(documentation) 및 관리, 기타 등등이 이 계층에 상주한다.
본 개시의 실시예는 전형적으로 이들 계층 중 하나 이상 내에 구현될 것이다. 특히, AIF(144)는 물론, AIF(144)의 조정기(220) 및 다른 서비스이다.
데이터 센터(414)는 다양한 리소스 풀(resource pool)(416), 또 더불어 그것들의 구성 스케일 유닛(scale unit)의 표현이다. 이 데이터 센터 표현은 클라우드 컴퓨팅 모델 내에 서비스 아키텍처(402)를 구현하는 것이 딸려 있는 스케일링(scaling) 및 변통(elasticity)을 보여준다. 리소스 풀(416)은 서버(또는 컴퓨트(compute)) 스케일 유닛(420), 네트워크 스케일 유닛(418) 및 스토리지(storage) 스케일 유닛(422)으로 구성된다. 스케일 유닛은 데이터 센터 내에의 배치가 가능한 가장 작은 유닛인 서버, 네트워크 및/또는 스토리지 유닛이다. 스케일 유닛은 더 많은 용량이 필요성이 증가하거나 감소함에 따라 배치되거나 제거될 수 있도록 한다.
네트워크 스케일 유닛(418)은 배치될 수 있는 (네트워크 인터페이스 유닛 등과 같은) 하나 이상의 네트워크를 포함한다. 네트워크는, 예를 들어 가상 LAN을 포함할 수 있다. 컴퓨트 스케일 유닛(420)은 전형적으로, 프로세서와 같은, 복수의 처리 유닛을 포함하는 유닛(서버 등)을 포함한다. 스토리지 스케일 유닛(422)은 디스크, 스토리지 부착 네트워크(Storage Attached Network: SAN), 네트워크 부착 스토리지(Network Attached Storage: NAS) 디바이스, 기타 등등과 같은 하나 이상의 저장 디바이스를 포함한다. 이들은 아래의 서술에서 집합적으로 SAN으로서 예시된다. 각각의 SAN은 하나 이상의 볼륨(volume), 디스크, 기타 등등을 포함할 수 있다.
도 1의 나머지 뷰는 서비스 아키텍처(400)의 다른 예를 보여준다. 이 뷰는 더 하드웨어에 집중된 것이며 도 1의 다른 뷰에서의 더 논리적인 아키텍처의 기저를 이루는 리소스를 보여준다. 클라우드 컴퓨팅 아키텍처는 전형적으로 복수의 서버 또는 다른 시스템(424, 426)을 갖는다. 이들 서버는 복수의 실제 및/또는 가상 서버를 포함한다. 그러므로 서버(424)는 서버 1을, 또 가상 서버 1A, 1B, 1C, 기타 등등도 포함한다.
서버는 네트워크 A(428) 및/또는 네트워크 B(430)과 같은 하나 이상의 네트워크에 연결되고/거나 이에 의해 상호연결된다. 서버는 또한 SAN 1(436), SAN 2(438), 기타 등등과 같은 복수의 저장 디바이스에 연결된다. SAN은 전형적으로 SAN 액세스 A(432) 및/또는 SAN 액세스 B(434)와 같은 네트워크를 통해서 서버에 연결된다.
컴퓨트 스케일 유닛(420)은 전형적으로, 프로세서 및 이와 연관된 다른 하드웨어 같은, 서버(424 및/또는 426)의 어떤 양상이다. 네트워크 스케일 유닛(418)은 전형적으로, 예시된 네트워크 A(428) 및 B(432)를 포함하거나, 적어도 이용한다. 스토리지 스케일 유닛은 전형적으로 SAN 1(436) 및/또는 SAN 2(438)의 어떤 양상을 포함한다. 그러므로, 논리적 서비스 아키텍처(402)는 물리적 아키텍처에 맵핑될(mapped) 수 있다.
본 문서에 기술된 실시예의 서비스 및 다른 구현은 서버 또는 가상 서버 상에서 구동되고 개시된 실시예를 구현하는 데에 다양한 하드웨어 리소스를 이용할 것이다.
도 5는 몇몇 예시적 실시예에 따라, AIF(144)를 구현하기 위한 블록도이다. 구체적으로, 도 2의 지능형 개인 도우미 시스템(142)은 지능형 개인 도우미 시스템(142)이 네트워크 아키텍처(100) 내의 다른 시스템과 (가령, 네트워크(104)를 통하여) 통신하는 데 쓰이는 프론트 엔드 컴포넌트(front end component)(502)(FE)를 포함한다고 도시된다. 프론트 엔드 컴포넌트(502)는 기존의 메시징 시스템의 패브릭(fabric)과 통신할 수 있다. 본 문서에서 사용되는 바와 같이, 용어 메시징 패브릭은 페이스북(Facebook) 메신저, 마이크로소프트 코타나(Microsoft Cortana) 및 다른 "봇"과 같은 제3자 플랫폼을 추동할(power) 수 있는 API 및 서비스의 모음(collection)을 가리킨다. 하나의 예에서, 메시징 패브릭은 사용자로 하여금 상업적 의도와 상호작용할 수 있도록 하는 온라인 상거래 생태계(online commerce ecosystem)을 지원할 수 있다. 프론트 엔드 컴포넌트(502)의 출력은 지능형 개인 도우미와의 인터페이스(interface)의 일부로서 도 1에서의 클라이언트 디바이스(110)와 같은 클라이언트 디바이스의 디스플레이 내에 렌더링될 수 있다.
지능형 개인 도우미 시스템(142)의 프론트 엔드 컴포넌트(502)는 AIF(144)의 프론트 엔드 컴포넌트(502)를 연계하도록(link) 동작하는 프론트 엔드용 백 엔드 컴포넌트(504)(BFF)에 커플링된다. 인공 지능 프레임워크(144)는 아래에서 논의되는 몇 개의 컴포넌트를 포함한다.
하나의 예시적 실시예에서, 조정기(220)는 인공 지능 프레임워크(144)의 내부 및 외부의 컴포넌트의 통신을 조정한다. AI 조정기(206)를 위한 입력 양태(modality)는 대화 가이던스 컴포넌트(230), 발화 인식 컴포넌트(210) 및 텍스트 정규화 컴포넌트(발화 인식 컴포넌트(210)의 일부를 형성할 수 있음)로부터 도출된다. 발화 가이던스 컴포넌트(230)는 사용자 또는 봇과의 대화를 가능하게 할 수 있다. 발화 인식 컴포넌트(210)는 오디오 신호(가령, 발화된 발언)를 텍스트로 전환한다. 텍스트 정규화 컴포넌트는, 예를 들어, 이모티콘을 텍스트로 렌더링함으로써 언어 정규화와 같은 입력 정규화를 하도록 동작한다. 다른 정규화가 가능한데 예컨대 정자법적 정규화(orthographic normalization), 외국어 정규화(foreign language normalization), 대화 텍스트 정규화(conversational text normalization), 기타 등등이다.
인공 지능 프레임워크(144)는 사용자 의도 및 의도 파라미터(예를 들어 필수적 또는 선택적 파라미터)를 파싱하고(parse) 추출하도록 동작하는 자연 언어 이해(Natural Language Understanding: NLU) 컴포넌트(206)를 더 포함한다. NLU 컴포넌트(206)는 철자 교정기(spelling corrector)(철자기(speller)), 파서(parser), 명명 개체 인식(Named Entity Recognition: NER) 서브컴포넌트, 지식 그래프(knowledge graph) 및 단어 의미 검출기(Word Sense Detector: WSD)와 같은 서브컴포넌트를 포함한다고 도시된다.
인공 지능 프레임워크(144)는 (예를 들어, 검색 질의 또는 발언과 같은 입력의) "특정성의 완성도"(completeness of specificity)를 이해하고 다음 행동 유형 및 파라미터(가령, "검색" 또는 "사용자로부터 추가 정보를 요청")에 대해 결정하도록 동작하는 담화 관리기(204)를 더 포함한다. 하나의 예에서, 담화 관리기(204)는 맥락 관리기(context manager)(518) 및 자연 언어 생성(Natural Language Generation: NLG) 컴포넌트(512)와 연관되어 동작한다. 맥락 관리기(518)는 온라인 개인 도우미(또는 "봇") 및 도우미의 연관된 인공 지능에 대해서 사용자의 맥락 및 통신을 관리한다. 맥락 관리기(518)는 두 부분을 포함한다: 장기 이력(long term history) 및 단기 기억(short term memory). 이들 부분 중 하나 또는 양자 모두에의 데이터 엔트리(data entry)는 관련 의도 및 모든 파라미터, 그리고, 예를 들어, 주어진 입력, 봇 상호작용, 또는 통신의 차례의 모든 관련된 결과를 포함할 수 있다. NLG 컴포넌트(512)는 지능형 봇과 상호작용하는 사용자에게 제시할 AI 메시지로부터 자연 언어 발언을 작성하도록 동작한다.
검색 컴포넌트(218)가 또한 인공 지능 프레임워크(144) 내에 포함된다. 도시된 바와 같이, 검색 컴포넌트(218)는 프론트 엔드 및 백 엔드 유닛을 갖는다. 백 엔드 유닛은 아이템 및 제품 재고를 관리하고 재고를 상대로 검색하는 기능을 제공하도록 동작하는바, 의도 및 의도 파라미터의 특정한 투플(tuple) 쪽으로 최적화한다. 아이덴티티 서비스(identity service)(522) 컴포넌트는, 인공 지능 프레임 워크(144)의 일부를 형성할 수 있거나 그렇지 않을 수 있는 것으로서, 사용자 프로파일, 예를 들어 사용자 속성(가령, "이름", "나이", "성별", "지리위치")의 형태로 된 명시적인 정보뿐만 아니라, 예컨대 "정보 추출물"(information distillate), 예컨대 "사용자 관심" 또는 "유사한 페르소나"(similar persona), 기타 등등의 형태로 된 묵시적 정보를 관리하도록 동작한다. 아이덴티티 서비스(522)는 모든 사용자 정보를 정연하게 중앙화하는 정책, API 및 서비스의 세트를 포함하는바, AIF(144)로 하여금 사용자의 소망에 대한 통찰력을 가질 수 있게 한다. 또한, 아이덴티티 서비스(522)는 상거래 시스템 및 그것의 사용자를 사적 정보의 기만(fraud) 또는 악의적 사용(malicious use)으로부터 보호한다.
대화 가이던스 컴포넌트(230)가 또한 인공 지능 프레임워크(144) 내에 포함된다. 대화 가이던스 컴포넌트(230)는 도 13-20과 관련되어 논의된다.
인공 지능 프레임워크(144)의 기능은 여러 부분, 예를 들어 의사 결정(decision-making) 및 맥락(context) 부분으로 설정될 수 있다. 하나의 예에서, 의사 결정 부분은 조정기(220), NLU 컴포넌트(206)와 그것의 서브컴포넌트, 담화 관리기(204), NLG 컴포넌트(512), 대화 가이던스 컴포넌트(230) 및 발화 인식 컴포넌트(210)에 의한 동작을 포함한다. AI 기능의 맥락 부분은 사용자 및 통신되는 의도(예를 들어, 주어진 재고에 대한, 또는 다른 식으로)를 둘러싼 파라미터(묵시적 및 명시적)에 관련된다. 시간에 걸쳐 AI 품질을 측정하고 개선하기 위해서, 몇몇 예시적 실시예에서, 인공 지능 프레임워크(144)는 샘플 질의(가령, 개발 세트(development set))를 사용하여 훈련되고 질의의 상이한 세트(가령, [0001] 평가 세트(evaluation set))에 대해 테스트되는데, 두 세트 모두 사람의 큐레이션(curation)에 의해 또는 사용 데이터(use data)로부터 개발되는 것이다. 또한, 인공 지능 프레임워크(144)는 경험 있는 큐레이션 전문가 또는 사람의 오버라이드(override)(524)에 의해 정의된 거래 및 상호작용 흐름에 대해 훈련될 것이다. 인공 지능 프레임워크(144)의 다양한 컴포넌트 내에 인코딩된 흐름과 논리는 식별된 사용자 의도에 기반하여 지능형 도우미에 의해 어떤 후속 발언 또는 제시(가령, 질문, 결과 세트)가 행해지는지를 정의한다.
지능형 개인 도우미 시스템(142)은 사용자의 의도(가령, 타겟팅된 검색, 비교, 쇼핑, 브라우징, 기타 등등), 필수적인 파라미터(가령, 제품, 제품 카테고리, 아이템, 기타 등등) 및 선택적인 파라미터(가령, 명시적 정보, 가령, 아이템/제품의 양상, 호기, 기타 등등)는 물론, 묵시적인 정보(가령, 지리위치, 개인적 선호, 나이 및 성별, 기타 등등)를 이해하고 콘텐트가 풍부하고 지능적인 응답으로써 사용자에게 응답하고자 한다. 명시적 입력 양태는 텍스트, 발화 및 시각적 입력을 포함할 수 있고 사용자에 대한 묵시적 지식(가령, 지리위치, 성별, 출생지, 이전의 브라우징 이력, 기타 등등)으로써 풍부해질 수 있다. 출력 양태는 텍스트(예컨대 발화, 또는 자연 언어 문장, 또는 제품 관련 정보, 그리고 스마트 디바이스 가령, 클라이언트 디바이스(110)의 스크린 상의 이미지를 포함할 수 있다. 그러므로 입력 양태는 사용자가 봇과 통신할 수 있는 상이한 방식을 가리킨다. 입력 양태는 또한 키보드 또는 마우스 내비게이션(navigation), 터치 감응(touch-sensitive) 제스처, 기타 등등을 포함할 수 있다.
대화 가이던스 컴포넌트(230)를 위한 양태에 관련하여, 대화는 사용자를 위해 편리한 입력 및 출력을 제공한다. 더욱이, 모바일 전화 상에 복잡한 텍스트 질의를 타이핑하는 것은 불편하고 긴 텍스트 질의는 전형적으로 상기(recall)가 뒤떨어진다. 대화 가이던스 컴포넌트(230)의 예시적 기능은 미션 추적, 미션 변경 및 행동 추적을 포함한다. 대화로써 가능화되는(enabled) 봇은 모바일 디바이스 상에서 구동되는 경우에 유리하다. 강력한 심층 신경망(deep neural network)이 대화 생성 애플리케이션을 가능화하는 데에 사용될 수 있다.
발화 인식 컴포넌트(210)를 참조하여, 특징 추출 컴포넌트는 미가공(raw) 오디오 파형을 소리를 나타내는 수의 어떤 차원의 벡터로 전환하도록 동작한다. 이 컴포넌트는 미가공 신호를 고차원의 의미론적 공간(semantic space)로 투사하는 데에 딥 러닝(deep learning)을 사용한다. 음향 모델 컴포넌트는 발화 단위, 예컨대 음소 및 이음의 통계적 모델을 호스팅하도록 동작한다. 이들은 가우시안 혼합 모델(Gaussian Mixture Model: GMM)을 포함할 수 있는데 심층 신경망의 사용이 가능하기는 하다. 언어 모델 컴포넌트는 어떻게 단어가 문장 내에 합해지는지를 정의하는 데에 문법의 통계적 모델을 사용한다. 그러한 모델은 n-그램 기반 모델 또는 심층 신경망(단어 임베딩(word embedding) 위에 구축됨)을 포함할 수 있다. 발화 대 텍스트(Speech-To-Text: STT) 디코더 컴포넌트는 특징 시퀀스(sequence)로부터 단어 시퀀스를 도출하기 위해 은닉 마르코프 모델(Hidden Markov Model: HMM) 프레임워크에서 특징 추출 컴포넌트, 음향 모델 컴포넌트 및 언어 모델 컴포넌트를 사용하여 미가공 신호로부터 도출된 특징을 보통 이용하는 단어의 시퀀스로 발화 발언을 전환한다. 하나의 예에서, 클라우드 내의 발화 대 텍스트 서비스는 오디오 샘플이 발화 발언을 위해 포스팅될 수 있도록, 그리고 대응하는 단어 시퀀스를 인출할 수 있도록 하는 API와 함께 클라우드 프레임워크 내에 이들 컴포넌트가 배치된다. 발화 대 텍스트 프로세스를 맞춤화하거나 이에 영향을 주는 데에 제어 파라미터가 이용가능하다.
AIF(144) 서비스에 의한 매칭(matching), 관련성 및 최종적인 재순위화(re-ranking)를 위해 머신 러닝 알고리즘이 사용될 수 있다. 머신 러닝은 명시적으로 프로그래밍되지(programmed) 않고서 학습하는 능력을 컴퓨터에 주는 연구 분야이다. 머신 러닝은 데이터로부터 학습하고 이에 대해 예측을 행할 수 있는 알고리즘의 연구 및 구축을 탐구한다. 그러한 머신 러닝 알고리즘은 출력으로서 표현되는 데이터 구동형 예측 또는 결정을 행하기 위해서 예시적 입력으로부터 모델을 구축함으로써 동작한다. 머신 러닝 알고리즘은 또한 어떻게 프로세스를 구현할 것인지를 교시하는 데에 사용될 수 있다.
딥 러닝 모델, 심층 신경망(Deep Neural Network: DNN), 재귀 신경망(Recurrent Neural Network: RNN), 합성곱 신경망(Convolutional Neural Network: CNN) 및 장단기(long short-term) CNN은 물론, 다른 ML 모델 및 IR 모델이 사용될 수 있다. 예를 들어, 검색(218)은 제품 매칭에 n-그램, 개체 및 의미론적 벡터 기반 질의를 사용할 수 있다. 딥 러닝된 의미론적 벡터는 제품을 비-텍스트 입력에 직접적으로 매칭하는 능력을 준다. 다중 레벨식 관련성 여과(multi-leveled relevance filtration)는 최종적인 재순위화 알고리즘을 위한 최상의 후보 제품을 고르기 위해, BM25, 예측된 질의 리프(leaf) 카테고리 + 제품 리프 카테고리, 질의 및 제품 간의 의미론적 벡터 유사도 및 다른 모델을 사용할 수 있다.
예측된 접속클릭률(click-through-rate) 및 전환율(conversion rate)은 물론, GMV는, 특정 비즈니스 목표, 더 많은 쇼핑 관여, 더 많은 제품 구입, 또는 더 많은 GMV로 기능을 개조하는(tweak) 최종적인 재순위화 공식을 구성한다. 클릭 예측 및 전환 예측 모델 양자 모두는 질의, 사용자, 판매자 및 제품을 입력 신호로서 받아들인다. 사용자 프로파일은 개별 사용자를 위한 매칭, 관련 및 순위화 스테이지 각각에 의해 사용되는 모델의 정확성을 향상시키기 위해 온보딩(onboarding), 사이드보딩(sideboarding), 그리고 사용자 거동으로부터 학습함으로써 풍부해진다. 모델 개선의 속도를 증가시키기 위해, 온라인 A/B 테스팅 전에 오프라인 평가 파이프라인이 사용된다.
인공 지능 프레임워크(144)의 하나의 예에서, 발화 인식 컴포넌트(210)를 위한 두 개의 추가적인 부분이 제공되는데, 발화자 적응 컴포넌트 및 LM 적응 컴포넌트이다. 발화자 적응 컴포넌트는 STT 시스템(가령, 발화 인식 컴포넌트(210))의 클라이언트로 하여금 각 발화자를 위해 특징 추출 컴포넌트 및 음향 모델 컴포넌트를 맞춤화할 수 있도록 한다. 이것은 중요할 수 있는데 왜냐하면 대부분의 발화 대 텍스트 시스템은 타겟 지역으로부터의 발화자의 대표적인 세트로부터의 데이터에 대해 훈련되고 전형적으로 시스템의 정확도는 타겟 발화자가 훈련 풀(training pool) 내의 발화자와 얼마나 잘 매칭되는지에 심하게 의존하기 때문이다. 발화자 적응 컴포넌트는 발화 인식 컴포넌트(210)(그리고 결과적으로 인공 지능 프레임워크(144))로 하여금 사용자의 억양, 발음, 악센트 및 다른 발화 인자의 특질을 계속해서 학습함으로써 발화자 변화에 강인하며, 이것들을 발화 의존적인 컴포넌트, 가령 특징 추출 컴포넌트 및 음향 모델 컴포넌트에 적용할 수 있도록 한다. 이 접근법은 각 발화자를 위해 생성되고 지속될 상당하지는 않은 사이즈로 된(non-significant-sized) 음성 프로파일을 이용하나, 정확도의 잠재적인 혜택은 일반적으로 저장 단점보다 훨씬 중대하다.
언어 모델(Language Model: LM) 적응 컴포넌트는 타겟 분야(target domain), 예를 들어, 재고 카테고리 또는 사용자 페르소나로부터 새로운 단어 및 대표적인 문장으로써 언어 모델 컴포넌트 및 발화 대 텍스트 어휘를 맞춤화하도록 동작한다. 이 능력은 인공 지능 프레임워크(144)로 하여금 새로운 카테고리 및 페르소나가 지원됨에 따라 스케일가능할(scalable) 수 있도록 한다.
AIF의 목표는 AI를 위해 스케일가능하고 확장가능한 프레임워크를 제공하는 것이니, 특정한 자연 언어 처리 기능을 수행하는 서비스를 사용하여 새로운 활동(본 문서에서 또한 미션으로 지칭됨)이 동적으로 성취될 수 있는 것이다. 새로운 서비스를 추가하는 것은 완전한 시스템을 재설계하는 것을 요구하지 않는다. 대신에, 서비스는 필요한 경우 (가령, 머신 러닝 알고리즘을 사용하여) 준비되고, 조정기는 새로운 활동에 관련된 새로운 시퀀스로써 구성된다. 시퀀스의 구성에 관한 더 많은 세부사항이 도 6 내지 도 13을 참조하여 아래에서 제공된다.
본 문서에 제시된 실시예는 새로운 의도 및 어떻게 새로운 의도에 응답할지를 학습하기 위해 조정기(220)의 동적 구성을 가능케 한다. 몇몇 예시적 실시예에서, 조정기(220)는 새로운 활동과 연관된 새로운 시퀀스를 위한 구성을 수신함으로써 새로운 역량(skill)을 "학습한다". 시퀀스 사양은 조정기(220) 및 AIF(144)로부터의 하나 이상의 서비스 서버의 세트 간의 상호작용의 시퀀스를 포함한다. 몇몇 예시적 실시예에서, 시퀀스의 각 상호작용은 (적어도) 다음을 포함한다: 서비스 서버를 위한 식별, 식별된 서비스 서보로의 호출(call)과 함께 전달될 호출 파라미터 정의; 그리고 식별된 서비스 서버에 의해 회신될 응답 파라미터 정의.
몇몇 예시적 실시예에서, 조정기(220)를 제외하고, AIF(144) 내의 서비스는, 서로를 알지 못하는데, 가령, 그들은 서로 직접적으로 상호작용하지 않는다. 조정기(220)는 다른 서버와의 모든 상호작용을 관리한다. 중앙 편성 리소스(central coordinating resource)를 갖는 것은 다른 서비스의 구현을 단순화하는데, 이는 다른 서비스에 의해 제공되는 인터페이스(가령, API)를 알 필요가 없다. 물론, 서비스 쌍 간에 직접적인 인터페이스가 지원될 수 있는 몇몇 경우가 있을 수 있다.
도 6은 몇몇 예시적 실시예에 따라, 대화 가이던스 컴포넌트(230)의 컴포넌트를 보여주는 블록도이다. 대화 가이던스 컴포넌트(230)는, 모두 (가령, 버스(bus), 공유된 메모리, 또는 스위치를 통해) 서로 통신하도록 구성된 미션 컴포넌트(610), 미션 변경 컴포넌트(630) 및 행동 컴포넌트(640)를 포함하는 것으로서 도시된다. 몇몇 실시예에서, 대화 가이던스 컴포넌트(230)는 인공 지능 프레임워크(144)의 맥락 관리기 컴포넌트(518), 자연 언어 생성 컴포넌트(512) 및 다른 컴포넌트와 함께 동작한다. 본 문서에 기술된 모듈 중 임의의 하나 이상은 하드웨어(가령, 머신의 하나 이상의 프로세서) 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있다. 예를 들어, 본 문서에 기술된 임의의 모듈은 동작(이를 위해 그 모듈이 설계됨)을 수행하도록 (가령, 머신의 하나 이상의 프로세서 중의) 프로세서를 구성할 수 있다. 더욱이, 이들 모듈 중 임의의 두 개 이상은 단일 모듈로 조합될 수 있고, 단일 모듈을 위해 본 문서에 기술된 기능은 여러 모듈 사이에 세분될 수 있다. 더욱이, 다양한 예시적 실시예에 따라, 단일 머신, 데이터베이스(들)(126), 또는 디바이스(가령, 클라이언트 디바이스(110)) 내에 구현되는 것으로서 본 문서에 기술된 모듈은 여러 머신, 데이터베이스(들)(126), 또는 디바이스에 걸쳐서 분산될 수 있다.
도 7은 몇몇 예시적 실시예에 따라, 새로운 유형의 미션을 시작하고 미션을 계속할지를 판정하는 방법(700)의 흐름도이다. 이 흐름도 내의 다양한 동작은 순차적으로 제시되고 기술되나, 통상의 기술자는 동작 중 몇몇 또는 전부가 상이한 순서로 실행되거나, 조합 또는 생략되거나, 병렬로 실행될 수 있음을 인식할 것이다. 방법(700)에서의 동작은, 도 6에 관해서 전술된 컴포넌트를 사용하여, 대화 가이던스 컴포넌트(230)의 미션 컴포넌트(610)에 의해 수행될 수 있다. 몇몇 실시예에서, 방법(700)의 동작은 인공 지능 프레임워크(144)의 맥락 관리기 컴포넌트(518), 자연 언어 생성 컴포넌트(512) 및 다른 컴포넌트에 의해 또는 이와 함께 수행된다.
동작(705)에서, 대화 가이던스 컴포넌트(230)의 미션 컴포넌트(610)는 새로운 미션 유형을 시작한다. 몇몇 실시예에서, 새로운 미션 유형은 동작인 새로운 미션 유형(new mission type) #1(710), 새로운 미션 유형 #2(720) 및 새로운 미션 유형 #3(730) 중에서 선택된다. 각각의 새로운 미션 유형은 각자의 동작인 미션 유형 계속(continue mission type) #1(712), 미션 유형 계속 #2(722) 및 미션 유형 계속 #3(732)에서 계속된다. 이후, 대화 가이던스 컴포넌트(230)의 미션 컴포넌트는 각자의 미션을 계속할지를 판정한다. 만일 예(yes)라면, 각자의 미션은 반복된다. 만일 아니요(no)라면, 방법은 동작(705)로 되돌아가 새로운 미션 유형을 시작한다.
도 8은 몇몇 예시적 실시예에 따라, 대화를 수행하는 방법(800)의 흐름도이다. 방법(800)은 온라인 국면 및 오프라인 국면 양자 모두에 적용가능하다. 그러나, 온라인 국면에서, 방법은 하나 이상의 단계에서 또는 하나 이상의 단계 간에, 머신 러닝식 모델과의 통신을 수행하여 이것이 새로운 미션인지 또는 현재의 미션의 계속인지에 관한 예측을 얻고, 그것을 사용하여 시스템을 가이드하고 대화가 펼쳐짐에 따라 대화를 추적하는 것을 돕는다.
동작(810)은 지원되는 미션 유형으로부터 사용자를 위한 새로운 미션 유형을 선택한다.
동작(812)은 그 미션 유형을 위한 목표(가령 미션 유형을 위한 특정한 시작 질의)를 선택하고, 그 목표를 위한 임의의 필요한 지원 데이터(가령 그 질의를 위한 허용된 정제 또는 행동)를 식별하며, 사용자의 대화 맥락을 그 정보로써 초기화한다.
동작(814)은 그 미션 유형을 위한 그 목표를 표현하는 (가령, 텍스트, 오디오 또는 이미지 형태로 된) 발언을 생성하기 위해 자연 언어 생성기를 호출한다. 그 발언은 에이전트에 발신된다.
동작(816)은 시뮬레이션된 또는 실제의 에이전트일 수 있는 에이전트로부터 답신을 수신한다. 맥락은 답신에 기반하여 업데이트된다.
동작(810)은, 현재의 맥락 및 대화 이력에 기반하여, 미션을 계속할지 또는 미션을 종료할지를 선택한다. 미션을 계속하는 경우, 동작(820)이 잇따른다. 미션을 종료하는 경우, 동작(810)이 잇따른다.
동작(820)은, 현재의 맥락 및 대화 이력에 기반하여, 사용자가 대화 중 이 시점에서 수행하기를 원하는 행동을 선택한다. 그 행동은 에이전트가 물은 질문에 답하는 것, 그의 원래의 질의를 위한 추가적인 정제를 지정하는 것, 이전의 정제를 변경하는 것, 그리고/또는 현재의 맥락에 기반하여 질문을 하는 것 등일 수 있다. 맥락은 그 행동으로써 업데이트된다.
동작(822)은 그 미션 유형, 행동 및 맥락을 위한 그 행동을 표현하는 발언을 생성하기 위해 자연 언어 생성기를 호출한다. 그 발언은 에이전트에 발신된다.
동작(824)은 시뮬레이션된 또는 실제의 에이전트일 수 있는 에이전트로부터 답신을 수신하고, 답신에 기반하여 맥락을 업데이트한다.
동작(826)은, 현재의 맥락 및 대화 이력에 기반하여, 미션을 계속할지 또는 미션을 종료할지를 선택한다. 미션을 계속하는 경우, 동작(818)이 잇따른다. 미션을 종료하는 경우, 동작(828)이 잇따른다.
동작(828)은 이 대화를 위한 최종적인 발언을 생성할지 여부를 선택한다. 만일 그렇다면, 동작(828)은 자연 언어 생성기를 호출하고 최종적인 발언을 에이전트에 발신한다(가령 사용자는 대화의 끝에서 "잘 가"하고 말할 수 있다).
동작(830)은 새로운 대화를 시작할지 여부를 선택한다. 만일 그렇다면, 동작(810)이 잇따른다.
다양한 예시적 실시예에서, 선택은 요망되는 거동, 관측된 사용자 거동에 기반하여 결정론적이거나, 어떤 확률에 따라 무작위로 선택되거나, 가능하게는 집계 통계(aggregate statistics)로부터 취해지거나, 요망되는 또는 힘든 경우를 강조표시하기 위해 선택될 수 있다.
도 9는 몇몇 예시적 실시예에 따라, 미션을 확정하는 방법의 흐름도이다.
동작(910)은 미션의 맥락 및 이력에 응답하여, 미션 변경의 확률을 액세스한다. 동작(920)은, 미션 변경의 불충분한 확실성에 응답하여, 미션이 바뀌었는지에 대해 사용자에게 질의한다. 동작(930)은 사용자에 응답하여, 현재의 미션을 계속하거나 새로운 미션을 시작한다. 다른 예시적 실시예에서, 미션 변경의 확실성이 충분하면, 모델은 새로운 미션을 속행한다/미션을 변경한다.
사용자의 최근 발언이 미션 변경을 나타내는지 여부에 대해 모델이 확신이 없으면(uncertain)(가령 하나의 예시적 실시예에서 미션 변경의 예측된 확률이 약 50%이면), 에이전트는 사용자로부터 직접적으로 명확화(clarification)를 청한다.
규칙 기반 미션 변경 검출기는 전형적으로 그렇게 할 수가 없는데; 규칙 기반 미션 변경 검출기는 단지 이진 결정(binary decision)을 발할 뿐이다 - 새로운 미션을 시작함 대 현재의 미션을 계속함. 그러한 시스템은 전형적으로 하나의 방식 또는 다른 것을 결정하고, 속행하는데, 이는 시스템이 그릇된 경우에 형편없는 사용자 경험으로 이어질 수 있다.
도 10은 몇몇 예시적 실시예에 따라, 대화를 위한 머신 러닝 시스템을 재훈련하는 방법의 흐름도이다. 동작(1010)에서, 현재의 미션을 계속할지 또는 새로운 미션을 시작할지에 대해 도 9로부터의 사용자 응답이 수집된다. 동작(1020)은 사용자 응답으로써 머신 러닝식 모델을 재훈련한다.
도 9에서의 사용자의 응답은 추적되고, 이후에 모델을 재훈련하는 데에 추가적인 라벨로서 사용될 수 있다. 이들 예는 특별히 유용한데, 그것들은 모델이 확신이 없는 "곤란한 경우"(hard case)이기 때문이다.
도 11은 몇몇 예시적 실시예에 따라, 대화를 위한 머신 러닝식 시스템의 오프라인 훈련의 방법(1100)의 흐름도이다. 동작(1110)은, 예컨대 사용자와의 이전의 거래의 기록을 가진 데이터베이스(126)로부터, 구조화된 데이터를 액세스한다. 몇몇 실시예에서, 그러한 기록은 사용자와의 비대화식 상호작용, 예컨대 검색 질의으로부터의 것이어서, 비대화식 거래의 기록은 대화식의 머신 러닝식 모델을 훈련하는 것에 이용된다. 동작(1120)은 구조화된 데이터로부터 대화를 가이드한다. 동작(1130)은 구조화된 데이터 및 대화로써 머신 러닝식 시스템을 훈련한다. 대화의 소스(source)는 알려진 결과를 가진 과거의 거래로부터의 것이기 때문에, 훈련은 과거의 거래의 결과를 매칭하도록 머신 러닝식 시스템을 가이드하기 위해 부정적 및/또는 긍정적 피드백을 갖는다. 몇몇 예시적 실시예의 추가 세부사항이 뒤따른다.
오프라인 국면은 과거의 거래로부터의 다수의 예시적 대화로 시작한다. 몇몇 예시적 실시예에서, 과거의 거래는, 대화 중 매 시점에서, 현 미션이 계속되었는지 또는 새 미션이 시작되었는지를 포함하는 데이터를 갖는다. 다른 실시예에서, 이 데이터는 실제 사용자에게 명시적으로 묻는 것으로부터, 수동으로 라벨표시하는 것(labeling)으로부터, 또는 어떤 다른 소스로부터 생성된다.
대화의 각 차례에 대응하는 라벨표시된 훈련 예가 생성된다. 이것은 1) 이번 차례로부터의 발언(들)의 분석, 2) 발언(들), 그것의 분석, 사전 대화 이력, 대화 및 미션의 도출된 맥락 등에 기반한 특징의 도출, 그리고 3) 도출된 특징에 기반하여, 이것이 새로운 미션인지 또는 미션 계속인지를 예측할 머신 러닝식 모델을 훈련하기 위해 머신 러닝 알고리즘에 라벨 및 도출된 특징을 제공하는 것으로 이루어진다.
다음은 예시적 용례를 기술한다.
대화 분석은 철자 교정, 구문론적 또는 의미론적 파싱, 명명 개체 추출, 명사구 식별 및/또는 다른 단계를 포함할 수 있다. 도출된 특징은 발언에 기반한 텍스트적(textual) 특징, 명명 개체 추출의 결과에 기반한 수적(numerical) 특징, 발언(또는 발언으로부터의 도출된 값) 및 사전의 발언/질문 간의 스트링(string) 또는 단어 유사도, 현재의 미션에 관련된 맥락 및/또는 알려진 값에 기반한 구조화된 데이터에 대한 스트링 또는 단어 유사도, 또는 머신 러닝 알고리즘에 제공하기에 적합한 임의의 다른 특징을 포함할 수 있다. 머신 러닝 알고리즘은 신경망, 그래디언트 부스트형 머신(gradient boosted machine), 랜덤 포리스트(random forest), 또는 임의의 수의 다른 알고리즘일 수 있다. 다양한 예시적 실시예는 이것이 새로운 미션인지 또는 현재의 미션의 계속인지에 대한 예측을 제공하거나, 그것이 새로운 미션 또는 계속이라는 확률 추정을 제공한다.
전자 상거래 맥락에서 그러한 대화를 시뮬레이션하기 위해, 사용자는 맥락을 가진 상태 머신(state machine)으로서 모델링된다. 대화 중 매 차례에서, 시스템은 현재의 상태 내에 남아 있을지 또는 새로운 상태로 전이할지를 선택한다. 그 결정을 행한 후, 사용자의 현재 상태에, 또 여태까지의 대화의 맥락에도 기반하여 사용자가 수행하기를 원하는 행동이 선택된다. 예를 들어, 시스템은 에이전트의 질문에 답하거나, 현재의 미션의 어떤 양상을 정제하거나, 특정한 목표와 함께 새로운 미션을 시작하기로 선택할 수 있다. 일단 행동이 결정되면, 시뮬레이션된 사용자의 맥락은 대화의 상태에 대한 믿음과 함께 업데이트된다. 그러면 그 행동의 자연 언어 표현이 생성되며, 사용자가 그것을 에이전트에 말하는/타이핑하는/발언하는/발신하는 것이 시뮬레이션된다. 선택적으로, 사용자 및 에이전트가 동의하지 않는 데를 식별하기 위해, 대화에 대한 에이전트의 이해가 추적된다. 끝으로, 매 단계에서 상태, 행동, 맥락, 자연 언어 표현, 맥락, 에이전트 응답 등이 추적되고 장래의 사용을 위해 저장된다.
쇼핑 질의를 시뮬레이션하기 위해, 비대화식 검색의 기록이 이용된다. 예를 들어, 개별 사용자가 추적되고, 사용자 상호작용은 대화로 변환된다. 예를 들어, 사이트 상의 사용자가 "나이키 신발"을 위한 텍스트 질의로 시작할 수 있다. 그러면 사용자는 검색 필터를 적용하여 결과를 사이즈 9 및 빨강색으로 한정한다. 결과를 본 후, 사용자는 컬러 필터를 검정으로 조절한다. 끝으로, 사용자는 그의 또는 그녀의 마음을 바꾸고 "티셔츠"에 대한 새로운 검색을 시작한다.
대화는 이 상호작용으로부터 다음과 같이 시뮬레이션된다. 1) 사용자가 새로운 미션을 "나는 어떤 나이키 신발을 원해"라고 말함으로써 시작하는 것을 시뮬레이션하고, 2) 에이전트가 사이즈 질문으로써 응답하게 하며, 3) 사용자가 "사이즈 9 부탁해"라고 말함으로써 미션을 계속하는 것을 시뮬레이션하고, 4) 에이전트가 색상에 대한 질문으로써 응답하게 하며, 5) 사용자가 "빨간 걸 나한테 보여줘"라고 청한다고 말함으로써 사용자가 미션을 계속하는 것을 시뮬레이션하고, 6) 에이전트가 가격에 대한 질문으로써 응답하게 하며, 7) 사용자가 "대신에 검은 건 어때"라고 말함으로써 미션을 계속하는 것을 시뮬레이션하고(이것은 사용자가 에이전트의 질문에 직접적으로 응답하지 않는 것을 시뮬레이션하는데, 이는 대화 중에 일어날 수 있음), 8) 에이전트가 몇 가지 업데이트된 결과 및 소재에 대한 질문으로써 응답하게 하며, 9) 사용자가 "티셔츠를 나한테 보여줘"라고 말함으로써 새로운 미션을 시작하는 것을 시뮬레이션한다. 위의 발언은 상호작용적으로 동일한 행동을 표현하는 방식으로서 자연 언어 생성 시스템에 의해 생성될 수 있는 예이다.
대안적으로, 시스템은 다수의 사용자에 걸쳐서 거동을 집성하고, 집성된 거동을 사용하여 위와 같이 행동의 개별 시퀀스를 시뮬레이션한다. 예를 들어, 시스템은 (반드시는 아니라, 가능하게는, 사이트 상에서의 텍스트 질의 인기에 기반하여) 새로운 미션을 시작하기 위해 질의를 무작위로 선택할 수 있다. 그 질의로부터, 시스템은 어느 검색 필터 또는 다른 행동이 이용가능할 것인지 및 어느 사용자가 전형적으로 사용하는지를 안다. 그러면 시스템은 에이전트로 하여금 물을 질문 또는 보여줄 응답을 택하게 하고, 시스템은 시뮬레이션된 사용자가 "선택할" 값을 고른다(가능하게는 에이전트에 의해 선택된 질문과 무관함). 시스템은 얼마나 자주 사용자가 이전에 선택된 필터를 조절하는지(가령 가격 범위를 변경함, 상이한 색상/브랜드를 찾음 등)를 알며, 그것을 그런 상호작용을 알리는 데에 사용한다. 이 경우에, 우리의 시뮬레이션된 사용자가, 예를 들어, 동일한 색을 반복해서 지정하지 않도록, 맥락을 추적하는 것은 현실적인 대화를 생성하는 데에서 중요하다.
그러한 경우에, 선택은 실제 사용자에 또는 실제 에이전트의 응답에 기반하여 결정론적이거나, 인기에 기반하여 무작위로 선택되거나, 균일하게 무작위로 선택되거나, 어려운 상호작용(가령 모호한 브랜드, 현재의 미션에 관련된 것으로 보일 수 있는 새로운 미션 등)을 강조표시하기 위해 선택되거나, 어떤 다른 방법에 의한 것일 수 있다.
몇몇 예시적 실시예는 이들 단계를 위해 검색 필터를 사용한다. 다른 예시적 실시예는 현재의 미션에 관련된 다른 상호작용을 지원하기 위해 시뮬레이션을 확장한다. 예를 들어, 시스템은 사용자가 추가적인 옵션을 보기 위해 "어떤 다른 색이 유행인가"라고 묻는 것, 메모리 사이즈에 대한 질문에 응답하여 "차이가 뭐지"라고 묻는 것 등을 시뮬레이션한다. 이들 예는 전통적인 검색 엔진에서 표면화되는 추가적인 정보(가령, 구매 가이드)와 직접적인 대응관계를 가질 수 있지만, 반드시 그렇지는 않다. 어떤 대응하는 사용자 상호작용도 없는 경우에, 시스템은 시뮬레이션된 사용자가 언제 그리고 어떻게 그 행동을 수행하여야 하는지를 어림잡는다(approximate).
추가적으로, 이 용례가 하나의 미션 유형에 초점을 맞추기는 하나, 예시적 실시예는 다른 미션 유형에 적용가능하다. 예를 들어, 사용자는 누락된 주문을, 그 주문을 선택하는 것, 문제 설명을 고르는 것 및 코멘트(comment)를 쓰는 것에 의해 보고할 수 있다. 시스템은 이것을, 예를 들어, 시뮬레이션된 사용자로 하여금 "난 내가 주문한 신발을 결코 받지 않았다"라고 말함으로써 새로운 미션을 시작하고, 이후 거기서부터 행동을 수행하게 함으로써, "피드백 미션"으로서 시뮬레이션할 수 있다. 추가적으로, 시뮬레이션은 대본 있는(scripted) 시나리오 및 (쇼핑 미션 같은) 다른 더 비제약적인 결말의(open-ended) 것 양자 모두를 유사한 방식으로 지원할 수 있다.
이 접근법에서의 한 단계는 자연 언어 생성인데, 여기서 시뮬레이터(simulator)는 사용자가 바라는 행동에 대응하는 자연 언어 발언을 생성한다. 현실적으로, 이 발언은 요망되는 행동에는 물론, 대화의 현재 맥락 양자 모두에 의존한다. 예를 들어, 만일 에이전트가 사용자에게 어떤 색을 원하는지를 방금 물었으면, "검정" 및 "검정 부탁해"는 사용자가 응답할 수 있는 자연스러운 방식이다. 그러나, 만일 에이전트가 사용자에게 어떤 소재를 원하는지를 방금 물었으면, "검정"은 이해될 수는 있지만, 그것은 그 목표를 전달하는 자연스러운 방식은 아닐 것이다. 오히려, 사용자는 "검정으로 된 게 있어?" 또는 "대신에 내가 몇 가지 검은 걸 볼 수 있을까" 같은 것을 말할 공산이 더 클 것이다.
발언은 맥락 외에도, 요망되는 행동에 의존적이다. 그것은 템플릿 인스턴스화(template instantiation), LSTM 신경망, 또는 임의의 수의 대안적인 접근법을 통해 생성될 수 있다. 예를 들어, 그것이 템플릿으로부터 생성되는 경우, 이들 템플릿은 요망되는 값이 대치될(substituted) 수 있는 슬롯(slot)을 가질 수 있고(가령, "<COLOR>로 된 것 있어?"), 동일한 목표를 표현하는 다양한 상이한 방식을 포함할 수 있다. 추가적으로, 발언을 더 현실적이게 하기 위해, 시스템은 사용자가 알고 타이핑할 법하지 않은 값을 검출하고 그것을 사용자가 데이터를 표현하는 법에 더 가까운 것으로 변환할 수 있다. 예를 들어, 힐 높이를 위한 검색 필터는 "낮음(3/4 인치 내지 1과1/2 인치)"일 수 있지만, 사용자는 그렇게 정확히 타이핑할 법하지는 않다. 오히려, 사용자는 "낮음" 또는 "1인치" 같은 것을 말할 것이다. 끝으로, 발언을 더 현실적이게 하기 위해, 시스템은 또한 그것에 몇몇 사후처리(post-processing) 변환, 예컨대 몇몇 단어를 빠뜨리기, 철자 오기를 넣기 등을 적용할 수 있다.
도 12는, 몇몇 예시적 실시예에 따라, 머신 판독가능 매체(가령, 머신 판독가능 저장 매체)로부터 명령어를 판독하고 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행할 수 있는 머신(1200)의 컴포넌트들을 보여주는 블록도이다. 구체적으로, 도 12는 머신(1200)의 도식적 표현을 컴퓨터 시스템(머신(1200)으로 하여금 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행하게 하는 명령어(1210)(가령, 소프트웨어, 프로그램, 애플리케이션, 애플릿(applet), 앱(app) 또는 다른 실행가능 코드(executable code))가 그 안에서 실행될 수 있음)의 예시적 형태로 도시한다. 예를 들어, 명령어(1210)는 머신(1200)으로 하여금 도 1 내지 도 11의 예시적 실시예를 실행하게 할 수 있다. 추가적으로, 또는 대안적으로, 명령어(1210)는 도 1 내지 도 11의 서비스 및 컴포넌트와 연관된 서버, 기타 등등을 구현할 수 있다. 명령어(1210)는 일반적인, 프로그램되지 않은(non-programmed) 머신(1200)을 기술되고 예시된 기능을 기술된 방식으로 수행하도록 프로그래밍된 특정한 머신(1200)으로 변형한다.
대안적인 실시예에서, 머신(1200)은 독립형 디바이스(standalone device)로서 동작하거나, 다른 머신에 커플링될(가령, 네트워킹될) 수 있다. 네트워킹형 배치에서, 머신(1200)은 서버-클라이언트 네트워크 환경(server-client network environment) 내의 서버 머신 또는 클라이언트 머신의 입장에서, 또는 피어 대 피어(peer-to-peer) (또는 분산형(distributed)) 네트워크 환경 내의 피어 머신(peer machine)으로서 동작할 수 있다. 머신(1200)은 스위치(switch), 제어기(controller), 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(Personal Computer: PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스(Set-Top Box: STB), 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 엔터테인먼트 미디어 시스템(entertainment media system), 셀룰러 전화, 스마트 폰, 모바일 디바이스(mobile device), 웨어러블 디바이스(wearable device)(가령, 스마트 와치(smart watch)), 스마트 홈 디바이스(smart home device)(가령, 스마트 기기(smart appliance)), 다른 스마트 디바이스, 웹 기기(web appliance), 네트워크 라우터(network router), 네트워크 스위치(network switch), 네트워크 브릿지(network bridge), 또는 임의의 머신(머신(1200)에 의해 취해질 행동을 지정하는 명령어(1210)를, 순차적으로 또는 다른 식으로, 실행하는 것이 가능함)을 포함하나, 이에 한정되지 않을 수 있다. 또한, 오직 단일 머신(1200)이 예시되나, 용어 "머신"은 또한 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행하기 위해 개별적으로 또는 공동으로 명령어(1210)를 실행하는 머신(1200)의 모음을 포함하도록 취해질 것이다.
머신(1200)은 프로세서(1204), 메모리/스토리지(storage)(1206) 및 I/O 컴포넌트(1218)를 포함할 수 있는데, 이는 서로 예컨대 버스(1202)를 통해 통신하도록 구성될 수 있다. 예시적 실시예에서, 프로세서(1204)(가령, 중앙 처리 유닛(Central Processing Unit: CPU), 축소 명령어 세트 컴퓨팅(Reduced Instruction Set Computing: RISC) 프로세서, 복합 명령어 세트 컴퓨팅(Complex Instruction Set Computing: CISC) 프로세서, 그래픽 처리 유닛(Graphics Processing Unit: GPU), 디지털 신호 프로세서(Digital Signal Processor: DSP), 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit: ASIC), 무선 주파수 집적 회로(Radio-Frequency Integrated Circuit: RFIC), 다른 프로세서, 또는 이들의 임의의 적합한 조합)는, 예를 들어, 명령어(1210)를 실행할 수 있는 프로세서(1208) 및 프로세서(1212)를 포함할 수 있다. 용어 "프로세서"는 동시적으로 명령어()를 실행할 수 있는 둘 이상의 독립적인 프로세서(때때로 "코어"로 지칭됨)를 포함할 수 있는 다중 코어(multi-core) 프로세서를 포함하도록 의도된다. 도 12가 여러 프로세서(1204)를 도시하나, 머신(1200)은 단일 코어를 가진 단일 프로세서, 여러 코어를 가진 단일 프로세서(가령, 다중 코어 프로세서), 단일 코어를 가진 여러 개의 프로세서, 여러 코어를 가진 여러 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리/스토리지(1206)는 메모리(1214), 예컨대 주 메모리(main memory), 또는 다른 메모리 스토리지, 그리고 저장 유닛(1216)을 포함할 수 있는데, 양자 모두 예컨대 버스(1202)를 통해 프로세서(1204)가 액세스할 수 있다. 저장 유닛(1216) 및 메모리(1214)는 본 문서에 기술된 방법론 또는 기능 중 임의의 하나 이상을 체현하는 명령어(1210)를 저장한다. 명령어(1210)는 또한, 머신(1200)에 의한 이의 실행 동안에, 메모리(1214) 내에, 저장 유닛(1216) 내에, 프로세서(1204) 중 적어도 하나 내에(가령, 프로세서의 캐시 메모리(cache memory) 내에), 또는 이들의 임의의 적합한 조합에, 전적으로 또는 부분적으로, 상주할 수 있다. 따라서, 메모리(1214), 저장 유닛(1216) , 그리고 프로세서(1204)의 메모리는 머신 판독가능 매체의 예이다.
본 문서에서 사용되는 바와 같이, 용어 "머신 판독가능 매체"는 임시적으로 또는 영구적으로 명령어 및 데이터를 저장할 수 있는 디바이스를 의미하며, 랜덤 액세스 메모리(Random-Access Memory: RAM), 판독 전용 메모리(Read-Only Memory: ROM), 버퍼 메모리(buffer memory), 플래시 메모리(flash memory), 광학(optical) 매체, 자기적(magnetic) 매체, 캐시 메모리, 다른 유형의 스토리지(가령, 소거가능 프로그램가능 판독 전용 메모리(Erasable Programmable Read-Only Memory: EEPROM)) 및/또는 이들의 임의의 적합한 조합을 포함할 수 있으나, 이에 한정되지 않는다. 용어 "머신 판독가능 매체"는 명령어(1210)를 저장할 수 있는 단일 매체 또는 여러 매체(가령, 중앙화된 또는 분산된 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하도록 취해져야 한다. 용어 "머신 판독가능 매체"는 또한 머신(가령, 머신(1200))에 의한 실행을 위한 명령어(가령, 명령어(1210))를, 명령어가 머신의 하나 이상의 프로세서(가령, 프로세서(1204))에 의해 실행되는 경우 머신으로 하여금 본 문서에 기술된 방법론 중 임의의 하나 이상을 수행하게 하도록, 저장하는 것이 가능한 임의의 매체, 또는 여러 매체의 조합을 포함하도록 취해질 것이다. 따라서, "머신 판독가능 매체"는 단일 저장 장치 또는 디바이스는 물론, 여러 저장 장치 또는 디바이스를 포함하는 "클라우드 기반"(cloud-based) 저장 시스템 또는 저장 네트워크도 나타낸다. 용어 "머신 판독가능 매체"는 신호 그 자체는 배제한다.
I/O 컴포넌트(1218)는 입력을 수신하고, 출력을 제공하고, 출력을 산출하고, 정보를 송신하고, 정보를 교환하고, 측정을 포착하고, 기타 등등인 갖가지 컴포넌트를 포함할 수 있다. 특정한 머신에 포함된 구체적인 I/O 컴포넌트(1218)는 머신의 유형에 좌우될 것이다. 예를 들어, 모바일 전화와 같은 휴대가능한 머신은 터치 입력 디바이스 또는 다른 그러한 입력 메커니즘을 포함할 법할 것인 반면, 헤드리스 서버 머신(headless server machine)은 그러한 터치 입력 디바이스를 포함하지 않을 법할 것이다. I/O 컴포넌트(1218)는 도 12에 도시되지 않은 많은 다른 컴포넌트를 포함할 수 있음이 인식될 것이다. I/O 컴포넌트(1218)는 단지 다음의 논의를 단순화하기 위해 기능에 따라 그룹화되며, 그룹화는 결코 한정적이지 않다. 다양한 예시적 실시예에서, I/O 컴포넌트(1218)는 출력 컴포넌트(1226) 및 입력 컴포넌트(1228)를 포함할 수 있다. 출력 컴포넌트(1226)는 시각 컴포넌트(가령, 플라즈마 디스플레이 패널(Plasma Display Panel: PDP), 발광 다이오드(Light Emitting Diode: LED) 디스플레이, 액정 디스플레이(Liquid Crystal Display: LCD), 프로젝터(projector), 또는 음극선관(Cathode Ray Tube: CRT)과 같은 디스플레이), 음향 컴포넌트(가령, 스피커), 촉감 컴포넌트(가령, 진동 모터, 저항(resistance) 메커니즘), 다른 신호 생성기, 기타 등등을 포함할 수 있다. 입력 컴포넌트(1228)는 문자 숫자 입력 컴포넌트(가령, 키보드, 문자 숫자 입력을 수신하도록 구성된 터치 스크린, 광전(photo-optical) 키보드, 또는 다른 문자 숫자 입력 컴포넌트), 포인트 기반 입력 컴포넌트(가령, 마우스, 터치패드, 트랙볼, 조이스틱, 움직임 센서, 또는 다른 포인팅 기구), 촉각적 입력 컴포넌트(가령, 물리적 버튼, 터치 또는 터치 제스처의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 다른 촉각적 입력 컴포넌트), 오디오 입력 컴포넌트(가령, 마이크), 그리고 유사한 것을 포함할 수 있다.
추가의 예시적 실시예에서, I/O 컴포넌트(1218)는 광범위한 다른 컴포넌트 중에서 생체측정 컴포넌트(1230), 움직임(motion) 컴포넌트(1234), 환경적 컴포넌트(1236), 또는 포지션(position) 컴포넌트(1238)를 포함할 수 있다. 예를 들어, 생체측정 컴포넌트(1230)는 표현(가령, 손 표현, 얼굴 표현, 목소리 표현, 신체 제스처, 또는 눈 추적)을 검출하는, 생체신호(가령, 혈압, 심박동수, 체온, 발한, 또는 뇌파)를 측정하는, 사람을 식별하는(가령, 음성 식별, 망막 식별, 안면 식별, 지문 식별, 또는 뇌전도 기반 식별) 등등인 컴포넌트를 포함할 수 있다. 움직임 컴포넌트(1234)는 가속도 센서 컴포넌트(가령, 가속도계(accelerometer)), 중력 센서 컴포넌트, 회전 센서 컴포넌트(가령, 자이로스코프(gyroscope)), 기타 등등을 포함할 수 있다. 환경적 컴포넌트(1236)는, 예를 들어, 조명 센서 컴포넌트(가령, 광도계(photometer)), 온도 센서 컴포넌트(가령, 주변 온도를 검출하는 하나 이상의 온도계(thermometer)), 습도 센서 컴포넌트, 압력 센서 컴포넌트(가령, 기압계(barometer)), 음향 센서 컴포넌트(가령, 배경 잡음을 검출하는 하나 이상의 마이크), 근접성 센서 컴포넌트(가령, 인근의 대상을 검출하는 적외선 센서), 가스 센서(가령, 대기 내의 오염물을 측정하거나 안전을 위해 위험한 가스의 농도를 검출하는 가스 검출 센서), 또는 주위의 물리적 환경에 대응하는 표시(indication), 측정 또는 신호를 제공할 수 있는 다른 컴포넌트를 포함할 수 있다. 포지션 컴포넌트(1238)는 위치 센서 컴포넌트(가령, 글로벌 포지션 시스템(Global Position System: GPS) 수신기 컴포넌트), 고도 센서 컴포넌트(가령, 고도계(altimeter), 또는 고도가 도출될 수 있는 기압을 검출하는 기압계), 배향(orientation) 센서 컴포넌트(가령, 자력계(magnetometer)) 및 유사한 것을 포함할 수 있다.
갖가지 기술을 사용하여 통신이 구현될 수 있다. I/O 컴포넌트(1218)는 각각 커플링(coupling)(1224) 및 커플링(1222)을 통해 머신(1200)을 네트워크(1232) 또는 디바이스(1220)에 커플링하도록 동작가능한 통신 컴포넌트(1240)를 포함할 수 있다. 예를 들어, 통신 컴포넌트(1240)는 네트워크(1232)와 인터페이스하는 네트워크 인터페이스 컴포넌트 또는 다른 적합한 디바이스를 포함한다. 추가의 예에서, 통신 컴포넌트(1240)는 유선 통신 컴포넌트, 무선 통신 컴포넌트, 셀룰러 통신 컴포넌트, 근접장(Near Field Communication: NFC) 컴포넌트, 블루투스(Bluetooth®) 컴포넌트(가령, 블루투스 저 에너지(Bluetooth® Low Energy)), 와이파이(Wi-Fi®) 컴포넌트, 그리고 다른 양태를 통해 통신을 제공하는 다른 통신 컴포넌트를 포함할 수 있다. 디바이스(1220)는 다른 머신이거나 갖가지 주변기기 디바이스(가령, USB를 통해 커플링된 주변기기 디바이스) 중 임의의 것일 수 있다.
더욱이, 통신 컴포넌트(1240)는 식별자를 검출하거나 식별자를 검출하도록 동작가능한 컴포넌트를 포함할 수 있다. 예를 들어, 통신 컴포넌트(1240)는 무선 주파수 식별(Radio Frequency IDentification: RFID) 태그 판독기 컴포넌트, NFC 스마트 태그 검출 컴포넌트, 광학 판독기 컴포넌트(가령, 1차원 바 코드, 예컨대 범용 제품 코드(Universal Product Code: UPC) 바 코드, 다차원 바코드, 예컨대 퀵 리스폰스(Quick Response: QR) 코드, 아즈텍 코드(Aztec Code), 데이터 매트릭스(Data Matrix), 데이터글리프(Dataglyph), 맥시코드(MaxiCode), PDF417, 울트라 코드(Ultra Code), UCC RSS-2D 바 코드 및 다른 광학 코드를 검출하는 광학 센서), 음향 검출 컴포넌트(가령, 태깅된(tagged) 오디오 신호를 식별하는 마이크)를 포함할 수 있다. 추가로, 통신 컴포넌트(1240)를 통해 다양한 정보가, 예컨대 인터넷 프로토콜(Internet Protocol: IP) 지리위치를 통해 위치가, 와이파이(Wi-Fi®) 신호 삼각측량(triangulation)을 통해 위치가, 특정한 위치를 나타낼 수 있는 NFC 비콘(beacon) 신호를 검출하는 것을 통해 위치가, 기타 등등이 도출될 수 있다.
다양한 예시적 실시예에서, 네트워크(1232)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설 네트워크(Virtual Private Network: VPN), 로컬 영역 네트워크(Local Area Network: LAN), 무선 LAN(Wireless LAN: WLAN), 광역 네트워크(Wide Area Network: WAN), 무선 WAN(Wireless WAN: WWAN), 대도시 영역 네트워크(Metropolitan Area Network: MAN), 인터넷, 인터넷의 일부분, 공중 교환 전화 네트워크(Public Switched Telephone Network: PSTN)의 일부분, 평이한 재래식 전화 서비스(Plain Old Telephone Service: POTS) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, 와이파이(Wi-Fi®) 네트워크, 다른 유형의 네트워크, 또는 둘 이상의 그러한 네트워크의 조합일 수 있다. 예를 들어, 네트워크(1232) 또는 네트워크(1232)의 일부분은 무선 또는 셀룰러 네트워크를 포함할 수 있고, 커플링(1224)은 코드 분할 다중 액세스(Code Division Multiple Access: CDMA) 연결, 모바일 통신용 글로벌 시스템(Global System for Mobile communications: GSM) 연결, 또는 다른 유형의 셀룰러 또는 무선 커플링을 포함할 수 있다. 이 예에서, 커플링(1224)은 단일 캐리어 무선 송신 기술(Single Carrier Radio Transmission Technology: 1xRTT), 진화-데이터 최적화(Evolution-Data Optimized: EVDO) 기술, 일반 패킷 무선 서비스(General Packet Radio Service: GPRS) 기술, GSM 진화를 위한 향상된 데이터 레이트(Enhanced Data rates for GSM Evolution: EDGE) 기술, 3G를 비롯한 3세대 파트너쉽 프로젝트(third Generation Partnership Project: 3GPP), 4세대 무선(4G) 네트워크, 범용 모바일 전기통신 시스템(Universal Mobile Telecommunications System: UMTS), 고속 패킷 액세스(High Speed Packet Access HSPA), 마이크로파 액세스용 전세계 상호운영가능성(Worldwide Interoperability for Microwave Access: WiMAX), 롱텀 에볼루션(Long Term Evolution: LTE) 표준, 다양한 표준 설정 기구에 의해 정의된 다른 것, 다른 장거리(long range) 프로토콜, 또는 다른 데이터 전송 기술과 같은, 다양한 유형의 데이터 전송 기술 중 임의의 것을 구현할 수 있다.
명령어(1210)는 네트워크 인터페이스 디바이스(가령, 통신 컴포넌트(1240)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 송신 매체를 사용하여, 그리고 다수의 잘 알려진 전송 프로토콜(가령, 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol: HTTP)) 중 임의의 것을 활용하여 네트워크(1232)를 통하여 송신되거나 수신될 수 있다. 유사하게, 명령어(1210)는 디바이스(1220)에의 커플링(1222)(가령, 피어 대 피어 커플링)을 통해 송신 매체를 사용하여 송신되거나 수신될 수 있다. 용어 "송신 매체"는 임의의 무형적(intangible) 매체(이는 머신(1200)에 의한 실행을 위한 명령어(1210)를 저장, 인코딩(encoding) 또는 전달하는 것이 가능하고, 그러한 소프트웨어의 통신을 가능하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형적 매체를 포함함)를 포함하도록 취해질 것이다.
이 명세서를 통틀어, 단일 인스턴스로서 기술된 컴포넌트, 동작, 또는 구조를 복수의 인스턴스가 구현할 수 있다. 하나 이상의 방법의 개별적인 동작은 별개의 동작으로서 예시되고 기술되나, 개별적인 동작 중 하나 이상은 동시적으로 수행될 수 있고, 어떤 것도 동작이 예시된 순서로 수행될 것을 요구하지 않는다. 예시적 구성에서 별개의 컴포넌트로서 제시된 구조 및 기능은 조합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조 및 기능은 별개의 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 문서에서의 주제의 범위 내에 속한다.
본 문서에서 예시된 실시예는 당업자로 하여금 개시된 교시를 실시할 수 있게 하도록 충분히 상세하게 기술된다. 다른 실시예가 이로부터 사용되고 도출될 수 있는바, 이 개시의 범위로부터 벗어나지 않고서 구조적 및 논리적 대체 및 변경이 행해질 수 있다. 따라서, 상세한 설명은 한정적 의미로 취해져서는 안 되고, 다양한 실시예의 범위는 오직 부기된 청구항(그러한 청구항에 자격이 주어지는 균등물의 전 범위도 함께)에 의해 정의된다.
본 문서에서 사용되는 바와 같이, 용어 "또는"은 포괄적(inclusive) 의미로도 또는 배타적(exclusive) 의미로도 해석될 수 있다. 더욱이, 단일 인스턴스로서 본 문서에서 기술된 리소스, 동작, 또는 구조를 위해 복수의 인스턴스가 제공될 수 있다. 추가적으로, 다양한 리소스, 동작, 모듈, 엔진 및 데이터 스토어 간의 경계는 다소 임의적이며, 특정한 동작은 구체적인 예시적 구성의 맥락에서 예시된다. 기능의 다른 배분이 구상되며, 본 개시의 다양한 실시예의 범위 내에 속할 수 있다. 일반적으로, 예시적 구성에서 별개의 리소스로서 제시된 구조 및 기능은 조합된 구조 또는 리소스로서 구현될 수 있다. 유사하게, 단일 리소스로서 제시된 구조 및 기능은 별개의 리소스로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 부기된 청구항에 의해 나타내어지는 바와 같은 본 개시의 실시예의 범위 내에 속한다. 명세서 및 도면은 이에 따라 제한적인 의미보다는 예시적인 의미로 여겨져야 한다.

Claims (20)

  1. 시스템으로서,
    하나 이상의 컴퓨터 프로세서와,
    하나 이상의 컴퓨터 메모리와,
    상기 하나 이상의 컴퓨터 메모리 내에 포함된 하나 이상의 인공 지능 프레임워크 모듈을 포함하되, 상기 하나 이상의 인공 지능 프레임워크 모듈은 지능형 도우미(intelligent assistant)와의 대화를 가이드하기(guiding) 위한 동작을 수행하도록 상기 하나 이상의 컴퓨터 프로세서를 구성하고, 상기 동작은,
    사용자 디바이스로부터 사용자 발언(user utterance)을 수신하는 것 - 상기 사용자 발언은 상기 지능형 도우미를 수반하는 상기 대화의 일부이되, 상기 대화는 제1 미션(mission)을 추구하는 선행 사용자 발언을 포함함 - 과,
    상기 사용자 발언이 상기 제1 미션으로부터 제2 미션으로의 미션 변경을 지시함(indicate)을 판정하는 것 - 상기 판정은 상기 지시의 확실성(certainty)이 확실성 임계조건을 만족시키는 것에 기반하고, 상기 판정하는 것은 상기 지시의 상기 확실성이 상기 확실성 임계조건을 만족시키지 않는다는 식별에 기반하여, 사용자가 상기 미션 변경을 구하고 있는지에 대해 상기 사용자로부터 명확화(clarification)를 요청하는 것을 포함함 - 과,
    상기 사용자 발언이 상기 제1 미션으로부터 상기 제2 미션으로의 상기 미션 변경을 지시한다는 상기 판정에 응답하여, 상기 제1 미션보다는 상기 제2 미션을 진행하도록 상기 사용자 발언에 대한 답신을 생성하는 것과,
    상기 사용자 디바이스의 사용자 인터페이스에서의 제시를 위해 상기 사용자 디바이스에 상기 답신을 통신하는 것을 포함하는,
    시스템.
  2. 제1항에 있어서,
    상기 동작은 상기 사용자 발언 및 상기 선행 사용자 발언에의 머신 러닝식 모델(machine-learned model)의 적용에 기반하여 상기 확실성을 판정하는 것을 더 포함하되, 상기 머신 러닝식 모델은 시간 기간(time period)에 걸쳐 다른 사용자의 과거 발언으로써 반복적으로 훈련되었고, 상기 머신 러닝식 모델의 상기 훈련은 네트워크 기반 발행 시스템(network-based publication system)의 데이터베이스 내에 저장된 거래 기록에 기반하여 상기 다른 사용자와의 비대화식(non-conversational) 상호작용을 이용하는 것을 포함하는,
    시스템.
  3. 제1항에 있어서,
    상기 사용자로부터 명확화(clarification)를 요청하는 것은, 대화식 텍스트(conversational text)에서 상기 명확화를 요청하는 것을 포함하는,
    시스템.
  4. 제2항에 있어서,
    상기 동작은, 상기 명확화를 수신하는 것에 기반하여, 상기 명확화에 대응하는 라벨을 사용하여 상기 머신 러닝식 모델을 재훈련하는 것을 더 포함하는,
    시스템.
  5. 제1항에 있어서,
    상기 제1 미션은 네트워크 기반 발행 시스템 상의 목록(listing) 내에 특징이 된(featured) 제1 유형의 아이템에 대해 검색하는 것이고 상기 제2 미션은 네트워크 기반 발행 시스템 상의 추가적인 목록 내에 특징이 된 제2 유형의 아이템에 대해 검색하는 것인,
    시스템.
  6. 제1항에 있어서,
    상기 제1 미션의 유형은 특정한 기준을 만족시키는 네트워크 기반 발행 시스템 상에 열거된 아이템의 제안을 얻는 것, 상기 네트워크 기반 발행 시스템을 사용하여 이전에 구입된 아이템에 대응하는 주문을 추적하는 것 및 상기 네트워크 기반 발행 시스템에 관해서 완료된 거래에 관한 피드백을 제출하는 것 중 하나에 관련된,
    시스템.
  7. 제1항에 있어서,
    상기 답신은 상기 제2 미션에 관련된 필터를 조절하는 행동을 수행하도록 상기 사용자에게 지령하되(direct), 상기 필터는 상기 제2 미션에 관련된 다른 사용자에 걸쳐서 집성된 거동(aggregated behavior)에 기반하여 선택된,
    시스템.
  8. 방법으로서,
    네트워크 기반 발행 시스템의 하나 이상의 하드웨어 프로세서로써, 사용자 디바이스로부터 사용자 발언을 수신하는 단계 - 상기 사용자 발언은 지능형 도우미와의 대화의 일부이되, 상기 대화는 제1 미션을 추구하는 선행 사용자 발언을 포함함 - 와,
    상기 사용자 발언이 상기 제1 미션으로부터 제2 미션으로의 미션 변경을 지시함을 판정하는 단계 - 상기 판정은 상기 지시의 확실성이 확실성 임계조건을 만족시키는 것에 기반하고, 상기 판정하는 단계는 상기 지시의 상기 확실성이 상기 확실성 임계조건을 만족시키지 않는다는 식별에 기반하여, 사용자가 상기 미션 변경을 구하고 있는지에 대해 상기 사용자로부터 명확화(clarification)를 요청하는 단계를 포함함 - 와,
    상기 사용자 발언이 상기 제1 미션으로부터 상기 제2 미션으로의 상기 미션 변경을 지시한다는 상기 판정에 응답하여, 상기 제1 미션보다는 상기 제2 미션을 진행하도록 상기 사용자 발언에 대한 답신을 생성하는 단계와,
    상기 답신을 사용자 인터페이스를 통해 텍스트 대 발화(text-to-speech) 출력으로서든 또는 그래픽 디스플레이(graphical display) 출력으로서든 통신하는 단계를 포함하는,
    방법.
  9. 제8항에 있어서,
    상기 사용자 발언 및 상기 선행 사용자 발언에의 머신 러닝식 모델의 적용에 기반하여 상기 확실성을 판정하는 단계를 더 포함하되, 상기 머신 러닝식 모델은 시간 기간에 걸쳐 다른 사용자의 과거 발언으로써 반복적으로 훈련되었고, 상기 머신 러닝식 모델의 상기 훈련은 네트워크 기반 발행 시스템의 데이터베이스 내에 저장된 거래 기록에 기반하여 상기 다른 사용자와의 비대화식 상호작용을 이용하는 것을 포함하는,
    방법.
  10. 제8항에 있어서,
    상기 사용자로부터 명확화를 요청하는 단계는 대화식 텍스트에서 상기 명확화를 요청하는 단계를 포함하는,
    방법.
  11. 제9항에 있어서,
    상기 명확화를 수신하는 것에 기반하여, 상기 명확화에 대응하는 라벨을 사용하여 상기 머신 러닝식 모델을 재훈련하는 단계를 더 포함하는,
    방법.
  12. 제8항에 있어서,
    상기 제1 미션은 네트워크 기반 발행 시스템 상의 목록 내에 특징이 된 제1 유형의 아이템에 대해 검색하는 것이고 상기 제2 미션은 상기 네트워크 기반 발행 시스템 상의 추가적인 목록 내에 특징이 된 제2 유형의 아이템에 대해 검색하는 것인,
    방법.
  13. 제8항에 있어서,
    상기 제1 미션의 유형은 특정한 기준을 만족시키는 네트워크 기반 발행 시스템 상에 열거된 아이템의 제안을 얻는 것, 상기 네트워크 기반 발행 시스템을 사용하여 이전에 구입된 아이템에 대응하는 주문을 추적하는 것 및 상기 네트워크 기반 발행 시스템에 관해서 완료된 거래에 관한 피드백을 제출하는 것 중 하나에 관련된,
    방법.
  14. 제8항에 있어서,
    상기 답신은 상기 제2 미션에 관련된 필터를 조절하는 행동을 수행하도록 상기 사용자에게 지령하되, 상기 필터는 상기 제2 미션에 관련된 다른 사용자에 걸쳐서 집성된 거동에 기반하여 선택된,
    방법.
  15. 하나 이상의 컴퓨터 프로세서에 의해 실행되는 경우, 상기 하나 이상의 컴퓨터 프로세서로 하여금,
    사용자 디바이스로부터 사용자 발언을 수신하는 것 - 상기 사용자 발언은 지능형 도우미와의 대화의 일부이되, 상기 대화는 제1 미션을 추구하는 선행 사용자 발언을 포함함 - 과,
    상기 사용자 발언이 상기 제1 미션으로부터 제2 미션으로의 미션 변경을 지시함을 판정하는 것 - 상기 판정은 상기 지시의 확실성이 확실성 임계조건을 만족시키는 것에 기반하고, 상기 판정하는 것은 상기 지시의 상기 확실성이 상기 확실성 임계조건을 만족시키지 않는다는 식별에 기반하여, 사용자가 상기 미션 변경을 구하고 있는지에 대해 상기 사용자로부터 명확화(clarification)를 요청하는 것을 포함함 - 과,
    상기 사용자 발언이 상기 제1 미션으로부터 상기 제2 미션으로의 상기 미션 변경을 지시한다는 상기 판정에 응답하여, 상기 제1 미션보다는 상기 제2 미션을 진행하도록 상기 사용자 발언에 대한 답신을 생성하는 것과,
    상기 답신을 사용자 인터페이스를 통해 텍스트 대 발화 출력으로서든 또는 그래픽 디스플레이 출력으로서든 통신하는 것을 포함하는 동작을 수행하게 하는 명령어를 포함하는
    비일시적 머신 판독가능 저장 매체(non-transitory machine-readable storage medium).
  16. 제15항에 있어서,
    상기 동작은 상기 사용자 발언 및 상기 선행 사용자 발언에의 머신 러닝식 모델의 적용에 기반하여 상기 확실성을 판정하는 것을 더 포함하되, 상기 머신 러닝식 모델은 시간 기간에 걸쳐 다른 사용자의 과거 발언으로써 반복적으로 훈련되었고, 상기 머신 러닝식 모델의 상기 훈련은 네트워크 기반 발행 시스템의 데이터베이스 내에 저장된 거래 기록에 기반하여 상기 다른 사용자와의 비대화식 상호작용을 이용하는 것을 포함하는,
    비일시적 머신 판독가능 저장 매체.
  17. 제15항에 있어서,
    상기 사용자로부터 명확화를 요청하는 것은 대화식 텍스트에서 상기 명확화를 요청하는 것을 포함하는,
    비일시적 머신 판독가능 저장 매체.
  18. 제16항에 있어서,
    상기 동작은, 상기 명확화를 수신하는 것에 기반하여, 상기 명확화에 대응하는 라벨을 사용하여 상기 머신 러닝식 모델을 재훈련하는 것을 더 포함하는,
    비일시적 머신 판독가능 저장 매체.
  19. 제15항에 있어서,
    상기 제1 미션은 네트워크 기반 발행 시스템 상의 목록 내에 특징이 된 제1 유형의 아이템에 대해 검색하는 것이고 상기 제2 미션은 상기 네트워크 기반 발행 시스템 상의 추가적인 목록 내에 특징이 된 제2 유형의 아이템에 대해 검색하는 것인,
    비일시적 머신 판독가능 저장 매체.
  20. 제15항에 있어서,
    상기 제1 미션의 유형은 특정한 기준을 만족시키는 네트워크 기반 발행 시스템 상에 열거된 아이템의 제안을 얻는 것, 상기 네트워크 기반 발행 시스템을 사용하여 이전에 구입된 아이템에 대응하는 주문을 추적하는 것 및 상기 네트워크 기반 발행 시스템에 관해서 완료된 거래에 관한 피드백을 제출하는 것 중 하나에 관련된,
    비일시적 머신 판독가능 저장 매체.
KR1020197030669A 2017-03-20 2018-03-19 대화 중 미션 변경의 검출 KR102318502B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762473816P 2017-03-20 2017-03-20
US62/473,816 2017-03-20
PCT/US2018/023087 WO2018175291A1 (en) 2017-03-20 2018-03-19 Detection of mission change in conversation

Publications (2)

Publication Number Publication Date
KR20190131065A KR20190131065A (ko) 2019-11-25
KR102318502B1 true KR102318502B1 (ko) 2021-10-29

Family

ID=63520670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197030669A KR102318502B1 (ko) 2017-03-20 2018-03-19 대화 중 미션 변경의 검출

Country Status (4)

Country Link
US (2) US11170769B2 (ko)
KR (1) KR102318502B1 (ko)
CN (1) CN110692048B (ko)
WO (1) WO2018175291A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110692048B (zh) 2017-03-20 2023-08-15 电子湾有限公司 会话中任务改变的检测
US10650844B2 (en) * 2018-01-18 2020-05-12 Wipro Limited Method and response recommendation system for recommending a response for a voice-based user input
US10706086B1 (en) * 2018-03-12 2020-07-07 Amazon Technologies, Inc. Collaborative-filtering based user simulation for dialog systems
US10777203B1 (en) * 2018-03-23 2020-09-15 Amazon Technologies, Inc. Speech interface device with caching component
EP3557439A1 (en) * 2018-04-16 2019-10-23 Tata Consultancy Services Limited Deep learning techniques based multi-purpose conversational agents for processing natural language queries
US11699179B2 (en) * 2018-05-08 2023-07-11 Myntra Designs Private Limited Size and fitting recommendation systems and method for fashion products
US11023787B2 (en) * 2018-10-19 2021-06-01 Oracle International Corporation Method, system and program for generating decision trees for chatbots dialog flow capabilities
US11120109B2 (en) 2018-12-05 2021-09-14 Bank Of America Corporation Processing authentication requests to secured information systems based on machine-learned event profiles
US11159510B2 (en) 2018-12-05 2021-10-26 Bank Of America Corporation Utilizing federated user identifiers to enable secure information sharing
US11036838B2 (en) 2018-12-05 2021-06-15 Bank Of America Corporation Processing authentication requests to secured information systems using machine-learned user-account behavior profiles
US11176230B2 (en) 2018-12-05 2021-11-16 Bank Of America Corporation Processing authentication requests to secured information systems based on user behavior profiles
US11113370B2 (en) 2018-12-05 2021-09-07 Bank Of America Corporation Processing authentication requests to secured information systems using machine-learned user-account behavior profiles
US11048793B2 (en) 2018-12-05 2021-06-29 Bank Of America Corporation Dynamically generating activity prompts to build and refine machine learning authentication models
US11194448B2 (en) 2019-03-04 2021-12-07 Samsung Electronics Co., Ltd. Apparatus for vision and language-assisted smartphone task automation and method thereof
CN109992652B (zh) * 2019-03-25 2023-04-28 联想(北京)有限公司 一种信息回复方法、装置、设备及存储介质
US11475496B1 (en) * 2019-03-27 2022-10-18 Amazon Technologies, Inc. Personalized taxonomy to support a voice-based interface on a user device
US10540700B1 (en) * 2019-04-11 2020-01-21 RoboSystems, Inc. Personal shopping assistant
CN110232108B (zh) * 2019-05-13 2023-02-03 华为技术有限公司 人机对话方法以及对话系统
WO2020246969A1 (en) 2019-06-05 2020-12-10 Hewlett-Packard Development Company, L.P. Missed utterance resolutions
US11954602B1 (en) * 2019-07-10 2024-04-09 Optum, Inc. Hybrid-input predictive data analysis
CN110347817B (zh) * 2019-07-15 2022-03-18 网易(杭州)网络有限公司 智能应答方法及装置、存储介质、电子设备
US11289086B2 (en) * 2019-11-01 2022-03-29 Microsoft Technology Licensing, Llc Selective response rendering for virtual assistants
US11676586B2 (en) * 2019-12-10 2023-06-13 Rovi Guides, Inc. Systems and methods for providing voice command recommendations
KR20210113488A (ko) 2020-03-05 2021-09-16 삼성전자주식회사 사용 로그 분석에 의한 보이스 에이전트의 새 기능을 자동적으로 추출하는 방법 및 장치
CN111583907B (zh) * 2020-04-15 2023-08-15 北京小米松果电子有限公司 信息处理方法、装置及存储介质
JP6771251B1 (ja) * 2020-04-24 2020-10-21 株式会社インタラクティブソリューションズ 音声解析システム
US11443510B2 (en) * 2020-08-03 2022-09-13 Motorola Solutions, Inc. Method, system and computer program product that provides virtual assistance in facilitating visual comparison
CN112307179A (zh) * 2020-10-21 2021-02-02 深圳技术大学 文本匹配方法、装置、设备及存储介质
CN112735407B (zh) * 2020-12-24 2023-07-21 北京三快在线科技有限公司 一种对话处理方法及装置
US11762871B2 (en) 2021-01-29 2023-09-19 Walmart Apollo, Llc Methods and apparatus for refining a search
US11650980B2 (en) 2021-01-29 2023-05-16 Walmart Apollo, Llc Methods and apparatus for retrieving information via an intermediate representation
CN112818107B (zh) * 2021-02-24 2023-10-31 中国人民大学 一种用于日常生活的对话机器人及其聊天方法
AU2022341038A1 (en) * 2021-08-31 2024-02-29 Shopify Inc. Dynamic labeling of and generating indications of real-time communication sessions
WO2023048353A1 (en) * 2021-09-21 2023-03-30 Samsung Electronics Co., Ltd. Method for providing a personalized response for an electronic device
US20230088513A1 (en) * 2021-09-22 2023-03-23 International Business Machines Corporation Multiuser voice command visualization
CN113689152B (zh) * 2021-10-26 2022-02-18 北京明略昭辉科技有限公司 故障预警的处理方法和装置、电子设备和存储介质
CN114661899A (zh) * 2022-02-15 2022-06-24 北京结慧科技有限公司 一种任务创建方法、装置、计算机设备和存储介质

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905789A (en) * 1996-10-07 1999-05-18 Northern Telecom Limited Call-forwarding system using adaptive model of user behavior
US6144938A (en) * 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
US6236968B1 (en) * 1998-05-14 2001-05-22 International Business Machines Corporation Sleep prevention dialog based car system
US20120296974A1 (en) * 1999-04-27 2012-11-22 Joseph Akwo Tabe Social network for media topics of information relating to the science of positivism
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
JP2001188784A (ja) * 1999-12-28 2001-07-10 Sony Corp 会話処理装置および方法、並びに記録媒体
US6757362B1 (en) * 2000-03-06 2004-06-29 Avaya Technology Corp. Personal virtual assistant
US7319992B2 (en) * 2000-09-25 2008-01-15 The Mission Corporation Method and apparatus for delivering a virtual reality environment
US6731307B1 (en) * 2000-10-30 2004-05-04 Koninklije Philips Electronics N.V. User interface/entertainment device that simulates personal interaction and responds to user's mental state and/or personality
GB2372864B (en) * 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
US20050131837A1 (en) * 2003-12-15 2005-06-16 Sanctis Jeanne D. Method, system and program product for communicating e-commerce content over-the-air to mobile devices
US7831433B1 (en) * 2005-02-03 2010-11-09 Hrl Laboratories, Llc System and method for using context in navigation dialog
US20110106614A1 (en) * 2005-11-01 2011-05-05 Jumptap, Inc. Mobile User Characteristics Influenced Search Results
US8073681B2 (en) * 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
KR101453382B1 (ko) * 2008-09-08 2014-10-21 에스케이커뮤니케이션즈 주식회사 사용자별 검색어 추천 시스템과 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
US9805020B2 (en) * 2009-04-23 2017-10-31 Deep Sky Concepts, Inc. In-context access of stored declarative knowledge using natural language expression
DE112011100329T5 (de) * 2010-01-25 2012-10-31 Andrew Peter Nelson Jerram Vorrichtungen, Verfahren und Systeme für eine Digitalkonversationsmanagementplattform
WO2011116309A1 (en) * 2010-03-19 2011-09-22 Digimarc Corporation Intuitive computing methods and systems
US8595005B2 (en) * 2010-05-31 2013-11-26 Simple Emotion, Inc. System and method for recognizing emotional state from a speech signal
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
US20120130969A1 (en) * 2010-11-18 2012-05-24 Microsoft Corporation Generating context information for a search session
US9223786B1 (en) * 2011-03-15 2015-12-29 Motion Reality, Inc. Communication in a sensory immersive motion capture simulation environment
US8473293B1 (en) * 2012-04-17 2013-06-25 Google Inc. Dictionary filtering using market data
US10019994B2 (en) * 2012-06-08 2018-07-10 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US20170185596A1 (en) * 2012-07-16 2017-06-29 Gary Spirer Trigger-based content presentation
US9424233B2 (en) * 2012-07-20 2016-08-23 Veveo, Inc. Method of and system for inferring user intent in search input in a conversational interaction system
US11151899B2 (en) * 2013-03-15 2021-10-19 Apple Inc. User training by intelligent digital assistant
US11023947B1 (en) * 2013-03-15 2021-06-01 Overstock.Com, Inc. Generating product recommendations using a blend of collaborative and content-based data
US11676192B1 (en) * 2013-03-15 2023-06-13 Overstock.Com, Inc. Localized sort of ranked product recommendations based on predicted user intent
WO2014144949A2 (en) * 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
US9276855B1 (en) * 2013-07-16 2016-03-01 Google Inc. Systems and methods for providing navigation filters
US9613619B2 (en) * 2013-10-30 2017-04-04 Genesys Telecommunications Laboratories, Inc. Predicting recognition quality of a phrase in automatic speech recognition systems
US10872350B1 (en) * 2013-12-06 2020-12-22 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
US9196244B2 (en) * 2014-01-08 2015-11-24 Nuance Communications, Inc. Methodology for enhanced voice search experience
KR102425917B1 (ko) * 2014-01-28 2022-07-26 스피치 센츠 게엠베하 자동으로 텍스트의 의미를 검출하고 텍스트의 일의성을 측정하기 위한 방법
FR3023031A1 (fr) * 2014-06-25 2016-01-01 Renaud Maroy Procede d'identification d'un mouvement par filtrage bayesien recursif quantifie
US9940659B1 (en) * 2014-12-18 2018-04-10 Amazon Technologies, Inc. Category preferred layout for items in an electronic marketplace
EP3259754B1 (en) * 2015-02-16 2022-06-15 Samsung Electronics Co., Ltd. Method and device for providing information
US10050918B2 (en) * 2015-03-27 2018-08-14 International Business Machines Corporation Dynamic thread management for online conversations
JP2017049471A (ja) * 2015-09-03 2017-03-09 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
CN105138710B (zh) * 2015-10-12 2019-02-19 金耀星 一种聊天代理系统及方法
US10431205B2 (en) * 2016-04-27 2019-10-01 Conduent Business Services, Llc Dialog device with dialog support generated using a mixture of language models combined using a recurrent neural network
US10417566B2 (en) * 2016-05-22 2019-09-17 Microsoft Technology Licensing, Llc Self-learning technique for training a PDA component and a simulated user component
US11093711B2 (en) * 2016-09-28 2021-08-17 Microsoft Technology Licensing, Llc Entity-specific conversational artificial intelligence
CN110692048B (zh) 2017-03-20 2023-08-15 电子湾有限公司 会话中任务改变的检测

Also Published As

Publication number Publication date
CN110692048B (zh) 2023-08-15
US11170769B2 (en) 2021-11-09
WO2018175291A1 (en) 2018-09-27
CN110692048A (zh) 2020-01-14
US20220020375A1 (en) 2022-01-20
US20180268818A1 (en) 2018-09-20
KR20190131065A (ko) 2019-11-25

Similar Documents

Publication Publication Date Title
KR102318502B1 (ko) 대화 중 미션 변경의 검출
US11775844B2 (en) Visual aspect localization presentation
US11907309B2 (en) Expandable service architecture with configurable dialogue manager
US11914636B2 (en) Image analysis and prediction based visual search
KR102197023B1 (ko) 다음 사용자 프롬프트 유형 선택하기
US11704926B2 (en) Parallel prediction of multiple image aspects
US20180068031A1 (en) Enhancing user queries using implicit indicators
US11126685B2 (en) Preview and optimization of publication for target computing device
US20180157681A1 (en) Anchored search
US20180107682A1 (en) Category prediction from semantic image clustering
US20180053233A1 (en) Expandable service architecture with configurable orchestrator

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right