KR20170078768A - 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩 - Google Patents

예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩 Download PDF

Info

Publication number
KR20170078768A
KR20170078768A KR1020177014616A KR20177014616A KR20170078768A KR 20170078768 A KR20170078768 A KR 20170078768A KR 1020177014616 A KR1020177014616 A KR 1020177014616A KR 20177014616 A KR20177014616 A KR 20177014616A KR 20170078768 A KR20170078768 A KR 20170078768A
Authority
KR
South Korea
Prior art keywords
ontology
user
input
context data
ontologies
Prior art date
Application number
KR1020177014616A
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 KR20170078768A publication Critical patent/KR20170078768A/ko

Links

Images

Classifications

    • G06F17/276
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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/3322Query formulation using system suggestions
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • G06F17/3064
    • G06F17/30734
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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
    • 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
    • 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
    • G06Q30/0643Graphical representation of items or shoppers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

적어도 하나의 프로그램과 예측성 타이핑에 대한 문맥 관련 온톨로지의 동적 로딩을 위한 네비게이션 가능 사용자 인터페이스를 생성하는 컴퓨터 구현 방법을 저장한 컴퓨터 판독가능 저장 매체를 포함한 시스템이 개시된다. 일부 실시예에서, 이 방법은 클라이언트 디바이스로부터 입력을 수신하는 단계와, 상기 입력에 대응하는 문맥 데이터를 수집하는 단계와, 네비게이션가능 사용자 인터페이스에서, 문맥 데이터와 수신된 입력에 기반하여 예측성 타이핑 엔트리를 제공하는 단계를 포함한다.

Description

예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩{DYNAMICALLY LOADING CONTEXTUAL ONTOLOGIES FOR PREDICTIVE TYPING}
본 출원은 2014년 10월 30일 출원된 미국 특허 출원 제14/528,857호의 우선권을 주장하며, 이 미국출원은 그 전체가 본 명세서에 참조로 포함된다.
본 출원은 데이터 프로세싱에 관한 것이다. 특히, 본 실시예는 예측성 터치 스크린 타이핑을 위한 문맥 관련 온톨로지를 동적으로 로딩하기 위한 시스템 및 방법에 관한 것이다.
모바일 디바이스의 인기가 증가함에 따라, 다양한 애플리케이션 및 인터페이스가 개발되어 모바일 디바이스가 사용될 수 있는 애플리케이션들을 확장하고 있다. 그 결과, 단순히 전화 통화를 행하는 것 외의 목적을 위해 모바일 디바이스를 사용하는 사람이 증가하고 있다. 그러나, 빈번한 오타(frequent typographical errors)(typos) 및 제한된 스크린 사이즈로 인해, 모바일 디바이스 상에 타이핑을 행하는 것은 종종 문제로 되고 있다. 이를 해결하기 위해, 타이핑이 발생함에 따라 수많은 모바일 키보드들은 필드 입력을 위해 자동 완성 제안(auto-complete suggestions)을 제공하고 있다. 그러나, 이러한 키보드 제안은 사용자가 타이핑중인 특정의 문맥에는 적용되지 않을 수 있다. 가령, 상업 사이트에서 동작할 때, 사용자가 타이핑하는 단어들은 제품명 또는 특징에 관한 것일 수 있으며, 그에 따라 자동 완성 제안이 제공된다. 이러한 단어들은 다양한 문맥, 가령 비지니스 메일을 구성하거나 친구에게 메시지를 텍스팅할 때 변화될 수 있다.
첨부된 도면들 중의 다양한 도면들이 본 발명의 요지의 실시예를 도시하며 본 발명의 영역을 제한하는 것으로 간주되어서는 아니된다.
도 1은 일 실시예에 따라 네트워크를 통해 데이터를 교환하도록 구성되는 클라이언트-서버 아키텍처를 갖는 네트워크 시스템을 도시한 네트워크 도면이다.
도 2는 도 1의 네트워크 시스템의 일부로서 제공되는, 문맥 관련 온톨로지 애플리케이션을 형성하는 복수의 모듈의 실시예를 도시한 블럭도이다.
도 3은 일부 실시예에 따른 일 예의 통신 세션을 도시한 인터페이스 도면이다.
도 4는 일부 실시예에 따른 예의 통신 세션의 추가적인 교환을 도시한 인터페이스 도면이다.
도 5는 일부 실시예에 따른 예의 통신 세션의 추가적인 교환을 도시한 인터페이스 도면이다.
도 6은 일부 실시예에 따른 문맥 기반 예측성 타이핑 엔트리를 제공하기 위한 예의 방법을 도시한 플로우챠트이다.
도 7은 일부 실시예에 따라 온톨로지를 사전 캐시하고 문맥 기반 예측성 타이핑 엔트리를 제공하는 예의 방법을 도시한 플로우챠트이다.
도 8은 일부 실시예에 따라 사용자 입력 및 문맥 데이터에 기반하여 온톨로지를 업데이트하는 예의 방법을 도시한 플로우챠트이다.
도 9는 예의 컴퓨터 시스템 형태에서 머신의 개략적인 표현이며, 이 시스템 내에서 머신으로 하여금 전술한 임의의 하나 이상의 방법을 수행하게 하는 인스트럭션들의 세트가 실행될 수 있다.
본 발명의 요지를 실행하는 특정 예의 실시예에 대한 참조가 보다 상세하게 행해질 것이다. 이러한 특정 실시예들의 예가 첨부된 도면에 예시된다. 특정 실시예들은 청구범위의 영역을 기술된 실시예에 국한하도록 의도되지 않는다는 것이 이해될 것이다. 이와는 대조적으로 특정의 실시예들은 본 개시물의 영역 내에 포함될 수 있는 대체물, 변형물 및 등가물을 커버하는 것으로 의도된다. 아래의 설명에서, 특정의 세부사항은 본 발명의 요지의 상세한 이해를 위해 기술된다. 실시예들은 이러한 특정의 세부사항의 일부 또는 모두가 없이도 실시될 수 있다. 본 개시물에 따라, 컴포넌트, 프로세스 단계, 및 데이터 구조는 다양한 타입의 운영 체제, 프로그래밍 랭귀지, 컴퓨팅 플랫폼, 컴퓨터 프로그램, 및/또는 범용 머신을 사용하여 구현될 수 있다.
본 개시물의 측면들은 예측성 터치 스크린 타이핑을 위한 문맥 관련 온톨로지를 동적으로 로딩하는 시스템 및 방법을 기술한다. 이 문맥은 현재 또는 이전의 통신 세션과 관련된 정보를 포함할 수 있거나, 사용자의 트랜잭션 또는 질의 이력, 또는 웹사이트의 컨텐츠, 또는 사용자가 타이핑한 단어와 관련될 수 있다. 이 문맥은 또한 고입상(highly granular)일 수 있다. 가령, 판매용 차량에 대한 리스트를 기록할 때 예측성 타이핑을 위해 로딩된 문맥 관련 온톨로지는 초기에 차량의 카테고리, 또는 차량의 특정 타입 또는 모델에도 특정될 수 있다. 만약 사용자가 판매용 소파를 리스트해야 한다면, 상이한 문맥 관련 온톨로지가 로딩될 수 있다. 본 명세서에 사용되는 바와 같이, "사용자" 또는 "엔티티"는 사람(가령, 휴먼), 비즈니스(가령, 회사), 조직, 사람의 그룹, 페르소나(가령, 가상 인물), 보트(bot), 또는 이들의 임의의 조합일 수 있다.
세션의 문맥을 나타내는 문맥 데이터는 일부 실시예에 따라 자동으로 저장될 수 있다. 다른 실시예에서, 방법은 사용자 입력을 수신하는 단계와, 상기 사용자 입력에 응답하여 특정 통신 세션에 대응하는 문맥 데이터를 수집하는 단계와, 대응하는 온톨로지를 검색하는 단계와, 상기 문맥 데이터 및 상기 대응하는 온톨로지에 기반하여 예측성 타이핑 엔트리를 사용자에게 제시하는 단계와, 상기 세션과 관련된 문맥 데이터 및 상기 사용자 입력에 기반하여 상기 대응하는 온톨로지를 업데이트하는 단계를 포함할 수 있다.
이 방법은 텍스트 제안의 프리젠테이션을 생성 및 야기하는 단계를 더 포함할 수 있다. 이러한 방식으로, 사용자는 모바일 디바이스 상에 타이핑하고, 상기 통신 세션의 특정 문맥과 관련될 수 있는 입력된 텍스트에 기반한 텍스트 제안을 수신할 수 있다.
도 1은 일 실시예에 따라 네트워크를 통해 데이터를 교환하도록 구성되는 클라이언트-서버 아키텍처를 갖는 네트워크 시스템(100)을 도시한 네트워크 도면이다. 네트워크 시스템(100)은 클라이언트 디바이스(106) 및 제3자 서버(114)와 통신하는 네트워크 기반 컨텐츠 퍼블리셔(102)를 포함할 수 있다. 일부 실시예에서, 네트워크 기반 컨텐츠 퍼블리셔(102)는 네트워크 기반 마킷플레이스일 수 있다.
네트워크 기반 컨텐츠 퍼블리셔(102)는 네트워크 시스템(100) 및 그 사용자들과 관련된 다양한 기능 및 측면과 관련될 수 있는 상기 네트워크 시스템(100) 내의 데이터를 통신 및 교환할 수 있다. 네트워크 기반 컨텐츠 퍼블리셔(102)는 통신 네트워크(104)(가령, 인터넷)를 통해 하나 이상의 클라이언트 디바이스들(가령, 클라이언트 디바이스(106))에게 서버측 기능을 제공할 수 있다. 하나 이상의 클라이언트 디바이스들은, 통신 네트워크(104)를 통해 데이터를 교환하기 위해 상기 네트워크 시스템(100)을 사용하는 사용자에 의해 작동될 수 있다. 트랜잭션은 네트워크 시스템(100)의 컨텐츠 및 사용자에 대해 데이터를 송신하는 것, 수신하는 것 및 프로세싱하는 것을 포함할 수 있다. 이 데이터는 무엇보다도 이미지와, 비디오 또는 오디오 컨텐츠와, 사용자 선호와, 제품 및 서비스 피드백, 어드바이스 및 리뷰와, 제품, 서비스, 제조사, 및 판매자 추천 및 식별자와, 구매자 및 판매자와 관련된 제품 및 서비스 리스트와, 제품 및 서비스 광고와, 경매 입찰과, 트랜잭션 데이터와, 소셜 데이터를 포함하지만 이에 국한된 것은 아니다.
다양한 실시예에서, 네트워크 시스템(100) 내에서 교환되는 데이터는 하나 이상의 클라이언트 또는 사용자 인터페이스(UI)를 통해 이용가능한 사용자에 의해 선택되는 기능에 의존할 수 있다. UI는 웹 클라이언트(108)를 사용하는 클라이언트 디바이스(106)와 같은 클라이언트 디바이스와 관련될 수 있다. 웹 클라이언트(108)는 웹 서버(118)를 거쳐 네트워크 기반 컨텐츠 퍼블리셔(102)와 통신될 수 있다. UI는 또한 클라이언트 디바이스(106)상에서 실행되는 하나 이상의 애플리케이션들(110), 가령 네트워크 기반 컨텐츠 퍼블리셔(102)와 상호작용하도록 설계되는 클라이언트 애플리케이션, 네트워크 기반 컨텐츠 퍼블리셔(102)에 의해 호스팅되는 애플리케이션 또는 서비스, 또는 제3자 서버(114)(가령, 하나 이상의 서버 또는 클라이언트 디바이스)에 의해 호스팅되는 제3자 애플리케이션(116)과 관련될 수 있다.
클라이언트 디바이스(106)는 다양한 타입의 디바이스들 중의 임의의 디바이스일 수 있다. 가령, 클라이언트 디바이스(106)는 iPhone®과 같은 모바일 디바이스, 또는 iOS® 운영 체제, 안드로이드 운영 체제, 블랙베리 운영 체제, Microsoft®Windows®Phone 운영 체제, Symbian®OS 또는 webOS®을 실행하는 다른 모바일 디바이스일 수 있다. 일부 실시예에 따르면, 클라이언트 디바이스(106)는 대안으로서 iPad®와 같은 태블릿 컴퓨터, 전술한 운영 체제들 중의 하나를 실행하는 다른 태블릿 컴퓨터일 수 있다. 일부 실시예에서, 클라이언트 디바이스(106)는 또한 PDA, PND, 핸드헬드 컴퓨터, 데스크탑 컴퓨터, 랩탑 또는 넷북, 케이블 또는 위성 컨텐츠 공급자에 의해 제공되는 셋탑박스(STB), 안경 또는 손목 시계와 같은 웨어러블 컴퓨팅 디바이스, 차량에 내장된 멀티미디어 디바이스, GPS 디바이스, 데이터 인에이블형 북 리더, 또는 Nintendo Wii®, Microsoft Xbox360®, 소니 PlayStation 3®과 같은 비디오 게임 시스템 콘솔, 또는 다른 비디오 게임 시스템 콘솔일 수 있다.
클라이언트 디바이스(106)는 커넥션(112)을 거쳐 통신 네트워크(104)(가령, 인터넷 또는 WAN)와 인터페이스할 수 있다. 클라이언트 디바이스(106)의 형태에 따라, 다양한 타입의 커넥션(112) 및 통신 네트워크(104) 중의 임의의 것이 사용될 수 있다. 가령, 커넥션(112)은 코드 분할 다중 접속(CDMA) 커넥션, GSM 커넥션, 또는 다른 타입의 셀룰러 커넥션일 수 있다. 이러한 커넥션(112)은 다양한 타입의 데이터 전송 기술 중의 임의의 기술, 가령 싱글 캐리어 무선 전송 기술(1xRTT), EVDD 기술, GPRS 기술, EDGE 기술 또는 다른 데이터 전송 기술(가령, 4세대 무선 4G 네트워크)을 구현할 수 있다. 그러한 기술이 이용될 때, 통신 네트워크(104)는 셀룰러 텔레폰 교환기에 의해 상호접속되는, 중첩 지오그래픽 커버리지의 복수의 셀 사이트를 갖는 셀룰러 네트워크를 포함할 수 있다. 이러한 셀룰러 텔레폰 교환기는 네트워크 백본(가령, 공중 교환 텔레폰 네트워크(PSTN), 패킷 교환 데이터 네트워크, 또는 다른 타입의 네트워크)에 연결될 수 있다.
다른 예에서, 커넥션(112)은 IEEE 802.11x 타입의 WiFi 커넥션, WiMAX 커넥션, 또는 다른 타입의 무선 데이터 커넥션일 수 있다. 그러한 실시예에서, 통신 네트워크(104)는 LAN, WAN, 인터넷, 또는 다른 타입의 패킷 교환 데이터 네트워크에 연결된 하나 이상의 무선 액세스 포인트를 포함할 수 있다. 또다른 예에서, 커넥션(112)은 무선 커넥션, 가령 이더넷 링크일 수 있으며, 통신 네트워크(104)는 LAN, WAN, 인터넷, 또는 다른 타입의 패킷 교환 데이터 네트워크일 수 있다. 따라서, 다양한 상이한 구성이 명시적으로 고려된다.
도 1은 또한 클라이언트 디바이스(106)의 사용자들에게 하나 이상의 서비스를 제공할 수 있는 제3자 서버(114) 상에서 실행되는 제3자 애플리케이션(116)을 도시하고 있다. 제3자 애플리케이션(116)은 애플리케이션 프로그램 인터페이스(API) 서버(120)에 의해 제공되는 프로그래머틱 인터페이스(programmatic interface)를 거쳐 네트워크 기반 컨텐츠 퍼블리셔(102)에 대한 프로그래머틱 액세스(programmatic access)를 가질 수 있다. 일부 실시예에서, 제3자 애플리케이션(116)은 클라이언트 디바이스(106)의 사용자와의 트랜잭션을 수행하거나 그 사용자에게 서비스를 제공할 수 있는 임의의 조직과 관련될 수 있다.
특히 네트워크 기반 컨텐츠 퍼블리셔(102)에 되돌아가, API 서버(120) 및 웹 서버(118)는 애플리케이션 서버(122)에 제각기 연결되어 프로그래머틱 인터페이스 및 웹 인터페이스를 제공한다. 애플리케이션 서버(122)는 또한, 데이터베이스(130)에 저장될 수 있는, 네트워크 기반 컨텐츠 퍼블리셔(102)의 사용자용 복수의 사용자 계정을 호스팅할 수 있다. 도 1에 도시된 바와 같이, 애플리케이션 서버(122)는 또한, 문맥 관련 온톨로지 애플리케이션(126)을 호스팅할 수 있으며, 이 문맥 관련 온톨로지 애플리케이션(126)은 세션 문맥에 기반하여, 예측성 텍스트용 대응 온톨로지로부터 예측성 타이핑 엔트리를 제공하도록 구성될 수 있다. 이러한 예측성 텍스트는 가령, 클라이언트 디바이스(106) 상에 제시될 수 있다.
도 1에 도시된 바와 같이, 애플리케이션 서버(122)는 API 서버(120) 및 웹 서버(118)를 거쳐 통신 네트워크(104)에, 가령 무선 또는 유선 인터페이스를 경유하여 연결될 수 있다. 애플리케이션 서버(122)는 다시, 데이터베이스(130)에 대한 액세스를 가능하게 하는 데이터베이스 서버(128)에 연결되도록 도시된다. 일부 실시예에서, 애플리케이션 서버(122)는 데이터베이스 서버(128)에 대한 필요없이 데이터베이스(130)에 직접 액세스할 수 있다. 일부 실시예에서, 데이터베이스(130)는 네트워크 기반 컨텐츠 퍼블리셔(122)의 내부 또는 외부에 위치할 수 있는 복수의 데이터베이스를 포함할 수 있다.
데이터베이스(130)는 네트워크 시스템(100) 및 그 사용자와 관련된 다양한 기능 및 측면에 관한 데이터를 저장할 수 있다. 가령, 네트워크 기반 컨텐츠 퍼블리셔(102)의 사용자용 사용자 계정은 데이터베이스(130)에 저장 및 유지될 수 있다. 각각의 사용자 계정은 특정 사용자의 측면을 기술하는 사용자 데이터를 포함할 수 있다. 사용자 데이터는 데모그래픽 데이터, 사용자 선호, 및 금융 정보를 포함할 수 있다. 데모그래픽 데이터는 가령 사용자의 하나 이상의 특성을 기술하는 정보를 포함할 수 있다. 데모그래픽 데이터는 가령, 성별, 나이, 위치 정보, 직업 이력, 교육 이력, 컨택 정보, 가족 관계, 또는 사용자 관심을 포함할 수 있다. 금융 정보는 가령, 계좌번호, 크리덴셜, 패스워드, 디바이스 식별자, 사용자 이름, 폰 번호, 신용카드 정보, 은행 정보, 트랜잭션 이력과 같은 개인 금융 정보, 또는 사용자에 의한 온라인 트랜잭션을 가능하게 하는 데 사용될 수 있는 다른 금융 정보를 포함할 수 있다. 일부 실시예에 따라, 트랜잭션 이력은 네트워크 기반 컨텐츠 퍼블리셔(102)에 의해 제공되는 마킷플레이스 서비스를 사용하여 상인에 의해 판매용으로 제시될 수 있는 아이템 또는 서비스(집합적으로 "제품"으로 지칭됨)에 대한 트랜잭션과 관련되는 정보를 포함할 수 있다. 트랜잭션 이력 정보는 가령, 사용자가 구매한 제품의 설명, 그 제품의 식별자, 그 제품이 속하는 카테고리, 구매 가격, 양, 또는 입찰의 회수를 포함할 수 있다.
사용자 데이터는 또한 일부 실시예에 따라 사용자 활동의 기록을 포함할 수 있다. 각각의 사용자 세션은 세션 데이터로서 데이터베이스 내에 저장될 수 있으며, 그 세션 데이터는 각각의 사용자에 관한 사용자 데이터의 일부로서 유지될 수 있다. 따라서, 일부 실시예에서, 사용자 데이터는 사용자가 수행한 과거 키워드 검색, 각각의 사용자가 본 웹 페이지, 사용자 희망사항 또는 감시 리스트에 부가된 제품, 전자 쇼핑 카트에 부가된 제품, 사용자가 소유한 제품을 포함할 수 있다. 사용자 선호는 사용자 활동으로부터 추론될 수 있다.
마킷플레이스 애플리케이션(124) 및 문맥 관련 온톨로지 애플리케이션(126) 모두가 네트워크 기반 컨텐츠 퍼블리셔(102)의 일부를 형성하도록 도 1에 도시되었지만, 대안의 실시예에서 문맥 관련 온톨로지 애플리케이션(126)이 상기 네트워크 기반 컨텐츠 퍼블리셔(102)와는 분리 및 구별되는 서비스의 일부를 형성할 수 있다는 것이 이해될 것이다. 또한, 도 1에 도시된 네트워크 시스템(100)이 클라이언트-서버 아키텍처를 이용하지만, 본 발명의 요지는 물론 그러한 아키텍처에 국한되지는 않으며, 등가물의 이벤트 구동된, 분산된, 또는 피어 투 피어 아키텍처 시스템의 애플리케이션을 널리 탐색할 수 있다. 애플리케이션 서버(122)의 다양한 모듈은 또한 네트워킹 기능을 반드시 갖지는 않는 독립 시스템 또는 소프트웨어 프로그램으로서 구현될 수 있다. 네트워크 시스템(100)의 다양한 기능적 컴포넌트들이 단일의 의미로 논의되고 있지만, 하나 이상의 다양한 기능적 컴포넌트들의 복수의 사례가 이용될 수 있음을 이해해야할 것이다.
도 2는 문맥 관련 온톨로지 애플리케이션(126)을 형성하는 복수의 모듈의 일 실시예를 도시한 블럭도이며, 문맥 관련 온톨로지 애플리케이션(126)은 상기 네트워크 기반 컨텐츠 퍼블리셔(102)의 일부로서 제공된다. 이 문맥 관련 애플리케이션(126)은 통신 모듈(200), 문맥 데이터 모듈(204), 온톨로지 검색 모듈(206), 예측성 타이핑 엔트리 모듈(208), 프리젠테이션 모듈(210), 및 온톨로지 데이터베이스(202)를 포함하는 것으로 도시되며, 모두는 서로 (가령, 버스, 공유 메모리, 스위치, 또는 애플리케이션 프로그래밍 인터페이스(API)를 거쳐) 통신하도록 구성된다. 문맥 관련 온톨로지 애플리케이션(126)의 다양한 모듈은 데이터베이스(130)에 데이터베이스 서버(128)를 거쳐 액세스할 수 있으며, 문맥 관련 온톨로지 애플리케이션(126)의 다양한 모듈의 각각은 하나 이상의 제3자 애플리케이션(116)과 통신할 수 있다. 또한, 문맥 관련 온톨로지 애플리케이션(126)의 다양한 모듈은 클라이언트 디바이스(106)의 머신 판독가능 메모리에 액세스할 수 있다.
일부 실시에에 따라, 통신 모듈(200)은 클라이언트 디바이스(106)와 함께 포함될 수 있거나 이 클라이언트 디바이스(106)와 통신가능하게 연결될 수 있는 하나 이상의 입력/출력(I/O) 디바이스에 의해 생성된 사용자 입력을 수신하도록 구성될 수 있다. 클라이언트 디바이스(106)의 형태에 따라, I/O 디바이스는 가령, 마우스, 트랙 패드, 키패드, 키보드, 멀티-터치 감지 표면(가령, 터치스크린 또는 트랙패드), 마이크로폰, 스피커, 카메라, 등일 수 있다. 사용자 입력은 전술한 I/O 디바이스 중의 하나에 의해 수신될 수 있으며, 일부 실시예에서, 통신 모듈(200)에 의한 수신을 위해 애플리케이션 서버(122)에 전송될 수 있다.
온톨로지 데이터베이스(202)는 온톨로지 검색 모듈(206)에 의해 액세스될 수 있는 하나 이상의 문맥 관련 온톨로지를 저장하도록 구성될 수 있다. 일부 실시예에서, 온톨로지 데이터베이스 내의 온톨로지들은 두 개 이상의 증가하는 특정의 온톨로지 컴포먼트들의 합성으로서 정의될 수 있다. 가령, "Cars"와 관련되는 온톨로지는 가령 "American Cars"를 나타내는 온톨로지, "Chevrolet"이 제조한 ""American Cars"를 나타내는 온톨로지 등과 같이 복수의 증가하는 협소 온톨로지 컴포넌트들로 구성될 수 있다.
문맥 데이터 모듈(204)은 통신 세션을 나타내는 문맥 데이터를 캡처 및 저장하도록 구성되며 나중에 상기 통신 세션의 컨텐츠를 리콜하는 데 사용될 수 있다. 문맥 데이터는 클라이언트 디바이스(가령, 클라이언트 디바이스(106)) 상에서 실행되는 하나 이상의 애플리케이션들(110)에 의해 액세스되는 특정의 웹 사이트 또는 애플리케이션 환경의 컨텐츠를 지칭한다. 예의 문맥 데이터는, 특정의 통신 세션컨텐츠 및 요지, 사용자 트랜잭션 이력, 사용자 질의 이력, 또는 온라인 트랜잭션을 수행하고, 온라인 형태를 완성하고, 온라인 조사를 행하고, 이메일을 작성하고 리스트를 생성할 때 사용자에 의해 수행되는 액션을 기술하는 엘리먼트들을 포함한다.
문맥 데이터는 가령, 사용자가 제공하는 정보, 사용자에 의해 활성화되는 버튼(또는 다른 시각적 표시자), 사용자에 의해 완성되는 단계들의 식별, 키스트로크, 커서 및 포인터 이동, 사용자에 의해 취소되는 액션, 및 다른 타입의 클릭스트림 데이터와 같이, 애플리케이션 서버(122)와의 클라이언트 디바이스(106)의 상호 작용을 포함할 수 있다. 따라서, 문맥 데이터 모듈(204)은 하나 이상의 디바이스(가령, 클라이언트 디바이스(106))를 사용하여 네트워크 시스템(100)의 다양한 모듈과의 사용자의 행위 및 상호 작용을 모니터링, 트랙킹 및 기록하도록 구성될 수 있다.
온톨로지 검색 모듈(206)은 통신 세션의 문맥에 기반하여 온톨로지 데이터베이스(202)로부터 대응 온톨로지를 검색하도록 구성될 수 있다. 일부 실시예에서, 사용자는 사용자 인터페이스를 통해 사용하기 위해 특정의 온톨로지를 수동으로 특정할 수 있다. 사용자에 의해 제공되는 대응 온톨로지는 예측성 타이핑 엔트리 모듈(208)로 하여금 대응 문맥 데이터에 기반하여 보다 관련성이 있고 정확한 예측성 타이핑 엔트리를 생성할 수 있게 한다.
일부 실시예에서, 온톨로지 검색 모듈(206)은 또한 온톨로지들을 정기적으로 생성하여 온톨로지 데이터베이스(202)에 팝플레이트하도록 구성될 수 있다. 가령, 온톨로지 검색 모듈(206)은 웹 사이트 또는 온라인 마킷플레이스로부터 문맥 데이터를 정기적으로 수신할 수 있다. 온톨로지 검색 모듈은 수집된 문맥 데이터를 사용하여 최신의 관련 온톨로지를 생성할 수 있으며, 이 온톨로지는 그 후 사용자용 예측성 타이핑 엔트리를 생성하기 위해 예측성 타이핑 엔트리 모듈(208)로 전달될 수 있다.
온톨로지 검색 모듈(206)은 또한 사용자 이력 뿐만 아니라 문맥 데이터에 기반하여 대응하는 온톨로지를 사전 캐시하도록 구성될 수 있다. 사용자 이력은 사용자에 의해 생성된 이전의 리스트와 관련된 정보, 가령, 아이템 속성, 위치 속성, 및 가격 정보를 포함할 수 있다. 일부 실시예에서, 온톨로지 검색 모듈(206)은 또한 대응하는 온톨로지에 순위를 할당하고 그 후 특정 사용자와의 관련 순위에 기반하여 대응 온톨로지를 선택할 수 있다. 할당된 순위는 특정의 문맥에 대한 관련성, 특정의 사용자에 의한 전체 사용량, 또는 전체적인 사용 빈도 또는 사용 행태에 기반할 수 있다. 다른 실시예에서, 할당된 순위는 특정 온톨로지에 관련된 투자에 대한 변환 레이트 또는 수익에 기반할 수 있으며, 여기서, 투자에 대한 보다 높은 변환 레이트 또는 수익은 온톨로지 데이터베이스(202) 내의 다른 온톨로지 중 보다 높은 순위에 대응한다. 변환 레이트는 사이트 소유자에 의해 설정되는 목표를 달성한 특정의 웹사이트에 대한 방문자들의 퍼센트로서 정의된다.
온톨로지 검색 모듈(206)은 또한 사용자 입력 및 사용자 행동에 기반하여 새로운 온톨로지를 생성하도록 구성될 수 있다. 가령, 사용자는 특정의 문맥과 연계하여 특정의 단어 또는 문구를 정기적으로 사용할 수 있다. 온톨로지 검색 모듈(206)은 따라서 고유의 문맥에 대해 대응하는 온톨로지를 어셈블링하고 그 온톨로지를 온톨로지 데이터베이스(202)에 저장할 수 있다. 다른 실시예에서, 온톨로지 검색 모듈(206)은 또한 실시간 사용자 입력에 기반하여 상기 새로운 온톨로지를 업데이트할 수 있다. 다른 실시예에서, 온톨로지 검색 모듈(206)은 또한 상기 사용자 입력 및 문맥 데이터에 기반하여 상기 대응하는 온톨로지를 업데이트하도록 구성될 수 있다. 그러한 것을 수행할 때, 상기 온톨로지는 특정의 사용자의 요구에 정확히 대응할 수 있다.
일부 실시예에서, 온톨로지 검색 모듈(206)은 상기 문맥 데이터 모듈(204)이 대응하는 문맥 데이터를 수집함에 따라 온톨로지를 동적으로 검색하도록 구성될 수 있다. 다른 실시예에서, 온톨로지 검색 모듈(206)은 또한 온톨로지 데이터베이스(202)로부터 증가하는 협소 온톨로지들을 검색하도록 구성될 수 있다. 또다른 실시예에서, 온톨로지 검색 모듈(206)은, 베이스라인 온톨로지 및 카테고리 특정 온톨로지를 포함한 하나 이상의 대응하는 온톨로지를 검색하도록 구성될 수 있으며, 그에 따라, 일반적인 키워드, 텍스트 예측물 및 시퀀스는 다시 로딩될 필요가 없다.
다른 실시예에서, 온톨로지 검색 모듈(206)은 대응하는 온톨로지 내에서 가장 빈번하게 사용되는 키워드에서 시작하는 온톨로지를 검색하여 사용자에게 스트리밍하도록 구성될 수 있다. 가령, 문맥 데이터에 기반하여 사용용 온톨로지를 선택하게 되면, 상기 온톨로지 검색 모듈(206)은 그 대응하는 온톨로지로부터 사용자에 의해 가장 빈번하게 사용되는 키워드를 스트리밍하여, 예측성 타이핑 엔트리 모듈(208)이 예측성 타이핑 제안을 즉시 생성하는 것을 시작할 수 있다는 것을 보장한다.
예측성 타이핑 엔트리 모듈(208)은 온톨로지 검색 모듈(206)에 의해 검색된 대응 온톨로지에 연계된 하나 이상의 파라미터에 기반하여 예측성 타이핑 엔트리를 제공하도록 구성될 수 있다. 일부 실시예에서, 이 파라미터는 수신된 사용자 입력, 사용자 이력, 및 특정의 통신 세션을 둘러싼 문맥 데이터를 포함할 수 있다. 예측성 텍스트는 단어 또는 구문의 형태일 수 있거나 다른 실시예에서는 문맥 데이터에 기반한 예측성 가격 범위, 위치 예측, 또는 시간 프레임일 수 있다. 일부 실시예에 따른 일 실시예에서, 사용자가 판매용으로 레이반 선글래스를 리스팅하고 있다면, 예측성 타이핑 엔트리 모듈(208)은 사용자에게 텍스트 제안을 제공할 수 있으며, 이 텍스트 제안은 이와는 달리, 특정의 문맥, 가령 선글래스, 또는 특히 레이반 선글래스와 연계하여 가장 일반적으로 사용되는 단어 및 구문에 대한 특정 문맥의 외부에서는 제안되지 않을 수 있다. 다른 실시예에서, 예측성 타이핑 엔트리 모듈(208)은 또한 유사 선글래스에 대한 다른 유사 리스트에 기반하여 상기 리스팅에 대한 가격 범위 또는 시간 제한을 제안할 수 있다.
프리젠테이션 모듈(210)은 예측성 타이핑 엔트리 모듈(208)로부터의 상기 텍스트 제안을 사용자에게 제시하도록 구성될 수 있다. 일부 실시예에서, 상기 텍스트 제안은 사용자 선택가능 옵션으로서 상기 사용자에게 제공될 수 있으며, 사용자는 상기 옵션을 수용할 것인지 거부할 것인지를 선택할 수 있다. 다른 실시예에서, 상기 프리젠테이션 모듈(210)은 두 개 이상의 예측성 타이핑 엔트리를 사용자에게 제시할 수 있으며, 사용자는 이 중에서 선택할 수 있다.
사용자가 제안된 예측성 타이핑 엔트리를 선택하거나 거부한 후, 상기 프리젠테이션 모듈(210)은 예측성 타이핑 엔트리 모듈(208)에 응답을 통신함으로써 응답할 수 있다. 예측성 타이핑 엔트리 모듈(208)은 다음에, 온톨로지 검색 모듈(206)에 의해 선택된 특정의 온톨로지가 특정의 문맥에 대해 정확한지를 결정할 수 있다. 일부 실시예에서, 예측성 타이핑 엔트리 모듈(208)은 다음에 온톨로지 검색 모듈(206)에게 상이한 온톨로지를 질의할 수 있거나, 장래의 사용을 위한 보다 정확한 온톨로지를 생성하기 위해 특정의 문맥으로부터의 정보로 상기 온톨로지를 업데이트할 수 있다.
도 3은 일부 실시예에 따른 예의 통신 세션을 도시한 인터페이스의 도면이다. 도 3에 도시된 제1 클라이언트 디바이스는 도 1의 클라이언트 디바이스(106)에 대응할 수 있다. 도 3에 도시된 바와 같이, 예의 통신 세션은 클라이언트 디바이스(106) 상에 디스플레이되는 인터페이스 상에서 키보드(308)를 통해 사용자에 의해 입력되는 사용자 입력(302)을 포함할 수 있으며, 이는 요청으로서 애플리케이션 서버(122)에 전송될 수 있다.
도시된 바와 같이, 사용자 입력(302)은 검색 결과(306)를 생성할 수 있는 온라인 마킷플레이스 애플리케이션에서의 검색 요청일 수 있다. 일부 실시예에서, 사용자 입력(302)을 타이핑한 사용자에게는 대응하는 온톨로지, 사용자 입력(302), 문맥 데이터 및 사용자 이력에 기반하여 문맥 관련 텍스트 제안(304)이 제공될 수 있다. 문맥 데이터는 특정의 카테고리, 아이템 유형, 또는 웹사이트 컨텐츠에 특정된 정보 뿐만 아니라 사용자 입력(302)의 요지 그 자체를 포함할 수 있다. 사용자 이력은 특정의 사용자에 대응하는 정보, 가령 사용자 프로파일 정보, 이전 검색 요청, 트랜잭션 이력, 및 사용자 선택 선호를 포함할 수 있다. 가령, 일부 실시예에 따라, 사용자는 통신 모듈(200)을 사용하여 검색 질의의 타이핑을 시작할 수 있다. 이 입력에 응답하여, 상기 문맥 데이터 모듈(204)은 대응하는 문맥 정보 뿐만 아니라 사용자 이력 및 사용자 입력에 관련된 정보를 수집할 수 있으며, 이는 그 후 온톨로지 검색 모듈(206)에 제공될 수 있다. 온톨로지 검색 모듈(206)이 문맥 데이터를 수신하면, 대응하는 온톨로지는 사용자에게 정확한 문맥 관련 예측성 타이핑 엔트리를 제공하기 위해 예측성 타이핑 엔트리 모듈(208)에 제공될 수 있다. 온톨로지 검색 모듈(206)은 온톨로지 데이터베이스(202)에 온톨로지를 저장하고 검색할 수 있다. 대응하는 온톨로지가 온톨로지 검색 모듈(206)에 의해 선택되면, 예측성 타이핑 엔트리 모듈(208)은 문맥 관련 텍스트 제안(304)을 생성하기 위해 대응하는 온톨로지를 사용할 수 있다. 문맥 관련 텍스트 제안(304)은 다음에 프리젠테이션 모듈(210)에 제공될 수 있으며, 이 모듈은 문맥 관련 텍스트 제안(304)을 사용자에게 제시한다.
일부 실시예에서, 프리젠테이션 모듈(210)은 사용자에게 단일 문맥 관련 텍스트 제안(304)을 제공할 수 있으나, 다른 실시예에서는 두 개 이상의 문맥 관련 텍스트 제안(304)을 제시할 수 있으며, 사용자는 이 텍스트 제안(304) 중에서 선택할 수 있다. 사용자가 제안을 선택하게 되면, 프리젠테이션 모듈은 온톨로지를 특정 문맥에 보다 잘 맞추도록 상기 선택을 문맥 관련 데이터 모듈(204)에 제공함으로써 응답할 수 있다.
도 4를 참조하면, 일부 실시예에 따라, 사용자가 온라인 마킷플레이스에서 리스팅에 대한 상세를 입력하는 것을 도시하는 인터페이스의 도면이 도시된다. 도시된 바와 같이, 사용자는 상세 필드(406) 내의 포스팅(posting)에 관련된 관련 상세를 채우고자 할 수 있다. 일부 실시예에서, 문맥 관련 온톨로지 애플리케이션(126)은 사용자에게 텍스트 제안(408)을 제공하도록 구성될 수 있다. 텍스트 제안(408)은, 아이템을 나타내는 이미지(404)와 같은 리스팅(402)의 문맥 및 파라미터 뿐만 아니라 리스팅 타이틀(410)에 기반할 수 있다. 문맥 데이터 모듈(204)은 대응하는 이미지로부터 문맥 데이터를 인식하도록 구성될 수 있다. 가령, 사용자는 리스팅에 사용될 특정의 아이템을 식별할 수 있는 이미지(404)를 업로드할 수 있거나 그렇지 않을 경우 제공할 수 있다. 문맥 데이터 모듈(204)은 다음에 그 이미지를 식별할 수 있으며 관련 데이터를 온톨로지 검색 모듈(206)에 전달할 수 있으며, 이 온톨로지 검색 모듈(206)은 다음에 상기 이미지(404)에 기반하여 대응하는 온톨로지를 검색할 수 있다. 문맥 관련 온톨로지 애플리케이션(126)은 다음에 사용자에게 텍스트 제안(408)을 제공할 수 있으며, 사용자는 그 후 선택을 통해 사용할 지의 여부를 결정할 수 있다.
다른 실시예에서, 보다 많은 문맥 데이터가 문맥 데이터 모듈(204)에 의해 수집됨에 따라, 문맥 관련 온톨로지 애플리케이션(126)은 사용자에게 증가하는 특정의 온톨로지를 동적으로 제공하도록 구성될 수 있다. 가령, 문맥 데이터 모듈(204)이 상기 이미지(404)가 선글래스를 나타내고 있음을 식별하면, 선글래스에 대한 대응하는 온톨로지는 관련 텍스트 제안을 생성하기 위해 사용자에게 제공될 수 있다. 사용자가 상세를 타이핑하여 가령, 선글래스의 브랜드 또는 유형을 특정하는 리스팅 타이틀(410)을 부가함으로써 상세를 리스팅에 부가함에 따라, 문맥 데이터 모듈(204)은 이러한 관련 속성을 동적으로 식별할 수 있으며 사용자에게 협소 온톨로지, 가령 레이반 선글래스에 특히 대응하는 온톨로지를 제공할 수 있다. 사용자가 리스팅의 문맥에 대해 상세의 부가를 지속함에 따라, 문맥 데이터 모듈(204)은 사용자에게 가장 연관된 온톨로지 또는 가용 온톨로지들을 제공하기 위해, 동적으로 데이터를 식별하여 온톨로지 검색 모듈(206)에 제공하는 것을 지속할 것이다.
도 5는 사용자가 온라인 마킷플레이스에서의 리스팅에 가격 정보(502)를 부가하기를 희망하는 시나리오의 예의 인터페이스 도면을 도시하고 있다. 일부 실시예에서, 문맥 관련 온톨로지 애플리케이션(126)은 또한 사용자에게 가격 제안(504)을 제공하도록 구성될 수 있다. 가령, 문맥 데이터 모듈(204)은 사용자가 관련 문맥 데이터에 기반하여 온라인 마킷플레이스에서 리스팅을 생성하고 있음을 인식할 수 있다. 문맥 데이터 모듈(204)은 다음에 다른 유사 리스팅에 대한 가격 정보 또는 사용자의 이전의 트랜잭션 이력으로부터의 가격 정보를 검색함으로써 현재의 리스팅에 관련된 가격 정보를 수집할 수 있다. 프리젠테이션 모듈(210)은 다음에 가격 제안(504)을 사용자 선택을 위해 사용자에게 제시할 수 있다.
도 6은 문맥 데이터, 수신된 입력, 및 대응하는 온톨로지에 기반하여 사용자에게 예측성 타이핑 엔트리를 제공하기 위한 예의 방법(600)을 도시하는 플로우챠트이다. 이 방법(600)은 하나 이상의 프로세서들에 의한 실행을 위해 컴퓨터 판독가능 인스트럭션으로 구현될 수 있으며, 그 결과, 방법(600)의 단계들은 부분적으로 또는 전체적으로 애플리케이션 서버(122) 또는 클라이언트 디바이스(106)에 의해, 그리고 특히 문맥 관련 온톨로지 애플리케이션(126)을 포함한 모듈들(200-210)에 의해 수행될 수 있다.
동작(605)에서, 통신 모듈(200)은 사용자 입력을 수신할 수 있다. 사용자 입력에 응답하여, 문맥 데이터 모듈(204)은 동작(610)에서 상기 입력에 대응하는 문맥 데이터를 수집할 수 있다. 문맥 데이터 모듈(204)은 다음에 문맥 데이터를 온톨로지 검색 모듈(206)에 전달할 수 있다. 동작(615)에서 문맥 데이터의 수신시에, 온톨로지 검색 모듈(206)은 온톨로지 데이터베이스(202)에 저장된 대응하는 온톨로지를 선택할 수 있다. 온톨로지 검색 모듈(206)은 다음에 상기 대응하는 온톨로지를 예측성 타이핑 엔트리 모듈(208)에 제공할 수 있다. 일부 실시예에서, 온톨로지 검색 모듈(206)은 상기 대응하는 온톨로지를 사용자에게 스트리밍할 수 있다. 다른 실시예에서, 온톨로지 검색 모듈(206)은 두 개 이상의 대응하는 온톨로지를 사용자에게 스트리밍할 수 있으며, 그 결과, 이 온톨로지는 보다 크고 보다 이해력있는 온톨로지를 형성하도록 결합될 수 있다.
동작(620)에서, 예측성 타이핑 엔트리 모듈(208)은 사용자에게 프리젠테이션 모듈(210)을 통한 텍스트 제안을 제공하기 위해 상기 대응하는 온톨로지 및 문맥 데이터를 사용할 수 있다. 프리젠테이션 모듈(210)로부터의 텍스트 제안의 수신시에, 사용자는 그 제안을 선택하든지 무시하도록 선택할 수 있다. 일부 실시예에서, 예측성 타이핑 엔트리 모듈(208)은 예측성 타이핑 엔트리의 생성을 시작할 수 있으나 그 대응하는 온톨로지만이 부분적으로 스트리밍된다.
도 7은 방법(700)을 도시하는 플로우챠트이며, 이 방법에 의해 문맥 관련 온톨로지 애플리케이션(126)은 사용자 입력을 수신하기 전에 대응하는 온톨로지를 사전 캐시할 수 있다. 동작(705)에서, 문맥 관련 온톨로지 애플리케이션(126)은 사용자 이력에 기반하여 온톨로지를 사전 캐시할 수 있다. 사용자 이력은 사용자의 트랜잭션의 이력, 사용자가 보았거나 생성한 이전의 리스팅, 사용자의 검색 질의 이력, 및 사용자에 의해 매우 자주 사용되는 온톨로지를 포함할 수 있다. 통신 모듈(200)은 다음에 동작(710)에서 사용자로부터 입력을 수신할 수 있다. 동작(715)에서, 사용자 입력에 응답하여, 상기 예측성 타이핑 엔트리 모듈(208)은 사용자가 수용하거나 거부하도록 선택할 수 있는 사전 캐시된 온톨로지 및 수신된 입력에 기반하여 사용자에게 텍스트 제안을 즉시 제공할 수 있다.
동작(720)에서, 문맥 데이터 모듈(204)은 사용자 입력에 대응하는 문맥 데이터를 수집할 수 있다. 문맥 데이터 모듈(204)은 다음에 문맥 데이터를 온톨로지 검색 모듈(206)에 제공할 수 있다. 동작(725)에서, 온톨로지 검색 모듈(206)은 다음에 보다 좁고 보다 특정적인 온톨로지를, 사용자 입력, 사전 캐시된 온톨로지 및 문맥 데이터 모듈(204)에 의해 수집된 문맥 데이터에 기반하여, 예측성 타이핑 엔트리 모듈(208)에 제공할 수 있다. 동작(730)에서, 예측성 타이핑 엔트리는 예측성 타이핑 엔트리 모듈(208) 및 프리젠테이션 모듈(210)에 의해 제공될 수 있다.
도 8은 온톨로지 데이터베이스(202) 내의 온톨로지를 사용자 입력 데이터로 업데이트하는 방법(800)을 도시하고 있다. 사용자 입력 데이터는 텍스트 입력과 관련된 정보와 수용되거나 거부된 예측성 타이핑 엔트리 제안을 포함할 수 있다. 가령, 사용자는 예측성 타이핑 엔트리 모듈(208)에 의해 제공된 특정의 텍스트 제안을 거부할 수 있다. 그 결과, 문맥 관련 온톨로지 애플리케이션(126)은 소정의 문맥 내의 특정의 텍스트 제안을 제거하기 위해 대응하는 온톨로지를 업데이트할 수 있다. 추가의 실시예에서, 문맥 관련 온톨로지 애플리케이션(126)은 제안의 장소에 사용자가 제공한 텍스트 입력을 포함하도록 대응하는 온톨로지를 업데이트할 수 있다. 이러한 방식에서, 온톨로지는 특정의 문맥에 대응하는 관련 정보로 정기적으로 업데이트될 수 있다.
동작(805)에서, 통신 모듈(200)은 사용자 입력을 수신할 수 있다. 이에 응답하여, 동작(810)에서, 문맥 데이터 모듈(204)은 상기 입력에 대응하는 문맥 데이터를 수집할 수 있다. 문맥 데이터 모듈(204)은 다음에 문맥 데이터를 온톨로지 검색 모듈(206)에 전달할 수 있다. 문맥 데이터의 수신시, 동작(815)에서, 온톨로지 검색 모듈(206)은 온톨로지 데이터베이스(2020에 저장된 대응하는 온톨로지를 선택할 수 있다. 온톨로지 검색 모듈(206)은 대응하는 온톨로지를 예측성 타이핑 엔트리 모듈(208)에 제공할 수 있다. 동작(820)에서, 예측성 타이핑 엔트리 모듈(208)은 다음에 텍스트 제안을 생성하여 그 제안을 프리젠테이션 모듈(210)에 전달할 수 있으며, 이 프리젠테이션 모듈은 그 제안을 사용자에게 제공할 수 있다. 사용자는 다음에 제안된 텍스트를 수용 및 사용하도록 선택할 수 있거나 대안으로서 다른 실시예에서 그 제안을 거부하고 그 자신의 입력 텍스트를 제공할 수 있다. 동작(825)에서, 온톨로지 검색 모듈(206)은 상기 제안에 대한 사용자의 응답에 기반하여 상기 대응하는 온톨로지를 업데이트할 수 있다. 가령, 사용자가 그 제안을 수용한다면, 온톨로지 검색 모듈(206)은 다른 온톨로지들에 대한 그 순위를 증가시킴으로써 대응하는 온톨로지를 업데이트할 수 있다. 그러나, 사용자가 그 제안을 거부하고 입력 텍스트를 제공한다면, 온톨로지 검색 모듈(126)은 대응하는 온톨로지의 순위를 강등시킬 수 있으며 또한 사용자로부터의 제공된 입력 텍스트를 장래의 사용을 위해 상기 온톨로지에 부가할 수 있다.
다른 실시예에서, 온톨로지 검색 모듈(206)은 또한 사용자의 타이핑된 입력에 기반하여 새로운 온톨로지를 생성할 수 있다. 온톨로지 검색 모듈(206)은 타이핑된 입력에 기반하여 새로운 온톨로지를 생성할 수 있으며, 이 새로운 온톨로지를 사용자 실시간으로 제공된 제안된 키워드로 업데이트할 수 있다.
모듈, 컴포넌트 및 로직
소정의 실시예들은 본 명세서에서 로직 또는 복수의 컴포넌트, 모듈, 또는 메카니즘을 포함하는 것으로 기술된다. 모듈은 소프트웨어 모듈(가령, 머신 판독가능 매체 상에 또는 전송 신호 내에 구현되는 코드) 또는 하드웨어 모듈을 구성할 수 있다. 하드웨어 모듈은 소정의 동작들을 수행할 수 있는 유형 유닛(a tangible unit)이며, 소정의 방식으로 구성 또는 배치될 수 있다. 실시예에서, 하나 이상의 시스템(가령, 독립형의 클라이언트 또는 서버 컴퓨터 시스템) 또는 하나의 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(가령, 하나의 프로세서 또는 프로세서들의 그룹)은 본 명세서에 기술되는 소정의 동작들을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(가령, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 가령, 하드웨어 모듈은 소정의 동작들을 수행하도록 영구적으로 구성되는 (가령, FPGA 또는 ASIC과 같은 특수 목적 프로세서로서) 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한 소정의 동작들을 수행하도록 소프트웨어에 의해 임시로 구성되는 (가령, 범용 프로세서 또는 다른 프로그램가능한 프로세서 내에 포함되는 것으로서) 프로그램가능 로직 또는 회로를 포함할 수 있다. 하드웨어 모듈을 전용의 영구적으로 구성된 회로로 기계적으로 구현하거나 임시로 구성되는 회로(가령, 소프트웨어에 의해 구성되는 회로)로 구현하기 위한 결정은 비용 및 시간을 고려하여 행해질 수 있다는 것이 이해될 것이다.
따라서, 용어 "하드웨어 모듈"은, 소정의 방식으로 동작하는 및/또는 본 명세서에 기술된 소정의 동작들을 수행하도록 물리적으로 구성되거나, 영구적으로 구성되거나(가령, 하드와이어되거나), 또는 임시로 구성되는(가령, 프로그래밍되는) 엔티티가 되는 유형 엔티티를 포함하는 것으로 이해되어야 한다. 하드웨어 모듈이 임시로 구성되는(가령, 프로그래밍되는) 실시예를 고려하면, 하드웨어 모듈의 각각은 임의의 시점에 구성되거나 구체화될 필요가 없다. 가령, 하드웨어 모듈이 소프트웨어를 사용하여 구성되는 범용 프로세서를 포함하는 경우에, 범용 프로세서는 상이한 시간에 제각기의 상이한 하드웨어 모듈로서 구성될 수 있다. 소프트웨어는 따라서 가령, 한 시점에 특정의 하드웨어 모듈을 구성하고 상이한 시점에 상이한 하드웨어 모듈을 구성하기 위해, 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 대해 정보를 제공하고 수신할 수 있다. 따라서, 위에 기술된 하드웨어 모듈들은 통신가능하게 연결된 것으로서 간주될 수 있다. 그러한 복수의 하드웨어 모듈이 동시에 존재하는 경우에, 통신은 신호 전송을 통해(가령, 하드웨어 모듈들을 접속하는 적절한 회로 및 버스들을 통해) 달성될 수 있다. 복수의 하드웨어 모듈이 상이한 시점에 구성되거나 구체화되는 실시예에서, 그러한 하드웨어 모듈들 간의 통신은 가령, 복수의 하드웨어 모듈이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 가령, 하나의 하드웨어 모듈은 하나의 동작을 수행할 수 있으며 통신가능하게 연결된 메모리 디바이스에 그 동작의 결과를 저장할 수 있다. 또다른 하드웨어 모듈은 나중에 그 메모리 디바이스에 액세스하여 저장된 출력을 검색 및 프로세싱할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와의 통신을 개시할 수 있으며 리소스(가령, 정보의 수집체) 상에서 동작할 수 있다.
본 명세서에 기술된 예의 방법의 다양한 동작이 적어도 부분적으로, 관련 동작들을 수행하도록 임시로 구성되거나(가령, 소프트웨어에 의해), 또는 영구적으로 구성되는 하나 이상의 프로세서에 의해 수행될 수 있다. 임시로 구성되든 영구적으로 구성되든, 그러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현된 모듈을 구성할 수 있다. 본 명세서에 지칭되는 모듈은 일부 실시예에서 프로세서로 구현된 모듈을 포함한다.
유사하게, 본 명세서에 기술되는 방법들은 적어도 부분적으로 프로세서로 구현될 수 있다. 가령, 한 방법의 적어도 일부의 동작은 하나 이상의 프로세서 또는 프로세서로 구현된 모듈에 의해 수행될 수 있다. 소정의 동작의 기능은, 단일 머신 내에 상주할 뿐만 아니라 복수의 머신에 걸쳐 배치되는 하나 이상의 프로세서들 사이에 분산될 수 있다. 일부 실시예에서, 프로세서 또는 프로세서들은 단일 위치(가령, 홈 환경, 오피스 환경, 또는 서버 팜(server farm)에 위치할 수 있지만, 다른 실시예에서 프로세서들은 복수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경 내에서 또는 "서비스와 같은 소프트웨어"(software as a service;SaaS)로서 관련 동작의 기능을 지원하도록 동작할 수 있다. 가령, 적어도 일부의 동작은 컴퓨터들(프로세서를 포함한 머신의 예로서)의 그룹에 의해 수행될 수 있으며, 이러한 동작은 네트워크(가령, 인터넷) 및 하나 이상의 적절한 인터페이스(가령, API)를 경유하여 액세스가능하다.
전자 장치 및 시스템
실시예들은 디지털 전자 회로로 구현되거너, 또는 컴퓨터 하드웨어, 펌웨어 또는 소프트웨어로 구현되거나 또는 이들의 조합으로 구현될 수 있다. 실시예들은 컴퓨터 프로그램 제품, 가령, 정보 캐리어 내에, 가령, 데이터 프로세싱 장치(가령, 프로그램가능 프로세서, 하나의 컴퓨터, 또는 복수의 컴퓨터)에 의한 실행을 위한 머신 판독가능 매체 내에 유형적으로 구현되거나, 또는 그 장치의 동작을 제어하는 컴퓨터 프로그램을 사용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일되거나 번역된 랭귀지를 포함한 임의의 형태의 프로그래밍 랭귀지로 기록될 수 있으며, 독립형 프로그램으로서 또는 모듈로서 컴퓨팅 환경에서 사용하기 위해 적당한 서브루틴, 또는 다른 유닛을 포함한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서의 하나의 컴퓨터 또는 복수의 컴퓨터 상에서 또는 복수의 사이트에 걸쳐 분산되고 그리고 통신 네트워크에 의해 상호 접속된 복수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
실시예에서, 동작들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하는 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 수행될 수 있다. 방법의 동작들은 또한 특수 목적 로직 회로(가령, FPGA 또는 ASIC)에 의해 수행될 수 있고 이 실시예의 장치는 특수 목적 로직 회로로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원격에 위치하며 전형적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는, 제각기의 컴퓨터 상에서 실행되며 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 프로그램가능한 컴퓨팅 시스템을 배치하는 실시예에서, 하드웨어 및 소프트웨어 아키텍처 모두는 고려할 가치가 있다는 것이 이해될 것이다. 특히, 소정의 기능을 영구적으로 구성된 하드웨어(가령, ASIC)로 구현할지, 임시로 구성된 하드웨어(가령, 소프트웨어 및 프로그램 가능 프로세서의 조합)로 구현할지, 또는 영구적 및 임시적으로 구성된 하드웨어로 구현할지의 선택은 디자인 선택일 수 있다는 것이 이해될 것이다. 아래의 것은 다양한 실시예에서 배치될 수 있는 하드웨어 아키텍처(가령, 머신) 및 소프트웨어 아키텍처를 설계한 것이다.
예의 머신 아키텍처 및 머신 판독가능 매체
도 9는 컴퓨터 시스템(900)의 예의 형태의 머신을 표현한 개략적인 도면이며, 이 컴퓨터 시스템은 머신으로 하여금 본 명세서에서 기술되는 하나 이상의 방법을 수행하게 하는 인스트럭션들(924)의 세트를 실행할 수 있다. 컴퓨터 시스템(900)은 일부 실시예에 따라, 클라이언트 디바이스(106), 제3자 서버(114), 또는 애플리케이션 서버(122)에 대응할 수 있다. 대안의 실시예에서, 머신은 독립형 시스템으로서 동작하거나 다른 머신에 연결(네트워킹)될 수 있다. 네트워크형 배치에서, 머신은 서버-클라이언트 네트워크 환경에서의 서버 또는 클라이언트 머신으로서 또는 피어 투 피어(또는 분산된) 네트워크 환경에서의 피어 머신으로서 동작할 수 있다. 머신은 개인 컴퓨터(PC), 태블릿 PC, 셋탑박스(STB), PDA, 셀룰러 텔레폰, 스마트폰(가령, iPhone®), 태블릿 컴퓨터, 웹 기기, 네트워크 라우터, 스위치, 또는 브릿지, 또는 그 머신에 의해 취해진 동작을 특정하는 인스트럭션들(순차 또는 다른 방식)을 실행할 수 있는 임의의 머신일 수 있다. 또한, 오직 단일의 머신만이 도시되지만, 용어 "머신"은 본 명세서에서 기술되는 임의의 하나 이상의 방법을 수행하는 인스트럭션들의 세트(복수의 세트)를 개별적으로 또는 결합적으로 실행하는 임의의 머신들의 집합체를 포함하도록 의도된다.
예의 컴퓨터 시스템(900)은 프로세서(902)(가령, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 또는 이들 모두), 메인 메모리(904), 및 정적 메모리(906)를 포함하며, 이들은 서로 버스(908)를 통해 통신한다. 컴퓨터 시스템(900)은 또한 비디오 디스플레이 유닛(910)(가령, 액정 디스플레이(LCD) 또는 음극선관(CRT))을 포함할 수 있다. 컴퓨터 시스템(900)은 또한 하나 이상의 입/출력(I/O) 디바이스(912), 위치 컴포넌트(914), 디스크 드라이브 유닛(916), 신호 생성 디바이스(918)(가령, 스피커), 및 네트워크 인터페이스 디바이스(920)를 포함한다. I/O 디바이스(912)는 가령, 키보드, 마우스, 키패드, 멀티-터치 표면(가령, 터치스크린 또는 트랙 패드), 마이크로폰, 카메라, 등을 포함한다.
위치 컴포넌트(914)는 컴퓨터 시스템(900)의 위치를 결정하기 위해 사용될 수 있다. 일부 실시예에서, 위치 컴포넌트(914)는 GPS 위성과 GPS 신호를 통신하기 위해 네트워크 인터페이스 디바이스(920)를 이용할 수 있는 GPS 트랜시버에 대응할 수 있다. 위치 컴포넌트(914)는 또한 인터넷 프로토콜(IP) 어드레스 룩업을 사용하거나 인접한 모바일 통신 타워에 기반하여 위치를 삼각측량함으로써 컴퓨터 시스템(900)의 위치를 결정하도록 구성될 수 있다. 위치 컴포넌트(914)는 또한 사용자 정의된 위치를 메인 메모리(904) 또는 정적 메모리(906)에 저장하도록 구성될 수 있다. 일부 실시예에서, 모바일 위치 인에이블형 애플리케이션은 컴퓨터 시스템(900)을 작동시키는 사용자의 위치를 식별할 목적으로 컴퓨터 시스템(900)의 위치를 애플리케이션 서버 또는 제3자 서버로 전송하기 위해 위치 컴포넌트(914) 및 네트워크 인터페이스 디바이스(920)와 연계하여 동작할 수 있다.
일부 실시예에서, 네트워크 인터페이스 디바이스(920)는 트랜시버 및 안테나에 대응할 수 있다. 트랜시버는 컴퓨터 시스템(900)의 특성에 따라, 셀룰러 네트워크 신호, 무선 데이터 신호, 또는 다른 타입의 신호를 안테나를 경유하여 전송 및 수신하도록 구성될 수 있다.
머신 판독가능 매체
디스크 드라이브 유닛(916)은 본 명세서에서 기술되는 하나 이상의 방법 또는 기능을 구현하거나 이 방법 또는 기능에 의해 사용되는 데이터 구조 및 인스트럭션(924)(가령, 소프트웨어)의 하나 이상의 세트를 저장한 머신 판독가능 매체(922)를 포함한다. 인스트럭션(924)은 또한 컴퓨터 시스템(900)에 의한 실행 동안 메인 메모리(904), 정적 메모리(906) 및/또는 프로세서(902) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 메인 메모리(904) 및 프로세서(902)는 또한 머신 판독가능 매체를 구성한다.
일부 실시예에 따라 인스트럭션(924)은 운영 체제(OS)의 동작에 관련될 수 있다. 또한, 인스트럭션(924)은 일부 실시예에 따라 애플리케이션("apps"로 통상 알려짐)에 의해 수행되는 동작들과 관련될 수 있다. 그러한 애플리케이션의 일 예는 브라우저를 사용하여 웹 페이지와 같은 컨텐츠 또는 사용자 인터페이스를 디스플레이하는 모바일 브라우저 애플리케이션이다.
머신 판독가능 매체(922)가 일 예에서 단일 매체가 되도록 도시되었지만, 용어 "머신 판독가능 매체"는 하나 이상의 데이터 구조 또는 인스트럭션(924)을 저장하고 있는 단일 매체 또는 복수의 매체(가령, 중앙집중 또는 분산된 데이터베이스 및/또는 관련된 캐시 및 서버)를 포함할 수 있다. 용어 "머신 판독가능 매체"는 또한 머신에 의한 실행을 위해 인스트럭션(924)을 저장하거나, 인코딩하거나, 또는 전달할 수 있으며 그리고 머신으로 하여금 본 개시물의 임의의 하나 이상의 방법을 수행하게 하거나 그러한 인스트럭션에 의해 사용되거나 그 인스트럭션과 연관되는 데이터 구조를 저장하거나, 인코딩하거나 또는 전달할 수 있는 임의의 유형 매체를 포함하도록 의도된다. 용어 "머신 판독가능 매체"는 따라서, 고체 메모리 및 자기 매체를 포함하는 것으로 의도되지만 이에 국한되는 것은 아니다. 머신 판독가능 매체의 특정 예는 반도체 메모리 디바이스(가령, 소거 및 프로그램 가능 판독 전용 메모리(EPROM) 디바이스, EEPROM 디바이스 및 플래시 메모리 디바이스), 내부 하드 디스크 및 이동 디스크와 같은 자기 디스크, 자기-광학 디스크, 및 CD-ROM 및 DVD ROM 디스크를 포함한 비휘발성 메모리를 포함한다.
또한, 일 실시예에서, 머신 판독가능 매체는 전달 신호를 구현한다는 점에서 일시적이다.
전달 매체
인스트럭션(924)은 또한 전달 매체를 사용하여 통신 네트워크(926)를 통해 전송되거나 수신될 수 있다. 인스트럭션은 네트워크 인터페이스 디바이스(920) 및 복수의 널리 알려진 전송 프로토콜(가령, HTTP) 중의 임의의 프로토콜을 사용하여 전송될 수 있다. 통신 네트워크의 예는 LAN, WAN, 인터넷, 모바일 텔레폰 네트워크, POTS 네트워크, 및 무선 데이터 네트워크(가령, WiFi 및 WiMax 네트워크)를 포함한다. 용어 "전달 매체"는 머신에 의한 실행을 위해 인스트럭션(924)을 저장하거나, 인코딩하거나, 또는 전달할 수 있는 임의의 무형 매체를 포함하는 것으로 의도되며, 그러한 소프트웨어의 통신을 가능하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형 매체를 포함한다. 일 실시예에서, 전달 매체는 머신 판독가능 매체의 실시예이다.
아래에 번호로 표기된 예는 실시예들이다.
1. 방법으로서, 통신 세션 동안 사용자로부터 타이핑된 입력을 수신하는 단계와, 상기 타이핑된 입력에 대응하는 문맥 데이터와 상기 통신 세션을 수집하는 단계와, 상기 문맥 데이터에 기반하여 온톨로지들의 데이터베이스로부터 대응 온톨로지를 검색하는 단계―상기 온톨로지들은 예측성 타이핑 엔트리를 생성할 때 사용하기 위한 키워드를 포함함―와, 상기 타이핑된 입력, 상기 문맥 데이터 및 상기 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 제공하는 단계를 포함한다.
2. 예1의 방법에서, 상기 문맥 데이터는, 사용자 트랜잭션 이력, 사용자 질의 이력, 웹사이트의 컨텐츠, 및 상기 통신 세션의 컨텐츠를 포함한 하나 이상의 파라미터를 포함할 수 있다.
3. 예1 또는 예2의 방법에서, 텍스트 제안으로서 상기 예측성 타이핑 엔트리를 통신하는 단계를 더 포함하되, 상기 텍스트 제안은 단어, 구문, 수량, 가격 조건, 또는 이들의 조합일 수 있으며, 상기 사용자는 사용을 위해 상기 텍스트 제안을 수용 및 거부할 수 있으며, 상기 사용자는 상기 텍스트 제안을 커스텀 사용자 입력으로 대체할 수 있다.
4. 예1 내지 예3 중의 임의의 하나의 방법에서, 상기 통신 세션은 제1 시구간 및 제2 시구간을 포함하며, 상기 방법은 통신 세션 내의 상기 제1 시구간 동안 사용자로부터 제1 타이핑된 입력을 수신하는 단계와, 상기 제1 타이핑된 입력에 대응하는 제1 문맥 데이터와 상기 통신 세션 내의 상기 제1 시구간을 수집하는 단계와, 상기 제1 문맥 데이터에 기반하여, 온톨로지들의 데이터베이스로부터 제1 대응 온톨로지를 검색하는 단계와, 상기 제1 타이핑된 입력, 상기 제1 문맥 데이터 및 상기 제1 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 제공하는 단계와, 상기 통신 세션 내의 상기 제2 시구간 동안 상기 사용자로부터 제2 타이핑된 입력을 수신하는 단계와, 상기 제2 타이핑된 입력에 대응하는 제2 문맥 데이터와 상기 통신 세션 내의 상기 제2 시구간을 수집하는 단계와, 상기 제2 문맥 데이터에 기반하여 온톨로지들의 데이터베이스로부터 제2 대응 온톨로지를 검색하는 단계와, 상기 제2 타이핑된 입력, 상기 제2 문맥 데이터 및 상기 제2 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 제공하는 단계를 더 포함한다.
5. 예1 내지 예4 중 임의의 하나의 방법에서, 상기 방법은 상기 사용자가 상기 대응 온톨로지를 로컬에 저장하는 단계와, 상기 대응 온톨로지를 자동으로 리콜(recall)하는 단계를 더 포함한다.
6. 예1 내지 예5 중 임의의 하나의 방법에서, 상기 방법은, 상기 문맥 데이터 및 상기 사용자 입력에 기반하여 새로운 온톨로지를 정기적으로 생성하는 단계와, 온톨로지들의 데이터베이스에 상기 새로운 온톨로지를 저장하는 단계와, 상기 새로운 온톨로지를 후속의 관련된 사용자 입력으로 업데이트하는 단계를 더 포함하며, 상기 후속의 관련된 사용자 입력은 상기 문맥 데이터 및 상기 사용자 입력에 대응한다.
7. 예1 내지 예6 중 임의의 하나의 방법에서, 두 개 이상의 온톨로지는 상기 사용자에게 스트리밍될 수 있으며, 상기 두 개 이상의 온톨로지는 베이스라인 온톨로지와 카테고리 특정 온톨로지를 포함하며, 상기 대응 온톨로지 중 가장 빈번하게 사용되는 키워드는 상기 사용자에게 처음으로 스트리밍되며, 상기 두 개 이상의 대응 온톨로지는 상기 예측성 타이핑 제안을 생성하는 데 사용되며, 상기 예측성 타이핑 제안은 상기 두 개 이상의 대응 온톨로지가 부분적으로 로딩되는 동안에만 생성될 수 있다.
8. 예1 내지 예7 중 임의의 하나의 방법에서, 상기 대응 온톨로지는 두 개 이상의 온톨로지 컴포넌트로 구성될 수 있으며, 상기 대응 온톨로지 및 상기 두 개 이상의 온톨로지 컴포넌트는 가장 넓은 온톨로지 컴포넌트로부터 시작하여 상기 문맥 데이터 및 상기 입력에 기반하여 추가적인 보다 좁은 온톨로지 컴포넌트를 제공함으로써 동적으로 로딩된다.
9. 예1 내지 예8 중 임의의 하나의 방법에서, 상기 방법은, 사용 빈도, 변환 레이트, 사용 행동, 및 텍스트 제안의 정확도에 기반하여 상기 대응 온톨로지에 순위를 할당하는 단계―상기 사용 빈도는 온톨로지들의 데이터베이스 내의 다른 온톨로지들과 비교할 때 상기 대응 온톨로지가 상기 사용자에 의해 사용되는 전체 회수이며, 보다 높은 변환 레이트는 온톨로지들의 데이터베이스 내의 보다 높은 전체 순위에 대응하며, 상기 사용 행동은 상기 대응 온톨로지로부터 사용되는 키워드에 기반하며, 상기 예측성 타이핑 제안의 정확도는 상기 사용자에 의해 수용된 예측성 타이핑 제안에 대한 상기 사용자에 의해 거부된 예측성 타이핑 제안의 비율로서 계산됨―와, 상기 대응 온톨로지를 상기 사용자에게 가장 높게 할당된 순위로 사전 캐시하는 단계를 더 포함한다.
10. 예2의 방법에서, 상기 방법은, 이전의 통신 세션과 관련된 이전의 문맥 데이터, 상기 사용자 트랜잭션 이력, 및 상기 사용자 질의 이력에 기반하여 상기 대응 온톨로지를 사전 캐시하는 단계를 더 포함한다.
11. 문맥 관련 온톨로지를 동적으로 로딩하는 시스템으로서, 통신 세션 동안 사용자로부터의 입력을 수신하도록 구성되는 통신 모듈과, 상기 사용자로부터의 상기 수신된 입력에 대응하는 문맥 데이터와 상기 통신 세션을 수집하도록 구성되는 문맥 데이터 모듈과, 온톨로지들을 포함한 온톨로지 데이터베이스와, 상기 문맥 데이터에 기반하여 상기 온톨로지 데이터베이스로부터 대응 온톨로지를 검색하도록 구성되는 온톨로지 모듈과, 상기 문맥 데이터, 상기 수신된 입력, 및 상기 대응 온톨로지에 기반하여 예측성 타이핑 엔트리를 생성하도록 구성되는 예측성 타이핑 엔트리 모듈―상기 예측성 타이핑 엔트리 모듈에 의해 생성된 상기 예측성 타이핑 엔트리는 텍스트 제안임―과, 상기 사용자에게 상기 예측성 타이핑 엔트리를 제시하도록 구성되는 프리젠테이션 모듈을 포함한다.
12. 예11의 시스템에서, 상기 대응 온톨로지는 두 개 이상의 온톨로지 컴포넌트를 포함할 수 있으며, 상기 온톨로지 모듈은 또한 가장 넓은 온톨로지 컴포넌트로부터 시작하여 상기 문맥 데이터 및 상기 수신된 입력에 기반하여 추가의 좁은 온톨로지 컴포넌트를 제공함으로써 상기 대응 온톨로지 및 상기 두 개 이상의 온톨로지 컴포넌트를 동적으로 검색하도록 구성된다.
13. 예11 또는 예12의 시스템에서, 상기 통신 모듈은 또한 상기 텍스트 제안을 수용하기 위한 사용자 입력을 수신하고 상기 텍스트 제안을 거부하기 위한 사용자 입력을 수신하도록 구성된다.
14. 예11 내지 예13 중 임의의 하나의 시스템에서, 상기 온톨로지 모듈은 또한 상기 대응 온톨로지에 순위를 할당하도록 구성되며, 상기 순위는 사용 빈도, 변환 레이트, 사용 행동, 및 텍스트 제안의 정확도에 기반하며, 상기 사용 빈도는 온톨로지들의 데이터베이스 내의 다른 온톨로지들과 비교할 때 상기 대응 온톨로지가 상기 사용자에 의해 사용되는 전체 회수이며, 보다 높은 변환 레이트는 온톨로지들의 데이터베이스 내의 보다 높은 전체 순위에 대응하며, 상기 사용 행동은 상기 대응 온톨로지로부터 사용되는 키워드에 기반하며, 상기 예측성 타이핑 제안의 정확도는 상기 사용자에 의해 수용된 예측성 타이핑 제안에 대한 상기 사용자에 의해 거부된 예측성 타이핑 제안의 비율로서 계산된다.
15. 예11 내지 예14 중의 임의의 하나의 시스템에서, 상기 온톨로지 모듈은 또한 상기 대응 온톨로지를 사전 캐시하도록 구성된다.
16. 프로세서에 의해 실행될 때 상기 프로세서로 하여금 문맥 관련 온톨로지를 동적으로 로딩하는 방법을 수행하게 하는 인스트럭션을 저장한 머신 판독가능 저장 매체로서, 상기 방법은, 통신 세션 동안 사용자로부터 입력을 수신하는 단계와, 상기 입력에 대응하는 문맥 데이터와 상기 통신 세션을 수집하는 단계와, 상기 문맥 데이터에 기반하여 온톨로지 데이터베이스로부터 대응 온톨로지를 검색하는 단계와, 상기 입력, 상기 문맥 데이터 및 상기 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 생성하는 단계를 포함한다.
17. 예16의 머신 판독가능 저장 매체에서, 상기 대응 온톨로지는 두 개 이상의 온톨로지 컴포넌트를 포함할 수 있으며, 상기 방법은, 가장 넓은 온톨로지 컴포넌트로부터 시작하여 상기 문맥 데이터 및 상기 입력에 기반하여 추가적인 보다 좁은 온톨로지 컴포넌트를 제공함으로써 상기 대응 온톨로지 및 상기 두 개 이상의 온톨로지 컴포넌트를 동적으로 검색하는 단계를 더 포함한다.
18. 예16 또는 예17의 머신 판독가능 저장 매체에서, 상기 예측성 타이핑 엔트리는 상기 사용자에 의해 수용될 수 있거나 거부될 수 있는 텍스트 제안이다.
19. 예16 내지 예18 중의 임의의 하나의 머신 판독가능 저장 매체에서, 상기 방법은 상기 대응 온톨로지를 사전 캐시하는 단계를 더 포함한다.
20. 예16 내지 예19 중의 임의의 하나의 머신 판독가능 저장 매체에서, 상기 방법은 상기 대응 온톨로지에 순위를 할당하는 단계를 더 포함한다.
21. 프로세서에 의해 실행될 때 상기 프로세서로 하여금 예1 내지 예10 중 임의의 하나의 방법을 수행하게 하는 머신 판독가능 인스트럭션을 포함하는 머신 판독가능 매체이다.
본 발명의 요지의 실시예는 특정의 실시예를 참조하여 기술되었지만, 본 발명의 요지의 범주 내에서 이러한 실시예에 대해 다양한 변형 및 수정이 행해질 수 있다는 것은 명확할 것이다. 따라서, 본 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 간주되어야 한다. 본 명세서의 일부를 형성하는 첨부되는 도면은 예시의 목적으로 도시되며 본 요지가 실시될 수 있는 특정의 실시예에 국한되는 것은 아니다. 예시된 실시예는 당업자가 본 명세서에 개시된 것을 실시할 수 있을 정도로 충분히 상세하게 기술되었다. 이로부터 다른 실시예가 사용 및 도출될 수 있으며, 그 결과 본 개시물의 범주 내에서 구조적 및 논리적인 대체물 및 변경이 행해질 수 있다. 이러한 상세한 설명은 따라서 제한적인 의미로 의도되지 않으며, 다양한 실시예의 범주는 오직 첨부된 청구항들 및 그 청구항들이 부여하는 등가물의 완전한 범위에 의해서만 정의된다.
본 발명의 요지의 실시예들은 본 명세서에서 개별적으로 및/또는 집합적으로 단순히 편의를 목적으로 그리고 본 출원의 범주를 임의의 단일 발명으로 자발적으로 국한시키거나 또는 사실상 하나 초과의 발명이 개시될 경우의 발명의 사상으로 자발적으로 국한시킬 의도 없이, 용어 "발명"으로 지칭될 수 있다. 따라서, 본 명세서에서 특정의 실시예가 예시되고 기술되었지만, 동일한 목적을 달성하도록 구성된 임의의 구성이 도시된 특정의 실시예를 대체할 수 있다는 것이 이해되어야 한다. 본 개시물은 다양한 실시예의 모든 변형 및 적응을 커버하는 것으로 의도된다. 전술한 실시예 및 본 명세서에 특정적으로 기술되지 않은 다른 실시예의 조합은 전술한 상세한 설명을 판독하게 되면 당업자에게는 자명할 것이다.
본 문헌에서 지칭되는 모든 공개물, 특허 및 특허 문헌들은 비록 참조로 본 명세서에 개별적으로 포함되더라도 그 전체가 본 명세서에서 참조로 통합된다. 이러한 문헌과 참조에 의해 전술과 같이 통합된 문헌들 간의 비일관성 사용의 경우, 참조로 통합된 사용은 그 문헌에 대한 보충적인 것으로 간주되어야 하며, 조정불가능한 비일괄성의 경우 그 문헌의 사용은 제어된다.
본 명세서에서, 용어 "일" 또는 "하나"는 특허 문헌들에서 공통적이 듯이, "적어도 하나" 또는 "하나 이상" 중의 임의의 다른 사례 또는 사용과는 무관하게 하나를 초과하는 것을 포함하도록 사용된다. 본 명세서에서, 용어 "또는"은 달리 표시되지 않는한, 비배타적인 것을 지칭하도록 사용되며, 그 결과, "A or B"는 "B가 아닌 A", "A가 아닌 B", 및 "A 및 B"를 포함한다. 첨부된 청구항에서, 용어 "포함"은 "구비"와 등가의 의미로 사용된다. 또한, 용어 "구비" 및 "포함"은 개방의 의미로 사용되며, 즉, 청구항에서 그 용어 후에 열거되는 것에 부가적으로 엘리먼트들을 포함하는 시스템, 디바이스, 제품, 또는 프로세스는 여전히 그 청구항의 범주 내에 있는 것으로 간주된다. 또한, 청구항에서, 용어 "제1", '제2", "제3" 등은 단순히 라벨로서 사용될 뿐, 그 대상에서 수치적인 요건을 부여하는 것으로 의도되는 것은 아니다.

Claims (21)

  1. 방법으로서,
    통신 세션 동안 사용자로부터 타이핑된 입력을 수신하는 단계와,
    상기 타이핑된 입력에 대응하는 문맥 데이터와 상기 통신 세션을 수집하는 단계와,
    상기 문맥 데이터에 기반하여 온톨로지들의 데이터베이스로부터 대응 온톨로지를 검색하는 단계―상기 온톨로지들은 예측성 타이핑 엔트리를 생성할 때 사용하기 위한 키워드를 포함함―와,
    상기 타이핑된 입력, 상기 문맥 데이터 및 상기 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 제공하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 문맥 데이터는, 사용자 트랜잭션 이력, 사용자 질의 이력, 웹사이트의 컨텐츠, 및 상기 통신 세션의 컨텐츠를 포함한 하나 이상의 파라미터를 포함할 수 있는
    방법.
  3. 제1항에 있어서,
    상기 방법은 텍스트 제안으로서 상기 예측성 타이핑 엔트리를 통신하는 단계를 더 포함하되,
    상기 텍스트 제안은 단어, 구문, 수량, 가격 조건, 또는 이들의 조합일 수 있으며, 상기 사용자는 사용을 위해 상기 텍스트 제안을 수용 및 거부할 수 있으며, 상기 사용자는 상기 텍스트 제안을 커스텀 사용자 입력으로 대체할 수 있는
    방법.
  4. 제1항에 있어서,
    상기 통신 세션은 제1 시구간 및 제2 시구간을 포함하며,
    상기 방법은
    통신 세션 내의 상기 제1 시구간 동안 사용자로부터 제1 타이핑된 입력을 수신하는 단계와,
    상기 제1 타이핑된 입력에 대응하는 제1 문맥 데이터와 상기 통신 세션 내의 상기 제1 시구간을 수집하는 단계와,
    상기 제1 문맥 데이터에 기반하여, 온톨로지들의 데이터베이스로부터 제1 대응 온톨로지를 검색하는 단계와,
    상기 제1 타이핑된 입력, 상기 제1 문맥 데이터 및 상기 제1 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 제공하는 단계와,
    상기 통신 세션 내의 상기 제2 시구간 동안 상기 사용자로부터 제2 타이핑된 입력을 수신하는 단계와,
    상기 제2 타이핑된 입력에 대응하는 제2 문맥 데이터와 상기 통신 세션 내의 상기 제2 시구간을 수집하는 단계와,
    상기 제2 문맥 데이터에 기반하여 온톨로지들의 데이터베이스로부터 제2 대응 온톨로지를 검색하는 단계와,
    상기 제2 타이핑된 입력, 상기 제2 문맥 데이터 및 상기 제2 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 제공하는 단계를 더 포함하는
    방법.
  5. 제1항에 있어서,
    상기 방법은,
    상기 사용자가 상기 대응 온톨로지를 로컬에 저장하는 단계와,
    상기 대응 온톨로지를 자동으로 리콜(recall)하는 단계를 더 포함하는
    방법.
  6. 제1항에 있어서,
    상기 방법은,
    상기 문맥 데이터 및 상기 사용자 입력에 기반하여 새로운 온톨로지를 정기적으로 생성하는 단계와,
    온톨로지들의 데이터베이스에 상기 새로운 온톨로지를 저장하는 단계와,
    상기 새로운 온톨로지를 후속의 관련된 사용자 입력으로 업데이트하는 단계를 더 포함하며,
    상기 후속의 관련된 사용자 입력은 상기 문맥 데이터 및 상기 사용자 입력에 대응하는
    방법.
  7. 제1항에 있어서,
    두 개 이상의 온톨로지는 상기 사용자에게 스트리밍될 수 있으며, 상기 두 개 이상의 온톨로지는 베이스라인 온톨로지와 카테고리 특정 온톨로지를 포함하며,
    상기 대응 온톨로지 중 가장 빈번하게 사용되는 키워드는 상기 사용자에게 처음으로 스트리밍되며,
    상기 두 개 이상의 대응 온톨로지는 상기 예측성 타이핑 제안을 생성하는 데 사용되며,
    상기 예측성 타이핑 제안은 상기 두 개 이상의 대응 온톨로지가 부분적으로 로딩되는 동안에만 생성될 수 있는
    방법.
  8. 제1항에 있어서,
    상기 대응 온톨로지는 두 개 이상의 온톨로지 컴포넌트로 구성될 수 있으며,
    상기 대응 온톨로지 및 상기 두 개 이상의 온톨로지 컴포넌트는 가장 넓은 온톨로지 컴포넌트로부터 시작하여 상기 문맥 데이터 및 상기 입력에 기반하여 추가적인 보다 좁은 온톨로지 컴포넌트를 제공함으로써 동적으로 로딩되는
    방법.
  9. 제1항에 있어서,
    상기 방법은,
    사용 빈도, 변환 레이트, 사용 행동, 및 텍스트 제안의 정확도에 기반하여 상기 대응 온톨로지에 순위를 할당하는 단계―상기 사용 빈도는 온톨로지들의 데이터베이스 내의 다른 온톨로지들과 비교할 때 상기 대응 온톨로지가 상기 사용자에 의해 사용되는 전체 회수이며, 보다 높은 변환 레이트는 온톨로지들의 데이터베이스 내의 보다 높은 전체 순위에 대응하며, 상기 사용 행동은 상기 대응 온톨로지로부터 사용되는 키워드에 기반하며, 상기 예측성 타이핑 제안의 정확도는 상기 사용자에 의해 수용된 예측성 타이핑 제안에 대한 상기 사용자에 의해 거부된 예측성 타이핑 제안의 비율로서 계산됨―와,
    상기 대응 온톨로지를 상기 사용자에게 가장 높게 할당된 순위로 사전 캐시하는 단계를 더 포함하는
    방법.
  10. 제2항에 있어서,
    상기 방법은,
    이전의 통신 세션과 관련된 이전의 문맥 데이터, 상기 사용자 트랜잭션 이력, 및 상기 사용자 질의 이력에 기반하여 상기 대응 온톨로지를 사전 캐시하는 단계를 더 포함하는
    방법.
  11. 문맥 관련 온톨로지를 동적으로 로딩하는 시스템으로서,
    통신 세션 동안 사용자로부터의 입력을 수신하도록 구성되는 통신 모듈과,
    상기 사용자로부터의 상기 수신된 입력에 대응하는 문맥 데이터와 상기 통신 세션을 수집하도록 구성되는 문맥 데이터 모듈과,
    온톨로지들을 포함한 온톨로지 데이터베이스와,
    상기 문맥 데이터에 기반하여 상기 온톨로지 데이터베이스로부터 대응 온톨로지를 검색하도록 구성되는 온톨로지 모듈과,
    상기 문맥 데이터, 상기 수신된 입력, 및 상기 대응 온톨로지에 기반하여 예측성 타이핑 엔트리를 생성하도록 구성되는 예측성 타이핑 엔트리 모듈―상기 예측성 타이핑 엔트리 모듈에 의해 생성된 상기 예측성 타이핑 엔트리는 텍스트 제안임―과,
    상기 사용자에게 상기 예측성 타이핑 엔트리를 제시하도록 구성되는 프리젠테이션 모듈을 포함하는
    시스템.
  12. 제11항에 있어서,
    상기 대응 온톨로지는 두 개 이상의 온톨로지 컴포넌트를 포함할 수 있으며,
    상기 온톨로지 모듈은 또한 가장 넓은 온톨로지 컴포넌트로부터 시작하여 상기 문맥 데이터 및 상기 수신된 입력에 기반하여 추가의 좁은 온톨로지 컴포넌트를 제공함으로써 상기 대응 온톨로지 및 상기 두 개 이상의 온톨로지 컴포넌트를 동적으로 검색하도록 구성되는
    시스템.
  13. 제11항에 있어서,
    상기 통신 모듈은 또한 상기 텍스트 제안을 수용하기 위한 사용자 입력을 수신하고 상기 텍스트 제안을 거부하기 위한 사용자 입력을 수신하도록 구성되는
    시스템.
  14. 제11항에 있어서,
    상기 온톨로지 모듈은 또한 상기 대응 온톨로지에 순위를 할당하도록 구성되며,
    상기 순위는 사용 빈도, 변환 레이트, 사용 행동, 및 텍스트 제안의 정확도에 기반하며, 상기 사용 빈도는 온톨로지들의 데이터베이스 내의 다른 온톨로지들과 비교할 때 상기 대응 온톨로지가 상기 사용자에 의해 사용되는 전체 회수이며, 보다 높은 변환 레이트는 온톨로지들의 데이터베이스 내의 보다 높은 전체 순위에 대응하며, 상기 사용 행동은 상기 대응 온톨로지로부터 사용되는 키워드에 기반하며, 상기 예측성 타이핑 제안의 정확도는 상기 사용자에 의해 수용된 예측성 타이핑 제안에 대한 상기 사용자에 의해 거부된 예측성 타이핑 제안의 비율로서 계산되는
    시스템.
  15. 제11항에 있어서,
    상기 온톨로지 모듈은 또한 상기 대응 온톨로지를 사전 캐시하도록 구성되는
    시스템.
  16. 프로세서에 의해 실행될 때 상기 프로세서로 하여금 문맥 관련 온톨로지를 동적으로 로딩하는 방법을 수행하게 하는 인스트럭션을 저장한 머신 판독가능 저장 매체로서,
    상기 방법은,
    통신 세션 동안 사용자로부터 입력을 수신하는 단계와,
    상기 입력에 대응하는 문맥 데이터와 상기 통신 세션을 수집하는 단계와,
    상기 문맥 데이터에 기반하여 온톨로지 데이터베이스로부터 대응 온톨로지를 검색하는 단계와,
    상기 입력, 상기 문맥 데이터 및 상기 대응 온톨로지에 기반하여 상기 예측성 타이핑 엔트리를 생성하는 단계를 포함하는
    머신 판독가능 저장 매체.
  17. 제16항에 있어서,
    상기 대응 온톨로지는 두 개 이상의 온톨로지 컴포넌트를 포함할 수 있으며,
    상기 방법은, 가장 넓은 온톨로지 컴포넌트로부터 시작하여 상기 문맥 데이터 및 상기 입력에 기반하여 추가적인 보다 좁은 온톨로지 컴포넌트를 제공함으로써 상기 대응 온톨로지 및 상기 두 개 이상의 온톨로지 컴포넌트를 동적으로 검색하는 단계를 더 포함하는
    머신 판독가능 저장 매체.
  18. 제16항에 있어서,
    상기 예측성 타이핑 엔트리는 상기 사용자에 의해 수용될 수 있거나 거부될 수 있는 텍스트 제안인
    머신 판독가능 저장 매체.
  19. 제16항에 있어서,
    상기 방법은 상기 대응 온톨로지를 사전 캐시하는 단계를 더 포함하는
    머신 판독가능 저장 매체.
  20. 제16항에 있어서,
    상기 방법은 상기 대응 온톨로지에 순위를 할당하는 단계를 더 포함하는
    머신 판독가능 저장 매체.
  21. 프로세서에 의해 실행될 때 상기 프로세서로 하여금 제1항 내지 제10항 중 임의의 한 항의 방법을 수행하게 하는 머신 판독가능 인스트럭션을 포함하는 머신 판독가능 매체.
KR1020177014616A 2014-10-30 2015-10-29 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩 KR20170078768A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/528,857 2014-10-30
US14/528,857 US9880714B2 (en) 2014-10-30 2014-10-30 Dynamic loading of contextual ontologies for predictive touch screen typing
PCT/US2015/058001 WO2016069869A1 (en) 2014-10-30 2015-10-29 Dynamically loading contextual ontologies for predictive typing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197028373A Division KR102159898B1 (ko) 2014-10-30 2015-10-29 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩

Publications (1)

Publication Number Publication Date
KR20170078768A true KR20170078768A (ko) 2017-07-07

Family

ID=54477372

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177014616A KR20170078768A (ko) 2014-10-30 2015-10-29 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩
KR1020197028373A KR102159898B1 (ko) 2014-10-30 2015-10-29 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197028373A KR102159898B1 (ko) 2014-10-30 2015-10-29 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩

Country Status (5)

Country Link
US (1) US9880714B2 (ko)
EP (1) EP3213231A1 (ko)
KR (2) KR20170078768A (ko)
CN (1) CN107111612A (ko)
WO (1) WO2016069869A1 (ko)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US10565219B2 (en) * 2014-05-30 2020-02-18 Apple Inc. Techniques for automatically generating a suggested contact based on a received message
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10579212B2 (en) 2014-05-30 2020-03-03 Apple Inc. Structured suggestions
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9880714B2 (en) 2014-10-30 2018-01-30 Ebay Inc. Dynamic loading of contextual ontologies for predictive touch screen typing
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10762517B2 (en) 2015-07-01 2020-09-01 Ebay Inc. Subscription churn prediction
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US10366158B2 (en) * 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US20170193579A1 (en) * 2015-12-31 2017-07-06 Ebay Inc. System and method to calculate session-based price demand on e-commerce site
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US20180089309A1 (en) * 2016-09-28 2018-03-29 Linkedln Corporation Term set expansion using textual segments
US20180101599A1 (en) * 2016-10-08 2018-04-12 Microsoft Technology Licensing, Llc Interactive context-based text completions
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
EP3729292A4 (en) * 2017-12-19 2021-06-09 Qomplx, Inc. SYSTEM AND METHOD FOR AUTOMATIC CREATION OF ONTOLOGICAL DATABASES AND SEMANTIC RESEARCH
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
CN108733814B (zh) * 2018-05-21 2021-07-23 Oppo广东移动通信有限公司 搜索引擎预加载方法、装置、存储介质及终端
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN110008331B (zh) * 2019-04-15 2021-09-14 腾讯科技(深圳)有限公司 信息展示方法、装置、电子设备及计算机可读存储介质
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
WO2024073413A1 (en) * 2022-09-28 2024-04-04 Grammarly Inc. Privacy-controlled generation of suggested snippets

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849090B2 (en) * 2005-03-30 2010-12-07 Primal Fusion Inc. System, method and computer program for faceted classification synthesis
WO2006108069A2 (en) * 2005-04-06 2006-10-12 Google, Inc. Searching through content which is accessible through web-based forms
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7734641B2 (en) * 2007-05-25 2010-06-08 Peerset, Inc. Recommendation systems and methods using interest correlation
US20080294622A1 (en) * 2007-05-25 2008-11-27 Issar Amit Kanigsberg Ontology based recommendation systems and methods
GB0800925D0 (en) 2008-01-18 2008-02-27 Akuwudike Ugochukwu A web-based natural language communications system and method
EP2304667A4 (en) * 2008-06-03 2011-08-10 Just Parts Online Inc SYSTEM AND METHOD FOR LISTING POSTS ONLINE
US8983989B2 (en) * 2010-02-05 2015-03-17 Microsoft Technology Licensing, Llc Contextual queries
US20110219299A1 (en) * 2010-03-07 2011-09-08 DSNR Labs Ltd. Method and system of providing completion suggestion to a partial linguistic element
US8560562B2 (en) * 2010-07-22 2013-10-15 Google Inc. Predictive query suggestion caching
US9037459B2 (en) * 2011-03-14 2015-05-19 Apple Inc. Selection of text prediction results by an accessory
US9529522B1 (en) * 2012-09-07 2016-12-27 Mindmeld, Inc. Gesture-based search interface
US9244905B2 (en) * 2012-12-06 2016-01-26 Microsoft Technology Licensing, Llc Communication context based predictive-text suggestion
US9477752B1 (en) * 2013-09-30 2016-10-25 Verint Systems Inc. Ontology administration and application to enhance communication data analytics
US9589050B2 (en) * 2014-04-07 2017-03-07 International Business Machines Corporation Semantic context based keyword search techniques
US9880714B2 (en) 2014-10-30 2018-01-30 Ebay Inc. Dynamic loading of contextual ontologies for predictive touch screen typing

Also Published As

Publication number Publication date
US20160125071A1 (en) 2016-05-05
EP3213231A1 (en) 2017-09-06
KR102159898B1 (ko) 2020-09-24
KR20190114016A (ko) 2019-10-08
CN107111612A (zh) 2017-08-29
WO2016069869A1 (en) 2016-05-06
US9880714B2 (en) 2018-01-30

Similar Documents

Publication Publication Date Title
KR102159898B1 (ko) 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩
JP6916351B2 (ja) 通信セッションの状態の保存
CA2928928A1 (en) System and method for identifying purchase intent
US20160302030A1 (en) Location-Based Real-Time Contextual Data System
US11455348B2 (en) Systems and methods for saving and presenting a state of a communication session
US20170097967A1 (en) Automated Customization of Display Component Data for Search Results
US20150154251A1 (en) Systems and methods to adapt search results
KR20160075798A (ko) 전자 상거래를 위한 텍스트 번역 기법
US20150081679A1 (en) Focused search tool
US20160188681A1 (en) Viewing Search Results Using Multiple Different Devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment