本发明涉及人工智能的技术领域,尤其涉及一种数据处理方法、系统、电子设备及存储介质。
背景技术:
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
目前,自然语言处理领域通常采用的模型为:将输入句子转换成一个高维表示向量,然后再做自然语言处理任务,例如:进行分类、推理等。但是,上述模型生成的句子表示向量都是与预设任务相关的,单一模型只能针对单一任务建模,在针对多类型任务时,例如:翻译、词生句等,需采用多个模型进行叠加生成。然而,多个模型训练过程需耗费大量时间成本,且上线后会占用较大的内存。
因此,如何实现单模型针对多类型任务进行统一建模,以使多类型任务可应用于相同模型中,降低模型训练时间及占用内存,是目前需要解决的一大难题。
技术实现要素:
本发明的目的是提供一种数据处理方法、系统、电子设备及存储介质,用于解决现有技术存在的问题。
为实现上述目的,本发明提供一种数据处理方法,所述方法包括:
获取输入的待处理任务数据,所述待处理任务数据包括任务前缀和问题本体;其中,所述待处理任务数据为文本格式,所述任务前缀用于表征所述待处理任务数据的任务类型,所述问题本体用于表征所述待处理任务数据的任务详情;
对所述待处理任务数据进行分词处理,得到多个第一字符;其中,所述第一字符包括字和词;
对多个所述第一字符进行编码,生成问题序列;
对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符;其中,所述第二字符包括字和词;
将多个所述第二字符拼接,生成任务结果数据并输出;其中,所述任务结果数据为文本格式。
优选地,所述对所述待处理任务数据进行分词处理,得到多个第一字符,还包括:
调用预设的分词器;
将所述待处理任务数据发送至所述分词器进行分词处理;
若所述分词器中存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照词进行分词处理,以生成多个第一字符;
若所述分词器中未存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照字进行分词处理,以生成多个第一字符。
优选地,在所述调用预设的分词器之前,还包括:
获取中文语料库;
使用所述分词器在所述中文语料库中进行分词处理,确定所述分词器中字符的出现频率;
按照所述出现频率从高到低进行排序,从所述分词器中删除预设比例的字符。
优选地,所述对多个所述第一字符进行编码,生成问题序列,还包括:
获取多个所述第一字符的字符向量和位置向量;其中,所述位置向量为相对位置向量;
将多个所述第一字符的字符向量和相对位置向量发送至编码器中进行编码处理,生成问题序列。
优选地,所述将多个所述第一字符的字符向量和相对位置向量发送至编码器中进行编码处理,生成问题序列,还包括:
根据所述字符向量和相对位置向量组合形成对应的所述第一字符的向量集;
将每个所述第一字符的向量集分别与全部所述第一字符的向量集进行单独判断,获得对应每个所述第一字符的多个注意力值;
将多个所述注意力值通过组合形成对应的所述第一字符的特征向量;
根据多个所述第一字符的特征向量生成所述问题序列。
优选地,所述对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符,还包括:
将所述问题序列发送至解码器中进行解码处理;
通过解码器提取所述问题序列中多个所述第一字符的特征向量;
按照问题序列从左到右的顺序,将第n个所述第一字符的特征向量分别与第n-1个之后的所述第一字符的特征向量进行单独判断,依次获得每个所述第一字符对应的第二字符;其中,n为所述第一字符按照问题序列从左到右的顺序的位置序号。
优选地,所述将多个所述第二字符拼接,生成任务结果数据,还包括:
对所述任务结果数据进行敏感词过滤处理及情绪过滤处理;
若所述任务结果数据包括敏感词和/或负面情绪,则将所述任务结果数据返回至所述解码器中进行重新解码处理;
当所述重新解码处理的次数大于预设阈值时,生成预设的任务安全答案。
为实现上述目的,本发明还提供一种数据处理系统,包括:
获取单元,用于获取待处理任务数据,所述待处理任务数据包括任务前缀和问题本体;其中,所述待处理任务数据为文本格式,所述任务前缀用于表征所述待处理任务数据的任务类型,所述问题本体用于表征所述待处理任务数据的任务详情;
分词单元,用于对所述待处理任务数据进行分词处理,得到多个第一字符;其中,所述第一字符包括字和词;
编码单元,用于对多个所述第一字符进行编码,生成问题序列;
解码单元,用于对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符;其中,所述第二字符包括字和词;
生成单元,用于将多个所述第二字符拼接,生成任务结果数据;其中,所述任务结果数据为文本格式。
为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如上述任意一项所述的数据处理方法。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如上述任意一项所述的数据处理方法。
上述技术方案的有益效果:
本发明提供的数据处理方法、系统、电子设备及存储介质,输入的待处理任务数据和输出的任务结果数据均为文本格式,且使用文本格式的任务前缀在待处理任务数据输入时,使不同任务类型的待处理任务数据具有一定区分性。可知,针对不同任务类型的待处理任务数据,编码器的输入格式与解码器的输出格式相同,以实现相同的编码、解码等过程可直接应用于不同任务类型的待处理任务数据上,即不同任务类型的待处理任务数据可使用相同模型进行编码、解码等过程。替代不同任务类型需使用不同模型的处理方式,有效减少模型占用内存及降低模型生成时间。同时通过敏感词过滤和情绪过滤处理,防止生成敏感词及负面情绪的生成。
附图说明
图1为本发明数据处理方法实施例一的流程示意图a;
图2为本发明数据处理方法实施例一的流程示意图b;
图3为本发明数据处理方法实施例二的数据处理的功能单元图;
图4为本发明数据处理方法实施例三的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在说本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
实施例一
请参阅图1,其为本发明数据处理方法实施例一的流程示意图a,从图中可以看出,包括s100、s200、s300、s400、s500步骤,具体如下:
s100:获取输入的待处理任务数据,所述待处理任务数据包括任务前缀和问题本体;其中,所述待处理任务数据为文本格式,所述任务前缀用于表征所述待处理任务数据的任务类型,所述问题本体用于表征所述待处理任务数据的任务详情。
在示例性的实施例中,使用不同任务前缀对不同类型的待处理任务数据进行分类。具体的,任务前缀由业务人员根据业务需求进行预先设定,例如:“问答:”、“摘要:”、“情绪分类:”、“相似度匹配:”、“词生句:”、“英译中:”、“中译英:”等。用户设备从预先设定的任务前缀中进行选择,然后由用户设备进行问题文本的自定义输入,以形成待处理任务,例如:“问答:床前明月光的下一句的下一句是什么”、“情绪分类:我感觉自己是地球上最不幸的人”、“中译英:我爱我的故土”。其中,用户设备是指待处理任务数据发送方,如交通工具叫车服务中的乘客,所使用的移动终端或个人计算机等设备。
s200:对所述待处理任务数据进行分词处理,得到多个第一字符;其中,所述第一字符包括字和词。
在示例性的实施例中,调用预设的分词器,将所述待处理任务数据发送至所述分词器进行分词处理。若所述分词器中存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照词进行分词处理,以生成多个第一字符;若所述分词器中未存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照字进行分词处理,以生成多个第一字符。
具体的,对所述分词器做精简处理,以减少分词器所占用的内存。
请参阅图2,其为本发明数据处理方法实施例一的流程示意图b,从图中可以看出,包括s201、s202、s203步骤,具体如下:
s201:获取中文语料库。
在示例性的实施例中,可选用维基百科中文语料库或搜狗中文语料库或复旦大学中文语料库等作为本实施例的中文语料库,具体不作限制。
其中,当选用维基百科中文语料库,由于维基百科中文语料库的格式为xml格式,且存在的繁体字较多。需将获取到的维基百科中文语料库进行格式转换,如:text格式,并将格式转换后的维基百科中文语料库中的繁体字转换为简体字后再使用。
s202:使用所述分词器在所述中文语料库中进行分词处理,确定所述分词器中字符的出现频率。
在示例性的实施例中,将原始分词器在在所述中文语料库中进行分词处理,并统计分词结果。例如:原始分词器中存在有20万个字符,将20万个字符在维基百科中文语料库中进行分词处理,并统计每个字符的出现频率。
s203:按照所述出现频率从高到低进行排序,从所述分词器中删除预设比例的字符。
在示例性的实施例中,按照每个字符的出现频率从高到低进行排序后,从所述分词器中删除出现频率较低的部分字符,进而减少占用内存。例如:按照每个字符的出现频率从高到低进行排序后,从所述分词器中删除后75%出现频率较低的15万个字符,保存前25%出现频率较高的5万个字符,以对所述分词器做精简处理,减少分词器所占用的内存。需特别说明的是,后75%出现频率较低的15万个字符通常为不常用字符和/或小语种字符。
s300:对多个所述第一字符进行编码,生成问题序列。
在示例性的实施例中,获取多个所述第一字符的字符向量和位置向量;其中,所述位置向量为相对位置向量。
具体的,通过word2vec词嵌入方法获取所述第一字符的字符向量,通过公式1获取所述第一字符的相对位置向量。
bij[2t]=sin((j-i)/100002t/dimension))
bij[2t 1]=cos((j-i)/100002t/dimension))(公式1)
其中,i表示字符i的绝对位置,j表示字符j的绝对位置,bij表示字符i和字符j的相对位置向量,2t表示偶数维度,2t 1表示奇数维度,dimension表示字符的维度。例如:“灵儿是个小仙女”,每个字符的维度为8,灵的绝对位置为1,儿的绝对位置为2,b12=[b12[0],b12[1],b12[2],b12[3],…b12[7]],b12[0]=sin((2-1)/10000^(2*0/8))=sin(1/10000^0)。通过使用相对位置向量,有效区分了绝对位置为1的字符关系和绝对位置为1000的字符关系。
可以理解为,当字符i知道其他多个字符j距离自身距离有多远时,在字符i与其他多个字符j分别做关联性判断时,就不会将其他多个字符j平等对待,距离字符i越近的字符j,二者的关联性就越强。例如:
句子1:“灵儿不是一个小仙女”
句子2:“灵儿是一个仙女,不对吗?”
句子1和2中都含有否定词“不”,但在句子1中所表示的意思为否定,在句子2中所表示的意思为肯定。若采用绝对位置向量表示,句子1和2中的“不”与“是”,两个字符之间的关联性是相同的;若采用相对位置向量,则句子1中的“不”与“是”的相对距离更近,关联性较强,而句子2中的“不”与“是”的相对距离较远,关联性就较弱。
进一步的,将多个所述第一字符的字符向量和相对位置向量发送至编码器中进行编码处理。
具体的,将所述第一字符的字符向量和相对位置向量组合相加后形成所述第一字符的向量集,将所述第一字符的向量集发送至编码器中进行编码处理。本实施例中,编码器包括有12层编码层,每层编码层包括有self-attention(自注意力层)和feedforwardneuralnetwork(前馈网络层)。第一层编码层的输入为分词器的输出,接下来每层编码层的输入都是上层编码层的输出,
其中,编码层的自注意力层中的注意力计算为双向计算,及每个字符都分别与其他字符做相关度计算。例如:“中译英:我爱我的故土”分别对应“x1,x2,x3,x4,x5,x6,x7,x8,x9,x10”。双向计算是指x1分别与x1到x10做相关度计算,x2也会分别与x1到x10做相关度计算,即每个所述第一字符的向量集分别与全部所述第一字符的向量集进行单独判断。每次单独判断都会获得对应的所述第一字符的一个注意力值(例如:x1与x1单独判断获得x1的注意力值a,x1与x2单独判断获得x1的注意力值b),最后将多个所述注意力值通过组合形成对应的所述第一字符的特征向量。相关度计算如(1)至(4)所示:
(1)q=xwq,k=xwk,v=xwv
其中,x=字符向量 相对位置向量,首先初始化q,k,v向量,通过每个字符x与不同权重矩阵wq,wk,wv相乘后,得到每个字符的query向量(q),key向量(k)和value向量(v)。
(2)
attention(注意力),通过attention计算q与各个k的相关性,得到每个k对应v的权重系数,通过softmax函数运算归一化后,对权重系数和对应的v进行加权求和,得到attention值(注意力值)。其中,kt为k的转置运算,
(3)headi=attention(qi,ki,vi)=attention(xwqi,xwki,xwvi)
其中,headi表示第i个头,每个头通过不同的权重矩阵wqi,wki,wvi获得不同的qi,ki,vi,然后对每个头下的qi,ki,vi都进行上述的attention计算,可以得到i个attention值。
(4)multiatt(wo)=[head1;…;headi]wo,
其中,“;”表示拼接,将i个attention值拼接乘以权重矩阵wo,以获得最终attention值,即特征向量。
本实施例中,编码器可参见现有技术中transformer模型中的编码器结构,具体不作限制。
需特别说明的是,由于所述待处理任务数据中包括有任务前缀和问题本体,而经过分词处理的所述待处理任务数据生成的多个第一字符,需分别与每个第一字符进行相关度计算。即,针对不同任务前缀,但问题本体相同的前提下,例如:“中译英:我爱我的故土”与“情绪分类:我爱我的故土”,两个句子中,问题本体相同,均为“我爱我的故土”,由于任务前缀不同,故经分词处理且生成第一字符经编码处理后,两个句子中相同的第一字符所获得特征向量不同。可知,由于使用了不同任务前缀,使不同任务类型的待处理任务数据具有了一定的区分性。
s400:对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符;其中,所述第二字符包括字和词。
在示例性的实施例中,将所述问题序列发送至解码器中进行解码处理,通过解码器提取所述问题序列中多个所述第一字符的特征向量。本实施例中,解码器包括有12层解码层,每层解码层包括有self-attention(自注意力层)、encoder-decoderattention(编码-解码注意力层)和feedforwardneuralnetwork(前馈网络层),第一层解码层的输入为最后一层编码层的输出,接下来每层解码层的输入是上层解码层的输出。
具体的,解码层的自注意力层中的注意力计算为单向计算。例如:“中译英:我爱我的故土”分别对应“x1,x2,x3,x4,x5,x6,x7,x8,x9,x10”。单向计算是指x1分别与x1到x10做相关度计算,x2分别与x2到x10做相关度计算。即按照问题序列从左到右的顺序,将第n个所述第一字符的特征向量分别与第n-1个之后的所述第一字符的特征向量进行单独判断。其中,n为所述第一字符按照问题序列从左到右的顺序的位置序号。例如:待处理任务数据为“中译英:我爱我的故土”,则“中”的位置序号为1,“译”的位置序号为2。解码器相关度计算原理与编码层相同。
将最后一层解码器的输出向量乘以权重矩阵,权重矩阵的每一行对应一个字符的字符向量。即该乘法得到的结果就是每个字符对应的注意力得分,选择得分最高的字符作为第二字符输出,此时解码器输出了一个第二字符,完成了一轮迭代。将输出的第二字符添加在问题序列的尾部构建新的问题序列输入解码器中,依次获得每个所述第一字符对应的第二字符,自至完成对问题序列的全部解码。
本实施例中,解码器可参见现有技术中transformer模型中的解码器结构,具体不作限制。
s500:将多个所述第二字符拼接,生成任务结果数据并输出;其中,所述任务结果数据为文本格式。
在示例性的实施例中,对所述任务结果数据进行敏感词过滤处理及情绪过滤处理。在第二字符生成过程中,若分别有“杀”、“死”、“你”等字符,可能会拼接形成“杀死你”等敏感词。通过调用预设的敏感词词典,遍历查询,避免敏感词的直接生成输出。其中,敏感词词典由业务人员根据敏感词汇进行预先设定,若所述任务结果数据中无敏感词,则对所述任务结果数据进行情绪过滤处理;若所述任务结果数据中存在敏感词,则将所述任务结果数据返回至所述解码器中进行重新解码处理,并对重新生成的任务结果数据再次进行敏感词过滤处理。若重新生成的次数大于预设阈值时,如:5次,则生成预设的任务安全答案进行输出,如“请再输入一次,这题我不会”。
当所述任务结果数据中无敏感词时,对所述任务结果数据进行情绪过滤处理。所述情绪过滤处理的步骤包括:
(1)设置情绪类型,并设定候选词词库,候选词词库的词数量为n。例如:情绪类型包括:“很好”、“还好”、“不好”,候选词词库包括:“很”、“还”、“不”,n=3。
(2)设置情绪模式。例如:情绪模式为“—好”;其中,下划线表示空格,用于从所述候选词词库中调用一个词进行填空。
(3)将情绪模式作为情绪前缀与所述任务结果数据进行拼接,生成情绪判断句。例如:所述任务结果数据为“我爱我的故土”,则拼接后的情绪判断句为“—好,我爱我的故土”。
(4)调用预设的语义提取模型,从所述候选词词库中选择一个词对所述情绪判断句进行补全。例如:调用roberta模型,所述roberta模型包括编码器a,将所述情绪判断句发送至所述roberta模型中,经所述编码器a后将所述情绪判断句中第一个位置输出的字符(“—”),对应的输入一个全连接层。所述全连接层包括n个结点(与所述候选词词库的词数量适配,则n=3),全连接层每个结点与所述候选词词库中的每个词一一对应(“很”、“还”、“不”),且结点的数值用于表征每个词被选为补全所述情绪判断句的词的概率,最后选择概率最高的词对所述情绪判断句进行补全。其中,“很”、“还”用于表征正面情绪,“不”用于表征负面情绪。
若选择“很”、“还”对所述情绪判断句进行补全,则表示所述任务结果数据为正面情绪,生成所述任务结果数据并输出;若“不”对所述情绪判断句进行补全,则表示所述任务结果数据为负面情绪,则将所述任务结果数据返回至所述解码器中进行重新解码处理,并对重新生成的任务结果数据再次进行敏感词过滤处理及情绪过滤处理。若重新生成次数大于预设阈值时,如:5次,则生成预设的任务安全答案进行输出,如“请再输入一次,这题我不会”。
本发明中输入的待处理任务数据和输出的任务结果数据均为文本格式,且使用文本格式的任务前缀在待处理任务数据输入时,使不同任务类型的待处理任务数据具有一定区分性。可知,针对不同任务类型的待处理任务数据,编码器的输入格式与解码器的输出格式相同,以使相同的编码、解码等过程可直接应用于不同任务类型的待处理任务数据上,即不同任务类型的待处理任务数据可使用相同模型进行编码、解码等过程。替代不同任务类型需使用不同模型的处理方式,有效减少模型占用内存及降低模型生成时间。同时通过敏感词过滤和情绪过滤处理,防止生成敏感词及负面情绪的生成。
实施例二
如图3所示,为本发明数据处理方法实施例二的数据处理的功能单元图。
所述系统包括获取单元31、分词单元32、编码单元33、解码单元34及生成单元35。本发明所称的单元是指一种能够被处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各单元的功能将在后续的实施例中详述。
获取单元31,用于获取待处理任务数据,所述待处理任务数据包括任务前缀和问题本体;其中,所述待处理任务数据为文本格式,所述任务前缀用于表征所述待处理任务数据的任务类型,所述问题本体用于表征所述待处理任务数据的任务详情。
分词单元32,用于对所述待处理任务数据进行分词处理,得到多个第一字符;其中,所述第一字符包括字和词。
在示例性的实施例中,获取预设的分词器,将所述待处理任务数据发送至所述分词器进行分词处理。若所述分词器中存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照词进行分词处理,以生成多个第一字符;若所述分词器中未存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照字进行分词处理,以生成多个第一字符。
编码单元33,用于对多个所述第一字符进行编码,生成问题序列。
在示例性的实施例中,获取多个所述第一字符的字符向量和位置向量;其中,所述位置向量为相对位置向量,将多个所述第一字符的字符向量和相对位置向量发送至编码器中进行编码处理,生成问题序列。
解码单元34,用于对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符;其中,所述第二字符包括字和词。
在示例性的实施例中,将所述问题序列发送至解码器中进行解码处理,通过解码器提取所述问题序列中多个所述第一字符的特征向量。按照问题序列从左到右的顺序,将第n个所述第一字符的特征向量分别与第n-1个之后的所述第一字符的特征向量进行单独判断,依次获得每个所述第一字符对应的第二字符。
生成单元35,用于将多个所述第二字符拼接,生成任务结果数据;其中,所述任务结果数据为文本格式。
在示例性的实施例中,对所述任务结果数据进行敏感词过滤处理及情绪过滤处理。若所述任务结果数据包括敏感词和/或负面情绪,则将所述任务结果数据返回至所述解码器中进行重新解码处理。当所述重新解码处理次数大于预设阈值时,生成任务安全答案。
实施例三
如图4所示,为本发明数据处理方法实施例三的电子设备的结构示意图。
在示例性的实施例中,所述电子设备4包括,但不限于,存储器41、处理器42,以及存储在所述存储器41中并可在所述处理器上运行的计算机程序,例如数据处理程序。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所述存储器41至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器41可以是电子设备的内部存储模块,例如该电子设备的硬盘或内存。在另一些实施例中,存储器41也可以是电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器41还可以既包括电子设备的内部存储模块也包括其外部存储设备。本实施例中,存储器41通常用于存储安装于电子设备的操作系统和各类应用软件。此外,存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42可以是中央处理模块(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器42是所述电子设备的运算核心和控制中心,利用各种接口和线路连接整个电子设备的各个部分,及执行所述电子设备的操作系统以及安装的各类应用程序、程序代码等。
所述处理器42执行所述电子设备的操作系统以及安装的各类应用程序。所述处理器42执行所述应用程序以实现上述各个数据处理方法实施例中的步骤,例如图1所示的步骤s100,s200,s300,s400。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储实现所述数据处理方法的计算机程序,被处理器42执行时实现实施例一或二或三的数据处理方法。
1.一种数据处理方法,其特征在于,所述方法包括:
获取输入的待处理任务数据,所述待处理任务数据包括任务前缀和问题本体;其中,所述待处理任务数据为文本格式,所述任务前缀用于表征所述待处理任务数据的任务类型,所述问题本体用于表征所述待处理任务数据的任务详情;
对所述待处理任务数据进行分词处理,得到多个第一字符;其中,所述第一字符包括字和词;
对多个所述第一字符进行编码,生成问题序列;
对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符;其中,所述第二字符包括字和词;
将多个所述第二字符拼接,生成任务结果数据并输出;其中,所述任务结果数据为文本格式。
2.根据权利要求1所述的数据处理方法,其特征在于,所述对所述待处理任务数据进行分词处理,得到多个第一字符,还包括:
调用预设的分词器;
将所述待处理任务数据发送至所述分词器进行分词处理;
若所述分词器中存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照词进行分词处理,以生成多个第一字符;
若所述分词器中未存在与所述待处理任务数据对应的词,则将所述待处理任务数据按照字进行分词处理,以生成多个第一字符。
3.根据权利要求2所述的数据处理方法,其特征在于,在所述调用预设的分词器之前,还包括:
获取中文语料库;
使用所述分词器在所述中文语料库中进行分词处理,确定所述分词器中字符的出现频率;
按照所述出现频率从高到低进行排序,从所述分词器中删除预设比例的字符。
4.根据权利要求1所述的数据处理方法,其特征在于,所述对多个所述第一字符进行编码,生成问题序列,还包括:
获取多个所述第一字符的字符向量和位置向量;其中,所述位置向量为相对位置向量;
将多个所述第一字符的字符向量和相对位置向量发送至编码器中进行编码处理,生成问题序列。
5.根据权利要求4所述的数据处理方法,其特征在于,所述将多个所述第一字符的字符向量和相对位置向量发送至编码器中进行编码处理,生成问题序列,还包括:
根据所述字符向量和相对位置向量组合形成对应的所述第一字符的向量集;
将每个所述第一字符的向量集分别与全部所述第一字符的向量集进行单独判断,获得对应每个所述第一字符的多个注意力值;
将多个所述注意力值通过组合形成对应的所述第一字符的特征向量;
根据多个所述第一字符的特征向量生成所述问题序列。
6.根据权利要求5所述的数据处理方法,其特征在于,所述对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符,还包括:
将所述问题序列发送至解码器中进行解码处理;
通过解码器提取所述问题序列中多个所述第一字符的特征向量;
按照问题序列从左到右的顺序,将第n个所述第一字符的特征向量分别与第n-1个之后的所述第一字符的特征向量进行单独判断,依次获得每个所述第一字符对应的第二字符;其中,n为所述第一字符按照问题序列从左到右的顺序的位置序号。
7.根据权利要求6所述的数据处理方法,其特征在于,所述将多个所述第二字符拼接,生成任务结果数据,还包括:
对所述任务结果数据进行敏感词过滤处理及情绪过滤处理;
若所述任务结果数据包括敏感词和/或负面情绪,则将所述任务结果数据返回至所述解码器中进行重新解码处理;
当所述重新解码处理的次数大于预设阈值时,生成预设的任务安全答案。
8.一种数据处理系统,其特征在于,包括:
获取单元,用于获取待处理任务数据,所述待处理任务数据包括任务前缀和问题本体;其中,所述待处理任务数据为文本格式,所述任务前缀用于表征所述待处理任务数据的任务类型,所述问题本体用于表征所述待处理任务数据的任务详情;
分词单元,用于对所述待处理任务数据进行分词处理,得到多个第一字符;其中,所述第一字符包括字和词;
编码单元,用于对多个所述第一字符进行编码,生成问题序列;
解码单元,用于对所述问题序列进行解码,获得与所述问题序列对应的多个第二字符;其中,所述第二字符包括字和词;
生成单元,用于将多个所述第二字符拼接,生成任务结果数据;其中,所述任务结果数据为文本格式。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至7中任意一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至7任意一项所述的数据处理方法。
技术总结