会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 门,大门和窗户 / 框架 / 问题回答框架

问题回答框架

阅读:97发布:2021-03-01

IPRDB可以提供问题回答框架专利检索,专利查询,专利分析的服务。并且在此描述的是一种便于自动的问题回答的技术。在一个实现中,首先接收到输入问题。可以使用不同的搜索策略来从多种类型的知识数据库搜索多种类型的数据,以生成对输入问题的一个或多个候选答案。评价一个或多个候选答案以生成对输入问题的最终答案。,下面是问题回答框架专利的具体信息内容。

1.一种计算机实现的问题-回答方法,包括:接收输入问题;

确定可用于搜索的一种或多种类型的知识数据库;

如果问题-答案配对的知识数据库可用,则从问题-答案配对的知识数据库搜索问题-答案配对数据,以确定对输入问题的第一候选答案;

如果纯文本知识数据库可用,则从纯文本知识数据库搜索纯文本数据,以确定对输入问题的第二候选答案;

如果资源描述框架RDF知识数据库可用,则从RDF知识数据库搜索RDF数据,以确定对输入问题的第三候选答案;以及评价第一、第二或第三候选答案,以生成对输入问题的最终答案。

2.一种计算机实现的问题-回答方法,包括:接收输入问题;

使用不同的搜索策略从多种类型的知识数据库搜索多种类型的数据,以生成对输入问题的一个或多个候选答案;以及评价一个或多个候选答案以生成对输入问题的最终答案。

3.如权利要求2所述的方法,进一步包括解析输入问题并识别与输入问题关联的一个或多个属性。

4.如权利要求3所述的方法,其中识别一个或多个属性的步骤包括识别问题种类或问题子种类。

5.如权利要求3所述的方法,其中识别一个或多个属性的步骤包括识别期望的答案类型。

6.如权利要求3所述的方法,其中识别一个或多个属性的步骤包括识别焦点。

7.如权利要求3所述的方法,其中识别一个或多个属性的步骤包括识别关键词。

8.如权利要求2所述的方法,其中从多种类型的知识数据库搜索多种类型的数据的步骤包括从至少一个问题-答案配对的知识数据库搜索问题-答案配对数据。

9.如权利要求8所述的方法,其中从问题-答案配对的知识数据库搜索问题-答案配对数据的步骤包括:基于与输入问题关联的一个或多个属性生成查询语句,其中可执行查询语句来执行问题-答案配对数据的全文搜索以生成搜索结果。

10.如权利要求9所述的方法,其中全文搜索包括基于n元算法的模糊搜索。

11.如权利要求9所述的方法,进一步包括对搜索结果排名以确定一个或多个候选答案中的至少一个。

12.如权利要求2所述的方法,其中从多种类型的知识数据库搜索多种类型的数据的步骤包括从至少一个纯文本知识数据库搜索纯文本数据。

13.如权利要求12所述的方法,其中从至少一个纯文本知识数据库搜索纯文本数据的步骤包括:基于与输入问题关联的搜索术语的挖掘设置生成查询语句,其中可执行查询语句来执行纯文本数据的搜索以生成搜索结果。

14.如权利要求13所述的方法,进一步包括通过放宽或缩小搜索标准来重复地改进搜索,直到搜索结果的数目满足预先指定的门限。

15.如权利要求13所述的方法,进一步包括基于搜索结果,使用答案模板构造一个或多个候选答案中的至少一个。

16.如权利要求15所述的方法,进一步包括通过使用机器学习框架来降低候选答案的细节级别。

17.如权利要求2所述的方法,其中从多种类型的知识数据库搜索多种类型的数据的步骤包括从至少一个RDF知识数据库搜索RDF数据。

18.如权利要求2所述的方法,其中评价一个或多个候选答案以生成对输入问题的最终答案的步骤包括:基于一个或多个预定义的试探规则对一个或多个候选答案排名。

19.一种在其上存储了程序代码的非瞬时性计算机可读介质,该程序代码可由计算机执行以:接收输入问题;

使用不同的搜索策略从多种类型的知识数据库搜索多种类型的数据,以生成对输入问题的一个或多个候选答案;以及评价一个或多个候选答案以生成对输入问题的最终答案。

20.一种系统,包括:

非瞬时性存储设备,用于存储计算机可读程序代码;及与存储设备通信的处理器,利用计算机可读程序代码来操作处理器以:接收输入问题;

使用不同的搜索策略从多种类型的知识数据库搜索多种类型的数据,以生成对输入问题的一个或多个候选答案;以及评价一个或多个候选答案以生成对输入问题的最终答案。

说明书全文

问题回答框架

技术领域

[0001] 本公开总体涉及信息检索,并且更具体地,涉及一种问题回答框架。

背景技术

[0002] 科学和技术的快速发展导致了发布信息量的快速增加。已设计问题回答(QA)系统来访问并搜索这样的信息以自动回答人们用自然语言提出的问题。
[0003] 这样的QA系统中的主要难题之一是在各种各样的搜索结果中提供相关的回答。搜索引擎常常返回与问题不相关的大量搜索结果,使得用户困惑并被淹没在无数结果中。
甚至排在顶上的(top ranked)搜索结果也可能与问题本身不相关。在问题较短并且包括具有极其类似于其它不同话题的名称或内容(诸如电影名或者流行歌曲的歌词)的拼写的常用字的情况下,这尤其普遍。
[0004] 存在两种检索不相关的回答的常见原因。第一,问题解析和文本分析中的低精确度可能导致不相关。换言之,QA系统可能没有正确地解释输入问题的意思。QA系统的答案寻找能力的低精确度也可能导致答案中的不相关。
[0005] 此外,在领域特定的QA系统中,答案会受到限制。大部分QA系统仅支持某种领域,并且不支持对知识库的广泛集合的访问。通常,对于具有来自非支持领域的答案的问题,不提供答案。即使可以找到答案,它们也可能不是用户可理解的。大多数情况下,答案可能很长,具有很多定义、原理介绍、参考、相关话题等等,使得用户,尤其学龄儿童难以快速理解。
[0006] 甚至还有,传统QA系统的性能一般是令人不满意的。为了正解地解释人类语言并且从大量知识库提取答案,QA系统通常采用计算昂贵并且常常导致慢检索时间和低精度的广泛数据搜索和深度数据挖掘。
[0007] 因此,需要一种解决上述难题的改进的框架。

发明内容

[0008] 在此描述了一种便于问题-回答的计算机实现的技术。根据技术的一方面,首先接收到输入问题。使用不同的搜索策略来从多种类型的知识数据库搜索多种类型的数据,以生成对输入问题的一个或多个候选答案。评价一个或多个候选答案以生成对输入问题的最终答案。
[0009] 根据另一方面,首先接收到输入问题。然后该技术确定可供搜索的一种或多种类型的知识数据库。如果问题-答案配对知识数据库可用,则搜索来自问题-答案配对知识数据库的知识-答案配对数据,以确定对输入问题的第一候选答案。如果纯文本知识数据库可用,则搜索来自纯文本知识数据库的纯文本数据,以确定对输入问题的第二候选答案。如果资源描述框架(RDF)知识数据库可用,则搜索来自RDF知识数据库的RDF数据,以确定对输入问题的第三候选答案。然后可以评价第一、第二或第三候选答案,以生成对输入问题的最终答案。
[0010] 与在下文中将变得明显的这些和其它优点和特征一起,通过参考下面的详细描述和所附权利要求以及参照附图,可以获得进一步的信息。

附图说明

[0011] 在附图中示出一些实施例,在附图中相似的参考数字指定相似的部分,其中:
[0012] 图1是示出示范性系统的框图;
[0013] 图2是示出示范性架构的框图;
[0014] 图3示出示范性问题-回答方法;
[0015] 图4示出将种类和子种类映射到相应的答案类型的示范性表格;
[0016] 图5a示出包含问题-答案配对数据的示范性表格;
[0017] 图5b示出包含全文搜索结果的示范性表格;
[0018] 图6示出示范性n元模型;
[0019] 图7示出在作记号之后从长段落导出的多个基本单元;
[0020] 图8示出包含用于“谁”问题的问题和答案模板的示范性查询表;以及
[0021] 图9示出示范性资源描述框架数据。

具体实施方式

[0022] 在下面的描述中,为了说明,阐述特定的数字、材料和配置,以便提供对本框架和方法的彻底理解,并且以便满足法定的撰写描述、启动(enablement)和最佳实施例的要求。然而,对一位本领域技术人员来说显然,可以没有特定示范性细节而实践本框架和方法。在其它情况下,省略或简化公知特征以阐明本框架和方法的示范性实现的描述,并且从而更好地解释本框架和方法。此外,为便于理解,将某些方法步骤描绘为单独的步骤;然而,这些单独描绘的步骤不应该被认为是依赖于它们的性能的必须次序。
[0023] 在此描述用于促进问题-回答的技术。技术的一方面提供了一种支持多种类型的知识数据库的问题-回答(QA)框架。知识数据库一般指的是可以收集、组织、共享和/或使用信息的信息储存库。例如,不同类型的知识数据库包括公式化问题-回答配对知识数据库、纯文本知识数据库和资源描述框架(RDF)知识数据库,这些将在下面的描述中更详细地描述。
[0024] 本技术的一方面实现了一种用于每种类型知识数据库的不同的搜索策略。可以结合不同的搜索策略来支持多种类型的知识数据库中的查询,并且响应于该查询提供最相关的答案。这允许用户组合知识数据库,而不用非得合并来自不同类型的知识数据库的数据。使用这样扩展的知识数据库支持,用户可以建立尤其对于特定的领域范围提高答案寻找速率的全面的知识系统。
[0025] 本技术的另一方面提供了一种具有提高的问题识别和答案提取精度的、用于问题配对和答案聚集的改进的方法。使用存储器中技术、并行计算和内置文本分析功能,可以以对用户可接受的高精度和速度来处理更多数据。只有使用这种强大的计算能力,多数据源和无限的领域才是可行的。在下面的描述中将更详细地描述这些和其它优点和方面。
[0026] 在此描述的框架可以被实现为一种方法、计算机控制装置、计算机处理、计算系统,或者作为诸如计算机可用介质的一件制造产品。从下面的描述中这些和各种其它特征将是明显的。
[0027] 图1示出图解可以用来实现在此描述的框架的示范性系统100的框图。系统100可以包括通信地耦接到输入设备102(例如,键盘、触摸板、麦克风、相机等)和输出设备104(例如,显示设备、监视器、打印机、扬声器等)的计算机系统106。计算机系统106还可以包括通信卡或设备116(例如,调制解调器和/或网络适配器),用于使用通信链路130(例如,电话线、无线网络链路、有线网络链路或线缆网络)与网络132交换数据。网络132可以是局域网(LAN)或者广域网(WAN)。计算机系统106可以经由网络132通信地耦接到一个或多个其它计算机系统154。例如,计算机系统106可以充当服务器,并且使用到一个或多个客户端计算机150的逻辑连接在网络环境中操作。客户端计算机150可以包括类似于计算机系统106的部件,并且可以是台式计算机、移动设备、平板计算机、通信设备、基于浏览器的设备等等的形式。
[0028] 计算机系统106包括中央处理单元(CPU)114、输入/输出(I/O)单元110和存储模块112。诸如高速缓存、电源、时钟电路和通信总线的其它支持电路也可以被包括在计算机系统106中。此外,任何上述都可以通过专用集成电路实现,或者被并入其中。计算机系统106的例子包括手持设备、移动设备、个人数字助理(PDA)、工作站、服务器、便携式膝上型计算机、另一种便携式设备、迷你计算机、大型计算机、存储系统、专门数字应用、设备、部件、其它装备或者这些能够以定义的方式响应并执行指令的某种组合。
[0029] 存储模块112可以是任何形式的非瞬时性计算机可读介质,包括但不限于:动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存设备、磁盘、内部硬盘、可移除磁盘、磁光盘、光盘只读存储器(CD-ROM)、任何其它易失性或非易失性存储器或者其组合。
[0030] 存储模块112用来存储机器可执行的指令、数据和用于实现在此描述的技术的各种软件部件,所有这些都可以通过CPU114来处理。因而,计算机系统106是当执行机器可执行指令时成为专用计算机系统的通用计算机系统。可替换地,在此描述的各种技术可以被实现为经由应用服务器120和/或数据服务器125执行的软件产品的一部分。如果需要,每个计算机程序可以用高级过程的或面向对象的编程语言(例如C、C++、Java、来自的高级业务应用编程(ABAPTM)、结构化查询语言(SQL)等等),或者用汇编或机
器语言来实现。该语言可以是编译的或解释的语言。不是意在将机器可执行指令限于任何特定的编程语言及其实现。将理解各种编程语言及其代码可以用来实现在此包含的本公开的教导。
[0031] 在一个实现中,计算机系统106的存储模块112包括应用服务器(或堆栈)120和数据服务器(或堆栈)125。应用服务器(或堆栈)120可以存储QA框架122,其可以使用诸TM如Java、C++、ABAP 等的高级编程语言来编码。其它类型的编程语言也是有用的。QA框架
122可以包括被设计为执行诸如问题解析、答案检索和排名、答案汇编等等的各种数据收集和/或QA处理功能的QA框架的一组函数模块或程序。将在下面的描述中提供这些和其它示范性函数的更多细节。
[0032] 数据服务器(或堆栈)125可以包括数据库管理系统(DBMS)126和数据库129。可以使用诸如SQL或其扩展的数据库查询语言来编码DBMS126。其它类型的编程语言也是有用的。DBMS126可以包括用于定义、管理和处理数据库129的一组程序、函数或过程(例如,HANA自定义过程)。更具体地,DBMS126可以包括索引服务器127和预处理服务器128。索引服务器127提供用于存储和检索与存储在数据库129中的信息关联的查询数据(例如,索引)的数据库功能,而预处理服务器128可以用来分析要被索引服务器127索引的文档。将在下面的描述中提供这些和其它示范性功能的更多细节。
[0033] 在客户端计算机150处的用户可以与用户接口152交互,以经由应用服务器120和DBMS126与数据库129通信。在一个实现中,数据库129是主要依靠用于有效的计算机数据存储的系统主存储器的内存数据库(in-memory database)。更具体地,内存数据库中的数据可以存在于易失性存储器中而不是永久地存储在硬盘驱动上,从而允许以几兆字节每毫秒的速度即时访问和扫描数据。内存数据库129允许无缝访问并实时传输高容量的数据。通过使用多核处理器114结合内存数据库129,可以进一步实现并行处理。内存数据库技术包括诸如SAP的HANA(高性能分析应用)内存计算引擎的系统。
[0034] 在内存数据库129中可以进一步实现基于列的数据存储,其中在压缩的存储块中依次并作为数据列来存储数据表。当在单列上执行计算时,这可以便于数据的更快聚合(aggregation)。可替换地,基于行的数据存储也是可能的。在一些实现中,代替更新整行,将仅更新改变的字段。这避免了在更新期间不得不锁定整个数据表以防止对一组数据的冲突修改。可以实现高级并行化,这对直播数据流的实时处理以及执行恒定的并且基本上同时的更新来说很重要。
[0035] 应该理解,计算机系统106的不同部件和子部件可以位于不同机器或系统上。例如,可以在不同的物理机器或计算机系统上实现应用服务器120和数据服务器125。还应该理解,客户端计算机150的不同部件也可以位于计算机系统106上,反之亦然。
[0036] 图2示出系统100的示范性结构200。应该注意到,在下面的讨论中将使用相似的标号来指代在图1中描述的特征。在一些实现中,QA框架和DBMS(122、126)可以包括比在图2中示出的那些更少或多很多的部件。
[0037] 如所示,客户端设备(150a至150n)与QA框架122通信以提供一个或多个输入问题,并从QA框架122接收对输入问题的响应。输入问题可以用自然语言表达,并且以语句或寻找合适的问题的答案的形式来提供。客户端设备(150a至150n)和QA框架122可以通过使用web服务的网络彼此通信。Web服务可以实现各种web技术,包括基于代表性状态传输(REST)的接口、基于远程过程调用(RPC)的技术、基于简单对象访问协议(SOAP)的技术、基于面向服务架构(SOA)的技术等等。
[0038] 响应于由一个或多个客户端设备150a-n提供的问题,QA框架122可以自动生成一个或多个答案。在一些实现中,QA框架122包括数据收集器202和QA处理器203。数据收集器202可以用来从一个或多个不同的知识数据库(205a至205n)检索信息,用于生成答案。在一个实现中,数据收集器202通过自动从知识数据库(205a至205n)下载数据集、解析并将数据转换为适合于在数据库129中存储的本地格式,来检索数据。可以按需求或者以预定的时间间隔定期地执行下载。另外,或替换地,数据收集器202可以包括被配置为自动地直接从一个或多个知识数据库(205a至205n)发现和检索相关信息的爬虫(crawler)、蜘蛛(spider)、机器人或其它类似应用。甚至还有,数据收集器202可以直接从数据库129检索先前存储的信息。
[0039] 知识数据库(KB)(205a至205n)可以提供不同格式的信息。知识数据库可以是结构化、半结构化或非结构化的。第一示范性类型的知识数据库提供了公式化或准备的问题-答案对的结构化集合。这样的问题-答案配对的知识数据库包括但不限于雅虎问答(Yahoo!Answers)、维基问答(WikiAnswer)和百度知道。
[0040] 第二示范性类型的知识数据库提供包括纯文本段落的半结构化或非结构化的自然语言文档集。这样的纯文本知识数据库可以包括但不限于可以搜索或爬虫内容的公共或专用数据库或知识库、内部网、因特网、网页(例如,新闻网站、基于域的网站、维基百科等)。在一些实现中,数据收集器202从纯文本知识数据库检索纯文本,并且在将它存储在数据库129中之前预处理纯文本。可以通过例如使用训练模型对它分类来预处理纯文本。
[0041] 第三示范性类型的知识数据库以资源描述框架(RDF)格式存储基于事实的信息。RDF是用于在Web上的数据交换的标准数据模型。它由万维网联盟(W3C)发布,并且一般用来概念性地描述或模型化(model)在web资源中实现的信息。RDF语句集本征地表示标记的、直接的(directed)多图。因而,基于RDF的数据模型自然地适合于某些类型的知识表达。实际上,RDF数据常常固执于关系数据库或原本表示(也称为三重存储(Triple stores))。
[0042] 例如RDF知识数据库包括YAGO和DBPedia。YAGO从维基百科(Wikipedia)、词网(WordNet)和GeoNames提取数据。更具体地,YAGO建立在维基百科的信息框和分类页上。信息框是包含关于文中描述的实体的基本信息的标准化表。例如,存在用于国家的信息框,其包括国家的本国名称、它的首都和它的大小。相对于自然语言文本,解析和利用信息框可能容易得多。RDF还可以表达实体、事实、事实间的关系和关系属性。用RDF三重存储格式表示YAGO中的事实,并且可以使用SQL和/或SPARQL语言来查询。
[0043] QA处理器203用来自动处理通过QA框架122接收的输入问题,并且响应于问题生成一个或多个答案。在一个实现中,QA处理器203进一步包括问题解析器204、答案检索和排名单元206和答案汇编器208。
[0044] 问题解析器204分析问题以识别一个或多个与问题关联的属性。这样的属性可以包括但不限于问题类型、用户期待的答案类型、关键词、关键词的搜索焦点等等。另外,问题解析器204通过使用预定的模板,可以将输入问题转换为基于所识别的属性的数据库查询语句(例如,用SQL)。然后可以向在DBMS126中的查询语言处理器210发送查询语句,以访问在数据库129中的数据。
[0045] 答案检索和排名单元206执行或调用检索对输入问题的一个或多个候选答案的搜索函数。例如,搜索函数可以是由DBMS126提供的全文搜索函数。答案检索和排名单元206可以基于预定义的评价法则进一步生成用于每个候选答案的信用点或分。然后可以使用信用点或分来对候选答案排名和/或排序。答案汇编器208可以用来从候选答案中识别最合适的答案,从整个文本内容中提取相关的答案段,和/或构造答案文本。在下面的段落中将更详细地描述这些和其它示范性特征。
[0046] QA框架122通信地耦接到DBMS126,DBMS126包括索引服务器127和预处理服务器128。索引服务器127一般包括实际的数据和用于处理数据的引擎。它也可以调整并使用其它服务器。索引服务器127可以包括查询语言处理器210和搜索模块212。搜索模块
212可以进一步包括数据存储优化器和执行控制器214、数据存储操作器216和文本搜索引擎220。
[0047] 为搜索存储在数据库129中的数据,可以调用查询语句(例如,SQL)或全文搜索。如果从问题解析器204接收到查询语句,则查询语言处理器210检查查询语句的语法和语义,并且生成逻辑执行计划。数据存储优化器和执行控制器214从查询语言处理器210接收逻辑执行计划作为输入,并且生成优化的物理执行计划。数据存储优化器和执行控制器214然后通过调用数据存储操作器216来执行优化的物理执行计划以访问存储在数据库129中的内存数据218。
[0048] 在一些实现中,为提高搜索的性能,可以用DBMS126平衡存储器中计算。数据收集器202可以从知识数据库(205a-205n)下载原始的文档,并且将它们存储为数据库129中的内存数据218。内存数据218可以是基于列的,这可以比传统的行存储数据库更有效。替换地,基于行的内存数据218也是有用的。
[0049] 文本搜索引擎220提供允许运行全文查询的全文(或文档)索引和搜索能力。全文查询可以包括简单的词语和短语,或者多种形式的词语或短语。在一个实现中,文本搜索引擎220通过建立一个或多个全文索引224以便于记录的定位,来加速查询执行。预处理服务器128中的文档分析器228可以将在来自知识数据库(205a至205n)的原始文档中的句子或段落分割成单独的词语,用于文本搜索引擎220建立全文索引224。在基于表意字符的某些语言(例如,中文、日文、韩文等)的情况中,词语之间没有空格。例如,在中文中,句子“他的名字叫姚明”,在词语“他的”、“名字”、“叫”、“姚明”之间没有空格。文档分析器228可以提供机制以识别这样的词语。
[0050] 响应于全文查询,文本搜索引擎220可以在全文索引224中对于文本数据222执行全文搜索以返回搜索结果226。搜索可以包括对于词语和短语的精确搜索、容许打字错误的模糊搜索以及基于特定语言(例如,英语)的语言规则查找词语的变形的语言学搜索。搜索结果226可以包括通过搜索返回的、包含至少一处匹配(也称为命中)的任何文档。当目标文档包含在全文查询中指定的所有术语,并且满足诸如术语之间的最小匹配距离(或相似性测量)的其它搜索条件时,匹配发生。
[0051] 图3示出示范性QA方法300。方法300可以通过如先前参照图1和2描述的系统100和/或结构200来实现。应该注意到,在下面的讨论中将使用相似的标号来参考在图1和2中描述的特征。
[0052] 在302,QA处理器203接收输入问题。问题的类型可以包括但不限于事实、列表、定义、如何、为什么或者假设的问题。问题还可以是封闭领域(即,在特定领域下),或者开放领域(即,关于几乎任何事)。此外,问题可以是多面的。例如,问题“SAP代表什么?”可以被解释为关于事实的问题。替换地,它也可以被解释为缩写问题。
[0053] 在304,问题解析器204在将查询传递到DBMS126之前处理输入问题以识别与问题关联的属性。在一个实现中,问题解析器204包括或从用于解析自然语言输入问题的自然语言处理(NLP)库调用函数。还可以使用NLP来从知识数据库(205a-205n)解析文档内容,并提取更详细的语义和语言信息。
[0054] 可以将输入问题或文档内容解析成一组语言的区分,包括但不限于:区分为词类(POS)、句子、命名实体、文本记号、文档类别、字块、句子结构、词依赖等等。例如,词类(POS)标记是确定句子中的词语是介词、名词还是任何其它词类的主机NLP功能。记号化一般指的是将句子分割成“记号”(例如,词语、标点符号、数字等)。文本分块一般指的是将文本划分为句法上相关的词组,诸如名词组、动词组等等。这样的文本“块”通常不指定原始句子中的内部结构或它们的作用。命名实体一般指的是具有预定义类别的基本元素,诸如人、组织、位置的名称,时间、数量、货币价值、百分比的表示等等。
[0055] 问题解析器204可以使用提取的NLP区分来导出与输入问题关联的更高级属性。这样的属性可以包括但不限于问题种类(例如,“什么”、“哪些”、“何时”、“哪里”、“谁”、“为什么”等等),问题子种类、期待的答案类型(例如,关于位置、人、日期、金钱等)、焦点、关键词等等。可以使用问题属性来识别输入问题的关键词用于执行全文搜索和找到最相关的段落。
[0056] 更具体地,问题解析器204可以基于NLP区分,通过使用描述某种问题种类的预定义模板来导出问题种类。例如,“什么”问题可以以“什么”开始,或者有时候在问题的开头包含“什么”。因此,用于“什么”种类的模板可以被预定义为:记号值是“什么”&&组类型是“NP”&&标记类型是“WP”,其中NP表示“专有名词”并且WP表示“wh(疑问)-代名词”。为了识别问题种类,可以实现多层环(例如,两层环)来解析输入句子。例如,问题解析器204可以首先扫描句子以识别一个或多个块组。如果基于块组不能识别问题种类,则问题解析器204可以进一步扫描句子以识别一个或多个记号。如果记号匹配某种预定义的模板,则相应地确定并保存对应的种类。
[0057] 为了说明,假设输入问题是“What is Microsoft Office?(微软Office是什么?)”。块组标识符可能如下标记该问题:“What(什么)|is(是)|Microsoft Office(微软Office)?”。换言之,将“What”、“is”和“MicrosoftOffice”识别为具有相应类型[WP]、[VBZ]和[NP]并且它的两个孩子都是[NNP]的块组。如果这些块组类型与预定义的问题种类关联,那么相应地识别问题种类。例如,可以将该问题种类识别为由问题词“什么”所定义的“什么”种类,它的记号类型是[WP],并且问题的目标组类型是[NP]。如果块组不匹配任何预定义的模板,则可以将该问题作记号为[WP][VBZ][NNP][NNP],其中[VBZ]表示动词,第三人称单数呈现并且[NNP]表示专用名词,单数。
[0058] 一旦确定问题种类,就可以检查名称实体列表,看是否有任何名称实体匹配第一[NN]记号类型,其中NN表示名词,单数或复数。如果找到匹配,则直接从列表中选择匹配名称实体作为焦点。如果没找到匹配,可以执行代码级检查来确定子种类。更具体地,可以使用一个或多个预定义的关键词来确定子种类。例如,种类“首都”、“城市”、“国家”等属于子种类“位置”。因此,在问题“What city is the largest one in China?(什么城市是中国最大的城市?)”中,可以使用预定义关键词“city(城市)”来确定子种类“location(位置)”。
[0059] 可以基于输入问题识别的另一属性是期待的答案类型。答案类型一般指的是响应于输入问题的、用户或应用期待的答案类型。在一些实现中,将输入问题种类和/或子种类映射到在预定义表中的相应答案类型。
[0060] 图4示出将种类和子种类映射到相应答案类型的示范性预定表400。例如,如果问题子种类是“什么-谁”,那么答案类型可以是“人”或者“组织”。为了确定答案类型,问题解析器204可以使用包含某一类别(例如,人、组织、位置等)的所有相关信息、描述和定义的训练数据集合来训练分类器。训练集合可以包括已知的问题和答案类型对。然后分类器基于输入问题中在问题种类词(例如,“什么”或“哪些”)之后的第一个名词短语来识别答案类型。
[0061] 例如,根据先前的规则,问题解析器204只能知道问题“什么公司是世界上最大的?”和“什么企业是世界上最富的?”是完全的“什么-谁”问题。可以使用在问题词“什么”之后的第一个名词(例如,“公司”和“企业”)来识别答案类型。因为人工创建覆盖所有情况的规则不容易,所以可以使用现有的训练数据集合作为用于进一步确定问题类型的参考。
[0062] 基于输入问题还可以识别的另一属性是“焦点”。“焦点”一般指的是定义输入问题在寻找什么的词语序列。例如,在问题“中国的首都是什么?”中,问题解析器204理解该问题在问“位置”。然而,问题种类“位置”可能太宽了,将搜索变窄到聚焦在“首都”上可能有帮助。这意味着答案应该是首都的名称(或城市名称)。问题解析器204可以通过从输入问题提取在问题种类词之后的第一个名词(例如,首都)来识别焦点。
[0063] 基于输入问题还可以识别的另一属性是“关键词”。输入问题可以包括一个或多个关键词,其提供输入问题的背景并且可以显著地影响搜索结果。关键词可以包括焦点,虽然不是在所有情况中都必须如此。识别输入问题的关键词可能是重要的,使得可以执行搜索以找到与问题相关的段落。为了识别关键词,可以使用下面的试探点(heuristics)有序集:
[0064] 试探点1:引用语的所有直达(non-stop)词是关键词;
[0065] 试探点2:所有名称实体是关键词;
[0066] 试探点3:所有的复杂名词与它们的形容词修饰(如果有)是关键词;
[0067] 试探点4:所有的名词与它们的形容词修饰(如果有)是关键词;
[0068] 试探点5:所有动词都是关键词;以及
[0069] 试探点6:焦点是关键词。
[0070] 在运行时间期间,问题解析器204根据所示的试探点次序处理每个试探点来提取一个或多个关键词。例如,可以在试探点2之前处理试探点1,在试探点3之前处理试探点2,等等。应该理解,还可以应用其它类型的试探点或者其它试探点次序。在一个实现中,问题解析器204仅考虑基于前4个试探点提取的关键词;仅当需要更多关键词来识别答案时才可能考虑基于最后2个试探点提取的关键词。可替换地,如果使用任何提取的关键词都不能找到答案,则可以在接下来几次搜索迭代中按将它们输入所用的相反的次序来丢弃关键词,以便放宽搜索标准。
[0071] 返回图3,在306,QA处理器203识别可用于向QA框架122提供数据的知识数据库(KB)的类型。如之前所讨论,KB可以是问题-答案配对KB、纯文本KB、RDF KB和/或任何其它类型的KB。可以下载并在数据库129中存储来自不同类型的KB的数据,或者使用例如在数据收集器202中的爬虫应用来直接从KB检索该数据。可以在配置文件中存储可用KB的类型。对于来自不同类型的知识数据库的不同类型数据,可以实现不同的搜索策略。应该理解,多于一种类型的知识数据库可能可用。通过支持不同类型的知识数据库,本技术使用扩展的知识数据库集能够提供较高的答案寻找速率。
[0072] 在一个实现中,在306,QA处理器203确定问题-答案配对KB是可用的。在308,答案检索和排名单元206通过DBMS126调用全文搜索以生成搜索结果226。图5a示出包含来自问题-答案配对KB的示范性问题-答案配对数据的表502。表502可以从问题-答案配对KB下载,并且存储在例如数据库129中。如所示,表502的每行存储了一对问题(或标题)和答案(或内容)。为便于搜索,基于表示问题和答案内容的列“标题”和“内容”,可以生成两个全文索引224。
[0073] 答案检索和排名单元206通过基于一个或多个问题属性(例如,焦点、关键词等)而生成查询语句(例如,SQL),并向用于处理和执行的DBMS126的查询语言处理器210发送查询语句,可以调用问题-答案配对数据的全文搜索。可以基于全文索引224,而不是原始表来执行全文搜索。
[0074] 例如,示范性SQL语句可以如下:
[0075] SELECT*,SCORE()as RANK from"QUESTIONS"where CONTAINS((TITLE,CONTENT),'why is the ocean blue',FUZZY(0.8))order by RANK DESC;
[0076] 其中表达“CONTAINS()”通过文本搜索引擎220调用全文搜索函数,并且“表达FUZZY()”指示容错率。最初可以将容错率设置为0.8,然后如果需要,进行调整以改善搜索结果。表达SCORE()指示对于容错搜索算法的期望的最小匹配分数。
[0077] 图5b示出包含示范性全文搜索结果的表512。如所示,在表512中返回与输入问题有关的一组问题(标题),及对应的答案(内容)、语言(LANG)和答案源(URL)。在搜索结果中还可以提供其它类型的信息。
[0078] 如先前讨论,全文搜索可以提供对于问题文本的用户输入的容错。这允许搜索包含排字错误,并且通过返回更可能的搜索结果来改善搜索质量。在一个实现中,使用n元匹配算法来提供模糊全文搜索。图6示出示范性n元模型602。对于每个串604,可以生成一组n元606。通过将输入串的n元与数据串的n元匹配,可以执行模糊搜索。例如,假设输入串是“hans”并且数据串是“gans”和“haas”,在“hans”和“gans”之间的模糊匹配分是63%(即,7个中5个n元匹配),而在“hans”和“haas”之间的模糊匹配分608也是63%。如果期望的最小匹配分低于63%,则返回数据串“hans”和“haas”作为搜索结果。
[0079] 返回图3,在309,答案检索和排名单元206对搜索结果226排名以确定最相关的候选答案。搜索结果226可以包括与输入问题有关的一组候选问题-答案对。答案检索和排名单元206可以通过向每个候选问题-答案对分配分数来对搜索结果226进行排名。基于分数识别最相关的问题,并且返回相应答案作为候选答案。
[0080] 在某种实现中,向每个候选问题-答案对分配模糊分数。可以通过在输入问题和候选问题之间确定相似度测量来计算模糊分数。通过比较在输入问题和每个候选问题中的词语来确定相似度测量。例如,如果输入问题是:“Who is Bill Gates?(比尔盖茨是谁?)”并且候选问题包含准确的相同词语,则模糊分数是1.0。但是,如果候选问题是“Who is Bill Gate’s daughter?(比尔羡茨的女儿是谁?)”,则模糊分数可以计算如下:
[0081] 分数=Common_Word_Count(共同词计数)/(SQRT(Word_Count_of_Input_Question(输入问题的词计数))*SQRT(Word_Count_of_Candidate_Question(候选问题的词计数)))[0082] =4/(SQRT(4)*SQRT(5))=0.894-----------(1)
[0083] 在306,QA处理器203可以确定纯文本KB可用。在310,在来自纯文本KB的纯文本数据上执行搜索。问题解析器204可以基于与输入问题关联的搜索术语(例如,关键词、焦点等)的挖掘设置,来构造查询语句。然后向查询语言处理器210发送查询语句用于处理,并且调用搜索以生成搜索结果。可以返回候选纯文本段落作为搜索结果。
[0084] 答案检索和排名单元206可以通过放宽或放窄搜索标准来迭代地改进搜索,直到搜索结果的数目满足预指定的门限。通过扩展搜索术语的挖掘设置(即,合并)可以放宽搜索。可以使用同义词词典(例如,WordNet)来向挖掘设置添加提取的问题属性(例如,焦点、关键词等)的同义词。
[0085] 例如,输入问题可以如下:“谁是托马斯·杰佛森高中的校长?”。关键词可以是“校长”、“托马斯”、“杰佛森”、“高中”,并且焦点可以是“校长”。答案检索和排名单元206可以使用扩展的关键词来执行搜索。例如,通过如先前描述将原始的关键词(或关键词的主干)映射到同义词来获得扩展的关键词。例如,如果关键词是“高中”,则可以向挖掘设置添加同义词“高级”,挖掘设置可以包括如下:
[0086] (高&中)|(高级&高&中)|(高级&高)|高|高中
[0087] 在上述搜索术语的挖掘设置中,可能认为词语“高”在英语语言中太常用,并且独立或组合到其它短语中可以表示与原始的关键词“高中”完全不同的意思。可以从挖掘设置中移除这样的常用词语,以产生更精确的搜索结果。为了识别常用词,答案检索和排名单元206可以执行查找预定义的常用词列表。
[0088] 另一种扩展搜索术语的挖掘设置以放宽查询的方法是经由取主干(stemming)。“取主干”一般指的是用于减少对它们的主干、基本或根形式的改变的(或有时候导出的)词语的过程。例如,用于英语的取主干器可以基于根“猫”识别串“猫们”(可能还用“像猫的”、“似猫的”等),并且基于“主干”识别“取主干器”、“取主干”、“取主干的”。一旦确定关键词的主干,就可以向搜索术语的挖掘设置添加主干的变形以放宽查询。
[0089] 在311,答案检索和排名单元206对搜索结果226排名以确定最相关的候选答案。搜索结果226可以包括一组纯文本候选段落。候选段落的数目可以很大,尤其是当输入问题的关键词是常用的或普通的词语时。答案检索和排名单元206可以通过向每个候选段落分配分数来对候选段落排名。可以基于分数识别与输入问题最相关的候选段落,并作为候选答案将与输入问题最相关的候选段落返回。
[0090] 在一个实现中,分数包括术语频率-反文档频率(TF-IDF)分数。通过计算为候选段落和输入问题两者所共有的词语(或词语的同义词)的数目,来计算TF-IDF分数。例如,如果候选段落与输入问题共享同一个共有词语,则可以分配2点。如果候选段落与输入问题共享同一个同义词,则可以分配1点。如果没有共有的词语或同义词,则不能分配点数。可以通过如下获得用于候选段落的最终分数:
[0091] 最终分数=总分数/(不同词语的数目)----(2)
[0092] 应该注意到,也可以实现其它类型的计分技术。
[0093] 在某些情况下,原始候选段落的文本可能太长而因此作为候选答案不合适。在计算分数和对这样的候选段落排名之前,答案检索和排名单元206可以将候选段落的长文本分割成更小片段的文本。在一个实现中,使用由知识数据库提供的元数据中的分层信息来拆分搜索结果文本。例如,来自维基百科的原始网页在元数据中包含每个段落的分层信息,其可以用来分割文本。也可以使用诸如字体大小和缩排格式的其它信息来导出分层并且分割文本。
[0094] 在一些实现中,尤其是其中没有可用于分割的信息时,使用作记号方法来分割文本。通过移除非用词(stop word)并且使用其余词作为基本单元,可以对原始文本作记号。“非用词”一般指的是在处理自然语言文本之前或之后过滤的词语。例如,“该”、“是”等是可以被认为是作为非用词的很常用的词语。
[0095] 图7示出在作记号之后从长段落导出的多个基本单元702a-d。连续的基本单元(702a、702b、702c或702d)之间的每个点是长段落的可能断点。为了确定断点在哪儿,通过比较连续的基本单元之间的相似度分数,检测主题偏移。相似度分数测量在基本单元之间共享的共有词语和同义词的数目。低相似度指示可能的主题偏移。例如,参照图7,可以在第一基本单元702a和第二基本单元702b之间计算第一相似度分数(分数1);可以在第二基本单元702b和第三基本单元702c之间计算第二相似度分数(分数2);可以在第三基本单元702c和第四基本单元702d之间计算第三相似度分数(分数3)。因为第三和第四基本单元(702c-d)是最不相似的,所以分数3可能是最低的,从而指示可能的主题偏移。因此在第三和第四基本单元(702c-d)之间的断点706处可以将长段分成2个片段。
[0096] 参照回图3,在312,答案汇编器208基于最相关的候选段落构造候选答案。存在很多方式传递同一个答案。在一个实现中,答案汇编器208确定输入问题的模板,并且将问题模板映射到答案模板。然后可以根据答案模板来汇编候选答案。
[0097] 图8示出包含用于“谁”问题的问题和答案模板的示范性预定义查询表800。参照表800,例如,“谁是苹果的CEO?”的输入问题可以与问题模板“谁是<实体>的<角色>”关联。通过使用查询表800,答案汇编器208将问题模板映射到答案模板“<人>”。然后通过使用答案“蒂姆·库克”替代标签<人>,可以根据答案模板来汇编答案。对于诸如“什么”、“谁”、“如何”、“哪里”、“何时”、“哪些”、“为什么”等等的不同问题种类和子种类,可以预定义类似的查询表。
[0098] 有时,最相关段落中的细节级可能太高,并且需要被进一步减少以产生更高的精度。例如,问题可以如下:
[0099] “沃尔夫冈·阿玛迪斯·莫扎特何时诞生?”
[0100] 答案检索和排名单元206可以返回下面的段落:
[0101] “沃尔夫冈·阿玛迪斯·莫扎特在萨尔茨堡Getreidegasse9号诞生于1756年1月27日,利奥波德·莫扎特(1719-1787)和安娜·玛丽亚,娘家姓Pertl(1720-1778)。
[0102] 为了实现更高的精度,答案汇编器208可以提取“1756年1月27日”作为候选答案。
[0103] 应该理解,不是所有的段落都可以精炼或缩短。例如,诸如“天空为什么是蓝的?”的事实问题可以产生下面的段落:“天空是蓝的是因为地球的大气层散射来自太阳的光线。”没必要缩短这样的段落。可以返回整个段落作为候选答案。
[0104] 为了从段落提取候选答案,答案汇编器208可以采用机器学习框架。例如,输入问题可以如下:
[0105] “沃尔夫冈·阿玛迪斯·莫扎特哪一年诞生?”
[0106] 通过答案检索和排名单元206返回的最相关段落的原始文本可以如下:
[0107] 沃尔夫冈·西奥菲勒斯·莫扎特(1756-1791)是多产的……
[0108] 沃尔夫冈·阿玛迪斯·莫扎特于1756年在萨尔茨堡诞生……
[0109] 沃尔夫冈·西奥菲勒斯·莫扎特(*1756在萨尔茨堡……
[0110] 沃尔夫冈·阿玛迪斯·莫扎特(b.萨尔茨堡,1756;d.1791)
[0111] 为了从段落中提取答案“1756”,可以使用包括已知的问题-答案对的训练集合来训练机器学习框架。
[0112] 在一些实现中,通过首先收集已知的问题和答案对集合来生成训练集合。例如,问题“比尔盖茨何时诞生?”可以与已知答案“1955年10月28日”配对。然后可以分析已知的问题和答案对集合来提取关键词(例如,“比尔·盖茨”、“诞生”等)。可以经由例如搜索引擎来搜索因特网(例如,谷歌、必应、雅虎等)或其它知识数据库,来收集与关键词关联的文档。可以移除不包括关键词的文档中的不必要句子。此外,可以对文档作记号用于进一步的分析。可以从原始的文档中检索最长的匹配串以形成训练集合。
[0113] 例如,可以收集下面的训练信息:“企业家比尔·盖茨于1955年10月28日诞生于华盛顿西雅图”;“诞生于1955年10月28日华盛顿西雅图的比尔·盖茨是微软的创立者”;等等。基于所收集的信息,可以识别下面的答案模板:(i)<姓名>诞生于<答案>;及(ii)诞生于<答案>的<姓名>。
[0114] 在生成训练集合之后,可以从输入段落提取候选答案。为了说明的目的,假设输入问题是:“沃尔夫冈·阿玛迪斯·莫扎特何时诞生?”。通过答案检索和排名单元206返回的段落原始文本可能如下:“沃尔夫冈·阿玛迪斯·莫扎特诞生于1756年。”基于训练集合,输入问题类型可以对应于答案模板:<姓名>诞生于<答案>。因为段落匹配答案模板,所以可以提取答案“1756年”作为候选答案。
[0115] 上述答案汇编机制具体适合于事实的和某些类型的问题。然而,应该理解,不是所有类型的问题都可以通过上述答案汇编机制来处理。对于某些问题类型,可能需要降级机制。例如,如果答案提取是困难的,则答案汇编器208可以仅通过关键词搜索段落,并且仅返回搜索结果作为候选答案。虽然答案精度可能不高,但至少向最终用户提供了基本的相关信息。
[0116] 返回参照图3,在306,QA处理器203可以确定RDF KB可用。在313,答案检索和排名单元206通过DBMS126调用RDF搜索。可以通过提交由用户使用SPARQL协议和RDF查询语言(SPARQL)构造的查询,来调用RDF搜索。由W3C的RDF数据访问工作组对SPARQL标准化,并且SPARQL是W3C官方建议。SPARQL允许查询包括三重模式、与(conjunction)、或(disjunction)、模式等。SPARQL还允许联合查询,其中将查询分布到多个位置并且聚合来自分布的查询的结果。在通过查询语言处理器210的处理之前,将SPARQL查询翻译为SQL查询。
[0117] 图9示出存储在RDF知识数据库中的示范性RDF格式数据。如所示,将事实三重存储为“主语”、“谓语”和“宾语”。使用输入问题的关键词来查询数据库129以找到最相关的段落。在一个例子中,输入问题可以如下:
[0118] “印度的首都是什么?”
[0119] 在解析输入问题时,输入问题的关键词可以是“首都”和“印度”。可以用例如定义相应的问题类型、关键词、谓语等的列表格,在DBMS126中存储预定义的模式。通过使用预定义的模式,答案检索和排名单元206将输入问题直接翻译成SQL查询,以访问RDF知识数据库,如下:
[0120] Select object from Yago facts where subject=‘<印度>’and predicate=‘<有首都>’
[0121] 在另一例子中,输入问题可以如下:
[0122] “比尔·克林顿的女儿何时诞生?”
[0123] 答案检索和排名单元206可以将输入问题翻译成访问RDF知识数据库的SQL查询,以检索比尔·克林顿的女儿的出生日期,如下:
[0124] select distinct T3.subject,T3.object from Yago facts T1
[0125] inner join Yago facts T2on T1.object=T2.subject
[0126] inner join Yago facts T3on T1.object=T3.subject
[0127] where T1.subject=''and T1.predicate=''
[0128] and T2.predicate=''and T2.object=''
[0129] and T3.predicate=''
[0130] 替换地,可以将上述输入问题翻译成更可读的SPARQL查询,如下:
[0131] Select ?d where {
[0132] ?s wasBornOnDate ?d.
[0133] ?s hasGender female.
[0134] Bill_Clinton hasChild ?s}
[0135] 为便于查询公式化过程,可以实现SPARQL到SQL映射引擎。这允许基于SQL的DBMS支持SPARQL查询。为了将关键词映射到SPARQL三重模式,可以首先检索与每个关键词有关的相关国际化资源标识符(IRI)。RDF段落之内的IRI是符合在RFC3987[IRI]中定义的语法的Unicode串。IRI概括了统一资源标识符(URI)或统一资源定位符(URL)。每个独立的(absolute)URI或URL是IRI。
[0136] 接下来,基于检索的IRI向查询应用预配置的SPARQL三重模型模板。可以基于YAGO事实(例如,像等的谓语)的观察来配置一些SPARQL三重模型模板。对于没有预配置的模型的关键词,DBMS对主语和宾语列执行全文模糊搜索,以在YAGO事实表中检索大致匹配的IRI。然后在SPARQL查询中使用匹配IRI。
[0137] 如上所述,为使能对主语和宾语列的全文搜索,可以首先在主语和宾语列上创建全文搜索索引。答案检索和排名单元206可以生成下面的SQL语句来执行模糊搜索:
[0138] select*,score()as rank from"yaofacts"wherecontains((subject,object),'XXX_XXX',FUZZY(0.8))order by rank desc;
[0139] 如果使用选择的SPARQL查询没有检索到答案,则可以使用降低的模糊协同因素和/或减少的关键词数目来重复查询直到检索到一些答案。
[0140] 在获得搜索结果之后,将搜索结果数目(即计数)与预指定的门限比较。如果搜索计数少于预指定的门限,则例如通过去除搜索术语和/或将搜索术语之间的逻辑运算符从AND(和)改变为OR(或),可以放宽搜索标准。例如,原始的搜索标准可以如下:校长&托马斯&杰佛森&(高中)。可以将搜索标准扩展为如下:(校长|(学校校长)|(老师领导))&托马斯&杰佛森&((高中)|(高级的高中))。
[0141] 相反地,如果搜索计数高于预指定的门限,则例如可以通过添加搜索术语和/或将搜索术语之间的逻辑运算符从OR(或)改变为AND(和),来使搜索标准变窄。因此,可以返回合适数目的搜索结果(例如,文本段落)。
[0142] 回头参照图3,在314,答案检索和排名单元206对RDF搜索结果排名以确定最相关的候选答案。答案检索和排名单元206可以通过向每个RDF搜索结果分配模糊的分数或任何其它合适的分数,来对RDF搜索结果排名。可以基于分数识别最相关的问题,并且返回相应的候选答案作为候选答案。
[0143] 在316,QA处理器203确定是否存在任何其它类型的可用KB。如果存在,则重复步骤306来确定什么类型的KB可用。应该理解,还可以并行执行步骤308、310和/或313来获得搜索结果226。
[0144] 在320,QA处理器203评价候选答案以找到要向用户返回的最终答案。每种类型的知识数据库(例如,问题-答案配对KB、纯文本KB、RDF KB等等)可以产生零个或一个候选答案。存在多种类型的知识数据库时,可能存在多个候选答案。
[0145] 因为比较从不同类型的知识数据库获得的候选答案不容易,所以QA处理器203可以基于问题类型使用一个或多个预定义的试探规则来确定最终的答案。在一些实现中,对所有候选答案排名以找到最终的最好的一个。排名可以基于一个或多个预定义的试探规则。例如,如果从问题-答案配对KB检索到候选答案并且它的SCORE()大于或等于80%,则将返回候选答案作为最终答案。这样的候选答案被认为是最精确的,从而被分配最高优先级,因为问题-答案对是人为定义的。其次,如果从问题-答案配对KB没有检索到候选答案,则答案汇编器208确定输入问题是否是纯事实问题。如果是,则返回从RDF KB检索的候选答案作为最终答案,如果可能的话。RDF数据是天然地适合于事实的描述的结构数据,其一般被用来回答事实的问题。事实问题是诸如“什么是”、“谁是”等等的问题。其次,如果没有从RDF KB检索到适合的候选答案,则返回从纯文本KB检索到的候选答案作为最终答案。
[0146] 在某些情况下,QA处理器203可以确定所有候选答案都不够好,或者没有候选答案。在这种情况下,答案汇编器208可以向最终用户发送文本消息,诸如“对不起,我不知道答案。”
[0147] 可以通过记录在历史的问题与回答任务中来自最终用户的反馈,来改进评价过程。在此情况下,用户可以为每个答案评级(rate)或输入排名分数。QA过程203还可以允许最终用户纠正答案并且人工地回答问题。然后QA处理器203可以基于用户反馈改进它的问题-回答能力。
[0148] 虽然已经用对结构特征和/或方法步骤特定的语言描述了一个或多个上述实现,但是要理解,没有所述的特定特征或步骤也可以实践其它实现。相反地,公开特定特征和步骤作为一个或多个实现的优选形式。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用