对在线问题的自动回答的制作方法

文档序号:6484572阅读:221来源:国知局
对在线问题的自动回答的制作方法
【专利摘要】用于提供对问题的自动回答的方法、系统和装置。在一个方面中,方法包括从客户端接收问题,并且对第一储存库查询对应于该问题的回答。如果从第一储存库没有返回结果,则该方法将该问题解析成关键词集,并且对第二储存库查询对应于该关键词集的回答,以及根据排名标准对从第一储存库或第二储存库返回的回答进行排序,并且最后向客户端提供排序的回答的至少子集。
【专利说明】对在线问题的自动回答
【背景技术】
[0001]本公开涉及自动提供对通过网络提供的问题的回答,以及具体地涉及根据通过网络提供的现有回答提供对问题的回答。
[0002]在因特网上的即时聊天和电子布告栏系统(BBS)发帖已在因特网中变得广泛。许多用户将聊天工具或在线电子布告栏用作为与其他用户社交并且通信信息的方式。可以在这些在线工具的不同用户之间迅速交换信息。另外,搜索引擎还通过提供引用在Web上可用的资源的搜索结果来帮助人们找到他们想要的信息。
[0003]尽管有这些许多不同的工具和格式,用户仍然可能没有接收到对其问题的回答、或可能没有以及时方式接收到回答。例如,对于特定问题,用户可以在在线聊天室中对问题进行发帖并且等待看该聊天室中的任何其他人是否提供对该问题的回答。用户还可以将问题发帖到电子布告栏并且在数小时或数天后回来看是否任何人已发帖了对该问题的回答。同样地,用户还可以向搜索引擎提交查询,并且查阅搜索结果和搜索结果引用的网页,以试图搜集对问题的任何有价值的信息。类似地,用户可以向询问用户问题并且提供其他人发帖的对问题的回答的专用在线平台提交回答。
[0004]这些平台允许用户对问题进行发帖并且从不同背景的宽泛用户群接收响应。然而,如果其他用户尚未提供类似问题,则用户典型地并不以及时方式接收回答。

【发明内容】

[0005]总的来说,在本说明书中描述的主题的一个创新方面涉及提供对问题的自动回答的方法。该方法可以包括从客户端接收问题,并且对第一储存库查询对应于该问题的回答。如果从第一储存库没有返回结果,则该方法将该问题解析成关键词集,并且对第二储存库查询对应于该关键词集的回答。该方法根据排名标准对从第一储存库或第二储存库返回的回答进行排序,并且向客户端提供排序的回答的至少子集。替选地,将问题解析成关键词集并且对第二储存库查询对应于该关键词集的回答的步骤可以与查询第一储存库的步骤同时发生。
[0006]在另一个方面中,该方法可以进一步包括通过以下的至少一个使接收的问题规范化的步骤:移除多余的词;校正拼写错误;移除不必要的标点符号;校正不正确的标点符号;以及移除多余的空格。
[0007]这些方面中的每一个的其他实施例可以包括对应的系统、装置和记录在计算机存储设备上的计算机程序,其每一个被配置成执行这些方法的动作。
[0008]在附图和下面的描述中阐述了一个或多个实施例的细节。根据描述和附图以及权利要求,其他的特征、目的和优势将是显而易见的。
【专利附图】

【附图说明】
[0009]图1是用于提供对在线问题的自动回答的系统的图。
[0010]图2是图示对用于存储问题回答对和关键词集回答对的数据储存库的创建和维护的流程图。
[0011]图3A-3B是问题回答对和关键词集回答对的示例性储存库。
[0012]图4是图示提供对在线问题的回答的过程的流程图。
[0013]在各附图中相同的参考符号指示相同的元素。
【具体实施方式】
[0014]图1是提供对在线问题的自动回答的系统的图。在该系统中,客户端101可以是桌面应用或呈现用于在线聊天的web应用的web浏览器。该web浏览器或桌面应用从登录用户接收输入,并且将该输入作为消息通信给另一个用户或将该消息广播给登录入同一服务的用户组。客户端还可以是向用户供给与其他用户的异步交互的电子布告栏应用。替选地,客户端101还可以是接受来自用户的问题并且提供对问题的回答的web门户接口。
[0015]服务器111位于另一个网络位置处并且通过其处理器115处理来自客户端101的请求。文档语料库114、第一储存库112和第二储存库113与服务器111数据通信。文档语料库114是搜索引擎通过因特网爬取的文档集合。第一储存库112存储问题以及其对应的回答,而第二储存库113被配置成存储从特定问题获取的关键词集以及对应于问题的回答。
[0016]在一些实施方式中,服务器111在其存储器116中包括储存库维护模块117和问题处理模块118。问题处理模块118对来自客户端101的与特定问题有关的请求进行处理。储存库维护模块117通过从文档语料库114提取问题和回答数据,对第一储存库112和第二储存库113中的数据进行维护和更新。
[0017]在替选实施方式中,可以将储存库维护模块117部署在独立于服务器111的服务器上。在该独立服务器上的储存库维护模块117与第一储存库113和第二储存库114进行通信,并且周期性或持续使用从文档语料库114获取的新的问题和回答数据来对两个储存库中的数据进行更新。
[0018]替选地,第一储存库112和第二储存库113以及文档语料库114可以位于不同的网络位置处,并且例如通过诸如LAN或因特网的网络与托管储存库维护模块117的服务器进行通信。
[0019]图2是图示对用于存储问题回答对和关键词集回答对的数据储存库的创建和维护的流程图。储存库维护模块117,例如,运行用于维护在两个储存库中的问题回答对和关键词集对的数据的程序,负责从文档语料库114识别问题-回答对。文档语料库可以包括已由搜索引擎爬取并且被存储在索引数据库中的聊天室消息的可用记录文件、网页的内容等。如在此所使用的,用语“聊天室记录文件”包括聊天室记录、记录被存储在其上的网页、以及通过聊天会话提供的数据被存储的其他文件和存储方案。文档语料库114还可以是接收各种用户提交的内容的数据存储。储存库维护模块117可以持续或周期性对文档语料库114查询任何新近添加的数据,并且对这些数据进行分析来识别用户所提交的问题以及其可能的回答。
[0020]在一些实施方式中,移除用户的个人识别信息以处理回答,以使问题和对应的回答与用户没有关联。例如,在存储或使用问题和回答之前,可以以一个或多个方式使问题和回答匿名,以使移除个人可识别的信息。同样地,可以使用户的身份匿名,以使不能为用户确定个人可识别的信息,并且使用户问题或回答的任何可识别信息一般化(例如,基于用户人口特征来一般化),而不是与特定用户相关联。可以使获取了位置信息的用户的地理位置一般化(诸如到城市、邮编或州/省份级),以使不能确定用户的特定位置。
[0021]下面的示例说明了对数据储存库的创建和维护。假设用户已在在线聊天室中输入了问题“where is world exposition20IOheId?(在哪里举行世界博览会2010 ?)”,并且其他人已给出了回答“Shanghai (上海)”,以及搜索引擎已爬取了整个对话的内容。储存库维护模块117可以通过使用一个或多个文本分析例程和/或语言分析例程来识别问题和回答。例如,储存库维护模块117可以通过辨识问号“? ”或关键词“where (在哪里)”来识别问题,并且将例如来自另一个用户的在该问题之后的紧邻消息确定为对该问题的回答。储存库维护模块117还可以使用字段分类,诸如“Q”和“A”分类符,例如“Q:where isworldexposition2010held?” 和 “A:Shanghai”。
[0022]在一些实施方式中,可以从现有web文档进一步爬取问题回答对。Web文档可以包括如“问题”和“回答”这样的独特关键词、或诸如字母“Q”和“A”的更简单的分类符。在一个示例中,储存库维护模块117为潜在问题回答对对web文档进行解析。当识别了后紧跟冒号的关键词“问题”的存在时,其可以确定在该关键词之后的文本实际上是问题。其将在冒号之后、直到问号或句号,例如句点等的第一出现为止的文本存储为潜在问题。
[0023]储存库维护模块117对文档进一步解析来识别文本串“回答:”的紧接第一出现、读取在该字符串之后直到第一句号为止的文本、并且将该文本存储为对问题的回答。在一些实施方式中,计算在问题的结束直到回答的开始为止之间的距离。如果发现该距离超过阈值,诸如50或100个字符、或如果从没识别字符串“回答:”,则模块117将先前读取的问题丢弃作为无效,并且前进到为可能的字符串“问题:”和“回答:”对,对web文档中的剩余文本进行解析。
[0024]在一 些实施方式中,为了保持所识别的问题和回答相对简短扼要,将所识别的问题以及其对应的回答的长度限制在最大长度。例如,如果问题包含大于50个字符(或词)、或如果回答包含大于30个字符(或词),则将丢弃问题和回答对。
[0025]在进一步实施方式中,为了记录对特定问题的不同回答以及其相应排名,可以以下述形式的结构存储所提取的回答:
[0026]struct value {
[0027]string answer;
[0028]int count;
[0029]}
[0030]其中参数“answer”存储回答的文本,以及参数“count”示出值“answer”已被储存库维护模块117识别的次数。可以将该计数作为对问题的该特定回答的排名或分值对待。在一些实施方式中,被确定为相似的两个回答的文本可以由字符串中的一个表示。例如,可以忽略连字符,数字拼写和数字可以被认为是相同的等。
[0031]可以利用各种其他技术来识别问题以及其对应的回答。
[0032]诸如上述的,使用特定技术从文档语料库识别的问题和回答可以是不恰当识别的问题和回答对。不恰当识别的问题和回答对是不满足一个或多个预定义标准或置信阈值的文本。可以利用各种技术来识别不恰当的问题回答对并且将其排除在储存库之外。例如,可以排除包括垃圾词语、不能被解析、看起来是随机词或字符等的问题或回答。另外,在预先确定的时段内具有低于阈值的低分值的对也可以被认为是不恰当的回答对,因为该回答可能是不准确的。系统可以通过使用这些示例错误处理技术来容忍第一储存库112或第二储存库113中的不恰当或不准确的问题和回答信息。
[0033]在一些实施方式中,所辨识的问题和回答可以在被存储在两个储存库中之前进一步经受规范化过程以规范化。这样的规范化包括从问题或回答的句子移除多余的词;校正任何拼写错误;移除不必要的标点符号;校正不正确的标点符号;移除多余的空格等。例如,如所获取的原始问题可以是“where is world exxposition2010held?”,其中“exxposition”具有拼写错误,并且在“2010”和“held”之间存在多余空格。规范化过程可以识别该问题中的这样的键入错误,并且将问题自动校正成“where is worldexposition2010held?” 的规范形式。
[0034]类似地,可以使用上面的规范化过程从对应于问题的回答移除这样的明显键入错误。校正的回答因此更可能被映射到储存库中的现有问题和回答对。
[0035]另外,当储存库维护模块117将新的问题和回答对映射到现有问题和回答对时,储存库维护模块117为储存库中的现有对增加分值。该分值指示问题和回答对的置信度或质量,以及分值的增加指示置信度或质量的增加(例如,问题和回答对的准确性的增加)。
[0036]例如,在问题回答对已被识别之后,在步骤202,储存库维护模块117可以将该对添加到第一储存库112。储存库维护模块117首先通过对储存库查询具有该问题和回答的条目,来确定该问题回答对是否已存在于第一储存库112中。可以通过文本的精确匹配(或规范化文本的精确匹配)来作出问题回答对是否已存在于第一储存库112中的确定。如果这样的对被确定存在于第一储存库112中,则在第一储存库112中通过使该条目的分值增加I (或取决于所使用的评分方案,一些其他的增值)来完成添加过程。如果发现在第一储存库112中不存在这样的条目(例如,在储存库112中不存在新近识别的对与现有对的匹配),则将该问题和回答对的新`条目添加到储存库,并且为该条目存储初始分值(例如,用于所使用的特定评分方案的单位值或最小值)。
[0037]也可以使用其他评分技术。例如,在第一储存库中的问题回答对的分值可以是基于一些其他参数的加权分值,所述参数诸如从之提取问题回答对的源的受欢迎度。可以给予从受欢迎的知识库提取的问题回答对比从不那么受欢迎的知识库提取的那些更高的分值。例如,问题回答对的分值是至少受相同问题回答对被包括入第一储存库112中的频率和相同问题回答对的各种源的受欢迎度影响的累积分值,因此,反映了在第一储存库112中的问题回答对自身的受欢迎度。
[0038]在将问题回答对添加到第一储存库112的步骤之后,在将关键词集添加到第二储存库113之前,在步骤203,将对问题进行解析来获取关键词集。在一些实施方式中,解析问题的步骤包括使用与编写问题的语言相对应的语言模型来将问题分割成词集。例如,对于“土豆是‘增肥’还是‘减肥’ ? ” (Is potato fattening or not?)的问题,该问题将被识别为用中文编写,并且使用中文语言模型被进一步处理来获取该问题的句子结构,从而将该问题分割成包括主语、动词、谓语部分、连词等的词集。
[0039]在一些实施方式中,可以通过使用特定搜索引擎的搜索词语集合来进一步协助将问题分割成语言结构(例如,词、短语等),从而识别最近已变得受欢迎但是不可能仅由对问题的语言或语义分析识别的任何新的词或短语。在上面的示例中,词语“增肥”可能在特定词典中没有被正确辨识为辨识的词,但是可以通过将该词与搜索词语集合相比较来识别。该搜索词语集合可以由搜索引擎维护,对于其,部分搜索词语是新近创造的词。
[0040]进一步,可以从如此获取的词列表移除在该语言中最常出现并且没有提供关于问题的性质的特定信息的某些停用词。剩余的词因此形成待被添加到第二储存库113的关键词集。
[0041]在一些实施方式中,在将如此获取的关键词集添加到第二储存库113之前,可以确定该关键词集的大小并且将其与预先确定的阈值进行比较。例如,如果该集的大小小于歧义阈值(例如,三个词、四个词等),则不将从问题得到的关键词集以及其对应的回答添加到第二储存库113,因为,可以通过将上面过程用于在语言上不同于该问题的另一个问题来获取相同的关键词集。这减少了在用户输入问题但是得到与不同的问题相对应的回答,因为如从输入的问题获取的关键词集与存储在第二储存库113中的不同问题的关键词集相同的情况下,可能不准确的回答的可能性。
[0042]如果如在上面所获取的关键词集的大小被确定成高于阈值(步骤204),则将问题的关键词集和对应于该问题的回答添加到第二储存库113 (步骤205)。将关键词集和回答对添加到第二储存库113的特定步骤与如上所述将问题和回答对添加到第一储存库的那些类似。
[0043]还可以使用关键词解析来确定问题是否存在于储存库中。在这些实施方式中,首先对问题进行解析,然后对储存库搜索精确匹配或关键词匹配。
[0044]图3A-3B是被添加到第一储存库112和第二储存库113的问题回答对和关键词集回答对的示例性储存库。图3A是在第一储存库112中的示例数据的表。在该表中,当确定另一个问题是否与在该列中的这些问题中的一个相同,例如精确匹配时,可以整体使用作为文本字符串的问题。
[0045]图3B是在第二储存库11`3中的示例数据的表。在该表中,列“关键词集”包括在每一个条目的关键词列表。通过使用分号来界定不同的关键词。在关键词之间的定界符替选地可以是冒号、表格空格等。在确定输入问题的关键词集是否与存储在第二储存库113中的关键词集中的一个相同时,可以将输入问题的关键词集中的每一个关键词与该储存库中的现有关键词集中的每一个关键词进行比较,来看存在该关键词的精确匹配。在一些实施方式中,仅当两个关键词集具有完全相同的关键词集,而不管列出这些关键词的顺序时,这两个关键词集才相匹配。例如,考虑输入问题是“world exposition2010, whereis it held?”。该问题的关键词集可以是“world exposition;where;held”,其将被确定为与从问题 “where is the world expos it ion20 IOhe Id?” 得到的关键词集 “where; worldexposition; held,,相同。
[0046]还可以使用其他匹配标准,例如其中可以将关键词替代为另一个词(将“shoes”替代为“sneakers”)的广泛匹配、短语匹配等。
[0047]还可以为在第一储存库112和第二储存库113两者中的相应问题回答对或关键词集回答对的每一个条目维护其他属性。这些属性可以是最近添加问题回答对或关键词集回答对的时间、在最近过去,例如在过去六个月,添加问题回答对或关键词集回答对的频率等。当试图为问题获取回答时,该信息可以用于为问题回答对或关键词集回答对的受欢迎度赋予权重。
[0048]可以对分别将问题回答对和关键词集回答对添加到两个储存库的上面步骤执行替选顺序。
[0049]图4是图示提供对在线问题的回答的过程的流程图。在步骤401,问题从用户(请求者)被接收并且通过诸如聊天应用的客户端被提交。在一些实施方式中,在客户端上提供了控件以供用户为在储存库中为匹配的问题存储的答复(回答)向特定服务器提交问题。例如,当用户正在聊天室中与其他用户组聊天并且输入了问题“where is theexposition2010held?”时,用户可以点击在其界面上的、将该消息发送给实现上述模块的服务器以供处理的控件,而不是将该问题发送给用户组。替选地,用户可以将问题输入到网页上的文本域中,并且通过web接口将该问题提交给服务器。
[0050]在服务器处接收问题之后,在步骤402,问题处理模块118可以前进到确定在第一储存库112中是否已存在相同的问题。如果在第一储存库112中存在具有相同问题的一个或多个条目,则检索这些条目的每一个中的对应回答以供进一步处理。在一些实施方式中,在将从客户端接收的问题用于查询第一储存库112之前对该问题进一步规范化。该规范化过程可以包括如在上面指定的,从问题的句子移除多余的词;校正任何拼写错误;移除不必要的标点符号;校正不正确的标点符号;移除多余的空格等。
[0051]如果在第一储存库112中不能找到带有与所接收的问题相同的问题的条目(例如,没有为该问题返回结果),则问题处理模块118可以对所接收的问题进行解析来获取对应于该问题的关键词集(步骤 404)。除将所获取的关键词集的大小与歧义阈值进行比较外,该解析步骤可以与在图2中的步骤203中所述的类似(例如,使用与编写问题的语言相对应的语言模型,以及可选地使用搜索引擎所收集的搜索词语将回答分割成词集)。将所接收的问题的关键词集用作为查询第二储存库113的键。如果在第二储存库113中存在在列“关键词”中具有相同的关键词集的一个或多个条目、或另外与足够的置信度相匹配,则检索在列“回答”中的其对应回答并且将其返回给问题处理模块118 (步骤404)。
[0052]在步骤405,从第一储存库112或第二储存库113检索到的所接收的问题的回答,如果有的话,根据这些回答的相应分值来排序。替选地,在为结果中的回答中的每一个确定排名分值时,可以使用其他信息,诸如最近添加问题回答对或关键词集回答对的时间、在过去六个月添加问题回答对或关键词集回答对的频率。
[0053]最后,在步骤406,问题处理模块118将所接收的问题的排序的回答集发送给问题通过诸如因特网的网络源起的客户端101。在一些实施方式中,根据从发出请求的客户端101与问题一起接收的参数值,仅将排名最高的、所要求数量的回答发送给发出请求的客户端101。例如,发出请求的客户端101可能仅请求对所提交的问题的一个回答。在这种情况下,问题处理模块118将挑选最高排名的回答,并且将其发送给客户端101。
[0054]在替选实施方式中,可以在步骤402对第一储存库112查询问题的任何回答之前执行在从发出请求的客户端接收问题之后将该问题解析成关键词集的步骤。替选地,可以与查询第一储存库的步骤同时执行解析步骤和查询第二储存库113的步骤,以节省以顺序地查询两个储存库对所接收的问题进行处理的额外等待时间。
[0055]在该实施方式的变体中,即使找到第一储存库中的匹配,也可以查询两个储存库。因此,在该实施方式中,可以返回来自两个储存库的回答,并且从两者为其相应查询返回结果。对两个过程的同时执行可以通过利用诸如多任务中的线程的编程技术来实现。
[0056]在本说明书中所述的主题和功能操作的实施例可以以数字电子电路、以有形实现的计算机软件或固件、以硬件,包括在本说明书中公开的结构以及其结构等价物、或以它们中的一个或多个的组合来实现。可以将在本说明书中所述的主题的实施例实现为一个或多个计算机程序,即编码在计算机存储介质上、供数据处理装置执行或控制数据处理装置的操作的一个或多个计算机程序指令模块。替选地或另外,程序指令可以被编码在传播信号上,该传播信号是非自然生成的信号,例如机器生成的电的、光学或电磁信号,其被生成以编码用于传输到适当接收器装置以供数据处理装置执行的信息。计算机存储介质可以是机器可读存储设备、机器可读存储基片、随机或串行存取存储器设备、或以上的一个或多个的组合。
[0057]用语“数据处理装置”包含用于处理数据的所有类型的装置、设备以及机器,包括例如可编程处理器、计算机或多个处理器或计算机。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC (专用集成电路)。除硬件外,所述装置还可以包括为讨论中的计算机程序创建执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统或以上一个或多个的组合的代码。
[0058]计算机程序(其也可以被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、或者说明性或过程性语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。可以将程序存储在保持其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分、专用于讨论中的程序的单个文件或者多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在一个计算机上或者在位于一个地点或跨多个地点分布并且由通信网络互连的多个计算机上执行。
[0059]在本说明书中所述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过操作输入数据并且生成输出来执行功能。所述过程和逻辑流还可以由专用逻辑电路执行,以及装置还可以被实现为专用逻辑电路,专用逻辑电路例如FPGA (现场可编程门阵列)或ASIC (专用集成电路)。
[0060]适于执行计算机程序的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的主要元件是用于执行或施行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备,例如磁的、磁光盘或光盘,或可操作地耦接以从所述一个或多个海量存储设备接收数据或向所述一个或多个海量存储设备传送数据,或两者。然而,计算机不必具有这样的设备。此外,可以将计算机嵌入另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅列出一些。
[0061]适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充,或合并入专用逻辑电路。
[0062]为了提供与用户的交互,本说明书中所述的主题的实施例可以在具有下述的计算机上实现:用于向用户显示信息的显示设备,例如CRT (阴极射线管)或IXD (液晶显示)监视器;以及,用户通过其可以向计算机提供输入的键盘和指示设备,例如鼠标或跟踪球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感知反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式,包括声学、话音或触觉输入,接收来自用户的输入。另外,计算机可以通过向用户所使用的设备发送文档并且从该设备接收文档来与用户交互;例如,通过响应于从用户的客户端上的web浏览器接收的请求而向该web浏览器发送网页。
[0063]虽然本说明书包含许多【具体实施方式】细节,但是这些细节不应当被解释为对任何发明或可以主张的内容的范围的限制,而应当被解释为对可以具体到特定发明的特定实施例的特征的描述。还可以将在本说明书中在分离的实施例的情境中描述的某些特征组合在单个实施例中实现。相反地,也可以将在单个实施例的情境中描述的各种特征分离地在多个实施例中实现或在任何适当的子组合中实现。此外,尽管可能在上面将特征描述为在某些组合中起作用,甚至最初主张如此,但是可以在一些情况下,将来自所主张的组合的一个或多个特征从该组合中删去,并且所主张的组合可以针对子组合或子组合的变体。
[0064]类似地,虽然在附图中按照特定顺序描绘了操作,但是不应当将这理解为需要按照所示的特定顺序或按照连续顺序执行这样的操作、或者需要执行所有图示的操作才能达到期望的结果。在某些情况下,多任务以及并行处理可以是有利的。此外,不应当将在上述实施例中的各种系统组件的分离理解为在所有实施例中均需要这样的分离,而应当理解的是,通常可以将所述程序组件和系统集成到一起成为单个软件产品或封装为多个软件产品O
[0065]已描述了本主题的特定实施例。其他实施例在所附权利要求的范围内。例如,可以按照不同的顺序来执行权利要求中记载的动作并且仍然达到期望的结果。作为一个示例,在附图中描绘的过程不必需要所示的特定顺序或连续顺序,才能达到期望的结果。在某些实施方式中,多任务以及并行处理可以是有利的。
【权利要求】
1.一种提供对问题的自动回答的计算机实现的方法,包括: 从客户端接收定义问题的数据,所述问题包括多个词; 对第一储存库查询对应于所述问题的回答,所述第一储存库存储问题回答对,所述问题回答对中的每一个具有与其受欢迎度相对应的相应分值; 将所述问题解析成关键词集,并且对第二储存库查询对应于所述关键词集的回答,所述第二储存库存储关键词集回答对,所述关键词集回答对中的每一个具有与其受欢迎度相对应的相应分值; 根据排名标准对从所述第一储存库或所述第二储存库返回的所述回答进行排序;以及 向所述客户端提供所排序的回答的至少子集。
2.根据权利要求1所述的方法,进一步包括通过以下的至少一个步骤对所接收的问题进行规范化:移除多余的词;校正拼写错误;移除不必要的标点符号;校正不正确的标点符号;以及移除多余的空格。
3.根据权利要求1所述的方法,其中将所述问题解析成关键词集包括: 使用与编写所述问题的语言相对应的语言模型将所述问题分割成词集;以及 从所述词集移除停用词。
4.根据权利要求3所述的方法,其中通过以下步骤来精化分割所述问题的步骤:将所述问题的至少部分与搜索词语集合进行比较。
5.根据权利要求1所述的方法,其中提供所排序的回答的至少子集包括向所述客户端提供具有最高排名的所述回答`。
6.根据权利要求1所述的方法,其中所述客户端包括以下的至少一个:聊天室应用、电子布告栏应用以及到搜索引擎的客户端接口。
7.根据权利要求1所述的方法,其中将所述问题解析成关键词集以及对第二储存库查询对应于所述关键词集的回答与查询所述第一储存库同时发生。
8.根据权利要求1所述的方法,其中将所述问题解析成关键词集以及对第二储存库查询对应于所述关键词集的回答仅当响应于对所述第一储存库的所述查询而没有接收到回答时才发生。
9.一种提供对问题的自动回答的系统,包括: 第一储存库,其存储问题回答对,所述问题回答对中的每一个具有与其受欢迎度相对应的相应分值; 第二储存库,其存储关键词集回答对,所述关键词集回答对中的每一个具有与其受欢迎度相对应的相应分值; 问题处理模块,其被配置成: 从客户端接收定义问题的数据,所述问题包括多个词; 对所述第一储存库查询对应于所述问题的回答; 将所述问题解析成关键词集,并且对所述第二储存库查询对应于所述关键词集的回答; 根据排名标准对从所述第一储存库或所述第二储存库返回的所述回答进行排序; 向所述客户端提供所排序的回答的至少子集以供展现。
10.根据权利要求9所述的系统,其中所述问题处理模块被进一步配置成通过以下的至少一个步骤对所接收的问题进行规范化:移除多余的词;校正拼写错误;移除不必要的标点符号;校正不正确的标点符号;以及移除多余的空格。
11.根据权利要求9所述的系统,其中将所述问题解析成关键词集的步骤至少包括: 使用与编写所述问题的语言相对应的语言模型将所述问题分割成词集;以及 从所述词集移除停用词。
12.根据权利要求11所述的系统,其中通过以下步骤来精化分割所述问题的步骤:将所述问题的至少部分与搜索词语集合进行比较。
13.根据权利要求9所述的系统,其中将所述问题解析成关键词集以及对第二储存库查询对应于所述关键词集的回答与查询所述第一储存库的步骤同时发生。
14.根据权利要求9所述的系统,其中将所述问题解析成关键词集以及对第二储存库查询对应于所述关键词集的回答仅当响应于对所述第一储存库的所述查询而没有接收到回答时才发生。
15.根据权利要求9所述的系统,进一步包括用于维护所述第一和第二储存库的储存库维护模块,所述储存库维护模块被配置成: 从在文档语料库之中的文档识别问题-回答对,其中所述回答被映射到所述问题; 将所述问题-回答对添加到所述第一储存库; 解析在所述问题-回答对中的所述问题来获取关键词集;以及 将所述关键词集和所述回答添加到所述第二储存库。
16.根据权利要求15所述的系统,其中所述关键词和所述回答仅在所述关键词集的大小高于阈值时才被添加到所述第二储存库。
17.根据权利要求16所述的系统,其中在所述文档中的所识别的问题-回答对的所述问题的结束和所述回答的开始之间的距离在第一预先确定的阈值内。
18.根据权利要求16或17所述的系统,其中在所识别的问题-回答对中的所述问题的长度在第二预先确定的阈值内,以及所识别的问题-回答对中的所述回答的长度在第三阈值内。
19.根据权利要求15所述的系统,其中将所述问题-回答对添加到所述第一储存库包括: 确定所述问题-回答对是否已存在于所述第一储存库中; 如果所述问题-回答对已存在于所述第一储存库中,则增加所述问题-回答对在所述第一储存库中的排名、或如果所述问题-回答对不存在于所述第一储存库中,则将所述问题-回答对的新条目存储在所述第一储存库中,并且为所述对初始化排名。
20.根据权利要求15所述的系统,其中在索引系统中将所述关键词集和所述回答添加到所述第二储存库包括: 确定所述关键词集和所述回答的对是否已存在于所述第二储存库中; 如果所述关键词集和所述回答的所述对已存在于所述第二储存库中,则增加所述对在所述第二储存库中的排名;或 如果所述关键词集和所述回答的所述对不存在于所述第二储存库中,则将所述关键词集和所述回答的所述对的新条目存储在所述第二储存库中,并且为所述对初始化排名。
21.根据权利要求15所述的系统,其中所述文档语料库包括聊天室记录、电子布告栏数据以及网页。
22.根据权利要求15所述的系统,其中识别问题-回答对的步骤包括通过以下的至少一个步骤对所述对中的所述问题和回答进行规范化:移除多余的词;校正拼写错误;移除不必要的标点符号;校正不正确的标点符号;移除多余的空格。
23.—种计算机实现的方法,包括: 从在文档语料库之中的文档识别问题-回答对,其中所述回答被映射到所述问题; 将所述问题-回答对添加到第一储存库; 解析在所述问题-回答对中的所述问题来获取关键词集; 将所述关键词集与所述回答相关联;以及 将所述关键词集和所述回答添加到第二储存库。
24.根据权利要求23所述的方法,其中所述关键词和所述回答仅在所述关键词集的大小高于阈值时才被添加到所述第二储存库。
25.根据权利要求23所述的方法,其中从在文档语料库之中的文档识别问题-回答对包括仅当在所述文档中的所述问题的结束和所述回答的开始之间的距离在第一预先确定的阈值内时才仅识别所述问题-回答对。
26.根据权利要求25所述的方法,其中从在文档语料库之中的文档识别问题-回答对包括仅在所述问题的长度在第二预先确定的阈值内时才识别所述问题,以及仅在所识别的问题-回答对的所述回答的长度在第三阈值内时才识别所述回答。
27.根据权利要求23所述的方法,其中将所述问题-回答对添加到所述第一储存库包括: 确定所述问题-回答对是否已存在于所述第一储存库中; 如果所述问题-回答对已存在于所述第一储存库中,则增加所述问题-回答对在所述第一储存库中的排名;以及 如果所述问题-回答对不存在于所述第一储存库中,则将所述问题-回答对的新条目存储在所述第一储存库中,并且为所述对初始化排名。
28.根据权利要求23所述的方法,其中在索引系统中将所述关键词集和所述回答添加到所述第二储存库包括: 确定所述关键词集和所述回答的对是否已存在于所述第二储存库中; 如果所述关键词集和所述回答的所述对已存在于所述第二储存库中,则增加所述对在所述第二储存库中的排名;以及 如果所述关键词集和所述回答的所述对不存在于所述第二储存库中,则将所述关键词集和所述回答的所述对的新条目存储在所述第二储存库中,并且为所述对初始化排名。
29.根据权利要求23所述的方法,其中所述文档语料库包括聊天室消息、电子布告栏消息和网页。
【文档编号】G06F17/30GK103493045SQ201180069249
【公开日】2014年1月1日 申请日期:2011年1月18日 优先权日:2011年1月18日
【发明者】周欣 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1