搜索索引中单词的索引角色分层结构的制作方法

文档序号:6478205阅读:153来源:国知局
专利名称:搜索索引中单词的索引角色分层结构的制作方法
搜索索引中单词的索引角色分层结构 背景 搜索变为用于进行研究或导航可经由计算机访问的文档的越发重要的工具。通 常,搜索引擎执行利用由用户提交的查询来检测可能文档、或这些文档内的文本的匹配进 程。最初,例如由诸如由Google或Yahoo维护的那些搜索引擎等常规搜索引擎在线提供的 匹配进程允许用户在查询中指定一个或多个关键字以描述她/他正在寻找的信息。接着, 常规在线搜索引擎继续寻找包含这些关键字的精确匹配的所有文档并通常将每一文档的 结果演示为其中包括由用户提供的关键字中的一个或多个的文本框。 假设,例如,用户期望发现哪个实体购买了公司PeopleSoft。将具有关键字
"谁购买了 PeopleSoft"的查询输入到常规在线引擎,其产生以下内容作为其结果之一
"J. Williams是一位官员,他在1990年代晚期创立了 Vantive,其在1999年被PeopleSoft
购买。"在此结果中,检索到的文本中精确匹配来自查询的关键字"谁"、"购买"、以及
"PeopleSoft"的单词是粗体的以向用户给出为什么返回此结果的某些理由。因此,提供促
进精确关键字匹配的匹配进程对用户而言并不高效且通常误导多于有用。 现有常规在线搜索引擎被限于它们既不识别所搜索的文档中除由匹配过程产生
的精确匹配以外对应于查询中的关键词的单词(例如,注意PeopleSoft是公司、或IBM和
Big Blue是相同的)也不识别单词在文档中扮演的不同角色(例如,不能区分PeopleSoft
是Vantive收购的作用者还是Oracle收购的目标)。同样,常规在线搜索引擎是受限的,因
为用户被限于查询中要匹配的关键词,并因此如果信息是未知的则不允许用户精确地表达
该信息。因此,实现识别查询的关键词与被搜索文档中的单词之间的语言关系的自然语言
搜索引擎将独特地增加搜索结果的准确性。 概述 提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述 的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于 帮助确定所要求保护的主题的范围。 本发明的各实施例通常涉及用于在数据存储中寻找匹配由用户提交的自然语言 查询的文档的计算机可读介质和计算机系统。通过确定查询内的单词彼此具有与文档中的 相同单词相同的关系来匹配这些文档和查询。例如,在句子"约翰在工作时读书"中,"约翰" 是句子的主语而"书"是句子的宾语。可响应于查询"约翰在哪里读书"返回包含此句子的 文档,因为"约翰"是该查询的主语而"书"是该查询的宾语。可返回数据存储中"约翰"作 为主语以及"书"作为宾语的其它文档。 使用可搜索索引将查询中的单词和关系与文档文本内的单词和关系匹配。本发明 的各实施例提取文本文档中的单词之间的一个或多个关系并将这些附加的更宽泛的关系 与单词相关联地存储在索引中。本发明的各实施例还可提取查询中的单词之间的关系并使 用这些附加的单词/关系组合来搜索索引。可使用角色分层结构来提取单词的角色。角色 分层结构以角色离根角色越远则角色变得越具体的方式来组织角色。在角色分层结构中, 通用角色是根节点而角色的更具体的实施例是子层节点。主角色是更为通用或抽象的角色。从属角色适合主角色的通用定义内但更具体。例如,在句子"约翰在工作时阅读"中, "在"可以描述书何时被阅读。可使用诸如"之前"或"之后"等其它单词来表达"何时"。因 此,"何时"是可包括"在"、"之前"、以及"之后"作为从属角色的主角色。"在"、"之前"、以 及"之后"都描述"何时"的具体示例。因此,可通过使"何时"与"书"相关联来扩展、或概 括与"书"相关联的"在"关系。 在本发明的各实施例中,可提取由单词在文档中扮演的角色并将其存储在索引 中。在另一实施例中,在索引时不扩展分配到来自文档的单词的角色。相反,扩展与搜索查 询中的单词相关联的角色并使用其来搜索索引。在另一实施例中,扩展与文档和查询两者 中的单词相关联的角色。
附图简述 以下参考附图详细描述本发明,附图中

图1是适用于实现本发明的各实施例的示例性计算环境的框图; 图2是适用于实现本发明的各实施例的示例性系统体系结构的示意图; 图3是示出根据本发明的实施例的扩展并索引句子内的单词之间的语义关系的
方法的流程图; 图4是示出根据本发明的实施例的三个角色分层结构的图示;
图5是示出根据本发明的实施例的单个角色分层结构的图示; 图6是示出根据本发明的实施例索引与一个或多个单词相关联的扩展的角色的 图示; 图7是示出根据本发明的实施例的通过扩展分配到搜索查询内的单词的角色而 搜索角色未被扩展的索引的图示。 图8是示出根据本发明的实施例的使用被分配到搜索查询内的单词的扩展的角 色来搜索包含扩展的角色的索引的图示。 图9是示出根据本发明的实施例的使用角色分层结构来索引文档内容的方法的 流程图。 详细描述 此处用细节来描述本发明的主题以满足法定要求。然而,描述本身并非旨在限制 本专利的范围。相反,发明人设想所要求保护的主题还可结合其它当前或未来技术按照其 它方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管 术语"步骤"和/或"框"可在此处用于指示所采用的方法的不同元素,但除非而且仅当明 确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或之间 的任何特定顺序。 因此,在一个实施例中,本发明涉及包含在一个或多个计算机可读介质上的计算 机可执行指令,其执行扩展并索引句子内的单词之间的语义关系的方法。该方法包括接收 具有包括文本的内容的第一电子文档、将该文本解析成一个或多个句子、以及确定句子中 的单词的第一角色,其中角色是与句子中的其它单词的语义关系的类型。该方法还包括确 定单词具有超过一个的可能的角色并将第二角色分配到单词。该方法还包括将该单词与第
一角色和第二角色一起存储在将该单词和句子与第一电子文档相关联的索引中,进而允许 搜索引擎将第一电子文档与包括具有类似角色的类似单词的搜索查询匹配。
在另一实施例中,本发明的各方面涉及用于将搜索查询匹配到一个或多个文档内
的文本的计算机化系统,该系统包括第一语义解释组件用于(l)将主角色分配给搜索查
询中的单词,其中角色是单词之间的语义关系,且搜索查询是自然语言搜索查询;以及(2)
使用角色分层结构将附加角色分配到来自搜索查询的具有主角色的至少一个单词,其中角
色分层结构包括角色的分层结构,其包括通用的根角色以及比根角色更具体的多层子角
色。计算机化系统还包括用于确定索引中引用的至少一个文档包括来自搜索查询的单词的
匹配组件,其中向至少一个文档中的单词以及搜索查询中的单词分配相同角色中的至少一 个。 在又一实施例中,本发明涵盖具有包含在其上的计算机可执行指令的一个或多个 计算机存储介质,计算机可执行指令用于执行使用角色分层结构来索引文档内容的方法。 该方法包括接收作为文档的一部分的句子、将角色分配到句子中的单词、以及使用角色分 层结构将至少一个附加角色分配到单词,其中角色分层结构包括角色的分层结构,其包括 通用的根角色以及比根角色更具体的至少一层子角色,进而向至少一个单词分配至少两个 角色。该方法还包括将单词与分配到各个单词的一个或多个角色存储在将单词和句子与文 档相关联的索引中。 在简要描述了本发明的各实施例的概览以及其中的某些特征后,以下描述适于实
现本发明的示例性操作环境。 操作环境的描述 大体上参考附图,并且首先具体参考图1 ,示出了用于实现本发明的各实施例的示 例性操作环境,并将其概括指定为计算设备100。计算设备100只是合适的计算环境的一个 示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应该将计算设备100解 释为对所示出的任一组件或其组合有任何依赖性或要求。 本发明可以在计算机代码或机器可使用指令的一般上下文中描述,机器可使用指 令包括由计算机或诸如个人数据助理或其它手持式设备等其它机器执行的诸如程序组件 等计算机可执行指令。 一般而言,包括例程、程序、对象、组件、数据结构等的程序组件指的 是执行特定任务或实现特定提取数据类型的代码。本发明的各实施例可以在各种系统配置 中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本 发明的各实施例也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计 算环境中实现。 继续参考图l,计算设备100包括直接或间接耦合以下设备的总线110 :存储器 112、一个或多个处理器114、一个或多个演示组件116、输入/输出(I/O)端口 118、 1/0组 件120、和说明性电源122。总线110可以是一条或多条总线(诸如地址总线、数据总线、或 其组合)。尽管为了清楚起见用线条示出了图1的各框,但是,实际上,描绘各组件并不是那 样清楚,并且用比喻方法,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备 等演示组件认为是I/0组件。同样,处理器具有存储器。发明人关于此点认识到,这是本领 域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施例来使用的示 例性计算设备。诸如"工作站"、"服务器"、"膝上型计算机"、"手持式设备"等分类之间没有 区别,它们全部都被认为是在图1的范围之内的并且被称为"计算机"或"计算设备"。
计算设备100通常包括各种计算机可读介质。作为示例而非限制,计算机可读介质可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器 (EEPROM);闪存或其它存储器技术;CDROM、数字多功能盘(DVD)或其它光或全息介质;磁 带盒、磁带、磁盘存储或其它磁存储设备;或可用于对所需信息进行编码并且可由计算设备 IOO访问的任何其它介质。 存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可 以是可移动的、不可移动的、或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘 驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一 个或更多个处理器。演示组件116向用户或其它设备演示数据指示。示例性演示组件包括 显示设备、扬声器、打印组件、振动组件等等。1/0端口 118允许计算设备100在逻辑上耦合 至包括1/0组件120的其它设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵 杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。
示例性系统体系结构的描述 现在转到图2,示出根据本发明的实施例的适用于使用文档内的单词之间的关系 以及搜索查询内的单词之间的关系将搜索查询匹配到文档的示例性系统体系结构200的 示意图。本领域普通技术人员将理解并认识到,图2所示的示例性系统体系结构200仅仅 是一个合适的计算环境的示例,并且不旨在对本发明的使用范围或功能提出任何限制。也 不应该将示例性系统体系结构200解释为对其中所示出的任何单个组件或各组件的组合 有任何依赖性或要求。 如图所示,系统体系结构200可包括分布式计算环境,其中客户机设备215可操作 地耦合到自然语言引擎290,后者又可操作地耦合到数据存储220。在分布式计算环境中 实现的本发明的实施例中,可操作耦合表示通过合适的连接将客户机设备215和数据存储 220链接到自然语言引擎290、以及其它在线组件。这些连接可以是有线或无线的。在本发 明的范围内的具体有线实施例的示例包括USB连接和通过网络(未示出)的有线连接。本 发明的范围内的具体无线实施例的示例包括近程无线网络和射频技术。
应该理解和明白,"近程无线网络"的指定不旨在限制,且应该被广泛地解释以至 少包括以下技术协商无线外围(丽P)设备;近程无线空气干扰网络(例如,无线个人区域 网(wPAN)、无线局域网(wLAN)、无线广域网(wWAN)、蓝牙等);无线对等通信(例如,超宽 带);以及支持设备之间的数据的无线通信的任何协议。此外,熟悉本发明的领域的人员应 该理解,近程无线网络可通过各种数据传送方法来实现(例如,卫星传输、电信网络等)。因 此,要强调的是,例如,客户机设备215、数据存储220、以及自然语言引擎290之间的连接的 各实施例不受描述的示例所限,而是涵盖各种各样的通信的方法。 示例性系统体系结构200包括部分上支持演示设备275的操作的客户机设备215。 在其中客户机设备215例如是移动设备的示例性实施例中,演示设备(例如,触摸屏显示) 可被设置在客户机设备215上。此外,客户机设备215可采用各种类型的形式的计算设备。 仅作为示例,客户机设备215可以是个人计算设备(例如,图1的计算设备100)、手持式设 备(例如,个人数字助理)、移动设备(例如,膝上型计算机、蜂窝电话、媒体播放器)、消费 者电子设备、各种服务器等。 在各实施例中,如上所述,客户机设备215包括、或可操作耦合到演示设备275,该 演示设备被配置成将用户界面(UI)显示295演示在演示设备275上。演示设备275可被配置为能够向用户演示信息的任何显示设备,如监视器、电子显示板、触摸屏、液晶显示器 (LCD)、等离子屏、一个或多个发光二极管(LED)、白炽灯、激光、电荧光光源、化学灯、弯曲 灯线、和/或荧光灯、或任何其它显示类型、或可包括可视信息在其上投射的反射表面。虽 然上文中描述了演示设备275的若干不同配置,本领域的那些普通技术人员应该理解和明 白,可采用演示信息的各种类型的演示设备作为演示设备275,且本发明的实施例不限于被 示出并描述的那些演示设备275。 在一个示例性实施例中,由演示设备275呈现的UI显示295被配置成显示与自然 语言引擎290和/或内容发布者相关联的网页(未示出)。在一实施例中,网页可展示接收 查询和通过使用该查询搜索因特网而发现的搜索结果的搜索输入区域。查询可由用户在搜 索输入区域处提供,或可由软件自动生成。此外,如下文更全面讨论地,查询可包括在被提 交时调用自然语言引擎290来标识最对应查询中的单词的合适搜索结果的一个或多个鱼 显。 在图2中示出的自然语言引擎290可采取各种类型的计算设备的形式,诸如例如, 上文中参考图I描述的计算设备IOO。作为示例而非限制,自然语言引擎290可以是个人计 算机、台式计算机、膝上型计算机、消费者电子设备、手持式设备(例如,个人数据助理)、各 种远程服务器(例如,在线服务器云)、处理设备等。然而,应当注意,本发明不限于在这些 计算设备上实现,而是可在处于本发明的各实施例的范围内的各种不同类型的计算设备的
任一种上实现。 此外,在一实例中,自然语言引擎290被配置为搜索引擎,该搜索引擎被设计成搜 索因特网和/或数据存储220上的信息,且被设计成响应于经由客户机设备215提交查询 在搜索范围内从这些信息收集搜索结果。在一个实施例中,搜索引擎包括挖掘可经由因特 网访问的可用数据(例如,新闻组、数据库、开放目录、数据存储220等)并构建包含web地 址以及网页或按有意义的格式存储的其它文档的主题的语义索引260的一个或多个web爬 寻器。在另一实施例中,搜索引擎可用于方便从响应于被提交的查询的语义索引中标识并 检索搜索结果(例如,列表、表、web地址的经排序的次序等)。搜索引擎可由因特网用户通 过设置在客户机设备215上的web浏览器应用程序访问。因此,用户可通过在搜索输入区 域(例如,在由与搜索引擎相关联的恥b浏览器生成的UI显示295上显示)中提交搜索查 询来进行因特网搜索。 数据存储220通常被配置成存储与具有与其相关联的可搜索内容的文档(包括网 页)相关联的信息。在各实施例中,此类文档可包括但不限于网页/网站的内容、可经由因 特网或本地内联网访问的电子材料、以及对搜索引擎可用的其它典型资源。此外,数据存储 220可被配置成可从中搜索对所存储的信息的合适访问。例如,可在数据存储220中搜索 被选出以供自然语言引擎290处理的一个或多个文档。在各实施例中,允许自然语言引擎 290自由地在数据存储检查最近被添加或修改的文档以更新语义索引。检查的进程可持续 地进行、以预先确定的间隔进行、或在指示对聚集在数据存储220处的一个或多个文档的 改变发生时进行。本领域普通技术人员可以理解和明白,存储在数据存储220中的信息可 以是可配置的,并可包括在线搜索的范围内的任何信息。这一信息的内容和量决不旨在限 制本发明的各实施例的范围。此外,虽然作为单个独立的组件示出,但数据存储220实际上 可以是例如数据库集群等多个数据库,其各部分可以驻留在客户机设备215、自然语言引擎290、另一外部计算设备(未示出)、和/或其任何组合上。数据存储220还可包括形成因特 网的计算机。 通常,自然语言引擎290提供寻找数据存储220内的信息的工具。在各实施例中, 自然语言引擎290接收搜索查询并演示响应于该查询的搜索结果。在各实施例中,自然语 言引擎290通过应用自然语言处理技术计算诸如从数据存储220中取得的文档等文档集 中的各段的意思来操作。将这些意思存储在语义索引260中,在执行搜索时引用该语义索 引。最初,在用户将查询输入到搜索输入区域中时,查询搜索流水线205分析用户的查询 (例如,字符串、完整单词、短语、字母组合、符号、或问题)并确定该搜索查询中的单词之间 的语义关系。可使用这些关系来寻找相关搜索结果。 在一个实例中,存储在语义索引260中的信息包括从数据存储220中的文档中提 取的表示,或涵盖在在线搜索的范围内的任何其它材料。在下文中被称为"语义表示"的这 种表示涉及从普通文本中提取的内容的直观意思并可被存储在语义索引260中。语义表示 包括文本中与通过分析文本中的单词之间的关系来分配的一个或多个关系相关联的单词。 语义索引260的体系结构允许快速比较存储在语义表示中的单词和关系以及与搜索查询 中的单词相关联的语义关系以检索映射到与所提交的查询相关的语义表示的文档。因此, 自然语言引擎290可根据提交到搜索界面(例如,展现在UI显示295上的搜索输入区域) 中的单词来确定用户查询的意思,并随后筛选语义索引中的大量信息以寻找匹配该查询的 意思的搜索结果。 在各实施例中,可通过执行用于发现相关搜索结果的一个或多个步骤的各种功能 元件来实现以上过程。这些功能元件包括查询解析组件235、文档解析组件240、语义解释 组件245、语义解释组件250、解析应用程序组件255、语义索引260、匹配组件265、以及排名 组件270。这些功能组件235、240、245、250、255、260、265、以及270通常表示动态链接并准 备好与其它组件或设备一起使用的各个模块化软件例程及其相关联的的硬件。
数据存储220、文档解析组件240、以及语义解释组件250构成索引流水线210。在 操作中,索引流水线210用于从在数据存储220处被访问的文档230内的内容中提取被分 配给单词的关系,并在确定这些关系后构建语义索引260。如上所述,在被聚合以形成语义 索引260时,单词和关系保留到从其导出它们的文档230、和/或文档230内的内容的位置 的映射。 通常,文档解析组件240被配置成收集对自然语言引擎290可用的数据。在一个 实例中,收集数据包括检查数据存储220以扫描存储在其中的文档230的内容、或其它信息 的内容。因为可持续地更新数据存储220内的信息,所以收集数据的过程可按定期间隔来 连续地执行、或在通知对文档230中的一个或多个作出更新时执行。 在收集来自文档230以及其它可用源的内容时,文档解析组件240执行准备内容 以用于语义分析的各种过程。这些过程可包括文本提取、实体识别、以及解析。文本提取过 程基本上涉及从文档230的内容提取数据的表、图像、模板、以及文本部分以及将它们从原 始在线格式转换为可用格式(例如,超文本标记语言(HTML)),同时保存到从其中提取它们 的文档230的链接以方便映射。可随后将可用格式的内容分成句子。在一个实例中,将内 容分成句子涉及集合字符的串作为输入、应用一组规则来对字符串测试具体特性、并基于 这些具体特定特性将内容分成句子。仅作为示例,被测试的内容的具体特性可包括标点和
10大写形式以确定句子的起始和结束。 一旦查明一系列句子,即可任选地检查各个句子以检 测其中的单词并潜在地将每一单词识别为宾语(即,"兴登堡")、事件(即,"第二次世界大
战")、时间(即,"九月")、动词("行走")或可用于提出单词之间的区别或用于理解本句 子的意思的任何其它的单词类别。 实体识别过程协助识别哪些单词是名字,因为它们向问题相关的查询(例如,谁、 哪里、何时)提供具体答案。在各实施例中,识别单词包括将单词标识为名字并使用标签来 注释该单词以便于在询问语义索引260时进行检索。在一实例中,将单词标识为名字包括 在名字的预先定义列表中查找这些单词以确定是否存在匹配。如果没有匹配存在,可使用 统计信息来猜测单词是否是名字。例如,统计信息可协助识别复杂名字的变体,如"USS企 业",其可具有若干常用的拼写变体。 解析过程在被实现时提供对以上标识的句子的结构的洞察。在一个实例中,通过 应用被维护在解析应用程序组件255的框架中的规则来提供这些洞察。可基于词汇功能语 法(LFG)、中心词驱动短语结构语法(HPSG)、组合范畴语法(CCG)、基于极简框架或任何其 它解析框架的概率性上下文无关语法(PCFG)解析器来实现解析。在被应用时,这些规则或 语法加速分析句子以查明句子中单词之间的关系。如果解析器是LFG解析器,则单词之间 的关系可被称作功能结构。解析应用程序组件255的输出捕捉关于句子的结构的重要信息 (例如,动词、主语、宾语等),该重要信息由语义解释组件250进一步处理。
语义解释组件250通常被配置成通过识别单词之间的语义关系来诊断句法结构 中的每一单词的角色。最初,诊断可包括分析句法结构的语法组织并将句法结构分成各自 表示分立思想和具体事实的逻辑断言(例如,介词短语)。还可分析这些逻辑断言以确定 构成该断言的单词的序列中的每一个单词的功能。如果适当,则可基于每个单词的功能或 角色扩展单词的序列中的一个或多个单词以包括同义词(即,链接到对应于被扩展的单词 的意思的其它单词)或上位词(hypernym)(即,链接到概括涉及被扩展的单词的通用意思 的其它单词)。可将单词的此扩展、每一单词在表达式中所起的功能(上文所述)、单词的 序列中的每一个单词的语法关系、以及由语义解释组件250识别的关于语义表示的任何其 它信息存储在语义索引260处。类似地,如下文中更详细描述地,可扩展被分配给单词的主 要角色或关系以包括涵盖该主要角色的更通用的角色。可同样将附加角色存储在语义索引 260中。 语义索引260用于存储通过索引流水线210得到的单词之间的关系并可按在相关 领域中已知的方式被配置。作为示例,语义索引260可被配置为结构上类似于常规搜索引 擎索引的倒排索引。在此示例性实施例中,倒排索引是其条目是具有指向在其上出现单词 的文档230及其中位置的指针的单词的快速可搜索数据库。因此,在将关于语义表示的信 息写入到语义索引260时,索引每一单词和相关联的功能连同指向其中出现单词的文档中 的句子的指针。语义索引260的这种框架允许匹配组件265高效地访问、导航、并匹配所存 储的信息以取得与所提交的查询对应的有意义的搜索结果。 客户机设备215、查询解析组件235、以及语义解释组件245构成查询条件检验流 水线205。类似于索引流水线210,查询条件检验流水线205从单词的序列中提取有意义的 信息。然而,与处理文档230内的段相反,查询条件检验流水线205处理在查询225内提交 的单词。在一个实施例中,查询是单词具有与彼此语义关系的自然语言查询。例如,查询解
11析组件235接收查询225并执行准备单词以用于其语义分析的各种过程。这些过程可类似 于由文档解析组件240采用的过程,如文本提取、实体识别、以及解析。此外,可通过应用被 维护在解析应用程序组件255的框架中的规则来标识查询255的结构,进而得到查询225 中的单词之间的关系的有意义的表示。 在各实施例中,语义解释组件245可按基本上类似于语义解释组件250解释文档 230中的文本段的方式处理查询。在各实施例中,语义解释组件245可标识构成查询225的 单词之间的标准化语法关系。作为示例,标识标准化语法关系包括将单词是用作查询225 的主语(动作的作用者)、宾语、谓词、间接宾语、还是时间位置。例如,在句子"谁被约翰打 败?"中,"谁"是主语,而"约翰"是"打败"的标准化主语。在另一实例中,评估查询以标识 与单词中的每一个相关联的逻辑语言结构。作为示例,评估可包括以下步骤中的一个或多 个确定查询中的单词中的至少一个的功能;基于该功能使用涵盖多个意思的逻辑变量来 替换单词;以及使用这些意思来搜索语义索引260。将从查询225中提取的单词和关系发 送到匹配组件265以与从文档230提取并存储在语义索引260处的单词和关系进行比较。
在一示例性实施例中,匹配组件265将查询225的单词及其分配的关系的单词与 语义索引260中的单词和关系比较以查明匹配。当查询和文档在两者都具有被分配成相同 角色或关系的相同单词时两者匹配。可使用语义索引260中的标签将语义索引260中的 这些匹配映射回从其中提取这些索引的文档230。由标签瞄准的这些文档230由排名组件 270收集并排序。排序可按相关领域内的任何已知方法来执行,且可包括而不限于根据匹配 的接近度排序、基于所返回的文档230的流行度列出、或基于提交查询225的用户的属性排 序。这些被排序的文档230包括搜索结果285并被传达给演示设备275以供以合适的格式 在UI显示295上展示。在一个实施例中,在查询中具有具体关系的单词与文档中具有具体 关系的单词匹配时,给出较高的排名。在查询中具有通用关系的单词与文档中具有通用关 系的单词匹配时,给出较低的排名。 继续参考图2,此示例性系统体系结构仅是可被实现以执行本发明的各方面的合 适环境的一个示例且不旨在对本发明的使用或功能的范围提出任何限制。所示的示例性系 统体系结构200或自然语言引擎290也不应该被解释为具有涉及如图所示的组件235、240、 245、250、255、260、265、以及270中的任何一个或组合的依赖性或需求。在某些实施例中, 组件235、240、245、250、255、260、265、以及270中的一个或多个可被实现为独立设备。在其 它实施例中,可将组件235、240、245、250、255、260、265以及270中的一个或多个直接集成 到客户机设备215中。本领域普通技术人员可以理解,图2所示的组件235、240、245、250、 255、260、265、以及270在本质和数量上是示例性的,并且不应被解释为限制。
因此,可以采用任何数量的组件来实现本发明的各实施例的范围内的所需功能。 尽管为了清楚起见用线条示出了图2的各组件,但是在实际上,各组件的轮廓并不是那样 清楚,并且按比喻的说法,线条更精确地将是灰色的或模糊的。此外,虽然将图2的某些组 件示为单个框,但是这些描述在本质和数量上是示例性的且不应被解释为限制(例如,虽 然仅示出一个演示设备275,多得多的设备可通信耦合到客户机设备215)。
现在转到图3,显示示出根据本发明的实施例的扩展并索引句子内单词之间的语 义关系的方法的流程图。在步骤310,接收具有包括文本的内容的第一电子文档。可将该 电子文档存储在诸如数据存储220等数据存储中。电子文档可以是网站、电子数据表、文字
12处理文件、电子邮件、或其它此类电子文档。文本包括被组织成根据诸如英语或法语等已知 语言的协议来传达意思的单词。本发明的实施例不限于具体语言且可等效地应用于任何语
曰o 在步骤315,将该文本解析成一个或多个句子。通过将被设计成识别给定语言中的 句子的算法应用到文本来解析句子。句子中的单词定义了彼此相关的角色。例如,在句子 "约翰在工作时读书"中,约翰是主语,书是宾语,而读是形成约翰与书之间的关系的动词。 "读"和"工作"处于由"在"所述的关系中。在步骤320,句子中的一单词被确定为处于第 一角色中。还可向句子中的其余单词分配角色。句子中的多个单词可能具有相同角色。例 如,句子可具有超过一个的主语或宾语。 在步骤325,确定单词具有超过一个的潜在角色。换言之,单词可扮演超过一个的 角色。例如,在句子"约翰在工作时读书"中,"在"可以是描述约翰在何时读或约翰在何处 读的角色类型。通过参考一个或多个角色分层结构来确定一单词具有超过一个的可能角 色。角色分层结构的示例在图4和5中示出。为了说明起见简化这些角色分层结构。工作 角色分层结构可包含众多关系。角色分层结构包括至少两层。第层即根节点是单词之间的 关系的更通用的表达。根节点下的子层包含对由根节点描述的关系的更具体的实施例。
现在转到图4,示出可结合彼此使用的三个角色分层结构。角色分层结构410包括 根节点"核心"412以及子节点"主语"414禾口"宾语"416。"主语"414禾口"宾语"416处于同 一层上,且因此具有相等的具体性。角色分层结构420包括"中心词"422和"关系"424。角 色分层结构430包括根节点"模糊"432、子节点"何处"434、"何时"436、以及"为什么"438。 子节点"何处"434具有子节点"离开"440以及"在"442。子节点"何时"436具有子节点 444 "之前"、"在"446、以及"之后"448。根节点"核心"412、"中心词"422、以及"模糊"432 可用作涵盖角色分层结构中在它们之下的所有关系的占位符。角色分层结构的同一层上的 关系被认为具有相同水平的具体性。例如,角色"主语"414和角色"宾语"416是同等具体 的。 查看角色分层结构430,可以看到"在"表现为"何处"434和"何时"的子节点。因 此,"在"可具有超过一个的可能角色。在示例句子"约翰在工作时读书"中,"在"描述"读" 与"工作"之间的关系。"在"将是与工作相关联的第一关系,而"何处"434、"何时"436、和 /或"模糊"432可被关联作与工作的次要关系。在一个实施例中,所有四个可能的关系都 与单词"工作"相关联。图4示出在分析单词之间的关系时可使用多个角色分层结构。或 者,可将所有关系表达在如图5所示的单个分层结构中。 现在转到图5,根据本发明的一实施例示出示例单个角色分层结构500。根节点 是"角色"505。子节点的第一层包括"核心"510、"关系"530、以及"模糊"540。在节点"核 心"510之下是"本质"512和"发起者"516。"本质"512之下的节点包括"受者"518和"主 题"520。在节点"发起者"516下的是节点"效应物"522禾P"作用者"524。在节点"何处"542 下是节点"离开"550以及"在"552。在节点"何时"544下是节点554 "之前"、"在"556、 以及"之后"558。如"在"所示,单个关系可以是超过一个父节点的子节点。核心角色是对 具有关系角色的元素而言视为基本的参与者的角色。这涉及作为自愿(作用者)或非自愿 (效应物)的改变的原因(发起者)的参与者,以及参与而不导致改变(本质)的参与者、 他们或者经受改变(受者)或不经受改变(主题)。例如,在"约翰打破窗户"中,"约翰"是作用者而"窗户"是受者,在"风暴打破窗户"中,"风暴"是效应物。在"约翰看见风暴"中, "风暴"是主题。 现在回到图3,在步骤330,将第二角色分配到已经被分配了主要角色的单词。还
可将次要角色分配给句子中的其它角色。通过在角色分层结构上向上移动一层或多分层来 分配第二角色。例如,再次参考图5,在第一角色是"在"时,第二角色可以是"何处"54、"何 时"544、和/或"模糊"540。在步骤335,将单词与第一角色和第二角色一起存储在将单词 和句子与该句子来自其中的第一电子文档相关联的索引中。这允许搜索引擎将第一电子文 档与包括具有类似角色的类似单词的搜索查询匹配。在一个实施例中,将单词和所分配的 角色存储在项中。该项可由一个单词和一个角色组成。因此,项可以是"工作.在"或"工 作.何时"或"工作.何处"。在另一实施例中,项包括单词和关系以及一个或多个在有效 载荷中的附加关系。因此,项可以是工作.模糊(在、何处、何时)。有效载荷包括(在、何 处、何时)。在此示例中,单词与角色分层结构中最通用的角色相关联且子角色被包括在有 效载荷中。第二实施例可潜在地节省索引中的存储器空间。 在步骤340,接收到使用与句子中的单词相同的单词的搜索查询。可通过由搜索 引擎通过因特网呈现的用户界面来接收搜索查询。还可按其它方式来接收搜索查询。在一 实施例中,搜索查询是使用有如其在言语中所使用彼此的关系中的单词的自然语言查询。 在步骤345,确定来自查询的单词在搜索查询内的第一角色中使用。在步骤350,确定单词 在搜索查询内具有超过一个的潜在角色。如前所述,如果一单词出现在角色分层结构的子 层中,则可确定其具有更多的潜在角色。在步骤355,将附加角色分配到查询中的单词。因 此,在步骤355完成时,扩展了查询中的至少一个单词的角色,且电子文档中的至少一个单 词的角色被扩展并存储在索引中。 在步骤360,搜索索引以寻找具有按第一角色和第三角色中的一个或多个使用的 第一单词的一个或多个电子文档。回想,第一角色和第三角色是结合单词在搜索查询中的 出现而被分配到单词的角色。在步骤365,确定第一电子文档匹配搜索查询。第一电子文档 是对搜索查询的匹配,因为其包含第一角色中的第一单词。在步骤370,具有分配到第一角 色和第三角色的第一单词的第二电子文档是对搜索查询的第二匹配。在步骤375,第二电子 文档被排序为比第一电子文档更好的对搜索查询的匹配,因为第二电子文档包含与被分配 到查询的角色共同的两个角色而不是仅一个共同角色相关联的单词。具体而言,该单词在 查询和第二文档两者中的出现都与第一角色和第三角色相关联。在另一实施例中,与其中 相同单词在搜索查询和文档两者中与更通用的角色相关联的另一文档相比,在相同单词在 文档和搜索查询两者中与相同具体角色相关联时给出较高排名。 图6示出索引句子内的单词和角色并将该句子匹配到两个示例查询。在此实施例
中,来自句子的单词和被分配到句子中的这些单词的角色两者被扩展并添加到索引。在由 图6示出的实施例中,不扩展查询中的单词和角色。句子"约翰看见猫"620的语义分析在 索引中生成一系列条目,这些条目将与句子620以及从中取得该句子620的文档相关联。 未示出该对句子和文档的关联。项包括约翰.主语622。下一项是约翰.核心624,其为分 配给约翰的主语角色的扩展。下一项是人.主语626。项626扩展单词约翰并将其分配给 未扩展的角色主语。下一项人.核心628包括约翰的扩展单词和主语的扩展角色。项实 体.主语630是与未扩展的角色主语相关联的约翰的进一步扩展。项实体.核心632是对约翰和主语两者的扩展。在此示例中,实体用作任何名词的通配符。项看见.关系634包 括未扩展的单词和未扩展的关系或角色。下一项是感知.关系636,它包括单词看见的扩展 以及未扩展的角色关系。下一项猫.宾语638是未扩展的单词和未扩展的角色的组合。项 猫.核心640包括未扩展的单词猫以及扩展的角色核心。项猫科动物.宾语642包括猫的 扩展单词,即猫科动物,以及未扩展角色。下一项猫科动物.核心644包括单词猫的扩展以 及角色的扩展。下一项动物.宾语646包括对单词猫的进一步扩展以及未扩展角色。下一 项动物.核心648包括对单词猫的进一步扩展以及角色的扩展。下一项实体.宾语650还 包括与未扩展角色相关联的单词猫的进一步扩展。最终项实体.核心652包括扩展的单词 以及扩展的关系。 可将第一示例查询"谁感知某事?"610分解成三个项。第一项是代表主语的人.主 语612。选择单词人,因为响应于询问谁的查询来搜索人。下一项是感知.关系614,而最 后一项是实体.宾语616。因此,此查询将匹配其中人是主语、该人感知、以及实体是宾语的 句子。如可以看到地,项612是与索引中的项626的匹配670。项614是与索引中的项636 的匹配672,而项616是与索引中的项650的匹配674。因此,包含"约翰看见猫"620的文 档将响应于查询"谁感知某事"610匹配。 可将第二示例查询"谁看见动物? "660分解成三个未扩展的项。项包括人.主语 662、看见.关系664、以及动物.宾语668。项662形成与项626的匹配676。项664是与 项634的匹配677。项668是与项646的匹配678。因此,可通过非常宽泛的查询"谁感知 某事"610以及更具体的查询"谁看见动物"660来找到句子"约翰看见猫"620,因为拓宽或 扩展了句子620中的项和关系以便它们匹配更通用的查询。还保留更具体的角色以便更具 体的查询也找到匹配。 在图6所示的实施例中,扩展与文档中的句子相关联的单词和角色两者,而不扩 展查询中的单词和角色。在另一实施例中,扩展查询中的角色,而不扩展来自文档中的句子 的角色。此实施例由图7示出,其显示在句子没有角色扩展但在查询中扩展角色的映射。为 了说明起见,使用句子"约翰在工作"730。可将句子730分解成项约翰.主语732、人.主 语734、实体.主语735、是.关系736、实体.在738、以及工作.在739。在此情况下,在一
个实例中将约翰扩展成人和实体,并将工作扩展成实体。然而,不扩展角色。
可将示例查询"谁在某处?"710分解成三个未扩展的项。这些未扩展的项包括 人.主语712、是.关系714以及实体.在718。添加具有扩展角色的两个附加项并使用它 们搜索索引。具有扩展角色的第一项是实体.离开716。具有扩展角色的第二项是实体.何 处720。如可以看到的,项712是与项734的匹配760,项714是与项736的匹配762,而项 718是与项738的匹配764。因此,查询"谁在某处?"将找到句子"约翰在工作"。
可将第二示例查询"约翰在何处? " 740分解成项约翰.主语742、是.关系744、 实体.离开746、实体.在748、以及实体.何处750。如可以看到地,扩展了与实体相关联 的关系。项742形成与项732的匹配770,项744形成与项736的匹配772,而项748形成 与项738的匹配774。因此,查询"约翰在何处? "740将找到句子"约翰在工作"。
图6和7示出扩展查询或来自文档的句子任一中的角色。在一实施例中,在查询 和句子两者中均扩展与单词相关联的角色。此实施例在图8中示出。现在转到图8,根据本 发明的一实施例示出将扩展的查询与扩展的句子匹配的示例。在图8中,扩展了与查询中的单词相关联的角色和与索引句子中的单词相关联的角色两者。将句子"约翰在工作时阅 读"820分解成若干项。这些项包括约翰.主语822、约翰.核心824、人.主语826、人.核 心828、实体.主语830、阅读.关系832、工作.在834、工作.何处836、工作.模糊838、 实体.在840、实体.何处842、实体.模糊844、以及实体.何时846。如可看到地,单词约 翰被扩展成人和实体而单词工作被扩展成实体。类似地,角色"主语"被扩展成与约翰相关 联的"核心",而角色"在"被扩展成与工作相关的"何处"、"模糊"、以及"何时"。可将第一 查询"在工作期间阅读"810分解成项阅读.关系812、以及可被扩展成工作.何时816的 工作.期间814。此查询不是被索引的句子820的匹配,因为在与句子820相关联的索引项 中找不到项814或816。在此实施例中,查询中的所有项必须匹配索引中的项。然而,在其 它实施例中,对文档而言在不是来自查询的所有项可匹配索引中的项时匹配也存在。
可将第二示例查询"在工作之前阅读"850分解成项阅读.关系852、工作.之前 854以及工作.何时856。将响应于第二查询850返回句子"约翰在工作时阅读"820,因为 项832是与项860的匹配。类似地,项846形成与查询中的项856的匹配862。因此,在本 发明的各实施例中,可在索引、查询、或两者中扩展角色。 现在转到图9,示出根据本发明的实施例的使用角色分层结构来索引文档内容的 方法的流程图。在步骤910,接收作为文档的一部分的句子。在步骤915,将角色分配给句 子中的单词。如前所述,角色的类型可以是单词之间的语义关系。在步骤920,使用角色分 层结构向单词分配至少一个附加角色。角色分层结构包括角色的分层结构,包括通用的根 角色和比根角色更具体的至少一层子角色。因此,向来自句子的至少一个单词分配至少两 个角色。可将单个角色分配给多个单词。如前所述,附加角色是更通用的且从角色分层结 构上的较高层取得。 在步骤925,存储单词以及被分配到各个单词的一个或多个角色。将这些单词和角 色存储在将单词和句子与句子来自其中的文档相关联的索引中。在一实施例中,还可结合 关系扩展单词。扩展角色和单词两者可造成要索引的项的增长。如前所述,项是单词和分 配给该单词的角色的组合。在一实施例中,按照单个项中的单个角色存储项。在另一实施 例中,将单词存储在项中,该项包括单词和与该单词相关联的最宽泛角色以及与单词相关 联的更具体的其它关系的有效载荷。 在步骤930,接收到包含多个单词的自然语言搜索查询。在步骤935,将主要角色
分配给来自搜索查询的多个单词中的单词。在步骤940,使用角色分层结构将至少一个附加
角色分配给多个单词中的至少一个单词。在步骤945,确定在索引中引用的一个或多个文档
具有分配到相同角色中的一个或多个的多个单词中的至少一个单词。在步骤950,对一个或
多个文档排名。给予具有分配相同角色的更为匹配的单词的文档较高排名。此外,在与较
具体的角色相关联的单词匹配索引中具有相同具体角色的相同单词时,给出较高排名。可
向提交搜索查询的用户完整或部分显示匹配该搜索查询的一个或多个文档。 参考各具体实施例描述了本发明,各具体实施例在所有方面都旨在是说明性的而
非限制性的。在不背离本发明范围的情况下各替换实施例对本发明所属领域的普通技术人
员将变得显而易见。 从前述内容可知,本发明很好地适用于实现前述的所有目的和目标,并且具有对 于该系统和方式是显而易见且固有的其它优点。可以理解,特定的特征和子组合是有用的,并且可以在不参考其它特征和子组合的情况下使用。这由权利要求书所构想并在其范围之 内。
权利要求
一个或多个其上实施有用于执行扩展并索引句子内单词之间的语义关系的方法的计算机可执行指令的计算机可读介质,所述方法包括接收310具有包括文本的内容的第一电子文档;将所述文本分315成一个或多个句子;确定320所述句子中的单词的第一角色;确定325所述单词具有超过一个的潜在角色;向所述单词分配330第二角色;以及将所述单词与所述第一角色和所述第二角色一起存储335在将所述单词和所述句子与所述第一电子文档相关联的索引中,进而允许搜索引擎将所述第一电子文档与包括具有类似角色的类似单词的搜索查询匹配。
2. 如权利要求1所述的介质,其特征在于,所述方法还包括 接收包含所述单词的所述搜索查询; 确定所述单词在所述搜索查询内按所述第一角色使用; 确定所述单词在所述搜索查询内具有超过一个的潜在角色;以及 向所述单词分配第三角色。
3. 如权利要求2所述的方法,其特征在于,所述方法还包括搜索所述索引以寻找具有按所述第一角色和所述第三角色中的一个或多个使用的所 述单词的一个或多个电子文档。确定所述第一电子文档是对所述搜索查询的第一匹配;确定具有分配到所述第一角色和所述第三角色的所述单词的第二电子文档是对所述 搜索查询的第二匹配;以及将所述第二电子文档排名为与所述第一电子文档相比对所述搜索查询更好的匹配,因 为所述第二电子文档具有使用被分配到所述搜索查询中的所述单词的相同角色的角色的 所述单词。
4. 如权利要求2所述的方法,其特征在于,所述方法还包括确定与所述索引中的条目相关联的至少两个文档包含与所述第一角色或所述第三角 色相关联的所述单词;以及向包含与被分配到所述搜索查询中的所述单词的相同角色中的更多个相关联的所述 单词的文档分配较高排名。
5. 如权利要求1所述的介质,其特征在于,使用角色分层结构分配所述第二角色,其中 所述角色分层结构包括角色的分层结构,包括通用的根角色以及比所述根角色更具体的至 少一层子角色。
6. 如权利要求1所述的介质,其特征在于,将所述单词与所述第一角色和所述第二角 色一起存储包括在所述索引中创建包括所述单词和所述第一角色的第一项并在所述索引 中创建包括所述单词和所述第二角色的第二项。
7. 如权利要求1所述的介质,其特征在于,将所述单词与所述第一角色和所述第二角 色一起存储包括在所述索引中创建包括所述单词和所述第一角色以及所述第二角色的项。
8. —种用于将搜索查询匹配到一个或多个文档内的文本的计算机化系统,所述系统包括用于以下功能的第一语义解释组件250(1) 向所述搜索查询中的单词分配主要角色;(2) 使用角色分层结构向来自所述搜索查询具有所述主要角色的至少一个单词分配附 加角色;用于确定在索引中引用的至少一个文档包括来自搜索查询的单词的匹配组件265,其中向所述至少一个文档中的单词以及所述搜索查询中的单词分配所述相同角色中的至少 一个。
9. 如权利要求8所述的计算机化系统,其特征在于,还包括用于演示描述所述至少一 个文档的信息的演示组件。
10. 如权利要求8所述的计算机化系统,其特征在于,所述第一语义解释组件通过将所 述搜索查询中的一个或多个单词的同义词和上位词中的至少一个添加到搜索项的列表来 生成对所述索引搜索的附加单词,其中搜索项包括单个单词和相关联的角色,且其中所述 同义词和所述上位词形成具有被分配到所述同义词和所述上位词对其是同义词和上位词 的一个或多个单词的角色的搜索项。
11. 如权利要求8所述的计算机化系统,其特征在于,还包括用于对一个或多个文档排 名的排名组件,其中在所述搜索查询中的被分配超过一个角色的所述单词具有与在所述索 引中出现的所述单词共同的多个角色时给予较高排名。
12. 如权利要求8所述的计算机化系统,其特征在于,还包括 用于以下功能的第二语义解释组件(1) 接收作为文档的一部分的句子;(2) 向句子中的单词分配主要角色;(3) 使用所述角色分层结构向所述句子中具有所述主要角色的至少一个单词分配至少 一个附加角色;以及用于将所述句子中的所述单词与被分配到所述句子中的单词的所述至少一个角色一 起存储在所述索引中的索引组件,所述索引将所述句子中的单词和所述句子与所述文档相 关联。
13. 如权利要求12所述的计算机化系统,其特征在于,所述索引组件索引包括单个单 词和被分配的角色的项中的所述单词和所述角色,其中每一项包括一个单词和一个角色。
14. 如权利要求12所述的计算机化系统,其特征在于,所述索引组件索引包括单个单 词和被分配的角色的项中的所述单词和所述角色,其中每一项包括一个单词和至少一个角 色,进而允许在单个项中包括多个角色。
15. —个或多个其上包含用于执行使用角色分层结构来索引文档内容的方法的计算机 可执行指令的计算机存储介质,所述方法包括接收910作为文档的一部分的句子; 向所述句子中的单词分配915角色;使用所述角色分层结构向所述单词分配920至少一个附加角色,其中所述角色分层结 构包括角色的分层结构,包括通用的根角色以及比所述根角色更具体的至少一层子角色, 进而向至少一个单词分配至少两个角色,以及将所述单词与被分配到各个单词的一个或多个角色一起存储925在将所述单词和所述句子与所述文档相关联的索引中。
16. 如权利要求15所述的介质,其特征在于,存储所述单词和所述角色包括生成包括单词和被分配的角色的项,其中每一项包括一个单词和一个角色。
17. 如权利要求15所述的介质,其特征在于,存储所述单词和所述角色包括生成包括 单词和被分配的角色的项,其中每一项包括一个单词和至少一个角色,进而允许在单个项 中包括多个角色。
18. 如权利要求15所述的方法,其特征在于,所述方法还包括 接收包含多个单词的自然语言搜索查询; 向所述多个单词中的单词分配主要角色;使用角色分层结构向所述多个单词中的至少一个单词分配至少一个附加角色;以及 确定在所述索引中被引用的一个或多个文档具有所述多个单词中被分配到所述相同 角色中的一个或多个的至少一个单词。
19. 如权利要求18所述的方法,其特征在于,所述方法还包括对所述一个或多个文档排名,其中给予具有更匹配单词和角色的文档较高排名,且其 中向所述多个单词中与多个角色相关联的、具有与所述单词在所述索引中出现的较多共同 角色的单词给予较多排名点。
20. 如权利要求19所述的介质,其特征在于,所述方法还包括根据被分配到所述一个 或多个文档中的每一个的排名显示所述一个或多个文档。
全文摘要
提供用于寻找数据存储中匹配由用户提交的自然语言查询的文档的方法、系统以及计算机可读介质。通过确定查询内的单词彼此具有与文档中的相同单词相同的关系来匹配文档和查询。对文档进行语义分析且索引文档中的单词连同该单词在句子中扮演的角色。可使用角色分层结构来生成初始语义角色并将其连同原始角色一起存储在索引中。可将类似分析用于搜索查询以寻找在查询和文档两者中按相同角色使用的单词。
文档编号G06F17/27GK101796510SQ200880105548
公开日2010年8月4日 申请日期2008年9月2日 优先权日2007年8月31日
发明者C·P·沃尔特斯, G·L·蒂奥内, M·H·范登伯格, R·S·克鲁奇 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1