文本处理方法、装置、设备及存储介质
文献发布时间:2024-04-18 19:58:26
技术领域
本申请涉及人工智能技术领域,更具体地说,涉及一种文本处理方法、装置、设备及存储介质。
背景技术
目前,为方便用户从多个文本中快速找到所需要的文本,会提取各个文本的主题信息,然后将各个文本的主题信息进行聚类,将聚类后的主题信息展示给用户,方便用户根据聚类后的主题信息了解各文本的内容。
然而,目前的聚类方法在文本数量比较大的情况下能够取得较好的聚类效果,在文本数量比较小时的聚类效果则较差。
发明内容
有鉴于此,本申请提供了一种文本处理方法、装置、设备及存储介质,以提高文本数量较小情况下的聚类效果。
为了实现上述目的,现提出的方案如下:
一种文本处理方法,包括:
获得n个文本中各个文本的主题信息;
对应获得的所述n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对所述n个主题信息进行1次或多次聚类处理,得到所述分类数k对应的1个或多个聚类结果;其中,所述多次聚类处理采用了至少两种相似度度量方法和/或采用了从所述n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;
基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果。
上述方法,可选的,对所述n个主题信息进行多次聚类处理,包括:
获得从所述n个主题信息中取出k个不同的主题信息作为一个组合的多个组合;
对于任一组合中的k个主题信息,以该任一组合中的k个主题信息作为k个初始聚类中心,对所述n个主题信息进行一次聚类处理,得到该任一组合对应的一个聚类结果;或者,
对于任一组合中的k个主题信息,以该任一组合中的k个主题信息作为k个初始聚类中心,对所述n个主题信息进行m次聚类处理,得到该任一组合对应的m个聚类结果;其中,m为大于1的整数,所述m次聚类处理中,不同次聚类的初始聚类中心相同,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度。
上述方法,可选的,所述对所述n个主题信息进行1次或多次聚类处理,包括:
在所述n个主题信息中取出k个不同的主题信息作为目标初始聚类中心;
基于所述目标初始聚类中心对所述n个主题信息进行一次聚类处理,得到一个聚类结果;或者,
基于所述目标初始聚类中心对所述n个主题信息进行m次聚类处理,得到m个聚类结果;其中,m为大于1的整数,所述m次聚类处理中,不同次聚类的初始聚类中心为所述目标初始聚类中心,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度。
上述方法,可选的,所述基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果,包括:
获得所述所有聚类结果中各个聚类结果的评估指标;
在对所述n个主题信息进行1次或多次聚类处理,且所述多次聚类处理中的不同次聚类处理使用同一相似度度量方法衡量主题信息间的相似度的情况下,选择评估指标最优的聚类结果作为所述目标聚类结果。
上述方法,可选的,每次聚类处理利用第一聚类方法对所述n个主题信息进行聚类;
所述基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果,包括:
获得所述所有聚类结果中各个聚类结果的评估指标;
在对所述n个主题信息进行多次聚类处理,且所述多次聚类处理采用了m种相似度度量方法的情况下,在对应同一相似度度量方法的各聚类结果中选择评估指标最优的聚类结果;
基于各个相似度度量方法对应的评估指标最优的聚类结果,对所述n个主题信息中的任意两个主题信息属于同一类进行投票,将所述任意两个主题信息被投票的比例确定为所述任意两个主题信息的投票相似度;
基于主题信息间的投票相似度,利用第二聚类方法对所述n个主题信息进行聚类,得到所述目标聚类结果。
上述方法,可选的,所述第一聚类方法包括:K均值聚类法;所述第二聚类方法包括:层次聚类法或最大最小距离法。
上述方法,可选的,还包括:
将所述n个主题信息按照所述目标聚类结果输出;
获得针对任一类主题信息的溯源指令,获取所述任一类主题信息关联的各个文本;
输出所述任一类主题信息关联的文本。
一种文本处理装置,所述装置包括:
获取模块,用于获得n个文本中各个文本的主题信息;
聚类处理模块,用于对应获得的所述n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对所述n个主题信息进行1次或多次聚类处理,得到所述分类数k对应的1个或多个聚类结果;其中,所述多次聚类处理采用了至少两种相似度度量方法和/或采用了从所述n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;
确定模块,用于基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果。
一种文本处理设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上任一项所述的文本处理方法的各个步骤。
一种计算机可读存储介质,其上存储有计算机程序所述计算机程序被处理器执行时,实现如上任一项所述的文本处理方法的各个步骤。
从上述的技术方案可以看出,本申请实施例提供的文本处理方法、装置、设备及存储介质,获得n个文本中各个文本的主题信息;对应获得的n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对n个主题信息进行1次或多次聚类处理,得到分类数k对应的1个或多个聚类结果;其中,多次聚类处理采用了至少两种相似度度量方法和/或采用了从n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果。本申请通过穷举n个主题信息所有可能的分类数,并针对每个分类数进行了1次或多次聚类处理,基于所有可能的分类数对应的所有聚类结果确定n个主题信息的目标聚类结果,提高了文本数量较小情况下的聚类效果,而且由于文本数量较少,相应的主题信息量也较小,不会降低处理效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的文本处理方法的一种实现流程图;
图2为本申请实施例公开的对n个主题信息进行多次聚类处理的一种实现流程图;
图3为本申请实施例公开的对n个主题信息进行多次聚类处理的另一种实现流程图;
图4为本申请实施例公开的对n个主题信息进行1次或多次聚类处理的一种实现流程图;
图5为本申请实施例公开的对n个主题信息进行1次或多次聚类处理的另一种实现流程图;
图6为本申请实施例公开的基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果的一种实现流程图;
图7为本申请实施例公开的基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果的另一种实现流程图;
图8为本申请实施例公开的投票策略的示例图;
图9为本申请实施例公开的文本处理装置的一种结构示意图;
图10为本申请实施例公开的文本处理设备的硬件结构框图。
具体实施方式
在对本申请的方案进行阐述前,对相关的概念进行解释说明。
指示指令(Prompt):在与AI(如大语言模型)进行对话时,需要向AI发送的指令,其可以是一段文字描述,比如你和AI对话时输入的“请帮我推荐一首流行音乐”,也可以是按照一定格式的参数描述,比如让AI按照一定格式进行绘图,需要描述相关绘图参数。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
文本生成是当前自然语言处理的重点方向,属于目前人工智能行业最前沿的领域。通过对用户输入的文本信息进行主题理解和归纳,让机器直接生成文本信息的主题信息,用户通过查看文本信息的主题信息可以快速了解文本信息的整体内容,省去了用户阅读文本的大量时间。而海量的文本信息也会给用户的阅读、查找造成困难。为了帮助用户从多个文本信息中快速查阅所需要的文本信息,文本主题聚类技术应运而生。文本主题聚类技术的目的是将多个长文本的主题句进行聚类,把语意相近的主题句归为一类,方便用户查询和推荐。
目前的文本主题聚类技术还存在一些问题。比如,针对同一组数据,不同的聚类算法可能会得到不同的结果,这是由于聚类算法本身的随机性以及文本数据的多样性造成的,因此,在对文本主题进行聚类时,需要谨慎地选择聚类算法和参数,以确保最终得到的结果是准确的。而且,即便选择了最优的聚类算法和参数,目前的聚类算法对数据的需求量较大,即只有在文本数量较大的情况下才能得到较准确的聚类结果,在文本数量较小的情况下,聚类效果比较差。
为了提高文本数量较小情况下的聚类效果,提出本申请。
如图1所示,为本申请实施例提供的文本处理方法的一种实现流程图,可以包括:
步骤S101:获得n个文本中各个文本的主题信息。
由于对应每个文本获得一个主题信息,因此,一共获得n个主题信息。
作为示例,可以在内存中读取各个文本的主题信息。也就是说,可以预先对n个文本中的各个文本分别进行主题提取,得到各个文本的主题信息并存储,当需要n个文本中各个文本的主题信息中,直接在内存中读取即可。
作为示例,可以实时对n个文本中的各个文本分别进行主题提取,得到各个文本的主题信息。
不管是预先进行主题信息提取,还是实时进行主题信息提取,均可以通过如下任一方式进行主题信息提取。
方式一:对于任一文本,对该任一文本进行语篇规整(包括但不限于:去除停用词,去除冗余、错误等无效信息),得到规整后文本,利用预先训练好的文本主题生成模型对规整后的文本进行处理,生成该任一文本的主题信息。
在文本长度较长的情况下,基于方式一生成的主题信息容易损失语意信息,为了降低主题信息对语意信息的损失,可以采用方式二进行主题信息提取。
方式二:对于任一文本,对该任一文本进行语篇分割操作(比如,按章节分割,或者,按照自然段落分割等),得到该任一文本对应的多个短文本构成一个短文本群,对短文本群中的各个短文本进行语篇规整(包括但不限于:去除停用词,去除冗余、错误等无效信息),得到新的短文本群。利用预先训练好的文本主题生成模型对新的短文本群中的各个短文本分别进行处理,生成新的短文本群中的各个短文本的主题信息,将各个短文本的主题信息组合(可以将各个文本的主题信息按照短文本在该任一文本中的先后顺序进行拼接),得到该任一文本的主题信息。
可选的,本申请中的文本主题生成模型可以是生成式模型,比如,大语言模型。作为示例,生成式模型可以包括但不限于:Transformer架构的模型,比如,可以是GPT(Generative Pre-Training)-3、GPT-4等。生成式模型也可以是其它生成式模型,比如,PaLM(Pathways Language Model)、T5(Text-to-Text Transfer Transformer)、Bart等。
作为示例,对于规整后的文本,可以基于规整后的文本构建第一主题生成指示指令,将第一主题生成指示指令输入预先训练好的文本主题生成模型,得到文本主题生成模型生成的该任一文本的主题信息。第一主题生成指示指令中包括规整后的文本,第一主题生成指示指令指示文本主题生成模型生成规整后的文本的主题信息(即该任一文本的主题信息)。
作为示例,对于任一短文本,可以基于该任一短文本构建第二主题生成指示指令,将第二主题生成指示指令输入预先训练好的文本主题生成模型,得到文本主题生成模型生成的该任一短文本的主题信息。第二主题生成指示指令中包括该任一短文本,第二主题生成指示指令指示文本主题生成模型生成该任一短文本的主题信息。
可选的,本申请中的文本主题模型也可以是非生成式模型,比如,可以是LDA(Latent Dirichlet Allocation)模型等。
步骤S102:对应获得的上述n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k(即k=2,3,……,n-2,n-1),对上述n个主题信息进行1次或多次聚类处理,得到该分类数k对应的1个或多个聚类结果。
其中,多次聚类处理采用了至少两种相似度度量方法和/或采用了从n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同。
对n个主题信息进行聚类得到的分类数最小为1(即最少将n个主题信息分为一类),最大为n(即最多将n个主题信息分为n类),一共有n种可能的分类数。也就是说,本申请对n个主题信息的所有可能的分类数进行穷举,对应每个分类数,分别对n个主题信息进行聚类,且对应每个分类数,可以只进行一次聚类,也可以进行多次聚类。
k=1时,说明n个主题信息属于一类,只有一种情况,无需执行聚类处理步骤,k=n时,说明每个主题信息属于一类,也是只有一种情况,也无需执行聚类处理步骤。
聚类过程种需要衡量主题信息间的相似度,基于此,在多次聚类的情况下,可以只采用一种相似度度量方法来衡量主题信息间的相似度,也可以采用至少两种相似度度量方法来衡量主题信息间的相似度,但一次聚类仅使用一种相似度度量方法即可。
聚类过程中需要从n个主题信息中选择k个主题信息作为k个初始聚类中心,每个初始聚类中心对应一个类别。基于此,可以从n个主题信息中只选择一次,且选择k个主题信息作为k个初始聚类中心,或者,可以从n个主题信息中选择多次,且每次选择k个主题信息作为一个组合,直至获得n个主题信息中预设数量的包含k个主题信息的组合。但是,一次聚类仅将一个组合中的k个主题信息作为聚类中心对n个主题信息进行聚类。也就是说,对应分类数k,本申请可以枚举n个主题信息中所有包含k个主题信息的所有组合或所有组合中的部分组合,将每个组合中的k个主题信息作为一组可能的初始聚类中心用于聚类。
步骤S103:基于得到的n个分类数对应的所有聚类结果确定上述n个主题信息的目标聚类结果。
可选的,可以在n个分类数对应的所有聚类结果中选择最优的聚类结果作为目标聚类结果。或者,采用其它方式确定目标聚类结果。
本申请实施例提供的文本处理方法,在获得n个文本中各个文本的主题信息后,对应获得的n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对n个主题信息进行1次或多次聚类处理,得到分类数k对应的1个或多个聚类结果;其中,多次聚类处理采用了至少两种相似度度量方法和/或采用了从n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果。本申请通过穷举n个主题信息所有可能的分类数,并针对每个分类数进行了1次或多次聚类处理,基于所有的可能的分类数对应的所有聚类结果确定n个主题信息的目标聚类结果,提高了文本数量较小情况下的聚类效果,而且由于文本数量较少,相应的主题信息量也较小,不会降低处理效率。
在一可选的实施例中,上述对n个主题信息进行多次聚类处理的一种实现流程图如图2所示,可以包括:
步骤S201:获得从n个主题信息中取出k个不同的主题信息作为一个组合的多个(为便于叙述和区分,记为h
假设从n个主题信息中取出k个不同的主题信息,一共有g中组合方式,则:
则h
对应不同的分类数,h
步骤S202:对于任一组合中的k个主题信息,以该任一组合中的k个主题信息作为k个初始聚类中心,对n个主题信息进行一次聚类处理,得到该任一组合对应的一个聚类结果。
在对n个主题信息进行一次聚类处理的过程中,可以采用上述至少两种相似度度量方法中的任一种相似度度量方法来衡量两两主题信息间的相似度。
本实施例中,不同次聚类使用相同的相似度度量方法,因此,每个分类数对应h
在一可选的实施例中,上述对n个主题信息进行多次聚类处理的另一种实现流程图如图3所示,可以包括:
步骤S301:获得从n个主题信息中取出k个不同的主题信息作为一个组合的多个(记为h
获得h
步骤S302:对于任一组合中的k个主题信息,以该任一组合中的k个主题信息作为k个初始聚类中心,对n个主题信息进行m次聚类处理,得到该任一组合对应的m个聚类结果。
其中,m为大于1的整数,m次聚类处理中,不同次聚类的初始聚类中心相同(即,初始聚类中心都是该任一组合中的k个主题信息),不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度。
也就是说,对应h
在一可选的实施例中,上述对n个主题信息进行1次或多次聚类处理的一种实现流程图如图4所示,可以包括:
步骤S401:在n个主题信息中取出k个不同的主题信息作为k个目标初始聚类中心。
可选的,可以在n个主题信息中随机取出k个不同的主题信息作为k个目标初始聚类中心,或者,可以根据预设规则在n个主题信息中取出k个不同的主题信息作为k个目标初始聚类中心。
步骤S402:基于k个目标初始聚类中心对n个主题信息进行一次聚类处理,得到一个聚类结果。
在对n个主题信息进行一次聚类处理的过程中,可以采用上述至少两种相似度度量方法中的任一种相似度度量方法来衡量两两主题信息间的相似度。
本实施例中,对应每个分类数,初始聚类中心只选择一次(即初始聚类中心只有一种),且采用一种相似度度量方法来衡量两两主题信息间的相似度。因此,每个分类数对应1个聚类结果,则n个分类数对应的所有聚类结果一共为n个。
在一可选的实施例中,上述对n个主题信息进行1次或多次聚类处理的另一种实现流程图如图5所示,可以包括:
步骤S501:在n个主题信息中取出k个不同的主题信息作为k个目标初始聚类中心。
具体实现方式可以参看步骤S401,具体实现过程这里不再赘述。
步骤S502:基于k个目标初始聚类中心对n个主题信息进行m次聚类处理,得到m个聚类结果。
其中,m为大于1的整数,m次聚类处理中,不同次聚类的初始聚类中心为目标初始聚类中心,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度。
也就是说,对应同一分类数的不同次聚类处理采用不同的相似度度量方法衡量主题信息间的相似度,因而,对应同一分类数的m个聚类结果中的不同聚类结果对应不同的相似度度量方法。基于此,每个大于1且小于n的分类数均对应m个聚类结果,则n个分类数对应的所有聚类结果一共为2+(n-2)×m个。
在一可选的实施例中,上述至少两种相似度度量方法可以包括但不限于以下四种相似度度量方法的中的至少两种:Levenshtein Ration算法、TextRank算法、基于TF-IDF的相似度度量算法、基于Word2Vec的相似度度量算法。下面结合主题信息1和主题信息2(主题信息1和主题信息2是上述n个主题信息中的任意两个主题信息)对上述四种相似度度量方法进行说明。
(1)Levenshtein Ration算法的实现方式如下所示:
计算主题信息1和主题信息2的Levenshtein距离:Levenshtein距离是从一个字符串修改到另一个字符串时,其中编辑单个字符(比如修改、插入、删除)所需要的最少次数。例如:kitten和sitting的莱文斯坦距离是3。将kitten变为sitting的最小处理方式为:kitten→sitten(将k改为s),sitten→sittin(将e改为i),sittin→sitting(最后加入g)。因此,主题信息1和主题信息2的Levenshtein距离是从主题信息1修改到主题信息2时,其中编辑单个字符所需要的最少次数。
计算主题信息1和主题信息2的相似度r:
r=(sum-ldist)/sum
其中sum是指主题信息1和主题信息2的长度总和,ldist是主题信息1和主题信息2的Levenshtein距离。
(2)TextRank算法的实现方式如下所示:
对主题信息1和主题信息2分别进行分词操作,得到主题信息1对应的单词序列结果(记为S
计算主题信息1和主题信息2的相似度r:
其中,w
(3)基于TF-IDF算法的相似度度量算法的实现方式如下所示:
TF-IDF算法是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度,字词的重要性随着它在文件中出现的次数成正比增加。为便于叙述,下面以句子1(这件衣服号码大了,那个号码合适。)和句子2(这件衣服号码不小,那个更合适。)为例说明TF-IDF算法的实现步骤:
通过中文分词,把完整的句子根据分词算法分为独立的词集合。
其中,句子1的分词结果为:这件/衣服/号码/大了/,/那个/号码/合适/。
句子1的分词结果为:这件/衣服/号码/不/小/,/那个/更/合适/。
求两个词集合的并集,作为总词典。
基于上述句子1和句子2的词集合构成的总词典为“这件/衣服/号码/大了/那个/更/合适/不/小/,/。”。
通过总词典计算各自词集的词频并把词频向量化。
对应句子1,总词典中的各个词的词频为“这件1/衣服1/号码2/大了1/那个1/更0/合适1/不0/小0/,1/。1”,则句子1对应的词频向量为{1,1,2,1,1,0,1,0,0,1,1}。
对应句子2,总词典中的各个词的词频为“这件1/衣服1/号码1/大了0/那个1/更1/合适1/不1/小1/,1/。1”,则句子2对应的词频向量为{1,1,1,0,1,1,1,1,1,1,1}。
计算词频向量间的夹角余弦值,作为句子间相似度。
句子1的词频向量和句子2的词频向量间夹角的余弦值为0.76。
(4)基于Word2Vec的相似度度量算法的实现方式如下所示:
Word2Vec算法是一种经典的Word Embedding算法,通过训练双层神经网络表示词对词之间的关系,用来映射每个词到一个向量。基于Word2Vec计算主题信息1和主题信息2的相似度的步骤为:
通过中文分词,根据分词算法分别将主题信息1和主题信息2分为独立的词集合,具体分词方式可以参看前述对句子的分词方式,这里不再赘述。
采用Word2Vec算法,将词集合中的词映射为词向量。
对主题信息1中的词向量求平均值,作为主题信息1的向量;对主题信息2中的词向量求平均值,作为主题信息2的向量。
计算主题信息1的向量和主题信息2的向量间的夹角的余弦值,作为主题信息1和主题信息2间的相似度。
在一可选的实施例中,上述基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果的一种实现流程图如图6所示,可以包括:
步骤S601:获得所有聚类结果中各个聚类结果的评估指标。
作为示例,可以计算各个聚类结果的轮廓系数,作为各个聚类结果的评估指标。轮廓系数是描述聚类后的各个类别的轮廓清晰度的指标,其包含两种因素,即内聚度和分离度,其中,内聚度可以理解为反应一个主题信息与类内主题信息的紧密程度,分离度可以理解为反应一个主题信息与类外主题信息的紧密程度。对于任一聚类结果来说,该任一聚类结果的轮廓系数由各个主题信息对应该任一聚类结果的轮廓系数确定,而任一主题信息的轮廓系数由该任一主题信息的内聚度和分离度确定。具体的,任一聚类结果的轮廓系数可以通过对各个主题信息对应该任一聚类结果的轮廓系数求平均得到,任一主题信息对应该任一聚类结果的轮廓系数可以通过如下方式计算得到:获得该任一主题信息的分离度(该任一主题信息到不包含该任一主题信息的各个类别的距离的最小值;该任一主题信息到不包含该任一主题信息的任一类别距离为:该任一主题信息到属于该任一类别的各个主题信息的距离的均值)和内聚度(该任一主题信息到它所属类别的其它主题信息的距离的均值),确定该任一主题信息的分离度和内聚度中的最大值,计算该任一主题信息的分离度与内聚度的差值,将该差值与上述最大值的比值确定为该任一主题信息对应该任一聚类结果的轮廓系数。任一聚类结果的轮廓系数的取值范围为[-1,1],轮廓系数越大,表征该任一聚类结果的聚类效果越好。
本申请不对聚类结果的评估指标进行限定,还可以采用其它评估指标,比如,Calinski-Harabaz指数等。
步骤S602:在对n个主题信息进行1次或多次聚类处理,且多次聚类处理中的不同次聚类处理使用同一相似度度量方法衡量主题信息间的相似度的情况下,选择评估指标最优的聚类结果作为目标聚类结果。
也就是说,在对应每个分类数,均对n个主题信息进行1次或多次聚类处理,且多次聚类处理中的不同次聚类处理使用同一相似度度量方法衡量主题信息间的相似度的情况下,直接在n个分类数对应的所有聚类结果中选择评估指标最优的聚类结果作为目标聚类结果即可。
在一可选的实施例中,上述对n个主题信息进行1次或多次聚类处理时,每次聚类处理利用第一聚类方法对n个主题信息进行聚类。作为示例,上述第一聚类方法可以为K均值聚类法(即K-Means算法)。
K-Means算法是无监督学习算法。假设n个主题信息依次为x
对于任一主题信息,计算该主题信息到各个聚类中心的距离,把该任一主题信息分配到与之距离最近的聚类中心所在的簇中去;在n个主题信息均分配到相应的簇中后,更新各个簇的聚类中心,然后返回执行对于任一主题信息,计算该主题信息到各个聚类中心的距离,把该任一主题信息分配到与之距离最近的聚类中心所在的簇中去的步骤及后续步骤,直至各个簇的聚类中心不再发生变化或变化很小。在聚类结束后,一个簇中的主题信息属于一个分类。
对应任一簇,更新聚类中心的方式可以为:以该任一簇中的各个主题信息分别作为簇心,计算簇中各个主题信息到簇心的距离和,或者,计算各个主题信息到簇心的距离的均值;将最小距离和对应的簇心作为该任一簇的新的聚类中心,或者,将最小均值对应的簇心作为该任一簇的新的聚类中心。
K-Means算法一般是随机选择初始聚类中心,这会极大影响后续的聚类效果,导致后续更新聚类中心时难以收敛,而且,K-Means算法的分组数量(即分类数)的选定一般是根据经验,也使得聚类结果的不确定性增加,聚类算法的鲁棒性降低。
基于本申请,可以降低由于随机选择分组数和随机初始化聚类中心导致的聚类结果不稳定,且计算成本在可接受范围内,至少部分地克服K-Means算法存在的问题。
当然,本申请中的第一聚类方法还可以是其它聚类算法,只要聚类方法的所有可能的聚类结果可以枚举即可。即第一聚类方法是,对应任一样本集,可以枚举该任一样本集基于该第一聚类方法的所有可能的聚类结果的聚类方法。
作为示例,本申请在n的取值不超过20时,均可以取得较好的效果。当然,本申请中n的取值可以大于20,只不过随着n的增大,计算量会随之增加。
在一可选的实施例中,上述基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果的另一种实现流程图如图7所示,可以包括:
步骤S701:获得所有聚类结果中各个聚类结果的评估指标。
具体实现过程可以参看步骤S601,这里不再赘述。
步骤S702:在对n个主题信息进行多次聚类处理,且多次聚类处理采用了m种相似度度量方法的情况下,在对应同一相似度度量方法的各聚类结果中选择评估指标最优的聚类结果。
也就是说,对应每个分类数,均对n个主题信息进行多次聚类处理,且多次聚类处理采用了m种相似度度量方法的情况下,在所有分类数下对应同一相似度度量方法的聚类结果中选择评估指标最优的聚类结果,这样对应每个相似度度量方法,分别得到一个评估指标最优的聚类结果,即一共得到m个评估指标最优的聚类结果。
步骤S703:基于各个相似度度量方法对应的评估指标最优的聚类结果,对n个主题信息中的任意两个主题信息属于同一类进行投票,将任意两个主题信息被投票的比例确定为上述任意两个主题信息的投票相似度。
为便于计算,可以根据每个相似度度量方法对应的评估指标最优的聚类结果,分别构建一个n×n的相似度矩阵,记为M1
对应m个相似度度量方法一共得到m个相似度矩阵,将m个相似度矩阵求平均,得到投票结果。投票结果也是一个n×n的矩阵,记为M2
如图8所示,为本申请实施例提供的投票策略的示例图。该示例中,假设有7个主题信息,分别记为x
步骤S704:基于主题信息间的投票相似度,利用第二聚类方法对n个主题信息进行聚类,得到所述目标聚类结果。
第二聚类方法与第一聚类方法不同。
本申请在利用第二聚类方法对n个主题信息进行聚类时,主题信息间的相似度采用投票相似度。
可选的,第二聚类方法可以是层次聚类方法,或者,可以是最大最小距离法。
利用层次聚类方法对n个主题信息进行聚类的实现方式可以为:
1、将每个主题信息作为一类,一共有n个类。
2、将dist=1-M2(i,j)作为主题信息i和主题信息j间的距离。
3、计算所有类之间两两的类间距离,将类间距离最近的两个类合并为一个更大的类。可选择的,对于任意两个类,可以将该任意两个类间所有两两主题信息间距离的最大值作为该任意两个类之间的距离。
4、重复步骤3,直至两两类间距离为1时停止,得到的最终的聚类结果。
利用最大最小距离法对n个主题信息进行聚类的实现方式可以为:
1、将dist=1-M2(i,j)作为主题信息i和主题信息j间的距离。
2、计算聚类中心:
2.1、任选一个主题信息作为第一聚类中心Z1。
2.2、选择离第一聚类中心Z1最远的主题信息作为第二聚类中心Z2。
2.3、对应任一不是聚类中心的主题信息,确定该主题信息与各聚类中心的距离的最小距离。
2.4、在各个最小距离中确定最大距离,如果该最大距离与||Z1-Z2||的比值大于或等于目标比值,将最大距离对应的一个主题信息作为新增聚类中心,并返回步骤2.3-2.4,否则,聚类中心的计算步骤结束。其中,
||Z1-Z2||表示第一聚类中心Z1和第二聚类中心Z2之间的距离。
3、对应任一不是聚类中心的主题信息,将该主题信息划分到与该主题信息最近的聚类中心所代表的类别中。
在一可选的实施例中,在确定目标聚类结果后,本申请还可以包括:
将n个主题信息按照目标聚类结果输出。
比如,可以将分为一类的主题信息放在一起展示,从而方便用户区分不同类别的主题信息。另外,可以将不同类的主题信息以不同的显示效果进行展示,比如,不同类的主题信息以不同的颜色进行展示,进一步方便用户区分不同类别的主题信息。
获得针对任一类主题信息的溯源指令,获取所述任一类主题信息关联的各个文本。
本申请在提取各个文本的主题信息后,将主题信息与对应的文本相关联地存储。
本申请在展示主题信息时,对应各个类别分别显示可交互控件,用户可以通过对该交互控件执行预设操作(比如,单击操作,或双击操作等)来触发生成真对该交互控件对应的类的主题信息的溯源指令。
输出上述任一类主题信息关联的文本。
可以先展示上述任一类主题信息中一个主题信息的文本的内容,上述任一类主题信息中的其它主题信息的关联文本在用户选择展示时再展示。
与方法实施例相对应,本申请还提供一种文本处理装置,本申请实施例提供的文本处理装置的一种结构示意图如图9所示,可以包括:
获取模块901,聚类处理模块902和确定模块903;其中,
获取模块901用于获得n个文本中各个文本的主题信息;
聚类处理模块602用于对应获得的所述n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对所述n个主题信息进行1次或多次聚类处理,得到所述分类数k对应的1个或多个聚类结果;其中,所述多次聚类处理采用了至少两种相似度度量方法和/或采用了从所述n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;
确定模块903用于基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果。
本申请实施例提供的文本处理装置,在获得n个文本中各个文本的主题信息后,对应获得的n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对n个主题信息进行1次或多次聚类处理,得到分类数k对应的1个或多个聚类结果;其中,多次聚类处理采用了至少两种相似度度量方法和/或采用了从n个主题信息中选择k个主题信息作为k个初始聚类中心的所有可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;基于得到的n个分类数对应的所有聚类结果确定n个主题信息的目标聚类结果。本申请通过穷举n个主题信息所有可能的分类数,并针对每个分类数进行了1次或多次聚类处理,基于所有的可能的分类数对应的所有聚类结果确定n个主题信息的目标聚类结果,提高了文本数量较小情况下的聚类效果,而且由于文本数量较少,相应的主题信息量也较小,不会降低处理效率。
在一可选的实施例中,所述聚类处理模块602对所述n个主题信息进行多次聚类处理时,用于:
获得从所述n个主题信息中取出k个不同的主题信息作为一个组合的多个组合;
对于任一组合中的k个主题信息,以该任一组合中的k个主题信息作为k个初始聚类中心,对所述n个主题信息进行一次聚类处理,得到该任一组合对应的一个聚类结果;或者,
对于任一组合中的k个主题信息,以该任一组合中的k个主题信息作为k个初始聚类中心,对所述n个主题信息进行m次聚类处理,得到该任一组合对应的m个聚类结果;其中,m为大于1的整数,所述m次聚类处理中,不同次聚类的初始聚类中心相同,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度。
在一可选的实施例中,所述聚类处理模块602对所述n个主题信息进行1次或多次聚类处理时,用于:
在所述n个主题信息中取出k个不同的主题信息作为目标初始聚类中心;
基于所述目标初始聚类中心对所述n个主题信息进行一次聚类处理,得到一个聚类结果;或者,
基于所述目标初始聚类中心对所述n个主题信息进行m次聚类处理,得到m个聚类结果;其中,m为大于1的整数,所述m次聚类处理中,不同次聚类的初始聚类中心为所述目标初始聚类中心,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度。
在一可选的实施例中,所述确定模块903用于:
获得所述所有聚类结果中各个聚类结果的评估指标;
在对所述n个主题信息进行1次或多次聚类处理,且所述多次聚类处理中的不同次聚类处理使用同一相似度度量方法衡量主题信息间的相似度的情况下,选择评估指标最优的聚类结果作为所述目标聚类结果。
在一可选的实施例中,每次聚类处理利用第一聚类方法对所述n个主题信息进行聚类;
所述确定模块903用于:
获得所述所有聚类结果中各个聚类结果的评估指标;
在对所述n个主题信息进行多次聚类处理,且所述多次聚类处理采用了m种相似度度量方法的情况下,在对应同一相似度度量方法的各聚类结果中选择评估指标最优的聚类结果;
基于各个相似度度量方法对应的评估指标最优的聚类结果,对所述n个主题信息中的任意两个主题信息属于同一类进行投票,将所述任意两个主题信息被投票的比例确定为所述任意两个主题信息的投票相似度;
基于主题信息间的投票相似度,利用第二聚类方法对所述n个主题信息进行聚类,得到所述目标聚类结果。
在一可选的实施例中,所述第一聚类方法包括:K均值聚类法;所述第二聚类方法包括:层次聚类法或最大最小距离法。
在一可选的实施例中,还包括:
将所述n个主题信息按照所述目标聚类结果输出;
获得针对任一类主题信息的溯源指令,获取所述任一类主题信息关联的各个文本;
输出所述任一类主题信息关联的文本。
本申请实施例提供的文本处理装置可应用于文本处理设备,如PC终端、移动终端、一体机、云平台、服务器及服务器集群等。可选的,图10示出了文本处理设备的硬件结构框图,参照图10,文本处理设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获得n个文本中各个文本的主题信息;
对应获得的所述n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对所述n个主题信息进行1次或多次聚类处理,得到所述分类数k对应的1个或多个聚类结果;其中,所述多次聚类处理采用了至少两种相似度度量方法和/或采用了从所述n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;
基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
获得n个文本中各个文本的主题信息;
对应获得的所述n个主题信息的n个可能的分类数中的任一大于1且小于n的分类数k,对所述n个主题信息进行1次或多次聚类处理,得到所述分类数k对应的1个或多个聚类结果;其中,所述多次聚类处理采用了至少两种相似度度量方法和/或采用了从所述n个主题信息中选择k个主题信息作为k个初始聚类中心的多个可能结果,不同次聚类使用不同的相似度度量方法衡量主题信息间的相似度和/或不同次聚类作为k个初始聚类中心的主题信息不同;
基于得到的n个分类数对应的所有聚类结果确定所述n个主题信息的目标聚类结果。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 文本处理方法、装置、设备、计算机设备和存储介质
- 文本数据处理方法、装置、计算机设备及存储介质
- 文本处理方法、装置、计算机可读存储介质和计算机设备
- 文本处理方法、装置、存储介质及电子设备
- 文本文件处理方法、装置、系统、电子设备、存储介质
- 文本处理方法、文本处理装置、电子设备及存储介质
- 文本处理方法、文本分类方法、装置、设备及存储介质