一种文本分类方法、服务器及计算机可读存储介质与流程

文档序号:14860854发布日期:2018-07-04 07:18阅读:209来源:国知局
一种文本分类方法、服务器及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种文本分类方法、服务器及计算机可读存储介质。



背景技术:

随着互联网技术的快速发展,网络上的网页、新闻、用户浏览数据等电子文本呈几何级数不断增长。如何有效地对这些文本进行分类显得尤为重要。文本分类是指将一篇文本归于预先给定的某一类或某几类的过程。现有技术提供的一种基于卷积神经网络(convolutionalneuralnetwork,cnn)的文本分类算法(简称text-cnn算法)由于具有相对较高的准确度,因此被广泛应用。

text-cnn算法需要先对待分类文本进行定长处理,再采用与处理图像类似的卷积神经网络对定长处理后的文本进行分类。例如,对于一些篇幅较长的文本,text-cnn算法会截取文本的前n个词语,并基于截取的前n个词语对文本进行分类。而文本的前n个词语并不一定能表达该文本所要表达的主题,很多情况下,与文本所要表达的主题关联度较高的词语可能存在于文本的其他地方。由此可知,现有的文本分类方法存在分类准确度较低的问题。



技术实现要素:

本发明实施例提供一种文本分类方法、服务器及计算机可读存储介质,能够提高文本分类的准确度。

第一方面,本发明实施例提供了一种文本分类方法,该方法包括:

确定待分类文本中的语句的关键度;其中,所述语句的关键度用于表示所述语句与所述待分类文本所要表达的主题的相关程度;

根据所述语句的关键度对所述语句进行排序,得到目标文本;

调用预先训练好的基于卷积神经网络的文本分类模型对所述目标文本进行分类。

第二方面,本发明实施例提供了一种服务器,该服务器包括用于执行上述第一方面的方法的单元。

第三方面,本发明实施例提供了另一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持服务器执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

本发明实施例通过确定待分类文本中的语句的关键度,并根据语句的关键度对待分类文本中的语句进行排序,使得待分类文本中的语句按照关键度的顺序依次排列,这样,在调用基于卷积神经网络的文本分类模型对篇幅较长的待分类文本进行分类时,基于卷积神经网络的文本分类模型从待分类文本中截取到的语句能够很好地反映待分类文本的主题,从而提高了文本分类的准确度。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种文本分类方法的示意流程图;

图2是本发明另一实施例提供的一种文本分类方法的示意流程图;

图3是本发明实施例提供的一种服务器的示意性框图;

图4是本发明另一实施例提供的一种服务器的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本发明实施例中描述的服务器包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的服务器。然而,应当理解的是,服务器可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

服务器支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在服务器上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能及服务器上显示的相应信息。这样,服务器的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

请参见图1,图1是本发明实施例提供的一种文本分类方法的示意流程图。本实施例中文本分类方法的执行主体为服务器。如图1所示的文本分类方法可以包括以下步骤:

s11:确定待分类文本中的语句的关键度。

服务器正常工作时,若接收到文本分类请求,则获取待分类文本。

其中,文本分类请求用于指示服务器对待分类文本进行分类。对文本进行分类是指将文本归于预先给定的类别(或主题)中的某一类或某几类的过程。

待分类文本是具有完整含义的一条语句或至少两条语句的组合。待分类文本可以是网络上的某篇新闻或某条社交信息,也可以是用户浏览过的任意形式的文本信息,或者还可以是其他信息,此处不做限制。待分类文本可以是一篇,也可以是至少两篇,此处不做限制。

服务器获取到待分类文本后,确定待分类文本中的语句的关键度。其中,语句的关键度用于表示语句与待分类文本所要表达的主题的相关程度。

在实际应用中,服务器在获取到待分类文本后,可以确定待分类文本中所有语句的关键度,也可以仅确定待分类文本中的部分语句的关键度,具体根据实际需求设置,此处不做限制。

以下以服务器确定待分类分本中的所有语句的关键度为例,对s11进行详细说明:服务器获取到待分类文本后,可以采用语义分析技术对待分类文本中的每条语句进行语义分析,并根据待分类文本中的所有语句或部分语句的语义来确定待分类文本所要表达的主题,进而根据每条语句的语义与待分类文本所要表达的主题,确定每条语句与待分类文本所要表达的主题的相关程度,从而得到每条语句的关键度。

服务器也可以对待分类文本中的每条语句进行预处理。预处理可以包括分词处理和去停用词处理。分词处理是指将一条语句分为多个词语的过程,去停用词处理是指删除语句中所出现的停用词的过程。停用词指文本中出现的一些高频的代词、连词、介词、语气词等对文本分类毫无意义的词语。例如,停用词可以包括但不限于“我”、“的”、“啊”、“吗”等词语。

预处理后的每条语句包含至少一个词语。可以理解的是,本发明实施例中的词语可以是单个字,也可以由至少两个字组成,此处不做限制。

服务器在对每条语句进行预处理后,确定预处理后的每条语句中的词语的关键度,并根据预处理后的每条语句中的词语的关键度确定每条语句的关键度。

其中,词语的关键度指词语与待分类文本所要表达的主题的相关程度。

在实际应用中,服务器在对每条语句进行预处理后,可以确定预处理后的每条语句中的所有词语的关键度,并根据预处理后的每条语句中的所有词语的关键度确定每条语句的关键度。当然,服务器还可以仅确定预处理后的每条语句中的部分词语的关键度,并根据预处理后的每条语句中的部分词语的关键度确定每条语句的关键度。

s12:根据所述语句的关键度对所述语句进行排序,得到目标文本。

在本实施例中,服务器确定了待分类文本中的语句的关键度之后,根据语句的关键度以及预设的排序策略对待分类文本中的语句进行排序。

其中,预设的排序策略可以根据预先训练好的基于卷积神经网络的文本分类模型确定。具体的,若预先训练好的基于卷积神经网络的文本分类模型在对文本进行分类时是截取待分类文本的靠前排列的语句,则预设的排序策略为:按照语句的关键度从大到小的顺序进行排序,即服务器按照语句的关键度从大到小的顺序对待分类文本中的语句进行排序。若预先训练好的基于卷积神经网络的文本分类模型在对文本进行分类时是截取待分类文本的靠后排列的语句,则预设的排序策略为:按照语句的关键度从小到大的顺序进行排序,即服务器按照语句的关键度从小到大的顺序对待分类文本中的语句进行排序。

根据语句的关键度对待分类文本中的语句进行排序后即得到目标文本。

s13:调用预先训练好的基于卷积神经网络的文本分类模型对所述目标文本进行分类。

服务器在对待分类文本中的语句进行排序得到目标文本后,调用预先训练好的基于卷积神经网络(convolutionalneuralnetwork,cnn)的文本分类模型简称text-cnn模型)对目标文本进行分类。

在本实施例中,text-cnn模型的输入为某篇文本,输出为该文本所属的类别(或主题)。text-cnn模型的输出可以通过一个n维向量表示,n为正整数,n可以根据实际情况确定,此处不做限制。

调用预先训练好的text-cnn模型对目标文本进行分类具体可以为:将目标文本作为预先训练好的text-cnn模型的输入,将text-cnn模型的输出确定为待分类文本的分类结果。待分类文本的分类结果用于反映待分类文本所属的类别。例如,对于一篇主题是足球类体育新闻的待分类文本,通过预先训练好的text-cnn模型对该待分类文本进行分类所得到的分类结果可以是:[体育新闻,足球],即待分类文本所要表达的主题是体育新闻类,且是体育新闻类中的足球类,此时,text-cnn模型的输出是通过一个2维向量来表示的。或者,对于一篇主题是足球类体育新闻的待分类文本,通过预先训练好的text-cnn模型对该待分类文本进行分类所得到的分类结果还可以是:[足球],即待分类文本所要表达的主题是足球类,此时,text-cnn模型的输出是通过一个1维向量来表示的。

在本实施例中,text-cnn模型在对文本进行分类时,首先需要对待分类文件进行定长处理。对待分类文本进行定长处理是指将待分类文本处理为包含固定数目(例如n个)的词语的过程。

具体的,对于所包含的词语数目超过固定数目的待分类文本,text-cnn模型会从待分类文本对应的目标文本中截取n个词语。在实际应用中,可以设置text-cnn模型截取待分类文本对应的目标文本中靠前排列的n个词语,也可以设置text-cnn模型截取待分类文本对应的目标文本中靠后排列的n个词语,具体根据实际需求设置,此处不做限制。

对于所包含的词语数目少于固定数目的待分类文本,text-cnn模型会通过0来补齐待分类文本中所缺的词语。

text-cnn模型对待分类文本进行定长处理后,采用与处理图像类似的卷积神经网络对处理后的文本进行分类。需要说明的是,由于text-cnn模型为现有的成熟技术,因此,此处不再对其详细原理进行说明。

在通过text-cnn模型对待分类文本进行分类之前,可以采用预设的语料库对text-cnn模型进行训练。其中,该预设的语料库是一个训练样本集,训练样本集中的每条训练样本实际上就是一篇已分类文本。具体训练时,可以将已分类文本作为text-cnn模型的输入,将已分类文本对应的分类结果作为text-cnn模型的输出来对文本分类模型进行训练。通过大量的训练样本对text-cnn模型进行训练后,即可得到训练好的text-cnn模型。

以上可以看出,本发明实施例提供的一种文本分类方法通过确定待分类文本中的语句的关键度,并根据语句的关键度对待分类文本中的语句进行排序,使得待分类文本中的语句按照关键度的顺序依次排列,这样,在调用基于卷积神经网络的文本分类模型对篇幅较长的待分类文本进行分类时,基于卷积神经网络的文本分类模型从待分类文本中截取到的语句能够很好地反映待分类文本的主题,从而提高了文本分类的准确度。

参见图2,图2是本发明另一实施例提供的一种文本分类方法的示意流程图。本实施例中文本分类方法的执行主体为服务器。如图2所示的文本分类方法可以包括以下步骤:

s21:确定待分类文本中的语句的关键度。

服务器正常工作时,若接收到文本分类请求,则获取待分类文本。

其中,文本分类请求用于指示服务器对待分类文本进行分类。对文本进行分类是指将文本归于预先给定的类别(或主题)中的某一类或某几类的过程。

待分类文本是具有完整含义的一条语句或至少两条语句的组合。待分类文本可以是网络上的某篇新闻或某条社交信息,也可以是用户浏览过的任意形式的文本信息,或者还可以是其他信息,此处不做限制。待分类文本可以是一篇,也可以是至少两篇,此处不做限制。

服务器获取到待分类文本后,确定待分类文本中的语句的关键度。其中,语句的关键度用于表示语句与待分类文本所要表达的主题的相关程度。

在实际应用中,服务器在获取到待分类文本后,可以确定待分类文本中所有语句的关键度,也可以仅确定待分类文本中的部分语句的关键度,具体根据实际需求设置,此处不做限制。

在本实施例中,s21可以包括s211~s213,具体如下:

s211:对待分类文本所包含的原始语句进行分词处理和去停用词处理,得到与所述原始语句相对应的目标语句。

在本实施例中,服务器获取到待分类文本后,对待分类文本中的原始语句进行分词处理和去停用词处理,得到与原始语句相对应的目标语句。

在实际应用中,服务器可以对待分类文本中的所有原始语句均进行分词处理和去停用词处理,得到与所有原始语句各自对应的目标语句,服务器也可以仅对待分类文本中的部分原始语句进行词处理和去停用词处理,得到与该部分语句各自对应的目标语句。

其中,分词处理是指将一条语句分为多个词语的过程,去停用词处理是指删除语句中所出现的停用词的过程。停用词指文本中出现的一些高频的代词、连词、介词、语气词等对文本分类毫无意义的词语。例如,停用词可以包括但不限于“我”、“的”、“啊”、“吗”等词语。

目标语句是原始语句经过分词处理和去停用词处理之后得到的语句。每条目标语句中包含至少一个词语。可以理解的是,本发明实施例中的词语可以是单个字,也可以由至少两个字组成,此处不做限制。

服务器可以采用基于字符串匹配的正向最大匹配算法对待分类文本中的原始语句进行分词处理,也可以采用基于字符串匹配的逆向最大匹配算法对待分类文本中的原始语句进行分词处理,或者可以采用基于字符串匹配的双向最大匹配算法对待分类文本中的原始语句进行分词处理,又或者还可以采用基于语义分析消歧算法对待分类文本中的原始语句进行分词处理,具体根据实际需求设置,此处不做限制。

在本实施例中,可以预先在服务器中存储预设的停用词表。

服务器对待分类文本中的语句进行去停用词处理可以为:将语句中所包含的每个词语均与预设的停用词表中的每一个词语进行对比,若第一语句中的第一词语与停用词表中的某一词语相同,则将第一语句中的第一词语删除。需要说明的是,此处所述的第一语句可以为待分类文本中的任一语句,第一词语可以为第一语句中的任一词语。

服务器可以先对语句进行分词处理,再对分词处理后的语句进行去停用词处理。例如,若待分类文本所包含的其中一条原始语句为“我喜欢看何炅主持的综艺节目”,“我”和“的”为预设的停用词表中的词语,则对该语句进行分词处理和停用词处理之后得到的目标语句可以为:喜欢/看/何炅/主持/综艺节目。

s212:确定所述目标语句中的词语的关键度。

在本实施例中,服务器在对待分类文本中的语句进行分词处理和去停用词处理得到目标语句后,确定目标语句中的词语的关键度。

其中,词语的关键度指词语与待分类文本所要表达的主题的相关程度。

具体的,s212可以包括以下步骤:

调用预先训练好的第一词向量模型确定所述目标语句中的词语的词向量;

调用预先训练好的主题向量模型确定所述目标语句中的词语的主题向量;

调用预先训练好的第一主题模型确定所述待分类文本的主题概率分布;

根据所述词语的词向量、所述词语的主题向量以及所述主题概率分布,确定所述词语的关键度。

在本实施例中,预先训练好的第一词向量模型用于确定某个词语的上下文词语,其具体是根据某个词语来确定该词语的上下文词语。在本实施例中,词语的上下文词语可以通过该词语的词向量表示,即第一词向量模型用于根据某个词语确定该词语的词向量。词语的词向量可以通过与该词语前后相邻的一个或至少两个词语表示。

在本实施例中,预先训练好的第一词向量模型的输入为某个词语,输出为该词语的词向量。服务器可以调用预先训练好的第一词向量模型确定目标语句中的词语的词向量。

在实际应用中,服务器可以调用预先训练好的第一词向量模型确定目标语句中的所有词语的词向量,也可以调用预先训练好的第一词向量模型确定目标语句中的部分词语的词向量,此处不做限制。

在本实施例中,在调用预先训练好的第一词向量模型确定待分类文本中的词语的词向量之前,可以通过预设的语料库对第一词向量模型进行训练。其中,预设的语料库中包含多篇文本。通过预设的语料库对第一词向量模型进行训练后即得到的训练好的第一词向量模型,训练好的第一词向量模型中包含了词典中的每个词语所对应的词向量。

在对第一词向量模型进行训练时,可以根据实际需求对第一词向量模型输出的词向量的维度进行设置。例如,可以设置第一词向量模型输出的词向量的维度为二维,也可以设置第一词向量模型输出的词向量的维度为四维等。若设置第一词向量模型输出的词向量的维度为二维,则预先训练好的第一词向量模型用于确定与某个词语相邻的前一个词语和后一个词语,即通过与某个词语相邻的前一个词语和后一个词语来表示该词语的词向量;若设置第一词向量模型输出的词向量的维度为四维,则预先训练好的第一词向量模型用于确定与某个词语相邻的前两个词语和后两个词语,即通过与某个词语相邻的前两个词语和后两个词语来表示该词语的词向量。

在本实施例中,第一词向量模型可以为word2vec模型中的skip-gram模型。

在本发明实施例中,词语的主题定义为:与该词语所要表达的内容最为相关的一个或多个词语。文本的主题定义为:与该文本所要表达的主题最为相关的一个或多个词语。

在本实施例中,预先训练好的主题向量模型也用于确定某个词语的上下文词语,其具体是根据某个词语确定该词语的主题,再根据该词语的主题来确定该词语的主题的上下文词语。在本实施例中,词语的主题的上下文词语可以通过该词语的主题的词向量表示,该词语的主题的词向量即为该词语的主题向量。词语的主题向量可以通过与该词语的主题前后相邻的一个或至少两个词语表示。

在本实施例中,预先训练好的主题向量模型的输入为某个词语,输出为该词语的主题向量。服务器可以调用预先训练好的主题向量模型确定目标语句中的词语的主题向量。在实际应用中,服务器可以调用预先训练好的主题向量模型确定目标语句中的所有词语的词向量,也可以调用主题向量模型确定目标语句中的部分词语的词向量,此处不做限制。

在对主题向量模型进行训练时,可以根据实际需求对主题向量模型输出的主题向量的维度进行设置。例如,可以设置主题向量模型输出的主题向量的维度为二维,也可以设置主题向量模型输出的主题向量的维度为四维等。若设置主题向量模型输出的主题向量的维度为二维,则预先训练好的主题向量模型用于确定与某个词语的主题相邻的前一个词语和后一个词语,即通过与某个词语的主题相邻的前一个词语和后一个词语来表示该词语的主题向量;若设置主题向量模型输出的主题向量的维度为四维,则预先训练好的主题向量模型用于确定与某个词语的主题相邻的前两个词语和后两个词语,即通过与某个词语的主题相邻的前两个词语和后两个词语来表示该词语的主题向量。

在本实例中,第一词向量模型输出的词向量的维度与主题向量模型输出的主题向量的维度相同。

在本实施例中,预先训练好的第一主题模型用于确定某篇文本的主题概率分布,即用于确定某篇文本属于预设主题的概率。其中,预设主题可以为一个,也可以为至少两个,预设主题的数目和内容可以根据实际需求确定,此处不做限制。例如,预设主题可以包括7个主题,分别为:科技、体育、视频、地点、教育、交通工具、食物。

预先训练好的第一主题模型还用于确定某篇文本中的每个词语的主题。

在本实施例中,预先训练好的第一主题模型的输入为某篇文本,输出为该文本的主题概率分布以及该文本中的每个词语的主题。每个词语的主题可以通过一个词语表示。服务器可以调用预先训练好的第一主题模型确定待分类文本的主题概率分布。

在本实施例中,在调用预先训练好的第一主题模型确定待分类文本的主题概率分布之前,可以通过预设的语料库对第一主题模型进行训练。其中,预设的语料库中包含多篇文本。通过预设的语料库对第一主题模型进行训练后即得到训练好的第一主题模型,训练好的第一主题模型中包括含了语料库中的每篇文本所对应的主题概率分布,以及词典中的每个词语所对应的主题。

在本实施例中,第一主题模型可以为隐含狄利克雷分布(latentdirichletallocation)模型,也可以为其他类型的主题模型,此处不做限制。

服务器在确定了词语的词向量、词语的主题向量以及待分类文本的主题概率分布之后,根据词语的词向量、词语的主题向量以及待分类文本的主题概率分布确定相应词语的关键度。

更具体的,在本实施例中,主题向量模型可以包括第一主题模型和第二词向量模块,所述调用预先训练好的主题向量模型确定所述目标语句中的词语的主题向量,包括:

调用预先训练好的第一主题模型确定所述词语对应的主题;

将所述词语对应的主题导入预先训练好的第二词向量模型,得到所述词语对应的主题向量。

在本实施例中,服务器还调用预先训练好的第一主题模型来确定目标文本中的词语对应的主题。在实际应用中,服务器可以调用预先训练好的第一主题模型来确定目标文本中的所有词语对应的主题,也可以调用预先训练好的第一主题模型来确定目标文本中的来确定目标文本中的部分词语对应的主题,此处不做限制。

通过预先训练好的第一主题模型所确定的词语的主题为预设的多个主题中的一个,即通过预先训练好的第一主题模型所确定的词语的主题可以通过一个词语表示。服务器在确定了词语对应的主题之后,将词语对应的主题导入预先训练好的第二词向量模型,得到相应词语对应的主题向量。

其中,第二词向量模型用于确定词语的主题对应的词向量。即第二词向量模型的输入为某个词语的主题,输出为该主题的词向量,该主题的词向量即为与该主体对应的词语的主题向量。即服务器可以将根据第一主题模型所确定的词语的主题作为第二词向量模型的输入,将第二词向量模型的输出确定为相应词语的主题向量。

在本实施例中,在调用预先训练好的第二词向量模型之前,可以通过预设的语料库对第二词向量模型进行训练。对第二词向量模型的训练过程与对第一词向量模型的训练过程相同。训练好的第二词向量模型中包含了词典中的每个词语所对应的词向量。

在对第二词向量模型进行训练时,可以根据实际需求对第二词向量模型输出的主题向量的维度进行设置。例如,可以设置第二词向量模型输出的词向量的维度为二维,也可以设置第二词向量模型输出的词向量的维度为四维等。若设置第二词向量模型输出的主题向量的维度为二维,则预先训练好的第二词向量模型用于确定与某个词语的主题相邻的前一个词语和后一个词语,即通过与某个词语的主题相邻的前一个词语和后一个词语来表示该词语的主题向量;若设置第二词向量模型输出的主题向量的维度为四维,则预先训练好的第二词向量模型用于确定与某个词语的主题相邻的前两个词语和后两个词语,即通过与某个词语的主题相邻的前两个词语和后两个词语来表示该词语的主题向量。

在本发明实施例中,第二词向量模型输出的主题向量的维度与第一词向量模型输出的词向量的维度相同。第二词向量模型也可以为word2vec模型中的skip-gram模型。

更具体的,所述根据所述词语的词向量、所述词语的主题向量以及所述主题概率分布,确定所述词语的关键度,可以包括以下步骤:

根据预设的相似度计算策略,计算所述词语的词向量与所述词语的主题向量之间的第一相似度值;

根据所述第一相似度值以及所述主题概率分布确定所述词语的关键度。

在本实施例中,服务器可以根据预设的相似度计算策略,计算词语的词向量与该词语的主题向量之间的第一相似度值。

其中,预设的相似度计算策略可以根据实际需求设置,此处不做限制。例如,预设的相似度计算策略可以为余弦相似度算法。服务器可以根据余弦相似度算法计算词语的词向量与所述词语的主题向量之间的第一相似度值,进而根据计算的到的第一相似度值以及文本的主题概率分布确定词语的关键度。

其中,根据所述第一相似度值以及所述主题概率分布确定所述词语的关键度可以为:根据以下公式计算所述词语的关键度:

其中,s为词语的关键度,k为所述第一主题模型对应的预设主题的个数,c为词语的词向量与词语的主题向量之间的第一相似度值,d表示待分类文本,p(zi|d)为待分类文本对应在第i个主题上的主题概率。

需要说明的是,在本实施例中,k可以根据实际需求设置,此处不做限制。

s213:根据所述目标语句中的词语的关键度确定所述目标语句的关键度。

服务器确定了目标语句中的词语的关键度之后,可以根据目标语句中的词语的关键度确定该目标语句的关键度。

在本实施例中,s213可以包括以下步骤:

将所述目标语句中关键度最高的词语的关键度确定为所述目标语句的关键度。

在本实施例中,服务器可以将目标语句包括的所有词语中关键度最高的词语的关键度确定为该目标语句的关键度。例如,若目标语句中词语a的关键度为20%,词语b的关键度为50%,词语c的关键度为90%,词语d的关键度为99%,则服务器将该目标语句的关键度确定为99%。

s22:根据所述语句的关键度对所述语句进行排序,得到目标文本。

本实施例中的s22与上一实施例中的s12相同,具体请参阅上一实施例中的s12的相关描述,此处不赘述。

s23:调用预先训练好的基于卷积神经网络的文本分类模型对所述目标文本进行分类。

本实施例中的s23与上一实施例中的s13相同,具体请参阅上一实施例中的s13的相关描述,此处不赘述。

以上可以看出,本发明实施例提供的一种文本分类方法通过确定待分类文本中的语句的关键度,并根据语句的关键度对待分类文本中的语句进行排序,使得待分类文本中的语句按照关键度的顺序依次排列,这样,在调用基于卷积神经网络的文本分类模型对篇幅较长的待分类文本进行分类时,基于卷积神经网络的文本分类模型从待分类文本中截取到的语句能够很好地反映待分类文本的主题,从而提高了文本分类的准确度。

本发明实施例还提供一种服务器,该服务器包括用于执行前述任一项所述的文本分类方法的单元。具体的,参见图3,图3是本发明实施例提供的一种服务器的示意性框图。本实施例的服务器300可以包括第一确定单元301、排序单元302及分类单元303。

第一确定单元301用于确定待分类文本中的语句的关键度;其中,所述语句的关键度用于表示所述语句与所述待分类文本所要表达的主题的相关程度。

排序单元302用于根据所述语句的关键度对所述语句进行排序,得到目标文本。

分类单元303用于调用预先训练好的基于卷积神经网络的文本分类模型对所述目标文本进行分类。

可选的,第一确定单元301包括预处理单元3011、第一关键度确定单元3012及第二关键度确定单元3013。

预处理单元3011用于待分类文本所包含的原始语句进行分词处理和去停用词处理,得到与所述原始语句相对应的目标语句;其中,所述目标语句中包含至少一个词语。

第一关键度确定单元3012用于确定所述目标语句中的词语的关键度;其中,所述词语的关键度用于表示所述词语与所述待分类文本所要表达的主题的相关程度。

第二关键度确定单元3013用于根据所述目标语句中的词语的关键度确定所述目标语句的关键度。

可选的,第一关键度确定单元3012包括:词向量确定单元、主题向量确定单元、主题概率确定单元及词语关键度确定单元。

词向量确定单元用于调用预先训练好的第一词向量模型确定所述目标语句中的词语的词向量。

主题向量确定单元用于调用预先训练好的主题向量模型确定所述目标语句中的词语的主题向量。

主题概率确定单元用于调用预先训练好的第一主题模型确定所述待分类文本的主题概率分布。

词语关键度确定单元用于根据所述词语的词向量、所述词语的主题向量以及所述主题概率分布,确定所述词语的关键度。

具体的,词语关键度确定单元具体用于:

根据预设的相似度计算策略,计算所述词语的词向量与所述词语的主题向量之间的第一相似度值;

根据所述第一相似度值以及所述主题概率分布确定所述词语的关键度。

更具体的,词语关键度确定单元具体用于:

根据以下公式计算所述词语的关键度:

其中,s为词语的关键度,k为所述第一主题模型对应的预设主题的个数,c为词语的词向量与词语的主题向量之间的第一相似度值,d表示待分类文本,p(zi|d)为待分类文本对应在第i个主题上的主题概率。

具体的,主题向量模型包括第一主题模型和第二词向量模块。

主题向量确定单元具体用于:

调用预先训练好的第一主题模型确定所述词语对应的主题;

将所述词语对应的主题导入预先训练好的第二词向量模型,得到所述词语对应的主题向量。

具体的,第二关键度确定单元3013具体用于将所述目标语句中关键度最高的词语的关键度确定为所述目标语句的关键度。

以上可以看出,本发明实施例提供的一种服务器通过确定待分类文本中的语句的关键度,并根据语句的关键度对待分类文本中的语句进行排序,使得待分类文本中的语句按照关键度的顺序依次排列,这样,在调用基于卷积神经网络的文本分类模型对篇幅较长的待分类文本进行分类时,基于卷积神经网络的文本分类模型从待分类文本中截取到的语句能够很好地反映待分类文本的主题,从而提高了文本分类的准确度。

参见图4,图4是本发明再一实施例提供的一种服务器的示意框图。如图4所示的本实施例中的服务器400可以包括:一个或多个处理器401、一个或多个输入设备402、一个或多个则输出设备403及一个或多个存储器404。上述处理器401、输入设备402、则输出设备403及存储器404通过通信总线405完成相互间的通信。存储器404用于存储计算机程序,所述计算机程序包括程序指令。处理器401用于执行存储器404存储的程序指令。其中,处理器401被配置用于调用所述程序指令执行以下操作:

确定待分类文本中的语句的关键度;其中,所述语句的关键度用于表示所述语句与所述待分类文本所要表达的主题的相关程度;

根据所述语句的关键度对所述语句进行排序,得到目标文本;

调用预先训练好的基于卷积神经网络的文本分类模型对所述目标文本进行分类。

进一步的,处理器401具体被配置用于调用所述程序指令执行以下操作:

对待分类文本所包含的原始语句进行分词处理和去停用词处理,得到与所述原始语句相对应的目标语句;其中,所述目标语句中包含至少一个词语;

确定所述目标语句中的词语的关键度;其中,所述词语的关键度用于表示所述词语与所述待分类文本所要表达的主题的相关程度;

根据所述目标语句中的词语的关键度确定所述目标语句的关键度。

进一步的,处理器401具体被配置用于调用所述程序指令执行以下操作:

调用预先训练好的第一词向量模型确定所述目标语句中的词语的词向量;

调用预先训练好的主题向量模型确定所述目标语句中的词语的主题向量;

调用预先训练好的第一主题模型确定所述待分类文本的主题概率分布;

根据所述词语的词向量、所述词语的主题向量以及所述主题概率分布,确定所述词语的关键度。

进一步的,处理器401具体被配置用于调用所述程序指令执行以下操作:

根据预设的相似度计算策略,计算所述词语的词向量与所述词语的主题向量之间的第一相似度值;

根据所述第一相似度值以及所述主题概率分布确定所述词语的关键度。

进一步的,处理器401具体被配置用于调用所述程序指令执行以下操作:

根据以下公式计算所述词语的关键度:

其中,s为词语的关键度,k为所述第一主题模型对应的预设主题的个数,c为词语的词向量与词语的主题向量之间的第一相似度值,d表示待分类文本,p(zi|d)为待分类文本对应在第i个主题上的主题概率。

进一步的,所述主题向量模型包括第一主题模型和第二词向量模块,处理器401具体被配置用于调用所述程序指令执行以下操作:

调用预先训练好的第一主题模型确定所述词语对应的主题;

将所述词语对应的主题导入预先训练好的第二词向量模型,得到所述词语对应的主题向量。

进一步的,处理器401具体被配置用于调用所述程序指令执行以下操作:

将所述目标语句中关键度最高的词语的关键度确定为所述目标语句的关键度。

应当理解,在本发明实施例中,所称处理器401可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备402可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备403可以包括显示器(lcd等)、扬声器等。

该存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器。例如,存储器404还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器401、输入设备402、输出设备403可执行本发明实施例提供的文本分类方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的服务器的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:

确定待分类文本中的语句的关键度;其中,所述语句的关键度用于表示所述语句与所述待分类文本所要表达的主题的相关程度;

根据所述语句的关键度对所述语句进行排序,得到目标文本;

调用预先训练好的基于卷积神经网络的文本分类模型对所述目标文本进行分类。

进一步的,所述计算机程序被处理器执行时具体实现:

对待分类文本所包含的原始语句进行分词处理和去停用词处理,得到与所述原始语句相对应的目标语句;其中,所述目标语句中包含至少一个词语;

确定所述目标语句中的词语的关键度;其中,所述词语的关键度用于表示所述词语与所述待分类文本所要表达的主题的相关程度;

根据所述目标语句中的词语的关键度确定所述目标语句的关键度。

进一步的,所述计算机程序被处理器执行时具体实现:

调用预先训练好的第一词向量模型确定所述目标语句中的词语的词向量;

调用预先训练好的主题向量模型确定所述目标语句中的词语的主题向量;

调用预先训练好的第一主题模型确定所述待分类文本的主题概率分布;

根据所述词语的词向量、所述词语的主题向量以及所述主题概率分布,确定所述词语的关键度。

进一步的,所述计算机程序被处理器执行时具体实现:

根据预设的相似度计算策略,计算所述词语的词向量与所述词语的主题向量之间的第一相似度值;

根据所述第一相似度值以及所述主题概率分布确定所述词语的关键度。

进一步的,所述计算机程序被处理器执行时具体实现:

根据以下公式计算所述词语的关键度:

其中,s为词语的关键度,k为所述第一主题模型对应的预设主题的个数,c为词语的词向量与词语的主题向量之间的第一相似度值,d表示待分类文本,p(zi|d)为待分类文本对应在第i个主题上的主题概率。

进一步的,所述主题向量模型包括第一主题模型和第二词向量模块,所述计算机程序被处理器执行时具体实现:

调用预先训练好的第一主题模型确定所述词语对应的主题;

将所述词语对应的主题导入预先训练好的第二词向量模型,得到所述词语对应的主题向量。

进一步的,所述计算机程序被处理器执行时具体实现:

将所述目标语句中关键度最高的词语的关键度确定为所述目标语句的关键度。

所述计算机可读存储介质可以是前述任一实施例所述的服务器的内部存储单元,例如服务器的硬盘或内存。所述计算机可读存储介质也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序及所述服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的服务器和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本持有所提供的几个实施例中,应该理解到,所揭露的服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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