没有合适的资源?快使用搜索试试~ 我知道了~
专家系统与应用:X 5(2020)100024PAROT:将自然语言翻译为SPARQL彼得·奥钦Taita Taveta大学,肯尼亚Ar ticlei n f o ab st ract文章历史记录:收到2019年2020年2月16日修订2020年2月16日接受2020年2月21日在线提供保留字:SPARQL自然语言处理查询本文提出了一个基于依赖关系的自然语言到SPARQL的转换框架。 我们提出了一个工具称为PAROT(回声回答本体),它能够处理用户的查询,包含复合句,否定,标量形容词和编号列表。PAROT雇用一些基于依赖关系的算法将用户的查询转换为用户的三元组。用户的三元组是然后由词典处理成本体三元组。正是这些本体三元组用于构造SPARQL查询。根据所进行的实验,PAROT提供了最先进的结果。© 2020作者由Elsevier Ltd.发布。这是CCBY-NC-ND许可下的开放获取文章。(http://creativecommons.org/licenses/by-nc-nd/4.0/)的网站上进行了介绍。1. 介绍在我们开发基于本体的聊天机器人的努力中,我们设想开发一种工具,该工具将允许用户使用他们的自然语言(NL),并与一种工具进行近乎自然的对话,该工具获取包含在基于本体的知识库(KB)中的事实(答案)。这需要我们使用一个插件工具,将用户用NL编写的语句翻译我们试验了各种NL到SPARQL工具,如AquaLog(Lopez,Pasin,Motta,Hall,Keynes ,2005 ) , CASIA@12 ( He , Zhang , Liu , Zhao ,2014),Querix(Kaufmann,Bernstein,Zumstein,2006),AutoSPARQL ( Lehmann&Bühmann , 2011 ) , K-Extractor( Tatu , Balakrishna , Werner , Erekhin-skaya , Moldovan ,2016),SPARK(Ferré,2017),这些工具目前存在于文献中,以选择最佳工具。最好的工具是基于其精确度和召回值(即,其获取正确答案和所有需要答案的能力)进行选择。然而,我们意识到,尽管工具将许多用户的查询转换1. 相反的标量形容词,如在查询中,哪条河是穿越密西西比州的最长和最短的河流?,(Zhao,Zou,Wang,Yu,&Hu,2017)估计,他们的gAnswer工具生成的查询中有12%的错误是由于以下事实它在其实现中不支持最高级和比较级。这强调了处理标量形容词的重要性。电子邮件地址:onexpeters@gmail.com2. 比如哪些河流不流经阿拉斯加?或者哪条河既不流经阿拉斯加也不流经密西西比.3. 有编号的列表,比如列出五条流经阿拉斯加的河流?4. 哪个女演员在《卡萨布兰卡》中扮演角色,嫁给了一个出生在罗马的作家?. (Zhao等人, 2017)估计,他们的gAnswer工具生成的查询中有9%的错误是由于它不处理查询用工会或过滤器。除了这些弱点之外,大多数最先进的工具使用的技术不能捕获底层知识库的整个词汇表,即它们这会影响单词的消歧过程,从而降低其精确度和召回率。本研究通过引入以下关键概念来应对上述关键挑战:1. 设计一个词典,它能够:• 为了完全表示词汇的基本知识基础,因此有助于解决用户查询中存在的单词歧义• 在知识库中用正负标量标记形容词实体。这样就解决了NL向SPARQL转换时标量形容词的对立问题。2. 我们开发了一些高覆盖率的语法分析,可以转换不同的情况下可能的问题,以正确的SPARQL查询。从评估来看,所开发的技术优于gAnswer(Zhao等人,2017 ), 这是 QALD-9 挑战 中表 现最好 的工 具(Usbeck ,Gusmita,Saleem,&Ngomo,2018 a)。https://doi.org/10.1016/j.eswax.2020.1000242590-1885/© 2020作者。出版社:Elsevier Ltd这是一篇CC BY-NC-ND许可下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)的网站上进行了介绍。可在ScienceDirect上获得目录列表专家系统与应用:X期刊主页:www.elsevier.com/locate/eswax下午2Ochieng/专家系统与应用:X 5(2020)100024这是由于它能够有效地消除歧义的话,其高覆盖率的用户问题。2. 文献综述在本节中,我们将回顾将NL转换为SPARQL以及将NL转换为SQL的最新应用程序。我们强调了工具使用的关键技术,并讨论了它可以应对第1节中讨论的挑战。AquaLog(Lopez等人,2005)是一个本体独立的问题回答系统的语义网。它由一种语言组成-TIC组件,用于将用户查询映射到查询三元组。 正是这些查询三元组被进一步处理成从其导出答案的本体兼容三元组。语言组件由GATE基础设施(Cunningham,May- nard,Bontcheva,Tablan,2001)和注释用户查询的资源组成。用户查询中的注释包括动词、名词、标记等。该组件还采用JAPE语法,该语法通过识别术语、关系、问题指示符(which/who/when等)来解释GATE嵌入的注释。 和问题的类型。AquaLog不包含处理标量形容词、编号列表和复合句的组件。CASIA@12(He等人,2014)是基于链接数据的问答系统。在生成一些可能的短语到语义项映射之后,它然后使用马尔可夫逻辑网络(MLN)进行消歧,并最终形成SPARQL查询。CA-SIA @ 12不处理标量形容词、否定、数表和复合句。DEANNA(Yahya,Berberich,&Elbassuoni,2012)也将NL中的问题转换为结构化查询。DEANNA的核心是使用整数线性规划(ILP)来解决术语到语义项的消歧。Querix(Kaufmann等人 , 2006 ) 是 一 种 模 式 匹 配 本 体 独 立 的 自 然 语 言 接 口(NLI)。Querix使用Stanford解析器从语法上分析输入查询。查询分析器从语法树中基于所生成的词类别,生成查询骨架。WordNet用于为查询中的动词和名词提供所有同义词。然后将骨架与本体中的三元组进行匹配。在Querix中,歧义不会自动解决,而是要求用户在弹出的对话框菜单窗口中进行澄清以消除歧义。它有一个缺点,它只允许用户写查询开始与哪些,什么,多少,多少,给我或因此不能-不能处理的问题,如“名单”开始的条款 它也不处理否定,标量形容词,并广泛依赖于WordNet , 这 使 得 查 询 生 成 过 程 缓 慢 。 PANTO ( Wang ,Xiong , Zhou , Yu , 2007 ) 利 用 Stanford parser ( KleinManning,2003)从用户提交的查询生成解析树。然后,它提取名词短语成分的分析树。解析树中的名词短语被成对提取,以形成称为QueryTriples的中间表示。它利用本体中的知识,将QueryTriples映射到OntoTriples,OntoTriples用本体中的实体表示 。 最 后 , 与 从 解 析 树 中 提 取 的 目 标 和 修 饰 符 一 起 ,OntoTriples被解释为SPARQL。PANTO可以处理连接词/分离词、否定词、比较级和超级词。然而,它不能处理相反的标量形 容 词 和 编 号 列 表 。 AutoSPARQL ( Lehmann Bühmann ,2011)使用超监督机器学习来生成基于正例(即,应该在SPARQL查询的结果集中的资源)和反例(即,不应该在查询的结果集中的资源)的SPARQL查询。用户可以从如在其他QA系统中一样,通过直接搜索相关资源来回答问题。然后,他或她可以选择一个适当的结果,这将成为第一个积极的例子。之后,他被问到一个一系列关于资源是否也应该包含在结果集中的问题。这些问题的答案是"是“或”不是“。该反馈允许监督学习方法逐渐学习要生成哪个查询。AutoSPARQL面临着移植到不同知识库(KB)的挑战(Sander,Waltinger,Roshchin,&Runkler,2014)。学习正例和反例的努力也随着KB的大小而急剧增加(Sander等人,2014年)的报告。SPARK(Ferré,2017)是另一种将NL关键字处理为SPARQL的工具。它的输出是SPARQL查询的排名列表。其关键步骤包括:术语映射、查询图的构造和查询排序。查询排序采用基于贝叶斯定理的概率模型。其关键挑战涉及从排名查询列表中选择选项,因为这需要具有底层KB知识的SPARQL专家(Sander等人,2014年)的报告。利用深度学习最近的成功,许多研究引入了基于深度学习神经网络的方法来将NL转换为结构化查询语言。研究(Hao等人,2017)应用双向长短期记忆(LSTM)(Hochreiter& Schmidhuber,1997)网络将NL转换为SPARQL。双向LSTM被用来捕获一个词的上下文,这个词与两个词都相关, 他们的技术利用了所提交的用户问题以从知识库中提取候选答案。然后,通过学习它们的相关性,将这些单词与正确的答案标记相关联。WDAqua(Usbeck,Gusmita,Saleem,&Ngomo,2018 b)通过采用基于规则的组合方法从自然语言生成SPARQL查询,以利用底层知识库中编码的语义生成。 用于将NL转换为SPARQL的其他现有 技 术 工 具 包 括 TeBaQA ( Usbeck 等 人 , 2018 b ) , Elon(Usbeck等人,2018b)和QA系统(Usbeck等人,2018年b)。NL 到 SPARQL 工 具 的 完 整 综 述 在 ( Bouziane , Bouchiha ,Doumi,&Malki,2015),(Cimiano&Bielefeld,2011)和(Diefenbach,Both,Singh,&Maret,2018)中进行了讨论。要将NL转换为SQL,请研究(Iyer,Konstas,Cheung,Krish-namurthy,Zettlemoyer,2017)采用双向LSTM从给定的NL生成最佳SQL查询。它应用了(Ahmad Hunt,2015)中提出的编码器-解码器模型。在解码器中,基于先前的SQL令牌嵌入组合来预测SQL令牌的条件概率分布。它们还结合了人类的反馈,以改善学习过程。利用神经网络将NL转换为结构化语言的其他研究包括(Cai等人,2018),(Yu等人, 2018)和(Gur,Yavuz,Su,&Yan,2018)。基于神经网络的方法的一个主要挑战是,他们试图使用一些训练示例来表示整个知识库。当模型遇到在训练数据中没有看到的新词汇时,这就成为一个挑战,从而影响基于神经网络的预测。表1给出了对所选最先进工具的评估总结,这些工具是否可以处理否定、对立标量形容词、复合句以及工具应用的关键消歧技术3. PAROT体系结构3.1. 步骤1:确定目标给定以自然语言提交的用户查询,第一个任务是从查询中识别目标词。 一个目标(或投影)字是一个变量,将直接放置在SPARQL查询中的SELECT关键字之后。为了帮助识别目标词,对于用户提交的查询,我们使用类型化依赖解析器,例如斯坦福类型化依赖解析器(Marneffe Manning,2015)。依赖关系解析器提供了对用户子文件中单词之间存在的语法关系P. Ochieng/专家系统与应用:X 5(2020)1000243表1评估选定的NL到结构化语言工具。Fig. 1. 显示依赖性。已发送查询。为了从解析的查询中提取目标词,我们将查询分为两类,即• Wh(WRB,WP,WDT)查询。• 非WH查询3.1.1.基于Wh查询的目标这个类别由以Wh开头的查询组成(即什么、何时、何地、谁、谁、哪个、谁的、为什么和如何)。 为了识别这类查询中的目标词,我们应用两个关键字:公式1和公式2中的一组规则x,y。(nsubj(wx,wy)Target(wy))(1a)ww x,w y,w z. (nsubj(wx,wy))n =conj(wy,wz)目标(wy)x,y。(nsubjpass(wx,wy)*Target(wy))(2a)ww x,w y,w z. (nsubjpass(wx,wy)){\displaystyle\mathbb{j}(wy,wz)}目标(wy)这里,dep(x,y)是存在于单词x和y.一个句子中的词构成了函数作用域的常数。第(1a)和(1b)项的规则适用在非关系查询中(有关关系查询和非关系查询的定义,请参见第3.2.1节它们基本上识别用户提交的查询中的名义主题,并将其标记为目标。当量(1a)适用于查询的中心主语和任何其他名词性主语之间没有合取关系的查询。例如,当用户提交诸如人口最多的州的面积是多少这样的查询时,使用Stanford依赖分析器,得到图1中的依赖图。 1已生成。公式(1a)的基础版本如下所示nsubj(is,area)Target(area)工具结构化语言否定对立标量形容词复合句消歧技术AquaLog(Lehmann Bühmann,2011)SPARQL没有没有没有GATE基础设施CASIA@12(He等人, 2014年度)SPARQL没有没有没有Markov逻辑网DEANNA(Stoilos等人,( 2005年)SPARQL没有没有是的整数线性规划Querix(Kaufmann等人,(2006年)SPARQL没有没有没有用户PANTO(Wang等人,( 2007年)SPARQL是的没有是的查询模式AutoSPARQL(Lehmann Bühmann,2011)SPARQL没有没有是的机器学习FREyA(Damljanovic,Agatonovic,&SPARQL没有没有是的用户坎宁安,2011年)QuestIOSPARQL没有没有是的用户K-提取器(Tatu等人,(2016年)SPARQL没有没有是的排名SPARK(Ferré,2017)SPARQL没有没有是的排名SQLnet(Xu,Liu,Song,2017)SQL是的没有是的神经网络(LSTM)DiaSQL(Gur等人, 2018年)SQL是的没有是的神经网络(LSTM)SyntaxSQLNet(Yu等人, 2018年)SQL是的没有是的神经网络(LSTM)ParotSPARQL是的是的是的句法启发法与词汇技术图二. 显示依赖性。依赖关系nsubj(is,area)在单词is和area之间成立。因此,选择标称面积作为查询的目标。如果用户提交了一个查询,如人口最多的州的面积和人口是多少?,Stanford dependency viewer生成图1所示的依赖关系。 二、由于在该查询中,头部主体区域通过协调连词“和”连接到另一个名词,因此等式中的公式(1b) 应用。nsubj( is, area)nsubj( is, area)目标(人口)名义面积和人口都被选为目标。这条规则还捕捉了一个以上的名词通过并列连词连接到中心主语的情况,如and,or and“,如人口最多的州的人口,面积和首都是什么?Eq中的规则(2a) 和(2b)适用于基于关系的查询。它们通过识别用户提交的查询中的被动名词性主语来标记查询中的主语词。当量(2a)适用于中心主语不通过连词与任何其他名词连接的情况。例如,在查询哪个德国演员在车祸中丧生?,选择名义演员作为目标词。nsubjpass( killed, actor)目标(actor)Eq中的规则(2b)一个或多个nomi-nals通过一个协调的连接与头部主体相连,例如,在查询Which Germanactorand musicianwerekilledinaroadcrash?. 名词性的演员和音乐家被选为目标词。nsubjpass( killed, actor)nsubjpass( killed, actor)Target(actor)3.1.2.非WH查询为了在非Wh查询中搜索出目标词,我们使用等式3和等式4中 当量(3a)和(3b)适用于非Wh--下午4Ochieng/专家系统与应用:X 5(2020)100024图三. 显示依赖性。查 询 直 接 宾 语 不 与 介 词 相 连 , 如 Give me all the rivers thattransmitting Mississippi(见图3中的依赖关系di-agram)。Eq中的规则 (3b)适用于直接宾语通过连词与一个或多个名词连接的情况( 例 如 : Give me allrivers andlakesthattransverseMississippi)x,y。(dob j(wx,wy)目标(wy))(3a)ww x,w y,w z. (dob j(w x,w y))目标(wy)目标(wz))(3b)x,y。(pob j(wx,wy)目标(wy))(4a)ww x,w y,w z. (pob j(w x,w y))目标(wy)目标(wz))(4b)等式(4a)和(4b)适用于非Wh查询,名词短语的后面跟介词。等式(4a)适用于诸如尼罗河从哪个国家开始的查询?. 在这里,中心名词country不通过conjugate与任何名词连接。公式(4b)适用于中心名词连接到一个或多个名词通过一个连接词,如在查询中,在哪个国家和大陆的尼罗河开始?. 中心名词必须与介词连接。3.2.步骤2:识别用户三元组模式SPARQL 查询由一组三元组模式组成,称为图模式。在SPARQL查询中,图形模式直接放置在WHERE关键字或目标变量之后。三重模式的形式是主语>谓语>宾语>,其中主语、谓语和宾语可以是变量(SPARQL工作组,2013)。<因此,本节的思想是处理用户提交的查询,以识别将用于构建SPARQL图的潜在三元组。从用户查询中识别的三元组在这里被称为用户三元组。 为了从提交的查询中识别用户三元组,我们将其分类为:1. 基于关系短语的查询。2. 非关系短语查询。3.2.1.在基于关系的用户查询中识别用户三元组模式基于关系的用户查询是至少包含一个连接两个名词的关系短语的查询。 关系短语可以是一个及物动词(例如,在查询“哪些河流穿越阿拉斯加?”’, “哪条河流经阿拉斯加?”’, 因此,连接两个名词的关系短语可以是动词,动词后面直接跟有介词或动词后接名词、形容词或以介词结尾的副词(Fader,Soderland,Etzioni,2011)。为了在基于关系的查询中识别用户三元组,我们应用算法1。算法1从基于关系的用户查询中提取用户三元组。输入句子S=(w1,w2···wn).输出UserTriples。给定一个句子S=w1,w2,... w n检查S是否为复合,即CheckCompound(S)。 (等式5))。ifCheckCompound(S)=true. 然后断裂(S)=(s1(cc)s2)其他UserTriple=GenerateTriple(S)。end ifreturnUserTriples图四、在基于关系的查询中,使用词性标记模式来标记复合句。该算法接受用户提交的查询(句子),它是由许多单词组成的。 然后,它使用函数checkCompound(S)评估句子是否是复合句。函数checkCompound(S)应用许多句法约束来将句子分类为复合句或非复合句。语法约束如图4所示。一个复合句应该由以下顺序组成:1. 动词后接介词后接名词、连词和动词(例如:哪个女演员在卡萨布兰卡演出,嫁给了出生在罗马的)2. 动词后接名词后接动词和名词(例如,哪条河横穿密西西比州或阿拉斯加州)3. 名词后接动词,名词后接名词和动词(例如,阿拉斯加有哪些河流和湖泊4. 副词,最高级后跟动词,最高级后跟副词,最高级后跟动词(例如,美国人口最少、人口最多的州是哪个州)使用Stanford依赖分析器,我们翻译了图1中的句法约束。 4中所示的一组公式。w ewh w iw jwk (prepare(we,wh)pop j(wh,wi)cc(we,wj)化合物(wa,wb,...,wn))(5a)你好,我是W,W,W。(dob j(we,wh)(dob j(wh,wh)(dobj(wh,wi)(dob j,w h)(dob j化合物(wa,wb,...,wn))(5b)你好,我是W,W,W。(nsubj(we,wh)nsubcc(wh,wi)nsubconj(wh,wj)化合物(wa,wb,...,wn)(5c)你好,我是W,W,W。(advmod(we,wh)adjacent(wh,wi)adjacent(wh,wj)adjacent(w h,w j)复合词(w a,wb,···,w n)(5d)考虑句子,S=哪些河流流经密西西比州或阿拉斯加州。根据规则(5 b),该判决被归类为com-如下图所示。dob j(trav erse, Mississippi)密西西比州,或con j(Mississippi,Alaska)阿拉斯加州密西西比州一个被归类为复合句的句子S必须被分成两个简单句(s1和s2)。这些句子由--P. Ochieng/专家系统与应用:X 5(2020)1000245在用户查询中链接它们的连接器,即(s1(cc)s2)。函数Break(S)是迭代的,其应用等式中的规则。6从复句S中抽取两个单句。断裂(S)1(cc)2(6)哪里s1=wa,wb,···,wi s2=wa,wb,···,we−1,wj+1···wn(7a)s1=wa,wb,···,whs2=wa,wb,···,wh−1,wj(7b)s1=wa,···,wh,···,wj+ 1···wn s 2=wa,wi+ 1,···,wj,···,wn(7c)s1=wa,···,wh,wj+1···wn s2=wa,···,wh−1,wj···,wn(7d)Eq中的规则 (7a)适用于由公 式 中的规则识别的复合句。 (5a). 同样地,(7b)适用于(5b),(7c)适用于(5c),(7d)适用于(5d)。 在这里,我们假设的最后一句话,一个句子是wn。应用规则(7b),复合句:S=哪些河流穿过密西西比和阿拉斯加被分解成两个简单句,即S1=哪些河流流经密西西比州。哪些河流流经阿拉斯加?cc=和最后,该算法通过函数GenerateTriples识别三元组。对于每个简单句子s i,GenerateTriple函数通过提取两个后续的头部来识别其中的用户三元组名词,并使用关系短语将它们连接起来。 例如,在上面的s1中,我们将名词rivers和Mississippi作为两个后续的中心名词,而transverse是连接它们的关系短语,因此,GenerateTriple将从s1生成一个三元组,即{riverstransverse Mississippi}。类似地,在s2中,将生成单个用户三元组{riverstransverse Alaska}一旦用户三元组已经建立,我们生成所有的三元组安排,预测可能的方式,在用户三元组中的概念可以在底层本体建模。例如,用户三元组{rivers transverse Mississippi}预测未解的本体例如已经将概念river和Mississippi建模为{river:flows_throughMississippi}。然而,未定义的本体可能已经将概念建模为{密西西比:hasRiver river}。为了捕捉这两种可能性,对于我们提取的每个用户三元组,我们创建第二个三元组,其中主题和对象位置中的 概 念 互 换 。 因 此 , 对 于 用 户 三 元 组 {rivers transverseMississippi},我们创建另一个{Missippitransverse river},其中Mississippi和rivers的概念互换。在本例中,我们生成以下用户三元组。{rivermossippiORMississippitraverserver}{riverseAlaskaORAaskatraverserver}.在本体论中建模的概念的正确排列将由词典来解决考虑用户查询哪个女演员在卡萨布兰卡演出,并嫁给了一个出生在罗马的作家?根据Eq. (5a),则查询被标记为复合句。 因此,查询被分成两个简单的句子,即。s1=哪个女演员在卡萨布兰卡演过戏哪个女演员嫁给了一个出生在罗马的作家。cc=和(演员嫁给作家,作家嫁给演员)(作家生于罗马,作家生于罗马)查询生成的最终用户三元组如清单1所示。在未定义的本体中建模的概念的正确位置将由第3.5节中讨论的词典来解决。存在GenerateTriple应用等式8中的规则的两种特殊情况。这些规则基本上适用于动词连接的名词不明确的情况。规则得到应用;1. 当查询以Who(例如,Who killed Ceasar)开头时?2. 当一个查询包含一个不位于任何两个名词之间的动词时(即,当一个动词位于一个句子的结尾时,在查询中,尼罗河穿越哪个大陆?.规则(8a)适用于第一种情况,而规则(8b)适用于第二种情况。你好,你好,你好。(nsubj(we,wh))T riple(?wh,we,wi))三个(wi,we,?(8a)你好,我是W,W,W。(pob j(we,wh)pumprep(wj,we)pumnsubj(wj,wi)T riple(wi,wj,wh)考虑一下这个问题:谁杀了凯撒?在Eq. (8a),nsubj( killed, who) dobj( killed, Ceasar)T riple(?谁杀了凯撒(WhoKilledCaasar)三重(凯撒,被杀,?谁)使用者triple {?谁杀了凯撒?是谁?再次考虑用户查询尼罗河穿越哪个大陆?.依赖关系图如图5所示。应用Eq 中的规则。(8b),pob j(In,continent)(in,大陆)尼罗河、河、洲Triple(Continent,traverse,Nile)3.2.2.基于非关系的用户查询中用户查询三元组模式的识别非关系查询是没有关系短语链接其任何名词的查询(句子)。例如,句子What is the area of the most populated state? 是基于非关系的查询。为了识别这类查询中存在的三元组,我们使用算法2。算法2非关系查询中的三重抽取算法。输入句子S=(w1,w2···wn)。输出UserTriples。1:给定句子S =(w1,w2,...,(w n)2:检查它是否是化合物,即检查化合物2(S)(等式9、10或11))。3:如果CheckCompound2(S)==真,则4:(s1,s2)=中断2(S)5:其他6:UserTriples= GenerateTriple2(S)。7:如果结束8:returnUserTriples当GenerateTriple函数同时应用于s1和s2时,生成以下用户三元组GenerateTriple(s1)={actor played_inCasablanca}GenerateTriple(s2)={actor married_to writer,writer born_in Rome}然后扩展用户三元组以预测未定义本体中的可能位置。{(演员扮演_在卡萨布兰卡,卡萨布兰卡扮演_在演员)}函数CheckCompound 2根据开发的两个关键规则确定非关系查询是否为复合查询。Eq中的规则9和10分别适用于基于Wh和非基于Wh的查询。Eq中的规则 11适用于包含模式JSS→CC→JJS→N的非关系查询,即H我JHH我HJ下午6Ochieng/专家系统与应用:X 5(2020)100024{(actor played_in Casablanca)或(Casablanca played_in actor)和(actor married_to writer)或(writer married_to actor)(writer born_inRome)或(Romeborn_in writer)}清单1. 示例用户三倍。S2=人口最多的州的面积是多少最后,通过函数GenerateTriples2识别用户三元组。为了识别三元组,GenerateTriples2利用了以下的存在:1. 介词(在德国)。2. 属格构图五. 显示依赖性。清单2. 示例用户三倍。形容词最高级后接一个词形变化后接一个形容词最高级后接一个名词(例如,美国最长和最短的河流是哪一条)。wd,w f,w g,wk. (nsubj(wd,wf)nsubcc(wf,wg)nsubconj(wf,wk)化合物(wa,wb,···,wn)(9)wd,w f,w g,wk. (dob j(wd,wf)dcc(wf,wg)dconj(wf,wk)化合物(wa,wb,···,wn)(10)你好,W,W,W (amod(we,w))cc(w,w)conj(w,w)化合物(wa,wb,...,wn)(11)一个复合句被分成两个简单句,s1,s2,如公式中的规则所示。 12个。哪里断裂2(S)断裂1(cc)断裂2(12)凡在第9及10条所指明的复合句s1=wa,wb,···,wf,wk+1,···,wns2=wa,wb,···,wf−1,wg+1···wn,而在由规则11识别的复句s1=wa,···,wh,wj+1···wns2=wa,···,wh−1,wj···,wn考虑用户查询S=什么是人口和面积人口最多的国家?.依赖关系图如图2所示。应用Eq. 十,nsub j(is,population)cc(population,and)conj(population,area)化合物(S)由于句子是复合句,所以应用Break2(S)函数将其分解为两个简单句s1和s2,即:介词介词in是一个信号,表示一个给定的对象属于一个名词,例如:What is the highestmountain inGermany描述了德国有一个mountain类型的对象。 因此,基于使用的介词类型,GenerateTriples2使用两个关键规则集从用户提交的查询中提取三元组。 当使用介词来提取三元组时,在非基于关系的查询中的一般句法约束是N→IN→(A)→N,即名词后跟介词再后跟名词。 有时候,一个行列式和一个形容词可以同时存在,如A所描述的。等式13 中的 规则 适用 于使用 介词of 当量 (13a )和(13b)分别用于基于Wh和非基于Wh的查询。w u w xw yw z. (nsubj(w u,w x)n(w x,w y)pobj(wy,wz)三重函数(wz,(wx_wy),?(13a)w u w xw yw z. (dob j(w u,w x))预处理(w x,w y)pobj(wy,wz)三重函数(wz,(wx_wy),?(13b)因此,将GenerateTriples2(规则(13a))应用于s1和s2(nsubj( is, population))nsubjs( population, of)pobj(of,state)Triple(state,(population_of),?(k))(nsubj(is,area))prep(area,of)pobj(of,state)(of=三重(状态,(区域),?(k))GenerateTriples2(s1)={State population_of?x}GenerateTriples2(s2)={State area_of?x}UserTriples={State population_of?x与国家面积?y}对于使用in介词的情况,Eq. (14a) 及(14b)分别适用于以Wh及非Wh为基础的问题。w u w xw yw z. (nsubj(w u,w x)n(w x,w y)pobj(wy,wz)三重(wz,?k,wx))<$T riple(wx,?(14 a)w u w xw yw z. (dob j(w u,w x))预处理(w x,w y)pobj(w,w)s1=人口最多的州的人口是多少y zcc=和三重(w z,?k,w x)<$T riple(w x,?(14 b)uXyXuuuXyXuyXP. Ochieng/专家系统与应用:X 5(2020)1000247见图7。 标量形容词的词性标记模式。见图6。 相关图。考虑一下用户的问题:德国最高的山是哪座?在Eq. (15a),nsubj(is,mountain)prep(mountain,in)pobj(in,Germany)(wy=德国,?k,mountain)山(山)德国))用户三倍{德国?山,还是山?k德国}被提取。在这里,我们试图抢占所有可能的安排概念的基础本体。术语德国可以 在本体中 被建模 为占据主 语位置 ,例 如在三元 组{Germany:hasMountain Adelegg}中,或者它可以被建模为占据宾语位置,例如{Adelegg:hasTo Ger- many}。要选择的确切三元组将由词典确定。当涉及属格补语时,应用等式15中的规则。应用的句法约束是N→POS→N也就是说,它涉及两个名词,中心词和从属名词(或修饰名词)(如德语从属名词通过表达中心词的某些属性来修饰中心词。(15 a)中的规则适用于非Wh查询,而(15 b)适用于基于Whw u,w x,w y,w z. (dob j(wu,wx))拥有(wx,wy)拥有(wy,wz)三重(wy,?k,wx))<$T riple(wx,?(15 a)w u,w x,w y,w z. (nsubj(wu,wx))拥有(wx,wy)拥有(wy,wz)三重(wy,?k,wx))<$T riple(wx,?(15 b)考虑 的 查询 安吉拉的本名是什么?(见附件)清单3. 三倍使用者清单4. 三倍使用者清单5. 三倍使用者2.一个副词,最高级后跟一个动词后跟一个名词(例如,人口最多的州)纯量形容词是一个表示名词是形容词所指的对象的信号.例如,组合longest river表示名词river具有属性length。因此,我们将图7中的句法约束转换为等式7中的规则。16和17号。这些规则用于从包含标量形容词的查询ww w (amod(w,w)(wJJS)Triple(wx,root(wu),?(16)ww w (advmod(w,w)adj.(w,w)图6中的dency),应用Eq. ( 15 b),nsubj(is,name)poss(name,Markel)posessive(Markel,rs)三重(马克尔,?k,name)T riple(name,?k,Markel))三重(Markel?kname}{name,?k,Markel}。3.3.3.处理形容词为了处理形容词,我们把它们分为两类1. 标量形容词。2. 非标量形容词。3.3.1.数量形容词等级形容词是那些传达等级概念的形容词。在OWL本体中,标量形容词可以映射到一个owl:DatatypeProperty。为了排除标量形容词,我们使用两个两个关键的句法约束句法约束要求标量形容词匹配图7中所示的任何POS标记模式。模式限制纯量形容词to be1. 形容词、最高级后跟名词(例如,最长的河流)。Triple(w y,root(w x),?(17)美国最长的河流是哪条?.应用Eq.中的规则。16,生成清单4中的用户三元组。amod ( river , longest ) ( longestJJS ) Triple ( river , root(longest),?(k))考虑查询Which is the most populated state in America?.在Eq中应用规则。18,生成清单5中的用户三元组。adv mod( populated, most)adv amod( state, populated)Triple(state,root(populated),?(k))3.3.2.非数量形容词这些形容词并不表达规模的
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功