文本分类方法、装置、终端设备及存储介质与流程

文档序号:20030151发布日期:2020-02-28 10:17阅读:251来源:国知局
文本分类方法、装置、终端设备及存储介质与流程

本申请属于文本处理技术领域,特别是涉及一种文本分类方法、装置、终端设备及存储介质。



背景技术:

随着信息技术的发展,互联网上无时无刻不在产生大量的数据,新闻内容便是其中的一种。

通常,各个公司或企业的工作人员如果希望了解本行业的发展情况,可以按照行业分类的方式搜索带有本行业标签的各类新闻。但是,目前的新闻标注采用的是有监督的学习方式,需要事先采集大量的新闻文本,并通过人工的方式对这些新闻文本进行标注形成正负样本,再通过机器学习的方式对其他新闻文本进行标注,整个过程需要耗费大量的人力物力,效率较低。



技术实现要素:

有鉴于此,本申请实施例提供了一种文本分类方法、装置、终端设备及存储介质,以解决现有技术中对文本进行分类只能采用有监督的学习方式实现,需要通过人工方式对大量样本文本进行标注,费时费力、效率低下的问题。

本申请实施例的第一方面提供了一种文本分类方法,包括:

获取多份待分类的文本;

根据待识别对象的对象名称,从所述多份待分类的文本中识别出与所述待识别对象具有关联关系的目标文本,所述待识别对象具有相应的属性信息;

基于所述目标文本,确定所述待识别对象的关键词集合;

基于具有相同属性信息的多个待识别对象的关键词集合,生成所述属性信息对应的特征词集合;

根据所述特征词集合,对所述多份待分类的文本进行分类。

本申请实施例的第二方面提供了一种文本分类装置,包括:

获取模块,用于获取多份待分类的文本;

识别模块,用于根据待识别对象的对象名称,从所述多份待分类的文本中识别出与所述待识别对象具有关联关系的目标文本,所述待识别对象具有相应的属性信息;

确定模块,用于基于所述目标文本,确定所述待识别对象的关键词集合;

生成模块,用于基于具有相同属性信息的多个待识别对象的关键词集合,生成所述属性信息对应的特征词集合;

分类模块,用于根据所述特征词集合,对所述多份待分类的文本进行分类。

本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述文本分类方法的步骤。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述文本分类方法的步骤。

与现有技术相比,本申请实施例包括以下优点:

本申请实施例,通过获取多份待分类的文本,并根据待识别对象的对象名称,从多份待分类的文本中识别出与待识别对象具有关联关系的目标文本后,可以基于目标文本,确定待识别对象的关键词集合,然后将具有相同属性信息的多个待识别对象的关键词集合汇总为该属性信息对应的特征词集合,从而可以根据获得的特征词集合对文本进行分类。本实施例可以根据大量无需标记的文本内容,提取出其中与待识别对象具有强相关的目标文本内容,有效的利用了大量无监督文本数据来进行文本分类与标签获取,相比有监督的形式节省了大量的人力物力且应用场景更广泛;其次,在将目标文本中与待识别对象相关联的关键词提取出来,形成与待识别对象对应的一组关键词集合,然后根据待识别对象的属性信息生成该属性信息对应的特征词集合,可以便捷地利用属性信息与待识别对象之间的关系,加快特征词集合的生成速度。

附图说明

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

图1是本申请一个实施例的一种文本分类方法的步骤流程示意图;

图2是本申请一个实施例的另一种文本分类方法的步骤流程示意图;

图3是本申请一个实施例的一种文本分类装置的示意图;

图4是本申请一个实施例的一种终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

下面通过具体实施例来说明本申请的技术方案。

参照图1,示出了本申请一个实施例的一种文本分类方法的步骤流程示意图,具体可以包括如下步骤:

s101、获取多份待分类的文本;

需要说明的是,本实施例可以适用于终端设备。即通过终端设备对文本进行处理,从而实现对各份文本的分类。本实施例中的终端设备可以是台式机计算机、笔记本电脑或其他电子设备,本实施例对终端设备的具体类型不作限定。

本实施例中的待分类文本可以是新闻文本,如通过各类新闻网站采集到的体育新闻、金融新闻等等;也可以是其他类型的公告文本,如通过公开渠道采集到的上市公司的年度报告等文本,本实施例对文本的类型亦不作限定。

s102、根据待识别对象的对象名称,从所述多份待分类的文本中识别出与所述待识别对象具有关联关系的目标文本;

在本实施例中,待识别对象的对象名称可以是公司名称。即,可以通过识别某个公司的公司名称,从待分类的文本中查找出包含该公司名称的目标文本。

需要说明的是,包含某一公司名称的文本可能有很多。例如,在大量的新闻文本中,可能很多的新闻中均包含某个公司名称,但整篇新闻却并非是对以该公司为主要报道对象。因此,在识别出包含该公司名称的全部新闻文本后,还可以继续从这些新闻文本中筛选出与该公司具有较强关联关系的目标文本。

在具体实现中,可以根据待识别对象的对象名称在某份文本中出现次数的多少,确定该文本是否与待识别对象具有较强的关联性;或者,也可以通过某些特定的算法,如命名实体识别(ner)算法从多份文本中筛选出与待识别对象具有较强关联性的目标文本。本实施例对筛选目标文本的具体方式不作限定。

s103、基于所述目标文本,确定所述待识别对象的关键词集合;

在识别出目标文本后,可以通过关键词提取技术,从多份目标文本中确定出与待识别对象匹配的关键词集合。上述关键词集合中的关键词可以是在描述待识别对象时较常使用到的一些词语。

例如,在前述示例中,如果根据公司名称从多份新闻文本中筛选出与某个公司具有较强关联性的目标新闻文本后,可以通过识别这些目标新闻文本中用于报道该公司或描述与该公司相关的信息时最常使用到的一些关键词,这些关键词共同构成了该公司的关键词集合。

s104、基于具有相同属性信息的多个待识别对象的关键词集合,生成所述属性信息对应的特征词集合;

通常,待识别对象具有相应的属性信息。例如,对于公司而言,其所在行业便可以看作是该公司的属性信息。

因此,在生成各个待识别对象的关键词集合后,可以通过将具有相同属性信息的多个待识别对象的关键词集合进行汇总,得到属性信息对应的特征词集合。

例如,在生成每个公司的关键词集合后,可以将属于同一行业的多个公司的关键词集合进行汇总,从而得到该行业的特征词集合。上述特征词集合中的各个特征词可以看作是在用于描述该行业时最常使用到的词语。

s105、根据所述特征词集合,对所述多份待分类的文本进行分类。

需要说明的是,特征词集合中的每个特征词均可以看作是能够用于描述具有某种属性信息的待识别对象的词语。因此,可以按照特征词集合中的特征词对各个文本进行分类。

在本申请实施例中,通过获取多份待分类的文本,并根据待识别对象的对象名称,从多份待分类的文本中识别出与待识别对象具有关联关系的目标文本后,可以基于目标文本,确定待识别对象的关键词集合,然后将具有相同属性信息的多个待识别对象的关键词集合汇总为该属性信息对应的特征词集合,从而可以根据获得的特征词集合对文本进行分类。本实施例可以根据大量无需标记的文本内容,提取出其中与待识别对象具有强相关的目标文本内容,有效的利用了大量无监督文本数据来进行文本分类与标签获取,相比有监督的形式节省了大量的人力物力且应用场景更广泛;其次,在将目标文本中与待识别对象相关联的关键词提取出来,形成与待识别对象对应的一组关键词集合,然后根据待识别对象的属性信息生成该属性信息对应的特征词集合,可以便捷地利用属性信息与待识别对象之间的关系,加快特征词集合的生成速度。

参照图2,示出了本申请一个实施例的另一种文本分类方法的步骤流程示意图,具体可以包括如下步骤:

s201、获取多份待分类的文本;

需要说明的是,本实施例可以适用于终端设备。即通过终端设备对文本进行处理,从而实现对各份文本的分类。

为了便于理解,本实施例统一以对新闻文本进行分类为例进行后续介绍。

在本实施例中,在获取到待分类的文本后,可以首先将多份待分类的文本转换为纯文本格式,并对转换后的各份文本中的字符格式进行统一。例如,删除转换后的空格、特殊字符等等。

s202、从所述多份待分类的文本中识别出包含所述待识别对象的对象名称的多份第一文本;统计所述待识别对象的对象名称在每份第一文本中出现的次数;以及,确定所述待识别对象的对象名称在每份第一文本中出现的位置;

在本实施例中,可以采用命名实体识别(ner)算法对预处理后的新闻文本进行识别,筛选出包含特定的待识别对象的目标新闻文本。ner算法可以通过标注公司机构的名称,结合序列标注算法训练的模型,对文本进行处理,即可获取有效的实体公司名称。

在具体实现中,可以采用ner算法首先从多份待分类的文本中识别出包含待识别对象的对象名称的多份第一文本。例如,从多份新闻文本中识别出包含某个公司a的第一文本。

然后,再统计在每个第一文本中,上述公司a出现的次数,以及每个出现时具体所在的位置。

s203、根据所述待识别对象的对象名称出现的次数和出现的位置,以及预设的次数权重值和位置权重值,计算每份第一文本的相关性系数;识别所述相关性系数大于预设相关性阈值的第一文本为与所述待识别对象具有关联关系的目标文本;

在本实施例中,对于不同的出现次数和出现时所处的不同位置,可以预先设置相应的权重值,然后根据出现次数和所在位置及其各自对应的权重值,可以计算出每份第一文本的相关性系数。

例如,在统计出每篇新闻文本中各个公司名称的数量x,再计算出每篇新闻中各个公司名称在新闻文本中的位置重要性p(p值可以预先设置,如:公司名称出现在标题位置的,权重为10,出现在首段位置的,权重为8,如此依次减少),那么新闻文本与各个公司的相关度可以表示为y=ax+bp,其中a和b分别为对应的权重参数。其中,参数a的重要性可以略低于b,即a小于b,可以指定a和b为适当的值,也可以通过数据学习出合适的值,本实施例对此不作限定。

在按照上述方式计算出每篇新闻文本的相关性系数后,若某篇新闻的相关性系数y值大于设定的阈值k时,则可以认为该新闻文本与该公司强相关。

通过计算相关性系数,可以排除掉某些新闻文本中只是提到某公司名称,而所报道内容与该公司无关的新闻文本。

s204、对所述目标文本进行分词,识别分词后各个词语的词性信息;根据预设的停用词表,删除命中所述停用词表中任一停用词的词语;以及,根据所述各个词语的词性信息,删除词性信息不属于名词的词语;

在具体实现中,对于与某个公司强相关的目标新闻文本,则可以使用分词工具对各个目标文本进行分词,并通过预设的停用词表过滤掉无用的停用词。因为文本标签词语一般是名词性质的,因此,对于分词后获得的词语,可以根据其词性,主要保留名词性质的词语,而将其他词性的词语删除。

s205、基于剩余的词语构建词语共现矩阵,删除所述词语共现矩阵中词频数小于预设词频阈值的词语,获得目标词语共现矩阵;

在本实施例中,对于与某个公司强相关的多篇目标新闻文本中剩余的词语,可以通过构建词语共现矩阵的方式,识别出关键词。

在具体实现中,可以首先确定全部目标文本中剩余的词语,然后以全部目标文本中剩余的词语为词语共现矩阵的行数据,各份目标文本中剩余的词语为词语共现矩阵的列数据,若目标列中的目标词属于当前的目标文本中剩余的词语,则将当前的目标文本所在行与目标列交叉位置标记为1,否则标记为0,获得词语共现矩阵,上述目标列可以是词语共现矩阵的任一列。

即,可以将某公司所有的强相关新闻去重词语构建为词表,词表构成了矩阵的行和列,当某列词与所有行的某些词出现在同一篇新闻中时,则该行列位置可以标记为1,如此反复构成词语共现矩阵。

同时,对于部分低频词,例如词语个数少于3个的词语,可以将这些低频词过滤掉,减少后续的计算量。

s206、提取所述目标词语共现矩阵中的多个关键词,构成所述待识别对象的关键词集合;

在本实施例中,可以采用主成分分析(pca)等矩阵分解技术,从目标词语共现矩阵中提取出各个待识别对象的关键词集合。

pca技术可以通过对矩阵进行变换后得到降维结果,从而从冗余特征中提取出主要成分,即从冗余词表中提取出了主要的词语内容,构成待识别对象的关键词集合。

s207、对具有相同属性信息的多个待识别对象的关键词集合进行汇总,获得初始特征词集合;对所述初始特征词集合进行聚类,提取各类中词频最大的词语构成与所述属性信息对应的特征词集合;

同样以待识别对象为某个公司为例,由于每个公司都至少属于某一个行业,该行业可以看作是该公司的属性信息。因此,在生成各个公司的关键词集合后,可以将属于同一行业的多家公司的关键词集合汇总在一起,得到该行业的初始特征词集合。

初始特征词集合中包含了多个特征词和该特征词的词频,特征词的词频代表了该特征词的重要程度,词频的计算可以是将各个公司的关键词集合合并成行业的特征词集合时,对相同词语进行个数累加得到的。

然后,可以利用大量文本内容训练的词向量模型和基于k-means主题聚类,对初始特征词集合中的各个特征词进行挖掘抽取、词语去重和语义独立处理,得到最终属于该行业的特征词集合。

上述挖掘抽取、词语去重和语义独立的过程可以理解为,使用词向量进行聚类,通过余弦距离计算语义相似度超过一定数值(例如0.6)的特征词会被聚为一类,将各类中的词频最大的词语提取出来进行保存,其他的词语去除,就可以得到各个行业对应的特征词集合。

s208、根据所述特征词集合,对所述多份待分类的文本进行分类。

在得到各个行业的特征词集合后,可以采用(termfrequency–inversedocumentfrequency,tf-idf)算法对待分类文本进行分类。

通常,tf是某个词语在某一个文本中出现次数与所有文本中词语总数的比值,其作用表示该词语在一个文本中出现的次数,次数越多说明其越重要;idf是所有文本的个数与包含某个词语的文本个数的比值,将这两个值相乘,就得到某个词语的tf-idf值。某个词语在一个文本中的tf-idf值越大,那么一般而言这个词语在这个文本中的重要性就越高。

在本实施例中,可以针对特征词集合中的任一特征词,计算该特征词在待分类的文本中的词频-逆文本频率指数,即tf-idf指数,在提取tf-idf指数大于预设指数阈值的目标特征词后,可以根据上述目标特征词对待分类的文本进行分类。

本实施例通过利用大量无监督文本数据来进行文本分类与标签获取,相比有监督的形式节省了大量的人力物力且应用场景更广泛;同时,本实施例充分利用了行业与公司实体关系的先验知识,加快了算法对数据的认识,将多项文本处理技术进行结合,从而有效地解决了行业新闻分类问题,并在为行业和新闻标记标签后,可以根据用户关心的标签词语内容进行行业新闻内容的推荐,方便用户及时查找到匹配其期望的文本内容。

需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

参照图3,示出了本申请一个实施例的一种文本分类装置的示意图,具体可以包括如下模块:

获取模块301,用于获取多份待分类的文本;

识别模块302,用于根据待识别对象的对象名称,从所述多份待分类的文本中识别出与所述待识别对象具有关联关系的目标文本,所述待识别对象具有相应的属性信息;

确定模块303,用于基于所述目标文本,确定所述待识别对象的关键词集合;

生成模块304,用于基于具有相同属性信息的多个待识别对象的关键词集合,生成所述属性信息对应的特征词集合;

分类模块305,用于根据所述特征词集合,对所述多份待分类的文本进行分类。

在本申请实施例中,所述装置还可以包括如下模块:

预处理模块,用于将所述多份待分类的文本转换为纯文本格式,并对转换后的各份文本中的字符格式进行统一。

在本申请实施例中,所述识别模块302具体可以包括如下子模块:

第一文本识别子模块,用于从所述多份待分类的文本中识别出包含所述待识别对象的对象名称的多份第一文本;

次数统计子模块,用于统计所述待识别对象的对象名称在每份第一文本中出现的次数;以及,

位置确定子模块,用于确定所述待识别对象的对象名称在每份第一文本中出现的位置;

相关性系数计算子模块,用于根据所述待识别对象的对象名称出现的次数和出现的位置,以及预设的次数权重值和位置权重值,计算每份第一文本的相关性系数;

目标文本识别子模块,用于识别所述相关性系数大于预设相关性阈值的第一文本为与所述待识别对象具有关联关系的目标文本。

在本申请实施例中,所述确定模块303具体可以包括如下子模块:

分词子模块,用于对所述目标文本进行分词,识别分词后各个词语的词性信息;

词语更新子模块,用于根据预设的停用词表,删除命中所述停用词表中任一停用词的词语;以及,根据所述各个词语的词性信息,删除词性信息不属于名词的词语;

词语共现矩阵构建子模块,用于基于剩余的词语构建词语共现矩阵,删除所述词语共现矩阵中词频数小于预设词频阈值的词语,获得目标词语共现矩阵;

关键词集合生成子模块,用于提取所述目标词语共现矩阵中的多个关键词,构成所述待识别对象的关键词集合。

在本申请实施例中,所述词语共现矩阵构建子模块具体可以包括如下单元:

矩阵行列数据确定单元,用于确定全部目标文本中剩余的词语,以所述全部目标文本中剩余的词语为词语共现矩阵的行数据,各份目标文本中剩余的词语为词语共现矩阵的列数据;

矩阵生成单元,用于若目标列中的目标词属于当前的目标文本中剩余的词语,则将所述当前的目标文本所在行与所述目标列交叉位置标记为1,否则标记为0,获得词语共现矩阵,所述目标列为所述词语共现矩阵的任一列。

在本申请实施例中,所述生成模块304具体可以包括如下子模块:

关键词汇总子模块,用于对具有相同属性信息的多个待识别对象的关键词集合进行汇总,获得初始特征词集合;

特征词集合生成子模块,用于对所述初始特征词集合进行聚类,提取各类中词频最大的词语构成与所述属性信息对应的特征词集合。

在本申请实施例中,所述分类模块305具体可以包括如下子模块:

指数计算子模块,用于针对所述特征词集合中的任一特征词,计算所述特征词在待分类的文本中的词频-逆文本频率指数;

目标特征词提取子模块,用于提取所述词频-逆文本频率指数大于预设指数阈值的目标特征词;

文本分类子模块,用于根据所述目标特征词对所述待分类的文本进行分类。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。

参照图4,示出了本申请一个实施例的一种终端设备的示意图。如图4所示,本实施例的终端设备400包括:处理器410、存储器420以及存储在所述存储器420中并可在所述处理器410上运行的计算机程序421。所述处理器410执行所述计算机程序421时实现上述文本分类方法各个实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器410执行所述计算机程序421时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。

示例性的,所述计算机程序421可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器420中,并由所述处理器410执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序421在所述终端设备400中的执行过程。例如,所述计算机程序421可以被分割成获取模块、识别模块、确定模块、生成模块和分类模块,各模块具体功能如下:

获取模块,用于获取多份待分类的文本;

识别模块,用于根据待识别对象的对象名称,从所述多份待分类的文本中识别出与所述待识别对象具有关联关系的目标文本,所述待识别对象具有相应的属性信息;

确定模块,用于基于所述目标文本,确定所述待识别对象的关键词集合;

生成模块,用于基于具有相同属性信息的多个待识别对象的关键词集合,生成所述属性信息对应的特征词集合;

分类模块,用于根据所述特征词集合,对所述多份待分类的文本进行分类。

所述终端设备400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备400可包括,但不仅限于,处理器410、存储器420。本领域技术人员可以理解,图4仅仅是终端设备400的一种示例,并不构成对终端设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备400还可以包括输入输出设备、网络接入设备、总线等。

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

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

以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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