TW201510753A - 查詢建議模板 - Google Patents

查詢建議模板 Download PDF

Info

Publication number
TW201510753A
TW201510753A TW103119025A TW103119025A TW201510753A TW 201510753 A TW201510753 A TW 201510753A TW 103119025 A TW103119025 A TW 103119025A TW 103119025 A TW103119025 A TW 103119025A TW 201510753 A TW201510753 A TW 201510753A
Authority
TW
Taiwan
Prior art keywords
query
template
entity
category
entities
Prior art date
Application number
TW103119025A
Other languages
English (en)
Other versions
TWI650654B (zh
Inventor
Nitin Gupta
Ren-Shen Wang
Mangesh Gupte
Original Assignee
Google Inc
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 Google Inc filed Critical Google Inc
Publication of TW201510753A publication Critical patent/TW201510753A/zh
Application granted granted Critical
Publication of TWI650654B publication Critical patent/TWI650654B/zh

Links

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/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Remote Sensing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了查詢建議模板。方法和裝置涉及識別包括一個或多個詞語和實體類別的成員的查詢模板以及對查詢模板排名。可以基於查詢模板來確定查詢建議。查詢模板的排名可以用來確定查詢模板是否是有效的查詢模板。模板的排名可以至少基於符合查詢模板的過去查詢中的實體類別的實體的一個或多個的出現計數。

Description

查詢建議模板
本說明書一般地涉及確定在確定提供給用戶的查詢建議中利用的查詢建議模板。
諸如互聯網搜索引擎的信息檢索系統使用戶能夠定位大型數據庫中的信息。例如,互聯網搜索引擎使用戶能夠響應於由用戶提交的、由一個或多個搜索詞語(search terms)組成的搜索查詢,訪問諸如網頁、圖像、文本文檔和/或多媒體內容的信息。
當用戶正鍵入查詢時和/或用戶已經提交查詢後,一些信息檢索系統可以向用戶提供一個或多個查詢建議。用戶可以選擇查詢建議中的一個來用作所提交的查詢和/或用作用於所提交的查詢的基礎(例如,通過修改所選擇的查詢建議、向所選擇的查詢建議增加和/或從所選擇的查詢建議刪除)。查詢建議通常經由過去的用戶查詢來生成和/或自動地生成。
本公開涉及用於確定利用諸如知識圖的實體的一個或多個數據庫的查詢模板的方法和裝置。識別符合模板的多個查詢,其中,每個查詢包括作為實體類別的成員的至少一個詞語,以及還包括與其他所識別的查詢中的詞語匹配的一個或多個詞語。構造包括匹配詞語和實體類別的查詢模板。可以確定查詢模板的排名,並且排名可以指示在確定響應於未來的部分查詢而提供給用戶的查詢建議中該查詢模板有效的可能性。
在一些實現中,提供了一種計算機實現的方法,包括步驟:識別實體類別,其中,所述實體類別是共同共享一個或多個方面的實體的分組;識別實體別名,所述實體別名中的每一個與所述實體類別中的實體中的至少一個相關聯;識別查詢模板,其中,所述查詢模板包括一個或多個模板詞語和所述實體類別的標識符;確定符合所述查詢模板的查詢組,其中,所述查詢組中的每個查詢包括所識別的實體別名中的一個和與所述模板詞語匹配的一個或多個詞語;以及確定所述查詢模板的排名,其中,所述排名至少基於符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數。
在此公開的技術的該方法和其他實現可以分別可選地包括下述特徵中的一個或多個。
該方法可以進一步包括基於所述排名是否滿足閾值來確定所述查詢模板是否有效的步驟。
符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數可以基於實體類別成員的數量,其中,符合的實體類別成員是在所述實體類別中並且存在於符合所述查詢模板的查詢組中的實體。在那些實現的一些中,確定所述查詢模板的排名可以包括:將符合的實體類別成員的數量與實體類別成員的數量進行比較,其中,實體類別成員的數量基於該實體類別中的實體的數量。
符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數可以基於多個實體的相容出現頻率,其中,每個相容出現頻率可以基於符合所述查詢模板的該查詢組中的實體中的一個的出現頻率。在那些實現的一些中,確定所述查詢模板的排名可以包括:將相容出現頻率與另外的查詢組中的實體類別的多個實體的出現頻率進行比較,其中所述另外的查詢組包括不符合所述查詢模板的查詢。
所述出現計數可以基於符合所述查詢模板的過去查詢的數量。可以進一步基於所述實體類別的實體的成員之間的相似性來確定所述排名。類別詞語可以是所述查詢模板的前綴。與所述模板詞語匹配的一個或多個詞語可以包括不存在於所述查詢模板中的一個或多個詞語。
在一些實現中,提供了一種計算機實現的方法,包括步驟:識別部分查詢;基於所述部分查詢,識別查詢模板,其中,所述查詢模板包括一個或多個模板詞語和實體 類別的標識符,以及其中,所述實體類別是共同共享一個或多個方面的實體的分組;以及基於所述查詢模板,提供至少一個查詢建議,其中,所提供的查詢建議包括所述一個或多個模板詞語和實體中的一個的實體別名。
在此公開的技術的該方法和其他實現可以每一個可選地包括下述特徵中的一個或多個。
可以基於所述部分查詢來識別實體別名。可以基於用戶的位置來識別實體別名。可以基於與和實體別名相關聯的實體相關聯的流行性度量來識別查詢建議。識別查詢模板可以進一步包括確定所述部分查詢中的一個或多個詞語是否匹配所述查詢模板中的一個或多個詞語。可以基於所述查詢模板的排名來識別查詢模板。
識別查詢模板可以進一步包括步驟:基於部分查詢來確定實體類別;以及基於所確定的實體類別來確定查詢模板。在那些實現中的一些中,基於部分查詢來確定實體類別可以包括:基於所述部分查詢的一個或多個部分查詢詞語來確定部分查詢實體;以及基於所述部分查詢實體來確定所述實體類別。在那些實現中的一些中,該方法可以進一步包括步驟:確定除用來確定所述部分查詢實體的部分查詢詞語外的所述部分查詢中的另外的字符,其中,確定查詢模板進一步基於所述另外的字符。
該方法可以進一步包括基於與和所述實體別名相關聯的實體相關聯的流行性度量來確定所述查詢建議的排名的步驟。
該方法可以進一步包括基於與所述實體模板相關聯的排名來確定所述查詢建議的排名的步驟。
其他實現可以包括非瞬時計算機可讀存儲介質,存儲可由處理器執行的指令來執行諸如在此所述的方法中的一個或多個的方法。又一實現可以包括系統,該系統包括存儲器和可用來執行存儲在存儲器中的指令的一個或多個處理器,以便執行諸如在此所述的方法中的一個或多個的方法。
在此所述的主題的特定實現基於從查詢組識別具有一個或多個匹配詞語和具有作為詞語的實體類別的成員的一個或多個詞語的查詢,確定查詢模板和/或與查詢模板相關聯的排名。在一些實現中,可以基於符合查詢模板的查詢集合中的先前輸入的查詢的數量,來確定查詢模板的排名。在一些實現中,可以基於來自存在於符合查詢中的實體類別的已知實體的數量,來確定查詢模板的排名。在一些實現中,可以基於符合查詢模板的查詢中的實體類別的成員的分佈和包括不符合查詢模板的查詢的查詢組中的實體類別的成員的分佈,來確定查詢模板的排名。查詢模板和查詢模板的排名表示可以由諸如用戶先前提交的查詢中的一個或多個查詢取得的新查詢模板。可以利用查詢模板來為用戶提供用於符合查詢模板的部分查詢的查詢建議。
應當認識到,上述概念和在此更詳細論述的另外的概念的所有組合均預期為在此公開的本發明主題的一部分。例如,出現在本公開內容的結尾處的所要求保護的主題的 所有組合均預期為在此公開的發明主題的一部分。
101‧‧‧通信網絡
105‧‧‧計算設備
110‧‧‧瀏覽器
115‧‧‧模板生成器
120‧‧‧查詢建議引擎
125‧‧‧搜索引擎
130‧‧‧內容數據庫
400A-H‧‧‧查詢
405‧‧‧查詢模板
415‧‧‧查詢模板
500‧‧‧查詢輸入
510‧‧‧搜索按鈕
520‧‧‧查詢建議列表
810‧‧‧計算機系統
812‧‧‧總線子系統
814‧‧‧處理器
816‧‧‧網絡接口子系統
820‧‧‧用戶接口輸出設備
822‧‧‧用戶接口輸入設備
824‧‧‧存儲子系統
826‧‧‧內存
圖1是其中可以實現確定和排序查詢模板的方法的示例性環境的框圖。
圖2是圖示確定查詢模板和排序查詢模板的示例性方法的流程圖。
圖3是圖示基於所識別的查詢模板,為用戶提供一個或多個查詢建議的示例性方法的流程圖。
圖4圖示了查詢列表和可以符合查詢的查詢模板。
圖5圖示了基於構造的查詢模板可以提供給用戶的查詢完成建議的示例性圖形用戶界面。
圖6A圖示了在符合查詢模板的查詢組中實體類別的成員的出現頻率的示例直方圖。
圖6B圖示了在包括不符合模板的查詢的查詢組中圖6A的類別的成員的出現頻率的示例直方圖。
圖7A圖示了在符合查詢模板的查詢組中實體類別的成員的出現頻率的另一示例直方圖。
圖7B圖示了在包括不符合模板的查詢的查詢組中圖7A的類別的成員的出現頻率的另一示例直方圖。
圖8圖示了示例性計算機系統的框圖。
用戶可以提交多個查詢,每個查詢包括匹配其他查詢 中的詞語的一個或多個詞語,以及與實體類別相關聯的一個或多個詞語。例如,搜索查詢短語“restaurants in”可以包括在多個所提交的查詢中,接著與實體類別“city”相關聯的城市名。所提交的查詢可以包括例如“restaurants in San Francisco”、“restaurant in LA”和“restaurants in Los Angeles”。實體類別“city”可以包括多個實體,每個實體與特定城市相關聯並且與一個或多個別名相關聯。例如,與加利福尼亞的舊金山市相關聯的實體可以與諸如“San Francisco”、“SF”和“SFO”的別名相關聯。與實體類別的實體相關聯的別名可以用作與實體類別相關聯的詞語。而且,例如,搜索查詢短語“beach in”可以包括在多個所提交的查詢中,在與實體類別“beach cities”相關聯的城市名之後。實體類別“beach cities”可以是與實體類別“city”不同的實體組,諸如與沿海城市相關聯的實體組。例如,與城市拉斯維加斯相關聯的實體可以包括在一般“city”實體類別中,但可以不包括在“coastal cities”實體類別中。
查詢組中的一個或多個查詢,諸如先前由一個或多個用戶提交的查詢組,可以用來確定多個查詢可以符合的查詢模板。查詢模板包括一個或多個詞語以及詞語的類別的標識符。例如,查詢模板可以是“restaurants in[city]”,其中,“[city]”是與實體類別“city”相關聯的一個或多個詞語的標識符。可以基於查詢模板的有效性的確定,來對查詢模板排名。可以利用查詢模板的排名來 確定該模板是否是有效模板。查詢模板的排名可以附加地和/或替選地與該模板相關聯並且用在確定是否將查詢模板用在形成查詢建議中和/或用在確定基於查詢模板形成的查詢建議的排名中。
例如,用戶可以輸入部分查詢“restaurants in s”,以及基於例如模板的共同詞語和所輸入的部分查詢,可以將查詢模板“restaurants in[city]”識別為用於所輸入的部分查詢的查詢模板。在一些實現中,可以已基於在此所述的技術確定查詢模板“restaurants in[city]”,以及可以已基於在此所述的技術將查詢模板確定為有效查詢模板。可以基於查詢模板,形成用於部分查詢的一個或多個查詢建議。例如,基於查詢模板形成的查詢建議可以包括可以基於從與實體類別“city”相關聯的詞語選擇的“San Francisco”形成的查詢建議“restaurants in San Francisco”。在一些實現中,可以只有查詢模板的排名滿足閾值時,才形成查詢建議。例如,閾值可以基於與和“restaurants in s”相關聯的其他查詢建議相關聯的排名。例如,只有當相對於查詢建議,用於部分查詢的其他查詢建議不被認為是高排名的查詢建議時,才基於查詢模板來形成用於部分查詢的查詢建議。然後,可以選擇所形成的查詢建議“restaurants in San Francisco”以作為用於部分查詢的查詢建議提供給用戶。查詢建議“restaurants in San Francisco”的排名可以可選地被確定並且用在確定是否選擇該查詢建議提供給用戶和/或在提供給用戶中在 哪兒呈現該查詢建議。排名可以基於例如與別名“San Francisco”相關聯的排名、與和城市San Francisco相關聯的實體相關聯的排名、和/或可選地與查詢模板“restaurants in[city]”相關聯的排名。
在整個說明書中,由方括號包圍的一個或多個詞語將用來表示與實體類別相關聯的詞語的類別和/或實體類別本身的標識符。例如“[city]”表示與實體類別“city”相關聯的詞語的類別的標識符。例如,查詢“restaurants in San Francisco”、“restaurants in New York”和“restaurants in Denver”可以被稱為符合查詢模板“restaurants in[city]”。如在此所述,包括[city]的查詢模板可以用來形成用來自詞語的類別(諸如城市別名“San Francisco”、“New York”和/或“Denver”)的一個或多個詞語替換標識符[city]的多個查詢建議。例如,查詢模板“restaurants in[city]”可以用來形成查詢建議“restaurants in San Francisco”、“restaurants in New York”和“restaurants in Denver”。
參考圖1,示出了其中可以實現確定和排名查詢模板的方法的示例性環境的框圖。環境包括具有瀏覽器110的計算設備105、模板生成器115、查詢建議引擎120、搜索引擎125和內容數據庫130。該環境還包括實現該環境的各個組件之間的通信的通信網絡101。
在一些實現中,用戶可以通過客戶端計算設備105上的Web瀏覽器110與搜索引擎125交互。計算設備105 可以是例如臺式計算機、膝上型計算機、蜂窩電話、智能電話、個人數字助理(PDA)、平板電腦、可配戴式計算設備(例如數字手表、耳機、眼鏡等等)、導航系統、和/或另一計算設備。計算設備105和搜索引擎125每一個包括用於存儲數據和軟件應用的存儲器、用於訪問數據和執行應用的處理器、以及促進通信網絡101上的通信的組件。由計算設備105、瀏覽器110和/或搜索引擎125執行的操作可以分佈在多個計算系統上。
搜索引擎125接收查詢和在諸如網頁、文本文檔和/或多媒體的可用文檔的搜索引擎內容數據庫(例如內容數據庫130)中執行查詢。為了本說明書的目的,文檔是與文檔地址相關聯的任何數據。僅舉幾例,文檔包括網頁、字處理文檔、可移植文檔格式(PDF)文檔、圖像、視頻、音頻、電子郵件、日曆項、任務項和饋給源。文檔可以包括內容,例如詞、短語、圖片、音頻、任務標識符、實體標識符等等;嵌入式信息(諸如元信息和/或超鏈接);和/或嵌入式指令(諸如JavaScript腳本)。搜索引擎125識別與所提交的查詢匹配的內容並且通過以對該設備有用的形式生成傳送給一個或多個設備的搜索結果來響應。例如,響應於來自計算設備105的查詢,搜索引擎125可以傳送將在計算設備105上執行的Web瀏覽器110中顯示的多個搜索結果。內容數據庫130可以包括一個或多個存儲介質。例如,在一些實現中,內容數據庫130可以包括每個包含一個或多個存儲介質的多個計算機服務 器。
在用戶已指示完成查詢之前,在計算設備105上執行的應用還可以提供由用戶制定的部分查詢。應用可以是例如Web瀏覽器110、在Web瀏覽器110中運行的工具欄、電子郵件應用、文本消息應用、和/或運行在計算設備105上的搜索客戶端。在一些實現中,當由用戶鍵入或者以其它方式輸入時,應用提供查詢的每一字符。在一些實現中,應用一次提供多個字符,可選地,在字符項之間接著用戶的暫停。
部分查詢是在由用戶指示該查詢是完整查詢前由用戶制定的查詢。在一些實現中,用戶可以通過輸入回車和/或其他符號來指示完整查詢。在一些實現中,用戶可以通過選擇呈現給用戶的用戶界面中的搜索按鈕或其他提交按鈕來指示完整查詢。在一些實現中,用戶可以通過在語音用戶接口中說出命令來指示完整查詢。在一些實現中,用戶可以在輸入查詢期間停頓超出預定時間量來指示完整查詢。可以另外和/或替選地利用提供部分查詢和/或指示完整查詢的其他形式。
響應於用戶輸入的部分查詢,計算設備105可以通過向用戶提供建議輸入來促進用戶輸入。例如,當用戶輸入一個或多個字符時,計算設備105能提供使用一個或多個字符選擇的查詢建議。在一些實現中,可以通過查詢建議引擎120將查詢建議提供給計算設備105。所提供的查詢建議可以包括包含由用戶輸入的一個或多個字符的詞或短 語。例如,對用戶已經輸入(例如說出或使用物理或虛擬鍵盤輸入)的部分詞或部分短語,能建議完整詞或擴展短語。查詢建議還能包括與用戶輸入類似(例如同義詞或拼寫校正)的詞或短語。查詢建議中的一個或多個可以包括基於在此所述的查詢模板確定的查詢建議。用戶能與所提供的查詢建議中的一個交互(例如敲擊、點擊或者以其它方式肯定選擇)來輸入所選擇的查詢建議的文本。
可以在計算設備105的用戶界面上將查詢建議顯示給用戶。例如,當用戶正鍵入查詢時,可以在諸如在計算設備105上執行的Web瀏覽器的應用的搜索字段的層疊下拉菜單內顯示查詢建議。
在一些實現中,響應於在計算設備105輸入的部分查詢,搜索引擎125可以接收部分查詢並且將部分查詢轉發到查詢建議引擎120。在一些實現中,響應於在計算設備105輸入的部分查詢,在計算設備105上執行的一個或多個應用可以可選地將部分查詢直接轉發到查詢建議引擎120。查詢建議引擎120可以包括用於存儲數據和軟件應用的存儲器、用於訪問數據和執行應用的處理器、以及促進在通信網絡101上通信的組件。查詢建議引擎120可以將所提交的部分查詢與作為該查詢的適當匹配的多個查詢建議中的一個或多個匹配。例如,查詢建議引擎120可以將所提交的查詢與查詢模板匹配以及利用該查詢模板來確定作為該查詢的適合匹配的一個或多個查詢建議。而且,例如,查詢建議引擎120可以將所提交的查詢與利用查詢 模板形成的查詢建議匹配。在一些實現中,查詢建議可以表示潛在完整查詢,其可以被提供給用戶以使得用戶選擇查詢建議中的一個作為用在搜索或其他信息檢索應用中的基礎。
在一些實現中,查詢建議數據庫可以包括一個或多個查詢建議和/或可以用來確定查詢建議的查詢模板。可以根據在此所述的一個或多個方法和/或裝置來確定和/或排名查詢建議數據庫中的這樣的查詢建議和/或查詢建議模板。
在一些實現中,搜索引擎125和/或計算設備105可以可選地將完整查詢提供給查詢建議引擎120。完整查詢是用戶已指示是完整的查詢。然後,查詢建議引擎120可以將完整查詢與一個或多個查詢建議匹配來為用戶的完整查詢確定一個或多個查詢建議。例如,可以基於在此所述的查詢模板來確定一個或多個查詢建議。然後,查詢建議引擎120可以將這些查詢建議提供給用戶。查詢建議可以例如嵌入將在諸如Web瀏覽器110的應用中顯示的搜索結果網頁中,作為潛在的進一步搜索選項。
在一些實現中,內容數據庫130可以包括包含實體之間的關係的映射等的實體數據庫。在一些實現中,實體是演說的主題。在一些實現中,實體是人、地點、概念和/或能由文本段(例如詞語或短語)引用並且相互區別(例如基於上下文)的事物。例如,查詢或網頁中的文本“bush”可以潛在地引用多個實體,諸如President George Herbert Walker Bush、President George Walker Bush、shrub(灌木)、和搖滾樂隊Bush。在一些實現中,可以由可以用來識別實體的唯一實體標識符引用實體。唯一實體標識符可以與和實體和/或和其他實體相關聯的一個或多個屬性相關聯。例如,在一些實現中,一個或多個實體數據庫可以包括與一個或多個實體的唯一標識符相關聯的屬性。例如,對於多個實體中的每一個,可以在實體數據庫中標識實體和一個或多個屬性和/或與實體有關的其他實體之間的映射(例如,定義關聯的數據)。例如,用於與“LAX”相關聯的實體的唯一標識符可以與“洛杉磯國際機場”的名稱或別名屬性“LAX”、另一別名屬性(常常引用LAX的替選名稱)、電話號碼屬性、地址屬性、和/或實體屬性數據庫中的實體類型屬性“機場”相關聯。另外和/或替選屬性可以與諸如實體數據庫的一個或多個數據庫中的實體相關聯。例如,如在此所述,實體可以與一個或多個實體類別相關聯。例如,與加利福尼亞的舊金山市相關聯的實體可以與實體類別“city”、“large cities”、“cities in California”和“cities with a bay”相關聯。
在本說明書中,詞語“數據庫”將被廣泛地用來指任何數據的集合。數據庫的數據不需要以任何特定方式結構化、或完全不結構化、並且能存儲在存儲設備上的一個或多個位置。由此,例如,數據庫可以包括數據的多個集合,可以不同地組織和訪問每一數據集合。
在一些實現中,內容數據庫130可以包含先前提交的搜索查詢和/或先前提交的查詢的搜索結果的引用。例如,用戶可以通過將查詢直接提交到搜索引擎125或通過選擇響應於由用戶提交的部分查詢而提供給用戶的查詢建議,提交查詢“restaurants in San Francisco”。可以將所提交的查詢“restaurants in San Francisco”存儲在內容數據庫130中。
在一些實現中,模板生成器115可以基於諸如來自內容數據庫的查詢的一個或多個查詢來確定查詢模板。在一些實現中,可以基於確定符合查詢模板的多個查詢來確定查詢模板。在一些實現中,可以從單個查詢來確定查詢模板。例如,模板生成器可以識別查詢“bike shops in san diego”。可以基於包括接著作為實體類別[city]的成員的附加詞語“san diego”的詞語“bike shops in”的查詢來確定查詢模板。在一些實現中,模板生成器115可以訪問查詢與實體映射,如在此所述,確定附加詞語“san diego”與和加利福尼亞的聖地亞哥市相關聯的實體相關聯。在一些實現中,模板生成器115可以進一步訪問實體映射來確定與加利福尼亞的聖地亞哥市相關聯的實體是實體類別[city]的成員。因此,可以確定查詢模板“bike shops in[city]”。在一些實現中,可以由用戶構造查詢模板並且根據在此所述的一個或多個技術排名。
在一些實現中,模板生成器115可以從內容數據庫130識別一個或多個查詢以及確定查詢是否與查詢模板相 符。可以利用與查詢模板相符的多個模板的確定來確定查詢模板和/或對所確定的查詢模板排名。在一些實現中,由模板生成器115識別的查詢可以是由一個或多個用戶先前提交的查詢。如果多個查詢共享除了作為實體類別的成員的一個或多個詞語外的一個或多個匹配詞語,模板生成器115可以將多個查詢確定為與查詢模板相符。如在此所述,詞語的匹配可以包括詞語的精確匹配和/或詞語的軟匹配。例如,模板生成器115可以從內容數據庫130識別查詢“bike shops in san diego”、“bike shops in los angeles”和“bike shops in louisville”。可以基於包括在接著作為實體類別“city”的成員的一個或多個附加詞語的共同詞語“bike shops in”的所有查詢,來確定查詢與查詢模板相符。因此,緊接在前的查詢與查詢模板“bike shops in[city]”相符。
在一些實現中,模板生成器115在確定一個或多個查詢是否符合查詢模板時,可以忽略一個或多個詞語,諸如無用詞(例如“a”、“of”和“in”)。例如,模板生成器115可以確定“bike shops in los angeles”、“bike shops in san diego”和“bike shops around louisville”符合查詢模板“bike shops in[city]”。在一些實現中,模板生成器115可以忽略先前提交的查詢中的詞語之間的空白和/或詞語之間缺少空格。例如,可以確定“bikeshops in losangeles”和“bike shops san diego”符合查詢模板“bike shops in[city]”。在一些實現中,模板生成器115 可以將包括處於不同位置的匹配詞語的查詢確定為符合查詢模板的查詢。例如,模板生成器115可以確定“bike shops los angeles”和“san diego bike shops”符合查詢模板“bike shops[city]”和/或查詢模板“[city]bike shops”。在一些實現中,模板生成器115可以將查詢的一個或多個詞語規範成確定查詢是否符合查詢模板中的標準時態和/或複數形式。例如,模板生成器115可以確定“flows west mississippi river”和“flowing west ohio river”具有共同詞語“flow west”和/或“flowing west”,以及確定它們符合查詢模板“flow west[river]”。而且,例如,模板生成器115可以確定“lakes near detroit”和“lake near chicago”具有共同詞語“lake near”,並且確定它們符合查詢模板“lake near[city]”。
在一些實現中,在確定與查詢模板的符合度中,可以不修改否則可以被規範和/或可以是無用詞的一個或多個詞語。是否修改一個或多個詞語可以基於例如查詢的語法和/或語義屬性和/或響應於查詢返回的搜索結果文檔。例如,“rivers near ohio”和“river ohio”可以不被識別為符合查詢模板,因為查詢的可能含義不同,諸如“rivers near ohio”作為返回有關在俄亥俄州附近的河流的文檔的查詢,以及“river ohio”作為返回有關俄亥俄河的文檔的查詢。
如所述,模板生成器115可以確定所識別的查詢中的一個或多個詞語是作為在確定所識別的查詢是否符合查詢 模板中的實體類別的成員的詞語。例如,模板生成器115可以確定“los angeles”是作為實體類別“city”的成員的別名的詞語。而且,例如,模板生成器115可以將“san diego”識別為作為實體類別“city”的成員的別名的詞語。在一些實現中,模板生成器115可以經由諸如內容數據庫130的數據庫識別作為給定實體類別的成員的給定查詢的詞語。例如,在一些實現中,數據庫可以包括用於多個查詢的查詢與實體映射。對於每一查詢,查詢實體映射可以將查詢映射到與查詢相關聯的一個或多個實體和/或將查詢的一個或多個詞語映射到與這樣的一個或多個詞語相關聯的一個或多個實體。查詢和一個或多個實體之間的映射可以基於例如響應於查詢的搜索結果文檔包括一個或多個實體的確定。例如,對於查詢“battleship movie”,可以確定響應於該查詢的搜索結果文檔主要集中在與影片“Battleship”相關聯的實體上。查詢“battleship movie”和與影片“Battleship”相關聯的實體之間的映射可以基於這樣的確定。
例如,可以將查詢“battleship gross sales”映射到與影片“Battleship”相關聯的實體。可以參考實體數據庫來確定詞語“Battleship”是與影片“Battleship”相關聯的實體的別名以及確定與影片“Battleship”相關聯的實體是實體類別[films]的成員。因此,可以確定查詢“battleship gross sales”中的詞語“Battleship”是實體類別[films]的成員。基於這樣的確定,可以確定查詢 “battle ship gross sales”符合查詢模板“[影片]銷售總額”。而且,例如,可以將查詢“board game battleship”映射到與棋盤遊戲“Battleship”相關聯的實體。可以參考實體數據庫來確定詞語“Battleship”是與棋盤遊戲“Battleship”相關聯的實體的別名,以及確定與棋盤遊戲“Battleship”相關聯的實體是實體類別[board game]的成員。因此,可以確定查詢“board game battleship”中的“Battleship”是實體類別[board game]的成員。基於這樣的確定,可以確定查詢“board game battleship”符合查詢模板“board game[board game]”。應注意到在一些實現中,查詢“board game battleship”中的詞語“Battleship”將不被確定為實體類別[film]的成員,因為查詢“board game battleship”可以不被映射到與影片“Battleship”相關聯的實體。
在一些實現中,諸如在確定查詢中的一個或多個詞語是否是實體類別的成員的詞語中利用查詢實體映射的實現,可以僅利用映射到查詢的實體中的一個或多個。例如,在前面的例子中,可以將查詢“board game battleship”映射到與影片“Battleship”相關聯的實體,但是到與電影相關聯的實體的映射可以與相對弱的排名相關聯(例如,反映響應於該查詢的與該電影相關聯的搜索結果的相對低的重要性)。在一些實現中,可以僅利用映射到該查詢並且至少與閾值排名相關聯的實體。在一些實現中,可以僅利用映射到該查詢的最高排名實體。
在一些實現中,在確定所識別的查詢中的一個或多個詞語是否是實體類別的成員的詞語中,可以直接參考與實體類別相關聯的詞語的列表。例如,諸如內容數據庫130的數據庫可以包括多個實體類別,以及用於每一實體類別的作為該實體類別的成員的詞語的列表。如果給定查詢包含映射到實體類別的詞語,在確定該給定查詢是否符合查詢模板中,可以確定該詞語是該實體類別的成員。在一些實現中,必須確定查詢的詞語被映射到實體類別以及該查詢被映射到包括在實體類別(例如經由查詢實體映射)中的實體。在一些實現中,模板生成器115可以通過識別被映射到指示給定類別的相同屬性的實體的別名,來確定作為實體類別的成員的詞語。例如,模板生成器115可以基於“los angeles”和“san diego”都是被映射到實體屬性[city]的實體的別名,確定“los angeles”和“san diego”屬實體類別[city]。在一些實現中,模板生成器115可以確定實體的別名屬多個實體類別。例如,“los angeles”、“san diego”和“louisville”可以是實體類別“city”的別名,以及“los angeles”和“san diego”可以是實體類別“California cities”的別名,以及“louisville”的別名可以不被映射到實體相關聯的“California cities”。
在一些實現中,模板生成器115可以確定所確定的查詢模板的排名。排名指示在形成查詢建議中查詢模板的有用性。在一些實現中,查詢模板的排名可以用來確定模板是否是有效的模板。在一些實現中,查詢模板的排名可以 另外和/或替選地與該模板相關聯並且用在確定形成查詢建議中是否利用查詢模板和/或用於確定基於查詢模板形成的查詢建議的排名。
在一些實現中,查詢模板的排名可以基於實體類別的內聚性。實體類別的內聚性可以指示實體類別的實體之間的相似性,相似性越高,指示越大的內聚性。實體類別的實體之間的高相似度將以比實體之間的低相似度更影響排名。例如,除與實體類別[movie subject]相關聯外,諸如[movie subject]的實體類別可以包括彼此之間具有低相似性的多個實體。例如,[movie subject]可以包括與諸如“aliens”、“art”和“wars”的不同主題相關聯的多個實體。因此,在一些實現中,可以將實體類別[movie subject]識別為具有低內聚性水平。另一方面,實體類別[U.S.presidents]可以包括彼此之間具有高相似度的實體。基於實體類別的內聚性的查詢模板的排名可以指示可以產生無用和/或多餘查詢建議的查詢模板。例如,基於實體類別的內聚性的查詢模板的排名可以使包括不能滿足內聚性的閾值水平的實體類別的查詢模板不被考慮為有效查詢模板。
在一些實現中,查詢模板的排名可以基於符合查詢模板的所識別的先前提交的查詢的數量。例如,在一些實現中,當符合查詢模板的所識別的先前提交的查詢的數量滿足閾值時,模板生成器115可以確定積極影響排名。而且,例如,在一些實現中,模板生成器115可以確定在基 於符合模板的所識別的先前提交的查詢的數量的程度上積極影響排名(例如,符合的越多,排名越高)。在一些實現中,確定符合查詢模板的所識別的先前提交的查詢的數量可以考慮查詢中的一個或多個出現的頻率。例如,提交過10次的給定查詢(例如計數10次,或計數大於1次)可以加權高於僅提交過一次的另一查詢。在一些實現中,確定符合查詢模板的所識別的先前提交的查詢的數量可以忽略查詢中的一個或多個的出現頻率(例如,每一查詢僅計數一次,與出現頻率無關)。
在一些實現中,查詢模板的排名可以包括基於符合該模板的所識別的先前提交的查詢的數量是否滿足閾值,來確定該模板是否有效。例如,模板生成器115可以識別1,000,000先前識別的查詢以及識別第一查詢模板“bike shop[city]”和第二查詢模板“independently owned bike shop[city]”。可以基於先前識別的查詢的數量來確定閾值和/或另外確定(例如,缺省閾值)。例如,閾值可以是20。模板生成器115可以確定先前提交的查詢中的500個符合第一查詢模板“bike shop[city]”並且確定第一查詢模板潛在有效。另一方面,模板生成器115可以確定先前提交的查詢中的僅10個符合第二模板“independently owned bike shop[city]”並且確定第二查詢模板潛在無效。在一些實現中,符合查詢模板的所識別的先前提交的查詢的數量和/或閾值可以基於百分比。
在一些實現中,查詢模板的排名可以基於確定作為查 詢模板的實體類別的成員並且存在於符合該模板的至少一個先前識別的查詢中的實體的數量。例如,查詢模板可以是“restaurants in[city]”以及實體類別[city]可以與100,000個實體相關聯。模板生成器115可以確定與實體類別[city]相關聯的10,000實體存在於符合模板“restaurants in[city]”的先前所識別的查詢中。因此,作為實體類別[city]的成員的實體的10%存在於符合模板“restaurants in[city]”的先前所識別的查詢中。隨著作為實體類別的成員並且存在於至少一個先前所識別的查詢中的實體的數量增加,積極影響排名。因此,如果作為實體類別[city]的成員的實體的20,000個存在於符合模板“restaurants in[city]”的先前所識別的查詢中比僅存在實體的10,000個更積極地影響查詢模板“restaurants in[city]”的排名。
在一些實現中,確定排名可以包括基於作為查詢模板的實體類別的成員並且存在於符合該模板的至少一個先前所識別的查詢中的實體的數量是否滿足閾值,來確定該模板是否有效。例如,模板生成器115可以識別第一查詢模板“bike shop[city]”和第二查詢模板“independently owned bike shop[city]”。模板生成器115可以進一步確定與[city]相關聯的實體類別可以與100,000個實體相關聯。可以基於相關聯的實體的數量確定閾值和/或另外確定(例如缺省閾值)。例如,閾值可以是實體的5%。模板生成器115可以確定作為類別[city]的成員的實體的7% 存在於符合第一查詢模板“bike shop[city]”的先前提交的查詢中並且確定第一查詢模板潛在有效。另一方面,模板生成器115可以確定作為類別[city]的成員的實體的僅1%存在於符合第二查詢模板“independently owned bike shop[city]”的先前提交的查詢中,並且確定第二查詢模板潛在無效。
在一些實現中,查詢模板的排名可以基於確定符合該模板的先前所識別的查詢中的實體類別的成員的出現頻率與包括不符合該模板的查詢的另外的先前所識別的查詢的集合中的同一實體的出現頻率之間的相似性。當符合該模板的先前所識別的查詢中的實體類別的實體的出現頻率與另外的先前所識別的查詢的集合中的同一實體的出現頻率之間的相似性增加時,積極地影響排名。例如,查詢模板可以是“restaurants in[city]”以及可以確定在符合查詢模板的先前所識別的查詢中,與舊金山相關聯的實體以第一頻率出現以及可以確定在符合查詢模板的先前所識別的查詢中與聖地亞哥相關聯的實體以第二頻率出現。例如,可以確定與舊金山相關聯的實體以符合該查詢模板的查詢中的0.08%出現,以及與聖地亞哥相關聯的實體以符合該查詢模板的查詢中的0.06%出現。可以進一步確定與舊金山相關聯的實體在包括不符合該模板的查詢的另外的先前所識別的查詢集合(例如,所有所識別的查詢,包括類別[city]的實體的所有所識別的查詢)中以第三頻率出現,以及可以確定與聖地亞哥相關聯的實體在另外的查詢集合 中以第四頻率出現。例如,可以確定與舊金山相關聯的實體在另外的查詢集合中以查詢中的0.08%出現,以及與聖地亞哥相關聯的實體在符合另外的查詢集合的查詢中以0.06%出現。因此,舊金山和聖地亞哥的出現頻率之間的分佈在符合該模板的查詢和另外的查詢集合之間是相同的。基於這樣的分佈相似性,可以積極地影響查詢模板的排名。為了簡化起見,在前面的例子中論述了比較僅兩個實體之間的出現頻率。如在此所述,可以考慮2個以上實體之間的分佈相似性。
在一些實現中,確定排名可以包括確定在符合該模板的先前所識別的查詢中實體類別的成員的出現頻率與包括不符合該模板的查詢的另外的先前所識別的查詢集合中相同實體的出現頻率之間的相似性是否滿足閾值。例如,可以基於在符合模板的先前所識別的查詢中實體類別的成員的出現頻率與包括不符合模板的查詢的另外的先前所識別的查詢的集合中相同實體的出現頻率之間的相似性,來確定相似性度量。如果相似性度量滿足閾值,可以將該查詢模板視為潛在有效。如果相似性度量不能滿足該閾值,則可以將該查詢模板視為潛在無效。
參考圖6A-7B,提供了基於確定符合模板的先前所識別的查詢中實體類別的成員的出現頻率與包括不符合該模板的查詢的另外的先前所識別的查詢的集合中相同實體的出現頻率之間的相似性,來確定查詢模板的排名的另外的例子。
在圖6A中,圖示了在符合查詢模板“restaurants in[city]”的查詢集合中實體類別[city]的四個實體的出現頻率的示例性直方圖。在圖6B中,圖示了在包括不符合該查詢模板的查詢的另外的所識別的查詢集合中同樣四個實體的出現頻率的示例性直方圖。在一些實現中,另外的查詢集合可以包括符合模板“restaurants in[city]”的查詢中的一個或多個。在一些實現中,另外的查詢集合可以包括來自過去查詢的日誌的所有查詢。在一些實現中,另外的查詢集合可以僅包括包含實體類別[city]的實體的查詢。圖6A和6B圖示了模板生成器115可以確定集合之間具有高相似度並且可以積極地影響查詢模板的排名的出現頻率的直方圖。
參考圖6A,圖示了城市“洛杉磯,CA”、“路易斯維爾,KY”、“舊金山,CA”和“塞勒姆,OR”。儘管僅圖示了四個城市,應理解到可以利用另外的城來確定出現頻率的相似性。例如,在一些實現中,可以利用存在於在符合查詢模板“restaurants in[city]”的查詢集合中的所有城市。而且,例如,在一些實現中,可以利用存在於符合查詢模板“restaurants in[city]”的查詢集合中的城市的子集(例如,200個隨機選擇的城市)。
模板生成器115可以識別在符合模板“restaurants in[city]”的查詢中實體類別[city]的四個圖示成員的出現頻率。在所圖示的直方圖中,由條的高度表示查詢中的城市的出現頻率。例如,符合該模板並且包括與“los angeles ”相關聯的實體的查詢出現約120次。如在此所述,在一些實現中,在確定出現頻率中,模板生成器115可以包括用於實體的多個別名。例如,用於“los angeles”的出現頻率計數可以包括查詢“restaurants in Los Angeles”中出現70次以及查詢“restaurants in LA”出現50次。
參考圖6B,圖示了對包括不符合模板“restaurants in[city]”的查詢的查詢集合的類別[city]的相同成員的出現頻率。在一些實現中,查詢集合可以包括符合查詢模板的查詢和不符合查詢。例如,查詢集合可以包括“restaurants in Los Angeles”和查詢“basketball team los angeles”。而且,例如,可以僅利用不符合模板的查詢來確定計數。圖6B中的城市的出現頻率在分佈上類似於圖6A中的城市的出現頻率。圖6B中的城市的每一個具有如圖6A中所圖示的出現頻率的約2倍,但表示相對彼此的類似分佈。圖6B的較大出現頻率可以是由於例如所考慮的較大查詢集合。
模板生成器115可以確定符合模板的先前所識別的查詢中類別的成員的出現頻率和包括不符合該模板的查詢的另外的先前所識別的查詢集合中相同實體的出現頻率之間的相似性。例如,模板生成器115可以使用一個或多個統計方法,諸如適合度測試、卡方分析、和/或基於熵的方法來確定相似性。
在圖7A中,圖示了在符合查詢模板“NBA teams in[city]”的查詢集合中實體類別[city]的四個實體的出現頻 率的示例性直方圖。在圖7B中,圖示了在包括不符合查詢模板的查詢的先前所識別的查詢集合中同樣四個實體的出現頻率的示例性直方圖。圖7A和7B圖示了模板生成器115可以確定會不利地影響查詢模板的排名和/或僅有限程度地積極影響查詢模板的排名的集合之間不具有高相似度的出現頻率的直方圖。
參考圖7A,圖示了“洛杉磯,CA”、“路易斯維爾,KY”、“芝加哥,IL”和“塞勒姆,OR”。儘管僅圖示了四個城市,但應理解到可以利用另外的城市來確定出現頻率的相似性。模板生成器115可以在符合模板“NBA teams in[city]”的查詢中識別實體類別[city]的四個所圖示成員的出現頻率。如所圖示的,在圖7A中與“洛杉磯,CA”和“芝加哥,IL”相關聯的實體具有約225的出現頻率,其中,與“路易斯維爾,KY”和“塞勒姆,OR”相關聯的實體具有最小出現頻率(由於例如符合用於那些實體的查詢模板的有限查詢提交,因為在那些城市中不存在NBA隊)。
參考圖7B,圖示了包括不符合模板“NBA teams in[city]”的查詢的另外的查詢集合的類別[city]的相同成員的出現頻率。在一些實現中,另外的查詢集合可以包括符合查詢模板的查詢和不符合查詢。而且,例如,可以僅利用不符合模板的查詢來確定出現頻率。圖7B中的城市的出現頻率在分佈上與圖7A的城市的出現頻率不相似。例如,與“路易斯維爾,KY”和“塞勒姆,OR”相關聯的 實體表示在圖7B中比在圖7A中更大的出現頻率。
模板生成器115可以確定在符合模板的先前所識別的查詢中類別的成員的出現頻率和在包括不符合模板的查詢的另外的先前所識別的查詢集合中相同實體的出現頻率之間的相似性。例如,模板生成器115可以使用一個或多個統計方法,諸如適合度測試、卡方分析和/或基於熵的方法來確定相似性。
在此描述了確定查詢模板的排名的各種技術。查詢模板的排名可以基於一個或多個這樣的技術和/或另外的技術。例如,查詢模板是否是有效的查詢模板可以基於:查詢模板的實體類別的內聚性、作為實體類別的成員並且存在於符合查詢模板的至少一個先前識別的查詢中的實體的數量、符合查詢模板的多個所識別的先前提交查詢、以及符合模板的先前所識別的查詢中實體類別的成員的出現頻率和包括不符合該模板的查詢的另外的先前所識別的查詢集合中相同實體的出現頻率之間的相似性。例如,累積排名可以基於所有在前因素來確定以及如果累計排名滿足閾值,可以將該查詢模板視為有效。而且,例如,可以對於在前因素中的每一個確定個體排名,以及如果個體排名中的每一個滿足閾值,可以該查詢模板視為有效。可以利用在此所述的一個或多個技術的另外和/或替選組合來確定查詢模板的排名。
在一些實現中,模板生成器115可以將確定的查詢模板存儲在內容數據庫130中。在一些實現中,當由模板生 成器115將模板確定為有效時,可以將查詢模板僅存儲為有效查詢模板。在一些實現中,與查詢模板相關聯的任何所確定的排名可以可選地與內容數據庫130中的查詢模板關聯。
查詢建議引擎120可以識別由模板生成器115制定的一個或多個查詢模板並且在制定用於部分查詢的查詢建議中利用該查詢模板。在一些實現中,可以利用查詢模板來制定查詢建議以便擴展現有的查詢建議的數據庫。在一些實現中,可以利用查詢模板來實時地制定查詢建議。
作為基於查詢模板來制定查詢建議的例子,查詢建議引擎120可以識別部分查詢並且確定包括來自部分查詢的一個或多個詞語的查詢模板。例如,對於部分查詢“restaurant i”,可以識別查詢模板“restaurants in[city]”。然後,可以基於所識別的查詢模板來確定一個或多個查詢建議。例如,可以通過將用於來自實體類別[city]的實體的別名插入查詢模板中來確定查詢建議。在一些實現中,將實體的哪一別名插入查詢模板中可以基於實體的流行度和/或別名的流行度。流行度可以基於一個或多個因素,諸如過去查詢中的流行度。例如,與舊金山市,CA相關聯的實體可以比安克雷奇,AK相關聯的實體更流行。同樣地,與和San Francisco市相關聯的實體相關聯的別名“San Francisco”可以比與和舊金山市相關聯的實體相關聯的別名SF更流行。
在一些實現中,插入查詢模板中的實體的別名可以基 於另外和/或替選因素。例如,當響應於來自特定用戶的部分查詢來制定查詢建議時,插入查詢模板中的實體的別名可以基於用戶和實體之間和/或用戶和別名之間的關係。例如,用戶可能處於安克雷奇,AK並且基於用戶的位置,更可能選擇與安克雷奇市,AK相關聯的實體。而且,例如,當響應於來自特定用戶的部分查詢而正制定查詢建議時,插入查詢模板中的實體的別名可以基於與用戶的先前搜索請求相關聯的實體。例如,用戶可能頻繁地發出與實體安克雷奇,AK相關聯的搜索查詢,以及基於用戶的過去的搜索查詢,更可能選擇與安克雷奇市,AK相關聯的實體。
在一些實現中,當部分查詢包括查詢模板的實體類別的一個或多個字符時,查詢建議引擎120可以訪問實體數據庫來基於一個或多個字符識別一個或多個潛在的別名。例如,對於部分查詢“restaurants in s”,可以識別查詢模板“restaurants in[city]”。然後,通過將對來自實體類別[city]的實體以“s”開始的別名插入到查詢模板中,可以基於所識別的查詢模板來確定一個或多個查詢建議。例如,可以識別城市的別名,諸如“San Francisco”、“Santa Monica”和“Santa Fe”。而且,例如,用戶可以將部分查詢“bike shops s”輸入為部分查詢。查詢建議引擎120可以基於部分查詢和包括詞語“bike shops”的模板,將模板“bike shops[city]”識別為潛在模板。查詢建議引擎120可以訪問實體數據庫並且識別用於實體類別 [city]的實體,並且可以進一步識別映射到諸如“San Diego”和“San Francisco”的實體類別[city]的實體的一個或多個別名。查詢建議引擎可以識別部分查詢中的詞語“s”和在實體數據庫中的一個或多個別名(例如,“San Diego”和“San Francisco”之間的相似性,以及查詢建議引擎120可以為用戶提供符合該模板並且包括以“s”開始的別名的一個或多個查詢建議。例如,查詢建議引擎120可以為用戶提供查詢建議“bike shops in San Diego”和“bike shops in San Francisco”,作為用於用戶的部分查詢的潛在完整查詢。用戶可以選擇查詢建議中的一個並且將所選的查詢建議提交給搜索引擎125,和/或用戶可以輸入另外的字符來生成新的部分查詢(例如,輸入“bike shops in sa”)。
作為基於查詢模板來制定查詢建議的另一例子,查詢建議引擎120可以識別部分查詢並且確定映射到來自部分查詢的一個或多個詞語的實體類別。例如,對於部分查詢“snow white and the huntsman”,能將詞語“snow white and the huntsman”識別為映射到實體類別[film]。在一些實現中,可以利用在此所述的實體數據庫,來識別用於查詢的一個或多個詞語的實體類別。基於實體類別[film],可以識別包括實體類別[film]的一個或多個查詢模板,諸如查詢模板“[film]actors”。然後,可以利用所識別的查詢模板來確定查詢建議“snow white and the huntsman actors”。而且,例如,對於部分查詢“snow white and the huntsman gr”,能將詞語“snow white and the huntsman”識別為映射到實體類別[film]。基於實體類別[film],以及在實體類別[film]後的另外的字符“gr”,可以識別包括實體類別影片和字符“gr”的一個或多個查詢模板,諸如“[film]gross sales”。然後,可以利用所識別的查詢模板來確定查詢建議“snow white and the huntsman gross sales”。而且,例如,對於部分查詢“snow white and the hu”,能基於用於“snow white and the hu”的現有的查詢建議來識別詞語“snow white and the huntsman”。可以將詞語“snow white and the huntsman”映射到實體類別[film]。基於實體類別[film],可以識別包括實體類別[film]的一個或多個查詢模板,諸如查詢模板“[film]actors”。然後利用所識別的查詢模板來確定查詢建議“snow white and the huntsman actors”。
在一些實現中,查詢建議引擎120可以對基於查詢模板所確定的一個或多個查詢建議進行排名。在一些實現中,查詢建議的排名可以基於用來制定查詢建議的查詢建議模板的排名。例如,基於在此所述的一個或多個標準,模板生成器115可以確定查詢模板“rivers in[state]”排名高於用於查詢建議的查詢模板“rivers in[city]”,以及基於這樣的排名,確定基於查詢模板的查詢建議的排名。在一些實現中,基於查詢模板所確定的查詢建議的排名可以另外和/或替選地基於別名和/或與輸入到查詢建議 中的別名相關聯的實體的流行性。例如,查詢建議的流行性可以基於插入到查詢模板中來形成查詢建議的別名的流行性和基於與插入到查詢建議中的別名相關聯的實體的流行性。如在此所述,一個或多個數據庫可以存儲有關實體和/或實體的別名的流行性的信息。例如,查詢建議引擎120可以識別與“San Antonio”相關聯的實體比與“Saskatoon”相關聯的實體更流行以及基於這樣的流行性來確定包括“San Antonio”和/或“Saskatoon”的查詢建議的排名。而且,例如,查詢建議引擎120可以識別與實體“San Antonio”相關聯的別名“San Antonio”比與實體“Saskatoon”相關聯的別名“SAT”更流行,並且基於這樣的流行性,確定包括“San Antonio”和/或“SAT”的查詢建議的排名。
在一些實現中,查詢建議引擎120可以基於特定於該用戶的信息對用來形成查詢建議的一個或多個實體和/或別名排名。查詢建議引擎120可以使用用戶的文檔,諸如電子郵件、導航歷史、來自用戶的一個或多個應用的信息、和/或有關已經識別的用戶的特性的相關聯信息(例如用戶的位置、用戶的年齡組、用戶的興趣)。例如,查詢建議引擎120可以識別用戶先前瀏覽過的有關與聖地亞哥市相關聯的實體的網頁,以及查詢建議引擎120可以基於用戶對識別有關聖地亞哥的一個或多個另外的文檔比可能另外選擇的另一城市更感興趣的可能性,排序查詢建議“聖地亞哥的飯店”(基於查詢模板確定)。在一些實現 中,查詢建議引擎120可以識別用戶的當前位置並且利用該位置來基於查詢模板來排序用在形成用於用戶的查詢建議中的實體和/或別名。例如,查詢建議引擎120可以基於用戶在聖地亞哥的信息,諸如來自GPS和/或計算設備105的IP地址的信息,將包括“san diego”的查詢建議提升為高於包括“San Antonio”的查詢建議。
具有比圖1所示的環境更多或更少組件的許多其他配置是可能的。例如,儘管在圖1中單獨地分別圖示了查詢建議引擎120和模板生成器115,應理解到,在一些實現中,查詢建議引擎120和/或模板生成器115可以可選地彼此組合和/或與搜索引擎125和/或計算設備105中的一個或多個組合。
參考圖2,提供了圖示確定查詢模板和排名查詢模板的示例性方法的流程圖。其他實現可以以不同的順序執行步驟、省略某些步驟和/或執行與圖2所示不同的和/或另外的步驟。可以由圖1中所示的一個或多個組件,諸如模板生成器115,來執行圖2所示的方法的步驟。
在步驟200,識別實體類別。例如,模板生成器115可以通過訪問與內容數據庫130共享一個或多個特性的數據庫來識別實體類別。例如,模板生成器115可以識別實體類別[city],其中,與城市相關聯的多個實體可以是實體類別的成員。而且,例如,模板生成器115可以識別實體類別[動物],其中,與動物相關聯的多個實體可以是實體類別的成員。
在步驟205,對於與在步驟200中識別的實體類別相關聯的實體,識別別名。相關聯的實體的別名可以是實體的相關聯的文本表示,諸如用於加利福尼亞的洛杉磯市的名稱“los angeles”。在一些實現中,實體可以與多個別名相關聯。例如,具有別名“los angeles”的實體可以另外與別名“LA”和“City of Angles”、洛杉磯市的實體的另外的別名相關聯。
在步驟210,識別共享一個或多個匹配詞語和在步驟205中識別的別名中的一個或多個的查詢組。可以基於例如詞匹配、基於前綴的匹配、編輯距離和/或詞語的嚴格識別,來確定匹配詞語。例如,可以將查詢“cities in New York(紐約城市)”和“加cities in California(利福尼亞城市)”識別為包括匹配詞語“cities in”和映射到實體類別[state]的實體的別名。在一些實現中,經由一個或多個軟匹配技術,諸如忽略可選停止詞語、規範一個或多個詞語、軟化詞語位置需求等等,將詞語確定為匹配。
在一些實現中,在步驟200和205前,可選地執行步驟210。例如,模板生成器115可以首先識別包括匹配詞語的查詢,然後從相同查詢識別在查詢之間的不匹配並且可以是相同類別的成員的一個或多個詞語。模板生成器115可以訪問實體數據庫並且確定來自多個查詢的非匹配詞語是否是與一個實體類別相關聯的實體的別名,以及如果是,識別實體類別。例如,模板生成器115可以將查詢 “Oscar winner 1939”和“Oscar winner 2002”識別為包括共同詞語“Oscar winner”和不匹配詞語“1939”和“2002”。模板生成器115可以識別實體數據庫中的具有別名“1939”和“2002”的實體,以及識別這兩個實體均與實體類別[year]相關聯。
在步驟215,確定查詢模板。在一些實現中,可以基於在步驟210識別的一個或多個查詢來確定查詢模板。在一些實現中,可以在執行步驟200、205和210的一個或多個之前確定該模板。例如,可以通過確定與單個查詢的詞語相關聯的實體類別和識別單個查詢的另外的詞語,來基於該單個查詢確定查詢模板。可以利用所確定的查詢模板的實體類別來在步驟200識別實體類別,以及可以利用步驟205和210來識別符合查詢模板的查詢組。模板可以包括來自所識別的查詢的一個或多個共同詞、以及實體類別。例如,模板生成器115可以將查詢“best picture winner gone with the wind”識別為包括詞語“best picture winner”和作為用於與實體類別[movie]相關聯的實體的別名的詞語的序列。
在步驟220,對在步驟215確定的查詢模板確定排名。在一些實現中,可以利用排名來確定該模板是否是有效的查詢模板。在一些實現中,可以由查詢建議引擎120利用該排名來確定基於查詢模板確定的一個或多個查詢建議的排名。例如,可以確定模板具有使模板將用於為大量部分查詢提供查詢建議是不可能的排名。而且,例如,模 板生成器115可以基於查詢模板的排名將查詢模板確定為有效或無效。
可以利用在此所述的一個或多個技術來確定模板的排名。例如,用於有效查詢模板的排名可以基於:查詢模板的實體類別的內聚性、作為實體類別的成員並且存在於符合該查詢模板的至少一個先前所識別的查詢中的實體的數量、符合查詢模板的多個所識別的先前提交的查詢、以及符合模板的先前所識別的查詢中的實體類別的成員的出現頻率與包括不符合模板的查詢的另外的先前所識別的查詢集合中的相同實體的出現頻率之間的相似性。
參考圖3,提供了圖示基於查詢模板向用戶提供一個或多個查詢建議的示例方法的流程圖。其他實現可以以不同順序執行步驟、省略某些步驟和/或執行與圖3中所示的步驟不同的和/或另外的步驟。圖3所示的方法的步驟可以由圖1所示的一個或多個組件執行。例如,圖3的方法的步驟可以由查詢建議引擎120執行。
在步驟300,識別用戶的部分查詢。例如,可以經諸如瀏覽器110的在計算設備105上執行的應用,由用戶將部分查詢提供給查詢建議引擎120。在一些實現中,用戶可以將部分查詢輸入到與圖5中並且如在此所述的圖形用戶界面共享一個或多個特性的界面中。
在步驟305,基於在步驟300識別的部分查詢,識別查詢模板。例如,查詢建議引擎120可以從由模板識別引擎115先前確定並且存儲在內容數據庫130中的一個或多 個查詢模板識別查詢模板。在一些實現中,查詢模板可以另外包括相關聯的排名。在一些實現中,查詢建議引擎120可以基於一個或多個模板與由用戶輸入的部分查詢之間的相似性來識別模板。例如,查詢建議引擎120可以使用基於前綴的匹配、編輯距離,和/或精確詞語匹配來識別部分查詢和模板之間的相似性。在一些實現中,查詢建議引擎120可以初始地識別多於一個潛在模板並且基於用戶對部分查詢的進一步精化,確定用於制定查詢建議的模板。例如,查詢建議引擎120可以基於所識別的部分查詢“bas”初始地識別查詢模板“baseball teams in[state]”和“basketball teams in[city]”,以及如果用戶進一步將“e”提供給查詢,使得部分查詢為“base”,查詢建議引擎120可以僅識別“baseball teams in[state]”。
在步驟310,識別用於包括在步驟305中識別的模板中的類別的一個或多個實體。例如,可以由查詢建議引擎120從實體數據庫識別實體。查詢建議引擎120可以識別隨模板包括的實體類別,以及識別與該實體類別相關聯的一個或多個實體。例如,查詢建議引擎120可以從部分查詢“baseball teams in t”識別模板“baseball teams in[state]”以及查詢建議引擎120可以識別與用於該類別[state]的實體相關聯的一個或多個實體,諸如與州“texas”和“tennessee”相關聯的實體。
在步驟315,基於查詢模板和在步驟310識別的實體的別名的中一個或多個,選擇至少一個查詢建議以便提供 給用戶。在一些實現中,可以基於與查詢模板相關聯的一個或多個排名、插入在查詢建議中的別名和/或與插入在查詢建議中的別名相關聯的實體,選擇查詢建議。例如,查詢建議引擎120可以識別與舊金山市,CA和塞勒姆,俄勒岡州相關聯的實體,以及基於例如用戶已經提交的在前查詢,確定舊金山更可能是用戶感興趣的類別的成員。可以由模板生成器115在初始確定模板時和/或基於由查詢建議引擎210從一個或多個數據庫識別的另外的信息,來確定查詢的流行性。
參考圖4,圖示了符合查詢模板405的查詢400A-D的列表和符合查詢模板410的查詢400E-H的列表。在一些實現中,可以利用查詢400A-H中的一個或多個來確定相應查詢模板405或410。可以由模板生成器115利用可以包括在圖2中提供的方法的一個或多個步驟的方法來識別查詢400A-H。例如,圖4的查詢400A-H可以是在步驟210中由模板生成器115識別的查詢。查詢400A-H是可以從一個或多個源識別的查詢。例如,查詢400A-H可以是從與內容數據庫130共享一個或多個方面的數據庫識別的。
在一些實現中,可以基於查詢400A-D中的一個或多個來確定查詢模板405。同樣地,在一些實現中,可以基於查詢400E-H中的一個或多個來確定查詢模板410。例如,在所圖示的查詢列表中,所有查詢400A-D包括詞語“bike shops in”。模板生成器115可以識別查詢中的一 個或多個以及確定接著一個或多個詞語的詞語“bike shops in”可以是在未來利用查詢建議的有效模板。模板生成器115可以訪問實體數據庫並且識別與和查詢400A-D中的一個或多個另外的詞語匹配的別名相關聯的實體(例如,“los angeles”、“san diego”、“louisville”和“detroit”)。模板生成器115可以識別與別名相關聯的實體被映射到實體類別[city],並且確定模板“bike shops in[city]”405。
而且,例如,模板生成器115可以識別先前提交的查詢的列表中的查詢400E至400H,以及確定查詢中的一個或多個詞語可以在模板中利用。在查詢400E-H中,查詢包括在查詢之間不共有並且不是實體類別的一部分的一個或多個詞語,諸如“oscar”(400G)和“in”(400H)。模板生成器115可以確定查詢模板410可以排除非匹配詞。而且,例如,模板生成器115可以確定在查詢模板中非匹配詞是可選的。在一些實現中,模板生成器115可以僅識別包括共同詞語和類別成員的查詢。如在此所述,在一些實現中,模板生成器115可以基於一個或多個標準對所確定的模板410排名。
參考圖5,圖示了基於查詢模板提供給用戶的查詢完整建議的示例性圖形用戶界面。可以由諸如瀏覽器110的在計算設備105上執行的一個或多個應用向用戶提供該界面。可以通過與查詢建議引擎120共享一個或多個特性的組件將建議提供給一個或多個應用。
在所圖示的界面中,用戶已將部分查詢“bike shops in s”輸入到查詢輸入500中。如在此所述,可以將部分查詢提交給查詢建議引擎120。另外或替選地,用戶可以肯定地選擇搜索按鈕510來將查詢提交給搜索引擎125。響應於查詢輸入500中的查詢,搜索引擎125可以向用戶提供一個或多個搜索結果,以及可選地,可以與搜索結果一起提供用於查詢的一個或多個查詢建議。查詢建議列表520可以基於查詢輸入500中的部分查詢而包括用於查詢的一個或多個建議。用戶可以從查詢建議列表520點擊或者以其他方式選擇查詢建議,和/或用戶可以繼續編輯查詢輸入500中的查詢。可以由查詢建議引擎120將查詢列表520中的查詢建議提供給用戶。在一些實現中,當編輯部分查詢時和/或當用戶暫停預定時間量時,可以將查詢輸入500中的部分查詢提供給查詢建議引擎120。
可以將部分查詢“bike shops in s”提供給查詢建議引擎120以及查詢建議引擎120可以訪問內容數據庫,諸如內容數據庫130,來識別可以用來識別查詢建議的一個或多個查詢模板。可以由模板生成器115確定查詢模板並且將其存儲在內容數據庫130中。在一些實現中,查詢建議引擎120可以從匹配查詢模板的一個或多個詞語的部分查詢識別一個或多個詞語。例如,查詢建議引擎120可以基於部分查詢“bike shops in s”識別模板“bike shops in[city]”。
查詢建議引擎120可以基於所選擇的模板中的類別的 存在來識別[city]類別的一個或多個實體。在一些實現中,查詢建議引擎120可以訪問與內容數據庫130共享一個或多個特性的實體數據庫來識別一個或多個實體。查詢建議引擎120可以識別與這樣的所識別的實體相關聯的實體的一個或多個別名。例如,查詢建議引擎120可以將“New York”、“San Francisco”和“Detroit”識別為作為類別[city]的成員的實體的別名。
在一些實現中,查詢建議引擎120可以將類別的實體的一個或多個別名確定為部分查詢的詞語中的一個或多個的潛在完成。例如,查詢建議引擎120已經在查詢建議列表520中提供潛在查詢完成的列表,以及每個查詢建議包括模板的詞語“bike shops in”以及作為部分查詢的詞語的潛在匹配的實體類別[city]的成員。查詢建議引擎120已經提供以字符“s”開始的城市的列表,包括附加到詞語“bike shops in”的“san Francisco”、“San jose”、“saint Louis”和“salem”。在一些實現中,查詢建議引擎120可以利用一個或多個方法來確定部分查詢的詞語和類別的成員的別名之間的潛在匹配,諸如基於前綴的匹配和/或編輯距離。在一些實現中,查詢建議引擎120可以忽略無用詞和/或規範部分查詢中的一個或多個詞語和/或類別的實體的別名。
作為基於查詢模板來制定查詢建議的另一例子,查詢建議引擎120可以識別部分查詢和確定被映射到來自部分查詢的一個或多個詞語的實體類別。例如,對於部分查詢 “snow white and the huntsman”,能將詞語“snow white and the huntsman”識別為映射到實體類別[films]。基於實體類別[films],可以識別包括實體類別[films]的一個或多個查詢模板,諸如查詢模板“[film]actors”。然後,可以利用所識別的查詢模板來確定查詢建議“snow white and the huntsman actors”。
圖8是示例性計算機系統810的框圖。計算機系統810典型地包括經由總線子系統812與多個外圍設備通信的至少一個處理器814。這些外圍設備可以包括存儲子系統824,包括例如內存子系統826和文件存儲子系統828、用戶接口輸入設備822、用戶接口輸出設備820和網絡接口子系統816。輸入和輸出設備允許與計算機系統810的用戶交互。網絡接口子系統816提供與外部網絡的接口,並且耦接到其他計算機系統中的相應接口設備。
用戶接口輸入設備822可以包括鍵盤、諸如鼠標、跟蹤球、觸控板或圖形輸入板的指示設備、掃描儀、合併到顯示器中的觸摸屏、諸如語音識別系統、麥克風的音頻輸入設備和/或其他類型的輸入設備。通常,使用術語“輸入設備”來旨在包括所有可能設備類型和方式來將信息輸入到計算機系統810中或通信網絡上。
用戶接口輸出設備820可以包括顯示子系統、打印機、傳真機或非可視顯示,諸如音頻輸出設備。顯示子系統可以包括陰極射線管(CRT)、諸如液晶顯示器(LCD)的平板設備、投影設備或用於產生可視圖像的某 個其他機制。顯示子系統還可以提供非可視顯示,諸如經由音頻輸出設備。通常,使用術語“輸出設備”旨在包括所有可能設備類型和方式來將信息從計算機系統810輸出到用戶或另一機器或計算機系統。
存儲子系統824存儲提供在此所述的模塊中的一些或全部的功能的編程和數據結構。例如,存儲子系統824可以包括根據在此所述的一個或多個過程基於一個或多個查詢和實體來確定和/或排名查詢模板的邏輯。
這些軟件模塊通常由處理器814單獨或結合其他處理器來執行。用在存儲子系統中的內存826能包括多個存儲器,包括用於在程序執行期間存儲指令和數據的主隨機存取存儲器(RAM)830和存儲固定指令的只讀存儲器(ROM)832。文件存儲子系統828能提供用於程序和數據文件的永久存儲,以及可以包括硬盤驅動、軟盤驅動以及相關聯的可移動介質、CD-ROM驅動、光驅動或可移動介質盒。實現某些實現的功能的模塊可以由存儲子系統824中的文件存儲子系統828存儲,或存儲在可由處理器814存取的其他機器中。
總線子系統812提供用於根據需要使計算機系統810的各種組件和子系統彼此通信的機制。儘管將總線子系統812示意性地示為單個總線,但總線子系統的替代實現可以使用多個總線。
計算機系統810能是可變類型,包括工作站、服務器、計算集群、刀片集群、服務器群、或任何其他數據處 理系統或計算設備。由於計算機和網絡的不斷改變的性質,圖8中所述的計算機系統810的描述僅意指為了圖示一些實現的目的的具體例子。具有比圖8所示的計算機系統更多或更少組件的計算機系統810的許多其他配置是可能的。
儘管在此已經描述和圖示了若干發明實現,但本領域的普通技術人員將很容易想到用於執行功能和/或獲得結果和/或在此所述的一個或多個優點的許多其他手段和/或結構,以及這些變化和/或改進中的每一個被認為在此所述的發明實現的範圍內。一般來說,本領域的技術人員將容易認識到在此所述的所有參數、尺寸、材料和配置是示例性的以及實際參數、尺寸、材料和/或配置將由使用本發明教導的具體應用而定。本領域的技術人員將會認識到或能夠僅使用常規實驗確定在此所述的具體發明實現的許多等效。因此,應理解到,前述實現僅以示例的方式提供,並且在所附申請專利範圍及其等效的範圍內,發明實現可以以除具體描述和所要求保護之外的方式實踐。本公開的發明實現針對在此所述的每個單獨的特徵、系統、物品、材料、套件和/或方法。此外,如果這樣的特徵、系統、物品、材料、套件和/或方法沒有相互不一致,則兩個或以上這樣的特徵、系統、物品、材料、套件和/或方法的任意組合包括在本公開的發明範圍內。
如在此定義和使用的所有定義應當被理解為控制在字典定義、以引用方式併入的文檔中的定義和/或所定義的 詞語的一般含義之上。
除非明確地相反指示,如在本說明書和申請專利範圍中所使用的不定冠詞“一”和“一個”應當被理解為意指“至少一個”。
如在本說明書和申請專利範圍中所使用的短語“和/或”應當被理解為意指如此連接的元件(即在一些情況下連續地出現和在其它情況下分離地出現的元件)的“任一個或兩者”。用“和/或”列出的多個元件應當以相同的方式來解釋,即如此連接的元件的“一個或多個”。除了由“和/或”子句特別地標識的元件外,無論與那些特別地標識的元件有關還是無關,其它元件可以可選地存在。因此,作為非限制性示例,當結合諸如“包括”的開放式語言使用時,對“A和/或B”的引用在一個實現中可僅指的是A(可選地包括除了B之外的元件);在另一個實現中,可僅指的是B(可選地包括除了A之外的元件);在又一個實現中,可指的是A和B兩者(可選地包括其它元件)等等。
如在本說明書和申請專利範圍中所使用的,“或者”應當被理解為具有與上面定義的“和/或”相同的含義。例如,當分開列表中的項時,“或者”或“和/或”應被解釋為包括的,即包括至少一個,但是也包括許多元素或元素列表中的超過一個元素,以及可選地附加的未列出的項。只有明確地相反指示的詞語,例如“僅僅其中一個”或“恰好其中一個”、或者在申請專利範圍中使用時的 “由…組成”將是指包括許多元素或元素列表中的恰好一個元素。通常,當有諸如“任一個”、“其中一個”、“僅僅其中一個”或者“恰好其中一個”的排他性術語居前時,如在此所使用的術語"或者"應僅僅解釋為指示排他性替選(即“一個或另一個,而不是二者”)。當在申請專利範圍中使用時,“基本上由…組成”應具有其如在專利法領域中所使用的普通含義。
如在本說明書和申請專利範圍中所使用的,在對一個或多個元件的列表的引用中的短語“至少一個”應當被理解為意指選自該元件列表中的元件中的任何一個或多個的至少一個元件,但是不一定包括該元件列表內具體地列出的每一個元件中的至少一個並且不排除該元件列表中的元件的任何組合。該定義還允許除短語“至少一個”所指的元件列表內具體標識的元件外,元件可以可選地存在,不管其與具體地標識的那些元件有關還是無關。因此,作為非限制性示例,“A和B中的至少一個”(或者,等效地,“A或B中的至少一個”,或者,等效地“A和/或B中的至少一個”)在一個實現中可以是指至少一個A,可選地包括超過一個A,其中B不存在(並且可選地包括B以外的元件);在另一個實現中可以是指至少一個B,可選地包括超過一個B,其中A不存在(並且可選地包括A以外的元件);在又一個實施例中可以是指至少一個A,可選地包括超過一個A,以及至少一個B,可選地包括超過一個B(並且可選地包括其它元件)等等。
還應當理解到,除非明確地相反指示,在包括多於一個步驟或動作的在此所要求保護的任何方法中,該方法的步驟或動作的順序不一定限於該方法的步驟或動作所記載的順序。

Claims (22)

  1. 一種方法,包括:識別實體類別,其中所述實體類別是共同共享一個或多個方面的實體的分組;識別實體別名,所述實體別名中的每一個與所述實體類別中的實體中的至少一個相關聯;識別查詢模板,其中所述查詢模板包括一個或多個模板詞語和所述實體類別的標識符;確定符合所述查詢模板的查詢組,其中所述查詢組中的每個查詢包括所識別的實體別名中的一個和匹配所述模板詞語的一個或多個詞語;以及確定所述查詢模板的排名,其中所述排名至少基於符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數。
  2. 如申請專利範圍第1項所述的方法,進一步包括基於所述排名是否滿足閾值來確定所述查詢模板是否有效。
  3. 如申請專利範圍第1項所述的方法,其中,符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數基於符合的實體類別成員的數量,其中,所述符合的實體類別成員是在所述實體類別中並且存在於符合所述查詢模板的所述查詢組中的實體。
  4. 如申請專利範圍第3項所述的方法,其中,確定所述查詢模板的排名包括: 將符合的實體類別成員的數量與實體類別成員的數量進行比較,其中實體類別成員的數量基於在所述實體類別中的實體的數量。
  5. 如申請專利範圍第1項所述的方法,其中,符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數基於多個所述實體的相容出現頻率,其中,每個相容出現頻率基於符合所述查詢模板的所述查詢組中的實體中的一個的出現頻率。
  6. 如申請專利範圍第5項所述的方法,其中,確定所述查詢模板的排名包括:將所述相容出現頻率與另外的查詢組中的所述實體類別的多個實體的出現頻率進行比較,所述另外的查詢組包括不符合所述查詢模板的查詢。
  7. 如申請專利範圍第1項所述的方法,其中,所述出現計數基於符合所述查詢模板的過去查詢的數量。
  8. 如申請專利範圍第1項所述的方法,其中,所述排名進一步基於所述實體類別的實體的成員之間的相似性來確定。
  9. 如申請專利範圍第1項所述的方法,其中,類別詞語是所述查詢模板的前綴。
  10. 如申請專利範圍第1項所述的方法,其中,與所述模板詞語匹配的一個或多個詞語包括不存在於所述查詢模板中的一個或多個詞語。
  11. 一種方法,包括: 識別部分查詢;基於所述部分查詢來識別查詢模板,其中所述查詢模板包括一個或多個模板詞語和實體類別的標識符,以及其中所述實體類別是共同共享一個或多個方面的實體的分組;以及基於所述查詢模板來提供至少一個查詢建議,其中所提供的查詢建議包括所述一個或多個模板詞語和所述實體中的一個的實體別名。
  12. 如申請專利範圍第11項所述的方法,其中,所述實體別名是基於所述部分查詢來識別的。
  13. 如申請專利範圍第11項所述的方法,其中,所述實體別名是基於所述用戶的位置來識別的。
  14. 如申請專利範圍第11項所述的方法,其中,所述查詢建議是基於與和所述實體別名相關聯的所述實體相關聯的流行性度量來識別的。
  15. 如申請專利範圍第11項所述的方法,其中,識別所述查詢模板包括確定所述部分查詢中的一個或多個詞語是否匹配所述查詢模板中的一個或多個詞語。
  16. 如申請專利範圍第11項所述的方法,其中,所述查詢模板是基於所述查詢模板的排名來識別的。
  17. 如申請專利範圍第11項所述的方法,其中,識別所述查詢模板包括:基於所述部分查詢來確定實體類別;以及基於所確定的實體類別來確定所述查詢模板。
  18. 如申請專利範圍第17項所述的方法,其中,基於所述部分查詢來確定所述實體類別包括:基於所述部分查詢的一個或多個部分查詢詞語來確定部分查詢實體;以及基於所述部分查詢實體來確定所述實體類別。
  19. 如申請專利範圍第18項所述的方法,進一步包括:確定所述部分查詢中的除用來確定所述部分查詢實體的所述部分查詢詞語外的另外字符,其中確定所述查詢模板進一步基於所述另外字符。
  20. 如申請專利範圍第11項所述的方法,進一步包括基於與和所述實體別名相關聯的實體相關聯的流行性度量來確定所述查詢建議的排名。
  21. 如申請專利範圍第11項所述的方法,進一步包括基於與所述實體模板相關聯的排名來確定所述查詢建議的排名。
  22. 一種系統,包括存儲器和能執行在所述存儲器中存儲的指令的一個或多個處理器,包括用於以下的指令:識別實體類別,其中所述實體類別是共同共享一個或多個方面的實體的分組;識別實體別名,所述實體別名中的每一個與所述實體類別中的實體中的至少一個相關聯;識別查詢模板,其中所述查詢模板包括一個或多個模板詞語和所述實體類別的標識符; 確定符合所述查詢模板的查詢組,其中所述查詢組中的每個查詢包括所識別的實體別名中的一個和匹配所述模板詞語的一個或多個詞語;以及確定所述查詢模板的排名,其中所述排名至少基於符合所述查詢模板的所述查詢組中所述實體類別的實體中的一個或多個的出現計數。
TW103119025A 2013-06-03 2014-05-30 查詢建議模板 TWI650654B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/908,508 US9529856B2 (en) 2013-06-03 2013-06-03 Query suggestion templates
US13/908,508 2013-06-03

Publications (2)

Publication Number Publication Date
TW201510753A true TW201510753A (zh) 2015-03-16
TWI650654B TWI650654B (zh) 2019-02-11

Family

ID=51986355

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103119025A TWI650654B (zh) 2013-06-03 2014-05-30 查詢建議模板

Country Status (4)

Country Link
US (2) US9529856B2 (zh)
CN (2) CN110532281B (zh)
SG (1) SG10201402781XA (zh)
TW (1) TWI650654B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930393B1 (en) * 2011-10-05 2015-01-06 Google Inc. Referent based search suggestions
US10013152B2 (en) 2011-10-05 2018-07-03 Google Llc Content selection disambiguation
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US10095759B1 (en) 2014-01-27 2018-10-09 Microstrategy Incorporated Data engine integration and data refinement
US10255320B1 (en) 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US9836554B2 (en) * 2014-04-30 2017-12-05 Excalibur Ip, Llc Method and system for providing query suggestions including entities
US20170068683A1 (en) * 2015-09-04 2017-03-09 Google Inc. Context based instant search suggestions
US9953185B2 (en) * 2015-11-24 2018-04-24 Google Llc Identifying query patterns and associated aggregate statistics among search queries
CN108027817B (zh) * 2015-12-30 2022-05-10 谷歌有限责任公司 基于用户的组关联建议查询
CN106959976B (zh) * 2016-01-12 2020-08-14 腾讯科技(深圳)有限公司 一种搜索处理方法以及装置
US10229186B1 (en) * 2016-03-18 2019-03-12 EMC IP Holding Company LLC Data set discovery engine comprising relativistic retriever
US10305828B2 (en) 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US10222957B2 (en) 2016-04-20 2019-03-05 Google Llc Keyboard with a suggested search query region
US10078673B2 (en) 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US10140017B2 (en) * 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
US9965530B2 (en) * 2016-04-20 2018-05-08 Google Llc Graphical keyboard with integrated search features
US11227017B2 (en) * 2016-05-17 2022-01-18 Google Llc Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
US10664157B2 (en) 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US20180293508A1 (en) * 2017-04-06 2018-10-11 International Business Machines Corporation Training question dataset generation from query data
US11475082B1 (en) 2017-12-15 2022-10-18 Palantir Technologies Inc. Systems and methods for context-based keyword searching
TWI646439B (zh) * 2018-02-14 2019-01-01 中華電信股份有限公司 以模版為基礎製作元件之系統及方法
US11397770B2 (en) * 2018-11-26 2022-07-26 Sap Se Query discovery and interpretation
US20210157813A1 (en) * 2019-11-27 2021-05-27 Microstrategy Incorporated Mutually exclusive search operations
US11614970B2 (en) 2019-12-06 2023-03-28 Microstrategy Incorporated High-throughput parallel data transmission
US11567965B2 (en) 2020-01-23 2023-01-31 Microstrategy Incorporated Enhanced preparation and integration of data sets
KR102425770B1 (ko) * 2020-04-13 2022-07-28 네이버 주식회사 급상승 검색어 제공 방법 및 시스템
US20230111562A1 (en) * 2021-10-07 2023-04-13 ZenDesk, Inc. Dense retrieval of document templates

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044491A1 (en) * 2003-08-20 2005-02-24 Michael Peterson Dynamic web serving system
US7565157B1 (en) * 2005-11-18 2009-07-21 A9.Com, Inc. System and method for providing search results based on location
US7606875B2 (en) * 2006-03-28 2009-10-20 Microsoft Corporation Detecting serving area of a web resource
US8694483B2 (en) 2007-10-19 2014-04-08 Xerox Corporation Real-time query suggestion in a troubleshooting context
US8965922B2 (en) 2007-10-30 2015-02-24 International Business Machines Corporation Intelligent content assistance
US8126908B2 (en) * 2008-05-07 2012-02-28 Yahoo! Inc. Creation and enrichment of search based taxonomy for finding information from semistructured data
US8041733B2 (en) * 2008-10-14 2011-10-18 Yahoo! Inc. System for automatically categorizing queries
CN107092615B (zh) * 2009-08-04 2020-04-10 谷歌有限责任公司 来自文档的查询建议
US8341222B2 (en) * 2010-04-02 2012-12-25 Microsoft Corporation Text suggestion framework with client and server model
US20110258212A1 (en) * 2010-04-14 2011-10-20 Microsoft Corporation Automatic query suggestion generation using sub-queries
US8983995B2 (en) * 2011-04-15 2015-03-17 Microsoft Corporation Interactive semantic query suggestion for content search
US8442970B2 (en) * 2011-08-05 2013-05-14 Microsoft Corporation Creating and editing user search queries
CN102999496A (zh) 2011-09-09 2013-03-27 北京百度网讯科技有限公司 建立需求分析模板的方法、搜索需求识别的方法及装置
US9146939B1 (en) * 2011-09-30 2015-09-29 Google Inc. Generating and using result suggest boost factors
US9619554B2 (en) * 2011-11-03 2017-04-11 Microsoft Technology Licensing, Llc Domain specific query-completion suggestions
US20130325839A1 (en) * 2012-03-05 2013-12-05 TeleCommunication Communication Systems, Inc. Single Search Box Global
US9201945B1 (en) * 2013-03-08 2015-12-01 Google Inc. Synonym identification based on categorical contexts

Also Published As

Publication number Publication date
CN104216942A (zh) 2014-12-17
US10635717B2 (en) 2020-04-28
TWI650654B (zh) 2019-02-11
CN110532281A (zh) 2019-12-03
SG10201402781XA (en) 2015-01-29
US9529856B2 (en) 2016-12-27
CN110532281B (zh) 2023-08-18
US20140358940A1 (en) 2014-12-04
CN104216942B (zh) 2019-08-23
US20170039209A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
TWI650654B (zh) 查詢建議模板
JP6419905B2 (ja) クエリについての逆演算子の使用
JP6193518B2 (ja) オンライン・ソーシャル・ネットワーク上での検索クエリ対話
JP6435307B2 (ja) クエリについての検索意図
JP6388988B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリのための静的ランク付け
JP6377807B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリの書き換え
CN106462613B (zh) 基于用户属性来对建议进行排名
US10061767B1 (en) Analyzing user reviews to determine entity attributes
US20190079934A1 (en) Snippet Generation for Content Search on Online Social Networks
US10685073B1 (en) Selecting textual representations for entity attribute values
US10073882B1 (en) Semantically equivalent query templates