一种基于知识图谱的数据查询方法、装置及存储介质
技术领域
本发明涉及计算机信息处理领域,尤其涉及一种基于知识图谱的数据查询方法、装置及存储介质。
背景技术
目前,电商的商品越来越多,用户查询起来非常不方便。为此,各电商推出了一下几种方案:1)提供商品类目树:对商品进行分类和分级显示以方便用户查询特定的商品。但商品类目查找用户喜欢商品的交互形式过于古板,而且无法反映不同类别商品的受欢迎程度,也无法反映商品类别之间的购买相关性。在查找具体到某些主要关键词时,还要借助搜索推荐结果。2)提供个性化推荐:在用户选择不同的类别或者关键词后,根据用户的购买行为分析,流行度分析等,对相关商品进行排序展现。但个性化推荐往往基于对用户历史购买行为的猜测结果,缺少类别和关键词限制,也缺少用户向电商表达诉求和进行交互的途径。3)关键词搜索:根据用户输入的关键词搜索出与关键词相关的商品,并根据与关键词相关程度、用户购买行为和流行度等分析进行排序,将用户较为感兴趣的商品排在前面以方便用户更快地找到想要的商品。但这一方式对关键词的准确度依赖较大,如果用户没有输入准确的关键词就很难找到想要的商品。
因此,如何能克服以上方案的缺陷,为用户提供一个可交互、且保留商品分类目录,并结合用户购买行为和流行度分析进行结果排序的商品查找途径,是电商邻域尚待解决的一个技术问题。
发明内容
针对以上问题,本发明实施例提供了一种基于知识图谱的数据查询方法、装置及存储介质。
根据本发明实施例的第一方面,提供了一种基于知识图谱的数据查询方法,该方法包括:针对第一数据构建N级知识图谱,任意一级知识图谱包括类别节点和关键词节点,类别节点的节点值为类别名称,关键词节点的节点值为关键词,知识图谱的边代表节点之间的相关关系,N为大于等于1的整数;从N级知识图谱中获取第i级知识图谱,i为1至N中的整数;图形化显示第i级知识图谱;识别用户对第i级知识图谱中的节点所进行的操作,若操作为第一操作,则检测被操作节点是否关联了第i+1级知识图谱,若是,则显示被操作节点关联的第i+1级知识图谱,若操作为第二操作,则使用被操作节点的节点值对第一数据进行查询得到查询结果,其中,若被操作节点为类别节点,则进行分类查询得到类别名称为节点值的查询结果,若被操作节点为关键词节点,则进行关键词查询得到包含节点值的查询结果。
根据本发明实施例一实施方式,针对第一数据构建N级知识图谱,包括:从针对第一数据预先建立的N级分类信息中获取第i级分类信息,第i级分类信息包括至少一个类别,每个类别设置有类别名称、指向父类别的指示信息和/或指向子类别的指示信息,i为1至N中的整数,第i级分类信息中任意一个类别的子类别位于i+1级分类信息;为第i级分类信息中的每个类别创建一个对应的类别节点,将类别节点的节点值设置为相应类别的类别名称;针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词,并为每个关键词创建一个关键词节点,将关键词节点的节点值设置为相应关键词;判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系,若存在,则在相应的节点之间创建一条边。
根据本发明实施例一实施方式,在相应的节点之间创建一条边之后,该方法还包括:计算相应的节点之间相关关系的关联度;将所属关联度添加到边的属性中。
根据本发明实施例一实施方式,针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词,包括:第i级分类信息为第N级分类信息时,针对第N级分类信息中的每个类别,根据语义分析获取与该类别的类别名称语义相关的关键词得到至少一个关键词;第i级分类信息为第1至第N-1级分类信息时,针对第i级分类信息中的每个类别,根据指向父类别的指示信息和/或指向子类别的指示信息获取该类别的所有子类别,获取所有子类别关联的关键词并从所有子类别关联的关键词中选取至少一个关键词。
根据本发明实施例一实施方式,针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词之后,该方法还包括:获取第二数据,第二数据为用户使用第一数据的过程中记录下的数据;相应地,判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系,包括:结合第二数据判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系。
根据本发明实施例一实施方式,在相应的节点之间创建一条边之后,该方法还包括:结合第二数据计算相应的节点之间相关关系的关联度;将所属关联度添加到边的属性中。
根据本发明实施例一实施方式,在得到第i级知识图谱之后,该方法还包括:根据第二数据对第i级知识图谱的每一节点的节点值进行打分得到相应节点的重要性评分。
根据本发明实施例的第二方面,提供了一种基于知识图谱的数据查询装置,该装置包括:知识图谱构建模块,用于针对第一数据构建N级知识图谱,任意一级知识图谱包括类别节点和关键词节点,类别节点的节点值为类别名称,关键词节点的节点值为关键词,知识图谱的边代表节点之间的相关关系,N为大于等于1的整数;知识图谱获取模块,用于从N级知识图谱中获取第i级知识图谱,i为1至N中的整数;图形化显示模块,用于图形化显示第i级知识图谱;数据查询模块,用于识别用户对第i级知识图谱中的节点所进行的操作,若操作为第一操作,则检测被操作节点是否关联了第i+1级知识图谱,若是,则显示被操作节点关联的第i+1级知识图谱,若操作为第二操作,则使用被操作节点的节点值对第一数据进行查询得到查询结果,其中,若被操作节点为类别节点,则进行分类查询得到类别名称为节点值的查询结果,若被操作节点为关键词节点,则进行关键词查询得到包含节点值的查询结果。
根据本发明实施例一实施方式,知识图谱构建模块包括:第i级分类信息获取子模块,用于从针对第一数据预先建立的N级分类信息中获取第i级分类信息,第i级分类信息包括至少一个类别,每个类别设置有类别名称、指向父类别的指示信息和/或指向子类别的指示信息,i为1至N中的整数,第i级分类信息中任意一个类别的子类别位于i+1级分类信息;类别节点创建子模块,用于为第i级分类信息中的每个类别创建一个对应的类别节点,将类别节点的节点值设置为相应类别的类别名称;关键词节点创建子模块,用于针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词,并为每个关键词创建一个关键词节点,将关键词节点的节点值设置为相应关键词;边创建子模块,用于判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系,若存在,则在相应的节点之间创建一条边。
根据本发明实施例一实施方式,知识图谱构建模块还包括:关联度计算子模块,用于计算相应的节点之间相关关系的关联度;边属性添加模块,用于将所属关联度添加到边的属性中。
根据本发明实施例一实施方式,关键词节点创建子模块包括:语义分析单元,用于第i级分类信息为第N级分类信息时,针对第N级分类信息中的每个类别,根据语义分析获取与该类别的类别名称语义相关的关键词得到至少一个关键词;子类别关键词筛选单元,用于第i级分类信息为第1至第N-1级分类信息时,针对第i级分类信息中的每个类别,根据指向父类别的指示信息和/或指向子类别的指示信息获取该类别的所有子类别,获取所有子类别关联的关键词并从所有子类别关联的关键词中选取至少一个关键词。
根据本发明实施例一实施方式,知识图谱构建模块还包括:第二数据获取子模块,用于获取第二数据,第二数据为用户使用第一数据的过程中记录下的数据;相应地,边创建子模块具体用于结合第二数据判断类别节点和关键词节点中每两个节点之间是否存在相关关系。
根据本发明实施例一实施方式,关联度计算子模块具体用于结合第二数据计算相应的节点之间相关关系的关联度。
根据本发明实施例一实施方式,知识图谱构建模块还包括:节点评分子模块,用于根据第二数据对第i级知识图谱的每一节点的节点值进行打分得到相应节点的重要性评分。
根据本发明实施例的第三方面, 提供一种,在存储介质上存储了程序指令,其中,程序指令在运行时用于执行如上述任一项的基于知识图谱的数据查询方法。
本发明实施例提供一种基于知识图谱的数据查询方法、装置及存储介质。该方法包括:首先,根据某一数据构建多级知识图谱,其中,该知识图谱包括类别节点、关键词节点和各个节点之间的相关关系;然后,从该多级知识图谱中获取某一级知识图谱并图形化展示给用户;当用户对某一节点进行第一操时,显示该节点关联的下一级知识图谱,其中,如果该节点是类别节点,则显示该类别的子类别,如果该节点是关键词节点,则显示与该关键词关联的所有类别;当用户对某一节点进行第二操作时,对数据进行相应的查询,其中,如果该节点是类别节点,则通过类别找到属于该类别的数据,如果该节点是关键词节点,则通过关键词找到包含该关键词的数据。
由于本发明实施例是基于知识图谱所进行的查询,可以将用户可能感兴趣的类别及关键词都展现出来,给予用户更多提示,这样用户更容易找到自己真正想要的数据;此外,知识图谱不仅可以展现用户想查询的数据,还可以通过数据之间的关联关系展现与用户想要的数据相关的一些信息,可以便于用户一次性收集到全部想要的信息而不用逐个或主动去查找。
而知识图谱的图形化显示为用户提供了一种更为直观的查询方式,不用手工输入关键词,也避免了因为输入的关键词不准确而找不到想要的数据的情况。
如此,可巧妙地将类别查询和关键词查询结合在一起,并以知识图谱这一更为直观的方式呈现给用户,使用户能够更快捷地找到想要的数据,以及与之相关的数据,从而大大提高了数据查询的效率,也极大地提高了用户体验。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例基于知识图谱的数据查询方法的实现流程示意图;
图2为本发明实施例一应用基于知识图谱的数据查询方法的具体实现流程示意图;
图3为本发明实施例基于知识图谱的数据查询装置的组成结构示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1示出了本发明实施例信息处理方法的一个实现流程示意图,本发明实施例基于知识图谱的数据查询方法,如图1所示,包括:操作110,针对第一数据构建N级知识图谱,任意一级知识图谱包括类别节点和关键词节点,类别节点的节点值为类别名称,关键词节点的节点值为关键词,知识图谱的边代表节点之间的相关关系,N为大于等于1的整数;操作120,从N级知识图谱中获取第i级知识图谱,i为1至N中的整数;操作130,图形化显示第i级知识图谱;操作140,识别用户对第i级知识图谱中的节点所进行的操作,若操作为第一操作,则检测被操作节点是否关联了第i+1级知识图谱,若是,则显示被操作节点关联的第i+1级知识图谱,若操作为第二操作,则使用被操作节点的节点值对第一数据进行查询得到查询结果,其中,若被操作节点为类别节点,则进行分类查询得到类别名称为节点值的查询结果,若被操作节点为关键词节点,则进行关键词查询得到包含节点值的查询结果。
在操作110中,第一数据可以是用户想要查询的任意类型、任意行业的数据,例如手机应用、商品、电子图书、应聘人员、招聘企业等等,而这些数据通常具有既可以通过分类进行查询指定类别的数据,也可以通过关键词查询包含指定关键词的特定。
其中,N级知识图谱与第一数据的N级分类信息对应;N至少为1, 但1级分类非常少见,仅适用于分类较少且数据量较小的应用场景。而N也一般不会大于5,因为超过5级之后,末级数据就会非常少而失去分类的意义,因此N通常为2到5之间的一个数,其中,为3的情况较为普遍。
任意一级知识图谱中的类别节点与第一数据的相应级分类信息中的类别对应,关键词节点则对应于与相应级分类信息中每一类别相关的关键词。
在构建N级知识图谱时,可以采用任意适用的存储结构,例如构建不同类型的节点对象来分别实现类别节点和关键词节点,也可以使用同一类型的节点对象而通过在该节点对象上设置一个节点类型的属性,并分别为类别节点和关键词节点设置不同的属性值来实现。知识图谱的边可以通过三元组数据结构来实现,也可以采用图数据结构中代表边的对象来实现。
由于本发明实施例通常是基于第一数据的N级分类信息来构建N级知识图谱的,推荐使用自顶而下的构建顺序。但本发明实施例并不排除通过爬取数据,自底而上边构建知识图谱边提炼分类信息的构建顺序。
构建好的N级知识图谱通常以数据对象形式的存储在任意适用的数据存储系统中,例如,基于资源描述框架(Resource Description Framework,RDF)的存储系统,或是基于图数据结构的图数据库。
在操作120中,从N级知识图谱中获取第i级知识图谱时,包括但不限于以下几种方式:
1)在初始状态下,获取第一数据的一级分类信息,并通过一级分类信息中的类别提取与之对应的类别节点和关键词节点,以及类别节点之间的边、类别节点与关键词节点之间的边、关键词节点之间的边来获取与一级分类信息对应的一级知识图谱;
2)在用户对某个第i-1级知识图谱中的类别节点进行第一操作时,获取与该类别节点对应的第i-1级类别的第i级子类别,然后提取与第i级子类别对应的类别节点和关键词节点,以及类别节点之间的边、类别节点与关键词节点之间的边、关键词节点之间的边来获取与第i-1级的该类别节点关联的第i级知识图谱;
3)在用户对某个第i-1级知识图谱中的关键词节点进行第一操作时,获取与该关键词关联的类别节点和关键词节点,以及类别节点之间的边、类别节点与关键词节点之间的边、关键词节点之间的边来获取与第i-1级的该关键词关联的第i级知识图谱对应的类别节点和关键词节点,以及类别节点之间的边、类别节点与关键词节点之间的边、关键词节点之间的边来获取与第i-1级的该类别节点关联的第i级知识图谱;
4)由于某种原因需要展示第i级类别的全部信息时,获取所有第i级类别对应的类别对应的类别节点和关键词节点,以及类别节点之间的边、类别节点与关键词节点之间的边、关键词节点之间的边来获取与所有第i级类别对应的第i级知识图谱。
在操作130中,图形化显示第i级知识图谱时,主要通过可视化展示各节点以及连接各节点的边所形成的图结构来实现的。由于图形化显示知识图谱已经有很多较为成熟的实现方法,实施者可根据实施条件采用任意适用的方法,在本发明实施例中不再赘述。
需要说明的是,在图形化显示第i级知识图谱后,可以接收到用户针对第i级知识图谱中的某各类别节点或关键词节点所进行的操作。
在操作140中,第一操作和第二操作是对同一对象进行的、可以相互区分的两种操作,比如,双击和单击,比如放大手势和缩小手势,左移手势和右移手势等等。
在检测被操作的节点是否关联了第i+1级知识图谱时,如果被操作节点是类别节点,则可以根据该类别节点对应的类别是否有子类别来判断,如果有,则关联了第i+1级知识图谱,如果没有,则没有关联的第i+级知识图谱;如果被操作节点是关键词节点,则可以检索是否存在与该关键词节点相关的节点来判断,如果存在,则关联了第i+1级知识图谱,如果不存在,则没有关联的第i+级知识图谱;
由于本发明实施例是基于知识图谱所进行的查询,可以将用户可能感兴趣的类别及关键词都展现出来,给予用户更多提示,这样用户更容易找到自己真正想要的数据;此外,知识图谱不仅可以展现用户想查询的数据,还可以通过数据之间的关联关系展现与用户想要的数据相关的一些信息,可以便于用户一次性收集到全部想要的信息而不用逐个或主动去查找。
而知识图谱的图形化显示为用户提供了一种更为直观的查询方式,不用手工输入关键词,也避免了因为输入的关键词不准确而找不到想要的数据的情况。
如此,可巧妙地将类别查询和关键词查询结合在一起,并以知识图谱这一更为直观的方式呈现给用户,使用户能够更快捷地找到想要的数据,以及与之相关的数据,从而大大提高了数据查询的效率,也极大地提高了用户体验。
根据本发明实施例一实施方式,针对第一数据构建N级知识图谱,包括:从针对第一数据预先建立的N级分类信息中获取第i级分类信息,第i级分类信息包括至少一个类别,每个类别设置有类别名称、指向父类别的指示信息和/或指向子类别的指示信息,i为1至N中的整数,第i级分类信息中任意一个类别的子类别位于i+1级分类信息;为第i级分类信息中的每个类别创建一个对应的类别节点,将类别节点的节点值设置为相应类别的类别名称;针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一关键词,并为每个关键词创建一个关键词节点,将关键词节点的节点值设置为相应关键词;判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系,若存在,则在相应的节点之间创建一条边。
在本实施方式中,主要采取自顶而下的构建顺序来构建与N级分类信息对应的N级知识图谱的。其中,N级分类信息是针对第一数据预先建立的,例如,针对商品建立的N级商品类目,针对图书建立的N级图书分类等等。这一N级分类信息通常为一个或多个树状结构的分类,即每一级分类的每个类别又会有子类别,为了便于找到每个类别的子类别,通常会在每个类别上设置有指向父类别的指示信息或指向子类别的指示信息,在极端情况下也可能会同时设置有指向父类别的指示信息和指向子类别的指示信息。
在获取与类别相关的关键词时,通常是从一个预先设定的关键词库中选取与类别相关性大于某个相关度阈值的关键词来获取的。这个关键词库中的关键词可以来自根据专家经验总结的,也可以来自用户输入的关键词中选取的命中率较高的关键词。在计算关键词与类别的相关性时,可以通过Tf-idf 或者TextRank算法。
在判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系时,可以采用但不限于以下方法:
1)如果该关键词是因为与某一类别相关而获取的,则该关键词与该类别之间相关;
2)关键词之间或类别之间可以通过语义分析计算关键词之间的相关度来确定关键词是否相关,例如,利用word2vec或者是glove, 根据关键词文本训练结果,设定一定的阈值,找到关键词之间或类别之间的相互关系。
根据本发明实施例一实施方式,在相应的节点之间创建一条边之后,该方法还包括:计算相应的节点之间相关关系的关联度;将所属关联度添加到边的属性中。
在本实施方式中,将边的关联度添加到边的属性中,可以标记关联程度的大小。用户可以根据关联度的大小找到最想要的数据、或与目标数据最相关的数据。
根据本发明实施例一实施方式,针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词,包括:第i级分类信息为第N级分类信息时,针对第N级分类信息中的每个类别,根据语义分析获取与该类别的类别名称语义相关的关键词得到至少一个关键词;第i级分类信息为第1至第N-1级分类信息时,针对第i级分类信息中的每个类别,根据指向父类别的指示信息和/或指向子类别的指示信息获取该类别的所有子类别,获取所有子类别关联的关键词并从所有子类别关联的关键词中选取至少一个关键词。
在本实施方式中,除了最末一级类别,即第N级类别,是通过根据语义分析获取与该类别的类别名称语义相关的关键词得到至少一个关键词之外,其他具有子类别的类别可以根据指向父类别的指示信息和/或指向子类别的指示信息获取该类别的所有子类别,获取所有子类别关联的关键词并从所有子类别关联的关键词中选取至少一个关键词。如此可以节省相关度的计算时间,而且可以保持父类别和子类别之间的继承关系,能更好地提高查询效率。
根据本发明实施例一实施方式,针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词之后,该方法还包括:获取第二数据,第二数据为用户使用第一数据的过程中记录下的数据;相应地,判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系,包括:结合第二数据判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系。
在本实施方式中,引入了第二数据。第二数据通常为用户历史行为记录,例如,访问记录,购买记录,阅读记录等等。引入用户历史行为记录可以更准确地了解用户的行为模式和喜好,并根据用户的行为模式和喜好更精确地定位用户需求,帮助用户最快捷地找到自己想要地数据。
例如,可以结合用户行为记录了解用户访问的顺序,在用户经常访问的类别之间、类别和关键词之间或关键词之间建立相关关系。
根据本发明实施例一实施方式,在相应的节点之间创建一条边之后,该方法还包括:结合第二数据计算相应的节点之间相关关系的关联度;将所属关联度添加到边的属性中。
在本发明实施方式中,除了使用语义分析进行语义上的相关性计算,还可以结合用户的访问行为模式和访问频次来计算相应的节点之间相关关系的关联度。例如,在一段时间内,用户访问完“女装”之后访问“母婴用品”的统计概率为10%,用户访问完“母婴用品”之后访问“猫粮”的统计概率为5%,则“女装”与“母婴用品”的相关性可标记为0.1; “母婴用品”与“猫粮”的相关性可标记为0.05。
根据本发明实施例一实施方式,在得到第i级知识图谱之后,该方法还包括:根据第二数据对第i级知识图谱的每一节点的节点值进行打分得到相应节点的重要性评分。
在本发明方式中,还可以根据用户自己的喜好度和公众的喜好度(即综合计算所有用户的喜好度)等数据对第i级知识图谱的每一节点的节点值进行打分得到相应节点的重要性评分。而某一节点的喜好度主要是通过访问频次来计算的。
图2示出了本发明实施例一应用基于知识图谱的数据查询方法的具体实现流程示意图。如图2所示,该应用基于知识图谱的数据查询方法主要包括:
步骤2010,获取多级商品类目树;
步骤2020,获取每一级商品类目的关键词;
步骤2030,计算每一级关键词之间的相关性并确定关键词之间的相关关系;
步骤2040,获取用户购买记录;
步骤2050,结合步骤2030获取的关键词之间的相关关系和步骤2040获取的用户购买记录,获取关键词之间的关系;
步骤 2060,结合步骤2020获取每一级商品类目的关键词的过程和步骤2040获取的用户购买记录,获取类目和关键词之间的关系;
步骤2070,结合2040获取的用户购买记录,获取类目之间的关系;
步骤2080,以类目和关键词做节点,根据步骤2050获取的关键词之间的关系、步骤2060获取的类目和关键词之间的关系、步骤2070获取类目之间的关系为边构建商品推荐的知识图谱;
步骤2090,图形化显示步骤2080构建的知识图谱;
步骤2100,识别用户对知识图谱进行的操作;
步骤2110,若用户的操作是双击类目,则显示与类目关联的下一级知识图谱;
步骤2120,若用户的操作是双击关键词,则显示与关键词关联的下一级知识图谱;
步骤2130,若用户的操作是单击类目,则显示类目下的商品;
步骤2130,若用户的操作是单击类目,则显示包含关键词的商品。
进一步地,本发明实施例还提供了一种基于知识图谱的数据查询装置,如图3所示,该装置30包括:知识图谱构建模块301,用于针对第一数据构建N级知识图谱,任意一级知识图谱包括类别节点和关键词节点,类别节点的节点值为类别名称,关键词节点的节点值为关键词,知识图谱的边代表节点之间的相关关系,N为大于等于1的整数;知识图谱获取模块302,用于从N级知识图谱中获取第i级知识图谱,i为1至N中的整数;图形化显示模块303,用于图形化显示第i级知识图谱;数据查询模块304,用于识别用户对第i级知识图谱中的节点所进行的操作,若操作为第一操作,则检测被操作节点是否关联了第i+1级知识图谱,若是,则显示被操作节点关联的第i+1级知识图谱,若操作为第二操作,则使用被操作节点的节点值对第一数据进行查询得到查询结果,其中,若被操作节点为类别节点,则进行分类查询得到类别名称为节点值的查询结果,若被操作节点为关键词节点,则进行关键词查询得到包含节点值的查询结果。
根据本发明实施例一实施方式,知识图谱构建模301块包括:第i级分类信息获取子模块,用于从针对第一数据预先建立的N级分类信息中获取第i级分类信息,第i级分类信息包括至少一个类别,每个类别设置有类别名称、指向父类别的指示信息和/或指向子类别的指示信息,i为1至N中的整数,第i级分类信息中任意一个类别的子类别位于i+1级分类信息;类别节点创建子模块,用于为第i级分类信息中的每个类别创建一个对应的类别节点,将类别节点的节点值设置为相应类别的类别名称;关键词节点创建子模块,用于针对第i级分类信息中的每个类别,获取该类别关联的关键词得到至少一个关键词,并为每个关键词创建一个关键词节点,将关键词节点的节点值设置为相应关键词;边创建子模块,用于判断每两个类别节点之间、每一类别节点和每一关键词节点之间、每两个关键词节点之间是否存在相关关系,若存在,则在相应的节点之间创建一条边。
根据本发明实施例一实施方式,知识图谱构建模块301还包括:关联度计算子模块,用于计算相应的节点之间相关关系的关联度;边属性添加子模块,用于将所属关联度添加到边的属性中。
根据本发明实施例一实施方式,关键词节点创建子模块包括:语义分析单元,用于第i级分类信息为第N级分类信息时,针对第N级分类信息中的每个类别,根据语义分析获取与该类别的类别名称语义相关的关键词得到至少一个关键词;子类别关键词筛选单元,用于第i级分类信息为第1至第N-1级分类信息时,针对第i级分类信息中的每个类别,根据指向父类别的指示信息和/或指向子类别的指示信息获取该类别的所有子类别,获取所有子类别关联的关键词并从所有子类别关联的关键词中选取至少一个关键词。
根据本发明实施例一实施方式,知识图谱构建模块301还包括:第二数据获取子模块,用于获取第二数据,第二数据为用户使用第一数据的过程中记录下的数据;相应地,边创建子模块具体用于结合第二数据判断类别节点和关键词节点中每两个节点之间是否存在相关关系。
根据本发明实施例一实施方式,关联度计算子模块具体用于结合第二数据计算相应的节点之间相关关系的关联度。
根据本发明实施例一实施方式,知识图谱构建模块301还包括:节点评分模块,用于根据第二数据对第i级知识图谱的每一节点的节点值进行打分得到相应节点的重要性评分。
根据本发明实施例的第三方面, 提供一种,在存储介质上存储了程序指令,其中,程序指令在运行时用于执行如上述任一项的基于知识图谱的数据查询方法。
这里需要指出的是:以上针对信息处理装置实施例的描述和以上针对计算机存储介质实施例的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本发明对配置下发的装置实施例的描述和对计算机存储介质实施例的描述尚未披露的技术细节,请参照本发明前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。