CN112818092B - 知识图谱查询语句生成方法、装置、设备及存储介质 - Google Patents
知识图谱查询语句生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112818092B CN112818092B CN202010311777.5A CN202010311777A CN112818092B CN 112818092 B CN112818092 B CN 112818092B CN 202010311777 A CN202010311777 A CN 202010311777A CN 112818092 B CN112818092 B CN 112818092B
- Authority
- CN
- China
- Prior art keywords
- query
- node
- graph
- natural language
- nodes
- 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
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
- 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/3325—Reformulation based on results of preceding query
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种知识图谱查询语句生成方法、装置、设备及存储介质,该方法包括:接收自然语言问句,该自然语言问句用于查询知识图谱;解析该自然语言问句得到查询信息;基于该查询信息利用预先构建的查询图将该自然语言问句转换为与该知识图谱对应的查询语句,该查询图包括多个节点和该节点之间的跳变关系,每个该节点用于表示与该知识图谱中的资源实体相对应的抽象实体,该跳变关系用于表示该节点之间的查询关系。本申请实施例提供利用查询图可以将自然语言问句转换为对应的知识图谱的查询语句,实现了任何复杂自然语言问句的解析与转换,提高了知识图谱查询的精确度,降低了知识图谱问答***的落地难度。
Description
技术领域
本申请一般涉及人工智能技术领域,尤其涉及知识图谱查询语句生成方法、装置、设备及存储介质。
背景技术
知识图谱,作为一种揭示实体之间关系的语义网络,为互联网上海量、异构、动态的大数据表达、组织、管理以及利用提供了更为有效的方式,使得网络的智能化水平更高,更加接近于人类的认知思维。知识图谱通常分为通用领域知识图谱及垂直领域知识图谱,通过RDF或Neo4j等方式存储,形成图数据库。在以知识图谱的图数据库作为数据源的问答***中,需要将用户输入的自然语言问句转换为知识图谱的查询语句。
目前,在生成知识图谱的查询语句时,对于简单情形,通过解析自然语言语句,来生成简单的查询语句。而对于复杂的多跳查询,则针对不同的场景,预先编辑好查询语句模板,最后将具体数据值填充在模板中完成查询语句的生成。
在上述提供的查询语句的生成过程中,对于通过解析自然语言,仅仅能够实现简单语义的查询,无法解析复杂语义,使得查询准确性低;对于通过编写模板的查询语句,由于每个行业的知识图谱的差异性,使得***复用性差,需要配置大量的模板,操作复杂,复用性差。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种知识图谱查询语句生成方法、装置、设备及存储介质,通过生成与知识图谱对应的查询图,将自然语言问句转换为知识图谱的查询语句,实现了复杂自然语言问句的解析与转换,提高了知识图谱查询的准确性。
第一方面,本申请实施例提供了一种知识图谱查询语句生成方法,该方法包括:
接收自然语言问句,该自然语言问句用于查询知识图谱;
解析该自然语言问句得到查询信息;
基于该查询信息利用预先构建的查询图将该自然语言问句转换为与该知识图谱对应的查询语句,该查询图是根据该知识图谱的数据存储结构构建的,该查询图包括多个节点和该节点之间的跳变关系,每个该节点用于表示与该知识图谱中的资源实体相对应的抽象实体,该跳变关系用于表示该节点之间的查询关系。
第二方面,本申请实施例提供一种图数据查询语句生成置,该装置包括:
接收模块,用于接收自然语言问句,该自然语言问句用于查询知识图谱;
解析模块,用于解析该自然语言问句得到查询信息;
生成模块,用于基于该查询信息利用预先构建的查询图将该自然语言问句转换为与该知识图谱对应的查询语句,该查询图是根据该知识图谱的数据存储结构构建的,该查询图包括多个节点和该节点之间的跳变关系,每个该节点用于表示与该知识图谱中的资源实体相对应的抽象实体,该跳变关系用于表示该节点之间的查询关系。
第三方面,本申请实施例提供一种处理设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述第一方面所述的知识图谱查询语句生成方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于实现如上第一方面所述的知识图谱查询语句生成方法。
本申请实施例提供的知识图谱查询语句生成方法、装置、设备及存储介质,通过预先构建知识图谱对应的查询图,进而在接收到自然语言问句时,对接收到的自然语言问句解析得到查询信息,最后利用预先构建的与待查询的知识图谱匹配的查询图,基于查询信息,可以将自然语言问句转换为对应的查询语句,实现了任何复杂自然语言问句的解析与转换,提高了知识图谱查询的精确度,降低了知识图谱问答***的落地难度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1所示为本申请实施例的应用场景框架示意图;
图2所示为本申请实施例的知识图谱查询语句生成方法的流程示意图;
图3所示为本申请实施例的查询图结构示意图;
图4所示为本申请实施例的用户设备的界面示意图;
图5所示为本申请又一实施例的知识图谱查询语句生成方法的流程示意图;
图6所示为本申请另一实施例的知识图谱查询语句生成方法的流程示意图;
图7所示为本申请另一实施例的知识图谱查询语句生成方法的流程示意图;
图8所示为本申请另一实施例的知识图谱查询语句生成方法的流程示意图;
图9所示为本申请实施例的搜索路径筛选方法的流程示意图;
图10所示为本申请实施例的核心结构后处理方法的流程示意图;
图11所示为本申请实施例的核心结构填充方法的流程示意图;
图12所示为本申请实施例的知识图谱查询语句生成装置的结构示意图;
图13为本申请实施例的处理设备的计算机处理设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与公开相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
知识图谱由节点(Point)和边(Edge)组成。其中节点即资源实体,由一个全局唯一的ID标示,关系(也称属性)用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。如果用(资源实体1,关系,资源实体2)、(资源实体、属性,属性值)这样的三元组来表达事实,可选择图数据库作为存储介质,例如开源的Neo4j、Twitter的FlockDB、JanusGraph等。
例如,针对商业中心的知识图谱,可以包括鹿角巷等所有商家的名称的资源实体;服装类、日化类等类别的资源实体;以及xx号馆等层等位置的资源实体。在构建该知识图谱的数据结构时,将商业中心中的每层建筑中的每个商家的名称、类型、所在位置进行导入存储,并存储资源实体之间的关系字段,得到该知识图谱对应的图数据库。
问答***是信息检索***的一种高级形式,能够以准确简洁的自然语言为用户提供问题的解答。多数问答***更倾向于将给定的问题分解为多个小的问题,然后逐一去数据库中抽取匹配的答案,并自动检测其在时间与空间上的吻合度等,最后将答案进行合并,以直观的方式展现给用户。
对于上述的知识图谱的问答***,在用户输入自然语言问句后,搜索引擎不仅仅寻找关键词,而是首先进行语义的理解。即所返回的结果,是搜索引擎在知识图谱的图数据库中检索相应的资源实体之后,给出的完整知识体系。知识图谱的问答***分为通用领域知识图谱的问答***和垂直领域知识图谱的问答***。对于通用领域的RDF图数据库的问答***,需要将自然语言问句转换为Sparql查询语句;对于垂直领域的Neo4j图数据库,需要将自然语言问句转为Cypher查询语句。之后再用这些转化而成的查询语句进行知识图谱的查询以获得结果返回给用户。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的方向,目的在于实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术,通过利用自然语言处理技术,能够使得计算机理解用户输入的自然语言问句,解析到自然语言问句中的与资源实体及关系数据对应的关键词。
本申请实施例提供的方案涉及人工智能的知识图谱及自然语言处理等技术,具体通过如下实施例进行说明。
考虑到垂直领域的知识图谱的问答***中,通过解析自然语言生成的查询语句简单,无法实现多跳的查询,且无法从自然语言中解析到知识图谱对应的准确的查询语句,对于预先生成的查询模板,由于行业的复杂性,导致实施过程复杂,复用性不高。
本申请实施例中,为了实现在各种场景的知识图谱中,能够准确生成知识图谱库的查询语句,使得所生成的查询语句能够准确的查询到用户所需的内容,通过在处理设备中直接创建知识图谱对应的schema图,即查询图,从而可以在实际查询过程中,获取到用户输入的自然语言问句后,可以结合生成的查询图,构建获取的自然语言对应的核心结构,进而利用自然语言对得到的核心结构进行填充,以得到最终的查询语句,实现了与自然语言对应的复杂的查询语句的准确生成,提高了图数据库查询的准确率,降低了知识图谱问答***落地难度,该方法可以适用于任何知识图谱的问答***。
图1所示为本申请实施例的应用场景框架示意图,如图1所示,该场景中包括查询知识图谱的用户设备,以及后台为用户提供查询服务的服务器,如处理设备。
用户设备可以为计算机或笔记本电脑等个人终端,该用户设备用于向处理设备发送用户输入的自然语言问句。该处理设备可以为服务器集群,用于响应用户发送的自然语言问句的查询请求,对接收到的自然语言问句进行解析,进而读取预先创建的与知识图谱对应的查询图,以根据解析结果,将该自然语言问句转换为知识图谱的查询语句,最后可以根据该查询语句访问数据库,以向用户返回与该自然语言问句匹配的数据。
为了更好的理解本申请实施例提供的知识图谱查询语句生成过程,下面通过图2至图11详细解释。
图2所示为本申请实施例的知识图谱查询语句生成方法的流程示意图,该方法由处理设备执行,该方法具体包括:
S110,处理设备接收自然语言问句;
S120,处理设备解析该自然语言问句得到查询信息;
S130,处理设备基于该查询信息利用预先构建的查询图将该自然语言问句转换为与该知识图谱对应的查询语句,该查询图是根据该知识图谱的数据存储结构构建的,该查询图包括多个节点和该节点之间的跳变关系,每个该节点用于表示与该知识图谱中的资源实体相对应的抽象实体,该跳变关系用于表示该节点之间的查询关系。
具体的,本申请实施例中,用户在查询知识图谱时,在终端的查询界面中输入自然语言问句,以发送至处理设备。处理设备接收到该自然语言问句后,将对该自然语言问句进行解析,以得到该自然语言问句中的查询信息。在解析出查询信息后,读取预先构建的查询图,进而根据解析到的查询信息,将该自然语言问句进行转换,以得到对应的查询语句,即转换为能够查询知识图谱的数据库的计算机语言。
该自然语言问句即表示符合人类思维的,包括与知识图谱中的资源实体及关系的语言文字信息,即关键词。该自然语言问句表示用户需要获取的信息,即需要从知识图谱数据库中查询的信息。
该查询图是根据知识图谱的数据存储结构来构建的,为与知识图谱的数据结构匹配的节点图,该查询图中包括多个节点和节点之间的跳变关系,每个节点用于表示与知识图谱中的资源实体相对应的抽象实体,跳变关系用于表示节点之间的查询关系。
例如,对于上述商业建筑的知识图谱,则与鹿角巷的资源实体对应的抽象实体为商家,与服装类、日化类等类别的资源实体对应的抽象实体为类别,与xx号馆等位置的资源实体对应的抽象实体为位置。
该查询信息可以包括解析到的自然语言问句中的关键词,或者还包括抽象实体之间的关系数据。该关键词与知识图谱中的资源实体相对应。
可选的,对于自然语言问句中的关键词的解析,可以采用命名实体识别法,能够解析到自然语言问句中的关键词。
对于抽象实体之间的关系数据,首先可以利用命名实体识别法解析所述自然语言问句得到关键词;然后对解析到的关键词进行识别,得到关键词在查询图中的对应的抽象实体之间的关系数据。
例如,用户输入的自然语言问句为“鹿角巷所在楼层还有哪些其他种类的店”,则解析到的关键词为“鹿角巷”、“楼层”及“种类”。则对应到查询图中,查询图中的抽象实体为“商家”、“位置”及“类型”。
该关系数据表示两个实体之间存在的某种关联关系,即存在关联关系的两个实体,其中一个实体在知识图谱中对应的实际数据值,可以作为另外一个实体的属性。如“商家”与“位置”这两个抽象实体,他们的实际数据值,即表示某个商家的具***置,即这两个实体之间存在的关系数据为位置关系。
例如,用户输入的自然语言问句为“哪里有鹿角巷”,则解析到的关键词为“哪里”及“鹿角巷”。则通过关键词“鹿角巷”解析到“商家”这一抽象实体,通过“哪里”关键词可以解析到位置关系。即通过解析该自然语言问句,能够得到“商家”这一抽象实体,以及“位置关系”这一实体的关系数据。
进一步的,依据上述的查询信息,利用查询图将自然语言问句转换为查询语句。
例如,当用户输入的自然语言问句为“鹿角巷所在楼层还有哪些其他种类的店”。则解析该自然语言问句中查询信息包括的抽象实体有:“商家”、“位置”及“类型”。
进而可以基于识别到的抽象实体,利用如图3所示的查询图,对上述自然语言问句进行转换,得到如下查询语句:
商家{商家:鹿角巷}-[]-(位置:位置)-[]-(类型:类型)。
本申请实施例提供的知识图谱查询语句生成方法,通过对接收到的自然语言问句解析得到查询信息后,进而利用预先创建的与待查询的知识图谱匹配的查询图,基于查询信息,可以将自然语言问句转换为对应的查询语句,实现了任何复杂自然语言问句的解析与转换,提高了知识图谱查询的精确度,降低了知识图谱问答***的落地难度。
可以理解,本申请实施例中,为了实现利用与知识图谱的数据存储结构匹配的查询图来生成自然语言问句的查询语句。则对于每个知识图谱,预先都创建有对应的查询图,并存储在对应的数据库中,以供处理设备搜索。
即在一种实施例中,该方法还可以包括:
S105,处理设备构建与知识图谱对应的查询图。
具体的,在搭建任意的知识图谱时,可以将知识图谱对应的表示数据存储结构的schema图直接转换为计算机语言存储到计算机中,即构建出每个知识图谱对应的查询图。如可以将知识图谱的数据存储方式对应的查询图,利用节点图的方式进行存储,以供知识图谱的问答***使用。
知识图谱的数据存储结构表示对实际数据的存储方式,即抽象归类与关联后的存储,以将所有不同种类的信息连接在一起而得到的一个关系网络。该数据存储结构可以通过schema图来设计和表示。该schema图包括对实际数据抽象后的抽象实体及抽象实体之间的关联关系。即知识图谱的scheme图是搭建知识图谱的依据,同样可以如图3所示。实际中,可以将资源实体抽象为对应的抽象实体,以为知识图谱的数据存储进行指导。
可以理解,本申请实施例中所构建的查询图本质上是依据知识图谱的scheme图得到的。
实际中,可以依次将与知识图谱中的资源实体对应的抽象实体存储一个字段,作为查询图的一个节点,并依次将抽象实体之间的关联关系存储一个字段,作为节点与节点之间的跳变关系,即查询关系。
例如,对于上述商业建筑类的知识图谱,所构建的查询图如图3所示。包括多个资源实体对应的抽象实体节点,相邻的节点之间的路径,代表抽象实体之间存在关联关系。
可选的,本申请实施例中的查询语句的生成,可以基于cypher语言来实现。如图4所示,当用户输入的自然查询语句为“鹿角巷所在楼层还有那些店”,则处理设备对该自然语言问句进行解析,基于解析到的查询信息,利用查询图,将该自然语言问句转换为如下所示的查询语句:
match(merchant:Merchant{name:’鹿角巷’})-[]-(location:Location)-[]-(gAsk:Genre)with distinct gAsk return gAsk.name。
进一步,当处理设备根据该查询语句执行查询,可以从知识图谱的数据中读取如图4所示的查询结果,以返回给用户设备,并显示在用户设备的界面上。
可以理解,本申请实施例提供的查询语句生成方法,可以基于cypher语言实现对Neo4j等图数据库的查询,也可以基于其他语言对其他类型的知识图谱进行查询。即本申请实施例对实现语言及实现场景不做限制,仅利用预先构建的与图数据库的数据存储结构所匹配的查询图,即可实现任何场景下任何自然语言问句的解析与转换。
进一步,为了更好的理解本申请实施例提供的查询语句生成方法中,下面通过图5对自然语言问句向知识图谱的查询语句的转换进行详细阐述。
可选的,在处理设备基于解析到的查询信息,利用预先构建的查询图进行自然语言问句的转换时,具体可以包括如下步骤:
S121,处理设备基于查询信息在查询图中执行路径搜索得到核心结构;
S122,处理设备基于自然语言问句,对该核心结构进行后处理,得到知识图谱的查询语句。
具体的,本申请实施例中,在解析到自然语言中的查询信息后,可以对查询图执行路径搜索时,首先可以读取预先构建的查询图,进而根据解析到的查询信息,对预先构建的查询图进行路径搜索,得到该自然语言问句对应的核心结构。最后,可以依据获取到的自然语言问句,对该核心结构进行后处理,得到该自然语言问句对应的查询语句。该核心结构是构建的与关键词对应的节点之间的有序的连接关系。
例如,当用户输入的自然语言问句为“鹿角巷所在楼层还有那些类别的店”,则处理设备对该自然语言问句进行解析及识别,得到“鹿角巷”、“楼层”及“类别”的查询信息后,进而通过对查询图的路径搜索,可以得到基于Cypher语言表示的核心结构:
(Merchant)-[]-(Location)-[]-(Genre)。
可选的,步骤S121中,基于解析到的查询信息,在查询图中执行路径搜索得到核心结构的具体步骤,可以如图6所示:
S01,处理设备基于该查询信息在该查询图中确定查询节点集;
S02,处理设备在该查询节点集中确定一个起始节点;
S03,处理设备在该查询图中从该起始节点开始执行路径搜索,得到与该起始节点对应的多条搜索路径,每条该搜索路径包括该查询节点集所包含的节点;
S04,处理设备基于预设规则从该多条搜索路径中选择一条,作为该核心结构。
具体的,本申请实施例中,在得到查询信息后,在查询图中执行路径搜索时,首先可以基于查询信息中的关键词,从该查询图中确定与解析到的关键词对应的查询节点集,即该查询节点集所包含的每个节点与该查询信息所包含的关键词一一对应。
例如,对于上述图3所示的查询图,及图4所示的自然语言问句,由于解析到的查询信息中包括“鹿角巷”、“楼层”及“类别”的关键词,则确定该关键词在查询图中对应的抽象实体依次为“商家”、“位置”及“类型”。此时,则从图3所示的查询图中所确定的查询节点集为:“商家”、“位置”及“类型”。
进一步,在确定了查询节点集后,可以从查询节点集中选择一个起始节点,进而以选择的该节点在查询图中对应的节点为起始节点,对查询图进行路径搜索,得到与每个起始节点对应的多条搜索路径。
可以理解,该起始节点的选择,可以为查询节点集中的指定的任意一个。或者,为了提高查询的准确率,可以依次以查询节点集中的每一个节点为起始节点,对查询图执行路径搜索,得到每个查询节点集对应的至少一条搜索路径。
可选的,在步骤S02中,以起始节点为起点,对查询图进行路径搜索时,如图7所示,具体可以包括如下步骤:
S021,处理设备从该起始起点开始,在该查询图中执行前向遍历搜索,得到与该起始节点存在跳变关系的节点子集;
S022,处理设备该查询节点集与该节点子集存在交集时,该交集作为一级节点集合;
S023,处理设备确定该起始节点与该一级节点集合中每个节点之间跳变关系,作为与该起始节点对应的搜索路径的初始阶段;
S024,处理设备从该一级节点集合中选择任意一个节点为新的起始节点,继续上述前向遍历搜索和筛选步骤,得到与该一级节点集合中每一个节点对应的二级节点集合;
S025,处理设备确定与该一级节点集合中每一个节点与该二级节点集合中每个节点之间的跳变关系作为与该起始节点对应的搜索路径的中继阶段;
S026,处理设备直到每条该搜索路径满足终止条件时,停止该搜索路径的前向遍历,该终止条件为该搜索路径中包含该查询节点集中全部节点。
具体的,以解析到的自然语言问句中的某个关键词对应的节点为起始节点,在对查询图执行路径搜索时,首先在该查询图中执行前向遍历搜索,进行第一跳搜索,搜索得到与该起始节点连接的所有节点,作为与该起始节点存在跳变关系的节点子集。进而确定得到的节点子集与查询节点集的交集,即节点子集中与解析到的除起始节点外的其余的关键词对应的抽象实体对应的节点,将该交集作为一级节点集合。此时,可以确定该起始节点与该一级节点集合中每个节点之间跳变关系,作为与该起始节点对应的搜索路径的初始阶段。
进一步,从第一节点集合中确定其中一个节点作为第二跳的起始点,作为当前的搜索路径的第二个节点。然后以第二个节点为起始节点,进行第二跳搜索,得到与第二个节点连接的所有节点,即二级节点集合,也即确定了与一级节点集合中每一个节点与二级节点集合中每个节点之间的跳变关系作为与起始节点对应的搜索路径的中继阶段。
同样的,将得到的二级节点集合中所有节点中节点作为当前的搜索路径的第三节点。以此类推,搜索该查询图中与当前路径中的第N个节点连接的所有节点,进而确定与第N个节点连接的节点中与识别到的其余实体对应的节点,以将确定的节点作为搜索路径中的第N+1个节点,直至搜索到的路径中包括识别到的所有的抽象实体对应的节点,即当搜索路径中包含所述查询节点集中全部节点后,终止路径搜索,得到起始节点对应的多条搜索路径。
例如,对于上述的自然语言问句得到的查询节点集中,假如以商家对应的节点为起始节点进行搜索。则在第一跳搜索时,与商家的节点连接的节点有场馆、位置及类型这三个实体对应的节点,即节点子集。由于这些节点中包括查询节点集中的节点,即得到查询节点集与节点子集存在交集,则将未识别到的场馆实体舍弃,将交集作为一级节点集合。进而将一级节点集合中的位置节点及类型节点作为新的起始节点,分出两条搜索路径。第一条,以位置为新的起始节点,得到与位置节点连接的商家、场馆及类型节点,同样的,舍弃场馆的节点,并舍弃搜索过的商家节点,将该类型作为第三个节点。此时,该条搜索路径中已经包括了查询节点集中的所有节点,则终止该条路径搜索。即完成一条路径的搜索,得到了“商家-位置-类型”的搜索路径。另外一条,当以类型为第二节点时,可以得到与第二节点连接的节点有位置和GFirst节点,则结合识别到的自然语言中的关键词对应的资源实体,以位置节点作为第三个节点。此时,该条搜索路径中已经包括了查询节点集中的所有节点,则终止该条路径搜索,即完成一条路径的搜索,得到了“商家-类型-位置”的搜索路径。
即通过上述路径搜索,可以得到以商家为起始节点的两条搜索路径,分别为“商家-位置-类型”,及“商家-类型-位置”。
或者,以类型为起始节点,可以识别得到两条搜索路径,分别为“类型-位置-商家”,以及“类型-商家-位置”。
或者,以位置为起始节点,可以识别到两条搜索路径,分别为“位置-商家-类型”,以及“位置-类型-商家”。
可以理解,对于起始节点的选择,可以将识别到的任意一个实体对应节点作为起始节点,得到所选择实体对应的至少一条搜索路径。或者,将所有的实体对应的节点都作为起始节点,逐个搜索,得到每个实体对应的多条搜索路径,本申请实施例对此不做限制。
可选的,用户利用输入的自然语言问句进行知识图谱查询时,由于人类自然语言语句的表达方式,相对于图数据库的存储方式,可能省略知识图谱中的某些资源实体表述,从而在直接解析自然语言问句进行知识图谱查询时,可能无法准确的识别到所需要的抽象实体。
对于上述情形,在本申请的一个实施例中,通过预先建立的与知识图谱对应的查询图进行查询语句的生成时,通过对查询图执行路径搜索,能够得到查询图中隐藏的,自然语言问句无法包括的实体之间的关系。
如图8所示,该方法还包括:
S001,处理设备从该起始起点开始,在该查询图中执行前向遍历搜索,得到与该起始节点存在跳变关系的节点子集;
S002,处理设备该查询节点集与该节点子集无交集时,该节点子集作为一级节点集合;
S003,处理设备确定该起始节点与该一级节点集合中每个节点之间跳变关系,作为与该起始节点对应的搜索路径。
具体的,当某一跳所查询到的与上一节点连接的节点中,如节点子集中没有包含识别到的查询节点集中的任意一个节点。此时,可以将查询到的所有节点作为下一跳的起始节点。即可以将节点子集作为一级节点集合,即将节点子集中的所有节点作为新的起始节点,可以确定所述起始节点与所述一级节点集合中每个节点之间跳变关系,作为与所述起始节点对应的搜索路径。
例如,对于某条路径搜索过程中,路径中的第N个节点连接的所有节点不是查询节点集中的节点,则可以将与第N个节点连接的所有节点作为搜索路径的第N+1个节点。然后以查询到的所有第N+1个节点为起始节点,进行下一跳搜索,得到与所有第N+1个节点连接的所有节点。此时,可以将得到的所有节点中,与自然语言问句中包含的前N个节点对应的实体外的其余实体对应的节点作为第三跳的起始节点,即作为搜索路径的第N+2节点。
同样的,如果得到的所有与第N+1个节点连接的所有第节点仍然不包含识别到的任意一个实体对应的节点,则将搜索到的所有的节点作为第N+2个节点。再搜索与所有第N+2个节点连接的所有节点,作为搜索路径中的第N+3个节点。此时,可以将与识别到的实体对应的节点作为第N+3节点。依次类推,直到得到的搜索路径中包括所有的自然语言解析到的实体。
例如,当用户输入的自然查询语句为“xx在哪个场馆”,则在处理设备获取到该自然语言问句后,可以解析到包括“商家”及“场馆”这两个抽象实体节点的查询节点集。则在进行路径搜索时,假设以“商家”节点为起始节点,则搜索到与“商家”节点连接的“类型”及“位置”这两个节点,即节点子集。此时,由于包括“类型”及“位置”这两个节点的节点子集与查询节点集没有交集。此时,则以“类型”及“位置”这两个节点作为搜索路径中的第二个节点,即该节点子集作为一级节点集合,可以确定该起始节点与该一级节点集合中每个节点之间跳变关系,作为与起始节点对应的搜索路径。如以“类型”为新的起始节点,搜索得到“位置”及“GFirst”这两个节点。此时,这两个节点中仍然没包含查询节点集中的节点。则将“位置”及“GFirst”这两个节点作为第三个节点开始搜索,由于“GFirst”为最末端的节点,则说明该条路径不满足条件。以“位置”为搜索路径的第三个节点,查询到与“位置”连接的“场馆”节点。由于该“场馆”为查询节点集中的节点,则可以将该“场馆”作为第四个节点。并且,由于该路径中包括了查询节点集中的所有节点,则该条路径终止搜索,得到“商家-类型-位置-场馆”的搜索路径。
另外,以“位置”节点作为第二个节点时,则搜索到与“位置”节点连接的有“场馆”及“类型”节点,即查询节点集与节点子集有交集,则舍弃该“类型”节点,以“场馆”节点作为搜索路径的第三个节点。并且,由于该路径中包括了查询节点集中的所有节点,则终止该路径搜索,得到了“商家-位置-场馆”的搜索路径。
本申请实施例的路径搜索,通过对与知识图谱对应的查询图的路径搜索,可以得到自然语言中省略的,隐藏在查询图中的实体,生成自然语言问句对应的准确的查询语句,实现了对任何自然语言问句的解析,提高了查询的准确率。
进一步的,可以理解,在用户所输入的自然语言是非常复杂的,其中除了涉及的抽象实体之外,还可能包括抽象实体之间的关系数据。
基于该情形,则在本申请的另一实施例中,为了提高查询的准确率,在对自然语言问句解析时,当从自然语言中能够抽取到抽象实体之间的关系数据时,还可以利用解析到的关键词抽取该自然语言问句中的抽象实体关系。
此时,在基于该自然语言问句对查询图执行路径搜索,即基于识别到的抽象实体及关系数据执行路径搜索时,可以利用关系数据对路径搜索进行引导,以快速得到搜索路径。即可以按照该关系数据确定与该起始节点存在跳变关系的节点子集,该关系数据用于预先确定该起始节点对应的抽象实体与该节点子集之间的搜索关系。
例如,当从自然语言问句中抽取到某个第一抽象实体与第二抽象实体之间存储关联关系,则当以该第一抽象实体节点为起始节点进行路径搜索时,得到与该第一抽象实体节点关联的多个节点。由于已经抽取到用户需要搜索与第一抽象实体存在抽取到的关联关系的第二抽象实体。则可以直接通过关系数据,从多个节点中,将第二抽象实体对应的节点作为下一个节点,删除了其他路径。
又例如,当用户输入的自然语言为“场馆哪里有鹿角巷”时,则解析到的查询节点集中有“商家”,并可以抽取到的用于表示抽象实体之间关系的关系数据“哪里”,即表示位置的关系数据。
在基于图3所示的查询图执行路径搜索时,以“商家”节点为起始节点,搜索到连接的节点有“位置”及“类型”节点。此时,由于抽取到了抽象实体的表示位置关系的关系数据,则可以直接将“类型”节点舍弃,以“位置”节点为第二个节点。
可以理解,对于所抽取的关系关键词的解析,可以基于识别器实现,即可以基于通过预先构建的机器学习,分析得到所抽取的关系关键词所表示的实体关系。
本申请实施例中的路径搜索,通过抽取自然语言问句中的关系关键词,进而可以利用该关系关键词判断实体之间的关系,以快速的从多个节点中选择符合用户输入的自然语言问句顺序的实体的节点,提高的数据处理速度,提高了知识图谱的查询效率。
还可以理解,在实际的知识图谱查询时,用户输入的自然语言问句可能非常复杂,将包括多个实体及实体关系关键词。
该情形中,在本申请的一个实施例中,提供的查询语句的生成过程中,由于借助查询图来实现,将使得生成的核心搜索结构中可以包括多跳,或者回跳的结构。
例如,当用户输入的自然语言问句为“与鹿角巷同一层的眼镜店的两侧是什么店”。
对于该自然语言问句,识别到的查询节点集中包括:商家、位置、商家、位置及类型。
则通过对查询图的路径搜索,得到的核心搜索结构可以为“商家(鹿角巷)-位置-商家(眼镜店)-位置(与鹿角巷相邻)-类型”。即从商家到位置,得到鹿角巷的具***置,进而再位置从回跳到商家,以确定该层的眼镜店,再回跳到位置,以确定眼镜店的精确位置,以确定该眼镜店的两侧的商家,即类型。
本申请实施例中的多种路径搜索过程中,基于识别到的自然语言的关键词对应的资源实体,对查询图执行路径搜索时,可以严格符合自然语言问句的查询语句,实现了复杂的自然语言问句的解析,从而提高了查询的准确度。
进一步,在执行上述多个实施例提供的路径搜索方法后,可以得到每一个抽象实体节点作为起始节点的搜索路径,每条搜索结果包括的节点数目不同,包括的节点的排序同。
在得到多条搜索路径后,可以根据预先设置的规则对得到的多条搜索结果进行刷选。具体可以根据节点及节点顺序进行筛选。
可选的,在一种实施例中,预设的规则可以与每条搜索路径中包括的节点数相关,或者与每条搜索路径中的节点的顺序相关。即在进行筛选时,可以基于每条路径中包含的节点数,及每条路径中的节点顺序进行筛选。
如图9所示,具体可以包括:
S041,处理设备确定每条该搜索路径中包含的节点数及节点顺序;
S042,处理设备将多条搜索路径中节点数最小,且节点顺序符合该自然语言问句的解析结果的搜索路径,作为核心结构。
具体的,可以通过计算每条搜索路径中包括的节点数,进而比较每条路径的节点数的大小,基于比较结果,最后将节点数最少的路径作为最佳路径。
然后可以基于NLP算法,将得到的搜索路径中,最符合人类语言表达习惯的搜索路径作为最佳搜索路径,即自然语言问句对应的核心结构。
可以理解,在实际中,对于上述步骤的执行顺序不做限制,即也可以先通过顺序初步筛选,然后通过节点数做最后筛选。
进一步的,在通过上述的路径搜索及筛选后,处理设备可以基于所述自然语言问句,对得到的该核心结构进行后处理,得到自然语言的查询语句。如图10所示,该方法具体可以包括:
S131,处理设备基于该自然语言问句,对该核心结构进行填充处理。
S132,处理设备对填充后的该核心结构进行封装处理。
具体的,在通过执行上述的实施例公开的方法得到核心结构后,首先可以将自然语言问句中的实体的关键词填充到核心搜索结构中。
如图11所示,该方法可以包括:
S1311,处理设备提取该查询信息中与该核心结构的节点对应的关键词;
S1312,处理设备将该关键词填充到该核心结构的节点,构建以该起始节点为查询对象,该核心结构中的其他节点为查询限制条件的查询语句。
具体的,处理设备首先确定核心结构中的哪些抽象实体具有实际的数据值,即关键词,进而将实际的关键词填充到该核心搜索结构中对应的位置,得到填充后的核心结构。
例如,通常情况下,起始节点会有对应的关键词,则可以提取查询信息中与核心结构的起始对应的关键词;将该关键词填充到核心结构的节点,构建以节点为查询对象,则核心结构中的其他节点为查询限制条件的查询语句
例如,对于上述的自然语言问句“鹿角巷所在楼层还有那些其他种类的店”中,核心结构中的起始节点的关键词“鹿角巷”填充到上述的“商家-位置-类型”的核心搜索结构中,得到“商家(鹿角巷)-位置-类型”的核心搜索结构。
进一步的,本申请实施例中,在对核心搜索结构进行填充后,处理设备还可以对核心搜索结构进行封装处理,即对于上述的填充后的核心搜索结构进行封装处理,具体可以进行去重处理,或者还可以根据用户输入的自然语言问句,添加其他的关键词。
例如,当自然语言问句中要求返回某个实体的属性时,如返回某个商家的营业额这一属性时,可以根据输入的自然语言问句,在查询语句中添加“营业额”字段。否则,可以直接添加“name”字段。或者当自然语言问句中要求返回的所有类型的商家按照营业额进行排列,则可以在查询语句中添加排序的字段,否则,同样可以直接添加“name”字段。
例如,对于上述实施例中得到的核心结构,经过封装处理,可以得到如下的查询语句:
match(merchant:Merchant{name:’鹿角巷’})-[]-(location:Location)-[]-(gAsk:Genre)with distinct gAsk return gAsk.name。
可以理解,上述的封装处理只是示例性说明,可以根据实际情况确定,本申请对此不做限制。
可以理解,本申请实施例提供的知识图谱查询语句的生成方法,由于借助生成的与知识图谱对应的图数据库来实现,从而使得该方法可以应用在任何图数据库中,并且可以基于所有的图数据库查询语言实现,本申请实施例对此不做限制。
本申请实施例的知识图谱查询语句生成方法,在解析到自然语言问句中的关键词对应的资源实体后,可以以查询节点集合中的任意一个或者以所有的节点为起始节点,执行路径搜索,得到多条搜索路径,进而通过节每条路径中包含的节点数,以及节点之间的顺序进行筛选,确定符合自然语言表达习惯的最佳的搜索路径,作为查询语句的核心搜索结构,实现了复杂自然语言问句的解析转换,生成了包含表面的自然语言中所不包含的查询语句,生成包含多跳或者回跳的查询语句,能够生成的查询语句相对可以更加复杂。该方法的复用性较好,可以在多个场景如旅游,商业中心,音乐等领域中进行落地,该方法可以用在各种可以进行路径搜索的图数据库中。
另一方面,如图12所示,本申请实施例提供了一种知识图谱查询语句生成装置,该装置400包括:
接收模块410,用于接收自然语言问句,该自然语言问句用于查询知识图谱;
解析模块420,用于解析该自然语言问句得到查询信息;
生成模块430,用于基于该查询信息利用预先构建的查询图将该自然语言问句转换为与该知识图谱对应的查询语句,该查询图根据该知识图谱的数据存储结构构建,该查询图包括多个节点和该节点之间的跳变关系,每个该节点用于表示与该知识图谱中的资源实体相对应的抽象实体,该跳变关系用于表示该节点之间的查询关系。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该解析模块具体用于:
利用命名实体识别法解析该自然语言问句得到该关键词,该关键词与该知识图谱中的资源实体相对应。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该查询信息还包括抽象实体之间的关系数据,该解析模块还用于:
利用命名实体识别法解析该自然语言问句得到该关键词,该关键词与该知识图谱中的资源实体相对应;
对该关键词进行解析得到该关键词在该查询图中的对应的抽象实体之间的关系数据。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该生成模块430包括:
搜索单元431,用于基于该查询信息在该查询图中执行路径搜索得到核心结构,该核心结构是构建的与该关键词对应的节点之间的有序的连接关系;
处理单元432,用于基于该自然语言问句,对该核心结构进行后处理,得到该知识图谱的查询语句。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该搜索单元431包括:
第一确定子单元4311,用于基于该查询信息在该查询图中确定查询节点集,该查询节点集所包含的每个节点与该查询信息所包含的关键词一一对应;
第二确定子单元4312,用于在该查询节点集中确定一个起始节点;
搜索子单元4313,用于在该查询图中从该起始节点开始执行路径搜索,得到与该起始节点对应的多条搜索路径,每条该搜索路径包括该查询节点集所包含的节点;
选择子单元4314,用于基于预设规则从该多条搜索路径中选择一条,作为该核心结构。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该搜索子单元4313具体用于:
从该起始起点开始,在该查询图中执行前向遍历搜索,得到与该起始节点存在跳变关系的节点子集;
该查询节点集与该节点子集存在交集时,该交集作为一级节点集合;
确定该起始节点与该一级节点集合中每个节点之间跳变关系,作为与该起始节点对应的搜索路径的初始阶段;
从该一级节点集合中选择任意一个节点为新的起始节点,继续上述前向遍历搜索和筛选步骤,得到与该一级节点集合中每一个节点对应的二级节点集合;
确定与该一级节点集合中每一个节点与该二级节点集合中每个节点之间的跳变关系作为与该起始节点对应的搜索路径的中继阶段;
直到每条该搜索路径满足终止条件时,停止该搜索路径的前向遍历,该终止条件为该搜索路径中包含该查询节点集中全部节点。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该搜索单元431还用于:
从该起始起点开始,在该查询图中执行前向遍历搜索,得到与该起始节点存在跳变关系的节点子集;
该查询节点集与该节点子集无交集时,该节点子集作为一级节点集合;
确定该起始节点与该一级节点集合中每个节点之间跳变关系,作为与该起始节点对应的搜索路径。
可选的,本申请实施例提供的知识图谱查询语句生成装置,当该查询信息中包括抽象实体之间的关系数据时,该搜索单元431还用于:
按照该关系数据确定与该起始节点存在跳变关系的节点子集,该关系数据用于预先确定该起始节点对应的抽象实体与该节点子集之间的搜索关系。
可选的,本申请实施例提供的知识图谱查询语句生成装置,选择子单元4314用于:
确定每条该搜索路径中包含的节点数及节点顺序;
将多条搜索路径中节点数最小,且节点顺序符合该自然语言问句的解析结果的搜索路径,作为该核心结构。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该处理单元432包括:
填充子单元4321,用于基于该自然语言问句,对该核心结构进行填充处理;
封装子单元4322,对填充后的该核心结构进行封装处理。
可选的,本申请实施例提供的知识图谱查询语句生成装置,填充子单元4321具体用于:
提取该查询信息中与该核心结构的起始对应的关键词;
将该关键词填充到该核心结构的节点,构建以该节点为查询对象,该核心结构中的其他节点为查询限制条件的查询语句。
可选的,本申请实施例提供的知识图谱查询语句生成装置,该查询语句中还包括添加字段,该添加字段包括去重字段、排序字段和/或者属性字段。
另一方面,本申请实施例提供的处理设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上所述的知识图谱查询语句生成方法。
下面参考图13,图13为本申请实施例的处理设备的计算机处理设备的结构示意图。
如图13所示,计算机处理设备300包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分303加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有处理设备300操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分303从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本申请的处理设备中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的处理设备、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行处理设备、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行处理设备、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的处理设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的处理设备来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:接收模块、解析模块及第一生成模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,生成模块还可以被描述为“用于基于所述查询信息利用预先构建的查询图将所述自然语言问句转换为与所述知识图谱对应的查询语句,所述查询图包括多个节点和所述节点之间的跳变关系,每个所述节点用于表示与所述知识图谱中的资源实体相对应的抽象实体,所述跳变关系用于表示所述节点之间的查询关系”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的知识图谱查询语句生成方法:
接收自然语言问句,所述自然语言问句用于查询知识图谱;
解析所述自然语言问句得到查询信息;
基于所述查询信息利用预先构建的查询图将所述自然语言问句转换为与所述知识图谱对应的查询语句,所述查询图包括多个节点和所述节点之间的跳变关系,每个所述节点用于表示与所述知识图谱中的资源实体相对应的抽象实体,所述跳变关系用于表示所述节点之间的查询关系。
综上所述,本申请实施例提供的知识图谱查询语句生成方法、装置、设备及存储介质,通过预先构建知识图谱对应的查询图,进而在接收到自然语言问句时,对接收到的自然语言问句解析得到查询信息,最后利用预先构建的与待查询的知识图谱匹配的查询图,基于查询信息,可以将自然语言问句转换为对应的查询语句,实现了任何复杂自然语言问句的解析与转换,提高了知识图谱查询的精确度,降低了知识图谱问答***的落地难度。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种知识图谱查询语句生成方法,其特征在于,所述方法包括:
接收自然语言问句,所述自然语言问句用于查询知识图谱;
解析所述自然语言问句得到查询信息,所述查询信息中包括所述自然语言问句中的关键词;
基于所述查询信息利用预先构建的查询图将所述自然语言问句转换为与所述知识图谱对应的查询语句,所述查询图是根据所述知识图谱的数据存储结构构建的,所述查询图包括多个节点和所述节点之间的跳变关系,每个所述节点用于表示与所述知识图谱中的资源实体相对应的抽象实体,所述跳变关系用于表示所述节点之间的查询关系;
所述基于所述查询信息利用预先构建的查询图,将所述自然语言问句转换为所述知识图谱对应的查询语句包括:
基于所述查询信息在所述查询图中执行路径搜索得到核心结构,所述核心结构是构建的与所述关键词对应的节点之间的有序的连接关系;
基于所述自然语言问句,对所述核心结构进行后处理,得到所述知识图谱的查询语句。
2.根据权利要求1所述的知识图谱查询语句生成方法,其特征在于,所述查询信息包括关键词,则所述解析所述自然语言问句得到查询信息包括:
利用命名实体识别法解析所述自然语言问句得到所述关键词,所述关键词与所述知识图谱中的资源实体相对应。
3.根据权利要求1所述的知识图谱查询语句生成方法,其特征在于,所述查询信息还包括抽象实体之间的关系数据,则所述解析所述自然语言问句中的查询信息包括:
利用命名实体识别法解析所述自然语言问句得到所述关键词,所述关键词与所述知识图谱中的资源实体相对应;
对所述关键词进行解析得到所述关键词在所述查询图中的对应的抽象实体之间的关系数据。
4.根据权利要求1所述的知识图谱查询语句生成方法,其特征在于,所述基于所述查询信息对所述查询图执行路径搜索,得到核心结构包括:
基于所述查询信息在所述查询图中确定查询节点集,所述查询节点集所包含的每个节点与所述查询信息所包含的关键词一一对应;
在所述查询节点集中确定一个起始节点;
在所述查询图中从所述起始节点开始执行路径搜索,得到与所述起始节点对应的多条搜索路径,每条所述搜索路径包括所述查询节点集所包含的节点;
基于预设规则从所述多条搜索路径中选择一条,作为所述核心结构。
5.根据权利要求4所述的知识图谱查询语句生成方法,其特征在于,所述在所述查询图中从所述起始节点开始执行路径搜索,得到与所述起始节点对应的多条搜索路径包括:
从所述起始起点开始,在所述查询图中执行前向遍历搜索,得到与所述起始节点存在跳变关系的节点子集;
所述查询节点集与所述节点子集存在交集时,所述交集作为一级节点集合;
确定所述起始节点与所述一级节点集合中每个节点之间跳变关系,作为与所述起始节点对应的搜索路径的初始阶段;
从所述一级节点集合中选择任意一个节点为新的起始节点,继续上述前向遍历搜索和筛选步骤,得到与所述一级节点集合中每一个节点对应的二级节点集合;
确定与所述一级节点集合中每一个节点与所述二级节点集合中每个节点之间的跳变关系作为与所述起始节点对应的搜索路径的中继阶段;
直到每条所述搜索路径满足终止条件时,停止所述搜索路径的前向遍历,所述终止条件为所述搜索路径中包含所述查询节点集中全部节点。
6.根据权利要求4所述的知识图谱查询语句生成方法,其特征在于,所述方法还包括:
从所述起始起点开始,在所述查询图中执行前向遍历搜索,得到与所述起始节点存在跳变关系的节点子集;
所述查询节点集与所述节点子集无交集时,所述节点子集作为一级节点集合;
确定所述起始节点与所述一级节点集合中每个节点之间跳变关系,作为与所述起始节点对应的搜索路径。
7.根据权利要求4所述的知识图谱查询语句生成方法,其特征在于,当所述查询信息中包括抽象实体之间的关系数据时,所述在所述查询图中从所述起始节点开始执行路径搜索还包括:
按照所述关系数据确定与所述起始节点存在跳变关系的节点子集,所述关系数据用于预先确定所述起始节点对应的抽象实体与所述节点子集之间的搜索关系。
8.根据权利要求4所述的知识图谱查询语句生成方法,其特征在于,所述基于预设规则从所述多条搜索路径中选择一条,作为所述核心结构包括:
确定每条所述搜索路径中包含的节点数及节点顺序;
将多条搜索路径中节点数最小,且节点顺序符合所述自然语言问句的解析结果的搜索路径,作为所述核心结构。
9.根据权利要求1所述的知识图谱查询语句生成方法,其特征在于,所述基于所述自然语言问句,对所述核心结构进行后处理包括:
基于所述自然语言问句,对所述核心结构进行填充处理;
对填充后的所述核心结构进行封装处理。
10.根据权利要求9所述的知识图谱查询语句生成方法,其特征在于,所述基于所述查询信息对所述核心结构进行填充处理包括:
提取所述查询信息中与所述核心结构的起始对应的关键词;
将所述关键词填充到所述核心结构的节点,构建以所述节点为查询对象,所述核心结构中的其他节点为查询限制条件的查询语句。
11.根据权利要求9所述的知识图谱查询语句生成方法,其特征在于,所述查询语句中还包括添加字段,所述添加字段包括去重字段、排序字段和/或者属性字段。
12.一种知识图谱查询语句生成装置,其特征在于,所述装置包括:
接收模块,用于接收自然语言问句,所述自然语言问句用于查询知识图谱;
解析模块,用于解析所述自然语言问句得到查询信息,所述查询信息中包括所述自然语言问句中的关键词;
生成模块,用于基于所述查询信息利用预先构建的查询图将所述自然语言问句转换为与所述知识图谱对应的查询语句,所述查询图是根据所述知识图谱的数据存储结构构建的,所述查询图包括多个节点和所述节点之间的跳变关系,每个所述节点用于表示与所述知识图谱中的资源实体相对应的抽象实体,所述跳变关系用于表示所述节点之间的查询关系;
所述生成模块具体用于:
基于所述查询信息在所述查询图中执行路径搜索得到核心结构,所述核心结构是构建的与所述关键词对应的节点之间的有序的连接关系;
基于所述自然语言问句,对所述核心结构进行后处理,得到所述知识图谱的查询语句。
13.一种处理设备,其特征在于,所述处理设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器用于执行所述程序时实现如权利要求1-11任一项所述的知识图谱查询语句生成方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如权利要求1-11任一项所述的知识图谱查询语句生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010311777.5A CN112818092B (zh) | 2020-04-20 | 2020-04-20 | 知识图谱查询语句生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010311777.5A CN112818092B (zh) | 2020-04-20 | 2020-04-20 | 知识图谱查询语句生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112818092A CN112818092A (zh) | 2021-05-18 |
CN112818092B true CN112818092B (zh) | 2023-08-11 |
Family
ID=75853019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010311777.5A Active CN112818092B (zh) | 2020-04-20 | 2020-04-20 | 知识图谱查询语句生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112818092B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989145B (zh) * | 2021-05-11 | 2021-12-14 | 浙江大华技术股份有限公司 | 查询语句生成方法、装置、***及计算机可读存储介质 |
CN114297350A (zh) * | 2021-06-07 | 2022-04-08 | 北京大学 | 一种面向自然语言的城市领域知识模型查询方法和装置 |
CN113127506B (zh) * | 2021-06-16 | 2021-10-15 | 北京明略昭辉科技有限公司 | 目标查询语句的构建方法、装置、存储介质和电子装置 |
KR20240024544A (ko) * | 2022-08-17 | 2024-02-26 | (주)어센트코리아 | 검색 경로 제공을 위한 서비스 제공 장치 및 방법 |
CN116414872B (zh) * | 2023-04-11 | 2024-02-20 | 浙商证券股份有限公司 | 基于自然语言识别及知识图谱的数据搜索方法和*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052547A (zh) * | 2017-11-27 | 2018-05-18 | 华中科技大学 | 基于问句和知识图结构分析的自然语言问答方法及*** |
CN108829858A (zh) * | 2018-06-22 | 2018-11-16 | 北京京东金融科技控股有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN109033063A (zh) * | 2017-06-09 | 2018-12-18 | 微软技术许可有限责任公司 | 基于知识图谱的机器推理 |
CN109918489A (zh) * | 2019-02-28 | 2019-06-21 | 上海乐言信息科技有限公司 | 一种多策略融合的知识问答方法和*** |
CN110275947A (zh) * | 2019-05-23 | 2019-09-24 | 中国人民解放军战略支援部队信息工程大学 | 基于命名实体识别的特定领域知识图谱自然语言查询方法及装置 |
CN110347810A (zh) * | 2019-05-30 | 2019-10-18 | 重庆金融资产交易所有限责任公司 | 对话式检索回答方法、装置、计算机设备及存储介质 |
CN110457431A (zh) * | 2019-07-03 | 2019-11-15 | 深圳追一科技有限公司 | 基于知识图谱的问答方法、装置、计算机设备和存储介质 |
CN110609902A (zh) * | 2018-05-28 | 2019-12-24 | 华为技术有限公司 | 一种基于融合知识图谱的文本处理方法及装置 |
CN110795528A (zh) * | 2019-09-05 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10534862B2 (en) * | 2018-02-01 | 2020-01-14 | International Business Machines Corporation | Responding to an indirect utterance by a conversational system |
US11693848B2 (en) * | 2018-08-07 | 2023-07-04 | Accenture Global Solutions Limited | Approaches for knowledge graph pruning based on sampling and information gain theory |
-
2020
- 2020-04-20 CN CN202010311777.5A patent/CN112818092B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033063A (zh) * | 2017-06-09 | 2018-12-18 | 微软技术许可有限责任公司 | 基于知识图谱的机器推理 |
CN108052547A (zh) * | 2017-11-27 | 2018-05-18 | 华中科技大学 | 基于问句和知识图结构分析的自然语言问答方法及*** |
CN110609902A (zh) * | 2018-05-28 | 2019-12-24 | 华为技术有限公司 | 一种基于融合知识图谱的文本处理方法及装置 |
CN108829858A (zh) * | 2018-06-22 | 2018-11-16 | 北京京东金融科技控股有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN109918489A (zh) * | 2019-02-28 | 2019-06-21 | 上海乐言信息科技有限公司 | 一种多策略融合的知识问答方法和*** |
CN110275947A (zh) * | 2019-05-23 | 2019-09-24 | 中国人民解放军战略支援部队信息工程大学 | 基于命名实体识别的特定领域知识图谱自然语言查询方法及装置 |
CN110347810A (zh) * | 2019-05-30 | 2019-10-18 | 重庆金融资产交易所有限责任公司 | 对话式检索回答方法、装置、计算机设备及存储介质 |
CN110457431A (zh) * | 2019-07-03 | 2019-11-15 | 深圳追一科技有限公司 | 基于知识图谱的问答方法、装置、计算机设备和存储介质 |
CN110795528A (zh) * | 2019-09-05 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
面向水利信息资源的智能问答***构建与应用;张紫璇;陆佳民;姜笑;冯钧;;计算机与现代化(第03期);第69-75页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112818092A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818092B (zh) | 知识图谱查询语句生成方法、装置、设备及存储介质 | |
CN109492077B (zh) | 基于知识图谱的石化领域问答方法及*** | |
CN109284363B (zh) | 一种问答方法、装置、电子设备及存储介质 | |
US9489453B2 (en) | Building an ontology by transforming complex triples | |
CN104915340B (zh) | 自然语言问答方法及装置 | |
US10289717B2 (en) | Semantic search apparatus and method using mobile terminal | |
Habernal et al. | SWSNL: semantic web search using natural language | |
EP3635540A1 (en) | Intent-based organisation of apis | |
CN109325040B (zh) | 一种faq问答库泛化方法、装置及设备 | |
WO2008125495A2 (en) | A method and system for finding a focus of a document | |
JP2016018566A (ja) | 単文/複文構造の自然言語クエリに対する検索および情報提供方法並びにシステム | |
US11423018B1 (en) | Multivariate analysis replica intelligent ambience evolving system | |
CN111949800A (zh) | 一种开源项目知识图谱的建立方法和*** | |
US11809506B1 (en) | Multivariant analyzing replicating intelligent ambience evolving system | |
CN109948150A (zh) | 一种多域环境中基于知识图谱的高性能服务语境发现方法 | |
CN112597285A (zh) | 一种基于知识图谱的人机交互方法及*** | |
CN114218472A (zh) | 基于知识图谱的智能搜索*** | |
CN110795547B (zh) | 文本识别方法和相关产品 | |
Sui et al. | Causality-aware enhanced model for multi-hop question answering over knowledge graphs | |
CN113343692B (zh) | 搜索意图的识别方法、模型训练方法、装置、介质及设备 | |
CN112970011A (zh) | 记录查询优化中的谱系 | |
CN117932022A (zh) | 一种智能问答方法、装置、电子设备及存储介质 | |
KR101602342B1 (ko) | 의미 태깅된 자연어 질의의 의도에 부합하는 정보 추출 및 제공 방법 및 시스템 | |
CN115982322A (zh) | 一种水利行业设计领域知识图谱的检索方法及检索*** | |
Abramowicz et al. | Supporting topic map creation using data mining techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40044197 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |