CN105335375A - 主题挖掘方法和装置 - Google Patents
主题挖掘方法和装置 Download PDFInfo
- Publication number
- CN105335375A CN105335375A CN201410281183.9A CN201410281183A CN105335375A CN 105335375 A CN105335375 A CN 105335375A CN 201410281183 A CN201410281183 A CN 201410281183A CN 105335375 A CN105335375 A CN 105335375A
- Authority
- CN
- China
- Prior art keywords
- matrix
- message vector
- document
- word
- theme
- 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.)
- Granted
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Business, Economics & Management (AREA)
- Fuzzy Systems (AREA)
- Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种主题挖掘方法和装置,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,从而仅根据目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,再根据当前文档-主题矩阵和当前单词-主题矩阵,仅对目标消息向量对应的所述单词-文档矩阵中的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。
Description
技术领域
本发明实施例涉及信息技术,尤其涉及一种主题挖掘方法和装置。
背景技术
主题挖掘是利用潜在狄利克雷分布(LatentDirichletAllocation,LDA)模型这一机器学习模型,在大规模文档集中对具有语义相关的单词进行聚类的过程,从而以概率分布的形式获得大规模文档集中每篇文档的主题(topic),也就是作者通过文档所表达的主题思想。
现有技术中的主题挖掘,需要首先基于训练文档,采用置信传播(BeliefPropagation,BP)算法对LDA模型进行训练,确定训练后的LDA模型的模型参数,即单词-主题矩阵Φ和文档-主题矩阵θ,然后将待测试文档的单词-文档矩阵输入训练后的LDA模型进行主题挖掘,从而获得用于指示该待测试文档的主题分布的文档-主题矩阵θ'。由于BP算法包含大量迭代计算,也就是说多次重复执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中的每个非零元素进行计算,获得单词-文档矩阵中每个非零元素的消息向量之后,再根据上述全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新的过程,直至消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态,由于在每次迭代过程中均需要对单词-文档矩阵中的每个非零元素计算消息向量,以及根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,计算量较大,导致主题挖掘的效率较低,并且现有的主题挖掘方法仅适用于单词-文档矩阵为离散词包矩阵。
发明内容
本发明实施例提供一种主题挖掘方法和装置,以减少主题挖掘运算量,提高主题挖掘的效率。
本发明实施例的一个方面是提供一种主题挖掘方法,包括:
根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn;根据所述非零元素的消息向量的残差,从所述非零元素的消息向量Mn中确定目标消息向量ObjectMn;所述目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量,所述预设比例的取值范围为小于1且大于0;根据所述目标消息向量ObjectMn对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新;从所述单词-文档矩阵中的非零元素中确定所述目标消息向量ObjectMn所对应的目标元素ObjectEn;第n+1次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中第n次所确定的目标元素ObjectEn进行计算,得到所述单词-文档矩阵中第n次所确定的目标元素ObjectEn的消息向量Mn+1,根据所述第n次所确定的目标元素的消息向量的残差,从所述第n次所确定的目标元素ObjectEn的消息向量Mn+1中确定目标消息向量ObjectMn+1,根据第n+1次所确定的目标消息向量ObjectMn+1对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定第n+1次所确定的目标消息向量ObjectMn+1所对应的目标元素ObjectEn+1的迭代过程,直至所述筛选后的目标元素ObjectEp的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态;将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
在第一方面的第一种可能的实现方式中,所述根据所述非零元素的消息向量的残差,从所述非零元素的消息向量Mn中确定目标消息向量ObjectMn,包括:计算所述非零元素的消息向量的残差;从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例的目标残差;所述预设比例是依据主题挖掘的效率和主题挖掘的结果的准确度确定的;从所述非零元素的消息向量Mn中,确定所述目标残差所对应的目标消息向量ObjectMn。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述计算所述非零元素的消息向量的残差,包括:根据公式计算所述非零元素的消息向量的残差,其中,其中,为所述非零元素的消息向量的残差,k=1,2,...,K,K为预设的主题数目,为第n次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算所获得的消息向量的第k个元素值,xw,d为所述单词-文档矩阵中第w行第d列的元素值,为第n-1次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算得到的消息向量的第k个元素值。
结合第一方面的第一种可能的实现方式和第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例的目标残差,包括:根据公式对所述残差进行计算,得到累积残差矩阵;其中,为第n次执行迭代过程中所述单词-文档矩阵中第w行第d列的元素的消息向量的残差的第k个元素值;为第n次执行迭代过程中所述累积残差矩阵第w行第k列的元素值;在所述累积残差矩阵的每一行中,按照从大到小顺序确定出排在前预设比例λk的元素所在列其中,0<λk≤1;对每一行中确定出的元素进行累加,得到每一行对应的和值;确定按照从大到小顺序排在前预设比例λw的和值所对应的行其中,0<λw≤1,且λk×λw≠1;将满足的残差确定为所述目标残差。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述从所述非零元素的消息向量Mn中,确定所述目标残差所对应的目标消息向量ObjectMn,包括:从所述非零元素的消息向量Mn中,确定目标残差所对应的目标消息向量ObjectMn为
结合第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式和第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述目标消息向量ObjectMn对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新,包括:
根据公式进行计算,得到更新后的所述LDA模型的当前文档-主题矩阵中第k行d列的元素值利用更新所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值;其中,k=1,2,...,K,K为预设的主题数目,xw,d为所述单词-文档矩阵中第w行第d列的元素值,是在第n次执行所述迭代过程中对所述xw,d进行计算所获得的消息向量的第k个元素值;根据公式计算得到更新后的所述LDA模型的当前单词-主题矩阵中第k行w列的元素值利用更新所述LDA模型的当前单词-主题矩阵中第k行w列的元素值。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式和第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn,包括:在第n次执行所述迭代过程中,根据公式进行计算,得到所述单词-文档矩阵中第w行第d列的元素xw,d的消息向量的第k个元素值其中,k=1,2,...,K,K为预设的主题数目,w=1,2,...,W,W为单词表长度,d=1,2,...,D,D为所述训练文档数目,为当前文档-主题矩阵第k行第d列的元素值,为当前单词-主题矩阵第k行第w列的元素值,α和β为预设系数,取值范围为正数。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式和第一方面的第四种可能的实现方式,在第一方面的第七种可能的实现方式中,所述根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn之前,还包括:确定单词-文档矩阵中每个非零元素的初始消息向量其中,k=1,2,...,K,K为预设的主题数目,且 为单词-文档矩阵中第w行第d列的非零元素xw,d的初始消息向量的第k个元素;根据公式计算当前文档-主题矩阵;其中,为所述初始消息向量,为当前文档-主题矩阵第k行第d列的元素值;根据公式计算当前单词-主题矩阵;其中,为所述初始消息向量,为当前单词-主题矩阵第k行第w列的元素值。
本发明实施例的第二个方面是提供一种主题挖掘装置,包括:
消息向量计算模块,用于根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn;第一筛选模块,用于根据所述非零元素的消息向量的残差,从所述非零元素的消息向量Mn中确定目标消息向量ObjectMn;所述目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量,所述预设比例的取值范围为小于1且大于0;更新模块,用于根据所述目标消息向量ObjectMn对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新;第二筛选模块,用于从所述单词-文档矩阵中的非零元素中确定所述目标消息向量ObjectMn所对应的目标元素ObjectEn;执行模块,用于第n+1次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中第n次所确定的目标元素ObjectEn进行计算,得到所述单词-文档矩阵中第n次所确定的目标元素ObjectEn的消息向量Mn+1,根据所述第n次所确定的目标元素的消息向量的残差,从所述第n次所确定的目标元素ObjectEn的消息向量Mn+1中确定目标消息向量ObjectMn+1,根据第n+1次所确定的目标消息向量ObjectMn+1对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定第n+1次所确定的目标消息向量ObjectMn+1所对应的目标元素ObjectEn+1的迭代过程,直至所述筛选后的目标元素的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态;主题挖掘模块,用于将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
在第二方面的第一种可能的实现方式中,所述第一筛选模块,包括:计算单元,用于计算所述非零元素的消息向量的残差;查询单元,用于从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例的目标残差;所述预设比例是依据主题挖掘的效率和主题挖掘的结果的准确度确定的;筛选单元,用于从所述非零元素的消息向量Mn中,确定所述目标残差所对应的目标消息向量ObjectMn。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述计算单元,具体用于根据公式计算所述非零元素的消息向量的残差,其中,其中,为所述非零元素的消息向量的残差,k=1,2,...,K,K为预设的主题数目,为第n次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算所获得的消息向量的第k个元素值,xw,d为所述单词-文档矩阵中第w行第d列的元素值,为第n-1次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算得到的消息向量的第k个元素值。
结合第二方面的第一种可能的实现方式和第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述查询单元,具体用于根据公式对所述残差进行计算,得到累积残差矩阵;其中,为第n次执行迭代过程中所述单词-文档矩阵中第w行第d列的元素的消息向量的残差的第k个元素值;为第n次执行迭代过程中所述累积残差矩阵第w行第k列的元素值;在所述累积残差矩阵的每一行中,按照从大到小顺序确定出排在前预设比例λk的元素所在列其中,0<λk≤1;对每一行中确定出的元素进行累加,得到每一行对应的和值;确定按照从大到小顺序排在前预设比例λw的和值所对应的行其中,0<λw≤1,且λk×λw≠1;将满足的残差确定为所述目标残差
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述筛选单元,具体用于从所述非零元素的消息向量Mn中,确定目标残差所对应的目标消息向量ObjectMn为
结合第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式和第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述更新模块,包括:第一更新单元,用于根据公式进行计算,得到更新后的所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值利用更新所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值;其中,k=1,2,...,K,K为预设的主题数目,xw,d为所述单词-文档矩阵中第w行第d列的元素值,是在第n次执行所述迭代过程中对所述xw,d进行计算所获得的消息向量的第k个元素值;第二更新单元,用于根据公式计算得到更新后的所述LDA模型的当前单词-主题矩阵中第k行w列的元素值利用更新所述LDA模型的当前单词-主题矩阵中第k行w列的元素值。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式和第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述消息向量计算模块,具体用于在第n次执行所述迭代过程中,根据公式进行计算,得到所述单词-文档矩阵中第w行第d列的元素xw,d的消息向量的第k个元素值其中,k=1,2,...,K,K为预设的主题数目,w=1,2,...,W,W为单词表长度,d=1,2,...,D,D为所述训练文档数目,为当前文档-主题矩阵第k行第d列的元素值,为当前单词-主题矩阵第k行第w列的元素值,α和β为预设系数,取值范围为正数。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式和第二方面的第四种可能的实现方式,在第二方面的第七种可能的实现方式中,所述装置还包括:确定模块,用于确定单词-文档矩阵中每个非零元素的初始消息向量其中,k=1,2,...,K,K为预设的主题数目,且 为单词-文档矩阵中第w行第d列的非零元素xw,d的初始消息向量的第k个元素;第一获得模块,用于根据公式计算当前文档-主题矩阵;其中,为所述初始消息向量,为当前文档-主题矩阵第k行第d列的元素值;第二获得模块,用于根据公式计算当前单词-主题矩阵;其中,为所述初始消息向量,为当前单词-主题矩阵第k行第w列的元素值。
本发明实施例提供的主题挖掘方法和装置,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,然后仅根据本次执行迭代过程所确定出的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,从而在后续执行迭代过程时,根据当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中前一次执行迭代过程所确定的目标消息向量对应的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的主题挖掘方法的流程示意图;
图2为本发明另一实施例提供的主题挖掘方法的流程示意图;
图3为本发明一实施例提供的主题挖掘装置的结构示意图;
图4为本发明另一实施例提供的主题挖掘装置的结构示意图;
图5为本发明又一实施例提供的主题挖掘装置的结构示意图;
图6为主题挖掘装置应用于网络舆情分析的架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的主题挖掘方法的流程示意图,如图1所示,本实施例可以包括:
101、根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵非零元素进行计算,得到非零元素的消息向量(如Mn)。
其中,单词-文档矩阵为词包矩阵形式或者为词频-逆文档频率(termfrequency–inversedocumentfrequency,TF-IDF)矩阵形式。若包括步骤101至103在内的迭代过程为首次执行,则目标元素可为单词-文档矩阵中的全部非零元素,否则,目标元素为上一次执行迭代过程的步骤103中所确定的目标元素。
可选的,若单词-文档矩阵为词包矩阵形式则可直接对该单词-文档矩阵进行计算获得单词-文档矩阵中目标元素的消息向量,或者,将词包矩阵形式的单词-文档矩阵转化为TF-IDF矩阵形式之后,对TF-IDF矩阵形式的单词-文档矩阵进行计算,获得单词-文档矩阵中目标元素的消息向量。其中,消息向量是指示单词-文档矩阵中元素所涉及各主题的可能性,例如:消息向量μw,d(k)是指示单词-文档矩阵中第w行d列的元素涉及第k个主题的可能性,当主题的总个数为K个时,1≤k≤K,即消息向量μw,d(k)的长度为K。
需要说明的是,单词-文档矩阵用于指示单词在文档中出现的次数,以词包矩阵形式的单词-文档矩阵为例,该矩阵每一行对应一个单词,每一列对应一篇文档,矩阵中的每个非零元素值表示元素所在行对应的单词在元素所在列对应的文档中出现的次数,若元素值为零,则表示元素所在行对应的单词在元素所在列对应的文档中没有出现。单词-主题矩阵的每一行对应一个单词,每一列对应一个主题,矩阵中的元素值表示该元素所在列对应的主题涉及到行对应的单词的概率。文档-主题矩阵的每一行对应一篇文档,每一列对应一个主题,矩阵中的元素值表示该元素所在行对应的文档涉及到该元素所在列对应的主题的概率。
102、根据所述非零元素的消息向量的残差,从所述非零元素的消息向量中确定目标消息向量(如ObjectMn)。
其中,目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量;残差(residual)用于指示消息向量的收敛程度。
可选的,计算消息向量的残差,从计算得到的残差中查询按照从大到小顺序排在前预设比例(λk×λw)的目标残差,将目标残差所对应的消息向量确定为目标消息向量,该目标消息向量的残差较高,收敛程度较差。(λk×λw)取值范围为小于1且大于0,即0<(λk×λw)<1。该(λk×λw)的取值依据主题挖掘效率和主题挖掘结果的准确度来确定。具体的,(λk×λw)的取值越小,运算量越小,主题挖掘效率越高,但主题挖掘所获得的结果的误差较大;取值越大,运算量越大,主题挖掘效率越低,但主题挖掘所获得的结果的误差较小。
103、根据目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新。
具体的,根据消息向量进行计算,获得利用更新所述LDA模型的当前文档-主题矩阵中第k行d列的元素值;其中,k=1,2,...,K,K为预设的主题数目,xw,d为所述单词-文档矩阵中第w行第d列的元素值,是在第n次执行所述迭代过程中对所述xw,d进行计算所获得的消息向量的第k个元素值;根据进行计算,获得利用更新所述LDA模型的当前单词-主题矩阵中第k行w列的元素值。
104、从单词-文档矩阵中的非零元素中确定目标消息向量所对应的目标元素(如ObjectEn)。
可选的,在单词-文档矩阵的非零元素中,查询前一次所确定的目标消息向量对应的元素,将目标消息向量所对应的单词-文档矩阵中的元素确定为目标元素。从而在本次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵进行计算,获得单词-文档矩阵中目标元素的消息向量的步骤时,仅对本次所确定的单词-文档矩阵中目标元素进行计算,获得这些目标元素的消息向量。由于每一次执行本步骤时所确定的目标元素的个数均会少于上一次执行本步骤时所确定的目标元素的个数,因而,不断减小计算单词-文档矩阵中目标元素的消息向量的计算量,也就不断减小了根据所述目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新的计算量,提高了效率。
105、根据单词-文档矩阵中第n次所确定的目标元素(如ObjectEn),第n+1次执行前述计算消息向量、确定和更新的步骤的迭代过程,直至筛选后的目标元素(如ObjectEp)的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态。
具体的,第n+1次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中第n次所确定的目标元素进行计算,得到所述单词-文档矩阵中第n次所确定的目标元素的消息向量(如Mn+1),根据所述第n次所确定的目标元素的消息向量的残差,从所述第n次所确定的目标元素的消息向量中确定目标消息向量(如ObjectMn+1),根据第n+1次所确定的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定第n+1次所确定的目标消息向量所对应的目标元素(如ObjectEn+1)的迭代过程,直至所述筛选后的目标元素的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态。
需要说明的是,当消息向量、文档-主题矩阵和单词-主题矩阵达到收敛状态时,第n+1次执行迭代过程所获得的消息向量、文档-主题矩阵和单词-主题矩阵,与第n次执行迭代过程所获得的消息向量、文档-主题矩阵和单词-主题矩阵对应相似,也就是说,第n+1次与第n次执行迭代过程所获得的消息向量之差、第n+1次与第n次执行迭代过程所获得的文档-主题矩阵之差和第n+1次与第n次执行迭代过程所获得的单词-主题矩阵之差,均趋近于零。即无论再执行多少次迭代过程,上述消息向量、文档-主题矩阵和单词-主题矩阵已变化不大,达到稳定。
106、将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的LDA模型进行主题挖掘。
本实施例中,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,然后仅根据本次执行迭代过程所确定出的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,从而在后续执行迭代过程时,根据前一次执行迭代过程所更新的当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中前一次执行迭代过程所确定的目标消息向量对应的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。
图2为本发明另一实施例提供的主题挖掘方法的流程示意图,本实施例中的文档-主题矩阵为词包矩阵形式,如图2所示,本实施例包括:
201、初始化LDA模型的当前文档-主题矩阵和当前单词-主题矩阵
可选的,以且为依据确定训练文档的单词-文档矩阵中每个非零元素的消息向量,该消息向量包括K个元素,消息向量中的每个元素对应一个主题,消息向量表示单词-文档矩阵所指示的文档中的单词涉及各主题的概率,例如:初始消息向量表示单词-文档矩阵中第w行第d列的元素xw,d涉及第k个主题上的概率,根据初始消息向量进行计算,获得当前文档-主题矩阵根据初始消息向量进行计算,获得当前单词-主题矩阵其中,k=1,2,...,K,w=1,2,...,W,d=1,2,...,D。W为单词表长度,也就是单词表内所包含的单词个数,等于单词-文档矩阵所包含的行数;D为训练文档数目;K为预设主题数目,该主题数目可由用户在进行主题挖掘之前进行设定,主题数目越大,计算量越大。W、D和K取值范围均为正整数。
进一步,在201之前,统计每一篇训练文档中是否包含标准字典中的单词,以及该单词出现的次数,利用统计结果生成词包矩阵形式的单词-文档矩阵,词包矩阵形式的单词-文档矩阵的每一行对应一个单词,每一列对应一篇文档,矩阵中的每个非零元素值表示元素所在行对应的单词在元素所在列对应的文档中出现的次数,若元素值为零,则表示元素所在行对应的单词在元素所在列对应的文档中没有出现。
202、根据当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵进行计算,获得单词-文档矩阵中目标元素的消息向量。
其中,若202为首次执行,则确定为第一次执行迭代过程,目标元素为单词-文档矩阵中的全部非零元素;否则,目标元素为上一次执行迭代过程中所确定的目标元素。
可选的,将当前文档-主题矩阵和当前单词-主题矩阵以及n=1,带入公式进行计算,获得单词-文档矩阵中每个非零元素的消息向量其中,n为迭代过程的执行次数,例如第一次执行则n=1,为单词-文档矩阵中第w行第d列的元素xw,d在第1次执行迭代过程中第k个主题上的消息向量;为第n次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素在第k个主题上进行计算所获得的消息向量,α和β为预设系数,一般称上述两个预设系数为LDA模型的超级参数,取值范围为非负数,例如:{α=0.01,β=0.01}。
需要说明的是,从首次执行202起,则开始进入迭代过程,记为第一次执行该迭代过程,取n=1。
203、计算消息向量的残差。
可选的,根据公式代入n=1,以及计算得到消息向量的残差其中,xw,d为所述单词-文档矩阵中第w行第d列的元素值,为第n-1次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素在第k个主题上进行计算所得到的消息向量。
204、从残差中确定目标残差。
可选的,将残差以及n=1,代入公式进行计算,得到累积残差矩阵其中,为第1次执行迭代过程中累积残差矩阵第w行第k列的元素值。在累积残差矩阵的每一行中,采用快速排序算法或者插入排序算法确定出按照从大到小顺序排在前预设比例λk的元素所在列对每一行中确定出的元素进行累加,获得每一行对应的和值,采用快速排序算法或者插入排序算法确定按照从大到小顺序排在前预设比例λw的和值所对应的行将确定为目标残差。上述λk和λw需要在进行主题挖掘之前进行预先设定,0<λk≤1,0<λw≤1,且λk×λw≠1。
或者,可选的,根据残差进行计算,得到累积残差矩阵其中,为第n次执行迭代过程中所述累积残差矩阵第d行第k列的元素值;在累积残差矩阵的每一行中,采用快速排序算法或者插入排序算法确定出按照从大到小顺序排在前预设比例λk的目标元素所在列对每一行中确定出的目标元素进行累加,获得每一行对应的和值;采用快速排序算法或者插入排序算法确定按照从大到小顺序排在前预设比例λw的和值所对应的行将满足的残差确定为所述目标残差。上述λk和λw需要在进行主题挖掘之前进行预先设定,0<λk≤1,0<λw≤1,且λk×λw≠1。
205、将目标残差所对应的消息向量确定为目标消息向量。
可选的,根据目标残差与消息向量之间的对应关系,代入n=1,确定目标残差对应消息向量则消息向量为目标消息向量。
206、从单词-文档矩阵中重新确定目标消息向量所对应的目标元素。
可选的,根据目标消息向量与单词-文档矩阵中的元素xw,d之间的对应关系,在201中的目标元素中确定目标消息向量对应的单词-文档矩阵中的目标元素
207、根据目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新。
可选的,将目标消息向量代入公式进行计算,获得利用更新当前文档-主题矩阵;将目标消息向量代入公式 进行计算,获得 利用更新当前单词-主题矩阵。
需要说明的是,从202至207为完整的一次迭代过程,207执行完毕,则该次迭代过程完成。
208、判断筛选后的目标元素的消息向量、当前文档-主题矩阵和当前单词-主题矩阵是否达到收敛状态,若是,则执行步骤209,否则重复执行步骤202至步骤207。
可选的,将代入公式进行计算,判断rn(k)除以W是否趋近于零,若是则确定筛选后的目标元素的消息向量、当前文档-主题矩阵和当前单词-主题矩阵已收敛至稳定状态,否则,确定消息向量、当前文档-主题矩阵和当前单词-主题矩阵未达到收敛状态。
209、将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
本实施例中,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,然后仅根据本次执行迭代过程所确定出的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,从而在后续执行迭代过程时,根据前一次执行迭代过程所更新的当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中前一次执行迭代过程所确定的目标消息向量对应的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。另外,本实施例中,在从残差中按照从大到小顺序查询排在前预设比例的目标残差时,具体采用了在根据残差计算获得的累积残差矩阵的每一行中,采用快速排序算法或者插入排序算法确定出按照从大到小顺序排在前预设比例的元素所在列,然后对每一行中确定出的元素进行累加,获得每一行对应的和值,采用快速排序算法或者插入排序算法确定按照从大到小顺序排在前预设比例的和值所对应的行,将处于确定出的行和列上的元素确定为目标残差的方案,加快了目标残差的查询速度,进而提高了主题挖掘的效率。
图3为本发明一实施例提供的主题挖掘装置的结构示意图,如图3所示,包括:消息向量计算模块31,第一筛选模块32,第二筛选模块33,更新模块34,执行模块35和主题挖掘模块36。
消息向量计算模块31,用于根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量。
第一筛选模块32,与消息向量计算模块31连接,用于根据所述非零元素的消息向量的残差,从所述非零元素的消息向量中确定目标消息向量。
其中,目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量,所述预设比例的取值范围为小于1且大于0,所述残差用于指示所述消息向量的收敛程度。
第二筛选模块33,与第一筛选模块32连接,用于从所述单词-文档矩阵中的非零元素中确定所述目标消息向量所对应的目标元素。
更新模块34,与第一筛选模块33连接,用于根据所述目标消息向量对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新。
执行模块35,与消息向量计算模块31和更新模块34连接,用于第n+1次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中第n次所确定的目标元素进行计算,获得所述单词-文档矩阵中第n次所确定的目标元素的消息向量,根据所述第n次所确定的目标元素的消息向量的残差,从所述第n次所确定的目标元素的消息向量中确定目标消息向量,根据第n+1次所确定的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定第n+1次所确定的目标消息向量所对应的目标元素的迭代过程,直至所述筛选后的目标元素的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态。
主题挖掘模块36,与执行模块35连接,用于将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
本实施例中,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,然后仅根据本次执行迭代过程所确定出的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,从而在后续执行迭代过程时,根据前一次执行迭代过程所更新的当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中前一次执行迭代过程所确定的目标消息向量对应的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。
图4为本发明另一实施例提供的主题挖掘装置的结构示意图,如图4所示,在上一实施例的基础上,本实施例中的第一筛选模块32进一步包括:计算单元321,查询单元322和筛选单元323。
计算单元321,用于计算非零元素的消息向量的残差。
可选的,计算单元321具体用于计算获得消息向量的残差其中,k=1,2,...,K,K为预设的主题数目,为第n次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算所获得的消息向量的第k个元素值,xw,d为所述单词-文档矩阵中第w行第d列的元素值,为第n-1次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算所获得的消息向量的第k个元素值。
查询单元322,与计算单元321连接,用于从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例(λk×λw)的目标残差。
其中,(λk×λw)取值范围为小于1且大于0。预设比例是依据主题挖掘的效率和主题挖掘的结果的准确度确定的。
可选的,查询单元322,具体用于根据所述残差进行计算,获得累积残差矩阵其中,为第n次执行迭代过程中所述单词-文档矩阵中第w行第d列的元素的消息向量的残差的第k个元素值;为第n次执行迭代过程中所述累积残差矩阵第w行第k列的元素值;在所述累积残差矩阵的每一行中,确定出按照从大到小顺序排在前预设比例λk的目标元素所在列λk取值范围为小于1且大于0;对每一行中确定出的目标元素进行累加,获得每一行对应的和值;确定按照从大到小顺序排在前预设比例λw的和值所对应的行λw取值范围为小于1且大于0;将满足的残差确定为所述目标残差。
筛选单元323,与查询单元322连接,用于从非零元素的消息向量中,确定目标残差所对应的目标消息向量。
可选的,筛选单元323具体用于从所述非零元素的消息向量中,确定目标残差所对应的消息向量
进一步,更新模块34,包括:第一更新单元341和第二更新单元342。
第一更新单元341,用于根据公式对目标消息向量进行计算,得到更新后的所述LDA模型的当前文档-主题矩阵中第k行d列的元素值利用更新所述LDA模型的当前文档-主题矩阵中第k行d列的元素值;其中,k=1,2,...,K,K为预设的主题数目,xw,d为所述单词-文档矩阵中第w行第d列的元素值,是在第n次执行所述迭代过程中对所述xw,d进行计算所获得的消息向量的第k个元素值。
第二更新单元342,用于根据公式计算得到更新后的所述LDA模型的当前单词-主题矩阵中第k行w列的元素值利用更新所述LDA模型的当前单词-主题矩阵中第k行w列的元素值。
进一步,主题挖掘装置还包括:确定模块41、第一获得模块42和第二获得模块43。
第二确定模块41,用于确定单词-文档矩阵中每个非零元素的初始消息向量其中,k=1,2,...,K,K为预设的主题数目,且 为单词-文档矩阵中第w行第d列的非零元素xw,d的初始消息向量的第k个元素;
第一获得模块42,与第二确定模块41和消息向量计算模块31连接,用于根据公式计算当前文档-主题矩阵;其中,为所述初始消息向量,为当前文档-主题矩阵第k行第d列的元素值。
第二获得模块43,与第二确定模块41和消息向量计算模块31连接,用于根据公式计算当前单词-主题矩阵;其中,为所述初始消息向量,为当前单词-主题矩阵第k行第w列的元素值。
进一步,消息向量计算模块31,具体用于在第n次执行所述迭代过程中,根据公式进行计算,得到所述单词-文档矩阵中第w行第d列的元素xw,d的消息向量的第k个元素值其中,k=1,2,...,K,K为预设的主题数目,w=1,2,...,W,W为单词表长度,d=1,2,...,D,D为所述训练文档数目,为当前文档-主题矩阵第k行第d列的元素值,为当前单词-主题矩阵第k行第w列的元素值,α和β为预设系数,取值范围为正数。
本实施例提供的主题挖掘装置的各功能模块可用于执行图1和图2所示的主题挖掘方法流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例中,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,然后仅根据本次执行迭代过程所确定出的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,从而在后续执行迭代过程时,根据前一次执行迭代过程所更新的当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中前一次执行迭代过程所确定的目标消息向量对应的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。另外,本实施例中,在从残差中按照从大到小顺序查询排在前预设比例的目标残差时,具体采用了在根据残差计算获得的累积残差矩阵的每一行中,采用快速排序算法或者插入排序算法确定出按照从大到小顺序排在前预设比例的元素所在列,然后对每一行中确定出的元素进行累加,获得每一行对应的和值,采用快速排序算法或者插入排序算法确定按照从大到小顺序排在前预设比例的和值所对应的行,将处于确定出的行和列上的元素确定为目标残差的方案,加快了目标残差的查询速度,进而提高了主题挖掘的效率。
图5为本发明又一实施例提供的主题挖掘装置的结构示意图,如图5所示,本实施例中的装置可以包括:存储器51、通信接口52和处理器53。
存储器51,用于存放程序。具体的,程序可以包括程序代码,上述程序代码包括计算机操作指令。存储器51可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
通信接口52,用于获得训练文档的单词-文档矩阵。
处理器53,用于执行存储器51存放的程序,以用于:根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量;根据所述非零元素的消息向量的残差,从所述非零元素的消息向量中确定目标消息向量;所述目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量,所述预设比例的取值范围为小于1且大于0;根据所述目标消息向量对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新;从所述单词-文档矩阵中的非零元素中确定所述目标消息向量所对应的目标元素;重复执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中前一次所确定的目标元素进行计算,获得所述单词-文档矩阵中前一次所确定的目标元素的消息向量,根据所述前一次所确定的目标元素的消息向量的残差,从所述前一次所确定的目标元素的消息向量中确定目标消息向量,根据本次所确定的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定本次所确定的目标消息向量所对应的目标元素的迭代过程,直至所述筛选后的目标元素的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态;将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
本实施例提供的主题挖掘装置的各功能模块可用于执行图1和图2所示的主题挖掘方法流程,其具体工作原理不再赘述,详见方法实施例的描述。
本发明实施例还提供了一种主题挖掘装置的应用场景:
在进行网络舆情分析、个性化信息推送等需要基于语义进行的信息处理时,需首先对网络中的各待测文档进行主题挖掘,获得各待测文档的主题,即作者通过文档所表达的主题思想。然后才能基于各待测文档的主题进行分析,将分析结果用于个性化信息推送或者网络舆情预警等方面。
作为一种可能的主题挖掘的应用场景,在进行网络舆情分析之前,需要对网络中的微博的博文、网页的文字内容等所构成的待测文档进行主题挖掘,从而获得各待测文档的主题。具体的,图6为主题挖掘装置应用于网络舆情分析的架构图,可从内容服务器中获取待测文档,然后从待测文档中选取,或者,另外选取不同于待测文档的涉及各个不同主题的文档作为训练文档,训练文档所涵盖的主题越多,则主题挖掘准确度越高;然后,采用上述各实施例中所提供的主题挖掘方法对训练文档进行处理,确定LDA模型的参数;在确定LDA模型参数之后,可利用确定参数后的LDA模型对网络中的微博的博文、网页的文字内容等所构成的待测文档进行主题挖掘。将所获得的待测文档的主题发送给网络舆情分析服务器,进行网络舆情分析。
本实施例中,通过在每次执行迭代过程时,根据消息向量的残差,从消息向量中确定目标消息向量,然后仅根据本次执行迭代过程所确定出的目标消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,从而在后续执行迭代过程时,根据前一次执行迭代过程所更新的当前文档-主题矩阵和当前单词-主题矩阵,对单词-文档矩阵中前一次执行迭代过程所确定的目标消息向量对应的目标元素进行计算,避免了每次迭代过程均需要对单词-文档矩阵中的全部非零元素进行计算,以及避免了根据全部的消息向量对当前文档-主题矩阵和当前单词-主题矩阵进行更新,极大地减少了运算量,加快了主题挖掘的速度,提高了主题挖掘的效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种主题挖掘方法,其特征在于,包括:
根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn;
根据所述非零元素的消息向量的残差,从所述非零元素的消息向量Mn中确定目标消息向量ObjectMn;所述目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量,所述预设比例的取值范围为小于1且大于0;
根据所述目标消息向量ObjectMn对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新;
从所述单词-文档矩阵中的非零元素中确定所述目标消息向量ObjectMn所对应的目标元素ObjectEn;
第n+1次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中第n次所确定的目标元素ObjectEn进行计算,得到所述单词-文档矩阵中第n次所确定的目标元素ObjectEn的消息向量Mn+1,根据所述第n次确定的目标元素的消息向量的残差,从所述第n次确定的目标元素ObjectEn的消息向量Mn+1中确定目标消息向量ObjectMn+1,根据第n+1次所确定的目标消息向量ObjectMn+1对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定第n+1次所确定的目标消息向量ObjectMn+1所对应的目标元素ObjectEn+1的迭代过程,直至所述筛选后的目标元素ObjectEp的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态;
将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
2.根据权利要求1所述的主题挖掘方法,其特征在于,所述根据所述非零元素的消息向量的残差,从所述非零元素的消息向量Mn中确定目标消息向量ObjectMn,包括:
计算所述非零元素的消息向量的残差;
从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例的目标残差;所述预设比例是依据主题挖掘的效率和主题挖掘的结果的准确度确定的;
从所述非零元素的消息向量Mn中,确定所述目标残差所对应的目标消息向量ObjectMn。
3.根据权利要求2所述的主题挖掘方法,其特征在于,所述计算所述非零元素的消息向量的残差,包括:
根据公式计算所述非零元素的消息向量的残差,其中,其中,为所述非零元素的消息向量的残差,k=1,2,...,K,K为预设的主题数目,为第n次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算所获得的消息向量的第k个元素值,xw,d为所述单词-文档矩阵中第w行第d列的元素值,为第n-1次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算得到的消息向量的第k个元素值。
4.根据权利要求2或3所述的主题挖掘方法,其特征在于,所述从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例的目标残差,包括:
根据公式对所述残差进行计算,得到累积残差矩阵;其中,为第n次执行迭代过程中所述单词-文档矩阵中第w行第d列的元素的消息向量的残差的第k个元素值;为第n次执行迭代过程中所述累积残差矩阵第w行第k列的元素值;
在所述累积残差矩阵的每一行中,按照从大到小顺序确定出排在前预设比例λk的元素所在列其中,0<λk≤1;
对每一行中确定出的元素进行累加,得到每一行对应的和值;
确定按照从大到小顺序排在前预设比例λw的和值所对应的行;其中,0<λw≤1,且λk×λw≠1;
将满足的残差确定为所述目标残差。
5.根据权利要求4所述的主题挖掘方法,其特征在于,所述从所述非零元素的消息向量Mn中,确定所述目标残差所对应的目标消息向量ObjectMn,包括:
从所述非零元素的消息向量Mn中,确定目标残差所对应的目标消息向量ObjectMn为
6.根据权利要求3-5中任一项所述的主题挖掘方法,其特征在于,所述根据所述目标消息向量ObjectMn对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新,包括:
根据公式进行计算,得到更新后的所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值利用更新所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值;其中,k=1,2,...,K,K为预设的主题数目,xw,d为所述单词-文档矩阵中第w行第d列的元素值,是在第n次执行所述迭代过程中对所述xw,d进行计算所获得的消息向量的第k个元素值;
根据公式计算得到更新后的所述LDA模型的当前单词-主题矩阵中第k行w列的元素值利用更新所述LDA模型的当前单词-主题矩阵中第k行w列的元素值。
7.根据权利要求1-5任一项所述的主题挖掘方法,其特征在于,所述根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn,包括:
在第n次执行所述迭代过程中,根据公式进行计算,得到所述单词-文档矩阵中第w行第d列的元素xw,d的消息向量的第k个元素值其中,k=1,2,...,K,K为预设的主题数目,w=1,2,...,W,W为单词表长度,d=1,2,...,D,D为所述训练文档数目,为当前文档-主题矩阵第k行第d列的元素值,为当前单词-主题矩阵第k行第w列的元素值,α和β为预设系数,取值范围为正数。
8.根据权利要求1-5任一项所述的主题挖掘方法,其特征在于,所述根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn之前,还包括:
确定单词-文档矩阵中每个非零元素的初始消息向量其中,k=1,2,...,K,K为预设的主题数目,且 为单词-文档矩阵中第w行第d列的非零元素xw,d的初始消息向量的第k个元素;
根据公式计算当前文档-主题矩阵;其中,为所述初始消息向量,为当前文档-主题矩阵第k行第d列的元素值;
根据公式计算当前单词-主题矩阵;其中,为所述初始消息向量,为当前单词-主题矩阵第k行第w列的元素值。
9.一种主题挖掘装置,其特征在于,包括:
消息向量计算模块,用于根据潜在狄利克雷分布LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中的非零元素进行计算,得到非零元素的消息向量Mn;
第一筛选模块,用于根据所述非零元素的消息向量的残差,从所述非零元素的消息向量Mn中确定目标消息向量ObjectMn;所述目标消息向量为按照残差从大到小顺序排在前预设比例的消息向量,所述预设比例的取值范围为小于1且大于0;
更新模块,用于根据所述目标消息向量ObjectMn对所述LDA模型的当前文档-主题矩阵和当前单词-主题矩阵进行更新;
第二筛选模块,用于从所述单词-文档矩阵中的非零元素中确定所述目标消息向量ObjectMn所对应的目标元素ObjectEn;
执行模块,用于第n+1次执行根据LDA模型的当前文档-主题矩阵和当前单词-主题矩阵,对训练文档的单词-文档矩阵中第n次所确定的目标元素ObjectEn进行计算,得到所述单词-文档矩阵中第n次所确定的目标元素ObjectEn的消息向量Mn+1,根据所述第n次确定的目标元素的消息向量的残差,从所述第n次确定的目标元素ObjectEn的消息向量Mn+1中确定目标消息向量ObjectMn+1,根据第n+1次所确定的目标消息向量ObjectMn+1对当前文档-主题矩阵和当前单词-主题矩阵进行更新,以及从所述单词-文档矩阵中,确定第n+1次所确定的目标消息向量ObjectMn+1所对应的目标元素ObjectEn+1的迭代过程,直至所述筛选后的目标元素ObjectEp的消息向量、当前文档-主题矩阵和当前单词-主题矩阵达到收敛状态;
主题挖掘模块,用于将达到收敛状态的当前文档-主题矩阵和达到收敛状态的当前单词-主题矩阵确定为所述LDA模型的参数,利用确定参数后的所述LDA模型对待测文档进行主题挖掘。
10.根据权利要求9所述的主题挖掘装置,其特征在于,所述第一筛选模块,包括:
计算单元,用于计算所述非零元素的消息向量的残差;
查询单元,用于从计算得到的残差中,按照从大到小顺序查询排在前所述预设比例的目标残差;所述预设比例是依据主题挖掘的效率和主题挖掘的结果的准确度确定的;
筛选单元,用于从所述非零元素的消息向量Mn中,确定所述目标残差所对应的目标消息向量ObjectMn。
11.根据权利要求10所述的主题挖掘装置,其特征在于,
所述计算单元,具体用于根据公式计算所述非零元素的消息向量的残差,其中,其中,为所述非零元素的消息向量的残差,k=1,2,...,K,K为预设的主题数目,为第n次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算所获得的消息向量的第k个元素值,xw,d为所述单词-文档矩阵中第w行第d列的元素值,为第n-1次执行迭代过程中对所述单词-文档矩阵中第w行第d列的元素进行计算得到的消息向量的第k个元素值。
12.根据权利要求10或11所述的主题挖掘装置,其特征在于,
所述查询单元,具体用于根据公式对所述残差进行计算,得到累积残差矩阵;其中,为第n次执行迭代过程中所述单词-文档矩阵中第w行第d列的元素的消息向量的残差的第k个元素值;为第n次执行迭代过程中所述累积残差矩阵第w行第k列的元素值;在所述累积残差矩阵的每一行中,按照从大到小顺序确定出排在前预设比例λk的元素所在列其中,0<λk≤1;对每一行中确定出的元素进行累加,得到每一行对应的和值;确定按照从大到小顺序排在前预设比例λw的和值所对应的行其中,0<λw≤1,且λk×λw≠1;将满足的残差确定为所述目标残差。
13.根据权利要求12所述的主题挖掘装置,其特征在于,
所述筛选单元,具体用于从所述非零元素的消息向量Mn中,确定目标残差所对应的目标消息向量ObjectMn为
14.根据权利要求11-13任一项所述的主题挖掘装置,其特征在于,所述更新模块,包括:
第一更新单元,用于根据公式进行计算,得到更新后的所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值利用更新所述LDA模型的当前文档-主题矩阵中第k行第d列的元素值;其中,k=1,2,...,K,K为预设的主题数目,xw,d为所述单词-文档矩阵中第w行第d列的元素值,是在第n次执行所述迭代过程中对所述xw,d进行计算所获得的消息向量的第k个元素值;
第二更新单元,用于根据公式计算得到更新后的所述LDA模型的当前单词-主题矩阵中第k行w列的元素值利用更新所述LDA模型的当前单词-主题矩阵中第k行w列的元素值。
15.根据权利要求9-13任一项所述的主题挖掘装置,其特征在于,
所述消息向量计算模块,具体用于在第n次执行所述迭代过程中,根据公式进行计算,得到所述单词-文档矩阵中第w行第d列的元素xw,d的消息向量的第k个元素值其中,k=1,2,...,K,K为预设的主题数目,w=1,2,...,W,W为单词表长度,d=1,2,...,D,D为所述训练文档数目,为当前文档-主题矩阵第k行第d列的元素值,为当前单词-主题矩阵第k行第w列的元素值,α和β为预设系数,取值范围为正数。
16.根据权利要求9-13任一项所述的主题挖掘装置,其特征在于,所述装置还包括:
确定模块,用于确定单词-文档矩阵中每个非零元素的初始消息向量其中,k=1,2,...,K,K为预设的主题数目,且 为单词-文档矩阵中第w行第d列的非零元素xw,d的初始消息向量的第k个元素;
第一获得模块,用于根据公式计算当前文档-主题矩阵;其中,为所述初始消息向量,为当前文档-主题矩阵第k行第d列的元素值;
第二获得模块,用于根据公式计算当前单词-主题矩阵;其中,为所述初始消息向量,为当前单词-主题矩阵第k行第w列的元素值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410281183.9A CN105335375B (zh) | 2014-06-20 | 2014-06-20 | 主题挖掘方法和装置 |
PCT/CN2015/081897 WO2015192798A1 (zh) | 2014-06-20 | 2015-06-19 | 主题挖掘方法和装置 |
US15/383,606 US20170097962A1 (en) | 2014-06-20 | 2016-12-19 | Topic mining method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410281183.9A CN105335375B (zh) | 2014-06-20 | 2014-06-20 | 主题挖掘方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335375A true CN105335375A (zh) | 2016-02-17 |
CN105335375B CN105335375B (zh) | 2019-01-15 |
Family
ID=54934889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410281183.9A Active CN105335375B (zh) | 2014-06-20 | 2014-06-20 | 主题挖掘方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170097962A1 (zh) |
CN (1) | CN105335375B (zh) |
WO (1) | WO2015192798A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844416A (zh) * | 2016-11-17 | 2017-06-13 | 中国科学院计算技术研究所 | 一种子话题挖掘方法 |
CN107958256A (zh) * | 2017-10-09 | 2018-04-24 | 中国电子科技集团公司第二十八研究所 | 一种基于假设检验的舆情主题数识别方法及系统 |
CN115934808B (zh) * | 2023-03-02 | 2023-05-16 | 中国电子科技集团公司第三十研究所 | 一种融入关联分析和风暴抑制机制的网络舆情预警方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241846B (zh) * | 2020-01-15 | 2023-05-26 | 沈阳工业大学 | 一种主题挖掘模型中主题维度自适应确定方法 |
US10860396B1 (en) | 2020-01-30 | 2020-12-08 | PagerDuty, Inc. | Inline categorizing of events |
US11115353B1 (en) * | 2021-03-09 | 2021-09-07 | Drift.com, Inc. | Conversational bot interaction with utterance ranking |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187919A (zh) * | 2006-11-16 | 2008-05-28 | 北大方正集团有限公司 | 一种对文档集进行批量单文档摘要的方法及系统 |
CN101231634A (zh) * | 2007-12-29 | 2008-07-30 | 中国科学院计算技术研究所 | 一种多文档自动文摘方法 |
CN102439597A (zh) * | 2011-07-13 | 2012-05-02 | 华为技术有限公司 | 基于潜在狄利克雷模型的参数推断方法、计算装置及系统 |
US20130204885A1 (en) * | 2012-02-02 | 2013-08-08 | Xerox Corporation | Document processing employing probabilistic topic modeling of documents represented as text words transformed to a continuous space |
-
2014
- 2014-06-20 CN CN201410281183.9A patent/CN105335375B/zh active Active
-
2015
- 2015-06-19 WO PCT/CN2015/081897 patent/WO2015192798A1/zh active Application Filing
-
2016
- 2016-12-19 US US15/383,606 patent/US20170097962A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187919A (zh) * | 2006-11-16 | 2008-05-28 | 北大方正集团有限公司 | 一种对文档集进行批量单文档摘要的方法及系统 |
CN101231634A (zh) * | 2007-12-29 | 2008-07-30 | 中国科学院计算技术研究所 | 一种多文档自动文摘方法 |
CN102439597A (zh) * | 2011-07-13 | 2012-05-02 | 华为技术有限公司 | 基于潜在狄利克雷模型的参数推断方法、计算装置及系统 |
US20130204885A1 (en) * | 2012-02-02 | 2013-08-08 | Xerox Corporation | Document processing employing probabilistic topic modeling of documents represented as text words transformed to a continuous space |
Non-Patent Citations (2)
Title |
---|
ZENG, JIA ET AL.,: ""Online Belief Propagation for Topic Modeling"", <URL:HTTP://ARXIV.ORG/ABS/1210.2179> * |
ZENG,JIA ET AL.,: ""A New Approach to Speeding Up Topic Modeling"", <URL:HTTP://ARXIV.ORG/ABS/1204.0170> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844416A (zh) * | 2016-11-17 | 2017-06-13 | 中国科学院计算技术研究所 | 一种子话题挖掘方法 |
CN107958256A (zh) * | 2017-10-09 | 2018-04-24 | 中国电子科技集团公司第二十八研究所 | 一种基于假设检验的舆情主题数识别方法及系统 |
CN115934808B (zh) * | 2023-03-02 | 2023-05-16 | 中国电子科技集团公司第三十研究所 | 一种融入关联分析和风暴抑制机制的网络舆情预警方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015192798A1 (zh) | 2015-12-23 |
CN105335375B (zh) | 2019-01-15 |
US20170097962A1 (en) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829874B2 (en) | Neural architecture search | |
US20230252327A1 (en) | Neural architecture search for convolutional neural networks | |
US20230229978A1 (en) | Debugging correctness issues in training machine learning models | |
US11531926B2 (en) | Method and apparatus for generating machine learning model by using distributed computing framework | |
EP3446260B1 (en) | Memory-efficient backpropagation through time | |
CN105335375A (zh) | 主题挖掘方法和装置 | |
US10078594B2 (en) | Cache management for map-reduce applications | |
US20200265315A1 (en) | Neural architecture search | |
KR20190113928A (ko) | 강화 학습을 통한 디바이스 배치 최적화 | |
CN110663049B (zh) | 神经网络优化器搜索 | |
CN111602148A (zh) | 正则化神经网络架构搜索 | |
TW202131233A (zh) | 用於在定點算術運算系統中實施神經網路之方法、系統及電腦儲存媒體 | |
JP2019511033A5 (zh) | ||
JP2022513404A (ja) | トレーニング済み長短期記憶ニューラルネットワークの量子化 | |
CN104616173B (zh) | 预测用户流失的方法以及设备 | |
CN111353260B (zh) | 一种基于强化学习的计算网格并行区域划分方法和装置 | |
WO2017083744A1 (en) | Neural random access machine | |
CN103870563A (zh) | 确定给定文本的主题分布的方法和装置 | |
CN105224998A (zh) | 一种针对于预估模型的数据处理方法及装置 | |
CN111062477A (zh) | 一种数据处理方法、装置及存储介质 | |
US11164092B2 (en) | Parallel time series analysis | |
CN111406267B (zh) | 使用性能预测神经网络的神经架构搜索 | |
US7957943B2 (en) | Method and system for modeling effects visually | |
CN113849134A (zh) | 一种存储区的数据更新方法、设备和计算机可读存储介质 | |
CN117369962A (zh) | 工作流执行序列生成方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211224 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |