CN109918659A - 一种基于不保留最优个体遗传算法优化词向量的方法 - Google Patents
一种基于不保留最优个体遗传算法优化词向量的方法 Download PDFInfo
- Publication number
- CN109918659A CN109918659A CN201910153473.8A CN201910153473A CN109918659A CN 109918659 A CN109918659 A CN 109918659A CN 201910153473 A CN201910153473 A CN 201910153473A CN 109918659 A CN109918659 A CN 109918659A
- Authority
- CN
- China
- Prior art keywords
- term vector
- individual
- fitness
- genetic algorithm
- chromosome
- 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
Landscapes
- Character Discrimination (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于不保留最优个体遗传算法优化词向量的方法。所述方法包括以下步骤:构建词向量循环神经网络模型;将词向量矩阵的权值展开成一维向量的数字串,并将数字串作为遗传算法当中的染色体;算出每个染色体的适应度;随机选择个体重新构建种群;将染色体上片段进行交换;在染色体上随机选择一个或若干个变量;通过随机函数生成变量值,并将该变量值替换;重新计算每个个体的适应度。本发明移除了遗传算法中最优个体保留策略,提高勘探能力,利用改进后的遗传算法应用到文本生成器搜索词向量矩阵参数。
Description
技术领域
本发明属于计算机应用领域中遗传算法的应用,具体涉及一种基于不保留最优个体遗传算法优化词向量的方法,应用在文本生成器。
背景技术
遗传算法在人工智能,参数优化等领域起很大的作用。但大多数遗传算法为了加速收敛速度,都使用了保留最优个体的策略。这种做法虽然可以加速算法的收敛速度,但是很容易使得种群陷入局部最优。因此使用这种策略的应用都比较困难得到较优的结果。目前大部分文本生成器使用神经网络构建词向量并使用梯度下降算法来更新词向量矩阵,从而获得具有上下文意义参数向量。但是梯度下降算法容易陷入局部最优解上。因此词向量矩阵的参数也很难表达词语在上下文的含义。
发明内容
本发明的目的在通过不保留最优个体的方法,使得优化算法具有较强的全局搜索能力,从而模型不易于陷入局部最优点上的特点,并使得词向量具有更强表达能力的目的。改进后的遗传算法移除了最优个体保留策略,增加了全局搜索能力。文本生成器当中核心的模块是词向量矩阵。利用改进后的遗传算法作为优化器作用于词向量矩阵。遗传算法具有寻找全局最优的特点,根据这一特点将改进后的遗传算法引入到词向量模型当中,可以提高获得更好词向量的概率,达到词向量具有更强表达含义目的。
本发明提供的一种基于不保留最优个体遗传算法优化词向量的方法,步骤如下:
步骤一:构建词向量循环神经网络模型,创建P个词向量矩阵的权值作为遗传算法的种群,其中P为种群当中个体的个数;
步骤二:将词向量矩阵其中k为词向量的特征数量,n为词典的大小即包含的字词个数。将其权值展开一维向量的数字串作为遗传算法当中的染色体;
步骤三:将以循环神经网络模型的损失函数作为适应度函数并算出每个染色体的适应度;
步骤四:随机选择个体重新构建种群,各个个体被选中的概率与其适应度大小成正比;
步骤五:在染色体(词向量展开的一维向量v)上随机选择一个交换点,然后在交换点前面部分或者后面部分的数字串片段进行交换;
步骤六:在染色体(词向量展开的一维向量v)上随机选择一个或若干个变量;通过随机函数生成变量值,并将该变量值替换;
步骤七:重新计算每个个体的适应度;
重复步骤四至步骤七,直至迭代次数大于设置的迭代次数,取适应度最高的个体作为优化结果输出。
进一步的,词向量矩阵的构建方式:给定训练的文本内容,统计文本当中包含的字词并赋予每个字词一个id编号作为词典,如{“我”:1,“它”:2,“的”:3,…}。此时词典大小为n,随机生成二维矩阵作为词向量矩阵,k为词向量维度。通过词典当中每个词的编号,可以从词向量矩阵找到对应词的向量,如W[1]为“我”的词向量,然后在词向量上添加循环神经网络。
进一步的,构造循环神经网络模型的过程:在训练过程中,文本作为输入序列其中T为序列长度,其中xt表示为输入序列的第t个值,通过词典和词向量矩阵找到文本中每个字词的代表向量其中vt表示输入序列的第t个词向量值。循环神经网络当中的单元由以下的函数组成:
其中tanh为反正切函数,sigmoid为函数表达式,其表达式为ht为序列第t个单元输出的隐含状态或输出状态;vt为第t个输入的词向量;°为向量运算操作符(如合并,点积,叉积等);ut为第t个单元输出的更新状态;rt为第t个单元输出的重设状态;为第t个单元输出的候选更新状态。如上述操作,计算长度为T的输入序列最后得到输出状态序列其中ht为第t个单元输出状态。
进一步的,所述适应度函数F(v)表示为:
其中v为一维向量染色体,m为样本的个数;
进一步的,步骤四的随机选择个体重新构建种群是采用竞争法进行选择,其中,竞争法为:以F(v)代表适应度函数,F(v1),F(v2),...,F(vp)则为各个个体的适应度,从整个种群当中随机抽取d个个体,再从n个体当中选择适应度最高的个体作为下一代保留的个体,上次述竞争法重复M遍,获得P个个体构成新的种群。
进一步的,步骤六中不保留最优个体,即不将适应度最高替换适应度最低个体。
本发明的有益效果在于:
1.本发明运用了移除保留最优个体策略的遗传算法优化词向量的权值,使文本生成器生成更真实的文本。在遗传算法上,改进了遗传算法的流程,移除了最优个体保留策略,使得词向量矩阵当中的变量参数能够寻找关于适应度函数的最优解。
2.通过染色体一维向量片段交换,遗传算法的交叉操作交换词向量矩阵参数,使得不同个体的词向量交换特征信息,提高模型鲁棒性。
附图说明
图1是本发明中移除保留最优个体策略的遗传算法优化词向量的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例的一种基于不保留最优个体遗传算法优化词向量的方法,如图1所示的流程:
步骤一:构建词向量循环神经网络模型,通过c语言提高的随机函数,随机生成词向量权值、循环神经网络的值,创建P个词向量矩阵的权值作为遗传算法的种群,其中P为种群当中个体的个数,其中P设定值为50;
步骤二:词向量矩阵转换为一维染色体:将词向量矩阵W的权值展开成一维向量的数字串,并将数字串作为遗传算法当中的染色体,其中k为词向量的特征数量,n为词典的大小即包含的字词个数。
步骤三:将以循环神经网络模型的损失函数作为适应度函数并算出每个染色体的适应度即评估种群个体适应度。
所述适应度函数F(v)表示为:
其中v为一维向量染色体,m为样本的个数。
词向量矩阵的构造方法:根据训练的文本内容,统计文本当中包含的字词并赋予每个字词一个id编号作为词典,此时词典大小即字词数量为d,随机生成二维矩阵作为词向量矩阵,k为词向量维度,通过词典当中每个词的编号,使词向量矩阵找到对应词的向量,然后在词向量上添加循环神经网络。
构造循环神经网络模型的过程:文本作为输入序列其中T为序列长度,其中xt表示为输入序列的第t个值,通过词典和词向量矩阵找到文本中每个字词的代表向量其中vt表示输入序列的第t个词向量值。循环神经网络的单元由以下的函数组成:
其中tanh为反正切函数,sigmoid为函数表达式,其表达式为 ht为序列第t个单元输出的隐含状态或输出状态;vt为第t个输入的词向量;°为向量运算操作符(如合并,点积,叉积等);ut为第t个单元输出的更新状态;rt为第t个单元输出的重设状态;为第t个单元输出的候选更新状态,输入计算长度为T的输入序列最后得到输出状态序列其中ht为第t个单元输出状态。
步骤四:随机选择个体重新构建种群,各个个体被选中的概率与其适应度大小成正比。随机选择个体重新构建种群是采用竞争法进行选择,其中,竞争法为:以F(v)代表适应度函数,F(v1),F(v2),...,F(vp)则为各个个体的适应度,从整个种群当中随机抽取d个个体,本实施设置为5。再从d个体当中选择适应度最高的个体作为下一代保留的个体。上次述竞争法重复P遍,本实施设置为50,获得P个个体构成新的种群。
步骤五:在染色体上随机选择一个交换点,然后在交换点前面部分或者后面部分的数字串片段进行交换。首先在数字串上随机选择一个交换点;然后在交换点前面部分或者后面部分的数字串片段进行交换。
步骤六:在染色体(词向量展开的一维向量w)上随机选择一个或若干个变量;通过随机函数(该函数是通用函数)生成变量值,并将该变量值替换。
在遗传算法种群当中不保留最优个体,在整个种群当中,通过比较适应度,找出适应度最高的个体作为最优个体,适应度最低的个体作为最差个体;即不将适应度最高替换适应度最低个体;
步骤七:重新计算每个个体的适应度。
重复步骤三至步骤七直到迭代次数达到设定值,本实施设置为100000,取适应度最高的个体作为结果。
本实施例使用唐诗宋词作为训练学习对象。搜集大约有15000首唐诗宋词等古文,其中80%的文本作为训练样本,20%的文本作为校验样本并以适应度函数作为校验指标。经过本发明的方法(即移除最优个体策略的遗传算法)优化后,平均适应度约为4.28且生成的文本具有一定诗词特征。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于不保留最优个体遗传算法优化词向量的方法,其特征在于包括:
步骤一:构建词向量循环神经网络模型,创建P个词向量矩阵的权值作为种群,其中词向量矩阵W的权值作为种群当中个体;
步骤二:将词向量矩阵W的权值展开成一维向量的数字串,并将数字串作为遗传算法当中的染色体,其中k为词向量的特征数量,n为词典的大小即包含的字词个数;
步骤三:将以循环神经网络模型的损失函数作为适应度函数并算出每个染色体的适应度;
步骤四:随机选择个体重新构建种群,各个个体被选中的概率与其适应度大小成正比;
步骤五:在染色体上随机选择一个交换点,然后在交换点前面部分或者后面部分的数字串片段进行交换;
步骤六:在染色体上随机选择一个或若干个变量;通过随机函数生成变量值,并将该变量值替换成随机生成的变量值;
步骤七:重新计算每个个体的适应度;
重复步骤四至步骤七,直至迭代次数大于设置的迭代次数,取适应度最高的个体作为优化结果输出。
2.根据权利要求1所述的一种基于不保留最优个体遗传算法优化词向量的方法,其特征在于,词向量矩阵的构造方法:根据训练的文本内容,统计文本当中包含的字词并赋予每个字词一个id编号作为词典,此时词典大小即字词数量为d,随机生成二维矩阵作为词向量矩阵,k为词向量维度,通过词典当中每个词的编号,使词向量矩阵找到对应词的向量,然后在词向量上添加循环神经网络。
3.根据权利要求2所述的一种基于不保留最优个体遗传算法优化词向量的方法,其特征在于,循环神经网络模型的构建过程为:文本作为输入序列 其中T为序列长度,其中xt表示为输入序列的第t个值,通过词典和词向量矩阵找到文本中每个字词的代表向量其中vt表示输入序列的第t个词向量值,循环神经网络的单元由以下的函数组成:
其中tanh为反正切函数,sigmoid为函数表达式,其表达式为ht为序列第t个单元输出的隐含状态或输出状态;vt为第t个输入的词向量;为向量运算操作符;ut为第t个单元输出的更新状态;rt为第t个单元输出的重设状态;为第t个单元输出的候选更新状态,输入计算长度为T的输入序列最后得到输出状态序列其中ht为第t个单元输出状态,得到的输出状态序列即为输出字词的词向量,通过词向量,在词向量矩阵和词典中找到输出的字词。
4.根据权利要求1所述的一种基于不保留最优个体遗传算法优化词向量的方法,其特征在于,所述适应度函数F(v)表示为:
其中v为一维向量染色体,m为样本的个数。
5.根据权利要求1所述的一种基于不保留最优个体遗传算法优化词向量的方法,其特征在于,步骤四的随机选择个体重新构建种群是采用竞争法进行选择,其中,竞争法为:以F(v)代表适应度函数,F(v1),F(v2),...,F(vp)则为各个个体的适应度,从整个种群当中随机抽取d个个体,再从n个体当中选择适应度最高的个体作为下一代保留的个体,上述竞争法重复P遍,获得P个个体构成新的种群。
6.根据权利要求1所述的一种基于不保留最优个体遗传算法优化词向量的方法,其特征在于,步骤六中在遗传算法种群当中不保留最优个体即适应度最高个体,在种群当中对比所有个体的适应度得到适应度最高个体和适应度最高个体,即不将适应度最高替换适应度最低个体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910153473.8A CN109918659B (zh) | 2019-02-28 | 2019-02-28 | 一种基于不保留最优个体遗传算法优化词向量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910153473.8A CN109918659B (zh) | 2019-02-28 | 2019-02-28 | 一种基于不保留最优个体遗传算法优化词向量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918659A true CN109918659A (zh) | 2019-06-21 |
CN109918659B CN109918659B (zh) | 2023-06-20 |
Family
ID=66962783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910153473.8A Active CN109918659B (zh) | 2019-02-28 | 2019-02-28 | 一种基于不保留最优个体遗传算法优化词向量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918659B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380018A (zh) * | 2020-11-30 | 2021-02-19 | 海光信息技术股份有限公司 | 基于遗传算法的确定用于矩阵乘法的矩阵分块参数的方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235147A (ja) * | 1995-02-27 | 1996-09-13 | Hitachi Microcomput Syst Ltd | 遺伝的アルゴリズムの操作方法および装置、ならびにその操作装置を用いた環境適応型システム |
US20010037346A1 (en) * | 2000-05-01 | 2001-11-01 | Johnson Judith A. | Extensible markup language genetic algorithm |
JP2003168101A (ja) * | 2001-12-03 | 2003-06-13 | Mitsubishi Heavy Ind Ltd | 遺伝的アルゴリズムを用いた学習装置、学習方法 |
US20080140749A1 (en) * | 2004-12-20 | 2008-06-12 | Stmicroelectronics S.R.L. | Method and device for performing a quantum algorithm to simulate a genetic algorithm |
CN101710333A (zh) * | 2009-11-26 | 2010-05-19 | 西北工业大学 | 基于遗传算法的网络文本分割方法 |
CN103971162A (zh) * | 2014-04-04 | 2014-08-06 | 华南理工大学 | 一种基于遗传算法改进bp神经网络的方法 |
CN105184428A (zh) * | 2015-10-30 | 2015-12-23 | 哈尔滨工程大学 | 一种基于多层遗传算法的冰壶比赛对阵组合设计方法 |
CN105787088A (zh) * | 2016-03-14 | 2016-07-20 | 南京理工大学 | 一种基于分段编码遗传算法的文本信息分类方法 |
CN106021859A (zh) * | 2016-05-09 | 2016-10-12 | 吉林大学 | 改进遗传算法的可控源音频大地电磁法一维反演方法 |
CN106056209A (zh) * | 2016-05-23 | 2016-10-26 | 大连理工大学 | 一种基于循环神经网络的查询词项权重学习方法 |
CN106650934A (zh) * | 2016-10-17 | 2017-05-10 | 东南大学 | 采用改进的遗传优化算法精确辨识热工过程状态空间模型参数的方法 |
CN106651100A (zh) * | 2016-10-12 | 2017-05-10 | 华南理工大学 | 基于车联网优选车载监测点的空气质量评估系统及方法 |
CN108333626A (zh) * | 2018-01-10 | 2018-07-27 | 成都理工大学 | 一种基于最佳保留策略的遗传算法波阻抗反演方法 |
CN108764671A (zh) * | 2018-05-16 | 2018-11-06 | 山东师范大学 | 一种基于自建语料库的创造能力评测方法和装置 |
-
2019
- 2019-02-28 CN CN201910153473.8A patent/CN109918659B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235147A (ja) * | 1995-02-27 | 1996-09-13 | Hitachi Microcomput Syst Ltd | 遺伝的アルゴリズムの操作方法および装置、ならびにその操作装置を用いた環境適応型システム |
US20010037346A1 (en) * | 2000-05-01 | 2001-11-01 | Johnson Judith A. | Extensible markup language genetic algorithm |
JP2003168101A (ja) * | 2001-12-03 | 2003-06-13 | Mitsubishi Heavy Ind Ltd | 遺伝的アルゴリズムを用いた学習装置、学習方法 |
US20080140749A1 (en) * | 2004-12-20 | 2008-06-12 | Stmicroelectronics S.R.L. | Method and device for performing a quantum algorithm to simulate a genetic algorithm |
CN101710333A (zh) * | 2009-11-26 | 2010-05-19 | 西北工业大学 | 基于遗传算法的网络文本分割方法 |
CN103971162A (zh) * | 2014-04-04 | 2014-08-06 | 华南理工大学 | 一种基于遗传算法改进bp神经网络的方法 |
CN105184428A (zh) * | 2015-10-30 | 2015-12-23 | 哈尔滨工程大学 | 一种基于多层遗传算法的冰壶比赛对阵组合设计方法 |
CN105787088A (zh) * | 2016-03-14 | 2016-07-20 | 南京理工大学 | 一种基于分段编码遗传算法的文本信息分类方法 |
CN106021859A (zh) * | 2016-05-09 | 2016-10-12 | 吉林大学 | 改进遗传算法的可控源音频大地电磁法一维反演方法 |
CN106056209A (zh) * | 2016-05-23 | 2016-10-26 | 大连理工大学 | 一种基于循环神经网络的查询词项权重学习方法 |
CN106651100A (zh) * | 2016-10-12 | 2017-05-10 | 华南理工大学 | 基于车联网优选车载监测点的空气质量评估系统及方法 |
CN106650934A (zh) * | 2016-10-17 | 2017-05-10 | 东南大学 | 采用改进的遗传优化算法精确辨识热工过程状态空间模型参数的方法 |
CN108333626A (zh) * | 2018-01-10 | 2018-07-27 | 成都理工大学 | 一种基于最佳保留策略的遗传算法波阻抗反演方法 |
CN108764671A (zh) * | 2018-05-16 | 2018-11-06 | 山东师范大学 | 一种基于自建语料库的创造能力评测方法和装置 |
Non-Patent Citations (1)
Title |
---|
荚伟 等: "用遗传算法实现软件结构测试数据的自动生成", 《计算机与数字工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380018A (zh) * | 2020-11-30 | 2021-02-19 | 海光信息技术股份有限公司 | 基于遗传算法的确定用于矩阵乘法的矩阵分块参数的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109918659B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110969020B (zh) | 基于cnn和注意力机制的中文命名实体识别方法、系统及介质 | |
CN106021364B (zh) | 图片搜索相关性预测模型的建立、图片搜索方法和装置 | |
CN109948029A (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN107480132A (zh) | 一种基于图像内容的古诗词生成方法 | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
CN111782961B (zh) | 一种面向机器阅读理解的答案推荐方法 | |
CN110321957A (zh) | 融合三元组损失和生成对抗网络的多标签图像检索方法 | |
CN107729497A (zh) | 一种基于知识图谱的词嵌入深度学习方法 | |
CN109063164A (zh) | 一种基于深度学习的智能问答方法 | |
CN109977250A (zh) | 融合语义信息和多级相似性的深度哈希图像检索方法 | |
CN112000772B (zh) | 面向智能问答基于语义特征立方体的句子对语义匹配方法 | |
CN111898689A (zh) | 一种基于神经网络架构搜索的图像分类方法 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN113886626B (zh) | 基于多重注意力机制的动态记忆网络模型的视觉问答方法 | |
CN110297888A (zh) | 一种基于前缀树与循环神经网络的领域分类方法 | |
CN113157919B (zh) | 语句文本方面级情感分类方法及系统 | |
CN113127737B (zh) | 融合注意力机制的个性化搜索方法和搜索系统 | |
CN111353313A (zh) | 基于进化神经网络架构搜索的情感分析模型构建方法 | |
CN113220865B (zh) | 一种文本相似词汇检索方法、系统、介质及电子设备 | |
CN111046178A (zh) | 一种文本序列生成方法及其系统 | |
CN114332519A (zh) | 一种基于外部三元组和抽象关系的图像描述生成方法 | |
CN109918659A (zh) | 一种基于不保留最优个体遗传算法优化词向量的方法 | |
CN117235216A (zh) | 一种基于异构知识融合的知识推理方法 | |
CN108388942A (zh) | 基于大数据的信息智能处理方法 | |
CN108417204A (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 |