文本处理方法、装置、设备及介质
文献发布时间:2023-06-19 12:13:22
技术领域
本申请属于人机交互自然语言处理领域,尤其涉及一种文本处理方法、装置、设备及介质。
背景技术
随着人工智能时代的来临,以智能客服为代表的一类智能对话技术也发展迅速,但是由于自然语言表达具有多样性和歧义性,使得同一文本可以表达出不同含义,使得智能客服系统无法识别文本所属领域,进而对该文本的回复信息也不够准确,因此,智能客服系统在与客户进行人机对话过程中,需要准确识别用户输入文本所属领域。
在现有技术中,一般是针对领域知识库中的实体-属性、实体-关系-实体的三元信息进行建模,再由回归模型判断文本所对应的实体链接对象。
但是,由于其过于依赖于知识库信息,且适用于长文本的语义环境。而在绝大多数智能客服系统的问答环境中,经常使用短文本表达,因此,导致现有技术中存在无法准确确定用户输入文本的所属领域,进而无法准确得到对用户输入文本进行回答的相关信息。
发明内容
本申请实施例提供一种文本处理方法、装置、设备及介质,可以准确确定用户输入文本的所属领域,进而可以准确得到对用户输入文本进行回答的相关信息。
第一方面,本申请实施例提供一种文本处理方法,方法包括:获取待处理文本;
将待处理文本输入至预先训练的文本处理模型中,确定待处理文本所属领域属于预设领域的概率;
在概率大于预设阈值的情况下,从预设领域的知识库中确定对待处理文本进行回答的信息。
在第一方面的一些实施例中,将待处理文本输入至预先训练的文本处理模型中,确定待处理文本所属领域属于预设领域的概率,包括:
将待处理文本输入至预先训练的文本处理模型中的第一网络,确定至少一个标有特征标记的文本编码向量,特征标记用于表示文本编码向量的语义特征;
将至少一个文本编码向量输入至预先训练的文本处理模型中的第二网络,确定与至少一个文本编码向量对应的至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置;
将至少一个文本编码向量、至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置输入至预先训练的文本处理模型中的第三网络,确定待处理文本所属领域属于预设领域的概率。
在第一方面的一些实施例中,在获取待处理文本之前,方法还包括:
获取训练样本集,训练样本集中包括多个待处理文本样本组,每一个待处理文本样本组包括待处理文本样本及其对应的标签概率;
利用训练样本集中的待处理文本样本组训练预设的文本处理模型,直至满足训练停止条件,得到训练后的文本处理模型。
在第一方面的一些实施例中,利用训练样本集中的待处理文本样本组训练预设的文本处理模型,直至满足训练停止条件,得到训练后的文本处理模型,具体包括:
对每个待处理文本样本组,分别执行以下步骤:
将待处理文本样本组输入至预设文本处理模型中的第一网络,确定与每一待处理文本样本对应的至少一个标有参考特征标记的参考文本编码向量,参考特征标记用于表示参考文本编码向量的语义特征;
将至少一个参考文本编码向量输入至预设文本处理模型中的第二网络,确定与至少一个参考文本编码向量对应的至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置;
将至少一个参考文本编码向量、至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置输入至预设文本处理模型中的第三网络,确定每一待处理文本样本对应的参考概率;
根据目标待处理文本样本的参考概率和目标待处理文本样本的标签概率,确定预设文本处理模型的损失函数值,目标待处理文本样本是待处理文本样本组中的任一个;
在损失函数值不满足训练停止条件的情况下,调整文本处理模型的模型参数,并利用待处理文本样本组训练参数调整后的文本处理模型,直至损失函数值满足训练停止条件,得到训练后的文本处理模型。
在第一方面的一些实施例中,预设文本处理模型中的第二网络包括双向长短期记忆网络和向量随机网络。
在第一方面的一些实施例中,将至少一个参考文本编码向量、至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置输入至预设文本处理模型中的第三网络,确定每一待处理文本样本对应的参考概率,包括;
对每一待处理文本样本,分别执行以下步骤:
根据待处理文本样本中的至少一个参考文本编码向量、与至少一个参考文本编码向量对应的至少一个参考待处理词语、与参考待处理词语对应的参考词语开始位置和参考词语结束位置,拼接得到至少一个拼接向量;
根据至少一个拼接向量,确定每一待处理文本样本对应的参考概率。
在第一方面的一些实施例中,在确定待处理文本所属领域属于预设领域的概率之后,方法还包括:
在概率不大于预设阈值的情况下,根据待处理文本更新预设领域的知识库。
第二方面,本申请实施例提供了一种文本处理装置,装置包括:第一获取模块,用于获取待处理文本;
第一确定模块,用于将待处理文本输入至预先训练的文本处理模型中,确定待处理文本所属领域属于预设领域的概率;
第二确定模块,用于在概率大于预设阈值的情况下,从预设领域的知识库中确定对待处理文本进行回答的信息。
第三方面,提供一种文本处理设备,包括:存储器,用于存储计算机程序指令;处理器,用于读取并运行存储器中存储的计算机程序指令,以执行第一方面和第二方面中任一可选的实施方式提供的文本处理方法。
第四方面,提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面和第二方面中的任一可选的实施方式提供的文本处理方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
本申请实施例是在获取用户输入待处理文本的情况下,将待处理文本输入至预先训练的文本处理模型中,以此确定待处理文本所属领域属于预设领域的概率,进而可以在待处理文本大概率属于预设领域的情况下,从该预设领域的知识库中查找到与该待处理文本对应的且可以对该待处理文本进行回答的信息。如此,本申请能够通过文本处理模型先确定文本所属领域,然后从该领域所对应的知识库中查找可对待处理文本进行回答的相关信息,从而提高了查找对该文本进行回答的相关信息的准确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种文本处理方法中的训练模型流程示意图;
图2是本申请实施例提供的另一种文本处理方法中的训练模型流程示意图;
图3是本申请实施例提供的一种文本处理模型中第二网络的模型结构示意图;
图4是本申请实施例提供的一种双向长短期记忆网络结构示意图;
图5是本申请实施例提供的一种文本处理方法的流程示意图;
图6是本申请实施例提供的另一种文本处理方法的流程示意图;
图7是本申请实施例提供的一种文本处理装置的结构示意图;
图8是本申请实施例提供的一种文本处理设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
为了解决现有技术中存在的无法准确识别文本所属领域,进而无法准确得到可回复该文本的相关信息的问题,本申请实施例提供一种文本处理方法、装置、设备及介质。
需要说明的是,本申请实施例提供的文本处理方法中,需要利用预先训练好的文本处理模型对文本进行处理,因此,在利用文本处理模型进行文本处理之前,需要先训练好文本处理模型。因此,下面首先结合附图描述本申请实施例提供的文本处理模型的训练方法的具体实施方式。
本申请实施例提供一种文本处理模型的训练方法具体可以通过以下步骤来实现:
一、获取训练样本集。
这里,训练样本集中包括多个待处理文本样本组,每一个待处理文本样本组包括待处理文本样本及其对应的标签概率,该标签概率表征为待处理文本样本所属领域属于参考预设领域的概率。其中,待处理文本样本的所属领域和参考预设领域可以是电信领域、服装领域,护肤品领域等领域,也可以是上述领域的下级细分领域。例如,电信领域可以细分为流量套餐领域、话费充值领域等领域。
在一个可能的实施例中,如图1所示,获取训练样本集具体可以包括以下步骤:
S110、获取多个待处理文本样本。
S120、人工标注与多个待处理文本样本一一对应的标签概率。
S130、将获取的待处理文本样本以及人工标注的与每一待处理文本样本对应的标签概率整合成训练样本集。
通过对获取的多个待处理文本样本进行人工标注,得到与多个待处理文本样本一一对应的标签概率。在得到标签概率之后,进一步地将多个待处理文本样本以及对应的标签概率进行整和,可以得到训练集。如此,方便了后续模型的顺利训练。
下面介绍各步骤的具体实现方式。
首先,涉及S110,获取的多个待处理文本样本可以是直接通过智能客服系统获取用户输入的文本,或是在数据库中提取用户输入文本的历史数据。其中,待处理文本样本中包括至少一个参考待处理词语。
并且,为了方便训练,在获取待处理文本样本之后,可以将获取的待处理文本样本处理为如下格式:{“text_id”:3,“text”:"流量套餐显示不出来怎么办:”,“lab_result“:【{“mention”:“流量套餐”,“offset”:0,“kb_id”:183}】},其中,text_id为待处理文本样本序号,mention为参考待处理词语,offset为参考待处理词语相对待处理文本的偏移量,kb_id为待处理文本样本对应的相关信息在知识库中的id号,待处理文本样本的具体格式在此不作限定。
另外,在获取待处理文本样本的过程中,也可以根据多个待处理文本样本中的参考待处理词语或者其涉及到的领域内的文本范本,建立该领域的知识库,便于后续在对应的领域知识库中查找对应的可对待处理文本进行回答的相关信息。具体地,知识库中的数据格式可以为{text_id:“text”},例如,{1:“移动公司”},具体的建立知识库的方式以及知识库中的数据格式,在此不作过多限定。
在一个示例中,在待处理文本样本获取的过程中,为了准确得到文本处理结果,进而准确得到训练后的模型,可以在S110和S120之间,对待处理文本样本进行预处理。
作为一示例,当获取的待处理文本样本可能存在因篇幅过长导致后续文本处理时间过长时,预处理可以为:
按照文本预设长度将待处理文本样本进行截断。
本步骤可以具体为:在保证待处理文本样本含有尽可能多的参考待处理词语的情况下,按照文本预设长度将待处理文本样本进行截断。其中,文本预设长度可以是基于实际需要人为设定的文本长度,文本预设长度的具体设置,在此不作限定。例如,文本预设长度可以设置为256个字符。如此,可以通过设置文本预设长度来对待处理文本样本的长度进行截断,从而缩短了文本处理的时间,提高了文本处理的效率。
作为另一个示例,当获取的待处理文本样本中可能含有特殊符号,以致于文本处理的结果不够准确,为了提高文本处理结果的准确性,预处理可以为:
去除待处理文本样本中的特殊符号。
其中,特殊符号可以是在文本中难以输入的符号,例如,可以是“
其次,涉及S120,标签概率表征为该待处理文本样本的所属领域属于参考预设领域的概率,可以根据该标签概率判断待处理文本样本是否属于参考预设领域。
然后,涉及S130,这里需要说明的是,由于文本处理模型需要进行多次迭代训练,以调整其损失函数值,至损失函数值满足训练停止条件,得到训练后的文本处理模型。而每次迭代训练中,若只输入一个待处理文本样本,样本量太少不利于文本处理模型的训练调整,因此,将训练集分为多个待处理文本样本组。其中,每一个待处理文本样本组中包含待处理文本样本以及其对应标签概率。如此可以利用训练样本集中的多个待处理文本样本组对文本处理模型进行迭代训练。
二、利用训练样本集中的待处理文本样本组训练预设的文本处理模型,直至满足训练停止条件,得到训练后的文本处理模型。
如图2所示,本步骤具体可以有以下步骤:
S210,将待处理文本样本组输入至预设文本处理模型中的第一网络,确定与每一待处理文本样本对应的至少一个标有参考特征标记的参考文本编码向量。
S220,将至少一个参考文本编码向量输入至预设文本处理模型中的第二网络,确定与至少一个参考文本编码向量对应的至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置。
S230,将至少一个参考文本编码向量、至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置输入至预设文本处理模型中的第三网络,确定每一待处理文本样本对应的参考概率。
S240,根据目标待处理文本样本的参考概率和目标待处理文本样本的标签概率,确定预设文本处理模型的损失函数值。
S250,在损失函数值不满足训练停止条件的情况下,调整文本处理模型的模型参数,并利用待处理文本样本组训练参数调整后的文本处理模型,直至损失函数值满足训练停止条件,得到训练后的文本处理模型。
下面介绍各步骤的具体实现方式。
首先,涉及S210,参考文本编码向量可以是从待处理文本样本提取的部分文本。参考特征标记用于表示参考文本编码向量的语义特征。预设文本处理模型中的第一网络可以是Bert(Bidirectional Encoder Representation from Transformers,双向Transformer的Encoder)预训练模型。相应地,在预设文本处理模型中的第一网络为Bert预训练模型的情况下,参考特征标记可以为CLS标记,该标记为Bert预训练模型编码时加入的特殊标记,能够在Bert预训练模型进行预训练时学习到待处理文本样本的句子级语义特征。对于预设文本处理模型的第一网络以及对应的参考特征标记不作过多限定。
并且,预设文本处理模型中的第一网络输出的参考文本编码向量可以是具有shape=(批次大小,句子字符数,隐藏层编码维度)大小的文本编码向量。在预设文本处理模型的第一网络为Bert预训练模型的情况下,shape=(批次大小,句子字符数,隐藏层编码维度)中的隐藏层编码维度可以是768,句子字符数在这里可以定义为256个,批次大小的数值在训练过程中可以根据实际需要进行人为的设定。另外,为了方便后续文本处理模型的训练,可以将输出结果按照待处理文本样本的编码(如id号)和生成的参考文本编码向量的对应关系以文件格式进行保存,具体的文件保存格式,在此不作限定。例如,可以保存为pkl文件格式。
其次,涉及S220,预设文本处理模型中第二网络可以包括双向长短期记忆网络和向量随机网络,本申请对于第二网络具体包括的网络不作过多限定。另外,一个参考文本编码向量对应至少一个参考待处理词语。
具体地,预设文本处理模型中的第二网络模型结构如图3所示,图中待处理文本样本经过预编码处理后进入ALBERT进行预训练,ALBERT为BERT预训练模型的轻量化版本,其性能足以支撑识别参考待处理词语任务的需求。其中,CLS为句首加入的特殊标记,SEP为句子分隔符,Embedding为参考文本编码向量。从ALBERT中得到参考文本编码向量Embedding后送入双向长短期记忆网络进行学习,最终得到针对B、I、O概率的输出,经过向量随机场处理后由维特比算法得出组合概率最大的标注组合。
其中,第二网络中所包含的双向长短期记忆网络的实质是通过LSTM层将待处理文本样本的上下文特征进行提取。其中,LSTM层包括某时刻的输入词,细胞状态,临时细胞状态,隐层状态,遗忘门,记忆门,输出门。LSTM层的计算过程可以概括为,通过对细胞状态中遗忘信息和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态,其中遗忘信息、记忆新的信息与输出通过上个时刻的隐层状态和当前输入计算出来的遗忘门,记忆门,输出门来控制。通过LSTM层,能够将当前输入的参考文本编码向量的上文信息融合到当前的输出中。
具体地,双向长短期记忆网络的具体结构如图4所示。在图中这三个门分别称为遗忘门、输入门和输出门。LSTM层的第一步就是决定细胞状态需要丢弃哪些信息。这部分操作是通过一个称为遗忘门的sigmoid单元来处理的。在输入h
f
式中,f
下一步是决定给细胞状态添加哪些新的信息。这一步又分为两个步骤,首先,利用上一时刻的输出通过一个称为输入门的操作来决定更新哪些信息。然后通过一个tanh层得到新的候选细胞信息,这些信息可能会被更新到细胞信息中。计算公式(2)如下所示:
i
式中,i
之后进行细胞状态的更新,计算公式(3)如下所示:
C
式中,C
更新完细胞状态后需要根据输入来判断输出细胞的哪些状态特征。这里需要将输入经过一个称为输出门的sigmoid层得到判断条件,然后将细胞状态经过tanh层得到一个-1~1之间值的向量,该向量与输出门得到的判断条件相乘就得到了最终该LSTM单元的输出。计算公式(4)和公式(5)如下所示:
h
式中,o
双向长短期记忆网络能够捕获上下文的信息。在使用Bert进行编码之后,再次使用了双向长短期记忆网络,其目的是为了能够更好的对短文本捕获上下文信息。向量随机场对BiLSTM的输出进行概率分布的预测,使得输出的序列符合实体出现的场景。
另外,为了便于得到预设文本处理模型的第三网络的输入,进而准确得到参考概率,可以将输出的与参考待处理词语对应的参考词语开始位置标注为“B”,参考待处理词语的其他部分利用“I”进行标注,待处理文本的其他部分使用“O”进行标记,以便得到预设文本处理模型的第三网络的输入。
在一个示例中,为了更好的训练预设的文本处理模型,在训练的过程中,可以使用利用训练集的70%进行训练,30%作为验证集。在进行预设次数的训练之后,在连续三次损失不再降低的情况下保存模型,最终模型对验证集识别的准确率为97.3%。具体的训练过程依据实际情况而定,此处不作过多限定。
然后,涉及S230,参考概率是经预设的文本处理模型对待处理文本样本进行识别后,得到的待处理文本样本所属领域属于预设领域的概率。
在一个实施例中,为了利用预设的文本处理模型中的第三网络得到参考概率。这里,将至少一个参考文本编码向量、至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置输入至预设文本处理模型中的第三网络,确定每一待处理文本样本对应的参考概率,可以包括;
对每一待处理文本样本,分别执行以下步骤:
根据待处理文本样本中的至少一个参考文本编码向量、与至少一个参考文本编码向量对应的至少一个参考待处理词语、与参考待处理词语对应的参考词语开始位置和参考词语结束位置,拼接得到至少一个拼接向量;
根据至少一个拼接向量,确定每一待处理文本样本对应的参考概率。
其中,拼接向量是基于至少一个的参考文本编码向量,每一个参考文本编码向量中的至少一个参考待处理词语、每一个参考待处理词语对应的参考词语开始位置和参考词语结束位置等多个输入连接到一个输出的向量,简言之,拼接也就是将除主轴外维度相同的多个向量,进行简单合并。并且,拼接向量和参考文本编码向量一一对应的。
其实,这里可以将预设文本处理抽象成一个分类问题,因此,可以选用激活函数为Sigmoid的全连接层作为输出,以充当分类器的角色。Sigmoid的函数如公式(6)所示:
将经过Bert预训练模型编码后至少一个的参考文本编码向量,每一个参考文本编码向量中的至少一个参考待处理词语、每一个参考待处理词语对应的参考词语开始位置和参考词语结束位置通过将预设文本处理模型的第三网络的输入进行拼接,并将拼接结果传入到最后的分类器中。为了能够使第三网络更适合于任务目标,方案在分类器之前还添加了一层激活函数为ReLU的全连接层。其中,ReLU的函数如公式(7)为:
如此,可以通过之前得到的训练集,标注其中待处理文本样本的向量矩阵。其中,该向量矩阵中包括待处理文本样本的参考文本编码向量,参考待处理词语、以及与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置,还有表示为该待处理文本样本所属领域是否属于参考预设领域的参考概率。在得到向量矩阵之后,进一步进行训练,得到最终的文本处理模型。
在一个示例中,为了保证数据样本均衡,以减低对模型结果产生不利影响,在训练过程中,待处理文本样本所属领域属于预设领域的高标签概率数据和低标签概率数据的比例可以为1:3。除此之外,可以对数据使用合成少数类过采样(Synthetic MinorityOversampling Technique,SMOTE)的方法进行数据增强。SMOTE过采样的步骤如下:
设训练集的一个少数类的样本数为T,考虑该少数类的一个样本i,其特征向量为x
(1)首先从该少数类的全部T个样本中找到样本χ
(2)然后从这k个近邻中随机选择一个样本χ
(3)将步骤2重复进行N次,从而可以合成N个新样本:χ
在进行数据加强之后,模型训练也可以采用7折交叉验证的方式,对模型进行训练,进而选择最好的保存为最终模型。具体的,可以使用3000条格式相同,但未参与训练的数据进行测试,得到的最终参考概率为0.873。在客服系统中,从用户的输入开始到输出结果,所需时间为2.5s,符合实际需求。实验证明,本方案所设计的智能客服系统中针对特定领域的文本处理模型,相对于其他文本处理模型对单一领域具有更好的识别率,由于使用二分类做最终的预测,模型在保证准确率的前提下缩短了响应时间,使得文本处理模型能够很好的服务于客服系统。
模型评价选择的参考概率,如下公式(8)至公式(10)所示:
其中TP为预测正确的数目,FN为标注匹配被误判为不匹配的样本数目,FP为标注为不匹配被误判为匹配的样本数目,precision为预测正确的参考概率,recall为预测错误的参考概率,Score为人为设定的误差概率。
再次,涉及S240,目标待处理文本样本是待处理文本样本组中的任意一个。具体地,基于目标待处理文本样本中最终得到的参考概率以及之前标注的标签概率,确定预设文本处理模型的损失函数值。
最后,涉及S250,为了得到训练后的文本处理模型,在损失函数值不满足训练停止条件的情况下,调整文本处理模型的模型参数,并利用待处理文本样本组训练参数调整后的文本处理模型,直至损失函数值满足训练停止条件,得到训练后的文本处理模型。
基于上述实施例训练得到的文本处理模型,本申请还提供了一种文本处理方法的具体实施方式,具体结合图5进行详细说明。
S510,获取待处理文本。
S520,将待处理文本输入至预先训练的文本处理模型中,确定待处理文本所属领域属于预设领域的概率。
S530,在概率大于预设阈值的情况下,从预设领域的知识库中确定对待处理文本进行回答的信息。
由此,可以在获取用户输入待处理文本的情况下,将待处理文本输入至预先训练的文本处理模型中,以此确定待处理文本所属领域属于预设领域的概率,进而可以在待处理文本大概率属于预设领域的情况下,从该预设领域的知识库中查找到与该待处理文本对应的且可以对该待处理文本进行回答的信息。如此,本申请能够通过文本处理模型先确定文本所属领域,然后从该领域所对应的知识库中查找可对待处理文本进行回答的相关信息,从而提高了查找对该文本进行回答的相关信息的准确性。
下面对上述步骤进行详细说明,具体如下所示:
首先,涉及S510,待处理文本表征为需要得到相关信息回答的文本,其中,待处理文本中包含至少一个待处理词语。在一些实施例中,可以通过各种应用程序中的智能客服系统获取用户输入的文本作为待处理文本,具体的获取待处理文本的方式在此不作过多限定。
其次,涉及S520,将待处理文本输入至预先训练的文本处理模型,以得到与该待处理文本对应的,且表征该待处理文本领域属于预设领域的概率,以此可以确定待处理文本所属领域。其中,待处理文本所属领域和预设领域可以是电信领域、服装领域,护肤品领域等领域,也可以是上述领域的下级细分领域。例如,电信领域可以细分为流量套餐领域、话费充值领域等领域。以此,通过确定待处理文本所属领域属于预设领域的概率,方便后续准确得到与该待处理文本对应的且可对该待处理文本进行回答的相关信息。
在一个具体的实施例中,上述涉及的S520具体可包括:S521-S523。
S521,将待处理文本输入至预先训练的文本处理模型中的第一网络,确定至少一个标有特征标记的文本编码向量,特征标记用于表示文本编码向量的语义特征。
这里,文本编码向量是从待处理文本提取的部分文本,预先训练的文本处理模型中的第一网络可以是Bert预训练模型,在第一网络是Bert预训练模型的情况下,特征标记可以是CLS标记,该标记为Bert预训练模型编码时加入的特殊标记,能够在Bert预训练模型进行预训练时学习到待处理文本样本的句子级语义特征。对于预先训练的文本处理模型的第一网络以及对应的特征标记不作过多限定。
其中,预先训练的文本处理模型中的第一网络输出的文本编码向量可以是具有shape=(批次大小,句子字符数,隐藏层编码维度)大小的文本编码向量。在预先训练的文本处理模型的第一网络为Bert预训练模型的情况下,shape=(批次大小,句子字符数,隐藏层编码维度)中的隐藏层编码维度可以是768,句子字符数在这里可以定义为256个,批次大小的数值可以根据实际需要进行人为的设定。并且,可以将输出结果按照待处理文本的编码(如id号)和生成的文本编码向量的对应关系以文件格式进行保存,具体的文件保存格式不作限定。例如,可以保存为pkl文件格式。
S522,将至少一个文本编码向量输入至预先训练的文本处理模型中的第二网络,确定与至少一个文本编码向量对应的至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置。
具体地,预先训练的文本处理模型中第二网络可以包括双向长短期记忆网络和向量随机网络,本申请对于第二网络具体包括的网络不作过多限定。另外,一个文本编码向量对应至少一个参考待处理词语。
S523,将至少一个文本编码向量、至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置输入至预先训练的文本处理模型中的第三网络,确定待处理文本所属领域属于预设领域的概率。
具体地,基于输入至预先训练的文本处理模型中的第三网络中的至少一个文本编码向量、至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置,生成至少一个向量,进而可以根据至少一个向量确定待处理文本所属领域属于预设领域的概率。其中,涉及的向量是基于至少一个的文本编码向量,每一个文本编码向量中的至少一个待处理词语、每一个待处理词语对应的词语开始位置和词语结束位置等多个输入连接到一个输出的向量,简言之,也就是将除主轴外维度相同的多个向量,进行简单合并。其中,向量与文本编码向量一一对应的。
由此,在将待处理文本输入至预先训练的文本处理模型中的第一网络中,确定至少一个文本编码向量之后,将确定的至少一个文本编码向量依次输入至预先训练的文本处理模型中的第二网络中,确定至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置。最后,将上述确定的各个信息输入至预先训练的文本处理模型中的第三网络中,提高了确定的待处理文本所属领域属于预设领域的概率的准确性。
然后,涉及S530,预设阈值可以是基于历史数据或者实际需求设置的阈值,在待处理文本所属领域属于预设领域的概率大于阈值的情况下,可以从预先构建的知识库中查找到可以对待处理文本进行回答的信息,并将得到的信息传入智能客服系统中。
在一个可能的实施例中,上述涉及的文本处理方法还可以包括:
在概率不大于预设阈值的情况下,根据待处理文本更新预设领域的知识库。
也就是说,在待处理文本所属领域属于预设领域的概率小于预设阈值的情况下,可以根据待处理文本、以及其中的待处理词语、词语开始位置、词语结束位置传递给知识库并进行编号。
以此,可以通过在待处理文本所属领域属于预设领域的概率小于预设阈值的情况下,实时更新预设领域的知识库,以便后续进行文本处理时可以得到更加准确完整的处理结果。
另外,为了提高文本处理的效率以及准确性,在将待处理文本输入至预先训练的文本处理模型之前,可以对待处理文本进行预处理。
作为一示例,为了避免因待处理文本篇幅过长导致文本处理时间过长,预处理可以为:
在保证待处理文本含有尽可能多的待处理词语的情况下,按照预设长度将待处理文本进行截断。
其中,预设长度可以是基于实际需要人为设定的文本长度,预设长度的具体设置,在此不作限定。例如,预设长度可以设置为256个字符,如此,通过设置预设长度来对待处理文本的长度进行截断,从而缩短了文本处理的时间,提高了文本处理的效率。
作为另一个示例,为了避免因待处理文本中含有特殊字符导致的文本处理结果不够准确,预处理可以为:
去除待处理文本中含有的特殊字符。
其中,特殊符号可以是在文本中难以输入的符号,例如,可以是“
除此之外,为了保证获取对待处理文本进行回答的相关信息的完整性,上述涉及的文本处理方法,在获取待处理文本之前,还可以包括:
构建预设领域的知识库。
其中,知识库中的数据格式可以为{text_id:“text”},例如,{1:“移动公司”},具体的知识库中数据格式可依据实际需要进行变更,在此不作过多限定。在一些实施例中,预设领域的知识库的建立可以依据预设领域内文本范本或是基于历史用户输入文本进行构建,预设领域的知识库的具体构建,在此不作限定。
基于相同的发明构思,本申请实施例还提供了一种文本处理装置。具体结合图7进行说明
图7是本申请实施例提供的一种文本处理装置的结构示意图。
如图7所示,该文本处理装置可以包括:获取模块、第一确定模块和第二确定模块。
第一获取模块710,用于获取待处理文本;
第一确定模块720,用于将待处理文本输入至预先训练的文本处理模型中,确定待处理文本所属领域属于预设领域的概率;
第二确定模块730,用于在概率大于预设阈值的情况下,从预设领域的知识库中确定对待处理文本进行回答的信息。
在一些实施例中,第一确定模块具体可以包括:
第一确定子模块,用于将待处理文本输入至预先训练的文本处理模型中的第一网络,确定至少一个标有特征标记的文本编码向量,特征标记用于表示文本编码向量的语义特征;
第二确定子模块,用于将至少一个文本编码向量输入至预先训练的文本处理模型中的第二网络,确定与至少一个文本编码向量对应的至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置;
第三确定子模块,用于将至少一个文本编码向量、至少一个待处理词语、与每个待处理词语对应的词语开始位置和词语结束位置输入至预先训练的文本处理模型中的第三网络,确定待处理文本所属领域属于预设领域的概率。
在一些实施例中,装置还可以包括:
第二获取模块,用于获取训练样本集,训练样本集中包括多个待处理文本样本组,每一个待处理文本样本组包括待处理文本样本及其对应的标签概率;
训练模块,用于利用训练样本集中的待处理文本样本组训练预设的文本处理模型,直至满足训练停止条件,得到训练后的文本处理模型。
在一些实施例中,训练模块具体可以用于:
对每个待处理文本样本组,分别执行以下步骤:
将待处理文本样本组输入至预设文本处理模型中的第一网络,确定与每一待处理文本样本对应的至少一个标有参考特征标记的参考文本编码向量,参考特征标记用于表示参考文本编码向量的语义特征;
将至少一个参考文本编码向量输入至预设文本处理模型中的第二网络,确定与至少一个参考文本编码向量对应的至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置;
将至少一个参考文本编码向量、至少一个参考待处理词语、与每个参考待处理词语对应的参考词语开始位置和参考词语结束位置输入至预设文本处理模型中的第三网络,确定每一待处理文本样本对应的参考概率;
根据目标待处理文本样本的参考概率和目标待处理文本样本的标签概率,确定预设文本处理模型的损失函数值,目标待处理文本样本是待处理文本样本组中的任一个;
在损失函数值不满足训练停止条件的情况下,调整文本处理模型的模型参数,并利用待处理文本样本组训练参数调整后的文本处理模型,直至损失函数值满足训练停止条件,得到训练后的文本处理模型。
在一些实施例中,预设文本处理模型中的第二网络包括双向长短期记忆网络和向量随机网络。
在一些实施例中,训练模块具体可以用于:
对每一待处理文本样本,分别执行以下步骤:
根据待处理文本样本中的至少一个参考文本编码向量、与至少一个参考文本编码向量对应的至少一个参考待处理词语、与参考待处理词语对应的参考词语开始位置和参考词语结束位置,拼接得到至少一个拼接向量;
根据至少一个拼接向量,确定每一待处理文本样本对应的参考概率。
在一些实施例中,该装置还包括:
更新模块,用于在概率不大于预设阈值的情况下,根据待处理文本更新预设领域的知识库。
由此,可以在获取用户输入待处理文本的情况下,将待处理文本输入至预先训练的文本处理模型中,以此确定待处理文本所属领域属于预设领域的概率,进而可以在待处理文本大概率属于预设领域的情况下,从该预设领域的知识库中查找到与该待处理文本对应的且可以对该待处理文本进行回答的信息,如此,本申请能够通过文本处理模型先确定文本所属领域,然后从该领域所对应的知识库中查找可对待处理文本进行回答的相关信息,从而提高了查找对该文本进行回答的相关信息的准确性。
基于同一发明构思,本申请实施例还提供了一种电子设备,具体结合图8进行详细说明。
图8是本申请实施例提供的一种文本处理设备的结构示意图。
如图8所示,本实施例中的文本处理设备800包括输入设备801、输入接口802、中央处理器803、存储器804、输出接口805、以及输出设备806。其中,输入接口802、中央处理器803、存储器804、以及输出接口805通过总线810相互连接,输入设备801和输出设备806分别通过输入接口802和输出接口805与总线810连接,进而与信息获取设备800的其他组件连接。
具体地,输入设备801接收来自外部的输入信息,并通过输入接口802将输入信息传送到中央处理器803;中央处理器803基于存储器804中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器804中,然后通过输出接口805将输出信息传送到输出设备806;输出设备806将输出信息输出到信息获取设备800的外部供用户使用。
在一个实施例中,图8所示的文本处理设备800包括:存储器804,用于存储程序;处理器803,用于运行存储器中存储的程序,以执行本申请实施例提供的图5或图6所示实施例的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本申请实施例提供的图5或图6所示实施例的方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和展示出了若干具体地步骤作为示例。但是,本申请的方法过程并不限于所描述和展示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ApplicationSpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(Read-Only Memory,ROM)、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(Radio Frequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
- 文本处理模型的训练、文本处理方法、装置、设备和介质
- 文本识别、文本处理方法、装置、计算机设备和存储介质