一种文本数据的处理方法、装置、设备及介质与流程

文档序号:20166044发布日期:2020-03-24 21:31阅读:152来源:国知局
一种文本数据的处理方法、装置、设备及介质与流程

本发明涉及自然语言处理技术领域,尤其涉及一种文本数据的处理方法、装置、设备及介质。



背景技术:

在大规模涌现人工智能技术与应用的环境下,用三元组形式表示知识,是构成知识图谱的基础,也是推动人工智能技术发展的强大驱动力。一条三元组形式表示的知识(例如,张三,出生日期,1979年1月18日)表达了实体“张三”的“出生日期”属性,三元组的三个部分分别被称作主语、谓语、宾语。介绍性的文章通常围绕同一个主语实体进行描述,并密集地介绍关于主语实体的大量属性。如何从介绍性文章的自然语言叙述中抽取出结构化表示的属性值(即知识三元组)对于知识获取和知识应用都是至关重要的技术。

现有技术一

规则法是常见的属性抽取方法,通过人工经验或算法从语料中总结出描述属性值常用的自然语言句式,抽象成规则模板,然后从数据集中抽取出与规则模板匹配的属性值。例如“<person>出生(于|在)<date>”是一条定义人物出生日期的规则(模板),当发现句子“张三出生于1979年1月18日”与该规则(模板)匹配,即可抽取出属性三元组(张三,出生日期,1979年1月18日)。

采用上述规则法进行属性抽取时,对人工的依赖程度较大,因为发部分使用规则方法的系统还是依靠人工编写规则(模板),缺少自动化,并且人工成本高。其次,泛化能力差,句子只有与规则模板严格匹配才能从中抽取属性值,若模板中没有编辑句末语气词,那么只要句子尾部多一个语气词就无法再与模板匹配。另外,若覆盖更多句式时,需要大量的规则模板,当模板集合量变得庞大,就会出现难以理解和维护的问题,以及模板之间可能产生冲突与冗余等问题。

现有技术二

关系分类法也是常见的属性抽取方法,关系分类法是一类方法的统称,流程具体如下概括:

首先通过命名实体识别(namedentityrecognition,ner)技术识别出句子中的实体,常见的实体类型有人物、地名、时间、组织名等。然后,对于包含两个及以上实体的句子,将句中的两个实体作为候选实体对,构建特征向量,输入机器学习模型对两个实体间的关系进行分类。

例如,句子“张三出生于1979年1月18日”可以识别出人物实体“张三”和时间实体“1979年1月18日”,特征向量可以是神经网络(neuralnetwork)学到的词向量(wordembedding)序列,也可以是人工设计的特征构成的向量,例如,[候选实体间的距离,候选实体中有几个人物实体,候选实体中有几个时间实体,候选实体之间是否存在“出生于”这几个字],对应的特征向量就是[5,1,1,1]。

机器学习模型可选传统的分类模型(例如,决策树,支持向量机等)或深度学习模型(例如,卷积神经网络、循环神经网络等),对关系进行二分类(例如,实体间是出生日期关系,实体间不是出生日期关系)或多分类(例如,实体间不存在任何关系,实体间是出生日期关系,实体间是出生地点关系,实体间是父子关系等)。

采用上述关系分类法进行属性抽取时,宾语必须是ner模型可以识别到的实体,如果模型识别不到某一类实体,那么和这一类实体相关的关系就都无法检测出来。并且,ner过程会有错误积累,如果出现识别错误,那么关系分类的结果必然是错误的,如果采取传统机器学习模型,也需要提取特征,特征中能够包含的信息依赖于人工的经验。



技术实现要素:

本发明提供一种文本数据的处理方法、装置、设备及介质,用以提高属性值标注的准确性和效率,降低人工成本,并避免错误累积。

第一方面,本发明实施例提供一种文本数据的处理方法,包括:

基于预先确定的用于表征目标文本中属性顺序的属性向量序列,将目标文本转换为文本向量序列;

将文本向量序列输入用于标注文本中词语属性的序列标注模型,以标签的形式对目标文本中每个词语的属性进行标注,其中,属性为目标文本中主语对应实体的实体属性。

在一种可能的方式中,本发明实施例提供的上述方法,还包括:

从标注标签后的目标文本中提取目标主语、目标属性的标签和目标属性的属性值,生成包含目标主语、目标属性的标签、目标属性的属性值的三元组,目标主语为目标文本中的主语,目标属性为任一属性。

在一种可能的方式中,本发明实施例提供的上述方法中,基于预先确定的用于表征目标文本中属性顺序的属性向量序列,将目标文本转换为文本向量序列,包括:

对目标文本进行分词处理,并将目标文本中的每个词语转换为词向量,得到目标文本的词向量序列;

将词向量序列输入第一循环神经网络,基于第一循环神经网络的输出确定目标文本的中间向量序列;

基于中间向量序列与属性向量序列,确定中间向量序列中目标向量对应的对偶向量,目标向量为中间向量序列中任一向量;

将目标向量与目标向量对应的对偶向量拼接,得到拼接结果;

将拼接结果输入全连接神经网络,得到目标向量的文本向量;

依据每个目标向量在中间向量序列中的顺序,对目标向量对应的文本向量排序,得到目标文本的文本向量序列。

在一种可能的方式中,本发明实施例提供的上述方法中,基于中间向量序列与属性向量序列,确定中间向量序列中目标向量对应的对偶向量,包括:

基于中间向量序列与属性向量序列,确定注意力矩阵;

基于注意力矩阵,确定目标向量对应的对偶向量。

在一种可能的方式中,本发明实施例提供的上述方法中,基于中间向量序列与属性向量序列,确定注意力矩阵,包括:

计算中间向量序列中每一向量,与属性向量序列中每一向量的内积,作为预设矩阵中的元素,并对预设矩阵进行归一化处理,得到注意力矩阵。

在一种可能的方式中,本发明实施例提供的上述方法中,基于注意力矩阵,确定目标向量对应的对偶向量,包括:

将目标向量与属性向量序列中每一向量的内积,确定为属性向量序列中每一向量对应的权值;

计算属性向量序列中每一向量与对应权值乘积的加权和,得到目标向量的对偶向量。

在一种可能的方式中,本发明实施例提供的上述方法中,将目标向量与目标向量对应的对偶向量拼接,包括:

在目标向量的最后一个元素之后,添加目标向量对应的对偶向量中的全部元素;或者,

将目标向量与目标向量对应的对偶向量作差运算,生成对应的差向量,在目标向量的最后一个元素之后,添加差向量中的全部元素;或者,

将目标向量对应的与目标向量对应的对偶向量作同或运算,生成对应的同或向量,在目标向量的最后一个元素之后,添加同或向量中的全部元素。

在一种可能的方式中,本发明实施例提供的上述方法中,预先确定的属性向量序列采用如下方式确定:

根据预设属性问题集,确定包含目标主语的目标属性问题集,目标属性问题集是将预设属性问题集中的主语替换为目标主语得到的,目标主语为目标文本中的主语,目标属性为任一属性;

确定目标属性问题集中每一问题的问题向量,利用目标属性问题集中全部问题的问题向量,生成目标属性问题向量集;

对目标属性问题向量集进行池化操作,生成目标属性向量;

基于预设属性顺序,对所有属性的属性向量排序,确定属性向量序列。

在一种可能的方式中,本发明实施例提供的上述方法中,确定目标属性问题集中每一问题的问题向量,包括:

对目标属性问题集中的目标问题的问题文本分词,目标问题为目标属性问题集中的任一问题;

将分词后的问题文本中的词语转换为词向量,生成目标问题的词向量集;

将目标问题的词向量集输入第二循环神经网络,基于第二循环神经网络的输出确定目标问题的问题向量。

第二方面,本发明实施例提供一种文本数据的处理装置,包括:

转换模块,用于基于预先确定的用于表征目标文本中属性顺序的属性向量序列,将目标文本转换为文本向量序列;

标注模块,用于将文本向量序列输入用于标注文本中词语属性的序列标注模型,以标签的形式对所述目标文本中每个词语的属性进行标注,其中,属性为目标文本中主语对应实体的实体属性。

在一种可能的方式中,本发明实施例提供的上述装置,还包括:

提取模块,用于从标注标签后的目标文本中提取目标主语、目标属性的标签和目标属性的属性值,生成包含目标主语、目标属性的标签、目标属性的属性值的三元组,目标主语为目标文本中的主语,目标属性为任一属性。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块,具体用于:

对目标文本进行分词处理,并将目标文本中的每个词语转换为词向量,得到目标文本的词向量序列;

将词向量序列输入第一循环神经网络,基于第一循环神经网络的输出确定目标文本的中间向量序列;

基于中间向量序列与属性向量序列,确定中间向量序列中目标向量对应的对偶向量,目标向量为中间向量序列中任一向量;

将目标向量与目标向量对应的对偶向量拼接,得到拼接结果;

将拼接结果输入全连接神经网络,得到目标向量的文本向量;

依据每个目标向量在中间向量序列中的顺序,对目标向量对应的文本向量排序,得到目标文本的文本向量序列。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块,具体用于:

基于中间向量序列与属性向量序列,确定注意力矩阵;

基于注意力矩阵,确定目标向量对应的对偶向量。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块,具体用于:

计算中间向量序列中每一向量,与属性向量序列中每一向量的内积,作为预设矩阵中的元素,并对预设矩阵进行归一化处理,得到注意力矩阵。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块,具体用于:

将目标向量与属性向量序列中每一向量的内积,确定为属性向量序列中每一向量对应的权值;

计算属性向量序列中每一向量与对应权值乘积的加权和,得到目标向量的对偶向量。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块,具体用于:

在目标向量的最后一个元素之后,添加目标向量对应的对偶向量中的全部元素;或者,

将目标向量与目标向量对应的对偶向量作差运算,生成对应的差向量,在目标向量的最后一个元素之后,添加差向量中的全部元素;或者,

将目标向量对应的与目标向量对应的对偶向量作同或运算,生成对应的同或向量,在目标向量的最后一个元素之后,添加同或向量中的全部元素。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块采用如下方式预先确定属性向量序列:

根据预设属性问题集,确定包含目标主语的目标属性问题集,目标属性问题集是将预设属性问题集中的主语替换为目标主语得到的,目标主语为目标文本中的主语,目标属性为任一属性;

确定目标属性问题集中每一问题的问题向量,利用目标属性问题集中全部问题的问题向量,生成目标属性问题向量集;

对目标属性问题向量集进行池化操作,生成目标属性向量;

基于预设属性顺序,对所有属性的属性向量排序,确定属性向量序列。

在一种可能的方式中,本发明实施例提供的上述装置中,转换模块,具体用于:

对目标属性问题集中的目标问题的问题文本分词,目标问题为目标属性问题集中的任一问题;

将分词后的问题文本中的词语转换为词向量,生成目标问题的词向量集;

将目标问题的词向量集输入第二循环神经网络,基于第二循环神经网络的输出确定目标问题的问题向量。

第三方面,本发明实施例提供一种文本数据的处理设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为执行指令,以实现第一方面中任一项的文本数据的处理方法。

第四方面,本发明实施例提供一种计算机可读存储介质,当存储介质中的指令由文本数据的处理设备的执行器执行时,使得文本数据的处理设备能够执行第一方面中任一项的文本数据的处理方法。

本发明的实施例提供的技术方案至少带来以下有益效果:

基于预先确定的用于表征目标文本中属性顺序的属性向量序列,将目标文本转换为文本向量序列,将文本向量序列输入用于标注文本中词语属性的序列标注模型,以标签的形式对所述目标文本中每个词语的属性进行标注,其中,属性为目标文本中主语对应实体的实体属性。实现为标注模型提供属性及其顺序信息,提高属性值标注的准确性和属性标注效率,降低人工成本,并避免错误累积。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。

图1是根据一示例性实施例示出的文本数据的处理方法的示意流程图。

图2是根据一示例性实施例示出的文本数据的处理方法的具体流程的示意流程图。

图3是根据一示例性实施例示出的二维空间中多个词向量之间关系的示意图。

图4是根据一示例性实施例示出的最大池化操作的示意图。

图5是根据一示例性实施例示出的目标文本标注结果的示意图。

图6是根据一示例性实施例示出的一种文本数据的处理装置的结构示意图。

图7是根据一示例性实施例示出的一种文本数据的处理设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面对文中出现的一些词语进行解释:

1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

2、本发明实施例中术语“命名实体识别”指自然语言处理领域的一种任务,例如,在一个句子中识别出人名、地名等词汇。其中“人名”、“地名”是识别类型,可根据实际应用场景进行自定义。

3、本发明实施例中术语“神经网络”是一类机器学习模型。

4、本发明实施例中术语“词向量”,是指将一个词转换成一个向量。例如“苹果”用[0.13,0.8,0.3]表示,“梨”用[0.52,0.2,0.3]表示。训练好的词向量使得语义相近的词语所对应的向量距离也相近。

5、本发明实施例中术语“循环神经网络”(recurrentneuralnetwork,rnn),是指一类神经网络模型结构,输入是向量序列,按顺序每一时刻向模型输入当前向量和前一时刻的输出向量,模型在每一时刻都会输出一个输出向量。具体的循环神经网络结构,例如,长短期记忆网络lstm、双向长短期记忆网络bi-lstm、门控循环单元gru、双向门控循环单元bi-gru等。

6、本发明实施例中术语“池化”(pooling),可以理解为减小矩阵行数、列数的操作。例如,在矩阵中选定一块区域,使用这个区域数值的最大值、最小值或平均值等代替这个区域。具体的池化方法,例如,平均池化方法、最大值池化方法等。

7、本发明实施例中术语“交叉注意力”(crossattention),又称跨越注意力,一种计算注意力的方法,其中,注意力可以理解为权重。例如一个词w对于另一个句子s中每个词的注意力,就是s中每个词和w的相关度权重。

8、本发明实施例中术语“前馈神经网络”(forwardneuralnetwork,fnn),又称全连接神经网络,是一种神经网络结构。

9、本发明实施例中术语“序列标注模型”,是一类机器学习模型,其输入是一个序列,模型对输入序列中的每个元素打一个标签,输出是标签序列,具体模型,例如,条件随机场模型,隐马尔科夫模型等。

10、本发明实施例中术语“卷积神经网络”(convolutionalneuralnetwork,cnn),一种神经网络结构,其输入一个矩阵,输出可以是一个向量。

本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

图1根据一示例性实施例示出的一种文本数据的处理示意流程图。如图1所示,本实施例提供的文本数据的处理方法,可以包括以下步骤:

步骤s101,基于预先确定的用于表征目标文本中属性顺序的属性向量序列,将目标文本转换为文本向量序列。

需要说明的是,目标文本可以是介绍性文本(例如,在线百科文章),可以从目标文本中抽取或标注指定属性。例如,目标文本可以是“张三”的自我介绍,可以从张三的自我介绍中抽取或标注张三的“职业”属性、“籍贯”属性、“生日”属性等属性的属性值,“医生”为张三的“职业”属性的属性值,同时,词语“医生”的属性为“职业”。

具体实施时,将目标文本转换为文本向量序列时,可以对目标文本进行分词处理,并将目标文本中的每个词语转换为词向量,得到目标文本的词向量序列,将词向量序列输入第一循环神经网络,基于第一循环神经网络的输出确定目标文本的中间向量序列,基于中间向量序列与属性向量序列,确定中间向量序列中目标向量对应的对偶向量,目标向量为中间向量序列中任一向量,将目标向量与目标向量对应的对偶向量拼接,得到拼接结果,将拼接结果输入全连接神经网络,得到目标向量的文本向量,依据每个目标向量在中间向量序列中的顺序,对目标向量对应的文本向量排序,得到目标文本的文本向量序列。

具体对目标文本进行分词处理时,词的长度可以为1,例如,“是”、“的”也属于一个词,也具有对应的词向量,对目标文本进行分词处理之前,还可以对目标文本进行预处理,删除目标文本中的停用词,例如“了”、“呀”、“呢”,在句子中没有实际意义的词,删除目标文本中的标点。需要说明的是,英文中的空格是分隔符,不算作标点。

例如,目标文本中的一个句子为“张三(sanzhang),1979年1月18日出生于台湾省新北市。”,预处理后的文本为“张三zhangsan1979年1月18日出生于台湾省新北市”,对预处理后的文本进行分词处理为“张三zhangsan1979年1月18日出生于台湾省新北市”。

分词后的目标文本dp={wdp1,wdp2,...,wdpi}(i表示文本分词后的词语个数)中的每个词语wdpk转换为词向量,得到目标文本dp的词向量序列xdp={xdp1,xdp2,...,xdpi},其中,每个词wdpk都有与之对应的词向量,词与词向量的对应关系是预先设定的,可以通过训练的方式获得的,可以体现词语的语义信息。

例如,“张三zhangsan1979年1月18日出生于台湾省新北市”,其中,张三的词向量为[2,5,6,2,4],新北市的词向量为[0,4,7,3,7],将文本中的每个词语转换为词向量,得到词向量序列为{[2,5,6,2,4],[6,6,8,2,1],[1,7,9,5,3],[2,7,6,2,4],[3,6,6,9,4],[8,2,4,5,6],[0,0,9,3,3],[5,9,3,2,6],[1,8,9,2,1],[2,5,6,2,4],[6,7,1,3,0],[1,7,2,6,1],[0,4,7,3,7]}。

目标文本的词向量序列xdp={xdp1,xdp2,...,xdpi}输入到第一循环神经网络中,第一循环神经网络可以是lstm、bi-lstm、gru、bi-gru中的任意一个,能够输出目标文本的中间向量序列hdp={hdp1,hdp2,...,hdpi}。由于循环神经网络的特性,可以理解为目标文本被转换为一个有序的向量序列,其中每一个位置的向量的数字都记录了它前面有哪些向量以及这些向量的顺序信息。

根据中间向量序列hdp={hdp1,hdp2,...,hdpi}与属性向量序列ha,可以确定中间向量序列中任一向量hdpi的对偶向量gdpi,将向量hdpi与其对偶向量gdpi拼接,拼接结果输入到全连接神经网络(也是前馈神经网络),基于输出的结果得到向量hdpi的文本向量zdpi,依据每次目标向量hdpv在中间向量序列hdp={hdp1,hdp2,...,hdpi}中的顺序,对目标向量hdpi的文本向量zdpi排序,得到目标文本的文本向量序列zdp={zdp1,zdp2,...,zdpi}。

其中,在确定中间向量序列中目标向量对应的对偶向量时,可以基于中间向量序列与属性向量序列,确定注意力矩阵,进而基于注意力矩阵,确定目标向量对应的对偶向量。

具体实施时,确定注意力矩阵,可以计算中间向量序列中每一向量hdpi,与属性向量序列ha={ha1,ha2,...,haj}(j表示属性的个数)中每一向量haj的内积,得到一个标量数值αij,作为预设矩阵α中的元素αij,并对预设矩阵α进行归一化处理,也即,对αij组成的矩阵α按行归一化,将第i行的数字{αi1,αi2,...,αij}等比例缩放,使得它们的和为1,并将归一化处理后的矩阵α确定为注意力矩阵,也是目标文本dp对属性向量序列的注意力矩阵,注意力矩阵中的每个元素αij表示目标文本中第i个词对属性集合中第j个属性的注意力(权值)。

需要说明的是,确定注意力矩阵中的元素,还可以通过其他注意力计算方法,例如,将中间向量序列中每一向量hdpi,与属性向量序列ha={ha1,ha2,...,haj}中每一向量haj与可训练的参数矩阵、参数向量相乘得到注意力(注意力值)。

一种可能的实施方式中,确定目标向量的对偶向量,可以将目标向量与属性向量序列中每一向量的内积,确定为属性向量序列中每一向量对应的权值,计算属性向量序列中每一向量与对应权值乘积的加权和,得到目标向量的对偶向量。

具体实施时,目标文本的中间向量序列hdp={hdp1,hdp2,...,hdpi}中的目标向量hdpi,将其与对于属性向量序列ha={ha1,ha2,...,haj}中每个属性向量haj的注意力αij作为权重,计算属性向量序列中所有属性向量的加权和,得到目标向量hdpi的对偶向量gdpi,也即

将目标向量与目标向量对应的对偶向量拼接,可以通过下述方式中的任一种方式拼接:

方式一:在目标向量的最后一个元素之后,添加目标向量对应的对偶向量中的全部元素。

方式二:将目标向量与目标向量对应的对偶向量作差运算,生成对应的差向量,在目标向量的最后一个元素之后,添加差向量中的全部元素。

方式三:将目标向量对应的与目标向量对应的对偶向量作同或运算,生成对应的同或向量,在目标向量的最后一个元素之后,添加同或向量中的全部元素。

在一个示例中,目标向量与目标向量对应的对偶向量拼接的过程,例如,采用方式一拼接时,目标向量为[1,2,3],对偶向量为[4,5,6],拼接后的拼接结果为[1,2,3,4,5,6],再例如,采用方式二拼接时,目标向量为[1,2,3],对偶向量为[4,5,6],目标向量与对应的对偶向量作差运算生成对应的差向量为[1,2,3],拼接后的拼接结果为[1,2,3,1,2,3],又例如,采用方式三拼接时,目标向量为[1,0,1],对偶向量为[1,1,0],目标向量与对应的对偶向量作同或运算生成对应的同或向量[1,0,0],拼接后的结果为[1,2,3,1,0,0]。

在一种可能的实施方式中,预先确定的属性向量采用如下方式确定:

根据预设属性问题集,确定包含目标主语的目标属性问题集,目标属性问题集是将预设属性问题集中的主语替换为目标主语得到的,目标主语为目标文本中的主语,目标属性为任一属性,确定目标属性问题集中每一问题的问题向量,利用目标属性问题集中全部问题的问题向量,生成目标属性问题向量集,对目标属性问题向量集进行池化操作,生成目标属性向量,基于预设属性顺序,对所有属性的属性向量排序,确定属性向量序列。

具体实施时,预设属性问题集,可以通过人工对属性集a={a1,a2,...,aj}中的每一个属性aj进行提问,得到一个关于属性aj的问题集合qaj={qj1,qj2,...,qjm}(m表示问题个数),例如,属性集合可以是{出生日期,籍贯,职业},属性“出生日期”可以得到问题集合{“<主语>是什么时候出生的”,“<主语>的生日是什么时候”,“<主语>出生在什么时候”}。确定包含目标主语的目标属性问题集时,可以将预设属性问题集中的主语替换为目标文本的主语,例如目标文本的主语为“张三”,目标属性问题集为{“张三是什么时候出生的”,“张三的生日是什么时候”,“张三出生在什么时候”}。

因为同一来源的介绍性文本(如百度百科不同页面的文章,同一本百科全书里的文章等)通常围绕同一个主语实体展开叙述,并且同一类实体的文章具有相同或类似的编写模板,可以通过训练数据集(预先获取的确定文本中词语的属性的文本)上面,统计每个目标属性aq在每篇文本中出现顺序,将属性aq在所有文本中出现顺序求平均值作为aq的序号q,按序号q升序排列得到属性集a={a1,a2,...,aj}。

例如,以介绍人物类的文章为例,百度百科“张三”页面的文章通篇介绍实体“张三”的属性,文章通常在开头部分介绍人物的基础属性,文章的后部介绍人物生平,这就使得人物的姓名、性别、生卒年月等基础属性倾向于在文本前部出现,毕业院校、获得荣誉、任职单位等信息倾向于在文本后部出现,并且这些属性出现的先后顺序具有一定的规律,可以使属性集a={a1,a2,...,aj}中各属性在属性集中的序号或顺序反映属性出现的先后顺序的规律,为标注属性过程提供额外的信息。

在一个示例中,训练数据集中有5篇文章(文本),属性“生日”在每篇文章中的出现顺序依次为[1,1,2,1,1],则其序号为(1+1+2+1+1)/5=1.2,属性“籍贯”的出现顺序为[2,2,1,3,2],序号为(2+2+1+3+2)/5=2,属性“职业”的出现顺序为[3,3,3,2,3],序号为(3+3+3+2+3)/5=2.4,则可以确定这三个属性的顺序依次为[生日,籍贯,职业]。

需要说明的是,通过人工设置问题集过程中,可以人工指定每个属性的问题个数,可以让每个属性的问题集合都包含相同的问题个数,因为不同属性在自然语言中的表述方式不同,有些属性可能有很多种说法,其他的属性说法可能就很少,也可以不指定每个属性的问题个数,也即不同属性的问题集合中元素的数量可以不同。并且人工设置问题集时,不限定是熟悉语料的人,可以是不熟悉语料的人,说出几个关于某个属性提问的句式,完成设置问题集的过程,可以增加对问题质量评估和筛选的过程,可见人工设置问题集的过程,相比于现有技术中人工配置规则的过程,所花费的时间更少,灵活性更高,并且对于人工没有语料熟悉度的要求,不需要协调问题之间的关系。

一种可能的实施方式中,确定目标属性问题集中每一问题的问题向量时,可以对目标属性问题集中的目标问题的问题文本分词,目标问题为目标属性问题集中的任一问题,将分词后的问题文本中的词语转换为词向量,生成目标问题的词向量集,将目标问题的词向量集输入第二循环神经网络,基于第二循环神经网络的输出确定目标问题的问题向量。

具体实施时,对属性集a={a1,a2,...,aj}中的目标属性aj的问题集合qaj={qj1,qj2,...,qjm}中的目标问题qjm进行分词,得到问题qjm分词序列qjm={wqjm1,wqjm2,...,wqjmu}(u表示问题分词后的词语个数),用预先训练确定的词与词向量对应的关系,将每个词wqjmu转换为对应的词向量后,得到问题qjm对应的词向量序列xqjm={xqjm1,xqjm2,...,xqjmu},将问题qjm的词向量序列xqjm={xqjm1,xqjm2,...,xqjmu}输入第二循环神经网络,基于第二神经网络的输出,确定目标问题qjm的问题向量hqjm,目标属性aj的问题集合qaj中全部问题的问题向量,组成目标属性aj问题向量集{hqj1,hqj2,...,hqjm}。

具体对目标属性问题向量集进行池化操作,可以采用平均池化操作或者最大值池化操作,例如,对目标属性aj问题向量集{hqj1,hqj2,...,hqjm}进行最大值池化操作,映射成一个向量haj,也即生成目标属性向量haj,实现将每个属性转换具有对应关系的向量,根据目标属性aj在属性集a={a1,a2,...,aj}中的次序,可以确定目标属性向量haj在属性向量序列中的次序,生成属性向量序列ha={ha1,ha2,...,haj},可见,属性向量序列中也带有属性顺序信息。

需要说明的是,第二循环神经网络可以是lstm、bi-lstm、gru、bi-gru中的任意一种,第二循环神经网络和第一循环神经网络可以是不同网络结构,也可以是参数不同的同一网络结构,还可以是参数相同的同一网络结构,可以根据实际应用场景中的机器配置、语料特性、实验效果等决定,通常采用不同网络结构。

一种可能的实施方式中,若属性集a={a1,a2,...,aj}中的中每个属性的问题集合qaj中问题数量相同,也即每个属性的问题向量集{hqj1,hqj2,...,hqjm}问题向量个数相同时,确定目标属性aj的目标属性向量haj,还可以采用如下方法中任一种:

方法一:将问题向量集{hqj1,hqj2,...,hqjm}中问题向量拼接起来,将拼接结果输入全连接神经网络,输出的向量表示目标属性aj的目标属性向量haj

方法二:将目标属性aj的问题向量集{hqj1,hqj2,...,hqjm}构成问题矩阵[hqj1,hqj2,...,hqjm],输入卷积神经网络中,输出的向量表示目标属性aj的属性向量haj

步骤s102,将文本向量序列输入用于标注文本中词语属性的序列标注模型,以标签的形式对目标文本中每个词语的属性进行标注,其中,属性为目标文本中主语对应实体的实体属性。

需要说明的是,目标文本是“张三”的自我介绍时,目标文本中主语“张三”,对应的实体为个人“张三”,并且“职业”、“籍贯”、“生日”为实体“张三”的实体属性。实体属性还可以包括年龄、身高、体重、性别、注册地、股东、法人、信用等级等,能够反映个人实体的个人信息或者企业实体的企业信息等信息类别,属性集为实体属性的集合,在实际应用场景中,可以配置标注模型同时对一种或多种实体属性进行标注,本发明实施例中,以个人实体为例,进行举例说明。

具体实施时,将目标文本的文本向量序列zdp={zdp1,zdp2,...,zdpi}输入标注模型(例如,crf或hmm),标注模型对目标文本中每个词语的属性进行标注,也即为目标文本中每个词语打上标签,标签为属性集a={a1,a2,...,aj}中的属性,例如,属性集{出生日期,籍贯,职业,性别}中的属性“性别”,标签还可以为“o”表示该词语不是属性集中任何一种属性,例如,以标签的形式对“医生”标注时,“医生”的标签可以是“职业”,标签还可以是预设的属性编码,例如,自定义标签“m-n”(自定义标签可以反映出词语与其词语属性和/或属性值的对应关系)。

在一个示例中,用自定义标签对文本“足球运动员”标注时,可以将其标注为“c”,其中“c”标签用于表示词语的属性为“职业”,词语“足球运动员”为“职业”的属性值。还可以在标注时,将词语“足球”的标签设为“b-c”,词语“运动员”的标签设为“i-c”,其中“b-c”和“i-c”表示词语在属性“c”中的属性值的位置关系,实现通过标注后的标签可以确定词语属性的属性值,例如,标注后的标签为“b-c”、“i-c”,可以确定“c”(“职业”)的属性值为“足球运动员”。

一种可能的实施方式中,对目标文本标注标签后,从标注标签后的目标文本中提取目标主语、目标属性的标签和目标属性的属性值,生成包含目标主语、目标属性的标签、目标属性的属性值的三元组,目标主语为目标文本中的主语,目标属性为任一属性。

在一个示例中,目标文本为“张三(1979年1月18日-),台湾著名华语流行歌曲男歌手。”,通过标注模型对目标文本中每个词语的属性进行标注后的文本可为如下形式,其中括号中为词语属性的标签:

张三(o)1979年(生日)1月(生日)18日(生日)台湾(籍贯)著名(o)华语(o)流行歌曲(o)男歌手(职业)

目标属性为生日时,可以生成三元组(张三,生日,1979年1月18日),目标属性为籍贯时,可以生成三元组(张三,籍贯,台湾),目标属性可以根据实际应用场景进行选择,或者遍历标注标签后的目标文本,生成所有三元组。

一种可能的实施方式中,词向量初始化后,与标注模型一同进行训练,并在训练过程中,调整目标文本的文本向量序列输入标注模型后标注的目标文本中每个词语的属性标签,与训练数据集中的标准标签的差别。

具体实施时,通过标注模型以标签的形式对目标文本中每个词语的属性进行标注,并将标注标签和训练数据集中的标准标签的差别,反馈到训练模型中,使训练词与词向量对应关系的过程循环进行,也即使词与词向量对应关系动态变化,使得词向量与词建立更为准确的对应关系。

图2根据一示例性实施例示出的一种文本数据的处理方法的具体流程的示意流程图。如图2所示,本实施例提供的文本数据的处理方法,可以包括以下步骤:

步骤s201,根据预设属性问题集,对目标属性问题集中的目标问题的问题文本分词。

具体实施时,目标问题为目标属性问题集中的任一问题,目标属性问题集是将预设属性问题集中的主语替换为目标主语得到的,目标主语为目标文本中的主语,目标属性为任一属性。

属性问题集为对属性集a={a1,a2,...,aj}中每个属性aj都有预设问题集qaj={qj1,qj2,...,qjm},预先通过人工对每个属性aj提问的方式,确定每个属性的问题集,例如,属性集合可以是{出生日期,籍贯,职业,性别,年龄},属性“出生日期”可以得到问题集合{“<主语>是什么时候出生的”,“<主语>的生日是什么时候”,“<主语>出生在什么时候”},目标属性问题集将预设属性问题集中目标属性的问题集的主语替换为目标文本中的主语的得到的,例如,目标文本中的主语为“张三”,目标属性为“出生日期”,目标属性问题集为{“张三是什么时候出生的”,“张三的生日是什么时候”,“张三出生在什么时候”},换句话说,问题集中的问题均为文本或者文字。

对目标属性问题集中的目标问题的任一问题的问题文本分词,例如,将张三是什么时候出生的”进行分词处理,得到“张三是什么时候出生的”。

步骤s202,将分词后的问题文本中的词语转换为词向量,生成目标问题的词向量集。

具体实施时,可以基于预先训练,得到词语与词向量的对应关系,也可以根据预先设定的词语与词向量的对应关系,将分词会后的问题文本中的词语转换为词向量,也即一个问题有可以生成对应的词向量集。

例如,分词后的问题文本为“张三是什么时候出生的”,该问题的词向量集可以是xq13={xq131,xq132,...,xq136},其中q表示问题,q1表示第一个属性的问题,q13表示第1个属性的问题集中第3个问题,6表示词的个数,本领域技术人员,应当知晓词向量集也是一个矩阵。

需要说明的是,词向量的维度是相同的,并且所有词向量都在同一个向量空间内。假如目标向量空间是一个二维的空间(例如,直角坐标系),那么每一个词语都对应到坐标系中的一个点,也就是说每个词的向量都是由[x,y]表示的二维向量。预先训练好的词向量中语义相近的词在坐标系中的位置也相近,如下图3所示,各词向量在空间中的关系,由它的训练算法导致的,实际应用中词向量通常是几百维的。

步骤s203,将目标问题的词向量集输入第二循环神经网络,基于第二循环神经网络的输出确定目标问题的问题向量。

具体实施时,将目标问题的词向量集输入第二循环神经网络后,输出结果可视为目标问题的问题向量,实现将问题文本用一个向量表示。

步骤s204,确定目标属性问题集中每一问题的问题向量,利用目标属性问题集中全部问题的问题向量,生成目标属性问题向量集。

具体实施时,将目标属性问题集中的每一个问题,重复执行上述步骤201至步骤203的过程,直至确定目标属性问题集中的所有问题对应的问题向量,全部问题向量组成目标属性问题向量集,也即目标属性问题集中的文本都能够用一个与其有对应关系的向量表示。

步骤s205,对目标属性问题向量集进行池化操作,生成目标属性向量。

具体实施时,对目标属性问题向量集进行池化操作时,可以采用平均池化操作,或者最大值池化操作,有指向性地减少目标属性问题向量集中行数和列数,以最大池化操作为例,如图4所示,矩阵中的每一行是一个问题的向量,从矩阵的每一列中选择最大值作为这一维的数字,最终得到一个向量,也就是把问题向量集合整合成了一个向量,用这个向量来表示问题集合对应的属性。实际应用中,问题向量的维数一般是几十或几百维,每一维的数字通常是小数。

换句话说,目标属性问题向量通过池化操作,映射为一个向量,用映射的向量作为目标属性向量。

步骤s206,基于预设属性顺序,对所有属性的属性向量排序,确定属性向量序列。

具体实施时,可以根据属性集中属性的顺序,对所有属性向量排序,属性集中的顺序,可以通过训练数据集(预先获取的确定文本中词语的属性标签的文本)上面,统计每个属性aq在每篇文本中出现顺序,将属性aq在所有文本中出现顺序求平均值作为aq的序号q,按序号q升序排列得到属性集a={a1,a2,...,aj}。

步骤s207,对目标文本进行分词处理,并将目标文本中的每个词语转换为词向量,得到目标文本的词向量序列。

具体实施时,目标文本为需要确定文本中词语属性的文本,或者为需要从文本中提取特定属性的文本。对目标文本进行分词处理,并将词语转换为词向量,实现将目标文本转换为词向量序列,并且词向量序列可以体现文本的语义信息。

步骤s208,将词向量序列输入第一循环神经网络,基于第一循环神经网络的输出确定目标文本的中间向量序列。

具体实施时,将目标文本的词向量序列输入第一循环神经网络中,输出目标文本的中间向量序列,第一循环神经网络把向量序列的顺序编码到向量中,也就是说它输出的向量序列中每一个位置的向量的数字中都记录了它前面有哪些向量以及这些向量的顺序信息。

步骤s209,计算目标文本词向量序列和属性向量序列的交叉注意力,作为预设矩阵中的元素,并对预设矩阵进行归一化处理,得到注意力矩阵。

具体实施时,计算目标文本词向量序列和属性向量序列的交叉注意力时,中间向量序列中每一向量,与属性向量序列中每一向量的内积,也即各词向量与各属性向量的注意力(权值),并对每一词向量与所有属性向量的注意力进行归一化处理(对预设矩阵的每一行进行归一化处理),生成注意力矩阵。

步骤s210,计算属性向量序列中每一向量与对应权值乘积的加权和,得到目标向量的对偶向量,目标向量为中间向量序列中任一向量。

具体实施时,可以采用公式计算中间向量序列hdp={hdp1,hdp2,...,hdpi}中目标向量hdpi的对偶向量gdpi。

步骤s211,将目标向量与目标向量对应的对偶向量拼接,得到拼接结果。

步骤s212,将拼接结果输入全连接神经网络,得到目标向量的文本向量。

步骤s213,依据每个目标向量在中间向量序列中的顺序,对目标向量对应的文本向量排序,得到目标文本的文本向量序列。

具体实施时,对目标向量的文本向量排序,得到的目标文本的文本向量序列中,也包含了属性顺序信息,使目标文本中不同位置的词倾向于被标注为不同的目标属性,实现提高标注的准确性。

步骤s214,将文本向量序列输入用于标注文本中词语属性的序列标注模型,以标签的形式对目标文本中每个词语的属性进行标注。

具体实施时,将目标文本的文本向量序列输入标注模型(例如,crf或hmm),标注模型确定目标文本中每个词语的属性,也即为目标文本中每个词语打上标签,标签为属性集a={a1,a2,...,aj}中的属性,例如,属性集{出生日期,籍贯,职业,性别}中的属性“性别”,标签还可以为“o”表示该词语不是属性集中任何一种属性,如图5所示。

基于相同的发明构思,如图6所示,本发明实施例还提供一种文本数据的处理装置,包括转换模块601和标注模块602。

转换模块601,用于基于预先确定的用于表征目标文本中属性顺序的属性向量序列,将目标文本转换为文本向量序列;

标注模块602,用于将文本向量序列输入用于标注文本中词语属性的序列标注模型,以标签的形式对目标文本中每个词语的属性进行标注,其中,属性为目标文本中主语对应实体的实体属性。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置,还包括:

提取模块603,用于从标注标签后的目标文本中提取目标主语、目标属性的标签和目标属性的属性值,生成包含所述目标主语、目标属性的标签、目标属性的属性值的三元组,目标主语为目标文本中的主语,目标属性为任一属性。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601具体用于:

对目标文本进行分词处理,并将目标文本中的每个词语转换为词向量,得到目标文本的词向量序列;

将词向量序列输入第一循环神经网络,基于第一循环神经网络的输出确定目标文本的中间向量序列;

基于中间向量序列与属性向量序列,确定中间向量序列中目标向量对应的对偶向量,目标向量为中间向量序列中任一向量;

将目标向量与目标向量对应的对偶向量拼接,得到拼接结果;

将拼接结果输入全连接神经网络,得到目标向量的文本向量;

依据每个目标向量在中间向量序列中的顺序,对目标向量对应的文本向量排序,得到目标文本的文本向量序列。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601具体用于:

基于中间向量序列与属性向量序列,确定注意力矩阵;

基于注意力矩阵,确定目标向量对应的对偶向量。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601具体用于:

计算中间向量序列中每一向量,与属性向量序列中每一向量的内积,作为预设矩阵中的元素,并对预设矩阵进行归一化处理,得到注意力矩阵。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601具体用于:

将目标向量与属性向量序列中每一向量的内积,确定为属性向量序列中每一向量对应的权值;

计算属性向量序列中每一向量与对应权值乘积的加权和,得到目标向量的对偶向量。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601具体用于:

在目标向量的最后一个元素之后,添加目标向量对应的对偶向量中的全部元素;或者,

将目标向量与目标向量对应的对偶向量作差运算,生成对应的差向量,在目标向量的最后一个元素之后,添加差向量中的全部元素;或者,

将目标向量对应的与目标向量对应的对偶向量作同或运算,生成对应的同或向量,在目标向量的最后一个元素之后,添加同或向量中的全部元素。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601采用如下方式预先确定属性向量序列:

根据预设属性问题集,确定包含目标主语的目标属性问题集,目标属性问题集是将预设属性问题集中的主语替换为目标主语得到的,目标主语为目标文本中的主语,目标属性为任一属性;

确定目标属性问题集中每一问题的问题向量,利用目标属性问题集中全部问题的问题向量,生成目标属性问题向量集;

对目标属性问题向量集进行池化操作,生成目标属性向量;

基于预设属性顺序,对所有属性的属性向量排序,确定属性向量序列。

一种可能的实施方式中,本发明实施例提供的文本数据的处理装置中,转换模块601具体用于:

对目标属性问题集中的目标问题的问题文本分词,目标问题为目标属性问题集中的任一问题;

将分词后的问题文本中的词语转换为词向量,生成目标问题的词向量集;

将目标问题的词向量集输入第二循环神经网络,基于第二循环神经网络的输出确定目标问题的问题向量。

另外,结合图1、图6所描述的本发明实施例的文本数据的处理方法及装置可以由文本数据的处理设备来实现。图7示出了本发明实施例提供的文本数据的处理设备结构示意图。

该文本数据的处理设备可以包括处理器701以及存储有计算机程序指令的存储器702。

具体地,上述处理器701可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在数据处理装置的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。在特定实施例中,存储器702包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的文本数据的处理方法。

在一个示例中,该文本数据的处理设备还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。

通信接口703,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线710包括硬件、软件或两者,将该文本数据的处理设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其它图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其它合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

另外,结合上述实施例中的文本数据的处理方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一项文本数据的处理方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1