KR101356310B1 - 탐색 엔진 추론 기반 가상 지원 - Google Patents

탐색 엔진 추론 기반 가상 지원 Download PDF

Info

Publication number
KR101356310B1
KR101356310B1 KR1020127013481A KR20127013481A KR101356310B1 KR 101356310 B1 KR101356310 B1 KR 101356310B1 KR 1020127013481 A KR1020127013481 A KR 1020127013481A KR 20127013481 A KR20127013481 A KR 20127013481A KR 101356310 B1 KR101356310 B1 KR 101356310B1
Authority
KR
South Korea
Prior art keywords
text
inference
terms
instructions
processor
Prior art date
Application number
KR1020127013481A
Other languages
English (en)
Other versions
KR20120085865A (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 KR20120085865A publication Critical patent/KR20120085865A/ko
Application granted granted Critical
Publication of KR101356310B1 publication Critical patent/KR101356310B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 명세서에 설명된 기술은 일반적으로 실시간 추론 기반 시스템들에 관한 것이다. 예시적인 실시형태들이, 탐색 엔진 추론 기반 가상 지원에 관련된 디바이스, 방법, 및 컴퓨터 프로그램들을 설명할 수도 있다. 일 예시적인 방법은, 입력으로서 텍스트를 수신하도록 구성된 컴퓨팅 디바이스 및 텍스트 내의 하나 이상의 용어들의 하나 이상의 웹 탐색들에 기초하여 텍스트의 적어도 하나의 추론 관련 주제를 결정하도록 구성된 컴퓨터 프로세서를 포함할 수도 있다. 그후, 추론(들) 은 추론(들) 이 결정되면 자동으로 디스플레이될 수도 있다. 텍스트는, 텍스트를 생성하는 음성-텍스트 변환으로서 음성-텍스트 컨버터로부터의 입력이 발생함에 따라서 자동으로 수신될 수도 있다.

Description

탐색 엔진 추론 기반 가상 지원{SEARCH ENGINE INFERENCE BASED VIRTUAL ASSISTANCE}
관련 출원에 대한 상호-참조
발명의 명칭이 "SEARCH ENGINE INFERENCE BASED VIRTUAL ASSISTANCE" 로 2010년 3월 16일자로 출원된 미국 특허 출원 제12/724,660호에 대해 우선권을 주장하고, 이는 대리인 도켓 번호 MTCW001901 로 식별된다.
본 명세서에 다르게 언급되지 않는 한, 본 섹션에 설명된 접근방식들은 본 출원에서의 청구항들에 대한 종래 기술은 아니며, 본 섹션에 포함하는 것에 의해 종래 기술이 되는 것으로 허용되지 않는다.
대화, 강의 또는 회의를 듣거나 또는 참여할 때, 논의의 대상 또는 토픽들에 관련된 특정 통신 세션 동안 추가적인 정보를, 이들이 나타남에 따라서, 수신하는 것은 종종 도움이 된다. 그러나, 대화 도중에 수동적인 웹-탐색 및 단어마다의 분석은 종종 불편하고 느리며, 청취자의 주의를 산만하게 하고 또한 청취자의 주의를 현재 논의로부터 다른 것으로 돌리게 할 수도 있다.
본 개시물은, 탐색 엔진 추론 기반 가상 지원을 위한 방법, 컴퓨터 판독가능 매체, 및 디바이스를 설명한다. 몇몇 예시적인 방법들이 추론들을 자동으로 결정하는 단계를 포함할 수도 있는데, 이 방법은, 컴퓨팅 디바이스로의 입력으로서 스트리밍 텍스트를 수신하는 단계; 텍스트가 수신되고 있을 때, 텍스트 내의 용어들의 웹 탐색들에 기초하여 텍스트의 주제에 관련된 추론을 결정하는 단계; 및 추론들을 자동으로 디스플레이하는 단계를 포함한다. 추론들을 결정하는 단계는, 웹 탐색의 결과들을 분석하여 웹 탐색 결과들의 히트들의 수 및 토픽들을 결정하는 단계를 포함할 수도 있다. 리턴된 히트들의 수가 미리결정된 레벨을 하회하는 경우, 웹 탐색의 결과들은 추론들을 결정하기 위한 목적을 위해 웹 탐색 결과들의 토픽들을 확립하는데 있어서 충분한 것으로 고려될 수도 있다. 히트들의 수가 미리결정된 레벨을 상회하는 경우, 웹 탐색의 결과들은 불충분한 것으로 고려될 수도 있고, 텍스트로부터 용어들의 점점 더 큰 조합들을 이용하여 추가적인 웹 탐색들이 수행될 수도 있다. 입력으로서 수신된 텍스트는 음성-텍스트 컨버터에 의해 생성된 텍스트를 포함할 수도 있고, 추론들은 후속 음성 신호들을 해석하는데 있어서 도움을 주기 위해 음성-텍스트 컨버터에 제공될 수도 있다. 몇몇 예시적인 컴퓨터 판독가능 매체는 본 명세서에 설명된 방법들을 수행하도록 구성된 컴퓨터-실행가능 명령들을 포함할 수도 있고, 몇몇 예시적인 디바이스들은 프로세서, 및 프로세서에 커플링된 메모리를 포함할 수도 있으며, 이 메모리는 실행될 때 프로세서로 하여금 본 명세서에 설명된 방법들을 수행하게 하도록 구성하는 컴퓨터 실행가능 명령들을 갖는다.
전술한 개요는 단지 예시적이며, 임의의 제한하는 방법이 되도록 의도되지 않는다. 전술된 예시적인 양태들, 실시형태들, 및 특징들뿐만 아니라, 추가적인 양태들, 실시형태들, 및 특징들이 도면 및 이하의 상세한 설명을 참조하여 명백해질 것이다.
본 개시물의 전술한 특징들 그리고 다른 특징들이 첨부된 도면과 관련하여 취해진 이하의 상세한 설명 및 첨부된 청구항으로부터 더욱 완전하게 명백해질 것이다. 이들 도면들이 본 개시물에 따라서 몇몇 실시형태들만을 도시하고 이에 따라 그 범위를 제한하는 것으로는 고려되지 않는다. 따라서, 본 개시물은 첨부된 도면의 이용을 통해서 추가적인 특수성 및 세부사항을 이용하여 설명될 것이다.
도 1 은 탐색 엔진 추론 기반 가상 지원을 위한 예시적인 프로세스를 예시하는 플로우차트이다.
도 2a 는 탐색 엔진 추론 기반 가상 지원에 따라서 컴퓨팅 디바이스로의 입력으로서 수신된 단어들로부터 추론들을 결정하기 위한 예시적인 프로세스를 예시하는 플로우차트이다.
도 2b 는 탐색 엔진 추론 기반 가상 지원에 따라서 컴퓨팅 디바이스로의 입력으로서 수신된 단어들로부터 추론들을 결정하기 위한 예시적인 대안적인 프로세스를 예시하는 플로우차트이다.
도 3 은 이동 디바이스 상에서 실시간으로 수신되는 통신에 기초하여 탐색 엔진 추론 기반 가상 지원에 따른 예시적인 추론을 디스플레이하는 예시적인 이동 디바이스의 도면이다.
도 4 는, 탐색 엔진 추론 기반 가상 지원의 양태들이 구현될 수도 있는 예시적인 네트워크화된 컴퓨팅 환경의 도면이다.
도 5 는 탐색 엔진 추론 기반 가상 지원을 위한 컴퓨터 프로그램 제품을 예시하는 개략도이다.
도 6 은 탐색 엔진 추론 기반 가상 지원이 구현될 수도 있고 그 모두가 본 명세서에 설명된 적어도 몇몇 실시형태들에 따라서 배열된 예시적인 컴퓨팅 디바이스의 블록도이다.
이하의 상세한 설명에서, 그 일부를 형성하는 첨부된 도면들에 대한 참조가 이루어진다. 도면들에서, 유사한 심볼들은 통상적으로 내용이 그 이외의 것을 나타내지 않는 한 유사한 컴포넌트들을 식별한다. 상세한 설명, 도면, 및 청구항에서 설명된 예시적인 실시형태들은 제한적인 것을 의미하지 않는다. 본 명세서에 나타난 발명의 사상 또는 범위를 벗어나지 않고, 다른 실시형태들이 활용될 수도 있고, 다른 변화들이 이루어질 수도 있다. 본 명세서에 일반적으로 설명되고 도면들에 예시된 바와 같이, 본 개시물의 양태들은 다양한 상이한 구성들로 배열되고, 치환되고, 조합되고, 디자인될 수 있으며, 이 구성들은 명백하게 고찰되어 본 개시물의 일부를 이룬다는 것을 용이하게 이해할 것이다.
본 명세서에 설명될 것과 같이, 본 개시물, 그 중에서도, 탐색 엔진 추론 기반 가상 지원에 관련된 디바이스, 방법, 및 컴퓨터 프로그램에 관해 설명된다.
일반적으로, 본 명세서에 설명된 기술들은 추론 기반 시스템들에 관한 것이다. 예시적인 실시형태들은, 탐색 엔진 추론 기반 가상 지원과 관련된 디바이스, 방법, 및 컴퓨터 프로그램들을 설명할 수도 있다. 일 예시적인 방법은, 입력으로서 텍스트를 수신하도록 구성된 컴퓨팅 디바이스, 및 텍스트 내에서 하나 이상의 용어들의 하나 이상의 웹 탐색들에 기초하여 텍스트의 주제에 관련된 적어도 하나의 추론을 결정하도록 배열된 컴퓨터 프로세서를 포함할 수도 있다. 그리고, 추론(들)은, 추론(들)이 결정되면, 자동으로 디스플레이될 수도 있다.
본 개시물은, 논의로부터 추가적인 정보가 파생될 수도 있는 일 방법이 논의되는 것에 관한 추론들을 이끌어내기 위한 기술들을 채용하기 위한 것이라는 것을 종래 추론 기반 시스템들이 나타낸다는 것을 식별 및 파악한다. 그러나, 현재 추론 기반 시스템들은 통상적으로 정적인 환경에서 기존의 문헌들에 대해 이용하도록 디자인되어 있다. 이러한 시스템들은, 실시간으로 일어나는 통신들에 대해서는 용이하게 적용되지 않고, 단어들 및 내용들이 변화함에 따라서 시간이 경과함에 따라서는 진전되지 않고 또는 최신 의미 및 추정을 제공하지 않는다.
도 1 은, 본 명세서에 설명된 적어도 몇몇 실시형태들에 따라서 배열된 탐색 엔진 추론 기반 가상 지원을 위한 예시적인 프로세스 (100) 를 예시하는 플로우차트이다. 예시된 예시에서, 프로세스 (100), 및 다른 프로세스들은, 프로세싱 단계들, 기능적 동작들, 이벤트들 및/또는 액션들로서 설명될 수도 있는 다양한 기능적 블록들 또는 액션들은, 하드웨어, 소프트웨어, 및/또는 펌웨어에 의해 본 명세서에서 설명하였다. 본 개시물을 고려하여 당업자들은, 도 1 에 도시된 기능적 블록들에 대한 수많은 대안책들이 다양한 구현들에서 실행될 수도 있다는 것을 인식할 것이다. 예를 들어, 도 1 에 도시된 바와 같이 프로세스 (100) 는 블록들 또는 액션들의 일 특정 순서를 포함하지만, 이러한 블록들 또는 액션들이 나타난 순서는 청구된 주제를 임의의 특정 순서로 필수적으로 제한하지 않는다. 또한, 도 1 에 도시되지 않은 개입되는 액션들 및/또는 추가적인 액션들이 채용될 수도 있고 및/또는 도 1 에 도시된 액션들의 몇몇은 청구된 주제의 범위를 벗어나지 않고 제거될 수도 있다. 프로세스 (100) 는 하나 이상의 동작들 (101, 103, 및/또는 105) 을 포함할 수도 있고, 여기서 프로세싱은 블록 (101) 에서 개시될 수도 있다.
블록 (101), "음성-텍스트 엔진으로부터 단어 또는 텍스트 세그먼트 수신" 에서, 단어 또는 텍스트 세그먼트가 컴퓨팅 디바이스로의 입력으로서 수신될 수도 있다. 예를 들어, 이러한 단어 또는 텍스트 세그먼트는 일방향 또는 양방향 음성 또는 텍스트 통신, 비디오 회의, 라이브 채팅 세션, 스트리밍 오디오 또는 비디오 세션 동안, 또는, 사전-기록된 비디오 또는 오디오의 디바이스 상에서의 재생 동안 컴퓨팅 디바이스에 의해 캡쳐될 수도 있다. 통신이 음성으로서 먼저 수신되거나 먼저 발생되는 경우, 컴퓨팅 디바이스 상에서 수행된 (또는 컴퓨팅 디바이스에 의해 수신되는 음성 신호 이전에 수행된) 실시간 음성-텍스트 프로세싱이 그 음성를 텍스트로 변환하여, 통신의 개별적인 단어들이 본 명세서에 설명된 탐색 엔진 추론 기반 가상 지원에서 텍스트로서 프로세싱될 수도 있다. 다양한 현재 이용가능한 스피치 인식 및 음성-텍스트 어플리케이션 및 시스템들이, 예를 들어, Dragon Systems and Nuance Communications, Inc 에 의해 제공된 것과 같이 적절한 음성-텍스트 변환을 제공하기 위해 전체적으로 또는 부분적으로 이용될 수도 있다. 예시적인 컴퓨팅 디바이스들은, 데스크탑 컴퓨터, 노트북 컴퓨터, 이동 컴퓨팅 디바이스, 스마트 폰, 개인 정보 단말기 등을 포함할 수도 있다. 블록 (101) 은 블록 (103) 에 의해 후속될 수도 있다.
블록 (103), "실시간으로 추론들을 결정" 에서, 단어의 하나 이상의 탐색들 또는 텍스트 세그먼트 내의 단어들의 조합의 웹 탐색들에 기초하여 실시간 제약들 (또는 근 실시간 제약들) 에서 컴퓨팅 디바이스에 의해 단어 또는 텍스트 세그먼트로부터 하나 이상의 추론들이 결정된다 (103). 또한, 추론들은 동일한 통신 세션 또는 이전 통신 세션들 동안 수신된 단어 세그먼트들 또는 이전에 수신된 단어들로 이루어진 이전 웹 탐색들에 기초할 수도 있고, 또한 텍스트 세그먼트들 내에서 나타나는 특정 단어 또는 문구들의 빈도 및/또는 통신 세션의 이전 및 후속 다음 세그먼트들에 기초할 수도 있다. 이러한 웹 탐색들을 이용하여 이들 추론들을 결정하기 위한 예시적인 프로세스들은 도 2a 및 도 2b 에 도시된다. 블록 (103) 은 블록 (105) 에 의해 후속될 수도 있다.
다음으로, 블록 (105), "실시간으로 단어/텍스트 세그먼트에 대한 상위 추론을 디스플레이" 에서, 수신된 단어 및/또는 텍스트 세그먼트에 대한 하나 이상의 상위 추론들이 컴퓨팅 디바이스 상에 실시간으로 (또는 근 실시간으로) 디스플레이된다 (105). 추론들은, 통신 세션들 동안 사용자에게 현재 통신됨에 따라서, 콘텐츠의 제목 또는 제목들과 관련하는 추가적인 또는 더욱 상세한 정보를 제공하기 위해 컴퓨팅 디바이스 상에서 통신 세션 동안 디스플레이된 정보이다. 또한, 추론들은, 컴퓨팅 디바이스와 통신하는 원격 디바이스들과 통신할 수도 있고 그 원격 디바이스들 상에 디스플레이될 수도 있다. 블록 (105) 은, 추가적인 프로세싱이 추가적인 워드 또는 텍스트 세그먼트들에 대해 요구될 때 블록 (101) 에 의해 후속될 수도 있다.
추론들을 결정하는데 있어서 웹 탐색 엔진의 이용은 다른 진보된 옵션들을 허용한다. 예를 들어, 탐색 엔진 추론 기반 가상 지원 시스템은, 통신 세션 내의 매우 구체적인 용어들이 웹 탐색 결과들로부터 제거되도록, 구성가능할 수도 있다. 따라서, 누군가가 통신 세션 동안 영화 배우를 논의하고 영화 배우의 이름을 거론한 경우, 탐색 엔진 추론 기반 가상 지원 시스템은 이 특정 이름을 이끌어낼 수 있고, 한 사람은 공통 관심사를 많이 갖지만 그 특정 영화 배우와 사실상 관련되지 않은 다른 영화 배우에 대한 더 많은 정보를 알아낼 수 있다. 정치 또는 비지니스에서, 실시간으로 반증 또는 다른 옵션들을 제공하여 이에 따라 협상을 구체화하도록 허용할 수도 있다.
또한, 웹 탐색 결과들은 매우 최근의 뉴스들에만 관련된 소재 (material) 를 수집하기 위해 최근의 결과들에만 타겟을 두도록 설정될 수 있다. 이는, 누군가가 몇일 전에 알고 있었거나, 또는 통신 세션의 대화를 누군가가 알게 되도록 도울 수도 있었던 토픽에 대해 따라잡도록 도울 수도 있다.
도 2a 는 본 명세서에 설명된 적어도 몇몇 실시형태들에 따라서 배열된 탐색 엔진 추론 기반 가상 지원에 따른 통신 세션 동안 컴퓨팅 디바이스로의 입력으로서 수신된 단어들로부터 추론들을 결정하기 위한 예시적인 프로세스 (200) 를 예시하는 플로우차트이다. 예시된 예시에서, 프로세스 (200), 및 여기 설명된 다른 프로세스들은, 프로세싱 단계들, 기능적 동작들, 이벤트들 및/또는 액션들로서 설명될 수도 있는 다양한 기능적 블록들 또는 액션들, 그리고 하드웨어, 소프트웨어, 및/또는 펌웨어에 의해 수행될 수도 있는 것들로서 본 명세서에서 설명하였다. 본 개시물을 고려하여 당업자들은, 도 2 에 도시된 기능적 블록들에 대한 수많은 대안책들이 다양한 구현들에서 실행될 수도 있다는 것을 인식할 것이다. 예를 들어, 도 2 에 도시된 바와 같이 프로세스 (200) 는 블록들 또는 액션들의 일 특정 순서를 포함하지만, 이들 블록들 또는 액션들이 나타난 순서는 청구된 주제를 임의의 특정 순서에 필연적으로 제한하지 않는다. 이와 유사하게, 도 2 에 도시되지 않은 개입 액션들 및/또는 도 2 에 도시되지 않은 추가적인 액션들이 채용될 수도 있고 및/또는 도 2 에 도시된 액션들의 몇몇은 청구된 주제의 범위를 벗어나지 않고 제거될 수도 있다. 프로세스 (200) 는 하나 이상의 동작들 (103, 201, 202, 203, 205, 207, 209, 및/또는 105) 을 포함할 수도 있고, 여기서 프로세싱은 블록 (201) 에서 개시될 수도 있다.
블록 (201), "음성-텍스트 엔진으로부터 단어를 수신" 에서, 단어는 음성-텍스트 엔진으로부터 수신된다 (201). 블록 (201) 은 블록 (202) 에 의해 후속될 수도 있다. 블록 (202), "단어의 희귀성이 미리결정된 임계값을 상회하는가?" 에서, 각각의 단어가 수신됨에 따라서 (200), 단어의 희귀성이 미리결정된 임계값을 상회하는지의 여부를 실시간으로 결정한다 (202). 단어 희귀성 스코어는 단어에 대해 먼저 적용될 수도 있다. 높은 단어 희귀성 스코어는 단어가 상대적으로 희귀하다는 것을 의미하는 반면, 낮은 단어 희귀성 스코어는 단어가 상대적으로 일반적이라는 것을 나타낸다. 예를 들어, 매우 일반적인 단어들의 기본적인 리스트 (예를 들어, "만약 (if)", "그 (the)" 및 "이다 (is")) 가 저장 및 액세스될 수도 있다. 단어가 매우 일반적인 단어들의 리스트에 나타나는 경우, 이는 완전하게 무시될 수도 있고 또는 예를 들어 희귀성 스코어 0 이 주어질 수도 있다. 단어가 매우 일반적인 단어들의 리스트에 나타나지 않는 경우, 그 리스트 상의 각각의 단어에 대한 관련 사전-결정된 단어 희귀성 스코어와 함께 저장된 단어 희귀성 리스트는 단어가 단어 희귀성 리스트에 나타나는지의 여부를 결정하고 그리고 단어의 관련 단어 희귀성 스코어를 결정하기 위해 액세스될 수도 있다.
단어가 단어 희귀성 리스트에 나타나지 않는 경우, 웹 탐색 엔진 (예를 들어, 구글) 을 이용하는 월드 와이드 웹 (web) 탐색이 웹 탐색시에 탐색 용어로서 그 단어를 이용하여 자동으로 수행될 수도 있다. 탐색으로부터 리턴된 히트들의 수는 단어에 대한 단어 희귀성 스코어의 기초로서 이용될 수도 있다. 리턴된 히트들의 수가 적으면 적을수록, 그 단어에 대해 더 높은 단어 희귀성 스코어가 매겨질 것이다. 예를 들어, 단어 "상원의원 (senator)" 은 웹 탐색 시에 탐색 용어로서 그 단어를 이용하여 68.4 백만 히트들을 결과로 나타낼 수도 있고, "트리니티 대학교 (Trinity University)" 는 9 백만 히트들을 리턴할 수도 있다. 그러나, 단어 "툴" 은 수백만 히트들을 리턴할 수도 있고, 이에 따라 "상원의원" 또는 "트리니티 대학교" 보다 훨씬 낮은 단어 희귀성 스코어를 리턴할 수도 있다. 그후, 단어 및 관련 단어 희귀성 스코어는 미래의 사용을 위해 단어 희귀성 리스트에 추가될 수도 있다.
단어의 희귀성이 미리결정된 임계값을 상회하지 않는 (예를 들어, 미리결정된 양을 상회하는 단어 희귀성 스코어를 갖지 않는) 경우, 프로세스는 다음 수신되는 단어로 이동하고, 이전 단계들이 다음 단어에 대해 반복된다. 또한, 특정 임계값이 컴퓨팅 디바이스 상에서 하나 이상의 사용자 인터페이스들을 통해서 사용자 구성가능할 수도 있다. 단어의 희귀성이 미리결정된 임계값을 상회하는 (예를 들어, 미리결정된 양을 상회하는 단어 희귀성 스코어를 갖는) 경우, 단어는 희귀한 것으로서 마킹되고 임의의 이웃 형용사들 또는 부사들과 조합될 수도 있다.
블록 (202) 은 블록 (203) 에 의해 후속될 수도 있다. 블록 (303), "추론 용어 테이블에 단어를 추가" 에서, 결과 단어/문구는 추론 용어 테이블에 추가된다 (203). 따라서, 각각의 단어가 수신됨에 따라서, 하나 이상의 이웃 단어들은 이러한 방식으로 이들을 조합하기 위해 버퍼 내에 저장될 수도 있다. 희귀 단어들은, 개별적인 형용사 및 부사가 일반적이라고 하더라도, 이웃 형용사 및 부사들과 그룹화된다. 이는, "나쁜 교통상태 (bad traffic)" 과 "좋은 교통상태 (good traffic)" 사이의 차이를 캡쳐하도록 허용하여, 예를 들어, 단어 "나쁜" 과 "좋은" 이 그 자신으로서 폐기되기에 충분히 일반적이라고 하더라도, 극적으로 상이한 추론들로 유도할 수 있다.
블록 (203) 은 블록 (205) 에 의해 후속될 수도 있다. 블록 (205), "추론들의 수를 결정" 에서, 웹 탐색 시에 단어/문구를 이용하는 것에 기초하여 대부분의 추론들은 자동으로 결정된다 (205). 추론의 수는, 예를 들어, 웹 탐색 시에 탐색 용어로서 단어/문구를 이용하고 이에 따른 탐색 결과를 분석함으로써, 결정될 수도 있다. 예를 들어, 탐색 결과들의 토픽들은 탐색 결과들로부터 자동으로 판독되고 단어/문구에 대한 추론으로서 이용될 수도 있다. 추론들의 수는 탐색 결과들에서 발견된 상이한 토픽들의 수 (또는 앞 n 개의 탐색 결과들에서 상이한 토픽들의 수) 일 수도 있다. 탐색 결과들 내의 대부분의 일반적인 추론들은 탐색 결과들 내의 다른 추론들과 비교하여 대부분이 탐색 결과들 내에 나타난 추론들이다. 웹 탐색 결과들의 분석으로부터 추론들을 이끌어내기 위한 다양한 다른 자동화된 기술 및 프로세스들이 대안으로서 또는 전술한 것과 함께 구현될 수도 있다.
또한, 추론의 강도는 탐색 용어로서 이용되는 단어/문구와 탐색 결과 출력의 관련 추론을 비교함으로써 결정될 수도 있다. 예를 들어, 단어/문구 A 에 대한 웹 탐색이 탐색 결과 출력 B 를 리턴하는 경우, B 는 탐색 히트들의 어떤 비율이 A 를 수반하는지를 결정하기 위해 자동으로 탐색될 수도 있다. 탐색 히트들의 높은 비율이 A 를 수반하는 경우, 추론의 강도는 탐색 히트들의 낮은 비율이 A 를 수반하는 경우보다 더 강한 것으로 결정된다.
블록 (205) 은 블록 (207) 에 의해 후속될 수도 있다. 블록 (207), "추론들의 수가 임계값을 하회하는가?" 에서, 추론들의 수 및/또는 웹 탐색 결과 히트가 단어/문구에 대한 특정 임계값을 하회하는지의 여부가 결정된다 (207). 전반적인 탐색 관련성의 이러한 결정은 앞서 결정된 추론들의 수, 탐색 용어로서 단어/문구를 이용하는 웹 탐색 결과들의 수, 또는 이들의 임의의 조합에 기초하여 이루어질 수도 있다. 예를 들어, 탐색 결과에서 발견된 상이한 추론들의 수가 너무 높으면, 임의의 특정 추론이 관련되거나 또는 도움이 될 것이라는 것에 대한 아주 낮은 가능성이 존재한다는 것을 표시할 수도 있다. 또한, 단어/문구의 웹 탐색 결과 (즉, 히트) 의 수가 너무 높으면, 단어/문구가 유용한 추론을 결정하기 위해 그 자신에 의해 이용되기에는 너무 일반적이라는 것을 나타낼 수도 있다.
발견된 상이한 추론들의 수와 탐색 결과 히트들의 수 사이의 관계 또는 발견된 상이한 추론들 대 탐색 결과 히트들의 수의 비율은, 특정 임계값이 충족되는지의 여부를 결정하는데 있어서 팩터로서 이용될 수도 있다. 또한, 특정 임계값은 컴퓨팅 디바이스상의 하나 이상의 사용자 인터페이스들을 통해서 사용자 구성가능할 수도 있다.
블록 (207) 은 블록 (105) 에 의해 후속될 수도 있다. 블록 (105), 상위 추론(들)을 디스플레이" 에서, 추론들 및/또는 웹 탐색 결과 히트들의 수가 단어/문구에 대한 특정 임계값을 하회하는 경우, 단어/문구에 대한 상위 추론 또는 추론들은 컴퓨팅 디바이스 상에서 실시간 제약 또는 근 실시간 제약으로 디스플레이된다 (105) (일 예로서, 도 3 참조). 또한, 추론들은 추론과 관련되는 추가적인 정보에 링크를 제공할 수도 있고, 추론과 관련된 광고 등을 포함할 수도 있다. 그리고, 이 프로세스는 통신 세션에서 다음 단어를 수신하는 단계 (200) 를 통해서 시작하는 것을 반복한다 (예를 들어, 음성-텍스트 엔진을 형성한다).
또한, 추론들은 이러한 시스템들의 해석 성능을 강화하기 위해 음성-텍스트 또는 음성 인식 시스템에 다시 자동으로 공급될 수도 있다. 예를 들어, 화자 (speaker) 가 통신 세션 동안 애롤 플린 (Errol Flynn) 에 대해 얘기중이었고, 탐색 엔진 추론 기반 가상 지원 시스템에 의해 추론이 형성되는 경우에, 그 문장은 애로우 (arrow) 에 대한 것으로 들릴 가능성이 있어서, 영어 문구 "내로우 플라이트 (narrow flight)" 및 "애로우 플라이트 (arrow flight)" 는 조용한 방 안에 있는 사람에게 조차도 구분가능하지 않을 수도 있다. 화자가 데니스 루 (Dennis Lau) (건축가) 에 대해 이야기하고 있고 그 문장은 아마도 계단에 관한 것으로 탐색 엔진 추론 기반 가상 지원 시스템에 의해 추론이 형성되는 경우, 이는 용어들의 탐색 관련성에 기초하여 서로 결정될 수도 있는 것이다.
블록 (207) 은 블록 (209) 에 의해 후속될 수도 있다. 블록 (209), "단어/문구를 조합" 에서, 추론들 및/또는 웹 탑색 결과 히트들의 수가 단어/문구에 대한 특정 임계값을 상회하는 경우, 단어/문구는 더 큰 문구를 생성하기 위해 추론 용어 테이블에서 하나 이상의 다른 이웃 단어/문구들과 조합된다 (209). 이웃 단어/문구들은 추론 용어 테이블에 추가되기에 충분히 희귀한 것으로 사전에 결정되었을 수도 있지만, 아마도 이들이 디스플레이된 임의의 관련 추론들을 갖게 하는 임계값을 충족시키지는 않았다. 또한, 이웃 단어가 추론 용어 테이블에 추가되지 않은 경우 (예를 들어, 이웃 단어가 현재 단어 문구의 우측에 있는 경우), 이웃 단어들을 저장하는데 이용된 버퍼로부터 판독될 수도 있고 또는 프로세스는 추가적인 추론 용어들이 추론 용어 테이블에 추가될 때까지 기다릴 수도 있다.
예를 들어, 추론 및/또는 웹 탐색 결과 히트들의 수가 단어 "툴" 에 대한 특정 임계값을 상회하는 경우, 단어는 단어 "툴" 의 좌측으로 추론 용어 테이블 내의 이웃 단어 "전력" 과 조합되어 더 긴 문구 "전력 툴" 을 생성한다.
그후, 프로세스는, 통신 세션에서 다른 단어를 수신하는 (201) (예를 들어, 음성-텍스트 엔진을 형성하는) 동안, 웹 탐색 시에 새롭게 조합된 단어/문구를 이용하는 것에 기초하여 가장 일반적인 추론들의 수를 결정하는 단계 (205) 를 통해서 나뉘고 그 단계를 자동으로 반복한다. 앞선 예시에서, 문구 "전력 툴" 은 웹 탐색시에 탐색 용어로서 이용되고, 이는 표면상으로는 "툴" 이 단독으로 갖는 것보다 더 적은 수의 상이한 추론들 및 전체 탐색 결과 히트들을 결과로 나타낸다. 프로세스가 진행됨에 따라서, 추론들 및/또는 웹 탐색 결과 히트들의 수가 추론들을 디스플레이하기 위한 특정 임계값을 하회하거나 또는 조합되기 위한 어떤 추가적인 단어들도 존재하지 않을 때까지, 웹 탐색시에 이용되는 단어/문구들은 양 방향으로 이웃 단어들을 추가함으로써 계속해서 성장할 수도 있다. 대안적으로, 웹 탐색시에 이용되는 단어/문구들은 현재 단어/문구의 좌측 또는 우측 둘 중 하나에만 이웃 단어들을 추가함으로써 계속해서 성장할 수도 있다. 또한, 추가적인 단어들이 통신 세션 동안 이용가능하게 되기를 (예를 들어, 말해지기를) 기다리기 전에, 문구가 얼마나 크게 성장할 수도 있는지에 대해 제한을 둘 수도 있다.
도 2b 는, 본 명세서에 설명된 최소한 몇몇 실시형태들을 통해서 배열된, 탐색 엔진 추론 기반 가상 지원에 따른 통신 세션 동안 컴퓨팅 디바이스로의 입력으로서 수신된 단어들로부터 추론들을 결정하기 위한 예시적인 대안적 프로세스 (210) 를 예시하는 플로우차트이다.
도 2b 의 프로세스 (210) 는, 예를 들어, 도 2a 의 프로세스에 나타난 바와 같이, 스트리밍 텍스트로부터 한 번에 하나의 단어를 프로세싱하는 것보다는 스트리밍 텍스트로부터 한 번에 하나의 텍스트 세그먼트를 프로세싱함으로써 수신된 단어들로부터 추론들을 결정하는데 활용될 수도 있다. 텍스트 세그먼트의 사이즈는 다양하게 변화할 수도 있고, 텍스트 세그먼트는 사용자에 의해 선택될 수도 있다. 블록 (211), "음성-텍스트 엔진으로부터 텍스트 세그먼트를 수신" 에서, 텍스트 세그먼트는 음성-텍스트 엔진으로부터 수신될 수도 있다. 블록 (211) 은 블록 (213) 에 의해 후속될 수도 있다. 블록 (213), "희귀 단어들을 선택" 에서, 텍스트 세그먼트가 음성-텍스트 엔진 또는 다른 통신 어플리케이션으로부터 수신되면 (211), 텍스트 세그먼트의 희귀 단어들은 전술한 바와 같이 임의의 적용가능한 (문구들을 생성하는) 이웃 형용사들 또는 부사들과 조합될 수도 있다. 희귀 단어들은, 텍스트 세그먼트 내의 단어들에 단어 희귀성 스코어를 할당하고, 미리결정된 임계값을 상회하는 희귀성 스코어를 갖는 이러한 단어들만을 선택함으로써, 도 1a 를 참조하여 전술한 바와 같이 선택될 수도 있다 (213).
블록 (213) 은 블록 (215) 에 의해 후속될 수도 있다. 블록 (215), 텍스트 세그먼트 내의 이웃 단어/문구들과의 선택된 단어/문구들의 각각의 조합에 대한 "토피컬 관련성 (topical relatedness) 을 결정" 에서, 조합의 토피컬 관련성은 웹 탐색시에 탐색 용어들로서 조합을 이용함으로써 결정된다 (215). 웹 탐색시에 수신된 히트들의 수에 기초하여, 조합 내의 단어/문구들의 토피컬 관련성이 결정될 수도 있다 (215). 일반적으로, 웹 탐색으로부터 결과로 나타나는 히트들의 수가 적으면 적을수록, 조합 내의 단어/문구들의 토피컬 관련성은 더 낮아진다.
블록 (215) 은 블록 (217) 에 의해 후속될 수도 있다. 블록 (217), "토피컬 관련성이 미리결정된 임계값을 하회하는가" 에서, 임의의 조합의 토피컬 관련성이 조합에 대한 탐색 결과 내의 히트들의 수에 기초하여 미리결정된 임계값을 하회하는지의 여부에 대해 결정할 수도 있다 (217).
블록 (217) 은 블록 (219) 에 의해 후속될 수도 있다. 블록 (219), "더 큰 선택된 문구들을 생성" 에서, 토피컬 관련성이 탐색 결과 내의 히트들의 수에 기초하여 미리결정된 임계값을 하회하는 조합이 존재하지 않는 경우, 더 큰 선택된 문구들이 선택된 단어/문구와 하나 이상의 이웃 단어들을 조합함으로써 생성된다 (219). 이 프로세스는 추가적인 조합에 대한 더 큰 단어/문구를 생성하기 위해 제 1 선택된 단어/문구를 이웃 선택된 단어/문구와 조합함으로써 제 1 선택된 단어/문구를 통해서 시작할 수도 있다. 그후, 프로세스는 텍스트 세그먼트 내의 이웃 단어/문구들과 선택된 단어/문구들의 각각의 조합에 대해 결정하는 단계 (215) 로 시작하는 더 큰 단어/문구 조합, 조합의 토피컬 관련성을 이용하여 반복한다.
블록 (217) 은 블록 (221) 에 의해 후속될 수도 있다. 블록 (221), "추론 용어들로서 단어/문구 조합들을 추가" 에서, 토피컬 관련성이 탐색 결과 내의 히트들의 수에 기초하여 미리결정된 임계값을 하회하는 경우, 적용가능한 단어/문구(들) (즉, 그 토피컬 관련성이 미리결정된 임계값을 하회하는 단어/문구들) 이 추론 용어 테이블 내의 추론 용어들로서 추가된다 (221). 예시적인 추론 용어 테이블 포맷이 이하와 같이 나타난다.
단어/문구 1 단어/문구 2 단어/문구 3
단어/문구 1 X 웹 탐색 히트들의 수 웹 탐색 히트들의 수
단어/문구 2 웹 탐색 히트들의 수 X 웹 탐색 히트들의 수
단어/문구 3 웹 탐색 히트들의 수 웹 탐색 히트들의 수 X
전술한 추론 용어 테이블에 나타난 바와 같이, 각각의 단어 문구는 테이블의 상부 및 측면에 걸쳐서 열거된다. 단어/문구들의 조합의 토피컬 관련성은, 컬럼의 단어/문구 조합의 하나의 단어/문구를 검색 (looking up) 하고, 단어/문구 조합의 다른 단어/문구의 컬럼이 도달될 때까지 테이블에 걸쳐서 진행함으로써 테이블 내에서 자동으로 발견될 수도 있다. 그후, 테이블의 결과 위치는 조합의 웹 탐색 시에 히트들의 수에 관한 조합의 토피컬 관련성의 일 표시이다. 또한, 특정 조합에 대한 히트들의 비교적 낮은 수는, 조합이 더 높은 추론 강도를 갖는다는 일반적인 표시로서 작용할 수도 있다.
블록 (221) 은 블록 (223) 에 의해 후속될 수도 있다. 블록 (223), "최소한의 토픽 관련 추론을 발견" 에서, 추론 용어 테이블 내의 추론 용어들의 각각의 조합에 대한 최소 토픽 관련 추론(들) 이 발견될 수도 있다 (223). 시스템이 단일의 최소 토픽 관련 추론 또는 수많은 최소 토픽 관련 추론들을 선택하는지의 여부는 사용자에 의해 선택가능할 수도 있다. 웹 탐색 결과들의 분석으로부터 추론들을 이끌어내기 위한 다양한 다른 자동화된 기술 및 프로세스들은 대안으로서 또는 전술한 것들과 관련하여 구현될 수도 있다.
또한, 추론의 강도는, 탐색 용어로서 이용되는 단어/문구에 출력된 탐색 결과의 관련 추론을 체크함으로써 결정될 수도 있다. 예를 들어, 단어/문구 A 에 대한 웹 탐색이 탐색 결과 출력 B 을 리턴시키는 경우, 어떤 비율의 탐색 히트들이 A 를 수반하는지를 결정하기 위해 B 가 자동으로 탐색될 수도 있다. 높은 비율의 탐색 히트들이 A 를 수반하는 경우, 추론의 강도는 낮은 비율의 탐색 히트들이 A 를 수반하는 것보다 더 강한 것으로 결정된다.
블록 (223) 은 블록 (225) 에 의해 후속될 수도 있다. 블록 (225), "추론의 강도가 임계값을 상회하는가" 에서, 각각의 조합에 대한 최소 토픽 관련 추론(들) 의 강도가 특정 임계값을 상회하는지의 여부 및/또는 조합의 웹 탐색이 특정 임계값을 하회하는 히트들의 수를 리턴하는지의 여부가 결정된다 (225). 강도가 특정 임계값을 상회하는지의 여부를 결정하는 것 또는 조합에 대한 웹 탐색 히트들이 특정 임계값을 하회하는지의 여부를 결정하는 것 둘 중 하나 또는 모두는 궁극적으로 디스플레이되는 추론들의 요망되는 품질 및 정확도 대 요망되는 추론들의 품질에 의존한다. 강도가 특정 임계값을 상회하는지의 여부 그리고 조합에 대한 웹 탐색 히트들이 특정 임계값을 하회하는지의 여부 모두가 결정되는 경우, 궁극적으로 디스플레이되는 추론들의 품질 및 정확성을 증가시킬 수도 있지만, 디스플레이되는 추론들의 품질을 감소시킬 수도 있다. 또한, 임계값 레벨들은 강도에 대한 높은 임계값으로서 영향을 줄 수도 있고, 히트들의 수에 대한 낮은 임계값은 궁극적으로 디스플레이되는 추론들의 품질 및 정확도를 증가시킬 수도 있지만, 디스플레이되는 추론들의 품질은 감소시킬 수도 있다. 강도가 특정 임계값을 상회하는지의 여부 및/또는 조합에 대한 웹 탐색 히트들이 특정 임계값을 하회하는지의 여부뿐만 아니라 그들 자신의 임계값 레벨들은 사용자 선택가능할 수도 있다.
추론의 강도가 특정 임계값을 상회하지 않는 경우 및/또는 추론 용어들의 조합의 웹 탐색이 특정 임계값을 하회하는 히트들의 수를 리턴하지 않는 경우, 블록 (225) 은 블록 (219) 에 의해 후속될 수도 있다. 전술한 프로세스는 선택된 단어/문구와 텍스트 세그먼트 내의 하나 이상의 이웃 단어들을 조합함으로써 더 큰 선택된 문구들을 생성하는 단계 (219) 를 통해서 시작하는 것을 반복한다.
블록 (225) 은 블록 (227) 에 의해 후속될 수도 있다. 블록 (227), "상위 추론(들)을 디스플레이" 에서, 추론의 강도가 특정 임계값을 상회하고 및/또는 추론 용어들의 조합의 웹 탐색이 특정 임계값을 하회하는 히트들의 수를 리턴하는 경우, 단어/문구 조합에 대한 상위 추론 또는 추론들이 실시간 또는 근 실시간 제약들로 컴퓨팅 디바이스 상에 디스플레이된다 (227). 상위 추론 또는 추론들은 전술한 바와 같이 추론의 강도 및 공통성에 기초하여 결정 및 선택될 수도 있다. 또한, 디스플레이하는 상위 추론들의 수 또는 상위 추론들만을 디스플레이할지의 여부는 탐색 엔진 추론 기반 가상 지원 시스템의 사용자 구성가능 특징일 수도 있다.
블록 (227) 에 후속하여, 프로세스는 음성-텍스트 엔진 또는 다른 통신 어플리케이션으로부터 다음 텍스트 세그먼트를 수신하는 것 (211) 을 통해서 시작하는 것을 반복한다. 그러나, 사전에 프로세싱된 텍스트 세그먼트들로부터의 단어/문구들을 고려함으로써 분석되는 범위 (breadth) 를 개선시키기 위해 요망되는 경우에, 텍스트의 사전에 프로세싱된 텍스트 세그먼트들로부터의 하나 이상의 단어/문구들은 추론 용어 테이블 내에 남겨질 수도 있다. 예를 들어, 사전에 프로세싱된 텍스트 세그먼트들로부터 추론 용어 테이블에 남겨져 잔존하는 단어/문구들은, 이러한 단어/문구들을 탐색 용어로서 이용하여 얼마나 많은 웹 탐색 결과들이 리턴되는지와 관련하여 특히 희귀한 단어/문구들일 수도 있다. 또한, 새로운 텍스트 세그먼트들로부터의 단어/문구들과의 조합으로 추론 용어 테이블에 사전에 추가된 단어/문구들을 이용하여 결과로 나타날 수도 있는 동일한 추론들이 디스플레이되는 횟수에 대해서는 제한될 수도 있다.
도 3 은, 본 명세서에 설명된 적어도 몇몇 실시형태들에 따라서, 이동 디바이스 (301) 에 대해 실시간으로 수신되는 통신에 기초하여 탐색 엔진 추론 기반 가상 지원에 따른 예시적인 추론 (317) 을 디스플레이하는 예시적인 이동 디바이스 (301) 의 도면이다. 이동 디바이스 하우징 (303), 디스플레이 스크린 (305), 사용자 입력 버튼 (323), 및 오디오 출력부 (325) 를 갖는 이동 디바이스 (301) 가 도시된다. 이동 디바이스는, 내부 하드웨어, 컴퓨터 판독가능 매체, 및 적절한 어플리케이션을 가질 수도 있는데, 이들에는 탐색 엔진 추론 기반 가상 지원에 대해 본 명세서에 설명된 방법 및 프로세스를 수행하기 위해 컴퓨터 소프트웨어 프로그램 코드를 실행하고 다양한 무선 통신들을 수행하기 위한 컴퓨터 실행가능 명령들이 저장되어 있다. 이러한 하드웨어 및 소프트웨어 판독가능 매체, 및 탐색 엔진 추론 기반 가상 지원을 위해 본 명세서에 설명된 방법 및 프로세스들을 수행하기 위한 다른 적절한 컴퓨팅 디바이스들의 예가 도 4 내지 도 6 을 참조하여 본 명세서에 더 설명된다.
이동 디바이스 (301) 의 디스플레이 스크린 (305) 상에는 이동 디바이스 (301) 상의 예시적인 통신 세션 상에서 수행되는 탐색 엔진 추론 기반 가상 지원의 예가 나타난다. 예시적인 통신 세션은, 디바이스 (301) 에 오디오 및 비디오 신호 및/또는 데이터를 제공함으로써 이동 디바이스 (301) 에 통신하는 원격의 사용자 (309) 의 비디오 또는 스틸 이미지를 나타내는 비디오 채팅 세션이다. 디바이스 (301) 에 의해 수신된 오디오 신호 및/또는 데이터는, 전술한 바와 같이 이동 디바이스 (301), 예를 들어, 휘발성 메모리 (예를 들어, RAM), 비휘발성 메모리 (예를 들어, ROM, 플래시 메모리 등) 또는 이들의 임의의 조합으로 제한되지 않고 이를 포함하는 임의의 유형일 수도 있는 이동 디바이스의 메모리 디바이스 상에 상주하는 음성-텍스트 엔진에 의해 국부적으로 텍스트로 변환될 수도 있고, 또는 사전에 변환되어 오디오와 함께 텍스트로서 이동 디바이스 (301) 에 전송될 수도 있다. 예를 들어, 원격의 사용자 (309) 가 이야기함에 따라서, 대응하는 텍스트가 디스플레이 스크린 (305) 상의 텍스트 윈도우 (307) 내에서 스트리밍하는 것으로 도시된다. 각각의 추론 용어들 (311, 313, 315, 또는 추론 용어들의 조합) 이 전술된 탐색 엔진 추론 기반 가상 지원 프로세스에서 식별되기 때문에, 강조되고, 범주로 묶여지고 (bracketed), 그렇지 않으면 텍스트 윈도우 (307) 내의 추론 용어들 또는 조합들로서 표시된다. 탐색 용어로서 대응하는 추론 용어를 이용하여 리턴된 웹 탐색 히트들의 관련 갯수는 텍스트 윈도우 (307) 내의 적용가능한 추론 용어들 (311, 313, 315) 에 가깝게 디스플레이될 수도 있다. 예를 들어, 추론 용어 "상원위원" (311) 은 68.4 백만개의 웹 탐색 시트들을 리턴하였으며, 추론 용어 "트리니티 대학교 (Trinity University)" (313) 는 9 백만 히트들만을 리턴하였다.
통신 세션이 이동 디바이스 (301) 상에서 발생하기 때문에, 디스플레이 스크린 (305) 상에 실시간 또는 근 실시간 제약들로 예시적인 추론 (317) 이 디스플레이된다. 텍스트 윈도우 (307) 아래의 디스플레이 스크린 (305) 상에 도시된 특정 추정 "상원의원, John Cornyn, TX 에 대한 논의" (317) 는, 이동 디바이스 (301) 상에 도시된 현재 통신 세션 상에서 수행되고 있는 전술된 탐색 엔진 추론 기반 가상 지원 프로세스들에 의해 실시간 또는 근 실시간으로 인식되고 프로세싱되는 추론 용어들 "상원의원" (311), "트리니티 대학교" (313) 및 "판사" (315) 의 결과이다. 또한, 추가적인 정보가 추론에 관련되는 더욱 상세화된 또는 관련된 정보 및 추론의 상대적인 강도 (321) 에 대한 링크 (319) 와 같은 추론 (317) 에 따라서 디스플레이되고 그 추론에 가깝게 디스플레이될 수도 있다. 추론 (317) 에 따라서 디스플레이되고 또는 그 추론에 가깝게 디스플레이된 다른 정보는 추론 (317) 과 관련된 광고, 추론 (317) 을 저장 또는 추가적으로 프로세싱하기 위한 옵션, 및 추론 (317) 과 관련된 다른 통계자료들을 포함할 수도 있지만 이에 한정하지 않는다.
도 4 는, 수많은 컴퓨터화된 프로세스들이 본 명세서에 설명된 적어도 몇몇 예시들에 따라서 탐색 엔진 추론 기반 가상 지원을 수행하도록 구현될 수도 있는 예시적인 네트워크화된 컴퓨팅 환경 (400) 의 도면이다. 예를 들어, 전술한 바와 같은 통신 세션은 도 4 에 도시된 네트워크화된 컴퓨팅 환경 내의 다양한 오브젝트들 사이에서 발생할 수도 있고, 도 4 의 하나 이상의 오브젝트들은 탐색 엔진 추론 기반 가상 지원을 활용 또는 구현할 수도 있다. 다른 예로서, 분배된 또는 병행 컴퓨팅은 탐색 엔진 추론 기반 가상 지원을 위한 시스템 및 방법을 이용 및/또는 구현하는 도 4 의 네트워크상에서의 다양한 클라이언트를 갖는 네트워크화된 환경의 일부일 수도 있다. 당업자는, 임의의 컴퓨터 또는 다른 클라이언트 또는 서버 디바이스를 개별적으로 또는 분포된 컴퓨팅 환경으로 작업하는 다른 컴퓨터들 또는 다른 클라이언트 또는 서버 디바이스들과 접속시키도록 네트워크가 활용될 수 있다는 것을 이해할 것이다. 이에 대해, 임의의 수의 프로세싱, 메모리, 또는 저장 유닛들, 및 임의의 수의 동시에 발생하는 어플리케이션 및 프로세스들을 갖는 임의의 컴퓨터 시스템 또는 환경이 제공된 시스템 및 방법들과 관련하여 이용하기에 적절한 것으로 고려된다.
분배된 컴퓨팅은 다양한 컴퓨팅 디바이스들 및/또는 시스템들 사이에서의 교환에 의해 컴퓨터 리소스들 및/또는 서비스들을 공유하도록 활용될 수도 있다. 이러한 리소스들 및/또는 서비스들은 분배된 파일 저장을 위해 정보의 교환, 캐시 저장의 이용 및/또는 디스크 저장의 이용을 포함할 수도 있다. 분배된 컴퓨팅은, 네트워크 접속성의 이점을 취하여, 전체 사업에 이익을 도모하기 위해 클라이언트들이 수집적 전력을 레버리징하는 것을 허용할 수도 있다. 이와 관련하여, 다양한 디바이스들이 본 명세서에 설명된 탐색 엔진 추론 기반 가상 지원 프로세스들을 시사할 수도 있는 어플리케이션들, 오브젝트들 또는 리소스들을 가질 수도 있다.
도 4 의 네트워크화된 컴퓨팅 환경 (400) 은, 하나 이상의 컴퓨팅 디바이스 (271, 600, 276, 301), 하나 이상의 오브젝트들 (273, 274, 및 275), 및/또는 하나 이상의 데이터베이스들 (278) 과 같은 다양한 디바이스들을 포함할 수도 있다. 이러한 디바이스들 (271, 600, 273, 274, 275, 276, 301 및 278) 각각은 프로그램들, 방법들, 데이터 저장부들, 프로그래머블 로직 등을 포함할 수도 있고 이들을 이용할 수도 있다. 컴퓨팅 디바이스 (301) 는 도 3 의 이동 디바이스 (301) 일 수 있다. 그러나, 디바이스들 (271, 600, 273, 274, 275, 276, 301 및/또는 278) 는 동일한 또는 상이한 디바이스들, 예를 들어, 개인용 정보 단말기 (PDA), 이동 디바이스들, 오디오/비디오 디바이스들, MP3 플레이어들, 개인용 컴퓨터 등의 일부를 확장시킬 수도 있다. 각각의 디바이스 (271, 600, 273, 274, 275, 276, 301 및 278) 는 통신 네트워크 (270) 를 통해서 다른 디바이스 (271, 600, 273, 274, 275, 276, 301 및 278) 와 통신하도록 구성될 수 있다. 이와 관련하여, 임의의 디바이스가 데이터베이스 (278) 또는 다른 저장 엘리먼트의 유지보수 및 업데이팅에 대해 책임을 가질 수도 있다.
통신 네트워크 (270) 는, 도 4 의 시스템에 서비스를 제공하도록 구성된 다른 컴퓨팅 엔티티들을 그 자신이 포함할 수도 있고, 이에 따라 다수의 상호접속된 네트워크들을 나타낼 수도 있다. 몇몇 실시형태들에 따라서, 각각의 디바이스들 (271, 600, 273, 274, 275, 276, 301 및/또는 278) 은, 하나 이상의 디바이스들 (271, 600, 273, 274, 275, 276, 301 및/또는 278) 의 서비스를 요청하도록 구성된, 어플리케이션 프로그램 인터페이스 (API), 또는 다른 오브젝트, 소프트웨어, 펌웨어 및/또는 하드웨어를 이용할 수도 있는 별도의 기능적 프로그램 모듈들을 포함할 수도 있다.
또한, 참조부호 275 와 같은 오브젝트는 다른 컴퓨팅 디바이스 (276) 상에 호스팅될 수도 있다는 것을 이해할 수 있다. 따라서, 묘사된 물리적 환경이 컴퓨터와 같은 접속된 디바이스들을 나타낼 수도 있지만, 이러한 묘사는 단지 예시적이고, 물리적 환경은 다양한 디지털 디바이스들 (예를 들어, PDA, 텔레비전, MP3 플레이어 등), 소프트웨어 오프젝트들 (인터페이스, COM 오브젝트들 등) 을 포함하여 대안적으로 묘사 또는 설명될 수도 있다.
분포된 컴퓨팅 환경을 지원할 수도 있는 다양한 시스템, 컴포넌트, 및 네트워크 구성들이 존재한다. 예를 들어, 컴퓨팅 시스템들은 유선 또는 무선 시스템에 의해, 로컬 네트워크 또는 광대역 분포 네트워크에 의해 함께 접속될 수도 있다. 현재, 수많은 네트워크들은, 널리 분포된 컴퓨팅을 위한 인프라스트럭쳐를 제공하고 수많은 상이한 네트워크들을 포함하는 일 예시인, 인터넷에 커플링된다. 인터넷에 커플링되거나 또는 커플링되지 않은 임의의 이러한 인프라스트럭쳐들은 제공된 시스템 및 방법들과 함께 이용될 수도 있다.
네트워크 인프라스트럭쳐는, 네트워크 토폴로지들, 예를 들어 클라이언트/서버, 피어-투-피어, 또는 하이브리드 아키텍쳐의 호스트를 허용한다. "클라이언트" 는, 관련되지 않은 다른 클래스 또는 그룹의 서비스를 이용하는 클래스 또는 그룹의 멤버이다. 컴퓨팅시에, 클라이언트는 프로세스, 즉, 다른 프로그램에 의해 제공된 서비스를 요청하는 명령들 또는 임무들의 세트이다. 클라이언트 프로세스는 다른 프로그램 또는 그 자신의 서비스에 대한 임의의 작업 세부사항을 "알려주지" 않고 요청된 서비스를 활용한다. 클라이언트/서버 아키텍쳐, 특히 네트워크화된 시스템에서, 클라이언트는 일반적으로, 다른 컴퓨터, 예를 들어, 서버에 의해 제공된 공유 네트워크 리소스들에 액세스하는 컴퓨터이다. 도 4 의 예시에서, 임의의 디바이스 (271, 600, 273, 274, 275, 276, 301 및/또는 278) 는 그 상황에 의존하여 클라이언트, 서버, 또는 모두로 고려될 수도 있다.
통상적으로, 서버는 인터넷과 같은 원격 또는 로컬 네트워크를 통해서 액세스가능한 원격의 컴퓨터 시스템이지만 반드시 그렇지는 않다. 클라이언트 프로세스는 제 1 컴퓨터 시스템에서 활성일 수도 있고, 서버 프로세스는 통신 매체를 통해서 다른 하나와 통신하는 제 2 컴퓨터 시스템에서 확성일 수도 있어서, 이에 따라, 분배된 기능을 제공하고 다수의 클라이언트들이 서버의 정보-수집 능력의 이점을 취하도록 허용한다. 임의의 소프트웨어 오브젝트들은 다수의 컴퓨팅 디바이스들 또는 오브젝트들에 걸쳐서 분포될 수도 있다.
클라이언트(들) 및 서버(들) 은 프로토콜 층(들) 에 의해 제공된 기능을 활용하는 다른 하나와 통신하도록 구성될 수도 있다. 예를 들어, 하이퍼텍스트 전송 프로토콜 (HTTP) 은 월드 와이드 웹 (WWW) 또는 "the Web" 과 함께 이용될 수도 있는 공통의 프로토콜이다. 인터넷 프로토콜 (IP) 어드레스와 같은 컴퓨터 네트워크 어드레스 또는 유니버설 리소스 로케이터 (URL) 와 같은 다른 레퍼런스가 이용되어 서로에 대한 서버 또는 클라이언트 컴퓨터들을 식별할 수 있다. 네트워크 어드레스는 URL 어드레스로 지칭될 수 있다. 통신은 통신 매체, 예를 들어, 클라이언트(들)을 통해서 제공될 수 있고, 서버(들)은 높은-용량 통신을 위해 TCP/IP 접속(들)을 통해서 서로 커플링될 수도 있다.
도 4 에 제공된 일반적인 프레임워크에 따라서 설계될 수도 있는 다양한 컴퓨팅 환경들 및 도 4 의 것과 같이 네트워크 환경에서의 컴퓨팅 시에 발생할 수 있는 추가적인 변화 (diversification) 를 고려하여, 본 명세서에 제공된 시스템들 및 방법들은 특정 컴퓨팅 아키텍쳐에 임의의 방법으로 제한하는 것으로서 구성될 수 없다. 대신에, 실시형태들은 첨부된 청구항들에 따라서 폭넓은 범위에서 구형되어야만 한다.
도 5 는, 본 개시물의 적어도 몇몇 실시형태들에 따라서 배열된, 탐색 엔진 추론 기반 가상 지원을 위한 컴퓨터 프로그램 제품을 예시하는 개략적인 도면이다. 컴퓨터 프로그램 제품 (500) 은, 전술된 그리고 도 1, 도 2a, 및 도 2b 에 예시된 방법들을 실행하기 위한 하나 이상의 세트들의 실행가능 명령들 (502) 을 포함할 수도 있다. 컴퓨터 프로그램 제품 (500) 은 신호 베어링 매체 (504) 또는 다른 유사 통신 매체 (506) 으로 송신될 수도 있다. 또한, 컴퓨터 프로그램 제품 (500) 은 컴퓨터 판독가능 매체 (508) 또는 다른 유사 판독가능 매체 (510) 에 기록될 수도 있다.
도 6 은, 본 개시물의 적어도 몇몇 실시형태들에 따라서 배열된, 탐색 엔진 추론 기반 가상 지원이 구현될 수도 있는 예시적인 컴퓨팅 디바이스의 블록도이다. 매우 기본적인 구성에서, 컴퓨팅 디바이스 (600) 는 통상적으로 하나 이상의 호스트 프로세서 (604) 및 시스템 메모리 (606) 를 포함한다. 메모리 버스 (608) 는 호스트 프로세서 (604) 와 시스템 메모리 (606) 사이에서 통신하도록 이용될 수도 있다.
바람직한 구성에 의존하여, 호스트 프로세서 (604) 는, 마이크로프로세서 (μP), 마이크로컨트롤러 (μC), 디지털 신호 프로세서 (DSP), 또는 이들의 임의의 조합을 포함할 수도 있지만 이에 한정하지 않는다. 프로세서 (604) 는, 하나 이상의 레벨들의 캐싱, 예를 들어, 레벨 1 캐시 (610), 레벨 2 캐시 (612), 프로세서 코어 (614), 및 레지스터 (616) 를 포함할 수도 있다. 예시적인 프로세서 코어 (614) 는 산술 로직 유닛 (ALU), 부동 소수점 유닛 (FPU), 디지털 신호 프로세싱 코어 (DSP Core), 및 이들의 임의의 조합을 포함할 수도 있다. 또한, 예시적인 메모리 컨트롤러 (618) 는 프로세서 (604) 를 통해서 이용될 수도 있고, 또는 몇몇 구현에서는, 메모리 컨트롤러 (618) 는 프로세서 (604) 의 내부일 수도 있다.
바람직한 구성에 따르면, 시스템 메모리 (606) 는, 휘발성 메모리 (예를 들어, RAM), 비휘발성 메모리 (예를 들어, ROM, 플래시 메모리 등) 또는 이들의 임의의 조합을 포함하지만 이에 한정하지 않는 임의의 유형일 수도 있다. 시스템 메모리 (606) 는, 오퍼레이팅 시스템 (620), 하나 이상의 어플리케이션 (622), 및 프로그램 데이터 (624) 를 포함할 수도 있다. 몇몇 구현에서, 오퍼레이팅 시스템 (620) 은, 스케줄러 (626) 를 가질 수도 있고, 도 1, 도 2a, 및 도 2b 에 도시된 프로세스들에 관련하여 적어도 설명된 것들을 포함하는 본 명세서에 설명된 것과 같은 기능을 수행하기 위해 하나 이상의 어플리케이션들 (622) 을 구동하도록 배열될 수도 있다. 또한, 어플리케이션 (622) 은 오퍼레이팅 시스템 (620) 상의 프로그램 데이터 (624) 와 동작하도록 배열될 수도 있다. 프로그램 데이터 (624) 는, 탐색 엔진 추론 기반 가상 지원을 수행하기 위한 명령들을 실행하는 것과 관련된 태스크 데이터와 같은 태스크 관련 정보를 포함할 수도 있지만 이에 한정하지 않는다. 설명된 기본 구성 (602) 은 점선 내의 컴포넌트들에 의해 도 6 에 예시된다.
컴퓨팅 디바이스 (600) 는, 기본 구성 (602) 과 임의의 요구되는 디바이스들 및 인터페이스들 사이의 통신을 용이하게 하기 위해, 추가적인 특징들 또는 기능들, 및 추가적인 인터페이스들을 가질 수도 있다. 예를 들어, 버스/인터페이스 컨트롤러 (630) 는 저장 인터페이스 버스 (634) 를 경유하여 기본 구성 (602) 과 하나 이상의 데이터 저장 디바이스 (632) 사이의 통신을 용이하게 하도록 이용될 수도 있다. 데이터 저장 디바이스들 (632) 은 탈착식 저장 디바이스들 (636), 고정식 저장 디바이스들 (638), 또는 이들의 조합일 수도 있다. 탈착식 저장 디바이스 및 고정식 저장 디바이스의 예들은, 몇몇을 거명하자면, 자기 디스크 디바이스들 (예를 들어, 플렉시블 디스크 드라이브들 및 하드-디스크 드라이브들 (HDD)), 광학식 디스크 드라이브들 (예를 들어, 콤팩트 디스크 (CD) 드라이브들 또는 DVD 드라이브들), 고체 상태 드라이브들 (SSD), 및 테이프 드라이브들을 포함한다. 예시적인 컴퓨터 저장 매체는, 예를 들어, 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보 저장을 위한 임의의 방법 또는 기술에서 구현된 휘발성 및 비휘발성, 탈착식 그리고 고정식 매체를 포함할 수도 있다.
시스템 메모리 (606), 탈착식 저장 디바이스 (636) 및 고정식 저장 디바이스 (638) 는 컴퓨터 저장 매체들의 예시들이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학식 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장부, 다른 자기 저장부 디바이스들, 또는 (원하는 정보를 저장하는데 이용될 수도 있고 그리고 컴퓨팅 디바이스 (600) 에 의해 액세스될 수도 있는) 임의의 다른 매체를 포함하지만 이에 한정하지 않는다. 임의의 이러한 컴퓨터 저장 매체는 컴퓨팅 디바이스 (600) 의 일부일 수도 있다.
또한, 컴퓨팅 디바이스 (600) 는 다양한 인터페이스 디바이스들 (예를 들어, 출력 디바이스 (642), 주변 디바이스들 (644), 및 통신 디바이스들 (646)) 로부터 기본 구성 (602) 으로 버스/인터페이스 컨트롤러 (630) 를 통한 통신을 용이하게 하기 위한 인터페이스 버스 (640) 를 포함할 수도 있다. 예시적인 출력 디바이스 (642) 는 그래픽 프로세싱 유닛 (648) 및 오디오 프로세싱 유닛 (650) 을 포함하고, 이들은 하나 이상의 A/V 포트들 (652) 을 통해서 디스플레이 또는 스피커와 같은 다양한 외부 디바이스들로 통신하도록 구성될 수도 있다. 예시적인 주변 인터페이스들 (644) 은 직렬 인터페이스 컨트롤러 또는 병렬 인터페이스 컨트롤러를 포함하고, 이들은 하나 이상의 I/O 포트들 (658) 을 통해서 입력 디바이스들 (예를 들어, 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스 등) 또는 다른 주변 디바이스들 (예를 들어, 프린터, 스캐너 등) 과 같은 외부 디바이스들과 통신하도록 구성될 수도 있다. 예시적인 통신 디바이스 (646) 는 네트워크 컨트롤러를 포함하고, 이는 하나 이상의 통신 포트들을 경유하여 네트워크 통신 링크를 통해서 하나 이상의 다른 통신 디바이스들 (662) 과의 통신을 용이하게 하도록 배열될 수도 있다. 몇몇 구현들에서, 컴퓨팅 디바이스 (600) 는 인터페이스 버스 (640) 를 통해서 호스트 프로세서 (604) 와 통신할 수도 있는 멀티-코어 프로세서 (664) 를 포함한다.
네트워크 통신 링크는 통신 매체의 일 예시일 수도 있다. 통상적으로, 통신 매체는, 변조 데이터 신호, 예를 들어, 반송파 또는 다른 이송 메커니즘의 형태로 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터에 의해 내장될 수도 있고, 임의의 정보 전달 매체를 포함할 수도 있다. "변조 데이터 신호" 는 신호 내의 정보를 인코딩하는 방식으로 설정 또는 변화된 하나 이상의 특징을 갖는 신호일 수도 있다. 한정이 아닌 예로써, 통신 매체는 유선 매체 (예를 들어, 유선 네트워크 또는 직접-유선 접속), 및 무선 매체 (예를 들어, 어쿠스틱, 무선 주파수 (RF), 마이크로웨이브, 적외선 (IR) 및 다른 무선 매체) 를 포함할 수도 있다. 본 명세서에 이용된 것과 같은 용어 컴퓨터 판독가능 매체는 저장 매체 및 통신 매체 모두를 포함할 수도 있다.
컴퓨팅 디바이스 (600) 는, 소형 팩터 휴대용 (또는 이동) 전자 디바이스의 일부, 예를 들어, 셀 폰, 개인 정보 단말기 (PDA), 개인용 미디어 플레이어 디바이스, 무선 웹-와치 디바이스, 개인용 헤드셋 디바이스, 어플리케이션 특정 디바이스, 또는 임의의 전술한 기능들을 포함하는 하이브리드 디바이스로서 구현될 수도 있다. 또한, 컴퓨팅 디바이스 (600) 는 랩탑 컴퓨터 및 비-랩탑 컴퓨터 구성들 모두를 포함하는 개인용 컴퓨터로서 구현될 수도 있다.
시스템들의 양태들의 하드웨어 구현과 소프트웨어 구현 사이에 남아있는 약간의 차이가 존재한다. 하드웨어 또는 소프트웨어의 이용은 일반적으로 (하지만 항상은 아님, 하드웨어와 소프트웨어 사이에서의 선택이 특정 문맥에서 현저하게 될 수 있음) 비용 대 효율성 트레이드오프를 나타내는 디자인 선택이다. 본 명세서에 설명된 어떠한 프로세스들 및/또는 시스템들 및/또는 다른 기술들이 영향을 받는 다양한 비히클들 (예를 들어, 하드웨어, 소프트웨어, 및/또는 펌웨어) 이 존재하고, 그리고 바람직한 비히클은 프로세스들 및/또는 시스템들 및/또는 다른 기술들이 활용되는 문맥에서 다양해질 것이다. 예를 들어, 구현자가 속도 및 정확도가 최고인 것으로 결정하는 경우, 구현자는 주로 하드웨어 및/또는 펌웨어 비히클을 선택할 수도 있다. 유연성이 최고인 경우에는, 구현자는 주로 소프트웨어 구현을 선택할 수도 있다. 또한, 대안으로, 구현자는 하드웨어, 소프트웨어, 및/또는 펌웨어의 몇몇 조합을 선택할 수도 있다.
전술한 상세한 설명은 블록도, 플로우차트 및/또는 예시의 이용을 통해서 디바이스들 및/또는 프로세스들의 다양한 실시형태들을 설명한다. 이러한 블록도, 플로우차트, 및/또는 예시들이 하나 이상의 기능들 및/또는 동작들을 포함하는 한, 이러한 블록도, 플로우차트, 또는 예시들 내에서의 각 기능 및/또는 동작이 다양한 하드웨어, 소프트웨어, 펌웨어, 또는 실질적으로는 이들의 임의의 조합에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 당업자에 의해 이해될 것이다. 일 실시형태에서, 본 명세서에서 설명된 청구물의 몇몇 부분들은 ASICs (Application Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), DSPs (digital signal processors), 또는 다른 집적화된 포맷들을 통해서 구현될 수도 있다. 그러나, 당업자는, 본 명세서에 기재된 실시형태들의 몇몇 양태들이 하나 이상의 컴퓨터들 상에서 구동하는 하나 이상의 컴퓨터 프로그램들로서 (예를 들어, 하나 이상의 컴퓨터 시스템들 상에서 구동하는 하나 이상의 프로그램들로서), 하나 이상의 프로세서들 상에서 구동하는 하나 이상의 프로그램들로서 (예를 들어, 하나 이상의 마이크로프로세서들 상에서 구동하는 하나 이상의 프로그램들로서), 펌웨어로서, 또는 이들의 실질적인 임의의 조합으로서 전체적으로 또는 부분적으로 집적화된 회로들 내에서 동일하게 구현될 수 있고, 소프트웨어 및/또는 펌웨어에 대한 코드를 기록하고 및/또는 회로를 디자인하는 것은 본 개시물을 고려하여 당업자의 재량 내에서 있는 것이 좋다는 것을 인식할 것이다. 또한, 본 명세서에 설명된 청구물의 메커니즘들은 다양한 형태의 프로그램 제품으로서 분배될 수 있고, 본 명세서에 설명된 청구물의 예시적인 실시형태가 실질적으로 분배를 실행하는데 이용된 신호 내제 매체의 특정 유형과 관계 없이 적용한다는 것을 당업자는 이해할 것이다. 신호 내제 매체들의 예시는, 플로피 디스크, 하드 디스크 드라이브, CD (Compact Disc), DVD (디지털 비디오 디스크), 디지털 테잎, 컴퓨터 메모리 등과 같은 기록가능한 유형의 매체; 및 디지털 통신 매체 및/또는 아날로그 통신 매체와 같은 송신 유형 매체 (예를 들어, 광섬유 케이블, 도파관, 유선 통신 링크, 무선 통신 링크 등) 를 포함하지만 이에 한정하지 않는다.
당업자는, 당업계에서 본 명세서에 설명된 방식으로 디바이스들 및/또는 프로세스들을 설명하는 것, 그 이후에 이렇게 설명된 디바이스들 및/또는 프로세스들을 데이터 프로세싱 시스템으로 통합하기 위해 엔지니어링 프랙티스를 이용하는 것이 통상적인 것임을 인식할 것이다. 즉, 본 명세서에 설명된 디바이스들 및/또는 프로세스들의 적어도 일부가 적당량의 실험을 통해서 데이터 프로세싱 시스템으로 통합될 수 있다. 일반적으로, 당업자는, 통상적인 데이터 프로세싱 시스템이 시스템 유닛 하우징, 비디오 디스플레이 디바이스, 메모리 (휘발성 및 비휘발성 메모리), 프로세서 (예를 들어, 마이크로프로세서 및 디지털 신호 프로세서), 계산적인 엔티티들 (예를 들어, 오퍼레이팅 시스템, 드라이버, 그래픽 사용자 인터페이스, 및 어플리케이션 프로그램들), 하나 이상의 상호작용 디바이스들 (예를 들어, 터치 패드 또는 스크린), 및/또는 피드백 루프 및 제어 모터를 포함하는 제어 시스템들 (예를 들어, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트들 및/또는 양을 이동시키고 및/또는 조절하기 위한 제어 모터들) 중 하나 이상을 포함할 수도 있다는 것을 인식할 것이다. 통상적인 데이터 프로세싱 시스템은, 임의의 적절한 상업적으로 이용가능한 컴포넌트들, 예를 들어, 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 통상적으로 발견되는 것과 같은 컴포넌트들을 이용하여 구현될 수도 있다.
본 명세서에 설명된 청구물은 상이한 다른 컴포넌트들 내에 포함된 또는 이들에 연결된 상이한 컴포넌트들을 예시한다. 이렇게 도시된 아키텍쳐들은 예시적인 것이고, 사실상 동일한 기능을 달성하는 수많은 다른 아키텍쳐들이 구현될 수 있다는 것을 이해해야만 한다. 개념적인 관점에서, 동일한 기능을 달성하기 위한 컴포넌트들의 임의의 배열은 효과적으로 "연관되어", 바람직한 기능이 달성된다. 따라서, 특정 기능을 달성하도록 조합된 본 명세서의 임의의 2 개의 컴포넌트들은 서로 "연관된" 것으로 관찰될 수 있어서, 아키텍쳐 또는 매개 컴포넌트들과는 관계없이, 바람직한 기능이 달성된다. 이와 같이, 이렇게 연관된 임의의 2 개의 컴포넌트들은 서로에 대해 "동작가능하게 연결", 또는 "동작가능하게 커플링" 되어 바람직한 기능을 달성하는 것으로서 관찰될 수 있고, 이렇게 연관될 수 있는 임의의 2 개의 컴포넌트들은 서로에 대해 "동작가능하게 커플링되어 바람직한 기능을 달성하는 것으로 관찰될 수 있다. 동작가능하게 커플링가능한 구체적인 예는 물리적으로 합치가능한 및/또는 물리적으로 상호작용가능한 컴포넌트들 및/또는 무선으로 상호작용가능함 및/또는 무선으로 상호작용가능한 컴포넌트들 및/또는 논리적으로 상호작용 및/또는 논리적으로 상호작용가능한 컴포넌트들을 포함하지만 이에 한정하지 않는다.
본 명세서에서의 실질적으로 임의의 복수 및/또는 단수 용어들을 사용하는 것과 관련하여, 당업자는 문맥 및/또는 명세서에 적당하도록 복수에서 단수로 및/또는 단수에서 복수로 전환할 수 있다. 다양한 단수/복수 전환은 명백함을 위해 본 명세서에 명확하게 설명될 수도 있다.
일반적으로, 본 명세서에 그리고 특히 첨부된 청구항들 (예를 들어, 첨부된 청구항들의 본문) 에 사용되는 용어는 일반적으로 "개방적인" 용어들 (예를 들어, 용어 "포함하는" 은 "포함하지만 한정하지 않는" 으로 해석되어야만 하고, 용어 "가지는" 은 "적어도 가지는" 것으로서 해석되어야만 하고, 용어 "포함하다" 는 "포함하지만 이에 한정하지 않는다" 로서 해석되어야만 한다) 로서 의도되는 것을 당업자는 이해할 것이다. 또한, 구체적인 갯수의 도입된 청구항 기재가 의도되는 경우, 이러한 의도는 청구항에서 명시적으로 기재될 것이고, 이러한 기재의 부재시에는 어떠한 의도도 존재하지 않는다는 것을 당업자는 이해해야만 한다. 예를 들어, 이해를 돕기 위해, 다음의 첨부된 청구항들이 청구항 기재를 도입하기 위해 서두 어구 "적어도 하나" 및 "하나 이상" 의 이용을 포함할 수도 있다. 그러나, 이러한 어구들의 이용은, 부정관사 "a" 또는 "an" 에 의한 청구항 기재의 도입이 이러한 하나의 기재만을 포함하는 발명들에 이러한 도입된 청구항을 포함하는 임의의 특정 청구항을 제한하는 것을 함축하는 것으로 구성되지 않아야만 하고, 동일한 청구항이 서두 어구 "하나 이상" 또는 "적어도 하나" 그리고 부정관사 "a" 또는 "an" 를 포함할 때조차도 (예를 들어, "a" 및/또는 "an" 은 통상적으로 "적어도 하나" 또는 "하나 이상" 을 의미하는 것으로 파악되어야만 한다); 청구항 기재를 도입하는데 이용된 정관사의 이용에 대해서도 동일하다. 또한, 특정 갯수의 도입된 청구항 인용이 명백하게 인용되는 경우에도, 이러한 인용이 적어도 인용된 갯수를 의미하는 것으로 통상적으로 이해되어야만 한다는 것을 당업자는 파악할 것이다 (예를 들어, 통상적으로 다른 수식어 없이 "2 개의 기재" 의 그대로의 기재는 적어도 2 개의 기재들, 또는 2 개 이상의 기재들을 의미한다). 또한, "A, B, 및 C 중 적어도 하나 등" 과 유사한 관례가 이용되는 예에서, 일반적인 이러한 구성은 당업자가 그 관례를 이해할 것이라는 방식으로 의도된다 (예를 들어, "A, B 및 C 중 적어도 하나를 갖는 시스템" 은 A 하나만을, B 하나만을, C 하나만을, A 와 B 함께, A 와 C 함께, B 와 C 함께, 및/또는 A,B, 및 C 함께 등을 갖는 시스템을 포함하지만 이에 한정하지 않는다). "A, B 또는 C 중 적어도 하나 등" 과 유사한 관례가 이용되는 이러한 예시에서, 일반적인 이러한 구성은 당업자가 그 관례를 이해하는 방식으로 의도된다 (예를 들어, "A, B, 또는 C 중 적어도 하나를 갖는 시스템" 은 A 하나만을, B 하나만을, C 하나만을, A 와 B 함께, A 와 C 함께, B 와 C 함께, 및/또는 A, B 및 C 함께 등을 포함하지만 이에 한정하지 않는다). 또한, 상세한 설명, 청구항들, 또는 도면들에서 2 개 이상의 선택적인 용어들을 나타내는 사실상 임의의 이접적 단어 및/또는 문구는 용어들 중 하나, 용어들, 용어 모두를 포함하는 가능성을 고려하는 것으로 이해되어야만 한다는 것이 당업자에게는 이해될 것이다. 예를 들어, 어구 "A 또는 B" 는 "A" 또는 "B" 또는 "A 및 B" 의 가능성을 포함하는 것으로 이해될 것이다.
본 명세서에서 다양한 양태들 및 실시형태들이 개시되었으나, 당업자에게는 다른 양태들 및 실시형태들이 명백할 것이다. 본 명세서에 개시된 다양한 양태들 및 실시형태들은 설명을 위한 것이고 제한하는 것으로 의도되지 않으며, 진정한 범위 및 사상이 다음의 청구항들에 의해 나타난다.

Claims (21)

  1. 컴퓨팅 디바이스로의 입력으로서 스트리밍 텍스트를 수신하는 단계;
    상기 텍스트가 입력으로서 스트리밍되고 있을 때, 상기 컴퓨팅 디바이스를 통해서, 상기 텍스트 내의 하나 이상의 용어들 (terms) 의 하나 이상의 웹 탐색들에 기초하여 상기 텍스트의 주제에 관련된 적어도 하나의 추론을 결정하는 단계로서,
    상기 텍스트 내의 하나 이상의 용어들의 적어도 하나의 웹 탐색을 자동으로 수행하는 단계;
    히트들의 수를 결정하기 위해 상기 적어도 하나의 웹 탐색의 웹 탐색 결과들을 분석하는 단계;
    상기 히트들의 수가 미리결정된 임계값을 하회하는 경우, 하나 이상의 토픽들을 결정하기 위해 상기 웹 탐색 결과들을 이용하는 단계; 및
    상기 하나 이상의 토픽들에 기초하여 적어도 하나의 추론을 결정하는 단계를 포함하는, 상기 적어도 하나의 추론을 결정하는 단계; 및
    상기 적어도 하나의 추론이 결정되면 상기 적어도 하나의 추론을 자동으로 디스플레이하는 단계를 포함하는, 추론들을 자동으로 결정하는 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 히트들의 수가 미리결정된 임계값을 상회하는 경우, 상기 적어도 하나의 웹 탐색시에 사전에 이용된 것보다 상기 텍스트 내의 용어들의 더 큰 조합을 결정하기 위해 컴퓨터 프로세서를 이용하는 단계; 및
    상기 텍스트 내의 용어들의 더 큰 조합을 이용하여 상기 적어도 하나의 추론을 결정하는 단계를 더 포함하는, 추론들을 자동으로 결정하는 방법.
  5. 제 4 항에 있어서,
    상기 텍스트 내의 용어들의 더 큰 조합들이 이용불가한 것으로 결정되는 경우, 상기 텍스트 내의 용어들의 더 큰 조합을 생성하는데 이용되는 입력으로서 수신될 추가적인 텍스트를 기다리는 단계를 더 포함하는, 추론들을 자동으로 결정하는 방법.
  6. 제 1 항에 있어서,
    상기 텍스트를 생성하는 음성-텍스트 변환이 일어나고 있을 때, 상기 텍스트가 음성-텍스트 컨버터로부터의 입력으로서 자동으로 수신되는, 추론들을 자동으로 결정하는 방법.
  7. 제 6 항에 있어서,
    프로세서를 통해서, 후속 음성 신호들을 해석하는 상기 음성-텍스트 컨버터의 실행을 돕기 위해 상기 음성-텍스트 컨버터에 상기 적어도 하나의 추론을 제공하는 단계를 더 포함하는, 추론들을 자동으로 결정하는 방법.
  8. 추론들을 자동으로 결정하기 위한 명령들을 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 컴퓨터 프로세서에 의해 실행될 때, 상기 컴퓨터 프로세서로 하여금:
    컴퓨팅 디바이스로의 입력으로서 스트리밍 텍스트를 수신하게 하고;
    상기 텍스트가 입력으로서 스트리밍되고 있을 때, 상기 텍스트 내의 하나 이상의 용어들의 하나 이상의 웹 탐색들에 기초하여 상기 텍스트의 주제에 관련된 적어도 하나의 추론을 결정하게 하고;
    상기 적어도 하나의 추론이 결정되면 상기 적어도 하나의 추론을 자동으로 디스플레이하게 하는, 추론들을 자동으로 결정하기 위한 명령들을 포함하고,
    상기 컴퓨터 프로세서로 하여금 적어도 하나의 추론을 결정하게 하는 명령들은, 상기 컴퓨터 프로세서로 하여금:
    상기 텍스트 내의 하나 이상의 용어들의 적어도 하나의 웹 탑색을 자동으로 수행하게 하고;
    히트들의 수를 결정하기 위해 상기 적어도 하나의 웹 탐색의 웹 탐색 결과들을 분석하게 하고;
    상기 히트들의 수가 미리결정된 임계값을 하회하는 경우, 하나 이상의 토픽들을 결정하기 위해 상기 웹 탐색 결과들을 이용하게 하고;
    상기 하나 이상의 토픽들에 기초하여 적어도 하나의 추론을 결정하게 하는 명령들을 포함하는 컴퓨터 판독가능 저장 매체.
  9. 삭제
  10. 삭제
  11. 제 8 항에 있어서,
    상기 컴퓨터 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    상기 적어도 하나의 웹 탐색에 의해 리턴된 상기 히트들의 수가 미리결정된 임계값을 상회하는 경우, 상기 적어도 하나의 웹 탐색시에 사전에 이용된 것보다 상기 텍스트 내의 용어들의 더 큰 조합을 적어도 하나의 다음 웹 탐색시의 탐색 용어들로서 이용하게 하는 추가적인 명령들을 더 포함하는, 추론들을 자동으로 결정하기 위한 명령들을 포함하는 컴퓨터 판독가능 저장 매체.
  12. 제 11 항에 있어서,
    상기 컴퓨터 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    상기 텍스트 내의 용어들의 더 큰 조합들이 이용불가한 것으로 결정되는 경우, 상기 텍스트 내의 용어들의 더 큰 조합을 생성하는데 이용되는 입력으로서 수신될 추가적인 텍스트를 기다리게 하는 추가적인 명령들을 더 포함하는, 추론들을 자동으로 결정하기 위한 명령들을 포함하는 컴퓨터 판독가능 저장 매체.
  13. 제 8 항에 있어서,
    상기 컴퓨터 프로세서로 하여금 입력으로서 상기 스트리밍 텍스트를 수신하게 하는 명령들은, 상기 프로세서로 하여금:
    상기 텍스트를 생성하는 음성-텍스트 변환이 일어나고 있을 때, 음성-텍스트 컨버터로부터의 입력으로서 텍스트를 자동으로 수신하게 하는 명령들을 포함하는, 추론들을 자동으로 결정하기 위한 명령들을 포함하는 컴퓨터 판독가능 저장 매체.
  14. 제 13 항에 있어서,
    상기 컴퓨터 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    후속 음성 신호들을 해석하는 상기 음성-텍스트 컨버터의 실행을 돕기 위해 상기 음성-텍스트 컨버터에 상기 적어도 하나의 추론을 제공하게 하는 명령들을 더 포함하는, 추론들을 자동으로 결정하기 위한 명령들을 포함하는 컴퓨터 판독가능 저장 매체.
  15. 컴퓨팅 디바이스로서,
    프로세서; 및
    상기 프로세서에 커플링되고, 실행가능 명령들을 저장하는 메모리를 포함하고,
    상기 실행가능 명령들은, 실행될 때, 상기 프로세서로 하여금,
    스트리밍 입력으로서 텍스트를 수신하고;
    상기 텍스트가 입력으로서 스트리밍되고 있을 때, 상기 텍스트 내의 하나 이상의 용어들의 하나 이상의 웹 탐색들에 기초하여 상기 텍스트의 주제에 관련된 적어도 하나의 추론을 결정하고;
    상기 적어도 하나의 추론이 결정되면 상기 적어도 하나의 추론을 디스플레이하도록 구성하고,
    상기 프로세서로 하여금 적어도 하나의 추론을 결정하도록 구성하는 명령들은, 상기 프로세서로 하여금,
    상기 텍스트 내의 하나 이상의 용어들의 적어도 하나의 웹 탐색을 자동으로 수행하고;
    히트들의 수를 결정하기 위해 상기 적어도 하나의 웹 탐색의 웹 탐색 결과들을 분석하고;
    상기 히트들의 수가 미리결정된 임계값을 하회하는 경우, 하나 이상의 토픽들을 결정하기 위해 상기 웹 탐색 결과들을 이용하고;
    상기 하나 이상의 토픽들에 기초하여 적어도 하나의 추론을 결정하도록 구성하는 명령들을 포함하는, 컴퓨팅 디바이스.
  16. 삭제
  17. 삭제
  18. 제 15 항에 있어서,
    상기 실행가능 명령들은, 실행될 때, 상기 프로세서로 하여금,
    상기 적어도 하나의 웹 탐색에 의해 리턴된 상기 히트들의 수가 미리결정된 임계값을 상회하는 경우, 상기 적어도 하나의 웹 탐색시에 사전에 이용된 것보다 상기 텍스트 내의 용어들의 더 큰 조합을 적어도 하나의 다음 웹 탐색시의 탐색 용어들로서 이용하도록 추가로 구성하는, 컴퓨팅 디바이스.
  19. 제 18 항에 있어서,
    상기 실행가능 명령들은, 실행될 때, 상기 프로세서로 하여금,
    상기 텍스트 내의 용어들의 더 큰 조합들이 이용불가한 것으로 결정되는 경우, 상기 텍스트 내의 용어들의 더 큰 조합을 생성하는데 이용되는 입력으로서 수신될 추가적인 텍스트를 기다리도록 추가로 구성하는, 컴퓨팅 디바이스.
  20. 제 15 항에 있어서,
    상기 실행가능 명령들은, 실행될 때, 상기 프로세서로 하여금,
    상기 텍스트를 생성하는 음성-텍스트 변환이 일어나고 있을 때, 음성-텍스트 컨버터로부터의 입력으로서 텍스트를 자동으로 수신하도록 추가로 구성하는, 컴퓨팅 디바이스.
  21. 제 20 항에 있어서,
    상기 실행가능 명령들은, 실행될 때, 상기 프로세서로 하여금,
    후속 음성 신호들을 해석하는 상기 음성-텍스트 컨버터의 실행을 돕기 위해 상기 음성-텍스트 컨버터에 상기 적어도 하나의 추론을 제공하도록 추가로 구성하는, 컴퓨팅 디바이스.
KR1020127013481A 2010-03-16 2011-03-07 탐색 엔진 추론 기반 가상 지원 KR101356310B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/724,660 2010-03-16
US12/724,660 US8214344B2 (en) 2010-03-16 2010-03-16 Search engine inference based virtual assistance
PCT/US2011/027390 WO2011115768A2 (en) 2010-03-16 2011-03-07 Search engine inference based virtual assistance

Publications (2)

Publication Number Publication Date
KR20120085865A KR20120085865A (ko) 2012-08-01
KR101356310B1 true KR101356310B1 (ko) 2014-01-28

Family

ID=44648030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127013481A KR101356310B1 (ko) 2010-03-16 2011-03-07 탐색 엔진 추론 기반 가상 지원

Country Status (5)

Country Link
US (4) US8214344B2 (ko)
JP (1) JP5426779B2 (ko)
KR (1) KR101356310B1 (ko)
CN (2) CN105760464A (ko)
WO (1) WO2011115768A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484222B1 (en) 2006-12-01 2013-07-09 Google Inc. Method and apparatus for identifying a standalone location
US8214344B2 (en) 2010-03-16 2012-07-03 Empire Technology Development Llc Search engine inference based virtual assistance
DE102010032229A1 (de) * 2010-07-26 2012-01-26 Elektrobit Automotive Gmbh Technik zum Bestimmen von Points Of Interest für eine Navigationsvorrichtung
US20120047247A1 (en) * 2010-08-18 2012-02-23 Openwave Systems Inc. System and method for allowing data traffic search
US20130273797A1 (en) * 2012-04-17 2013-10-17 E I Du Pont De Nemours And Company Conductive polymer layers grafted onto insulating polymer surfaces
US8984080B1 (en) * 2013-04-09 2015-03-17 Kabam, Inc. Facilitating user configured assistance requests through a chat in a virtual space
US9332043B1 (en) 2013-04-12 2016-05-03 Kabam, Inc. System and method for facilitating user interaction with a virtual space through a graphical chat interface
WO2015178715A1 (en) * 2014-05-23 2015-11-26 Samsung Electronics Co., Ltd. System and method of providing voice-message call service
US9161193B1 (en) * 2014-06-04 2015-10-13 Grandios Technologies, Llc Advanced telephone management
US10572491B2 (en) 2014-11-19 2020-02-25 Google Llc Methods, systems, and media for presenting related media content items
CN117198277A (zh) * 2016-08-12 2023-12-08 奇跃公司 单词流注释
KR101934280B1 (ko) 2016-10-05 2019-01-03 현대자동차주식회사 발화내용 분석 장치 및 방법
US10740373B2 (en) * 2017-02-08 2020-08-11 International Business Machines Corporation Dialog mechanism responsive to query context
US10229683B2 (en) * 2017-03-10 2019-03-12 Soundhound, Inc. Speech-enabled system with domain disambiguation
US10956435B2 (en) * 2017-05-05 2021-03-23 Servicenow, Inc. Global search
DE102017118724A1 (de) * 2017-08-16 2019-02-21 Unify Patente Gmbh & Co. Kg Telekommunikationsendgerät und Verfahren zum Steuern von Medienströmen
US11386131B2 (en) * 2018-05-29 2022-07-12 Microsoft Technology Licensing, Llc System and method for multi-language search
CN111161717B (zh) 2019-12-26 2022-03-22 思必驰科技股份有限公司 用于语音对话平台的技能调度方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844415A (en) 1994-02-03 1998-12-01 Massachusetts Institute Of Technology Method for three-dimensional positions, orientation and mass distribution
JP2007133688A (ja) 2005-11-10 2007-05-31 Nec Corp 文書検索装置、文書検索プログラムおよび文書検索方法
JP2007519047A (ja) 2004-01-20 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 会話の話題を決定して関連するコンテンツを取得して提示する方法及びシステム
US20080005091A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Visual and multi-dimensional search

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL107482A (en) * 1992-11-04 1998-10-30 Conquest Software Inc A method for solving questions in natural language from databases of full texts
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5745899A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing information of a database
US6049796A (en) 1997-02-24 2000-04-11 Nokia Mobile Phones Limited Personal digital assistant with real time search capability
US6101473A (en) 1997-08-08 2000-08-08 Board Of Trustees, Leland Stanford Jr., University Using speech recognition to access the internet, including access via a telephone
AU1039301A (en) * 1999-10-29 2001-05-08 British Telecommunications Public Limited Company Method and apparatus for processing queries
US7725307B2 (en) 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US6816858B1 (en) * 2000-03-31 2004-11-09 International Business Machines Corporation System, method and apparatus providing collateral information for a video/audio stream
US6999932B1 (en) 2000-10-10 2006-02-14 Intel Corporation Language independent voice-based search system
JP4135307B2 (ja) 2000-10-17 2008-08-20 株式会社日立製作所 音声通訳サービス方法および音声通訳サーバ
US20020087312A1 (en) * 2000-12-29 2002-07-04 Lee Victor Wai Leung Computer-implemented conversation buffering method and system
US6993535B2 (en) * 2001-06-18 2006-01-31 International Business Machines Corporation Business method and apparatus for employing induced multimedia classifiers based on unified representation of features reflecting disparate modalities
KR20030012284A (ko) * 2001-07-31 2003-02-12 (주)한국음성도메인센터 사용자 단말기용 웹브라우저와 그 구동방법 및 웹브라우징서비스 시스템
US20030115191A1 (en) * 2001-12-17 2003-06-19 Max Copperman Efficient and cost-effective content provider for customer relationship management (CRM) or other applications
US7398209B2 (en) 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7171351B2 (en) 2002-09-19 2007-01-30 Microsoft Corporation Method and system for retrieving hint sentences using expanded queries
US7729913B1 (en) * 2003-03-18 2010-06-01 A9.Com, Inc. Generation and selection of voice recognition grammars for conducting database searches
BRPI0410362B1 (pt) * 2003-05-16 2017-06-20 Google Inc. Systems and methods of sharing network and network media
KR100781507B1 (ko) * 2003-06-07 2007-12-03 삼성전자주식회사 멀티미디어 데이터 전시 장치 및 전시 방법과 상기 방법을 기록한 기록매체
JP2005010691A (ja) * 2003-06-20 2005-01-13 P To Pa:Kk 音声認識装置、音声認識方法、会話制御装置、会話制御方法及びこれらのためのプログラム
CN1860544A (zh) * 2003-09-25 2006-11-08 三星电子株式会社 显示音频和视频数据的设备和方法以及在其上记录有用于执行该显示方法的程序的存储介质
US20050210042A1 (en) * 2004-03-22 2005-09-22 Goedken James F Methods and apparatus to search and analyze prior art
US7769705B1 (en) * 2004-05-21 2010-08-03 Ray Anthony Luechtefeld Method, artificially intelligent system and networked complex for facilitating group interactions
US7653627B2 (en) * 2005-05-13 2010-01-26 Microsoft Corporation System and method for utilizing the content of an online conversation to select advertising content and/or other relevant information for display
US10585942B2 (en) * 2005-09-14 2020-03-10 Millennial Media Llc Presentation of search results to mobile devices based on viewing history
US7917514B2 (en) * 2006-06-28 2011-03-29 Microsoft Corporation Visual and multi-dimensional search
US7711668B2 (en) * 2007-02-26 2010-05-04 Siemens Corporation Online document clustering using TFIDF and predefined time windows
JP2008293211A (ja) * 2007-05-23 2008-12-04 Hitachi Ltd アイテム推薦システム
JP2009070180A (ja) * 2007-09-13 2009-04-02 Internatl Business Mach Corp <Ibm> 情報の検索を支援する装置及び方法
US7966304B2 (en) * 2007-11-30 2011-06-21 Yahoo! Inc. Enabling searching on abbreviated search terms via messaging
US8078632B1 (en) * 2008-02-15 2011-12-13 Google Inc. Iterated related item discovery
JP2010072507A (ja) * 2008-09-22 2010-04-02 Toshiba Corp 音声認識検索装置及び音声認識検索方法
CN101477556B (zh) * 2009-01-22 2010-09-15 苏州智讯科技有限公司 一种从互联网海量信息中发现热点的方法
US8214344B2 (en) 2010-03-16 2012-07-03 Empire Technology Development Llc Search engine inference based virtual assistance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844415A (en) 1994-02-03 1998-12-01 Massachusetts Institute Of Technology Method for three-dimensional positions, orientation and mass distribution
JP2007519047A (ja) 2004-01-20 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 会話の話題を決定して関連するコンテンツを取得して提示する方法及びシステム
JP2007133688A (ja) 2005-11-10 2007-05-31 Nec Corp 文書検索装置、文書検索プログラムおよび文書検索方法
US20080005091A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Visual and multi-dimensional search

Also Published As

Publication number Publication date
CN103168298B (zh) 2016-03-09
US20120233146A1 (en) 2012-09-13
US9201970B2 (en) 2015-12-01
JP5426779B2 (ja) 2014-02-26
US10380206B2 (en) 2019-08-13
WO2011115768A3 (en) 2013-09-12
CN103168298A (zh) 2013-06-19
US20160004780A1 (en) 2016-01-07
US8214344B2 (en) 2012-07-03
US8495051B2 (en) 2013-07-23
CN105760464A (zh) 2016-07-13
JP2013515328A (ja) 2013-05-02
WO2011115768A2 (en) 2011-09-22
US20130282692A1 (en) 2013-10-24
US20110231379A1 (en) 2011-09-22
KR20120085865A (ko) 2012-08-01

Similar Documents

Publication Publication Date Title
KR101356310B1 (ko) 탐색 엔진 추론 기반 가상 지원
US10666594B2 (en) Proactive intelligent personal assistant
US20230161969A1 (en) Automatically assisting conversations using graph database
US20180247652A1 (en) Method and system for speech recognition processing
US10860289B2 (en) Flexible voice-based information retrieval system for virtual assistant
US10528674B2 (en) Cognitive agent for capturing referential information during conversation muting
CN107005801B (zh) 上下文感知的动态组形成
WO2018039049A1 (en) Multi-turn cross-domain natural language understanding systems, building platforms, and methods
US10757048B2 (en) Intelligent personal assistant as a contact
US20180061393A1 (en) Systems and methods for artifical intelligence voice evolution
WO2020190522A1 (en) Intelligent summaries based on automated learning and contextual analysis of a user input
WO2022250872A1 (en) Enhanced control of user interface formats for message threads based on device form factors or topic priorities
US10313845B2 (en) Proactive speech detection and alerting
US11086592B1 (en) Distribution of audio recording for social networks
US20210264910A1 (en) User-driven content generation for virtual assistant
WO2020232897A1 (zh) 基于数据分析的语料推荐方法、装置、电子设备及计算机非易失性可读存储介质
WO2022076048A1 (en) Automatic enrollment and intelligent assignment of settings

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5