利索能及
我要发布
收藏
专利号: 2021105702706
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述方法包括以下步骤:第一步:对文档进行分词处理,并进行停止词去除与时态归一化;

第二步:将分词结果转换为词对集合;

第三步:在主题模型的迭代过程中计算代表词对,并利用代表词对实现概率采样算法,完成主题模型训练,输出RESTful API的文档主题分布;

所述第三步的过程如下:

3.1设置一个大小为k*1的零矩阵nz,用来存放每个主题对应的词对数,其中k为主题数量,设置一个大小为k*|Voc|的零矩阵nwz,用来存放每个词汇被分入每个主题的次数,其中|Voc|表示词汇表中词汇数量,零矩阵指矩阵元素全为0的矩阵;

3.2随机对词对赋予主题,初始化nz与nwz;

3.3设置迭代次数iteration,设置当前迭代次数为iter;

3.4开始第一次迭代,遍历词对集合B,对每个词对b进行采样操作;

3.5计算代表词对矩阵S;

3.6继续进行迭代,将当前迭代次数iter加1,遍历词对集合B,对每个词对b进行采样操作;

3.7重复步骤3.5操作;

3.8判断iter大小,当其等于iteration时,停止迭代;

3.9根据公式,计算文档主题分布theta,公式如下:

P(z|d)表示文档d对于主题z的概率,ndz表示该文档中被分入主题z的单词数量;

所述3.4的步骤如下:

3.4.1将nz[b.topic],nwz[b.topic][b.word1]与nwz[b.topic][b.word2]的值分别减

1,以排除当前词对b的影响;

3.4.2调用如下公式对每一个主题z进行采样:

其中 表示去除了当前词对b影响后,词对b属于主题z的概率,nz表示属于主题z的词汇数量,即为矩阵nz中nz[z]的数值,∝表示成正比例,α与β为超参数,nwi|z表示词汇表中序号为b.word1的单词wi被归为主题z的次数,即矩阵nwz中nwz[z][b.word1]的数值,nwj|z表示词汇表中序号为b.word2的单词wj被归为主题z的次数,即矩阵nwz中nwz[z][b.word2]的数值,M为词汇表中单词数量,将所有主题求得的概率按顺序存入列表distribution;

3.4.3对上一步中求出的概率分布distribution使用轮盘赌操作,获取词对b对应的新主题,将其设为b.topic,轮盘赌算法又称比例选择算法,通过将概率分布分段累加,获得每个个体对应的累积概率,在[0,1]区间内产生一个随机数,选择累积概率大于或等于该随机数且与其差距最小的个体作为轮盘赌输出结果;

3.4.4将矩阵nz中nz[b.topic]位置的值加1,同时将矩阵nwz中nwz[b.topic][b.word1]位置与nwz[b.topic][b.word2]位置的值分别加1,使矩阵接受采样结果。

2.如权利要求1所述的基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述第一步的过程如下:

1.1读取RESTful API文档信息,以API名称为键,文档内容为值,转换为值键对D;

1.2遍历D中文档内容,将当前文档内容设置为d,设置空集合word_list,对d进行分句处理并剔除标点符号,之后对每句进行分词;

1.3遍历过程中,对分词后的每个单词进行判断,如果该单词不为特殊符号组成,不为纯数字且不存在于停止词列表中,则对该单词进行归一化处理,存入步骤1.2中设置的word_list集合中,对每个单词完成判断后,使用word_list代替d作为值键对D中的值进行存储。

3.如权利要求2所述的基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述第二步的过程如下:

2.1对步骤1中获取的分词结果进行遍历,生成不重复的词汇表Voc;

2.2定义词对biterm结构,其中包含两个不同单词在Voc中的序号,且较小的序号设置为word1,较大的序号设置为word2;

2.3设置空集合whole_words作为所有分词结果的存储集合,遍历值键对D,将每个键对应的word_list集合按顺序存入wole_words中;

2.4遍历whole_words中所有单词信息,将其转换为词汇表Voc中对应的单词序号;

2.5生成词对集合B。

4.如权利要求3所述的基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述2.5的步骤如下:

2.5.1遍历whole_words集合,将当前对应的文档分词的词汇表序号结果集合设置为single_list;

2.5.2设置词对集合B用来存放词对信息;

2.5.3对single_list进行遍历,当前对象为single_list(i),single_list(i)表示single_list中第i个单词的词汇表序号,其中0≤i<single_list.length,对每一个single_list(i),将其与single_list(j)对应的第j个单词的词汇表序号进行组合,生成词对b,其中,i

2.5.4将生成的词对存入词对集合B,并按顺序为每个词对b设置一个词对序号,记为b.index。

5.如权利要求1所述的基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述3.2的步骤如下:

3.2.1遍历词对集合B,对每个词对b,随机获取一个整数值t,其中0≤t<k,将t作为词对b的主题,记为b.topic;

3.2.2对随机赋予主题后的词对集合B进行遍历,设当前词对为b,将矩阵nz中nz[b.topic]位置的值加1,同时将矩阵nwz中nwz[b.topic][b.word1]位置与nwz[b.topic][b.word2]位置的值分别加1,b.word1表示该词对中word1的值,b.word2表示该词对中word2的值,完成矩阵初始化。

6.如权利要求1所述的基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述3.5的步骤如下:

3.5.1设置一个大小为|B|*k的矩阵λ,表示代表词对判别矩阵,其中|B|表示词对集合中词对数量,设置一个大小为|B|*k的矩阵S,表示代表词对矩阵;

3.5.2遍历词对集合B,当前词对设置为b,对所有主题进行遍历,根据公式计算词对b针对主题z的词对概率,该公式如下:找出词对b针对各主题的概率p(z|b)中的最大值,设置为max(p(z|b)),对每个主题z分别计算比值p(z|b)/max(p(z|b)),将该比值存入矩阵λ中λ[b.index][z]位置;

3.5.3对矩阵λ中所有值进行遍历,根据设定概率为0.5的伯努利分布判断λ[b.index][z]的对应值,将结果的0或1存入代表词对矩阵S中,伯努利分布是一个离散型概率分布,当输入概率大于设定概率时,返回1,当小于或等于设定概率时,返回0。

7.如权利要求1所述的基于代表词对的RESTful API文档主题分布提取方法,其特征在于,所述3.6的步骤如下:

3.6.1将nz[b.topic],nwz[b.topic][b.word1]与nwz[b.topic][b.word2]的值分别减

1,以排除当前词对b的影响;

3.6.2对每个主题进行遍历,设当前主题为z,进行判断,若S[b.index][t]对应值为0,则重复步骤3.4.2,3.4.3与3.4.4操作,若S[b.index][t]对应值为1,则将步骤3.4.2中公式替换为以下公式:其中μ为代表词对权重参数,在训练前设置,进行调节以改变模型训练效果,之后重复

3.4.3与3.4.4步骤操作。