数据处理方法、装置、设备及存储介质

文档序号:31718583发布日期:2022-10-04 22:38阅读:61来源:国知局
数据处理方法、装置、设备及存储介质

1.本公开涉及信息技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

2.随着科技的不断发展,数据查询例如从结构化数据中查询目标数据已经成为日益普遍的技术。
3.但是,本技术的发明人发现,在一些情况下,难以从结构化数据中查询到全面、准确的目标数据。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据处理方法、装置、设备及存储介质,以便从标准化的第二数据集合中查询到全面、准确的目标数据。
5.第一方面,本公开实施例提供一种数据处理方法,包括:
6.采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量;
7.根据第一数据集合包括的多个所述结构化数据中同一类型的多个组成元素分别对应的上下文表示向量,对所述同一类型的多个组成元素进行聚类处理,得到聚类结果;
8.根据所述聚类结果对所述第一数据集合进行调整,得到第二数据集合。
9.第二方面,本公开实施例提供一种数据处理装置,包括:
10.编码模块,用于采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量;
11.聚类处理模块,用于根据第一数据集合包括的多个所述结构化数据中同一类型的多个组成元素分别对应的上下文表示向量,对所述同一类型的多个组成元素进行聚类处理,得到聚类结果;
12.调整模块,用于根据所述聚类结果对所述第一数据集合进行调整,得到第二数据集合。
13.第三方面,本公开实施例提供一种电子设备,包括:
14.存储器;
15.处理器;以及
16.计算机程序;
17.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
18.第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
19.本公开实施例提供的数据处理方法、装置、设备及存储介质,通过采用预训练语言
模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量,由于预训练语言模型在大量数据上进行了预训练,因此能够更加细粒度地确定各个组成元素的含义,避免歧义,提高了各个组成元素的上下文表示向量的准确性。进一步,根据准确性较高的同一类型的多个组成元素分别对应的上下文表示向量,对该同一类型的多个组成元素进行聚类处理时可以提高聚类结果的准确度,根据该聚类结果可以对该第一数据集合进行较为准确的标准化处理,得到标准化的第二数据集合。从而可以从该标准化的第二数据集合中查询到全面、准确的目标数据。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
21.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本公开实施例提供的数据处理方法流程图;
23.图2为本公开实施例提供的应用场景的示意图;
24.图3为本公开另一实施例提供的数据处理方法流程图;
25.图4为本公开另一实施例提供的数据处理方法流程图;
26.图5为本公开另一实施例提供的标准化程度的比较结果示意图;
27.图6为本公开实施例提供的数据处理装置的结构示意图;
28.图7为本公开实施例提供的电子设备实施例的结构示意图。
具体实施方式
29.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
30.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
31.目前,数据查询例如从结构化数据中查询目标数据已经成为日益普遍的技术。但是,在一些情况下,难以从结构化数据中查询到全面、准确的目标数据。针对该问题,本公开实施例提供了一种数据处理方法,下面结合具体的实施例对该方法进行介绍。
32.图1为本公开实施例提供的数据处理方法流程图。该方法可以由数据处理装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器或终端,其中,终端具体包括手机、电脑或平板电脑等。具体的,该方法可以应用于如图2所示的应用场景中,该应用场景中包括终端21和服务器22,服务器22中可以预先建立有开放式知识图谱,服务器22可以采用本实施例所述的数据处理方法对该开放式知识图谱进行标准化(canonicalization)处理,从而得到标准化之后的知识图谱。进一步,服务器22根据终端21发送的查询请求,从标准化之后的知识图谱中查询获得目标数据,并将该目标数据反
馈给终端21。具体的,终端21向服务器22发送查询请求、以及服务器22向终端21反馈目标数据的过程具体可以是智能问答过程。或者,终端21中预先建立有开放式知识图谱,终端21可以采用本实施例所述的数据处理方法对该开放式知识图谱进行标准化处理,从而得到标准化之后的知识图谱。进一步,终端21可以根据用户的查询请求从该标准化之后的知识图谱中查询获得目标数据,并将该目标数据反馈给用户。下面以图2所示的服务器22执行该数据处理方法为例,对该数据处理方法进行介绍。如图1所示,该方法具体步骤如下:
33.s101、采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量。
34.在本实施例中,开放式知识图谱(openkg)包括多个结构化数据,每个结构化数据包括多个组成元素。例如,采用开放式信息抽取(openie)工具从非结构化的文本中挖掘出三元组,该三元组具体可以是主谓宾三元组,进一步,将主谓宾三元组构成开放式知识图谱。也就是说,开放式知识图谱中的每个结构化数据可以是一个三元组(triple),该三元组由主语、谓语、宾语构成,即该三元组包括主语形式的短语、谓语形式的短语、以及宾语形式的短语。例如,非结构化的文本是“小明和小红是同学,都来自a省”,通过openie工具可以从该非结构化的文本中挖掘出3个三元组,该3个三元组依次是(小明,同学,小红)、(小明,来自,a省)、(小红,来自,a省)。这些三元组可以构成开放式知识图谱。
35.在本实施例中,服务器22中可以部署有预训练语言模型,该预训练语言模型具体可以是基于tranformer的深度双向语言表征模型(bidirectional encoder representation from transformers,bert)、roberta、spanbert、基于持续学习的语义理解预训练框架(a continual pre-training framework for language understanding,ernie2.0)等。其中,tranformer是基于自注意力机制(self-attention)的一种网络结构。roberta是经过健壮性优化的bert改进方案。
36.具体的,服务器22可以采用该预训练语言模型对包含有结构化数据的文本信息进行编码,从而得到该结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量。
37.在一种可能的实现方式中,所述文本信息是非结构化文本;采用预训练语言模型对包含有结构化数据的文本信息进行编码之前,所述方法还包括:从所述非结构化文本中获取所述结构化数据。
38.例如,结构化数据是三元组(小明,同学,小红),包含有该结构化数据的文本信息可以是提取该三元组时所用的非结构化文本,例如“小明和小红是同学,都来自a省”。在其他一些实施例中,该非结构化文本还可以记为提供该三元组的原句。进一步,服务器22可以采用该预训练语言模型对该原句进行编码,从而得到该三元组中的每个组成元素分别在该原句中对应的上下文表示向量(contextualwordembedding)。在一些实施例中,上下文表示向量还可以记为隐藏表示。其中,“小明”、“同学”、“小红”分别是该三元组中的组成元素,即该三元组包括3个组成元素。例如,“小明”对应的上下文表示向量是根据“小明”在该原句中的上下文得到的“小明”的表示向量,也就是说,当同一个短语、词、或词组位于不同的句子时,该短语、词、或词组的上下文表示向量可能是不同的。例如,“苹果”这个词可能是指水果,也可能是指公司名称。如果“苹果”的上下文包括“香蕉”、“梨”等其他水果时,“苹果”的上下文表示向量是“苹果”作为水果时的表示向量。如果“苹果”的上下文包括“手机”、“平板
电脑”等设备名称时,“苹果”的上下文表示向量是“苹果”作为公司名称时的表示向量。而“苹果”作为水果时的表示向量和“苹果”作为公司名称时的表示向量是不同的,从而可以有效避免同一个词导致的歧义。
39.可以理解的是,在进行所述编码之前,可以先从该原句中获取出该三元组,获取的方法如上所述,此处不再赘述。
40.在另一种可能的实现方式中,所述文本信息是由所述结构化数据中的多个组成元素拼接而成的文本信息。
41.例如,在其他一些实施例中,输入到预训练语言模型的文本信息是由三元组(小明,同学,小红)中的3个组成元素拼接而成的文本信息。进一步,该预训练语言模型可以对该文本信息进行编码,从而输出该3个组成元素分别在该文本信息中对应的上下文表示向量。
42.在再一种可能的实现方式中,所述文本信息是通过对所述结构化数据中的多个组成元素进行拼接,并且在拼接位置加入预设字符后得到的文本信息。
43.例如,在其他一些实施例中,输入到预训练语言模型的文本信息是通过对三元组(小明,同学,小红)中的3个组成元素进行拼接,并且在拼接位置加入预设字符例如[sep]后得到的文本信息。进一步,该预训练语言模型可以对该文本信息进行编码,从而输出该3个组成元素分别在该文本信息中对应的上下文表示向量。
[0044]
另外,在其他一些实施例中,还可以将三元组中的每个组成元素分别输入到预训练语言模型,从而得到该组成元素的表示向量。
[0045]
s102、根据第一数据集合包括的多个所述结构化数据中同一类型的多个组成元素分别对应的上下文表示向量,对所述同一类型的多个组成元素进行聚类处理,得到聚类结果。
[0046]
可选的,所述结构化数据中的多个组成元素包括主语、谓语、宾语;所述主语是实体对应的表型,或者所述主语是实体;所述宾语是实体对应的表型,或者所述宾语是实体;所述谓语是所述主语和所述宾语之间的关系。该关系可以是实体之间的关系即实体关系(entityandrelation)。
[0047]
例如,如上所述的开放式知识图谱可以记为第一数据集合,第一数据集合可以包括多个三元组,假设第一数据集合包括300个三元组,由于每个三元组分别包括3个组成元素,该3个组成元素依次是主语、谓语、宾语,因此,该第一数据集合中包括300个主语、300个谓语、以及300个宾语。该300个主语可以作为同一类型的多个组成元素,该300个谓语可以作为同一类型的多个组成元素,该300个宾语可以作为同一类型的多个组成元素。或者在其他实施例中,如果该300个主语和该300个宾语分别是名词性短语,则可以将该300个主语和该300个宾语作为同一类型的多个组成元素。
[0048]
具体的,服务器22可以根据同一类型的多个组成元素分别对应的上下文表示向量,对该同一类型的多个组成元素进行聚类处理,得到聚类结果。例如,服务器22可以根据该300个主语中每个主语分别对应的上下文表示向量,对该300个主语进行聚类处理。具体的,服务器22可以采用层次凝聚聚类算法(hierarchical agglomerative clustering,hac),对同一类型的多个组成元素进行聚类处理。其中,hac是一种无监督层次化聚类算法,即一种由底向上的层次化聚类方法。
[0049]
例如,若该300个主语或该300个主语中的部分主语是实体(entity)对应的表型,则对该300个主语进行聚类处理时,具体可以确定该300个主语中对应于同一实体的至少两个表型。例如,小明是班里的03号学生,小明的常用名是张xx,如果将“03号学生”作为实体即唯一的个体时,“03号学生”可以有表型“小明”和表型“张xx”。因此,当该300个主语中包括“小明”和“张xx”时,可以确定“小明”和“张xx”对应于同一实体。从而实现了对主语的实体级别标准化。
[0050]
例如,若该300个主语或该300个主语中的部分主语是实体,则对该300个主语进行聚类处理时,具体可以确定该300个主语中至少两个主语之间的共性。例如,三年级二班包括56名学生,该56名学生的学号依次是01号到56号。因此,当该300个主语中包括“03号学生”和“02号学生”时,可以确定出“03号学生”和“02号学生”的共性是三年级二班的学生。从而实现了对主语的本体级别标准化。在本实施例中,本体(ontology)是指实体和概念之间的类别关系,例如,实体是“02号学生”,概念是“三年级二班的学生”,或者实体是“律师”,概念是“职业”。也就是说,实体之间存在本体,该本体可以是两个实体之间的共性。
[0051]
可以理解的是,在一些实施例中,宾语也可能是实体对应的表型,或者宾语也可能是实体。在这种情况下,对该300个宾语进行聚类处理的过程可以类似于对该300个主语进行聚类处理的过程,具体过程此处不再赘述。也就是说,对宾语也可以进行实体级别标准化和/或本体级别标准化。另外,可以理解的是,当该300个主语和该300个宾语分别是名词性短语时,还可以将该300个主语和该300个宾语作为同一类型的多个组成元素进行聚类处理。或者,将该300个主语中的实体对应的表型和该300个宾语中的实体对应的表型作为同一类型的多个组成元素进行聚类处理,将该300个主语中的实体和该300个宾语中的实体作为同一类型的多个组成元素进行聚类处理。也就是说,本实施例并不对同一类型所指的类型划分进行具体限定。
[0052]
另外,在一些实施例中,谓语可以是主语和宾语之间的关系。例如,(小明,啃,苹果)是一个三元组,(小红,吞下,饺子)是另一个三元组,其中,“啃”是“小明”和“苹果”之间的关系,“吞下”是“小红”和“饺子”之间的关系。对如上所述的300个谓语进行聚类处理时,具体可以确定该300个谓语中至少两个相同的关系。例如,“啃”和“吞下”可以分别被标准化为“吃”,因此,“啃”和“吞下”是相同的关系。将“啃”和“吞下”标准化为“吃”的过程实现了对谓语的关系级别标准化。
[0053]
s103、根据所述聚类结果对所述第一数据集合进行调整,得到第二数据集合。
[0054]
根据上述的聚类处理,得到的聚类结果可以包括如下至少一种:同一实体的至少两个表型、至少两个实体之间的共性、至少两个相同的关系。假设第一数据集合包括4个三元组,依次是(小明,同学,小红)、(张xx,啃,苹果)、(03号学生,语文考试,90分)、(02号学生,吞下,饺子),那么根据该聚类结果可以对该第一数据集合进行调整,使得“小明”和“张xx”指向同一个实体“03号学生”,并且在第一数据集合中添加“03号学生”和“02号学生”的共性是三年级二班的学生,同时还可以将第一数据集合中的“啃”和“吞下”分别被标准化为“吃”。可以理解的是,对第一数据集合的调整并不限于此,此处只是示意性说明,并不做具体限定。在本实施例中,该第一数据集合经过调整后记为第二数据集合,该第二数据集合可以是如上所述的标准化之后的知识图谱。服务器22可以根据该标准化之后的知识图谱提供更加全面和准确的数据查询服务。例如,当查询“小明”时,由于标准化之后的知识图谱中可
以体现出“小明”和“张xx”指向同一个实体“03号学生”,并且“03号学生”和“02号学生”的共性是三年级二班的学生,“啃”和“吞下”分别被标准化为“吃”,因此,查询结果可以是“小明和小红是三年级二班的学生,小明吃苹果,小明语文考试90分”。如果不对第一数据集合进行标准化处理,那么当查询“小明”时,由于第一数据集合并不知道“小明”和“张xx”指向同一个实体“03号学生”,因此,根据第一数据集合得到的查询结果只有“小明和小红是同学”,可见,根据该标准化之后的知识图谱进行数据查询时,可以提供更加全面、准确的查询结果。另外,如果“小明”和“张xx”之间具有相同的字符“小明”,那么在第一数据集合中查询“小明”时,可以在该第一数据集合中命中2个三元组,分别是(小明,同学,小红)、(张xx,啃,苹果),此时,根据第一数据集合得到的查询结果是“小明和小红是同学,张xx啃苹果”,而“小明”和“张xx”其实是冗余的内容,可见,根据该标准化之后的知识图谱进行数据查询时,还可以避免查询结果中出现冗余的内容,而且去除冗余内容之后的查询结果更加清楚、准确。
[0055]
本公开实施例通过采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量,由于预训练语言模型在大量数据上进行了预训练,因此能够更加细粒度地确定各个组成元素的含义,避免歧义,提高了各个组成元素的上下文表示向量的准确性。进一步,根据准确性较高的同一类型的多个组成元素分别对应的上下文表示向量,对该同一类型的多个组成元素进行聚类处理时可以提高聚类结果的准确度,根据该聚类结果可以对该第一数据集合进行较为准确的标准化处理,得到标准化的第二数据集合。从而可以从该标准化的第二数据集合中查询到全面、准确的目标数据。
[0056]
图3为本公开另一实施例提供的数据处理方法流程图。可以理解的是,采用预训练语言模型对包含有结构化数据的文本信息进行编码的过程可以是该预训练语言模型的使用阶段或推理阶段。在使用阶段或推理阶段之前,还可以对该预训练语言模型进行预训练,该预训练的过程可以由图4所示的预训练模块来执行,该预训练的过程可以是如下所述的s301-s303。如图3所示,该方法具体步骤如下:
[0057]
s301、在所述文本信息中删除所述结构化数据中的任一组成元素,得到剩余的文本信息。
[0058]
如图4所示的预训练模块还可以记为三元组预训练(triple pretrain或者triple pretraining)模块。如图4所示,在编码过程和预训练过程中分别涉及到文本信息,但是,编码过程和预训练过程分别涉及到的文本信息可以相同,也可以不同。也就是说,该预训练语言模型在推理阶段和预训练阶段所采用的文本信息可以相同,也可以不同。
[0059]
例如,预训练过程涉及到的文本信息是如上所述的原句,该原句中包括主语、谓语和宾语,进一步,随机删除掉或掩藏(mask)掉该原句中的主语、谓语或宾语,也就是说,按照1/3的概率删除或掩藏主语、谓语和宾语中的一个。假设删除掉了该原句中的主语,得到剩余的文本信息。
[0060]
s302、将所述剩余的文本信息输入所述预训练语言模型,所述预训练语言模型用于根据所述剩余的文本信息预测被删除的任一组成元素。
[0061]
例如,预训练语言模型可以包括图4所示的预训练模块,进一步,将如上所述的剩余的文本信息输入预训练模块,该预训练模块可以根据剩余的文本信息预测被删除掉的主
语。或者,该预训练模块可以根据没被删除的谓语和宾语预测被删除掉的主语。
[0062]
s303、根据所述预训练语言模型预测出的被删除的任一组成元素、以及实际被删除的任一组成元素,对所述预训练语言模型进行模型训练。
[0063]
可以理解的是,由于该预训练模块预测出来的主语可能并不是实际被删除掉的那个主语,因此,该预训练模块可以根据其预测出来的主语和实际被删除掉的那个主语,对该预训练语言模型进行模型训练即预训练,使得该预训练语言模型的参数可以被更新。进一步选取其他的文本信息,采用类似的方式对该预训练语言模型的参数进行多次迭代更新,这个过程类似于知识图谱表示学习中的链接预测。
[0064]
可以理解的是,当该预训练语言模型的参数逐渐趋于收敛,或者迭代更新的次数达到预设次数时,停止对该预训练语言模型的预训练,即预训练完成。在完成预训练之后,该预训练语言模型可用于对包含有结构化数据的文本信息进行编码。
[0065]
s304、采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量。
[0066]
可选的,采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量,包括:采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的任一组成元素在所述文本信息中对应的多个表示向量;根据所述任一组成元素在所述文本信息中对应的多个表示向量,确定所述任一组成元素在所述文本信息中对应的上下文表示向量。
[0067]
在一些情况下,原句中的主语、谓语或宾语可能会较长,此处以主语为例,假设该原句中包括的主语是“03号学生”,由于“03号学生”较长,该预训练语言模型对该原句进行编码时,可能会输出“03号”的上下文表示向量、以及“学生”的上下文表示向量,“03号”的上下文表示向量和“学生”的上下文表示向量可以记为“03号学生”对应的多个表示向量。进一步,可以根据“03号”的上下文表示向量和“学生”的上下文表示向量,计算得到“03号学生”的上下文表示向量。该计算方法包括平均池化(meanpooling)、平均池化(averagepooling)、差异和(diffsum)等跨度表示(spanrepresentation)方法。
[0068]
s305、根据第一数据集合包括的多个所述结构化数据中同一类型的多个组成元素分别对应的上下文表示向量,对所述同一类型的多个组成元素进行聚类处理,得到聚类结果。
[0069]
可选的,对所述同一类型的多个组成元素进行聚类处理,包括如下至少一种:若所述同一类型的多个组成元素是至少一个实体对应的多个表型,则确定所述多个表型中对应于同一实体的至少两个表型;若所述同一类型的多个组成元素是多个实体,则确定所述多个实体中至少两个实体之间的共性;若所述同一类型的多个组成元素是多个关系,则确定所述多个关系中至少两个相同的关系。该关系可以是实体之间的关系即实体关系(entityandrelation)。
[0070]
例如,第一数据集合包括300个主谓宾三元组,因此,该第一数据集合中包括300个主语、300个谓语、以及300个宾语。
[0071]
若该300个主语或该300个主语中的部分主语是实体(entity)对应的表型,则对该300个主语进行聚类处理时,具体可以确定该300个主语中对应于同一实体的至少两个表
型。例如,小明是班里的03号学生,小明的常用名是张xx,如果将“03号学生”作为实体即唯一的个体时,“03号学生”可以有表型“小明”和表型“张xx”。因此,当该300个主语中包括“小明”和“张xx”时,可以确定“小明”和“张xx”对应于同一实体。从而实现了对主语的实体级别标准化。
[0072]
例如,若该300个主语或该300个主语中的部分主语是实体,则对该300个主语进行聚类处理时,具体可以确定该300个主语中至少两个主语之间的共性。例如,三年级二班包括56名学生,该56名学生的学号依次是01号到56号。因此,当该300个主语中包括“03号学生”和“02号学生”时,可以确定出“03号学生”和“02号学生”的共性是三年级二班的学生。从而实现了对主语的本体级别标准化。在本实施例中,本体(ontology)是指实体和概念之间的类别关系,例如,实体是“02号学生”,概念是“三年级二班的学生”,或者实体是“律师”,概念是“职业”。也就是说,实体之间存在本体,该本体可以是两个实体之间的共性。
[0073]
可以理解的是,在一些实施例中,宾语也可能是实体对应的表型,或者宾语也可能是实体。在这种情况下,对该300个宾语进行聚类处理的过程可以类似于对该300个主语进行聚类处理的过程,具体过程此处不再赘述。也就是说,对宾语也可以进行实体级别标准化和/或本体级别标准化。
[0074]
另外,在一些实施例中,谓语可以是主语和宾语之间的关系。例如,(小明,啃,苹果)是一个三元组,(小红,吞下,饺子)是另一个三元组,其中,“啃”是“小明”和“苹果”之间的关系,“吞下”是“小红”和“饺子”之间的关系。对如上所述的300个谓语进行聚类处理时,具体可以确定该300个谓语中至少两个相同的关系。例如,“啃”和“吞下”可以分别被标准化为“吃”,因此,“啃”和“吞下”是相同的关系。将“啃”和“吞下”标准化为“吃”的过程实现了对谓语的关系级别标准化。
[0075]
可选的,所述聚类结果包括如下至少一种:同一实体的至少两个表型、至少两个实体之间的共性、至少两个相同的关系。
[0076]
例如,根据上述的聚类处理,得到的聚类结果可以包括如下至少一种:同一实体的至少两个表型、至少两个实体之间的共性、至少两个相同的关系。其中,同一实体的至少两个表型可以作为实体级别标准化结果,至少两个实体之间的共性可以作为本体级别标准化结果,至少两个相同的关系可以作为关系级别标准化结果。也就是说,聚类处理的过程主要是对主语进行实体级别标准化和本体级别标准化、对宾语进行实体级别标准化和本体级别标准化、对谓语进行关系级别标准化。经过聚类处理后可以得到不同级别的标准化结果。
[0077]
s306、根据所述聚类结果对所述第一数据集合进行调整,得到第二数据集合。
[0078]
具体的,s306和s103的实现过程和具体原理一致,此处不再赘述。
[0079]
本公开实施例在预训练语言模型对包含有结构化数据的文本信息进行编码之前,对预训练语言模型进行预训练,可进一步提高该预训练语言模型的准确度,使得经过预训练之后的预训练语言模型可以输出更加准确的上下文表示向量,从而可以强化标准化之后的知识图谱的结构信息。另外,预训练语言模型在一定程度上含有事实性、常识性的知识,有利于本体级别的标准化。
[0080]
可以理解的是,开放式知识图谱即第一数据集合经过如上所述的标准化之后可以得到第二数据集合,本实施例并不限定第二数据集合的标准化程度。例如,第二数据集合可以是本体式知识图谱,本体式知识图谱是标准化程度或规范化程度较高的结构化知识图
谱。本体式知识图谱(ontologicalkg)例如包括freebase、wikidata,本体式知识图谱中的节点是实体,并且实体之间存在本体。在电商场景中,本体式知识图谱有着广泛的应用,例如,通过查询本体式知识图谱可以获得商品的所属类别、以及商品对应的属性信息(型号、品牌)等,从而方便服务平台为用户搜索、推荐产品。通常情况下,本体式知识图谱的构建比较困难,需要大量的人力去维护。但是,由于构建开放式知识图谱较为容易,例如,采用开放式信息抽取(openie)工具从非结构化的文本中挖掘出主谓宾三元组,进一步,将主谓宾三元组构成开放式知识图谱。因此,通过本实施例所述的方法可以将开放式知识图谱标准化为本体式知识图谱,这个过程不需要人力,从而降低了本体式知识图谱的构建难度。另外,将开放式知识图谱标准化为本体式知识图谱包括如上所述的实体级别标准化、关系级别标准化、本体级别标准化。通过本实施例所述的方法,实体级别标准化的程度可提升5%,关系级别标准化的程度可提升55%,对于主语的本体级别标准化的程度可提升8%,对于宾语的本体级别标准化的程度可提升2%。
[0081]
另外,由于本实施例增加了对预训练语言模型进行预训练的环节,使得经过预训练之后的预训练语言模型更加精准,从而可以进一步提升实体级别标准化的程度、关系级别标准化的程度、以及本体级别标准化的程度。如图5所示,本实施例统计了采用不同的预训练方法对同一预训练语言模型进行预训练之后相比于预训练之前的标准化程度的提升、以及采用相同的预训练方法对不同的预训练语言模型进行预训练之后相比于预训练之前的标准化程度的提升。图5所示的bert、roberta、spanbert、ernie2.0分别表示不同的预训练语言模型。图5所示的subword和triple分别表示不同的预训练方法,例如,subword表示普通的掩码语言模型(masked language model,mlm)掩码预训练,例如,以15%的概率随机替换或mask单词。图5所示的triple表示如上所述的triple pretrain或者triple pretraining,即triple表示的预训练方法是本公开实施例图4所示的预训练方法。subj表示主语,obj表示宾语。npc-e表示实体级别标准化,npc-o表示本体级别标准化,rpc表示关系级别标准化。因此,npc-e(subj)表示针对主语的实体级别标准化。npc-e(obj)表示针对宾语的实体级别标准化。npc-o(subj)表示针对主语的本体级别标准化的一种指标,npc-o(subj)-jac表示针对主语的本体级别标准化的另一种指标。npc-o(obj)表示针对宾语的本体级别标准化的一种指标,npc-o(obj)-jac表示针对宾语的本体级别标准化的另一种指标。图5所示的每个数值是预训练之后相比于预训练之前的标准化程度的提升。例如,第一行第二列的1.72表示在采用subword表示的预训练方法对bert进行预训练之后相比于预训练之前,针对宾语的实体级别标准化程度提升了1.72。可见,采用预训练方法对预训练语言模型进行预训练可使得标准化程度更加稳定、明显的提升。
[0082]
此外,本实施例还比较了bert、预训练方法+bert、非神经网络方法、静态词向量方法分别对实体级别标准化、关系级别标准化、本体级别标准化的程度,具体如下表1所示。
[0083]
表1
[0084][0085]
通过表1可知,采用预训练方法+bert的方式相比于单独采用bert的方式可以更加提升标准化的程度。另外,bert、预训练方法+bert能够实现的标准化程度高于非神经网络方法、静态词向量方法能够实现的标准化程度。也就是说,本实施例提供的预训练语言模型相比于依赖表型的非神经网络方法和静态词向量方法有着更好的标准化结果,并且本实施例提供的方法在关系级别标准化和本体级别标准化上有着更为明显的提升。
[0086]
此外,在本实施例中,可以将三元组中的每个组成元素分别输入到预训练语言模型得到每个组成元素的表示向量。也可以将三元组中的3个组成元素拼接后输入到预训练语言模型、或者将三元组中的3个组成元素进行拼接并且在拼接位置加入预设字符后输入到预训练语言模型、再或者可以将提供该三元组的原句或全句(sentence)输入到预训练语言模型。但是,通过比较发现将提供该三元组的原句或全句输入到预训练语言模型、并且使用mean pooling可以得到较为精准的上下文表示向量,即这种组合方式可以达到的效果最好,这说明上下文的重要性,也就是说,通过预训练语言模型计算得到的三元组中每个组成元素的上下文表示向量越精准,对开放式知识图谱的标准化程度会越高。另外,对开放式知识图谱的标准化还可以更好的建模上下文。另外,由于预训练语言模型中有着事实性、常识性信息,所以结合两者,本实施例提供的预训练语言模型相比于依赖表型的非神经网络方法和静态词向量方法有着更好的标准化结果。
[0087]
图6为本公开实施例提供的数据处理装置的结构示意图。本公开实施例提供的数据处理装置可以执行数据处理方法实施例提供的处理流程,如图6所示,数据处理装置60包括:
[0088]
编码模块61,用于采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量;
[0089]
聚类处理模块62,用于根据第一数据集合包括的多个所述结构化数据中同一类型的多个组成元素分别对应的上下文表示向量,对所述同一类型的多个组成元素进行聚类处理,得到聚类结果;
[0090]
调整模块63,用于根据所述聚类结果对所述第一数据集合进行调整,得到第二数据集合。
[0091]
可选的,所述文本信息是非结构化文本;数据处理装置60还包括获取模块64,获取
模块64用于在编码模块61采用预训练语言模型对包含有结构化数据的文本信息进行编码之前,从所述非结构化文本中获取所述结构化数据。
[0092]
可选的,所述文本信息是由所述结构化数据中的多个组成元素拼接而成的文本信息。
[0093]
可选的,所述文本信息是通过对所述结构化数据中的多个组成元素进行拼接,并且在拼接位置加入预设字符后得到的文本信息。
[0094]
可选的,聚类处理模块62对所述同一类型的多个组成元素进行聚类处理时,具体用于如下至少一种:
[0095]
若所述同一类型的多个组成元素是至少一个实体对应的多个表型,则确定所述多个表型中对应于同一实体的至少两个表型;
[0096]
若所述同一类型的多个组成元素是多个实体,则确定所述多个实体中至少两个实体之间的共性;
[0097]
若所述同一类型的多个组成元素是多个关系,则确定所述多个关系中至少两个相同的关系。
[0098]
可选的,所述聚类结果包括如下至少一种:
[0099]
同一实体的至少两个表型、至少两个实体之间的共性、至少两个相同的关系。
[0100]
可选的,所述结构化数据中的多个组成元素包括主语、谓语、宾语;
[0101]
所述主语是实体对应的表型,或者所述主语是实体;
[0102]
所述宾语是实体对应的表型,或者所述宾语是实体;
[0103]
所述谓语是所述主语和所述宾语之间的关系。
[0104]
可选的,编码模块61采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量时,具体用于:
[0105]
采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的任一组成元素在所述文本信息中对应的多个表示向量;
[0106]
根据所述任一组成元素在所述文本信息中对应的多个表示向量,确定所述任一组成元素在所述文本信息中对应的上下文表示向量。
[0107]
可选的,数据处理装置60还包括:删除模块65、输入模块66、训练模块67;其中,删除模块65用于在编码模块61采用预训练语言模型对包含有结构化数据的文本信息进行编码之前,在所述文本信息中删除所述结构化数据中的任一组成元素,得到剩余的文本信息;输入模块66用于将所述剩余的文本信息输入所述预训练语言模型,所述预训练语言模型用于根据所述剩余的文本信息预测被删除的任一组成元素;训练模块67用于根据所述预训练语言模型预测出的被删除的任一组成元素、以及实际被删除的任一组成元素,对所述预训练语言模型进行模型训练。
[0108]
图6所示实施例的数据处理装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0109]
以上描述了数据处理装置的内部功能和结构,该装置可实现为一种电子设备。图7为本公开实施例提供的电子设备实施例的结构示意图。如图7所示,该电子设备包括存储器71和处理器72。
[0110]
存储器71用于存储程序。除上述程序之外,存储器71还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0111]
存储器71可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0112]
处理器72与存储器71耦合,执行存储器71所存储的程序,以用于:
[0113]
采用预训练语言模型对包含有结构化数据的文本信息进行编码,得到所述结构化数据中的多个组成元素分别在所述文本信息中对应的上下文表示向量;
[0114]
根据第一数据集合包括的多个所述结构化数据中同一类型的多个组成元素分别对应的上下文表示向量,对所述同一类型的多个组成元素进行聚类处理,得到聚类结果;
[0115]
根据所述聚类结果对所述第一数据集合进行调整,得到第二数据集合。
[0116]
进一步,如图7所示,电子设备还可以包括:通信组件73、电源组件74、音频组件75、显示器76等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
[0117]
通信组件73被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件73经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件73还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0118]
电源组件74,为电子设备的各种组件提供电力。电源组件74可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
[0119]
音频组件75被配置为输出和/或输入音频信号。例如,音频组件75包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器71或经由通信组件73发送。在一些实施例中,音频组件75还包括一个扬声器,用于输出音频信号。
[0120]
显示器76包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0121]
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的数据处理方法。
[0122]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设
备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0123]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1