CN105760462B - 基于关联数据查询的人机交互方法及装置 - Google Patents
基于关联数据查询的人机交互方法及装置 Download PDFInfo
- Publication number
- CN105760462B CN105760462B CN201610081460.0A CN201610081460A CN105760462B CN 105760462 B CN105760462 B CN 105760462B CN 201610081460 A CN201610081460 A CN 201610081460A CN 105760462 B CN105760462 B CN 105760462B
- Authority
- CN
- China
- Prior art keywords
- natural language
- mapping
- type
- keywords
- resource mapping
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000003993 interaction Effects 0.000 title claims abstract description 33
- 238000004458 analytical method Methods 0.000 claims abstract description 24
- 238000013507 mapping Methods 0.000 claims description 158
- 238000002372 labelling Methods 0.000 claims description 25
- 238000012986 modification Methods 0.000 claims description 25
- 230000004048 modification Effects 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 abstract description 10
- 230000002776 aggregation Effects 0.000 description 14
- 238000004220 aggregation Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 239000003607 modifier Substances 0.000 description 9
- 238000005034 decoration Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种基于关联数据查询的人机交互方法及装置。该方法包括对用户输入的自然语言进行解析,并生成有向无环图DAG;根据DAG生成自然语言的三元组;根据三元组确定自然语言的资源映射;根据三元组、确定的资源映射和预设语义生成规则生成SPARQL语句;通过SPARQL语句访问关联数据知识库,生成关联查询信息作为与用户输入的自然语言进行人机互动的信息。实现了自动将用户输入的自然语言转换为结构化的语句,提高了问题解析的准确率和DAG图实例化的准确率,并通过结构化的语句结合联合查询的方式进行查询,提高了结构化语句查询结果的正确率和召回率,信息查询转换的效率和准确性很高,提高了人机互动的信息的准确率。
Description
技术领域
本发明涉及语义网数据检索技术领域,具体而言,涉及一种基于关联数据查询的人机交互方法及装置。
背景技术
随着互联网及信息检索技术的快速发展,基于语义网的信息查询已成为一种主流的信息查询方式,此信息查询方式极大地满足了人们对信息查询的需求,同时也提高了信息查询的效率。
当前,基于语义网的信息查询过程主要是先将用户输入的自然语言转换为结构化的查询语言或计算机可以识别的其它查询语言,再根据转换后的查询语言访问相应的知识数据库中的资源,从而得到关联的查询结果。
然而,对于一般的用户来说,为进行搜索查询而要掌握结构化的语言则需要进行专门的学习或培训后才能够掌握,且每个用户掌握结构化的语言的程度也大不相同,用户在短期内想要掌握结构化的语言的复杂度很高而难以实现,因此,如何有效地将自然语言自动转化为结构化查询语言,通过结构化的查询语言查询出更加准确的信息,并提高信息查询的效率是当前基于语义网的信息查询所亟需解决的问题。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于关联数据查询人机交互方法及系统,实现自动将用户输入的自然语言转换为结构化的语句,提高了问题解析的准确率和DAG图实例化的准确率,并通过结构化的语句结合联合查询的方式进行查询,提高了结构化语句查询结果的正确率和召回率,信息查询转换的效率和准确性很高,从而提高了与用户输入的自然语言进行人机互动的信息的准确率。
第一方面,本发明实施例提供了一种基于关联数据查询的人机交互方法,所述方法包括:
对用户输入的自然语言进行解析,并生成有向无环图DAG;
根据所述DAG生成所述自然语言的三元组;
根据所述三元组确定所述自然语言的资源映射;
根据所述三元组、确定的所述资源映射和预设语义生成规则生成SPARQL语句;
通过所述SPARQL语句访问关联数据知识库,生成关联查询信息作为与所述用户输入的自然语言进行人机互动的信息。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述对所述自然语言进行解析,包括:
提取所述自然语言中的关键词;
对所述关键词进行分类;
根据分类后的所述关键词的词性属性对所述关键词进行标注,所述标注包括实体标注、概念标注、关系标注、限制修饰标注和变量标注;
根据所述关键词的标注和预设依存关系生成规则对标注后的所述关键词进行语义分析,确定所述关键词的语义依存关系。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述根据所述DAG生成所述自然语言的三元组,包括:
按照预设实例化规则对所述标注过的关键词的节点进行实例化;
将实例化后的DAG对应的三元组确定为所述自然语言的三元组。
结合第一方面的第二种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述按照预设实例化规则对所述标注过的关键词的节点进行实例化,包括:
确定所述关键词的节点;
确定与所述关键词的节点相匹配节点条件;
根据确定的节点条件和预设提取规则生成DAG对应的三元组。
结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述根据所述三元组确定所述自然语言的资源映射,包括:
识别所述三元组中各个元素对应的类型;
根据所述三元组中元素的类型查找该类型对应的资源映射;若未查找到,根据该类型对应的预设资源映射方法建立该类型对应的资源映射;
将查找到的或建立的资源映射确定为所述自然语言的资源映射。
第二方面,本发明实施例提供了一种基于关联数据查询的人机交互装置,所述装置包括:
第一生成模块,用于对用户输入的自然语言进行解析,并生成有向无环图DAG;根据所述DAG生成所述自然语言的三元组;
确定模块,用于根据所述三元组确定所述自然语言的资源映射;
第二生成模块,用于根据所述三元组、确定的所述资源映射和预设语义生成规则生成SPARQL语句;
第三生成模块,用于通过所述SPARQL语句访问关联数据知识库,生成关联查询信息作为与所述用户输入的自然语言进行人机互动的信息。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述第一生成模块,包括:
提取单元,用于提取所述自然语言中的关键词;
划分单元,用于对所述关键词进行分类;
标注单元,用于根据分类后的所述关键词的词性属性对所述关键词进行标注,所述标注包括实体标注、概念标注、关系标注、限制修饰标注和变量标注;
第一生成子单元,用于根据所述关键词的标注和预设依存关系生成规则对标注后的所述关键词进行语义分析,确定所述关键词的语义依存关系。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述第一生成模块,还包括:
实例化单元,用于按照预设实例化规则对所述标注过的关键词的节点进行实例化;
第一确定子单元,用于将实例化后的DAG对应的三元组确定为所述自然语言的三元组。
结合第二方面的第二种可能的实现方式,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述实例化单元,包括:
第二确定子单元,用于确定所述关键词的节点;
第三确定子单元,用于确定与所述关键词的节点相匹配节点条件;
第二生成子单元,用于根据确定的节点条件和预设提取规则生成DAG对应的三元组。
结合第二方面,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述确定模块,包括:
识别单元,用于识别所述三元组中各个元素对应的类型;
查找单元,用于根据所述三元组中元素的类型查找该类型对应的资源映射;
建立单元,用于查找单元未查找到所述类型对应的资源映射时,根据该类型对应的预设资源映射方法建立该类型对应的资源映射;
第四确定子单元,用于将查找到的或建立的资源映射确定为所述自然语言的资源映射。
在本发明实施例提供的基于关联数据查询的人机交互方法及系统,实现了自动将用户输入的自然语言转换为结构化的语句,通过对关键词进行限制修饰标注,将各个关键词的关系属性区别开来,并按照最小语义依存关系构建DAG图,提高了问题解析的准确率,在资源映射和结构化语句生成时,构建与关键词语义标注对应的资源映射,提高DAG图实例化的准确率,并通过结构化的语句结合联合查询的方式进行查询,提高了结构化语句查询结果的正确率和召回率,信息查询转换的效率和准确性很高,从而提高了与用户输入的自然语言进行人机互动的信息的准确率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A示出了本发明实施例1所提供的基于关联数据查询的人机交互方法的流程图;
图1B示出了本发明实施例1所提供的对自然语言进行解析的流程图;
图1C示出了本发明实施例1所提供的关键词的语义依存关系第一示意图;
图1D示出了本发明实施例1所提供的关键词的语义依存关系第二示意图;
图1E示出了本发明实施例1所提供的确定自然语言对应的资源映射的流程图;
图2示出了本发明实施例2所提供的基于关联数据查询的人机交互装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到一般用户在进行信息查询时,在短期内想要掌握结构化的语言的复杂度很高而难以实现。基于此,本发明提供了一种基于关联数据查询的人机交互方法及装置,实现自动将用户输入的自然语言转换为结构化的语句,并通过结构化的语句结合联合查询的方式进行查询,提高了结构化语句查询结果的正确率和召回率,信息查询转换的效率和准确性很高,从而提高了与用户输入的自然语言进行人机互动的信息的准确率。下面通过实施例进行描述。
实施例1
参见图1A,本发明实施例提供了一种基于关联数据查询的人机交互方法。该方法包括以下S101-S105步骤。
步骤S101:对用户输入的自然语言进行解析,并生成有向无环图DAG(DirectedAcyclic Graph,有向无环图)。
其中,对自然语言进行解析可通过以下S1011-S1014步骤进行。
步骤S1011:提取自然语言中的关键词。
上述自然语言可以是用户输入的英文文字。当用户输入自然语言后,解析工具会首先对该自然语言的类型进行识别,其中,该自然语言的类型包括聚合和非聚合类型。聚合类型主要包括过滤和排序等,非聚合类型主要包括资源、时间、数量和布尔类型等。当识别出该自然语言的类型后,解析工具根据该自然语言的内容和类型提取该自然语言中的关键词。
步骤S1012:对关键词进行分类。
在对自然语言的关键词进行分类时,可以将关键词分为专有名词、名词形态、形容词原型、动词形态、介词形态和形容词最高级形态等。
步骤S1013:根据分类后的关键词的词性属性对关键词进行标注,标注包括实体标注、概念标注、关系标注、限制修饰标注和变量标注。
在对关键词进行标注时,首先需要判断该关键词的词性属性与标注的对应关系,其中,该对应关系为:当该关键词的词性属性为专有名词时,对应的标注为实体;当该关键词的词性属性为名词形态时,对应的标注为概念;当该关键词的词性属性为动词形态和形容词原型时,对应的标注为关系;当该关键词的词性属性为介词形态、最高级形态以及其它形态时,对应的标注为限制修饰。当确定出该关键词的词性属性与标注对应的关系时,将所有关键词按照实体、概念、关系、限制修饰和变量五种类型进行标注。
上述实体是一个客观的具体的实在的事实资源,比如中国。在自然语言中,实体是事件实施或者描述的主体,是事件的重要执行者;实体还可以是事件实施或者描述的客体,是事件的重要承受者;实体在整个事件中起着重要的作用。在自然语言解析中,通常将实体分成人名、机构名、地名、时间、日期、货币和百分比等,识别命名实体是自然语言解析中的重要内容。
相对于实体,上述概念则是抽象的概括的意义的存在,比如国家。在自然语言中,概念是对特征的独特组合而形成的知识单元,描述的是特征,因此,概念的识别对语句语义分析具有重要作用。
上述关系是用来表示主体和客体之间的内在联系。在自然语言中,关系可以以名词和动词形式表示出来,是联系主体和客体的重要因素。
上述限制修饰包括限制和修饰两种词语,限制词语和修饰词语是自然语言中最常见到的词语,都是用来修饰主体词语,比如more than,longest等。这些限制性修饰词语通常是形容词、副词等。限制词语修饰方式通过还原属性修饰词,并根据属性修饰词排序、比较和过滤查找到的资源。
上述变量可以以查询结果的未知量形式出现在查询过程中生成的三元组中,可以是主谓宾的任意一个成分;也可以是查询过程中实例化的中间节点,或者连接两个三元组共同的节点。
在本发明实施例中,上述解析工具为StandfordNLP(斯坦福解析器),通过StandfordNLP结合索引表来进行区分并验证相近词性的类型,最后确定出该关键词的词性属性,然后对关键词进行标注。例1,对于用户输入的“Give me all actors who were bornin Berlin.”问题,对应的关键词为“actor”、“birth”和“Berlin”,对关键词进行标注后为“actor[C]”,“birth[P]”,“Berlin[E]”。
步骤S1014:根据关键词的标注和预设依存关系生成规则对标注后的关键词进行语义分析,确定关键词的语义依存关系。
上述预设依存关系生成规则,即为建立DAG图时遵循的语法规则,示意性地如下表1所示。
表1
在确定关键词的语义依存关系时,当关键词的标注符合上述表1中某个规则编号对应的条件时,则按照该规则编号对应的规则确定该关键词的语义依存关系,具体根据解析工具的参数设置来确定。例2,当用户输入的自然语言为“How many pages does War andPeace have?”,其中,关键词为:War_and_Peace[E],page[P],通过上述解析工具和上述表1得到的解析结果对应的关键词的语义依存关系如图1C所示。
通过解析工具解析的关键词的语义依存关系不够准确,还需要对上述生成的语义依存关系进一步简化,将简化后的关键词的语义依存关系确定该关键词的语义依存关系,能够更准确地表示关键词的语义依存关系。简化后的语义依存关系示意性地图1D所示。
当确定关键词的语义依存关系后,根据以下表2中的规则结合上述例2可以将该语义依存关系通过对应的DAG图表示,其中,该DAG图表示了关键词的最小语义依存关系。
表2
步骤S102:根据DAG生成自然语言的三元组。
其中,根据DAG生成自然语言的三元组,可通过以下过程按照预设实例化规则对标注过的关键词的节点进行实例化。
对于自然语言为非聚合类型时,上述预设实例化规则如下表3所示。
表3
对于自然语言为聚合类型时,上述预设实例化规则如下表4所示。
表4
首先确定关键词的节点。
根据上述生成的DAG图,可根据各个关键词在DAG图中对应的位置可以确定各个关键词的节点。
然后确定与关键词的节点相匹配节点条件。
当确定出各个关键词的节点后,根据以上表3或表4确定与关键词的节点相匹配节点条件。
最后根据确定的节点条件和预设提取规则生成DAG对应的三元组。
上述预设提取规则即为上述表3或表4中的“规则”。
当上述表3中某个规则编号对应的条件与关键词的节点相匹配时,则按照该规则编号对应的规则对DAG图中该关键词的节点进行相应改变。当上述表4中的条件与关键词的节点相匹配时,则按照该条件对应的规则对对DAG图中该关键词的节点进行相应改变。
当对标注过的关键词的节点进行实例化后,将实例化后的DAG对应的三元组确定为自然语言的三元组。
上述确定出的三元组包括实例化后的DAG图中各个节点对应的关键词,其中,各个节点在三元组的位置根据各个关键词在DAG图中对应的节点位置进行排列。
例如,对于非聚合类型。
标注的关键词为War and Peace[E],Page[P],根据对关系节点page(numberOfPage)[P]数量化,得到(numberOfpage/pagenumber)[P],所以基于EP规则的三元组生成为(War_and_Peace,numberOfpage/pagenumber,?value)。
例如,对于聚合类型。
在“What is the bridge with the longest span?”中,标注的关键词为bridge[C]span[P]longest[M],根据限制修饰词语词性,构造基本三元组:?bridge a dbo:Bridge.?bridge dbo:span?span.此时需要对?span值进行判断,如果?span为数值,则可以直接按照?span进行排序,否则,需要对longest进行还原,构建新的三元组?span dbo:length?length。
上述生成的三元组可以是自然语言的主语、谓语、宾语以及主语或宾语的修饰限制词语组成的语句。
步骤S103:根据三元组确定自然语言的资源映射。
当生成自然语言的三元组后,可以通过以下S1031-S1034步骤确定自然语言的资源映射,如图1E所示。
步骤S1031:识别三元组中各个元素对应的类型。
上述确定出的三元组中各个元素对应的类型可以是实体、概念、关系、限制修饰或变量。
步骤S1032:根据三元组中元素的类型查找该类型对应的资源映射;若未查找到,执行步骤S1033,若查找到,执行步骤S1034。
在本发明中,上述资源映射分为实体映射、概念映射、关系属性映射和限制修饰映射。其中,
在实体映射中,实体资源使用维基百科定位资源,实体作为一种具体资源,通过维基百科进行映射,在实体映射过程中,对于国家以及某国人的实体映射,根据索引表实现映射。
在概念映射中,与DBpedia类索引表形成映射,如果不能形成映射,优先使用WordNet词典同义词查找和上位词的方式形成映射,若没有形成映射,最后通过WordNet字典或者维基百科字典查询,将词语按名词解释提取新的关键词重新构成DAG后,进行映射。
对于关系属性映射和限制修饰映射,需要建立关联数据知识库对应的索引表,其中索引表的类型可以分为常用关系索引和一般属性索引,其中,常用关系索引是根据实践数据总结出来的,相对应的不同资源,都使用逐一搜索方法进行资源映射。一般的名词性的关系属性利用维基百科或者DBpedia属性索引表中形成映射,对于动词性谓语属性映射,应该将谓语属性名词化,在名词化过程中遵循一定的规则即表5,其中,自然语言问题类型为时间时,将谓语属性增加--Date后缀;自然语言问题类型为地点时,将谓语属性增加--Place后缀;自然语言问题类型为数字时,将谓语属性增加numberOf--前缀;自然语言问题类型人时,将谓语属性人格化等。
表5
限制修饰词语根据非聚合问题类型规则即表2进行相应匹配映射。对于排序等类型的聚合问题,本系统提供一个排序索引表。除了按照此规则匹配外,使用WordNet,Trained Property Index以及DBpedia的属性索引表中的同义词和近义词等,形成映射。其中,在进行索引表以及同义词近义词的所有候选词语筛选中,本发明实施例提供了多个层面的相关度计算。
第一、索引表中常用属性,这部分内容是根据实测过程中的出现频率较高的词语进行提取的索引表。
第二、语义相似度,对于索引表中的复合词汇进行语义拆解,和领域定位,与问题中词语出现的相关词语进行相关度评分。
第三、词汇相似度,使用词语间编辑距离方法进行词汇相似度评分。
步骤S1033:若未查找到三元组中元素的类型对应的资源映射,根据该类型对应的预设资源映射方法建立该类型对应的资源映射。
当三元组中元素的类型对应的资源映射既不是实体映射,又不是概念映射时,此时不会查找到对应的资源映射。当三元组中元素的类型对应的资源映射为关系属性映射或限制修饰映射时,可通过上述属性映射或限制修饰映射的建立方法建立该三元组中元素的类型对应的资源映射。
步骤S1034:将查找到的或建立的资源映射确定为自然语言的资源映射。
当三元组中元素的类型对应的资源映射为实体映射或者概念映射时,此时会查找到对应的资源映射。当查找到的或建立的资源映射确定为自然语言的资源映射后,可通过以下S104步骤生成该自然语言对应的结构化查询语言。
步骤S104:根据三元组、确定的资源映射和预设语义生成规则生成SPARQL语句。
SPARQL语句不仅是结构化查询语言,而且是灵活性强,内容丰富,具有较强扩展性的查询语言。在本发明实施例中,生成SPARQL查询语句时,采用联合查询的方法,进一步完善和优化查询,从而提高了SPARQL查询结果的准确率上和召回率。
基于DBpedia的SPARQL查询语句,是以三元组(SPO,主语、谓语和宾语)为基本单元。本发明实施例中,基于语义规则的实体关系进行获取三元组,在一定情况下,还是可能出现主宾倒置情况,因此,对于一些查找结果为空以及布尔类型的得查询中,在关系属性不变的情况下联合主宾调换语句,从而弥补在解析时可能出现的错误。
在自然语言转化为结构化语言的过程中,由于涉及到许多映射和匹配问题,应充分利用SPARQL自身的语义特征,来解决转化后问题中潜在的映射问题。由此根据不同的问题类型,即:布尔,资源,计数,排序,筛选等,对应其不同的语句方式,自动生成不用类型的语句。
步骤S105:通过SPARQL语句访问关联数据知识库,生成关联查询信息作为与用户输入的自然语言进行人机互动的信息。
在本发明实施例中,关联数据知识库可以为DBpedia知识库。根据用户输入的自然语言生成与该用户输入的自然语言进行人机互动的信息示意性地上表5所示。根据本发明实施例提供的方法生成的关联查询信息准确率和召回率很高。
当用户通过输入自然语言后,通过本发明实施例提供的方法可以得到该自然语言的关联查询信息,即与用户输入的自然语言进行人机互动的信息,因为该关联查询信息具有很高的准确率和召回率,此时用户会对检索结果很满意。
本发明实施例提供的基于关联数据查询的人机交互方法,实现了自动将用户输入的自然语言转换为结构化的语句,通过对关键词进行限制修饰标注,将各个关键词的关系属性区别开来,并按照最小语义依存关系构建DAG图,提高了问题解析的准确率,在资源映射和结构化语句生成时,构建与关键词语义标注对应的资源映射,提高DAG图实例化的准确率,并通过结构化的语句结合联合查询的方式进行查询,提高了结构化语句查询结果的正确率和召回率,信息查询转换的效率和准确性很高,从而提高了与用户输入的自然语言进行人机互动的信息的准确率。
实施例2
参见图2,本发明实施例提供了一种基于关联数据查询人机交互装置,该装置包括:
第一生成模块S1,用于对用户输入的自然语言进行解析,并生成有向无环图DAG;根据DAG生成自然语言的三元组;
确定模块S2,用于根据三元组确定自然语言的资源映射;
第二生成模块S3,用于根据三元组、确定的资源映射和预设语义生成规则生成SPARQL语句;
第三生成模块S4,用于通过SPARQL语句访问关联数据知识库,生成关联查询信息作为与用户输入的自然语言进行人机互动的信息。
上述第一生成模块S1包括提取单元、划分单元、标注单元和第一生成子单元。
提取单元,用于提取自然语言中的关键词。
上述自然语言可以是用户输入的英文文字。当用户输入自然语言后,上述提取单元会首先对该自然语言的类型进行识别,其中,该自然语言的类型包括聚合和非聚合类型。聚合类型主要包括过滤和排序等常见类型,非聚合类型主要包括资源、时间、数量和布尔类型等类型。当提取单元识别出该自然语言的类型后,根据该自然语言的内容和类型提取该自然语言中的关键词。
划分单元,用于对关键词进行分类。
在对自然语言的关键词进行分类时,可以将关键词分为专有名词、名词形态、形容词原型、动词形态、介词形态和形容词最高级形态等。
标注单元,用于根据分类后的关键词的词性属性对关键词进行标注,标注包括实体标注、概念标注、关系标注、限制修饰标注和变量标注。
在对关键词进行标注时,首先需要判断该关键词的词性属性与标注的对应关系,其中,该对应关系为:当该关键词的词性属性为专有名词时,对应的标注为实体;当该关键词的词性属性为名词形态时,对应的标注为概念;当该关键词的词性属性为动词形态和形容词原型,对应的标注为关系;当该关键词的词性属性为介词形态、最高级形态以及其它形态时,对应的标注为限制修饰。当确定出该关键词的词性属性与标注对应的关系时,将所有关键词按照实体、概念、关系、限制修饰和变量五种类型进行标注。
上述实体是一个客观的具体的实在的事实资源,比如中国。在自然问题中,实体是事件实施或者描述的主体,是事件的重要执行者;实体还可以是事件实施或者描述的客体,是事件的重要承受者;实体在整个事件中起着重要的作用。在自然语言解析中,通常将实体分成人名、机构名、地名、时间、日期、货币和百分比等,识别命名实体是问题解析中的重要内容。
相对于实体,上述概念则是抽象的概括的意义的存在,比如国家。在自然语言中,概念是对特征的独特组合而形成的知识单元,描述的是特征,因此,概念的识别对语句语义分析具有重要作用。
上述关系是用来表示主体和客体之间的内在联系。在自然语言中,关系可以以名词和动词形式表示出来,是联系主体和客体的重要因素。
上述限制修饰包括限制和修饰两种词语,限制词语和修饰词语是自然语言中最常见到的词语,都是用来修饰主体词语,比如more than,longest等。这些限制性修饰词语通常是形容词、副词等。限制词语修饰方式通过还原属性修饰词,并根据属性修饰词排序,比较和过滤查找到的资源。
上述变量可以以查询结果的未知量形式出现在查询过程中生成的三元组中,可以是主谓宾的任意一个成分;也可以是查询过程中实例化的中间节点,或者连接两个三元组共同的节点。
在本发明实施例中,上述解析工具为StandfordNLP(斯坦福解析器),通过StandfordNLP结合索引表来进行区分并验证相近词性的类型,最后确定出该关键词的词性属性,然后对关键词进行标注。例1,对于用户输入的“Give me all actors who were bornin Berlin.”问题,对应的关键词为“actor”、“birth”和“Berlin”,对关键词进行标注后为“actor[C]”,“birth[P]”,“Berlin[E]”。
第一生成子单元,用于根据关键词的标注和预设依存关系生成规则对标注后的关键词进行语义分析,确定关键词的语义依存关系。
上述预设依存关系生成规则,即为建立DAG图时遵循的语法规则,示意性地如下表1所示。
表1
在确定关键词的语义依存关系时,当关键词的标注符合上述表1中某个规则编号对应的条件时,则按照该规则编号对应的规则确定该关键词的语义依存关系,具体根据解析工具的参数设置来确定。例2,当用户输入的自然语言为“How many pages does War andPeace have?”,其中,关键词为:War_and_Peace[E],page[P],通过上述解析工具和上述表1得到的解析结果对应的关键词的语义依存关系。
通过解析工具解析的关键词的语义依存关系不够准确,还需要对上述生成的语义依存关系进一步简化,将简化后的关键词的语义依存关系确定该关键词的语义依存关系,能够更准确地表示关键词的语义依存关系。
当确定关键词的语义依存关系后,根据以下表2中的规则结合上述例2可以将该语义依存关系通过对应的DAG图表示,其中,
该DAG图表示了关键词的最小语义依存关系。
表2
上述第一生成模块S1,包括实例化单元和第一确定子单元。
实例化单元,用于按照预设实例化规则对标注过的关键词的节点进行实例化。
对于自然语言为非聚合类型时,上述预设实例化规则如下表3所示。
表3
对于自然语言为聚合类型时,上述预设实例化规则如下表4所示。
表4
上述实例化单元,包括第二确定子单元、第三确定子单元和第二生成子单元。
第二确定子单元,用于确定关键词的节点。
根据上述生成的DAG图,可根据各个关键词在DAG图中对应的位置可以确定各个关键词的节点。
第三确定子单元,用于确定与关键词的节点相匹配节点条件。
当确定出各个关键词的节点后,根据以上表4或表5确定与关键词的节点相匹配节点条件。
第二生成子单元,用于根据确定的节点条件和预设提取规则生成DAG对应的三元组。
上述预设提起规则即为上述表3或表4中的“规则”。
当上述表3中某个规则编号对应的条件与关键词的节点相匹配时,则按照该规则编号对应的规则对DAG图中该关键词的节点进行相应改变。当上述表4中的条件与关键词的节点相匹配时,则按照该条件对应的规则对对DAG图中该关键词的节点进行相应改变。
当上述实例化单元对标注过的关键词的节点进行实例化后,可通过以下第一确定子单元将实例化后的DAG对应的三元组确定为自然语言的三元组。
第一确定子单元,用于将实例化后的DAG对应的三元组确定为自然语言的三元组。
上述第一确定子单元确定出的三元组包括实例化后的DAG图中各个节点对应的关键词,其中,各个节点在三元组的为位置根据各个关键词在DAG图中对应的节点位置进行排列。
例如,对于非聚合类型。
标注的关键词为War and Peace[E],Page[P],根据对关系节点page(numberOfPage)[P]数量化,得到(numberOfpage/pagenumber)[P],所以基于EP规则的三元组生成为(War_and_Peace,numberOfpage/pagenumberr,?value)。
例如,对于聚合类型。
在“What is the bridge with the longest span?”中,标注的关键词为:bridge[C]span[P]longest[M],根据修饰限制词语词性,构造基本三元组:?bridge a dbo:Bridge.?bridge dbo:span?span.此时需要对?span值进行判断,如果?span为数值,则可以直接按照?span进行排序,否则,需要对longest进行还原,构建新的三元组?span dbo:length?length。
上述生成的三元组可以是自然语言的主语、谓语、宾语以及主语或宾语的修饰限制词语组成的语句。
当第一生成模块S1生成自然语言的三元组后,可以通过上述确定模块S2确定自然语言的资源映射。
上述确定模块S2,包括识别单元、查找单元、建立单元和第四确定子单元。
识别单元,用于识别三元组中各个元素对应的类型。
上述确定出的三元组中各个元素对应的类型可以是实体、概念、关系、限制修饰或变量。
查找单元,用于根据三元组中元素的类型查找该类型对应的资源映射。当查找到该类型对应的资源映射时,可通过以下第四确定子单元将查找到资源映射确定为自然语言对应的资源映射;当未查找到该类型对应的资源映射时,可通过以下建立单元先建立该类型对应的资源映射,再通过以下第四确定子单元将建立的资源映射确定为自然语言对应的资源映射。
在本发明中,上述资源映射分为实体映射、概念映射、关系属性映射和限制修饰映射。其中,
在实体映射中,实体资源使用维基百科定位资源,实体作为一种具体资源,通过维基百科进行映射,在实体映射过程中,对于国家一级某国人的实体映射,根据索引表实现映射。
在概念映射中,与DBpedia类索引表形成映射,如果不能形成映射,优先使用WordNet词典同义词查找和上位词的方式形成映射,若没有形成映射,最后通过WordNet字典或者维基百科字典查询,将词语按名词解释提取新的关键词重新构成DAG后,进行映射。
对于关系属性映射和限制修饰映射,需要建立关联数据知识库对应的索引表,其中索引表的类型可以分为常用关系索引和一般属性索引,其中,常用关系索引是根据实践数据总结出来的,相对应的不同资源,都使用逐一搜索方法进行资源映射。一般的名词性的关系属性利用维基百科或者DBpedia属性索引表中形成映射,对于动词性谓语属性映射,应该将谓语属性名词化,在名词化过程中遵循一定的规则即表5,其中,自然语言问题类型为时间时,将谓语属性增加--Date后缀;自然语言问题类型为地点时,将谓语属性增加--Place后缀;自然语言问题类型为数字时,将谓语属性增加numberOf--前缀;自然语言问题类型为人时,将谓语属性人格化等。
表5
限制修饰词语根据非聚合问题类型规则即表2进行相应匹配映射。对于排序等类型的聚合问题,本系统提供一个排序索引表。除了按照此规则匹配外,使用WordNet,Trained Property Index以及DBpedia的属性索引表中的同义词和近义词等,形成映射。其中,在进行索引表以及同义词近义词的所有候选词语筛选中,本发明实施例提供了多个层面的相关度计算。
第一、索引表中常用属性,这部分内容是根据实测过程中的出现频率较高的词语进行提取的索引表。
第二、语义相似度,对于索引表中的复合词汇进行语义拆解,和领域定位,与问题中词语出现的相关词语进行相关度评分。
第三、词汇相似度,使用词语间编辑距离方法进行词汇相似度评分。
建立单元,用于查找单元未查找到类型对应的资源映射时,根据该类型对应的预设资源映射方法建立该类型对应的资源映射。
当三元组中元素的类型对应的资源映射既不是实体映射,又不是概念映射时,此时上述查找单元不会查找到对应的资源映射。当三元组中元素的类型对应的资源映射为关系属性映射或限制修饰映射时,根据上述属性映射或限制修饰映射的建立方法,通过上述建立单元建立该三元组中元素的类型对应的资源映射。
第四确定子单元,用于将查找到的或建立的资源映射确定为自然语言的资源映射。
当三元组中元素的类型对应的资源映射为实体映射或者概念映射时,此时查找单元会查找到对应的资源映射。当查找单元查找到的对应的资源映射或者将建立单元建立的对应的资源映射,第四确定子单元将该对应的资源映射确定自然语言的资源映射,并可通过上述第二生成模块S3生成该自然语言对应的结构化查询语言。
SPARQL语句不仅是结构化查询语言,而且是灵活性强,内容丰富,具有较强扩展性的查询语言。在本发明实施例中,第二生成模块S3生成SPARQL查询语句时,采用联合查询的方法,进一步完善和优化查询,从而提高了SPARQL查询结果的准确率上和召回率。
基于DBpedia的SPARQL查询语句,是以三元组(SPO,主语、谓语和宾语)为基本单元。本发明实施例中,基于语义规则的实体关系进行获取三元组,在一定情况下,还是可能出现主宾倒置情况,因此,对于一些查找结果为空以及布尔类型的得查询中,在关系属性不变的情况下联合主宾调换语句,从而弥补在解析时可能出现的错误。
在自然语言转化为结构化语言的过程中,由于涉及到许多映射和匹配问题,应充分利用SPARQL自身的语义特征,来解决转化后问题中潜在的映射问题。由此根据不同的问题类型,即:布尔,资源,计数,排序,筛选等,对应其不同的语句方式,自动生成不用类型的语句。
在本发明实施例中,关联数据知识库可以为DBpedia知识库。根据用户输入的自然语言生成与该用户输入的自然语言进行人机互动的信息示意性地如上表5所示。根据本发明实施例提供的系统中的第三生成模块S4生成的关联查询信息准确率和召回率很高。
当用户通过输入自然语言后,通过本发明实施例提供的方法可以得到该自然语言的关联查询信息,即与用户输入的自然语言进行人机互动的信息,因为该关联查询信息具有很高的准确率和召回率,此时用户会对检索结果很满意。
本发明实施例提供的基于关联数据查询的人机交互装置,实现了自动将用户输入的自然语言转换为结构化的语句,通过对关键词进行限制修饰标注,将各个关键词的关系属性区别开来,并按照最小语义依存关系构建DAG图,提高了问题解析的准确率,在资源映射和结构化语句生成时,构建与关键词语义标注对应的资源映射,提高DAG图实例化的准确率,并通过结构化的语句结合联合查询的方式进行查询,提高了结构化语句查询结果的正确率和召回率,信息查询转换的效率和准确性很高,从而提高了与用户输入的自然语言进行人机互动的信息的准确率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (2)
1.基于关联数据查询的人机交互方法,其特征在于,所述方法包括:
提取用户输入的自然语言中的关键词;
对所述关键词进行分类;
根据分类后的所述关键词的词性属性对所述关键词进行标注,所述标注包括实体标注、概念标注、关系标注、限制修饰标注和变量标注;
根据所述关键词的标注和预设依存关系生成规则对标注后的所述关键词进行语义分析,确定标注后的所述关键词的语义依存关系,并按照最小语义依存关系构建有向无环图DAG;
确定标注后的所述关键词的节点;
确定与标注后的所述关键词的节点相匹配的节点条件;
根据确定的节点条件和预设提取规则生成DAG对应的三元组;
将实例化后的DAG对应的三元组确定为所述自然语言的三元组;
根据所述自然语言的三元组确定所述自然语言的资源映射;
根据所述自然语言的三元组、确定出的所述自然语言的资源映射和预设语义生成规则生成SPARQL语句;
通过所述SPARQL语句访问关联数据知识库,生成关联查询信息作为与所述用户输入的自然语言进行人机互动的信息;
所述根据所述自然语言的三元组确定所述自然语言的资源映射,包括:
识别所述自然语言的三元组中各个元素对应的类型;
根据所述自然语言的三元组中元素的类型查找该类型对应的资源映射;若未查找到,根据该类型对应的预设资源映射方法建立该类型对应的资源映射;
将查找到的或建立的资源映射确定为所述自然语言的资源映射;所述该类型对应的资源映射分为实体映射、概念映射、关系属性映射和限制修饰映射;所述关系属性映射包括:动词性谓语属性映射,对于动词性谓语属性映射包括:将谓语属性名词化,当自然语言问题类型为时间时,将谓语属性增加--Date后缀;自然语言问题类型为地点时,将谓语属性增加--Place后缀;自然语言问题类型为数字时,将谓语属性增加numberOf--前缀;自然语言问题类型人时,将谓语属性人格化。
2.基于关联数据查询的人机交互装置,其特征在于,所述装置包括:
第一生成模块,用于提取用户输入的自然语言中的关键词;对所述关键词进行分类;根据分类后的所述关键词的词性属性对所述关键词进行标注,所述标注包括实体标注、概念标注、关系标注、限制修饰标注和变量标注;根据所述关键词的标注和预设依存关系生成规则对标注后的所述关键词进行语义分析,确定标注后的所述关键词的语义依存关系,并按照最小语义依存关系构建有向无环图DAG;
还用于确定标注后的所述关键词的节点;
确定与标注后的所述关键词的节点相匹配的节点条件;
根据确定的节点条件和预设提取规则生成DAG对应的三元组;
将实例化后的DAG对应的三元组确定为所述自然语言的三元组;
确定模块,用于根据所述自然语言的三元组确定所述自然语言的资源映射;
第二生成模块,用于根据所述自然语言的三元组、确定出的所述自然语言的资源映射和预设语义生成规则生成SPARQL语句;
第三生成模块,用于通过所述SPARQL语句访问关联数据知识库,生成关联查询信息作为与所述用户输入的自然语言进行人机互动的信息;
所述确定模块,包括:
识别单元,用于识别所述自然语言的三元组中各个元素对应的类型;
查找单元,用于根据所述自然语言的三元组中元素的类型查找该类型对应的资源映射;
建立单元,用于查找单元未查找到所述类型对应的资源映射时,根据该类型对应的预设资源映射方法建立该类型对应的资源映射;
第四确定子单元,用于将查找到的或建立的资源映射确定为所述自然语言的资源映射;所述该类型对应的资源映射分为实体映射、概念映射、关系属性映射和限制修饰映射;所述关系属性映射包括:动词性谓语属性映射,上述确定模块还用于:将谓语属性名词化,当自然语言问题类型为时间时,将谓语属性增加--Date后缀;自然语言问题类型为地点时,将谓语属性增加--Place后缀;自然语言问题类型为数字时,将谓语属性增加numberOf--前缀;自然语言问题类型人时,将谓语属性人格化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610081460.0A CN105760462B (zh) | 2016-02-05 | 2016-02-05 | 基于关联数据查询的人机交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610081460.0A CN105760462B (zh) | 2016-02-05 | 2016-02-05 | 基于关联数据查询的人机交互方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760462A CN105760462A (zh) | 2016-07-13 |
CN105760462B true CN105760462B (zh) | 2018-03-06 |
Family
ID=56330060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610081460.0A Active CN105760462B (zh) | 2016-02-05 | 2016-02-05 | 基于关联数据查询的人机交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760462B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967285A (zh) * | 2016-10-20 | 2018-04-27 | 富士通株式会社 | 数据处理方法和数据处理装置 |
CN107480183A (zh) * | 2017-07-06 | 2017-12-15 | 广州索答信息科技有限公司 | 一种厨房领域知识图谱查询方法、装置和存储介质 |
CN108920602B (zh) * | 2018-06-28 | 2021-12-14 | 北京京东尚科信息技术有限公司 | 用于输出信息的方法和装置 |
CN109299289B (zh) * | 2018-11-30 | 2021-04-06 | 国信优易数据股份有限公司 | 一种查询图构建方法、装置、电子设备及计算机存储介质 |
CN109670024B (zh) * | 2018-12-17 | 2021-06-04 | 北京百度网讯科技有限公司 | 逻辑表达式确定方法、装置、设备和介质 |
CN111858866B (zh) * | 2019-04-30 | 2024-10-18 | 广东小天才科技有限公司 | 一种基于三元组的语义解析方法及装置 |
CN114462359B (zh) * | 2021-12-30 | 2024-07-26 | 科大讯飞(苏州)科技有限公司 | 逻辑语句生成方法、装置、电子设备及存储介质 |
CN114936271A (zh) * | 2022-06-27 | 2022-08-23 | 阿里云计算有限公司 | 自然语言转换数据库查询语句的方法、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853314A (zh) * | 2010-07-02 | 2010-10-06 | 上海交通大学 | 语义Web服务的自动生成系统 |
-
2016
- 2016-02-05 CN CN201610081460.0A patent/CN105760462B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105760462A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Affolter et al. | A comparative survey of recent natural language interfaces for databases | |
CN105760462B (zh) | 基于关联数据查询的人机交互方法及装置 | |
CN109684448B (zh) | 一种智能问答方法 | |
US9448995B2 (en) | Method and device for performing natural language searches | |
Alwaneen et al. | Arabic question answering system: a survey | |
US8751218B2 (en) | Indexing content at semantic level | |
CN108763333A (zh) | 一种基于社会媒体的事件图谱构建方法 | |
KR101524889B1 (ko) | 간접 화법 내에서의 시맨틱 관계의 식별 | |
CN109241080B (zh) | 一种fql查询语言的构建使用方法及其系统 | |
CN101149732A (zh) | 由计算机使用的从自然语言文本开发本体的方法 | |
Shah et al. | NLKBIDB-Natural language and keyword based interface to database | |
CN111553160B (zh) | 一种获取法律领域问句答案的方法和系统 | |
JP2011118689A (ja) | 検索方法及びシステム | |
KR101709055B1 (ko) | 오픈 웹 질의응답을 위한 질문분석 장치 및 방법 | |
Rodrigues et al. | Advanced applications of natural language processing for performing information extraction | |
Tripathi et al. | Word sense disambiguation in Hindi language using score based modified lesk algorithm | |
JP6409071B2 (ja) | 文の並び替え方法および計算機 | |
Prudhomme et al. | Automatic Integration of Spatial Data into the Semantic Web. | |
Al-Smadi et al. | Leveraging linked open data to automatically answer Arabic questions | |
JP4005343B2 (ja) | 情報検索システム | |
Song et al. | Semantic query graph based SPARQL generation from natural language questions | |
Mvumbi | Natural language interface to relational database: a simplified customization approach | |
JP4864095B2 (ja) | 知識相関サーチエンジン | |
Vickers | Ontology-based free-form query processing for the semantic web | |
KR20170088467A (ko) | 의미역 결정 기술을 활용한 온톨로지 기반 지식베이스 구축 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |