基于原始用户输入建议和细分用户输入的制作方法

文档序号:6567850阅读:128来源:国知局
专利名称:基于原始用户输入建议和细分用户输入的制作方法
技术领域
本发明总的来说涉及生成可选用户输入。更具体地,公开了基 于诸如4叟索查询的原始用户输入生成更改和细分的用户输入的系 统和方法。
背景技术
在纟会定的4臾索会话(session)期间,许多用户常常,有时重复 i也,更改或细分其原始4臾索查询。例如,用户可以一寻原始4臾索查询 更改为更具体的4臾索查询、更宽泛的4臾索查询、和/或使用可选的查 询词语(term)的搜索查询,直到生成期望的搜索结果。用户搜索 查询细分通过基于罗马语系语言(例如,英语)的查询、以及通过 基于非罗马语系语言(例如,汉语、日语、韩语(CJK)、泰国语等) 来产生。当原始4叟索查询未产生一组好的4叟索结果时(例如,如果 搜索查询太具体或太宽泛,或者如果搜索查询使用不合适的词语), 用户通常更改或细分4也们的4叟索查询。例如,当一个或多个4叟索词 i吾有多种意思且一些返回文档涉及不同于用户想要的多义;l叟索词
语的一个意思时、和/或用户仅对搜索词语的许多方面中给定搜索词 i吾的一个方面感兴趣时,原始用户4叟索查询可能产生i午多不相关的 结果。当用户仅探究关于所指定搜索词语的概念时,原始用户搜索 查询也可能产生4艮多不相关的结果。
许多搜索引擎提供与用户原始搜索查询相关的 一 系列建议的 搜索查询。例如,如果用户的原始搜索查询是"Amazon",则搜索引擎可以建i义其它相关的4叟索查询,例如,"Amazon.com "、 "Amazon Rainforest"、以及"Amazon River"。 4叟索查询建i义只寸于 基于非罗马语系语言用户(例如,CJK用户)特别有用。具体地, 因为基于非罗马语系语言通常具有一组大量的字符且每个字符可 能都需要多次按下使用传统基于罗马语系的键盘的按键,所以基于 非罗马语系语言用户可以优选单击或选择全部键入的更改搜索查 询中的一个建议的搜索查询。例如,许多汉语用户使用拼音(语音 拼写法)来输入汉语字符。典型地,传统拼音输入系统转换拼音输 入,并提供用户可以从中选4奪期望的汉语字符集的 一组候选的汉语 字符集。明显的是,多步输入处理将是繁重且耗时的。
搜索查询建议也将对基于罗马语系的语言用户有用。许多搜索 引擎(侈寸^口, Yahoo、 Teoma、 AltaVista、 Askjeeves、 AllTheWeb以 及Baidu)都提供例如以相关搜索、查询细分、或查询分蔟形式的 特征。

发明内容
/>开了一种基于原始用户输入(例如,ft索查询)来生成更改 或细分的用户输入的系统和方法。应当理解,本发明可以多种方式 来实施,这些方式包括诸如处理、设备、系统、装置、方法、或其 中的程序指令通过光通信线路或电子通信线^各来发送的计算才几可 读介质(例如,计算机可读存储介质或计算才几网络)。术语计算枳^ 通常指具有计算能力的任何装置,例如,个人数字助理(PDA)、 蜂窝式电话、和网络交换机。以下将描述本发明的几个创造性实施 例。
该方法可以被应用于基于非罗马语系语言(例如,汉语)的查 询。该方法通常可以包括冲妻收和识别原始用户输入中的核心词语; 通过才艮据相似矩阵用另 一词语代替原始输入中的核心词语、和/或根据扩展/缩略表用另 一个字序列替代原始输入中的字序列来确定潜 在可选的用户输入,其中, 一个序列是另一个序列的子串;计算潜
在可选的用户输入的似然;以及根据预定标准(例如,每个所选的 可选用户输入的似然至少为原始用户输入的似然)来选4奪最可能的 可选用户输入。该方法还可以包括确定原始用户l命入是否在所建议 的可选用户输入的预计算高速緩冲存储器中,如果在,则输出存储 在预计算高速緩冲存储器中的预计算的最可能的可选用户输入。
相似矩阵可以利用语料库生成,且可以具有两个相似词语(包 4舌例如"New York"和"Los Angeles"的短语词)之间的相似值, 尽管每个乂于应词i吾只寸(New和Los和York和Angeles )不具有高相
似性,^旦这些短语词可以具有非常高的相似性。在一个实施例中, 可以通过构建对于语料库中的字的特征向量并利用他们的特征向
可以乂人用户i!r入it据库中生成扩展/缩略表,且可以具有与每对 词语序列相关的频率值。在一个实施例中,可以通过确定常用的字 序列、滤出非短i吾字序列、以及^吏计:数与每个术i吾序列相关作为频 率值来生成扩展/缩略表。仅为了示出,扩展/缩略表中的项的实例
可以为 "The United State of America"禾口 "United States"。
可以通过确定以下的至少 一项来计算潜在可选用户專lr入的似、
然(a)原始用户输入和潜在可选用户输入之间的关联性,(b)用 户将选l奪潜在可选用户输入的概率,以及(c)潜在可选用户输入 的位置分数(score )。具体地,可以使用原始输入和潜在可选用户 输入的调整(align)词语之间的相关值来确定原始用户输入和潜在 可选用户^T入之间的关耳关性。
在另 一实施例中,用于建议可选用户输入的系统通常包括建议 /细分服务器,被配置为接收具有至少 一个核心词语的原始用户输入;从原始用户输入中识别出核心词语;通过才丸行以下中的至少一 项来确定潜在可选用户输入(a ) 4艮据相似矩阵用另 一词语来代替 原始用户输入中的至少一个核心词i吾,该相似矩阵具有两个词语之 间的相似值,(b )根据扩展/缩略表用另 一个字序列来替代原始用户 输入中的字序列,其中, 一个序列是另一个序列的子串,该扩展/ 缩略表具有与每个词语序列相关联的频率值,计算潜在可选用户输 入的似然;以及才艮才居预定标准来选4奪和#T出最可能的可选用户#T 入。
在又一实施例中,用于建i义可选用户^T入的计算枳4呈序产品和 计算才几系统一起^f吏用,该计算才几程序产品包括在其上存储有在计算 才几处理器上可执行的指令的计算才几可读存储介质。该指令通常可以 包括接收和识别原始用户输入中的核心词语;通过根据相似矩阵用 另 一个词语代替在原始输入中的核心词语、和/或根据扩展/缩略表 用另 一个字序列代替原始输入中的字序列来确定潜在可选用户输 入, 一个序列是另一个序列的子串;用潜在可选用户输入计算潜在 可选用户输入的似然和可选地计算预测用户满意度;以及才艮据预定 标准(例如,每个所选的可选用户输入的似然至少为原始用户输入 的似然)来选l奪最可能的可选用户输入。
实现系统和方法的应用可以在月l务器站点(例如,在^^叟索引擎 上)上实现,或者可以在客户端站点上(例如,用户计算4几)净皮实 现(例如,下载),以提出建议的可选输入或与远程服务器(例如, 搜索引擎)连接。
下面将通过下列详细描述和附图更详细地呈现本发明的这些 和其它^HM正以及1"尤点,其中,以本发明的实例原理的方式示出了附图。


结合附图,通过下面详细的描述,将更好地理解本发明,其中, 相同的参考标号表示相同的结构元件。
图1A是用于生成诸如用户搜索查询的建议的更改/细分的用户 输入的示例性系统的框图。
图1B是示出用于通过建议-细分服务器的相似字提取器生成 相似矩阵的过程的框图。
图1C是示出用于通过建议-细分服务器的扩展/缩略表生成器 生成扩展/缩略表的过程的框图。
图1D是示出用于通过建议-细分服务器的会话语法分析器生 成初始的更改/纟田分高速緩沖存储器的过程的框图。
图2A是示出用于生成如可以由图1A所示的系统实3见的更改/ 细分用户输入高速緩冲存储器的示例性过程的流程图。
图2B是示出用于生成如可以由图1A所示的系统实i见的i者如 用户查询的建议的更改/细分用户输入的示例性过程的流程图。
图3示出了通过只寸原始用户查询进4亍i吾法分冲斤而生成的示例性 查询网格。
图4是示出了用于通过代替查询词语来构建在生成建议的更改 /细分查询中使用的相似矩阵的示例性过程的流程图。
图5是列出了只于于A人示例4生文本中生成的词i吾"communities" 的特4i和对应计ft的表。图6是列出了对于从语料库中生成的词语"communities"的示 例性特;f正和对应计lt的表。
图7是用于代替词语以生成建议的更改/细分查询的示例性相 似矩阵。
图8是示出用于通过替代查询中的复合字来构建在生成建议的 更改/细分查询中使用的复合字对的提取/缩略表的示例性过程的流 程图。
图9是示出用于代替查询中的复合字来生成建i义的更改/细分 查询的扩展/缩略表中的 一 些示例性项的表格。
图10是示出用于确定建议的更改/细分查询分数的示例性过程 的流程图。
图11示出两个查询Q和Q'的词i吾S十准映射的实例。
的流禾呈图。
具体实施例方式
4皮露了一种基于原始用户输入(例如,搜索查询)来生成更改 或细分的用户输入的系统和方法。应当注意,^又为了清楚,通常以
汉i吾查询,lr入的词i吾来表示文中表示的实例。然而,用于建i义细分 /更改的用户#r入的系统和方法可以类似、i也应用于其它基于非罗马 语系的语言(例如,日语、韩语、泰国语等)以及基于罗马语系的 语言。此夕卜,用于建议的细分/更改用户输入的系统和方法可以类似 地应用于其它非查询用户输入。表示下列描述,以使任何本领域技 术人员能够制造和使用本发明。仅提供了特定实施例和应用的描述在不背离本发明的精神和范围的情况下,可将文中限定的主要原理 应用于其它实施例和应用。因此,本发明应与包4舌与文中7>开的原 理和特征相 一致的各种改变、更改和等同替换的最宽范围相 一致。 为了清楚,未对关于与本发明相关的的技术领域中已知的技术资料 的细节进^亍详细描述,以避免对本发明产生不必要的混淆。
该系统和方法基于原始用户*命入(例力n,查询)、基于用户的
查询历史和用户查询词i吾之间的关系来生成更改或细分的用户#r 入。该系统和方法可以包括用于4是耳又包括新名称项(例如,适当名
称、电影名、歌曲和产品等)的新词i吾以及词"i吾之间关系的系统和
方法。文中描述的系统和方法适用于生成查询(或其它用户flr入) 细分,并且还将适用于诸如新文章分类、 一并写校正、纟某体4臾索和分 段的许多其它应用。对于许多用户,初始搜索查询通常不是最佳搜 索查询,因此在给定4叟索会话期间,用户有时多次更改或细分搜索查询。
图1A是用于从诸如用户搜索查询22的原始用户输入中生成建 议更改/细分的输入26的示例性系统20的框图。系统20通常包括 建议/细分服务器24,其使用可以从多个数据源中推导出的概率来 生成建议的更改/细分查询26。多个数据源的实例包括可选的建议/ 细分高速緩沖存储器36,其存储预先计算的查询建议或细分的高速 緩冲存4诸器。首先,可以通过建议/细分服务器24的会话语法分析 器24C生成建议/细分高速緩冲存4诸器36。另一凄t据源可以是可由 建议/细分服务器24的相似字提取器24A生成的相似矩阵38,以及 由扩展/缩略表生成器24B生成的扩展/缩略表39。相似矩阵38和 扩展/缩略表39通常4妄近于词语和/或词语序列之间的关系。系统20 可以周期性;也更新和/或再生相似矩阵38和/或扩展/缩略表39。以下将参照图1B至图1D分别详细描述建议/细分服务器24的相似字 提取器24A、扩展/缩略表生成器24B、和会话语法分析器24C。
图1B是示出用于通过相似字提取器24A生成相似矩阵38的 过程的框图。如图所示,相似字冲是取器24A可以利用用于生成相似 矩阵38的多种数据源。由相似字提取器24A利用的数据源的实例 包括诸如网络语料库30的语料库(例如,新闻、网页、和链接锚 文本4言息)、查询和相关用户选4奪(例如,存〗诸在查询日志32中的 查询和相关用户选择)、和/或可以包括在每个给定会话中的查询历 史的会话数据34。网络语料库30还可以包括链接锚文本信息。例 》口,查询日志32不^又可以包4舌用户查询日志,还可以包4舌由用户 进行的搜索结果选择以及在返回搜索结果之前用户停留在所选搜 索结果处的4寺续时间。
图1C是示出用于通过扩展/缩略表生成器24B生成提耳又/缩略 表39的过程的框图。如图所示,扩展/缩略表生成器24B可以将查 询日志32和/或会话数据34用作用于生成提取/缩略表39的数据源。 图1D是示出用于通过会话i吾法分对斤器24C生成初始更改/细分高速 緩沖存储器36a的处理的框图。如图所示,会话语法分析器24C将 会话凄t据34用作其用于生成初始更改/细分高速緩冲存储器36a的 数据源。
图2A和图2B是示出可以通过建议/细分服务器24来执行示例 性过程的流程图。具体地,图2A是示出了用于生成如可以通过图 1A示出的系统20实现的更改/细分用户输入高速緩冲存储器的示例 性处理40的流程图。在方框41处,可以使用会话语法分析器从会 话数据中生成初始更改/细分高速緩冲存储器。注意,会话数据可以 包4舌在每个给定用户输入或查询会话中的查询历史。然后,过程40 进入包括方框43 ~ 48的循环,该循环针对在方框42中的预定数量 的最普通用户输入中的每一个,例如,查询。具体地,在方才匡43处,过程对高速緩冲存储器中的建议的更改/细分查询执行查找。在
方才匡43处的查找可以生成建i^ 1、 2、 ...M。
更改/细分高速緩冲存储器中的每个用户输入或查询项可以包 含一列预定数量N个的建议查询。因此,为生成建议M+1、 M + 2...N,即,为i真补每个查询的建i义查询列,还可以寺丸^亍方框44 ~ 47。具体地,在方框44和45处,可以(理i仑上地)构建扩展查询 网才各,以生成附加的建议的更改/细分(可选)查询。方框44通常 表示词语^齐代查询更改/细分方法,而方4匡45通常表示扩展/缩略查 询更改/细分方法。具体地,在方才匡44处,可以4吏用相似、词i吾的相 似矩阵用相似词语替4<原始查询中的词语来创建扩展查询网格。词 语替代用相似字或词语替代原始查询中的字或词语(包括短语词)。 冲目似、词i吾可包4舌同义字或近义字(例^口, -土区和相邻区i或)、缩写 词、和/或在相同语法/语义类别中的词语(例如,Toyota和Honda、 Dell和HP、 DVD和凄t码相才几、以及Nokia和Motorola )。
在方框45处,可以通过使用复合字对的扩展/缩略表在原始查 询中添力口/删除词语来附加地和/或选#^生地构建扩展查询网格。具 体地,扩展/缩略表中的每一项都是一个复合字对,其中, 一个复合 字是另一个的子串,例力口, TMV^〉T,T2丁3,以及T4T5T6<=>T4T5。 汉语复合字对的实例包括上海和上海市以及电视和电视机。复合字 对可以包4舌多义词语和它们明确的上下文(例如,Amazon和 Amazon rain forest禾口/或Amazon.com )、才既念及其纟田分(如H口, cell 详口 stem cell禾口/或cell phone )、 "i司i吾及其属寸生(如J3口, "i十算才几禾口存卡者 器、硬盘驱动器、和/或DVD驱动器)、以及名称(例如,人名、 7>司名称等)和^也们对应的活动性、工作、产品等(例如,i者如Tom Hanks禾口 Forrest Gump的演员-电影、i者^口 Apple牙口 iPod的7>司-产 品、如Bill Gates和Microsoft或CEO的法人-^^司或头摊亍、作者-书、歌手-歌曲等)。在构建了包含多种可选路径的扩展查询网格之后,在方框46 处,对于扩展查询网格中预定数量的最佳查询的路径和分数被识别
为潜在建议的查询。在方框47处,计算原始普通用户查询的分数,
使得仅提供其分数至少是那个原始普通用户查询分数的潜在建议 的查询,作为建议的更改/细分查询。分数可以表示作为由用户选择 或期望的查询的纟合定查询(原始或〗昝在建i义的查询)的似、然。可以 仅提供其分数至少是原始普通用户查询分数的查询,作为建议的更 改/细分查询来填充更改/纟田分高速緩沖存储器的建议列表项。可以 将生成的建议的查询存储到预计算的更改/细分查询高速緩冲存储
器。注意,过程40或包括方框42 49的循环可以周期性重复,以 更新更改/细分高速緩冲存储器。
图2B是示出用于生成如可以由图1A所示的系统实5见的i者力口 用户查询的建i义的更改/细分用户输入的示例性过程50的流程图。 在方框51处,接收诸如用户查询的用户输入。在判断框52处,可 以将在方框51接收的原始用户输入与在可选的预计算的更改/细分 高速緩沖存储器中的项进行比4交。如果在判断框52处确定原始用 户查询处于建i义/细分高速緩冲存4诸器中,则在方框53,由来自预 计算的更改/细分高速緩沖存储器的多至N个预计算查询建议至少 部分地填充大小为N的查询建议列表。如果如在判断框54处确定 的建议列表被填满,则过程50完成。注意,建议列表可以具有预 定大小N,例如,10个建i义或单个最佳建i义。可选i也,如果如在判 断框54处确定的建议列表未被填满,则过程50继续执行方框55 和56。类似、地,如果在判断才匡52处原始用户查询确定未处于建i义/ 细分高速緩冲存储器中,则过程也继续执行方框55和56。注意, 参照图2A,方框55 ~ 58类似于如上所述的过程40的方框44 ~ 47。 因此,为了清楚,某种程度上它们是相似的描述将不在这里重复。在方框55和56处,(概念上)构建扩展查询网才各来生成建议
的更改/细分(可选)查询。在构建包含多个可选路径的扩展查询网
格之后,在方框57处,对于扩展查询网格中预定数量的最佳查询 的路径和分数被识别为潜在建议查询。在方框58处,计算原始用 户查询的分数,使得仅提供其分数至少是原始用户查询的分数的潜 在建i义查询,作为建+义的更改/细分查询。其分^:至少是原始用户查 询的分数的查询可以被提供给用户,作为建议的更改/细分查询来填 充建议列表或建议列表的剩余部分。尽管未示出,可以可选地提供 单个最佳查询。此外,可以将原始用户查询和生成的建议查询附加 地存储到预计算的更改/细分查询高速緩沖存储器。
下面将更详细地描述如上面参照图2A和图2B示出并描述的 用于生成建i义的更改/细分用户输入的过程40和50的各个方框。
图3示出示例性的扩展查询网才各示意图。如图所示,原始查询 可以包4舌多个核心字或词i吾T,、 T2、 T3、 T4,以及非核心字或词i吾 s2、 s3。例力口,在汉i吾查询"新'浪的URL"中,核心词"i吾或项是 "新浪"而不是"URL"。非核心术语通常还包括无用字。无用字 通常—皮定义为在诸如网络语料库的语料库中的30个最频繁出现的 汉i吾字或100个最频-緊出现的英文字。
在识别原始查询的核心项之后,可以应用 一个或多个查询更改 或细分方法(例如,词语替代和/或扩展/缩略)来构建扩展查询网 格。如上所述注意,词语替代是指替代与核心项类似(例如,同义 字或近义字)并可以4吏用诸如相似矩阵来识别的字和/或词语。 <又为 了示例性的目的,图3示出可以通过用词语TV或T,"来替代词语 T,和/或用词i吾T4,—辜^词i吾T4来构建扩展查询网才各。
同样如上所注意的,扩展/缩略是指利用诸如复合字的扩展/缩 略表来^l寻才亥心项添加到原始查询中和/或乂人原始查询中删除一些片亥心项。仅为示例性的目的,复合字的扩展/缩略表可以包括复合字对 H和TJ2T5的表项,以使图3的原始查询中的复合字H可以
用复合字T,T2T5 (即,添加新词语Ts)替代,从而进一步构建扩展 查询网4各。类似地,复合字的扩展/缩略表还可以包4舌对于复合字对 T2T3T4详口 T3T4的表项,以 -使图3的原始查询中的复合字T2T3T4可 以用复合字丁3丁4(即,删除核心项丁2)替代,从而进一步构建扩展 查询网格。
参照图4至图7,更if细;也4苗述用于生成相似、词i吾的相似、矩阵 的一种示例性的方法。图4是示出用于通过替代查询词语来构建在 生成建议的更改/细分查询中使用的相似矩阵的示例性过程60的流 程图。相似矩阵可以是在每对字或术语w之间分布字相似性的矩 阵。可以通过构建对于在诸如网页的语料库中的每个字w的特征向
之间角的余弦来获得分布字相似性。字或词语的特征向量可以包括 戶斤有出^见的字或词i吾的周围字(surrounding word )。
尽管可以类似地采用各种其它特征向量和相似矩阵构建方法, ^旦参照图4示出了构建特征向量和相似矩阵的一个实例。具体地, 在方框62处,语料库(例如,网络语料库)中的每个字/词语的特 征向量与特征向量中对于每个特征f的计数一起被构建。字/词语w
的特征可以包括在字/词语w之前和之后直到第一个无用字出现的
多个字。^f又为示例寸生目的,7寸于纟合出的句子"Because communities assess at different percentages of fair market value, the only way to improve tax rates among communities is by using equalized rates,", 在 图5的表中列出了特征字communities及其对应的共同出现计凄丈。 注意,在具有不同形式的乡合定字(例如,诸如"community"和 "communities" 的单凄史或复凄t、 或i者i口 "walk"、 "walking"、牙口 "walked"的不同时态)的i吾言中,系统可以将不同形式的字— 见为单个字,但通常是相似词语。这种不同形式的给定字的处理将与不 具有这种区别的语言无关(例如,通常在例如汉语的情况下)。此
外,还注意到,具有前缀"L:"或"R:"的特征分别是表示字w 的左侧或右侧的字。在该实施例中,在字w的纟会定情况的左侧和右 侧中的每一个上的一个或多个特4正的计lt和是1。例如,在字
"communities"的第一种情况中,左侧和右侧特4正中的每一个都一皮 分酉己为计凄tl。此夕卜,当在字"communities"附近存在一个或多个 无用字(例如,"between", "is"、和"by")时,字"communities" 的给定情况的每一侧的特征计数可被平分,从而,被计算为小数。 在字"communities"的第二种情况中,存在两个左侧特征,使得为 每个左侧特4i分配计凄t 0.5。类似地,在字"communities"的第二 种情况中,存在两个右侧特4正,4吏得为每个右侧特4正分配计^数0.33。
再次参照图4,在方框64处,特征向量中的每个特征f的值可 以一皮确定为在字w和净争4正f之间的点态(point-wise )交互4言息MI。 4吏用点态交互信息MI的值,这是因为虽然频繁出现的字(例如, 无用字)容易具有较高计数,但这种字常常是无意义的。因此,因 为特征计数可能不是重要特征较好的指示符,所以字w和特征f之 间的点态交互〗言息MI ( w, f)可4皮用作特4正f的^i。点态交互信息 MI (w, f)可以一皮定义为w和f的有效4关合扭克率P (w, f)、以及 w的期望概率P(w)、和f的期望概率P (f)之间的对数比,如果 4也们是相互独立的,则共同存在
<formula>formula see original document page 20</formula>
其中,可以使用诸如语料库中的其各自概率来确定特征概率p (f)
和字相克率P ( w )(例如,相对频率)。Y又作为实例,图6是列出了 只于于/人网纟各i吾泮牛库中生成的词i吾"communities"的示例寸生净争^正禾口相 应相1率的表。图6中示出的特征向量表列出了字"communities"的特子集以及特征与字"communities"之间的相无率和交互信息。注 意,特;f正向量可能相当大。例如,从语料库中才是耳又的字communities 的全部特征集包括大约2000项。
再次参照图4,在方4匡66处,将4吏用特4i向量中的特4i值,将 两个字或短语w,和W2之间的相似性测量值或值sim确定为其特4正 向量之间角的余弦。具体地,两个术语或字Wl和w2之间的相似性 sim可以被定义为
其中,W,和W2的对争^正向量分别由(f , f12..., fln)和(f21, f22. f2n )表示。
然后,在方框68处,根据对于词语的每个字对的相似值构建 相似矩阵,并可以通过用相似词语替代查询词语来生成建议的更改 /纟田分查询。具体地,例如,相似值可用于确定潜在建议查询的分凄t。 注意,可周期性地重新计算相似矩阵,和/或可以将词语的相似值(例 如,新近识别的那些词语)添加到矩阵。图7是用于代替词语以生 成建议的更改/细分查询的示例性的相似矩阵。
现在,将参照图8至图11更详细地描述用于生成在应用现存
于生成在应用扩展/缩略查询更改/细分方法中使用的复合字对的扩 展/缩略表的示例性方法。图8是示出用于构建复合字对的提取/缩 略表的示例性过程70的流程图。如上所述注意,扩展/缩略表中的 每项都是一对复合字,该复合字对中, 一个复合字是另一个的子串, 使得如果查询包含扩展/缩略表的项中复合字对中的一个复合字,则 该复合字可以^皮在延伸的网才各中的复合字对项中的其它复合字一办代。理想地,提取/缩略表中的每个复合字都应当是有意义的短语。 4又作为实例,复合字对可以是上海和上海市,或者电一见和电一见才几。 如上所注意的,复合字对可以包括,例如,多义词语及其清晰的上
下文(侈'J^口, Amazon禾口 Amazon rain forest )、人名及其只于应的5舌动、 词语的属性、概念的细分、演员、作者、产品、法人地位等。
在方框71处,查询日志(或用户输入的另一凄丈据库)中的查 询可以被分割成使查询的全部概率最大化的字序列。具体地,因为 汉字并不需要用空才各或其它分隔符明确地描述,使得查询可以是没 有分隔符的汉语字符串,所以分割器可以用于将字符序列分割成字 序列。字序列可以使字概率的积是所有可能字符序列段中的最大序 列。显然,不需要对在相邻字之间存在清晰描述的某种语言(例如, 英语)执行方框71。
在方框72处,为了识别复合字/短语,识别常用字序列或n元 (gram)(n个序歹'J的序歹'J )。同样在方框72处,对字序列中所有相 邻字对是常用n元的字序列进行计数,以识别任意长度的常用字序 列。注意,常用字序列可以是或者不是复合字。例如,某些常用字 序列可以是复合字,而其它字序列可以是非短语或非复合字序列。
在方框73处,通过需要复合字/短语在最少数量查询的开始以 及结尾处出现,来识别非短语序列H旦在相同的查询中不是必须 的)。查询的最小数量可以是大于或等于1的任意数,但通常远大 于1,例^口, 50或100。
在方框74处,对于语料库(例如,网络语料库)中的每个n 元特^正向量,与对于特^正向量中的每个特^正f的计lt一起构建。在 方框75处,特征向量中的每个特征f的值可以;波确定为在n元和特 征f之间的点态交互信息MI。在方框76处,可以利用特征向量中 的特征值,将两个n元之间的相似测量值或值sim确定为其特4正向量之间角的余弦。注意,方框74、 75、和76分别类似于如参照图 4描述的过程60的方框62、 64、和66。因此,为了清楚目的,这 里将不被重复描述在某种程度上与它们类似的描述。
然后,在方才匡77处,扩展/缩略表可一皮构建为复合字对,在该 复合字对中, 一个复合字是另一个复合字的子串。此外,还可以确 定多个复合字的计数并将其存储在扩展/缩略表中。
图9是示出在替代查询中的复合字以生成建议的更改/细分查 询中的扩展/缩略表中的一些示例性项的表格。如图所示,扩展/缩 略表的每一行都包含两个复合字或字序列,其中, 一个复合字是另 一个复合字的子串。例如,每个复合字还与一个计数(或其它频率 值)相关,该计数可以根据查询日志或一些其它用户输入数据库来 确定。计数可被用作取舍点(cutoff)以降低数据库的大小,和/或 例如,通过使用log(计数)可以至少部分地用来确定词语或复合字的 4又重。如上所述,参照图2A和2B, —旦通过替换原始查询中的词 语和/或通过添力口/删除原始查询中的词语来延伸查询网格,则才艮据 扩充网才各来确定N个最佳查询的^各径和分lt,作为;替在建i义查询。 图10是示出了用于确定建议的更改/细分查询的分数(例如,扩充 查询网才各中的^各径)的示例性过程80的流程图。
查询建议的确定可被视为在当前查询会话中基于在先查询的 预测问题。给定当前搜索会话中的查询历史Q,、 Q2, ..., Qn-,,可 以进行关于用户最可能选4奪的下一查询Q。是什么的预测。建+义或 预测的下一查询Qn应当不^又与当前会话中的查询历史Q,、 Q2,..., Qn^关联,还应当产生好的搜索结果。例如,搜索结果有多好的测 量值可以是单击位置(用户选择的搜索结果的位置)和单击持续时 间(用户停留在所选的搜索结果页面多长时间)的函凄t。
23在一个实施例中,每个潜在建议查询的分数可以被确定为目标
F(Q, Q!,…,QiH) = Rd(Q, Q,,…,QlH) * CHc:k(Q) * Pos组on(Q);
其中,
Rd(Q,Q,,…,Qn—,)是查询历史Q!、 Q2, Q『,和候选建议查询
Q之间的关耳关性;
C7/c/t(e)是用户将选^奪候选建议查询Q的概率;以及
尸as./"冊(0是将要被单击的候选建议查询Q的搜索结果的位置。
如上参照图2所述, 一个或多个建i义或预测的下一查询Q可以 一皮冲是供给用户。因此,最佳的N个建议下一查询(例如,扩充查询 网格中的路径)是具有最高目标函数值的N个查询,且最佳(例如, 最可能的)的建i义下一查询可以纟皮表示为^吏目标函ltF的^直最大^f匕 的查询
Qn = ArgMax—Q(F〔Q, Q;,…,Qn-〕)
在图10的流禾呈图中示出了每个潜在建i义或预测的下一查询Q 80的分数的确定。在方框82中,利用查询中的调整词语的相关性 来确定当前会话中的用户查询历史Q2, ..., Qn —!和预测的查询 Q之间的关联性Rel(Q,Q,,…,Qn—,)。具体地,为了估计关联函数Rel, 识别原始查询Q中的词语或核心项。利用核心项之间的相关性,能 够从其核心项的相关性中推导出两个查询Q和Q,之间的关联性Rel (Q, Q,)。具体地,关耳关性Rel(Q, Q,)可以一皮表示为
Rel(Q, Q1) = —Max—f Prod ji=l }Ak Cor(T,, T:1) * W(TS)其中
调整函数(alignment function )f-f(T,T2, ...Tk, IV, T2,,..., Tk,)进行与相关查询Q和Q,的词语映射,例如,图11中示出的实 例,在(T,, ..., Tk, e》和(TV, ..., Tk,, e》之间的映射;
Cor(Tj, Ti,)是词语Ti, Ti,之间的相关性,且是实数向量;
Q-T!, T2, ..., Tk (在4壬意词i吾Tj老卩可以是空词i吾e的查询 Q中的一亥心项);
Q,=Tr, T2,, ...Tk,(在任意词语Ti,都可以是空词语e的查询 Q,中的4亥心项);以及
w (Ti)是词语Ti的重要度,例如,Tj的TF/IDF,其中,TF 表示词语频率(例如,词i吾的计H)以及IDF表示反向(inverted)
文档频率。
接下来,在方框84处,例如,根据单击持续时间或归一化的 单击持续时间来确定用户将选一奪查询Q的概率Click (Q)。在方框 86处,例如,4艮据单击位置、归一化的单击位置、或反向单击位置 来确定预测查询Q的位置的分凄t Position ( Q )。最后,在方冲匡88 处,才艮据如上所述的方框82、方框84、和方框86的结果来确定潜 在建i义或预测的下一查询Q的目标函lt F的^f直。
参照图12,更详细地描述在确定两个查询之间的关联性中使用 的相关值Cor(Ti, TV)的确定。具体地,图12是示出用于生成词 语对或核心项T、 T,之间的相关值的示例性过程90的流程图。在方 框92处,可以使用交互信息从语料库(例如,网络语料库)和用 户查询中识别出新的核心项。在方冲匡92的一个示意性实施中,如果Motorola是一个项,且"Motorola Announced" 、 "Motorola cell phone"、 和"buy Motorola" 以及"Nokia Announced" 、 "Nokia cell phone,,、禾口 "buy Nokia,,处于i吾泮+库中,贝'J Nokia也一皮i口、另寸为 一个 项。注意,尽管现用的字典能够提供传统的核心项,但许多新的核 心项常常被引入到词汇表中。新核心项的实例包括恰当的名称(例 如,人名和/>司名),以及多种其它新词和短i吾(例如,产品才莫型、 电影、和歌曲名等)。
在方才匡94处,例如,可以4吏用查询日志、网页和嗜连4妻4苗文本 来确定核心项对T、 T,之间的相关^直。两个核心项T,和T2之间的 相关性可以一皮定义为实凄t向量的函凄丈
Cor(T!, T2) = f(w!, w2, …,wn)
其中,Wl, W2, Wn是某些预定关系的权重。预定关系的实
例包括(1)同义词、缩写词和反义词,(2)复合短语,例如,上
海对应上海市、电牙见对应电视机,(3 )相同语法/语义类中的词语, 侈'B口, Toyota禾口 Honda, (4)多义i司i吾及其;青楚的上下文,(5)人 名及其相应的活动,例如,Oprah和3见场访i炎主持人,(6 )词i吾的 属性,例如,计算机和存储器,(7)概念的纟田分,例如,Amazon 和Amazon River 、 Amazon Rain Forrest、和Amazon.com, ( 8 )电影 -演员、书-作者、7>司—产品、人-职^立等,*B。, Tom Hanks和Forrest G飄p、以及Bill Gates和CEO。
在方才匡96中,相关向量Cor(Tl, T2 )的值可以寻皮归一化为[O _1]。
用于生成更改或细分用户l俞入的系统和方法可以建i义多个查 询,该查询可能一皮用户^f吏用和/或生成用户可能选4,的最佳结果。该 系统j和方法定量i也测量两个查询之间的相关'性。显然,两个查询不需要具有4壬4可共同的词i吾或一致的同义词。例如,与原始查询(例
^口,;又i吾)有关的查i句,只于于歌曲"Now and Forever"的mp3文4牛 "'Now and Forever, mp3",可以包4舌例如"CoCo Lee"(歌手)以 及相同艺术家的其它歌曲或唱片集。因此,建议的查询可以不是简 单的原始查询的扩展而是具有更好搜索结果(例如,用户最可能选
4奪的4叟索结果)的查询。在一个实例中,建议的查询可以包括实现 消除了查询意义多义性的查询,其中,原始查询是简短且多义的。 作为另一个实例,建议的查询可以包括将原始查询分成多个较短查
询的查询,其中,原始查询可以是较长和/或包含彼此独立的词语。
虽然本文描述和示出了本发明的多个示例性实施例,但应当理 解,^又在不背离本发明的精神和范围内,对其进行示出和更改。因 此,本发明的范围将仅根据下列可被修改的权利要求来限定,其中, 每个权利要求都与作为本发明的一个实施例的本"具体实施方式
"明 确才目结合。
权利要求
1.一种用于建议可选用户输入的方法,包括接收原始用户输入,所述输入具有至少一个核心词语;识别所述原始用户输入中的所述至少一个核心词语;通过执行以下的至少一项来确定至少一个潜在可选用户输入(a)根据相似矩阵用另一词语替代所述原始用户输入中的至少一个核心词语,所述相似矩阵具有所述两个词语之间的相似值,以及(b)根据扩展/缩略表用另一个字序列来代替所述原始用户输入中的字序列,一个序列是另一个序列的子串,所述扩展/缩略表具有与词语序列相关的频率值;计算所述潜在可选用户输入的似然;以及根据预定标准从所述至少一个潜在可选用户输入中选择一个或多个最可能的可选用户输入。
2. 才艮据4又利要求1所述的方法,其中,用于选4奪所述一个或多个 用户输入的所述似然至少为所述原始用户输入的所述似然。
3. 根据权利要求1所述的方法, 用户^l叟索查询。
4. 根据权利要求1所述的方法, 非罗马语系的语言。
5. 才艮据权利要求1所述的方法,其中,所述原始用户输入是原始其中,所述原始用户输入是基于还包括:确定所述原始用户输入是否存在于建i义的可选用户豸lr入 的预计算高速緩冲存储器中;以及一旦确定所述原始用户输入存在于所述预计算高速緩冲 存储器中,则输出存储在所述预计算高速緩沖存储器中的所述 预计算的最可能的可选用户输入中的至少一个。
6. 根据权利要求1所述的方法,其中,根据语料库、用户输入日志、以及用户会话数据中的至少 一个来生成所述相似矩阵。
7. 才艮据权利要求6所述的方法,其中,通过构建在所述语#+库中 的字的特征向量以及利用其特征向量确定两个字之间的相似 值来生成所述相似矩阵。
8. 根据权利要求1所述的方法,其中,根据用户输入日志和用户 输入lt据库中的至少 一 个来生成所述扩展/缩略表。
9. 才艮据斥又利要求8所述的方法,其中,通过确定常用字序列、滤 出非短语字序列、以及〗吏计数与词语序列相关以作为频率值来 生成所述扩展/缩b各表。
10. 4艮据7f又利要求1所述的方法,其中,计算所述潜在可选用户^T户丰lr入和所述潜在可选用户,lr入之间的关耳关性,(b )将由所述用户选择的所述潜在可选用户输入的概率,以及(c)所述潜在可选用户输入的所述位置的分凄t。
11. 根据权利要求10所述的方法,其中,利用所述原始输入和所述潜在可选用户ilr入的调整词语之间的相关{直来确定所述原 始用户丰命入和所述〉替在可选用户專命入之间的所述关耳关性。
12. —种用于建+义可选用户llr入的系乡充,包4舌建议/细分力良务器,;陂配置为"^妾收具有至少一个核心词语 的原始用户输入,识别在所述原始用户输入中的所述至少一个核心词语;用于通过执行以下的至少 一 项来确定至少 一 个潜在 可选用户输入(a )才艮据相似矩阵用另 一词语替代所述原始用 户專lr入中的至少一个核心词语,所述相似矩阵具有所述两个词 语之间的相似值,以及(b )根据扩展/缩略表用另 一个字序列 代替所述原始用户输入中的字序列, 一个序列是另 一个序列的 子串,所述扩展/缩略表具有与词语序列相关的频率值,计算 所述潜在可选用户输入的似然,以及根据预定标准从所述至少 一个潜在可选用户输入中选4奪和输出一个或多个最可能的可 选用户^#入。
13. 才艮据权利要求12所述的系统,其中,所述原始用户输入是原 始用户4臾索查询。
14. 才艮据权利要求12所述的系统,其中,所述原始用户输入是基 于非罗马语系的语言。
15. 根据权利要求12所述的系统,还包括建议可选用户输入的预 计算高速緩冲存储器,其中,所述建议/细分服务器还被配置 为确定所述原始用户输入是否存在于所述预计算高速緩沖存 4诸器中,以及一旦确定所述原始用户输入存在于所述预计算高 速緩冲存储器中,则输出存储在所述预计算高速緩冲存储器中 的预计算的最可能的可选用户输入。
16. 根据权利要求12所述的系统,还包括语料库、用户输入日志、 以及用户会话凝:据中的至少一个,其中,^吏用所述i吾^f库、所 述用户l命入日志、和用户会i舌H悟中的至少一个来生成所述相 似、矩阵。
17. 根据权利要求16所述的系统,其中,所述建议/细分服务器还-帔配置为通过构建在所述语#牛库中的字的特征向量以及利用
18. 根据权利要求12所述的系统,还包括用户输入日志和用户输 入凄t据库中的至少一个,其中,所述建i义/细分月良务器还一皮配置为才艮据所述用户输入日志和所述用户输入凄t据库中的至少 一个来生成所述扩展/缩略表。
19. 根据权利要求18所述的系统,其中,所述建议/细分服务器还 —皮配置为通过确定常用字序列、滤出非短i吾字序列、以及^f吏计 数与每个词语序列相关以作为所述频率值来生成所述扩展/缩 略表。
20. 根据权利要求12所述的系统,其中,所述建议/细分服务器还 ,皮配置为通过确定以下中的至少 一项来计算所述潜在可选用 户输入的所述似然(a)在所述原始用户输入和所述潜在可选 用户输入之间的关联性,(b )将由所述用户选择的所述潜在可 选用户输入的概率,以及(c)所述潜在可选用户输入的所述 位置的分数。
21. 根据权利要求20所述的系统,其中,所述建议/细分服务器还 被配置为通过使用所述原始输入和所述潜在可选用户输入的 调整词语之间的相关值来确定所述原始用户输入和所述潜在 可选用户输入之间的所述关耳关性。
22. —种用于与计算冲几系统一起^f吏用的计算4几禾呈序产品,所述计算 才几程序产品包括在其上存储在计算才几处理器上可纟丸行的指令 的计算机可读存储介质,所述指令包括接收原始用户输入,所述输入具有至少 一个核心词语;识别所述原始用户输入中的所述至少 一 个核心词语; 通过^U亍以下的至少 一项来确定至少 一个〗昝在可选用户输入(a )根据相似矩阵用另 一词语替代所述原始用户输入中 的至少一个核心词语,所述相似矩阵具有所述两个词语之间的 相似值,以及(b )根据扩展/缩略表用另 一个字序列代替所述 原始用户输入中的字序列,一个序列是另一个序列的子串,所 述扩展/缩略表具有与每个词-浯序列相关的频率4直;计算所述潜在可选用户输入的似然;以及才艮据预定标准从所述至少一个潜在可选用户输入中选4奪 一个或多个最可能的可选用户输入。
23. 4艮据4又利要求22所述的计算才几程序产品,所述指令还包括确定所述原始用户是否存在于建i义的可选用户丰叙入的预 计算高速緩冲存储器中;以及一旦确定所述原始用户输入存在于所述预计算高速緩冲 存储器中,则输出存储在所述预计算高速緩冲存储器中的预计算的最可能的可选用户,lr入。
24. 根据权利要求22所述的计算机程序产品,其中,根据语料库、 用户输入日志、以及用户会话数据中的至少一个生成所述相似 矩阵。
25. 根据权利要求24所述的计算机程序产品,其中,通过构建在 所述语料库中的字的特征向量以及利用其特征向量确定两个 字之间的相似值来生成所述相似矩阵。
26. 根据权利要求22所述的计算机程序产品,其中,根据用户输 入曰志和用户输入数据库中的至少 一 个来生成所述扩展/缩略表。
27. 4艮据—又利要求26所述的计算才几程序产品,其中,通过确定常用字序列、滤出非短语字序列、以及^f吏计^t与每个词语序列相 关以作为所述频率值来生成所述扩展/缩略表。
28. 根据权利要求22所述的计算机程序产品,其中,计算所述潜 在可选用户输入的所述似然包括确定以下中的至少 一项(a ) 在所述原始用户输入和所述潜在可选用户输入之间的关耳关性,(b)将由所述用户选择的所述潜在可选用户输入的概率,以 及(c)所述潜在可选用户输入的所述位置的分数。
29. 根据权利要求28所述的计算机程序产品,其中,使用所述原 始输入和所述潜在可选用户输入的调整词语之间的相关值来 确定所述原始用户输入和所述潜在可选用户l命入之间的所述 关耳关性。
全文摘要
公开了一种基于诸如搜索查询的原始用户输入来生成更改/细分的用户输入的系统和方法。该方法可以针对基于罗马语系的语言和/或诸如汉语的基于非罗马语系的语言来实现。该方法通常可以包括接收原始用户输入并识别其中的核心词语;通过根据相似矩阵用另一词语替代原始输入中的核心词语和/或通过根据扩展/缩略表用另一个字序列代替原始输入中的字序列来确定潜在可选输入,其中,一个字序列是另一个字序列的子串;计算每个潜在可选输入的似然;以及根据预定标准(例如,可选输入的似然至少是原始输入的似然)来选择最有可能的可选输入。可以提供包含预计算的原始用户输入和相应的可选输入的高速缓冲存储器。
文档编号G06F17/30GK101297291SQ200680021940
公开日2008年10月29日 申请日期2006年5月4日 优先权日2005年5月4日
发明者军 吴, 杰 周, 林德康, 哲 钱 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1