CN107257970B - 从结构化和非结构化数据源进行的问题回答 - Google Patents

从结构化和非结构化数据源进行的问题回答 Download PDF

Info

Publication number
CN107257970B
CN107257970B CN201580076319.5A CN201580076319A CN107257970B CN 107257970 B CN107257970 B CN 107257970B CN 201580076319 A CN201580076319 A CN 201580076319A CN 107257970 B CN107257970 B CN 107257970B
Authority
CN
China
Prior art keywords
question
data source
structured data
answer
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580076319.5A
Other languages
English (en)
Other versions
CN107257970A (zh
Inventor
M·F·波斯顿
R·S·克劳奇
A·E·奥兹侃
P·斯塔布利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Nuance Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nuance Communications Inc filed Critical Nuance Communications Inc
Publication of CN107257970A publication Critical patent/CN107257970A/zh
Application granted granted Critical
Publication of CN107257970B publication Critical patent/CN107257970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

用于问题回答的技术涉及从用户接收用自然语言表达问题的文本输入。可分析文本输入,包括在所述问题中识别能从至少一个结构化数据源回答的至少一个第一部分和能从至少一个未结构化数据源回答的至少一个第二部分。可从所述问题的至少一个第一部分构造针对结构化数据源(一个或多个)配置的至少一个第一查询,并且向结构化数据源(一个或多个)应用至少一个第一查询,以检索针对所述问题的至少一个第一部分的第一回答信息。可从所述问题的至少一个第二部分构造针对未结构化数据源(一个或多个)配置的至少一个第二查询,并且向未结构化数据源(一个或多个)应用至少一个第二查询,以检索针对所述问题的至少一个第二部分的第二回答信息。

Description

从结构化和非结构化数据源进行的问题回答
背景技术
问题回答(QA)是计算机技术中的尝试自动对由人经常用自然语言格式输入的问题提供回答的领域。例如,响应于输入的问题“列支敦士登的首都是哪里?”,QA***将负责确定并输出回答:列支敦士登的首都是瓦杜兹。
虽然一些QA***可对文本文档(诸如,网页)执行搜索作为识别问题回答的处理的一部分,但QA***不同于文档搜索和检索***(诸如,典型互联网搜索引擎)。后一种***通常执行关键词搜索来检索包含搜索查询中的关键词的文档(例如,网页)。例如,如果“列支敦士登的首都是哪里?”被作为搜索查询输入到传统互联网搜索引擎,则输出通常将是其文本包含关键词“首都”和“列支敦士登”的一个或多个网页的列表。用户随后有可能能够审阅返回的各文档,以查看它是否包含用户正在查找的回答(即,该首都城市是瓦杜兹)。
发明内容
一种类型的实施例涉及一种方法,所述方法包括:从用户接收用自然语言表达问题的文本输入;使用经由至少一个处理器实现的分析组件来分析所述文本输入,所述分析包括在所述问题中识别能从至少一个结构化数据源回答的至少一个第一部分和能从至少一个未结构化数据源回答的至少一个第二部分;从所述问题的所述至少一个第一部分构造针对所述至少一个结构化数据源配置的至少一个第一查询,并且向所述至少一个结构化数据源应用所述至少一个第一查询,以检索针对所述问题的所述至少一个第一部分的第一回答信息;以及从所述问题的所述至少一个第二部分构造针对所述至少一个未结构化数据源配置的至少一个第二查询,并且向所述至少一个未结构化数据源应用所述至少一个第二查询,以检索针对所述问题的所述至少一个第二部分的第二回答信息。
另一种类型的实施例涉及存储计算机可执行指令的至少一个计算机可读存储介质,所述计算机可执行指令在被执行时执行一种方法,所述方法包括:从用户接收用自然语言表达问题的文本输入;分析所述文本输入,所述分析包括在所述问题中识别能从至少一个结构化数据源回答的至少一个第一部分和能从至少一个未结构化数据源回答的至少一个第二部分;从所述问题的所述至少一个第一部分构造针对所述至少一个结构化数据源配置的至少一个第一查询,并且向所述至少一个结构化数据源应用所述至少一个第一查询,以检索针对所述问题的所述至少一个第一部分的第一回答信息;以及从所述问题的所述至少一个第二部分构造针对所述至少一个未结构化数据源配置的至少一个第二查询,并且向所述至少一个未结构化数据源应用所述至少一个第二查询,以检索针对所述问题的所述至少一个第二部分的第二回答信息。
另一种类型的实施例涉及一种设备,所述设备包括:至少一个处理器;以及至少一个存储介质,其存储处理器可执行指令,所述处理器可执行指令在被所述至少一个处理器执行时执行一种方法,所述方法包括:从用户接收用自然语言表达问题的文本输入;分析所述文本输入,所述分析包括在所述问题中识别能从至少一个结构化数据源回答的至少一个第一部分和能从至少一个未结构化数据源回答的至少一个第二部分;从所述问题的所述至少一个第一部分构造针对所述至少一个结构化数据源配置的至少一个第一查询,并且向所述至少一个结构化数据源应用所述至少一个第一查询,以检索针对所述问题的所述至少一个第一部分的第一回答信息;以及从所述问题的所述至少一个第二部分构造针对所述至少一个未结构化数据源配置的至少一个第二查询,并且向所述至少一个未结构化数据源应用所述至少一个第二查询,以检索针对所述问题的所述至少一个第二部分的第二回答信息。
另一种类型的实施例涉及一种方法,所述方法包括:从用户接收用自然语言表达问题的文本输入;响应于所述问题,产生表达对所述问题的回答的文本输出;使用经由至少一个处理器实现的语言分析组件来分析含有自然语言文本的多个文档,所述分析包括将问题映射到一个或多个假设,分析所述多个文档中的至少一个中的文本的至少一个段落,以确定所述至少一个段落是否蕴涵了所述一个或多个假设中的至少一个,并且响应于确定所述至少一个段落蕴涵了所述一个或多个假设中的至少一个,将所述至少一个段落识别为提供了对所述问题的回答的支持证据;并且响应于所述文本输入,向所述用户展示所述回答和被识别为提供对所述回答的支持证据的来自所述文档中至少一个的至少一个段落。
另一种类型的实施例涉及存储计算机可执行指令的至少一个计算机可读存储介质,所述计算机可执行指令在被执行时执行一种方法,所述方法包括:从用户接收用自然语言表达问题的文本输入;响应于所述问题,产生表达对所述问题的回答的文本输出;分析含有自然语言文本的多个文档,所述分析包括将问题映射到一个或多个假设,分析所述多个文档中的至少一个中的文本的至少一个段落,以确定所述至少一个段落是否蕴涵了所述一个或多个假设中的至少一个,并且响应于确定所述至少一个段落蕴涵了所述一个或多个假设中的至少一个,将所述至少一个段落识别为提供了对所述问题的回答的支持证据;并且响应于所述文本输入,向所述用户展示所述回答和被识别为提供对所述回答的支持证据的来自所述文档中至少一个的至少一个段落。
另一种类型的实施例涉及一种设备,所述设备包括:至少一个处理器;以及至少一个存储介质,其存储处理器可执行指令,所述处理器可执行指令在被所述至少一个处理器执行时执行一种方法,所述方法包括:从用户接收用自然语言表达问题的文本输入;响应于所述问题,产生表达对所述问题的回答的文本输出;分析含有自然语言文本的多个文档,所述分析包括将问题映射到一个或多个假设,分析所述多个文档中的至少一个中的文本的至少一个段落,以确定所述至少一个段落是否蕴涵了所述一个或多个假设中的至少一个,并且响应于确定所述至少一个段落蕴涵了所述一个或多个假设中的至少一个,将所述至少一个段落识别为提供了对所述问题的回答的支持证据;并且响应于所述文本输入,向所述用户展示所述回答和被识别为提供对所述回答的支持证据的来自所述文档中至少一个的至少一个段落。
另一种类型的实施例涉及一种方法,所述方法包括:从用户接收表达询问产品推荐的问题的文本输入;响应于所述问题,产生识别要向所述用户推荐的产品的回答;使用经由至少一个处理器实现的语言分析组件来分析含有对所述产品的自然语言文本评价的多个产品评论,所述分析包括将所述多个产品评论中的至少一个产品评论中的文本的至少一个段落识别为提供对所述问题回答中的产品的支持证据,并且响应于所述文本输入,向所述用户展示所述回答和被识别为提供对所述回答的支持证据的所述至少一个产品评论中的所述至少一个段落。
另一种类型的实施例涉及存储计算机可执行指令的至少一个计算机可读存储介质,所述计算机可执行指令在被执行时执行一种方法,所述方法包括:从用户接收表达询问产品推荐的问题的文本输入;响应于所述问题,产生识别要向所述用户推荐的产品的回答;分析含有对所述产品的自然语言文本评价的多个产品评论,所述分析包括将所述多个产品评论中的至少一个产品评论中的文本的至少一个段落识别为提供对所述问题回答中的产品的支持证据,并且响应于所述文本输入,向所述用户展示所述回答和被识别为提供对所述回答的支持证据的所述至少一个产品评论中的所述至少一个段落。
另一种类型的实施例涉及一种设备,所述设备包括:至少一个处理器;以及至少一个存储介质,其存储处理器可执行指令,所述处理器可执行指令在被所述至少一个处理器执行时执行一种方法,所述方法包括:从用户接收表达询问产品推荐的问题的文本输入;响应于所述问题,产生识别要向所述用户推荐的产品的回答;分析含有对所述产品的自然语言文本评价的多个产品评论,所述分析包括将所述多个产品评论中的至少一个产品评论中的文本的至少一个段落识别为提供对所述问题回答中的产品的支持证据,并且响应于所述文本输入,向所述用户展示所述回答和被识别为提供对所述回答的支持证据的所述至少一个产品评论中的所述至少一个段落。
另一种类型的实施例涉及一种方法,所述方法包括:从用户接收对于推荐与请求中指定的一个或多个特性匹配的产品的请求;至少部分地通过使用至少一个处理器搜索本体(ontology),响应于所述请求而识别要推荐的产品,在所述本体中,所识别的产品被表示为与所述请求中指定的一个或多个特性中的至少一个特性匹配,所述本体还包括到至少一个自然语言产品评论的至少一个链接,所述产品评论提供了所识别的产品与所述至少一个特性匹配的支持证据;使用所述本体中的至少一个链接来检索所述至少一个自然语言产品评论的至少一部分;并且响应于所述请求,向所述用户展示用于支持所识别的产品的推荐的检索到的至少一个自然语言产品评论的至少一部分。
另一种类型的实施例涉及存储计算机可执行指令的至少一个计算机可读存储介质,所述计算机可执行指令在被执行时执行一种方法,所述方法包括:从用户接收对于推荐与请求中指定的一个或多个特性匹配的产品的请求;至少部分地通过搜索本体,响应于所述请求而识别要推荐的产品,在所述本体中,所识别的产品被表示为与所述请求中指定的一个或多个特性中的至少一个特性匹配,所述本体还包括到至少一个自然语言产品评论的至少一个链接,所述产品评论提供了所识别的产品与所述至少一个特性匹配的支持证据;使用所述本体中的至少一个链接来检索所述至少一个自然语言产品评论的至少一部分;并且响应于所述请求,向所述用户展示用于支持所识别的产品的推荐的检索到的至少一个自然语言产品评论的至少一部分。
另一种类型的实施例涉及一种设备,所述设备包括:至少一个处理器;以及至少一个存储介质,其存储处理器可执行指令,所述处理器可执行指令在被所述至少一个处理器执行时执行一种方法,所述方法包括:从用户接收对于推荐与请求中指定的一个或多个特性匹配的产品的请求;至少部分地通过搜索本体,响应于所述请求而识别要推荐的产品,在所述本体中,所识别的产品被表示为与所述请求中指定的一个或多个特性中的至少一个特性匹配,所述本体还包括到至少一个自然语言产品评论的至少一个链接,所述产品评论提供了所识别的产品与所述至少一个特性匹配的支持证据;使用所述本体中的至少一个链接来检索所述至少一个自然语言产品评论的至少一部分;并且响应于所述请求,向所述用户展示用于支持所识别的产品的推荐的检索到的至少一个自然语言产品评论的至少一部分。
附图说明
附图不旨在按比例绘制。在附图中,用类似的标号来表示各图中例示的每个相同或几乎相同的组件。出于清晰目的,可以不在每幅图中标记每个组件。在附图中:
图1是按照一些实施例的示例性问题回答***的示例性操作环境的框图;
图2A和图2B例示了可结合一些实施例利用的示例性本体;
图3A和图3B例示了可结合一些实施例利用的示例性用户界面;
图4是按照一些实施例的用于问题回答的示例性方法的流程图;
图5是按照一些实施例的用于问题回答的另一种示例性方法的流程图;
图6是按照一些实施例的用于产品推荐的示例性方法的流程图;
图7是按照一些实施例的用于产品推荐的另一种示例性方法的流程图;以及
图8是可实现一些实施例的示例性计算机***的框图。
具体实施方式
发明人已经认识到,根据QA***为了识别对问题的回答而访问的知识库的类型,适用不同的问题回答技术。一些QA***搜索结构化数据源(诸如,数据库),以检索确定对用户问题的回答可用的信息。如本文中使用的,术语“结构化数据”是指可响应于搜索查询而返回的信息的每一项与一个或多个字段、类别或其他组织标签关联地存储在其中的数据,通过这些组织标签根据限定方案来组织数据集。结构化数据源的示例包括RDF存储体、数据库、表、电子表格、表格、关系数据库 (包括结构化查询语言(SQL)数据库)等。例如,结构化数据源(诸如,数据库)可被组织为表的集合,其中,表中的每列代表信息的类别。此表中的个体行可以是通过搜索查询能返回的信息项,并且可包括适用于该行条目的每个信息类别(即,表中的列)的条目。行条目还可通过它是其中成员的特定表来分类。行条目内的个体单元还可以是通过搜索查询能返回的信息项,并且可通过其表、行和列命名进行分类。例如,电影数据库可被组织成用于不同体裁电影(动作、喜剧、科幻等) 的不同表。在这些表内,行条目可代表个体电影,并且列可代表信息类别(诸如,电影名称、发行日期、长度、导演等)。代表特定电影的行条目可响应于搜索查询(包括用于该行的各种列条目)而被返回。特定行-列条目(表单元)还可响应于代表例如特定电影发行日期等的搜索查询而返回。
另一方面,“未结构化数据”在本文中是指并非可以响应于搜索查询而返回的所有信息项都必需根据限定的组织方案组织成类别、字段或其他标签。未结构化数据的示例包括自然语言文本文档、音频、视频等。例如,在自然语言文档(诸如,字处理文档和电子邮件)中,文本通常不受任何形式结构或类别标签的约束。文档内文本的任何部分可响应于搜索查询而返回,并不需要与任何组织类别或其他标签关联地返回。一些未结构化文档可包含一些具有特定组织的要素(例如,标题、章节小标题等),但并非文档中的所有信息都需要被组织。出于本公开的目的,在自然语言文档中的特定章节小标题下出现但它可被表征为文档的该特定章节的部分的主体文本不被视为结构化数据。类似地,虽然自然语言文本内的词可被归类为“词”或根据其句法或语义性质(诸如,其语言的部分、句子结构安置、语义概念标识符等)通过自然语言处理进行标记,但出于本公开的目的,这并没有形成此自然语言文本“结构化数据”,因为这些类别并非是用于组织文档或文档集中的信息的预定方案的一部分。
还应该理解,在某些情况下,未结构化数据可存在于结构化数据源内,同样地,结构化数据可存在于未结构化数据源内。例如,未结构化自然语言文档(诸如,网页)可包括结构化要素(诸如,其内的表)。在相反示例中,结构化数据库可包括未结构化要素(诸如,自然语言文本)作为数据库的字段之一内的条目。在这些情况下,数据集是否被当作结构化或未结构化数据源进行处理可取决于将在数据集上运行的搜索查询被如何构造。如果搜索查询假定通过例如类别、字段或其他组织标签来组织所有可返回的信息项,则出于本公开的目的,数据集可被视为结构化数据集,而不管在可返回字段内是否可能存在一些未结构化要素。例如,数据库字段或表单元内的未结构化文本可被整体返回,作为响应于结构化数据查询的包含字段/单元的返回;这将不构成未结构化数据的搜索。另一方面,如果搜索查询并没有假定根据预定方案来组织所有可返回的信息项,则出于本公开的目的,数据集可被视为未结构化数据集,而不管在正被搜索的文档内是否可存在一些结构化要素。例如,自然语言文本内的关键词搜索还可搜索自然语言文本中包含的表内的那些关键词;这将不构成结构化数据搜索,因为表的组织结构将不是关键词搜索查询的构造中的基本假定。类似地,虽然包含自然语言文本的网页可具有用于网络浏览器呈现的诸如XML编码的叠加结构化要素,但出于本公开的目的,文档文本可仍然被当作未结构化数据进行处理。
发明人已经认识到,可根据QA***利用什么类型的知识库来不同地设计QA***。例如,当QA***使用结构化数据源作为将从中找到问题回答的其知识库时,***可被设计成将用户的问题转换成结构化数据搜索查询,这些查询利用结构化数据源的组织方案来检索有可能回答该问题的信息。例如,在给定输入问题“列支敦士登的首都是哪里?”的情况下,其知识库包括关于国家的信息的(结构化)数据库表的QA***可构造搜索查询,该搜索查询将定位并返回国家列支敦士登的行条目中的“首都”列中的单元。另一方面,使用未结构化数据源作为其知识库的QA***可被设计成向自然语言文档应用文本搜索查询(诸如,关键词搜索),以检索用于回答问题的相关信息。例如,使用(未结构化) 网页(例如,来自互联网)作为其知识库的QA***可构造搜索查询,该搜索查询将定位并返回其文本包括关键词“首都”和“列支敦士登”的网页,并且可分析返回文档的文本,以在其中找到对问题“列支敦士登的首都是哪里?”的回答。
发明人已经了解到,可通过将QA***设计成智能地使用其知识库中的结构化和未结构化数据源二者来实现问题回答的改进。发明人已经认识到,例如,人类用户提出的许多问题并不能完全使用仅仅结构化或仅仅未结构化知识库来回答。考虑例如问题“SigourneyWeaver的有高大蓝色外星人的电影何时播放?”。结构化数据源(诸如,电影院数据库)可包括信息项的分类条目(诸如,特定电影的演员和上映时间),但不太可能包括将电影“Avatar”与词语“高大蓝色外星人”关联的信息。另一方面,未结构化数据源(诸如,自然语言电影评论的集合)可包括将“Avatar”与Sigourney Weaver和高大蓝色外星人关联的文本描述,但不能有效地提供正寻求的回答,即适用的上映时间。发明人已经了解到,可通过如下QA***来有效地回答这些问题:该QA***将问题的不同部分识别为能从不同类型的知识库(结构化和未结构化的)回答并在回答该问题时相应地利用这些不同的知识库。
因此,本文中描述的一些实施例涉及用于回答问题的技术,这些技术可应对以上讨论的传统方法的不足之处中的一个或多个,和/或可提供以上益处中的一个或多个。然而,本发明的各方面不限于这些益处中的任一个,并且应该理解,一些实施例不能提供以上讨论的益处中的任一个,和/或不能应对发明人已经认识到的传统技术中的以上讨论的缺陷的任一个。
在一些实施例中,用户可供应用自然语言表达问题的文本输入,并且QA***可利用文本输入来识别能从一个或多个结构化数据源进行回答的问题的一个或多个部分以及能从一个或多个未结构化数据源进行回答的问题的一个或多个部分。以下描述用于执行此分析的示例性技术。在一些实施例中,QA***可基于被识别为能从相应数据源回答的问题的一些部分,构造适宜查询并且将其应用于结构化和未结构化数据源。这会导致从不同数据源检索对问题不同部分的回答信息。在一些实施例中,随后可将来自各种数据源的此回答信息合并,以形成对用户问题的回答,随后可向用户展示该回答。以下描述用于合并回答信息的示例性技术。
在一些实施例中,可通过对候选文本段落执行蕴涵分析以确定哪些段落最佳支持对用户问题的回答来增强从包括自然语言文本文档的未结构化数据源中检索回答信息的处理。如以下更详细描述的,在一些实施例中,文本输入中表达的用户的自然语言问题可被映射到一个或多个假设,并且可分析候选文本段落,以确定它是否蕴涵着源自该问题的任何假设。在一些实施例中,如果段落真实很可能使得假设真实,则可称段落蕴涵假设。因此,在一些实施例中,如以下进一步描述的,被确定蕴涵源自用户问题的假设的段落可被识别为提供了对问题回答的支持证据,并且可被作为支持证据连同回答一起被展示给用户。
一些实施例将本文中描述的QA技术应用在产品推荐***中。在一些实施例中,用户可输入表达询问产品推荐的问题的文本输入,并且***可生成识别向用户推荐的产品的回答。如以下进一步描述的,在一些实施例中,这可涉及利用与提供产品推荐相关的结构化和/或非结构化知识库进行问题回答。在一些实施例中,合适的未结构化知识库可包括带有产品的自然语言文本评估的产品评论,可分析该产品评论,以确定产品推荐回答和/或提供对这些回答的支持证据,如以下更详细描述的。同时如以下描述的,一些实施例可可替代地或另外地利用结构化知识库,该结构化知识库包括带有到自然语言产品评论的链接的本体,这些产品评论提供了对作为询问产品推荐的用户问题的合适回答的产品的支持证据。
应该理解,以上描述仅仅是举例来说,虽然一些实施例可提供本文中描述的功能中的一些或全部,但实施例不限于提供上述功能中的任一个或全部。
本文中描述的各方面可按众多方式中的任一种来实现,并且不限于任何特定实现技术。因此,当以下描述特定实现方式技术的示例时,应该理解,这些示例仅仅是出于例示目的而提供的,并且有可能有其他实现方式。
本文中描述的技术的一个例示应用是用于问题回答***。在图1中例示了此***的示例性操作环境。示例性操作环境包括问题回答 (QA)***100,QA***100可按任何合适形式来实现,因为实施例在这方面不受限制。例如,QA***100可被实现为单个独立机,或者可用以任何合适方式分担处理任务的多个分布式机器来实现。QA*** 100可被实现为一个或多个计算机;以下描述合适计算机的示例。在一些实施例中,QA***100可包括存储处理器可执行指令的一个或多个有形的、非暂态计算机可读存储装置和执行处理器可执行指令以执行本文中描述的功能的一个或多个处理器。存储装置可被实现为用处理器可执行指令进行编码的计算机可读存储介质(即,有形的、非暂态计算机可读介质);以下讨论合适计算机可读存储介质的示例。
如所描绘的,示例性QA***100包括领域建模器110、文档/段落分析器130、用户界面150、问题分析器160、查询生成器170、证据评分器180和回答生成器190。QA***100的这些处理组件中的每个可用软件、硬件或软件和硬件的组合来实现。用软件实现的组件可包括处理器可执行指令的集合,可由QA***100的一个或多个处理器来执行这些指令集合,以执行本文中描述的功能。领域建模器110、文档/段落分析器130、用户界面150、问题分析器160、查询生成器170、证据评分器180和回答生成器190中的每个可被实现为QA***100的单独组件(例如,用独立的并且执行组件的专用功能的硬件和/或软件代码来实现的),或者这些组件的任何组合可被集成到单个组件或分布式组件的集合中(例如,执行本文中描述的两个或更多个功能的硬件和/或软件代码可被集成,共享代码的执行可被分布在两个或更多个硬件模块上,等等)。另外,领域建模器110、文档/段落分析器130、用户界面 150、问题分析器160、查询生成器170、证据评分器180和回答生成器 190中的任一个可被实现为多个软件和/或硬件组件的集合。虽然图1的示例操作环境描绘了一起在QA***100上实现的领域建模器110、文档/段落分析器130、用户界面150、问题分析器160、查询生成器 170、证据评分器180和回答生成器190,但这只是示例;在其他示例中,组件中的任一个或全部可在一个或多个单独机器上实现,或者组件中的任一个或全部的各部分可按分布方式和/或按各种组合跨多个机器实现。应该理解,图1中描绘的任何此组件不限于任何特定软件和/或硬件实现方式和/或配置。
在一些实施例中,可例如经由由QA***100的一个或多个处理器执行的程序指令,将领域建模器110配置成生成、保持和/或更新对期望 QA***100能知道关于其的信息的领域建模的数据。在一些实施例中,可采用QA***100来回答关于被称为“领域”的真实世界知识的受限制(有限)区域的问题。例如,在使用QA***100来提供产品推荐的一些实施例中,领域可以是关于特定商家或商家集合所销售的产品、或一种或更多种特定种类或类型的市场上可购得的产品、或一般在市场上可购得的产品等的知识。在另一个示例中,可使用QA***100来回答关于诸如电影、电视等娱乐媒体的问题,并且在该情况下,领域可以是关于此娱乐媒体的知识。应该理解,可将QA***100用于在任何合适领域中的问题回答,因为实施例不限于任何特定领域(一个或多个) 的知识或信息。在一些实施例中,QA***100可被配置成适于多个领域。领域建模器110可构造和/或保持不同领域的单独数据模型,当接收到属于该领域的问题时,可个体地访问这些领域中的每个,或者在一些实施例中,可保持可与用于回答特定领域中的问题的各种特定于领域的模型组件交互的一些中心独立于领域的模型组件。
在一些实施例中,领域建模器110可被配置成包括或能够访问可以是独立于领域的、编码一般人类知识的本体。如本文中使用的,术语“本体”是指任何知识表示(可按任何合适的数据格式进行编码和/或存储),该知识表示包括已知概念的表示和这些概念之间的已知关系的表示。常常用图形将本体表示为通过边缘彼此连接的节点集合,其中,每个节点表示概念并且连接两个节点的每个边缘表示用这两个节点表示的概念之间的关系。关于哪个有人类知识的任何概念可被表示为本体中的节点,并且概念之间的任何类型的已知关系可被表示为本体中的边缘。一种类型的概念关系是父子关系(在本文中也被称为上下位关系或“is- a”关系),但还可在本体中表示其他类型的概念关系,如以下进一步讨论的。特定本体可包括多种类型的概念关系。然而,一些特定类型的本体会进一步受限于例如仅仅一种类型或某些类型的概念关系。例如,一种特定类型的本体是只包括父子关系的分类***。本文中描述的技术可使用任何类型的本体(包括例如分类***),因为一些实施例不限于使用任何特定类型的本体。
可按任何合适方式来获得、构造、增强和/或修改QA***100所使用的一个或多个本体,因为实施例在这个方面不受限制。在一些实施例中,可从任何合适的可公开或商业上购买的源获得用于形成本体的数据。此源的一个示例是WordNet,它是可公开购得的词汇数据库,其对一般人类知识(“狗是动物”等)进行编码,并且可使用已知技术将其数据作为本体进行组织和存储。在其他实施例中,可例如由QA***100 的一个或多个开发方来人工构造一个或多个本体,和/或来自一个或多个可公开或商业上购买的源的本体数据可被修改、增强等,以构造供 QA***100使用的一个或多个本体。
可替代地或另外地,在一些实施例中,QA***100可利用一个或多个特定于领域的本体,这些本体在可使用QA***100来回答关于其的问题的特定领域中按概念和概念关系的形式对知识进行编码。在一些实施例中,领域建模器110可从可包括任何合适的特定于领域的数据源 (一个或多个)的一个或多个领域数据库112获得用于构造和/或更新特定于领域的本体的信息。例如,在产品推荐的情境下,领域数据库(一个或多个)112可包括由产品的制造商和/或零售商供应的一个或多个产品数据库,这些产品数据库包含诸如,例如,可供销售产品的名称、品牌、型号命名、尺寸、特征、价格、零售地点等的信息。在娱乐媒体领域示例中,领域数据库(一个或多个)112可包括由媒体供应商和/或媒体信息集成商供应的一个或多个数据库,诸如,得自电视服务供应商的列表数据库、电影院数据库、互联网电影数据库(IMDb)等。应该理解,以上仅仅是示例,并且可使用任何合适的领域数据库(一个或多个)112,因为实施例在这个方面不受限制。可按任何合适的方式(诸如,经由任何合适的互联网或其他网络连接(一个或多个))来访问领域数据库(一个或多个)112,以访问可从其获得这些领域数据库的源址。在一些实施例中,领域数据库信息的产品商家或其他供应商可将此数据库信息输入QA***100,和/或可在任何合适的时间(一个或多个)提供更新后的数据,以反映领域数据库信息的改变。
在一些实施例中,例如,可经由QA***100的一个或多个处理器所执行的程序指令来配置领域建模器110,以使用得自领域数据库112 的信息来构造特定于领域的本体。这可按任何合适方式来进行。在一些实施例中,领域建模器110可被配置成通过将数据库的行中的个体单元映射到本体节点(概念)并且将数据库的列标签映射到本体边缘(关系类型)来将数据库表转换成本体结构,如在以下示例中例示的。图2A 例示了非常简单的本体结构,可从平板计算机的商家的数据库表中的以下两行来构造该本体结构。
Figure BDA0001381111620000141
图2A中的每个卵形形状用图形表示了与特定概念对应的本体的节点。节点内部的文本是被指派给对应概念的标签。例如,标记为“Tablet (平板)”的节点表示人类具有关于其的知识(诸如,平板计算机的特性和平板计算机之间的关系)的平板计算机的概念和人类知识内的其他概念。然而,应该理解,标签“平板”并不与概念本身相同。平板计算机的概念可在不同情境下被不同人群称为不同的东西(例如,“平板计算机”、“平板PC”、“平板”、“slate”等),如此,平板的概念没有被任何单个词完全涵盖。如本文中使用的,在谈话或文本中可用于表示相同概念的不同词语或短语被称为与同一概念对应的不同“术语”。该概念可表示可按不同方式用不同术语表达的语义含义。如此,在一些实施例中,本体的一个或多个节点可各自与已知术语的集合关联,可使用该已知术语的集合来表示对应概念。在某些情况下,单个术语也可对应于不止一个概念,如在可使用词语或词语序列来表达不止一个语义含义(例如,“tablet”意指计算机对“tablet”意指药丸)时。然而,当用数据结构表示本体概念时,会有帮助的是,向每个节点分派单个主标签,使得该节点及其对应的概念可被参照并且被从其他节点和对应概念之中识别。在图 2A的示例数据结构中,为了方便起见,已经将特定概念节点标记为“平板”;然而,可等同地用对该本体节点及其对应概念特有的、诸如文本命名、非文本命名(诸如,数字)、或文本和非文本命名的某个组合的不同合适命名(例如,“节点ID”)来标记该特定概念节点。
图2A中的每个箭头用图形表示与对应于箭头所连接的两个节点的概念之间的特定关系对应的示例本体中的边缘。例如,通过用表示关系类型的标签来标记对应边缘,可在本体中表示任何类型的概念关系。例如,在图2A 中,“iPad”节点通过标记为“is-a”的箭头连接到“平板”节点,该箭头表示平板计算机的概念和iPad的概念之间的父子关系。父子关系代表父概念是子概念的上位词,或者等同地代表子概念是父概念中的一种。在这种情况下,“iPad”和“平板”之间的“is-a”箭头表示iPad的概念是平板计算机的概念的子(并且等同地,表示平板计算机的概念是 iPad概念的父)的知识,因此iPad是平板计算机中的一种。作为箭头的边缘的图形表示指示该关系是双向的,即,iPad是平板计算机中的一种,但平板计算机不是iPad中的一种。虽然本体中的某些概念关系可以是有向的(例如,单向的),但并非所有关系都需要如此。例如,本体可包括概念“狗”和“犬”之间的同义词关系,该关系将是双向的(或有可能会被描述为无方向的),用于表示“狗”是“犬”的另一个词语且“犬”是“狗”的另一个词语的知识。
因此,图2A的示例本体中的标记为“is-a”的边缘表示以下的父子 (也被称为“上下位”)概念关系:
iPad是平板计算机中的一种。
iPad Air是iPad中的一种。
Excite是平板计算机中的一种。
Excite 10LE是Excite中的一种。
还可通过跟踪本体内的父子关系的连接路径来推断传递关系。例如,“iPad”是“Air”的父,“平板”是“iPad”的父,从而使“平板”是“Air”的祖父(并且“Air”是“平板”的孙子)。这些关系表示以下知识:Air是 iPad中的一种并且iPad是平板计算机中的一种,因此iPad Air是平板计算机中的一种。这些关系(例如,父子/上下位关系)被称为“层级”,因为它们创建了父概念包括其子概念的层级。
在一些本体中,并非每个概念关系需要是层级的。例如,在图2A 中,“Air”和“iOS7”之间的关系不是层级的,因为iPad Air不是iOS 7 中的一种,iOS 7不是iPad Air中的一种。相反,通过标记为“has-OS”的边缘来表示“Air”和“iOS 7”之间的关系,“has-OS”表示与用于父子关系的“is-a”标签不同类型的关系。在该示例中,“has-OS”关系表示计算机和安装在该计算机上的操作***(OS)之间的关系。“Air”和“iOS 7”之间的“has-OS”关系表示iPad Air用iOS 7作为其操作***的知识。虽然箭头代表该特定关系是有向的(iPad Air用iOS 7作为其操作***; iOS 7没有用iPad Air作为其操作***),但它并不是层级的,如以上说明的。任何合适类型的概念关系可被定义在本体中并且用任何合适的边缘标签来表示。除了“is-a”和“has-OS”关系之外,图2A中的简单示例还利用了以下关系:“is-brand”(表示产品或产品系列与其品牌制造商之间的关系)、“has-RAM”(表示计算机和安装在该计算机上的随机存取存储器(RAM)的量之间的关系)、“has-CPU”(表示计算机和其中央处理单元(CPU)的时钟速度之间的关系)和“has-MSRP”(表示产品及其制造商建议的零售价格(MSRP)之间的关系)。
当用在由计算机实现的技术中时,可按任何合适的格式将本体表示为计算机可读数据。例如,在一些实施例中,本体的数据表示可包括本体中的概念节点的列表或表。在一些实施例中,可用列表或表中包括的特有节点ID(例如,数字、字母数字序列或代码或任何其他合适形式的标识符)为每个概念节点命名。例如,可用包括诸如以下的表的数据结构来表示图2A的示例本体的概念。
节点ID 标签
01 平板
02 iPad
03 Excite
04 Apple
05 Toshiba
06 Air
07 10LE
08 iOS 7
09 Android Honeycomb
10 1GB
11 1.2GHz
12 1.4GHz
13 $499
14 $529
在一些实施例中,概念节点的表可包括针对每个节点ID列出可用于表示对应概念的术语的已知集合的其他列。例如,该列可包括针对节点ID 01的术语集合{“平板”、“平板计算机”、“平板PC”、“slate”}等。然而,不需要“标签”和“术语”列,并且可替代地或另外地,可包括任何其他合适的列,因为实施例不限于使用按任何特定数据格式存储的本体。
在一些实施例中,本体的数据表示可包括本体中的概念节点表或其他类型的列表。例如,此表可包括每个概念关系的行,其中,关系的类型和关系中涉及的概念节点ID被列出在适宜行中。在另一个示例中,每种关系类型可可替代地或另外地用关系ID(取代文本标签)来表示。关系的方向性可被明确地列出在本体表中的适宜行中,或者可由按其列出所涉及节点ID的次序隐含关系的方向性。也可包括任何其他合适的列(诸如,用于对应节点ID的标签和/或任何其他合适的列),因为实施例不限于使用按任何特定数据格式存储的本体。例如,可如下地针对图2A的示例本体来构造概念关系的表:
节点ID 1 关系类型 节点ID 2
02 is-a 01
03 is-a 01
02 is-a 04
03 is-brand 05
06 is-a 02
07 is-a 03
06 has-OS 08
06 has-RAM 10
06 has-CPU 12
06 has-MSRP 13
07 has-OS 09
07 has-RAM 10
07 has-CPU 11
07 has-MSRP 14
用于对本体中包含的信息进行编码的此数据结构可按关系数据库的形式或按任何其他合适数据格式进行存储。然而,应该理解,以上描述只是通过举例来提供的,因为实施例不限于使用按任何特定数据格式表示、编码和/或存储的本体。
在一些实施例中,如以上提到的,例如,通过将领域数据库表转换成本体结构,从得自领域数据库112的信息来构造特定于领域的本体。这可按任何合适方式来进行。在一些实施例中,如以上示例中例示的,数据库表中的行及其单元可被映射到本体结构中的概念(节点),并且列小标题可被映射到本体结构中的关系类型(边缘)。例如,在参照图 2A的以上示例中,以上平板计算机的商家的数据库表的两行中的每个单元被映射到本体中的概念节点,概念节点被标记有得自数据库表中的相应单元中的文本。对应于每行(产品型号)中的第一单元的概念与对应于同一行中的每个其他单元的概念在本体中具有关系,其中,关系类型由与数据库表中的其他单元对应的列小标题限定。例如,对应于数据库表中的第一行中的第一单元的“Air”概念与源自数据库表中的第三单元的列小标题“品牌”的对应于同一行中的第三单元的“Apple”概念在本体中具有“is-brand”关系。概念和关系还可源自表的标题;在这个示例中,这两个数据库表的行属于平板计算机的数据库表,从而得到来自这两行的概念和根概念“平板”之间的本体关系。在一些实施例中,可使用包括多个不同表的领域数据库112来构造多个本体结构,这些本体结构可保持分开或者经由来自不同表的概念之间或来自不同表的概念和对这些表通用的一个或多个根概念之间的一个或多个关系进行连接。
在一些实施例中,领域建模器110可被配置成通过分析(例如,如上所述地)领域数据库112中的信息和数据结构来自动地构造本体数据结构。在其他实施例中,可可替代地或另外地涉及任何合适级别的人类参与。例如,在某些情形下,领域数据库信息应该如何被最准确地并入本体中会存在模糊性,并且任何人类开发方可在这些情形下人工输入本体数据,和/或可创建指导领域建模器110如何应对这些模糊性的规则。例如,在其中使用数据库表的“平板”标题来创建通用“平板”概念和源自表中的行的概念之间的本体关系的以上给定的示例中,领域建模器110 可能最开始没有足够的真实世界知识来决定是将“平板”概念与“型号”概念(对应于每个表行中的第一单元)或“系列”概念,还是连接到对应于各种表列的任何其他概念。在图2A的示例中,人类专家可基于“系列”概念比“型号”概念更通用并且全都被包括在“平板”概念内的真实世界知识来指导领域建模器110将根“平板”概念与“系列”概念(“iPad”和“Excite”)连接。出于类似原因,人类指令还会致使将“品牌”概念(“Apple”和“Toshiba”)连接到“系列”概念而非“型号”概念。然而,并非在所有实施例中或所有情况下都需要这样的人类专家介入。在一些实施例中,例如,可将领域建模器110编程为经由默认规则(诸如,通过与每个数据库表行中的第一单元(或者,等同地,与行小标题)构造所有本体关系)来自动进行这些决定。
在一些实施例中,通过构造一个或多个特定于领域的本体,领域建模器110可致使这些本体被存储在结构化数据集120中,供QA*** 100使用。可替代地或另外地,在一些实施例中,领域建模器110可致使来自领域数据库(一个或多个)112的数据(诸如,数据库表)被存储在伴随或没有伴随本体数据结构的结构化数据集120中。在一些实施例中,领域数据库(一个或多个)112可包括已经是本体形式的数据,并且领域建模器110可致使该数据在有或没有修改的情况下存储在结构化数据集120中。在一些实施例中,领域建模器110可在任何合适时间从领域数据库(一个或多个)112接收更新后的信息,并且可相应地对结构化数据集(一个或多个)120中的对应数据进行更新。
在一些实施例中,如以上讨论的,QA***100可利用一个或多个独立于领域的本体数据结构,无论特定于领域的数据是否可用。这些本体可被存储在结构化数据集120中和/或可驻留在别处,供诸如领域建模器110的QA***100的组件访问。在一些实施例中,领域建模器 110可利用来自一个或多个独立于领域的本体的数据,以增强一个或多个特定于领域的本体,和/或可例如经由合适的概念关系在一个或多个特定于领域的本体和一个或多个独立于领域的本体之间产生连接。例如,参照以上的平板计算机示例,领域建模器110可访问包括概念“平板”和概念“计算机”之间的“is-a”关系的独立于领域的本体。领域建模器110可通过向本体的“平板”节点添加进一步的“平板is-a计算机”关系,使用该已知关系来增强图2A的特定于领域的本体。领域建模器110还可用得自独立于领域的本体中的“平板”概念的特征(诸如,概念“平板”的替代术语)、与独立于领域的本体中的其他概念的额外关系等来增强特定于领域的本体中的“平板”概念。在一些实施例中,领域建模器110 可通过利用这两个本体公共的一个或多个概念将特定于领域的本体与独立于领域的本体连接和/或通过包括对在特定于领域的本体中的一个或多个概念和独立于领域的本体中的一个或多个概念之间进行连接已知的一个或多个关系来产生更大的组合本体。在一些实施例中,这些数据结构中的任一个可变成结构化数据集(一个或多个)的一部分,供QA***100在回答用户问题时使用,如以下进一步描述的。
在一些实施例中,如以上讨论的,QA***100可可替代地或另外地利用一个或多个未结构化数据源作为回答问题的知识基础。在一些实施例中,文档/段落分析器130可准备供QA***100使用的这些未结构化数据源。文档/段落分析器130可例如经由任何合适的互联网或其他本地或网络连接(一个或多个)从任何合适的信息源132来访问(或者由任何其他合适的单独***组件来收集)未结构化数据。信息源132 可包括公共和/或私人信息源。例如,在一些实施例中,文档/段落分析器130可访问通过组织(诸如,用于保健领域的自然语言医疗报告集合)而保持的未结构化文档的一个或多个集合。在一些实施例中,可访问和检索来自任何合适的公共源(诸如,互联网网站)的与给定领域相关的未结构化文档。
可按任何合适的方式来识别未结构化文档(诸如,自然语言网页) 与给定领域的相关性。在一些实施例中,一个或多个网站的页面可被 (例如,人类专家)指定为与特定领域(例如,诸如cnet.com和 pcmag.com的产品评论站点、诸如amazon.com和ebay.com的产品销售站点、和/或包含可被指定为与产品推荐领域相关的消费者对产品的评论的社交媒体站点;诸如imdb.com和rottentomatoes.com的电影信息站点,和可被指定为与电影信息领域相关的诸如wikipedia.org的有可能更常见的信息站点等)相关。可替代地或另外地,在一些实施例中,文档/段落分析器130可访问(例如,由领域建模器110保持的)一个或多个特定于领域的本体,文档/段落分析器130可在搜索作为特定于领域的本体的一部分的概念提及时抓取网页。可按任何合适方式来检测这些提及。例如,在一些实施例中,文档/段落分析器130可对用于任何概念标签的自然语言文档和/或与特定于领域的本体中的概念关联的已知替代术语或同义词执行词语搜索,并且可将这些术语的出现标记为对对应概念的提及。这是“实体检测”的示例。可应用任何合适的实体检测技术(一个或多个),其中包括已知技术,因为实施例在这方面不受限制。在一些实施例中,当在文档中检测到特定于领域的概念的提及时,或者当检测到足够的概念提及和/或足够集中于领域的概念的提及以给出与领域具有至少阈值水平的相关性的文档时,可针对给定领域,选择并检索包括在QA***100的知识库中的文档。可按任何合适方式来执行和/或阈值化这些相关水平的评分。
在一些实施例中,可例如通过由QA***100的一个或多个处理器执行的程序指令,将文档/段落分析器130配置成分析从信息源132中检索到的自然语言文本并且注释它们,以增强例如在特定领域中回答问题时它们的可用性。在一些实施例中,可针对自然语言文档来产生注释的索引,并且可将带索引的文档以任何合适的数据格式存储在带索引的未结构化数据集(一个或多个)140中。可按任何合适方式来执行自然语言文本文档的这种索引。一些实施例可利用2014年9月12日提交的名称为“Text Indexing and PassageRetrieval”的美国专利申请No. 14/485,176中公开的文本索引技术。该申请其全部内容特此以引用方式并入本文中。
例如,在一些实施例中,文档/段落分析器130可将自然语言文本划分成多个单元,其中,每个单元在文档的索引中具有单独的条目和注释。可根据任何合适的标准来定义这些单元并且这些单元可具有任何合适的长度。在一些实施例中,自然语言文本可被划分成句子单元,并且每个句子可在文档索引中具有其自身的条目。在一些实施例中,如以下进一步讨论的,这可允许通过将单个索引的相邻句子组合来识别支持对用户问题的回答的文本段落,并且确定这些文本段落以提供问题回答的相关证据。如以下讨论的,在一些实施例中,QA***可通过搜索与索引条目(例如,个体句子)连同索引中的其相关注释对应的个体文本单元和/或对其进行评分来评价带索引的自然语言文本与用户问题的相关性。
可在索引自然语言文本中应用任何合适的注释,包括美国专利申请 No.14/485,176中描述的注释中的任一个。在一些实施例中,文档/段落分析器130可使用任何合适的实体检测技术(一个或多个),对(例如,由领域建模器110保持的)一个或多个特定于领域的和/或独立于领域的本体中的已知概念的提及进行注释。在一些实施例中,文档/段落分析器130可利用自然语言文档来识别作为文档标题或章节小标题的一部分的文本,该文本与主体文本形成对照。这可按任何合适方式(诸如,通过分析标识标题和小标题的网页标记代码(例如,XML、 HTML标记等))进行。又如,可使用在美国专利申请No.14/485,176 中公开的任何合适技术。在一些实施例中,文档/段落分析器130可包括属于这些文档和/或章节的索引条目(例如,句子)的注释中的对应标题和/或章节小标题中的文本。这些注释可变成可用于QA***100,如以下进一步讨论的,以至少部分地基于其中出现段落的文档或章节的标题或小标题,将主体文本段落识别为与回答用户问题相关。任何其他合适的注释可可替代地或另外地包括在(例如,针对个体句子的)索引条目中,以在评价条目与用户问题的相关性时提供情境信息。例如,在一些实施例中,可包括应对指代(诸如,其先行词出现在前一句子中的一个句子中的代词)的注释。在这种情况下,通过用其先行词来注释代词(有可能作为已知本体概念的提及),可允许QA***100单个评价包括该代词的句子,而不会忽略其在文档中的情境含义。
如以上讨论的,在一些实施例中,由文档/段落分析器130索引的未结构化文档可被存储在数据集(一个或多个)140中,供后续用于回答问题。可替代地或另外地,在一些实施例中,可在没有执行索引的情况下或者在QA***100接收并存储未结构化文档时只执行部分索引的情况下将一些未结构化文档存储在数据集140(一个或多个)中。在一些这样的实施例中,当后续在回答问题时使用文档时,可执行进一步的索引,如以下进一步讨论的。在一些实施例中,这可允许通过在文档用于后续处理时对该文档执行一些或全部文本索引(与在文档进入***时对所有文档进行索引相对)来保留资源。在其他实施例中,可不对存储在数据集(一个或多个)140中的一些或全部未结构化数据执行索引;应该理解,在一些实施例中,不需要文本索引。
在一些实施例中,文档/段落分析器130可向领域建模器110提供关于它已经分析过的未结构化数据的信息,或者可按其他方式将此类信息并入为QA***100保持的领域模型中。例如,在一些实施例中,当文档/段落分析器130识别在特定领域中跨多个文本文档出现的公共章节和/或章节小标题时,该信息可被传达给领域建模器110,领域建模器 110可存储关于公共章节以及它们可如何用于该领域中的问题回答的数据。例如,在一些实施例中,当特定于领域的本体内的特定概念的提及频繁出现在主体文本中的多个自然语言文本文档公共的特定章节中或者特定章节小标题中时,领域建模器110可将指向该文档章节的指针附于本体中的该概念,作为对于在回答与该本体概念相关的问题时进行的搜索该文档章节可能是相关的指示。此外,在一些实施例中,文档/段落分析器130可在分析来自信息源132(例如,网页内的结构化表)的文件时遭遇结构化数据,并且文档/段落分析器130可将此结构化数据转送到领域建模器110,以便直接并入结构化数据集(一个或多个)120 中。这可包括例如使用诸如上述的那些的技术将来自信息源132的结构化数据并入特定于领域的和/或独立于领域的本体中。
在一些实施例中,当文档/段落分析器130识别未结构化文档(例如,网页)或者文档内的章节或段落与特定于领域的本体内的概念相关 (例如,通过检测文档文本内的概念的提及)时,领域建模器110可更新本体,以包括到与该概念链接的文档、章节或段落的指针。例如,在一些产品推荐实施例中,文档/段落分析器130可浏览网页以定位关于特定产品的自然语言评论,并且领域建模器110可包括到特定于领域的本体中的所识别产品评论的链接。图2B例示了以下示例,其中图2A 的平板计算机本体已经被增强成包括节点210、220和230,节点210、 220和230中的每个表示与表示为本体中的概念的特定产品链接的可用自然语言产品评论。Apple iPad Air产品具有到本体中的两条评论的链接--一条(节点210)是来自pcmag.com,一条(节点220)是来自 cnet.com。Toshiba Excite 10LE产品具有到来自pcmag.com的评论 (节点230)的链接。在一些实施例中,到这些产品评论的链接可按指针的形式设置于信息源132(诸如,网页的URL)内的评论位置。可替代地或另外地,在一些实施例中,链接的产品评论可被作为对QA*** 100本地可访问的文档存储在诸如数据集(一个或多个)140中。
在一些实施例中,所识别的供QA***100使用的产品评论可包括基于评论作者对产品的使用而进行的评价。这些产品评论可包括例如顾客评论和/或专家评论。顾客评论可包括产品的购买者进行的产品评价。这些顾客评论通常可见于例如与列出待销售对应产品的页面相结合的产品销售网站(诸如,amazon.com和ebay.com)。专家评论可包括例如专门用于评价和提供关于新的和/或现有的产品的顾客信息的网站 (诸如,consumerreports.org、cnet.com、pcmag.com等)上的产品评论。这些顾客和/或专家产品评论将被与例如产品的制造商或零售商所提供或赞助的官方产品描述或销售广告区分开。然而,一些实施例可利用任一种或两种类型的产品描述。
如同结构化数据集(一个或多个)120,可在任何合适的时间(诸如,当文档/段落分析器130访问新的或更新后的文本文档或来自信息源132的其他未结构化数据时),更新和/或修改未结构化数据集(一个或多个)140。
在一些实施例中,用户152可经由用户界面150与QA***100交互,可按任何合适方式来实现用户界面150。在一些实施例中,用户 152可操作用户界面150,以输入让QA***100回答的问题。在某些情况下,可将该问题作为对话的一部分输入。在某些情况下,可用自然语言来表达该问题。自然语言问题的示例包括“Sigourney Weaver的有高大蓝色外星人的电影何时播放?”以及“哪个是价格不到$600并且具有纤薄设计的平板计算机?”等。然而,应该理解,本文中使用的术语“问题”不一定需要在语法上被严格措辞为问题(例如,带有疑问代词和问号)。其他句子/短语形式(诸如,祈使和陈述形式和句子片段)可被 QA***100解释为问题,只要它们是需求问题的回答。例如,出于本公开的目的,诸如“给我看Sigourney Weaver的有高大蓝色外星人的电影何时播放”(祈使的)、“我需要价格不到$600并且具有纤薄设计的平板计算机”(陈述的)以及“具有纤薄设计的不到$600的平板计算机”(片段)的用户输入都可被视为问题。用户152可按任何合适形式(包括文本和/或音频形式)向用户界面150提供表达问题的输入。例如,用户152可使用任何合适的文本输入***组件(诸如,键盘或触摸屏) 按文本形式来直接提供表达问题的文本输入。在另一个示例中,用户 152可使用例如麦克风和自动语言识别软件按口语音频形式来输入问题。因此,在一些实施例中,从用户152接收文本输入的QA***100 可涉及接收另一种形式的输入并且将其转换成文本。
在一些实施例中,可通过问题分析器160来处理经由用户界面150 输入的用户问题输入,可例如通过QA***100的一个或多个处理器执行的程序指令将问题分析器160配置成按有利于由QA***100进一步处理以回答问题这样的方式对问题进行解析和/或注释。在一些实施例中,问题分析器160可执行实体检测(以上讨论了示例性实体检测技术),以对由领域建模器110保持的特定于领域的和/或独立于领域的本体中的已知概念的问题中的提及进行注释。在一些实施例中,问题分析器160还可利用与可应用本体中的其他概念的相关已知关系来增强这些注释。例如,可用电影领域中的特定于领域的本体中的“电影”和“Sigourney Weaver”的概念ID还有在本体中找到的关系“Sigourney Weaver是名演员”来注释问题“Sigourney Weaver的有高大蓝色外星人的电影何时播放?”。还可用来自一个或多个独立于领域的本体中的概念ID(诸如,术语“电影”、“高大”、“蓝色”、“外星人”和“播放”的概念 ID)来注释该问题。领域模型还可包括指示一起出现的提及“电影”和“播放”暗示了“上映时间”的概念的信息,“上映时间”的概念也可以是对问题的注释主题。
在一些实施例中,问题分析器160可被配置成使用诸如已知的依存句法解析器(一个示例是可得自http://www.ciearnlp.com的由Emory University开发的Clear NLP解析器)的任何合适的解析技术(一个或多个)来解析用户的问题,以便识别问题中的词语之间的句法和/或语义关系。在一些实施例中,问题分析器160可采用此解析、注释和/或其他合适分析来从用户问题中识别正寻求的回答的最广泛特征(在本文中被称为问题的“意图”)连同关于什么回答将满足问题的任何限制约束。例如,问题“Sigourney Weaver的有高大蓝色外星人的电影何时播放?”的意图可被表达为“电影X何时播放?”。另外,“电影”和“播放”与概念“上映时间”的组合注释可使意图能够被识别为对电影X上映时间的请求。对能从问题的解析和注释识别的问题的约束包括“电影X有演员Sigourney Weaver”以及“电影X有高大蓝色外星人”。
在一些实施例中,问题分析器160可被配置成确定和识别能从可用的结构化知识库回答用户问题中的哪些部分以及从未结构化知识库能更好地回答哪些部分。这可按任何合适方式来进行。在一些实施例中,问题分析器160可通过识别映射到与结构化数据源对应的领域模型的概念和关系(例如,约束和/或意图关系)来识别用户问题中能从结构化数据源回答的部分。例如,如果结构化特定于领域的本体包含概念“Sigourney Weaver”(例如,根据应用于如上所述的问题中的“Sigourney Weaver”的提及的概念ID注释确定的)以及将电影概念 (例如,与概念“电影”具有“is-a”关系的概念)与“Sigourney Weaver”概念相联系的“has-actor”概念关系类型,则以上问题中与约束“电影X有演员Sigourney Weaver”对应的部分可被识别为能从该本体来回答。在另一个示例中,所述问题约束可被识别为能从电影的结构化数据库表来回答,该结构化数据库表在一些行中包括具有“SigourneyWeaver”条目的一个或多个“演员”列。
在一些实施例中,可向查询生成器170提交被识别为能从可用的结构化数据回答的被分析问题的一个或多个部分。可例如通过由QA*** 100的一个或多个处理器执行的程序指令将查询生成器170配置成构造一个或多个搜索查询,以基于带注释问题和/或基于源自问题分析的搜索标准的一个或多个关系、断言或其他合适表示(例如,意图和/或约束关系)来应用于结构化数据集(一个或多个)120。在一些实施例中,查询生成器170可按遵循待搜索的数据结构的格式来构造每个搜索查询(诸如,用于搜索SQL数据库的SQL查询)。例如,约束“电影X 有演员Sigourney Weaver”可以是被构造成搜索上述电影表并且返回在“演员”列中包含“Sigourney Weaver”的所有行的数据库搜索查询的基础。或者,如果待搜索的结构化数据集是上述特定于领域的本体,则搜索查询可被构造成返回与概念“电影”有“is-a”关系和与概念“Sigourney Weaver”有“has-actor”关系二者的所有概念节点。(如以上讨论的,在某些情况下,本体可事实上按数据库形式存储,使得本体搜索查询本身可被格式化为适宜的数据库搜索查询。)
在一些实施例中,查询生成器170可将它构造的搜索查询应用于适宜的结构化数据集(一个或多个)120,并且检索到的回答信息可被传递到以下进一步讨论的回答生成器190。例如,继续以上示例,与“电影 X有演员Sigourney Weaver”约束对应的一个或多个搜索查询在被应用于结构化数据集(一个或多个)120(包括例如一个或多个特定于领域的电影本体、数据库表等)时,可能会导致返回Sigourney Weaver参演的电影的列表,该列表可被作为回答信息被传递到回答生成器190。
在一些实施例中,问题分析器160还可将用户问题的一个或多个部分识别为能从一个或多个未结构化数据源更好地回答。在一些实施例中,这些部分可对应于没有被识别为能从可用的结构化数据源回答的问题的任何部分。例如,如果没有与“高大蓝色外星人”对应的特定于领域的概念节点(例如,在电影本体中)或者没有与“高大蓝色外星人”对应的数据库表的列或单元条目,则约束“电影X有高大蓝色外星人”可被识别为能从未结构化数据源更好地回答。然而,在一些实施例中,或在一些领域或情况中,可能不需要这样。在一些实施例中,如果问题的所有部分被识别为能从结构化数据源回答,则没有部分可被提交给任何未结构化数据源。然而,在其他实施例中,被识别为能从结构化数据源回答的问题的一些或全部部分也可被识别为能从未结构化数据源回答,例如,以收集从结构化数据源中检索的回答信息的其他证据和/或测试是否可从未结构化数据源中检索到增强或冲突的回答信息。在某些情况下,问题中的能从结构化和未结构化数据源回答的一些部分可重叠,使得问题中的一个或多个术语/概念参与这两种形式的搜索。在一些实施例或情况中,相关的未结构化数据源对于特定问题或领域而言会是不可用的,在这种情况下,可使用仅仅结构化数据源来尽可能接近地回答问题。类似地,一些实施例、领域或情况不能利用结构化数据源,而是可例如根据以下进一步讨论的技术利用仅仅未结构化数据源来回答问题。
在一些实施例中,问题分析器160可向查询生成器170提交用户问题中被识别为能从未结构化数据源回答的被分析部分。查询生成器170 随后可按适于搜索和检索相关未结构化数据(诸如,自然语言文本文档和/或段落)的格式从这些部分来构造一个或多个搜索查询。这可按任何合适方式来进行。例如,一些实施例可利用美国专利申请 No.14/485,176中公开的段落检索技术中的任一种。
在一些示例性实施例中,查询生成器170可使用在用户问题中和/ 或对问题分析器160所供应的问题的注释中出现的术语来构造对未结构化数据集(一个或多个)140的搜索查询。例如,问题约束“电影X有高大蓝色外星人”可形成对与包含术语“高大”、“蓝色”和“外星人”的电影领域和/或例如由来自领域模型(例如,本体)中的注释供应的那些概念的任何替代术语(例如,同义词)相关的自然语言文档的文本关键词搜索查询的基础。如以上讨论的,在一些实施例中,还可用概念ID来注释数据集(一个或多个)140中的未结构化文档,使得检索与用户问题相关的文档和/或段落在某些情况下会涉及将来自被分析问题中的概念注释与来自带索引文档的概念注释匹配。在一些实施例中,诸如,通过考虑在特定文档中匹配了多少来自搜索查询的术语和/或概念、特定文档内的匹配术语和/或概念之中的接近程度、与同一文档中匹配的问题的不同约束对应的搜索查询的数目等,按任何合适方式对不同文档与搜索查询的相关性进行评分。在其中按诸如个体自然语言句子的单元对未结构化文档进行索引的一些实施例中,如以上讨论的,可针对与搜索查询的相关性,对个体带索引单元(例如,文档句子)进行评分,并且可个体地检索高评分单元,以进行进一步分析。在一些这样的实施例中,如以上讨论的,带有来自对应章节小标题和文档标题的文本的索引单元(例如,主体文本句子)的注释可通过模拟与该段落所属的小标题和/或标题中出现的术语的接近度来增加段落的相关分数。在一些实施例中,如以上讨论的,领域模型可包括指示哪些公共文档章节通常与特定概念相关的信息,并且可按任何合适方式来利用该信息,诸如将搜索约束于所识别的文档章节,或增加这些章节中的段落的相关分数。在一些实施例中,可通过将被单个索引的相邻句子进行组合来识别和阐明段落,并且可通过将它所跨句子的相关分数进行组合来计算整体段落的相关分数。
在一些实施例中,将查询生成器170构造的一个或多个搜索查询应用于未结构化数据集(一个或多个)140的结果可以是被识别为与搜索查询相关并且被传递到证据评分器180的文档和/或段落的集合。可按任何合适方式,诸如,通过检索仅仅具有超过合适地确定的阈值的相关分数的文档/段落,或者通过针对任何合适地限定的值N检索N最佳评分文档/段落,将返回的文档/段落的集合的相关性阈值化。在一些实施例中,可例如通过QA***100的一个或多个处理器执行的程序指令,将证据评分器180配置成从检索的文档/段落中提取回答信息,并且在一些实施例中,配置成依据检索到的段落为所提取的回答信息提供的支持证据的强度来评价检索到的段落,从而有利于对用户问题的最佳回答。
证据评分器180可按任何合适方式从检索到的相关文档/段落中提取回答信息。在一些实施例中,证据评分器180可使用来自检索到的带索引段落的概念ID和/或语义解析器注释连同关于对应章节小标题、文档标题等的特定相关性的任何领域模型知识,从段落中提取一个或多个断言,以匹配来自用户问题的一个或多个意图和/或约束关系。例如,在其中使用问题约束“电影X有高大蓝色外星人”来查询未结构化数据集 (一个或多个)140的以上示例中,可返回的一个示例性自然语言文本段落是来自在wikipedia.org名为“Avatar(2009 film)”的页面的“Plot”章节的下文:
Pandora,whose atmosphere is poisonous to humans,is inhabited by theNa′vi,10-foot tau(3.0 m), blue-skinned,sapient humanoids who live in harmonywith nature and worship a mother goddess called Eywa.
在该示例段落中,可已经分别用与搜索术语“高大”、“蓝色”和“外星人”的概念ID对应的概念ID对关键词“高大”、“蓝色”和“外星人”进行注释。此外,领域模型可指明在标题中带有词语“电影”的Wikipedia文章的“Plot”章节往往会包含与电影描述相关的文本,并且这些文章的文档标题往往会包含该文章所涉及的电影的标题。从该信息,证据评分器180可提取通过段落进行的断言“Avata有高大蓝色外星人”。该断言将问题约束“电影X有高大蓝色外星人”与特定概念(“Avatar”)匹配,从而取代约束中的通用/未知概念(“电影X”),使得断言提供对问题约束的候选回答信息。
在一些实施例中,证据评分器180可依据段落用于支持所提取回答信息而提供的证据的强度来评价段落,从而有利于准确回答用户问题。这可按任何合适方式来进行。一些实施例可利用蕴涵和/或矛盾检测技术,诸如,2007年12月25日授权的名称为“Systems andMethods for Detecting Entailment and Contradiction”的美国专利No.7,313,515中公开的技术。该专利其全部内容特此以引用方式并入本文中。
例如,在一些实施例中,证据评分器180(或QA***100的任何其他合适组件,诸如,问题分析器160或查询生成器170)可将用户问题映射到一个或多个待对照从自然语言文本段落中提取的一个或多个断言进行蕴涵测试的假设。这可按任何合适方式来进行。在一些实施例中,可通过将问题或问题意图/约束关系转换成具有未知术语(诸如,疑问代词和被不定代词、限定词等取代的可变占位符)的陈述句来形成假设。例如,问题约束“电影X有高大蓝色外星人”可被转换成假设“某一电影有高大蓝色外星人”,问题“谁是美国总统?”可被转换成假设“有人是美国总统”等。
在一些实施例中,可通过确定段落是否蕴涵了与问题部分对应的假设来评价对针对问题部分的回答信息的段落的支持证据的强度。如果通过段落进行的断言蕴涵了该假设,则这可为真。蕴涵是一种逻辑关系,其中一个陈述(例如,问题假设)为真逻辑上遵循另一个陈述(例如,段落断言)是否为真。例如,如果段落断言“Avatar有高大蓝色外星人”为真,则问题约束假设“某一电影有高大蓝色外星人”也为真;因此,关于Avatar的Wikipedia文章中的该段落蕴涵了该假设并且提供了针对 Avatar的支持证据作为对“有高大蓝色外星人的电影”问题约束的回答信息。
在一些实施例中,证据评分器180可对接收到的段落执行蕴涵分析,并且可拒绝没有蕴涵问题假设的任何段落。例如,陈述“你不会在该电影中找到任何高大蓝色外星人”的关于不同电影的段落可被检索为与搜索查询高度相关,因为它包含许多搜索关键词,但它不会蕴涵问题约束假设,并且它不会为作为对用户问题的回答的其他电影提供强支持。可替代地或另外地,在一些实施例中,证据评分器180可至少部分地基于它们蕴涵一个或多个问题假设的程度对段落进行评分,并且可基于它们的评分对段落进行排序。在一些实施例中,证据评分器180可忽略评分低于合适限定阈值的段落,或者可只保持针对任何合适限定值N 的N最佳评分段落,或者可根据任何其他合适标准来删减低评分段落。
在一些实施例中,如上所述和/或利用美国专利No.7,313,515中描述的技术计算的蕴涵/矛盾分数可被用作输入统计分类器的一个特征,该统计分类器用于评分对回答项的段落的支持证据的强度。可在此分类器中使用任何其他合适特征,作为以上蕴涵/矛盾分数特征的补充或替代,其一些非限制示例可包括:
术语匹配特征:对段落和假设中的术语之间的匹配数目进行计数的特征。可存在对词语的串、引理和词性(POS)形式之间的匹配进行计数的不同变量。
串术语匹配器:对段落文本和假设之间的表面形成匹配的数目进行计数的评分器。
引理术语匹配器:对段落文本和假设之间的引理形成匹配的数目进行计数的评分器。
POS术语匹配器:对段落文本和假设之间的POS标签匹配的数目进行计数的评分器。
最大匹配聚合器:基于以上的术语匹配器来计算段落和假设中的术语之间的最佳匹配。然后,可通过以下的路径匹配器来使用它。
布朗聚类:基于用于识别实体的布朗聚类方法来计算段落和假设中的所有术语之间的距离。精确匹配是0而不匹配是1。
表面特征:一些实施例可使用两种类型的跳过二元语法(skip bi- gram)特征,第一种类型是基于文本的串结构,而第二种类型是基于文本的依赖解析结构。每种类型可存在两个变量,一个是针对术语之间的精确串匹配,而另一个是针对引理匹配。
跳过二元语法术语串评分器:在考虑到词语在句子中出现的次序的情况下计算表面形式跳过二元语法。可基于在给定假设文本的情况下可找到的二元语法的最大数目将其分数归一化在[0,1]内。
跳过二元语法术语引理评分器:类似于跳过二元语法术语串评分器,但是是在考虑到词语在句子中出现的次序的情况下计算基于引理的跳过二元语法。可基于在给定假设文本的情况下可找到的二元语法的最大数目将其分数归一化在[0,1]内。
跳过二元语法依赖串评分器:作用于通过对假设和段落二者进行解析而得到的依赖图结构。使用词语的表面形式来计算跳过二元语法,其遵循了它们之间的依赖路径。可基于在给定假设文本的情况下可找到的二元语法的最大数目将其分数归一化在[0,1]内。
跳过二元语法依赖引理评分器:与跳过二元语法依赖引理串评分器类似,但是是使用词语的引理形式来计算跳过二元语法,其遵循了它们之间的依赖路径。可基于在给定假设文本的情况下可找到的二元语法的最大数目将其分数归一化在[0,1]内。
路径匹配特征:这些特征作用于依赖路径结构,以解释诸如矛盾、蕴涵和角色匹配的语义关系。
依赖关系匹配器:测试在假设和段落之间存在多少术语-关系-术语匹配。术语匹配可以是基于MaxMatch,并且该关系可以是基于句法依赖链接。
依赖路径匹配器:将依赖关系匹配器扩展成确定在假设和段落之间有多少可变长度路径匹配。例如,如果在段落中存在术语-关系-术语-关系-术语-关系-术语,但在假设中只存在术语-关系-术语,则该匹配器可确定这二者多好地匹配。
语义关系匹配器:与依赖关系匹配器类似,但是是测试在假设和段落之间存在多少语义关系匹配。
布朗聚类PredArg匹配器:返回语义关系匹配中的术语之间的距离的平均值。例如,如果在关系的第一参数之间存在精确匹配(0)但在第二参数之间没有匹配(1),则关系的分数可以是0.5。
简单矛盾评分器:搜索简单矛盾语义关系(例如,来自依赖解析器)并且进行计数,以查看在假设和段落之间是否存在不匹配。例如,如果在假设中存在1否定而在段落中存在0,则分数将是1。如果在假设和段落二者中都存在1否定,则分数将是0。
简单蕴涵评分器:搜索被假设和段落共享的语义关系。
简单蕴涵判断:考虑简单矛盾评分器或简单蕴涵评分器是否已经启动。如果矛盾评分器启动,则蕴涵判断可将段落标记为“矛盾”。如果蕴涵评分器启动,则蕴涵判断可将段落标记为“蕴涵”。否则,它可以是中性的。
可在一些实施例中使用以上示例性分类器特征中的任一个、全部或全无,因为实施例不限于使用特征的任何特定集合。还应该理解,以上仅仅是一些示例,可能有其他。
可替代地或另外地,证据评分器180可使用任何其他合适的因素根据对回答信息的其支持证据的强度对段落进行评分和/或排序。例如,在一些实施例中,可至少部分地基于同一段落/文档蕴涵了多少源自问题的假设对段落和/或文档进行评分和/或排序。例如,其他问题约束“电影X有演员Sigourney Weaver”还可被转换成假设“某部电影有演员Sigourney Weaver”,这还可对照从关于电影Avatar的同一Wikipedia 文章中提取的断言来进行比较。在这种情况下,在以下文档的“Cast”章节中存在相关段落:
Sigourney Weaver as Dr.Grace Augustine,an exobiologist and head ofthe Avatar Program.
可从该段落(及其“Cast”章节小标题和“Avatar(2009 film)”文档标题)中提取蕴涵了问题约束假设的断言“Avatar有演员Sigourney Weaver”。在这种情况下,同一文档包含蕴涵着这两个问题约束假设的段落的事实可增加与回答信息对应的文档及其段落的支持证据分数。在一些实施例中,如果针对同一问题关系(例如,约束)从不同文档/段落中提取了多个不同的回答项,则还可对回答项本身进行评分,以确定哪个最佳回答了问题关系。在一些实施例中,可基于回答项相应的支持段落的证据分数(例如,蕴涵证据程度)对回答项进行评分。在一些实施例中,回答项分数可至少部分地取决于有多少不同的段落或文档支持该回答项。
在一些实施例中,证据评分器180用未结构化数据产生的回答项可被传递到回答生成器190,以生成对用户问题的完整回答。在一些实施例中,还可向回答生成器190提供针对一个或多个回答项(例如,针对回答项的评分最高段落、针对同一回答项的合适数量的评分最高段落的排序列表等)的一个或多个支持自然语言文本段落。在一些实施例中,例如,可通过QA***100的一个或多个处理器执行的程序指令将回答生成器190配置成将从结构化数据搜索中检索的任何回答信息与从未结构化数据产生的任何回答信息合并,以响应于用户问题而生成向用户 152展示的组合回答。这可按任何方式来进行,以下描述其示例。
在一些实施例中,可将从结构化数据搜索中检索的回答信息和源自未结构化数据分析的回答信息进行比较,以识别满足用户请求的意图和 /或约束的任何公共回答信息。在其中结构化数据搜索返回其中 Sigourney Weaver是演员的电影列表并且未结构化数据分析识别涉及高大蓝色外星人的电影的示例中,可将回答信息的集合进行比较,以确定哪些回答项有重叠。在这种情况下,电影Avatar可被识别为最佳满足两个问题约束“电影有演员Sigourney Weaver”和“电影涉及高大蓝色外星人”的回答项。
在一些实施例中,可并行执行对结构化和未结构化数据的搜索和分析,并且搜索生成器190可在已经执行了这些搜索和分析之后合并返回的回答信息。然而,在一些实施例和/或情况中,可更连续地执行对结构化和未结构化数据的搜索,带来的结果是,在检索了一个搜索之后执行另一个搜索,在这种情况下,可使用第一搜索的结果来约束第二搜索。例如,在一些实施例中,可首先执行一个或多个结构化数据搜索,并且可使用从结构化数据搜索返回的回答信息,例如通过包括源自结构化数据回答信息的附加搜索术语来约束应用于未结构化数据源的一个或多个搜索查询。例如,继续以上的示例,可首先运行返回Sigourney Weaver电影列表的结构化搜索查询,然后,可将这些电影的标题包括在针对属于涉及高大蓝色外星人的这些特定电影和描述的相关未结构化文档的搜索查询中。在一些实施例中,通过执行此连续搜索可集中搜索未结构化数据并且减少待分析文档的数目。另外,在一些实施例中,可使用来自前一结构化数据搜索的回答信息来执行未结构化数据搜索,即使结构化数据搜索已经完全回答了用户问题也是如此。在一些实施例中,可执行后续的未结构化数据搜索,以收集对自然语言段落形式的回答的支持证据。类似地,在一些实施例或情况中,可从相反方向顺序地执行搜索,其中,首先从未结构化数据中提取回答信息并且将回答信息用于约束结构化数据搜索。在一些实施例中,查询生成器170(或QA ***100的任何其他合适组件,诸如,问题分析器160)可被配置成基于例如每种类型的搜索可应对的问题约束的相对数目来进行关于要首先执行哪种类型的搜索的判定。例如,如果用户问题是“谁导演了有高大蓝色外星人的该电影?”,则查询生成器170可确定最限定的问题约束(“电影X有高大蓝色外星人”)是能用未结构化数据回答的,并且可首先运行未结构化数据查询以识别涉及高大蓝色外星人的电影。然后,可使用这些回答项来约束结构化数据搜索,以通过针对未结构化数据搜索中识别的任何电影搜索“导演”字段中的条目来应对问题意图(“谁导演了电影X”)。在一些实施例中,可交织多个顺序搜索,诸如,约束以下未结构化数据搜索的结构化数据搜索,搜索结果随后以准确和/或有效地针对用户问题来检索回答信息的任何合适方式来约束进一步结构化数据搜索。
在一些实施例中,可执行查询并且可检索回答信息,直到已经找到应对从用户问题中识别的意图的回答信息。例如,在以上的运行示例中,将Avatar识别为包括高大蓝色外星人并且有演员Sigourney Weaver的电影的回答信息满足了从问题中识别的两个约束,但是没有满足问题意图“电影X的上映时间是什么时候?”其中,现在可将电影X 识别为Avatar。因此,在该示例中,可使用从之前搜索和分析返回的回答信息来执行进一步结构化数据搜索,以返回放映时间数据库中的针对电影Avatar列出的放映时间。
在一些实施例中,回答生成器190可通过将针对每个约束的最佳回答信息与问题意图合并来针对用户问题构造直接回答(例如,针对问题意图的回答),而不管此回答信息是源自结构化数据源、未结构化数据源还是这二者。回答生成器190随后可按任何合适方式(诸如,可视显示器上的文本形式、通过自动语音合成得到的音频形式等)经由用户界面150向用户152展示回答。在一些实施例中,回答生成器190可例如用自然语言,例如,用句子(诸如,“今天Avatar的放映时间是:”) 后跟着所识别的放映时间的列表来构成回答。然而,这不是必须的。在其他实施例中,可用任何合适的形式,诸如,通过仅仅显示“Avatar:”和放映时间列表来展示回答。
在一些实施例中,回答生成器190还可经由用户界面150向用户 152展示被证据评分器180识别成为正展示的回答提供支持证据的最佳段落中的一个或多个。例如,提供Avatar的放映时间的回答可由以上引用的段落中的一个或多个支持,从而提供Avatar是用户问题正在询问(包括高大蓝色外星人和Sigourney Weaver)的电影的证据。在一些实施例中,倘若用户想要查看这些支持文档的剩余内容,可将支持段落连同到它们在其中实践的全部文档(例如,网页)的链接一起向用户 152显示。在一些实施例中,用户界面150可为用户152提供请求进一步支持证据的选项,响应于此,可显示为回答提供支持的附加段落(例如,之前没有被选择进行展示的段落,因为它们的证据强度评分低于为了展示而选择的证据强度评分)。当向用户152提供多个支持段落时,在一些实施例中,可基于证据评分器180计算出的其分数而确定的排序,将它们在用户界面150内排序。
在一些实施例或情况中,作为对用户问题的单个回答的替代,可显示多个候选回答。例如,当存在满足用户问题的意图和约束的多个回答时,或者当不能发现满足用户问题的意图和所有约束的回答时,这会是适宜的,在这种情况下,可展示均满足约束中的一些的多个替代候选回答。图3A例示了在向用户问题展示多个候选回答的这种情况下的用户界面显示的部分示例。在该实施例中,用户已经输入请求产品推荐的请求:“给我看不到$600的具有纤薄设计的平板。”在这个示例中,问题分析器160已经将问题部分(约束)“不到$600的平板”识别为能从领域建模器110所识别的结构化数据源(即,图2B中部分例示的特定于领域的本体)回答,并且将问题部分(约束)“具有纤薄设计的平板”识别为能从未结构化数据源更好地回答。查询生成器170已经针对结构化数据集(一个或多个)120(包括特定于领域的本体)构造了适宜的搜索查询,该搜索查询已经返回了与具有不到$600的MSRP的约束匹配的 Apple iPad Air和Toshiba Excite 10LE作为平板计算机产品。查询生成器170已经进一步利用与本体中的Apple iPad Air和Toshiba Excite 10 LE概念连接的链接210、220和230来检索之前被识别为与被识别为来自结构化数据搜索的回答信息的那些产品相关的(未结构化)自然语言产品评论。查询生成器170已经将一个或多个搜索查询应用于那些文档,以检索与“纤薄设计”约束相关的段落,并且证据评分器180已经针对作为对“纤薄设计”约束的良好回答的所识别产品的其支持证据的强度评价了这些段落。回答生成器190随后经由用户界面150展示每个回答 (在这种情况下,回答采取产品名称(品牌、系列和型号)和价格的形式)连同对应产品评论中的所识别的最佳支持段落(用于Apple iPad Air的两个支持段落和用于Toshiba Excite 10LE的一个支持段落)。在一些实施例中,通过在用户界面内选择支持段落中的一个,可允许用户查看与该段落对应的整个文档(例如,完整产品评论和/或从中检索产品评论的网页)。
在一些实施例中,问题回答界面(诸如,产品推荐界面)可允许用户例如通过输入附加约束来精选候选回答,而在展示初始回答之后修改问题。图3B例示了其中在查看图3A中的候选回答之后用户已经输入附加约束:“我想要Android OS”的示例。作为响应,QA***100已经处理了附加“Android OS”约束,将其识别为能从结构化数据源回答,追踪在特定于领域的本体中与对应于之前所展示回答的产品概念连接的“has-OS”关系,并且消除了Apple iPad Air候选回答,因其不满足具有 Android OS的约束。因此,在图3B中,现在只将Toshiba Excite 10 LE回答展示为满足用户产品推荐请求的所有约束。在图3B的示例中,输入约束中的每个能选择的复选框可允许用户还根据需要来去除约束,以增加所提供的候选产品回答的数目。
在一些实施例中,QA***100可具有用于根据特定领域将候选回答排序的特定标准。在产品推荐领域中,例如,用于将标准排序的选项可包括基于支持产品评论中的数字评级、支持产品评论的数目、用户指定优先次序(诸如,价格相对于评级优先)、用户位置本地的零售商处的产品可用性等,对回答排序。然而,应该理解,这些仅仅是示例,在一些实施例中可采用任何合适的排序标准,在某些情况下,不包括此标准。
应该根据上文理解的是,一个实施例涉及用于问题回答的方法 400,如图4中所示。可例如由问题回答***的一个或多个组件(诸如,问题分析器160和/或查询生成器170)来执行方法400,但其他实现方式是可能的,方法400在这方面不受限制。方法400开始于动作 410,在动作410中,可从用户接收输入问题。在一些实施例中,这可以是用自然语言表达问题的文本输入。如以上讨论的,用户可直接用文本形式或被转换成文本的另一种形式来提供接收到的文本输入。
在动作420中,可分析文本输入,包括识别问题中的能从一个或多个结构化数据源回答的一个或多个第一部分和/或能从一个或多个未结构化数据源回答的一个或多个第二部分。如以上讨论的,在一些实施例中,结构化数据源(一个或多个)可包括一个或多个数据库,并且在一些实施例中,未结构化数据源(一个或多个)可包括包含自然语言文本的文档的一个或多个集合。在一些实施例中,可诸如通过应用上述文本索引技术中的任一种来分析文档中的一个或多个。例如,在一些实施例中,文档中的一个或多个章节可被识别为与结构化数据源中出现的一个或多个分类类别(例如,数据库列概念或标签或字段标签)相关,并且可产生将文档章节识别为与分类类别相关的注释。
在动作430中,一个或多个第一查询可由能从结构化数据源(一个或多个)回答的第一问题部分(一个或多个)构成,并且可被应用于结构化数据源(一个或多个),以检索针对第一问题部分(一个或多个) 的第一回答信息。同样地,一个或多个第二查询可由能从未结构化数据源(一个或多个)回答的第二问题部分(一个或多个)构成,并且可被应用于未结构化数据源(一个或多个),以检索针对第二问题部分(一个或多个)的第二回答信息。在一些实施例中,向自然语言文本文档应用未结构化数据查询可涉及向应用于如以上讨论的文档的注释至少部分地应用查询。另外,如以上讨论的,在某些情况下,可并行应用不同查询;而在其他情况下,可顺序地应用查询,并且之前查询的结果可被用于后一查询。例如,在一些情况下,可使用从结构化数据查询中检索的回答信息来约束应用于未结构化数据源(一个或多个)的查询。
在动作440中,可合并来自结构化和未结构化数据源的回答信息,以形成对用户问题的回答,并且可在动作450中,向用户展示该回答。在一些实施例中,如以上讨论的,可将来自未结构化数据源(一个或多个)的自然语言文本的一个或多个部分识别为提供支持从未结构化数据源(一个或多个)中检索的回答信息的证据,并且可与所产生的对用户问题的回答关联地,向用户展示该自然语言文本(例如,一个或多个支持段落)。
还应该根据上文理解的是,另一个实施例涉及用于问题回答的方法 500,如图5中所示。可例如由问题回答***的一个或多个组件(诸如,证据评分器180和/或回答生成器190)来执行方法500,但其他实现方式是可能的,并且方法500在这方面不受限制。方法500开始于动作510,在动作510中,可从用户接收输入问题。如以上所述,在一些实施例中,这可以是用自然语言表达问题的文本输入。在一些实施例中,如以上详细描述的,问题可被映射到一个或多个假设。在动作520 中,可产生表达对问题的回答的输出(其可以是文本输出或其他形式的输出)。以上讨论了用于这样做的示例性技术。
在动作530中,可分析包含自然语言文本的文档,包括分析文档中的文本的一个或多个段落,以判定段落是否蕴涵来自问题的任何假设。以上描述用于蕴涵分析的示例性技术。在动作540中,响应于确定段落蕴涵了问题假设,段落可被识别为提供了对所产生的问题回答的支持证据。在动作550中,可响应于输入问题,向用户展示回答和被识别为对该回答提供了支持证据的段落(一个或多个)。在一些实施例中,如以上讨论的,可至少部分地基于针对问题回答的段落的支持证据的强度,对多个不同段落进行评分,并且可基于段落的分数,选择要向用户展示的段落中的一个或多个。
在一些实施例中,如以上描述的,产生回答输出可包括至少部分地基于一个或多个支持段落中的文本来确定回答。在一些实施例中,不同段落可支持不同的可能回答,并且可在产生回答输出时在不同的可能回答之间进行决策/选择。例如,在一些实施例中,可在有多少文档有支持第一回答的段落和有多少文档有支持第二回答的段落之间进行比较,和/或可在针对不同回答的不同段落的支持证据的强度之间进行比较,并且可基于这些比较来选择可能回答中的一个。在另一个示例中,输入回答可引起可被识别并且匹配到不同文档段落的多个约束。可将对输入问题的合适回答识别为得到段落集合支持的回答,该段落集合组合地匹配被识别为能从未结构化数据回答的问题的多个约束。在一些实施例中,可至少部分地基于有多少问题的约束与段落(一个或多个)匹配来选择要向用户展示的一个或多个支持段落。
还应该根据上文理解的是,另一个实施例涉及用于产品推荐的方法 600,如图6中所示。可例如由问题回答***(诸如,QA***100)的一个或多个组件来执行方法600,但其他实现方式是可能的,并且方法 600在这方面不受限制。方法600开始于动作610,在动作610中,可从用户接收用于询问产品推荐的问题。在动作620中,可响应于问题而产生识别向用户推荐的产品的回答。以上详细描述了用于这样做的示例性技术。在一些实施例中,所产生的回答可包括关于所推荐产品的信息 (诸如,产品的名称、品牌、型号标识符、产品图像、产品价格、提供产品以供销售的商家的标识等)。
在动作630中,可分析包含产品的自然语言文本评价的产品评论。如以上讨论的,在一些实施例中,产品评论可包括产品购买者进行的产品评价(例如,顾客评论)。在一些实施例中,产品评论可包括产品评论的作者基于产品使用进行的产品评价(例如,顾客评论或专家评论)。在动作640中,根据分析,可将产品评论中的一个或多个中的文本的一个或多个段落识别为提供对用户问题的回答中的产品的支持证据。在一些实施例中,这可涉及至少部分地基于对问题回答中的产品的其支持证据的强度对段落进行评分,并且至少部分地基于该评分来选择要向用户展示的段落中的一个或多个。在一些实施例中,如上所述,评分可涉及将问题转换成一个或多个假设,并且至少部分地基于其文本是否蕴涵假设中的任一个来对段落进行评分。在动作650中,可响应于输入问题,向用户展示产品推荐回答和被识别/选择为提供对该回答的支持证据的段落(一个或多个)。
还应该根据上文理解的是,另一个实施例涉及用于产品推荐的方法 700,如图7中所示。可例如由问题回答***(诸如,QA***100)的一个或多个组件来执行方法700,但其他实现方式是可能的,并且方法 700在这方面不受限制。方法700开始于动作710,在动作710中,可从用户接收对于推荐与请求中指定的一个或多个特性匹配的产品的请求。在动作720中,可针对请求中指定的特性中的一个或多个来搜索本体(或其他结构化数据集),以将本体中表示的产品识别为匹配要搜索的特性(一个或多个)。在动作730中,可响应于用户请求来识别要推荐的该产品。
本体(或其他结构化数据集)还可包括到自然语言产品评论的一个或多个链接,这些产品评论提供了所识别的产品与要搜索的特性(一个或多个)匹配的支持证据。在动作740中,可使用本体中的链接(一个或多个)来检索产品评论的至少一部分。如上,在一些实施例中,产品评论可包括产品购买者进行的产品评价(例如,顾客评论)。在一些实施例中,产品评论可包括产品评论的作者基于产品使用进行的产品评价 (例如,顾客评论或专家评论)。
如以上讨论的,在一些实施例中,本体可包括作为概念节点的所识别产品,该概念节点与要搜索的特性在本体中具有关系。识别要推荐的产品可包括:一旦定位对应于要搜索的特性的本体中的节点,就遍历本体中从特性到产品概念节点的关系以识别产品。在一些实施例中,关系可被编码为本体中的数据项,并且支持产品评论可与该数据项链接。检索产品评论可随后涉及跟随起自对本体中的关系进行编码的数据项的链接。
在一些实施例中,识别要推荐的产品可涉及确定产品在本体中被表示为与用户请求中指定的第一特性匹配,检索关于与第一特性匹配的产品的产品评论,并且随后,至少部分地基于产品评论中的文本分析来确定产品还与请求中指定的第二特性匹配。在一些实施例中,随后可将本体更新成包括所识别产品和基于产品评论被确定与产品匹配的第二特性之间的关系。还可将本体更新成包括到与该新关系关联的该产品评论的链接。
方法700结束于动作750,在动作750中,可响应于用户的产品推荐请求而向用户展示支持所识别产品的推荐的所检索产品评论(一个或多个)。
按照本文中描述的技术的问题回答***可采取任何合适形式,因为实施例在这个方面不受限制。在图8中示出可结合一些实施例使用的计算机***800的例示实现方式。可使用一个或多个计算机***(诸如,计算机***800)来实现上述功能中的任一个。计算机***800可包括一个或多个处理器810和可由任何合适的数据存储介质形成的一个或多个计算机可读存储介质(即,有形的非暂态计算机可读介质),例如,易失性存储器820和一个或多个非易失性存储介质830。处理器810可按任何合适方式来控制易失性存储器820和非易失性存储装置830的写数据和读数据,因为实施例在这方面不受限制。为了执行本文中描述的任何功能,处理器810可执行存储在一个或多个计算机可读存储介质 (例如,易失性存储器820和/或非易失性存储装置830)中的一个或多个指令,这些计算机可读存储介质可用作存储供处理器810执行的指令的有形的非暂态计算机可读介质。
可按众多方式中的任一个来实现上述实施例。例如,可使用硬件、软件或其组合来实现实施例。当用软件来实现时,可在任何合适的处理器或处理器集合上执行软件代码,无论它是设置在单个计算机中还是分布于多个计算机之中。应该理解,执行上述功能的任何组件或组件的集合可一般被视为控制以上讨论的功能的一个或多个控制器。可用众多方式(诸如,用专用硬件或用使用微代码或软件进行编程以执行上述功能的通用硬件(例如,一个或多个处理器))来实现一个或多个控制器。
在这个方面,应该理解,一个实现方式包括至少一个计算机可读存储介质(即,至少一个有形的非暂态计算机可读介质),诸如,计算机存储器(例如,硬驱动、闪存存储器、处理器工作存储器等)、软盘、光盘、磁带或用计算机程序(即,多个指令)进行编码的其他有形的非暂态计算机可读介质,当在一个或多个处理器上执行时,计算机程序执行以上讨论的功能。计算机可读存储介质可以是可运送的,使得存储在其上的程序可被加载到任何计算机资源上,以实现本文中讨论的技术。另外,应该理解,对当被执行时执行以上讨论的功能的计算机程序的引用不限于在主机计算机上运行的应用程序。相反,术语“计算机程序”在本文中以一般含义用于引用任何类型的计算机代码(例如,软件或微代码),可采用该计算机代码对一个或多个处理器进行编程,以实现以上技术。
本文中使用的措词和术语是出于描述的目的,而不应该被视为限制。使用“包括”、“包含”、“具有”、“含有”、“涉及”及其变型意味着涵盖此后列出的项和附加的项。在权利要求书中使用序数词(诸如,“第一”、“第二”、“第三”等)来修饰权利要求要素本身并非意味着一个权利要求要素相对于另一个的任何优先级、领先或次序或执行方法中的动作的时间次序。仅仅使用序数词作为标签来将具有特定名称的一个权利要求要素与具有相同名称(但使用序数词)的另一个要素区分开,以将权利要求要素彼此区分开。
通过详细描述本发明的几个实施例,本领域的技术人员将容易想到各种修改形式和改进形式。这些修改形式和改进形式旨在在本发明的精神和范围内。因此,以上描述只是举例,而不旨在是限制。本发明仅由随附权利要求书及其等同物来限定。

Claims (20)

1.一种方法,包括:
从用户接收用自然语言表达问题的文本输入;以及
使用经由至少一个处理器实现的分析组件来分析所述文本输入,所述分析包括:
解析所述文本输入以确定针对对所述问题的回答的一个或多个约束,其中所述解析包括:
至少部分地基于确定所述问题的第一部分的含义来确定第一约束,所述确定所述问题的第一部分的含义至少部分地基于所述问题的第一部分中的词之间的句法和/或语义关系,其中所述问题的所述第一部分包括多个词;
当确定所述第一约束对应于来自与至少一个结构化数据源相关联的至少一个结构化数据类别之中的结构化数据类别时:
从所述问题的所述第一部分构造针对所述至少一个结构化数据源配置的至少一个第一查询;以及
向所述至少一个结构化数据源应用所述至少一个第一查询,以检索针对所述问题的所述第一部分的第一回答信息;以及
当确定所述第一约束没有对应于与至少一个结构化数据源相关联的至少一个结构化数据类别中的任何结构化数据类别时:
从所述问题的所述第一部分构造针对至少一个未结构化数据源配置的至少一个第二查询;以及
向所述至少一个未结构化数据源应用所述至少一个第二查询,以检索针对所述问题的所述第一部分的第二回答信息。
2.根据权利要求1所述的方法,还包括:
合并来自所述至少一个结构化数据源的回答信息和来自所述至少一个未结构化数据源的所述第二回答信息,以形成对所述问题的回答,其中所述回答信息对应于基于所述一个或多个约束构造的一个或多个查询;以及
向所述用户展示所述回答。
3.根据权利要求1所述的方法,其中,构造所述至少一个第二查询包括使用回答信息来约束所述至少一个第二查询,其中所述回答信息与基于第二约束构造的第二查询有关。
4.根据权利要求1所述的方法,其中,所述至少一个结构化数据源包括至少一个数据库。
5.根据权利要求1所述的方法,其中,所述至少一个未结构化数据源包括含有自然语言文本的文档的至少一个集合。
6.根据权利要求5所述的方法,还包括:
分析含有自然语言文本的文档的至少一个集合中的至少一个文档,以将所述至少一个文档中的至少一个章节识别为与所述至少一个结构化数据源中出现的至少一个分类类别相关,并且产生将所述至少一个章节识别为与所述至少一个分类类别相关的至少一个注释;
其中,应用所述至少一个第二查询包括至少部分地向所述至少一个注释应用所述至少一个第二查询。
7.根据权利要求5所述的方法,还包括:
在含有自然语言文本的文档的至少一个集合中,将自然语言文本的至少一个部分识别为提供支持所述第二回答信息的证据;以及
与对所述问题的回答关联地向所述用户展示自然语言文本的至少一个部分。
8.一种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时执行一种方法,所述方法包括:
从用户接收用自然语言表达问题的文本输入;以及
分析所述文本输入,所述分析包括:
解析所述文本输入以确定针对对所述问题的回答的一个或多个约束,其中所述解析包括:
至少部分地基于确定所述问题的第一部分的含义来确定第一约束,所述确定所述问题的第一部分的含义至少部分地基于所述问题的第一部分中的词之间的句法和/或语义关系,其中所述问题的所述第一部分包括多个词;
当确定所述第一约束对应于来自与至少一个结构化数据源相关联的至少一个结构化数据类别之中的结构化数据类别时:
从所述问题的所述第一部分构造针对所述至少一个结构化数据源配置的至少一个第一查询;以及
向所述至少一个结构化数据源应用所述至少一个第一查询,以检索针对所述问题的所述第一部分的第一回答信息;以及
当确定所述第一约束没有对应于与至少一个结构化数据源相关联的至少一个结构化数据类别中的任何结构化数据类别时:
从所述问题的所述第一部分构造针对至少一个未结构化数据源配置的至少一个第二查询;以及
向所述至少一个未结构化数据源应用所述至少一个第二查询,以检索针对所述问题的所述第一部分的第二回答信息。
9.根据权利要求8所述的计算机可读存储介质,其中,所述方法还包括:
合并来自所述至少一个结构化数据源的回答信息和来自所述至少一个未结构化数据源的所述第二回答信息,以形成对所述问题的回答,其中所述回答信息对应于基于所述一个或多个约束构造的一个或多个查询;以及
向所述用户展示所述回答。
10.根据权利要求8所述的计算机可读存储介质,其中,构造所述至少一个第二查询包括使用回答信息来约束所述至少一个第二查询,其中所述回答信息与基于第二约束构造的第二查询有关。
11.根据权利要求8所述的计算机可读存储介质,其中,所述至少一个结构化数据源包括至少一个数据库。
12.根据权利要求8所述的计算机可读存储介质,其中,所述至少一个未结构化数据源包括含有自然语言文本的文档的至少一个集合。
13.根据权利要求12所述的计算机可读存储介质,其中,所述方法还包括:
分析含有自然语言文本的文档的至少一个集合中的至少一个文档,以将所述至少一个文档中的至少一个章节识别为与所述至少一个结构化数据源中出现的至少一个分类类别相关,并且产生将所述至少一个章节识别为与所述至少一个分类类别相关的至少一个注释;
其中,应用所述至少一个第二查询包括至少部分地向所述至少一个注释应用所述至少一个第二查询。
14.根据权利要求12所述的计算机可读存储介质,其中,所述方法还包括:
在含有自然语言文本的文档的至少一个集合中,将自然语言文本的至少一个部分识别为提供支持所述第二回答信息的证据;以及
与对所述问题的回答关联地向所述用户展示自然语言文本的至少一个部分。
15.一种设备,包括:
至少一个处理器;以及
至少一个存储介质,其存储处理器可执行指令,所述处理器可执行指令在被所述至少一个处理器执行时执行一种方法,所述方法包括:
从用户接收用自然语言表达问题的文本输入;以及
分析所述文本输入,所述分析包括:
解析所述文本输入以确定针对对所述问题的回答的多个约束,其中所述解析包括:
至少部分地基于确定所述问题的第一部分的含义来确定第一约束,所述确定所述问题的第一部分的含义至少部分地基于所述问题的第一部分中的词之间的句法和/或语义关系,其中所述问题的所述第一部分包括多个词;
当确定所述第一约束对应于来自与至少一个结构化数据源相关联的至少一个结构化数据类别之中的结构化数据类别时:
从所述问题的所述第一部分构造针对所述至少一个结构化数据源配置的至少一个第一查询;以及
向所述至少一个结构化数据源应用所述至少一个第一查询,以检索针对所述问题的所述第一部分的第一回答信息;以及
当确定所述第一约束没有对应于与至少一个结构化数据源相关联的至少一个结构化数据类别中的任何结构化数据类别时:
从所述问题的所述第一部分构造针对至少一个未结构化数据源配置的至少一个第二查询;以及
向所述至少一个未结构化数据源应用所述至少一个第二查询,以检索针对所述问题的所述第一部分的第二回答信息。
16.根据权利要求15所述的设备,其中,所述方法还包括:
合并来自所述至少一个结构化数据源的回答信息和来自所述至少一个未结构化数据源的所述第二回答信息,以形成对所述问题的回答,其中所述回答信息对应于基于一个或多个约束构造的一个或多个查询;以及
向所述用户展示所述回答。
17.根据权利要求15所述的设备,其中,构造所述至少一个第二查询包括使用回答信息来约束所述至少一个第二查询,其中所述回答信息与基于第二约束构造的第二查询有关。
18.根据权利要求15所述的设备,其中,所述至少一个结构化数据源包括至少一个数据库。
19.根据权利要求15所述的设备,其中,所述至少一个未结构化数据源包括含有自然语言文本的文档的至少一个集合。
20.根据权利要求19所述的设备,其中,所述方法还包括:
在含有自然语言文本的文档的至少一个集合中,将自然语言文本的至少一个部分识别为提供支持所述第二回答信息的证据;以及
与对所述问题的回答关联地向所述用户展示自然语言文本的至少一个部分。
CN201580076319.5A 2014-12-18 2015-12-18 从结构化和非结构化数据源进行的问题回答 Active CN107257970B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/575,404 2014-12-18
US14/575,404 US10303798B2 (en) 2014-12-18 2014-12-18 Question answering from structured and unstructured data sources
PCT/US2015/066707 WO2016100835A1 (en) 2014-12-18 2015-12-18 Question answering from structured and unstructured data sources

Publications (2)

Publication Number Publication Date
CN107257970A CN107257970A (zh) 2017-10-17
CN107257970B true CN107257970B (zh) 2020-12-01

Family

ID=55071254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580076319.5A Active CN107257970B (zh) 2014-12-18 2015-12-18 从结构化和非结构化数据源进行的问题回答

Country Status (4)

Country Link
US (1) US10303798B2 (zh)
EP (1) EP3234872A1 (zh)
CN (1) CN107257970B (zh)
WO (1) WO2016100835A1 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984387B2 (en) 2011-06-28 2021-04-20 Microsoft Technology Licensing, Llc Automatic task extraction and calendar entry
US10361981B2 (en) 2015-05-15 2019-07-23 Microsoft Technology Licensing, Llc Automatic extraction of commitments and requests from communications and content
US11423023B2 (en) 2015-06-05 2022-08-23 Apple Inc. Systems and methods for providing improved search functionality on a client device
US10769184B2 (en) * 2015-06-05 2020-09-08 Apple Inc. Systems and methods for providing improved search functionality on a client device
US10360902B2 (en) * 2015-06-05 2019-07-23 Apple Inc. Systems and methods for providing improved search functionality on a client device
US11803918B2 (en) * 2015-07-07 2023-10-31 Oracle International Corporation System and method for identifying experts on arbitrary topics in an enterprise social network
KR102598273B1 (ko) 2015-09-01 2023-11-06 삼성전자주식회사 답신 메시지 추천 방법 및 이를 위한 디바이스
US9959311B2 (en) * 2015-09-18 2018-05-01 International Business Machines Corporation Natural language interface to databases
US9864598B2 (en) 2015-09-18 2018-01-09 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program
US9372684B1 (en) * 2015-09-18 2016-06-21 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program via an ontology instance
US11157260B2 (en) 2015-09-18 2021-10-26 ReactiveCore LLC Efficient information storage and retrieval using subgraphs
US10318564B2 (en) * 2015-09-28 2019-06-11 Microsoft Technology Licensing, Llc Domain-specific unstructured text retrieval
US10354188B2 (en) 2016-08-02 2019-07-16 Microsoft Technology Licensing, Llc Extracting facts from unstructured information
US10031967B2 (en) * 2016-02-29 2018-07-24 Rovi Guides, Inc. Systems and methods for using a trained model for determining whether a query comprising multiple segments relates to an individual query or several queries
US10133735B2 (en) 2016-02-29 2018-11-20 Rovi Guides, Inc. Systems and methods for training a model to determine whether a query with multiple segments comprises multiple distinct commands or a combined command
US10691885B2 (en) * 2016-03-30 2020-06-23 Evernote Corporation Extracting structured data from handwritten and audio notes
US10169328B2 (en) 2016-05-12 2019-01-01 International Business Machines Corporation Post-processing for identifying nonsense passages in a question answering system
US9842096B2 (en) * 2016-05-12 2017-12-12 International Business Machines Corporation Pre-processing for identifying nonsense passages in documents being ingested into a corpus of a natural language processing system
US10585898B2 (en) 2016-05-12 2020-03-10 International Business Machines Corporation Identifying nonsense passages in a question answering system based on domain specific policy
US11210459B1 (en) 2016-09-23 2021-12-28 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US11138370B1 (en) 2016-09-23 2021-10-05 Massachusetts Mututal Life Insurance Company Modifying and using spreadsheets to create a GUI on another device
US10540152B1 (en) * 2016-09-23 2020-01-21 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US10496737B1 (en) 2017-01-05 2019-12-03 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US20180293234A1 (en) * 2017-04-10 2018-10-11 Bdna Corporation Curating objects
US10728622B2 (en) 2017-08-25 2020-07-28 Sony Interactive Entertainment LLC Management of non-linear content presentation and experience
US10922358B2 (en) 2017-10-13 2021-02-16 Kpmg Llp System and method for analysis of structured and unstructured data
US11321364B2 (en) 2017-10-13 2022-05-03 Kpmg Llp System and method for analysis and determination of relationships from a variety of data sources
US11907299B2 (en) * 2017-10-13 2024-02-20 Kpmg Llp System and method for implementing a securities analyzer
US11409749B2 (en) 2017-11-09 2022-08-09 Microsoft Technology Licensing, Llc Machine reading comprehension system for answering queries related to a document
CN107862058B (zh) * 2017-11-10 2021-10-22 北京百度网讯科技有限公司 用于生成信息的方法和装置
US10387576B2 (en) * 2017-11-30 2019-08-20 International Business Machines Corporation Document preparation with argumentation support from a deep question answering system
WO2019118927A2 (en) * 2017-12-14 2019-06-20 Symphony Retailai Conversational intelligence architecture system
US10853396B2 (en) * 2017-12-22 2020-12-01 Sap Se Intelligent natural language query processor
US20190318004A1 (en) 2018-04-13 2019-10-17 Nuance Communications, Inc. Intelligent Call Center Agent Assistant
US11442938B2 (en) * 2018-04-27 2022-09-13 The Charles Stark Draper Laboratory, Inc. Intelligent targeted reasoning
US11048878B2 (en) * 2018-05-02 2021-06-29 International Business Machines Corporation Determining answers to a question that includes multiple foci
US11977551B2 (en) 2018-05-24 2024-05-07 Sap Se Digital paper based interaction to system data
US11113175B1 (en) * 2018-05-31 2021-09-07 The Ultimate Software Group, Inc. System for discovering semantic relationships in computer programs
US11157704B2 (en) * 2018-06-18 2021-10-26 DataChat.ai Constrained natural language processing
US10990421B2 (en) 2018-06-27 2021-04-27 Microsoft Technology Licensing, Llc AI-driven human-computer interface for associating low-level content with high-level activities using topics as an abstraction
US11354581B2 (en) 2018-06-27 2022-06-07 Microsoft Technology Licensing, Llc AI-driven human-computer interface for presenting activity-specific views of activity-specific content for multiple activities
US11449764B2 (en) 2018-06-27 2022-09-20 Microsoft Technology Licensing, Llc AI-synthesized application for presenting activity-specific UI of activity-specific content
US10885081B2 (en) * 2018-07-02 2021-01-05 Optum Technology, Inc. Systems and methods for contextual ranking of search results
US11120060B2 (en) 2018-10-23 2021-09-14 International Business Machines Corporation Efficient resolution of syntactic patterns in question and answer (QA) pairs in an n-ary focus cognitive QA system
CN111177328B (zh) 2018-11-12 2023-04-28 阿里巴巴集团控股有限公司 问答匹配***和方法及问答处理设备和介质
KR20200094853A (ko) 2019-01-25 2020-08-10 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10915561B2 (en) 2019-01-28 2021-02-09 International Business Machines Corporation Implementing unstructured content utilization from structured sources in system for answering questions
US11610058B1 (en) 2019-01-29 2023-03-21 Hitps Llc Systems and methods for reflexive questionnaire generation
US11036941B2 (en) * 2019-03-25 2021-06-15 International Business Machines Corporation Generating a plurality of document plans to generate questions from source text
CN110688478B (zh) * 2019-09-29 2021-11-30 腾讯科技(深圳)有限公司 一种答案排序方法、装置及存储介质
US11188580B2 (en) * 2019-09-30 2021-11-30 Intuit, Inc. Mapping natural language utterances to nodes in a knowledge graph
WO2021108679A1 (en) * 2019-11-27 2021-06-03 ConverSight.ai, Inc. Contextual and intent based natural language processing system and method
US11347800B2 (en) * 2020-01-02 2022-05-31 International Business Machines Corporation Pseudo parse trees for mixed records
CN111177306B (zh) * 2020-01-02 2023-09-26 中国银行股份有限公司 一种数据处理方法及装置
CN111368051A (zh) * 2020-02-28 2020-07-03 平安科技(深圳)有限公司 一种对话生成方法、装置及计算机设备
EP4127967A4 (en) 2020-03-23 2024-05-01 Sorcero, Inc. FEATURE ENGINEERING WITH QUESTION GENERATION
US11410447B2 (en) 2020-06-19 2022-08-09 Bank Of America Corporation Information security assessment translation engine
EP4200717A2 (en) * 2020-08-24 2023-06-28 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
US11443101B2 (en) * 2020-11-03 2022-09-13 International Business Machine Corporation Flexible pseudo-parsing of dense semi-structured text
CN112765194B (zh) * 2020-12-31 2024-04-30 科大讯飞股份有限公司 一种数据检索方法及电子设备
US20220309107A1 (en) * 2021-03-29 2022-09-29 International Business Machines Corporation Self-supervision in table question answering
US20220334709A1 (en) 2021-04-14 2022-10-20 DataChat.ai User interface for data analytics systems
CN113033159A (zh) * 2021-04-28 2021-06-25 高小翎 智能高效的印刷业管理***nlqi改进方法
CN113377936B (zh) * 2021-05-25 2022-09-30 杭州搜车数据科技有限公司 智能问答方法、装置及设备
US11977854B2 (en) 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989507B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989527B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
CN116910250A (zh) * 2023-06-28 2023-10-20 北京百度网讯科技有限公司 知识处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910003B1 (en) * 1999-09-17 2005-06-21 Discern Communications, Inc. System, method and article of manufacture for concept based information searching
CN101477568A (zh) * 2009-02-12 2009-07-08 清华大学 一种结构化数据和非结构化数据综合检索的方法
CN103229223A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用多个候选答案评分模型提供问题答案
CN103412925A (zh) * 2013-08-13 2013-11-27 南京烽火星空通信发展有限公司 一种结构化数据和非结构化数据综合检索的***及方法
WO2014177301A1 (en) * 2013-04-29 2014-11-06 Siemens Aktiengesellschaft Device and method for answering a natural language question using a number of selected knowledge bases

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904428B2 (en) * 2001-04-18 2005-06-07 Illinois Institute Of Technology Intranet mediator
US7313515B2 (en) * 2006-05-01 2007-12-25 Palo Alto Research Center Incorporated Systems and methods for detecting entailment and contradiction
US20070266024A1 (en) * 2006-05-11 2007-11-15 Yu Cao Facilitated Search Systems and Methods for Domains
US20080228716A1 (en) * 2007-03-13 2008-09-18 Dettinger Richard D System and method for accessing unstructured data using a structured database query environment
US20080263006A1 (en) * 2007-04-20 2008-10-23 Sap Ag Concurrent searching of structured and unstructured data
US7949654B2 (en) * 2008-03-31 2011-05-24 International Business Machines Corporation Supporting unified querying over autonomous unstructured and structured databases
US8335778B2 (en) * 2008-09-17 2012-12-18 Oracle International Corporation System and method for semantic search in an enterprise application
US9367608B1 (en) * 2009-01-07 2016-06-14 Guangsheng Zhang System and methods for searching objects and providing answers to queries using association data
US20110078192A1 (en) * 2009-09-30 2011-03-31 International Business Machines Corporation Inferring lexical answer types of questions from context
US20110125734A1 (en) * 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
EP2622510A4 (en) * 2010-09-28 2017-04-05 International Business Machines Corporation Providing answers to questions using logical synthesis of candidate answers
EP2622428A4 (en) * 2010-09-28 2017-01-04 International Business Machines Corporation Providing answers to questions using hypothesis pruning
US20130218880A1 (en) * 2012-02-21 2013-08-22 Salesforce.Com, Inc. Method and system for providing a recommended product from a customer relationship management system
US8515828B1 (en) * 2012-05-29 2013-08-20 Google Inc. Providing product recommendations through keyword extraction from negative reviews
US9558263B2 (en) * 2013-12-05 2017-01-31 International Business Machines Corporation Identifying and displaying relationships between candidate answers
US9721004B2 (en) * 2014-11-12 2017-08-01 International Business Machines Corporation Answering questions via a persona-based natural language processing (NLP) system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910003B1 (en) * 1999-09-17 2005-06-21 Discern Communications, Inc. System, method and article of manufacture for concept based information searching
CN101477568A (zh) * 2009-02-12 2009-07-08 清华大学 一种结构化数据和非结构化数据综合检索的方法
CN103229223A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用多个候选答案评分模型提供问题答案
WO2014177301A1 (en) * 2013-04-29 2014-11-06 Siemens Aktiengesellschaft Device and method for answering a natural language question using a number of selected knowledge bases
CN103412925A (zh) * 2013-08-13 2013-11-27 南京烽火星空通信发展有限公司 一种结构化数据和非结构化数据综合检索的***及方法

Also Published As

Publication number Publication date
US10303798B2 (en) 2019-05-28
WO2016100835A1 (en) 2016-06-23
EP3234872A1 (en) 2017-10-25
CN107257970A (zh) 2017-10-17
US20160179934A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
CN107257970B (zh) 从结构化和非结构化数据源进行的问题回答
US9652799B2 (en) Product recommendation with product review analysis
US10783159B2 (en) Question answering with entailment analysis
US9846901B2 (en) Product recommendation with ontology-linked product review
US9576241B2 (en) Methods and devices for customizing knowledge representation systems
US9715493B2 (en) Method and system for monitoring social media and analyzing text to automate classification of user posts using a facet based relevance assessment model
US11080295B2 (en) Collecting, organizing, and searching knowledge about a dataset
US9280535B2 (en) Natural language querying with cascaded conditional random fields
US11474979B2 (en) Methods and devices for customizing knowledge representation systems
US8346795B2 (en) System and method for guiding entity-based searching
Van de Camp et al. The socialist network
Afzaal et al. Multiaspect‐based opinion classification model for tourist reviews
US20230237028A1 (en) Methods and devices for customizing knowledge representation systems
Asgari-Bidhendi et al. Farsbase: The persian knowledge graph
Zhang Start small, build complete: Effective and efficient semantic table interpretation using tableminer
Charnine et al. Association-Based Identification of Internet Users Interest
Durao et al. Expanding user’s query with tag-neighbors for effective medical information retrieval
Zhang et al. A semantics-based method for clustering of Chinese web search results
CA2886202C (en) Methods and devices for customizing knowledge representation systems
Balog et al. Utilizing Entities for an Enhanced Search Experience
Lissandrini et al. Textual Data
García Moya Modeling and analyzing opinions from customer reviews
Kang A Hierarchical Framework for Online Product Review Helpfulness Assessment
Najmi Improving User Experience In Information Retrieval Using Semantic Web And Other Technologies
Tjin-Kam-Jet et al. Using a stack decoder for structured search

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231023

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Massachusetts

Patentee before: Nuance Communications, Inc.