CN110532281B - 查询建议模板 - Google Patents

查询建议模板 Download PDF

Info

Publication number
CN110532281B
CN110532281B CN201910687646.4A CN201910687646A CN110532281B CN 110532281 B CN110532281 B CN 110532281B CN 201910687646 A CN201910687646 A CN 201910687646A CN 110532281 B CN110532281 B CN 110532281B
Authority
CN
China
Prior art keywords
query
entity
template
user
partial
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910687646.4A
Other languages
English (en)
Other versions
CN110532281A (zh
Inventor
尼汀·古普塔
王任慎
曼格史·古普特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 LLC filed Critical Google LLC
Priority to CN201910687646.4A priority Critical patent/CN110532281B/zh
Publication of CN110532281A publication Critical patent/CN110532281A/zh
Application granted granted Critical
Publication of CN110532281B publication Critical patent/CN110532281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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/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

查询建议模板
分案说明
本申请属于申请日为2014年6月3日的中国发明专利申请No.201410241761.6的分案申请。
技术领域
本说明书一般地涉及确定在确定提供给用户的查询建议中利用的查询建议模板。
背景技术
诸如互联网搜索引擎的信息检索***使用户能够定位大型数据库中的信息。例如,互联网搜索引擎使用户能够响应于由用户提交的、由一个或多个搜索词语(searchterms)组成的搜索查询,访问诸如网页、图像、文本文档和/或多媒体内容的信息。
当用户正键入查询时和/或用户已经提交查询后,一些信息检索***可以向用户提供一个或多个查询建议。用户可以选择查询建议中的一个来用作所提交的查询和/或用作用于所提交的查询的基础(例如,通过修改所选择的查询建议、向所选择的查询建议增加和/或从所选择的查询建议删除)。查询建议通常经由过去的用户查询来生成和/或自动地生成。
发明内容
本公开涉及用于确定利用诸如知识图的实体的一个或多个数据库的查询模板的方法和装置。识别符合模板的多个查询,其中,每个查询包括作为实体类别的成员的至少一个词语,以及还包括与其他所识别的查询中的词语匹配的一个或多个词语。构造包括匹配词语和实体类别的查询模板。可以确定查询模板的排名,并且排名可以指示在确定响应于未来的部分查询而提供给用户的查询建议中该查询模板有效的可能性。
在一些实现中,提供了一种计算机实现的方法,包括步骤:识别实体类别,其中,所述实体类别是共同共享一个或多个方面的实体的分组;识别实体别名,所述实体别名中的每一个与所述实体类别中的实体中的至少一个相关联;识别查询模板,其中,所述查询模板包括一个或多个模板词语和所述实体类别的标识符;确定符合所述查询模板的查询组,其中,所述查询组中的每个查询包括所识别的实体别名中的一个和与所述模板词语匹配的一个或多个词语;以及确定所述查询模板的排名,其中,所述排名至少基于符合所述查询模板的所述查询组中所述实体类别的实体中的一个或多个的出现计数。
在此公开的技术的该方法和其他实现可以分别可选地包括下述特征中的一个或多个。
该方法可以进一步包括基于所述排名是否满足阈值来确定所述查询模板是否有效的步骤。
符合所述查询模板的所述查询组中所述实体类别的实体中的一个或多个的出现计数可以基于实体类别成员的数量,其中,符合的实体类别成员是在所述实体类别中并且存在于符合所述查询模板的查询组中的实体。在那些实现的一些中,确定所述查询模板的排名可以包括:将符合的实体类别成员的数量与实体类别成员的数量进行比较,其中,实体类别成员的数量基于该实体类别中的实体的数量。
符合所述查询模板的所述查询组中所述实体类别的实体中的一个或多个的出现计数可以基于多个实体的相容出现频率,其中,每个相容出现频率可以基于符合所述查询模板的该查询组中的实体中的一个的出现频率。在那些实现的一些中,确定所述查询模板的排名可以包括:将相容出现频率与另外的查询组中的实体类别的多个实体的出现频率进行比较,其中所述另外的查询组包括不符合所述查询模板的查询。
所述出现计数可以基于符合所述查询模板的过去查询的数量。可以进一步基于所述实体类别的实体的成员之间的相似性来确定所述排名。类别词语可以是所述查询模板的前缀。与所述模板词语匹配的一个或多个词语可以包括不存在于所述查询模板中的一个或多个词语。
在一些实现中,提供了一种计算机实现的方法,包括步骤:识别部分查询;基于所述部分查询,识别查询模板,其中,所述查询模板包括一个或多个模板词语和实体类别的标识符,以及其中,所述实体类别是共同共享一个或多个方面的实体的分组;以及基于所述查询模板,提供至少一个查询建议,其中,所提供的查询建议包括所述一个或多个模板词语和实体中的一个的实体别名。
在此公开的技术的该方法和其他实现可以每一个可选地包括下述特征中的一个或多个。
可以基于所述部分查询来识别实体别名。可以基于用户的位置来识别实体别名。可以基于与和实体别名相关联的实体相关联的流行性度量来识别查询建议。识别查询模板可以进一步包括确定所述部分查询中的一个或多个词语是否匹配所述查询模板中的一个或多个词语。可以基于所述查询模板的排名来识别查询模板。
识别查询模板可以进一步包括步骤:基于部分查询来确定实体类别;以及基于所确定的实体类别来确定查询模板。在那些实现中的一些中,基于部分查询来确定实体类别可以包括:基于所述部分查询的一个或多个部分查询词语来确定部分查询实体;以及基于所述部分查询实体来确定所述实体类别。在那些实现中的一些中,该方法可以进一步包括步骤:确定除用来确定所述部分查询实体的部分查询词语外的所述部分查询中的另外的字符,其中,确定查询模板进一步基于所述另外的字符。
该方法可以进一步包括基于与和所述实体别名相关联的实体相关联的流行性度量来确定所述查询建议的排名的步骤。
该方法可以进一步包括基于与所述实体模板相关联的排名来确定所述查询建议的排名的步骤。
其他实现可以包括非瞬时计算机可读存储介质,存储可由处理器执行的指令来执行诸如在此所述的方法中的一个或多个的方法。又一实现可以包括***,该***包括存储器和可用来执行存储在存储器中的指令的一个或多个处理器,以便执行诸如在此所述的方法中的一个或多个的方法。
在此所述的主题的特定实现基于从查询组识别具有一个或多个匹配词语和具有作为词语的实体类别的成员的一个或多个词语的查询,确定查询模板和/或与查询模板相关联的排名。在一些实现中,可以基于符合查询模板的查询集合中的先前输入的查询的数量,来确定查询模板的排名。在一些实现中,可以基于来自存在于符合查询中的实体类别的已知实体的数量,来确定查询模板的排名。在一些实现中,可以基于符合查询模板的查询中的实体类别的成员的分布和包括不符合查询模板的查询的查询组中的实体类别的成员的分布,来确定查询模板的排名。查询模板和查询模板的排名表示可以由诸如用户先前提交的查询中的一个或多个查询取得的新查询模板。可以利用查询模板来为用户提供用于符合查询模板的部分查询的查询建议。
应当认识到,上述概念和在此更详细论述的另外的概念的所有组合均预期为在此公开的本发明主题的一部分。例如,出现在本公开内容的结尾处的所要求保护的主题的所有组合均预期为在此公开的发明主题的一部分。
附图说明
图1是其中可以实现确定和排序查询模板的方法的示例性环境的框图。
图2是图示确定查询模板和排序查询模板的示例性方法的流程图。
图3是图示基于所识别的查询模板,为用户提供一个或多个查询建议的示例性方法的流程图。
图4图示了查询列表和可以符合查询的查询模板。
图5图示了基于构造的查询模板可以提供给用户的查询完成建议的示例性图形用户界面。
图6A图示了在符合查询模板的查询组中实体类别的成员的出现频率的示例直方图。
图6B图示了在包括不符合模板的查询的查询组中图6A的类别的成员的出现频率的示例直方图。
图7A图示了在符合查询模板的查询组中实体类别的成员的出现频率的另一示例直方图。
图7B图示了在包括不符合模板的查询的查询组中图7A的类别的成员的出现频率的另一示例直方图。
图8图示了示例性计算机***的框图。
具体实施方式
用户可以提交多个查询,每个查询包括匹配其他查询中的词语的一个或多个词语,以及与实体类别相关联的一个或多个词语。例如,搜索查询短语“restaurants in”可以包括在多个所提交的查询中,接着与实体类别“city”相关联的城市名。所提交的查询可以包括例如“restaurants in San Francisco”、“restaurant in LA”和“restaurants inLos Angeles”。实体类别“city”可以包括多个实体,每个实体与特定城市相关联并且与一个或多个别名相关联。例如,与加利福尼亚的旧金山市相关联的实体可以与诸如“SanFrancisco”、“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”相关联的词语选择的“SanFrancisco”形成的查询建议“restaurants in San Francisco”。在一些实现中,可以只有查询模板的排名满足阈值时,才形成查询建议。例如,阈值可以基于与和“restaurants ins”相关联的其他查询建议相关联的排名。例如,只有当相对于查询建议,用于部分查询的其他查询建议不被认为是高排名的查询建议时,才基于查询模板来形成用于部分查询的查询建议。然后,可以选择所形成的查询建议“restaurants in San Francisco”以作为用于部分查询的查询建议提供给用户。查询建议“restaurants in San Francisco”的排名可以可选地被确定并且用在确定是否选择该查询建议提供给用户和/或在提供给用户中在哪儿呈现该查询建议。排名可以基于例如与别名“San Francisco”相关联的排名、与和城市SanFrancisco相关联的实体相关联的排名、和/或可选地与查询模板“restaurants in[city]”相关联的排名。
在整个说明书中,由方括号包围的一个或多个词语将用来表示与实体类别相关联的词语的类别和/或实体类别本身的标识符。例如“[city]”表示与实体类别“city”相关联的词语的类别的标识符。例如,查询“restaurants in San Francisco”、“restaurants inNew 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 inDenver”。
参考图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 SanFrancisco”。可以将所提交的查询“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 losangeles”和“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 aroundlouisville”符合查询模板“bike shops in[city]”。在一些实现中,模板生成器115可以忽略先前提交的查询中的词语之间的空白和/或词语之间缺少空格。例如,可以确定“bikeshops in losangeles”和“bike shops san diego”符合查询模板“bike shops in[city]”。在一些实现中,模板生成器115可以将包括处于不同位置的匹配词语的查询确定为符合查询模板的查询。例如,模板生成器115可以确定“bike shops los angeles”和“sandiego bike shops”符合查询模板“bike shops[city]”和/或查询模板“[city]bikeshops”。在一些实现中,模板生成器115可以将查询的一个或多个词语规范成确定查询是否符合查询模板中的标准时态和/或复数形式。例如,模板生成器115可以确定“flows westmississippi river”和“flowing west ohio river”具有共同词语“flow west”和/或“flowing west”,以及确定它们符合查询模板“flow west[river]”。而且,例如,模板生成器115可以确定“lakes near detroit”和“lake near chicago”具有共同词语“lakenear”,并且确定它们符合查询模板“lake near[city]”。
在一些实现中,在确定与查询模板的符合度中,可以不修改否则可以被规范和/或可以是无用词的一个或多个词语。是否修改一个或多个词语可以基于例如查询的语法和/或语义属性和/或响应于查询返回的搜索结果文档。例如,“rivers near ohio”和“riverohio”可以不被识别为符合查询模板,因为查询的可能含义不同,诸如“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]的成员。基于这样的确定,可以确定查询“boardgame 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”的别名,以及“losangeles”和“san diego”可以是实体类别“California cities”的别名,以及“louisville”的别名可以不被映射到实体相关联的“California cities”。
在一些实现中,模板生成器115可以确定所确定的查询模板的排名。排名指示在形成查询建议中查询模板的有用性。在一些实现中,查询模板的排名可以用来确定模板是否是有效的模板。在一些实现中,查询模板的排名可以另外和/或替选地与该模板相关联并且用在确定形成查询建议中是否利用查询模板和/或用于确定基于查询模板形成的查询建议的排名。
在一些实现中,查询模板的排名可以基于实体类别的内聚性。实体类别的内聚性可以指示实体类别的实体之间的相似性,相似性越高,指示越大的内聚性。实体类别的实体之间的高相似度将以比实体之间的低相似度更影响排名。例如,除与实体类别[moviesubject]相关联外,诸如[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 LosAngeles”中出现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”开始的别名***到查询模板中,可以基于所识别的查询模板来确定一个或多个查询建议。例如,可以识别城市的别名,诸如“SanFrancisco”、“Santa Monica”和“Santa Fe”。而且,例如,用户可以将部分查询“bike shopss”输入为部分查询。查询建议引擎120可以基于部分查询和包括词语“bike shops”的模板,将模板“bike shops[city]”识别为潜在模板。查询建议引擎120可以访问实体数据库并且识别用于实体类别[city]的实体,并且可以进一步识别映射到诸如“San Diego”和“SanFrancisco”的实体类别[city]的实体的一个或多个别名。查询建议引擎可以识别部分查询中的词语“s”和在实体数据库中的一个或多个别名(例如,“San Diego”和“San Francisco”之间的相似性,以及查询建议引擎120可以为用户提供符合该模板并且包括以“s”开始的别名的一个或多个查询建议。例如,查询建议引擎120可以为用户提供查询建议“bike shopsin 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 whiteand the huntsman gr”,能将词语“snow white and the huntsman”识别为映射到实体类别[film]。基于实体类别[film],以及在实体类别[film]后的另外的字符“gr”,可以识别包括实体类别影片和字符“gr”的一个或多个查询模板,诸如“[film]gross sales”。然后,可以利用所识别的查询模板来确定查询建议“snow white and the huntsman grosssales”。而且,例如,对于部分查询“snow white and the hu”,能基于用于“snow whiteand 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”更流行,并且基于这样的流行性,确定包括“SanAntonio”和/或“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”。在一些实现中,实体可以与多个别名相关联。例如,具有别名“losangeles”的实体可以另外与别名“LA”和“City of Angles”、洛杉矶市的实体的另外的别名相关联。
在步骤210,识别共享一个或多个匹配词语和在步骤205中识别的别名中的一个或多个的查询组。可以基于例如词匹配、基于前缀的匹配、编辑距离和/或词语的严格识别,来确定匹配词语。例如,可以将查询“cities in New York(纽约城市)”和“加cities inCalifornia(利福尼亚城市)”识别为包括匹配词语“cities in”和映射到实体类别[state]的实体的别名。在一些实现中,经由一个或多个软匹配技术,诸如忽略可选停止词语、规范一个或多个词语、软化词语位置需求等等,将词语确定为匹配。
在一些实现中,在步骤200和205前,可选地执行步骤210。例如,模板生成器115可以首先识别包括匹配词语的查询,然后从相同查询识别在查询之间的不匹配并且可以是相同类别的成员的一个或多个词语。模板生成器115可以访问实体数据库并且确定来自多个查询的非匹配词语是否是与一个实体类别相关联的实体的别名,以及如果是,识别实体类别。例如,模板生成器115可以将查询“Oscar winner1939”和“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 picturewinner”和作为用于与实体类别[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 teamsin[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”识别模板“bikeshops in[city]”
查询建议引擎120可以基于所选择的模板中的类别的存在来识别[city]类别的一个或多个实体。在一些实现中,查询建议引擎120可以访问与内容数据库130共享一个或多个特性的实体数据库来识别一个或多个实体。查询建议引擎120可以识别与这样的所识别的实体相关联的实体的一个或多个别名。例如,查询建议引擎120可以将“New York”、“SanFrancisco”和“Detroit”识别为作为类别[city]的成员的实体的别名。
在一些实现中,查询建议引擎120可以将类别的实体的一个或多个别名确定为部分查询的词语中的一个或多个的潜在完成。例如,查询建议引擎120已经在查询建议列表520中提供潜在查询完成的列表,以及每个查询建议包括模板的词语“bike shops in”以及作为部分查询的词语的潜在匹配的实体类别[city]的成员。查询建议引擎120已经提供以字符“s”开始的城市的列表,包括附加到词语“bike shops in”的“san Francisco”、“Sanjose”、“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 (19)

1.一种由一个或多个处理器实现的方法,所述方法包括:
识别由用户经由所述用户的计算设备输入的部分查询;
识别输入了所述部分查询的所述用户的当前位置,其中,所述用户的所述当前位置对应于在所述用户经由所述计算设备提供所述部分查询时所述用户的位置;
基于所述部分查询来识别查询模板,其中,所述查询模板包括一个或多个模板词语和实体类别的标识符,以及其中,所述实体类别对应于共同共享一个或多个方面的实体组;
基于所述查询模板来生成查询建议,其中生成所述查询建议包括:
基于对应于所述实体组的所述实体类别来识别多个不同的实体别名;
基于在所述用户输入所述部分查询时所述用户的所述当前位置来从所述多个不同的实体别名中为所述实体组中的一个实体选择实体别名,以及
在所述查询建议中包括所述一个或多个模板词语和所述实体别名;以及
响应于所述部分查询而提供所述查询建议以用于呈现。
2.如权利要求1所述的方法,其中,选择所述实体别名是进一步基于所述部分查询的一个或多个字符。
3.如权利要求1所述的方法,其中,选择所述实体别名是进一步基于所述实体别名在先前识别的查询中的出现频率计数。
4.如权利要求1所述的方法,其中,基于所述部分查询来识别查询模板包括:
确定所述部分查询中的一个或多个词语匹配所述查询模板的所述一个或多个模板词语。
5.如权利要求1所述的方法,其中,识别所述查询模板是进一步基于所述查询模板相对于其它查询模板的排名。
6.一种由一个或多个处理器实现的方法,所述方法包括:
识别由用户经由所述用户的计算设备输入的部分查询;
基于所述部分查询来识别查询模板,
其中,所述查询模板包括一个或多个模板词语和实体类别的标识符,其中,所述实体类别是共同共享一个或多个方面的实体组,
其中,基于所述部分查询来识别查询模板是基于包括所述查询模板的所述一个或多个模板词语中的至少一个模板词语的部分查询;
基于所述查询模板来生成查询建议,其中生成所述查询建议包括:
基于对应于所述实体组的所述实体类别来识别多个不同的实体别名;
基于在与所述用户相关联并且能由所述计算设备经由网络连接访问的一个或多个用户文档中的信息来从所述多个不同的实体别名中为所述实体组中的一个实体选择实体别名,其中,所述信息不同于所述一个或多个模板词语,以及
在所述查询建议中包括所述一个或多个模板词语和所述实体别名;以及
响应于所述部分查询而提供所述查询建议以用于呈现。
7.如权利要求6所述的方法,其中,所述一个或多个用户文档包括所述用户的一个或多个电子邮件。
8.如权利要求6所述的方法,其中,所述一个或多个用户文档包括通过互联网导航历史识别的网页。
9.如权利要求7所述的方法,其中,选择所述实体别名是进一步基于所述部分查询的一个或多个字符。
10.如权利要求7所述的方法,其中,选择所述实体别名是进一步基于所述实体别名在与所述用户相关联的所述一个或多个文档中的所述信息中的出现频率计数相对于与多个其它别名在所述信息中的出现相对应的其它出现频率计数。
11.如权利要求7所述的方法,其中,识别所述查询模板是进一步基于所述查询模板相对于其它查询模板的排名。
12.如权利要求6所述的方法,其中,基于所述部分查询来识别所述查询模板包括:
基于所述部分查询来确定实体类别;以及
基于所确定的实体类别来确定所述查询模板。
13.一种***,包括:
存储指令的存储器;以及
一个或多个处理器,所述一个或多个处理器可操作以执行在所述存储器中存储的所述指令以:
识别由用户输入的部分查询;
识别输入了所述部分查询的所述用户的当前位置,其中,所述当前位置对应于在所述用户经由计算设备提供所述部分查询时所述用户的位置;
基于所述部分查询来识别查询模板,其中,所述查询模板包括一个或多个模板词语和实体类别的标识符,以及其中,所述实体类别对应于共同共享一个或多个方面的实体组;
基于所述查询模板来生成查询建议,其中,在生成所述查询建议时,所述处理器中的一个或多个处理器用于:
基于对应于所述实体组的所述实体类别来识别多个不同的实体别名;
基于在所述用户输入所述部分查询时所述用户的所述当前位置和所述部分查询的一个或多个字符来从所述多个不同的实体别名中为所述实体组中的一个实体选择实体别名,以及
在所述查询建议中包括所述一个或多个模板词语和所述实体别名;以及
响应于所述部分查询而提供所述查询建议以用于呈现。
14.如权利要求13所述的***,其中,选择所述实体别名是进一步基于与和所述实体别名相关联的所述实体相关联的流行性度量。
15.如权利要求13所述的***,其中,在基于所述部分查询来识别查询模板时,所述处理器中的一个或多个处理器用于:
确定所述部分查询中的一个或多个词语匹配所述查询模板的所述一个或多个模板词语。
16.如权利要求13所述的***,其中,识别所述查询模板是进一步基于所述查询模板相对于其它查询模板的排名。
17.如权利要求3所述的方法,其中,选择所述实体别名是进一步基于所述实体别名的所述出现频率计数相对于与所述多个不同的实体别名在先前识别的查询中的出现相对应的其它出现频率计数。
18.如权利要求13所述的***,其中,选择所述实体别名是进一步基于所述实体别名在先前识别的查询中的出现频率计数。
19.如权利要求18所述的***,其中,选择所述实体别名是进一步基于所述实体别名的所述出现频率计数相对于与所述多个不同的实体别名在先前识别的查询中的出现相对应的其它出现频率计数。
CN201910687646.4A 2013-06-03 2014-06-03 查询建议模板 Active CN110532281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910687646.4A CN110532281B (zh) 2013-06-03 2014-06-03 查询建议模板

Applications Claiming Priority (4)

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
CN201910687646.4A CN110532281B (zh) 2013-06-03 2014-06-03 查询建议模板
CN201410241761.6A CN104216942B (zh) 2013-06-03 2014-06-03 查询建议模板

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201410241761.6A Division CN104216942B (zh) 2013-06-03 2014-06-03 查询建议模板

Publications (2)

Publication Number Publication Date
CN110532281A CN110532281A (zh) 2019-12-03
CN110532281B true CN110532281B (zh) 2023-08-18

Family

ID=51986355

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910687646.4A Active CN110532281B (zh) 2013-06-03 2014-06-03 查询建议模板
CN201410241761.6A Active CN104216942B (zh) 2013-06-03 2014-06-03 查询建议模板

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201410241761.6A Active CN104216942B (zh) 2013-06-03 2014-06-03 查询建议模板

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
US10013152B2 (en) 2011-10-05 2018-07-03 Google Llc Content selection disambiguation
US8930393B1 (en) * 2011-10-05 2015-01-06 Google Inc. Referent based search suggestions
US10635669B1 (en) 2014-01-27 2020-04-28 Microstrategy Incorporated Data engine integration and data refinement
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US10255320B1 (en) 2014-01-27 2019-04-09 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
WO2017115095A1 (en) * 2015-12-30 2017-07-06 Google, Inc. Suggestion of queries based on group association of user
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
US10222957B2 (en) 2016-04-20 2019-03-05 Google Llc Keyboard with a suggested search query region
US10305828B2 (en) 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US10078673B2 (en) 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US9965530B2 (en) * 2016-04-20 2018-05-08 Google Llc Graphical keyboard with integrated search features
US10140017B2 (en) 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
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
EP2462517A4 (en) * 2009-08-04 2014-08-06 Google Inc QUESTIONS FROM DOCUMENTS
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
US20140358940A1 (en) 2014-12-04
TW201510753A (zh) 2015-03-16
CN110532281A (zh) 2019-12-03
US9529856B2 (en) 2016-12-27
SG10201402781XA (en) 2015-01-29
TWI650654B (zh) 2019-02-11
CN104216942B (zh) 2019-08-23
US20170039209A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
CN110532281B (zh) 查询建议模板
US11294970B1 (en) Associating an entity with a search query
JP6174228B2 (ja) クエリについての逆演算子の使用
US9542476B1 (en) Refining search queries
US9245022B2 (en) Context-based person search
US10496649B1 (en) Personalized suggestions based on past queries
US11494427B2 (en) Generating a personal database entry for a user based on natural language user interface input of the user and generating output based on the entry in response to further natural language user interface input of the user
RU2730278C2 (ru) Выявление навигационных результатов поиска
JP2017216004A (ja) 検索クエリ対話
US10585927B1 (en) Determining a set of steps responsive to a how-to query
JP2017076405A (ja) クエリについての検索意図
US20160224621A1 (en) Associating A Search Query With An Entity
US9805142B2 (en) Ranking suggestions based on user attributes
US8417718B1 (en) Generating word completions based on shared suffix analysis
US9953185B2 (en) Identifying query patterns and associated aggregate statistics among search queries
CN107977398B (zh) 对搜索结果文档进行排名
US10685073B1 (en) Selecting textual representations for entity attribute values
CN109952571B (zh) 基于上下文的图像搜索结果
US20190065502A1 (en) Providing information related to a table of a document in response to a search query
US20160217181A1 (en) Annotating Query Suggestions With Descriptions
US9811592B1 (en) Query modification based on textual resource context
US9110943B2 (en) Identifying an image for an entity
US10073882B1 (en) Semantically equivalent query templates

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant