CN110390014B - 一种主题挖掘方法、装置及存储介质 - Google Patents
一种主题挖掘方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110390014B CN110390014B CN201910646014.3A CN201910646014A CN110390014B CN 110390014 B CN110390014 B CN 110390014B CN 201910646014 A CN201910646014 A CN 201910646014A CN 110390014 B CN110390014 B CN 110390014B
- Authority
- CN
- China
- Prior art keywords
- matrix
- document
- topic
- feature
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种主题挖掘方法、装置及存储介质,所述方法包括:获取文档特征矩阵和标签特征矩阵;获取初始化的特征主题矩阵和初始化的主题文档矩阵;根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数;根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵;重复上述特征主题矩阵更新步骤以及主题文档矩阵更新步骤,直至更新次数达到预设次数;根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。本申请能够在有效使用有监督信息的同时,学习出文档集的潜在语义信息。
Description
技术领域
本申请涉及自然语言处理领域,尤其涉及一种主题挖掘方法、装置及存储介质。
背景技术
主题挖掘是一种通用的数据挖掘手段,是利用主题模型在大规模文档集中对具有语义相关的词进行聚类的过程,从而以概率分布的形式获得大规模文档中每篇文档的主题,使得每个主题类别都有基于概率分布的可解释性。
常用的主题模型包括LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)、pLSA(probabilitistic Latent Semantic Analysis,概率潜语义分析)、SVD(Singularvalue decomposition,奇异值分解)以及NMF(Nonnegative Matrix Factor,非负矩阵分解)等,上述的主题模型均属于无监督的主题挖掘方法,在模型学习过程中,直接将从文档提取的特征作为输入,忽略了文档集的潜在语义信息,没有通过有监督信息进行限制,均不能根据有监督信息对文档的潜在语义信息进行学习。
发明内容
本申请所要解决的技术问题在于,提供一种主题挖掘方法、装置及存储介质,通过有监督信息来迭代更新根据文档特征矩阵分解后的矩阵,能够在有效使用有监督信息的同时,学习出文档集的潜在语义信息。
为了解决上述技术问题,本申请实施例提供了一种主题挖掘方法,所述方法包括:
获取文档特征矩阵和标签特征矩阵,其中,所述文档特征矩阵中的每项文档特征信息均对应于所述标签特征矩阵中的一项标签特征信息;
获取初始化的特征主题矩阵和初始化的主题文档矩阵;
根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数;
根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵;
重复执行步骤:根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵,直至更新次数达到预设次数;
根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。
本申请实施例还提供了一种主题挖掘装置,所述装置包括:
第一获取模块,用于获取文档特征矩阵和标签特征矩阵,其中,所述文档特征矩阵中的每项文档特征信息均对应于所述标签特征矩阵中的一项标签特征信息;
第二获取模块,用于获取初始化的特征主题矩阵和初始化的主题文档矩阵;
损失函数确定模块,用于根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数;
矩阵更新模块,用于根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵;
重复模块,用于重复执行步骤:根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵,直至更新次数达到预设次数;
主题确定模块,用于根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。
本申请实施例还提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述的主题挖掘方法。
本申请实施例还提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的主题挖掘方法。
本申请实施例通过获取文档特征矩阵、标签特征矩阵、特征主题矩阵和主题文档矩阵,确定目标损失函数;根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵;重复特征主题矩阵更新步骤以及主题文档更新步骤,直至更新次数达到预设次数;根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。本申请在矩阵分解的基础上引入有监督信息,通过标签特征来迭代更新由文档特征矩阵分解之后的矩阵,能够在有效使用有监督信息的同时,深层次地学习出文档集的潜在语义信息。
附图说明
图1是本申请实施例提供的应用场景示意图;
图2是本申请实施例提供的一种主题挖掘方法流程图;
图3是本申请实施例提供的一种集合处理方法流程图;
图4是本申请实施例提供的一种文档特征矩阵的生成方法流程图;
图5是本申请实施例提供的一种目标损失函数确定方法流程图;
图6是本申请实施例提供的第一损失函数确定方法流程图;
图7是本申请实施例提供的第二损失函数确定方法流程图;
图8是本申请实施例提供的特征主题矩阵的更新方法流程图;
图9是本申请实施例提供的主题文档矩阵的更新方法流程图;
图10是本申请实施例提供的第一矩阵的更新方法流程图;
图11是本申请实施例提供的矩阵分解过程示意图;
图12是本申请实施例提供的一种主题挖掘装置示意图;
图13是本申请实施例提供的第一获取模块示意图;
图14是本申请实施例提供的损失函数确定模块示意图;
图15是本申请实施例提供的第一确定模块示意图;
图16是本申请实施例提供的第二确定模块示意图;
图17是本申请实施例提供的矩阵更新模块示意图;
图18是本申请实施例提供的另一矩阵更新模块示意图;
图19是本申请实施例提供的第一矩阵更新模块示意图;
图20是本申请实施例提供的一种设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请说明书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参见图1,其示出了本申请实施例提供的应用场景示意图,该场景可以包括:终端110、服务器120以及数据库130,所述终端110可与所述服务器120进行通信。
本申请实施例中,所述终端110可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序、网站等。本申请实施例中终端上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
本申请实施例中,所述服务器120可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。
具体地,所述服务器120可基于数据库130中的数据构建主题模型,当服务器120接收到终端110的相关业务请求时,可根据主题模型分析出与业务请求相应的结果信息并返回给终端110。
请参见图2,其示出了一种主题挖掘方法,可应用于服务器侧,所述方法包括:
S210.获取文档特征矩阵和标签特征矩阵,其中,所述文档特征矩阵中的每项文档特征信息均对应于所述标签特征矩阵中的一项标签特征信息。
本申请实施例中的文档特征矩阵是指包含有文档与文档中所涉及词语之间关系的矩阵,其可通过获取的文档集合得到,其中所述文档集合中包括若干个文档。标签特征矩阵是指包含文档与标签之间对应关系的矩阵,具体地,请参见图3,其示出了一种集合处理方法,包括:
S310.获取文档集合以及主题标签集合。
这里的文档集合可以是预先收集的语料信息,本实施例中,在进行主题挖掘之前,设置了预设个数的主题标签。
S320.从所述主题标签集合中为所述文档集合中的每个文档确定相应的标签,建立文档与主题标签的对应关系。
为文档集合中的每个文档打上了相应的主题标签,来说明该文档所属的主题分类,其中每个文档只有一个相应的标签;本实施例中,主题标签的数量小于文档集合中文档的数量。
S330.根据所述文档集合生成文档特征矩阵,根据所述文档特征矩阵以及所述对应关系,生成所述标签特征矩阵。
对于文档特征矩阵的生成方法,可参见图4,包括:
S410.对文档集合中的每个文档进行分词,根据分词结果得到与所述文档集合对应的词袋。
现有技术中能够实现文档分词的任一自然语言处理方法均可应用于本实施例中,根据分词结果,生成相应的词袋,这里的词袋也可以理解为一个字典,即只要在文档集合中出现过的词均包含在其中。
S420.对于每个文档,确定所述词袋中的词在所述文档中出现的概率。
对于每个文档,对照词袋以及当前文档中所涉及到的词,计算当前文档中每个词在本文档中出现的概率。
假设某一文档的文档长度为m,其中只出现了三个词,并且,“词1”出现a次,“词2”出现b次,“词3”出现c次,这里词1、词2和词3均为词袋中的词,那么对应地,在这个文档中:
词1出现的概率为:
词2出现的概率为:
词3出现的概率为:
与当前文档对应的上述三项概率值便构成了该文档的文档特征信息,其可以对应为所述文档特征矩阵中的一项文档特征信息,对所述文档集合中的所有文档均进行上述概率值计算操作,得到与每个文档对应的文档特征信息,组合这些文档特征信息,最终可得到所述文档特征矩阵。假设词袋中词的数量为x,则文档特征矩阵可以为一个x*m的矩阵或者m*x的矩阵。
由于文档特征矩阵中的各项文档特征信息与文档集合中的各文档相对应,而各文档又有与其对应的主题标签,所以可以根据文档特征信息以及文档与主题标签的对应关系,生成相应的标签特征矩阵。具体地,假设本实施例中,预设的主题标签的个数为n,分别为第一主题标签、第二主题标签……第n主题标签。
那么对于某一项文档特征信息,查找到其对应的文档的标签为第二主题标签,可以对应得到一个长度为n的向量[0,1,0,0,0,0,…0,0],其可看成是与该文档特征信息对应的标签特征信息;对于另一项文档特征信息,查找到其对应的文档的标签为第八主题标签,对应得到一项标签特征信息可以为[0,0,0,0,0,0,0,1,0,…,0,0];通过对每项文档特征信息进行上述操作,得到对应的标签特征信息,根据得到的若干项标签特征信息得到标签特征矩阵。
S220.获取初始化的特征主题矩阵和初始化的主题文档矩阵。
这里之所以需要初始化特征主题矩阵和主题文档矩阵,是因为本实施例中是基于矩阵分解的方式来实现的,矩阵分解的目的是将一个矩阵分解为多个矩阵相乘的形式,在具体的分解过程中,要使得分解之后的多个矩阵的乘积趋近与被分解的矩阵。
对于特征主题矩阵,其中包含的是词的特征与主题之间的关系;对于主题文档矩阵,其中包含的是主题与文档之间的关系。
本实施例中,对于特征主题矩阵和主题文档矩阵的行数和列数是提前根据文档特征矩阵的函数和列数以及预设的主题数量来确定的。具体地,特征主题矩阵的行数和文档特征矩阵的行数相同,特征主题矩阵的列数与预设的主题数量相同;主题文档矩阵的行数和预设的主题数量相同,主题文档矩阵的列数和文档特征矩阵的列数相同。基于上述设置,在对特征主题矩阵和主题文档矩阵不断的更新过程中,可以使得这两个矩阵的乘积趋近于文档特征矩阵。
S230.根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数。
本实施例中,由于在矩阵分解的基础上引入了有监督信息,所以目标损失函数可以由两部分构成,第一部分是关于矩阵分解的损失函数,第二部分是关于监督信息的损失函数,具体地,请参加图5,其示出了一种目标损失函数确定方法,所述方法包括:
S510.根据所述文档特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定第一损失函数。
本实施例中的第一损失函数可以是基于矩阵分解得到的,请参见图6,其示出了第一损失函数确定方法,包括:
S610.将所述特征主题矩阵和所述主题文档矩阵相乘,得到目标矩阵。
S620.将所述文档特征矩阵与所述目标矩阵的欧式距离确定为所述第一损失函数。
在具体确定第一损失函数时,对于其中的特征主题矩阵、主题文档矩阵以及文档特征矩阵,相对于函数来讲,这个三个矩阵可以看成是函数的变量,并不需要其具体的数值,而只需要将其表示为变量的形式便可。
S520.根据所述主题文档矩阵和所述标签特征矩阵,确定第二损失函数。
在确定第二损失函数之前还需要获取初始化的第一矩阵,其中,所述第一矩阵的行数与所述主题文档矩阵的行数相同,所述第一矩阵的列数与有监督主题标签个数相同即可。这里的第一矩阵可以看成是计算过程中的中间参量。
具体的第二损失函数的确定方法请参见图7,包括:
S710.根据所述主题文档矩阵和所述第一矩阵,确定预测矩阵。
本实施例中的预测矩阵可由主题文档矩阵的转置矩阵与第一矩阵相乘得到。
S720.构建基于所述预测矩阵和所述标签特征矩阵的交叉熵函数。
同样地,在第二损失函数确定过程中,其中的主题文档矩阵、第一矩阵以及标签特征矩阵可以看成是函数的变量,并不涉及其具体的数值。
S240.根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵。
根据上述的矩阵分解的目的,本实施例中需要不断地更新特征主题矩阵和主题文档矩阵,使得分解之后矩阵的乘积不断接近文档特征矩阵。
以更新特征主题矩阵为例,由于目标损失函数中包含多个变量,首先需要根据目标损失函数求关于特征主题矩阵的偏导数,根据求得的偏导来得到此次特征主题矩阵的更新梯度,根据更新梯度对当前特征主题矩阵进行更新,从而完成了一次矩阵更新过程。
S250.重复执行步骤:根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵,直至更新次数达到预设次数,直至更新次数达到预设次数。
分别对特征主题矩阵和主题文档矩阵进行更新,在更新其中一个矩阵时,另一个矩阵保持不变。对于更新的停止条件,本实施例中设置为是否达到预设次数,这里更新次数达到的预设次数是预设的值,对于特征主题矩阵和主题文档矩阵来说,这两者更新的预设次数可以相同,也可以不同,可视具体情况而定。具体可以为:当更新特征主题矩阵时,保持主题文档矩阵不变,连续更新y次;当更新主题文档矩阵时,保持特征主题矩阵不变,连续更新y次。
S260.根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。
本实施例中,在对特征主题矩阵和主题文档矩阵更新完毕之后,可直接从中获取到相关主题概率分布。
例如,在特征主题矩阵中,其中的每一列可以代表一个主题,列中的值代表词在该主题下的权重;在主题文档矩阵中,每一列代表一个文档,列中的值代表主题在该文档下的权重,这样,对于每个文档,都可以从主题文档矩阵中看出其属于不同主题的概率。
具体地,对于上述的特征主题矩阵、主题文档矩阵以及第一矩阵,其具体的更新过程可参见如下方法。
请参见图8,其示出了特征主题矩阵的更新方法,所述方法包括:
S810.保持当前主题文档矩阵不变,根据所述第一损失函数计算当前特征主题矩阵的第一梯度。
S820.根据所述第一梯度,更新当前特征主题矩阵。
对于特征主题矩阵,其只与第一损失函数相关,所以首先根据第一损失函数求解关于特征主题矩阵的偏导,再将当前的特征主题数值矩阵和主题文档数值矩阵代入到关于特征主题矩阵的偏导函数中,得到特征主题矩阵此次更新的梯度,根据计算得到的梯度来更新特征主题矩阵。
采用上述方法对特征主题矩阵连续更新预设的次数,最终得到更新完成的特征主题矩阵。
请参见图9,其示出了主题文档矩阵的更新方法,所述方法包括:
S910.保持当前特征主题矩阵和当前第一矩阵不变,根据所述第一损失函数确定当前主题文档矩阵的第二梯度,根据所述第二损失函数确定当前主题文档矩阵的第三梯度。
S920.累加所述第二梯度和所述第三梯度,得到所述主题文档矩阵的实际梯度。
S930.根据所述实际梯度,更新当前主题文档矩阵。
对于主题文档矩阵,其与第一损失函数和第二损失函数均有关联,需要分别根据第一损失函数和第二损失函数计算关于主题文档矩阵的偏导;将当前的特征主题数值矩阵、主题文档数值矩阵以及第一数值矩阵分别代入到偏导函数中,得到第二梯度和第三梯度;将第三梯度与某系数的乘积加到第二梯度中,可得到主题文档矩阵此次更新的实际梯度;根据该梯度更新主题文档矩阵。这里的系数可视具体情况而定。
采用上述方法对主题文档矩阵连续更新预设的次数,最终得到更新完成的主题文档矩阵。
对于第一矩阵,虽然是中间参量,但是在矩阵更新的过程中也是需要对其进行更新的,因为通过对第一矩阵进行更新,会影响主题文档矩阵的更新。请参见图10,其示出了第一矩阵的更新方法,所述方法包括:
S1010.保持当前主题文档矩阵不变,根据所述第二损失函数确定当前第一矩阵的第四梯度。
S1020.根据所述第四梯度,更新当前第一矩阵。
因为第一矩阵只与主题文档矩阵有关,在迭代更新第一矩阵时,保持主题文档矩阵不变。在本实施例中是针对多标签分类的有监督任务,所以对于第一矩阵的梯度求解,可直接根据现有技术中的多标签分类的求导公式进行推导计算,如果监督任务换为其他方法,则对第一矩阵的梯度计算可换为对应的方法。这里的监督任务可以为分类或者标注等任务。
在本实施例中,对于具体的矩阵更新的顺序,可以是先更新特征主题矩阵,再更新第一矩阵,最后更新主题文档矩阵。
下面以一具体示例来说明本申请的具体实施过程。
本实施例中的矩阵分解可以采用现有技术中的任一矩阵分解方法,本示例中,以非负矩阵分解来进行说明。对于采用非负矩阵分解来进行主题挖掘时,其分解过程可参见图11,将文档集合中的所有文档表示为文档特征矩阵D,其中Dij(0≤i≤M,0≤j≤N)表示第j个文档的第i个词的特征值,N表示所有文档中不重复的词语的个数,M表示文档的个数;将矩阵D分解为特征主题矩阵U和主题文档矩阵V,其中U是一个M×K的矩阵,其中的每一列都代表一个主题,列中的值代表词在该主题下的权重;V是一个K×N的矩阵,矩阵的每一列代表一个文档,列中的值代表主题在该文档下的权重。这里的K是根据预先设置好的主题标签的个数确定的。
若本示例中共有6个文档,并预先设置了3个主题标签,分别为每个文档确定其所属的主题标签类别,并将主题标签信息作为监督信息和文档特征矩阵一起作为主题模型的输入。具体地:
文档1对应主题标签1,文档2对应主题标签3,文档3对应主题标签2,文档4对应主题标签1,文档5对应主题标签3,文档6对应主题标签2,则对应生成的标签特征矩阵可以为:
基于矩阵分解得到的第一损失函数为:
LossMF=||D-UV||2 (1)
矩阵分解之后的主题文档矩阵V作为有监督学习过程中的特征,基于监督信息得到第二损失函数为:
其中,矩阵W即为上述的第一矩阵。
结合矩阵分解和有监督分类,得到总的损失函数为:
Loss=||D-UV||2+α*Cross_entropy(softmax(VT*W),Yreal) (3)
其中,α的值可根据具体情况进行设定。
(1)因为U和W无关,所以在更新U时,保持V不变,更新U,更新K次。U在更新过程中的梯度为:
(2)因为W只与V有关,所以在迭代W时,保持V不变,对于求解W的梯度,直接按照多标签分类的求导公式推导。
(3)保持U和W不变,更新V,更新K次,V的更新过程中的梯度分为两部分,第一部分是最小化||D-UV||,其梯度为:
第二部分为监督损失对应的更新梯度,在分类任务中,V中的第i个文档vi的类别预测概率为:
假设vi的真实类别为c,则可以推导出vi的更新梯度为:
二者累加即可得到矩阵V的真实更新梯度。其中,vi是指矩阵V中的第i列向量。
以下为矩阵迭代优化的更新算法,无论是U、V还是W,在其更新时,都保持另外两个矩阵固定不变。具体算法如下:
对于其中的迭代次数可人为设定。
假设经过更新之后得到的主题文档矩阵为:
从该矩阵中可以看出,对于文档1,在进行主题模型学习之前,其所属的主题标签为主题标签1,所以在对其进行主题挖掘之后,分析其主题概率分布对应的主题1为0.9,主题挖掘结果更倾向于挖掘之前所述的主题标签,符合预想,而文档1在其他两个主题的概率分别为0.05和0.05。对于其他的文档的主题挖掘结果是类似的。
本实施例中的基于矩阵分解的主题挖掘方法,在矩阵分解的基础上引入了有监督信息,利用了文档的类别标签这一有监督信息来进行矩阵分解,通过文档的真实标签来迭代更新分解后的矩阵,能够有效地使用监督信息的同时学习文档集的潜在语义信息,可以有效地改善主题挖掘方法中监督信息的使用形式,使得最终学习得到的主题模型的主题分布更倾向于监督信息的,即对于每个文档,最终得到的关于该文档的主题概率分布会更倾向于之前为该文档设置的主题标签,同时又能够学习出其他的潜在语义信息。
本实施例中的主题挖掘方法可应用于文本分类、信息推荐以及相似度计算等应用场景,可根据主题模型得出的关于每个文档的概率分布进行相关领域的具体应用。例如在相似度计算领域,在得到了不同文档的主题概率分布之后,可将每个文档的主题概率分布看成是一个向量,通过计算不同向量的距离便可得到不同文档的相似度。
请参见图12,本实施例还提供了一种主题挖掘装置,所述装置包括:
第一获取模块1210,用于获取文档特征矩阵和标签特征矩阵,其中,所述文档特征矩阵中的每项文档特征信息均对应于所述标签特征矩阵中的一项标签特征信息。
第二获取模块1220,用于获取初始化的特征主题矩阵和初始化的主题文档矩阵。
损失函数确定模块1230,用于根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数。
矩阵更新模块1240,用于根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵。
重复模块1250,用于重复上述特征主题矩阵更新步骤以及主题文档矩阵更新步骤,直至更新次数达到预设次数。
主题确定模块1260,用于根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。
请参见图13,其中,所述第一获取模块1210包括:
集合获取模块1310,用于获取文档集合以及主题标签集合。
标签对应模块1320,用于从所述主题标签集合中为所述文档集合中的每个文档确定相应的标签,建立文档与主题标签的对应关系。
特征矩阵生成模块1330,用于根据所述文档集合生成文档特征矩阵,根据所述文档特征矩阵以及所述对应关系,生成所述标签特征矩阵。
请参见图14,所述损失函数确定模块1230包括:
第一确定模块1410,用于根据所述文档特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定第一损失函数。
第二确定模块1420,用于根据所述主题文档矩阵和所述标签特征矩阵,确定第二损失函数。
请参见图15,所述第一确定模块1410包括:
目标矩阵确定模块1510,用于将所述特征主题矩阵和所述主题文档矩阵相乘,得到目标矩阵。
第一损失函数生成模块1520,用于将所述文档特征矩阵与所述目标矩阵的欧式距离确定为所述第一损失函数。
请参见图16,所述第二确定模块1420包括:
预测矩阵确定模块1610,用于根据所述主题文档矩阵和所述第一矩阵,确定预测矩阵。
第二损失函数生成模块1620,用于构建基于所述预测矩阵和所述标签特征矩阵的交叉熵函数。
请参见图17,所述矩阵更新模块1240包括:
第一梯度计算模块1710,用于保持当前主题文档矩阵不变,根据所述第一损失函数确定当前特征主题矩阵的第一梯度。
第一更新模块1720,用于根据所述第一梯度,更新当前特征主题矩阵。
请参见图18,所述矩阵更新模块1240包括:
第二、第三梯度计算模块1810,用于保持当前特征主题矩阵和当前第一矩阵不变,根据所述第一损失函数确定当前主题文档矩阵的第二梯度,根据所述第二损失函数确定当前主题文档矩阵的第三梯度。
累加模块1820,用于累加所述第二梯度和所述第三梯度,得到所述主题文档矩阵的实际梯度。
第二更新模块1830,用于根据所述实际梯度,更新当前主题文档矩阵。
请参见图19,所述装置还包括:
第四梯度计算模块1910,用于保持当前主题文档矩阵不变,根据所述第二损失函数计算当前第一矩阵的第四梯度。
第三更新模块1920,用于根据所述第四梯度,更新当前第一矩阵。
所述装置还包括:
第三获取模块,用于获取初始化的第一矩阵,其中,所述第一矩阵的行数与所述主题文档矩阵的行数相同。
上述实施例中提供的装置可执行本申请任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行本实施例上述的任一方法。
本实施例还提供了一种设备,其结构图请参见图20,该设备2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)2022(例如,一个或一个以上处理器)和存储器2032,一个或一个以上存储应用程序2042或数据2044的存储介质2030(例如一个或一个以上海量存储设备)。其中,存储器2032和存储介质2030可以是短暂存储或持久存储。存储在存储介质2030的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对设备中的一系列指令操作。更进一步地,中央处理器2022可以设置为与存储介质2030通信,在设备2000上执行存储介质2030中的一系列指令操作。设备2000还可以包括一个或一个以上电源2026,一个或一个以上有线或无线网络接口2050,一个或一个以上输入输出接口2058,和/或,一个或一个以上操作系统2041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。本实施例上述的任一方法均可基于图20所示的设备进行实施。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (16)
1.一种主题挖掘方法,其特征在于,包括:
获取文档特征矩阵和标签特征矩阵,其中,所述文档特征矩阵中的每项文档特征信息均对应于所述标签特征矩阵中的一项标签特征信息;所述获取文档特征矩阵和标签特征矩阵包括:
获取文档集合以及主题标签集合;
从所述主题标签集合中为所述文档集合中的每个文档确定相应的标签,建立文档与主题标签的对应关系;
根据所述文档集合生成文档特征矩阵,根据所述文档特征矩阵以及所述对应关系,生成所述标签特征矩阵;
获取初始化的特征主题矩阵和初始化的主题文档矩阵;
根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数;
根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵;
重复执行步骤:根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵,直至更新次数达到预设次数;
根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。
2.根据权利要求1所述的一种主题挖掘方法,其特征在于,所述根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数包括:
根据所述文档特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定第一损失函数;
根据所述主题文档矩阵和所述标签特征矩阵,确定第二损失函数。
3.根据权利要求2所述的一种主题挖掘方法,其特征在于,所述根据所述文档特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定第一损失函数包括:
将所述特征主题矩阵和所述主题文档矩阵相乘,得到目标矩阵;
将所述文档特征矩阵与所述目标矩阵的欧式距离确定为所述第一损失函数。
4.根据权利要求2所述的一种主题挖掘方法,其特征在于,在所述根据所述主题文档矩阵和所述标签特征矩阵,确定第二损失函数之前还包括:
获取初始化的第一矩阵,其中,所述第一矩阵的行数与所述主题文档矩阵的行数相同;
所述根据所述主题文档矩阵和所述标签特征矩阵,确定第二损失函数包括:
根据所述主题文档矩阵和所述第一矩阵,确定预测矩阵;
构建基于所述预测矩阵和所述标签特征矩阵的交叉熵函数。
5.根据权利要求2所述的一种主题挖掘方法,其特征在于,所述根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵包括:
保持当前主题文档矩阵不变,根据所述第一损失函数确定当前特征主题矩阵的第一梯度;
根据所述第一梯度,更新当前特征主题矩阵。
6.根据权利要求4所述的一种主题挖掘方法,其特征在于,所述根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵包括:
保持当前特征主题矩阵和当前第一矩阵不变,根据所述第一损失函数确定当前主题文档矩阵的第二梯度,根据所述第二损失函数确定当前主题文档矩阵的第三梯度;
累加所述第二梯度和所述第三梯度,得到所述主题文档矩阵的实际梯度;
根据所述实际梯度,更新当前主题文档矩阵。
7.根据权利要求4所述的一种主题挖掘方法,其特征在于,所述方法还包括:
保持当前主题文档矩阵不变,根据所述第二损失函数确定当前第一矩阵的第四梯度;
根据所述第四梯度,更新当前第一矩阵。
8.一种主题挖掘装置,其特征在于,包括:
第一获取模块,用于获取文档特征矩阵和标签特征矩阵,其中,所述文档特征矩阵中的每项文档特征信息均对应于所述标签特征矩阵中的一项标签特征信息;所述获取文档特征矩阵和标签特征矩阵包括:
获取文档集合以及主题标签集合;
从所述主题标签集合中为所述文档集合中的每个文档确定相应的标签,建立文档与主题标签的对应关系;
根据所述文档集合生成文档特征矩阵,根据所述文档特征矩阵以及所述对应关系,生成所述标签特征矩阵;
第二获取模块,用于获取初始化的特征主题矩阵和初始化的主题文档矩阵;
损失函数确定模块,用于根据所述文档特征矩阵、所述标签特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定目标损失函数;
矩阵更新模块,用于根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵;
重复模块,用于重复执行步骤:根据所述目标损失函数,分别更新当前特征主题矩阵和当前主题文档矩阵,直至更新次数达到预设次数;
主题确定模块,用于根据更新完成之后的所述特征主题矩阵和所述主题文档矩阵,确定与所述文档特征信息对应的主题概率分布。
9.根据权利要求8所述的装置,其特征在于,所述损失函数确定模块包括:
第一确定模块,用于根据所述文档特征矩阵、所述特征主题矩阵以及所述主题文档矩阵,确定第一损失函数;
第二确定模块,用于根据所述主题文档矩阵和所述标签特征矩阵,确定第二损失函数。
10.根据权利要求9所述的装置,其特征在于,所述第一确定模块包括:
目标矩阵确定模块,用于将所述特征主题矩阵和所述主题文档矩阵相乘,得到目标矩阵;
第一损失函数生成模块,用于将所述文档特征矩阵与所述目标矩阵的欧式距离确定为所述第一损失函数。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取初始化的第一矩阵,其中,所述第一矩阵的行数与所述主题文档矩阵的行数相同;
所述第二确定模块包括:
预测矩阵确定模块,用于根据所述主题文档矩阵和所述第一矩阵,确定预测矩阵;
第二损失函数生成模块,用于构建基于所述预测矩阵和所述标签特征矩阵的交叉熵函数。
12.根据权利要求9所述的装置,其特征在于,所述矩阵更新模块包括:
第一梯度计算模块,用于保持当前主题文档矩阵不变,根据所述第一损失函数确定当前特征主题矩阵的第一梯度;
第一更新模块,用于根据所述第一梯度,更新当前特征主题矩阵。
13.根据权利要求11所述的装置,其特征在于,所述矩阵更新模块包括:
第二、第三梯度计算模块,用于保持当前特征主题矩阵和当前第一矩阵不变,根据所述第一损失函数确定当前主题文档矩阵的第二梯度,根据所述第二损失函数确定当前主题文档矩阵的第三梯度;
累加模块,用于累加所述第二梯度和所述第三梯度,得到所述主题文档矩阵的实际梯度;
第二更新模块,用于根据所述实际梯度,更新当前主题文档矩阵。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第四梯度计算模块,用于保持当前主题文档矩阵不变,根据所述第二损失函数计算当前第一矩阵的第四梯度;
第三更新模块,用于根据所述第四梯度,更新当前第一矩阵;
所述装置还包括:
第三获取模块,用于获取初始化的第一矩阵,其中,所述第一矩阵的行数与所述主题文档矩阵的行数相同。
15.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如权利要求1至7任一项所述的主题挖掘方法。
16.一种电子设备,其特征在于,包括存储器、至少一个中央处理器以及存储应用程序或数据的存储介质,存储的应用程序由中央处理器加载并执行如权利要求1至7任一项所述的主题挖掘方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646014.3A CN110390014B (zh) | 2019-07-17 | 2019-07-17 | 一种主题挖掘方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646014.3A CN110390014B (zh) | 2019-07-17 | 2019-07-17 | 一种主题挖掘方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390014A CN110390014A (zh) | 2019-10-29 |
CN110390014B true CN110390014B (zh) | 2023-10-20 |
Family
ID=68285012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910646014.3A Active CN110390014B (zh) | 2019-07-17 | 2019-07-17 | 一种主题挖掘方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390014B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120229B2 (en) | 2019-09-04 | 2021-09-14 | Optum Technology, Inc. | Natural language processing using joint topic-sentiment detection |
US11238243B2 (en) | 2019-09-27 | 2022-02-01 | Optum Technology, Inc. | Extracting joint topic-sentiment models from text inputs |
CN112836491B (zh) * | 2021-01-25 | 2024-05-07 | 浙江工业大学 | 面向NLP基于GSDPMM和主题模型的Mashup服务谱聚类方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145483A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
CN108681557A (zh) * | 2018-04-08 | 2018-10-19 | 中国科学院信息工程研究所 | 基于自扩充表示和相似双向约束的短文本主题发现方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263470B2 (en) * | 2017-11-15 | 2022-03-01 | Adobe Inc. | Saliency prediction for informational documents |
-
2019
- 2019-07-17 CN CN201910646014.3A patent/CN110390014B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145483A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
CN108681557A (zh) * | 2018-04-08 | 2018-10-19 | 中国科学院信息工程研究所 | 基于自扩充表示和相似双向约束的短文本主题发现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110390014A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107705066B (zh) | 一种商品入库时信息录入方法及电子设备 | |
CN110472090B (zh) | 基于语义标签的图像检索方法以及相关装置、存储介质 | |
RU2722571C1 (ru) | Способ распознавания именованных сущностей в сетевом тексте на основе устранения неоднозначности вероятности в нейронной сети | |
CN110390014B (zh) | 一种主题挖掘方法、装置及存储介质 | |
US20180053097A1 (en) | Method and system for multi-label prediction | |
CN111428493A (zh) | 实体关系获取方法、装置、设备及存储介质 | |
CN109410001B (zh) | 一种商品推荐方法、系统、电子设备和存储介质 | |
CN112395487B (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN112106040A (zh) | 事件预测装置、预测模型生成装置以及事件预测用程序 | |
CN110555451A (zh) | 信息识别方法和装置 | |
CN111523960A (zh) | 基于稀疏矩阵的产品推送方法、装置、计算机设备及介质 | |
CN111461757A (zh) | 信息处理方法及装置、计算机存储介质、电子设备 | |
CN116775497A (zh) | 数据库测试用例生成需求描述编码方法 | |
CN116402630A (zh) | 一种基于表征学习的财务风险预测方法及系统 | |
CN116680386A (zh) | 基于多轮对话的答案预测方法和装置、设备、存储介质 | |
CN115828153A (zh) | 基于人工智能的任务预测方法、装置、设备和介质 | |
CN115099344A (zh) | 模型训练方法和装置、用户画像生成方法和装置、设备 | |
CN112988699B (zh) | 模型训练方法、数据标签的生成方法及装置 | |
CN113672804A (zh) | 推荐信息生成方法、系统、计算机设备及存储介质 | |
JP2016181040A (ja) | データ解析装置、方法、及びプログラム | |
JP2016031678A (ja) | クラスタ抽出装置及び方法及びプログラム | |
JP2013246586A (ja) | データ群のトピック分析装置 | |
Nguyen et al. | Are Good Explainers Secretly Human-in-the-Loop Active Learners? | |
CN111199170A (zh) | 配方文件识别方法及装置、电子设备、存储介质 | |
CN112650847B (zh) | 一种科技研究热点主题预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |