本申请涉及数据处理技术领域,具体涉及一种文本处理方法、装置、服务器及存储介质。
背景技术:
目前,在招聘问答工作中,负责招聘的行政人员需要处理大量重复的应聘者的问题以及招聘的宣传工作等,存在人力成本的极大浪费。或者,通过智能客服终端回答相关问题,而智能客服终端回答问题一般是先分析问题的语义信息,根据语义信息从本地语料库的语料内容查找相关的回答,而简单的语义匹配,使得有些问题无法从语料库得到,或者查找的回答与问题之间的相关性较低,即精准性较低,因此智能客服终端提供的答案不能完全满足用户需求。
技术实现要素:
本申请实施例提供一种文本处理方法、装置、服务器及存储介质,可以提高文本处理的准确率和效率。
第一方面,本申请实施例提供了一种文本处理方法,包括:
获取待处理的文本;
按照预设策略对所述文本进行分词处理,得到组成所述文本的词语;
根据所述词语对所述文本进行特征提取,得到特征向量;
基于所述特征向量通过多级级联的分类模型确定所述文本的类型;
根据所述文本的类型确定与所述文本对应的答复信息。
在一些实施方式中,所述多级级联的分类模型包括支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型,所述基于所述特征向量通过多级级联的分类模型确定所述文本的类型包括:
基于所述特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取所述文本的类型的预测值;
根据所述预测值通过第二级的极端梯度提升模型确定所述文本的类型。
在一些实施方式中,所述基于所述特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取所述文本的类型的预测值之前,所述方法还包括:
获取训练样本;
对所述训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本;
按照所述预设策略对所述处理后的训练样本进行分词处理,生成包含多个词语的词语集;
根据所述词语集获取所述处理后的训练样本的样本特征向量;
根据所述样本特征向量对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
在一些实施方式中,所述根据所述词语集获取所述处理后的训练样本的样本特征向量包括:
获取所述词语集中每个词语在每条处理后的训练样本中存在的频率;
从所述处理后的训练样本中筛选出包含所述词语集中的词语的训练样本,得到目标训练样本;
获取所述目标训练样本在所述处理后的训练样本中的逆向文本频率;
根据所述频率及所述逆向文本频率生成所述每个词语对应的参数;
根据所述每个词语对应的所述参数生成样本特征向量。
在一些实施方式中,对所述训练样本进行近义词替换的增广处理,得到处理后的训练样本包括:
对所述训练样本进行分词处理,得到多个词语;
从近义词库中查找与每个词语相似度大于预设阈值的词语,得到候选词语;
对所述候选词语进行排列组合,生成处理后的训练样本。
在一些实施方式中,对所述训练样本进行对偶翻译的增广处理,得到处理后的训练样本包括:
获取所述训练样本的当前语言类型;
将所述训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本;
将所述翻译后的训练样本从所述目标语言类型翻译为所述当前语言类型,得到处理后的训练样本。
在一些实施方式中,所述根据所述文本的类型确定与所述文本对应的答复信息包括:
当所述文本的类型为第一类型时,基于所述特征向量获取所述文本与预设数据库中标准问答对之间的句子相似度和词语相似度;
根据所述句子相似度和词语相似度确定每个标准问答对的分值;
将分值最高的标准问答对的答复作为所述文本对应的答复信息。
在一些实施方式中,所述根据所述文本的类型确定与所述文本对应的答复信息包括:
当所述文本的类型为第二类型时,获取所述文本的语言类型;
当根据所述文本的语言类型确定需要翻译时,将所述文本进行翻译,得到翻译后的文本;
从预设语料库中获取与所述翻译后的文本匹配的答复信息。
第二方面,本申请实施例还提供了一种文本处理装置,包括:
接收模块,用于获取待处理的文本;
分词模块,用于按照预设策略对所述文本进行分词处理,得到组成所述文本的词语;
提取模块,用于根据所述词语对所述文本进行特征提取,得到特征向量;
确定模块,用于基于所述特征向量通过多级级联的分类模型确定所述文本的类型;
反馈模块,用于根据所述文本的类型确定与所述文本对应的答复信息。
在一些实施方式中,所述多级级联的分类模型包括支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型,所述确定模块具体用于:
基于所述特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取所述文本的类型的预测值;
根据所述预测值通过第二级的极端梯度提升模型确定所述文本的类型。
在一些实施方式中,所述文本处理装置还包括:
第一获取模块,用于获取训练样本;
处理模块,用于对所述训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本;
生成模块,用于按照所述预设策略对所述处理后的训练样本进行分词处理,生成包含多个词语的词语集;
第二获取模块,用于根据所述词语集获取所述处理后的训练样本的样本特征向量;
训练模块,用于根据所述样本特征向量对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
在一些实施方式中,所述第二获取模块具体用于:
获取所述词语集中每个词语在每条处理后的训练样本中存在的频率;
从所述处理后的训练样本中筛选出包含所述词语集中的词语的训练样本,得到目标训练样本;
获取所述目标训练样本在所述处理后的训练样本中的逆向文本频率;
根据所述频率及所述逆向文本频率生成所述每个词语对应的参数;
根据所述每个词语对应的所述参数生成样本特征向量。
在一些实施方式中,所述处理模块具体用于:
对所述训练样本进行分词处理,得到多个词语;
从近义词库中查找与每个词语相似度大于预设阈值的词语,得到候选词语;
对所述候选词语进行排列组合,生成处理后的训练样本。
在一些实施方式中,所述处理模块具体用于:
获取所述训练样本的当前语言类型;
将所述训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本;
将所述翻译后的训练样本从所述目标语言类型翻译为所述当前语言类型,得到处理后的训练样本。
在一些实施方式中,所述反馈模块具体用于:
当所述文本的类型为第一类型时,基于所述特征向量获取所述文本与预设数据库中标准问答对之间的句子相似度和词语相似度;
根据所述句子相似度和词语相似度确定每个标准问答对的分值;
将分值最高的标准问答对的答复作为所述文本对应的答复信息。
在一些实施方式中,所述反馈模块具体用于:
当所述文本的类型为第二类型时,获取所述文本的语言类型;
当根据所述文本的语言类型确定需要翻译时,将所述文本进行翻译,得到翻译后的文本;
从预设语料库中获取与所述翻译后的文本匹配的答复信息。
第三方面,本申请实施例还提供了一种服务器,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本申请实施例提供的任一种文本处理方法。
第四方面,本申请实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序被处理器加载,以执行本申请实施例提供的任一种文本处理方法。
本申请实施例可以获取待处理的文本,以及按照预设策略对文本进行分词处理,得到组成文本的词语,然后可以根据词语对文本进行特征提取,得到特征向量,以及基于特征向量通过多级级联的分类模型确定文本的类型,此时可以根据文本的类型确定与文本对应的答复信息。该方案可以通过多级级联的分类模型的融合来精准确定文本的类型,并根据文本类型快速定位对应的答复信息,提高了文本处理的信息回复的准确率和效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文本处理方法的流程示意图;
图2是本申请实施例提供的数据增广处理的流程示意图;
图3是本申请实施例提供的文本处理方法的另一流程示意图;
图4是本申请实施例提供的文本处理方法的另一流程示意图;
图5是本申请实施例提供的意图分类处理的流程示意图;
图6是本申请实施例提供的qa问答的流程示意图;
图7是本申请实施例提供的闲聊的流程示意图;
图8是本申请实施例提供的文本处理装置的结构示意图;
图9是本申请实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1是本申请一实施例提供的文本处理方法的流程示意图。该文本处理方法的执行主体可以是本申请实施例提供的文本处理装置,或者集成了该文本处理装置的服务器,其中,该文本处理装置可以采用硬件或者软件的方式实现。该文本处理方法可以包括:
s101、获取待处理的文本。
例如,可以从文本数据中提取待处理的文本,或者接收客户端发送的待处理的文本等,其中,该客户端可以是手机或电脑等终端上的客户端,文本处理装置可以接收用户通过终端上预设的客户端发送的文本。该文本可以包括文字、字母、数字、或标点符号等,该文本可以是招聘过程中发起的问题,或者是宣传过程中发起的问题,或者是做作业过程中发起的问题,或者是做任务过程中发起的问题,或者是购物过程中发起的问题,或者是闲聊发起的问题,或者是寄快递发起的运费咨询问题,还可以是其他类型的文本,具体内容在此处不作限定。
s102、按照预设策略对文本进行分词处理,得到组成文本的词语。
在接收到文本后,为了便于对文本进行特征提取,可以预先对文本进行分词处理,具体地,可以按照预设策略对文本进行分词处理,该预设策略可以根据实际需要进行灵活设置,具体内容在此处不作限定。
例如,该预设策略可以是按照每间隔预设字数进行分词,例如,每间隔2个字分为一个词语,或者是每间隔3个字分为一个词语。该预设策略也可以是按照文本的总字数进行均匀分词,例如,当某条文本的总字数为15个时,可以均分每隔5个字分为一个词语。该预设策略还可以是随机分词,例如,当某条文本的总字数为15个时,从中仅提取出3组2个字组成的词语;或者是,将总字数为15个的文本,分割为一个2个字组成的词语,一个1个字组成的词语,一个9个字组成的词语,以及一个3个字组成的词语。该预设策略还可以是按照字典或词库中的词语进行分词,例如,将“机器人”分为一个词语,将“专利”分为一个词语,等等。该预设策略还可以是基于人工智能的分词等。
对文本进行分词处理后,可以生成组成文本的一个或多个词语,该词语可以包括一个或多个字。
s103、根据词语对文本进行特征提取,得到特征向量。
在对文本进行分词处理,生成一个或多个词语后,可以获取每个词语对应的参数,其中,一个参数对应用于标识一个词语,该参数可以是一个数字,也可以是唯一标识词语的字符等。例如,“我们”对应的参数为0.1,“我”对应的参数为0.5等。
此时可以根据组成文本的词语对文本进行特征提取,该特征可以是关键词或具体特定含义的词等,基于提取出的关键词或具体特定含义的词等,所对应的参数生成特征向量。
s104、基于特征向量通过多级级联的分类模型确定文本的类型。
其中,多级级联的分类模型可以根据实际需要进行灵活设置,例如,多级级联的分类模型包括支持向量机((svm,supportvectormachine))模型、随机森林模型、逻辑回归模型、文本分类(fasttext)模型和极端梯度提升(xgboost,extremegradientboosting)模型等,该持向量机模型、随机森林模型、逻辑回归模型、文本分类模型组成第一级模型,该极端梯度提升模型为第二级模型,该第一级模型和第二级模型级联。
在一些实施方式中,基于特征向量通过多级级联的分类模型确定文本的类型可以包括:基于特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取文本的类型的预测值;根据预测值通过第二级的极端梯度提升模型确定文本的类型。
为了提高文本类型确定的准确性和效率,可以通过多级级联的分类模型确定文本的类型,该多级级联的分类模型为训练后的模型,其中,该文本的类型可以根据实际需要进行灵活设置,例如该文本的类型可以包括运算类型、咨询类型、问答类型或闲聊类型等。可以将特征向量输入第一级模型,基于特征向量通过第一级的svm模型获取文本的类型的第一预测值,通过第一级的随机森林模型获取文本的类型的第二预测值,通过第一级的逻辑回归模型获取文本的类型的第三预测值,以及通过第一级的fasttext模型获取文本的类型的第四预测值,该第一预测值、第二预测值、第三预测值和第四预测值包含于预测值。在得到四个预测值后,可以通过第二级的xgboost模型基于第一预测值、第二预测值、第三预测值和第四预测值确定文本的类型,以通过文本预测用户的当前意图。在意图分类的过程中使用了不同模型的堆叠组合,提高了意图分类的准确率和泛化能力。
该多级级联的分类模型,相较于基于规则匹配,该分类模型不需要大量的人工生产和维护规则,且泛化能力更强;相较于深度学习分类算法,所需数据量更小,训练速度更快,占用计算机资源更低;相较于单个机器学习分类模型,对于招聘相关问题分类精准率和召回率都更高。
在一些实施方式中,基于特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取文本的类型的预测值之前,文本处理方法还可以包括:获取训练样本;对训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本;按照预设策略对处理后的训练样本进行分词处理,生成包含多个词语的词语集;根据词语集获取处理后的训练样本的样本特征向量;根据样本特征向量对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
为了提高模型检测的精准性,可以预先对各个模型进行训练。为了丰富训练样本,提高训练样本的多样性,以提高模型训练的可靠性,可以训练样本进行数据增广等预处理。例如,如图2所示,可以获取一条或多条训练样本(即少量原始数据),对每条训练样本分别进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本(即大量多样化数据),从而可以在训练模型前增加训练样本的数量和训练样本的多样性来提升各模型执行分类或答复等任务的性能。
在一些实施方式中,对训练样本进行近义词替换的增广处理,得到处理后的训练样本可以包括:对训练样本进行分词处理,得到多个词语;从近义词库中查找与每个词语相似度大于预设阈值的词语,得到候选词语;对候选词语进行排列组合,生成处理后的训练样本。
例如,近义词替换的方式可以包括:构建近义词库,该近义词库中可以包括多个词语,以及对训练样本进行分词处理,得到多个词语,计算分词得到的每个词语与近义词库中每个词语之间的相似度,并从近义词库中筛选出相似度大于预设阈值的词语,得到候选词语,该预设阈值可以根据实际需要进行灵活设置,相似度大于预设阈值说明这两个词语之间为近义词。然后,对候选词语进行排列组合,生成处理后的训练样本,该排列组合的规则可以根据实际需要进行灵活设置,该处理后的训练样本可以包括多条,即该处理后的训练样本为句子集合。
在一些实施方式中,对训练样本进行对偶翻译的增广处理,得到处理后的训练样本可以包括:获取训练样本的当前语言类型;将训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本;将翻译后的训练样本从目标语言类型翻译为当前语言类型,得到处理后的训练样本。
例如,对偶翻译的方式可以包括:首先获取训练样本的当前语言类型,例如,当前语言类型为中文、日文、法文、韩文或英文等,然后将训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本,该目标语言类型可以包括中文、日文、法文、韩文或英文等,其次,将翻译后的训练样本从目标语言类型翻译为当前语言类型,最后可以得到处理后的训练样本。
相关搜索的方式可以包括:利用谷歌或百度等搜索引擎的相关搜索功能增广训练样本,例如,可以通过搜索引擎搜索问答、闲聊、运费咨询或购物等相关的训练样本。
通过对训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本,实现了基于少量训练样本进行数据增广,得到大量处理后的训练样本,大大丰富了用于模型训练的训练样本。
在得到处理后的训练样本后,可以按照预设策略对处理后的训练样本进行分词处理,生成包含多个词语的词语集,该预设策略与前述提及的预设策略类似。然后根据词语集获取处理后的训练样本的样本特征向量。
在一些实施方式中,根据词语集获取处理后的训练样本的样本特征向量可以包括:获取词语集中每个词语在每条处理后的训练样本中存在的频率;从处理后的训练样本中筛选出包含词语集中的词语的训练样本,得到目标训练样本;获取目标训练样本在处理后的训练样本中的逆向文本频率;根据频率及逆向文本频率生成每个词语对应的参数;根据每个词语对应的参数生成样本特征向量。
具体地,可以通过加权算法(termfrequency–inversedocumentfrequency,tf-idf)获取处理后的训练样本的样本特征向量,该tf-idf是一种用于信息检索与文本挖掘的加权技术,可以用来评估一个词语对于一条文本,或对于多条训练样本中的其中一条训练样本的重要程度。词语的重要性随着它在文本中出现的次数成正比增加,随着它在多条训练样本中出现的频率成反比下降。
其中,tf-idf中的tf表示词频,在一份给定的文件里,词频(termfrequency,tf)指的是某一个给定的词语在该文件中出现的频率,即本实施例中一个词语在一条训练样本中存在的频率。tf-idf中的idf表示逆向文本频率,是对词语的数量(即出现次数)进行归一化,由于同一个词语在较长的文件里可能会比较短的文件里有更高的词数,而不管该词语重要与否,因此,逆向文本频率以防止词数偏向较长的文件。
首先,可以获取词语集中每个词语在每条处理后的训练样本中存在的频率,对于在某条训练样本dj中的词语ti,其在该条训练样本dj中存在的频率(即词频)的计算公式为:
以上式子中,tfi,j表示词语ti在训练样本dj中的词频,ni,j表示词语ti在训练样本dj中出现的次数,∑knk,j表示在训练样本dj中所有词语出现的次数之和。例如,当将训练样本dj切为3个词语时,k=3,∑knk,j表示在训练样本dj中这3个词语出现的次数之和。
然后,从处理后的训练样本中筛选出包含词语集中的词语的训练样本,得到目标训练样本,以及获取目标训练样本在处理后的训练样本中的逆向文本频率。其中,逆向文本频率(inversedocumentfrequency,idf)是一个词语普遍重要性的度量。对于词语的ti,包含词语ti的目标训练样本在多条训练样本中的逆向文本频率,可以由多条训练样本的总数目,除以包含该词语ti的目标训练样本的数目,再将得到的商取对数得到,其计算公式如下:
其中,idfi表示逆向文本频率,|d|表示多条训练样本的总数目,|{j:ti∈dj}|表示包含词语ti的目标训练样本的数目(即ni,j!=0的训练样本数目)。
由于如果该词语ti不在多条训练样本中,就会导致分母为零,因此,可以使用以下计算公式:
在得到词语ti在某条训练样本dj中存在的频率tfi,j,以及逆向文本频率idfi后,可以根据该频率tfi,j及逆向文本频率idfi计算该词语对应的参数a,其计算公式为:a=tfi,j×idfi。
最后,按照上述方法计算词语集中每个词语在每条训练样本中存在的频率,以及包含词语的目标训练样本在多条训练样本中的逆向文本频率后,可以根据频率及逆向文本频率生成每个词语对应的参数,然后根据每个词语对应的参数生成样本特征向量。
需要说明的是,除了tf-idf获取处理后的训练样本的样本特征向量之外,还可以通过word2vec模型获取处理后的训练样本的样本特征向量,或者通过其他方式获取处理后的训练样本的样本特征向量,具体内容在此处不作限定。
在得到样本特征向量后,可以根据样本特征向量分别对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
首先,将样本特征向量输入svm模型进行预测,得到第一训练预测值;将样本特征向量输入随机森林模型进行预测,得到第二训练预测值;将样本特征向量输入逻辑回归模型进行预测,得到第三训练预测值;将样本特征向量输入fasttext模型进行预测,得到第四训练预测值。将第一训练预测值、第二训练预测值、第三训练预测值和第四训练预测值等这四个预测值拼接成预测特征向量,再将预测特征向量输入第二级的xgboost模型中进行训练,得到训练样本对应的类型预测值。
在训练完成后,可以分别通过训练后的第一级的svm模型、训练后的随机森林模型、训练后的逻辑回归模型和训练后的fasttext模型,基于特征向量分别获取文本的类型的预测值,根据预测值通过训练后的第二级的fasttext模型确定文本的类型。
s105、根据文本的类型确定与文本对应的答复信息。
在一些实施方式中,根据文本的类型确定与文本对应的答复信息可以包括:当文本的类型为第一类型时,基于特征向量获取文本与预设数据库中标准问答对之间的句子相似度和词语相似度;根据句子相似度和词语相似度确定每个标准问答对的分值;将分值最高的标准问答对的答复作为文本对应的答复信息。
其中,第一类型可以是问答类型(即qa问答类型),当文本的类型为问答类型时,可以基于特征向量获取文本与预设数据库中标准问答对之间的句子相似度和词语相似度,该标准问答对可以是问题与答案(即答复信息)之间的对应关系。
例如,可以计算文本与预设数据库中标准问答对的问题句子(即文本)之间的编辑距离、欧几里得距离或汉明距离等,根据文本之间的编辑距离、欧几里得距离或汉明距离等确定句子相似度;以及计算文本中的词语与预设数据库中标准问答对的问题所包含词语之间的编辑距离、欧几里得距离或汉明距离等,根据词语之间的编辑距离、欧几里得距离或汉明距离确定词语相似度。
其中,文本之间的编辑距离可以是指对于两个文本,由其中一个文本转换成另一个文本所需的最少编辑操作次数。编辑距离越大,说明两个文本之间不同特征越多,反之,编辑距离越小,说明两个文本之间不同特征越少,该编辑操作可以包括将文本中的一个字符替换成另一个字符、在文本中插入一个字符、及删除文本中的一个字符等。确定文本与标准问答对的问题句子之间的编辑距离,即确定文本换成问题句子所需的最少编辑操作次数,使用编辑距离可以衡量文本和问题句子等这两个文本整体的相似性。
文本之间的欧几里得距离可以是指第一文本和第二文本在欧几里得空间中两点间的直线距离,本申请实施例中欧几里得距离用于度量文本和标准问答对的问题句子等这两个文本之间的相差程度。
汉明距离可以是指第一文本和第二文本对应位置不同的字符个数,本申请实施例中汉明距离可以是将文本变换成标准问答对的问题句子所需要替换的次数,该汉明距离可以用于度量文本和标准问答对的问题句子等这两个文本对应位置的绝对一致性。
需要说明的是,词语之间的编辑距离、欧几里得距离或汉明距离等,可以按照文本之间的编辑距离、欧几里得距离或汉明距离等进行理解。
此时,可以根据句子相似度和词语相似度确定每个标准问答对的分值,其中,相似度越高,分值越高,反之,相似度越低,分值越低。然后可以将分值最高的标准问答对的答复作为文本对应的答复信息。此时可以根据实际需求将该答复信息反馈给客户端,实现了从标准问答对中选出正确答案并回复客户端对应的用户。
例如,可以将句子相似度和词语相似度进行拼接,得到拼接后的相似度,通过用于确定分值的svm模型计算每个标准问答对的分值,该用于确定分值的svm模型与上述用于确定类型的模型不同。然后按照分值从高至低的顺序对各个标准问答对进行排序,并从排序后的标准问答对中筛选出排在前的分值最高的标准问答对的答复作为文本对应的答复信息,此时可以根据实际需求将该答复信息反馈给客户端。通过句子相似度和词语相似度等特征确定每个标准问答对的分值,并基于分值筛选答复信息,可以大大提高了回复的准确率。
在一些实施方式中,根据文本的类型确定与文本对应的答复信息可以包括:当文本的类型为第二类型时,获取文本的语言类型;当根据文本的语言类型确定需要翻译时,将文本进行翻译,得到翻译后的文本;从预设语料库中获取与翻译后的文本匹配的答复信息。
其中,第二类型可以是闲聊类型,当文本的类型为闲聊类型时,可以获取文本的语言类型,并基于语言类型判断是否需要对文本进行翻译,当根据文本的语言类型确定需要翻译时,可以将文本进行翻译,得到翻译后的文本;然后,调用deepqa模型,从预设语料库中获取与翻译后的文本匹配的答复信息,将答复信息反馈给客户端。当根据文本的语言类型确定不需要翻译时,可以调用deepqa模型,从预设语料库中获取与翻译后的文本匹配的答复信息,此时可以根据实际需求将答复信息反馈给客户端。
本申请实施例可以获取待处理的文本,以及按照预设策略对文本进行分词处理,得到组成文本的词语,然后可以根据词语对文本进行特征提取,得到特征向量,以及基于特征向量通过多级级联的分类模型确定文本的类型,此时可以根据文本的类型确定与文本对应的答复信息。该方案可以通过多级级联的分类模型的融合来精准确定文本的类型,并根据文本类型快速定位对应的答复信息,提高了回复的准确率和效率。
根据上述实施例所描述的文本处理方法,以下将作进一步详细说明。
请参照图2,图2为本申请实施例提供的文本处理方法的另一流程示意图。该文本处理方法可以应用于服务器,以下将以物流领域的招聘问答为例进行详细说明,如图2所示,该文本处理方法的流程可以如下:
s201、服务器接收客户端发送的问题。
其中,该客户端可以是智能客服机器人上的客户端,服务器可以接收用户通过客户端发送的有关招聘问题咨询的问题。该问题可以是一个或多个句子等,该句子可以包括一个或多个词语,该词语可以包括一个或多个字符,该字符可以包括文字、字母、数字、或标点符号等。
s202、服务器按照预设策略对问题进行分词处理,得到组成问题的词语。
服务器可以按照上述预设策略对问题进行分词,得到组成问题的词语。例如,服务器可以对问题:“这份工作的薪酬怎么样”进行分词,得到的词语可以包括:“这份”“工作”“的”“薪酬”“怎么样”等。
s203、服务器根据词语对问题进行特征提取,得到特征向量。
在对问题进行分词处理,生成一个或多个词语后,服务器可以获取每个词语对应的参数,其中,一个参数对应用于标识一个词语,该参数可以是一个数字,也可以是唯一标识词语的字符等。此时服务器可以根据组成问题的词语对问题进行特征提取,该特征可以是关键词或具体特定含义的词等,基于提取出的关键词或具体特定含义的词等,所对应的参数生成特征向量。
s204、服务器基于特征向量分别通过第一级的svm模型、随机森林模型、逻辑回归模型和fasttext模型获取问题的类型的预测值。
s205、服务器根据预测值通过第二级的xgboost模型确定问题的类型。
其中,问题的类型可以包括问答类型或闲聊类型等,例如,如图4所示,服务器可以根据用户输入的问题进行意图分类处理,确定该问题是qa问答类型(可以简称为问答类型)还是闲聊类型,以便根据问题的类型进行相应的回复。为了提高问题类型确定的准确性和效率,服务器可以通过多个模型的堆叠组合分别基于问题预测用户的当前意图。
例如,如图5所示,服务器可以将特征向量输入第一级模型,通过第一级的svm模型基于基于特征向量获取问题的类型的第一预测值为问答类型,通过第一级的随机森林模型基于特征向量获取问题的类型的第二预测值为闲聊类型,通过第一级的逻辑回归模型基于特征向量获取问题的类型的第三预测值为问答类型,以及通过第一级的fasttext模型基于特征向量获取问题的类型的第四预测值为问答类型。在得到四个预测值后,可以通过第二级的xgboost模型基于第一预测值、第二预测值、第三预测值和第四预测值确定问题的类型为问答类型,从而可以准确预测用户的当前意图,提高了招聘相关问题分类精准率和召回率。
服务器通过第一级的svm模型、随机森林模型、逻辑回归模型和fasttext模型,以及第二级的xgboost模型确定问题的类型,相较于基于规则匹配,不需要大量的人工生产和维护规则,且泛化能力更强;相较于深度学习分类算法,所需数据量更小,训练速度更快,占用计算机资源更低;相较于单个机器学习分类模型,对于招聘相关问题分类精准率和召回率都更高。
s206、服务器判断问题的类型是否为问答类型;若是,则执行步骤s207;若否,则执行步骤s210。
s207、服务器基于特征向量获取问题与预设数据库中标准问答对之间的句子相似度和词语相似度。
当问题的类型为问答类型时,服务器可以计算问题与预设数据库中标准问答对的问题之间的编辑距离、欧几里得距离或汉明距离等,根据问题之间的编辑距离、欧几里得距离或汉明距离等确定句子相似度;以及计算问题中的词语与预设数据库中标准问答对的问题所包含词语之间的编辑距离、欧几里得距离或汉明距离等,根据词语之间的编辑距离、欧几里得距离或汉明距离确定词语相似度。
s208、服务器根据句子相似度和词语相似度确定每个标准问答对的分值。
服务器可以根据句子相似度和词语相似度确定每个标准问答对的分值,其中,相似度越高,分值越高,反之,相似度越低,分值越低。例如,可以建立句子相似度、词语相似度和分值之间的映射关系,可以是不同的相似度对应不同的分值,或者是,不同的相似度区间对应不同的分值等。在得到句子相似度和词语相似度后,可以根据句子相似度、词语相似度和分值之间的映射关系,确定每个标准问答对的分值。
又例如,如图6所示,服务器可以将句子相似度和词语相似度进行拼接,得到拼接后的相似度,通过用于确定分值的svm模型计算每个标准问答对的分值,以便基于分值进行相应的回复。
s209、服务器将分值最高的标准问答对的答复作为问题对应的答复信息,将答复信息反馈给客户端。
服务器可以按照分值从高至低的顺序对各个标准问答对进行排序,并从排序后的标准问答对中筛选出排在前的分值最高的标准问答对的答复作为问题对应的答复信息,将该答复信息反馈给客户端。实现了从标准问答对中选出正确答案并回复客户端对应的用户,提高了回复的准确率。
s210、服务器获取问题的语言类型。
s211、服务器根据语言类型判断是否需要翻译;若是,则执行步骤s212;若否,则执行步骤s214。
当问题的类型为闲聊类型时,服务器可以获取问题的语言类型,基于语言类型判断是否需要对问题进行翻译。
s212、服务器将问题进行翻译,得到翻译后的问题。
s213、服务器从预设语料库中获取与翻译后的问题匹配的答复信息,将答复信息反馈给客户端。
例如,如图7所示,当根据问题的语言类型确定需要翻译时,可以对问题进行翻译,得到翻译后的问题,例如,当问题的语言类型为法语时,若预设语料库仅存在中文和英文等信息,则可以将问题从法语翻译为中文。然后可以调用deepqa模型,从预设语料库中获取与翻译后的问题匹配的答复信息,将答复信息反馈给客户端。
s214、当根据问题的语言类型确定不需要翻译时,从预设语料库中获取与问题匹配的答复信息,将答复信息反馈给客户端。
需要说明的是,为了提高闲聊类型的问题对应回复的精准性,可以对按照预设校正策略对与问题匹配的答复信息进行校正,并将校正后的答复信息反馈给客户端。其中,该预设校正策略可以根据实际需要进行灵活设置,具体内容在此处不作限定。例如,当接收到客户端发送的问题为“你叫什么名字呀”时,若从预设语料库中获取与该问题匹配的答复信息为“我叫小a”,而实际上真实名字是叫小b,此时,可以按照预设校正策略将“我叫小a”校正为“我叫小b”,然后将“我叫小b”的答复信息反馈给客户端。
本申请实施例服务器可以接收客户端发送的问题,以及按照预设策略对问题进行分词处理,并可以根据分词得到的词语对问题进行特征提取,得到特征向量,然后,基于特征向量分别通过第一级的svm模型、随机森林模型、逻辑回归模型和fasttext模型获取问题的类型的预测值,以及根据预测值通过第二级的xgboost模型确定问题的类型,此时可以根据问题的类型确定与问题对应的答复信息,并将答复信息反馈给客户端。该方案可以通过多级级联的分类模型的融合来精准确定问题的类型,并根据问题类型快速定位对应的答复信息,解决了需要人工处理大量重复的应聘者的问题以及招聘的宣传工作等,避免了人力成本的极大浪费,提高了回复的准确率和效率。
为便于更好的实施本申请实施例提供的文本处理方法,本申请实施例还提供一种基于上述文本处理方法的装置。其中名词的含义与上述文本处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图8,图8为本申请实施例提供的文本处理装置的结构示意图,其中该文本处理装置300可以包括接收模块301、分词模块302、提取模块303、确定模块304及反馈模块305等。
其中,接收模块301,用于获取待处理的文本.
分词模块302,用于按照预设策略对文本进行分词处理,得到组成文本的词语。
提取模块303,用于根据词语对文本进行特征提取,得到特征向量。
确定模块304,用于基于特征向量通过多级级联的分类模型确定文本的类型。
反馈模块305,用于根据文本的类型确定与文本对应的答复信息。
在一些实施方式中,多级级联的分类模型包括支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型,确定模块304具体用于:基于特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取文本的类型的预测值;根据预测值通过第二级的极端梯度提升模型确定文本的类型。
在一些实施方式中,文本处理装置300还包括第一获取模块、处理模块、生成模块、第二获取模块和训练模块等,具体可以如下:
第一获取模块,用于获取训练样本;
处理模块,用于对训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本;
生成模块,用于按照预设策略对处理后的训练样本进行分词处理,生成包含多个词语的词语集;
第二获取模块,用于根据词语集获取处理后的训练样本的样本特征向量;
训练模块,用于根据样本特征向量对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
在一些实施方式中,第二获取模块具体用于:获取词语集中每个词语在每条处理后的训练样本中存在的频率;从处理后的训练样本中筛选出包含词语集中的词语的训练样本,得到目标训练样本;获取目标训练样本在处理后的训练样本中的逆向文本频率;根据频率及逆向文本频率生成每个词语对应的参数;根据每个词语对应的参数生成样本特征向量。
在一些实施方式中,处理模块具体用于:对训练样本进行分词处理,得到多个词语;从近义词库中查找与每个词语相似度大于预设阈值的词语,得到候选词语;对候选词语进行排列组合,生成处理后的训练样本。
在一些实施方式中,处理模块具体用于:获取训练样本的当前语言类型;
将训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本;将翻译后的训练样本从目标语言类型翻译为当前语言类型,得到处理后的训练样本。
在一些实施方式中,反馈模块305具体用于:当文本的类型为第一类型时,基于特征向量获取文本与预设数据库中标准问答对之间的句子相似度和词语相似度;根据句子相似度和词语相似度确定每个标准问答对的分值;将分值最高的标准问答对的答复作为文本对应的答复信息。
在一些实施方式中,反馈模块305具体用于:当文本的类型为第二类型时,获取文本的语言类型;当根据文本的语言类型确定需要翻译时,将文本进行翻译,得到翻译后的文本;从预设语料库中获取与翻译后的文本匹配的答复信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请实施例可以由接收模块301获取待处理的文本,以及由分词模块302按照预设策略对文本进行分词处理,得到组成文本的词语,然后可以由提取模块303根据词语对文本进行特征提取,得到特征向量,以及由确定模块304基于特征向量通过多级级联的分类模型确定文本的类型,此时可以由反馈模块305根据文本的类型确定与文本对应的答复信息。该方案可以通过多级级联的分类模型的融合来精准确定文本的类型,并根据文本类型快速定位对应的答复信息,提高了文本处理的信息回复的准确率和效率。
本申请实施例还提供一种服务器,如图9所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图9中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而执行以下各种功能,如下:获取待处理的文本;按照预设策略对文本进行分词处理,得到组成文本的词语;根据词语对文本进行特征提取,得到特征向量;基于特征向量通过多级级联的分类模型确定文本的类型;根据文本的类型确定与文本对应的答复信息。
在一些实施方式中,多级级联的分类模型包括支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型,在基于特征向量通过多级级联的分类模型确定文本的类型时,处理器401还可以执行:
基于特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取文本的类型的预测值;根据预测值通过第二级的极端梯度提升模型确定文本的类型。
在一些实施方式中,在基于特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取文本的类型的预测值之前,处理器401还可以执行:
获取训练样本;对训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本;按照预设策略对处理后的训练样本进行分词处理,生成包含多个词语的词语集;根据词语集获取处理后的训练样本的样本特征向量;根据样本特征向量对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
在一些实施方式中,在根据词语集获取处理后的训练样本的样本特征向量时,处理器401还可以执行:
获取词语集中每个词语在每条处理后的训练样本中存在的频率;从处理后的训练样本中筛选出包含词语集中的词语的训练样本,得到目标训练样本;获取目标训练样本在处理后的训练样本中的逆向文本频率;根据频率及逆向文本频率生成每个词语对应的参数;根据每个词语对应的参数生成样本特征向量。
在一些实施方式中,在对训练样本进行近义词替换的增广处理,得到处理后的训练样本时,处理器401还可以执行:
对训练样本进行分词处理,得到多个词语;从近义词库中查找与每个词语相似度大于预设阈值的词语,得到候选词语;对候选词语进行排列组合,生成处理后的训练样本。
在一些实施方式中,在对训练样本进行对偶翻译的增广处理,得到处理后的训练样本时,处理器401还可以执行:
获取训练样本的当前语言类型;将训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本;将翻译后的训练样本从目标语言类型翻译为当前语言类型,得到处理后的训练样本。
在一些实施方式中,在根据文本的类型确定与文本对应的答复信息时,处理器401还可以执行:
当文本的类型为第一类型时,基于特征向量获取文本与预设数据库中标准问答对之间的句子相似度和词语相似度;根据句子相似度和词语相似度确定每个标准问答对的分值;将分值最高的标准问答对的答复作为文本对应的答复信息。
在一些实施方式中,在根据文本的类型确定与文本对应的答复信息时,处理器401还可以执行:
当文本的类型为第二类型时,获取文本的语言类型;当根据文本的语言类型确定需要翻译时,将文本进行翻译,得到翻译后的文本;从预设语料库中获取与翻译后的文本匹配的答复信息。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对文本处理方法的详细描述,此处不再赘述。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种文本处理方法。例如,该计算机程序被处理器加载,可以执行如下步骤:获取待处理的文本;按照预设策略对文本进行分词处理,得到组成文本的词语;根据词语对文本进行特征提取,得到特征向量;基于特征向量通过多级级联的分类模型确定文本的类型;根据文本的类型确定与文本对应的答复信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种文本处理方法,因此,可以实现本申请实施例所提供的任一种文本处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上对本申请实施例所提供的一种文本处理方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
1.一种文本处理方法,其特征在于,包括:
获取待处理的文本;
按照预设策略对所述文本进行分词处理,得到组成所述文本的词语;
根据所述词语对所述文本进行特征提取,得到特征向量;
基于所述特征向量通过多级级联的分类模型确定所述文本的类型;
根据所述文本的类型确定与所述文本对应的答复信息。
2.根据权利要求1所述的文本处理方法,其特征在于,所述多级级联的分类模型包括支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型,所述基于所述特征向量通过多级级联的分类模型确定所述文本的类型包括:
基于所述特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取所述文本的类型的预测值;
根据所述预测值通过第二级的极端梯度提升模型确定所述文本的类型。
3.根据权利要求2所述的文本处理方法,其特征在于,所述基于所述特征向量分别通过第一级的支持向量机模型、随机森林模型、逻辑回归模型和文本分类模型获取所述文本的类型的预测值之前,所述方法还包括:
获取训练样本;
对所述训练样本进行近义词替换、对偶翻译和/或相关搜索的增广处理,得到处理后的训练样本;
按照所述预设策略对所述处理后的训练样本进行分词处理,生成包含多个词语的词语集;
根据所述词语集获取所述处理后的训练样本的样本特征向量;
根据所述样本特征向量对支持向量机模型、随机森林模型、逻辑回归模型、文本分类模型和极端梯度提升模型进行训练。
4.根据权利要求3所述的文本处理方法,其特征在于,对所述训练样本进行近义词替换的增广处理,得到处理后的训练样本包括:
对所述训练样本进行分词处理,得到多个词语;
从近义词库中查找与每个词语相似度大于预设阈值的词语,得到候选词语;
对所述候选词语进行排列组合,生成处理后的训练样本。
5.根据权利要求3所述的文本处理方法,其特征在于,对所述训练样本进行对偶翻译的增广处理,得到处理后的训练样本包括:
获取所述训练样本的当前语言类型;
将所述训练样本从当前语言类型翻译为目标语言类型,得到翻译后的训练样本;
将所述翻译后的训练样本从所述目标语言类型翻译为所述当前语言类型,得到处理后的训练样本。
6.根据权利要求1至5任一项所述的文本处理方法,其特征在于,所述根据所述文本的类型确定与所述文本对应的答复信息包括:
当所述文本的类型为第一类型时,基于所述特征向量获取所述文本与预设数据库中标准问答对之间的句子相似度和词语相似度;
根据所述句子相似度和词语相似度确定每个标准问答对的分值;
将分值最高的标准问答对的答复作为所述文本对应的答复信息。
7.根据权利要求1至5任一项所述的文本处理方法,其特征在于,所述根据所述文本的类型确定与所述文本对应的答复信息包括:
当所述文本的类型为第二类型时,获取所述文本的语言类型;
当根据所述文本的语言类型确定需要翻译时,将所述文本进行翻译,得到翻译后的文本;
从预设语料库中获取与所述翻译后的文本匹配的答复信息。
8.一种文本处理装置,其特征在于,包括:
接收模块,用于获取待处理的文本;
分词模块,用于按照预设策略对所述文本进行分词处理,得到组成所述文本的词语;
提取模块,用于根据所述词语对所述文本进行特征提取,得到特征向量;
确定模块,用于基于所述特征向量通过多级级联的分类模型确定所述文本的类型;
反馈模块,用于根据所述文本的类型确定与所述文本对应的答复信息。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7任一项所述的文本处理方法。
10.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行权利要求1至7任一项所述的文本处理方法。
技术总结