用于构建配餐知识图谱的方法、装置、电子设备及介质与流程

文档序号:23986789发布日期:2021-02-20 12:19阅读:131来源:国知局
用于构建配餐知识图谱的方法、装置、电子设备及介质与流程

[0001]
本申请涉及人工智能技术领域,具体涉及知识图谱、自然语言处理、云服务技术领域,尤其涉及用于构建配餐知识图谱的方法、装置、电子设备及计算机可读存储介质。


背景技术:

[0002]
随着生产力的快速发展,人们已经不再处于物质极度匮乏的时代,转而开始不断追求健康的生活方式,尤其是健康饮食,即人们对营养知识及营养配餐的需求正在极速增加。


技术实现要素:

[0003]
本申请实施例提出了一种用于构建配餐知识图谱的方法、装置、电子设备及计算机可读存储介质。
[0004]
第一方面,本申请实施例提出了一种用于构建配餐知识图谱的方法,包括:获取食谱数据和与食谱数据包含的食材对应的营养素数据;将非结构化的食谱数据切分为多个语句,并利用ernie-mrc模型从至少一个语句中抽取出以食谱名作为实体的主谓宾三元组;其中,实体作为主谓宾三元组的主语;根据主谓宾三元组构建初始配餐知识图谱,并建立初始配餐知识图谱中各食材与对应的营养素数据之间的连接,得到目标配餐知识图谱。
[0005]
第二方面,本申请实施例提出了一种用于构建配餐知识图谱的装置,包括:食谱数据及营养素数据获取单元,被配置成获取食谱数据和与食谱数据包含的食材对应的营养素数据;非结构化食谱数据处理单元,被配置成将非结构化的食谱数据切分为多个语句,并利用ernie-mrc模型从至少一个语句中抽取出以食谱名作为实体的主谓宾三元组;其中,实体作为主谓宾三元组的主语;配餐知识图谱构建单元,被配置成根据主谓宾三元组构建初始配餐知识图谱,并建立初始配餐知识图谱中各食材与对应的营养素数据之间的连接,得到目标配餐知识图谱。
[0006]
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的用于构建配餐知识图谱的方法。
[0007]
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的用于构建配餐知识图谱的方法。
[0008]
本申请实施例提供的用于构建配餐知识图谱的方法、装置、电子设备及计算机可读存储介质,首先,获取食谱数据和与食谱数据包含的食材对应的营养素数据;然后,将其中的非结构化的食谱数据切分为多个语句,并利用ernie-mrc模型从至少一个语句中抽取出以食谱名作为实体的主谓宾三元组,该实体作为主谓宾三元组的主语;最后,根据主谓宾三元组构建初始配餐知识图谱,并建立初始配餐知识图谱中各食材与对应的营养素数据之
间的连接,得到目标配餐知识图谱。
[0009]
为满足当前对专业营养配餐知识的需求,本申请提供了一种用于构建配餐知识图谱的方案,针对大多数以非结构化形式存在的食谱数据给出了先切分再利用ernie-mrc模型从中抽取出准确的主谓宾三元组的实现方式,得以对非结构化食谱数据进行了较好的处理,同时通过将食材与营养素数据建边的方式使得最终构建得到的目标配餐知识图谱同时包含食谱、食材和营养素数据,更加全面,为用户后续的查询操作提供了全面、准确的数据基础。
[0010]
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0012]
图1是本申请可以应用于其中的示例性系统架构;
[0013]
图2为本申请实施例提供的一种用于构建配餐知识图谱的方法的流程图;
[0014]
图3为本申请实施例提供的一种处理实体的方法的流程图;
[0015]
图4为本申请实施例提供的在一应用场景下的用于构建和使用配餐知识图谱的方法的流程示意图;
[0016]
图5为本申请实施例提供的一种用于构建配餐知识图谱的装置的结构框图;
[0017]
图6为本申请实施例提供的一种适用于执行用于构建配餐知识图谱的方法的电子设备的结构示意图。
具体实施方式
[0018]
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0019]
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0020]
图1示出了可以应用本申请的用于构建配餐知识图谱的方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
[0021]
如图1所示,系统架构100可以包括用户终端101、服务器102、数据源103、104、105。用户终端101与服务器102之间、服务器102与数据源103、104、105之间可根据实际情况以各式无线或有线的方式实现数据通信。
[0022]
其中,数据源103、104、105分别独立的记录有食谱数据和/或营养素数据,具体的,数据源103、104、105可以是某个记录专门记录食谱数据和/或营养素数据的垂类网站、也可以是记录食谱数据和/或营养素数据的纸质或电子版工具书等;服务器102用于从数据源103、104、105中收集构建配餐知识图谱所需的基础数据,并按照预设的数据处理逻辑将其整理为包含食谱数据和各食谱中包含的各食材的营养素数据的配餐知识图谱,并在构建得到可用的配餐知识图谱之后,响应于接收到用户通过用户终端101发来的指定配餐需求查
询请求。
[0023]
用户终端101、服务器102可以是硬件,也可以是软件。当用户终端101为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当用户终端101为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器102为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;当服务器102为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。而数据源103、104、105则可以根据实际情况同时包括站点类的软件表现形式,也可以包含硬盘、数据库等硬件表现形式,此处不做具体限定。
[0024]
用户终端101、服务器102、数据源103、104、105上均可按照实际情况安装相应的应用或增设相应的实体功能组件来实现各自的目的。例如用户终端101上可以安装用于向服务器102发起查询请求的配餐需求查询类应用,服务器102则可以安装有用于从数据源103、104、105获取基础数据并进行数据处理构建得到配餐知识图谱的知识数据处理类应用,还可以安装有用于处理接收到的用户查询请求的请求处理类应用。
[0025]
以服务器102为例,其在运行知识数据处理类应用时可实现如下效果:首先,分别从数据源103、104、105中获取食谱数据和与食谱数据包含的食材对应的营养素数据;然后,将其中的非结构化的食谱数据切分为多个语句,并利用ernie-mrc模型从至少一个语句中抽取出以食谱名作为实体的主谓宾三元组,该实体作为主谓宾三元组的主语;最后,根据主谓宾三元组构建初始配餐知识图谱,并建立初始配餐知识图谱中各食材与对应的营养素数据之间的连接,得到目标配餐知识图谱。即服务器102通过按照上述步骤运行知识数据处理类应用构建得到了配餐知识图谱,满足了支持用户进行查询的前提。接下来,服务器102在运行请求处理类应用时可实现如下效果:首先,接收到用户通过用户终端101传入的指定配餐需求查询请求;然后,调用预先构建好的配餐知识图谱查询出与该指定配餐需求查询请求对应的匹配食谱;最后,将该匹配食谱返回给用户终端101以呈现给用户。
[0026]
应当理解的是,上述例子中分别使用了知识数据处理类应用来构建配餐知识图谱、使用了请求处理类应用来处理用户查询请求,因此为保证请求处理类应用可成功调用到由知识数据处理类应用构建出的配餐知识图谱,两类应用应预先做好调用权限的设置或通信接口的设置。或者在实际应用中将上述知识数据处理类应用和请求处理类应用分别作为一个功能组件集成在一个大的应用中,从而将不同应用间的数据调用问题转换为同个应用内的数据调用问题。
[0027]
由于构建得到配餐知识图谱的过程需要对庞大的数据进行较为复杂的处理,因此用于构建配餐知识图谱的方案一般由拥有较强运算能力、较多运算资源的服务器102来执行,相应地,用于构建配餐知识图谱的装置一般也设置于服务器102中。但应当理解的是,一旦配餐知识图谱构建完成,在调用时将无需占用较多的运算资源,因此在允许将成品的配餐知识图谱存储在用户终端101的本地时,后续的查询操作也可以直接全部在用户终端101本地完成。
[0028]
应该理解,图1中的用户终端、服务器、数据源的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户终端、服务器、数据源。
[0029]
请参考图2,图2为本申请实施例提供的一种用于构建配餐知识图谱的方法的流程
图,其中流程200包括以下步骤:
[0030]
步骤201:获取食谱数据和与食谱数据包含的食材对应的营养素数据;
[0031]
本步骤旨在由用于构建配餐知识图谱的方法的执行主体(例如图1所示的服务器102)获取食谱数据和与食谱数据包含的食材对应的营养素数据。
[0032]
其中,食谱数据和对应的营养素数据可以是从多个数据来源(例如图1所示的数据源103、104、105)处获得,例如专门记录食谱数据和/或营养素数据的垂类网站、纸质或电子版工具书、数据库、权威第三方等等。具体的,食谱数据和对应的营养素数据可以是从同一数据源获取,也可以分别从不同的数据源获得。进一步的,在从不同数据源分别获取到食谱数据和营养素数据时,食谱数据中用到的食材将作为匹配相应营养素数据的连接点。
[0033]
进一步的,不同数据源获取到的食谱数据和营养素数据的质量参差不齐,为了尽可能的避免低质量数据对后续数据处理带来的难度增加,还可以在获取到原始的数据之后先进行低质信息的筛选和去除,低质信息的判断标准可以包括语句不通顺、错别字较多、排版不合理、总体字数较少、没有附图或附图不对应文字信息中的至少一项,至于多少个错别字将被认定为较多、怎样排版不合理以及少于多少个字将被认定为总体字数较少(例如总字数小于50个的)等细节应结合实际应用场景下所有可能存在的要求或影响因素灵活制定,此处不做具体限定。
[0034]
步骤202:将非结构化的食谱数据切分为多个语句,并利用ernie-mrc模型从至少一个语句中抽取出以食谱名作为实体的主谓宾三元组;
[0035]
在步骤201的基础上,本步骤旨在由上述执行主体对获取到的非结构化的食谱数据进行合适的处理,以成功从中抽取出以食谱名作为实体的主谓宾三元组。
[0036]
应当理解的是,数据可划分为结构化、半结构化、非结构化三类,分别对应其中是否包含完整的结构信息,结构化数据由于包含完整的结构信息,因此在从其中抽取主谓宾三元组(也简称为spo三元组,spo为英文全称subject predicate object的缩写)时可参照结构信息实现;半结构化数据仅包含部分的结构信息,这部分结构信息通常能够指导进行spo三元组的抽取,但准确性可能稍低;非结构化数据则完全不包含结构信息或者无法识别出包含的结构信息,因此无法像结构化信息、半结构化信息通过参照结构信息完成spo三元组的抽取,而记载食谱信息的食谱数据属于仅以记实为目的的文本类型,通常不会像书写正常的文章一样较为容易的从中抽取出准确的spo三元组。
[0037]
为解决无法从非结构化的食谱数据中准确的抽取出用于构建知识图谱的spo三元组的问题,本步骤首先通过中文切词工具将非结构化的食谱数据切分为多个语句(或称短句),然后在利用ernie-mrc模型识别出语句(或短句)中的实体和将实体作为主语的主谓宾三元组(spo三元组),例如一个示例的spo三元组为“西红柿炒鸡蛋是由西红柿和鸡蛋烹饪得到”,其中的“西红柿炒鸡蛋”为食谱名并作为主语、“西红柿”“鸡蛋”为食材并作为宾语、“烹饪”为动作并作为谓语,共同构成spo三元组。
[0038]
其中,ernie-mrc模型是一个适用于中文语言环境的nlp(natural language processing,自然语言处理)的预训练模型(泛指所有需要预先通过训练样本进行训练的模型,主流的深度学习网络都属于预训练模型),本步骤使用其对切分后的语句或短句进行特征识别和处理,从而识别出实体和spo三元组,从而共同实现对非结构化的食谱数据的良好处理。
[0039]
进一步的,为了尽可能的提升抽取出的spo三元组的准确度,还可以在将非结构化的食谱数据切分为多个语句之后、在利用ernie-mrc模型从至少一个语句中抽取出主谓宾三元组之前,分别对每个语句进行降维处理(例如embedding处理),分别得到与每个语句对应的embedding,后续步骤则将利用ernie-mrc模型从至少一个语句的embedding中抽取出以食谱名作为实体的主谓宾三元组。应当理解的是,相比于直接对借助模型对中文文本进行处理,模型通常对降维后的低维特征更加敏感,也可以规避一些中文文本所带来的误导,尤其是该模型是基于经过相同降维处理后的训练样本训练得到的情况。当然,除采用embedding处理实现的降维效果,还可以采用其它可实现相同或类似效果的处理方式此处不做具体限定。
[0040]
步骤203:根据主谓宾三元组构建初始配餐知识图谱,并建立初始配餐知识图谱中各食材与对应的营养素数据之间的连接,得到目标配餐知识图谱。
[0041]
在步骤202的基础上,本步骤旨在先根据由食谱数据处理得到的spo三元组来构建初始配餐知识图谱,即该初始配餐知识图谱中当前仅记载了各食谱包含的食材信息和诸如做法或制作流程的相关信息,而后续则通过将食材与先前获取到的营养素数据建立对应关系的方式,完善得到既包含食谱名、食材,又包含食材对应的营养素的目标配餐知识图谱。
[0042]
食材和对应营养素数据之间可通过多种方式建立对应关系,例如可将营养素数据作为食材的下位节点新增在初始配餐知识图谱中,也可以在初始配餐知识图谱中单独新增食材-营养素的子图,并通过食材作为连接点实现食谱-食材子图与食材-营养素子图的关联查询,等实现形式。
[0043]
为满足当前对专业营养配餐知识的需求,本申请提供的用于构建配餐知识图谱的方法,针对大多数以非结构化形式存在的食谱数据给出了先切分再利用ernie-mrc模型从中抽取出准确的主谓宾三元组的实现方式,得以对非结构化食谱数据进行了较好的处理,同时通过将食材与营养素数据建边的方式使得最终构建得到的目标配餐知识图谱同时包含食谱、食材和营养素数据,更加全面,为用户后续的查询操作提供了全面、准确的数据基础。
[0044]
为了使得构建出的配餐知识图谱包含尽可能全面的食谱数据和营养素数据,因此本申请通过多个数据源来获取食谱数据和营养素数据,但多来源的食谱数据和营养素数据也将会导致存在同(菜)名不同内容(例如食材)、同内容不同(菜)名等情况,致使为后续抽取spo三元组时带来不良影响,因此为了尽可能的提升构建出的配餐知识图谱中记录的信息的准确性,还可以增加实体的消歧、归一以及相似实体之间的择优融合等处理环节,以通过提升实体准确性的方式保障spo三元组的准确性。一种包括但不限于的实现方式可参见如图3所示的流程图,其流程300可以包括以下步骤:
[0045]
步骤301:将从多个食谱数据源分别获取到的相同实体的食谱数据输入预设的lightgbm模型;
[0046]
其中,lightgbm模型是gbdt(gradient boosting decision tree,全称梯度下降树,是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案)模型的改进版本,本实施例所描述的lightgbm模型实际上是使用lightgbm模型的框架来训练得到一个用于能够根据食谱数据的差异判断两个名称一样的实体是否确为相同实体的分类器,为便于称呼直接使用lightgbm模型代指该分类器。
[0047]
步骤302:控制lightgbm模型将拥有超过预设比例的相同食材的至少两个实体归一为同一实体;
[0048]
在步骤301的基础上,本步骤旨在由上述执行主体控制lightgbm模型将拥有超过预设比例的相同食材的至少两个实体归一为同一实体,也就是说基于lightgbm模型训练得到的分类器判定输入的两个相同实体的食谱数据也具有较高的一致性,应属于相同的实体,因此可以通过实体的归一化得到唯一的实体。
[0049]
步骤303:控制lightgbm模型将拥有未超过预设比例的相同食材的至少两个实体以重命名的方式调整为不同实体;
[0050]
在步骤301的基础上,本步骤旨在由上述执行主体控制lightgbm模型将拥有未超过预设比例的相同食材的至少两个实体以重命名的方式调整为不同实体,即基于lightgbm模型训练得到的分类器判定输入的两个相同实体的食谱数据不具有较高的一致性,因此两者实体不应具有相同的实体名,因此将通过重命名另外实体的名字的方式将其调整为不同的实体。
[0051]
步骤301-步骤303提供了一种对至少两个拥有相同实体名的实体进行消歧和归一处理的方案,借助lightgbm模型训练得到的分类器得以尽可能的提升了分类的准确性。
[0052]
步骤304:将相似的至少两个实体分别对应的食谱数据,按字段完整度、包含食材的食材用量以及用户收藏量中的至少一项分别计算各自的综合得分;
[0053]
本步骤旨在由上述执行主体将相似的至少两个实体分别对应的食谱数据,按字段完整度、包含食材的食材用量以及用户收藏量中的至少一项分别计算各自的综合得分。其中,字段完整端可归属于数据源的影响参数、用户收藏量则可归属于用户访问造成的影响参数。同时使用的参数越多,将带来更贴近实际情况的综合评分。进一步的,在同时使用上述三种影响参数时,还可以根据实际情况被赋予不同的权重,以便于通过权重的加权使得综合得分更加贴近实际情况。
[0054]
步骤305:将综合得分较低的实体与综合得分较高的实体进行实体内容融合,得到融合实体;
[0055]
在步骤304的基础上,本步骤旨在由上述执行主体将综合得分较低的实体与综合得分较高的实体进行实体内容融合,也就是将综合得分较低的实体内容融合进综合得分较高的实体内容中,以实现尽可能的全面。
[0056]
步骤306:根据以融合实体作为主语的主谓宾三元组构建初始配餐知识图谱;
[0057]
在步骤305的基础上,本步骤旨在根据以融合实体作为主语的主谓宾三元组构建初始配餐知识图谱,以借助融合实体的处理过程为形成的初始配餐知识图谱带来内容准确性的提升。
[0058]
步骤307:建立初始配餐知识图谱中各食材与对应的营养素数据之间的连接,得到目标配餐知识图谱。
[0059]
本步骤与如图2所示的步骤203的后半部分一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
[0060]
本实施例中的步骤301-步骤307未包含上一实施例中的一些前期处理步骤,而是直接针对识别出的实体进行的额外处理(即消歧、归一和择优融合),应当理解的是,可通过增加前期处理步骤的方式使得本实施例也成为一个完整的实施例。同时,本实施例通过步
骤301-步骤303提供的实体消歧、归一方案与步骤304-步骤305提供的相似实体择优融合方案之间并不存在因果和依赖关系,且执行顺序也可以调换,本实施例仅基于顺序书写的方式给出了一种串行的实现方案,因此实体的消歧、归一和择优融合方案完全可以单独与上一实施例结合得到不同的新实施例,本实施例仅作为一个同时包含两部分优选实现方案的优选实施例存在。
[0061]
在上述任意实施例的基础上,还可以从食谱数据和/或营养素数据中提取已有配餐标签,然后利用图神经网络对未附加已有配餐标签的部分食谱数据和/或部分营养素数据,进行配餐标签的同质化挖掘,以实现配餐标签的补充附加,进而实现全部配餐数据的标签化。其中,已有配餐标签可以是对食谱特色、特性、营养素特性等不同角度施加的个性化标签,例如“轻食”、“健身”、“低脂”等等。之所以利用图神经网络来实现缺失标签的同质化挖掘,是因为相较于常规的非图神经网络,图神经网络中包含的图关系能够更加清晰的展现标签和数据之间的对应关系。
[0062]
在上述任意实施例构建得到可用的配餐知识图谱的基础上,上述执行主体可以按照下述方案调用配餐知识图谱来响应用户的查询请求,从而满足用户对某类菜食和/或某些营养素摄入的需求:
[0063]
接收传入的指定配餐需求查询请求;
[0064]
利用配餐知识图谱确定并返回与指定配餐需求查询请求对应的匹配食谱;其中,匹配食谱中包含的食材的营养素的提供量不少于指定配餐需求查询请求对营养素的需求量。
[0065]
其中,该指定配餐需求查询请求中可以包含指定菜食名、指定营养素需求、指定配菜标签中的至少一项,还可以根据实际情况灵活增加可识别的查询类型,此处不做具体限定。
[0066]
为加深理解,本申请还结合一个具体应用场景,给出了一种具体的实现方案,请参见如图4所示的流程示意图:
[0067]
在该场景下按执行的先后顺序可划分为数据采集、配餐知识图谱构建和配餐知识图谱使用三个环节,其中,配餐知识图谱构建环节又可以细分为知识抽取、实体消歧/归一、相似实体择优融合、营养素数据建边、标签挖掘/补充共5个子环节,下面将分别对每个环节进行介绍:
[0068]
1)数据采集:
[0069]
从分析食谱、菜谱类垂类站点及营养类垂类站点中分别抓取食谱和食物营养成份表数据等,其中食谱数据可以包含有食材及用量、菜品图片等主要信息,以及类型标签、评分、喜爱人数、采用人数等附属信息;食物营养成份表包括食材及其营养素成份;
[0070]
2)低质信息过滤:
[0071]
对抓取到的食谱数据进行低质过滤。低质判断依据可以包括描述信息少于50字、缺少图片等;
[0072]
3)知识抽取:
[0073]
针对一些非结构化的食谱长文本,利用ernie-mrc模型进行实体信息抽取,待抽取实体类型包括食材、用量、标签等。抽取模块通过中文切词工具将长文本信息切为多个短句,之后使用预训练模型计算短句embedding,接着将embedding数据传入ernie-mrc模型抽
取实体信息的spo三元组;
[0074]
4)实体消歧/归一:
[0075]
由于是从多来源站点抓取数据,会存在大量重复实体情况,比如不同站点都有土豆烧牛肉,针对这种情况需要进行实体消歧将多源数据归一。由于食谱数据和营养成份表数据属性不同,进行分别建模。针对食谱数据,选取食谱名、食材等作为特征。针对营养成份数据,选取食材、营养成份作为特征。将上述特征输入预训练模型进行向量化,然后使用lightgbm模型训练分类器,判别实体是否为同一个。由于在上述比较过程中需要全量数据两两比较相似度,为加速运算,还可以对实体名使用编辑距离小于指定阈值的方式做筛选;
[0076]
5)相似实体择优融合:
[0077]
实体消歧归一后需要对多源数据对应到同一实体的进行择优融合。对于一个站点存在而其他站点不存在的属性,直接补充到图谱中;属性值存在多个来源且值不一致的需要进行择优。统计各站点来源数据的字段完整度,将完整度作为站点权重特征,同时食谱数据考虑食材包含用量的占比、喜爱人数等特征。以上3种特征统一进行加权计算后,选择评分最高的来源属性数据收录入图谱中。营养成份数据使用类似方式计算择优,仅选用站点权重作为特征;
[0078]
6)营养素建边:
[0079]
由于食谱数据不包含营养素数据,需要与营养成份数据建边。将营养素数据建立索引,通过检索方式召回相应营养素列表,然后食谱中需要加总各食材的营养素含量后作为食谱营养素属性,从而建立边关系;
[0080]
7)配餐标签挖掘/补充
[0081]
从部分站点抓取来的食谱数据本身可能就已附加有配餐标签,但覆盖不全,通过使用图神经网络进行缺失标签的部分食谱数据进行同质化标签的挖掘,并进行配餐标签的补充。可利用预训练模型对图谱实体进行向量化表示。然后使用图神经网络建模图谱结构信息进行半监督学习,实现同质化配餐标签的挖掘,最终得到标签补足的配餐知识图谱;
[0082]
8)配餐知识图谱使用:
[0083]
对用户提供配餐需求查询服务的服务器接收用户传入的指定配餐需求查询请求,然后按照用户的实际需求在构建好的配餐知识图谱中进行查询,并将查询结果返回给用户。
[0084]
进一步的,服务器还可以接收用户的长期订阅,或向用户定时推送相应需求的匹配食谱,甚至还可以根据进一步换算得到的热量信息(卡路里信息)向用户提供热量需求结果。
[0085]
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于构建配餐知识图谱的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0086]
如图5所示,本实施例的用于构建配餐知识图谱的装置500可以包括:食谱数据及营养素数据获取单元501、非结构化食谱数据处理单元502、配餐知识图谱构建单元503。其中,食谱数据及营养素数据获取单元501,被配置成获取食谱数据和与食谱数据包含的食材对应的营养素数据;非结构化食谱数据处理单元502,被配置成将非结构化的食谱数据切分为多个语句,并利用ernie-mrc模型从至少一个语句中抽取出以食谱名作为实体的主谓宾
三元组;其中,实体作为主谓宾三元组的主语;配餐知识图谱构建单元503,被配置成根据主谓宾三元组构建初始配餐知识图谱,并建立初始配餐知识图谱中各食材与对应的营养素数据之间的连接,得到目标配餐知识图谱。
[0087]
在本实施例中,用于构建配餐知识图谱的装置500中:食谱数据及营养素数据获取单元501、非结构化食谱数据处理单元502、配餐知识图谱构建单元503的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
[0088]
在本实施例的一些可选的实现方式中,用于构建配餐知识图谱的装置500中还可以包括:
[0089]
降维处理单元,被配置成在将非结构化的食谱数据切分为多个语句之后、在利用ernie-mrc模型从至少一个语句中抽取出主谓宾三元组之前,分别对每个语句进行降维处理,分别得到与每个语句对应的embedding;以及非结构化食谱数据处理单元包括被配置成利用ernie-mrc模型从至少一个语句中抽取出主谓宾三元组的主谓宾三元组抽取子单元,主谓宾三元组抽取子单元被进一步配置成:
[0090]
利用ernie-mrc模型从至少一个语句的embedding中抽取出主谓宾三元组。
[0091]
在本实施例的一些可选的实现方式中,用于构建配餐知识图谱的装置500中还可以包括:
[0092]
数据输入单元,被配置成将从多个食谱数据源分别获取到的相同实体的食谱数据输入预设的lightgbm模型;
[0093]
多实体归一单元,被配置成控制lightgbm模型将拥有超过预设比例的相同食材的至少两个实体归一为同一实体;
[0094]
多实体消歧单元,被配置成控制lightgbm模型将拥有未超过预设比例的相同食材的至少两个实体以重命名的方式调整为不同实体。
[0095]
在本实施例的一些可选的实现方式中,用于构建配餐知识图谱的装置500中还可以包括:
[0096]
相似实体综合得分计算单元,被配置成将相似的至少两个实体分别对应的食谱数据,按字段完整度、包含食材的食材用量以及用户收藏量中的至少一项分别计算各自的综合得分;
[0097]
相似实体融合单元,被配置成将综合得分较低的实体与综合得分较高的实体进行实体内容融合,得到融合实体;以及
[0098]
非结构化食谱数据处理单元包括被配置成根据主谓宾三元组构建初始配餐知识图谱的初始配餐知识图谱构建子单元,初始配餐知识图谱构建子单元被配置成:
[0099]
根据以融合实体作为主语的主谓宾三元组构建初始配餐知识图谱。
[0100]
在本实施例的一些可选的实现方式中,用于构建配餐知识图谱的装置500中还可以包括:
[0101]
已有配餐标签提取单元,被配置成从食谱数据和/或营养素数据中提取已有配餐标签;
[0102]
同质化标签挖掘单元,被配置成利用图神经网络对未附加已有配餐标签的部分食谱数据和/或部分营养素数据,进行配餐标签的同质化挖掘。
[0103]
在本实施例的一些可选的实现方式中,用于构建配餐知识图谱的装置500中还可
以包括:
[0104]
查询请求接收单元,被配置成接收传入的指定配餐需求查询请求;
[0105]
匹配食谱确定及返回单元,被配置成利用配餐知识图谱确定并返回与指定配餐需求查询请求对应的匹配食谱;其中,匹配食谱中包含的食材的营养素的提供量不少于指定配餐需求查询请求对营养素的需求量。
[0106]
本实施例作为对应于上述方法实施例的装置实施例存在,为满足当前对专业营养配餐知识的需求,本申请提供的用于构建配餐知识图谱的装置针对大多数以非结构化形式存在的食谱数据给出了先切分再利用ernie-mrc模型从中抽取出准确的主谓宾三元组的实现方式,得以对非结构化食谱数据进行了较好的处理,同时通过将食材与营养素数据建边的方式使得最终构建得到的目标配餐知识图谱同时包含食谱、食材和营养素数据,更加全面,为用户后续的查询操作提供了全面、准确的数据基础。
[0107]
根据本申请的实施例,本申请还提供了一种电子设备和一种计算机可读存储介质。
[0108]
图6示出了一种适于用来实现本申请实施例的用于构建配餐知识图谱的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
[0109]
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
[0110]
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的用于构建配餐知识图谱的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于构建配餐知识图谱的方法。
[0111]
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于构建配餐知识图谱的方法对应的程序指令/模块(例如,附图5所示的食谱数据及营养素数据获取单元501、非结构化食谱数据处理单元502、配餐知识图谱构建单元503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于构建配餐知识图谱的方法。
[0112]
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储该电子设备在执行用于构建配餐
知识图谱的方法所创建的各类数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至适用于执行用于构建配餐知识图谱的方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0113]
适用于执行用于构建配餐知识图谱的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
[0114]
输入装置603可接收输入的数字或字符信息,以及产生适用于执行用于构建配餐知识图谱的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
[0115]
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0116]
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0117]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0118]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0119]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps,virtual private server)服务中存在的管理难度大,业务扩展性弱的缺陷。
[0120]
为满足当前对专业营养配餐知识的需求,本申请实施例针对大多数以非结构化形式存在的食谱数据给出了先切分再利用ernie-mrc模型从中抽取出准确的主谓宾三元组的实现方式,得以对非结构化食谱数据进行了较好的处理,同时通过将食材与营养素数据建边的方式使得最终构建得到的目标配餐知识图谱同时包含食谱、食材和营养素数据,更加全面,为用户后续的查询操作提供了全面、准确的数据基础。
[0121]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
[0122]
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1