KR20220056228A - 컴퓨터 스크린 상의 디스플레이를 위한 인터페이스의 실시간 모핑 - Google Patents

컴퓨터 스크린 상의 디스플레이를 위한 인터페이스의 실시간 모핑 Download PDF

Info

Publication number
KR20220056228A
KR20220056228A KR1020227010952A KR20227010952A KR20220056228A KR 20220056228 A KR20220056228 A KR 20220056228A KR 1020227010952 A KR1020227010952 A KR 1020227010952A KR 20227010952 A KR20227010952 A KR 20227010952A KR 20220056228 A KR20220056228 A KR 20220056228A
Authority
KR
South Korea
Prior art keywords
interface
user input
intent
user
input
Prior art date
Application number
KR1020227010952A
Other languages
English (en)
Inventor
솅 유
Original Assignee
브레인 테크놀러지스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브레인 테크놀러지스, 인코포레이티드 filed Critical 브레인 테크놀러지스, 인코포레이티드
Publication of KR20220056228A publication Critical patent/KR20220056228A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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
    • 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/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

모핑 인터페이스 시스템은 사용자가 입력의 부분을 제공함에 따라 클라이언트 디바이스 상의 디스플레이를 업데이트, 즉 모핑한다. 시스템은 사용자 입력의 제1 부분을 수신하고, 사용자 입력의 부분과 매칭되거나 연관될 수 있는 사용자의 예측된 의도와 관련된 의도를 선택한다. 시스템은 클라이언트 디바이스에서 의도와 연관된 인터페이스를 디스플레이한다. 시스템은 추가로, 사용자 입력의 제1 부분으로부터 의도의 실행과 연관된 엔티티 값을 추출한다. 사용자가 입력의 추가 부분을 제공함에 따라, 모핑 인터페이스 시스템은 사용자 입력을 재평가하고, 사용자 입력이 여전히 동일한 사용자 의도, 따라서 동일한 실행 의도를 나타내는지 여부를 결정한다. 추가 입력이 다른 사용자 의도를 나타낸다고 결정하면, 시스템은 새로운 의도와 연관된 인터페이스를 표시하도록 디스플레이를 업데이트한다.

Description

컴퓨터 스크린 상의 디스플레이를 위한 인터페이스의 실시간 모핑
관련 출원의 교차 참조
본원은 2019년 9월 4일자로 출원된 미국 임시 출원 제62/895,944호, 및 2020년 6월 12일자로 출원된 미국 임시 출원 제63/038,604호의 이익을 주장하며, 이들 모두는 그 전체 내용이 본원에 인용되어 포함된다.
스마트 스피커 및 인공 지능 프로그램과 같은 컴퓨터 보조 장치는 인기가 높아지고 있으며, 다양한 사용자 대면(user-facing) 시스템에서 사용되고 있다. 컴퓨터화된 시스템은 종종, 시스템의 인간 사용자가 프로세스에 대한 이해하지 않아도, 전체 프로세스가 자동화되도록 구현될 수 있다. 예를 들어, 컴퓨터는 사용자를 위해 스크린에 콘텐츠를 디스플레이할 필요 없이 일 세트의 작업을 완료할 수 있다. 그러나, 많은 사용자는 컴퓨터화된 프로세스에 관한 피드백을 받는 것을 선호하고, 사용자가 특정 단계에서 피드백을 제공해야 하는 경우, 사용자가 일 세트의 작업의 상태를 이해하는 것이 유용하거나 필요할 수 있다.
또한, 사용자는 보조 시스템이 가능한 신속하게 응답하기를 원한다. 그러나, 시스템이 사용자로부터의 전체 일 세트의 명령어를 받기 전에 사용자에게 응답하는 경우, 시스템은 사용자에게 적용할 수 없는 작업을 수행할 수 있거나, 사용자가 보는 스크린에 콘텐츠를 디스플레이하기에 충분한 정보를 받지 못했을 수 있다. 따라서, 예를 들어, 추가 입력에 대한 응답으로 디스플레이를 조정할 수 있는 기능과 함께 자동화된 작업의 진행 상황을 실시간으로 디스플레이하는 것을 포함하는 시스템이 유익할 것이다.
도 1은 예시적인 실시형태에 따른, 모핑 인터페이스 시스템을 위한 시스템 아키텍처의 상위 레벨 블록도이다.
도 2는 예시적인 실시형태에 따른, 모핑 인터페이스 시스템(130)의 구성요소 사이의 상호작용의 상위 레벨 다이어그램이다.
도 3은 예시적인 실시형태에 따른 예시적인 NLP 신호를 예시하는 블록도이다.
도 4a는 예시적인 실시형태에 따른, 사용자 입력으로부터 인터페이스를 생성하는 프로세스를 예시하는 흐름도이다.
도 4b는 일 실시형태에 따른, 추가적인 사용자 입력의 수신 시에 인터페이스를 모핑하는 프로세스를 예시하는 흐름도이다.
도 5a는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제1 레이아웃을 예시한다.
도 5b는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제2 레이아웃을 예시한다.
도 5c는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제3 레이아웃을 예시한다.
도 5d는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제4 레이아웃을 예시한다.
도 5e는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제5 레이아웃을 예시한다.
도 5f는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제6 레이아웃을 예시한다.
도 5g는 예시적인 실시형태에 따른, 항공편 예약 의도의 실행의 이메일 확인을 예시한다.
도 6a는 예시적인 실시형태에 따른, 피자 주문 의도와 연관된 사용자 입력의 제1 부분의 수신을 예시한다.
도 6b는 예시적인 실시형태에 따른 피자 주문과 연관된 인터페이스에 대해 디스플레이되는 레이아웃을 예시한다.
도 6c는 예시적인 실시형태에 따른, 피자 티셔츠 구매와 연관된 인터페이스에 대해 디스플레이되는 레이아웃을 예시한다.
도 6d는 예시적인 실시형태에 따른, 티셔츠 구매 의도와 연관될 수 있는 추가적인 예시적인 인터페이스를 예시한다.
도 7은 예시적인 실시형태에 따른, 머신-판독가능 매체로부터 명령어들을 판독하고, 이들을 하나 이상의 프로세서에서 실행할 수 있는 예시적인 머신의 구성요소를 예시하는 블록도이다.
"105A"와 같이 참조 번호 뒤의 문자는 텍스트가 해당 특정 참조 번호를 갖는 요소를 구체적으로 나타내는 반면, "105"와 같이 뒤따르는 문자가 없는 텍스트의 참조 번호는 해당 참조 번호를 포함하는 도면의 요소들의 어느 하나 또는 모두를 나타낸다.
도면은 단지 예시의 목적을 위해 다양한 실시형태를 도시한다. 당업자는 본원에서 설명된 원리로부터 벗어나지 않으면서 본원에 예시된 구조 및 방법의 대안적인 실시형태가 채용될 수 있다는 점을 다음 논의로부터 쉽게 인식할 것이다.
도면(도) 및 다음 설명은 단지 예시인 바람직한 실시형태에 관한 것이다. 다음 논의로부터, 본원에 개시된 구조 및 방법의 대안적인 실시형태가 청구범위의 원리로부터 벗어나지 않으면서 채용될 수 있는 실행 가능한 대안으로서 쉽게 인식될 것이라는 점이 주의된다.
이제 몇 가지 실시형태가 상세히 참조될 것이며, 이의 실시예는 수반되는 도면에 예시된다. 유사하거나 같은 기능을 나타내기 위해, 실현 가능한 경우, 유사하거나 같은 참조 번호가 도면에서 사용될 수 있다는 점이 주의된다. 도면은 단지 예시의 목적을 위해, 개시되는 시스템(또는 방법)의 실시형태를 도시한다. 당업자는 본원에서 설명된 원리로부터 벗어나지 않으면서 본원에 예시된 구조 및 방법의 대안적인 실시형태가 채용될 수 있다는 점을 다음 설명으로부터 쉽게 인식할 것이다.
구성 개요
컴퓨터 스크린 상에서의 디스플레이를 위해 사용자 인터페이스들을 생성하고 활성화시키도록 구성된 시스템들(뿐만 아니라 비일시적 컴퓨터 판독 가능 매체에 저장된 방법 및 컴퓨터 프로그램 코드)이 개시된다. 일 예시적인 실시형태에서, 시스템은 컴퓨터 프로그램 명령어를 실행하기 위한 하나 이상의 컴퓨터 프로세서, 및 적어도 하나의 프로세서에 의해 실행 가능한 저장된 명령어를 포함하는 비일시적인 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다. 일 예시적인 실시형태에서, 명령어는 실행될 때, 프로세서로 하여금 입력 스트링(string)을 포함하는 제1 입력을 제1 사용자 디바이스로부터 수신하게 하고, 제1 사용자 입력에 기반하여 일 세트의 자연어 처리 신호를 생성하게 하는 명령어를 포함할 수 있다. 명령어는, 제1 사용자 입력과 매칭되는 의도를 사용자 선택하고(이 선택은 자연어 처리 신호에 기반함), 의도와 연관된 인터페이스를 식별하고, 사용자 입력으로부터 인터페이스의 엔티티와 연관된 일 세트의 값을 추출하는 명령어를 더 포함할 수 있다. 엔티티는 값이 할당될 수 있는 인터페이스의 변수일 수 있다. 일 예시적인 실시형태에서, 명령어는 일 세트의 값으로부터의 값을 포함하는 디스플레이를 위한 인터페이스를 사용자 디바이스 상의 인터페이스로서 디스플레이를 가능하게 하는 명령어들 더 포함할 수 있으며, 디스플레이는 제1 사용자 입력의 수신과 거의 동시에 발생된다. 일 예시적인 실시형태에서, 시스템의 적어도 하나의 프로세서에 의해서 실행 가능한 명령어는, 프로세서에 의해 실행될 때, 프로세서로 하여금 텍스트 스트링을 포함하는 제2 사용자 입력을 사용자 디바이스로부터 수신하게 하고, 제1 사용자 입력과 제2 사용자 입력의 조합에 기반하여 업데이트된 일 세트의 자연어 처리 신호를 생성하게 하는 명령어를 더 포함할 수 있다. 명령어는, 제1 사용자 입력과 제2 사용자 입력의 조합과 매칭되는 의도를 선택하는 명령어(이 선택은 업데이트된 일 세트의 자연어 처리 신호에 기반함), 새롭게 선택된 의도와 연관된 제2 인터페이스를 식별하는 명령어, 제1 사용자 입력과 제2 사용자 입력의 조합으로부터, 제2 인터페이스의 엔티티와 연관된 제2 세트의 값을 추출하는 명령어, 및 제2 세트의 값으로부터의 값을 포함하는 사용자 디바이스 상에서의 디스플레이를 위해 제2 인터페이스를 활성화하는 명령어를 더 포함할 수 있다.
다양한 예시적인 실시형태에서, 제1 사용자 입력 및/또는 제2 사용자 입력은 목소리 입력일 수 있다. 또한, 제1 인터페이스 및 제2 인터페이스는 연관된 세트의 엔티티를 포함할 수 있고, 다양한 예시적인 실시형태에서 동일하거나 상이한 인터페이스일 수 있다. 입력 스트링은 텍스트 스트링, 오디오 입력 및/또는 다른 형태의 사용자 입력일 수 있다.
예시적인 시스템 구성
도 1은 예시적인 실시형태에 따른, 모핑 인터페이스 시스템을 위한 시스템 아키텍처의 상위 레벨 블록도이다. 도 1은 모핑 인터페이스 시스템(130), 네트워크(120), 및 클라이언트 디바이스(110)를 포함한다. 명료성을 위해, 단지 하나의 클라이언트 디바이스 및 하나의 모핑 인터페이스 시스템(130)이 도 1에 도시된다. 시스템 환경의 대안적인 실시형태는 다수의 클라이언트 디바이스(110) 뿐만 아니라 다수의 모핑 인터페이스 시스템(130)을 가질 수 있다. 도 1의 다양한 엔티티에 의해 수행되는 기능은 상이한 실시형태에서 변할 수 있다. 클라이언트 디바이스(110) 및 모핑 인터페이스 시스템(130)은 도 7에 설명된 것과 같은 컴퓨팅 디바이스의 구성요소 중 일부 또는 전부 및 적절한 운영 체제를 포함할 수 있다.
예시적인 실시형태에서, 모핑 인터페이스 시스템(130)은 사용자 입력(예를 들어, 타이핑된 또는 발화된 텍스트 스트링)에 응답하여 사용자에 대한 디스플레이를 위한 사용자 인터페이스를 생성한다(또는 렌더링하거나, 렌더링을 가능하게 한다). 일부 실시형태에서, 시스템은 또한, 예를 들어, 온라인 시장에서 검색 프로세스를 실시하기 위해서 클라이언트 디바이스(110)의 카메라 또는 카메라 롤(camera roll)로부터 시각적 입력을 수신할 수 있다. 모핑 인터페이스 시스템(130)은 사용자 의도를 결정한다. 사용자 의도는 수신된 사용자 입력에 기반하여 사용자에 의해서 의도될 수 있는 것의 기계(예: 컴퓨터 또는 컴퓨팅 시스템) 예측에 대응된다. 따라서, 사용자 의도는, 수신된 사용자 입력에 대응되고/되거나, 이에 의해 설명되는 컴퓨터 실행 가능한 기능 또는 요청(request)일 수 있다. 실행 가능한 기능은, 실행될 수 있는, 그리고 예측된 의도일 수 있는 것에 대응되는 기능을 위한 하나 이상의 사용자 인터페이스를 생성함으로써 그리고/또는 채움(populate)으로써 인스턴스화(instantiate)될 수 있다.
모핑 인터페이스 시스템(130)이 추가 사용자 입력(예를 들어, 타이핑되거나 발화된 텍스트 스트링에 추가된 더 많은 단어)을 수신함에 따라, 모핑 인터페이스 시스템(130)은 결정된 사용자 의도가 여전히 사용자 입력에 가장 연관성이 높은 매칭인지 여부를 재평가한다. 다른 사용자 의도가 업데이트된 사용자 입력에 더 적합하다면, 모핑 인터페이스 시스템(130)은 새로운 의도에 적용되는 새로운 사용자 인터페이스를 생성하고 채운다. 즉, 모핑 인터페이스 시스템(130)이, 어떤 사용자 의도가 입력에 가장 잘 적용되는지, 즉 어떤 기능 또는 요청이 사용자 입력을 가장 잘 처리하는지에 관한 더 많은 입력 정보를 수신함에 따라, 사용자 인터페이스는 한 인터페이스로부터 다른 인터페이스로 모핑된다. 모핑 인터페이스 시스템(130)이 다수의 동등하게 가능성 있는 의도를 결정하는 경우, 모핑 인터페이스 시스템(130)은 (예를 들어, 클라이언트 디바이스(110)에서 인터페이스 프리뷰를 렌더링하기 위한 정보를 제공함으로써) 사용자에게 인터페이스 프리뷰들을 프롬프트하여 사용자가 동등하게 가능성 있는 의도들 사이에서 선택할 수 있게 하거나, 모핑 인터페이스 시스템(130)이 (예를 들어, 시스템과의 과거 사용자 상호작용에 기반하여 학습된 바와 같이) 저장된 사용자 선호도에 기반하여 의도를 자동으로 선택할 수 있다.
사용자는 클라이언트 디바이스(110)를 통해 타이핑된 텍스트 또는 발화된 목소리 입력과 같은 사용자 입력을 입력할 수 있다. 클라이언트 디바이스(110)는, 스마트폰, 태블릿, 노트북 컴퓨터, 랩탑, 데스크탑 컴퓨터, 및 스마트워치와 같은 개인 또는 모바일 컴퓨팅 디바이스는 물론 텔레비전, 비디오 게임 콘솔, 텔레비전 박스, 및 수신기와 같은 홈 엔터테인먼트 디바이스일 수 있다. 클라이언트 디바이스(110)는 모핑 인터페이스 시스템(130)으로부터 수신된 정보를 사용자에게, 예를 들어, 사용자 인터페이스의 형태로 제공할 수 있다. 일부 실시형태에서, 모핑 인터페이스 시스템(130)은 클라이언트 디바이스(110)와 동일한 기계로부터 저장되고 실행될 수 있다.
클라이언트 디바이스(110)는 네트워크(120)를 통해 모핑 인터페이스 시스템(130)과 통신될 수 있다. 네트워크(120)는 유선 또는 무선 통신 링크를 사용하는 근거리 및 광역 네트워크의 임의의 조합을 포함할 수 있다. 일부 실시형태에서, 네트워크(120)의 통신의 전부 또는 일부가 암호화될 수 있다.
모핑 인터페이스 시스템(130)은, 의도를 결정하고/하거나 인터페이스를 생성하기 위한 다양한 모듈 및 데이터 저장소를 포함한다. 모핑 인터페이스 시스템(130)은 자연어 처리(NLP) 파이프라인(135), 의도 인식 모듈(140), 엔티티 인식 모듈(145), 의도 모델 저장소(150), 인터페이스 저장소(155), 및 엔티티 인식 모델 저장소(160)를 포함한다. 웹 서버, 네트워크 인터페이스, 보안 기능, 로드 밸런서, 장애 조치 서버, 관리 및 네트워크 운영 콘솔 등과 같은 컴퓨터 구성요소는 시스템 아키텍처의 세부 사항을 모호하게 하지 않도록 하기 위해서 도시되지 않는다. 추가로, 모핑 인터페이스 시스템(130)은 도 1에 도시된 것보다 더 많거나 더 적거나 다른 구성요소를 포함할 수 있고, 여기에 설명된 구성요소의 기능은 본원의 설명과 다르게 분포될 수 있다. 파이프라인 및 모듈이 프로그램 코드(예: 소프트웨어 또는 펌웨어), 하드웨어(예: 주문형 집적 회로(ASIC: application specific integrated circuit), 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array), 컨트롤러, 프로세서) 또는 이들의 조합으로서 구현될 수 있다는 점이 주의된다.
NLP 파이프라인(135)은, 예를 들어 텍스트 또는 오디오의 형태로 사용자 입력을 수신하고, 모핑 인터페이스 시스템(130)이 의도 인식 및 엔티티 추출을 위해 사용할 수 있는 NLP 신호를 생성한다. 일부 실시형태에서, NLP 파이프라인(135)은 토큰화, 품사 태깅, 어간 추출(stemming), 표제어 추출(lemmatization), 불용어 식별, 의존 구문 파싱(dependency parsing), 엔티티 추출, 청킹, 의미역 라벨링(semantic role labeling), 및 상호참조 해결(coreference resolution)을 수행한다. 일 실시형태에서, NLP 파이프라인에 대한 입력은, 예를 들어, 완전한 또는 부분적으로 완전한 문장 또는 문구의 형태로 된 하나 이상의 단어의 세트이다. 일 실시형태에서, NLP 파이프라인(135)은 단어의 입력 세트의 어노테이트된(annotated) 버전을 생성한다. 다른 실시형태에서, NLP 파이프라인(135)은, 의도 인식 모듈(140) 또는 엔티티 인식 모듈(145)과 같은 신경망을 사용할 수 있는 다운스트림 모듈에 의한 즉각적인 소비를 위해 수치 표현 또는 피쳐 임베딩을 구성하거나 조회한다. 예를 들어, NLP 파이프라인(135)에 대한 입력은 부분 문장일 수 있고, 출력은 부분 문장에 대한 수반된 메타데이터를 구비하는 부분 문장일 수 있다.
의도 인식 모듈(140)은 (클라이언트 디바이스(110)를 통해) 사용자로부터 수신된 입력에 기반하여 사용자의 의도일 수 있는 것을 식별한다. 특히, 의도 인식 모듈(140)은 모핑 인터페이스 시스템(130)이 수행할 수 있는 이용 가능한 의도(즉, 기능)를 예측한다. 사용 가능한 의도는 사용자 입력을 구성하는 단어의 세트에 대응된다. 사용자 입력은 하나 이상의 미리 정의된 의도에 매칭될 수 있다. 논의의 편의를 위해, 시스템은 단어의 맥락에서 설명된다. 그러나, 여기에 설명된 원리는 또한, 사운드 동작(예: 목소리 명령 또는 오디오 톤), 비디오 스트림(예: 주변 컴퓨팅 시나리오에서) 및 기타 잠재적인 형태의 정보 입력을 포함할 수 있는, 임의의 신호 세트에 적용될 수 있다는 점이 주의된다. 다른 실시형태에서, 의도 인식 모듈(140)은 사용자 입력과 연관될 수 있는 의도를 결정하기 위해 다양한 기계 학습 모델을 사용할 수 있다. 설명의 편의를 위해, 시스템은 지도 머신 러닝의 맥락에서 설명된다. 그러나, 본원에 설명된 원리는 또한 반지도(semi-supervised) 및 비지도(unsupervised) 시스템에 적용될 수 있다는 점이 주의된다.
일 예시적 실시형태에서, 의도 인식 모듈(140)은 사용자 입력에 대응될 가능성이 가장 높은 의도를 예측하기 위해 텍스트 분류를 사용할 수 있다. 본 예시적인 실시형태에서, 텍스트 분류 모델은 입력 스트링의 라벨링된 예를 사용하여 훈련될 수 있다. 예를 들어, 모핑 인터페이스 시스템(130)은 라벨링된 예시적인 입력 스트링을 저장할 수 있다. 라벨은 각각의 예시적 입력 스트링을 사용 가능한 의도 중 하나와 연관시킨다. 훈련 데이터는 단어, 부분 문장, 부분 문구, 완전한 문장 및 완전한 문구의 형태의 예시적인 입력 스트링을 포함할 수 있다. 분류 모델은 또한, NLP 파이프라인(135)에 의해 생성된 다양한 자연어 처리 신호를 사용하도록 훈련될 수 있고, 훈련 데이터는 자연어 처리 신호를 추가로 포함할 수 있다. 분류 모델은 또한, 예를 들어, 의도 또는 기능이 "항공편 예약"임을 확인하기 위해서 엔티티 인식 모듈(145)에 의해 인식된 "항공사" 엔티티를 사용하여, 엔티티 인식 모듈(145)로부터의 신호를 사용할 수 있다. 따라서, 분류 모델은, 예를 들어, 의미론적 유사성을 사용하여, 즉 각 작업에 대한 쿼리(query)의 예시적인 세트로부터 가장 근접하게 매칭되는 쿼리를 결정하여, 의도의 사용 가능한 세트 중 어떤 것이 주어진 사용자 입력 스트링에 대응될 가능성이 가장 높은지를 예측하도록 훈련된다.
다른 예시적인 실시형태에서, 의도 인식 모듈(140)은, 사용 가능한 의도의 세트에 걸쳐 예시적인 입력의 세트와 사용자 입력 사이의 의미론적 유사성 점수를 계산하는 모델을 사용할 수 있다. 즉, 라벨링된 훈련 데이터에만 기반하여 적용 가능한 의도를 직접적으로 예측하도록 모델을 훈련하는 것보다, 의도 인식 모듈(140)은 또한, 사용자 입력과 가장 잘 매칭되는 의도를 결정할 때, 주어진 사용자 입력을 이전에 수신된 사용자 입력 스트링들의 일부 또는 전부와 비교할 수 있다. 예를 들어, 모핑 인터페이스 시스템(130)은 의도의 기록 및 과거에 매칭된 입력 스트링을 저장할 수 있고, 의도 인식 모듈(140)이 현재 사용자 입력 스트링이, 저장된 이전 사용자 입력 스트링에 동일하거나, 동일한 문장 구조 또는 관련된 NLP 신호를 갖는다고 판단하면, 의도 인식 모듈(140)은 현재 사용자 입력 스트링에 대해 동일한 의도를 예측할 수 있다. 올바르게 매칭된 과거 사용자 입력 스트링과의 비교 외에도, 사용자 입력은 또한, 의미론적 규칙 기반 접근 방식 및 생성적 딥 러닝 알고리즘을 통해 생성된 컴퓨터 생성 스트링과 비교될 수 있다.
다른 예시적인 실시형태에서, 의도 인식 모듈(140)은 사용자의 입력 스트링에 대한 가장 가능성 있는 의도를 추론하기 위해 더 간단한 규칙 기반 방법을 활용할 수 있다. 이것은 정규 표현 일치(regular expression matching), 즉 사용자의 의도를 결정하기 위해 입력 스트링에서 미리 정의된 특정 신택틱(syntactic) 및 문법 패턴의 식별을 포함할 수 있다. 이것은 또한, 쿼리의 동사, 주어, 술어 및 더 많은 것을 찾아 이들을 저장된 지식 베이스로부터의 데이터에 매칭시키기 위해서 의존 구분 파싱, 구성요소 파싱, 청킹 및/또는 의미역 라벨링과 같은 NLP 파이프라인(130)으로부터의 신호를 활용하는 것을 포함한다. 예를 들어, 사용자의 입력이 "나에게 바나나를 사주시오(Buy me bananas)"인 경우, 의도 인식 모듈(140)은 "바나나"라는 단어가 쿼리의 직접 목적어인 점을 결정할 수 있고, "바나나"가 식품 또는 재료의 일 유형임을 학습하도록 지식 베이스로부터 표제어(lemma) "바나나"에 대한 매칭을 얻을 수 있다 - 이것은, 예를 들어, 식료품을 구매하기 위한 의도와 일치함을 나타낼 수 있다.
일부 예시적인 실시형태에서, 모핑 인터페이스 시스템(130)은 의도 모델 저장소(150)를 포함한다. 의도 모델 저장소(150)는 주어진 사용자 입력 스트링과 관련될 가능성이 가장 높은 의도를 예측하기 위해 의도 인식 모듈(140)에 의해 훈련되고 적용되는 컴퓨터 모델에 대한 프로그램 코드를 저장할 수 있다. 일부 실시형태에서, 라벨링된 훈련 데이터 및 이전에 매칭된 의도 및 사용자 입력의 기록은 의도 모델 저장소(150)에 저장될 수 있다. 의도 모델 저장소(150)는 또한, 이용 가능한 의도, 즉 모핑 인터페이스 시스템(130)이 사용자 입력에 응답하여 사용자에 대해 수행할 수 있는 작업의 목록을 저장할 수 있다. 의도 모델 저장소(150)는 또한, 사용 불가능한 의도의 목록, 즉 모핑 인터페이스 시스템(130)이 현재 수행할 수 없지만 사용 가능한 의도와 독립적인 작업으로서 인식하는 작업의 목록을 저장할 수 있다. 또한 의도 모델 저장소(150)는 해당 사용자에게만 이용 가능한 사용자에 의해 구축된 맞춤형 의도를 저장할 수 있다. 예를 들어, 사용자 입력 스트링 "디바이스를 켜시오"는 전세계적으로 사용 가능한 의도의 목록에 없을 수 있지만, 사용자는 자신의 사용을 위해 이 의도를 생성했을 수 있고, 의도 로직은 의도 모델 저장소(150)에 저장될 수 있다.
일 실시형태에서, 인터페이스 저장소(155)는 모핑 인터페이스 시스템(130)에 의해 수행될 수 있는 이용 가능한 의도 각각에 대한 사용자 인터페이스에 대한 프로그램 코드를 저장한다. 인터페이스 저장소(155)에 의해 저장된 인터페이스는 클라이언트 디바이스(110)에 인터페이스를 디스플레이하기 위한 레이아웃, 의도를 실행하기 위한 명령어, 및 레이아웃을 채우고 의도를 실행하는 것과 연관된 엔티티의 목록을 포함할 수 있다. 다양한 실시형태에서, 사용자 인터페이스는 각각의 잠재적 의도에 대해 맞춤 제작된 인터페이스일 수 있다. 다른 실시형태에서, 인터페이스 저장소(155)는 사용자에 의해 설계된, 이러한 사용자에 의한 사용만을 위한 맞춤형 의도를 위한 맞춤형 인터페이스를 포함할 수 있다.
엔티티 인식 모듈(145)은 주어진 사용자 입력과 연관된 엔티티 값의 세트를 예측한다. 엔티티 값은 사용자 입력과 매칭되는 의도를 실행하기 위해서 사용될 수 있다. 다양한 실시형태에서, 엔티티 인식 모듈(145)은 사용자 입력 스트링, NLP 파이프라인(135)으로부터의 연관된 NLP 신호, 및 의도 매칭 모듈(140)로부터의 매칭된 의도를 입력으로서 수용한다. 엔티티 인식 모듈(145)은 또한, 매칭된 의도와 연관된 인터페이스를 입력으로서 사용하기 위해서 인터페이스 저장소(155)에 액세스할 수 있으며, 따라서 모핑 인터페이스 시스템(130)이 의도를 실행하기 위해서 필요로 할 엔티티 값의 목록을 획득할 수 있다. 엔티티 인식 모듈(145)은, 사용자 입력 스트링으로부터 값의 세트를 추출하기 위해서, 그리고 추출된 값을 매칭된 의도의 엔티티와 연관시키기 위해서, 훈련된 컴퓨터 모델을 적용한다. 일 실시형태에서, 엔티티 인식 모듈(145)은 먼저 입력 스트링으로부터 상위 레벨 엔티티 값을 추출하고, 나중에 자세한 엔티티 값을 추출한다. 예를 들어, 엔티티 인식 모듈(145)은 사용자 입력 스트링이 타이틀을 포함한다고 결정하는 모델을 적용할 수 있고, 타이틀이 영화 타이틀인지 책 타이틀 등인지 예측하기 위해 다른 모델을 적용할 수 있다. 일 실시형태에서, 엔티티 인식 모듈(145)에 의해 적용되는 하나 이상의 컴퓨터 모델은, 라벨링된 엔티티 값을 갖는 예시적인 사용자 입력 스트링을 포함하는 예시적인 훈련 데이터에 대해 훈련되는 분류기 또는 시퀀스 태거이다. 이러한 분류기 또는 시퀀스 태거는, 실제 세상 지식, 및 구문, 문법 및 시멘틱에 대한 이해를 통합하기 위해 인터넷으로부터 대량의 구조화되지 않고 라벨링되지 않은 텍스트 정보에 대해 다수의 오브젝티브(언어 모델링, 자동 인코딩 등)를 사용하여 추가로 훈련되었을 수 있다.
다른 예시적인 실시형태에서, 엔티티 인식 모듈(145)은, 정규 표현 패턴(regular expression pattern)에 대한 매칭과 같이 사용자 입력 스트링으로부터 값의 세트를 추출하기 위해서 규칙 기반 방법을 적용할 수 있다. 이것은 이어서, 엔티티 인식 모듈(145)의 빠른 커스텀화를 지원하여, 사용자에 의해 설계된 새로운 맞춤형 의도에 대한 값을 추출할 수 있다.
엔티티 인식 모듈(145)에 의해 적용된 모델 및 훈련 데이터는 엔티티 인식 모델 저장소(160)에 저장될 수 있다. 엔티티 인식 모델 저장소(160)는 또한, 엔티티 인식 모듈(145)에 의해 사용되는 컴퓨터 모델을 훈련하기 위한 라벨링된 훈련 데이터를 포함할 수 있다.
일부 실시형태에서, 엔티티 인식 모듈(145) 및 의도 인식 모듈(140)은 동일한 시스템일 수 있다. 즉, 엔티티 인식 모듈(145) 및 의도 인식 모듈(140)은 두 시스템이 협력적으로 보다 정확한 결정을 내릴 수 있도록 공동 의도 및 엔티티 인식 시스템으로서 구성될 수 있다.
모핑 인터페이스 시스템 실시예
도 2는 예시적인 실시형태에 따른, 모핑 인터페이스 시스템(130)의 구성요소 사이의 상호작용의 상위 레벨 다이어그램이다. 모핑 인터페이스 시스템(130)은 사용자 쿼리(210)를 수신한다. 사용자 쿼리는, 예를 들어, 타이핑된 텍스트 또는 발화된 오디오의 형태로 사용자에 의해 표현된 완전한 문장 또는 개념, 또는 부분 문장 또는 문구일 수 있다. 오디오 파일 또는 오디오 스트림으로서 입력을 수신하는 실시형태에서, 자동 음성 인식 또는 다른 유형의 음성 모델은, 예를 들어, 텍스트로서 입력을 나타내는 입력 스트링을 생성하기 위해서 사용될 수 있다. 모핑 인터페이스 시스템(130)은, 사용자가 여전히 입력을 제공함에 따라, 인터페이스를 표시함으로써 사용자에게 응답하기 시작할 수 있다. 따라서, 일부 경우에, 모핑 인터페이스 시스템(130)에 의해 수신된 사용자 쿼리(210)는 단지 사용자 입력의 제1 부분, 예를 들어, 단어 또는 단어 세트일 수 있다.
사용자 쿼리(210)는, 사용자 쿼리(210)를 분석하고 대응되는 NLP 신호(220)를 출력하는 NLP 파이프라인(135)에 대한 입력으로서 제공된다. NLP 신호(220) 및 사용자 쿼리(210)는 의도 인식 모듈(140)에 제공된다. 의도 인식 모듈(140)은 사용자의 예측된 의도(230)를 출력한다. 즉, 의도 인식 모듈(140)은 사용자가 어떤 의도를 요구하는지를, 또는 어떤 의도가 수행되게 하려고 의도하는지를 예측한다. 예측된 의도(230) 또는 기능, NLP 신호(220), 및 사용자 쿼리(210)는, 예측된 의도와 연관된 추출된 엔티티 값(240)을 생성하는 엔티티 인식 모듈(145)에 제공된다. 사용자의 예측된 의도에 관한 예측된 의도 정보(250), 추출된 엔티티(240), 및 추가로 생성된 메타데이터는, 사용자의 의도에 대응되는 시스템 예측과 관련된 사용자 인터페이스의 디스플레이(클라이언트 디바이스와 같은 컴퓨팅 디바이스의 화면에서)를 가능하게 하기 위해, 그리고 추출된 엔티티 값으로 사용자 인터페이스의 필드를 채우기 위해 모핑 인터페이스 시스템(130)에 의해 사용될 수 있다. 따라서, 클라이언트 디바이스 상의 디스플레이를 위해 생성되고 활성화될(또는 제공될) 인터페이스는, 유리하게는 실질적으로 실시간으로 변경되기 시작할 수 있다.
일부 실시형태에서, 모핑 인터페이스 시스템(130)의 구성요소는 도 2의 실시예에 도시된 것과 다른 방식으로 상호작용하도록 구성될 수 있다. 일 실시형태에서, 모핑 인터페이스 시스템은 의도 인식 모듈(140)과 엔티티 인식 모듈(145) 사이에 피드백 루프를 포함하도록 구성될 수 있다. 예를 들어, 의도 인식 모듈(140)은 예측된 의도에 관한 정보를 엔티티 인식 모듈(145)에 제공할 수 있고, 엔티티 인식 모듈(145)은 사용자 쿼리(210)에서 엔티티 및 잠재적인 엔티티 유형을 식별하기 위해 예측된 의도에 관한 정보를 입력으로서 사용할 수 있고, 식별된 엔티티에 관한 정보는 사용자의 쿼리(210)와 연관되어야 하는 의도의 예측을 재생성하는 데 사용하기 위해 의도 인식 모듈(140)에 다시 제공될 수 있다. 일부 실시형태에서, 엔티티 인식 모듈(145)은 NLP 신호 또는 사용자 입력을 분석하고, 사용자 입력과 연관된 엔티티를 예측한 다음, 입력 및 NLP 신호에 추가하여 예측된 엔티티 및 엔티티 유형을 의도 인식 모듈(140)에 제공할 수 있다. 이러한 경우에, 의도 인식 모듈(140)은 예측된 엔티티 정보를 사용하여 사용자 입력과 연관된 의도 유형을 예측할 수 있다. 의도 인식 모듈(140)과 엔티티 인식 모듈(145) 사이의 피드백 루프 또한 이 실시형태에서 존재할 수 있다(즉, 의도 인식 모듈(140)은 엔티티에 대한 기존 예측을 개선하거나 이에 추가하기 위해 예측된 의도 정보를 엔티티 인식 모듈(145)로 다시 보낼 수 있음). 엔티티 인식 모듈(145)이 의도 인식 모듈(140) 이전에 입력 데이터를 수신한 일부 실시형태에서, 의도 인식 모듈(140)은 엔티티 인식 모듈(145)에 의해 제공되는 추출된 엔티티를 예측된 의도에 대응되는 엔티티로 필터링할 수 있다.
다른 예시적인 실시형태에서, 하나의 모듈은 의도 인식 모듈(140)과 엔티티 인식 모듈(145) 모두의 기능을 수행하도록 구성될 수 있다. 예를 들어, 모델은 의도 인식과 엔티티 인식을 모두 수행하도록 훈련될 수 있다. 다른 실시예에서, 모핑 인터페이스 시스템(130)은 각각의 의도 유형에 대한(즉, 각각의 도메인에 대한) 엔티티 인식과 연관된 서브모델(submodel)을 포함할 수 있다. 즉, 모핑 인터페이스 시스템(130)은 각각의 잠재적 의도 유형과 연관된 엔티티 값을 결정하기 위한 상이한 엔티티 인식 모델을 저장할 수 있고, 엔티티 인식 모델의 과거 세트에 기반하여, 새로운 잠재적 의도 유형에 대한 모델의 생성을 자동화하기 위해 전이 학습을 사용할 수 있다. 예를 들어, 의도 인식 모듈(140)이 피자를 주문하는 의도를 예측한 경우, 엔티티 인식 모듈(145)은 음식을 주문하기 위한 의도와 연관된 엔티티를 식별하기 위해 훈련된 엔티티 인식 모델에 액세스하여 이를 사용할 수 있다. 다른 예시적인 실시형태에서, 의도 인식 모듈(140)은 제1 모델이 더 높은 레벨 도메인(예: "음식")을 추론하고, 해당 도메인에 대한 서브모델이 예측된 도메인 내에서 사용자의 특정 의도(예: 테이블 예약, 테이크아웃 주문, 레시피 검색 등)를 추론하는 계층적 모델의 형태로 구성될 수 있다.
다른 예시적인 실시형태에서, 모핑 인터페이스 시스템은 NLP 파이프라인(135)을 포함하지 않을 수 있다. 이러한 실시형태에서, 의도 인식 모듈(140) 및 엔티티 인식 모듈(145)은, 의도를 예측하도록, 그리고 사용자 쿼리(210)에 직접적으로 기반하여 엔티티를 결정하도록 훈련된다.
도 3은 예시적인 실시형태에 따른 예시적인 NLP 신호를 예시하는 상세한 블록도이다. NLP 파이프라인(135)은 사용자 입력 스트링으로부터 다양한 NLP 신호를 생성하기 위한 토큰화, 품사(POS: part-of-speech) 태깅, 텍스트 청킹, 의미역 라벨링(SRL: semantic role labeling), 및 상호참조 해결 기능(coreference resolution functionality)을 포함할 수 있다. 일부 다른 예시적인 NLP 신호는 표제어 추출, 어간 추출, 의존 구문 파싱, 엔티티 추출 및 불용어 식별정보를 포함한다. 다양한 실시형태에서, NLP 신호들의 상이한 조합이 NLP 파이프라인(135)에서 사용될 수 있고, 신호들은 다양한 순서로 결정될 수 있다. 예를 들어, 다른 예시적인 실시형태에서, NLP 파이프라인(135)은 토큰화, 어간 추출, 표제어 추출, 불용어 식별정보, 의존 구문 파싱, 엔티티 추출, 청킹, SRL, 그 다음 상호참조 해결의 순서로 NLP 신호들을 결정할 수 있다.
도 4a는 예시적인 실시형태에 따른, 사용자 입력으로부터 인터페이스를 생성하는 예시적인 프로세스를 예시하는 흐름도이다. 모핑 인터페이스 시스템(130)은 사용자 입력의 제1 부분을 수신(405)한다. 사용자 입력의 제1 부분은, 예를 들어, 문장의 시작 부분에 있는 단어 또는 단어들일 수 있고, 텍스트 또는 음성 입력을 포함하는 다양한 입력 형태로 모핑 인터페이스 시스템(130)에 의해 수신될 수 있다. 모핑 인터페이스 시스템(130)은 사용자 입력의 수신된 제1 부분에 기반하여 자연어 처리 신호를 생성(410)한다. NLP 파이프라인(135)은, 토큰화, 품사(POS) 태깅, 의존 구문 파싱, 엔티티 추출, 어간 추출, 표제어 추출, 불용어 식별, 텍스트 청킹, 의미역 라벨링, 및 상호참조 해결을 포함하는 다양한 분석 기술을 사용하여 자연어 처리 신호를 생성할 수 있다.
모핑 인터페이스 시스템(130)은 사용자 입력의 제1 부분과 매칭되는 의도를 선택(420)한다. 일부 실시형태에서, 의도 인식 모듈(140)은 훈련된 컴퓨터 모델을 적용하여 어떤 의도가 사용자 입력의 제1 부분에 응답하는 데 가장 적용 가능한지를 예측한다. 즉, 의도 인식 모듈(140)은 수신된 사용자 입력에 의해서 암시되는 의도를 선택한다.
모핑 인터페이스 시스템(130)은 사용자 입력의 제1 부분으로부터 예측된 의도와 연관된 엔티티 값을 추출(425)한다. 일 실시형태에서, 엔티티 인식 모듈(145)은 훈련된 컴퓨터 모델을 적용하여, 수신된 사용자 입력으로부터 관련 값을 추출한다. 일부 실시형태에서, 모핑 인터페이스 시스템(130)은, 추출된 엔티티에 대한 정보가 의도 인식 모듈(140)에 대한 추가 입력으로서 전송되도록 피드백 루프를 포함하도록 구성된다. 일부 실시형태에서, 이것은 또한, 자동화된 재훈련(automated retraining) 및 자기 개선 사이클(self-improvement cycle)을 포함될 수 있다. 모핑 인터페이스 시스템(130)은 선택된 의도와 연관된 인터페이스를 획득(430)한다. 일부 실시형태에서, 선택된 인터페이스는 의도와 연관된 엔티티를 추출하는 프로세스에서 사용된다. 예를 들어, 의도와 관련된 인터페이스는 특정 의도와 관련된 값에 대한 입력 필드를 포함할 수 있고, 엔티티 인식 모듈(145)은 사용자 입력으로부터 값을 식별하기 위해 입력 필드에 관한 정보를 사용할 수 있다. 선택된 의도와 연관된 추출된 엔티티 값은 인터페이스를 채우기(435) 위해서 사용된다. 일부 실시형태에서, 예를 들어, 지금까지 수신된 사용자 입력의 일 부분이 인터페이스 레이아웃에 포함된 입력 필드를 완료하기 위해서 필요한 정보의 일부만 포함하는 경우, 인터페이스는 부분적으로만 채워질 수 있다. 예를 들어, 사용자가 "나에게 항공편을 예약해 주시오"를 포함하는 입력을 제공한 후 일시 중지한 경우, 모핑 인터페이스 시스템(130)은 캘린더를 하이라이트할 수 있고, 사용자 인터페이스를 추가로 채우기 위한 더 많은 사용자 입력을 수신하도록 "언제 비행을 원하십니까?"와 같은 쿼리를 사용자에게 프롬프트할 수 있다. 모핑 인터페이스 시스템(130)은, 예를 들어, 채워진 인터페이스를 클라이언트 디바이스(110)를 통해 사용자에게 디스플레이(440)한다.
일부 실시형태에서, 모핑 인터페이스 시스템(130)은, 다수의 의도가 사용자 입력의 제1 부분에 적용될 수 있는 유사하거나 동등한 예측 가능성을 가질 때 하나 이상의 적용 가능한 의도를 선택(420)할 수 있다. 예를 들어, 사용자 입력의 제1 부분은 "나에게 커피를 주문해 주시오"일 수 있고, 모핑 인터페이스 시스템(130)은, 커피 콩 한 봉지를 구입하기 위한 의도 및 카페로부터 커피 한 잔을 주문하기 위한 의도가 동일하게 가능성이 있는 적용 가능한 응답이라고 결정할 수 있다. 즉, 모핑 인터페이스 시스템(130)은, 사용자의 의도가 음료 배달 및 식료품 주문일 동일한 가능성이 있다고 결정할 수 있다. 이러한 경우에, 모핑 인터페이스 시스템(130)은 동일한 가능성을 갖는 2개 이상의 의도와 연관된 엔티티 값을 추출(425)할 수 있고, 다수의 가능한 의도와 연관된 프리뷰 인터페이스를 획득(430)할 수 있고, 의도와 연관된 추출된 엔티티 값으로 프리뷰 인터페이스를 채우고(435), 클라이언트 디바이스(110)에서 사용자에게 디스플레이(440)를 위해 채워진 프리뷰 인터페이스를 제공할 수 있다. 이러한 실시형태에서, 모핑 인터페이스 시스템은, 추가 사용자 입력 분석을 진행하기 전에 다수의 가능한 의도 중 하나를 선택하는 사용자로부터의 입력을 기다릴 수 있다. 일부 실시형태에서, 이러한 모핑 인터페이스 시스템(130)은 제공된 사용자 입력과 관련하여 프리뷰 인터페이스의 사용자 선택에 관한 정보를 저장할 수 있으므로, 이후 시스템은 사용자 입력의 패턴에 기반하여 사용자가 특정 의도를 선택할 가능성을 증가시킬 수 있다. 따라서, 모핑 인터페이스 시스템(130)과의 상호작용의 약간의 이력 후에, 사용자 선호도 및 입력 패턴이 저장됨에 따라 더 적은 의도 프리뷰가 사용자에게 제시될 수 있다.
도 4b는 일 실시형태에 따른, 추가적인 사용자 입력의 수신 시에 인터페이스를 모핑하는 프로세스를 예시하는 흐름도이다. 모핑 인터페이스 시스템(130)은, 분석을 위해 사용자 입력의 일 부분이 수신되자마자 클라이언트 디바이스(110)에서 디스플레이를 위해 인터페이스를 활성화시킬(또는 제공할) 수 있다. 클라이언트 디바이스(110)에서 디스플레이를 위해 인터페이스를 활성화시키는 것(또는 제공하는 것)은, 모핑 인터페이스 시스템(130)에 의해 정의된 의도 및/또는 모핑 구조에 대응되는 사용자 인터페이스를 디스플레이하기 위해 클라이언트 디바이스(110)의 운영 체제에 대한 코드, 커맨드, 및/또는 데이터를 제공하는 것을 포함할 수 있다. 추가 사용자 입력이 수신됨에 따라, 모핑 인터페이스 시스템(130)은, 선택된 의도가 여전히, 증가하는 사용자 입력 스트링에 가장 잘 매칭되는지 여부를 반복적으로 재평가한다. 동일한 의도가 여전히 적용된다고 모핑 인터페이스 시스템(130)이 결정하면, 추가 엔티티 값이 증강된 사용자 입력으로부터 추출될 수 있다. 그러나, 모핑 인터페이스 시스템(130)이, 추가 사용자 입력을 고려하여 다른 의도가 더 적용가능하다고 결정하는 경우, 시스템은 디스플레이를 위해 더 적용 가능한 다른 의도로의 사용자 인터페이스의 변경(예: "모핑")을 활성화시킬(또는 제공할) 것이다. (예를 들어, 클라이언트 디바이스(110)의) 스크린 상의 시각적 변화는, 예를 들어, 사용자 인터페이스의 전체 새로고침으로의 점진적인 시각적 전이일 수 있다. 또한, 모핑 인터페이스 시스템은, 사용자 입력이 경시적으로 추가됨에 따라, 사용자 인터페이스가 임의의 횟수로 변경되도록 할 수 있다.
특히, 도 4a에 설명된 바와 같이 사용자 입력의 제1 부분이 수신되고 분석된 후, 모핑 인터페이스 시스템(130)은, 도 4b에서와 같이 사용자 입력의 추가 부분이 수신됨에 따라, 사용자 입력의 증가하는 스트링을 계속 분석한다. 모핑 인터페이스 시스템(130)은 사용자 입력의 추가 부분을 수신(445)한다. 예를 들어, 사용자 입력의 제1 부분은 문장의 제1 단어일 수 있고, 도 4b의 프로세스는 사용자 입력 문장에서 제2 단어를 수신하는 것에 응답하여 시작될 수 있다.
모핑 인터페이스 시스템(130)은 사용자 입력의 이전에 수신된 부분과 사용자 입력의 추가 부분의 조합에 기반하여 자연어 처리 신호를 생성(450)한다. 사용자 입력들의 조합과 매칭되는 의도는, 예를 들어, 의도 매칭 모듈(140)에 의해 선택(455)된다.
모핑 인터페이스 시스템(130)은 매칭된 의도가 가장 최근에 매칭된 의도와 동일한지, 또는 매칭된 의도가 새로운 의도인지를 결정(460)한다. 새로운 의도는 클라이언트 디바이스(110)에서 현재 디스플레이되고 있는 인터페이스와 연관된 의도와 다른 의도일 수 있다.
의도가 동일한 의도인 경우, 모핑 인터페이스 시스템(130)은 이전 사용자 입력과 현재(즉, 가장 최근) 사용자 입력의 조합으로부터 의도와 연관된 추가 엔티티 값을 추출(465)한다. 인터페이스는 의도와 연관된 추가 엔티티 값으로 채워진다(470).
의도가 사용자 입력의 이전 컬렉션에 매칭되었던 이전 의도와 동일한 의도가 아닌 경우, 모핑 인터페이스 시스템(130)은 사용자 입력들의 조합으로부터 새로운 의도와 연관된 엔티티 값을 추출(475)한다. 새로운 의도와 연관된 인터페이스는, 예를 들어, 인터페이스 저장소(155)로부터 획득된다(480). 획득된 인터페이스는 새로운 의도와 연관된 추출된 엔티티 값으로 채워진다(485).
모핑 인터페이스 시스템(130)은, 예를 들어, 클라이언트 디바이스(110)를 통해 사용자에게 디스플레이(490)를 위해, 이전과 동일한 인터페이스이든 또는 새로 획득된 인터페이스이든 간에, 채워진 인터페이스를 활성화시킨다(또는 제공한다). 도 4b에 예시된 프로세스는, 사용자 입력의 추가 부분이 모핑 인터페이스 시스템(130)에 의해 수신(445)될 때마다 반복될 수 있다.
다음 도 5a 내지 도 5g는 일 실시형태에 따른, 추가 사용자 입력이 수신됨에 따라 의도를 실행하는 인터페이스의 실시예를 예시한다. 일 실시형태에서, 인터페이스는 컴퓨팅 디바이스, 예를 들어, 스마트폰, 태블릿, 랩탑 또는 데스크탑 컴퓨터와 같은 클라이언트 디바이스(110)의 스크린 상에서의 디스플레이를 위해 제시된 사용자 인터페이스이다. 도 5a 내지 도 5g는, 예를 들어, 클라이언트 디바이스(110)를 통해 수신된 사용자 입력이 항공편을 예약하는 전반적인 의도(즉, 기능 또는 사용자 요청)에 매칭된 예를 도시한다. 디스플레이된 인터페이스의 레이아웃은, 선택된 인터페이스와 연관된 추가 엔티티 값이 추가 사용자 입력의 수신에 대한 응답으로 결정됨에 따라, 변경되고 모핑된다. 그러나, 도 5a 내지 도 5g의 실시예에서, 모핑 인터페이스 시스템(130)은 새로운 의도가 사용자 입력과 더 잘 매칭된다고 결정하지 않고, 따라서 디스플레이된 레이아웃은 항공편 예약 인터페이스와 연관된 채로 유지된다.
도 5a는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제1 레이아웃을 예시한다. 항공편 예약과 연관된 인터페이스(500)는 수신된 사용자 입력(530A)에 기반하여 모핑 인터페이스 시스템(130)에 의해 선택된다. 도 5a 내지 도 5e에 대한 도면에서, 선택된 인터페이스(500)와 연관된 디스플레이 레이아웃이 도면의 좌측에 도시되고, 두 가지 가능한 종류의 사용자 입력(530)의 표현이 도면의 우측에 도시된다. 다양한 실시형태에서, 사용자 디바이스의 실제 디스플레이는 인터페이스(500)의 레이아웃, 인터페이스(500)와 사용자 입력 레이아웃 간의 교대, 인터페이스(500)의 일부와 사용자 입력(530) 엔트리 디스플레이 레이아웃의 일부를 보여주는 분할 화면, 또는 다른 디스플레이 방식으로서 보여질 수 있다. 일 예시적인 실시형태에서, 인터페이스(500)가, 예를 들어 새로운 사용자 입력(530)에 응답하여 업데이트될 때, 도면의 왼쪽에 도시된 바와 같은 디스플레이는 다음 레이아웃 또는 인터페이스를 보여주기 위해 모핑되기 시작한다. 예를 들어, 도 5a의 왼쪽에 있는 사용자 인터페이스(500)는 도 5b의 왼쪽에 있는 사용자 인터페이스(500)에 대한 레이아웃으로 모핑된다. 이러한 인터페이스 모핑은 각각의 연속적인 사용자 인터페이스 사이에서, 예를 들어, 연속적인 도 5a-도 5g 및 도 6a-도 6d에서 설명된 인터페이스들(500) 사이의 전이로서 발생될 수 있다. 도 5a에 도시된 사용자 입력(530)의 예시적인 유형은 발화된 입력(510) 및 타이핑된 입력(520)을 포함한다.
도 5a의 실시예에서, 모핑 인터페이스 시스템(130)은 "나에게 항공편을 예약해주시오(Book me a flight)"라는 텍스트 스트링을 포함하는 초기 사용자 입력(530A)을 수신한다. 모핑 인터페이스 시스템(130)은, 사용자 입력(530A)이 항공편 예약의 의도와 연관될 가능성이 가장 높다고 결정하고, 이에 따라 항공편 예약 인터페이스(500)가 거의 순간적으로 디스플레이된다. 인터페이스(500)는 위젯(widget)(540)을 포함할 수 있다. 위젯은 인터페이스와 연관된 엔티티와 관련된 정보를 디스플레이하거나 수집하는 인터페이스 레이아웃의 일 부분일 수 있다. 일부 경우에, 위젯(540)은 입력 필드(예를 들어, 텍스트 필드, 체크박스, 또는 다른 데이터 입력 포맷)일 수 있다. 인터페이스(500)는 엔티티 인식 모듈(145)에 의해 결정된 엔티티 값으로 채워질 수 있는 위젯(540)을 디스플레이할 수 있다. 다양한 실시형태에서, 인터페이스(500)는, 엔티티 인식 모듈(145)이 입력 필드를 채울 값을 결정하기 전에도 인터페이스(500)와 연관된 엔티티에 대한 일부 또는 모든 위젯(540)을 디스플레이할 수 있다. 예를 들어, 도 5a는 항공편 예약을 위한 목적지 값을 입력하기 위한 공간을 포함하는 위젯(540A)을 포함한다. 도 540B는 유사하게, 항공편 예약을 위한 날짜의 값을 입력하기 위한 공간을 포함하는 출발 및 복귀 날짜 위젯(540B), 및 승객의 수를 나타내는 위젯(540C)을 포함하며, 이에 대해 엔티티 인식 모듈(145)은 "1명의 승객, 이코노미"의 값이 가장 가능성 높은 입력 값이 될 것이라고 예측하였고, 이에 따라 값이 위젯(540C)에 채워져 나타난다.
도 5b는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제2 레이아웃을 예시한다. 도 5b에서, 사용자 입력(530B)은 추가 정보를 포함한다. 특히, 사용자는, 사용자 입력(530B)이 이제 "나에게 SFO 출발 항공편을 예약해주시오(Book me a flight from SFO)"를 포함하도록 더 많은 입력을 추가했다. 모핑 인터페이스 시스템(130)은 선택된 의도가 여전히 항공편 예약이어야 한다고 결정하고, 인터페이스(500)에서 위젯(540)을 추가로 채우기 위한 추가 엔티티 값 정보를 식별한다. 따라서, 사용자 인터페이스(500)는 도 5a의 레이아웃으로부터 도 5b에 도시된 레이아웃으로 모핑된다. 예를 들어, 도 5b에 도시된 인터페이스(500)는 위젯(540A)에서 비행 출발지 정보에 대해 입력된 출발지 "SFO"를 포함한다. 일부 실시형태에서, 하나의 레이아웃으로부터 다른 레이아웃으로 인터페이스를 모핑하는 것은, 예를 들어, 사용자 입력으로부터 새로운 엔티티 정보가 추출될 때, 애니메이션의 디스플레이, 예를 들어, 사용자 입력으로부터 새로 수신된 정보를 사용하여 추가로 채워질 수 있는 레이아웃 섹션의 이동 확장을 포함할 수 있다.
도 5c는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제3 레이아웃을 예시한다. 도 5c에서, 사용자 입력(530C)은 더 많은 추가 정보를 포함한다. 특히, 사용자는, 사용자 입력(530C)이 "나에게 SFO 출발 LAX 도착 항공편을 예약해 주시오 (Book me a flight from SFO to LAX)"을 포함하도록 입력을 추가했다. 모핑 인터페이스 시스템(130)은 선택된 의도가 여전히 항공편 예약이어야 한다고 결정한다. 모핑 인터페이스 시스템(130)은, 예를 들어, 위젯(540A)의 목적지 필드의 목적지 "LAX"를 포함하여, 인터페이스(500)에서 위젯(540)을 추가로 채우기 위한 추가 엔티티 값 정보를 식별한다. 따라서, 사용자 인터페이스(500)는 도 5b에 도시된 레이아웃으로부터 도 5c에 도시된 레이아웃으로 모핑된다.
도 5d는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제4 레이아웃을 예시한다. 도 5d에서, 사용자 입력(530D)은 추가 정보를 포함한다. 특히, 사용자는, 사용자 입력(530D)이 이제 "나에게 4월 22일 SFO 출발 LAX 도착 항공편을 예약해주시오 (Book me a flight from SFO to LAX on April 22)"을 포함하도록 더 많은 입력을 추가했다. 모핑 인터페이스 시스템(130)은 선택된 의도가 여전히 항공편 예약이어야 한다고 결정하고, 인터페이스(500)를 추가로 채우기 위한 추가 엔티티 값 정보를 추출한다. 따라서, 사용자 인터페이스(500)는 도 5c에 도시된 레이아웃으로부터 도 5d에 도시된 레이아웃으로 모핑된다. 예를 들어, 도 5d는, 4월 22일이 선택된 상태로, 사용자가 요청한 항공편에 관한 출발 날짜 정보를 보여주는 확장된 위젯(540D)을 도시한다.
도 5e는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제5 레이아웃을 예시한다. 선택된 의도와 연관된 엔티티 값이 모두 추출되어 의도에 적용되었다고 모핑 인터페이스 시스템(130)이 결정한 경우, 의도는 사용자에 대한 응답을 생성하기 위해 실행될 수 있다. 다음으로, 인터페이스(500)의 레이아웃은 응답의 디스플레이를 포함할 수 있다. 예를 들어, 엔티티 인식 모듈(145)이 항공편 예약에 필요한 모든 엔티티와 연관된 값을 식별한 경우, 의도는 사용자 입력(530)에 지정된 기준을 충족하는 가능한 비행을 식별하는 인터페이스(500)의 레이아웃을 실행하고 제시한다. 예를 들어, 사용자 인터페이스(500)는 도 5d에 도시된 레이아웃으로부터 도 5e에 도시된 레이아웃으로 모핑된다. 다음으로, 사용자는 지정된 기준에 대한 가능한 항공편과 매칭되는 제시된 옵션으로부터, 예를 들어 위젯(540E, 540F, 540G, 540H 및 540I)으로부터 항공편을 선택할 수 있다.
도 5f는 예시적인 실시형태에 따른, 항공편 예약 의도와 연관된 인터페이스에 대해 디스플레이되는 제6 레이아웃을 예시한다. 도 5f의 예에서, 인터페이스(500)는, 사용자가 항공편 구매 주문을 제출하기 전에 데이터를 확인할 수 있도록 선택된 항공편 정보를 디스플레이한다. 일부 실시형태에서, 모핑 인터페이스 시스템(130)은 사용자와 관련된 엔티티에 대한 값을 결정하기 위해 다양한 개인화 기술을 사용할 수 있다. 일 실시형태에서, 모핑 인터페이스 시스템(130)은 의도를 실행하는 데 사용하기 위한 사용자 프로파일 정보를 저장할 수 있다. 예를 들어, 모핑 인터페이스 시스템(130)은 사용자 이름, 신용카드 번호, 집 및 직장 위치 등을 저장할 수 있다. 예를 들어, 도 5f에서, 위젯(540J 및 540K)에서의 예약 사용자 및 신용카드 정보는, 정보가 사용자 입력(530)에 포함됨 없이, 모핑 인터페이스 시스템(130)에 의해 채워진다. 일부 실시형태에서, 사용자 모핑 인터페이스 시스템(130)은, 사용자 정보를 자동으로 포함할지 또는 추가 사용자 입력이 필요할지 여부를 결정하기 위해, 예를 들어, 성문(voiceprint)을 사용하여 사용자의 신원을 확인할 수 있다. 일부 실시형태에서, 모핑 인터페이스 시스템(130)이 인터페이스 레이아웃의 부분을 추가하거나 제거할 수 있고, 레이아웃 부분 및 사용자가 사용할 가능성이 더 높은 엔티티 값을 예측할 수 있는 훈련된 모델을 사용하여 레이아웃의 입력으로서 엔티티를 미리 채울 수 있으며, 예를 들어, 사용자에 대한 특정 신용카드 입력은 사용자의 가장 최신의 정기적인 행위를 반영하기 위해 사용 몇 주 후에 변경될 수 있다.
도 5g는 스크린 상에 디스플레이되는 사용자 인터페이스의 일 부분을 예시한다. 여기에서 사용자 인터페이스의 일 부분은 예시적인 실시형태에 따른, 항공편 예약 의도의 실행의 이메일 확인이다. 도 5g의 실시예는 사용자가 항공편을 구매했다는 점을 확인하는 사용자에 의해 수신된 이메일(550)을 예시한다. 일부 의도의 경우, 이러한 이메일 확인이 의도 실행의 일부로서 포함되지 않을 수 있다.
다음 도 6a 내지 도 6d는 일 실시형태에 따른, 추가 사용자 입력이 수신됨에 따라 의도를 실행하는 인터페이스의 실시예를 예시한다. 도 6a 내지 도 6d는 사용자 입력(530E)이 피자를 주문하는 의도에 매칭된 실시예를 도시한다. 디스플레이된 인터페이스의 레이아웃은, 선택된 인터페이스와 연관된 추가 엔티티 값이 추가 사용자 입력의 수신에 대한 응답으로 결정됨에 따라, 변경되고 모핑된다. 도 6a 내지 도 6d의 실시예에서, 모핑 인터페이스 시스템(130)은, 추가 사용자 입력의 수신 및 분석 시, 새로운 의도가 원래 선택된 의도보다 사용자 입력과 더 잘 매칭된다고 결정하고, 디스플레이된 인터페이스 레이아웃은 따라서 피자 주문 인터페이스로부터 셔츠 구매 인터페이스로 모핑된다.
도 6a는 예시적인 실시형태에 따른, 피자 주문 의도와 연관된 사용자 입력의 제1 부분의 수신을 예시한다. 피자 주문과 연관된 인터페이스(500)는 수신된 사용자 입력(530E)에 기반하여 모핑 인터페이스 시스템(130)에 의해 선택된다. 도 6a의 특정 실시예에서, 모핑 인터페이스 시스템(130)은, 텍스트 스트링(520에서), "나는 피자를 주문하고 싶다(I want to order a pizza)" 또는 "나는 피자를 주문하고 싶다(I want to order a pizza)"에 대응되는 목소리 입력(510에서)을 포함하는 초기 사용자 입력(530E)을 수신한다. 모핑 인터페이스 시스템(130)은 사용자 입력(530E)이 피자를 주문하려는 의도와 연관될 가능성이 가장 높다고 결정하고, 인터페이스(500)는 따라서 인터페이스(500) 상의 그래픽 예(501)에 의해 도시된 바와 같이 피자 주문 레이아웃을 디스플레이하기 위해 전이(예를 들어, 모핑)를 시작한다.
도 6b는 예시적인 실시형태에 따른 피자 주문과 연관된 인터페이스에 대해, 레이아웃이 도 6a에서 도 6b로 전이될 때, 디스플레이되는 레이아웃을 예시한다. 도 5a에서와 같이, 인터페이스(500)는 엔티티 인식 모듈(145)에 의해 결정된 엔티티 값으로 채워질 수 있는 위젯(540)을 포함할 수 있다. 예를 들어, 도 6b는 피자 레스토랑으로 진입하기 위한 공간을 포함하는 위젯(540L)을 포함한다. 추가 정보는 또한, 모핑된 스크린 상에 나타나기 시작할 수 있다(예를 들어, 피자 가격 및 해당 레스토랑으로부터의 피자 배달 시간). 도 6b의 실시예에서, 엔티티 인식 모듈(145)은 사용자가 주문하고 싶은 피자 레스토랑을 예측하였고, 사용자 인터페이스(500)의 위젯(540)에 레스토랑에 관한 정보를 입력하였다.
도 6c는, 더 많은 사용자 입력(530F)이 수신되고 인터페이스가 도 6a로부터 계속 모핑됨에 따라, 예시적인 실시형태에 따른, 피자 티셔츠 구매와 연관된 인터페이스에 대해 디스플레이되는 레이아웃을 예시한다. 도 6c에서, 사용자 입력(530F)은 추가 정보를 포함한다. 특히, 사용자는, 사용자 입력(530F)이 이제 "나는 피자 티셔츠를 주문하고 싶다(I want to order a pizza T-Shirt)"를 포함하도록 입력을 추가했다. 의도 매칭 모듈(140)은 추가 사용자 입력을 분석하고, 이전에 선택된 피자 주문 의도가 더 이상 가장 적용 가능한 의도가 아니라고 결정하고, 새로운 가장 관련성이 높은 의도가 셔츠 주문 의도라고 결정한다. 모핑 인터페이스 시스템(130)은, 셔츠 구매 의도에 적용 가능한 인터페이스(500)를 선택하고, 선택된 의도와 연관된 레이아웃을 디스플레이하기 위해 클라이언트 디바이스(110)에서의 디스플레이를 모핑한다. 예를 들어, 피자 레스토랑 제안을 표시하는 대신, 도 6c의 인터페이스(500)는 이제 구매를 위해 이용 가능한 피자 테마 티셔츠의 선택을 디스플레이한다. 즉, 사용자 인터페이스(500)는, 사용자가 추가 입력 정보를 계속 제공함에 따라, 피자 주문을 표시하는 도 6d에 도시된 인터페이스로부터, 명백하게 즉각적으로 피자 티셔츠 구매 옵션을 디스플레이하는 도 6c에 도시된 인터페이스로 모핑된다. 예시적인 셔츠 구매 의도와 연관된 위젯(540M)은, 다음으로 사용자가 구매를 위해 선택할 수 있는 피자 티셔츠의 사진을 포함할 수 있다.
도 6d는 예시적인 실시형태에 따른, 티셔츠 구매 의도와 연관될 수 있는 추가적인 예시적인 인터페이스를 예시한다. 예를 들어, 의도를 실행하기 위해서 필요한 모든 엔티티 값이 사용 가능하다고 모핑 인터페이스 시스템(130)이 결정하면, 프로세스는 사용자에 의해 인계될 수 있다. 도 6d의 실시예에서, 사용자는, 인터페이스(500A)에 도시된 바와 같이, 피자 테마 티셔츠의 선택 중 하나를 선택할 수 있고, 사용자는, 인터페이스(500B)에서와 같이, 선택된 항목에 대한 추가 정보를 볼 수 있고, 사용자는 주문 내역을 확인하고 피자 티셔츠를 주문할 수 있다.
도 5a 내지 도 5g 및 도 6a 내지 도 6d의 실시예는, 수신된 사용자 입력이 추가 정보로 점진적으로 증강됨에 따라, 실질적으로 (또는 거의) 동시 새로고침을 통해 변경되는 빠르게 변화하는(예를 들어, 모핑되는) 사용자 인터페이스를 유리하게 반영한다. 기존 시스템과 달리, 여기에서 사용자는, 사용자가 사용자 입력을 제공할 때 기존 시스템이 제시하는 잠재적 권장 사항을 파싱할 필요가 없다. 또한, 기존 시스템과 달리, 사용자는 증강된 입력 스트링에 대응되는 순간에(예를 들어, 현재 제공되는) 프레젠테이션을 위해 어떤 사용자 인터페이스가 표시되는지 보기 시작하기 위해 사용자 입력의 전체 선택을 기다릴 필요가 없다. 또한, 기존 시스템과 달리, 컴퓨팅 디바이스의 스크린 상에서의 디스플레이를 위해 활성화된 사용자 인터페이스는 거의 순간적으로(또는 즉시) 부분 입력을 반영하기 시작하고, 추가 용어가 문맥 상으로 사용자 입력에 추가됨에 따라 현재 입력을 반영하도록 빠르게 진화하고, 전체 사용자 입력에 대응되는 적절한 최종 사용자 인터페이스로 끝난다. 즉, 텍스트 입력 TX0 + TX1에서 디스플레이를 위해 활성화된 사용자 인터페이스는 원래 사용자 입력 TX0의 디스플레이를 위해 활성화된 사용자 인터페이스로부터 실질적으로 즉시 업데이트된다.
예시적인 컴퓨팅 시스템
도 7은 예시적인 실시형태에 따른, 머신-판독가능 매체로부터 명령어들을 판독하고, 이들을 하나 이상의 프로세서(또는 컨트롤러)에서 실행할 수 있는 예시적인 머신의 구성요소를 예시하는 블록도이다. 구체적으로, 도 7은 컴퓨터 시스템(700)의 예시적인 형태의 모핑 인터페이스 시스템(130)의 도식적 표현을 도시한다. 컴퓨터 시스템(700)은, 기계가 본원에 설명된 방법론(또는 프로세스) 중 임의의 하나 이상을 수행하도록 하기 위한 명령어(724)(예를 들어, 프로그램 코드 또는 소프트웨어)를 실행하기 위해서 사용될 수 있다. 대안적인 실시형태에서, 기계는 독립형 디바이스로서, 또는 다른 기계에 연결되는 연결형(예를 들어, 네트워크로 연결된) 디바이스로서 작동된다. 네트워크로 연결된 배치에서, 기계는 서버-클라이언트 네트워크 환경에서 서버 기계 또는 클라이언트 기계의 용량으로 작동되거나, 개인 간 통신(peer-to-peer)(또는 분산된) 네트워크 환경에서 피어(peer) 기계로서 작동될 수 있다.
기계는 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 스마트폰, 사물 인터넷(IoT) 기기, 네트워크 라우터, 스위치 또는 브리지, 또는 임의의 기계(기계에 의해 취해질 동작을 지정하는 명령어(724)(순차적이든 아니든)를 실행할 수 있음)일 수 있다. 또한, 단일 기계만이 예시되지만, "기계"라는 용어는 또한, 본원에서 논의된 방법론 중 임의의 하나 이상을 수행하기 위해 명령어(724)를 개별적으로 또는 공동으로 실행하는 기계의 임의의 집합을 포함하는 것으로 간주될 것이다.
예시적인 컴퓨터 시스템(700)은 하나 이상의 처리 유닛(일반적으로 프로세서(702))을 포함한다. 프로세서(702)는, 예를 들어, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 디지털 신호 프로세서(DSP), 컨트롤러, 상태 기계, 하나 이상의 주문형 집적 회로(ASIC), 하나 이상의 무선 주파수 집적 회로(RFIC) 또는 이들의 조합이다. 프로세서는 컴퓨팅 시스템(700)을 위한 운영 체제를 실행한다. 컴퓨터 시스템(700)은 또한, 메인 메모리(704)를 포함한다. 컴퓨터 시스템은 저장장치(716)를 포함할 수 있다. 프로세서(702), 메모리(704), 및 저장 유닛(716)은 버스(708)를 통해 통신한다.
또한, 컴퓨터 시스템(706)은 정적 메모리(706), 그래픽 디스플레이(710)(예를 들어, 플라즈마 디스플레이 패널(PDP), 액정 디스플레이(LCD), 또는 프로젝터를 구동하기 위해)를 포함할 수 있다. 컴퓨터 시스템(700)은 또한, 영숫자(alphanumeric) 입력 디바이스(712)(예를 들어, 키보드), 커서 제어 디바이스(714)(예를 들어, 마우스, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 도구), 신호 생성 디바이스(718)(예를 들어, 스피커), 및 네트워크 인터페이스 디바이스(720)를 포함할 수 있으며, 이들은 또한 버스(708)를 통해 통신하도록 구성된다.
저장 유닛(716)은 본원에 설명된 방법론 또는 기능 중 임의의 하나 이상을 구현하는 명령어(724)(예를 들어, 소프트웨어)가 저장된 머신-판독가능 매체(722)를 포함한다. 예를 들어, 명령어(724)는 NLP 파이프라인(135), 기능 매칭 모듈(140) 및/또는 엔티티 인식 모듈(145)의 기능을 구현하기 위한 명령어를 포함할 수 있다. 명령어(724)는 또한, 컴퓨터 시스템(700)에 의해 실행되는 동안 메인 메모리(704) 내에 또는 프로세서(702) 내에(예를 들어, 프로세서의 캐시 메모리 내에) 완전히 또는 적어도 부분적으로 상주할 수 있으며, 메인 메모리(704) 및 프로세서(702)는 또한 기계 판독가능 매체를 구성한다. 명령어(724)는 네트워크 인터페이스 장치(720)를 통해 네트워크(120)와 같은 네트워크(726)를 통해 전송되거나 수신될 수 있다. 또한, 클라이언트 디바이스(또는 사용자 디바이스)의 경우, 수신된 명령어는 클라이언트 디바이스 상에서 기능을 가능하게 하는 서버 시스템으로부터의 명령어일 수 있다. 예를 들어, 사용자 인터페이스가 디스플레이되는 방법은, 해당 코드가 클라이언트 디바이스의 운영 체제와 적절하게 인터페이스하는 방법에 기반하여 디스플레이를 위해 사용자 인터페이스가 활성화(예: 렌더링)되어야 하는 방법에 대한 코드를 수신하는 단계를 포함할 수 있다.
머신-판독가능 매체(722)가 예시적인 실시형태에서 단일 매체인 것으로 도시되지만, "머신-판독가능 매체"라는 용어는, 명령어(724)를 저장할 수 있는 단일 매체 또는 다수의 매체(예를 들어, 중앙 집중식 또는 분산 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 이해되어야 한다. "머신-판독가능 매체"라는 용어는 또한, 머신에 의한 실행을 위한 명령어(724)를 저장할 수 있는, 그리고 머신이 본원에 개시된 방법론 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 이해되어야 한다. "머신-판독가능 매체"라는 용어는, 솔리드 스테이트 메모리, 광학 매체 및 자기 매체의 형태의 데이터 저장소를 포함하지만, 이에 한정되지 않는다.
추가 고려사항
실시형태의 전술된 설명은 예시의 목적을 위해 제공되었으며, 총망라된 것, 또는 특허권을 개시된 정확한 형태로 한정하는 것으로 의도되지 않는다. 관련 기술 분야의 숙련자는 상기 개시내용에 비추어 많은 수정예 및 변경예가 가능하다는 점을 이해할 수 있다.
이 설명의 일부 부분은 정보에 대한 연산의 상징적 표현 및 알고리즘 측면에서 실시형태를 설명한다. 이러한 알고리즘 설명 및 표현은 일반적으로, 작업의 본질을 다른 당업자에게 효과적으로 전달하기 위해서 데이터 프로세싱 기술의 숙련자에 의해서 사용된다. 이러한 동작은 기능적으로, 계산적으로, 또는 논리적으로 설명되나, 컴퓨터 프로그램 또는 동등한 전기 회로, 마이크로 코드, 등에 의해 구현되는 것으로 이해된다. 또한, 일반성을 잃지 않으면서, 이러한 작동의 배열체를 모듈로서 지칭하는 것이 때로는 편리한 것으로 입증되었다. 설명된 작동 및 이의 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합으로 구현될 수 있다.
본원에 설명된 단계, 작동 또는 프로세스 중 어느 하나는 하나 이상의 하드웨어 또는 소프트웨어 모듈을 단독으로 또는 다른 장치와 조합하여 이용하여 수행되거나 구현될 수 있다. 일 실시형태에서, 소프트웨어 모듈은, 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로 구현되며, 이는 설명된 단계, 동작 또는 프로세스 중 어느 하나 또는 모두를 수행하기 위해 하나 이상의 컴퓨터 프로세서에 의해 실행될 수 있다.
실시형태는 또한, 본원의 작동을 수행하기 위한 장치에 관한 것일 수 있다. 이러한 장치는 필요한 목적을 위해 특별히 구성될 수 있고/있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성된 컴퓨팅 디바이스를 포함할 수 있다. 이러한 컴퓨터 프로그램은 비일시적 유형의 컴퓨터 판독 가능 저장 매체에, 또는 컴퓨터 시스템 버스에 결합될 수 있는 전자 명령어를 저장하기에 적합한 임의의 유형의 매체에 저장될 수 있다. 예를 들어, 컴퓨터 프로그램을 저장하는 데이터 기억장치에 결합된 컴퓨팅 디바이스는 특수 목적 컴퓨팅 디바이스에 대응될 수 있다. 더욱이, 명세서에서 언급된 임의의 컴퓨팅 시스템은 단일 프로세서를 포함할 수 있거나, 증가된 컴퓨팅 기능을 위해 다수의 프로세서 설계를 채용하는 아키텍처일 수 있다.
실시형태는 또한, 본원에 설명된 컴퓨팅 프로세스에 의해 생성되는 제품에 관한 것이다. 이러한 제품은 정보가 비일시적, 유형(tangible)의 컴퓨터 판독 가능 저장 매체에 저장되는 컴퓨팅 프로세스로부터 발생되는 정보를 포함할 수 있고, 본원에 설명된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시형태를 포함할 수 있다.
마지막으로, 명세서에서 사용된 표현은 주로 가독성 및 설명적 목적을 위해 선택되었고, 본 발명의 주제를 한정하거나 제한하기 위해 선택되지 않을 것이다. 따라서, 본 특허권의 범위는 이 상세한 설명에 의해 제한되는 것이 아니라 이에 기반한 출원에 대해 이슈된 임의의 청구범위에 의해 제한되도록 의도된다. 따라서, 실시형태의 개시내용은, 다음의 청구 범위에 기재된 특허권의 범위를 한정하지 않고 이를 예시하는 것으로 의도된다.

Claims (20)

  1. 컴퓨터 구현(computer-implemented) 방법에 있어서,
    사용자 디바이스로부터, 입력 스트링(string)을 포함하는 제1 사용자 입력을 수신하는 단계;
    상기 제1 사용자 입력에 기반하여 일 세트의 자연어 처리 신호를 생성하는 단계;
    상기 제1 사용자 입력과 매칭되는 의도를 선택하는 단계 - 상기 선택은 상기 자연어 처리 신호에 기반하고, 상기 의도는 컴퓨터 실행 가능 기능에 대응함 -;
    상기 의도와 연관된 인터페이스를 식별하는 단계;
    상기 제1 사용자 입력으로부터 상기 인터페이스의 엔티티(entity)와 연관된 일 세트의 값을 추출하는 단계; 및
    상기 제1 사용자 입력의 상기 수신과 거의 동시에, 상기 일 세트의 값으로부터의 값을 포함하여 디스플레이되는 상기 인터페이스를, 상기 사용자 디바이스 상에서의 상기 인터페이스로서 디스플레이를 위해, 활성화시키는 단계를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    텍스트 스트링을 포함하는 제2 사용자 입력을 상기 사용자 디바이스로부터 수신하는 단계;
    상기 제1 사용자 입력과 상기 제2 사용자 입력의 조합에 기반하여 업데이트된 일 세트의 자연어 처리 신호를 생성하는 단계;
    상기 제1 사용자 입력과 상기 제2 사용자 입력의 조합과 매칭되는 의도를 선택하는 단계 - 상기 선택은 상기 업데이트된 일 세트의 자연어 처리 신호에 기반함 -;
    새롭게 선택된 의도와 연관된 제2 인터페이스를 식별하는 단계;
    상기 제1 사용자 입력과 상기 제2 사용자 입력의 조합으로부터, 상기 제2 인터페이스의 엔티티와 연관된 제2 세트의 값을 추출하는 단계; 및
    상기 사용자 디바이스 상에서의 디스플레이를 위해 상기 제2 인터페이스를 활성화시키는 단계 - 디스플레이를 위한 상기 제2 인터페이스는 상기 제2 세트의 값으로부터의 값을 포함함 -;를 더 포함하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 제1 사용자 입력은 목소리(voice) 입력인, 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 사용자 입력과 매칭되는 의도를 선택하는 단계는 상기 제1 사용자 입력을 하나 이상의 이전에 수신된 사용자 입력 스트링과 비교하는 단계, 및 상기 하나 이상의 이전에 수신된 사용자 입력 스트링과 매칭되는 상기 제1 사용자 입력에 반응하여, 상기 이전에 수신된 사용자 입력 스트링 중 적어도 하나에 대한 응답으로 선택되었던 의도를 선택하는 단계를 포함하는, 컴퓨터 구현 방법.
  5. 제1항에 있어서, 상기 사용자 입력과 매칭되는 의도를 선택하는 단계는 가장 적용 가능한 의도를 예측하기 위해서 훈련된 컴퓨터 모델을 적용하는 단계를 포함하는, 컴퓨터 구현 방법.
  6. 제1항에 있어서, 인터페이스는 연관된 일 세트의 엔티티를 포함하는, 컴퓨터 구현 방법.
  7. 제1항에 있어서, 상기 제1 인터페이스 및 제2 인터페이스는 동일한 인터페이스인, 컴퓨터 구현 방법.
  8. 제1항에 있어서, 상기 제1 인터페이스 및 제2 인터페이스는 상이한 인터페이스인, 컴퓨터 구현 방법.
  9. 제1항에 있어서, 상기 입력 스트링은 텍스트(text) 스트링인, 컴퓨터 구현 방법.
  10. 제1항에 있어서, 상기 입력 스트링은 오디오(audio) 입력인, 컴퓨터 구현 방법.
  11. 컴퓨터 시스템에 있어서,
    컴퓨터 프로그램 명령어를 실행하기 위한 하나 이상의 컴퓨터 프로세서; 및
    적어도 하나의 프로세서에 의해 실행 가능한 저장된 명령어를 포함하는 비일시적인 컴퓨터 판독 가능한 저장 매체를 포함하며, 상기 명령어는 실행될 때 상기 프로세서로 하여금
    제1 사용자 디바이스로부터, 입력 스트링을 포함하는 제1 사용자 입력을 수신하고;
    상기 제1 사용자 입력에 기반하여 일 세트의 자연어 처리 신호를 생성하고;
    상기 제1 사용자 입력과 매칭되는 의도를 선택하고 - 상기 선택은 상기 자연어 처리 신호에 기반하고, 상기 의도는 컴퓨터 실행 가능 기능에 대응함 -;
    상기 의도와 연관된 인터페이스를 식별하고;
    상기 제1 사용자 입력으로부터 상기 인터페이스의 엔티티(entity)와 연관된 일 세트의 값을 추출하고;
    상기 제1 사용자 입력의 상기 수신과 거의 동시에, 상기 일 세트의 값으로부터의 값을 포함하는 디스플레이를 위한 상기 인터페이스를, 상기 사용자 디바이스 상에서의 상기 인터페이스로서 디스플레이를 위해, 활성화시키게 하는, 컴퓨터 시스템.
  12. 제11항에 있어서, 상기 컴퓨터 시스템은 저장된 명령어를 더 포함하며, 상기 명령어는 실행될 때 추가로 상기 프로세서로 하여금
    텍스트 스트링을 포함하는 제2 사용자 입력을 상기 사용자 디바이스로부터 수신하고;
    상기 제1 사용자 입력과 상기 제2 사용자 입력의 조합에 기반하여 업데이트된 일 세트의 자연어 처리 신호를 생성하고;
    상기 제1 사용자 입력과 상기 제2 사용자 입력의 조합과 매칭되는 의도를 선택하고 - 상기 선택은 상기 업데이트된 일 세트의 자연어 처리 신호에 기반함 -;
    새롭게 선택된 의도와 연관된 제2 인터페이스를 식별하고;
    상기 제1 사용자 입력과 상기 제2 사용자 입력의 조합으로부터, 상기 제2 인터페이스의 엔티티와 연관된 제2 세트의 값을 추출하고;
    상기 사용자 디바이스 상에서의 디스플레이를 위해 상기 제2 인터페이스를 활성화시키게 하며, 디스플레이를 위한 상기 제2 인터페이스는 상기 제2 세트의 값으로부터의 값을 포함하는, 컴퓨터 시스템.
  13. 제11항에 있어서, 상기 제1 사용자 입력은 목소리 입력인, 컴퓨터 시스템.
  14. 제11항에 있어서, 상기 프로세서로 하여금 상기 사용자 입력과 매칭되는 의도를 선택하게 하는 상기 명령어는, 상기 제1 사용자 입력을 하나 이상의 이전에 수신된 사용자 입력 스트링과 비교하는 명령어, 및 상기 하나 이상의 이전에 수신된 사용자 입력 스트링과 매칭되는 상기 제1 사용자 입력에 반응하여, 상기 이전에 수신된 사용자 입력 스트링 중 적어도 하나에 대한 응답으로 선택되었던 의도를 선택하는 명령어를 포함하는, 컴퓨터 시스템.
  15. 제11항에 있어서, 상기 프로세서로 하여금 상기 사용자 입력과 매칭되는 의도를 선택하게 하는 상기 명령어는, 가장 적용 가능한 의도를 예측하기 위해서 상기 프로세서로 하여금 훈련된 컴퓨터 모델을 적용하게 하는 명령어를 포함하는, 컴퓨터 시스템.
  16. 제11항에 있어서, 인터페이스는 연관된 일 세트의 엔티티를 포함하는, 컴퓨터 시스템.
  17. 제11항에 있어서, 상기 제1 인터페이스 및 제2 인터페이스는 동일한 인터페이스인, 컴퓨터 시스템.
  18. 제11항에 있어서, 상기 제1 인터페이스 및 제2 인터페이스는 상이한 인터페이스인, 컴퓨터 시스템.
  19. 제11항에 있어서, 상기 입력 스트링은 텍스트 스트링인, 컴퓨터 시스템.
  20. 제11항에 있어서, 상기 입력 스트링은 오디오 입력인, 컴퓨터 스트링.
KR1020227010952A 2019-09-04 2020-09-04 컴퓨터 스크린 상의 디스플레이를 위한 인터페이스의 실시간 모핑 KR20220056228A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962895944P 2019-09-04 2019-09-04
US62/895,944 2019-09-04
US202063038604P 2020-06-12 2020-06-12
US63/038,604 2020-06-12
PCT/US2020/049544 WO2021046449A1 (en) 2019-09-04 2020-09-04 Real-time morphing interface for display on a computer screen

Publications (1)

Publication Number Publication Date
KR20220056228A true KR20220056228A (ko) 2022-05-04

Family

ID=74682288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010952A KR20220056228A (ko) 2019-09-04 2020-09-04 컴퓨터 스크린 상의 디스플레이를 위한 인터페이스의 실시간 모핑

Country Status (6)

Country Link
US (1) US11531451B2 (ko)
EP (1) EP4026120A4 (ko)
JP (1) JP2022547482A (ko)
KR (1) KR20220056228A (ko)
CN (1) CN114365143A (ko)
WO (1) WO2021046449A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021046449A1 (en) 2019-09-04 2021-03-11 Brain Technologies, Inc. Real-time morphing interface for display on a computer screen
US11966964B2 (en) * 2020-01-31 2024-04-23 Walmart Apollo, Llc Voice-enabled recipe selection
WO2022182824A1 (en) * 2021-02-26 2022-09-01 Brain Technologies, Inc. Natural query completion for a real-time morphing interface
US20230140974A1 (en) * 2021-11-10 2023-05-11 Pencil Learning Technologies, Inc. Systems and methods for deeply integrated presentation gadgets

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082264B2 (en) 2004-04-07 2011-12-20 Inquira, Inc. Automated scheme for identifying user intent in real-time
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9171541B2 (en) * 2009-11-10 2015-10-27 Voicebox Technologies Corporation System and method for hybrid processing in a natural language voice services environment
US8694537B2 (en) 2010-07-29 2014-04-08 Soundhound, Inc. Systems and methods for enabling natural language processing
US9619554B2 (en) 2011-11-03 2017-04-11 Microsoft Technology Licensing, Llc Domain specific query-completion suggestions
US8984006B2 (en) 2011-11-08 2015-03-17 Google Inc. Systems and methods for identifying hierarchical relationships
CN104272302B (zh) 2012-02-29 2017-09-12 谷歌公司 交互式查询完成模板
US10417037B2 (en) * 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9786097B2 (en) * 2012-06-22 2017-10-10 Matterport, Inc. Multi-modal method for interacting with 3D models
US10242403B2 (en) * 2013-02-22 2019-03-26 Cantor Futures Exchange, L.P. Systems and methods for computing an index for a binary options transaction
CN110096712B (zh) * 2013-03-15 2023-06-20 苹果公司 通过智能数字助理的用户培训
KR102197560B1 (ko) * 2013-06-07 2020-12-31 애플 인크. 지능형 자동 어시스턴트
US9633317B2 (en) 2013-06-20 2017-04-25 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on a natural language intent interpreter
US9483519B2 (en) * 2013-08-28 2016-11-01 International Business Machines Corporation Authorship enhanced corpus ingestion for natural language processing
US11061893B2 (en) 2014-05-30 2021-07-13 Apple Inc. Multi-domain query completion
US9767091B2 (en) * 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query
US10482184B2 (en) * 2015-03-08 2019-11-19 Google Llc Context-based natural language processing
US10691473B2 (en) * 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
JP2019507417A (ja) * 2016-01-12 2019-03-14 ヴェリトーン, インコーポレイテッド 多変数検索のためのユーザインターフェース
US20180052824A1 (en) * 2016-08-19 2018-02-22 Microsoft Technology Licensing, Llc Task identification and completion based on natural language query
US10446137B2 (en) * 2016-09-07 2019-10-15 Microsoft Technology Licensing, Llc Ambiguity resolving conversational understanding system
KR20180055189A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치
KR20180060328A (ko) * 2016-11-28 2018-06-07 삼성전자주식회사 멀티 모달 입력을 처리하는 전자 장치, 멀티 모달 입력을 처리하는 방법 및 멀티 모달 입력을 처리하는 서버
US11210593B1 (en) 2016-12-22 2021-12-28 Brain Technologies, Inc. Storage and execution of operation sequences
KR20180082033A (ko) * 2017-01-09 2018-07-18 삼성전자주식회사 음성을 인식하는 전자 장치
US10467510B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Intelligent assistant
US11282006B2 (en) * 2017-03-20 2022-03-22 Microsoft Technology Licensing, Llc Action assignment tracking using natural language processing in electronic communication applications
KR102431817B1 (ko) * 2017-10-12 2022-08-12 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 서버
WO2019107145A1 (ja) * 2017-11-28 2019-06-06 ソニー株式会社 情報処理装置、及び情報処理方法
US11145291B2 (en) * 2018-01-31 2021-10-12 Microsoft Technology Licensing, Llc Training natural language system with generated dialogues
KR102596436B1 (ko) * 2018-02-20 2023-11-01 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
US11200893B2 (en) * 2018-05-07 2021-12-14 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
KR20200052612A (ko) * 2018-11-07 2020-05-15 삼성전자주식회사 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
US20200159824A1 (en) * 2018-11-15 2020-05-21 International Business Machines Corporation Dynamic Contextual Response Formulation
KR20200059054A (ko) * 2018-11-20 2020-05-28 삼성전자주식회사 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
US11256868B2 (en) * 2019-06-03 2022-02-22 Microsoft Technology Licensing, Llc Architecture for resolving ambiguous user utterance
US11847167B2 (en) * 2019-06-05 2023-12-19 Boomi, LP System and method for generation of chat bot system with integration elements augmenting natural language processing and native business rules
WO2021046449A1 (en) 2019-09-04 2021-03-11 Brain Technologies, Inc. Real-time morphing interface for display on a computer screen

Also Published As

Publication number Publication date
US20210064203A1 (en) 2021-03-04
JP2022547482A (ja) 2022-11-14
EP4026120A4 (en) 2023-10-18
US11531451B2 (en) 2022-12-20
EP4026120A1 (en) 2022-07-13
CN114365143A (zh) 2022-04-15
WO2021046449A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
US11531451B2 (en) Real-time morphing interface for display on a computer screen
KR102644088B1 (ko) 인공지능 학습모델을 이용하여 요약 정보를 제공하기 위한 전자 장치 및 이의 제어 방법
US11995564B2 (en) System and method for generating aspect-enhanced explainable description-based recommendations
CN109952572B (zh) 基于消息贴纸的建议响应
US10970900B2 (en) Electronic apparatus and controlling method thereof
US11721333B2 (en) Electronic apparatus and control method thereof
WO2019191810A1 (en) Methods and systems for resolving user interface features, and related applications
US20210217409A1 (en) Electronic device and control method therefor
CN118103834A (zh) 一种信息获取方法以及装置
EP3732592A1 (en) Intelligent routing services and systems
CN111902812A (zh) 电子装置及其控制方法
Li et al. Intention understanding in human–robot interaction based on visual-NLP semantics
Dharaniya et al. A design of movie script generation based on natural language processing by optimized ensemble deep learning with heuristic algorithm
KR20170089369A (ko) 사용자 학습을 통한 문서 자동 요약 방법
US20230402037A1 (en) Digital interface with user input guidance
US12086541B2 (en) Natural query completion for a real-time morphing interface
US20210192134A1 (en) Natural query completion for a real-time morphing interface
WO2022182824A1 (en) Natural query completion for a real-time morphing interface
US20240126807A1 (en) Visual Search Determination for Text-To-Image Replacement
US11797780B1 (en) Context-biased artificial intelligence video generation
Jbene et al. Intent detection for task‐oriented conversational agents: A comparative study of recurrent neural networks and transformer models
Tan et al. Flower shop mobile chatbot
Zhang et al. Is a common phrase an entity mention or not? dual representations for domain-specific named entity recognition
WO2024072585A1 (en) Presenting related content while browsing and searching content
Jackson et al. Fusion-Enhanced Multimodal Social Media Analysis

Legal Events

Date Code Title Description
E902 Notification of reason for refusal