文本主题抽取方法、系统、设备及存储介质转让专利

申请号 : CN202110757370.X

文献号 : CN113435184B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 司世景王健宗

申请人 : 平安科技(深圳)有限公司

摘要 :

本申请涉及人工智能技术领域,揭露了文本主题抽取方法、系统、设备及存储介质,包括服务器端将第一矩阵W发送给多个第一客户端;第一客户端获取自身的文本特征矩阵Xk,并结合第一矩阵W、第二矩阵Hk进行训练,得到更新后的第一矩阵W,上传至服务器端;服务器端对更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt;服务器端将所述第三矩阵Wt发送给多个第二客户端进行训练,得到第四矩阵Wt+1;服务器端根据第三矩阵Wt和第四矩阵Wt+1进行判断,得到第五矩阵Wi,基于第五矩阵Wi中的权重,对文本主题进行抽取。本申请还涉及区块链技术,第三矩阵Wk和更新后的矩阵W数据存储于区块链中。本申请保护用户数据不外泄的同时,实现对文本主题的抽取。

权利要求 :

1.一种文本主题抽取方法,其特征在于,所述方法包括:

服务器端基于各主题中的多个关键词权重构建第一矩阵W;客户端基于各文本对应的多个主题权重构建第二矩阵Hk,基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk,所述客户端包括第一客户端和第二客户端;

所述服务器端将所述第一矩阵W发送给多个所述第一客户端;

各所述第一客户端获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行小批量随机梯度下降训练,得到更新后的第一矩阵W,并上传至所述服务器端;

所述服务器端对所有第一客户端上传的更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt,所述第三矩阵Wt中每一列为一个主题在各关键词上的权重;

所述服务器端将所述第三矩阵Wt发送给多个所述第二客户端进行所述小批量随机梯度下降训练,得到所有第二客户端更新后的第三矩阵Wt,并基于所有所述更新后的第三矩阵Wt进行加权平均聚合,得到第四矩阵Wt+1;

所述服务器端根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi,基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取;

其中,所述第一矩阵W、第三矩阵Wt、第四矩阵Wt+1和第五矩阵Wi都为m*r每个元素均非负的矩阵,所述第二矩阵Hk为r*n每个元素均为非负的矩阵,所述文本特征矩阵XK为m*n每个元素均非负的矩阵,m、r、n分别为全部关键词数目、主题数目和文本数目。

2.根据权利要求1所述的文本主题抽取方法,其特征在于,所述各所述第一客户端获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行小批量随机梯度下降训练,得到更新后的第一矩阵W包括:将所述文本特征矩阵Xk中的数据分为多个小批量集数据;

提取一个所述小批量集数据,并结合所述第一矩阵W和第二矩阵HK,计算损失函数LK,得到损失值;

通过利用损失值进行反向传播,计算所述第一矩阵W和第二矩阵HK的梯度;

根据所述第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK;

根据更新后的第一矩阵W和第二矩阵HK,结合另一所述小批量数据进行训练,以迭代更新,直至所述文本特征矩阵Xk的小批量集数据都使用完毕,得到所述更新后的第一矩阵W。

3.根据权利要求2所述的文本主题抽取方法,其特征在于,所述根据所述第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK包括:计算上一次训练得到的第一矩阵W与当前得到的所述第一矩阵W的第一差值,以及学习率和当前所述第一矩阵W的梯度的第一乘积,根据所述第一差值等于所述第一乘积,更新第一矩阵W;

计算上一次训练得到的第二矩阵HK与当前得到的所述第二矩阵HK的第二差值,以及学习率和当前所述第二矩阵HK的梯度的第二乘积,根据所述第二差值等于所述第二乘积,更新第二矩阵HK。

4.根据权利要求1至3中任一项所述的文本主题抽取方法,其特征在于,所述根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi包括:判断所述第三矩阵Wt和第四矩阵Wt+1的变化率与预设百分比容忍率的大小;

若所述变化率大于所述百分比容忍率,则将第四矩阵Wt+1发送给多个第三客户端进行所述小批量随机梯度下降训练,得到所有第三客户端更新后的第四矩阵Wt+1,并基于所有所述更新后的第四矩阵Wt+1进行加权平均聚合,得到第六矩阵Wt+2,直至相邻两轮训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率小于预设的百分比容忍率为止;

若所述变化率小于所述百分比容忍率,则将最后一轮训练得到的矩阵作为所述第五矩阵Wi;

其中,第六矩阵Wt+2为m*r每个元素均非负的矩阵。

5.根据权利要求4所述的文本主题抽取方法,其特征在于,在所述基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk之前,还包括:采用结巴分词对所述客户端中的文本数据进行分词处理以及停用词去除,得到切分后的词语。

6.根据权利要求5所述的文本主题抽取方法,其特征在于,在所述基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk之前,包括:通过采用计数法或TF‑IDF对所述切分后的词语进行特征提取,得到所述关键词及其对应的权重;

根据所述关键词及其权重,构建所述文本特征矩阵Xk。

7.根据权利要求4所述的文本主题抽取方法,其特征在于,在所述服务器端对所有所述更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt之前,还包括:接收所述第一客户端对应文本数据的样本量;

所述服务器端对所有所述更新后的第一矩阵W进行加权平均聚合包括:基于所述更新后的第一矩阵W对应的所述样本量,对所述更新后的第一矩阵W进行加权平均聚合。

8.一种文本主题抽取系统,其特征在于,所述系统包括通信连接的服务器端和至少四个客户端;

所述服务器端包括:

第一构建模块,用于基于各主题中的多个关键词权重构建第一矩阵W;

发送模块,用于将所述第一矩阵W发送给多个第一客户端;

更新模块,用于对所有第一客户端上传的更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt,所述第三矩阵Wt中每一列为一个主题在各关键词上的权重;

迭代模块,用于将所述第三矩阵Wt发送给多个第二客户端进行小批量随机梯度下降训练,得到所有第二客户端更新后的第三矩阵Wt,并基于所有所述更新后的第三矩阵Wt进行加权平均聚合,得到第四矩阵Wt+1;

抽取模块,用于根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi,基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取;

所述客户端包括:

第二构建模块,用于基于各文本对应的多个主题权重构建第二矩阵Hk,基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk;

训练模块,用于获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行所述小批量随机梯度下降训练,得到更新后的第一矩阵W,并上传至所述服务器端;

其中,所述第一矩阵W、第三矩阵Wt、第四矩阵Wt+1和第五矩阵Wi都为m*r每个元素均非负的矩阵,所述第二矩阵Hk为r*n每个元素均为非负的矩阵,所述文本特征矩阵XK为m*n每个元素均非负的矩阵,m、r、n分别为全部关键词数目、主题数目和文本数目。

9.一种计算机设备,其特征在于,所述计算机设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一所述的文本主题抽取方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一所述的文本主题抽取方法。

说明书 :

文本主题抽取方法、系统、设备及存储介质

技术领域

[0001] 本申请涉及人工智能技术领域,尤其涉及文本主题抽取方法、系统、设备及存储介质。

背景技术

[0002] 随着社会的不断发展,人们对于隐私的保护越来越看重,并且各国也颁布了各种条款来加以对隐私数据的保护,例如欧盟的GDPR(General Date Protection Regulation,通用数据保护条款)和我国出台的《数据安全管理办法》(征求意见稿),面对这种情况,如何在保护用户数据不泄露的情况下对文档主题进行抽取。现有技术中常利用非负矩阵分解技术来将非负的大矩阵分解成两个非负的小矩阵,以在自然语言处理领域抽取文档的主题。但需要获取直接大量的用户数据并开发式计算,会造成用户隐私泄露。因此,如何保证用户隐私不泄露的情况下完成对用户文本数据主题的抽取成为了亟待解决的问题。

发明内容

[0003] 本申请提供了文本主题抽取方法、系统、设备及存储介质,以解决现有技术中对文本主题进行抽取时,需要大量的用户数据,从而可能造成用户数据泄露的问题。
[0004] 为解决上述问题,本申请提供了一种文本主题抽取方法,包括:
[0005] 服务器端基于各主题中的多个关键词权重构建第一矩阵W;客户端基于各文本对应的多个主题权重构建第二矩阵Hk,基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk,所述客户端包括第一客户端和第二客户端;
[0006] 所述服务器端将所述第一矩阵W发送给多个所述第一客户端;
[0007] 各所述第一客户端获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行小批量随机梯度下降训练,得到更新后的第一矩阵W,并上传至所述服务器端;
[0008] 所述服务器端对所有第一客户端上传的更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt,所述第三矩阵Wt中每一列为一个主题在各关键词上的权重;
[0009] 所述服务器端将所述第三矩阵Wt发送给多个所述第二客户端进行所述小批量随机梯度下降训练,得到所有第二客户端更新后的第三矩阵Wt,并基于所有所述更新后的第三矩阵Wt进行加权平均聚合,得到第四矩阵Wt+1;
[0010] 所述服务器端根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi,基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取;
[0011] 其中,所述第一矩阵W、第三矩阵Wt、第四矩阵Wt+1和第五矩阵Wi都为m*r每个元素均非负的矩阵,所述第二矩阵Hk为r*n每个元素均为非负的矩阵,所述文本特征矩阵XK为m*n每个元素均非负的矩阵,m、r、n分别为全部关键词数目、主题数目和文本数目。
[0012] 进一步的,所述各所述第一客户端获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行小批量随机梯度下降训练,得到更新后的第一矩阵W包括:
[0013] 将所述文本特征矩阵Xk中的数据分为多个小批量集数据;
[0014] 提取一个所述小批量集数据,并结合所述第一矩阵W和第二矩阵HK,计算损失函数LK,得到损失值;
[0015] 通过利用损失值进行反向传播,计算所述第一矩阵W和第二矩阵HK的梯度;
[0016] 根据所述第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK;
[0017] 根据更新后的第一矩阵W和第二矩阵HK,结合另一所述小批量数据进行训练,以迭代更新,直至所述文本特征矩阵Xk的小批量集数据都使用完毕,得到所述更新后的第一矩阵W。
[0018] 进一步的,所述根据所述第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK包括:
[0019] 计算上一次训练得到的第一矩阵W与当前得到的所述第一矩阵W的第一差值,以及学习率和当前所述第一矩阵W的梯度的第一乘积,根据所述第一差值等于所述第一乘积,更新第一矩阵W;
[0020] 计算上一次训练得到的第二矩阵HK与当前得到的所述第二矩阵HK的第二差值,以及学习率和当前所述第二矩阵HK的梯度的第二乘积,根据所述第二差值等于所述第二乘积,更新第二矩阵HK。
[0021] 进一步的,所述根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi包括:
[0022] 判断所述第三矩阵Wt和第四矩阵Wt+1的变化率与预设百分比容忍率的大小;
[0023] 若所述变化率大于所述百分比容忍率,则将第四矩阵Wt+1发送给多个第三客户端进行所述小批量随机梯度下降训练,得到所有第三客户端更新后的第四矩阵Wt+1,并基于所有所述更新后的第四矩阵Wt+1进行加权平均聚合,得到第六矩阵Wt+2,直至相邻两轮训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率小于预设的百分比容忍率为止;
[0024] 若所述变化率小于所述百分比容忍率,则将最后一轮训练得到的矩阵作为所述第五矩阵Wi;
[0025] 其中,第六矩阵Wt+2为m*r每个元素均非负的矩阵。
[0026] 进一步的,在所述基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk之前,还包括:
[0027] 采用结巴分词对所述客户端中的文本数据进行分词处理以及停用词去除,得到切分后的词语。
[0028] 进一步的,在所述基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk之前,包括:
[0029] 通过采用计数法或TF‑IDF对所述切分后的词语进行特征提取,得到所述关键词及其对应的权重;
[0030] 根据所述关键词及其权重,构建所述文本特征矩阵Xk。
[0031] 进一步的,在所述所述服务器端对所有所述更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt之前,还包括:
[0032] 接收所述第一客户端对应文本数据的样本量;
[0033] 所述服务器端对所有所述更新后的第一矩阵W进行加权平均聚合包括:
[0034] 基于所述更新后的第一矩阵W对应的所述样本量,对所述更新后的第一矩阵W进行加权平均聚合。
[0035] 为了解决上述问题,本申请还提供文本主题抽取系统,所述系统包括通信连接的服务器端和至少四个客户端;
[0036] 所述服务器端包括:
[0037] 第一构建模块,用于基于各主题中的多个关键词权重构建第一矩阵W;
[0038] 发送模块,用于将所述第一矩阵W发送给多个第一客户端;
[0039] 更新模块,用于对所有第一客户端上传的更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt,所述第三矩阵Wt中每一列为一个主题在各关键词上的权重;
[0040] 迭代模块,用于将所述第三矩阵Wt发送给多个第二客户端进行小批量随机梯度下降训练,得到所有第二客户端更新后的第三矩阵Wt,并基于所有所述更新后的第三矩阵Wt进行加权平均聚合,得到第四矩阵Wt+1;
[0041] 抽取模块,用于根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi,基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取;
[0042] 所述客户端包括:
[0043] 第二构建模块,用于基于各文本对应的多个主题权重构建第二矩阵Hk,基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk;
[0044] 训练模块,用于获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行所述小批量随机梯度下降训练,得到更新后的第一矩阵W,并上传至所述服务器端;
[0045] 其中,所述第一矩阵W、第三矩阵Wt、第四矩阵Wt+1和第五矩阵Wi都为m*r每个元素均非负的矩阵,所述第二矩阵Hk为r*n每个元素均为非负的矩阵,所述文本特征矩阵XK为m*n每个元素均非负的矩阵,m、r、n分别为全部关键词数目、主题数目和文本数目。
[0046] 为了解决上述问题,本申请还提供一种计算机设备,包括:
[0047] 至少一个处理器;以及,
[0048] 与所述至少一个处理器通信连接的存储器;其中,
[0049] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述所述的文本主题抽取方法。
[0050] 为了解决上述问题,本申请还提供一种非易失性的计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的文本主题抽取方法。
[0051] 根据本申请实施例提供的文本主题抽取方法、系统、设备及存储介质,与现有技术相比至少具有以下有益效果:
[0052] 通过在服务器端构建第一矩阵W,在客户端处构建第二矩阵Hk,以及基于自身的文本数据构建文本特征矩阵XK;以便于后续进行良好的训练;服务器端通过将矩阵W发送给多个第一客户端,客户端通过获取自身的文本特征矩阵XK,并结合所述矩阵W、所述矩阵HK,来进行小批量随机梯度下降,得到更新后的第一矩阵W,并上传至服务器端,即利用客户端的文本数据完成一次训练,在客户端完成训练,不会造成用户数据的泄露。所述服务器端对所述第一矩阵W进行加权平均聚合,得到更新后的第三矩阵Wt,所述更新后的第三矩阵Wt的每一列是一个主题中各关键词的权重,再通过将第三矩阵Wt再发送给多个第二客户端进行训练,最终得到第四矩阵Wt+1,对第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到最终的第五矩阵Wi,最后基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取,从而实现在在不泄露用户数据的情况下,利用用户数据,实现文本主题的抽取。

附图说明

[0053] 为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图做一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0054] 图1为本申请一实施例提供的文本主题抽取方法的流程示意图;
[0055] 图2为本申请一实施例提供的文本主题抽取系统的模块示意图;
[0056] 图3为本申请一实施例的计算机设备的结构示意图。

具体实施方式

[0057] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0058] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是是相同的实施例,也不是与其它实施例相互排斥的独立的或备选的实施例。本领域技术人员显式地或隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0059] 本申请提供一种文本主题抽取方法。参照图1所示,为本申请一实施例提供的文本主题抽取方法的流程示意图。
[0060] 在本实施例中,文本主题抽取方法包括:
[0061] S1、服务器端基于各主题中的多个关键词权重构建第一矩阵W;客户端基于各文本对应的多个主题权重构建第二矩阵Hk,基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk,所述客户端包括第一客户端和第二客户端;
[0062] 具体的,在服务器端基于各主题中的多个关键词权重构建第一矩阵W,在第一轮训练中,即通过对矩阵进行初始化处理,得到第一矩阵W,其中的每一列为初始化后的结果,对第一矩阵进行初始化处理,防止深度神经网络的正向传播过程中层激活函数的输出损失梯度出现爆炸或消失。如果发生任何一种情况,损失梯度太大或者太小,就无法有效向后反传,即便可以向后反传,网络也需要花更长的时间来达到收敛。所以对第一矩阵进行初始化处理,能使模型更好且更快的收敛。再后续的训练中,直接获取前一轮训练得到的矩阵,作为第一矩阵W。
[0063] 同理,在基于各文本对应的多个主题权重来构建第二矩阵HK,即在客户端对第二矩阵Hk同样进行初始化处理,所有客户端的第二矩阵HK经初始化后都为一致的,经训练后,各客户端更新后的第二矩阵HK不断贴合其自身的文本数据。所述矩阵HK为第k个用户上,矩阵中每列为一篇文本的高阶表征,即每列为一篇文本中多个主题所占的权重。
[0064] 同时,客户端根据自身文本数据中各文本中的多个关键词权重来构建文本特征矩阵XK,文本特征矩阵XK为m*n每个元素均非负的矩阵。
[0065] 在本申请的实施例中,在对第一矩阵和第二矩阵进行初始化之前,还接收用户的输入参数,所述输入参数包括但不限于初始化所需参数、超参数等,所述初始化所需参数例如均值和方差等,所述超参数包括学习率、随机取样数量、衰减系数等。
[0066] 进一步的,所述服务器端对第一矩阵进行初始化处理包括:
[0067] 对所述第一矩阵进行正态分布初始化处理。
[0068] 具体的,通过对第一矩阵进行正态分布初始化处理,进一步的通过设置正态分布初始化分布的均值为0,方差为0.01,能得到较好的矩阵W,从而便于后续的训练。
[0069] 在本申请中,对第二矩阵同样进行正态分布初始化处理。
[0070] 通过进行正态分布初始化处理,使得后续训练梯度下降时,能往更好的方向下降。
[0071] 在本申请的其他实施例中,标准随机初始化或kaiming初始化等。
[0072] 进一步的,在在所述基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk之前,还包括:
[0073] 采用结巴分词对所述客户端中的文本数据进行分词处理以及停用词去除,得到切分后的词语。
[0074] 具体的,通过采用结巴分词来对客户端中的文本数据进行预处理,所述结巴分词技术为基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG);
[0075] 采用了动态规划查找最大概率路径,找出基于词频的最大切分组合;
[0076] 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法。
[0077] 通过现有的统计词典dict.txt构造前缀词典。dict.txt含有近35万的词条。
[0078] 并且通过获取现有的停用词库,基于停用词库来对停用词进行识别,来实现对分词后的词语进行去除停用词。
[0079] 通过采用结巴分词来进行分词处理以及停用词去除,得到切分后的词语,便于后续对文本特征进行提取。
[0080] 再进一步的,在所述基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk之前,包括:
[0081] 通过采用计数法或TF‑IDF对所述切分后的词语进行特征提取,得到所述关键词及其对应的权重;
[0082] 根据所述关键词及其权重,构建所述文本特征矩阵Xk。
[0083] 所述计数法为采用文本中某一词语出现的数量除以总的文本词语数量来计算。
[0084] 而TF‑IDF为一种统计方法,用以评估一字词对于一个文件集或一个语料库其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
[0085] 经过TF‑IDF的处理,得到所述关键词及其对应的权重,根据所述关键词及其对应的权重从而可得到文本特征矩阵XK,k表示用户编号,且文本特征矩阵XK中每一列表示的是某一文本中各关键词对应的权重,每次训练抽取数据时,都是抽取多列数据。
[0086] 通过采用TF‑IDF对预处理后的文本数据进行特征提取,得到文本特征矩阵,便于后续利用文本特征矩阵进行训练。
[0087] S2、所述服务器端将所述第一矩阵W发送给多个所述第一客户端;
[0088] 具体的,通过将所述第一矩阵W发送给多个客户端,使接收到第一矩阵W的客户端利用自身的数据进行训练。
[0089] 进一步的,在所述服务器端将所述矩阵W发送给多个所述客户端之前,还包括:
[0090] 从n个客户端随机选取b个客户端作为集合St;
[0091] 通过随机抽取b个客户端,即b个用户来作为样本,利用所述b个用户的数据来完善矩阵W;其中n大于b,。
[0092] 本申请通过采用横向联邦学习,将n个客户端作为此次更新迭代的样本。采用n个客户端提高数据的不确定性,便于后续训练得出数据的普适性。
[0093] S3、各所述第一客户端获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行小批量随机梯度下降训练,得到更新后的第一矩阵W,并上传至所述服务器端;
[0094] 具体的,客户端通过获取自身的文本特征矩阵XK,每次抽取文本特征矩阵XK中的一部分数据,结合第一矩阵W和第二矩阵Hk进行训练,进行小批量随机梯度下降算法来训练,并训练至客户端的文本特征矩阵XK的数据都抽取完成,其中
[0095] 且XK=WHK,K=1,2,……,K,表示的是用户编码。
[0096] 所述小批量随机梯度下降为随机梯度下降和批量梯度下降的改进,其相比于随机梯度下降来说,训练会快很多。小批量随机梯度下降通过每次只拿总训练集的一小部分来训练,比如说有5000个样本,每次拿100个样本来计算损失函数,更新参数。50次后完成整个样本集的训练,为一轮(epoch)。由于每次更新用了多个样本来计算损失函数,就使得损失函数的计算和参数的更新更加具有代表性,使损失函数下降得更稳定,同时小批量的计算,也减少了计算资源的占用。
[0097] 更进一步的,每次选取用户客户端上的一部分数据,按列分为若干个小批量集(mini‑batch)进行训练,可大大减小收敛所需的迭代次数,在本申请中,所述小批量集的样本数量为16,该数量可根据需求进行设定,得到损失函数收敛后的,最后一次训练得到的损失函数值,进行求WK和HK的梯度,最后,按照梯度下降来更新WK和HK。
[0098] 进一步的,所述各第一客户端获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行小批量随机梯度下降训练,得到更新后的第一矩阵W包括:
[0099] 将所述文本特征矩阵Xk中的数据分为多个小批量集数据;
[0100] 提取一个所述小批量集数据,并结合所述第一矩阵W和第二矩阵HK,计算损失函数LK,得到损失值;
[0101] 通过利用损失值进行反向传播,计算所述第一矩阵W和第二矩阵HK的梯度;
[0102] 根据所述第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK;
[0103] 根据更新后的第一矩阵W和第二矩阵HK,结合另一所述小批量数据进行训练,以迭代更新,直至所述文本特征矩阵Xk的小批量集数据都使用完毕,得到所述更新后的第一矩阵W。
[0104] 具体的,通过将文本特征矩阵XK中的数据分成多个批次数据进行训练,第一次训练,抽取文本特征矩阵XK中的第一批次数据,并结合第一矩阵W和第二矩阵HK,计算损失函数得到第一损失值;基于损失值进行反向传播,计算所述第一矩阵W和第二矩阵HK的梯度;随后根据Wa+1=Wa‑eta*Grad(Wa+1);
[0105] HK a+1=Hk a‑eta*Grad(HK a+1);来更新第一矩阵W和第二矩阵Hk,再根据更新后的第一矩阵W和第二矩阵HK,再结合另一批次数据进行训练,从而不断迭代更新,直至文本特征矩阵XK的数据都训练完毕,并输出最后一次训练得到的第一矩阵W,得到最终更新后的第一矩阵W。其中eta表示的是学习率,Grad()表示的是梯度。
[0106] 通过客户端上的文本数据得到的文本特征矩阵Xk,按列分为若干个小批量集(mini‑batch),且在本申请中随机取样数量为16,学习率为1.0e‑3,即每次进行训练随机从文本特征矩阵Xk中抽取16个样本进行训练,且每隔5轮训练,按照0.9的衰减系数降低学习率。反向传播即为复合函数的链式法则。
[0107] 通过将文本特征矩阵XK,分多次来进行训练,每次训练都不断更新第一矩阵W和第二矩阵HK,使得计算效率更高且可以更快的学习。
[0108] 再进一步的,所述根据第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK包括:
[0109] 计算上一次训练得到的第一矩阵W与当前得到的所述第一矩阵W的第一差值,以及学习率和当前所述第一矩阵W的梯度的第一乘积,根据所述第一差值等于所述第一乘积,更新第一矩阵W;
[0110] 计算上一次训练得到的第二矩阵HK与当前得到的所述第二矩阵HK的第二差值,以及学习率和当前所述第二矩阵HK的梯度的第二乘积,根据所述第二差值等于所述第二乘积,更新第二矩阵HK。
[0111] 具体的,根据Wa+1=Wa‑eta*Grad(Wa+1);
[0112] HK a+1=Hk a‑eta*Grad(HK a+1)不断迭代更新第一矩阵W和第二矩阵HK,a=0,1,……,a,表示训练次数。其中eta表示的是学习率,Grad()表示的是梯度。
[0113] 通过采用上述公式,对第一矩阵W和第二矩阵HK不断进行更新,使最终得到的第一矩阵W更贴近文本数据。
[0114] 进一步的,在所述得到更新后的第一矩阵W,并上传至服务器端之前,还包括:
[0115] 将所述更新后的第一矩阵WK进行同态加密。
[0116] 具体的,所述同态加密即通过具有同态性质的加密函数对数据进行加密,从而可以在不对数据进行解密的条件下对已加密的数据进行任何在可以在明文上进行的运算,也就是说,可以对加密后的信息进行一系列复杂的运算和分析而不影响其保密性。
[0117] 经同态加密后保证了数据的安全性。
[0118] S4、所述服务器端对所有第一客户端上传的更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt,所述第三矩阵Wt中每一列为一个主题在各关键词上的权重;
[0119] 进一步的,在所述所述服务器端对所有所述更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt之前,还包括:
[0120] 接收所述客户端对应文本数据的样本量;
[0121] 所述服务器端对所有所述更新后的第一矩阵W进行加权平均聚合包括:
[0122] 基于所述更新后的第一矩阵W对应的所述样本量,对所述更新后的第一矩阵W进行加权平均聚合。
[0123] 具体的,在接收客户端返回的更新后的第一矩阵W的同时,还对应返回了客户端上文本数据的样本量,基于所述更新后的第一矩阵W对应的所述样本量,对所有客户端反馈的更新后的第一矩阵W进行加权平均聚合,样本量越大,对应的更新后的第一矩阵W权重就越大。在每一轮训练中,每接收到各客户端上传的第三矩阵Wt,都要进行一次加权平均聚合。
[0124] 使文本数据对应的样本量,与第一矩阵W权重成正比,来进行加权平均聚合,从而得到更贴近实际文本数据的更新后的矩阵W。
[0125] S5、所述服务器端将所述第三矩阵Wt发送给多个第二所述客户端进行所述小批量随机梯度下降训练,得到所有第二客户端更新后的第三矩阵Wt,并基于所有所述更新后的第三矩阵Wt进行加权平均聚合,得到第四矩阵Wt+1;
[0126] 具体的,通过所述服务器再将所述第三矩阵Wt发送给多个第二所述客户端,所述第二客户端根据第三矩阵Wt、第二矩阵Hk和利用自身的文本特征矩阵Xk进行小批量随机梯度下降,得到更新后的第三矩阵Wt,并上传至服务器端,所述服务器端再进行加权平均聚合,从而得到第二轮训练的结果,即第四矩阵Wt+1。
[0127] S6、所述服务器端根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi,基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取。
[0128] 进一步的,所述根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi包括:
[0129] 判断所述第三矩阵Wt和第四矩阵Wt+1的变化率与预设百分比容忍率的大小;
[0130] 若所述变化率大于所述百分比容忍率,则将第四矩阵Wt+1发送给多个第三所述客户端进行所述小批量随机梯度下降训练,得到所有第三客户端更新后的第四矩阵Wt+1,并基于所有所述更新后的第四矩阵Wt+1进行加权平均聚合,得到第六矩阵Wt+2,直至相邻两轮训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率小于预设的百分比容忍率为止;
[0131] 若所述变化率小于所述百分比容忍率,则将最后一轮训练得到的矩阵作为所述第五矩阵Wi;
[0132] 其中,第六矩阵Wt+2为m*r每个元素均非负的矩阵。
[0133] 具体的,所述预设的百分比容忍率为1e‑3,此数值根据需要可自由设置,通过不断判断相邻两轮训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率与预设的百分比容忍率的大小,将所述变化率小于预设的百分比容忍率,作为停止更新迭代信号,当所述变化率小于预设的百分比容忍率时,将最后一轮训练得到的矩阵作为所述第五矩阵Wi。
[0134] 通过判断相邻两次训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率,与预设的百分比容忍率,来判断是否还需进行迭代训练,从而得到最终收敛的第五矩阵Wi,使最终得到的第五矩阵Wi更贴近客户端的文本数据。
[0135] 其中,所述第一矩阵W、第三矩阵Wt、第四矩阵Wt+1和第五矩阵Wi都为m*r每个元素均非负的矩阵,所述第二矩阵Hk为r*n每个元素均为非负的矩阵,所述文本特征矩阵XK为m*n每个元素均非负的矩阵,m、r、n分别为全部关键词数目、主题数目和文本数目。
[0136] 最终获得更新后的矩阵W,其每一列为一个主题在各关键词上的权重,这些权重表明了每个主题的重要关键词。文本主题常由一系列关键词来表征;例如,“运动健身”主题会体现在篮球、跑步、仰卧起坐、哑铃等关键词组上。
[0137] 并且通过联邦学习和非负矩阵分解结合的方式,利用多个用户数据的方式,对其文本主题进行抽取。所述非负矩阵分解,即利用XK=WHK,K=1,2,……,K,表示的是用户编码。分别在服务器端和客户端对第一矩阵和第二矩阵进行初始化,得到矩阵W和矩阵HK,通过在客户端利用自身的文本数据得到文本特征矩阵Xk,随后不断训练,至损失函数LK收敛,得到更新后的矩阵W和矩阵HK。
[0138] 需要强调的是,为了进一步保证数据的私密性和安全性,所述第三矩阵Wk和更新后的矩阵W的所有数据还可以存储于一区块链的节点中。
[0139] 本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0140] 通过在服务器端构建第一矩阵W,在客户端处构建第二矩阵Hk,以及基于自身的文本数据构建文本特征矩阵XK;以便于后续进行良好的训练;服务器端通过将矩阵W发送给多个第一客户端,客户端通过获取自身的文本特征矩阵XK,并结合所述矩阵W、所述矩阵HK,来进行小批量随机梯度下降,得到更新后的第一矩阵W,并上传至服务器端,即利用客户端的文本数据完成一次训练,在客户端完成训练,不会造成用户数据的泄露。所述服务器端对所述第一矩阵W进行加权平均聚合,得到更新后的第三矩阵Wt,所述更新后的第三矩阵Wt的每一列是一个主题中各关键词的权重,再通过将第三矩阵Wt再发送给多个第二客户端进行训练,最终得到第四矩阵Wt+1,对第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到最终的第五矩阵Wi,最后基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取,从而实现在在不泄露用户数据的情况下,利用用户数据,实现文本主题的抽取。
[0141] 如图2所示,是本申请文本主题抽取系统的功能模块图。
[0142] 本申请所述文本主题抽取系统100可以安装于电子设备中,具体的可以安装在服务器端和客户端中。根据实现的功能,所述文本主题抽取系统100包括服务器端110和客户端120,所述服务器端110包括第一构建模块111、发送模块112、更新模块113、迭代模块114和抽取模块115,所述客户端120包括第二构建模块121和训练模块122。本申请所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0143] 所述文本主题抽取系统100包括通信连接的服务器端110和至少四个客户端120;
[0144] 在本实施例中,关于各模块/单元的功能如下:
[0145] 所述服务器端110包括:
[0146] 第一构建模块111,用于基于各主题中的多个关键词权重构建第一矩阵W;
[0147] 发送模块112,用于将所述第一矩阵W发送给多个第一客户端;
[0148] 具体的,发送模块112通过将所述第一矩阵W发送给多个所述第一客户端,使接收到第一矩阵W的客户端利用自身的数据进行训练。
[0149] 更新模块113,用于对所有第一客户端上传的更新后的第一矩阵W进行加权平均聚合,得到第三矩阵Wt,所述第三矩阵Wt中每一列为一个主题在各关键词上的权重;
[0150] 进一步的,所述服务器端还包括接收模块;
[0151] 所述接收模块,用于接收所述第一客户端对应文本数据的样本量;
[0152] 所述更新模块包括加权平均聚合子模块;
[0153] 所述加权平均聚合子模块,用于基于所述更新后的第一矩阵W对应的所述样本量,对所述更新后的第一矩阵W进行加权平均聚合。
[0154] 具体的,接收模块在接收客户端返回的更新后的第一矩阵W的同时,还对应返回了客户端上文本数据的样本量,加权平均聚合子模块基于所述更新后的第一矩阵W对应的所述样本量,对所有客户端反馈的更新后的第一矩阵W进行加权平均聚合,样本量越大,对应的更新后的第一矩阵W权重就越大。
[0155] 通过接收模块和更新模块中的加权平均聚合子模块的配合,使文本数据对应的样本量,与第三矩阵权重成正比,来进行加权平均聚合,从而得到更贴近实际文本数据的更新后的第一矩阵W。
[0156] 迭代模块114,用于将所述第三矩阵Wt发送给多个第二客户端进行小批量随机梯度下降训练,得到所有第二客户端更新后的第三矩阵Wt,并基于所有所述更新后的第三矩阵Wt进行加权平均聚合,得到第四矩阵Wt+1;
[0157] 抽取模块115,用于根据所述第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到第五矩阵Wi,基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取;
[0158] 进一步的,所述抽取模块115包括大小判断子模块、第一迭代更新子模块和输出子模块;
[0159] 所述大小判断子模块,用于判断所述第三矩阵Wt和第四矩阵Wt+1的变化率与预设百分比容忍率的大小;
[0160] 所述第一迭代更新子模块,用于若所述变化率大于所述百分比容忍率,则将第四矩阵Wt+1发送给多个所述第三客户端进行所述小批量随机梯度下降训练,得到所有第三客户端更新后的第四矩阵Wt+1,并基于所有所述更新后的第四矩阵Wt+1进行加权平均聚合,得到第六矩阵Wt+2,直至相邻两轮训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率小于预设的百分比容忍率为止;
[0161] 所述输出子模块,用于若小于,则将最后一轮训练得到的矩阵作为所述第五矩阵Wi;
[0162] 其中,第六矩阵Wt+2为m*r每个元素均非负的矩阵。
[0163] 通过大小判断子模块、第一迭代更新子模块和输出子模块的配合,判断相邻两次训练得到的第四矩阵Wt+1和第六矩阵Wt+2的变化率,与预设的百分比容忍率,来判断是否还需进行迭代训练,从而得到最终收敛的第五矩阵Wi,使最终得到的第五矩阵Wi更贴近客户端的文本数据。
[0164] 所述客户端120包括:
[0165] 第二构建模块121,用于基于各文本对应的多个主题权重构建第二矩阵Hk,基于自身文本数据中各文本中的多个关键词权重构建文本特征矩阵Xk;
[0166] 进一步的,所述客户端120还包括预处理模块;
[0167] 所述预处理模块,用于对采用结巴分词对所述客户端中的文本数据进行分词处理以及停用词去除,得到切分后的词语。
[0168] 具体的,预处理模块通过采用结巴分词来对客户端中的文本数据进行分词处理以及停用词去除。
[0169] 预处理模块通过采用结巴分词来进行预处理,得到切分后的词语,便于后续对文本特征进行提取。
[0170] 再进一步的,所述客户端120还包括特征提取模块和文本特征矩阵构建模块;
[0171] 所述特征提取模块,用于通过采用计数法或TF‑IDF对所述切分后的词语进行特征提取,得到所述关键词及其对应的权重;
[0172] 所述文本特征矩阵构建模块,用于根据所述关键词及其权重,构建所述文本特征矩阵Xk。
[0173] 具体的,特征提取模块,经过TF‑IDF的处理,从而可得到文本特征矩阵XK,k表示用户编号,且文本特征矩阵XK中每一列表示的是某一文本中各关键词对应的权重。
[0174] 特征提取模块和文本特征矩阵构建模块的配合,通过采用TF‑IDF对预处理后的文本数据进行特征提取,得到所述关键词及其对应的权重;并根据所述关键词及其权重构建文本特征矩阵,便于后续利用文本特征矩阵进行训练。
[0175] 训练模块122,用于获取自身的文本特征矩阵Xk,并结合所述第一矩阵W、所述第二矩阵Hk以进行所述小批量随机梯度下降训练,得到更新后的第一矩阵W,并上传至服务器端;
[0176] 进一步的,所述训练模块包括拆分子模块、损失计算模块、反向传播模块、矩阵更新子模块和第二迭代更新子模块;
[0177] 所述拆分子模块,用于将所述文本特征矩阵Xk中的数据分为多个小批量集数据;
[0178] 所述损失计算模块,用于提取一个所述小批量集数据,并结合所述第一矩阵W和第二矩阵HK,计算损失函数LK,得到损失值;
[0179] 所述反向传播模块,用于通过利用损失值进行反向传播,计算所述第一矩阵W和第二矩阵HK的梯度;
[0180] 所述矩阵更新子模块,用于根据所述第一矩阵W和第二矩阵HK的梯度以及梯度下降算法,更新所述第一矩阵W和第二矩阵HK;
[0181] 所述迭代更新子模块,用于根据更新后的第一矩阵W和第二矩阵HK,结合另一所述小批量数据进行训练,以迭代更新,直至所述文本特征矩阵Xk的小批量集数据都使用完毕,得到所述更新后的第一矩阵W。
[0182] 通过拆分子模块、损失计算模块、反向传播模块、矩阵更新子模块和迭代更新子模块的配合,将文本特征矩阵XK,分多次来进行训练,每次训练都不断更新第一矩阵W和第二矩阵HK,使得计算效率更高且可以更快的学习。
[0183] 再进一步的,所述矩阵更新子模块包括第一矩阵W更新单元和第二矩阵HK更新单元;
[0184] 第一矩阵W更新单元,用于计算上一次训练得到的第一矩阵W与当前得到的所述第一矩阵W的第一差值,以及学习率和当前所述第一矩阵W的梯度的第一乘积,根据所述第一差值等于所述第一乘积,更新第一矩阵W
[0185] 第二矩阵HK更新单元,用于计算上一次训练得到的第二矩阵HK与当前得到的所述第二矩阵HK的第二差值,以及学习率和当前所述第二矩阵HK的梯度的第二乘积,根据所述第二差值等于所述第二乘积,更新第二矩阵HK。
[0186] 根据第一矩阵W更新单元和第二矩阵HK更新单元的配合,对第一矩阵W和第二矩阵HK不断进行更新,使最终得到的第一矩阵W更贴近文本数据。
[0187] 进一步的,所述客户端还包括加密模块;
[0188] 所述加密模块,用于将所述更新后的第一矩阵W进行同态加密。
[0189] 所述加密模块保证了数据的安全性。
[0190] 其中,所述第一矩阵W、第三矩阵Wt、第四矩阵Wt+1和第五矩阵Wi都为m*r每个元素均非负的矩阵,第二矩阵Hk为r*n每个元素均为非负的矩阵,文本特征矩阵XK为m*n每个元素均非负的矩阵,m、r、n分别为全部关键词数目、主题数目和文本数目。
[0191] 通过采用上述系统,通过所述文本主题抽取系统100包括服务器端110和客户端120,所述服务器端110包括第一构建模块111、发送模块112、更新模块113、迭代模块114和抽取模块115;所述客户端120包括第二构建模块121和训练模块122,通过各模块的配合使用,采用非中心化的处理方式,在不泄露用户数据的情况下,利用各用户的文本数据进行训练,实现对各文本主题的抽取。
[0192] 为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。
[0193] 所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41‑43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
[0194] 所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0195] 所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如文本主题抽取方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0196] 所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述文本主题抽取方法的计算机可读指令。
[0197] 所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
[0198] 本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例文本主题抽取方法的步骤,通过在服务器端构建第一矩阵W,在客户端处构建第二矩阵Hk,以及基于自身的文本数据构建文本特征矩阵XK;以便于后续进行良好的训练;服务器端通过将矩阵W发送给多个第一客户端,客户端通过获取自身的文本特征矩阵XK,并结合所述矩阵W、所述矩阵HK,来进行小批量随机梯度下降,得到更新后的第一矩阵W,并上传至服务器端,即利用客户端的文本数据完成一次训练,在客户端完成训练,不会造成用户数据的泄露。所述服务器端对所述第一矩阵W进行加权平均聚合,得到更新后的第三矩阵Wt,所述更新后的第三矩阵Wt的每一列是一个主题中各关键词的权重,再通过将第三矩阵Wt再发送给多个第二客户端进行训练,最终得到第四矩阵Wt+1,对第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到最终的第五矩阵Wi,最后基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取,从而实现在在不泄露用户数据的情况下,利用用户数据,实现文本主题的抽取。
[0199] 本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的文本主题抽取方法的步骤,通过在服务器端构建第一矩阵W,在客户端处构建第二矩阵Hk,以及基于自身的文本数据构建文本特征矩阵XK;以便于后续进行良好的训练;服务器端通过将矩阵W发送给多个第一客户端,客户端通过获取自身的文本特征矩阵XK,并结合所述矩阵W、所述矩阵HK,来进行小批量随机梯度下降,得到更新后的第一矩阵W,并上传至服务器端,即利用客户端的文本数据完成一次训练,在客户端完成训练,不会造成用户数据的泄露。所述服务器端对所述第一矩阵W进行加权平均聚合,得到更新后的第三矩阵Wt,所述更新后的第三矩阵Wt的每一列是一个主题中各关键词的权重,再通过将第三矩阵Wt再发送给多个第二客户端进行训练,最终得到第四矩阵Wt+1,对第三矩阵Wt和第四矩阵Wt+1进行收敛判断,得到最终的第五矩阵Wi,最后基于所述第五矩阵Wi中各关键词的权重,对文本主题进行抽取,从而实现在在不泄露用户数据的情况下,利用用户数据,实现文本主题的抽取。
[0200] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
[0201] 显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。