KR20090005058A - 지역 워드 휠링/웹 검색을 위한 통계 정보 기반 분류를 위한 컴퓨터 구현 시스템 및 방법 - Google Patents

지역 워드 휠링/웹 검색을 위한 통계 정보 기반 분류를 위한 컴퓨터 구현 시스템 및 방법 Download PDF

Info

Publication number
KR20090005058A
KR20090005058A KR1020087026116A KR20087026116A KR20090005058A KR 20090005058 A KR20090005058 A KR 20090005058A KR 1020087026116 A KR1020087026116 A KR 1020087026116A KR 20087026116 A KR20087026116 A KR 20087026116A KR 20090005058 A KR20090005058 A KR 20090005058A
Authority
KR
South Korea
Prior art keywords
computer
classification
local
component
computer executable
Prior art date
Application number
KR1020087026116A
Other languages
English (en)
Other versions
KR101312788B1 (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 KR20090005058A publication Critical patent/KR20090005058A/ko
Application granted granted Critical
Publication of KR101312788B1 publication Critical patent/KR101312788B1/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/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/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

지리적 장소 및/또는 기타 통계 정보 기준에 기초하여 한 언어로 된 문장들의 분류를 생성하고 또한 연관된 지역 언어 모델들을 구성하는 시스템 및 방법이 제공되며, 여기서 이러한 지역 언어 모델은 선택된 통계 정보 기준에 따라 서로 다른 입도 레벨을 가질 수 있다. 본 발명은 문장들의 분류(예를 들어, 트리 구조)를 형성하는 분류 인코더 컴포넌트, 및 지역화된 언어 모델들을 구성하기 위해 문장들의 분류를 이용하는 지역 언어 모델 인코더 컴포넌트를 이용한다. 이어서, 디코더 컴포넌트는 사용자 통계 정보와 일치하는 다양한 통계 정보 입도의 지역 언어 모델들로부터 k개의 최상의 대답들을 혼합함으로써 지역 워드 휠링 및/또는 지역 웹 검색을 가능하게 해줄 수 있다. 따라서, 한 통계 정보 지역에 있는 사용자들에 의한 입력 데이터에 대한 k개의 최상의 일치하는 것이 다른 지역에 있는 다른 사용자들에 의한 동일한 입력에 대한 k개의 최상의 일치하는 것과 다를 수 있다.
Figure P1020087026116
지역 언어 모델, 워드 휠링, 분류 인코더, 질의 로그

Description

지역 워드 휠링/웹 검색을 위한 통계 정보 기반 분류를 위한 컴퓨터 구현 시스템 및 방법{DEMOGRAPHIC BASED CLASSIFICATION FOR LOCAL WORD WHEELING/WEB SEARCH}
컴퓨터 하드웨어, 소프트웨어, 및 네트워킹에서의 기술적 진보는 실제로 세계 어느 곳에서도 서로 통신할 수 있는 효율적이고 비용 효과적인 컴퓨팅 시스템을 제공하였다. 이러한 시스템은 인터넷에 액세스하여, 이를 브라우징 및 검색하고, 이메일 메시지를 작성, 전송 및 수신하며, 문서를 보고 편집하며, 텍스트 메시지, 인스턴트 메시지, 기타 등등을 전송 및 획득하는 데 이용된다. 예를 들어, 사용자는 셀룰러 전화 및 PDA(personal digital assistant)를 이용하여, 영화 시간을 알아보기 위해 인터넷을 검색하고 이메일, 텍스트 메시지, 또는 인스턴트 메시지를 전송함으로써 특정의 전시회에 친구를 초대할 수 있다.
키보드, 마우스, 터치 감응 스크린, 펜 장치, 광학 문자 인식(optical character recognition), 음성 인식, 기타 등등을 사용하여 데이터를 입력하는 등, 이러한 장치들에 정보를 입력하기 위해 다양한 기법들이 이용되어 왔다. 예를 들어, 종래의 시스템은 종종 호스트 장치의 유형 - 퍼스널 컴퓨터인지 랩톱인지 기타 등등인지 - 에 따라 크기가 달라질 수 있는 키보드를 이용하고 있으며, 이러한 장치들은 QWERTY 레이아웃(각각의 영숫자 문자가 각자의 키와 연관되어 있을 수 있 음)에 기초한 키보드를 이용할 수 있는 반면, 셀룰러 전화는 다수의 알파벳 문자가 하나의 키를 숫자 문자와 공유하도록 더 적은 수의 키를 포함할 수 있다. 예를 들어, 셀룰러 전화 키패드 상의 "2" 키는 통상 문자 "A", "B" 및 "C"와 연관되어 있다.
게다가, 제한된 키보드로 텍스트를 입력하기 위해 복수의 기법들이 흔히 이용되지만, 2개 이상의 영숫자 문자가 특정의 키와 연관되어 있는 경우 모호함이 있게 된다. 예를 들어, 다중-탭 방식(multiple-tap approach)이 구현될 수 있는데, 이 방식에서 사용자는 원하는 문자 또는 숫자를 입력하기 위해 숫자 키를 여러번 누른다. 그에 따라, 숫자 2를 입력하기 위해서는 "2" 키를 한번 누르고, 문자 A를 입력하기 위해서는 두번 누르며, 문자 B를 입력하기 위해서는 세번 누르고, 문자 C를 입력하기 위해서는 네번 누를 수 있다. 잠깐 멈추었다가 커서를 이동시키는 키(예를 들어, 화살표키)를 누르는 것은 서로 다른 영숫자 문자를 구별하는 데 도움을 줄 수 있다. 그렇지만, 이러한 기법은 통상 시간이 많이 걸리고 사용자에게 비효율적인데, 그 이유는 하나의 영숫자 문자를 입력하기 위해 하나의 키를 여러번 누를 수도 있기 때문이다. 숫자키로 텍스트를 입력하는 다른 통상의 방법은 단일탭 방식(single-tap approach)이며, 이 방식에서 사용자는 원하는 문자와 연관된 숫자키를 한번 누른다. 그 후에, 예를 들어, 단어와 상응하는 문자 시퀀스를 메모리에 저장된 시퀀스에 대응시킴으로써 입력된 문자가 명확하게 된다. 따라서, 단어 "cell"을 입력하기 위해, 사용자는 시퀀스 2-3-5-5를 누를 수 있고, 이 시퀀스가 메모리 내의 저장된 시퀀스와 비교될 수 있다. 단일탭 방식이 텍스트를 입력하 는 더 효율적인 방식을 제공할지라도, 이 방식은 단점들이 있다.
통상적으로, 종래의 웹 검색 및 (검색 질의의 입력을 지원하기 위한) 다중-워드 휠링(multi-word wheeling) 둘다는 인기도 기준 및/또는 미리 정해진 척도에 따라 웹 페이지 및 질의에 순위를 매길 수 있는 언어 모델(또는 인덱스)에 기초하고 있다. 일반적으로, 이러한 애플리케이션의 비지역 버전(non-local version)은 하나의 범용 언어 모델과 상호작용하고, 따라서 검색 또는 워드-휠링이 장소와 상관없이 동일한 입력에 대해 동일한 대답을 제공한다(예를 들어, 사용자가 동일한 질의를 시애틀에서 하든지 뉴욕에서 하든지간에 동일한 결과가 얻어진다). 언어 모델 컴포넌트는 통상적으로 어떤 언어 모델(예를 들어, 단어들의 시퀀스에 대해 정의된 확률 분포)이라도 이용할 수 있다. 예를 들어, 트라이그램 언어 모델(trigram language model)이 이용될 수 있다. 그에 부가하여, 제한된 언어 모델(restricted language model)이 이용될 수 있다. 일례에 따르면, 웹 질의에 이용되는 언어 모델은 질의의 목록 및 이와 연관된 확률에 기초할 수 있다. 다른 예에 따르면, 암시적 및/또는 명시적 와일드카드(들)를 확장하는 것과 관련하여 음절 요소(syllabic element)를 토대로 하는 언어 모델이 이용될 수 있다.
이하에서는 본 명세서에 기술된 어떤 측면들에 대한 기본적인 이해를 제공하기 위해 간략화된 요약을 제공한다. 이 요약은 청구된 발명 대상의 전반적인 개요가 아니다. 이 요약은 청구된 발명 대상의 주요한 또는 중요한 요소들을 확인하기 위한 것이 아니며 청구된 발명 대상의 범위를 정하기 위한 것도 아니다. 그의 유일한 목적은 나중에 제공되는 더 상세한 설명에 대한 서문으로서 어떤 개념들을 간략화된 형태로 제공하는 데 있다.
본 발명은 분류 인코더 컴포넌트(classification encoder component)(통계 정보에 따라 문장들의 분류 - 예를 들어, 트리 구조 - 를 형성함), 지역 언어 모델 인코더 컴포넌트(local language models encoder component)(지역 언어 모델의 연관된 인코딩을 생성함), 및 분류 구조 및 지역 언어 모델에 기초하여 사용자에 의해 주어진 입력 데이터(예를 들어, 검색 질의의 일부)에 대한 통계 정보와 관련된 일치하는 것(demographic relevant match)을 효율적으로 찾아내는 디코더 컴포넌트(decoder component)를 이용함으로써, 미리 정해진 통계 정보 기준(demographic criteria)과 연관된 지역 워드 휠링(local word wheeling) 및 지역 웹 검색(local web search)을 가능하게 해주기 위해, 통계 정보(demographics)에 기초한 한 언어로부터의 문장의 분류(예를 들어, 트리 구조 형태의 질의 로그 및 시간, 공간, 기타 사용자 통계 정보, 기타 등등에 기초한 질의 로그의 평탄화)를 제공한다. 문장은 서로 다른 통계 정보(예를 들어, 공간, 시간, 기타)와 연관된 언어 모델에서 서로 다른 확률을 가질 수 있다. 따라서, 한 지역에 있는 사용자들에 의한 입력 데이터에 대한 k-best 확장(k-best expansion)은 다른 지역에 있는 다른 사용자들에 의한 동일한 입력에 대한 k-best 확장과 다를 수 있다. 이렇게 함으로써 시스템 자원을 효과적으로 사용하면서 통계 정보 기준에 기초하여 효율적인 질의 또는 검색이 수행될 수 있게 된다.
이 인코더 컴포넌트는 (예를 들어, 사용자의 위치, 시간, 기타 통계 정보, 기타 등등의 기준에 기초하여) 문장들(로그로부터의 질의들)을 선택적으로 획득하거나 마이닝함으로써 문장들의 로그(예를 들어, 질의 로그)에 저장되어 있는 정보를 이용하고, [예를 들어, 루트 노드(root node) 및 리프(leaf)를 갖는 트리 구조 형태의] 분류 형식에 기초하여 이러한 데이터를 요약한다(여기서, 노드 또는 리프는 직사각형 형태 등으로 된 지역을 정의하는 위도 및 경도에 의해 식별가능한 지역으로부터 나온 질의를 나타낼 수 있음). 이러한 분류는 차후에 문장들을 이 분류와 연관된 서로 다른 레벨로 이동시킴으로써 평탄화될 수 있고, 이 경우 상당히 많은 수의 사용자가 관심을 갖는 문장들이 특정의 통계 정보를 갖는 사용자가 관심을 갖는 문장들(분류의 하위 레벨로 이동됨)보다 상위 레벨로 이동된다[예를 들어, 상당히 많은 수의 사용자(대륙 또는 국가 등)가 관심을 갖는 질의를 트리 구조에서 위쪽으로 이동시키는 반면, 상당히 적은 수의 사용자(도시, 도시 내의 이웃 등)가 관심을 갖는 질의는 트리의 하위 부분으로 이동됨].
한 특정의 측면에 따르면, 이 분류 트리 구조는 유의 수준(significance criterion)에 따라 향상된 평탄화를 갖는 Kd-트리(Kd-tree) 형태로 되어 있을 수 있다. 이 디코더 컴포넌트는 이어서, 예를 들어, 지역적으로, 국가적으로, 또는 전세계적으로 관심을 갖는 결과를 생성하기 위해 워드 휠링 및/또는 검색에서 이러한 트리 구조를 이용할 수 있다. 따라서, 각각의 노드는, 사용자에 의해 입력된 명시적/암시적 와일드카드에 대한 k-best 확장을 제공하기 위해, 지역에 기초하여 그 노드에 적응되어 있는 언어 모델을 가질 수 있다.
이하의 설명 및 첨부 도면은 청구된 발명 대상의 어떤 예시적인 측면들을 상세히 기술하고 있다. 그렇지만, 이들 측면은 본 발명의 원리들이 이용될 수 있는 다양한 방식들 중 단지 몇개만을 나타낸 것이며, 청구된 발명 대상은 이러한 측면들 및 이들의 등가물 전부를 포함하는 것으로 보아야 한다. 다른 이점들 및 새로운 특징들은 도면과 관련하여 살펴볼 때 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 문장들(예를 들어, 질의 로그)로부터의 질의를 분류 트리 구조로 인코딩하고 이러한 문장들의 분류를 트리 구조 내의 노드들과 연관된 지역 언어 모델로 추가적으로 인코딩하는 예시적인 시스템의 블록도.
도 2는 본 발명의 한 측면에 따라 평탄화되는 트리 구조를 나타낸 도면.
도 3은 본 발명의 한 측면에 따라 트리 구조를 획득하기 위한 특정의 인코딩 방법을 나타낸 도면.
도 4는 본 발명의 한 측면에 따라 트리 구조를 디코딩하는 다른 방법을 나타낸 도면.
도 5는 트리 구조의 평탄화를 용이하게 해주기 위해 인공 지능 컴포넌트를 이용할 수 있는 예시적인 인코더/디코더 시스템을 나타낸 도면.
도 6은 지역화된 언어 모델 컴포넌트(localized language model component)에 기초하여, 입력 데이터를 확장하는 시스템을 나타낸 도면.
도 7은 본 발명의 한 측면에 따른, 지역화된 언어(localized language)에 기초하여 입력 데이터에 암시적 와일드카드(implicit wildcard)를 삽입하는 시스템을 나타낸 도면.
도 8은 지역 관심사에 기초하여 입력 데이터의 확장을 용이하게 해주는 방법을 나타낸 도면.
도 9는 청구된 발명 대상에 따라 이용될 수 있는 예시적인 운영 환경을 나타낸 도면.
도 10은 청구된 발명 대상의 다양한 새로운 측면들이 이용될 수 있는 예시적인 네트워킹 환경을 나타낸 도면.
이제부터, 본 발명의 다양한 측면들에 대해 첨부 도면을 참조하여 기술할 것이며, 도면 전체에 걸쳐 유사한 참조 번호가 유사한 또는 대응하는 구성요소를 나타내고 있다. 그렇지만, 도면 및 도면에 관한 상세한 설명이 청구된 발명 대상을 개시되어 있는 특정의 형태로 제한하려는 것이 아님을 잘 알 것이다. 오히려, 청구된 발명 대상의 정신 및 범위 내에 속하는 모든 수정, 등가물 및 대안 모두를 포함하는 것으로 보아야 한다.
도 1은 한 언어로 된 문장들의 분류를 생성하고 또한 지리적 위치 및/또는 다른 통계 정보 기준에 기초하여 연관된 지역 언어 모델들을 구축하는 시스템(100)을 나타낸 것이며, 이러한 지역 언어 모델들은 선택된 통계 정보 기준에 따라 서로 다른 레벨의 입도를 가질 수 있다. 일반적으로, 언어는 문법에 의해 발생되는 일련의 문장(문자열이라고도 함)이다. 이러한 문법은 유한 상태 문법(finite state grammar), 문맥 자유 문법(context free grammar), 또는 단지 목록(질의 로그로부 터의 질의들의 목록 등)으로서 존재할 수 있다. 그에 부가하여, 언어 모델은 그 언어로 된 문장들 각각을 확률과 연관시키고 있다. 시스템(100)은 지역 언어 모델(110)(1 내지 n, 단 n은 정수임)을 제공한다. 이러한 지역 언어 모델[지역화된 언어 모델(110)]은 문장들의 확률이 통계 정보(예를 들어, 시간, 공간, 기타 사용자 통계 정보, 기타)에 의존하는 언어 모델이다. 도 1에 나타낸 바와 같이, 분류 인코더 컴포넌트(104)에 의해 문장들(102)(예를 들어, 질의 로그)로부터 생성되는 분류(106)(예를 들어, 트리 구조)의 형태로 인코딩함으로써 또한 지역화된 언어 모델을 구축하기 위해 문장들의 분류(106)를 사용하는 지역 언어 모델 인코더(108)를 통해, 다양한 통계 정보 입도의 지역 언어 모델의 구축이 용이하게 된다.
인코딩된 분류 구조 및 연관된 지역 언어 모델을 이용함으로써, 디코더 컴포넌트(도시 생략)는 이어서 다양한 통계 정보 입도의 지역 언어 모델들로부터의 대답들을 혼합함으로써 지역 워드 휠링 및/또는 지역 웹 검색을 가능하게 해줄 수 있으며, 이에 대해서는 이하에서 상세히 기술한다. 이러한 디코더 컴포넌트는 지역화된 워드 휠링 및/또는 웹 검색을 가능하게 해주기 위해 이 시스템을 이용하여 분류 구조 및 사용자의 통계 정보에 따라 특정의 언어 모델들을 혼합할 수 있다. 예를 들어, 시애틀에 있는 사용자에 의해 시작된 "동물원"에 대한 검색 질의는, 비지역화된 언어 모델(non-localized language model)을 이용하는 종래의 검색 시스템 - 이러한 종래의 검색은 (통상적으로 시애틀에 위치하는 동물원이 아닌) 미국 및/또는 세계에서 가장 인기있는 동물원을 반환할 가능성이 있음 - 과 비교하여, (시애틀로부터 멀리 떨어져 있는 장소들에 있는 다른 결과물들에 부가하여) 시애틀 동 물원 등의 대답을 검색할 수 있다. 그에 따라, 본 발명은 한 장소에 있는 사용자들에 의한 입력 데이터에 대한 k-best 확장(k-best expansion)이 다른 장소에 있는 다른 사용자들에 의한 동일한 입력에 대한 k-best 확장과 다르도록 해줄 수 있다. 이렇게 함으로써 시스템 자원을 효과적으로 사용하면서 효율적인 질의 또는 검색이 수행될 수 있게 된다. 인코더 컴포넌트(104)는 (예를 들어, 사용자의 위치, 시간, 기타 통계 정보, 기타 등등의 기준에 기초하여) 문장들(102)로부터 질의를 선택적으로 획득하거나 마이닝함으로써 이러한 문장들(102)(예를 들어, 질의 로그)에 저장되어 있는 정보를 이용하고, 분류(106)(예를 들어, 트리 구조)의 형식으로 이러한 데이터를 요약한다. 도 1에 나타낸 바와 같이, (특정의 분류를 나타내는) 예시적인 트리 구조는 임의적인 팬아웃(fan out) 및/또는 비이진 분기 및 깊이(non binary branching and depths)를 가능하게 해줄 수 있다. (트리 구조 이외의) 기타 분류 구조도 이용될 수 있고 본 발명의 범위 내에 속한다는 것을 잘 알 것이다.
도 2는 본 발명의 특정 측면에 따른 트리 구조(200) 형태의 분류의 특정의 측면을 나타낸 것이다. 이 구조 내의 노드는 (예를 들어, 직사각형 형태의) 지역을 정의하는 위도(들) 및 경도(들)에 의해 식별가능한 지역으로부터 나온 질의를 나타낼 수 있다. 노드가 트리(200)에서 아래쪽에 있을수록, 그 노드는 더 특정된 지역을 나타낸다. 이어서 유의 수준(significance criteria)에 기초하여 노드들 간에[예를 들어, 노드(207)로부터 그의 부모 노드(204)로, 이어서 204에서 203으로, 또 203에서 202로] 질의를 이동시킴으로써 트리 구조(200)가 평탄화될 수 있고, 가장 일반적인 질의/요소가 트리(200)의 루트(대륙 또는 국가와 같이 상당히 큰 통계 정보 사용자 그룹이 관심을 갖는 질의) 쪽으로 이동하는 반면, 상당히 작은 통계 정보 사용자 그룹(예를 들어, 도시, 도시 내의 이웃, 기타)이 관심을 갖는 질의는 트리의 하위 부분에 존재한다.
트리 구조(200)는 유의 수준에 따라 향상된 평탄화를 갖는 Kd-트리(Kd-tree)의 형태로 되어 있을 수 있으며, 이에 대해 이하에서 상세히 기술한다. 장소에 기초한 언어 모델을 구축하기 위해 지역 언어 모델에 의해 질의의 트리 구조가 이용될 수 있다. 따라서, 각각의 노드는 장소에 기초하여 그 노드에 적응되어 있는 언어 모델을 가질 수 있다. 따라서, 디코더 컴포넌트는, 예를 들어, 지역적으로, 국가적으로 또는 세계적으로 관심을 갖는 결과물들을 생성 또는 혼합하기 위해 워드 휠링에서 연관된 지역 언어 모델을 갖는 이러한 트리 구조를 이용할 수 있다. 결과물들은 사용자에 의해 입력된 명시적/암시적 와일드카드를 갖는 텍스트 문자열에 대한 k-best 확장의 형태로 되어 있을 수 있다.
본 발명의 한 특정의 측면에 따르면, 요소들의 목록이 제공될 수 있으며, 각각의 요소는 빈도수, 질의, 위도, 경도, 및 기타 통계 정보를 포함할 수 있다. 장소 트리(location tree)는 전세계(또는 적용될 미리 정해진 영역)를 타일들로 분할하는 이진 트리 형태로 되어 있을 수 있다. 본 발명은 트리의 서로 다른 레벨에서 위도의 분할과 경도의 분할을 교대로 할 수 있다. 분할의 양측에서 요소들에 대한 빈도수의 합이 여전히 동일하도록 분할이 생성될 수 있다. 그에 따라, 요소들이 이러한 요소들에 대한 위도 및 경도 요소에 따라 트리 내의 리프들로 분할될 수 있다.
예를 들어, 리프(210)는 시애틀 지역에 대응할 수 있고, 리프(207)는 마이애미지역일 수 있다. 리프(210)는 이러한 지역과 관련한 모든 질의 및 그의 빈도수를 포함할 수 있다. 이론적으로는, 각각의 장소에서 언어 모델이 구축될 수 있고, 이어서 텍스트를 입력하는 사용자의 장소에 따라 이용할 적당한 언어 모델이 선택될 수 있다. 이러한 방식은 조정된 장소 트리를 생성함으로써 향상될 수 있으며, 이 조정된 장소 트리에서, 유사한 요소들을 트리에서 상방으로 (재귀적으로) 승격시킴으로써 리프들 상의 분산된 요소들이 솎아진다. 2개의 형제(예를 들어, 206, 207)에 있는 동일한 질의에 대한 빈도수가 유사한 경우(그렇지만 똑같을 필요는 없음), 2개의 요소 둘다는 장소 트리에서 그 각자의 부모로 승격된다. 그에 따라, 이러한 경우, 형제들에 있는 요소들을 삭제(빈도수를 0으로 설정하는 것과 동일함)하고 이어서 그 대신에 부모에 요소(그렇지만, 빈도수는 형제들에 있는 실제 빈도수의 합과 같음)를 삽입함으로써 승격이 수행된다. 그렇지 않고, 빈도수가 유사하지 않은 경우, 부모에 요소(빈도수는 2개의 빈도수 중 작은 것의 2배임)를 삽입하고 이어서 양쪽 형제로부터 이러한 빈도수를 차감(0 값을 갖는 최소 빈도수 형제를 남겨둠, 사실상 이러한 형제로부터 그 요소를 삭제)함으로써 가장 작은 빈도수를 갖는 형제가 승격될 수 있다. 일반적으로, 형제의 승격에 관해 결정할 때 빈도수의 유사성에 대한 타당한 검정이 이용될 수 있고 이러한 선택이 부분적으로, 예를 들어, 응용에 의존한다는 것을 잘 알 것이다.
게다가, 예를 들어, 일어날 가능성이 똑같다는 가설 하에서 작은쪽 빈도수가 높은쪽 빈도수보다 작다는 대안의 가설에 배정된 (단측) 유의 수준을 반환하는 "부 호 검정(sign test)"이 구현될 수 있다. 이러한 가설(H0)은 따라서 p=0.5를 갖는 이항 분포(Binominal distribution)를 나타낼 수 있고, 유의 수준은 작은 빈도수(예를 들어, <=50)에 대해 계산될 수 있는 (단측) 이항 꼬리(Binomial tail)와 같다. 높은 빈도수의 경우, 이항 분포는 사실상 정규 분포로 근사화될 수 있다. 따라서, 유의 수준은 보다 지역적인 노드(예를 들어, 206, 207)로부터 보다 전역적인 노드(예를 들어, 204)로의(예를 들어, 리프에서 루트 쪽으로의) 요소들의 승격 정도를 결정할 수 있다. 작은 유의 수준의 경우, 2개의 빈도수가 유사하다는 H0 가설을 위반하기가 더 어렵고, 이 경우에 요소들은 장소 트리에서 위쪽으로 이동할 가능성이 더 많다. 통상적으로 장소 트리에서의 모든 검정에 대해 하나의 유의 수준이 이용될 수 있다. 다른 대안으로서, 다음과 같이 유의 수준 조정을 이용함으로써 Bonferroni-유사 방식으로 유의 수준이 조정될 수 있다.
Figure 112008073986959-PCT00001
여기서, α는 선택된 유의 수준이고, D는 트리에서의 깊이이며, 예를 들어,
Figure 112008073986959-PCT00002
이다.
상기한 승격 방식에 따라 요소들을 재분포시키면, 장소 트리 내의 각각의 노드에 대한 언어 모델이 생성될 수 있다. 작은 유의 수준의 경우, 이 구조 내의 많은 리프 노드에서의 언어 모델들은 통상적으로 상당히 작으며, 진정으로 지역적인 정보만을 포함할 수 있다. 트리에서 위쪽으로 감에 따라, 언어 모델은 더 큰 영역을 포함하고, 루트는 장소에 상관없이 똑같을 수 있는 정보를 포함하게 된다. 예를 들어, 질의 "피자"는 루트에 나타날 수 있는 반면, 장소에 관련된 "Joe의 피자 가게"는 이 특정의 피자 가게의 장소에 대응하는 리프에 나타나게 된다.
장소 트리(200)는 트리에서의 각각의 노드에 지역화된 언어 모델을 가질 수 있다. 이러한 지역화된 언어 모델 각각은 범용/비지역적 WildThing(또는 Search)에 이용되는 유형과 동일한 유형일 수 있지만, 개개의 모델은 통상적으로 상당히 작다. 그에 따라, 디코더는 텍스트 입력에 대한 k개의 최상의 일치하는 것(k best match)을 검색하기 위해 언어 모델들의 장소 트리를 이용할 수 있다. 예를 들어, 특정의 장소가 주어지면, 본 발명은 (특정의 통계 정보 장소와 연관된) 트리의 리프 노드에서 트리의 루트 노드까지의 경로에 있는 모든 노드에서 k개의 최상의 일치하는 것 및 이들의 빈도수를 알아낼 수 있다. 2006년 1월 17일자로 출원된 미국 특허 출원 제11/332,954호 및 제11/333,846호(이들은 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함됨)의 범용 WildThing (또는 Search)과 동일한 방법이 어떤 모델의 특정의 노드에서 일치하는 것을 찾아내는 데 이용될 수 있다. k개의 최상의 일치하는 것 중 어떤 것들은 서로 다른 노드들에 걸쳐 동일할 수 있는 반면, 다른 것들은 그렇지 않을 수 있다. 한 노드에서는 k개의 최상의 일치하는 것 중에 있지만 다른 노드에서는 그렇지 않은 일치하는 것에 대해, k개의 최상의 일치하는 것 중에 있지 않은 노드들에 대해 특별히 이러한 일치하는 것 및 그와 연관된 빈도수가 탐색되어야만 한다. 모든 고유의 일치하는 것들에 대해, 이러한 일련의 일치 하는 것들에서, 각각의 노드에서의 일치하는 것에 대한 빈도수들이 가산될 수 있고, 특정의 장소에서의 평균 기여를 반영하기 위해 지역화 트리의 중간 노드들에서 빈도수들에 대한 할인이 달성된다. 이러한 할인된 빈도수는 다음과 같이 계산될 수 있다.
빈도수 <- 빈도수 / (2^L)
여기서, L은 중간 노드에서 리프까지의 경로의 길이이다.
앞서 설명한 바와 같이, 본 발명은 지리적 장소에 제한되지 않으며, 시간, 시간 및 공간, 그리고 기타 통계 정보 기준 등의 다른 기준도 이용될 수 있다. 따라서, 가장 일반적인 질의는, 상당히 큰 통계 정보 사용자 그룹이 관심을 갖는(예를 들어, 대륙 또는 국가, 기타 등등이 관심을 갖는) 질의를 트리 구조 위쪽으로 이동시키는 것과 같이, 트리의 최상단으로 이동할 수 있는 반면, 도시, 도시에서의 이웃, 기타 등등의 상당히 작은 통계 정보 사용자 그룹이 관심을 갖는 질의는 트리의 하위 부분으로 이동한다.
도 3은 본 발명의 한 측면에 따른 관련 방법(300)을 나타낸 것이다. 본 명세서에서 예시적인 방법이 여러가지 이벤트 및/또는 동작을 나타내는 일련의 블록으로 도시되고 기술되어 있지만, 본 발명은 이러한 블록들의 예시된 순서에 의해 제한되지 않는다. 예를 들어, 어떤 동작 또는 이벤트가 본 발명에 따라, 본 명세서에 예시된 순서 이외에, 다른 순서로 및/또는 다른 동작 또는 이벤트와 동시에 일어날 수 있다. 그에 부가하여, 예시된 블록, 이벤트 또는 동작이 본 발명에 따른 방법을 구현하는 데 다 필요한 것은 아니다. 게다가, 본 발명에 따른 예시적인 방법 및 기타 방법이 본 명세서에 예시되고 기술된 방법과 관련해서는 물론 예시되거나 기술되지 않은 기타 시스템 및 장치와 관련해서도 구현될 수 있다는 것을 잘 알 것이다. 먼저, 302에서, 언어(예를 들어, 질의 로그로부터 수집된 질의들)로부터 문장들이 수집될 수 있고, 이러한 문장들은 이어서 304에서 통계 정보(예를 들어, 이러한 질의가 나온 지리적 장소에 기초하여, 트리 구조를 형성하기 위해 노드들 간에 분산되어 있음)에 기초하여 분류된다. 지리적 장소에 기초한 질의의 분포는 예시적인 기준을 나타내며 다른 통계 정보 기준도 노드들 간의 이러한 분포 및 트리 형성을 위해 이용될 수 있다는 것을 잘 알 것이다. 306에서, 이러한 분류에 기초하여 문장들로부터의 데이터가 요약될 수 있다(예를 들어, 질의 로그가 트리 구조의 형태로 요약된다). 이어서, 308에서, 유의 수준에 기초하여 서로 다른 레벨들 간에 문장들을 이동시킴으로써(예를 들어, 트리의 하위 부분에 있는 노드로부터 상위 부분으로 질의를 이동시킴으로써) 이러한 분류가 평탄화될 수 있다.
도 4는 본 발명의 한 측면에 따른, 트리의 형태로 된 특정의 분류에 대한 특정의 평탄화 방법(400)을 나타낸 것이다. 먼저, 402에서, 자식 노드가 식별될 수 있다. 이어서, 404에서, 이러한 노드에서의 질의들 중 어떤 것이 트리 위쪽으로 승격되는지를 검증하기 위해 부모 노드를 공유하는 자식 노드들이 미리 정해진 기준(예를 들어, 유의 검정 수준)에 기초하여 비교된다. 406에서, 한 노드에서의 질의 빈도수가 형제 자식 노드에서보다 상당히 더 큰지를 판정한다. (미리 정해진 기준에 기초하여 계산되는 바와 같이) 질의의 카운트가 2개의 자식 노드 중 하나에서 상당히 더 큰 경우, 410에서, 이러한 질의의 카운트가 부분적으로 승격될 수 있 다, 예를 들어, 양쪽 형제 중에서, 형제들에서의 질의에 대한 최저 카운트를 승격시킨다. 예를 들어, 최좌측 형제가 특정의 질의에 대해 3의 카운트를 얻고 최우측 형제가 동일한 질의에 대해 카운트 13을 갖는 경우, 3의 카운트가 이러한 형제들 각각으로부터 부모로 이동되고, 따라서 부모 노드에 형제들과 연관된 카운트 6이 남게 된다. 이러한 부분 승격에 의해, 최우측 형제는 이어서 카운트 10을 포함하고 최좌측 형제는 카운트 0을 갖게 된다. 다른 대안으로서, 자식 노드들에서의 질의의 비교가 비교적 동일한 카운트를 나타내는 경우(또는 차이가 미리 정해진 문턱값보다 낮은 경우), 이 질의에 대한 카운트가 양쪽 자식으로부터 부모 노드로 승격된다. 따라서, 노드를 위쪽으로 이동시키기 위한 유의 수준이, 예를 들어, 사용자들 간의 인기도 기준과 비슷할 수 있다. 일반적으로, 최상위 노드는 모든 사용자에게(예를 들어, 사용자 통계 정보에 상관없이) 인기있는 질의를 포함하게 된다. 형제의 승격에 관하여 결정을 할 때 빈도수의 유사성에 대한 타당한 검정이 이용될 수 있다는 것을 잘 알 것이다.
관련 측면에서, 질의 로그로부터 평탄화된 트리를 생성하는 것을 용이하게 해주기 위해 인공 지능(AI) 컴포넌트가 이용될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "추론"은 일반적으로 이벤트 및/또는 데이터를 통해 포착된 일련의 관찰 결과로부터 시스템, 환경, 및/또는 사용자의 상태를 추리 또는 추론하는 프로세스를 말한다. 추론은 특정의 상황 또는 동작을 식별하는 데 이용될 수 있거나, 예를 들어, 상태들에 대한 확률 분포를 발생할 수 있다. 이 추론은 확률적일 수 있다, 즉 관심의 상태들에 대한 확률 분포의 계산이 데이터 및 이벤트의 고려에 기초할 수 있다. 추론은 또한 일련의 이벤트 및/또는 데이터로부터 상위 레벨 이벤트를 구성하는 데 이용되는 기법을 말할 수 있다. 이러한 추론의 결과, 이벤트들이 시간상 근접하여 상관되어 있든지 또한 이벤트 및 데이터가 하나 또는 몇개의 이벤트 및 데이터 소스로부터 온 것이든지 간에, 일련의 관찰된 이벤트 및/또는 저장된 이벤트 데이터로부터 새로운 이벤트 또는 동작이 구성된다.
도 5는 인코더 컴포넌트(502)(노드들의 분류 구조에서의 장소에 따라 문장들을 대체하는 것 및 연관된 지역 언어 모델을 구축하는 것을 용이하게 해줌) 및 디코더 컴포넌트(504)(구성된 인코딩에 따라 사용자에 의한 입력의 확장 - 이하에서 상세히 기술함 - 을 용이하게 해줌)와 상호작용할 수 있는 인공 지능 컴포넌트(510)를 나타낸 것이다. 예를 들어, 문장을 분류(예를 들어, 트리 구조) 위쪽으로 언제 승격시켜야 하는지를 결정하는 프로세스는 자동 분류기 시스템 및 프로세스를 통해 용이하게 될 수 있다. 분류기는 입력 속성 벡터 x = (xl, x2, x3, x4, xn)을 입력이 부류(class)에 속할 신뢰도(confidence)에 매핑하는 함수이다. 즉, f(x) = confidence(class)이다. 이러한 분류는 사용자가 자동적으로 수행되기를 원하는 동작을 예측 또는 추론하기 위해 확률 및/또는 통계-기반 분석(예를 들어, 분석 유틸리티 및 비용을 고려함)을 이용할 수 있다.
지원 벡터 기계(support vector machine, SVM)는 이용될 수 있는 분류기의 일례이다. SVM은 가능한 입력들의 공간에서 초곡면(hypersurface)을 찾는 동작을 하며, 이 초곡면은 트리거링 기준(triggering criteria)을 비트리거링 이벤트(non-triggering event)로부터 분리시키려고 시도한다. 직관적으로, 이것은 분류를 훈 련 데이터와 같지는 않지만 그에 가까운 테스트 데이터에 적당하게 만들어 준다. 다른 유향(directed) 및 무향(undirected) 모델 분류 접근방법은, 예를 들어, NB(naive Bayes), 베이지안 네트워크, 결정 트리, 신경망, 퍼지 논리 모델을 포함하며, 다른 독립성 패턴을 제공하는 확률적 분류 모델이 이용될 수 있다. 분류는, 본 명세서에서 사용되는 바와 같이, 우선순위 모델을 개발하는 데 이용되는 통계적 회귀(statistical regression)도 포함한다.
본 명세서로부터 잘 알 것인 바와 같이, 본 발명은 (예를 들어, 범용 훈련 데이터를 통해) 명시적으로 훈련되는 것은 물론 (예를 들어, 사용자 거동을 관찰하거나 외부 정보를 수신함으로써) 암시적으로 훈련되는 분류자를 이용할 수 있다. 예를 들어, SVM은 분류자 구성자 및 특징 선택 모듈 내에서 학습 또는 훈련 단계를 통해 구성된다. 따라서, 분류자(들)는 미리 정해진 기준에 따라 이전의 추론된 스키마를 언제 갱신 또는 조정할지를 결정하는 것, 처리되는 데이터의 종류에 기초하여 추론 알고리즘에 대한 기준을 강화하는 것, 및 몇시에 더 엄격한 기준 제어를 구현할지를(이에 한정되지 않음) 비롯한, 다수의 함수를 자동적으로 학습 및 수행하는 데 사용될 수 있다.
도 6은 지역화된 언어 모델 컴포넌트(606)에 기초하여 입력 데이터를 확장하는 시스템(600)을 나타낸 것이다. 이 지역화된 언어 모델 컴포넌트(606)는 범용 대답을 지역 대답(지역 사용자가 상당히 큰 관심을 가지고 있음)과 혼합할 수 있다. 이러한 지역화된 언어 모델 컴포넌트(606)는 다양한 언어 모델을 포함하고 있으며, 여기서 문장들의 확률은 통계 정보(예를 들어, 시간, 공간, 기타 사용자 통 계 정보, 기타)에 의존한다. 일반적으로, 지역 언어 모델 컴포넌트에서의 언어 모델들은 모두 주어진 통계 정보에 부합할 수 있지만, 다양한 지역성 정도를 갖는 대답들의 혼합을 가능하게 해주기 위해 그 모델의 통계 정보 지역성/범용성(demographic locality/generality)이 변할 수 있다. 예를 들어, 트리 구조 형태의 분류의 경우, 지역 언어 컴포넌트는 통상적으로 트리의 리프(특정의 통계 정보 장소)에서 트리의 루트(모두가 공유하는 범용 통계 정보 장소)까지의 경로에 있는 노드들과 연관된 지역화된 언어 모델들 모두를 포함할 수 있다.
시스템(600)은 입력 데이터를 획득하는 인터페이스(602) 및 입력 데이터를 이용하여 확장된 데이터의 후보 목록을 발생하는 확장 컴포넌트(604)를 포함할 수 있다. 인터페이스(602)는 임의의 유형의 입력 장치(도시 생략)로부터 입력 데이터를 수신할 수 있다. 예를 들어, 입력 데이터는 퍼스널 컴퓨터, 랩톱, 핸드헬드, 셀룰러 전화, 서버, 기타 등등에 의해 발생될 수 있다. 인터페이스(602) 및/또는 확장 컴포넌트(604)가 입력 장치에 연결될 수 있고, 완전히 또는 부분적으로 입력 장치 내에 포함되어 있을 수 있으며, 및/또는 독립형 컴포넌트일 수 있다는 것을 잘 알 것이다.
일반적으로, 임의의 유형의 입력 데이터가 인터페이스(602)에 의해 수신될 수 있다. 예를 들어, 사용자가 퍼스널 컴퓨터를 이용할 때, 인터페이스(602)는 사용자에 의해 눌러진 키와 연관된 영숫자 문자를 획득할 수 있다. 그에 부가하여, 사용자의 음성 입력을 분석하기 위해 음성 인식이 이용될 수 있고 및/또는 필기된 데이터를 식별하기 위해 필기 인식이 이용될 수 있으며, 따라서 인터페이스(602)는 청각 및/또는 시각 데이터를 수신할 수 있다. 추가의 예로서, 인터페이스(602)는 셀룰러 전화 키패드와 연관된 숫자 문자를 수신할 수 있으며, 여기서 각각의 숫자 문자는 다수의 영숫자 문자와 관련되어 있을 수 있다.
입력 데이터는 하나 이상의 명시적 와일드카드를 포함할 수 있다. 와일드카드(들)은 "*"로 표현될 수 있지만, 와일드카드의 다른 표현도 본 발명의 범위 내에 속한다(예를 들어, *, 사운드, 마크,... 대신에 와일드카드로서 임의의 다른 문자가 이용될 수 있다). 입력 데이터 내의 어디에라도 명시적 와일드카드가 포함될 수 있다. 따라서, 예를 들어, 사용자가 단어 "Lincoln"을 입력하고자 하는 경우, 입력 "Linc*n"이 퍼스널 컴퓨터와 연관된 키보드로 타이핑될 수 있고 인터페이스(602)에 제공될 수 있다. 다른 예에 따르면, 사용자는 "m-star-t"를 발성할 수 있고 이 입력 데이터가 확장 컴포넌트(604)에 제공될 수 있으며, 이 확장 컴포넌트(604)는, 예를 들어, 입력 데이터를 "m*t"로서 식별하기 위해 추가적으로 음성 인식을 이용할 수 있다.
입력 데이터를 획득한 후에, 인터페이스(602)는 확장 컴포넌트(604)에 입력 데이터를 제공할 수 있다. 앞서 설명한 바와 같이, 확장 컴포넌트(604)는, 통계 정보에 기초하여, 입력 데이터와 연관된 와일드카드의 가능한 확장을 제공하는 지역화된 언어 모델을 이용할 수 있게 해주는 지역화된 언어 모델 컴포넌트(606)를 포함할 수 있다. 따라서, 지역화된 언어 모델 및 그의 분류 구조를 이용함으로써, 확장 컴포넌트(604)는 확장된 데이터의 후보 목록을 발생하기 위해 입력 데이터와 연관된 명시적 와일드카드를 확장할 수 있다. 게다가, 확장 컴포넌트(604)는 입력 데이터에 암시적 와일드카드를 삽입할 수 있으며, 여기서 이러한 암시적 와일드카드도 이와 유사하게 확장될 수 있다. 지역화된 언어 모델 및 그의 분류 구조 - 지역화된 언어 모델 컴포넌트(606)의 일부임 - 가 k-best 확장을 찾는 데 이용될 수 있으며, 여기서 한 지역에 있는 사용자들에 의한 입력 데이터에 대한 k-best 확장은 다른 지역에 있는 다른 사용자들에 의한 동일한 입력에 대한 k-best 확장과 다를 수 있다. 게다가, 지역화된 언어 모델 컴포넌트(606)에 의해 이용되는 지역화된 언어 모델은 긴급 속보의 적시의 식별을 가능하게 해주기 위해 빈번하게 갱신될 수 있다.
비록 인터페이스(602)가 확장 컴포넌트(604)와 분리되어 있는 것으로 도시되어 있지만, 확장 컴포넌트(604)가 인터페이스(602) 또는 그의 일부분을 포함할 수 있는 것이 생각된다. 또한, 인터페이스(602)는 확장 컴포넌트(604)와의 상호작용을 가능하게 해주기 위해 다양한 어댑터, 커넥터, 채널, 통신 경로, 기타 등등을 제공할 수 있다.
확장 컴포넌트(604)는 그 후에 이용될 수 있는 확장된 데이터의 후보 목록의 지역적 관심사를 산출한다. 예를 들어, 후보 목록의 지역적 관심사가 (예를 들어, 인터페이스(602)를 통해) 사용자에게 디스플레이될 수 있고 및/또는 사용자가 이러한 지역적 관심사들 중에서 선택을 할 수 있다. 후보 목록 중에서 선택된 확장은 검색을 수행하는 것과 관련하여 이용될 수 있고, 작성되는 문서 또는 메시지에 입력될 수 있으며, 주소 표시줄에 삽입될 수 있고, 기타 등등이 행해질 수 있다. 인터페이스(602)가 도시된 바와 같이 확장된 데이터의 후보 목록을 (예를 들어, 사용 자에, 입력 장치에,...) 제공할 수 있는 것이 생각된다. 확장 컴포넌트(604) 또는 별도의 컴포넌트(도시 생략)는 후보 목록을 출력할 수 있다. 예를 들어, 지역화된 후보 목록은 k-best 확장을 포함할 수 있다.
도 7은 암시적 와일드카드를 입력 데이터에 삽입하는 시스템(700)을 나타낸 것이다. 시스템(700)은 입력 데이터를 수신하고 입력 데이터를 확장 컴포넌트(704)에 제공하는 인터페이스(702)를 포함한다. 확장 컴포넌트(704)는 입력 데이터를 확장하여 확장된 데이터의 지역 후보 목록을 산출할 수 있다. 예를 들어, 확장 컴포넌트(704)를 사용하여 k-best 확장이 발생될 수 있다. 이 확장은 지역화된 언어 모델 컴포넌트(706)에 의해 제공되는 언어 모델 및 그의 분류 구조를 적어도 부분적으로 이용하여 실시될 수 있다.
확장 컴포넌트(704)는 그에 부가하여 입력 데이터에 하나 이상의 암시적 와일드카드를 삽입할 수 있는 와일드카드 삽입 컴포넌트(708)를 포함할 수 있다. 와일드카드 삽입 컴포넌트(708)가 암시적 와일드카드를 입력 데이터의 어디에라도 위치시킬 수 있다는 것을 잘 알 것이다. 암시적 와일드카드의 삽입 후에, 입력 데이터 내의 암시적 와일드카드는 물론 명시적 와일드카드가 지역화된 언어 모델에 기초하여 확장될 수 있다.
관련 측면에서, 와일드카드 삽입 컴포넌트(708)는 입력 데이터 내에서의 의도된 단어의 끝을 식별할 수 있다. 예를 들어, 와일드카드 삽입 컴포넌트(708)는 이 식별된 위치에 와일드카드를 삽입할 수 있다. 다수의 이러한 장소가 결정될 수 있고 따라서 임의의 적당한 수의 암시적 와일드카드가 입력 데이터에 포함될 수 있 다는 것을 잘 알 것이다. 와일드카드 삽입 컴포넌트(708)는 공백은 물론 입력 데이터의 끝을 식별함으로써 의도된 단어의 끝을 찾아낼 수 있고 입력 데이터 내의 이들 장소 각각의 앞에 암시적 와일드카드를 삽입할 수 있다.
와일드카드 삽입 컴포넌트(708) 및/또는 확장 컴포넌트(704)는 워드 휠링을 가능하게 해줄 수 있다. 예를 들어, 사용자는 영숫자 문자의 비효율적이고 및/또는 시간이 많이 걸리는 입력과 연관되어 있을 수 있는 제한된 키보드 기능을 갖는 셀룰러 전화 또는 PDA 등의 모바일 장치에서 데이터를 입력할 수 있다. 그에 부가하여, 워드 휠링은 사용자가 의도된 입력의 정확한 스펠링을 알지 못하는 것을 보상해줄 수 있다. 게다가, 워드 휠링은 (예를 들어, 웹 검색 상황에서) 입력할 질의를 모호하게 알고 있거나 현재 무엇이 인기있는지에 호기심이 있는 사용자를 도울 수 있어서 그에 따라 부분 입력과 대응시킬 수 있다.
도 8은 지역 관심사에 기초하여 입력 데이터의 확장을 용이하게 해주는 방법(800)을 나타낸 것이다. 먼저, 802에서, 입력 데이터가 획득되고, 여기서, 예를 들어, 임의의 유형의 입력 장치(예를 들어, 데스크톱 컴퓨터, 랩톱, 핸드헬드, 셀룰러 전화, 서버,...)에 대해 이러한 입력 데이터가 수신될 수 있다. 그에 부가하여, 입력 데이터가 검색 질의, 텍스트 메시지(예를 들어, 단문 메시지 서비스(SMS) 메시지), 인스턴트 메시지, 발생 및/또는 편집되는 문서, 기타 등등과 관련되어 있을 수 있다. 게다가, 이러한 입력 데이터는, 예를 들어, 알파벳 문자, 숫자 문자, 필기 데이터, 음성 데이터, 이들의 조합을 포함할 수 있다. 804에서, 하나 이상의 암시적 와일드카드가 입력 데이터에 삽입될 수 있다. 예를 들어, 암시적 와일드카 드가 입력 데이터의 끝에 삽입될 수 있다.
게다가, 입력 데이터 내의 하나 이상의 의도된 단어의 끝에 암시적 와일드카드가 삽입될 수 있다. 예를 들어, 암시적 와일드카드가 입력 데이터에서 각각의 공백 이전에 삽입될 수 있다. 806에서, 지역화된 언어 모델 및 그의 분류 구조가 이용될 수 있다. 지역화된 언어 모델에서의 문장의 확률은 통계 정보(예를 들어, 시간, 공간, 기타 사용자 통계 정보, 기타)에 의존한다. 따라서, 한 지역에 있는 사용자들에 의한 입력 데이터에 대한 k-best 확장은 다른 지역에 있는 다른 사용자들에 의한 동일한 입력에 대한 k-best 확장과 다를 수 있다. 그 후에, 입력 데이터와 연관된 와일드카드의 k-best 확장이 발생될 수 있고, 이 확장은 지역적 관심사와 관련되어 있을 수 있다. 예를 들어, 특정의 장소가 주어진 경우, 본 발명은 트리의 리프 노드에서 (그 특정의 통계 정보 장소와 연관되어 있는) 트리의 루트 노드까지의 경로 상의 모든 노드에서의 k개의 최상의 일치하는 것 및 그의 빈도수를 결정할 수 있고, 이어서 808에서 이들이 결합될 수 있다.
단어 "예시적인"은 본 명세서에서 예, 일례 또는 예시로서 역할한다는 것을 의미하는 것으로 사용된다. 본 명세서에 "예시적인" 것으로 기술된 임의의 측면 또는 설계가 반드시 다른 측면들 또는 설계들보다 선호되거나 유익한 것으로 해석될 필요는 없다. 이와 마찬가지로, 예들은 단지 명확함 및 이해를 위해 제공된 것이며, 본 발명 또는 그의 일부분을 결코 제한하려는 것이 아니다. 수많은 부가의 또는 대안의 예들이 제공될 수 있지만 간략함을 위해 생략되어 있다는 것을 잘 알 것이다.
게다가, 청구된 발명 대상의 전부 또는 일부분은 개시된 발명 대상을 구현하기 위해 컴퓨터를 제어하는 소프트웨, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하는 표준 프로그래밍 및/또는 엔지니어링 기법을 사용하여 시스템, 방법, 장치 또는 제조 물품으로서 구현될 수 있다. 용어 "컴포넌트"는, 본 출원에서 사용되는 바와 같이, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어와 같은 컴퓨터-관련 개체를 말하는 것으로 보아야 한다. 예를 들어, 컴퓨터 판독가능 매체는 자기 저장 장치(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립...), 광 디스크(예를 들어, 컴팩트 디스크(CD), DVD(digital versatile disk)...), 스마트 카드, 및 플래쉬 메모리 장치(예를 들어, 카드, 스틱, 키 드라이브...)를 포함할 수 있지만, 이에 한정되지 않는다. 그에 부가하여, 전자 메일을 전송 및 수신하는 데 또는 인터넷 또는 LAN(local area network) 등의 네트워크에 액세스하는 데 사용되는 것 등의 컴퓨터 판독가능 전자 데이터를 전달하기 위해 반송파가 이용될 수 있다는 것도 잘 알 것이다. 물론, 당업자라면 청구된 발명 대상의 범위 또는 정신을 벗어나지 않고 이 구성에 많은 수정이 행해질 수 있다는 것을 잘 알 것이다.
개시된 발명 대상의 다양한 측면들에 대한 상황을 제공하기 위해, 도 9 및 도 10은 물론 이하의 설명은 개시된 발명 대상의 여러가지 측면들이 구현될 수 있는 적당한 환경의 간략하고 전반적인 설명을 제공하기 위한 것이다. 청구된 발명 대상이 일반적으로 컴퓨터 및/또는 컴퓨터들 상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 명령어와 관련하여 전술되어 있지만, 당업자라면 본 발명이 또한 기타 프로그램 모듈과 관련하여 구현될 수 있다는 것을 잘 알 것이다. 일반적으로, 프로그램 모듈은 특정의 태스크를 수행하고 및/또는 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 게다가, 당업자라면 본 발명의 방법이, 단일-프로세서 또는 멀티-프로세서 컴퓨터 시스템, 미니컴퓨팅 장치, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드-헬드 컴퓨팅 장치(예를 들어, PDA(personal digital assistant), 전화, 시계,...), 마이크로프로세서-기반 및/또는 프로그램가능 가전 제품 또는 산업 전자 제품, 기타 등등을 비롯한, 다른 컴퓨터 시스템 구성에서 실시될 수 있다는 것을 잘 알 것이다. 이 예시된 측면들은 또한 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 그렇지만, 전부는 아니더라도, 본 청구된 발명의 어떤 측면들이 독립형 컴퓨터 상에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및/또는 원격 메모리 저장 장치 둘다에 위치될 수 있다.
도 9를 참조하면, 본 명세서에 개시된 여러가지 측면들을 구현하는 예시적인 환경(910)은 컴퓨터(912)(예를 들어, 데스크톱, 랩톱, 서버, 핸드헬드, 프로그램가능 가전제품 또는 산업 전자 제품...)를 포함한다. 컴퓨터(912)는 처리 장치(914), 시스템 메모리(916) 및 시스템 버스(918)를 포함한다. 시스템 버스(918)는 시스템 메모리(916)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(914)에 연결시킨다. 처리 장치(914)는 여러가지 이용가능한 마이크로프로세서 중 어느 것이라도 될 수 있다. 듀얼 마이크로프로세서 및 기타 멀티프로세서 아키텍처(예를 들어, 멀티-코어)도 역시 처리 장치(914)로서 이용될 수 있다.
시스템 버스(918)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 또는 외부 버스, 및/또는 11-비트 버스, ISA(Industrial Standard Architecture), MSA(Micro-Channel Architecture), EISA(Extended ISA), IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(Peripheral Component Interconnect), USB(Universal Serial Bus), AGP(Advanced Graphics Port), PCMCIA(Personal Computer Memory Card International Association bus), 및 SCSI(Small Computer Systems Interface)(이에 한정되지 않음)를 비롯한 각종의 이용가능한 버스 아키텍처를 사용하는 로컬 버스를 비롯한 몇가지 유형의 버스 구조(들) 중 어느 것이라도 될 수 있다.
시스템 메모리(916)는 휘발성 메모리(920) 및 비휘발성 메모리(922)를 포함한다. 시동 중과 같은 때에 컴퓨터(912) 내의 구성요소들 간에 정보를 전송하는 기본적인 루틴을 포함하는 기본 입/출력 시스템(BIOS)은 비휘발성 메모리(922)에 저장되어 있다. 제한이 아닌 예로서, 비휘발성 메모리(922)는 판독 전용 메모리(ROM), 프로그램가능 ROM(PROM), 전기적 프로그램가능 ROM(EPROM), 전기적 소거가능 ROM(EEPROM), 또는 플래쉬 메모리를 포함할 수 있다. 휘발성 메모리(920)는 외부 캐쉬 메모리로서 동작하는 랜덤 액세스 메모리(RAM)를 포함한다.
컴퓨터(912)는 또한 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 9는, 예를 들어, 대용량 또는 보조 저장 장치(924)를 도시하고 있다. 대용량 저장 장치(924)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테 이프 드라이브, Jaz 드라이브, Zip 드라이브, LS-100 드라이브, 플래쉬 메모리 카드 또는 메모리 스틱과 같은 장치들을 포함하지만, 이에 한정되는 것은 아니다. 그에 부가하여, 대용량 저장 장치(924)는 CD-ROM(compact disk ROM device), CD-R Drive(CD recordable drive), CD-RW Drive(CD rewritable drive) 또는 DVD-ROM(digital versatile disk ROM drive) 등의 광 디스크 드라이브(이에 한정되지 않음)를 비롯한 기타 저장 매체와 별도로 또는 그와 함께 저장 매체를 포함할 수 있다. 대용량 저장 장치(924)의 시스템 버스(918)에의 연결을 용이하게 해주기 위해, 인터페이스(926) 등의 이동식 또는 비이동식 인터페이스가 일반적으로 사용된다.
도 9가 사용자들과 적당한 운영 환경(910)에 기술된 기본적인 컴퓨터 자원들 간의 매개물로서 동작하는 소프트웨어를 기술하고 있다는 것을 잘 알 것이다. 이러한 소프트웨어는 운영 체제(928)를 포함한다. 대용량 저장 장치(924) 상에 저장되어 시스템 메모리(916)로 로드될 수 있는 운영 체제(928)는 컴퓨터 시스템(912)의 자원을 제어 및 할당하는 동작을 한다. 시스템 애플리케이션(930)은 시스템 메모리(916)에 또는 대용량 저장 장치(924) 상에 저장되어 있는 프로그램 모듈(932) 및 프로그램 데이터(934)를 통해 운영 체제(928)에 의한 자원의 관리를 이용한다. 본 발명이 여러가지 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 입력 장치(들)(936)를 통해 컴퓨터(912)에 명령 또는 정보를 입력한다. 입력 장치(936)는 마우스, 트랙볼 등의 포인팅 장치, 스타일러스, 터치 패 드, 키보드, 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라, 기타 등등을 포함하지만, 이에 한정되지 않는다. 이들 및 다른 입력 장치들은 인터페이스 포트(들)(938)를 거쳐 시스템 버스(918)를 통해 처리 장치(914)에 연결되어 있다. 인터페이스 포트(들)(938)는, 예를 들어, 직렬 포트, 병렬 포트, 게임 포트, 및 USB(universal serial bus)를 포함한다. 출력 장치(들)(940)는 입력 장치(들)(936)와 동일한 유형의 포트들 중 일부를 사용한다. 따라서, 예를 들어, USB 포트는 컴퓨터(912)에 입력을 제공하고 컴퓨터(912)로부터의 정보를 출력 장치(940)로 출력하는 데 사용될 수 있다. 특수 어댑터를 필요로 하는 출력 장치들(940) 중에서도 특히, 디스플레이(예를 들어, 평판 패널, CRT, LCD, 플라즈마...), 스피커, 및 프린터와 같은 몇몇 출력 장치들(940)이 있다는 것을 나타내기 위해 출력 어댑터(942)가 제공되어 있다. 출력 어댑터(942)는, 제한이 아닌 예로서, 출력 장치(940)와 시스템 버스(918) 간의 연결 수단을 제공하는 비디오 및 사운드 카드를 포함한다. 유의할 점은 원격 컴퓨터(들)(944) 등의 기타 장치들 및/또는 장치들의 시스템들이 입력 및 출력 기능 둘다를 제공한다는 것이다.
컴퓨터(912)는 원격 컴퓨터(들)(944) 등의 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(944)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 가전제품, 피어 장치 또는 기타 통상의 네트워크 노드 등일 수 있으며, 일반적으로 컴퓨터(912)와 관련하여 기술된 구성요소들 중의 다수 또는 그 전 부를 포함한다. 간략함을 위해, 원격 컴퓨터(들)(944)에 메모리 저장 장치(946)만이 도시되어 있다. 원격 컴퓨터(들)(944)는 네트워크 인터페이스(948)를 통해 컴퓨터(912)에 논리적으로 접속되어 있고 이어서 통신 접속(950)을 통해 물리적으로 (예를 들어, 유선 또는 무선) 접속되어 있다. 네트워크 인터페이스(948)는 근거리 통신망(LAN) 및 원거리 통신망(WAN) 등의 통신 네트워크를 포함한다.
통신 접속(들)(950)은 네트워크 인터페이스(948)를 버스(918)에 연결하는 데 이용되는 하드웨어/소프트웨어를 말한다. 통신 접속(950)이 설명의 명확함을 위해 컴퓨터(912) 내부에 도시되어 있지만, 컴퓨터(912) 외부에 있을 수도 있다. 네트워크 인터페이스(948)에 연결하는 데 필요한 하드웨어/소프트웨어는, 단지 예로서, 보통의 전화급 모뎀, 케이블 모뎀 및 DSL 모뎀을 비롯한 모뎀, ISDN 어댑터, 및 이더넷 카드 또는 컴포넌트 등의 내장형 및 외장형 기술을 포함한다.
도 10은 본 발명과 상호작용할 수 있는 샘플 컴퓨팅 환경(1000)의 개략 블록도이다. 시스템(1000)은 하나 이상의 클라이언트(들)(1010)를 포함한다. 클라이언트(들)(1010)은 하드웨어 및/또는 소프트웨어(예를 들어, 쓰레드, 프로세스, 컴퓨팅 장치)일 수 있다. 시스템(1000)은 또한 하나 이상의 서버(들)(1030)를 포함한다. 따라서, 시스템(1000)은, 모델들 중에서도 특히, 2-계층 클라이언트 서버 모델 또는 다중-계층 모델(예를 들어, 클라이언트, 중간 계층 서버, 데이터 서버)에 대응할 수 있다. 서버(들)(1030)는 하드웨어 및/또는 소프트웨어(예를 들어, 쓰레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버들(1030)은, 예를 들어, 본 발명을 이용함으로써 변환을 수행하는 쓰레드를 가질 수 있다. 클라이언트(1010)와 서 버(1020) 간의 한가지 가능한 통신은 2개 이상의 통신 프로세스들 간에 전송되는 데이터 패킷의 형태로 되어 있을 수 있다.
시스템(1000)은 클라이언트(들)(1010)와 서버(들)(1030) 간의 통신을 용이하게 해주는 데 이용될 수 있는 통신 프레임워크(1050)를 포함한다. 클라이언트(들)(1010)는 클라이언트(들)(1010)에 로컬인 정보를 저장하는 데 사용될 수 있는 하나 이상의 클라이언트 데이터 저장소(들)(1060)에 연결되어 동작한다. 이와 유사하게, 서버(들)(1030)는 서버들(1030)에 로컬인 정보를 저장하는 데 이용될 수 있는 하나 이상의 서버 데이터 저장소(들)(1040)에 연결되어 동작한다. 제한이 아닌 예로서, 상기한 익명화 시스템 및 그에 대한 변형예는 적어도 하나의 서버(1030)에 대한 웹 서비스로서 제공될 수 있다. 이러한 웹 서비스 서버는 또한 복수의 다른 서버(1030)는 물론 연관된 데이터 저장소(1040)와도 통신 연결되어 있을 수 있으며, 따라서 클라이언트(1010)에 대한 프록시로서 동작할 수 있다.
청구된 발명 대상의 측면들의 예들이 이상에 기술되어 있다. 물론, 청구된 발명 대상을 기술하기 위해 모든 생각가능한 컴포넌트 또는 방법의 조합을 기재하는 것이 불가능하며, 당업자라면 개시된 발명 대상의 많은 추가의 조합 및 치환이 가능하다는 것을 잘 알 것이다. 그에 따라, 개시된 발명 대상은 첨부된 청구항의 정신 및 범위 내에 속하는 이러한 변경, 수정 및 변형 모두를 포함하는 것으로 보아야 한다. 게다가, 용어 "포함한다", "갖는다" 또는 "갖는", 또는 이들의 변형이 상세한 설명 또는 청구항에서 사용되는 한, 이러한 용어는 용어 "포함하는"이 청구항에서 이행어로서 사용될 때 해석되는 것과 유사한 방식으로 포함적인 것으로 보 아야 한다.

Claims (20)

  1. 컴퓨터 실행가능 컴포넌트들을 포함하는 컴퓨터 구현 시스템으로서,
    상기 컴퓨터 실행가능 컴포넌트들은,
    통계 정보에 기초하여 문장들을 분류의 형태로 요약하는 분류 인코더 컴포넌트, 및
    지역 관심사에 대한 검색을 용이하게 해주는 지역화된 언어 모델을 형성하기 위해 상기 분류를 확장하는 지역 언어 모델 인코더 컴포넌트
    를 포함하는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  2. 제1항에 있어서, 상기 문장들이 질의 로그의 형태로 되어 있는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  3. 제2항에 있어서, 상기 분류는 질의 로그를 요약하는 트리 구조의 형태로 되어 있는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  4. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은 일련의 확장을 생성하기 위해 지역 언어 모델들의 분류를 통해 입력 데이터를 평가하는 확장 컴포넌트를 갖는 디코더 컴포넌트를 더 포함하는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  5. 제3항에 있어서, 상기 트리 구조는 미리 정해진 기준에 기초하여 질의를 승격시키는 노드들을 갖는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  6. 제5항에 있어서, 상기 미리 정해진 기준은 유의 검정 수준(significance test criteria)인, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  7. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은 지역 관심사와 관련된 확장을 생성하기 위해 사용자의 지역에 관한 정보를 제공하는 지역 상황 컴포넌트(local context component)를 더 포함하는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  8. 제1항에 있어서, 상기 통계 정보는 시간 및 공간 중 적어도 하나에 기초하는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  9. 제3항에 있어서, 상기 트리 구조는 Kd-트리 구조의 형태로 되어 있는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  10. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은 사용자로부터 입력 데 이터를 받는 인터페이스 컴포넌트를 더 포함하는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  11. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은 상기 분류의 평탄화를 용이하게 해주는 인공 지능 컴포넌트를 더 포함하는, 컴퓨터 실행가능 컴포넌트를 포함하는 컴퓨터 구현 시스템.
  12. 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법으로서,
    상기 컴퓨터 실행가능 동작들은,
    통계 정보에 기초하여 문장들을 분류의 형태로 요약하는 단계, 및
    상기 분류로부터 지역화된 언어 모델들을 형성하는 단계
    를 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  13. 제12항에 있어서, 상기 컴퓨터 실행가능 동작들은 상기 분류의 레벨들 간에 상기 문장들을 이동시킴으로써 상기 분류를 평탄화하는 단계를 더 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  14. 제12항에 있어서, 상기 요약하는 단계는 노드들을 갖는 트리 구조의 형태로 질의 로그들을 요약하는 단계를 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  15. 제14항에 있어서, 상기 형성하는 단계는 상기 노드들에 대한 지역 언어 모델(들)을 형성하는 단계를 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  16. 제13항에 있어서, 상기 컴퓨터 실행가능 동작들은 상기 지역화된 언어에 기초하여 입력을 확장하는 단계를 더 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  17. 제14항에 있어서, 상기 컴퓨터 실행가능 동작들은 미리 정해진 기준에 기초하여 상기 트리 구조를 평탄화하는 단계를 더 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  18. 제15항에 있어서, 상기 컴퓨터 실행가능 동작들은 미리 정해진 유의 수준에 기초하여 노드들을 승격시키는 단계를 더 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  19. 제15항에 있어서, 상기 컴퓨터 실행가능 동작들은,
    상기 트리의 리프 노드에서 루트 노드까지의 경로 상의 모든 노드에서 k개의 최상의 일치하는 것을 획득하는 단계, 및
    상기 k개의 최상의 일치하는 것들을 결합하는 단계
    를 더 포함하는, 컴퓨터 실행가능 동작들을 포함하는 컴퓨터 구현 방법.
  20. 컴퓨터 실행가능 컴포넌트들을 포함하는 컴퓨터 구현 시스템으로서,
    상기 컴퓨터 실행가능 컴포넌트들은,
    통계 정보에 기초하여 지역 언어 모델들의 분류 구조를 형성하는 수단,
    상기 분류로부터 지역화된 언어 모델들을 생성하는 수단, 및
    지역 관심사의 입력 확장을 용이하게 해주기 위해 상기 지역 언어 모델들의 분류 구조를 이용하는 수단
    을 포함하는, 컴퓨터 실행가능 컴포넌트들을 포함하는 컴퓨터 구현 시스템.
KR1020087026116A 2006-05-01 2007-04-05 지역 워드 휠링/웹 검색을 위한 통계 정보 기반 분류를 위한 컴퓨터 구현 시스템 및 방법 KR101312788B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US74613406P 2006-05-01 2006-05-01
US60/746,134 2006-05-01
US11/565,231 2006-11-30
US11/565,231 US7778837B2 (en) 2006-05-01 2006-11-30 Demographic based classification for local word wheeling/web search
PCT/US2007/008570 WO2007133351A1 (en) 2006-05-01 2007-04-05 Demographic based classification for local word wheeling/web search

Publications (2)

Publication Number Publication Date
KR20090005058A true KR20090005058A (ko) 2009-01-12
KR101312788B1 KR101312788B1 (ko) 2013-09-27

Family

ID=38669139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087026116A KR101312788B1 (ko) 2006-05-01 2007-04-05 지역 워드 휠링/웹 검색을 위한 통계 정보 기반 분류를 위한 컴퓨터 구현 시스템 및 방법

Country Status (7)

Country Link
US (1) US7778837B2 (ko)
EP (1) EP2024880B1 (ko)
JP (1) JP5171813B2 (ko)
KR (1) KR101312788B1 (ko)
CN (1) CN101438283B (ko)
MX (1) MX2008013134A (ko)
WO (1) WO2007133351A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070164782A1 (en) * 2006-01-17 2007-07-19 Microsoft Corporation Multi-word word wheeling
US7769804B2 (en) * 2006-01-17 2010-08-03 Microsoft Corporation Server side search with multi-word word wheeling and wildcard expansion
US9245526B2 (en) * 2006-04-25 2016-01-26 General Motors Llc Dynamic clustering of nametags in an automated speech recognition system
US20080133222A1 (en) * 2006-11-30 2008-06-05 Yehuda Kogan Spell checker for input of reduced keypad devices
US20080140519A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Advertising based on simplified input expansion
US7685119B2 (en) * 2006-12-20 2010-03-23 Yahoo! Inc. System and method for query expansion
TWI358647B (en) * 2007-12-28 2012-02-21 Ind Tech Res Inst Data classification system and method for building
US20090210388A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation Efficiently discovering and synthesizing maps from a large corpus of maps
US8255224B2 (en) * 2008-03-07 2012-08-28 Google Inc. Voice recognition grammar selection based on context
US8015129B2 (en) * 2008-04-14 2011-09-06 Microsoft Corporation Parsimonious multi-resolution value-item lists
US20090287626A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query generation
US8364481B2 (en) * 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US9081860B2 (en) 2008-08-22 2015-07-14 Google Inc. Integration of device location into search
KR101045762B1 (ko) * 2008-11-03 2011-07-01 한국과학기술원 실시간 시맨틱 어노테이션 장치 및 이를 활용하여 사용자가입력한 자연어 스트링을 실시간으로 의미 가독형 지식 구조 문서로 생성하는 방법
US8589157B2 (en) * 2008-12-05 2013-11-19 Microsoft Corporation Replying to text messages via automated voice search techniques
US8635236B2 (en) * 2008-12-22 2014-01-21 Microsoft Corporation Augmented list for searching large indexes
US8301444B2 (en) * 2008-12-29 2012-10-30 At&T Intellectual Property I, L.P. Automated demographic analysis by analyzing voice activity
US8725509B1 (en) * 2009-06-17 2014-05-13 Google Inc. Back-off language model compression
US8856115B1 (en) * 2009-12-07 2014-10-07 Google Inc. Framework for suggesting search terms
US8712989B2 (en) 2010-12-03 2014-04-29 Microsoft Corporation Wild card auto completion
US9129029B1 (en) * 2011-05-19 2015-09-08 Google Inc. Ranking content using location-based query log analysis
CN103049444B (zh) 2011-10-12 2016-09-28 阿里巴巴集团控股有限公司 一种数据信息分类结构的存储方法和系统
CN103999152A (zh) * 2011-12-29 2014-08-20 英特尔公司 利用动态语法元素集的语音识别
CN104040620B (zh) * 2011-12-29 2017-07-14 英特尔公司 用于进行直接语法存取的装置和方法
WO2014000143A1 (en) 2012-06-25 2014-01-03 Microsoft Corporation Input method editor application platform
US9280575B2 (en) * 2012-07-20 2016-03-08 Sap Se Indexing hierarchical data
US8589164B1 (en) * 2012-10-18 2013-11-19 Google Inc. Methods and systems for speech recognition processing using search query information
US9330659B2 (en) 2013-02-25 2016-05-03 Microsoft Technology Licensing, Llc Facilitating development of a spoken natural language interface
US9483450B2 (en) * 2013-04-04 2016-11-01 Adobe Systems Incorporated Method and apparatus for extracting localizable content from an article
CN106156199B (zh) * 2015-04-22 2022-04-08 清华大学 一种视频监控图像存储检索方法
US10013418B2 (en) * 2015-10-23 2018-07-03 Panasonic Intellectual Property Management Co., Ltd. Translation device and translation system
US9959864B1 (en) * 2016-10-27 2018-05-01 Google Llc Location-based voice query recognition
US10896444B2 (en) * 2017-01-24 2021-01-19 International Business Machines Corporation Digital content generation based on user feedback
US11416535B2 (en) * 2018-04-20 2022-08-16 Microsoft Technology Licensing, Llc User interface for visualizing search data
WO2021064907A1 (ja) * 2019-10-02 2021-04-08 日本電信電話株式会社 文生成装置、文生成学習装置、文生成方法、文生成学習方法及びプログラム
US11663422B2 (en) * 2020-06-10 2023-05-30 Paypal, Inc. Systems and methods for providing multilingual support in an automated online chat system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE466029B (sv) * 1989-03-06 1991-12-02 Ibm Svenska Ab Anordning och foerfarande foer analys av naturligt spraak i ett datorbaserat informationsbehandlingssystem
US5963671A (en) * 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
US5485372A (en) * 1994-06-01 1996-01-16 Mitsubishi Electric Research Laboratories, Inc. System for underlying spelling recovery
US5787422A (en) * 1996-01-11 1998-07-28 Xerox Corporation Method and apparatus for information accesss employing overlapping clusters
JP2976219B2 (ja) * 1996-12-10 1999-11-10 豊 塚本 消費者支援方法、および、それに用いられる検索システム
FI974576A (fi) 1997-12-19 1999-06-20 Nokia Mobile Phones Ltd Menetelmä tekstin kirjoittamiseksi matkaviestimeen ja matkaviestin
US6185558B1 (en) * 1998-03-03 2001-02-06 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
AU5299700A (en) * 1999-05-27 2000-12-18 America Online, Inc. Keyboard system with automatic correction
US6654733B1 (en) * 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US6573844B1 (en) * 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
WO2001067225A2 (en) * 2000-03-06 2001-09-13 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
US6687734B1 (en) * 2000-03-21 2004-02-03 America Online, Incorporated System and method for determining if one web site has the same information as another web site
US7107204B1 (en) 2000-04-24 2006-09-12 Microsoft Corporation Computer-aided writing system and method with cross-language writing wizard
WO2002007054A2 (en) * 2000-07-18 2002-01-24 Yahoo Inc. System and method for selecting alternative advertising inventory in place of sold out advertising inventory
US6850934B2 (en) * 2001-03-26 2005-02-01 International Business Machines Corporation Adaptive search engine query
US6785677B1 (en) * 2001-05-02 2004-08-31 Unisys Corporation Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector
US6985851B2 (en) * 2001-07-17 2006-01-10 Microsoft Corporation Method and apparatus for providing improved HMM POS tagger for multi-word entries and factoids
US20020156779A1 (en) * 2001-09-28 2002-10-24 Elliott Margaret E. Internet search engine
US7111248B2 (en) * 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US7174344B2 (en) * 2002-05-10 2007-02-06 Oracle International Corporation Orthogonal partitioning clustering
US7409336B2 (en) * 2003-06-19 2008-08-05 Siebel Systems, Inc. Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations
US7562069B1 (en) * 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US20060085392A1 (en) * 2004-09-30 2006-04-20 Microsoft Corporation System and method for automatic generation of search results based on local intention
GB2433675B (en) * 2005-12-22 2008-05-07 Cramer Systems Ltd Communications circuit design

Also Published As

Publication number Publication date
EP2024880B1 (en) 2019-01-02
CN101438283A (zh) 2009-05-20
MX2008013134A (es) 2008-10-21
JP5171813B2 (ja) 2013-03-27
US20070255552A1 (en) 2007-11-01
CN101438283B (zh) 2013-03-06
JP2009535732A (ja) 2009-10-01
EP2024880A1 (en) 2009-02-18
US7778837B2 (en) 2010-08-17
WO2007133351A1 (en) 2007-11-22
KR101312788B1 (ko) 2013-09-27
EP2024880A4 (en) 2012-03-14

Similar Documents

Publication Publication Date Title
KR101312788B1 (ko) 지역 워드 휠링/웹 검색을 위한 통계 정보 기반 분류를 위한 컴퓨터 구현 시스템 및 방법
US10402493B2 (en) System and method for inputting text into electronic devices
US10685186B2 (en) Semantic understanding based emoji input method and device
TW201519075A (zh) 文字範圍的智慧選擇
CN104076944A (zh) 一种聊天表情输入的方法和装置
JP2021111415A (ja) テキストテーマ生成方法、テキストテーマ生成装置、電子機器、記憶媒体およびコンピュータプログラム
CN112749326B (zh) 信息处理方法、装置、计算机设备及存储介质
US20200301919A1 (en) Method and system of mining information, electronic device and readable storable medium
CN111797409B (zh) 一种大数据中文文本无载体信息隐藏方法
US10515267B2 (en) Author identification based on functional summarization
KR20080085165A (ko) 입력 데이터 확장 시스템 및 방법, 및 와일드카드 삽입 및입력 데이터 확장 시스템
KR20200087977A (ko) 멀티모달 문서 요약 시스템 및 방법
Chasin et al. Extracting and displaying temporal and geospatial entities from articles on historical events
WO2022061057A1 (en) Combining unsupervised and semi-supervised deep clustering approaches for mining intentions from texts
US20200387815A1 (en) Building training data and similarity relations for semantic space
CN111581377B (zh) 文本分类方法、装置、存储介质及计算机设备
Sitkrongwong et al. Unsupervised context extraction via region embedding for context-aware recommendations
CN115335819A (zh) 用于搜索和检索信息的方法和系统
Chien et al. Semantic tagging of mathematical expressions
CN111625579A (zh) 一种信息处理方法、装置及系统
Kim et al. Occupational representativeness in twitter
Supriya et al. Identification of clickbait news articles using SBERT and correlation matrix
Bogović et al. The NLP Powered BI Toolkit: The Case of MESOC
CN116340500A (zh) 信息检索方法和装置、计算设备、存储介质及程序产品
JP2020173779A (ja) 文書における見出しのシーケンスの識別

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: 20160818

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 7