CN114139546A - 使用语法树集合之间的差异和语义树集合之间的差异制定问题 - Google Patents
使用语法树集合之间的差异和语义树集合之间的差异制定问题 Download PDFInfo
- Publication number
- CN114139546A CN114139546A CN202111030246.XA CN202111030246A CN114139546A CN 114139546 A CN114139546 A CN 114139546A CN 202111030246 A CN202111030246 A CN 202111030246A CN 114139546 A CN114139546 A CN 114139546A
- Authority
- CN
- China
- Prior art keywords
- tree
- nodes
- semantic
- syntax
- identifying
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Animal Behavior & Ethology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本公开提供了使用语法树集合之间的差异和语义树集合之间的差异制定问题。所公开的***涉及从文本生成问题。在示例中,一种方法包括从第一参考文本形成第一语义树以及从第二参考文本形成第二语义树。所述方法包括识别在所述第一语义树中但不在所述第二语义树中的语义节点集合。所述方法包括形成所述第一参考文本的第一语法树和所述第二参考文本的第二语法树。所述方法包括识别在所述第一语法树中但不在所述第二语法树中的语法节点集合。所述方法包括:通过识别语义节点与语法节点之间的对应性来将所述语义节点集合映射到所述语法节点集合;从归一化词形成问题片段;以及向用户设备提供所述问题片段。
Description
相关申请的交叉引用
本申请要求于2020年9月4日提交的美国临时申请号63/074,778的权益,所述美国临时申请的内容通过引用以其整体并入本文。
技术领域
本公开总体上涉及语言学。更具体地,本公开涉及使用语义和语法技术来执行文本分析和问题生成。
背景技术
语言学是对语言的科学研究。语言学的一个方面是将计算机科学应用于人类自然语言,如英语。由于处理器速度和存储器容量的大幅增加,语言学的计算机应用程序正在兴起。例如,计算机使能的语言话语分析促进了许多应用,如可以回答来自用户的问题的自动代理。但是许多现有解决方案无法充分利用语言的语义和语法方面,从而导致较差的问题生成***和其他下游应用。
发明内容
通常,本公开的***、设备和方法与问题生成***有关。
在一方面,一种从文本生成问题的方法包括从第一参考文本形成第一语义树并且从第二参考文本形成第二语义树。每个语义树包括节点和边缘。每个节点表示对应实体的角色。每个边缘表示实体中的两个实体之间的关系。所述方法进一步包括从所述第一语义树和所述第二语义树中识别(i)在所述第一语义树中并且(ii)不在所述第二语义树中的语义节点集合。所述方法进一步包括形成所述第一参考文本的第一语法树和所述第二参考文本的第二语法树。每个语法树包括表示词的终端节点和表示语法类别的语法节点。所述方法进一步包括从所述第一语法树和所述第二语法树中识别在所述第一语法树中但不在所述第二语法树中的语法节点集合。所述方法进一步包括通过识别所述语义节点集合中的第一节点与所述语法节点集合中的第二节点之间的对应性,将所述语义节点集合映射到所述语法节点集合。所述第一节点和所述第二节点与相同的归一化词相关联。所述方法进一步包括从所述归一化词形成问题片段。所述方法进一步包括向用户设备提供所述问题片段。
在另外的方面,识别所述语义节点集合包括识别所述第一语义树与所述第二语义树之间的语义最大公共子树,所述语义最大公共子树包括最大数量的:节点,每个节点表示所述第一语义树与所述第二语义树之间公共的公共实体;以及所述节点之间的边,所述边表示所述公共实体中的两个或更多个公共实体之间的语义关系。识别所述语义节点集合包括从所述第一语义树中去除在所述语义最大公共子树中的节点。
在另外的方面,识别所述语法节点集合包括从所述第一语法树和所述第二语法树中识别语法最大公共子树,所述语法最大公共子树包括最大数量的:节点,每个节点表示所述第一语法树与所述第二语法树之间公共的公共实体;以及父节点,所述父节点表示所述节点中的一个或多个节点的语法类别。识别所述语法节点集合进一步包括从所述第一语法树中去除在所述语法最大公共子树中的节点。
在另外的方面,形成问题片段包括识别所述归一化词表示(i)名词、(ii)动词、(iii)形容词或(iv)副词;以及用疑问词替换所述词,其中,疑问词是(i)什么、(ii)何地、(iii)对谁、(iv)谁、或(v)如何之一。
在另外的方面,识别所述归一化词表示名词、动词、形容词或副词包括从与所述归一化词相关联的文本、所述语义节点集合和所述语法节点集合中的一个或多个构建附加语法树,其中,所述附加语法树包括附加节点。
在另外的方面,形成所述问题片段包括从与所述归一化词相关联的文本中提取候选问题片段。形成所述问题片段进一步包括识别所述候选问题片段与文本片段模板之间的相似性水平。形成所述问题片段包括响应于确定所述相似性水平大于阈值,而将所述候选问题片段识别为所述问题片段。
在另外的方面,所述方法进一步包括从所述用户设备接收对所述问题片段的响应以及基于所述响应更新本体中的条目。
上述方法可以实施为有形计算机可读介质和/或在计算机处理器和所附接的存储器内操作。
附图说明
图1描绘了根据一个方面的示例性问题生成环境。
图2描绘了根据本公开的一个方面的表示可以对其生成问题的信息的语义树。
图3描绘了根据本公开的一个方面的语法表示的示例性映射。
图4描绘了根据本公开的一个方面的语义表示的示例性映射。
图5(包括5A和5B)描绘了根据实施例的文本之间语义映射的示例。
图6描绘了根据一个方面的用于从文本生成问题的示例性过程。
图7描绘了用于实施各方面之一的分布式***的简化图。
图8是根据一个方面的***环境的部件的简化框图,通过所述***环境,由方面***的部件提供的服务可以作为云服务提供。
图9图示了本公开的各方面可以在其中实施的示例性计算机***。
具体实施方式
本文所公开的方面为计算机实施的语言学领域提供了技术改进。具体地,所公开的***采用语义技术和语法技术自动生成问题,所述问题旨在请求增加或完善参考文本中的信息的答案。因此,所公开的解决方案增加了基于计算机的问题和答案***、搜索***和其他应用程序的准确性和实用性。
一些现有的方法分为以下组:基于语法、基于语义、基于模板、基于规则和基于模式。基于语法的方法对文本的语法树进行操作以生成问题。基于语义的方法依赖于更深层次的文本理解。基于模板的算法使用由固定文本和由输入填充的一些占位符构成的模板。基于规则的方法的主要特征是使用基于规则的知识源来生成评估对领域重要规则的理解的问题。由于该定义意味着这些方法需要深度理解(超出语法理解),因此基于模板的方法可以被认为属于基于语义的类别。基于模式的***类似于模板,但更抽象,聚合了表示相同问题的变体的模板。
但是现有解决方案聚焦于从文本生成问题。该方法并不寻求提高参考文本或数据库的稳健性和完整性。相比之下,所公开的技术采用语法和语义方法不仅产生改进的生成问题,而且产生对在被增加时将增加参考文本的问题的识别。这些问题获取文本之外的信息,并且如此可以用于对该文本进行分类或做出决定。例如,通过识别哪些信息是可用的与哪些信息是需要的之间的差异,所公开的技术制定了问题,使得获得的***需要的信息。
出于讨论的目的引入以下非限制性示例。应用程序访问第一参考文本(例如,知识库)和第二参考文本(例如,新信息)。应用程序形成用于到达参考文本的语法树和语义树。应用程序从生成的语法树和语义树识别表示在第二参考文本中但不在第一参考文本中的信息的节点。应用程序从这些识别的节点形成问题,当问题被回答时,会增加或完善第二参考文本中的知识。
这些技术的应用包括医学诊断。例如,在一些自动化应用程序中,开发问题和获得响应对于如诊断等正式程序是有用的。因此,这些方法可以改进问题的意义和所得健康诊断的整体准确性。
图1描绘了根据一个方面的示例性问题生成环境。图1描绘了第一参考文本105、第二参考文本110、计算设备120和问题140。在所描绘的示例中,计算设备120访问第一参考文本105和第二参考文本110,并且使用语法和/或语义技术生成问题140。
计算设备120包括应用程序122、语义解析器124、语法解析器126、训练数据128和机器学习模型130。计算设备的示例包括分别在图7和图8中描绘的客户端计算设备702、704、706和708以及云计算设备802、客户端设备804、806、808。
应用程序122可以使语义解析器124从输入文本,例如,第一参考文本105或第二参考文本110,创建一个或多个语义树。例如,语义解析器124可以从第一参考文本105创建第一语义树并且从第二参考文本110创建第二语义树。应用程序122可以使语法解析器126可以从输入文本(例如,第一参考文本105或第二参考文本110)创建一个或多个语义树。例如,语义解析器124可以从第一参考文本105创建第一语法树并且从第二参考文本110创建第二语法树。
机器学习模型130可以是任何种类的预测模型,如分类器、决策树、神经网络等。可以使用训练数据125来训练机器学习模型130。训练数据125可以包括训练对,每个训练对包括要提供到机器学习模型130的输入数据和预期分类。在训练期间,将预期分类与生成的分类进行比较,并且调整分类模型的一个或多个参数以最小化损失。机器学习模型130可以用于生成语法树或识别两个语法树的公共节点。
应用程序122使用语义解析器124从第一参考文本105和第二参考文本110生成语义树。应用程序122从语义和/或语法树形成问题,所述问题可以用于增加在文本中一个文本(例如,第二参考文本110)中不存在并且在另一个参考文本(例如,第一参考文本105)中存在的知识。在所描绘的示例中,第一参考文本105如下:
如果在细菌感染期间,患者体温升高,那么他/她血液中的白血细胞数量会大大增加。
第二参考文本110如下:
我患有感染,我的体温在晚上升高。
应用程序122使用语法和语义技术生成以下问题140:
你的感染是细菌性吗?
你的体温仅在晚上升高吗?
关于图6进一步讨论了用于生成问题的过程的示例。然后可以使用生成的问题140来增加或完善第二参考文本110中的信息。当问题140被回答时,获得补充信息使得第二参考文本是完整的。鉴于该示例在医学领域,完整表示可用的所呈现医学问题的充分描述。
图2描绘了根据本公开的一个方面的表示可以对其生成问题的信息的语义树。图2描绘了案例信息(C)202(例如,第一参考文本)和知识(K)206(例如,第二参考文本)。信息204表示案例信息(C)202与知识(K)206之间公共的信息。如本文进一步解释的,可以例如通过使用一个或多个最大公共子树得到信息204。信息208表示需要询问的信息。信息208存在于知识(K)206中,但不存在于案例信息C中。然而,即使当被识别为存在于知识(K)206的子集中时,信息208也可能是不完整的。
所公开的技术生成可以被视为需要添加到C以覆盖K的信息的问题。为了满足来自K的规则的条件,所述条件在提出问题Q之前不包括在C中,确定这些问题的主题,制定问题,并且当获得答案时,K被补全并且可以应用来自K的规则进行诊断。
在医学领域,C可以表示医生的知识(包括参考文本)并且K表示患者对医生说的话。例如,尝试诊断或治疗患有医学病状的患者的医生可能有一些背景知识C。患者提供了附加信息K。但是K不完整。所公开的解决方案制定问题,当问题被回答时,导致获得补充信息,使得呈现对医学问题的治疗的完整描述。
疑问问题(Q)可以制定如下。如果K|-C,则Q为空。在许多情况下,案例描述有限或者知识有限,所以没有足够的关于K|-C的证据。因此,需要问题Q,使得一旦问题Q被回答(其变量被实例化),则K+实例化(Q)|-C。换言之,一旦通过关键问题获得缺失信息实例化(Q),则知识K应该能够覆盖(解释、提供论据)C。Q是满足该条件的问题的最小形式表示集。对于实际应用,问题是用自然语言形成的,QNL。
K和C的一些示例:
1)K是规则的如果(IF)部分。为了使规则适用,通过问题获取缺失信息。
2)K是对事物的预期(文献中如何描述疾病),并且C是患者描述的关于她如何经历疾病的事物。QNL则是针对每种来自K与C之间的差异的症状t的一系列问题“为什么tK与tC不同?”。
3)K和C是两个文本。文本之间的差异被识别并被转换为问题。如果这两个文本与两个不同类别相关联,则回答这些问题会使给定情况与任一类别有关。
因此Q可以被视为C减去K的逻辑减法:问题的目标是C中没有被K覆盖的部分。注意与一般问题生成难题的差异。
问题生成技术作为对测试开发人员在构建大量良好质量问题时所面临的挑战的解决方案而出现。问题生成涉及构建用于从知识源产生问题的算法,所述知识源可以是结构化的(例如,知识库,或非结构化的(例如,文本))。可以为知识库的验证、对话代理的开发以及问题回答或机器阅读理解***的开发生成问题,其中问题用于训练和测试。
所公开的技术可以在不同的应用领域中被采用。例如,学习、理解和应用经典的和非经典的逻辑法则有助于在医学领域高效工作。它允许人们有效、一致且无错误地进行所有推理,并且以正式方式证明假设。推断需要回答的重要问题并且从获得的答案形成猜想是医疗保健领域推理任务整体范围的重要部分。
另外地,在教育中,问题生成可以减少问题构建的成本(在金钱和努力两方面),这进而又使医学教育者能够将更多时间花在其他重要教学活动上。除了节省资源外,有大量良好质量问题使得能够用如适应性测试等附加活动来丰富医学教学过程,这旨在使学***等问题特性可以通知构建具有特定要求的良好质量测试。
存在如文本注释和干扰项生成等不同任务中采用的公开可用的知识库(KB)。基于医学案例的问题语料库可以包括超过四百个基于案例的自动生成的问题,所述问题遵循以下模式:(“最可能的诊断是什么?”、“选择的药物是什么?”、“最可能的临床发现是什么?”和“鉴别诊断是什么?”)。
问题生成的其他研究领域是分析推理、几何、历史、逻辑、编程、关系数据库和科学。简单的事实特殊疑问(wh-question)(即,答案是输入中明确提及的简短事实)和填充问题(也被称为填空问题或封闭式问题)是生成最多的问题类型。
医学领域的问题生成示例如下:患者报告说她‘发热且疲倦且咽喉痛’。医师怀疑她可能患有COVID19,但患者所说的不足以诊断COVID19。医师需要来自患者的更多证据。COVID19的知识库条目在下表1中示出:
在表1中,加下划线的特征是患者报告的特征。为了生成确认诊断所必需的问题,医师需要从KB中的症状集合中减去患者报告的症状集合。通过该方式得到的问题为:
你有干咳吗?
你有疼痛吗?
你有腹泻吗?
一旦患者回答了这些问题,就可以做出诊断。COVID19已确认或未确认(除了询问附加问题外,还需要进一步调查)。在COVID19的该特殊案例下,症状是良好结构化的,因此使用了集合论减法(补集运算)。然而,在需要同义词匹配、推理的不同术语中,症状描述可能更繁琐。有人可能会说“我没有足够的精力做事”,并且可以做出所述陈述意味着‘疲倦’的推断以制定问题。
症状经常用更复杂的句子描述,因此需要更多的处理步骤来识别患者描述中缺失的内容,以匹配知识库条目中的症状描述。
在医学应用中,应选择术语以准确处理病症、综合征和病状的健康状态的逻辑。病症是对正常身体结构和功能的破坏。症状是患有疾病的人可以感觉到但其他人无法看到或测量的感觉,如疼痛或疲劳。综合征是与特定健康相关原因相关的体征和症状的集合。疾病通常在一般意义上在提到影响身体***(例如,心血管疾病)或身体的一部分(例如,足疾病)的病状时使用。
医学病状是干扰正常或惯常健康感的异常健康状态的涵盖性术语。病状是最不具体的概念,通常表示被认为正常或健康的健康状态,但仍然暗含提供如妊娠等医疗保健。所述术语还可以用于指示健康等级(例如,患者可以被描述为处于稳定、严重或危急病状)。
基于分离定律(肯定前件式(modus ponendo ponens))的蕴涵规则,其指出“如果P暗含Q。P为真。因此,Q也必定为真。”示例文本如下:
***是唯一如果在早期检测到则可以100%治愈的人体器官癌症。在患者中,早期以所谓的蔓延前癌(0级)的形式检测到***。
因此:该癌症将被完全治愈。
基于假言三段论规则的推理的示例。假言三段论是有效的论证形式,是其一个或两个前提都有条件陈述的三段论。
规则:如果在细菌感染期间,患者体温升高,那么他/她血液中的白血细胞数量会大大增加。
白细胞计数增加使更快通过吞噬作用吸收细菌。
因此:
感染过程中体温升高是身体的免疫应答,并且通过吞噬作用防止疾病进一步发展。
图3描绘了根据本公开的一个方面的语法表示的示例性映射。更具体地,图3描绘了包括语法树310和语法树320的映射300。
语法树310表示文本“如果在细菌感染期间,患者体温升高,那么他/她血液中的白血细胞数量会大大增加(If during the bacterial infection the temperature of thepatient’s body rises,then the number of white blood cells in his/her bloodwill considerably increase)”。该文本表示第一参考文本(例如,表示医学知识主体的规则)。
语法树320表示文本“我患有感染,我的体温在晚上升高(I have an infection,my temperature rises at night)”。该文本表示第二参考文本(例如,患者提供的信息)。
应用程序122识别关系330和关系340。关系330将语法树310中的词“感染(infection)”与语法树320中的词“感染”关联。类似地,关系340将语法树310中的词“体温(temperature)”与语法树320中的词“体温”关联。
可以从映射300中得出以下问题:
案例规则1:你的感染是细菌性吗?(Is your infection bacterial?)
案例规则2:你的体温仅在晚上升高吗?(Does your temperature rise at nightonly?)
如可以看到的,在回答上述问题时阐明了关系330和340,由此完善了诊断中缺失的知识。即使在语法树310和320中都存在相同的词“感染”和“体温”,也应该阐明细节。
替代语法解析或除语法解析之外,可以应用语义解析来将自然语言句子映射到语义表示。语义树是指语义信息的通用表示,其包括句子中词的含义。
AMR就是这样一种语义表示,并且可以涉及生成在边缘(关系)和叶(概念)上带有标签的有根、有向无环图。AMR包括可读英语句库,所述可读英语句库与其整句逻辑含义配对,从而产生与语法解析器一样普遍存在的语义解析器。AMR表示的构建块是概念和概念之间的关系。理解这些概念和其关系有助于计算句子的含义。
一旦这两个问题都得到肯定回答,就可以做出基于否定后件式(modus tollendotollens)规则的推论。否定后件推理(modus tollens)论证的形式类似于三段论,有两个前提和一个结论:
如果P,则Q。
非Q。
因此,非P。
继续该示例,应用否定后件式规则会产生以下:
如果患者已经感染了引起水痘的水痘病毒,则在长达三周的时间段内,他的/她的身体将出现被红色边包围的水泡。
医生怀疑到目前为止尚未患过水痘的患者可能已经与感染了水痘病毒的人接触。他想确定患者是否被感染。三周后,患者的身体上看不到皮疹。
因此:该患者并未感染水痘病毒。
图4描绘了根据本公开的一个方面的语义表示的示例性映射。图4描绘了语义表示400,其包括语义树410、语义树420、映射430和映射440。
语义树410表示案例,其文本为“两周前我起了带有红色边的水泡(Two weeks agoI had blisters with red border)”。语义树420表示文本“如果患者已经感染了引起水痘的水痘病毒,则在长达三周的时间段内,他的/她的身体将出现被红色边包围的水泡(Ifthe patient has been infected with varicella virus causing chickenpox,then inthe period up to three weeks on his/her body will appear blisters surroundedby red border)”。
映射430表示案例到前提的映射。更具体地,映射430将语义树410中的实体“水泡(blister)”映射到语义树420中的实体“水泡”。映射440表示示出不一致的案例的映射。更具体地,映射440将语义树420中为数量(“quant”)的实体“2”映射到语义树420中为数量(“quant”)的实体“3”。
由于实体中的差异(“2”与“3”),映射440表示出不一致。因此,应用程序122创建问题‘为什么在两而不是三[周前]我起了带有红色边的水泡?’。因此,为了制定问题,前提-案例关系被确定为试图达到案例覆盖前提的状态。
推理可以以两种方式进行:根据推理规则,或者通过示出反例。下面的示例进一步阐明了在医疗保健领域中使用的推理。
问题作为语言表示的相对补集
作为C和K的相对补集的期望问题Q的表示可以定义为集合和语言表示图。提供了C和K的话语水平表示和语义水平表示的示例,并且所述示例示出了如何从其中得到Q表示。
疾病描述如下:“血压升高的人患糖尿病的风险增加。这种关联的强度随着身体质量指数和年龄的增加而下降。高血压与压力相关联。如深腹式呼吸、渐进式肌肉放松、引导想象和生物反馈等自然疗法可以帮助缓解压力。并且情绪压力会影响人的血糖水平。因此,学会放松对于管理糖尿病很重要。然而,自然疗法不能治愈糖尿病。”
案例描述如下:“案例:我有高血压,吃咸的食物,身体质量指数低并且平均年龄46岁。我的生活与压力相关联。我担心患糖尿病的风险。”从案例描述中可以得到用于诊断病状的规则。规则条件未覆盖的短语以下划线示出。
未覆盖的短语产生问题,这些问题的答案预期会覆盖这些问题,并且然后除此可用规则外,还使用这些知识来精确处理案例。需要“吃咸的食物<影响疾病>吗?”这个问题使得疾病描述假设地扩展到包括“吃咸的食物会使糖尿病恶化”。
下面以文本形式示出了病状描述的话语树。缩进表示话语树的嵌套级别。可用部分以下划线示出,并且缺失部分在规则条件的[]中示出。
对比
阐述(从左到右)
文本:血压升高的人患糖尿病的风险增加。
阐述(从左到右)
阐述(从左到右)
文本:这种关联的强度随着身体质量指数和年龄的增加而下降
文本:高血压与压力相关联。
阐述(从左到右)
阐述(从左到右)
联合
文本:[如深腹式呼吸、渐进式肌肉放松、引导想象]
文本:和[生物反馈等自然疗法]可以帮助缓解压力。
文本:并且情绪压力会影响人的[血糖水平]。
文本:因此,学会放松对于管理糖尿病很重要。
文本:然而,[自然疗法]不能治愈糖尿病。
要询问的问题应该概括“如……等自然疗法”,并且也根据其发生的修辞关系放入适当的逻辑中。因为“自然疗法不能治愈糖尿病”作为对比的附属出现,所以必须被要求保持否定:“[您是否知道/确保患者了解]自然疗法无法治愈糖尿病?”
图5(包括5A和5B)描绘了根据实施例的文本之间语义映射的示例。图5包括表示案例的语义树502和表示症状的语义树504。
应用程序122可以从语义树502和504中得到问题。为了分离期望但缺失的问题,可以逐句执行这种语义“减法”。在下面的示例中,疾病概述、症状和案例如下所示:
疾病概述
偏头痛是可以引起剧烈疼痛的常见头痛类型。偏头痛可以持续数小时或数天,并且可能导致抽动、对声音或光敏感、恶心或呕吐。偏头痛由某些食物、压力或其他因素触发的异常大脑活动引起。一些人在偏头痛之前有预兆,可能会有包括暂时性视力丧失、眼冒金星或闪光、或手臂或腿部刺痛的症状。偏头痛无法治愈,但药物可以帮助减轻疼痛或防止偏头痛的发生。
症状(由语义树504表示):
偏头痛最常见的症状包括头部[一侧]可能更严重的钝性或剧烈头痛,以及头部抽动、搏动或撞击。其他症状可以包括食欲不振、恶心和呕吐、对声音或光敏感、发冷、出汗、麻痹或刺痛,以及排尿增加。(The most common symptoms of migraine include a dull orsevere headache that may be worse on[one side]of the head,and a throbbing,pulsating,or pounding in the head.Other symptoms may include loss ofappetite,nausea and vomiting,sensitivity to sound or light,chills,sweating,numbness or tingling,and increased urination.)
案例(由语义树502表示):
[额部]剧烈搏动性头痛,摄食量非常低,呕吐,避光,不出汗,并且在食用辛辣食物后频繁排尿。(A severe headache in[frontal area]that is pulsating,very lowfoodconsumption,vomiting,avoidance of light,with no sweating and with a frequenturination after taking spicy food.)
映射500包括症状之间的映射(标记为“一致”)。但是映射500涉及症状与病例之间的不一致。例如,在映射500中,还示出了症状与案例之间的不一致,具体地语义树502包括“额部”并且语义树504包括“一侧”。
在症状描述的上下文中需要围绕这两个实体的阐明问题。例如,短语‘在头部一侧可能更严重的剧烈头痛’并且形成或(OR)短语来阐明这种不一致:‘在一侧或额部可能更严重的剧烈头痛’。最后,产生问题‘[您的]剧烈头痛是否在一侧或额部更严重?’。
问题从K和C的关键字集合中得到,所述关键字集合被称为相对补集。如果C和K是关键字集合,则K中C的相对补集(表示为C\K)是在K中但不在C中的元素的集合。C、K1和K2可以被视为拆分的知识库K1和K2的关键字的三个集合。提供了以下一组补集表达式:
C\(K1∩K2)=(C\K1)∪(C\K2)
C\(K1∪K2)=(C\K1)∩(C\K2)
需要优先于K1对K2进行处理:
C\(K2\K1)=(C∩K1)∪(C\K2)
K2\K1∩C=K1∩(C\K1)
K2\K1∪C=(K2∪C)\(K1\C)
两个AMR图CAMR和KAMR的补集定义如下。在简单的图G中,G的边缘补集(表示为Gc)被定义为具有相同节点集合的图,使得当且仅当两个边缘在原始G中不相邻时,所述两个边缘在Gc中相邻。为了生成图的补集,填充了形成完整图所需的所有缺失边缘,并且去除先前存在的所有边缘。如果H是G的子图,则相对补集G\H是从G中删除H的所有边缘得到的图。
MAMR表示CAMR和KAMR的最大公共子图。为了计算问题Q的表示,定义了相对补集MAMR\KAMR。由MAMR\KAMR表示的MAMR和KAMR的相对补集是与KAMR具有相同节点集合的图,如果对应节点在KAMR中相邻但在MAMR中不相邻,则两个节点在MAMR\KAMR中相邻。MAMR是KAMR的生成子图(包含原始图KAMR的所有顶点的子图)。
可以从AMR图片段生成文本。抽象含义表示(AMR)是语义表示。图结构重建可以用于AMR到文本的生成问题。提出了链路预测目标和距离预测目标,用于增强捕获节点表示中的结构信息和语义关系。作者在两个英文AMR基准上进行了实验,并且取得了新的最先进性能。
链路预测需要模型来预测两个给定节点之间的关系或在给定源节点(或目标节点)和标记的边缘的情况下预测目标节点(或源节点)。距离预测需要模型来预测两个给定节点之间的距离。所有要预测的信息都在输入图中显式或隐式提供,并且模型基于学习到的节点表示重建图结构。前者鼓励模型在节点表示中尽可能多地编码邻居关系信息,并且后者帮助模型区分来自邻近节点和远节点的信息。借助这两个目标,学习到的节点表示可以减少输出文本中语义关系误译和信息缺失的错误。
一旦获得C和K的AMR表示,从AMR表示生成简单文本片段的能力就很重要,并且然后得到AMR片段来形成期望答案的问题Q。AMR→文本分量对于从高级别抽象表示中自动“发明”问题很重要。
已经通过集合和图描述了Q的表示,所述表示还可以表达为逻辑表示。包含在K中但未被C覆盖的知识可以计算为C中的C与K之间的泛化(generalization)的补集。更精确地,这种泛化需要是最小一般的(least general)以包括尽可能多的C中未覆盖的知识块。
Q=C-反合一(C,K)
反合一(anti-unification)是构建两个给定符号表达式所共用的泛化的过程。泛化计算是学习中的一项常见任务,其中ML***从给定具体示例中提取公共特征。
如果可以通过变量替换从r获得t,则项r是项t的泛化。在逻辑中,所述问题通常针对两个项而制定:给定的s和t,问题是计算这两个项的泛化,即项r,使得可以通过一些变量替换从r中获得s和t。有趣的泛化是那些保留s与t之间最大相似性的泛化,并且以统一方式通过新变量抽象它们的差异。这种泛化被称为最小一般泛化(LGG)。例如,项f(a,g(a))和f(b,g(b)),其中a和b是常数,有若干泛化:x、f(x,y)、f(x,g(y))和f(x,g(x)),但LGG是一个:f(x,g(x))。这指示原始项在第二自变量中具有公共的主二元函数符号f和一元函数符号g,并且f的第一自变量和g的自变量相同。
寻找两个或更多个项的公共泛化的问题已经被制定为计算LGG,该LGG最大化地保持输入项之间的相似性,并且通过新变量统一抽象所述输入项之间的差异。例如,如果输入项是t=f(a,a)和s=f(b,b),则LGG是LGGf(x,x)。与如f(x,y)或仅x等其他泛化相比,这给出了关于t和s的结构的更精确信息。也就是说,示出了t和s不仅具有相同的头部f,而且t和s中的每一个的两个自变量都相等。
LGG(f(t1,......,tn),f(s1,......,sn))=f(LGG(t1,s1),......,LGG(tn,sn)),对于任何f,
单个谓词头痛()用于形式化K和C两者。该谓词头痛()的自变量具有以下语义类型:
[强度、位置、感觉、关联症状、敏感性]。
症状=头痛(强度(剧烈),位置(一侧),感觉([抽动搏动撞击],[发冷(),出汗(),麻痹(),刺痛()]),关联症状([食欲(低),恶心(),呕吐(),排尿(高频)]),]),敏感性([声音(),光()]))。
案例=头痛((强度(剧烈),位置(额部),感觉([搏动],关联症状([食欲(低),排尿(高频)]),敏感性([光(躲避)]))。
LGG(症状案例)=头痛(强度(剧烈),位置(?),感觉([搏动],关联症状([食欲(低),排尿(高频)]),敏感性([光(躲避]))。
人们可以观察到一些缺失症状从LGG中消失了。缺失症状不会阻止触发此症状规则。然而,位置(?)分量示出了案例与症状的偏差,所以位置(?)需要被阐明,从而形成问题的基础。
为了获得最小必要问题集,从案例中减去LGG(症状,案例)并且仅获得头痛(_,位置(?),,,)。符号‘_’用于表示匿名变量(任何值、未知值、两个不同值的泛化结果)。符号‘?’指示匿名变量的特殊情况。
为了得到最大问题集,从症状中减去LGG(症状,案例):
症状-LGG(症状,案例)=头痛(位置(一侧),感觉([抽动,撞击],[发冷(),出汗(),麻痹(),刺痛()]),关联症状([恶心(),呕吐()]),])。
可以定义相对补集的运算。提供了项t及其m个实例,t的t1、……、tm。t/t1∨……∨tm表示是t的实例但不是项t1、……、tm中任何项的实例的所有基本项的集合G。t的相对于t1、……、tm的相对补集t1‘∨……∨tk‘是G的最小显式表示。G是项t1‘∨......∨tk‘的基本实例的并集,并且ti‘和tj‘,对于i≠j,没有公共的实例。计算相对补集在ML中是有用的,其中可以通过术语集合连同其值的例外来表达概念。
泛化关系可以在项集合上定义。上面介绍的直接从关系≤(……比……更少一般)得到的一对一泛化不足以用于从正确的泛化关系中把握所需的内容。
男性和女性可以用3个属性来表示:美丽、智慧和大小。项男性(美丽,智慧,)的否定是什么?直观地,一个单一项无法描述它:否定可以是“是女性”、“是丑陋的男性”或“是愚蠢的男性”。可以通过封闭世界假设(Closed World Assumption)丢弃“是狗”:无法通过签名获得该描述。所以为了描述否定,就必须表示不相容项的所有可能性。这可以通过采用这些项中最一般的项来完成,因此可以通过以下三个项的集合来描述正确的否定:{女性(,_,_),男性(丑陋,_,),男性(,愚蠢,_)}。但是,既然这迫使操纵项集合,那么泛化关系如何转置到这种集合?一对一泛化足够吗?(对于与上述相同的签名)例如以下项集合:
G={男性(丑陋,,高大),男性(,愚蠢,矮小)}
这个集合泛化了完全实例化的项:
男性(丑陋,愚蠢,高大)和男性(丑陋,愚蠢,矮小)
通过关系≤的一对一使用作为泛化程度。但是然后,再次使用封闭世界假设(签名中的男性仅可以是高大或矮小),这些是以下项的所有可能实例:男性(丑陋,愚蠢,_)。
存在用于子句的一种最小一般泛化(LGG)算法,所述子句是原子公式或其否定的析取(或集合)。那里的泛化概念与项的泛化概念不同:当前仅当存在替换θ使得(读作Lθ包含于D)时,子句L比子句D更一般(写作L≤D)。例如, 可以轻易地看到,取θ={y->x}。子句的LGG是唯一按模≤以及由包含关系生成的等价项(equivalence)。
关于高阶项的反合一,LGG不是唯一的,并且必须考虑问题的特殊片段或变体以保证LGG的唯一性。这种特殊情况包括具有高阶模式、对象项、限制项等的泛化。例如,λx.f(g(x))和λx.h(g(x))的模式LGG是λx.Y(x),忽略这些项具有公共子项g(x)的事实。其发生是因为模式限制需要将自由变量应用于不同约束变量的序列。获得自由变量Y的泛化适用于约束变量x,并且不适用于给定项的更复杂的公共子项g(x)。
为了定义句子、短语或词的含义,可以使用N元模型(n-gram)。n元模型的含义是“在可以使用n元模型的所有上下文中的任何公共之处”。这种“公共”知识在关于θ-包含(θ-subsumption)的LGG的帮助下被形式化。例如,对于两种上下文{obj(o1),clr(o1,re),shp(o1,骨骼),obj(o2),clr(o2,gr),shp(o2,软骨),relpos(o1,lo,o2)}和{obj(o3),clr(o3,gr),shp(o3,软骨),obj(o4),clr(o4,re),shp(o4,软骨),relpos(o3,lo,o4)},其LGG、两种上下文的最具体公共模式为{obj(B),clr(B,re),shp(B,D),obj(E),clr(E,gr),shp(E,软骨),obj(A),clr(A,C),shp(A,D),relpos(A,lo,F),obj(F),clr(F,G),shp(F软骨)},其中大写字母是变量。所述上下文指出有红色和绿色对象(分别是对象B和E),E是软骨,并且在软骨F的左侧有对象A。这并不意味着这些对象必然是不同的。n元模型的含义是可以使用它的所有上下文中的最具体公共模式。存在可以逐步学习特定n元模型的含义的简单算法:每当出现新示例(上下文/短语对)(C,P)时,更新P中每个n元模型G相对于C的含义,即,使用程序更新(G,C)。后者可以定义为
更新(G,C):-如果含义(G)未定义,则含义(G):=C否则含义(G):=LGG(C,含义(G))。
图6描绘了根据一个方面的用于从文本生成问题的示例性过程600。例如,给定案例描述C,公开的解决方案使用语义或语法相关性评估寻找关于疾病K的症状的相关知识。例如,为了估计C\K,公开的解决方案为C和K中的每一个形成语义(AMR)和语法表示,将C的表示映射到K的表示,并且对准这些表示。
在框601处,过程600涉及从第一参考文本形成第一语义树并且从第二参考文本形成第二语义树。第一参考文本的示例是案例信息(C)202,并且第二参考文本的示例是知识(K)206。应用程序122根据案例信息(C)202形成第一语义树并且根据知识(K)206形成第二语义树。
每个语义树包括节点和边缘并且每个节点表示对应实体的角色。每个边缘表示实体中的两个实体之间的关系。在示例中,节点表示实体(例如,地点、人或事物)。每个边缘表示实体中的两个实体之间的关系。来自语义树的信息可以可替代地用文本表示。在一些案例中,在创建语义树之前,将问题转换为归一化形式或句子形式。
在框602处,过程600涉及从第一语义树和第二语义树中识别在第一语义树中且不在第二语义树中的语义节点集合。一种方法是首先找到公共的节点。例如,应用程序122可以首先如通过形成最大公共子树来确定共性。然后,应用程序112可以根据共性从第二语义树中的节点中减去公共语义节点。
识别两个树公共的节点可以通过泛化或识别最大公共子树来完成。最大公共子树包括最大数量的节点,每个节点表示第一语义树与第二语义树之间公共的公共实体,并且包括节点之间的边缘,所述边缘表示公共实体中的两个或更多个公共实体之间的语义关系。一旦创建了最大公共子树,则从第一语义树中去除语义最大公共子树中的节点。
可以使用不同的方法来识别公共子树,包括对准第一和第二语义树。例如,公共子树包括节点,每个节点表示第一语义树与第二语义树之间公共的实体,并且所述公共子树具有节点之间的边缘,所述边缘表示实体之间的语义关系。节点在第一语义树和第二语义树中共享。
识别公共子树可以涉及对准树。图对准算法从AMR和T中选择成本最小的一对节点v和u作为初始种子。联系随机断裂。一旦找到种子,就构造节点v和u周围所有可能半径的球体。节点v周围半径为r的球体是距v的距离为r的节点集合SAMR(v,r)={x∈AMR:d(v,x)=r},其中,距离d(v,x)是从v到x的最短路径的长度。然后通过搜索尚未对准并且可以以最小成本对准的对(v’,u’):v’∈SAMR(v,r)并且u’∈ST(u,r)将两个网络中相同半径的球体贪婪地一起对准。
当初始种子(v,u)周围的所有球体都已对准时,AMR和T两者中的其他节点仍未对准。对图对(AMRp,Tp),p=1..3重复相同的算法,并且试图在必要时再次识别新的种子。当且仅当AMR中节点v与x之间的距离小于或等于p时,图AMRp被定义为新图AMRp=(V,Ep),所述新图具有与AMR相同的节点集合并且具有(v,x)∈Ep。换句话说,dAMR(v,x)≤p。AMR1=AMR。使用AMRp(p>1)将一个图中长度为p的路径与另一个图中的单个边缘对准,这类似于在序列对准中允许“***”或“删除”。当来自AMR的每个节点与T中的一个节点完全对准时,对准程序停止。
在框603处,过程600涉及形成第一参考文本的第一语法树和第二参考文本的第二语法树。每个语法树包括表示词的终端节点和表示语法类别的语法节点。每个语法树包括表示词和相关联词性的语法节点。图3中示出了语法树的示例。
在框604处,过程600涉及从第一语法树和第二语法树中识别在第一语法树中但不在第二语法树中的语法节点集合。可以使用不同的方法。例如,首先可以确定公共节点。应用程序122可以首先如通过形成最大公共子树、通过使用机器学习或通过使用泛化来确定共性。然后,应用程序122可以根据共性从第二语法树中的节点中识别并去除公共节点。
例如,应用程序122使用最大公共子树方法从第一语法树和第二语法树中识别语法最大公共子树。语法最大公共子树包括最大数量的节点,每个节点表示第一语法树与第二语法树之间公共的公共实体,并且其中父节点表示所述节点中的一个或多个节点的语法类别。应用程序122从第一语法树中去除在语法最大公共子树中的节点。
在一方面,基于机器学习的方法可以识别公共节点。在这种情况下,语法树被提供到经过训练的机器学习模型(例如,机器学习模型130),所述机器学习模型识别并输出公共语法节点。公共语法节点连接在第一语法树与第二语法树之间。
在另一个示例中,可以使用如语法泛化等算法方法。在示例中,第一语法树和第二语法树可以合并为公共树。在公共树中,识别了两个语法树公共的名词或实体。
为了测量由逻辑公式表示的抽象实体的相似性,提出了对许多机器学习方法的最不一般泛化,包括基于解释的学习和归纳逻辑编程。对于词性(POS)相同的两个词,其泛化是POS相同的词。如果两个词的词元(lemma)不同但POS相同,则POS保留在结果中。如果词元相同但POS不同,则词元留在结果中。词元表示没有相关词性信息的词。
为了说明这个概念,考虑两个自然语言表达的示例。表达的含义由逻辑公式表示。构建了这些公式的合一和反合一。一些词(实体)被映射到谓词,一些被映射到其自变量中,还有一些词没有显式地出现在逻辑形式表示中,而是指示以上带有自变量的谓词实例化。
考虑以下两个句子“数字变焦照相机”和“面向初学者的变焦照相机”。为了表达含义,使用了以下逻辑谓词:
照相机(特征名称,用户类型)和
变焦(变焦类型)。
注意,这是简化的示例,并且如此与更典型的示例相比,自变量数量可能会减少。继续所述示例,上述表达可以表示为:
照相机(变焦(数字),任何用户(AnyUser)),和
照相机(变焦(任何变焦(AnyZoom)),初学者)
根据记法,变量(未实例化的值、未在NL表达中指定)大写。给定以上公式对,合一计算其最一般特化(specialization):照相机(变焦(数字),初学者),并且反合一计算其最具体泛化:照相机(变焦(任何变焦),任何用户)。
在语法层面上,这些表达经受两个名词短语的泛化(‘^’),如:{NN-照相机,PRP-具有,[数字],NN-变焦[面向初学者]}。方括号中的表达被删除,因为其出现在一个表达中,但没有出现在另一个表达中。因此,获得{NN-照相机,PRP-具有,NN-变焦},得到了语义泛化的语法类比。
抽象泛化的目的是在不同语义级别寻找文本的部分之间的共性。泛化操作发生在一个或多个级别上。级别的示例为段落级别、句子级别、短语级别和词级别。
在每一级(词级别除外),单独词、两个表达的泛化结果是表达集合。在这种集合中,对于每一对表达,使得一个比另一个更少一般,后者被消除。两个表达集合的泛化是多个集合中的集合,所述集合是这些表达成对泛化的结果。
一对词仅存在单个泛化:如果相同形式的词相同,则结果是具有该形式的该词的节点。为了涉及word2vec模型(Mikolov等人,2015),使用以下规则计算两个不同词的泛化。如果主语1=主语2,则主语1^主语2=<主语1,POS(主语1),1>。否则,如果所述主语的词性相同,则主语1^主语2=<*,POS(主语1),word2vecDistance(主语1^主语2)>。如果词性不同,则泛化是空元组。无法进一步泛化。
对于一对短语,泛化包括短语中词的所有最大有序泛化节点集合,使得保留了词的顺序。在以下示例中,
“今天,星期一,买数字照相机。”
“数字照相机在今天,本月的第一个星期一,是很划算的购买物。”
泛化为{<JJ-数字,NN-照相机>,<NN-今天,ADV,星期一>},其中名词短语的泛化之后是副词短语的泛化。动词买(buy)被排除在两个泛化之外,因为所述动词在上述短语中以不同的顺序出现。买-数字-照相机(buy-digital-camera)不是泛化短语,因为买与其他泛化节点的出现顺序不同。
在另一个示例中,
“来自西班牙的电影”
和“来自意大利的电影”
则泛化为“来自[国家]的电影”
保留所有公共的内容;去除所有不同的内容。
返回过程600,在框605处,过程600涉及通过识别语义节点集合中的第一节点与语法节点集合中的第二节点之间的对应性,将语义节点集合映射到语法节点集合,其中,第一节点和第二节点与相同的归一化词相关联。
例如,应用程序122识别语义节点集合中的第一节点和语法节点集合中对应于相同的归一化词的第二节点。归一化词的示例是词元。例如,“是(am)”的词元是“是(be)”。在一些情况下,公共的词可以是完全相同的词,例如,“房子(house)”。在其他情况下,所述词可能与相同实体相关,但可能是不同的词。实体的示例包括如人物、地点和事物等名词。
框606可以继续,潜在地识别语义节点集合与语法节点集合之间的许多相同词。
在框606处,过程600涉及从归一化词、语义节点集合和语法节点集合中的一个或多个形成问题片段。可以使用各种方法来形成问题片段。
例如,形成问题可以包括识别归一化词表示(i)名词、(ii)动词、(iii)形容词或(iv)副词。该识别包括从与公共节点子集相关联的文本构建解析树(语法树)。解析树包括例如名词短语或动词短语的节点。应用程序122从节点中选择表示名词、动词、形容词和/或副词的节点。
继续所述示例,应用程序122然后可以用疑问词替换所识别的词。疑问词的示例是什么(what)、何地(where)、对谁(whom)、谁(who)、如何(how)或谁的(whose)。其他疑问词也是可能的。下面的表3列出了一些关于如何用疑问词替换解析树的各个部分的示例。
在另一方面,模板可以用于形成问题。例如,应用程序122从与公共节点子集相关联的文本中提取候选问题片段。应用程序122然后识别所述候选问题片段与文本片段模板之间的相似性水平。文本片段模板可以存储在表格中。候选问题片段的示例在表3中示出。
可以使用语法泛化来确定相似性水平。例如,将问题片段和文本片段模板泛化,从而创建泛化结果。应用程序122识别如通过泛化结果中的多个匹配实体和实体之间的相同关系测量的相似性水平。
可以使用相似性阈值。例如,如果相似性水平大于阈值,则应用程序122将候选问题片段识别为问题片段。
在框607处,过程600涉及向用户设备提供问题片段。作为响应,用户设备可以提供问题的答案。应用程序122然后可以相应地更新案例信息(C)202(例如第一参考文本)或知识(K)206(例如第二参考文本)中的一个或多个。
问题扩展
在一个方面,采用了推理链来扩展生成的问题。人工智能(AI)可以用于构建推理链。AI长期致力于为***提供明确的知识,并且对知识进行推理以得出结论。这种推理形式能够支持问答、可解释性、可纠正性和反事实推理部件和***。
基于语言所表达规则的推理与在段落中选择答案范围的问答截然不同。相反,期望的是***对所提供的规则进行推理以寻找随后的结论。目标也不同于从示例中归纳规则的目标,例如,给定家庭关系的实例,从而归纳出父亲的父亲是祖父,这是众所周知的转换器做得很好的事情。相反,作者明确提供了规则,并且期望转换器得出适当的结论。某些方面涉及使用学习来模拟推理算法,而不是从示例中归纳出规则。
给定事实和子句的集合,推理链构建器将子句应用于事实以得到与问题相关的新事实。规则是连接意义条件的语言表达:[∧条件]*→结论,具有否定和封闭世界假设的逻辑程序的语义。推理是根据这些语义推导出语句的真值。
人们期望的是专家***中的知识应该易于检查和更改,并且所述***应该能够提供对其结果的解释。初看起来,逻辑程序中的知识很容易更改,因为知识仅由事实和规则构成。从陈述性的角度来看,情况确实如此。然而,常见的困难是当知识被特定推理引擎解释时,添加具有预期陈述含义的规则会产生意外的程序性影响。例如,以下规则具有明显的常识陈述性含义,但它可能会导致若干种众所周知的推理机制的控制问题,包括逻辑程序的控制问题:
如果(‘疾病Y与疾病X相关联')则(‘疾病X与疾病Y相关联')
为了解决这一难题,Apt等人(1988)提出了一类有用的带有否定的逻辑程序,称为分层程序(stratified program),这些程序不允许递归和否定的某些组合。该类中的程序具有分别基于模型理论和反向链接(back-chaining)解释器的简单陈述性和程序性含义。赋予程序陈述性含义并且独立于分层的分层程序的标准模型以两种方式表征:
1)非单调运算子的不动点理论;
2)抽象的陈述性表征。
传统的形式推理将定理证明器应用于公理以回答问题。(b)这里的工作致力于语言模拟,其中转换器作为语言表达知识的“软定理证明器”。
封闭世界假设(CWA)是假设未知为真的一定为假。Reiter(1987)引入了‘封闭世界’假设来描述对数据库上的空或失败查询结果的解释,相当于对查询中断言的事实的否定。‘在封闭的世界中,失败即否定(negation as failure)相当于普通否定’。换言之,假设数据库中包含的事实集合是给定域的完整描述。任何既不能直接陈述也不能间接推断的命题被解释为错误的。
开放世界假设(OWA)恰恰相反。OWA是假设未知为真的就仅仅是未知的假设。在OWA下,推理是单调的:添加到数据库中的任何新信息都不能使现有信息以及从中得出的演绎结论无效(Sowa 2000)。
考虑以下陈述:‘Juan得了流感。’现在,如果问‘Juan有糖尿病吗?’在CWA下,回答是‘没有’。在OWA下,回答是‘不知道’。
推理链的自动化构建对于显著提升相同期望值(如血压)的问题数量非常重要。这是通过在短语描述中涉及各种实体来实现的,以确保用户至少对问题的某些制定方式感到舒服。除了询问“你的血压是多少?”之外,所述部件还扩展了相关属性列表,如“你流鼻血吗?”、“你感到疲劳或意识模糊吗?”。因此,该部件用于扩展问题,将问题与更多实体和更多属性连接,并且确保对用户来说回答简单且自然。
示例性自主代理
自动形成阐明问题自然地适合自主代理(例如,聊天机器人),所述代理通过与患者交流进行诊断。一旦C被指定为初始用户话语,代理就会寻找最接近C的K并且为每个K构建关键问题。在这之后,将这些问题提供给患者并且获得她的答案,直到正确识别症状。
在示例中,自主代理可以使用本文公开的技术与内科患者讨论症状和病状。例如,代理可以回答患者的问题,确定患者已准备好分享症状并接受诊断,并且要求患者尽可能详细地分享症状。然后代理基于该信息形成问题(例如,使用过程600)。代理向用户提出问题。在一些情况下,代理可以询问最少(减少的)问题集合。在其他情况下,代理可以询问全套问题。有了对问题的响应,然后代理可以完成案例并向医生提供信息和/或向患者提供诊断。
数据采集和评估
在过去的几十年里,从手工包装器(wrapper)到全自动技术,信息提取领域都有先前的工作。例如,引入了商业工具以促进由非专家用户进行提取。这些工具带有复杂的用户接口,允许用户选择提取目标。所有这些工具都是半监督的并且需要人类干预。
为了最小化人类干预,存在若干种自动包装器归纳技术,所述技术确定给定样本网页的模板并将其表示为无并集正则表达式(UFRE)。这种技术使用UFRE从类似结构的页面中提取数据,并且在处理缺少属性的页面时面临困难。其他包装器归纳技术将网页视为令牌序列。这种技术确定频繁令牌及其出现频率,将出现频率相同的令牌存储在单个等价类中,并且然后寻找表示网页模板的大量且频繁出现的等价类(LFEQ)。还有基于文档对象模型(DOM)树的方法,所述方法执行DOM树的合并以推导出固定或变体模式树,并且所述模式树表示网页模式。所述方法难以处理具有数百个网页的现实世界网站。
基于帖子的组织和帖子的结构对各种医学论坛网站进行了分析。然后构建了用于从健康论坛提取帖子的自动化框架,并且通过随机选择属于各个健康论坛网站的论坛网页来评估提取准确性,如下表4所示:
为了支持推理链自动化构建器,通过要求各种推理深度来回答问题,生成了五个数据集。数据集中的每个示例都是三元组(上下文、陈述、回答),其中上下文的形式为(事实*,规则*),陈述是问题,即要证明的陈述句,并且如果陈述从上下文中演绎地得出,则回答为T(真),或者如果陈述不是从上下文中演绎地得出,则回答为F(在封闭世界假设(CWA)下为假)。事实、规则和问题陈述以(合成)英语表达。每个示例本质上是(语言)独立逻辑理论,带有对其提出的问题“是真的吗?”。
为了生成每个示例,首先需要生成逻辑中的小理论(事实+规则),并且必须执行前向推理以得到其所有意义。然后从这些意义(答案=真)和未经证实的(肯定)事实(答案=假,在CWA下)中选择问题陈述。获得五个数据集,每个都受到证明其问题中使用的事实所需的最大推理深度(嵌套级)的约束,嵌套级分别为n=0、n≤1、n≤2、n≤3和n≤5。嵌套级n=0意指可以通过上下文中的简单查找(无推理)“证明”真实事实。第五个数据集包括嵌套级最高为五的问题,并且用于测试对其他四个数据集的训练中未达到的嵌套级的泛化。
WebMD数据集用于K,并且Kaggle疾病症状预测数据集加患者信息用于C。对形成的问题是否有意义的评估如下表5所示:
执行对自动诊断***的端到端评估。对于每个案例C,从K中找到覆盖它的症状描述S,使得不期望来自K的这种S'也覆盖C。在该评估中,主要目标是跟踪诊断是否因成功生成附加问题而有所改进,使得在回答可用时触发来自K的规则。问题是根据公开的解决方案生成的,但回答是从附加可用的患者记录中自动获得的。尽管在一些预期的部署环境中可能会有这种情况,但所开发技术的主要目标是从人类患者而不是从自动化***中获得回答。自动回答***用于评估量表的目的。
在获得答案方面对两种设置进行了实验:
1)一旦问题被制定出来,自动向给定疾病提供默认值(如100F)。这是更简单的评估设置。
2)从患者记录中的附加文本数据中提取值(该提取仅用于评估目的而实施)。这是更复杂的评估设置,具有由于提取错误而产生的附加噪音。
下表5示出了各种评估设置下正确诊断的案例的百分比。
可以观察到,获取有关默认值的信息将诊断准确率提高了6%以上。通过获取有关从文本中提取的所需参数的知识来提高诊断率的幅度较小并且仅超过3%。病人和医生回答问题的准确性在现实生活中的上升将介于这些值之间。与准确率本身相比,这些改进值是所提出方法的更重要特性,所述准确率由特定疾病和数据可用性以及采集方法确定。
通过实例泛化构建问题
在一方面,问题也可以通过实例泛化来形成。搜索引擎的新手用户经常在制定查询时遇到困难,尤其是当这些查询很长时。对域陌生的用户通常很难选择适当的关键字。即使对于通过查询(包括web查询)探索数据的高级用户,通常也很难估计正在制定的查询的适当通用性/特异性。点阵(lattice)查询使广泛的用户和数据探索任务更容易制定查询:给出几个示例,它就会自动制定查询。
在该部分中将介绍点阵查询技术,所述技术通过从相应解析树中对用户提供的文本样本集进行泛化,自动从所述文本样本集形成问题。此外,***通过将该查询的解析树与候选回答的解析树进行匹配来产生搜索结果。点阵查询允许提高大数据探索效率,因为这些所述查询形成了关于用户意图的多个假设并从多个角度探索数据(泛化)。
探索数据,关键词查询和短语查询以及类自然语言的查询通常是流行的。搜索引擎的用户也喜欢‘模糊匹配’查询,所述查询有助于探索缺乏确切关键字知识的新领域。使用同义词、分类法、本体论和查询扩展有助于将用户关键字替换为特定领域关键字,以寻找***认为用户正在查找的内容。点阵查询提高了从用户术语中的表达到针对可用数据源的查询的搜索的可用性。
引入了点阵查询的想法。与用户制定探索数据集的查询不同,点阵查询提供了几个样本(感兴趣表达),使得***将查询制定为这些样本的重叠(泛化),以点阵的形式应用(在底部以粗体示出)。
从关键字查询到正则表达式或模糊查询,允许使搜索更一般、灵活,有助于探索新领域,如具有未知词汇的文档集合。在这一方向上的进一步措施可以是什么?基于NL表达引入了点阵问题,所述NL表达被泛化为实际的点阵问题。
存在具有基于字符串字符的相似性的多种搜索引擎查询类型。这些搜索引擎查询类型包括布尔(Boolean)查询、限制文档中的关键字之间的距离的跨度查询、允许特定位置的一系列字符的正则表达式查询、模糊匹配查询以及允许基于字符串距离替换某些字符的近似文本(more-like-this)查询。其他类型的查询允许在特定维度中表达约束,如地理形状(geo-shape)查询。从关键字查询到正则表达式或模糊查询,允许使搜索更一般、灵活,有助于探索新领域,如具有未知词汇的文档集合。
基于被泛化为实际查询的NL表达的点阵问题从单个短语描述中抽象出来。首先在给定的样本表达(短语、句子)的所有或子集之间形成共性表达,然后使用泛化结果作为问题,而不是获得与给定表达相似的搜索结果(通过‘近似文本’查询完成)。点阵问题包括词以及如实体类型和动词属性等属性。
考虑医院服务请求问题示例:
·初级MRT销售工程师专家前往医院现场;
·初级MRT设计专家去医院和诊所;
·初级MRT软件工程师匆匆赶往医院现场。
鉴于上述样本集合,***需要形成问题,所述问题将提供与正在寻找的案例有些相似的案例。不重要的方法是将每个样本变成问题并尝试寻找精确匹配。然而,很多时候所述方法行不通,所以这种问题需要被弱化,释放一些约束。如何确定需要减掉哪些约束以及哪些关键字最重要?
为此,将泛化应用于这些样本集合。对于实体和属性,形成了最少一般泛化。工作资历(形容词)‘初级’将留下。工作活动(名词短语)各不相同,因此将其泛化为<工作活动>。对工作的更高级别引用是‘MRT’,并且对所有三个案例是公共的,因此MRT留下。针对工作职责的动词各不相同,因此使用可以进一步被指定为<移动动作>的<动作>,使用如VerbNet等聚焦于动词的本体论。为了泛化最后的名词短语,获得了泛化
<医院NP>:初级<任何工作活动>专家<动作>客户-NP。
这是点阵查询,预计将针对职位描述索引运行所述查询,并且根据样本集合寻找被认为最期望的案例。
对于要与点阵查询匹配的潜在句子的解析树,将点阵查询重写为:
JJ-初级NP-*NN-专家VP-*NN-医院NP-*
点阵问题读作给我找一位在某医院做某事的初级某MRT专家。现在示出如何将该模板应用于接受/拒绝候选回答思科初级MRT销售代表专家飞往医院数据中心。
点阵问题可以表示为名词短语(NP)和动词短语(VP)集合的结合:
[[NP[DT-一位JJ-初级NN-MRTNN-*],NP[NN*-医院]]
第一个NP覆盖上述点阵查询的开始,并且第二个NP覆盖结束。
[VP[VB-*TO-往NN*-医院]]]
VP覆盖了从做某事……开始的点阵查询的后半部分。
点阵查询与候选回答之间的泛化为:
[[NP[JJ-初级NN-*NN-*],NP[NN*-医院]],[VP[VB-*TO-往NN*-医院]]]
可以看到NP部分是部分满足的(候选回答中没有出现文章a)并且VP部分是完全满足的。
讨论和结论
虽然考试式问题是服务于各种目的的基本教育工具,但手动构建问题是需要训练、经验和资源的复杂过程。这进而阻碍和减慢了需要大量问题的教育活动(例如提供实践问题)和新进展(例如适应性测试)的使用。为了减少与手动构建问题相关的费用并且满足不断提供新问题的需要,引入了自动问题生成技术。
在编写多项选择题时开发合理的干扰选项(错误回答选项)是不同的难题。干扰选项被描述为项编写过程中最具挑战性和最耗时的部分之一。已经提出了用于为高风险体检中使用的多项选择题生成干扰选项建议的全自动方法。所述***使用问题词干和正确回答作为输入并且产生建议干扰选项列表,基于所述干扰选项与词干和正确答案的相似性对所述干扰选项进行排序,从而将概念嵌入与信息检索方法相结合。
反馈生成涉及提供有关对问题的响应的信息。反馈对于加强问题的益处很重要,尤其是在讲师与学生之间互动有限的电子环境中。除了告知测试对象其响应的正确性之外,反馈还用于纠正测试对象的错误和误解,并且引导测试对象获得必须获得的知识,可能会参考附加材料。问题的这方面在早期和最近的问题生成文献中都被忽视了。反馈连同生成的问题以用于选择选项的公理的言语表达(verbalization)形式生成。在干扰选项的情况下,用于生成答案和干扰选项的公理包括在反馈中。就复杂性而言,关键问题生成难题介于问题生成和叙述生成之间。
存在基于语言的相关性技术,所述技术基于解析树的学习来处理、分类和传递文本流。呈现了采用该技术的易趣(eBay)娱乐领域的内容流水线,并且示出了文本处理相关性是其性能的主要瓶颈。如内容挖掘、聚合、重复数据删除、意见挖掘、完整性执行等内容流水线的多个部件需要依赖于领域无关的高效文本分类、实体提取和相关性评估操作。
在正式环境(例如,EHR、数据库)与如Web 2.0中所表示的非正式社区中报告的症状之间存在差异。存在由患者写的文本与更正式的数据源的比较。具体地,这些发现包括(1)广泛使用实时社交网站(即,推特)和简短在线文档作为患者所写文本的数据源(2)症状的口语性质和在线语言的多样性质。
可以应用提出的问题构建方法来跟踪健康记录如何随时间演变。在能够利用文本挖掘和NLP来研究症状和体验的异质性方面仍然存在差距。综述显示,推特是最常用于访问和研究与症状相关的患者记录的在线社区。使用推特的研究主要聚焦于药理学警戒和公共卫生爆发的评估。用户在推特上发表的帖子被称为“推文”,并且限制在140个(最近为280个)字符。与如电子健康记录中的临床记录(通常长度更长并且可能受到报告滞后的限制)等患者症状信息的其他文本源相比,短推文与在线社区的实时互动发布相结合,有可能促进制药公司以及如疾病控制中心或联邦药物管理局等政府机构的即时、可扩展访问以监测症状的变化。该访问可能对检查最近的阿片类药物危机和患者疼痛管理具有重要意义。值得注意的是,综述中包括的研究中超过85%都提到了项。
演绎用于构建词推理链。人类对语言的推理(自然语言推理,NLI)并不总是演绎的。特别是,NLI能够执行人类通常可以执行的不受支持的推理。然而,依赖于精确的推理模型,必须证明规则的所有条件都为真,才能推断出结论。经过训练的推理链模型与NL上的完全自然推理所需的模型仍然相差甚远。经过训练的推理链模型的期望特征是跳过明确提供的知识中的缺口,前提是缺失的知识是自然的、明显的并且与明确提供的事实没有矛盾。所述推理链模型可以通过利用其预训练的知识来实现。遗憾的是,所述模型将否定处理为失败与关于NLI的直觉之间存在冲突。例如,给定(仅)‘如果患者疲倦,那么他不移动’,所述模型将得出结论(没有给定任何其他)‘他无法移动’,因为无法证明‘他不疲倦’。
询问问题以填补所需知识的缺口是人类智力活动的重要而复杂的形式。发明关键问题这一难题证明是比从文本中得到问题使得该文本自然地回答这些问题要困难得多。当尝试将其自动化时,在推理和计算语言学方面遇到了一系列难题,所有这些难题都是构建强大而灵活的问题生成***所必需的。评估示出,通过对可用文本之外的信息进行提问来获取缺失的知识是支持如健康等领域的决策和决策支持的高效方式。
示例性计算***
图7描绘了用于实施这些方面之一的分布式***700的简化图。在所图示的方面,分布式***700包括一个或多个客户端计算设备702、704、706和708,所述一个或多个客户端计算设备被配置成通过一个或多个网络710执行并操作客户端应用程序,如web浏览器、专有客户端(例如,甲骨文表格(Oracle Forms))等。服务器712可以通过网络710与远程客户端计算设备702、704、706和708通信地耦接。
在各个方面,服务器712可以被适配成运行由***的一个或多个部件提供的一个或多个服务或软件应用程序。服务或软件应用程序可以包括非虚拟和虚拟环境。虚拟环境可以包括用于虚拟事件、贸易展览、模拟器、教室、购物交易和企业的环境,无论其是二维还是三维(3D)表示、基于页面的逻辑环境还是其他环境。在一些方面,这些服务可以作为基于web的服务或云服务或在软件即服务(SaaS)模型下提供给客户端计算设备702、704、706和/或708的用户。操作客户端计算设备702、704、706和/或708的用户进而可以利用一个或多个客户端应用程序来与服务器712交互以利用这些部件所提供的服务。
在图中描绘的配置中,***700的软件部件718、720和722被示出为在服务器712上实施。在其他方面,分布式***700的部件中的一个或多个部件和/或这些部件所提供的服务还可以由客户端计算设备702、704、706和/或708中的一个或多个来实施。然后,操作客户端计算设备的用户可以利用一个或多个客户端应用程序来使用这些部件所提供的服务。这些部件可以用硬件、固件、软件或其组合来实施。应了解,可以与分布式***700不同的各种不同***配置是可能的。因此,图中所示的方面是用于实施方面***的分布式***的一个示例并且不旨在是限制性的。
客户端计算设备702、704、706和/或708可以是便携式手持设备(例如,蜂窝电话、计算平板计算机、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器)、如Microsoft Windows等运行软件和/或各种移动操作***(如iOS、Windows电话、安卓(Android)、黑莓(BlackBerry)10、Palm OS等),并且是因特网、电子邮件、短消息服务(SMS)、或支持其他通信协议的。客户端计算设备可以是通用个人计算机,通过示例的方式包括运行各种版本的MicrosoftApple和/或Linux操作***的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种可商购获得的或类UNIX操作***中的任一种的工作站计算机,包括但不限于各种GNU/Linux操作***,例如,Google Chrome OS。可替代地或另外地,客户端计算设备702、704、706和708可以是能够通过(多个)网络710进行通信的任何其他电子设备,如瘦客户端计算机、支持因特网的游戏***(例如,具有或不具有手势输入设备的微软(Microsoft)Xbox游戏机)和/或个人消息传递设备。
尽管示例性分布式***700被示出为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其他设备(如具有传感器的设备等)可以与服务器712交互。
分布式***700中的(多个)网络710可以是本领域技术人员所熟悉的可以使用各种可商购获得的协议中的任何一种支持数据通信的任何类型的网络,所述可商购获得的协议包括但不限于TCP/IP(传输控制协议/因特网协议)、SNA(***网络架构)、IPX(因特网分组交换)、AppleTalk等。仅通过示例的方式,(多个)网络710可以是局域网(LAN),如基于以太网(LAN)、令牌环等的局域网。(多个)网络710可以是广域网和因特网。其可以包括虚拟网络,包括但不限于虚拟专用网络(VPN)、内联网、外联网、公共交换电话网(PSTN)、红外网络、无线网络(例如,根据电气与电子协会(IEEE)802.7协议套件、和/或任何其他无线协议中的任一种协议操作的网络);和/或这些和/或其他网络的任何组合。
服务器712可以由以下各项构成:一个或多个通用计算机、专用服务器计算机(通过示例的方式包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架式服务器等)、服务器群、服务器集群或任何其他适当的布置和/或组合。服务器712可以包括运行虚拟操作***或涉及虚拟化的其他计算架构的一个或多个虚拟机。可以对逻辑存储设备的一个或多个灵活池进行虚拟化,以维护服务器的虚拟存储设备。虚拟网络可以由服务器712使用软件定义的联网进行控制。在各个方面,服务器712可以被适配成运行前述公开中描述的一个或多个服务或软件应用程序。例如,根据本公开的方面,服务器712可以对应于用于执行上述处理的服务器。
服务器712可以运行包括上文讨论的那些操作***中的任何一个的操作***以及任何可商购获得的服务器操作***。服务器712还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一种应用程序,包括HTTP(超文本运输协议)服务器、FTP(文件传送协议)服务器、CGI(通用网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于从甲骨文公司、微软公司、赛贝斯公司(Sybase)、IBM(国际商业机器)公司等商购获得的那些数据库服务器。
在一些实施方式中,服务器712可以包括一个或多个应用程序以分析并合并从客户端计算设备702、704、706和708的用户接收的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于馈送、更新或从一个或多个第三方信息源和连续数据流接收的实时更新,所述实时更新可以包括与传感器数据应用程序、财务收报机、网络性能测量工具(例如,网络监测和流量管理应用程序)、点击流分析工具、汽车交通监测等相关的实时事件。服务器712还可以包括一个或多个应用程序以经由客户端计算设备702、704、706和708的一个或多个显示设备来显示数据馈送和/或实时事件。
分布式***700还可以包括一个或多个数据库714和716。数据库714和716可以驻留在各种位置。通过示例的方式,数据库714和716中的一个或多个可以驻留在服务器712本地的非暂态存储介质上(和/或驻留在其中)。可替代地,数据库714和716可以远离服务器712,并通过基于网络的或专用的连接与服务器712通信。在一组方面中,数据库714和716可以驻留在存储区域网络(SAN)中。类似地,用于进行归属于服务器712的功能的任何必要文件可以根据情况本地存储在服务器712上和/或远程存储。在一组方面中,数据库714和716可以包括关系数据库,如由甲骨文公司提供的数据库,所述数据库被适配成响应于SQL格式的命令来存储、更新和取得数据。
图8是根据本公开的一个方面的***环境800的一个或多个部件的简化框图,通过所述***环境,由方面***的一个或多个部件提供的服务可以作为云服务提供。在所图示的方面,***环境800包括一个或多个客户端计算设备804、806和808,所述一个或多个客户端计算设备可以被用户用来与提供云服务的云基础设施***802进行交互。客户端计算设备可以被配置成操作客户端应用程序,如web浏览器、专有客户端应用程序(例如,甲骨文表格)或一些其他应用程序,所述应用程序可以被客户端计算设备的用户用来与云基础设施***802交互以使用云基础设施***802所提供的服务。
应了解,图中所描绘的云基础设施***802可以具有除了所描绘的部件之外的其他部件。进一步地,图中所示的方面只是可以结合本公开的方面的云基础设施***的一个示例。在一些其他方面,云基础设施***802可以具有比图中所示更多或更少的部件、可以组合两个或更多个部件或可以具有不同的部件配置或布置。
客户端计算设备804、806和808可以是类似于以上针对702、704、706和708所述的设备。
尽管示例性***环境800被示出为具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。其他设备(如具有传感器的设备等)可以与云基础设施***802交互。
(多个)网络810可以促进客户端计算设备804、806和808与云基础设施***802之间的数据通信和交换。每个网络可以是本领域技术人员所熟悉的可以使用各种可商购获得的协议中的任何一种来支持数据通信的任何类型的网络,所述可商购获得的协议包括上文针对(多个)网络710所描述的那些协议。
云基础设施***802可以包括一个或多个计算机和/或服务器,所述一个或多个计算机和/或服务器可以包括以上针对服务器712所描述的那些计算机和/或服务器。
在某些方面,云基础设施***所提供的服务可以包括按需提供给云基础设施***的用户的大量服务,如在线数据存储和备份解决方案、基于Web的电子邮件服务、托管办公套件和文档协作服务、数据库处理、管理技术支持服务等。云基础设施***所提供的服务可以动态扩展以满足其用户的需求。云基础设施***所提供的服务的特定实例在本文中被称为“服务实例”。一般来说,通过通信网络(如因特网)从云服务提供商的***提供给用户的任何服务都被称为“云服务”。通常,在公共云环境中,构成云服务提供商的***的服务器和***不同于客户自己的室内服务器和***。例如,云服务提供商的***可以托管应用程序,并且用户可以通过如因特网等通信网络按需订购和使用应用程序。
在一些示例中,计算机网络云基础设施中的服务可以包括对存储装置、托管数据库、托管web服务器、软件应用程序的受保护的计算机网络访问或云供应商向用户提供的其他服务或本领域中已知的其他服务。例如,服务可以包括通过因特网对云上远程存储装置的密码保护访问。作为另一个示例,服务可以包括供网络开发人员专用的基于web服务的托管关系数据库和脚本语言中间件引擎。作为另一个示例,服务可以包括对云供应商的网站上托管的电子邮件软件应用程序的访问。
在某些方面,云基础设施***802可以包括以自助、基于订阅、可弹性扩展、可靠、高度可用和安全的方式传送给客户的一套应用程序、中间件和数据库服务产品。这种云基础设施***的示例是本受让人所提供的甲骨文公共云。
大量数据(有时被称为大数据)可以由基础设施***在多个级别和不同规模上进行托管和/或操纵。这种数据可以包括非常庞大且复杂的数据集,以致于很难使用典型的数据库管理工具或传统的数据处理应用程序对其进行处理。例如,万亿字节的数据可能很难使用个人计算机或其基于机架的对等设备进行存储、取得和处理。使用当前大多数关系数据库管理***以及桌面统计和可视化包很难处理如此大的数据。其可能需要超出常用软件工具结构的运行数千个服务器计算机的大规模并行处理软件以在可容忍的经过时间内捕获、整理、管理和处理数据。
分析员和研究人员可以存储和操纵非常大的数据集以可视化大量数据、检测趋势和/或以其他方式与数据交互。数十个、数百个或数千个并行链接的处理器可以作用于这样的数据,以便呈现所述数据或模拟数据上的外力或其所呈现的东西。这些数据集可以涉及结构化数据,如在数据库中组织的或根据结构化模型以其他方式组织的结构化数据,和/或非结构化数据(例如,电子邮件、图像、数据块(二进制大对象)、网页、复杂事件处理)。通过利用相对快速地将更多(或更少)计算资源集中在目标上的方面的能力,云基础设施***可以更好地用于基于来自企业、政府机构、研究组织、私人个体、志同道合的个体组或组织或其他实体的需求在大数据集上执行任务。
在各个方面,云基础设施***802可以被适配成自动供应、管理和追踪客户对云基础设施***802提供的服务的订阅。云基础设施***802可以通过不同的部署模型提供云服务。例如,可以在公共云模型下提供服务,在所述公共云模型中,云基础设施***802归销售云服务的组织所有(例如,归甲骨文公司所有),并且服务对一般公众企业或不同行业企业可用。作为另一个示例,可以在私有云模型下提供服务,在所述私有云模型中,云基础设施***802仅针对单个组织操作,并且可以为所述组织内的一个或多个实体提供服务。云服务也可以在社区云模型下提供,在所述社区云模型中,云基础设施***802和云基础设施***802所提供的服务由相关社区中的几个组织共享。云服务还可以在混合云模型下提供,所述混合云模型是两个或更多个不同模型的组合。
在一些方面,云基础设施***802所提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别下提供的一个或多个服务,或包括混合服务的其他类别的服务。客户可以通过订阅订单来订购云基础设施***802所提供的一个或多个服务。然后,云基础设施***802进行处理以提供客户的订阅订单中的服务。
在一些方面,云基础设施***802所提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,云基础设施***可以通过SaaS平台提供应用服务。SaaS平台可以被配置成提供归入SaaS类别的云服务。例如,SaaS平台可以提供在集成开发和部署平台上构造和传递一套按需应用程序的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用SaaS平台提供的服务,客户可以利用在云基础设施***上执行的应用程序。客户可以在无需购买单独的许可证和支持的情况下获取应用服务。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供销售绩效管理、企业整合和业务灵活性解决方案的服务。
在一些方面,云基础设施***可以通过PaaS平台提供平台服务。PaaS平台可以被配置成提供归入PaaS类别的云服务。平台服务的示例可以包括但不限于使组织(如甲骨文公司)能够在共享的通用架构上合并现有应用程序的服务,以及构造利用平台所提供的共享服务的新应用程序的能力。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以在无需购买单独的许可证和支持的情况下获取云基础设施***提供的PaaS服务。平台服务的示例包括但不限于甲骨文Java云服务(JCS)、甲骨文数据库云服务(DBCS)等。
通过利用PaaS平台提供的服务,客户可以采用云基础设施***所支持的编程语言和工具并控制所部署的服务。在一些方面,云基础设施***所提供的平台服务可以包括数据库云服务、中间件云服务(例如,甲骨文融合中间件服务)和Java云服务。一方面,数据库云服务可以支持共享服务部署模型,所述共享服务部署模型使组织能够汇集数据库资源并以数据库云的形式向客户提供数据库即服务。在云基础设施***中,中间件云服务可以为客户提供用于开发和部署各种业务应用程序的平台,并且Java云服务可以为客户提供部署Java应用程序的平台。
云基础设施***中的IaaS平台可以提供各种不同的基础设施服务。基础设施服务促进了利用SaaS平台和PaaS平台所提供的服务的客户对底层计算资源(如存储装置、网络和其他基本计算资源)的管理和控制。
在某些方面,云基础设施***802还可以包括基础设施资源830,所述基础设施资源用于提供用于向云基础设施***的客户提供各种服务的资源。一方面,基础设施资源830可以包括用于执行PaaS平台和SaaS平台所提供的服务的预整合和优化的硬件组合,如服务器、存储装置和网络资源。
在一些方面,云基础设施***802中的资源可以由多个用户共享并根据需求动态地重新分配。另外地,资源可以被分配给不同时区的用户。例如,云基础设施***830可以使第一时区中的第一组用户能够在指定的小时数内利用云基础设施***的资源,并且然后使相同的资源能够重新分配给定位于不同时区中的另一组用户,由此最大化资源的利用。
在某些方面,可以提供由云基础设施***802的不同部件或模块共享以及由云基础设施***802提供的服务共享的多个内部共享服务832。这些内部共享服务可以包括但不限于安全和身份服务、整合服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高度可用性、备份和恢复服务、用于实现云支持的服务、电子邮件服务、通知服务、文件传送服务等。
在某些方面,云基础设施***802可以提供对云基础设施***中的云服务(例如,SaaS、PaaS和IaaS服务)的全面管理。一方面,云管理功能可以包括用于供应、管理和跟踪由云基础设施***802接收的客户的订阅等的能力。
一方面,如图中所描绘的,云管理功能可以由一个或多个模块提供,如订单管理模块820、订单编排模块822、订单供应模块824、订单管理和监测模块826以及身份管理模块828。这些模块可以包括或使用一个或多个计算机和/或服务器来提供,所述计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器群、服务器集群或任何其他适当的布置和/或组合。
在示例性操作834中,使用如客户端计算设备804、806或808等客户端设备的客户可以通过请求云基础设施***802所提供的一个或多个服务并下订单订阅云基础设施***802所提供的一个或多个服务来与云基础设施***802交互。在某些方面,客户可以访问云用户接口(UI),即云UI 812、云UI 814和/或云UI 816,并通过这些UI下订单订阅。云基础设施***802响应于客户下订单而接收的订单信息可以包括识别客户和客户打算订阅的云基础设施***802所提供的一个或多个服务的信息。
在客户下订单之后,通过云UI 88、814和/或816接收订单信息。
在操作836处,将订单存储在订单数据库818中。订单数据库818可以是由云基础设施***802操作并结合其他***元素操作的几个数据库之一。
在操作838处,将订单信息转发到订单管理模块820。在一些实例中,订单管理模块820可以被配置成进行与订单相关的记账功能和会计功能,如验证订单以及在验证后预订订单。
在操作840处,将关于订单的信息传送到订单编排模块822。订单编排模块822可以利用订单信息为客户所下的订单编排服务和资源的供应。在一些实例中,订单编排模块822可以使用订单供应模块824的服务来编排资源的供应以支持订阅的服务。
在某些方面,订单编排模块822使得能够管理与每个订单相关联的业务流程,并应用业务逻辑来确定订单是否应该继续进行供应。在操作842处,在接收到针对新订阅的订单时,订单编排模块822向订单供应模块824发送请求,以分配资源并配置满足订阅订单所需的那些资源。订单供应模块824使得能够为客户订购的服务分配资源。订单供应模块824在云基础设施***800所提供的云服务与用于供应用于提供所请求服务的资源的物理实施层之间提供抽象级别。因此,订单编排模块822可以与实施细节隔开,如服务和资源是实际上被实时地供应还是被预先供应并且仅在请求时被分配/指定。
在操作87处,一旦服务和资源被供应,云基础设施***802的订单供应模块824就可以向客户端计算设备804、806和/或808上的客户发送所提供服务的通知。
在操作89处,可以由订单管理和监测模块826管理和跟踪客户的订阅订单。在一些实例中,订单管理和监测模块826可以被配置成收集订阅订单中服务的使用统计信息,如使用的存储量、传送的数据量、用户数量以及***开机时间和***停机时间。
在某些方面,云基础设施***800可以包括身份管理模块828。身份管理模块828可以被配置为提供身份服务,如云基础设施***800中的访问管理和授权服务。在一些方面,身份管理模块828可以控制关于希望利用云基础设施***802所提供的服务的客户的信息。这种信息可以包括认证这种客户的身份的信息以及描述授权那些客户相对于各种***资源(例如,文件、目录、应用程序、通信端口、存储器段等)进行哪些动作的信息。身份管理模块828还可以包括关于每个客户的描述性信息的管理以及可以如何和由谁访问和修改描述性信息。
图9图示了本公开的各方面可以在其中实施的示例性计算机***900。计算机***900可以用于实施上述计算机***中的任何一种。如图所示,计算机***900包括通过总线子***902与多个***子***通信的处理单元904。这些***子***可以包括处理加速单元906、I/O子***908、存储子***918和通信子***924。存储子***918包括有形计算机可读存储介质922和***存储器910。
总线子***902提供用于允许计算机***900的各个部件和子***按预期彼此通信的机构。尽管总线子***902被示意性地示出为单个总线,但是总线子***的替代性方面可以利用多个总线。总线子***902可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、***总线以及使用各种总线架构中的任何一种的局部总线。例如,这种架构可以包括工业标准结构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和***部件互连(PCI)总线(所述PCI总线可以被实施为根据IEEE P986.1标准制造的夹层(Mezzanine)总线)。
可以被实施为一个或多个集成电路(例如,传统微处理器或微控制器)的处理单元904控制计算机***900的操作。处理单元904中可以包括一个或多个处理器。这些处理器可以包括单核处理器或多核处理器。在某些方面,处理单元904可以被实施为一个或多个独立的处理单元932和/或934,每个处理单元中包括单核处理器或多核处理器。在其他方面,处理单元904还可以被实施为通过将两个双核处理器集成到单个芯片中而形成的四核处理单元。
在各个方面,处理单元904可以响应于程序代码而执行各种程序,并且可以维护多个同时执行的程序或过程。在任何给定时间,要执行的程序代码中的一些或全部可以驻留在处理单元904和/或存储子***918中。通过适当的编程,处理单元904可以提供上述各种功能。计算机***900可以另外包括处理加速单元906,所述处理加速单元可以包括数字信号处理器(DSP)、专用处理器等。
I/O子***908可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、如鼠标或轨迹球等指向设备、合并到显示器中的触摸板或触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、具有话音命令识别***的音频输入设备、麦克风以及其他类型的输入设备。用户接口输入设备可以包括例如运动感测和/或姿势识别设备,如Microsoft运动传感器,其使得用户能够通过使用姿势和口头命令的自然用户接口来控制如Microsoft360游戏控制器等输入设备并与其交互。用户接口输入设备还可以包括眼部姿势识别设备,如检测来自用户的眼部活动(例如,在拍照和/或进行菜单选择时‘眨眼’)并将眼部姿势变换为到输入设备(例如,Google)的输入的Google眨眼检测器。另外地,用户接口输入设备可以包括使得用户能够通过话音命令与话音识别***(例如,导航器)交互的话音识别感测设备。
用户接口输入设备还可以包括但不限于三维(3D)鼠标、操纵杆或指向杆、游戏手柄和图形板、以及音频/视觉设备(如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备)。另外地,用户接口输入设备可以包括例如医学成像输入设备,如计算机断层扫描、磁共振成像、正电子发射断层扫描、医学超声检查设备。用户接口输入设备还可以包括例如音频输入设备,如MIDI键盘、数码乐器等。
用户接口输出设备可以包括显示子***、指示灯或如音频输出设备等非视觉显示器。显示子***可以是阴极射线管(CRT)、平板设备(如使用液晶显示器(LCD)或等离子显示器的平板设备)、投影设备、触摸屏等。通常,使用术语“输出设备”旨在包括用于从计算机***900向用户或其他计算机输出信息的所有可能类型的设备和机构。例如,用户接口输出设备可以包括但不限于在视觉上传达文本、图形和音频/视频信息的各种显示设备,如监视器、打印机、扬声器、头戴式耳机、汽车导航***、绘图仪、话音输出设备和调制解调器。
计算机***900可以包括存储子***918,所述存储子***包括被示出为当前定位于***存储器910内的软件元件。***存储器910可以存储可在处理单元904上加载和执行的程序指令以及在这些程序执行期间生成的数据。
取决于计算机***900的配置和类型,***存储器910可以为易失性的(如随机存取存储器(RAM))和/或非易失性的(如只读存储器(ROM)、闪速存储器等)。RAM通常包含可立即访问和/或当前由处理单元904操作和执行的数据和/或程序模块。在一些实施方式中,***存储器910可以包括多种不同类型的存储器,如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实施方式中,包含在启动期间帮助计算机***900内的元件之间传送信息的基本例程的基本输入/输出***(BIOS)通常可以存储在ROM中。通过示例而非限制的方式,***存储器910还图示了应用程序912(所述应用程序可以包括客户端应用程序、Web浏览器、中间层应用程序、关系数据库管理***(RDBMS)等)、程序数据914和操作***916。通过示例的方式,操作***916可以包括各种版本的MicrosoftApple和/或Linux操作***、各种可商购获得的或类UNIX操作***(包括但不限于GNU/Linux操作***、GoogleOS等)和/或如iOS、电话、OS、10OS和OS操作***等移动操作***。
存储子***918还可以提供用于存储提供一些方面的功能的基本编程和数据构造的有形计算机可读存储介质。当由处理器执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子***918中。这些软件模块或指令可以由处理单元904执行。存储子***918还可以根据本公开提供用于存储所使用的数据的储存库。
存储子***918还可以包括可以进一步连接到计算机可读存储介质922的计算机可读存储介质读取器920。与***存储器910一起并且任选地结合的计算机可读存储介质922可以全面地表示远程、本地、固定和/或可移动存储设备以及用于临时和/或更永久地包含、存储、传输和取得计算机可读信息的存储介质。
包含代码或代码的部分的计算机可读存储介质922还可以包括本领域已知或使用的任何适当的介质,所述介质包括存储介质和通信介质,如但不限于以用于存储和/或传输信息的任何方法或技术实施的易失性和非易失性、可移动和不可移动介质。所述介质可以包括有形非暂态计算机可读存储介质,如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或其他有形计算机可读介质。当指定时,所述介质还可以包括非有形暂态计算机可读介质,如数据信号、数据传输或可以用于传输期望的信息并且可以由计算机***900访问的介任何其他质。
通过示例的方式,计算机可读存储介质922可以包括从不可移动非易失性磁介质读取或向其写入的硬盘驱动器、从可移动非易失性磁盘读取或向其写入的磁盘驱动器,以及从可移动非易失性光盘(如CD ROM、DVD和光盘或其他光学介质)读取或向其写入的光盘驱动器。计算机可读存储介质922可以包括但不限于驱动器、闪速存储器卡、通用串行总线(USB)闪速存储器驱动器、安全数字(SD)卡、DVD盘、数字录像带等。计算机可读存储介质922还可以包括如基于闪速存储器的固态驱动器(SSD)、企业级闪速存储器驱动器、固态ROM等基于非易失性存储器的SSD、基于如固态RAM、动态RAM、静态RAM等易失性存储器的SSD、基于DRAM的SSD、磁阻RAM(MRAM)SSD以及使用DRAM和基于闪速存储器的SSD的组合的混合SSD。磁盘驱动器和其相关联的计算机可读介质可以为计算机***900提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。
通信子***924提供到其他计算机***和网络的接口。通信子***924用作用于从其他***接收数据并且从计算机***900向其他***传输数据的接口。例如,通信子***924可以使得计算机***900能够通过因特网连接到一个或多个设备。在一些方面,通信子***924可以包括用于访问无线声音和/或数据网络的射频(RF)收发器部件(例如,使用蜂窝电话技术、如3G、4G或EDGE(全球演进增强型数据速率)等先进的数据网络技术、WiFi(IEEE 802.28家庭标准或其他移动通信技术或其任何组合)、全球定位***(GPS)接收器部件和/或其他部件。在一些方面,除了无线接口之外或替代无线接口,通信子***924可以提供有线网络连接性(例如,以太网)。
在一些方面,通信子***924还可以代表可以使用计算机***900的一个或多个用户接收结构化和/或非结构化数据馈送926、事件流928、事件更新99等形式的输入通信。
通过示例的方式,通信子***924可以被配置成从社交媒体网络和/或其他通信服务的用户实时地接收非结构化数据馈送926(如馈送、更新、web馈送(如丰富站点摘要(RSS)馈送))和/或来自一个或多个第三方信息资源的实时更新。
另外地,通信子***924还可以被配置成接收连续数据流形式的数据,所述连续数据流可以包括(可以没有显式结束的本质上连续的或无界的)实时事件的事件流928和/或事件更新99。生成连续数据的应用程序的示例可以包括例如传感器数据应用程序、财务收报机、网络性能测量工具(例如,网络监测和流量管理应用程序)、点击流分析工具、汽车交通监测等。
通信子***924还可以被配置成将结构化和/或非结构化数据馈送926、事件流928、事件更新99等输出到可以与耦接到计算机***900的一个或多个流数据源计算机通信的一个或多个数据库。
计算机***900可以是各种类型之一,包括手持便携式设备(例如,蜂窝电话、计算平板计算机、PDA)、可穿戴设备(例如,Google头戴式显示器)、PC、工作站、主机、自助服务终端、服务器机架或任何其他数据处理***。
由于计算机和网络不断变化的性质,对图中所描绘的计算机***900的描述旨在仅作为具体示例。具有比图中所描绘的***更多或更少的部件的许多其他配置是可能的。例如,还可以使用定制的硬件和/或可以在硬件、固件、软件(包括小程序)或组合中实施特定元件。进一步地,可以采用到如网络输入/输出设备等其他计算设备的连接。基于本文提供的公开和传授内容,本领域普通技术人员将理解实施各个方面的其他方式和/或方法。
在前述说明书中,参考本公开的具体方面描述了本公开的各方面,但是本领域技术人员将认识到,本公开并不限于此。可以单独地或联合地使用上述发明的各种特征和方面。进一步地,在不脱离说明书的更广泛的精神和范围的情况下,可以在除了本文所描述的那些环境和应用程序外的任何数量的环境和应用环境中利用各方面。因此,说明书和附图应被视为说明性的而非限制性的。
Claims (20)
1.一种从文本源生成问题的方法,所述方法包括:
从第一参考文本形成第一语义树并且从第二参考文本形成第二语义树,其中,每个语义树包括节点和边缘,其中,每个节点表示对应实体的角色,并且其中,每个边缘表示所述实体中的两个实体之间的关系;
从所述第一语义树和所述第二语义树中识别(i)在所述第一语义树中并且(ii)不在所述第二语义树中的语义节点集合;
形成所述第一参考文本的第一语法树和所述第二参考文本的第二语法树,其中,每个语法树包括表示词的终端节点和表示语法类别的语法节点;
从所述第一语法树和所述第二语法树中识别在所述第一语法树中但不在所述第二语法树中的语法节点集合;
通过识别所述语义节点集合中的第一节点与所述语法节点集合中的第二节点之间的对应性,将所述语义节点集合映射到所述语法节点集合,其中,所述第一节点和所述第二节点与相同的归一化词相关联;
从所述归一化词形成问题片段;以及
向用户设备提供所述问题片段。
2.如权利要求1所述的方法,其中,识别所述语义节点集合包括:
识别所述第一语义树与所述第二语义树之间的语义最大公共子树,所述语义最大公共子树包括最大数量的:(a)节点,每个节点表示所述第一语义树与所述第二语义树之间公共的公共实体;以及(b)所述节点之间的边缘,所述边缘表示所述公共实体中的两个或更多个公共实体之间的语义关系;以及
从所述第一语义树中去除在所述语义最大公共子树中的节点。
3.如权利要求1所述的方法,其中,识别所述语法节点集合包括:
从所述第一语法树和所述第二语法树中识别语法最大公共子树,所述语法最大公共子树包括最大数量的:(i)节点,每个节点表示所述第一语法树与所述第二语法树之间公共的公共实体;以及(ii)父节点,所述父节点表示所述节点中的一个或多个节点的语法类别;以及
从所述第一语法树中去除在所述语法最大公共子树中的节点。
4.如权利要求1所述的方法,其中,形成问题片段包括:
识别所述归一化词表示(i)名词、(ii)动词、(iii)形容词、或(iv)副词;以及
用疑问词替换所述归一化词,其中,疑问词是(i)什么、(ii)何地、(iii)对谁、(iv)谁、或(v)如何之一。
5.如权利要求4所述的方法,其中,识别所述归一化词表示名词、动词、形容词或副词包括从与所述归一化词相关联的文本、所述语义节点集合和所述语法节点集合中的一个或多个构建附加语法树,其中,所述附加语法树包括附加节点。
6.如权利要求1所述的方法,其中,形成所述问题片段包括:
从与所述归一化词相关联的文本中提取候选问题片段;
识别所述候选问题片段与文本片段模板之间的相似性水平;以及
响应于确定所述相似性水平大于阈值,而将所述候选问题片段识别为所述问题片段。
7.如权利要求1所述的方法,进一步包括:
从所述用户设备接收对所述问题片段的响应;以及
基于所述响应更新本体中的条目。
8.一种***,包括:
存储计算机可执行程序指令的非暂态计算机可读介质;以及
处理设备,所述处理设备通信地耦接到所述非暂态计算机可读介质以执行所述计算机可执行程序指令,其中,执行所述计算机可执行程序指令配置所述处理设备以执行包括以下各项的操作:
从第一参考文本形成第一语义树并且从第二参考文本形成第二语义树,其中,每个语义树包括节点和边缘,其中,每个节点表示对应实体的角色,并且其中,每个边缘表示所述实体中的两个实体之间的关系;
从所述第一语义树和所述第二语义树中识别(i)在所述第一语义树中并且(ii)不在所述第二语义树中的语义节点集合;
形成所述第一参考文本的第一语法树和所述第二参考文本的第二语法树,其中,每个语法树包括表示词的终端节点和表示语法类别的语法节点;
从所述第一语法树和所述第二语法树中识别在所述第一语法树中但不在所述第二语法树中的语法节点集合;
通过识别所述语义节点集合中的第一节点与所述语法节点集合中的第二节点之间的对应性,将所述语义节点集合映射到所述语法节点集合,其中,所述第一节点和所述第二节点与相同的归一化词相关联;
从所述归一化词形成问题片段;以及
向用户设备提供所述问题片段。
9.如权利要求8所述***,其中,识别所述语义节点集合包括:
识别所述第一语义树与所述第二语义树之间的语义最大公共子树,所述语义最大公共子树包括最大数量的:(a)节点,每个节点表示所述第一语义树与所述第二语义树之间公共的公共实体;以及(b)所述节点之间的边缘,所述边缘表示所述公共实体中的两个或更多个公共实体之间的语义关系;以及
从所述第一语义树中去除在所述语义最大公共子树中的节点。
10.如权利要求8所述***,其中,识别所述语法节点集合包括:
从所述第一语法树和所述第二语法树中识别语法最大公共子树,所述语法最大公共子树包括最大数量的:(i)节点,每个节点表示所述第一语法树与所述第二语法树之间公共的公共实体;以及(ii)父节点,所述父节点表示所述节点中的一个或多个节点的语法类别;以及
从所述第一语法树中去除在所述语法最大公共子树中的节点。
11.如权利要求8所述***,其中,形成问题片段包括:
识别所述归一化词表示(i)名词、(ii)动词、(iii)形容词或(iv)副词;以及
用疑问词替换所述归一化词,其中,疑问词是(i)什么、(ii)何地、(iii)对谁、(iv)谁、或(v)如何之一。
12.如权利要求10所述***,其中,识别所述归一化词表示名词、动词、形容词或副词包括从与所述归一化词相关联的文本、所述语义节点集合和所述语法节点集合中的一个或多个构建附加语法树,其中,所述附加语法树包括附加节点。
13.如权利要求8所述***,其中,形成所述问题片段包括:
从与所述归一化词相关联的文本中提取候选问题片段;
识别所述候选问题片段与文本片段模板之间的相似性水平;以及
响应于确定所述相似性水平大于阈值,而将所述候选问题片段识别为所述问题片段。
14.一种存储计算机可执行程序指令的非暂态计算机可读存储介质,其中,当由处理设备执行时,所述计算机可执行程序指令使所述处理设备执行包括以下各项的操作:
从第一参考文本形成第一语义树并且从第二参考文本形成第二语义树,其中,每个语义树包括节点和边缘,其中,每个节点表示对应实体的角色,并且其中,每个边缘表示所述实体中的两个实体之间的关系;
从所述第一语义树和所述第二语义树中识别(i)在所述第一语义树中并且(ii)不在所述第二语义树中的语义节点集合;
形成所述第一参考文本的第一语法树和所述第二参考文本的第二语法树,其中,每个语法树包括表示词的终端节点和表示语法类别的语法节点;
从所述第一语法树和所述第二语法树中识别在所述第一语法树中但不在所述第二语法树中的语法节点集合;
通过识别所述语义节点集合中的第一节点与所述语法节点集合中的第二节点之间的对应性,将所述语义节点集合映射到所述语法节点集合,其中,所述第一节点和所述第二节点与相同的归一化词相关联;
从所述归一化词形成问题片段;以及
向用户设备提供所述问题片段。
15.如权利要求14所述的非暂态计算机可读存储介质,其中,识别所述语义节点集合包括:
识别所述第一语义树与所述第二语义树之间的语义最大公共子树,所述语义最大公共子树包括最大数量的:(a)节点,每个节点表示所述第一语义树与所述第二语义树之间公共的公共实体;以及(b)所述节点之间的边缘,所述边缘表示所述公共实体中的两个或更多个公共实体之间的语义关系;以及
从所述第一语义树中去除在所述语义最大公共子树中的节点。
16.如权利要求14所述的非暂态计算机可读存储介质,其中,识别所述语法节点集合包括:
从所述第一语法树和所述第二语法树中识别语法最大公共子树,所述语法最大公共子树包括最大数量的:(i)节点,每个节点表示所述第一语法树与所述第二语法树之间公共的公共实体;以及(ii)父节点,所述父节点表示所述节点中的一个或多个节点的语法类别;以及
从所述第一语法树中去除在所述语法最大公共子树中的节点。
17.如权利要求14所述的非暂态计算机可读存储介质,其中,形成问题片段包括:
识别所述归一化词表示(i)名词、(ii)动词、(iii)形容词或(iv)副词;以及
用疑问词替换所述归一化词,其中,疑问词是(i)什么、(ii)何地、(iii)对谁、(iv)谁、或(v)如何之一。
18.如权利要求17所述的非暂态计算机可读存储介质,其中,识别所述归一化词表示名词、动词、形容词或副词包括从与所述归一化词相关联的文本、所述语义节点集合和所述语法节点集合中的一个或多个构建附加语法树,其中,所述附加语法树包括附加节点。
19.如权利要求14所述的非暂态计算机可读存储介质,其中,形成所述问题片段包括:
从与所述归一化词相关联的文本中提取候选问题片段;
识别所述候选问题片段与文本片段模板之间的相似性水平;以及
响应于确定所述相似性水平大于阈值,而将所述候选问题片段识别为所述问题片段。
20.如权利要求14所述的非暂态计算机可读存储介质,其中,当由处理设备执行时,所述计算机可执行程序指令使所述处理设备执行包括以下各项的操作:
从所述用户设备接收对所述问题片段的响应;以及
基于所述响应更新本体中的条目。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063074778P | 2020-09-04 | 2020-09-04 | |
US63/074,778 | 2020-09-04 | ||
US17/389,914 US11914965B2 (en) | 2020-09-04 | 2021-07-30 | Formulating questions using differences between sets of syntactic trees and differences between sets of semantic trees |
US17/389,914 | 2021-07-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114139546A true CN114139546A (zh) | 2022-03-04 |
Family
ID=80394501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111030246.XA Pending CN114139546A (zh) | 2020-09-04 | 2021-09-03 | 使用语法树集合之间的差异和语义树集合之间的差异制定问题 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11914965B2 (zh) |
CN (1) | CN114139546A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579710B (zh) * | 2022-03-15 | 2023-04-25 | 西南交通大学 | 一种高速列车问题查询模板生成方法 |
CN116737763B (zh) * | 2023-08-16 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 结构化查询语句执行方法、装置、计算机设备、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9984071B2 (en) * | 2006-10-10 | 2018-05-29 | Abbyy Production Llc | Language ambiguity detection of text |
US11567907B2 (en) * | 2013-03-14 | 2023-01-31 | Workshare, Ltd. | Method and system for comparing document versions encoded in a hierarchical representation |
US10649985B1 (en) * | 2016-11-08 | 2020-05-12 | Premera Blue Cross | Systems and methods for processing natural language queries for healthcare data |
CA3055379C (en) * | 2017-03-10 | 2023-02-21 | Eduworks Corporation | Automated tool for question generation |
JP2021149426A (ja) * | 2020-03-18 | 2021-09-27 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
-
2021
- 2021-07-30 US US17/389,914 patent/US11914965B2/en active Active
- 2021-09-03 CN CN202111030246.XA patent/CN114139546A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11914965B2 (en) | 2024-02-27 |
US20220075954A1 (en) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11942221B2 (en) | Disambiguation of ambiguous portions of content for processing by automated systems | |
US11182550B2 (en) | Cognitive building of medical condition base cartridges based on gradings of positional statements | |
US10607736B2 (en) | Extending medical condition base cartridges based on SME knowledge extensions | |
US11823798B2 (en) | Container-based knowledge graphs for determining entity relations in non-narrative text | |
US11042702B2 (en) | Solving textual logic problems using a statistical approach and natural language processing | |
US10971254B2 (en) | Medical condition independent engine for medical treatment recommendation system | |
CN111801741B (zh) | 不良药物反应分析 | |
US10818394B2 (en) | Cognitive building of medical condition base cartridges for a medical system | |
US11004550B2 (en) | Treatment recommendations based on drug-to-drug interactions | |
US10380251B2 (en) | Mining new negation triggers dynamically based on structured and unstructured knowledge | |
US11379660B2 (en) | Deep learning approach to computing spans | |
US20180096103A1 (en) | Verification of Clinical Hypothetical Statements Based on Dynamic Cluster Analysis | |
US11847411B2 (en) | Obtaining supported decision trees from text for medical health applications | |
US10599776B2 (en) | Predicate parses using semantic knowledge | |
US10592603B2 (en) | Identifying logic problems in text using a statistical approach and natural language processing | |
US11275892B2 (en) | Traversal-based sentence span judgements | |
US10839961B2 (en) | Identifying drug-to-drug interactions in medical content and applying interactions to treatment recommendations | |
US20220114346A1 (en) | Multi case-based reasoning by syntactic-semantic alignment and discourse analysis | |
CN114139546A (zh) | 使用语法树集合之间的差异和语义树集合之间的差异制定问题 | |
US11334720B2 (en) | Machine learned sentence span inclusion judgments | |
Miller | Clinical ambiguity in the intelligent machine era (treats breaks and discharges) | |
US20230043849A1 (en) | Answer generation using machine reading comprehension and supported decision trees | |
Brundage | Prevalence and evaluation of potential abbreviations in intensive care documentation |
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 |