KR102165029B1 - 질의의 문맥 수정 - Google Patents

질의의 문맥 수정 Download PDF

Info

Publication number
KR102165029B1
KR102165029B1 KR1020187033142A KR20187033142A KR102165029B1 KR 102165029 B1 KR102165029 B1 KR 102165029B1 KR 1020187033142 A KR1020187033142 A KR 1020187033142A KR 20187033142 A KR20187033142 A KR 20187033142A KR 102165029 B1 KR102165029 B1 KR 102165029B1
Authority
KR
South Korea
Prior art keywords
context
display element
selection
initial query
display
Prior art date
Application number
KR1020187033142A
Other languages
English (en)
Other versions
KR20180132145A (ko
Inventor
타일러 용 뉴젠트
Original Assignee
이베이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이베이 인크. filed Critical 이베이 인크.
Publication of KR20180132145A publication Critical patent/KR20180132145A/ko
Application granted granted Critical
Publication of KR102165029B1 publication Critical patent/KR102165029B1/ko

Links

Images

Classifications

    • 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/3325Reformulation based on results of preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • 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/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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/0488Interaction 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 a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction 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 a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

질의의 문맥을 수정해서 검색 결과를 구체화하는 시스템 및 방법을 개시했다. 사용자는 모바일 컴퓨팅 장치의 스크린 상에 디스플레이되는 하나 이상의 디스플레이 요소들을 포스 간격 선택할 수 있다. 선택된 디스플레이 요소는 분석되어서 문맥을 결정할 수 있다. 하나 이상의 문맥 옵션이 사용자 선택을 위해 화면 상에 디스플레이될 수 있다. 선택된 문맥 옵션은 모바일 컴퓨팅 장치로 하여금 최초의 질의를 수정하여 문맥 수정된 질의를 생성하게 할 수 있다. 문맥 수정된 질의는 구체화된 검색 결과를 취득하는 데 사용할 수 있다.

Description

질의의 문맥 수정
관련 출원
본 국제 출원은 2016년 4월 18일자로 출원된 명칭이 "질의의 문맥 수정(CONTEXT MODIFICATION OF QUERIES)"인 미국 특허 출원 제15/131,943호의 우선권의 이익을 주장하며, 그 전체 내용은 전부 본원에 참조로서 포함된다.
기술 분야
본 출원은 전반적으로 컴퓨터 데이터베이스의 기술 분야에 관한 것이며, 다양한 실시예에서, 문맥을 사용하여 데이터베이스 질의를 수정하는 시스템 및 방법에 관한 것이다.
사용자가, 컨텐츠 또는 아이템을 검색하기 위해 검색 사이트(예컨대, 검색 엔진)에 액세스하는데, 스마트 폰과 같은 모바일 컴퓨팅 장치를 점점 더 많이 사용하고 있다. 과거에는 이러한 검색 또는 질의가, 풀-사이즈 컴퓨터 디스플레이 모니터 및 풀-사이즈 물리적 또는 기계적 I/O(키보드/마우스) 인터페이스(예컨대, 키보드 및 마우스)를 일반적으로 구비하는 풀 데스크탑 컴퓨팅 시스템에서 수행되었다.
이와 달리, 모바일 컴퓨팅 장치는 자신의 주된 I/O 인터페이스로서 터치 스크린을 사용할 수 있다. 모바일 컴퓨팅 시스템에서 터치 스크린을 통해 컨텐츠 또는 아이템을 검색하는 데에는 많은 한계가 있다. 예를 들어, 모바일 컴퓨팅 시스템의 터치 스크린은 일반적으로 화면 크기가 제한된다. 화면 크기가 제한된 모바일 컴퓨팅 장치에서 질의를 구체화하는 데는 시간이 오래 걸릴 수 있다. 검색 문자열을 수정하고 구체화하고자 하는 사용자가 상세 옵션을 검색하기 위해서는, 몇 가지 화면상 메뉴를 조사해야 한다. 모바일 컴퓨팅 장치는 화면 크기가 제한되기 때문에, 메뉴를 보는 것이 매우 복잡할 수 있고, 사용자가 다수의 하위 메뉴를 열어야 하는 일이 있으며, 따라서 메뉴 트리가 검색될 때 자포자기하게 될 수 있다. 또한, 화면 상의 메뉴는 일반적으로 기초 결과들을 명확하게 표시하지 않고, 따라서 검색 프로세스를 더 어렵게 한다. 또한, 사용자가 모바일 키보드를 통해 검색 문자열을 연속적으로 수정할 필요가 있을 수 있으며, 이는 각각의 구체화 용어를 타이핑하는 추가 시간을 더한다. 마지막으로, 많은 종래의 접근 방식에서는 사용자가 두 손을 사용하여 모바일 컴퓨팅 장치 상에서 탐색 혹은 타이핑을 행해야 하므로, 번거롭고 사용하기 어려울 수 있고, 예를 들어, 사용자가 모바일 컴퓨팅 장치를 조작하는데 한 손만 자유롭게 쓸 수 있는 경우에는, 양손 탐색은 사용자에 대한 옵션이 아닐 수도 있다.
본 개시의 일부 실시예는 첨부된 도면에 비한정의 예시로서 도시되어 있고, 도면에서 같은 도면 부호는 같은 구성 요소를 가리킨다.
도 1은 일 예시적인 실시예가 전개될 수 있는 클라이언트-서버 시스템을 나타내는 네트워크 도면이다.
도 2a 및 도 2b는 예시적인 실시예에 따른, 클라이언트 장치와 애플리케이션 서버 간의 예시적인 교환을 나타내는 인터렉션 도면을 나타낸다.
도 3은 일부 실시예에 따른, 네트워크화된 시스템 내에 제공되는 구성 요소를 나타내는 블록도를 도시한다.
도 4는 일부 실시예에 따른, 문맥 수정된 질의를 처리하는 방법을 도시하는 흐름도이다.
도 5a 내지 도 5c는 일부 실시예에 따른, 접촉 디스플레이 상의 예시적인 사용자 인터페이스를 도시한다.
도 6은 일부 실시예에 따른, 접촉 디스플레이 상의 예시적인 사용자 인터페이스를 도시한다.
도 7은, 일부 실시예에 따라서, 머신으로 하여금 본 명세서에서 설명되는 방법 중 임의의 하나 이상을 수행하게 하는 명령어 세트가 실행될 수 있는, 컴퓨터 시스템의 예시적인 형태로, 머신의 도식적 표현을 나타낸다.
이하, 신규한 청구 대상을 수행하기 위한 특정 예시적 실시예들을 상세하게 참조할 것이다. 이러한 특정 실시예의 예가 첨부 도면에 도시되어 있다. 이들 실시예는 청구 범위를 설명된 실시예로 제한하려는 것이 아니라는 것임을 이해할 수 있을 것이다. 반대로, 이들은 본 개시의 범위 내에 포함될 수 있는 대안, 수정 및 등가물을 포함하도록 의도된다. 이하의 설명에서, 청구 대상에 대한 완전한 이해를 제공하기 위해 구체적인 세부 사항이 설명된다. 이러한 특정 세부 사항의 일부 또는 전부가 없어도 실시예는 실시될 수 있다.
본 개시의 측면은, 터치-가능형 디스플레이 스크린과 같은 접촉형 디스플레이를 통한 데이터베이스 질의의 문맥 수정을 포함한다. 일반적으로, 접촉형 디스플레이는 사용자 인터페이스를 디스플레이하도록 동작 가능한 디스플레이 스크린으로, 사용자는 원하는 영역을 직접 누름으로써 사용자 인터페이스 내에서 아이템을 선택할 수 있다.
예시적인 실시예는 클라이언트 장치의 접촉형 디스플레이(예를 들어, 모바일 장치의 터치 스크린 디스플레이)를 통해 검색 문자열을 수신하는 시스템 및 방법을 포함한다. 클라이언트 장치는 검색 문자열을 서버에 전달할 수 있으며, 서버는 하나 이상의 데이터베이스에 질의해서 검색 문자열 결과를 취득하고, 이는 디스플레이하기 위해서 다시 클라이언트 장치로 전송된다. 클라이언트 장치의 사용자는 검색 문자열 결과를 보고, 접촉형 디스플레이를 통해 검색 문자열 결과 중 디스플레이 요소를 선택할 수 있다. 이 선택은, 선택 제스처 또는 포스 간격(force-interval) 선택 액션을 사용하여 수행될 수 있으며, 이는 길게 누름(예를 들어, 일정 시간 동안 길게 누름) 클릭 액션, 압력 기반 클릭 액션(예컨대, 가볍게 탭해서 선택하는 것과는 반대로 아이템을 일정 시간 동안 강하게 눌러서 선택) 혹은 순차적인 압력 클릭 액션(예컨대, 아이템을 탭한 이후에 아이템을 강하게 누름)이 될 수 있다.
클라이언트 장치는 디스플레이 요소가 포스 간격 선택 액션을 사용하여 선택되었다는 것을 검출하고, 선택된 디스플레이 요소를 분석하여 요소의 문맥을 결정할 수 있다. 요소의 문맥은, 요소의 기초 컨텐츠가 필터-관련(예컨대, "무료 배송" 아이콘 선택)인지 혹은 키워드-관련(예컨대, 스마트 폰인 경우 결과에서 "적색" 선택)인지 여부와 관련될 수 있다. 또한, 일부 실시예에서, 요소의 문맥은 접촉형 디스플레이에서의 디스플레이 요소의 위치, 태그 또는 다른 문맥에 대응할 수 있으며, 이에 대해서는 이하 상세하게 설명한다.
클라이언트 장치는 디스플레이 요소의 식별된 문맥에 기초하여 하나 이상의 문맥 옵션을 디스플레이할 수 있다. 예시적인 문맥 옵션에는, 검색 문자열에 선택한 키워드를 첨부하는 것 및 선택한 디스플레이 요소에 기초해서 필터를 작성하는 것이 포함될 수 있다. 사용자는 접촉형 디스플레이를 사용하여 접촉 옵션을 선택할 수 있다. 클라이언트 장치는 선택된 문맥 옵션에 기초해서 원래의 검색 문자열을 수정할 수 있다. 일부 실시예에서, 선택된 단어가 검색 문자열의 끝에 첨부되어서 수정된 검색 문자열로서 저장된다. 일부 실시예에서, 검색 문자열과 관련된 필터 메타 데이터가 생성되어 수정된 검색 문자열로서 원래 검색 문자열과 함께 저장된다. 이후, 수정된 검색 문자열은 서버로 송신되고, 서버는 수정된 검색 문자열 결과를 디스플레이하도록 클라이언트 장치에 제공할 수 있다. 사용자는 화면상 요소를 포스 간격 선택해서 검색 프로세서를 더 구체화할 수 있다. 이러한 방식으로, 사용자는 화면 크기가 제한된 시스템에서 검색 결과를 빠르게 구체화할 수 있으며(휴대 전화에서 나타내는 것처럼), 또한, 사용자는 풀 키보드 또는 검색 메뉴를 불러오지 않고도 한손 및/또는 한 손가락(예컨대, 엄지 손가락)으로 검색 결과를 수정할 수 있다.
이를 위해서, 개시된 방식은, 접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하고, 접촉형 디스플레이 인터페이스를 통해서, 초기 질의 결과의 디스플레이 요소에 대한 포스 간격 선택을 수신하며, 디스플레이 요소의 문맥을 결정하고, 디스플레이 요소의 문맥에 적어도 부분적으로 기초해서 초기 질의를 수정해서 수정된 질의를 생성하며, 및/또는 접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신함으로써, 애플리케이션 질의를 수정하는 방법을 수행할 수 있다.
또한, 일부 실시예에서, 그러한 컴퓨터 구현된 방법은, 문맥에 기초하여 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하는 단계 및/또는 접촉형 디스플레이 인터페이스를 통해서 하나 이상의 옵션의 선택을 수신하는 단계를 더 포함할 수 있다. 또한, 일부 실시예에서, 선택에 기초하여 초기 질의 결과가 수정될 수 있다. 또한, 일부 실시예에서, 문맥은 선택된 디스플레이 요소의 키워드에 기초하여 결정될 수 있다. 또한, 일부 실시예에서, 문맥은 접촉형 디스플레이 인터페이스 내에서 선택된 디스플레이 요소의 위치에 기초하여 결정될 수 있다. 또한, 일부 실시예에서, 문맥은 선택된 디스플레이 요소의 클래스 속성에 기초하여 결정될 수 있다. 또한, 일부 실시예에서, 포스 간격 선택은, 디스플레이 요소를 선택할 때 접촉형 디스플레이 인터페이스와 접촉하는 시간량에 기초한 선택 액션이 될 수 있다. 나아가, 일부 실시예에서, 포스 간격 선택은 디스플레이 요소를 선택할 때, 접촉형 디스플레이 인터페이스에 가해지는 압력의 양에 기초한 선택 액션이 될 수 있다. 또한, 일부 실시예에서, 접촉형 디스플레이 인터페이스는 모바일 장치의 터치 스크린 디스플레이가 될 수 있다. 또한, 일부 실시예에서, 초기 질의 결과 및 수정된 질의 결과는 인터넷과 같은 네트워크를 통해 서버로부터 수신된다.
도 1은 일 실시예에 따른, 네트워크(102)(예를 들어, 인터넷)를 통해 데이터를 교환하도록 구성된 클라이언트-서버 아키텍처를 갖는 네트워크 시스템(100)을 나타내는 네트워크 도면이다. 네트워크 시스템(100)이 클라이언트-서버 아키텍처를 갖는 것으로 도시되어 있지만, 본 신규한 청구 대상은 물론 이러한 아키텍처로 제한되지 않고, 예컨대, 사건 중심형(event-driven), 분산형 또는 피어 투 피어 아키텍처 시스템에서도 마찬가지로 응용예를 찾을 수 있다. 또한, 불필요한 세부 사항으로 본 신규한 청구 대상을 모호하게 하는 것을 피하기 위해, 본 신규한 청구 대상의 이해를 전달하는 것과 밀접한 관계가 없는 다양한 기능적 구성 요소는 도 1에서 생략되었다. 또한, 네트워크 시스템(100)의 다양한 기능적 구성 요소들이 단수로 설명되었지만, 다양한 기능적 구성 요소들 중 어느 하나의 다수의 인스턴스가 사용될 수가 있다는 것을 이해해야 한다.
네트워크 시스템(100)은 네트워크(102)를 통해 클라이언트 장치(106) 및 제3자 서버(108)와 통신하는 네트워크 기반 퍼블리싱 시스템(104)을 포함한다. 일부 예시적인 실시예에서, 네트워크 기반 퍼블리싱 시스템(104)은 아이템을 퍼블리싱하기 위한 컨텐츠 퍼블리싱 서비스(예컨대, eBay.com)가 될 수 있다. 네트워크 기반 퍼블리싱 시스템(104)은, 네트워크 시스템(100) 및 그 사용자와 관련된 다양한 기능 및 측면과 관련될 수 있는 데이터를 네트워크 시스템(100) 내에서 통신 및 교환한다. 네트워크 기반 퍼블리싱 시스템(104)은 서버 측의 기능을 네트워크(102)를 통해서 클라이언트 장치(106)와 같은 네트워크 장치에 제공할 수 있다.
클라이언트 장치(106)는, 네트워크 시스템(100)을 사용해서 네트워크(102)를 통해 데이터를 교환하는 사용자에 의해 조작될 수 있다. 이러한 데이터 교환은, 네트워크 시스템(100)의 사용자와의 사이에서 컨텐츠에 관한 데이터를 송신, 수신(통신) 및 처리하는 것을 포함할 수 있다. 이러한 데이터는, 특히, 검색 문자열(예를 들어, 질의); 이미지; 비디오 또는 오디오 컨텐츠; 사용자 선호도; 제품 및 서비스 피드백, 어드바이스 및 리뷰; 제품, 서비스, 제조업체 및 공급 업체 추천 및 식별자; 구매자 및 판매자와 관련된 제품 및 서비스 리스팅; 제품 및 서비스 광고; 경매 입찰; 거래 데이터; 사용자 프로파일 데이터; 소셜 데이터 등을 포함할 수 있다.
다양한 실시예에서, 네트워크 시스템(100) 내에서 교환되는 데이터는 하나 이상의 클라이언트 또는 사용자 인터페이스(UI)를 통해 이용 가능한 사용자-선택된 기능에 따라 달라질 수 있다. UI는, 네트워크 기반 퍼블리싱 시스템(104)과 통신할 수 있는, 클라이언트 디바이스(106) 상에서 동작하는 웹 클라이언트(110)(예를 들어, 인터넷 브라우저, 네트워크 기반 퍼블리싱 시스템 검색 애플리케이션)와 연관 될 수 있다. UI는, 네트워크 기반 퍼블리싱 시스템(104)과 효율적으로 인터렉션하도록 설계된 모바일 애플리케이션과 같은, 클라이언트 장치(106) 상에서 실행되는 하나 이상의 애플리케이션과 연관될 수 있다. 예컨대, 클라이언트 장치(106)는 문맥 질의 수정 애플리케이션(112A)을 실행할 수 있으며, 이는 클라이언트 장치(106)에 디스플레이되는 문맥의 하나 이상의 디스플레이 요소에 대한 선택의 검출을 용이하게 한다. 문맥 질의 수정 애플리케이션(112A)은 또한, 문맥에 대한 선택된 요소를 분석하는 것 및 네트워크 기반 퍼블리싱 시스템(104)에 제출하기 위해 질의를 수정하는 것을 용이하게 할 수 있다. 도 1에 도시된 바와 같이, 일부 실시예에서, 문맥 질의 수정 애플리케이션(112A)은 웹 클라이언트(110)에 통합될 수 있으며, 또한 일부 실시예에서, 문맥 질의 수정 애플리케이션(112A)은, 외부 문맥 질의 수정 애플리케이션(112B)으로 나타낸 바와 같은, 클라이언트/애플리케이션 외부의 모듈이 될 수 있다.
네트워크 기반 퍼블리싱 시스템(104)을 구체적으로 살펴보면, API 서버(114) 및 웹 서버(116)는 각각 애플리케이션 서버(118)에 연결되어서 프로그램식 인터페이스 및 웹 인터페이스를 제공한다. 도 1에 도시된 바와 같이, 애플리케이션 서버(118)는 예를 들어 유선 또는 무선 인터페이스를 통하는 것과 같이, API 서버(114) 및 웹 서버(116)를 통해 네트워크(102)에 연결된다. 애플리케이션 서버(118)는 결과적으로 질의 결과를 취득하기 위해서 데이터베이스(122)에 액세스하는 것을 용이하게 하는 데이터베이스 서버(120)에 연결되도록 도시되어 있다. 일부 예에서, 애플리케이션 서버(118)는 데이터베이스 서버(120)를 필요로 하지 않고 데이터베이스(122)에 직접 액세스할 수도 있다. 데이터베이스(122)는 다수의 데이터베이스를 포함할 수 있는데, 이는 네트워크 기반 퍼블리싱 시스템(104)의 내부에 있을 수도 있고 외부에 있을 수도 있다.
애플리케이션 서버(118)는 예를 들어, 하나 이상의 애플리케이션을 호스팅 할 수 있으며, 이는 네트워크 기반 퍼블리싱 시스템(104)에 액세스하는 사용자에게 다수의 컨텐츠 퍼블리싱 및 보기 기능 및 서비스를 제공할 수 있는 것이다. 예를 들어, 네트워크 기반 퍼블리싱 시스템(104)은, 이미지 처리, 퍼블리싱, 리스팅 및 가격 설정 메커니즘과 같은 다수의 퍼블리싱 시스템 기능 및 서비스를 사용자에게 제공하는 웹 서비스 애플리케이션(124)을 호스팅할 수 있으며, 이를 통해서 웹 서비스 애플리케이션(124)은 판매할 아이템을 리스팅할 수 있고, 구매자는 아이템에 대한 관심을 표시하거나 구매 의사를 나타낼 수 있으며, 하나 이상의 아이템에 관한 거래에 대한 가격이 설정될 수 있다. 나아가, 클라이언트 장치(106)의 컴퓨팅 자원이 제한되어 있는 것과 같은 일부 실시예에서, 문맥 질의 수정 애플리케이션(112A)의 하나 이상의 처리 활동은 원격 처리를 위해 웹 서비스 애플리케이션(124)으로 전송될 수도 있다. 예를 들어, 클라이언트 장치(106)가 선택된 디스플레이 요소의 문맥의 기초적인 분석 또는 제한된 분석을 수행하기에 충분한 프로세서 강도 및 메모리를 가질 수 있지만, 그러나 클라이언트 장치(106)는 문맥의 보다 심층적인 분석 및 문맥 질의 수정 옵션의 후속 생성을 위해서 어떤 디스플레이 요소가 선택되었는지를 웹 서비스 애플리케이션(124)에 전송할 수 있다.
데이터베이스(122)는, 웹 서비스 애플리케이션(124)을 사용해서 판매될 아이템에 대한 이미지(예를 들어, 이미지를 나타내는 데이터 파일), 가격, 설명 데이터, 처리 데이터(예를 들어, 배송 정보, 판매자 등급) 등을 포함하는 아이템 데이터와 같은 검색 결과의 데이터 저장소를 포함한다. 데이터베이스(122)는 또한 네트워크 시스템(100) 및 그 사용자와 관련된 다양한 기능 및 특성에 관한 데이터를 저장하는데 사용될 수 있다. 예를 들어, 데이터베이스(122)는 네트워크 기반 퍼블리싱 시스템(104)의 사용자에 대한 사용자 프로파일을 저장하고 유지할 수 있다. 각각의 사용자 프로파일은 특정 사용자의 특성을 나타내는 사용자 프로파일 데이터를 포함할 수 있다. 사용자 프로파일 데이터는 예를 들어 인구 통계 데이터(예컨대, 성별, 연령, 위치 정보, 고용 이력, 교육 이력, 연락처 정보, 가족 관계 또는 사용자 관심 분야), 사용자 환경 설정, 소셜 데이터 및 금융 정보(예컨대, 계좌 번호, 크레덴셜, 패스워드, 장치 식별자, 사용자명, 전화 번호, 신용 카드 정보, 은행 정보, 거래 내력, 또는 사용자에 의한 온라인 거래를 용이하게 하는데 사용될 수 있는 다른 금융 정보)를 포함할 수 있다.
또한, 도 1은 애플리케이션 서버(118) 또는 클라이언트 장치(106)의 사용자에게 정보 또는 서비스를 제공할 수 있는 제3자 서버(108)상에서 실행되는 제3자 애플리케이션(128)을 도시한다. 제3자 애플리케이션(128)은 API 서버(114)에 의해 제공되는 프로그램식 인터페이스를 통해서 네트워크 기반 퍼블리싱 시스템(104)에 대한 프로그램식 액세스를 행할 수 있다. 제3자 애플리케이션(128)은 애플리케이션 서버(118) 또는 클라이언트 장치(106)의 사용자와 트랜잭션을 수행하거나 이에 서비스를 제공하는 임의의 조직과 연관될 수 있다. 도시된 바와 같이, 제3자 서버(108)는 또한 외부 문맥 질의 수정 애플리케이션(112B)을 실행할 수도 있으며, 이는 제3자 애플리케이션(128)과 함께 실행될 수 있다. 제3자 애플리케이션(128)은 외부 문맥 질의 수정 애플리케이션(112B)과 인터페이스하여 선택된 입력의 문맥 분석을 핸들링할 수 있다. 전술한 바와 같이, 문맥 질의 수정 애플리케이션(112A~B)은 그들의 각각의 플랫폼 또는 애플리케이션에 통합될 수 있고, 외부 실행될 수 있으며, 또한 수행되는 다양한 활동의 강화된 원격 처리(예컨대, 선택된 요소에 대한 개선된 클라우드 지지되는 문맥 분석)를 위해서 웹-서비스 애플리케이션(124)을 사용할 수 있다.
도 2a 및 도 2b는 예시적인 실시예에 따른, 클라이언트 장치(106)와 애플리케이션 서버(118) 사이의 예시적인 교환을 나타내는 인터렉션 도면(200)을 나타낸다. 클라이언트 장치(106)는 인터넷과 같은 네트워크를 통해 네트워크 기반 퍼블리싱 시스템(104)에 접속할 수 있는 무선 송수신기(예를 들어, WiFi 안테나, 셀룰러 4G, LTE 안테나)를 가질 수 있다. 도시된 바와 같이, 프로세스는 동작 202에서 시작되며, 여기서 클라이언트 장치(106)는, 자신의 입력 인터페이스로부터 초기 질의(예를 들어, 검색 문자열)를 수신할 수 있다. 동작 204에서, 클라이언트 장치(106)는 초기 질의를 애플리케이션 서버(118)에 전송한다. 애플리케이션 서버(118)는 하나 이상의 네트워크를 통해 초기 질의를 수신하고, 동작 206에서, (도 1의) 데이터베이스(122)와 같은 하나 이상의 데이터베이스로부터 초기 질의 결과를 취득한다. 동작 208에서, 애플리케이션 서버(118)는 초기 질의 결과를 하나 이상의 네트워크를 통해 클라이언트 장치(106)에 전송한다.
클라이언트 장치(106)가 초기 질의 결과를 수신한 후에, 클라이언트 장치(106)는, 동작 210에 나타난 바와 같이, 클라이언트 장치(106)의 접촉형 인터페이스 상에 초기 질의 결과를 디스플레이한다. 사용자는 초기 질의 결과를 볼 수 있으며, 동작 212에서, 접촉형 디스플레이 상의 포스 간격 선택과 같은 선택 액션을 사용해서 초기 질의 결과의 하나 이상의 디스플레이 요소를 선택할 수 있다. 예를 들어 초기 질의가 "XBOX"인 경우, 초기 질의 결과는 XBOX 콘솔 및 XBOX 액세서리(예컨대, 게임, 컨트롤러, 스티커, 가이드 북, 전력 코드)의 리스트가 될 수 있으며, 이 리스트를 본 이후에, 사용자는 나열된 아이템 중 하나의 설명에서 "콘솔"이라는 단어에 자신을 손가락을 눌러서 유지함으로써 설명으로부터 "콘솔"이라는 단어를 선택할 수 있다.
동작 214에서, 선택된 디스플레이 요소를 분석해서 하나 이상의 디스플레이 요소들의 문맥을 결정한다. 예를 들어, 설명에서 "XBOX"라는 단어가 선택되면, 클라이언트 장치(106)는 디스플레이 요소 문맥을 검색 문자열과 관련된 설명 텍스트 또는 키워드로서 식별할 수 있다. 동작 216에서, 초기 질의를 구체화하기 위해서 클라이언트 장치(106)는 문맥을 식별하는 분석에 기초해서 하나 이상의 문맥 옵션을 디스플레이한다. 예를 들어, "콘솔"이 선택되면, 클라이언트 장치(106)는 디스플레이 요소를 키워드로서 식별하고, 검색 문자열로의 "콘솔 첨부" 또는 검색 결과로부터의 "콘솔 제거"와 같은 문맥 옵션을 생성할 수 있다.
동작 218에서, 클라이언트 장치(106)는 접촉형 인터페이스를 통해서 문맥 옵션 중 하나의 선택을 수신할 수 있다. 도 2b를 참조하면, 동작 220에서, 클라이언트 장치(106)는 선택된 문맥 옵션에 기초하여 문맥 수정된 질의를 생성한다. 예를 들어, "콘솔 추가"가 선택되면 "XBOX 콘솔"이 문맥 수정 질의로 생성될 수 있다. 또한, 일부 실시예에서, 용어 "콘솔"이 첨부되고 가중치가 부여되어서, 설명 또는 아이템 페이지에 "콘솔"을 갖지 않는 모든 검색 결과를 후순위화(deprioritize)할 수 있다.
동작 222에서, 클라이언트 장치(106)는 문맥 수정된 질의를 애플리케이션 서버(118)에 전송한다. 동작 224에서, 애플리케이션 서버(118)는 데이터베이스(122)와 같은 하나 이상의 데이터베이스로부터 문맥 수정된 질의 결과를 취득한다. 문맥 수정된 질의 결과를 취득하기 전에 애플리케이션 서버(118)는 수정된 질의 결과를 분석해서, 수정된 질의를 정확하게 수행할 수 있다. 예를 들어, 동작 216에서 사용자에게 제시된 문맥 옵션 중 하나가 "무료 배송" 파라미터인 경우, 동작 224에서 "배송" 필드가 "무료"인 것만 요구하는 메타 데이터 파라미터가 검색 파라미터로 설정될 수 있으며, 이로써 "무료 배송"이 있는 결과만 반환된다.
동작 226에서, 애플리케이션 서버(118)는 문맥 수정된 질의 결과를 클라이언트 장치(106)에 전송한다. 동작 228에서, 클라이언트 장치(106)는 문맥 수정된 질의 결과를 수신하여 클라이언트 장치(106)의 접촉형 인터페이스 상에 디스플레이한다. 동작 230에서, 클라이언트 장치(106)는 검색을 더 구체화하기 위해 하나 이상의 디스플레이 요소의 포스 간격 선택을 수신한다. 동작 230은 동작 218과 유사하지만, 동작 230은 더 새로운 문맥 수정된 질의 결과에 대한 것이다. 예를 들어, 문맥 수정된 질의 결과가 현재 XBOX 콘솔만을 포함하는 경우에는, 사용자는 동작 230에서 XBOX One에 대한 결과만을 나타내는 결과를 리턴하는 새로운 검색을 생성하기 위해 "One"을 더 선택할 수 있다. 공정은 동작 218에서 동작 230을 여러 번 반복하며, 이 각 반복에서 문맥 선택에 응답하여 발생하는 문맥 분석을 이용하여 검색 결과를 더 구체화할 수 있다.
도 3은 예시적인 실시예에 따른, 네트워크 시스템(100)의 일부로서 제공되는 웹 클라이언트(110)의 다양한 기능적 구성 요소를 나타내는 블록도이다. 관련된 컴퓨터 및 인터넷 관련 기술 분야에 종사하는 당업자들에 의해 이해되는 바와 같이, 웹 클라이언트는 애플리케이션 서버(118) 또는 웹 서비스 애플리케이션(124)과 인터페이스하는 클라이언트 측 웹 애플리케이션에 대응할 수 있다. 또한, 관련된 컴퓨터 및 인터넷 관련 기술 분야에 종사하는 당업자들에 의해 이해되는 바와 같이, 도 3에 도시된 각각의 구성 요소(예컨대, 모듈 또는 엔진)는 로직 세트(예를 들어, 실행 가능한 소프트웨어 명령어) 및 이 로직 세트를 실행하기 위한 대응하는 하드웨어(예를 들어, 메모리 및 프로세서)를 나타낼 수 있다. 또한, 도 3에 도시된 각각의 구성 요소는, 서버 시스템 간의 통신을 가능하게 하기 위해 통신 가능하게 결합된, 전용 서버 머신 또는 공유 서버 머신에서 호스팅될 수 있다. 도 3에 도시된 각각의 구성 요소는 웹 클라이언트(110)(예를 들어, 직접 통합), 웹 서비스 애플리케이션(124)(예를 들어, 원격 프로세싱을 위한), 또는 네트워크 시스템(100)의 다른 애플리케이션에 통합될 수 있다.
웹 클라이언트(110)는 도 3에서 전송 모듈(300), 1차 애플리케이션 모듈(302), 인터페이스 모듈(304), 문맥 분석 모듈(306), 문맥 옵션 모듈(308) 및 문맥 질의 수정 모듈(310)을 포함하는 것으로 도시되어 있으며, 이들 모두는 서로 통신하도록 구성된다(예컨대, 버스, 공유 메모리, 스위치 또는 API(application programming interface)). 웹 클라이언트(110)의 다양한 구성 요소 각각은 하나 이상의 제3자 애플리케이션(128)과 통신할 수 있다. 도 3에 도시된 구성 요소는 단수로 설명되지만, 다른 실시예에서는 이들 구성 요소 중 임의의 구성 요소의 복수의 인스턴스가 배치될 수 있다는 것을 이해할 것이다.
전송 모듈(300)은 웹 클라이언트(110)를 네트워크(102), 그리고 제3자 서버(108), 웹 서버(116) 또는 API 서버(114)와 같은 네트워크 엔티티와 인터페이스시키는 역할을 한다. 예를 들어, 클라이언트 장치(106)가 접촉 인터페이스를 통해서 초기 질의를 수신하면, 초기 질의는 전송 모듈(300)을 통해 애플리케이션 서버(118)에 전송될 수 있다. 1차 애플리케이션 모듈(302)은 애플리케이션을 웹 서비스로서 제공하도록 동작 가능한 웹 브라우저일 수 있다. 일부 실시예에서, 1차 애플리케이션 모듈(302)은, 웹 기반 애플리케이션(124)에 대한 액세스를 제공하기 위해, 네트워크 기반 퍼블리싱 시스템(104)에 연결하는 것과 같은 특별한 목적을 위해 구성된 모바일 애플리케이션(예컨대, "앱")이다. 1차 애플리케이션 모듈(302)은 클라이언트 장치(106)의 스크린으로부터 선택 가능한 아이콘으로부터 초기화될 수 있다. 1차 애플리케이션 모듈(302)이 특별한 목적으로 구성되는 실시예에서, 1차 애플리케이션 모듈(302)은 사전 로딩된 네트워크 어드레스를 구비할 수 있으며, 이는 질의 또는 검색 문자열을 웹 서비스 애플리케이션(124) 또는 네트워크 기반 퍼블리싱 시스템(104) 내의 다른 컴퓨팅 엔티티에 어드레싱하는데 사용될 수 있다.
인터페이스 모듈(304)은 접촉형 디스플레이에 대한 사용자 액션을 검출하는 역할을 한다. 사용자 액션은 논포스(non-force) 터치 선택(예컨대, 탭), 시간 기반 포스 간격 선택(예컨대, 길게 누름), 가속 또는 압력 기반 포스 간격 선택(예를 들어, 접촉형 디스플레이의 영역을 강하게 누르는 것), 그리고 접촉형 디스플레이 상에서 하나 이상의 디스플레이 요소를 선택하는 동안 클라이언트 장치(106) 상의 기계적 버튼을 누르고 있는 것과 같은 다른 유형의 사용자 액션 중 하나 이상을 포함할 수 있다. 인터페이스 모듈(304)은 포스 간격 선택과 같은 사용자 액션을 검출하는 것에 응답하여 스크린 상에서 선택된 하나 이상의 요소를 식별하도록 구성될 수 있다. 인터페이스 모듈(304)은 선택된 디스플레이 요소들 중 하나 이상의 식별 정보를 문맥 분석 모듈(306)에 전달할 수 있다.
문맥 분석 모듈(306)은 하나 이상의 선택된 디스플레이 요소들의 문맥을 결정한다. 일부 실시예에서, 문맥 분석 모듈(306)은 어떤 타입의 디스플레이 요소가 선택되는지를 식별함으로써 문맥을 결정한다. 예를 들어, 문맥 분석 모듈(306)은 선택된 요소를, 나열되는 아이템의 하나 이상의 속성을 설명하는 설명 텍스트로서 식별할 수 있다. 일부 실시예들에서, 문맥 분석 모듈(306)은 하나 이상의 트랜잭션 파라미터들과 관련하여 선택된 요소들을 식별할 수 있다. 예를 들어, 문맥 분석 모듈(306)은 나열된 아이템의 가격이 선택되었거나 배송 필드가 선택되었다(예를 들어, 무료 배송을 선택)는 것을 결정할 수 있다. 적어도 하나의 실시예에서, 문맥 분석 모듈(306)은 규칙 베이스를 포함하며, 이는 선택된 디스플레이 요소의 식별을 가이드하는 하나 이상의 규칙으로 애플리케이션 개발자에 의해 구성될 수 있다. 예를 들어, 하나의 규칙은, 설명 중에 하나 이상의 단어가 선택되면, 선택된 디스플레이 요소가 키워드라는 규칙를 포함할 수 있다. 다른 규칙은 숫자가 선택되면, 그 숫자 부근의 약자를 식별해서 단위를 식별하는 규칙, 숫자 부근에 통화 단위(예컨대, $)가 있으면, 숫자는 나열된 아이템의 가격이라는 규칙, 또한, 다른 단위(예컨대, 100GB)가 부근에 있으면, 숫자는 나열된 아이템의 속성을 나타낸다는 규칙을 포함할 수 있다.
일부 실시예들에서, 문맥 분석 모듈(306)은 어떤 타입의 필드가 선택된 데이터를 포함하는지에 기초하여 선택된 요소의 타입을 식별할 수 있다. 예를 들어, "무료 배송"이라는 단어가 선택되면, 디스플레이 요소는 웹 페이지의 배송 필드에서 나온 것이라고 결정된다. 대조적으로 선택된 디스플레이 요소가 제목에서 나온 것이라면 이는 키워드이다. 일부 실시예에서, 기본 웹 페이지의 마크 업 언어 또는 태그가 분석되어서 디스플레이 요소의 유형을 결정한다. 예를 들어, 아이템 리스팅을 보여주는 웹 페이지(또는 애플리케이션 페이지)는 태그에 의해 둘러싸인 문맥을 식별하는 기본 태그(예컨대, XML 태그)를 가질 수 있다.
또한, 일부 실시예에서, 의미론적 분석이 수행되어서, 선택된 디스플레이 요소가 그 대응하는 리스팅과 어떻게 관련되는지를 결정할 수 있다. 예를 들어, 단어 "핑크"가 선택되면, 컨텐츠 분석 모듈(306)은 핑크가 컬러의 유형이라고 결정할 수 있지만, 이는 음악 아티스트의 이름일 수도 있다. 이 경우에, 검색 문자열 내의 다른 용어가 참조될 수 있으며, 검색 문자열이 "핑크 신발"이면, 문맥 분석 모듈(306)은 "핑크"가 검색된 아이템인 신발의 속성이라고 결정할 수 있다. 이 경우, 검색 문자열에 의해 검색되거나 요청되는 카테고리가 있는 경우, 이는 추가 문자열을 참조하여 추가 분석을 수행하도록 구성될 수 있다. 예를 들어, 용어 "핑크"가 선택된 디스플레이 요소인 경우, 문맥 분석 모듈(306)은 먼저 "음악"이 검색 카테고리로서 선택되었다는 것을 식별할 수 있고, 이 경우 검색 대상은 음악 아티스트 "핑크"이고 색깔이 아니다.
일부 실시예에 따라서, 문맥 옵션 모듈(308)은 선택된 디스플레이 요소의 식별을 수신하고, 어떤 유형의 디스플레이 요소가 선택되었는지에 기초하여 문맥 옵션을 결정하여 이 옵션을 디스플레이하며, 문맥 인터페이스를 통해 사용자로부터 옵션들 중 하나의 선택을 수신할 수 있다. 문맥 옵션은 질의 또는 검색 문자열을 구체화하기 위해 어떤 액션이 수행될 수 있는지의 옵션이다. 예를 들어 가격이 선택되면, 사용 가능한 옵션은 '낮은 가격 검색'이다(예컨대, 같은 아이템이나 검색 문자열을 검색하지만, 선택한 가격보다 낮은 가격의 결과만을 반환). 마찬가지로, 키워드가 선택되면 옵션은 '첨부 및 재검색'를 포함할 수 있다.
상기 예를 사용하면, 단어 "핑크"가 선택되고 이것이 아이템의 속성(예를 들어, 핑크 신발)인 것이라고 결정되면, 디스플레이를 위해 상관된 옵션은 "핑크 컬러 필터 생성"(예를 들어, 색상 필터가 "핑크 만"이라고 설정된 신발의 결과를 반환)이 될 수 있다. 반면에, 예를 들어, "핑크"가 선택되었고 검색이 "음악" 카테고리 내에 있는 경우, 옵션은 "[최신 앨범] 첨부"를 포함할 수 있으며, 여기서 그 음악 아티스트의 최신 앨범이 첨부될 수 있다. 카테고리가 설정되지 않은 일부 실시예에서, 문맥 옵션은 "음악 카테고리 내의 핑크 검색"을 포함할 수 있으며, 이는 아이템 카테고리를 선택함으로써 결과를 구체화할 수 있어서, 무관한 결과(예컨대, 핑크색 신발)를 배제할 수 있다.
적어도 하나의 실시예에서, 문맥 옵션 모듈(308)은 선택된 디스플레이 요소들의 유형들을 이용 가능한 옵션들에 상관시키는 데이터 저장소를 구비할 수 있다. 또한, 문맥 옵션 모듈(308)은 접촉형 인터페이스 및 인터페이스 모듈(304)을 통해 액션하는 사용자로부터 하나 이상의 디스플레이되는 옵션의 선택을 수신하도록 구성될 수 있다.
문맥 질의 수정 모듈(310)은 문맥 옵션이 선택되는 것에 기초하여 새로운 질의를 수정하거나 생성한다. 예를 들어, 추가 옵션이 선택되면, 문맥 질의 수정 모듈(310)은 검색 문자열의 끝에 첨부된 선택된 키워드로 새로운 검색 문자열을 생성할 수 있다. 또한, 예를 들어, 필터가 생성되면(예를 들어, 핑크 컬러 필터), 필터에 대한 질의 결과를 제한하는 필터 메타데이터를 가진 원래의 검색 문자열을 포함하는 새로운 문맥 수정된 질의가 생성될 수 있다. 문맥 수정된 질의가 생성되면, 문맥 질의 수정 모듈(310)은 더 구체화된 검색 결과에 대해 수정된 질의를 웹 서비스 애플리케이션(124)으로 자동으로 전송하도록(예를 들어, 전송 모듈(300)을 통해) 구성될 수 있다.
상기 모듈들은 각각 개별적인 유닛으로 설명되었지만, 각 모듈의 측면 또는 기능이 하나의 모듈에 결합될 수 있다는 것을 이해할 수 있다. 예를 들어, 적어도 하나의 예시적인 실시예에서, 문맥 분석 모듈(306), 문맥 옵션 모듈(308) 및 문맥 질의 수정 모듈(310)은 하나의 모듈로 통합될 수 있으며, 이는 선택된 디스플레이 요소를 수신하고 문맥 수정된 질의를 출력으로서 생성할 수 있다.
도 4는 일부 실시예에 따라, 문맥 수정된 질의를 처리하는 방법(400)을 나타내는 흐름도이다. 방법(400)은 도 3의 하나 이상의 모듈에 의해 수행될 수 있다. 방법(400)은 하나 이상의 프로세서에 의한 실행을 위한 컴퓨터 판독 가능 명령어로 구현될 수 있어서, 이 방법(400)의 단계는 클라이언트 장치(106)에 의해 부분적으로 또는 전체적으로 수행될 수 있지만, 일부 실시예에서, 방법(400)의 일부 단계는 추가 처리를 위해 클라이언트 장치(106)로부터 애플리케이션 서버(118)로 전송될 수 있다. 예를 들어, 선택된 디스플레이 요소의 문맥 분석 또는 문맥의 식별은 원격 프로세싱을 위해 애플리케이션 서버(118)로 전송될 수 있다. 따라서, 방법(400)은 이를 참조해서 예로서 아래에서 설명된다. 그러나, 방법(400)은 다양한 다른 하드웨어 구성에 배치될 수 있으며, 이는 문맥 질의 수정 애플리케이션(112A)의 기능적 구성 요소들로 한정되는 것을 의도하지는 않았다는 것을 이해할 것이다.
방법(400)에 도시된 동작 이전에, 클라이언트 장치(예컨대, 클라이언트 장치(106))는 검색 문자열을 수신했고, 검색 문자열 결과를 수신했으며, 검색 문자열 결과를 클라이언트 장치(106)의 접촉형 디스플레이 상에 웹 페이지 또는 애플리케이션의 페이지로서 디스플레이했다.
동작(402)에서, 클라이언트 장치(106)는 클라이언트 장치(106)의 접촉형 디스플레이 상에 디스플레이되는 하나 이상의 디스플레이 요소의 포스 간격 선택을 수신한다. 클라이언트 장치(106)는 인터페이스 모듈(304)을 사용해서 화면 탭 선택 또는 포스 간격 선택 등과 같은 일정한 사용자 액션들을 구별할 수 있다. 접촉형 디스플레이는 일부 실시예에서 이동 전화, 태블릿, 랩톱 또는 데스크탑 컴퓨터의 터치 스크린 장치 디스플레이일 수 있다. 클라이언트 장치(106)의 인터페이스 모듈(304)은, 디스플레이 요소의 선택이 예를 들어 탭이 아닌 포스 간격 선택이라는 것을 결정할 수 있다. 전술한 바와 같이, 포스 간격 선택은 선택될 영역을 누르고 일정 기간 동안 유지하는 것과 같은 시간 기반 선택 동작(예를 들어, 길게 누름 선택)이 될 수도 있고, 또는 포스 간격 선택은 아이템을 선택하기 위해 보다 강하게 누르는 것(예를 들어, 일반적인 탭 압력보다 더 강하게 또는 더 큰 압력으로)과 같은 압력 기반 선택 액션이 될 수 있다. 일부 실시예들에서, 포스 간격 선택은 디스플레이 아이템 상에 손가락을 놓은 뒤에 스크린의 보다 강하게 누르는 것이 될 수 있다. 인터페이스 모듈(304)은 첫번째 액션, 탭, 이후에 손가락을 들어 올리지 않고 강하게 누름이 포스 선택 액션이라고 검출할 수 있다.
동작 404에서, 문맥 분석 모듈(306)은 디스플레이 스크린에서 디스플레이 요소가 선택되었던 영역을 식별한다. 예를 들어, 문맥 분석 모듈(306)은, 선택된 디스플레이 아이템이 디스플레이 스크린의 설명 영역, 디스플레이 스크린의 타이틀 영역, 디스플레이 스크린의 이미지 영역, 또는 아이템 또는 거래 설명을 유지하도록 사전 구성된 다른 필드(예컨대, 배송 필드, 세금 필드, 아이템 리스터 사용자 이름 필드, 국가/지리적 거리 필드)의 디스플레이 아이템이었다는 것을 결정할 수 있다. 또한, 일부 실시예들에서, 문맥 분석 모듈(306)은 선택된 디스플레이 요소를 둘러싸는 어떤 기본 마크 업 언어 태그를 식별함으로써 선택된 영역 내의 영역 또는 컨텐츠를 식별할 수 있다. 예를 들어, 가격 요소는 웹 클라이언트(110)에 대해 구성된 마크 업 태그, 예컨대 <price> ... </price>로 둘러싸일 수 있으며, 이는 선택된 디스플레이 요소가 질의 결과 내의 아이템의 가격이라는 것을 결정하는데 사용될 수 있다.
일부 실시예에서, 선택된 디스플레이 요소의 영역 또는 영역 내의 컨텐츠는 마크 업 언어의 태그 파라미터를 통해 결정될 수 있다. 예를 들어 나열된 아이템에 일반 설명 태그(예컨대, <description>)가 사용되는 경우, 예컨대, <description field=price>...</description>와 같이, 태그 파라미터는 일반적인 설명 섹션 내에서 다른 코드 라인의 컨텐츠를 설명할 수 있으며, 여기서 "field"는 "price"의 값을 가진 태그 파라미터이다. 이러한 방식으로, 일반적인 설명 영역 내의 다양한 유형의 디스플레이 요소가 관리되고 추적될 수 있다.
동작 406에서, 문맥 분석 모듈(306)은 식별된 영역 또는 영역 내의 컨텐츠를, 아이템 설명(예를 들어, 모델, 컬러) 또는 거래 설명(예를 들어, 가격, 배송 비용, 원산지)과 상관시킬 수 있다. 일부 실시예에서, 문맥 분석 모듈(306)은 더 심층적으로 처리하기 위해서 어떤 디스플레이 요소가 웹 서비스 애플리케이션(124)에 선택되었는지를 송신함으로써 문맥 식별의 부하를 감소시킬 수 있다. 일반적으로, 선택된 요소에 대한 문맥은 디스플레이 주변의 요소 또는 그 안의 목적에 대응한다. 예를 들어, 배송 및 가격과 같은 필드 파라미터는 거래 문맥에 해당한다. 다른 예로서, 키워드는 아이템 설명의 문맥 또는 아이템의 클래스 속성(예를 들어, 컬러, 모델, 피처 및 기술 사양)에 대응할 수 있다. 다른 예로서, 요소가 선택될 수 있는 영역은 문맥을 결정할 수 있다(예를 들어, 페이지의 <body></body> 영역에서 선택된 아이템은 아이템 설명 문맥에 대응할 수 있다). 다른 예로서, 선택된 오브젝트의 타입은 문맥을 식별하는데 사용될 수 있다(예를 들어, ".png" 접미사를 갖는 요소가 선택되는 경우에, 문맥은 이미지에 대응할 수 있고, 사용자는 이미지 검색을 수행하거나 혹은 유사한 이미지를 찾고자 할 수 있다).
동작 408에서, 문맥 옵션 모듈(308)은 식별된 디스플레이 요소들의 문맥에 기초해서 하나 이상의 문맥 옵션을 결정할 수 있다. 문맥 옵션 모듈(308)은 클라이언트 장치(106)에 로컬한 데이터 저장소의 룩업을 참조함으로써, 문맥마다 어느 문맥 옵션을 이용할 수 있는지를 결정할 수 있다. 예를 들어, "무료 배송"이 선택되면, 동작(406)에서 선택된 용어는 거래 문맥을 갖는 것으로서 식별될 수 있고, 이후에 동작 408에서, 데이터베이스(122)에 액세스함으로써 룩업이 수행되어서, 이용 가능한 문맥 옵션이, 동일한 주제에 대한 새로운 검색을 생성하지만 필드 파라미터 필터를 포함하는지를 결정해서, "무료 배송"을 갖는 결과만 리턴된다.
일부 실시예에서, 문맥 옵션 모듈(308)은 심층 분석을 위해 원격 서비스를 사용하여 어떤 문맥 옵션이 이용 가능한지 결정할 수 있다. 예를 들어, 일단 디스플레이 요소의 선택이 수신되면, 문맥 옵션 모듈(308)은 추가적인 처리를 위해 웹 서비스 애플리케이션(124)에 디스플레이 요소의 선택을 전송할 수 있다. 웹 서비스 애플리케이션(124)은 클라이언트 장치(106)보다 더 강력한(robust) 컴퓨터(예를 들어, 더 많은 연산 능력, 더 많은 메모리, 더 많은 분석 프로그램)인 애플리케이션 서버(118)으로부터 실행된다. 또한, 애플리케이션 서버(118)는 데이터베이스(122) 및/또는 다른 서비스(예를 들어, 제3자 서버(108))와 협의하여 문맥 및 문맥 옵션을 보다 철저하게 결정할 수 있다.
동작 410에서, 문맥 옵션 모듈(308)은 클라이언트 장치(106)의 접촉형 디스플레이 상에 이용 가능한 옵션의 디스플레이를 생성할 수 있다. 일부 실시예에서, 문맥 옵션 모듈(308)은 웹 클라이언트(110) 내에서 완전하게 실행되는 인터페이스 소자를 사용해서 문맥 옵션을 디스플레이할 수 있다. 예를 들어, 문맥 옵션은 클라이언트 장치 운영 체제에 대한 어떠한 콜도 요구하지 않고, 웹 클라이언트(110) 내에서 생성된 링크된 텍스트 또는 팝업 메뉴로서 디스플레이될 수 있다. 일부 실시예에서, 문맥 옵션은, 클라이언트 장치 운영 체제를 콜해서 클라이언트 장치(106)의 운영 체제에 의해 다양한 애플리케이션에 걸쳐서 유사한 방식으로 실행되는 네이티브 메뉴를 생성함으로써, 디스플레이될 수 있다. 네이티브 메뉴는 운영 체제에 의해 구성되는 룩 앤드 필(look-and-feel)을 갖고 있어서, 문맥 질의 수정 애플리케이션(112A)과의 사용자 인터렉션을 익숙하고 일관되게 유지할 수 있다.
동작 412에서, 클라이언트 장치(106)는 클라이언트 장치(106)의 접촉 인터페이스를 통해 디스플레이되는 문맥 옵션의 선택을 수신한다. 동작 412 이후에, 방법(400)은 종료되고, 어떤 문맥 옵션이 선택되었는지와 같은 값을 문맥 질의 수정 모듈(310)에 전송하며, 이는 도 2b의 동작 220~230에 의해 설명되는 추가 동작을 수행할 수 있다.
도 5a~도 5c는 일부 실시예에 따라, 클라이언트 장치(500) 및 질의의 문맥 수정을 위한 사용자 인터페이스를 도시한다. 클라이언트 장치(500)는 도 1의 클라이언트 장치(106)에 대응할 수 있다. 일 실시예에서, 클라이언트 장치(500)는 도 1의 모듈을 포함하고, 이 모듈은 클라이언트 장치(500)의 비일시적인 메모리에 저장되어서 이로부터 실행될 수 있다. 모듈은 클라이언트 장치(500)의 하나 이상의 프로세서에 의해 실행되어 전술한 바와 같은, 본 명세서에 개시된 방법, 동작 및 상호 작용을 수행할 수 있다.
도 5a는 사용자 인터페이스를 디스플레이하는 접촉형 디스플레이 인터페이스(502)를 갖는 모바일 컴퓨터 또는 셀룰러 폰으로서 구현되는 클라이언트 장치(106)의 예를 도시한다. 접촉형 디스플레이 인터페이스(502)는 터치 스크린 디스플레이로서 구현될 수 있으며, 여기서 클라이언트 장치(106)의 사용자는 접촉형 디스플레이 인터페이스(502)와의 직접 접촉을 통해 스크린 상에 디스플레이되는 요소를 선택할 수 있다. 적어도 하나의 실시예에서, 접촉형 디스플레이 인터페이스(502)는 인터페이스 모듈(304)과 같은 인터페이스 모듈과 인터페이스하여, 탭 클릭, 더블 클릭 및 포스 간격 선택을 구별한다. 일부 실시예에서, 클라이언트 장치(106)의 운영 체제는 어떤 종류의 사용자 인터렉션이 수신되는지(예를 들어, 탭 클릭, 더블 클릭 및 포스 간격 선택)를 관리하는 인터페이스 모듈(304)(예컨대, 클라이언트 장치(106)의 비일시적 메모리로부터 실행 가능함)을 포함한다. 예를 들어, 운영 체제 인터페이스 모듈은 포스 클릭 선택을 식별하고 포스 간격 선택 데이터를 추가 처리를 위해 클라이언트 장치(106)에서 실행중인 애플리케이션에 전송할 수 있다.
일부 실시예에서, 선택하는 사용자에게 포스 간격 선택이 트리거되었다는 것을 통지하는 피드백이 접촉형 디스플레이 인터페이스(502)에 제공된다. 예를 들어, 사용자는 디스플레이 요소를 500 밀리 초 동안 길게 누를 수 있으며, 이후에, 햅틱 피드백(예컨대, 진동)이 접촉형 디스플레이 인터페이스(502)를 통해 사용자에게 제공되어 사용자는 자신이 포스 터치 액션으로 디스플레이 요소를 선택했다는 것을 알 수 있다. 클라이언트 장치(106)는 기계적 또는 전자 기계적 버튼(514a~e)과 같은 하나 이상의 트랜스듀서를 포함한다. 설명된 바와 같이, 적어도 하나의 실시예에서, 사용자는 문맥 질의 수정 공정을 트리거하기 위해 포스 간격 선택 대신에 대체 클릭을 수행할 수 있다. 예를 들어, 사용자는 접촉형 디스플레이 인터페이스(502)의 디스플레이 요소를 태핑하면서 홈 버튼(514e)을 길게 눌러서 탭핑된 디스플레이 요소에 대한 문맥 질의 수정을 트리거할 수 있다.
접촉형 디스플레이 인터페이스(502) 내에 디스플레이되는 사용자 인터페이스는, 상태 바(503)와 같은 클라이언트 장치(106)의 운영 체제에 의해 생성된 요소를 디스플레이할 수 있다. 또한, 사용자 인터페이스는 클라이언트 장치(106)에 의해 실행되는 애플리케이션에 의해 생성되는 요소도 디스플레이할 수 있다. 예를 들어, 도시된 바와 같이, 아이템 리스팅 애플리케이션(505)에 대한 디스플레이 요소는 디스플레이 인터페이스(502)의 메인 영역에 디스플레이될 수 있다. 아이템 리스팅 애플리케이션(505)은 도 1의 웹 클라이언트(110)에 대응할 수 있고, 도 3의 모듈들 중 하나 이상을 구현할 수 있다.
도 5a에 도시된 바와 같이, 아이템 리스팅 애플리케이션(505)의 디스플레이 요소는, 사용자가 팝업 온 스크린 키보드(도시 생략)를 사용하여 입력 한 "gibson"의 검색 문자열을 가진 검색 영역(504)을 포함한다. 클라이언트 장치(500)는 검색 문자열 "gibson"을 수신하고, 검색 문자열 "gibson"과 매칭되는 아이템 리스팅에 대해, 애플리케이션 서버(118) 및 웹 서비스 애플리케이션(124)으로부터 결과를 취득할 수 있다. 도 5a는 디스플레이 요소(506a~d)로서 리턴된 예시적인 결과를 나타내며, 이는 예를 들어 컬러, 문자열 번호와 같은 아이템의 속성(508)을 나타내는 디스플레이 요소뿐만 아니라, 가격(510) 및 배송(512)과 같은 거래 파라미터를 설명하는 디스플레이 요소와 함께 다수의 깁슨 기타를 나타낸다.
도 5b는 일부 실시예에 따른, 사용자가 클라이언트 장치(500)와 인터렉션해서 문맥 질의 수정을 수행하는 것을 도시한다. 도시된 바와 같이, 사용자는 자신의 엄지(516)를 사용하여 아이템 디스플레이 요소(506a)의 설명 영역에서 "custom"과 같은 디스플레이 요소를 선택할 수 있다. 일부 실시예에서는, 액션 원(507)로 표시된 바와 같이, 사용자는 자신의 엄지(516)를 사용하여 용어 "custom"의 포스 간격 선택을 수행한다. 다음으로, 인터페이스 모듈(304) 또는 네이티브 인터페이스 모듈과 같은 인터페이스 모듈은, 전술한 바와 같이, 용어 "custom"의 포스 간격 선택을 검출하고, 문맥을 결정하며, 문맥 옵션을 식별한다.
문맥 옵션은 메뉴(520)에 디스플레이될 수 있으며, 이는 제 1 문맥 옵션(522)으로서 "Append Custom to Search"를, 그리고 제 2 문맥 옵션(524)으로서 "Remove Custom from Results"를 디스플레이한다. 문맥 첨부 옵션은 선택된 디스플레이 요소 용어를 새로운 검색을 위해 검색 문자열의 끝 부분에 첨부한다. 문맥 제거 옵션은 선택한 단어를 포함하는 모든 결과를 제거하는 네거티브 필터를 만들 수 있다. 또한, 도시된 바와 같이, 메뉴(520)는 "취소" 옵션(526)을 포함하며, 이는 메뉴(520)를 제거하고 문맥 질의 수정 프로세스를 종료시키는 것이다.
메뉴(520)는 클라이언트 장치(500)의 운영 체제에 의해 생성된 네이티브 메뉴로서 생성될 수 있다. 예를 들어, 아이템 리스팅 어플리케이션(505)은 어느 디스플레이 요소가 포스 간격으로 선택되었는지에 대한 입력을 수신하고, 문맥을 결정하며, 문맥 옵션을 결정한 후에, 이 문맥 옵션을 네이티브 메뉴를 통해 운영 체제로 전달해서 디스플레이하게 한다. 또한, 일부 실시예에서, 메뉴(520)는 아이템 리스팅 애플리케이션(505) 내의 하나 이상의 디스플레이 요소로서 생성될 수 있다. 예를 들어, 메뉴(520)는 아이템 리스팅 애플리케이션(505) 내에서 생성된 새로운 층으로, 결과 및 기본 컨텐츠(예컨대, 검색 결과) 상에 새로운 계층으로서 위에 배치될 수 있다.
일부 실시예에서, 메뉴(520)는 선택된 디스플레이 요소로부터 또는 주위에서 발산되는 팝업(pop-up)으로서 생성될 수 있다. 예를 들어, 메뉴(520)는 동작 서클(507) 부근의 팝업 메뉴로서 생성될 수 있다. 이러한 방식으로, "custom" 선택이 방금 발생했기 때문에 사용자는 자신의 엄지(516)가 액션 서클(507) 주위의 영역에 있을 것이기 때문에 사용자는 자신의 엄지(516)를 메뉴(520)에 더 용이하게 액세스할 수 있다.
일부 실시예에서, 메뉴(520)는 상부 배치되어서 디스플레이되는 대신 하나 이상의 통합된 디스플레이 요소(예를 들어, 아래 배치된 컨텐츠의 html 객체)로서 디스플레이될 수 있다. 이들 실시예에서, 아이템 리스팅 애플리케이션(505)에 의해 새로운 페이지가 생성될 수 있으며, 이는 동일한 페이지 내의 제 1 문맥 옵션(522) 및 제 2 문맥 옵션(524)과 함께 디스플레이 요소(506a-d)를 포함한다. 결과 페이지는 높이가 더 길어질 수 있지만, 모든 디스플레이 요소(506a~d)를 보도록 스크롤가능할 수도 있고 또는 탐색 가능할 수도 있다.
사용자가 제 1 문맥 옵션(522) "Append Custom to Search"을 선택했다고 하면, 아이템 리스팅 애플리케이션(505)은 "gibson"에 용어 "custom"를 첨부해서, 문맥 수정된 질의 "gibson custom"를 생성할 수 있다. 이어서, 문맥 수정된 질의 "gibson custom"은 웹 서비스 애플리케이션(124)에 전송되어 데이터베이스(122)로부터 결과를 취득할 수 있다.
도 5c는 문맥 수정된 질의 "gibson custom"에 대한 예시적인 아이템 결과들(538a~d)을 나타낸다. 도시된 바와 같이, 아이템 결과들(538a~d)은 각각의 설명에 "gibson"및 "custom"을 갖는 아이템 결과만을 포함하도록 구체화되어 있으며, 즉 아이템 결과(538a~d)는 custom Gibson 기타에 대한 결과를 도시한다. 그 결과를 더 구체화하기 위해서, 추가 예로서, 사용자는 가격 디스플레이 요소(542)와 같은 다른 디스플레이 요소를 선택하여(예를 들어, 포스 간격 선택), $2600 달러보다 높거나 또는 $2600보다 낮은 결과만을 포함하는 새로운 문맥 수정된 질의를 생성할 수 있다. 이러한 방식으로, 접촉형 디스플레이 인터페이스(502) 상의 임의의 위치로부터 디스플레이 요소를 선택함으로써, 사용자는 검색된 아이템의 검색 결과를 보다 효율적으로 구체화할 수 있다.
도 6은 일부 실시예에 따른, 상이한 디스플레이 요소가 선택되고 상이한 문맥 옵션이 디스플레이되는 예를 도시한다. 도 6에 도시된 바와 같이, 사용자는 액션 원(602)에 의해 강조 표시된 바와 같이, 자신의 엄지(516)를 사용하여 디스플레이 요소 "yellow"를 포스 간격 선택한다. 이 선택에 응답하여, 제 1 문맥 옵션(606)으로서 "Append Yellow to Search"를, 제 2 문맥 옵션(608)으로서 "Remove Yellow from Results"를, 제 3 문맥 옵션(610)으로서 "Create Filter for Color: Yellow"를 표시하는 메뉴(604)가 생성된다. ;
도 6에 도시된 바와 같이, 아이템 리스팅 애플리케이션(505)은 전술한 방식을 사용해서 추가적인 문맥 옵션을 식별하고 제공할 수 있다. 특히, 도 5a 내지 도 5c를 참조하면, "custom"이라는 용어는 첨부 가능한 용어로서 식별될 수 있지만 또한 어떠한 카테고리 필터와도 연관되지 않은 것으로 식별될 수 있다. 이와 같이, 제 1 문맥 옵션(522) 및 제 2 문맥 옵션(524)만이 디스플레이되며, 어느 것도 카테고리 필터가 아니다.
이와 달리, 도 6에 도시된 바와 같이, 선택된 요소 yellow가 반환된 아이템 클래스의 속성(예를 들어, 클래스 속성)이기 때문에, "yellow"이라는 용어는 카테고리 필터에 첨부 가능하고 연관 가능한 것으로 식별될 수 있다. 따라서, 도 6에 도시된 바와 같이, 제 3 문맥 옵션(610)이 디스플레이된다. 제 3 문맥 옵션(610)이 사용자에 의해 선택되면, 최초 검색 문자열 "gibson"은 필터 메타 데이터로 수정되어, 새로운 질의 결과를 위해 애플리케이션 서버(118)에 저장되거나 전송된다. 반환되는 결과는, "gibson"과 매칭되면서 색상은 노란색인 아이템이 될 수 있다.
이와 같이, 검색 결과를 개선 또는 구체화하기 위해 질의의 문맥을 수정하기 위한 방식을 개시했다. 사용자는 모바일 컴퓨팅 장치의 스크린 상에 디스플레이되는 하나 이상의 디스플레이 요소들을 포스 간격 선택할 수 있다. 선택된 디스플레이 요소는 분석되어서 그들의 문맥을 결정할 수 있다. 하나 이상의 문맥 옵션이 사용자 선택을 위해 화면 상에 디스플레이될 수 있다. 선택된 문맥 옵션은 모바일 컴퓨팅 장치로 하여금 최초의 질의를 수정하여 문맥 수정된 질의를 생성하게 할 수 있다. 문맥 수정된 질의는 구체화된 검색 결과를 취득하는 데 사용할 수 있다. 이런 식으로 사용자는 다수의 메뉴 및 키보드를 계속 사용하지 않고도 검색 문자열이나 질의를 수동으로 수정한다.
머신 아키텍처
도 7은 머신 판독가능 매체(예를 들어, 머신 판독가능 저장 매체)로부터 명령어를 판독하고 여기에서 설명된 임의의 하나 이상의 방법을 수행할 수 있는, 일부 예시적 실시예에 따른 머신(700)의 컴포넌트를 도시하는 블록도이다. 구체적으로, 도 7은 머신(700)으로 하여금 여기에 설명된 방법들 중 임의의 하나 이상의 방법을 수행하게 하는 명령어(716)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱 또는 다른 실행 가능한 코드)가 실행될 수 있는 컴퓨터 시스템의 예시적 형태의 머신(700)의 개략도를 도시한다. 예를 들어, 명령어(716)는 머신(700)으로 하여금 본 명세서에 개시된 문맥 질의 수정 애플리케이션(112A) 및 관련 기능을 수행하도록 하는 실행 가능한 코드를 포함한다. 이러한 명령어(716)는 일반적이고 프로그램되지 않은 머신(700)을, 문맥 질의 수정 애플리케이션(112A)의 설명되고 도시된 기능을 본 명세서에 개시된 방식으로 수행하도록 프로그램된 특정 머신(700)으로 변환시킨다. 머신(700)은 독립형 디바이스로서 동작할 수 있거나 다른 머신에 결합(예를 들어, 네트워크화)될 수 있다. 네트워크화된 구성에서, 머신(700)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 역할로 동작할 수 있거나, 피어 투 피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작 할 수 있다. 비 한정적인 예로서, 머신(700)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(PC), 태블릿 컴퓨터, 랩탑 컴퓨터, 넷북, 셋톱 박스(STB), PDA, 엔터테인먼트 미디어 시스템, 셀룰러 전화, 스마트 폰, 모바일 디바이스, 웨어러블 디바이스(예를 들어, 스마트 워치), 스마트 홈 장치(예를 들어, 스마트 가전), 기타 스마트 디바이스, 웹 가전, 네트워크 라우터, 네트워크 스위치, 네트워크 브릿지, 또는 머신(700)에 의해 취해질 동작을 지정하는 명령어(716)를 순차적으로 또는 다른 방식으로 실행할 수 있는 임의의 머신일 수 있다. 또한, 머신(700)이 도시되어 있지만, "머신"이라는 용어는 여기에서 설명된 방법 중 임의의 하나 이상의 방법을 수행하기 위해 개별적으로 또는 공동으로 명령어(716)를 실행하는 머신들(700)의 집합을 포함하는 것으로 간주되어야 한다.
머신(700)은, 예를 들어 버스(702)를 통해 서로 통신하도록 구성될 수 있는 프로세서(710), 메모리/스토리지(730), 입력 및 출력(I/O) 컴포넌트(750)를 포함할 수 있다. 예시적 실시예에서, 프로세서(710)(예를 들어, CPU(Central Processing Unit), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), RFIC(Radio-Frequency Integrated Circuit), 다른 프로세서, 또는 이들의 임의의 적절한 조합)은, 예를 들어, 명령어(716)를 실행할 수 있는 프로세서(712) 및 프로세서(714)를 포함할 수 있다. "프로세서"라는 용어는 명령어를 동시에 실행할 수 있는 2개 이상의 독립적 프로세서("코어"라고도 함)를 포함할 수 있는 멀티 코어 프로세서를 포함하도록 의도된다. 도 7은 다수의 프로세서를 도시하지만, 머신(700)은 단일 코어를 갖는 단일 프로세서, 다중 코어(예를 들어, 멀티 코어 프로세서)를 갖는 단일 프로세서, 단일 코어를 갖는 다중 프로세서, 다중 코어를 갖는 다중 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리/스토리지(730)는 메인 메모리 또는 기타 메모리 스토리지와 같은 메모리(732) 및 스토리지 유닛(736)을 포함할 수 있는데, 이들은 모두 예를 들어 버스(702)를 통해 프로세서(710)에 액세스 가능하다. 스토리지 유닛(736) 및 메모리(732)는 본 명세서에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어(716)를 저장한다. 명령어(716)는 또한 머신(700)에 의해 실행되는 동안, 메모리(732) 내에, 스토리지 유닛(736) 내에, 프로세서(710) 중 적어도 하나(예를 들어, 프로세서의 캐시 메모리) 내에, 또는 이들의 임의의 적절한 조합 내에, 전체적으로 또는 부분적으로 상주할 수 있다. 따라서, 메모리(732), 스토리지 유닛(736) 및 프로세서(710)의 메모리는 머신 판독가능 저장 매체의 예이다.
여기서 사용된 것과 같이, "머신 판독가능 저장 매체"는 명령어 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 디바이스를 의미하며, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 유형의 스토리지(예를 들어, 삭제 가능한 프로그램 가능 판독 전용 메모리(EEPROM)) 및/또는 이들의 임의의 적절한 조합을 포함할 수 있지만, 이에 한정되지 않는다. "머신 판독가능 저장 매체"라는 용어는 또한, 명령어(716)를 저장할 수 있는 단일 매체 또는 다중 매체(예를 들어, 중앙 집중식 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. "머신 판독가능 저장 매체"라는 용어는 또한, 명령어가 머신(700)의 하나 이상의 프로세서(예를 들어, 프로세서(710))에 의해 실행될 때 머신(700)으로 하여금 여기에서 설명된 방법 중 임의의 하나 이상을 수행하게 하도록, 머신(예를 들어, 머신(700))에 의한 실행을 위한 명령어를 저장할 수 있는 임의의 매체 또는 다중 매체의 조합을 포함하는 것으로 간주되어야 한다. 따라서 "머신 판독가능 저장 매체"는 단일 스토리지 장치 또는 디바이스뿐만 아니라 복수의 스토리지 장치 또는 디바이스를 포함하는 "클라우드 기반" 스토리지 시스템 또는 스토리지 네트워크를 지칭한다.
I/O 컴포넌트(750)는 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 전송하고, 정보를 교환하고, 측정을 캡처하는 등을 수행하는 다양한 컴포넌트를 포함할 수 있다. 특정 머신에 포함되는 특정 I/O 컴포넌트(750)는 머신의 유형에 의존할 것이다. 예를 들어, 휴대 전화와 같은 휴대용 머신은 터치 입력 디바이스 또는 그러한 다른 입력 메커니즘을 포함할 수 있지만, 헤드리스 서버 시스템은 그러한 터치 입력 디바이스를 포함하지 않을 것이다. I/O 컴포넌트(750)는 도 7에 도시되지 않은 많은 다른 컴포넌트를 포함할 수 있음이 이해되어야 한다. I/O 컴포넌트(750)는 단지 다음의 설명을 단순화하기 위해 기능성에 따라 그룹화되며, 그룹화는 결코 한정적인 것이 아니다. 다양한 예시적 실시예에서, I/O 컴포넌트(750)는 출력 컴포넌트(752)와 입력 컴포넌트(754)를 포함할 수 있다. 출력 컴포넌트(752)는 비주얼 컴포넌트(예를 들어, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터 또는 음극선관(CRT)), 음향 컴포넌트(예를 들어, 스피커), 햅틱 컴포넌트(예를 들어, 진동 모터, 저항 메커니즘), 기타 신호 발생기 등을 포함할 수 있다. 입력 컴포넌트(754)는 영숫자 입력 컴포넌트(예를 들어, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 포토-옵티컬 키보드 또는 다른 영숫자 입력 컴포넌트), 포인트 기반 입력 컴포넌트(예를 들어, 마우스, 터치 패드, 트랙볼, 조이스틱, 움직임 센서, 또는 기타 포인팅 기구), 촉각 입력 컴포넌트(예를 들어, 물리적 버튼, 터치 또는 터치 제스처의 위치 및/또는 포스를 제공하는 터치 스크린 또는 기타 촉각 입력 컴포넌트), 오디오 입력 컴포넌트(예를 들어, 마이크로폰) 등을 포함할 수 있다.
또 다른 예시적 실시예에서, I/O 컴포넌트(750)는 다수의 다른 컴포넌트 중에서 생체 측정 컴포넌트(756), 움직임 컴포넌트(758), 환경 컴포넌트(760) 또는 포지션 컴포넌트(762)를 포함할 수 있다. 예를 들어, 생체 측정 컴포넌트(756)는, 표현(예를 들어, 손 표현, 표정, 음성 표현, 몸짓 또는 눈 추적)을 검출하고, 생체 신호(예를 들어, 혈압, 심박수, 체온, 땀 또는 뇌파)를 측정하고, 사람을 식별(예를 들어, 음성 식별, 망막 식별, 안면 식별, 지문 식별 또는 뇌파 기반 식별)하는 등을 수행하는 컴포넌트를 포함할 수 있다. 움직임 컴포넌트(758)는 가속도 센서 컴포넌트(예를 들어, 가속도계), 중력 센서 컴포넌트, 회전 센서 컴포넌트(예를 들어, 자이로스코프) 등을 포함할 수 있다. 환경 컴포넌트(760)는 예를 들어, 조명 센서 컴포넌트(예를 들어, 광도계), 온도 센서 컴포넌트(예를 들어, 주변 온도를 검출하는 하나 이상의 온도계), 음향 센서 컴포넌트(예를 들어, 배경 잡음을 검출하는 하나 이상의 마이크로폰) 또는 주변 물리적 환경에 대응하는 표시, 측정 또는 신호를 제공할 수 있는 기타 컴포넌트를 포함할 수 있다. 포지션 컴포넌트(762)는 위치 센서 컴포넌트(예를 들어, GPS 수신기 컴포넌트), 고도 센서 컴포넌트(예를 들어, 고도가 도출될 수 있는 기압을 검출하는 고도계 또는 기압계), 방위 센서 컴포넌트(예를 들어, 자력계) 등을 포함할 수 있다.
통신은 다양한 기술을 사용하여 구현될 수 있다. I/O 컴포넌트(750)는 머신(700)을 커플링(782) 및 커플링(772)을 통해 각각 네트워크(780) 또는 디바이스(770)에 결합시키도록 동작 가능한 통신 컴포넌트(764)를 포함할 수 있다. 예를 들어, 통신 컴포넌트(764)는 네트워크(780)와 인터페이스하는 네트워크 인터페이스 컴포넌트 또는 기타 적절한 디바이스를 포함할 수 있다. 추가 예에서, 통신 컴포넌트(764)는 유선 통신 컴포넌트, 무선 통신 컴포넌트, 셀룰러 통신 컴포넌트, 근거리 통신(Near Field Communication: NFC) 컴포넌트, 블루투스(Bluetooth)® 컴포넌트(예를 들어, Bluetooth® Low Energy), Wi-Fi® 컴포넌트 및 다른 형태를 통해 통신을 제공하는 기타 통신 컴포넌트를 포함할 수 있다. 디바이스(770)는 다른 머신 또는 임의의 다양한 주변 디바이스(예를 들어, USB(Universal Serial Bus)를 통해 결합된 주변 디바이스) 중 임의의 것일 수 있다.
또한, 통신 컴포넌트(764)는 식별자를 검출할 수 있거나 식별자를 검출하도록 동작할 수 있는 컴포넌트를 포함할 수 있다. 예를 들어, 통신 컴포넌트(764)는 무선 주파수 식별(RFID) 태그 판독기 컴포넌트, NFC 스마트 태그 검출 컴포넌트, 광학 판독기 컴포넌트(예를 들어, 범용 제품 코드(UPC) 바코드와 같은 1차원 바코드, QR(Quick Response) 코드, 아즈텍(Aztec) 코드, 데이터 매트릭스, 데이터글리프(Dataglyph), 맥시코드(MaxiCode), PDF417, 울트라(Ultra) 코드, UCC RSS-2D 바코드와 같은 다차원 바코드 및 기타 광학 코드를 검출하는 광학 센서) 또는 음향 검출 컴포넌트(예를 들어, 태깅된 오디오 신호를 식별하는 마이크로폰)를 포함할 수 있다. 또한, 인터넷 프로토콜(IP) 지오로케이션(geo-location)을 통한 위치, Wi-Fi® 신호 삼각 측량을 통한 위치, 특정 위치를 표시할 수 있는 NFC 비콘 신호의 검출을 통한 위치 등과 같은 다양한 정보가 통신 컴포넌트(764)를 통해 도출될 수 있다.
전송 매체
다양한 예시적 실시예에서, 네트워크(780)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN(local area network), WLAN(wireless LAN), WAN(wide area network), WWAN(wireless WAN), MAN(metropolitan area network), 인터넷, 인터넷의 일부, PSTN(Public Switched Telephone Network)의 일부, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 다른 유형의 네트워크, 또는 2개 이상의 이러한 네트워크의 조합일 수 있다. 예를 들어, 네트워크(780) 또는 네트워크(780)의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 커플링(782)은 CDMA(Code Division Multiple Access) 접속, GSM(Global System for Mobile communications) 접속, 또는 다른 유형의 셀룰러 또는 무선 커플링을 포함할 수 있다. 이 예에서, 커플링(782)은, 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G를 포함하는 3GPP(third Generation Partnership Project), 4세대 무선(4G) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준 설정 기관에 의해 정의된 다른 것, 다른 장거리 프로토콜, 또는 다른 데이터 전송 기술과 같은 다양한 유형의 데이터 전송 기술 중 임의의 것으로 구현될 수 있다.
명령어(716)는, 네트워크 인터페이스 디바이스(예를 들어, 통신 컴포넌트(764)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 전송 매체를 사용하고 다수의 공지된 전송 프로토콜(예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)) 중 임의의 하나를 이용하여 네트워크(780)를 통해 송신되거나 수신될 수 있다. 유사하게, 명령어(716)는 디바이스(770)에 대한 커플링(772)(예컨대, 피어 투 피어 커플링)을 통해 전송 매체를 사용하여 송신되거나 수신될 수 있다. "전송 매체"라는 용어는 머신(700)에 의한 실행을 위한 명령어(716)를 저장, 인코딩 또는 운반할 수 있는 임의의 무형의 매체를 포함하는 것으로 간주되어야 하며, 디지털 또는 아날로그 통신 신호 또는 이러한 소프트웨어의 통신을 가능하게 하는 기타 무형의 매체를 포함한다. 전송 매체 및 머신 판독가능 저장 매체는 머신 판독가능 매체의 일 실시예이다.
이하에 열거되는 예는 실시예이다.
1. 애플리케이션 질의를 수정하는 컴퓨터 구현된 방법으로서,
접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하는 단계와,
접촉형 디스플레이 인터페이스를 통해서, 초기 질의 결과의 디스플레이 요소에 대한 포스 간격 선택을 수신하는 단계와,
디스플레이 요소의 문맥을 결정하는 단계와,
디스플레이 요소의 문맥에 적어도 부분적으로 기초해서 초기 질의를 수정해서 수정된 질의를 생성하는 단계와,
접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신하는 단계를 포함한다.
2. 예 1의 컴퓨터 구현된 방법으로서,
문맥에 기초하여 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하는 단계와,
접촉형 디스플레이 인터페이스를 통해서 하나 이상의 옵션의 선택을 수신하는 단계를 더 포함한다.
3. 예 2의 컴퓨터 구현된 방법으로서, 초기 질의 결과는 선택에 기초하여 수정된다.
4. 예 1 내지 예 3 중 어느 하나의 컴퓨터 구현된 방법으로서, 문맥은, 초기 질의 결과 내의 아이템에 대한 설명 영역으로부터의 키워드를 포함하는 선택된 디스플레이 요소에 기초하여 결정된다.
5. 예 1 내지 예 4 중 어느 하나의 컴퓨터 구현된 방법으로서, 문맥은, 접촉형 디스플레이 인터페이스 내의 선택된 디스플레이 요소의 위치에 기초하여 결정되고, 선택된 디스플레이 요소의 위치는, 문맥을 나타내는 필드 파라미터 또는 태그에 대응한다.
6. 예 1 내지 예 5 중 어느 하나의 컴퓨터 구현된 방법으로서, 문맥은, 선택된 디스플레이 요소의 클래스 속성에 기초하여 결정된다.
7. 예 1 내지 예 6 중 어느 하나의 컴퓨터 구현된 방법으로서, 포스 간격 선택은, 디스플레이 요소를 선택할 때, 접촉형 디스플레이 인터페이스와 접촉하는 시간량에 기초한 선택 액션이다.
8. 예 1 내지 예 7 중 어느 하나의 컴퓨터 구현된 방법으로서, 포스 간격 선택은, 디스플레이 요소를 선택할 때, 접촉형 디스플레이 인터페이스에 인가되는 압력의 양에 기초한 선택 액션이다.
9. 예 1 내지 예 8 중 어느 하나의 컴퓨터 구현된 방법으로서, 접촉형 디스플레이 인터페이스는 모바일 장치의 터치 스크린 디스플레이이고, 초기 질의 결과 및 수정된 질의 결과는 네트워크를 통해 서버로부터 수신된다.
10. 애플리케이션 질의를 수정하기 위한 시스템으로서,
머신의 하나 이상의 프로세서와,
명령어가 저장된 메모리
를 포함하며,
명령어는, 하나 이상의 프로세서에 의해 실행될 때, 머신으로 하여금,
접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하게 하고,
접촉형 디스플레이 인터페이스를 통해서, 초기 질의 결과의 디스플레이 요소에 대한 포스 간격 선택을 수신하게 하며,
디스플레이 요소의 문맥을 결정하게 하고,
디스플레이 요소의 문맥에 적어도 부분적으로 기초해서 초기 질의를 수정해서 수정된 질의를 생성하게 하며,
접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신하게 한다.
11. 예 10의 시스템으로서, 명령어는, 머신으로 하여금 또한,
문맥에 기초하여 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하게 하고,
접촉형 디스플레이 인터페이스를 통해서 하나 이상의 옵션의 선택을 수신하게 한다.
12. 예 11의 시스템으로서, 초기 질의 결과는 선택에 기초하여 수정된다.
13. 예 10의 시스템으로서, 문맥은, 초기 질의 결과 내의 아이템에 대한 설명 영역으로부터의 키워드를 포함하는 선택된 디스플레이 요소에 기초하여 결정된다.
14. 예 10 내지 예 13 중 어느 하나의 시스템으로서, 문맥은, 접촉형 디스플레이 인터페이스 내의 선택된 디스플레이 요소의 위치에 기초하여 결정되고, 선택된 디스플레이 요소의 위치는, 문맥을 나타내는 필드 파라미터 또는 태그에 대응한다.
15. 예 10 내지 예 14 중 어느 하나의 시스템으로서, 문맥은, 선택된 디스플레이 요소의 클래스 속성에 기초하여 결정된다.
16. 예 10 내지 예 15 중 어느 하나의 시스템으로서, 포스 간격 선택은, 디스플레이 요소를 선택할 때, 접촉형 디스플레이 인터페이스와 접촉하는 시간량에 기초한 선택 액션이다.
17. 예 10 내지 예 16 중 어느 하나의 시스템으로서, 포스 간격 선택은, 디스플레이 요소를 선택할 때, 접촉형 디스플레이 인터페이스에 인가되는 압력의 양에 기초한 선택 액션이다.
18. 예 10 내지 예 17 중 어느 하나의 시스템으로서, 접촉형 디스플레이 인터페이스는 모바일 장치의 터치 스크린 디스플레이이고, 초기 질의 결과 및 수정된 질의 결과는 네트워크를 통해 서버로부터 수신된다.
19. 머신에 의해 실행될 때, 머신으로 하여금 동작을 수행하게 하는 명령어가 포함된 머신-판독 가능 저장 매체로서, 동작은,
접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하는 것과,
접촉형 디스플레이 인터페이스를 통해서, 초기 질의 결과의 디스플레이 요소에 대한 포스 간격 선택을 수신하는 것과,
디스플레이 요소의 문맥을 결정하는 것과,
디스플레이 요소의 문맥에 적어도 부분적으로 기초해서 초기 질의를 수정해서 수정된 질의를 생성하는 것과,
접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신하는 것을 포함한다.
20. 예 19의 머신-판독 가능 저장 매체로서, 동작은,
문맥에 기초하여 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하는 것과,
접촉형 디스플레이 인터페이스를 통해서 하나 이상의 옵션의 선택을 수신하는 것과,
하나 이상의 옵션의 선택에 기초하여 초기 질의를 수정함으로써 수정된 질의 결과를 생성하는 것을 더 포함한다.
21. 머신에 의해 실행될 때, 머신으로 하여금 예 1 내지 예 9 중 어느 하나에 개시된 방법을 실행하게 하는 명령어를 전달하는 머신-판독 가능 매체.
모듈, 컴포넌트 및 로직
특정 실시예는 본 명세서에서 로직 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 머신 판독가능 매체 상에 또는 전송 신호 내에 구현된 코드) 또는 하드웨어 모듈 중 어느 하나를 구성할 수 있다. 하드웨어 모듈은 특정 동작을 수행할 수 있는 유형의 단위이며, 특정 방식으로 구성 또는 배열될 수 있다. 예시적 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은, 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 여기에서 설명된 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 구현될 수 있다.
다양한 실시예에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 (예를 들어, FPGA(field-programmable gate array) 또는 ASIC와 같은 특수 목적 프로세서로서) 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한 특정 동작을 수행하는 소프트웨어에 의해 일시적으로 구성되는 프로그램 가능 로직 또는 회로(예컨대, 범용 프로세서 또는 다른 프로그램 가능 프로세서 내에 포함됨)를 포함할 수 있다. 기계적으로, 전용 및 영구적으로 구성된 회로, 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)로 하드웨어 모듈을 구현하기 위한 결정은 비용 및 시간을 고려하여 수행될 수 있음이 이해되어야 한다.
따라서, "하드웨어 모듈"이라는 용어는 유형의 엔티티, 즉, 특정 방식으로 동작하고/하거나 여기에서 설명된 특정 동작을 수행하도록 물리적으로 구성되거나, 영구적으로 구성(예를 들어, 하드와이어드(hardwired))되거나 또는 일시적으로 구성(예컨대, 프로그래밍됨)되는 엔티티를 포함하는 것으로 이해되어야 한다. 하드웨어 모듈이 일시적으로 구성(예컨대, 프로그래밍됨)되는 실시예를 고려하면, 하드웨어 모듈의 각각은 어느 한 시점에서 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 각각 상이한 하드웨어 모듈로서 구성될 수 있다. 따라서 소프트웨어는, 예를 들어 특정 시간에 특정 하드웨어 모듈을 구성하고 다른 시간에 다른 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 또한 그로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신 가능하게 결합된 것으로 간주될 수 있다. 이와 같은 복수의 하드웨어 모듈이 동시에 존재하는 경우, 신호 전송(예를 들어, 하드웨어 모듈을 접속하는 적절한 회로 및 버스를 통함)을 통해 통신이 달성될 수 있다. 복수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 모듈들 사이의 통신은, 예를 들어, 복수의 하드웨어 모듈이 액세스하는 메모리 구조에서의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 그 동작의 출력을 통신 가능하게 결합된 메모리 디바이스에 저장할 수 있다. 이후, 추가의 하드웨어 모듈은 저장된 출력을 검색하고 처리하기 위해 메모리 디바이스에 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와 통신을 개시할 수 있고, 자원(예컨대, 정보의 모음)에 대해 동작할 수 있다.
여기에 설명된 예시적 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 구성되든지 영구적으로 구성되든지 상관없이 이러한 프로세서는 하나 이상의 연산 또는 기능을 수행하도록 동작하는 프로세서 구현 모듈을 구성할 수 있다. 여기에 언급된 모듈은 일부 실시 예에서 프로세서 구현 모듈을 포함할 수 있다.
유사하게, 여기에 설명된 방법은 적어도 부분적으로 프로세서에 의해 구현될 수 있다. 예를 들어, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현 모듈에 의해 수행될 수 있다. 특정 동작의 성능은 단일 시스템 내에 상주할뿐만 아니라 복수의 머신을 통해 구성된 하나 이상의 프로세서 사이에 분산될 수 있다. 일부 예시적 실시예에서, 프로세서 또는 프로세서들은 단일 위치(예를 들어, 가정 환경, 사무실 환경 또는 서버 팜)에 위치할 수 있는 반면, 다른 실시예에서는 프로세서가 복수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 "서비스로서의 소프트웨어(software as a service: SaaS)"로서 관련 동작의 성능을 지원하도록 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부 동작은 (프로세서를 포함하는 머신의 예로서) 컴퓨터의 그룹에 의해 수행될 수 있는데, 이들 동작은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적절한 인터페이스(예를 들어, API)를 통해 액세스될 수 있다.
전자 장치 및 시스템
예시적 실시예는 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어 또는 소프트웨어로, 또는 이들의 조합으로 구현될 수 있다. 예시적 실시예는 컴퓨터 프로그램 제품, 예를 들어, 데이터 처리 장치(예를 들어, 프로그램 가능 프로세서, 컴퓨터 또는 복수의 컴퓨터)에 의한 실행을 위해 또는 그 동작을 제어하기 위해, 예를 들어, 머신 판독가능 매체와 같은 정보 캐리어에 유형적으로 구현된 컴퓨터 프로그램을 사용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일되거나 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램 또는 모듈, 서브 루틴 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛을 포함하는 임의의 형태로 구현될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 복수의 컴퓨터에서 실행되도록 구현되거나, 복수의 사이트에서 분산되고 통신 네트워크(102)에 의해 상호 접속될 수 있다.
예시적 실시예에서, 동작은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 방법 동작은 또한 특수 목적 논리 회로(예를 들어, FPGA 또는 ASIC)에 의해 수행될 수 있고, 예시적 실시예의 장치는 특수 목적 논리 회로(예를 들어, FPGA 또는 ASIC)로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 원격에 위치하며 통상 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는, 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 프로그램 가능 컴퓨팅 시스템을 구현하는 실시 예에서, 하드웨어 아키텍처 및 소프트웨어 아키텍처 모두를 고려할 가치가 있음을 이해할 것이다. 구체적으로, 특정 기능을 영구적으로 구성된 하드웨어(예를 들어, ASIC)로 구현할지, 일시적으로 구성된 하드웨어(예를 들어, 소프트웨어와 프로그램 가능 프로세서의 조합)로 구현할지, 또는 영구적으로 구성된 하드웨어와 일시적으로 구성된 하드웨어의 조합으로 구현할지의 선택은 설계상의 선택일 수 있음을 이해할 것이다.
언어
본 개시의 실시예는 특정 예시적 실시예를 참조하여 설명되었지만, 본 발명의 주제의 더 넓은 범위를 벗어나지 않으면서 이들 실시예에 다양한 수정 및 변경이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다. 본 명세서의 일부를 형성하는 첨부 도면은 발명의 내용이 실시될 수 있는 특정 실시예를 제한이 아닌 예시로서 보여준다. 도시된 실시예는 당업자가 여기에 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 본 개시의 범위를 벗어나지 않고 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록 다른 실시예가 사용될 수 있고 그로부터 도출될 수 있다. 따라서, 본 개시의 상세한 설명은 제한적인 의미로 받아들여서는 안 되며, 다양한 실시예들의 범위는 첨부된 청구 범위와 그러한 청구 범위가 부여하는 모든 범위의 등가물에 의해서만 정의된다.
본 발명적 내용의 이러한 실시예는 사실상 두 개 이상의 발명이 개시되는 경우 본 출원의 범위를 임의의 단일 발명 또는 발명적 개념으로 자발적으로 제한하고자 하는 것이 아니라 단순히 편의상 "발명"이라는 용어에 의해 개별적으로 및/또는 집합적으로 본원에서 언급될 수 있다. 따라서, 여기에서 특정 실시예가 도시되고 설명되었지만, 동일한 목적을 달성하도록 계산된 임의의 구성이 설명된 특정 실시예를 대체할 수 있음이 이해되어야 한다. 본 개시는 다양한 실시예의 임의의 및 모든 개조 또는 변형을 포함하도록 의도된다. 위의 설명을 검토할 경우 통상의 기술자에게는 전술한 실시예들 및 여기에서 구체적으로 설명되지 않은 다른 실시예의 조합은 명백할 것이다.
본 문헌에 언급된 모든 간행물, 특허 및 특허 문헌은 개별적으로 참조를 위해 통합되는 것처럼 그 전체가 본원에 참조에 의해 통합된다. 이렇게 참조를 위해 통합된 문헌과 본 문헌 사이에 용법상의 불일치가 있는 경우, 통합된 참조에서의 용법은 본 문헌의 용법에 대해 보충적으로 고려되어야 하며, 양립할 수 없는 불일치가 있는 경우 본 문헌에서의 용법이 우선한다.
본 문헌에서, 임의의 다른 경우 또는 "적어도 하나" 또는 "하나 이상"의 사용과는 별도로, 단수 용어는 특허 문헌에서 일반적으로 사용되는 것처럼 하나 이상을 포함하도록 사용된다. 본 문헌에서, "또는"이라는 용어는 비배타적 또는(nonexclusive or)을 지칭하도록 사용되므로, "A 또는 B"는 "B 아닌 A", "A 아닌 B" 및 "A 및 B"를 포함한다. 첨부된 청구 범위에서, "포함하는(including)" 및 "여기에서(in which)"라는 용어는 각각의 용어 "포함하는(comprising)" 및 "여기서(wherein)"의 평이한 영어 등가물로서 사용된다. 또한, 이하의 청구범위에서, "포함하는(including)" 및 "포함하는(comprising)"이라는 용어는 개방형으로서, 즉, 청구항에서 그러한 용어 뒤에 열거된 것 이외의 요소를 포함하는 시스템, 디바이스, 제품 또는 프로세스는 여전히 해당 청구항의 범위에 포함되는 것으로 간주된다.

Claims (21)

  1. 애플리케이션 질의를 수정하는 컴퓨터 구현된 방법으로서,
    접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하는 단계와,
    상기 접촉형 디스플레이 인터페이스를 통해서, 상기 초기 질의 결과의 디스플레이 요소에 대한 포스 간격(force-interval) 선택을 수신하는 단계와,
    상기 디스플레이 요소의 문맥을 결정하는 단계 - 상기 결정하는 단계는 상기 디스플레이 요소가 상기 초기 질의 결과와 어떻게 관련되는지를 결정하는 의미론적 분석(semantics analysis)을 수행하는 것을 포함함 - 와,
    상기 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하는 단계 - 디스플레이될 상기 하나 이상의 옵션은 상기 디스플레이 요소의 결정된 상기 문맥에 기초하여 식별됨 - 와,
    상기 하나 이상의 옵션의 선택을 수신하는 단계와,
    상기 디스플레이 요소의 상기 문맥 및 상기 선택에 적어도 부분적으로 기초해서 상기 초기 질의를 수정해서 수정된 질의를 생성하는 단계와,
    상기 접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신하는 단계
    를 포함하는 컴퓨터 구현된 방법.
  2. 제 1 항에 있어서,
    상기 디스플레이 요소의 상기 문맥을 결정하는 단계는 상기 디스플레이 요소의 상기 문맥이 필터-관련 또는 키워드-관련 중 하나라고 결정하는 것을 포함하는
    컴퓨터 구현된 방법.
  3. 제 2 항에 있어서,
    상기 초기 질의 결과는 상기 선택에 기초하여 수정되는
    컴퓨터 구현된 방법.
  4. 제 1 항에 있어서,
    상기 문맥은, 상기 초기 질의 결과 내의 아이템에 대한 설명 영역으로부터의 키워드를 포함하는 선택된 디스플레이 요소에 기초하여 결정되는
    컴퓨터 구현된 방법.
  5. 제 1 항에 있어서,
    상기 문맥은, 상기 접촉형 디스플레이 인터페이스 내의 선택된 디스플레이 요소의 위치에 기초하여 결정되고,
    상기 선택된 디스플레이 요소의 위치는, 문맥을 나타내는 필드 파라미터 또는 태그에 대응하는
    컴퓨터 구현된 방법.
  6. 제 1 항에 있어서,
    상기 문맥은, 선택된 디스플레이 요소의 클래스 속성에 기초하여 결정되는
    컴퓨터 구현된 방법.
  7. 제 1 항에 있어서,
    상기 포스 간격 선택은, 상기 디스플레이 요소를 선택할 때, 상기 접촉형 디스플레이 인터페이스와 접촉하는 시간량에 기초한 선택 액션인
    컴퓨터 구현된 방법.
  8. 제 1 항에 있어서,
    상기 포스 간격 선택은, 상기 디스플레이 요소를 선택할 때, 상기 접촉형 디스플레이 인터페이스에 인가되는 압력의 양에 기초한 선택 액션인
    컴퓨터 구현된 방법.
  9. 제 1 항에 있어서,
    상기 접촉형 디스플레이 인터페이스는 모바일 장치의 터치 스크린 디스플레이이고,
    상기 초기 질의 결과 및 상기 수정된 질의 결과는 네트워크를 통해 서버로부터 수신되는
    컴퓨터 구현된 방법.
  10. 애플리케이션 질의를 수정하기 위한 시스템으로서,
    머신의 하나 이상의 프로세서와,
    명령어가 저장된 메모리
    를 포함하며,
    상기 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 머신으로 하여금,
    접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하게 하고,
    상기 접촉형 디스플레이 인터페이스를 통해서, 상기 초기 질의 결과의 디스플레이 요소에 대한 포스 간격 선택을 수신하게 하며,
    상기 디스플레이 요소의 문맥을 결정하게 하고 - 상기 결정하는 것은 상기 디스플레이 요소가 상기 초기 질의 결과와 어떻게 관련되는지를 결정하는 의미론적 분석(semantics analysis)을 수행하는 것을 포함함 -,
    상기 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하게 하고 - 디스플레이될 상기 하나 이상의 옵션은 상기 디스플레이 요소의 결정된 상기 문맥에 기초하여 식별됨 - 와,
    상기 하나 이상의 옵션의 선택을 수신하게 하고,
    상기 디스플레이 요소의 상기 문맥 및 상기 선택에 적어도 부분적으로 기초해서 상기 초기 질의를 수정해서 수정된 질의를 생성하게 하며,
    상기 접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신하게 하는
    시스템.
  11. 제 10 항에 있어서,
    상기 디스플레이 요소의 상기 문맥을 결정하는 것은 상기 디스플레이 요소의 상기 문맥이 필터-관련 또는 키워드-관련 중 하나라고 결정하는 것을 포함하는
    시스템.
  12. 제 11 항에 있어서,
    상기 초기 질의 결과는 상기 선택에 기초하여 수정되는
    시스템.
  13. 제 10 항에 있어서,
    상기 문맥은, 상기 초기 질의 결과 내의 아이템에 대한 설명 영역으로부터의 키워드를 포함하는 선택된 디스플레이 요소에 기초하여 결정되는
    시스템.
  14. 제 10 항에 있어서,
    상기 문맥은, 상기 접촉형 디스플레이 인터페이스 내의 선택된 디스플레이 요소의 위치에 기초하여 결정되고,
    상기 선택된 디스플레이 요소의 위치는, 문맥을 나타내는 필드 파라미터 또는 태그에 대응하는
    시스템.
  15. 제 10 항에 있어서,
    상기 문맥은, 선택된 디스플레이 요소의 클래스 속성에 기초하여 결정되는
    시스템.
  16. 제 10 항에 있어서,
    상기 포스 간격 선택은, 상기 디스플레이 요소를 선택할 때, 상기 접촉형 디스플레이 인터페이스와 접촉하는 시간량에 기초한 선택 액션인
    시스템.
  17. 제 10 항에 있어서,
    상기 포스 간격 선택은, 상기 디스플레이 요소를 선택할 때, 상기 접촉형 디스플레이 인터페이스에 인가되는 압력의 양에 기초한 선택 액션인
    시스템.
  18. 제 10 항에 있어서,
    상기 접촉형 디스플레이 인터페이스는 모바일 장치의 터치 스크린 디스플레이이고,
    상기 초기 질의 결과 및 상기 수정된 질의 결과는 네트워크를 통해 서버로부터 수신되는
    시스템.
  19. 머신에 의해 실행될 때, 상기 머신으로 하여금 동작을 수행하게 하는 명령어가 포함된 머신-판독 가능 저장 매체로서,
    상기 동작은,
    접촉형 디스플레이 인터페이스로부터 수신된 초기 질의에 대한 초기 질의 결과를 디스플레이하는 것과,
    상기 접촉형 디스플레이 인터페이스를 통해서, 상기 초기 질의 결과의 디스플레이 요소에 대한 포스 간격 선택을 수신하는 것과,
    상기 디스플레이 요소의 문맥을 결정하는 것과 - 상기 결정하는 것은 상기 디스플레이 요소가 상기 초기 질의 결과와 어떻게 관련되는지를 결정하는 의미론적 분석(semantics analysis)을 수행하는 것을 포함함 -,
    상기 초기 질의를 수정하기 위한 하나 이상의 옵션을 디스플레이하는 것과 - 디스플레이될 상기 하나 이상의 옵션은 상기 디스플레이 요소의 결정된 상기 문맥에 기초하여 식별됨 -,
    상기 하나 이상의 옵션의 선택을 수신하는 것과,
    상기 디스플레이 요소의 상기 문맥 및 상기 선택에 적어도 부분적으로 기초해서 상기 초기 질의를 수정해서 수정된 질의를 생성하는 것과,
    상기 접촉형 디스플레이 인터페이스 상에 디스플레이하기 위해 수정된 질의 결과를 수신하는 것
    을 포함하는
    머신-판독 가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 디스플레이 요소의 상기 문맥을 결정하는 것은 상기 디스플레이 요소의 상기 문맥이 필터-관련 또는 키워드-관련 중 하나라고 결정하는 것을 포함하고,
    상기 동작은,
    상기 하나 이상의 옵션의 선택에 기초하여 상기 초기 질의를 수정함으로써 수정된 질의 결과를 생성하는 것
    을 더 포함하는
    머신-판독 가능 저장 매체.
  21. 머신에 의해 실행될 때, 상기 머신으로 하여금 제 2 항 내지 제 9 항 중 어느 한 항에 개시된 방법을 실행하게 하는 명령어가 저장된 머신-판독 가능 저장 매체.
KR1020187033142A 2016-04-18 2017-04-17 질의의 문맥 수정 KR102165029B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/131,943 2016-04-18
US15/131,943 US20170300560A1 (en) 2016-04-18 2016-04-18 Context modification of queries
PCT/US2017/027897 WO2017184495A1 (en) 2016-04-18 2017-04-17 Context modification of queries

Publications (2)

Publication Number Publication Date
KR20180132145A KR20180132145A (ko) 2018-12-11
KR102165029B1 true KR102165029B1 (ko) 2020-10-13

Family

ID=60038228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187033142A KR102165029B1 (ko) 2016-04-18 2017-04-17 질의의 문맥 수정

Country Status (6)

Country Link
US (1) US20170300560A1 (ko)
EP (1) EP3446199A4 (ko)
KR (1) KR102165029B1 (ko)
CN (1) CN109074386A (ko)
AU (2) AU2017252374B2 (ko)
WO (1) WO2017184495A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107452383B (zh) * 2016-05-31 2021-10-26 华为终端有限公司 一种信息处理方法、服务器、终端及信息处理系统
KR102017853B1 (ko) * 2016-09-06 2019-09-03 주식회사 카카오 검색 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090192985A1 (en) * 2008-01-30 2009-07-30 International Business Machines Corporation Method, system, and program product for enhanced search query modification

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193352A1 (en) * 2008-01-26 2009-07-30 Robert Stanley Bunn Interface for assisting in the construction of search queries
US8086275B2 (en) * 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US9170995B1 (en) * 2009-03-19 2015-10-27 Google Inc. Identifying context of content items
US9141705B2 (en) * 2009-06-15 2015-09-22 Nuance Communications, Inc. Method and system for search string entry and refinement on a mobile device
US8624851B2 (en) * 2009-09-02 2014-01-07 Amazon Technologies, Inc. Touch-screen user interface
IN2012DN01870A (ko) * 2009-09-02 2015-08-21 Amazon Tech Inc
US8396888B2 (en) * 2009-12-04 2013-03-12 Google Inc. Location-based searching using a search area that corresponds to a geographical location of a computing device
FI20105574A0 (fi) * 2010-05-25 2010-05-25 Axel Technologies Käyttöliittymä medialaitetta varten
US20120084279A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Search detail display using search result context
US9110992B2 (en) * 2011-06-03 2015-08-18 Facebook, Inc. Context-based selection of calls-to-action associated with search results
US8442970B2 (en) * 2011-08-05 2013-05-14 Microsoft Corporation Creating and editing user search queries
CN102663016B (zh) * 2012-03-21 2015-12-16 上海触乐信息科技有限公司 电子设备上输入候选框进行输入信息扩展的系统及其方法
US8762368B1 (en) * 2012-04-30 2014-06-24 Google Inc. Context-based filtering of search results
CN102841746B (zh) * 2012-07-11 2015-08-05 广东欧珀移动通信有限公司 一种手机网页交互方法
US20140188894A1 (en) * 2012-12-27 2014-07-03 Google Inc. Touch to search
US10524713B2 (en) * 2013-06-19 2020-01-07 The Arizona Board Of Regents On Behalf Of The University Of Arizona Identifying deceptive answers to online questions through human-computer interaction data
US20150268827A1 (en) * 2014-03-24 2015-09-24 Hideep Inc. Method for controlling moving direction of display object and a terminal thereof
US9965793B1 (en) * 2015-05-08 2018-05-08 Amazon Technologies, Inc. Item selection based on dimensional criteria
US20160371339A1 (en) * 2015-06-17 2016-12-22 Qualcomm Incorporated Executing a faceted search within a semi-structured database using a bloom filter
US20170185656A1 (en) * 2015-12-29 2017-06-29 Quixey, Inc. Combining Search Results That Specify Software Application Functions
US10664537B2 (en) * 2016-03-18 2020-05-26 Amazon Technologies, Inc. User interface element for surfacing related results
US20170285861A1 (en) * 2016-03-31 2017-10-05 Rovi Guides, Inc. Systems and methods for reducing jitter using a touch screen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090192985A1 (en) * 2008-01-30 2009-07-30 International Business Machines Corporation Method, system, and program product for enhanced search query modification

Also Published As

Publication number Publication date
WO2017184495A1 (en) 2017-10-26
EP3446199A1 (en) 2019-02-27
AU2017252374B2 (en) 2019-09-19
AU2019271941A1 (en) 2019-12-19
EP3446199A4 (en) 2019-10-02
KR20180132145A (ko) 2018-12-11
US20170300560A1 (en) 2017-10-19
AU2017252374A1 (en) 2018-10-25
CN109074386A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
KR102214015B1 (ko) 스마트 매치 자동 완성 시스템
US20190236681A1 (en) Alternative recommendations using search context
KR102170012B1 (ko) 데이터베이스 검색 최적화기 및 주제 필터
US20200242303A1 (en) Application list providing method and device therefor
KR20170052667A (ko) 향상된 검색 질의어 제안
KR102262210B1 (ko) 맞춤형 작업가능 통지를 위한 시스템 및 방법
US20210271723A1 (en) Dissimilar but relevant search engine results
KR102236889B1 (ko) 결과 피드백을 이용하는 검색 시스템
US11137870B2 (en) Adjusting an interface based on a cognitive mode
US11847128B2 (en) Flexibly managing records in a database to match searches
US11948162B2 (en) Presenting cross-sell products for a given product
EP3430789B1 (en) System and method for delegating content processing
KR102165029B1 (ko) 질의의 문맥 수정
WO2017160722A1 (en) Catalogue management
KR102256010B1 (ko) 크라우드 지원 질의 시스템
WO2023126888A1 (en) Presenting cross-sell products for given product
US20160034543A1 (en) Generating item listings according to mapped sensor data
US20170351387A1 (en) Quick trace navigator

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant