上下文查询的制作方法

文档序号:6359559阅读:140来源:国知局
专利名称:上下文查询的制作方法
上下文查询
背景技术
常规的搜索引擎接收来自用户的查询以定位具有与接收到的查询中所包括的词语相匹配的词语的网页。通常,搜索引擎忽略用户查询的上下文(context)和意义,且将查询当作一组词对待。查询中包括的词语被基于频率而搜索,并且由搜索引擎返回包括该查询的词语的結果。因此,常规的搜索引擎返回可能未能满足用户兴趣的結果。用户试图通过选择在感兴趣的文档中很可能找到的词来重新制定查询。例如,寻找股票信息的用户可以输入对于“PE公司A股票”的查询。常规的搜索引擎将单独地对待每个词并且返回具有词语“公司A”的文档、具有词语“PE”的文档、具有词语“股票”的文档、以及具有所述词语中任意词语的文档。常规的搜索引擎不能智能地在结果中选择讨论公司A的股票业绩、公司A与它的竞争者的对比、以及有关公司A的管理的新闻的文档。用户必须阅读结果中的不同文档、以确定这些文档中的任一文档是否包含业绩信息。

发明内容
本发明的实施例涉及用于生成上下文查询的系统、方法和计算机可读媒体。搜索引擎从客户设备接收查询连同由在当前的捜索会话期间利用的应用所提供的上下文信息。进而查询理解组件处理所述上下文信息和查询以生成该查询的语义表示(semanticrepresentation)。该查询的语义表示进ー步被数据源命令生成器处理,以基于与姆个数据源相关联的词汇信息(lexical information)选择若干数据源命令。响应于用户查询和生成的上下文查询,数据源命令被从数据源命令生成器发出给数据源,以便向搜索引擎返回答案和結果。本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面的详细说明中被进ー步描述。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算被用作为孤立的帮助以确定所要求保护的主题的范围。


下面參考附图详细地描述本发明的说明性实施例,这些附图通过引用被合并于此,其中
图I是图示按照本发明的实施例的示范性计算设备的框 图2是图示按照本发明的实施例的、被配置来生成上下文查询的计算机系统的示范性组件的网络图;和
图3是图示按照本发明的实施例的、用于生成上下文查询的计算机实施的方法的逻辑图。
具体实施例方式本专利通过具体说明来描述用于申请专利的主题以满足法定要求。然而,描述本身并不打算限制本专利的范围。相反,发明人已经设想到所要求保护的主题也可能结合其他目前的或未来的技术以其他的方式具体化,以包括与本专利中所描述的步骤相类似的不同步骤或步骤的组合。而且,尽管词语“步骤”和“框”在这里可以被使用来暗示所采用的方法的不同元素,但是这些词语不应被解释为暗指在这里所公开的各种步骤中间或之间的任何特定的顺序,除非且除了当各个步骤的顺序被明确地描述时。当在这里使用时,词语“上下文查询”是指这样的数据命令,即其被使用来访问数据源以及基于在该数据源中包括的信息的结构和在查询中包括的词语的意义从数据源检 索信息。当在这里使用时,词语“组件”是指硬件、固件和软件的任意组合。本发明的实施例提供了允许用户接收针对用户查询的答案的上下文查询。答案是从具有结构化的数据、半结构化的数据和非结构化的数据的大量内容收集中搜集的。上下文查询由计算机系统基于与查询中所包括的词语和在当前的搜索会话期间所利用的应用相关联的本体(ontology)而生成的。上下文查询搜索结构化的、非结构化的和半结构化的数据的组合以查找针对查询的答案。例如,针对用户的金融查询的答案由计算机系统通过使用该金融查询的本体驱动的理解而返回。该计算机系统可以提供使得用户能够获得针对如“具有与公司A类似的市盈率(PE ratio)的公司”、“公司A营业收入”和“公司A和B估值”这样的自然语言查询的答案的金融应用。该计算机系统使用本体来理解应当响应于查询而使用当前数据计算出来的若干关键比率。关键比率尤其可以包括“市盈率”、“市销率(Price-to-Sales ratio)”等等。自然语言查询和对应的本体被使用来生成语义表示。金融应用可以将语义表示转化为SPARQL查询,其被发出给数据源,所述数据源包括被遍历(traverse)以返回答案的记录。进而金融应用返回针对公司A和B的这些比率和其他估值度量的对比。计算机系统接收来自用户的查询。而且,计算机系统接收针对在当前的搜索会话期间被遍历的一个或多个应用的上下文。通过使用一个或多个本体,计算机系统理解所述查询和上下文,并生成所述查询和用户在其中制定查询的应用的上下文的语义表示。基于分类法、模板或本体中包括的定义,概念、实例、属性和关系被包括在查询的语义表示中。在一个实施例中,语义表示是使用所提取的概念、实例、属性和关系等等的查询的图(graph)。进而语义表示可以被数据源命令生成器自动地转化为数据源特定的查询语言以检索与查询相关的信息和答案。图I是图示按照本发明的实施例的示范性计算设备100的框图。计算设备100包括总线110、存储器112、处理器114、呈现组件116、输入/输出(1/0)端口 118、输入/输出(1/0)组件120和电源122。计算设备100仅是适当的计算环境的一个例子,其并不打算提出关于本发明的使用或功能性的范围的任何限制。计算设备100也不应被解释为具有涉及到所图示的组件的任一个或其组合的任何依存性或要求。计算设备100典型地包括各种各样的计算机可读媒体。作为例子而不是限制,计算机可读媒体可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪存或其他存储器技术KDROM ;数字多功能盘(DVD)或其他光学或全息媒体;盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可使用来编码所期望的信息并可被计算设备100存取的任何其他介质。本发明的实施例可以通过使用计算机代码或机器可使用的指令而被实现,包括计算机可执行指令,比如由诸如个人数字助理或其他手持设备这样的计算设备100执行的程序模块。通常,包括例行程序、程序、对象、模块、数据结构等等的程序模块涉及执行特定任务或实施特定抽象数据类型的代码。本发明的实施例可以以各种各样的系统配置被实践,这样的系统配置包括分布式计算环境,其中由通过通信网络链接的远程处理设备执行任务。计算设备100包括总线110,该总线直接或间接地耦合下述组件存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口 118、I/O组件120和说明性的电源122。总线110所代表的可以是一个或多个总线(比如地址总线、数据总线或它们的组合)。尽管为了清晰起见图I的各种组件用线条示出,但事实上描绘各种模块并不是那么清楚,并且隐喻性地,线条更准确地会是灰色的和模糊的。例如,人们可以将诸如显示设备这样的呈现组件116看作为I/O组件120。而且,处理器114具有存储器112。在“工作站”、“服务器”、“膝上型电脑”、“手持设备”等等之间并不做区分,因为所有的这些均被设想在图I的范围之内。存储器112包括具有易失性和/或非易失性存储器的形式的计算机可读媒体和计算机存储媒体。存储器可以是可移动的、不可移动的或它们的组合。示范性的硬件设备包括固态存储器、硬驱动机、光盘驱动机等等。计算设备100包括从诸如存储器112或I/O组件120的各种实体读取数据的一个或多个处理器114。呈现组件116为用户或其他设备呈现数据指示。示范性呈现组件116包括显示设备、扬声器、打印机、振动模块等等。I/O端口 118允许计算设备100被物理地和逻辑地耦合到包括I/O组件120的其他设备,它们中的一些可以是内置的。说明性的I/O组件120包括话筒、控制杆、游戏手柄、蝶形卫星天线、扫描仪、打印机、无线设备等等。生成上下文查询的计算机系统包括搜索引擎、查询理解组件和数据源命令生成器。上下文查询基于与客户设备提供的查询相关联的本体和对应于制定查询的应用的本体而被生成。搜索引擎接收来自客户设备的查询和来自应用的上下文。进而搜索引擎将针对上下文查询的答案和包括对应于查询的内容的结果传送给客户设备。客户设备将结果连同答案一起显示。图2是图示按照本发明的实施例的、被配置来生成上下文查询的计算机系统的示范性组件的网络图。计算机系统200具有客户设备210、网络220、搜索引擎230、数据源命令生成器240和查询理解组件250。 客户设备210经由网络220被连接到搜索引擎230。在一些实施例中,客户设备210可以是能够有web可达性的任何计算设备。同样地,客户设备210可具有各种各样的形式,诸如个人计算机(PC)、膝上型计算机、移动电话、个人数字助理(PDA)、服务器、CD播放器、MP3播放器、视频播放器、手持通信设备、工作站、这些描绘的设备的任意组合、或能够有web可达性的任何其他设备。客户设备210允许用户输入查询。客户设备210将查询传送给搜索引擎230。在某些实施例中,客户设备210还传送与用户使用来制定查询的应用相关联的上下文。在其他的实施例中,搜索引擎230可以提供该上下文。进而客户设备210接收包括答案的结果。客户设备210还可以向用户显示针对上下文查询的答案和针对查询的结果。网络220连接客户设备210、搜索引擎230、数据源命令生成器240和查询理解组件250。网络220可以是有线的、无线的或者这二者。网络220可以包括多个网络或一些网络中的某个网络。例如,网络220可以包括一个或多个广域网(WAN)、一个或多个局域网(LAN)、一个或多个公用网络(比如,因特网)、或一个或多个私有网络。在无线网络中,诸如基站、通信塔或甚至是接入点(以及其他组件)这样的组件可以在一些实施例中提供无线连通性。尽管为了清晰起见图示了单个组件,但本领域的技术人员将理解网络220可以使能在任意数量的客户设备210间的通信。搜索引擎230是服务器计算机,其提供针对从客户设备210接收的查询的结果和针对由数据源命令生成器240动态地生成的上下文查询的答案。搜索引擎230被配置成接收用户查询和应用上下文。搜索引擎230返回针对用户查询的结果和针对上下文查询的答案。在一些实施例中,搜索引擎230仅返回针对上下文查询的答案。数据源命令生成器240被通信地连接到查询理解组件250。在一个实施例中,数据源命令生成器240包括过滤器242和词汇信息244。数据源命令生成器240被配置成将查询理解组件250提供的语义表示转化为上下文查询,所述上下文查询通过使用基于与每 个数据源相关联的词汇信息244选择的数据源命令而被跨多个数据源地应用。在一个实施例中,数据源包括非结构化的、结构化的或半结构化的数据源,它们通过使用下述之一被查询结构化的查询语言(SQL)、SPARQL协议和RDF查询语言(SPARQL)、或文本关键字查询。过滤器242被配置成精化(refine)由查询理解组件250提供的语义表示。过滤器242通过基于与当前的查询会话相关联的信息来增补语义表示而精化语义表示。在一个实施例中,过滤器242包括领域(domain)、协作、地理、时间、任务和用户。领域过滤器可以基于应用上下文被识别。例如,搜索stock (股票/原料)的用户可能对金融领域或烹饪领域感兴趣。数据源命令生成器240可以基于其他的过滤器242选择这些领域中的一个。例如,协作或社区过滤器可以指示用户被连接到烹饪组或金融组。基于与用户相关联的组,数据源命令生成器240选择相关的领域过滤器。例如,金融社区中的用户很可能对公司股票感兴趣。因此,领域过滤器可以被设置为金融。地理过滤器可以包括用户的当前位置。例如,在英格兰的英籍的用户可能发出查询,那么地理过滤器可由计算机系统200设置为英格兰。时间过滤器可以包括用于查询的时间范围。如果查询中不包括日期或时间,则时间过滤器可以被设置为当前的24小时时间段。任务过滤器可以基于用户使用的应用被选择,或其可以被计算机系统200推断。任务过滤器可以包括检查电子邮件、搜索内容、编辑文档等等。用户过滤器可以包括简档属性,其优先于为其他的过滤器242选择的值。例如,英籍用户可以在简档中指定兴趣包括美国股票。因此,针对股票查询的地理信息可以从英格兰改变到美国。针对过滤器242的这些值被包括在由数据源命令生成器240转化为上下文查询的语义表示中。词汇信息组件244是数据源命令生成器240的一部分。词汇信息组件244被使用来选择应当接收上下文查询的数据源。具有类似于上下文查询的词语的词汇信息的数据源被选择来接收上下文查询。在一个实施例中,词汇信息组件244存储与本体和其中存储有被搜索引擎遍历的内容的数据源相关联的词汇信息。在一些实施例中,由计算机系统在每个数据源上执行文本挖掘以选择存储在词汇信息组件244中的与每个数据源相关联的词汇信息。进而数据源命令生成器240相对于所选择的数据源来生成被发出的上下文查询。所述查询的语义表示可以被进一步处理以选择针对所选择的数据源的适当的命令。词汇信息组件244、本体252和规则254被访问以便为每个数据源识别方法,所述方法基于包括在语义表示中的概念、属性和关系的语义描述来访问或计算来自数据源的相关信息。查询理解组件250被配置成存储用于标识查询类型和上下文类型的本体252。查询理解组件250还提供与本体252中的项目相关联的规则254,该规则扩充语义表示并且识别基于在本体252中表达的概念、属性和关系的语义描述来访问或计算来自数据源的相关信息的方法。例如,查询类型可以标识一个或多个输入类型和一个或多个输出类型,其中输入和输出类型对应于在查询本体或上下文本体中的概念、实例、属性或关系。查询理解组件250被配置成生成查询和上下文的语义表示。查询本体和上下文本体可以被查询理解组件250使用来基于与本体252中包括的每个概念、实例等等相关联的统一资源标识符(URI)而生成语义表示的图。语义表示受用户查询和应用上下文的适当上下文规则制约。在一个实施例中,所述图是在可扩展标记语言(XML)中被格式化的语义查询表示 (SQR)0 SQR可以包括下述节点查询类型(QT)、上下文(CXT)和显示(DSP)模板。例如,针对公司A的自然语言查询可具有下述SQR〈QT:实例简档公司;实例类型股票;实例URI 公司AXCXT:自然语言,金融XDSP:公司名,符号,新闻〉。依赖于数据源,语义查询表示被翻译为数据源特定的查询以便从那些数据源中检索相关的答案和信息。在语义表示中,QT是应用可从它的用户预期的不同类型查询的层次的形式表示。每个QT被一组输入和输出参数限定,所述参数便于到本体的其他部分的扩展。CXT是在其中可以捕获和解释用户查询的不同类型上下文的层次的形式表示。CXT可由用户与之交互以发出他们的查询的应用来明确地标识,或可从查询文本隐含地导出。在给定的查询中每个CXT标识用于解释概念、实例等等的条件和准则。CXT可以扩充或消除包括在语义查询表示中的概念、实例等等的歧义。语义图按照与查询类型本体中的查询类型和上下文类型本体中的上下文类型相关联的QT和CXT模板以及与每个数据源相关联的词 汇信息而被构建。本体252包括对应于数据源中的内容的词或短语。每个本体252包括针对领域的分类以及领域中词或短语之间的关系。领域可以包括医学、艺术、计算机等等。在一个实施例中,本体252还存储查询类型和上下文类型。查询类型标识文本用户查询的类型和结构。例如,查询类型可以包括自然语言、结构化的、内嵌命令等等。上下文类型标识和组织其中可以表达查询的不同类型的上下文。例如,上下文可以包括搜索引擎、电子邮件应用、金融应用等等。本体252与规则254相关联。所述规则可以通过使用对应于适当规则的URI而在语义查询表示中被引用。 规则254标识跨越若干领域的概念、实例、属性和关系。在某些实施例中,规则254可以定义被使用于从数据源中包括的数据来计算结果的方法或函数。例如,规则254可以包括比较器、数学函数、统计函数或其他的试探法(heuristic)。在其他的实施例中,规则254还可以与在可用于数据源的命令中被标识的函数相关联。在实施例中,基于从接收自客户设备的用户的查询而动态生成的上下文查询,答案被传送到客户设备。计算机系统可以执行计算机实施的方法,用以基于对应于所述查询和用户在制定所述查询时遍历的应用的本体而动态地生成上下文查询。
图3是图示按照本发明的实施例的、用于生成上下文查询的计算机实施的方法的逻辑图。该方法当计算机系统被连接到客户设备的网络时,在步骤310初始化。在步骤320,计算机系统接收用户查询和应用上下文。所述上下文由在当前的查询会话期间用户操作的应用来提供。在步骤330,计算机系统通过使用领域本体来生成所述查询的语义表示。计算机系统通过使用查询和上下文本体来确定查询和上下文类型。语义表示的结构被从与查询本体中包括的查询类型或上下文本体中包括的上下文类型相关联的模板导出。在步骤340,通过使用与在当前查询会话中遍历的每个领域相关联的过滤器来精化语义表示。过滤器通过与在当前的查询会话请求期间由用户操作的一个或多个应用相关联的准则来增补语义表示。在步骤350,计算机系统相对于具有与所述查询中的词语相关联的内容的数据源而选择一个或多个数据源命令来发出。在某些实施例中,数据源包括结构化的数据源、非结构化的数据源和半结构化的数据源。结构化的数据源通过使用下述之一被查询结构化查询语言(SQL)或SPARQL协议和RDF查询语言(SPARQL)。非结构化的或半结构化的数据源通过使用文本关键字查询被查询。该方法在步骤360终止。 总之,上下文查询允许用户使用内建于与用户提供的查询相关联的本体中以及与被利用来生成所述查询的应用相关联的本体中的信息来遍历多个数据源。例如,用户可以向搜索引擎发送查询,搜索引擎返回若干结果。另外,搜索引擎还可以提供与从用户查询制定的上下文查询相关联的答案。例如,针对用户的金融查询的答案由计算机系统通过使用所述金融查询的本体驱动的理解而返回。计算机系统可以提供金融应用,使得用户能够获得针对如“具有与公司A类似的市盈率的公司”、“公司A营业收入”和“公司A和B估值”这样的自然语言查询的答案。后一查询处理可以使用本体来理解估值包括应当通过使用当前的数据来计算的若干关键比率。这些关键比率尤其可以包括“市盈率”、“市销率”等等。进而金融应用返回针对公司A和B的这些比率和其他估值度量的对比。自然语言查询和对应的本体被使用来生成语义表示。金融应用可以将语义表示转化为被发出给数据源的SPARQL查询,这些数据源包括记录,所述记录被遍历以返回答案。计算机系统接收来自用户的查询“MSFT更高的PE”和来自金融应用的应用上下文“金融”和“自然语言”。计算机系统识别金融本体和自然语言本体。进而通过使用针对“MSFT更高/高-I PE”的语言解释来转化所述查询。金融本体可以被使用来通过使用数学运算符和对市盈率的定义而进一步转化语义表示。该语义表示被转化为“MSFT更高/高-I比较器PE”。计算机系统可以应用若干过滤器来精化语义表示。在实施例中,语义表示是通过使用本体而生成的查询图。过滤器包括领域、协作、社区、地理、时间、任务和用户兴趣。在应用这些过滤器后,计算机系统将所述查询转化为“股票行情自动收录器MSFTUS/股票行情自动收录器更高更大一 I PE/市盈率日期今日”。进而所述语义表示被转换为数据源命令。计算机系统可以发出下述命令“股票行情自动收录器.市盈率〉MSFTQUS.市盈率&&日期=今日”。此数据源命令被发送到多个数据源以定位答案。可能存在所描绘的各种组件以及未示出的组件的很多不同安排,而不脱离本发明的精神和范围。本发明的实施例已经被描述,其意图是说明而非限制。应理解某些特征和子组合是有实用性的,并且可以与其他的特征和子组合无关地被利用,且被设想为是在权利要求的范围内的。并非在各图中列出的所有步骤都需要 以所描述的特定顺序来实现。
权利要求
1.一种用来生成上下文查询的计算机实施的方法,该方法包括 接收用户查询和上下文; 通过使用领域本体生成所述查询的语义表示,其中所述领域本体标识若干分类中的过滤器、概念和关系; 通过使用与在当前的查询会话中遍历的每个领域相关联的过滤器来精化该语义表示;和 基于所述上下文和所述语义表示,相对于具有与所述查询中的词语相关联的内容的数据源而选择ー个或多个数据源命令来发出。
2.权利要求I的方法,其中所述上下文由用户在当前的查询会话期间操作的应用提 供。
3.权利要求I的方法,还包括使用查询和上下文本体来确定查询和上下文类型,其中用于所述语义表示的结构从与查询本体中包括的查询类型相关联的模板导出,以及ー些过滤器通过在当前的查询会话请求期间由用户操作的一个或多个应用的准则来增补该语义表不。
4.权利要求I的方法,其中所述数据源包括结构化的数据源、非结构化的数据源和半 结构化的数据源。
5.权利要求4的方法,其中结构化的数据源通过使用下述之ー被查询结构化的查询语言(SQL)或SPARQL协议和RDF查询语言(SPARQL)。
6.权利要求4的方法,其中通过使用文本关键字查询来查询非结构化的或半结构化的数据源。
7.权利要求4的方法,其中所述数据源命令基于与每个数据源相关联的词汇信息被选择。
8.一种或多种计算机可读媒体,其被配置来执行一方法以处理查询,该方法包括 接收用户查询和上下文; 通过使用领域本体生成所述查询的语义表示; 通过使用与在当前的查询会话中遍历的每个领域相关联的过滤器来精化该语义表示;和 相对于具有与所述查询中的词语相关联的内容的数据源,选择ー个或多个数据源命令来发出。
9.权利要求8的媒体,其中所述上下文由用户在当前的查询会话期间操作的应用提供。
10.权利要求8的媒体,还包括使用查询和上下文本体来确定查询和上下文类型,其中用于所述语义表示的结构从与该查询本体中包括的查询类型相关联的模板导出,以及所述过滤器通过在当前的查询会话请求期间由用户操作的一个或多个应用的准则来增补该语义表示。
11.权利要求8的媒体,其中所述数据源包括结构化的数据源、非结构化的数据源和半结构化的数据源。
12.权利要求11的媒体,其中结构化的数据源通过使用下述之ー被查询结构化的查询语言(SQL)或SPARQL协议和RDF查询语言(SPARQL)。
13.权利要求11的媒体,其中通过使用文本关键字查询来查询非结构化的或半结构化的数据源。
14.ー种具有处理器和存储器的计算机系统,其被配置来生成上下文查询,该系统还包括 搜索引擎,被配置来接收用户查询和上下文; 查询理解组件,被配置来存储标识查询类型和应用类型的本体,所述查询类型标识ー个或多个输入类型以及ー个或多个输出类型,其中输入和输出类型对应于领域本体或应用 本体中的概念、实例、属性或关系;和 数据源命令生成器,被通信地连接到查询理解组件,其中该数据源命令生成器被配置成将查询理解组件提供的语义表示转化为上下文查询,所述上下文查询通过使用基于与每个数据源相关联的词汇信息所选择的数据源命令而跨多个数据源地应用。
15.权利要求14的计算机系统,其中所述本体提供用来扩充语义查询表示的规则以及标识基于本体中表达的概念、属性和关系的语义描述而访问或计算来自数据源的相关信息的方法;以及所述数据源包括非结构化的、结构化的或半结构化的数据源,并且通过使用下述之ー被查询结构化的查询语言(SQL)、SPARQL协议和RDF查询语言(SPARQL)、或文本关键字查询。
全文摘要
提供了用于生成上下文查询的系统、方法和计算机存储媒体。该系统包括用来接收用户查询和上下文的搜索引擎、用来生成所述查询的语义表示的查询理解组件、以及用来将所述语义表示转化为针对多个数据源的命令的数据源命令生成器。所述数据源命令生成器被连接到所述查询理解组件。所述数据源命令生成器基于与每个数据源相关联的词汇信息来选择数据源命令。
文档编号G06F17/30GK102725757SQ201180008397
公开日2012年10月10日 申请日期2011年1月13日 优先权日2010年2月5日
发明者M.斯里肯思, P.瓦达迪, T.纳姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1