CN109815456A - 一种基于字符对编码的词向量存储空间压缩的方法 - Google Patents
一种基于字符对编码的词向量存储空间压缩的方法 Download PDFInfo
- Publication number
- CN109815456A CN109815456A CN201910113020.2A CN201910113020A CN109815456A CN 109815456 A CN109815456 A CN 109815456A CN 201910113020 A CN201910113020 A CN 201910113020A CN 109815456 A CN109815456 A CN 109815456A
- Authority
- CN
- China
- Prior art keywords
- word
- term vector
- sub
- corpus
- vector
- 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.)
- Pending
Links
Landscapes
- Machine Translation (AREA)
Abstract
本发明提出一种基于字符对编码的词向量存储空间压缩的方法,具体方式为:步骤1,选取预处理完毕的语料,获得所述语料中每个词语的子词构成,在所述语料中的词语后插入它相对应的子词表示,构成一个新语料集;步骤2,使用所述新语料集训练出每个词语词向量集{Wi}与子词的词向量集{Si};步骤3,使用所述子词的词向量集S作为基词向量集,为每一个原词语训练出基于所述基词向量集的线性组合,使用该线性组合结果作为原词向量的表达。
Description
技术领域
本发明涉及一种自然语言处理中的词向量压缩方法,主要涉及一种基于字符对编码的词向量存储空间压缩的方法。
背景技术
词向量是自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。在语言学中,在分布语义学的研究领域中讨论了词嵌入。它旨在基于语言数据的大样本中的分布属性来量化和分类语言项之间的语义相似性。词向量最基本的性质就是,如果两个词语较为语义相近,那么他们在向量空间中的距离也较为相近。
很多场景需要对词向量进行压缩,诸如手机收入法中的语言模型,需要预训练的词向量进行初始化,在移动存储设备中,词向量的存储空间不能太大,太大的存储空间意味着更多的外磁盘,内存等存储资源消耗。
现有技术压缩词向量存储空间的算法,在语料集出现的词语中,选取词频极高的词语以及它们的词向量构成基词向量集,再使用算法为剩余的低频词语训练出稀疏向量表示集。这样通过矩阵乘法操作作为转换的稀疏矩阵,这样使用向量表示集与基词向量集,即可复原出原本的词向量集,但是高频词语构成的基词向量集加上低频词语的稀疏向量表示集的存储大小,远小于原本的词向量集,达到压缩词向量存储空间的目的。现有技术另一种常用方法是训练自编码器,使用自编码器达到矩阵降维的作用。
现有技术存在的问题:1.算法训练速度慢,现有的词向量压缩算法得到的压缩后的词向量集,由高频词语构成的基词向量集加上低频词语的稀疏向量表示集两部分组成。对于低频词语的稀疏向量表示,是使用基词向量集中所有词向量W的线性组合Wx来获得一个最接近原低频词词向量xe的结果,Xe=Wx,这个线性组合x就是该低频词的向量表示。但向量x的维度等于基词向量集的数量模||W||,因此从极高维的解空间中训练出一个最佳的基向量线性组合会花费大量的时间。2.使用压缩算法得到的词向量无法应对没有在语料中出现的罕见词,压缩后的词向量中只包含了有限个词语的词向量,一些没有出现在中的词向量表中的词语,就无法获得对应的词向量。
深度学习及神经网络技术为我们的生活带来的许多变化。然而一个神经网络的运行依赖一定规模的训练参数,这些参数会占用大量的存储空间,这对将神经网络移植到移动端带来挑战,因此压缩网络存储空间就显得尤为重要。
对于自然语言处理相关的神经网络,绝大多数存储空间都被词向量所占用,现阶段也有了一些压缩词向量存储空间的算法,但他们有一些不可忽视的问题。一是使用小规模词向量的线性组合,来表示余下大量的低频词词向量,这种线性组合训练任务解空间复杂,难以找到最优解,这种复杂性也让压缩算法得到的词向量与原词向量有一定的差距;二是词向量的规模有限,囊括所有词语的词向量不现实,对于一些罕见词就无法获取它对应的词向量。
发明内容
针对以上问题,本发明提出一种基于字符对编码的词向量存储空间压缩的方法,在保证词向量性质基本不受影响的情况下,达到大幅压缩词向量的存储空间的目标,同时提升了依据原词向量训练出压缩后词向量的训练速度,并解决了无法获得罕见词语磁向量的问题。本发明的有益效果为:一是引入子词(subword)的思想。将一个词语看作由多个子词构成,例如单语“sunshine”可以拆分成“sun”和“shine”。对子词进行词向量训练,从而将传统的词向量转化为子词向量,对于一些罕见词,可以将其拆分成多个子词部分,用子词词向量的线性表示来间接获取罕见词的词向量,从而在一定程度上缓解了无法获取罕见词词向量的问题;二是由高频词的基词向量集训练低频词的线性组合表示的时候,为线性组合设置一个初始解,从而在训练阶段可以使用梯度下降方法快速找到最优解。
附图说明
图1为本发明的整体流程图;
图2为本发明的步骤1的具体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明获取压缩词向量集的方法流程为
步骤1,选取一定规模的、预处理完毕的语料,使用BPE算法,获得语料中每个词语的子词构成,将原语料中的词语后插入它相对应的子词表示,构成一个新语料集。如图2所示为步骤1的具体流程图。
在步骤1中具体实现为:
步骤1-1,首先根据空格切分原训练语料,因此需要先分词,以统计词语与词频。将每个词语变成单个词如’word’变为{w,o,r,d</w>},根据词频进行排序,形成{(w,o,r,d):1}类似的词语词频字典。
步骤1-2,将排序字典中每个key进行前后组后,统计词频,如{(w,o,r,d):1}则变为{wo:1,or:1,rd:1}。生成词语词频统计结果。
步骤1-3,基于指定生成子词的数目N,每次选择频率出现最高的词语,将词语词频字典中对应的两个词合并成一个词,如‘a”b’出现的合并为’ab’,并将其写入字符编码对里。并将与之相关的统计结果进行更新,如‘a b c b’,如果ab合并,则对应的’b c’统计次数减少。最后将‘ab’的统计次数置为0。不断循环迭代,直至生成指定数目的字词N。
步骤2,使用glove算法依据上述新语料训练出每个词语词向量集{Wi}与子词的词向量集{Si},每个词向量维度为n维,这里注意到子词的数量||S||远小于词语的总数量||W||。同时由于子词和原词语在一起进行训练,两者之间的词向量差距很小,不会使得词向量的性质受到较多损失。
所述glove算法为统计语料库(文本)中词与词之间的共现(co-occurrence)信息,即在一个窗口中共同出现的次数,比如“我去北京上大学”在大小为3的窗口范围内,我-与共现次数为1,我-北京共现次数为1,去-北京共现次数为1,去-上共现次数为一等等,构成一个共现矩阵:
我 | 去 | 北京 | 上 | 大学 | |
我 | 1 | 1 | 1 | 0 | 0 |
去 | 1 | 1 | 1 | 1 | 0 |
北京 | 1 | 1 | 1 | 1 | 1 |
上 | 0 | 1 | 1 | 1 | 1 |
大学 | 0 | 0 | 1 | 1 | 1 |
其中共现矩阵的每一项为xij,函数f()根据词共现矩阵中不同数值大小,给予的误差进行不同程度的放缩。使用如上的损失函数,用随机梯度下降方法进行求解优化,具体的步骤如下,随机初始化V(词向量)和b(偏执项),然后使用梯度下降算法迭代优化,最后得到的Vi就是对应词i的词向量。
步骤3,得到词语词向量集与子词词向量集后,使用子词词向量集作为基词向量集,为每一个原词语都训练出一个基于基词向量集S的线性组合SxT,使得Wi≈SxT,来表示出原词向量。先将x赋上一个可信的初始值,从而能加速优化过程。设计的损失函数中包含了x的l2正则化,正则化可以让词向量达到稀疏的目的。由于这里的向量表示是稀疏的,即线性方程组的解x中有大量的元素都是0,这样的解向量在存储中只会占用很少的空间。
训练方法使用随机梯度下降方法,采用Adagrad优化器,损失函数采用MSE,及让复原的词向量尽可能的接近。构建
损失函数对于此损失函数使用优化器,通过梯度下降方法,迭代求解,使得损失函数最小化,直到损失函数达到设定的阈值,或者训练轮数达到设定的目标轮数。
通过损失函数使得loss函数最小化,具体的步骤描述如下。
步骤3-1,使用正态分布随机初始化S和X,
步骤3-2,计算输入样本wi对应的正向传播误差
步骤3-3,使用Adagrad优化器,梯度下降方法,迭代优化损失函数
步骤3-4,验证样本的损失函数是否低于设定的目标阈值,或者是否迭代次数超过设定的目标轮数,若达到目标,则停止训练,否则继续3-2步骤。
步骤3-5,输出S和X。
通过以上的步骤最终将原本的词向量集W转化为了子词向量集S加上词向量的线性组合解向量集X,在对词向量性质影响不大的情况下,达到压缩词向量存储空间的作用。
所述复原词向量的方式为,使用子词(subword)集合的词向量和稀疏矩阵T,构成一次矩阵乘法操作,得到复原后的矩阵,复原后的矩阵的每一行就是复原后的词向量。
在面对一些罕见词的情况下,如果罕见词能够拆分由子词表中的子词来表示,那么也可以用它对应的子词的向量的等比例线性组合,来获取该罕见词有一定意义的词向量,从而在一定程度上缓解了罕见词的表示问题。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于字符对编码的词向量存储空间压缩的方法,其特征在于,具体方式为:步骤1,选取预处理完毕的语料,获得所述语料中每个词语的子词构成,在所述语料中的词语后插入它相对应的子词表示,构成一个新语料集;步骤2,使用所述新语料集训练出每个词语词向量集{Wi}与子词的词向量集{Si};步骤3,使用所述子词的词向量集S作为基词向量集,为每一个原词语训练出基于所述基词向量集的线性组合,使用该线性组合结果作为原词向量的表达。
2.如权利要求1所述的方法,其特征在于,所述步骤1具体步骤为,步骤1-1,首先根据空格切分原训练语;步骤1-2,将排序字典中每个分词单元进行前后组后,生成词语词频统计结果;步骤1-3,基于指定生成子词的数目,每次选择频率出现最高的词语,将词语词频字典中对应的两个词合并成一个新词,将所述新词写入字符编码对分词词典中,根据新的分词词典继续选择频率最高的词语,直至字符编码对分词条目达到设定的数量,即构成所述新语料集。
3.如权利要求2所述的方法,其特征在于,所述步骤2具体实现为使用glove算法进行新语料训练。
4.如权利要求3所述的方法,其特征在于,所述步骤3的训练方法为,训练方法使用随机梯度下降方法,所述具体方式为构建损失函数 对于此损失函数使用优化器,通过梯度下降方法,迭代求解,使得损失函数最小化,直到损失函数达到设定的阈值,或者训练轮数达到设定的目标轮数。
5.如权利要求4所述的方法,其特征在于,所述为每一个原词语训练出基于所述基词向量集的线性组合的方式为,使用子词集合的词向量S和稀疏矩阵x,构成一次矩阵乘法操作,使得W≈SxT,所述W为原本的词向量集,所述W的每一行为复原后的词向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113020.2A CN109815456A (zh) | 2019-02-13 | 2019-02-13 | 一种基于字符对编码的词向量存储空间压缩的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113020.2A CN109815456A (zh) | 2019-02-13 | 2019-02-13 | 一种基于字符对编码的词向量存储空间压缩的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109815456A true CN109815456A (zh) | 2019-05-28 |
Family
ID=66606558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910113020.2A Pending CN109815456A (zh) | 2019-02-13 | 2019-02-13 | 一种基于字符对编码的词向量存储空间压缩的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815456A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861516A (zh) * | 2021-01-21 | 2021-05-28 | 昆明理工大学 | 验证共有子词对xlm翻译模型效果影响的实验方法 |
CN113326693A (zh) * | 2021-05-28 | 2021-08-31 | 智者四海(北京)技术有限公司 | 一种基于词粒度的自然语言模型的训练方法与系统 |
CN115364331A (zh) * | 2022-10-24 | 2022-11-22 | 西南医科大学附属医院 | 空间广度训练测试系统及运行方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065699A1 (en) * | 2001-10-01 | 2003-04-03 | Koninklijke Philips Electronics N.V. | Split multiplier for efficient mixed-precision DSP |
CN106886516A (zh) * | 2017-02-27 | 2017-06-23 | 竹间智能科技(上海)有限公司 | 自动识别语句关系和实体的方法及装置 |
CN107169035A (zh) * | 2017-04-19 | 2017-09-15 | 华南理工大学 | 一种混合长短期记忆网络和卷积神经网络的文本分类方法 |
CN107944014A (zh) * | 2017-12-11 | 2018-04-20 | 河海大学 | 一种基于深度学习的中文文本情感分析方法 |
CN107957993A (zh) * | 2017-12-13 | 2018-04-24 | 北京邮电大学 | 英文句子相似度的计算方法及装置 |
CN109145103A (zh) * | 2018-09-10 | 2019-01-04 | 苏州亭云智能科技有限公司 | 一种基于双通道rnn的人机交互意图判断方法 |
-
2019
- 2019-02-13 CN CN201910113020.2A patent/CN109815456A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065699A1 (en) * | 2001-10-01 | 2003-04-03 | Koninklijke Philips Electronics N.V. | Split multiplier for efficient mixed-precision DSP |
CN106886516A (zh) * | 2017-02-27 | 2017-06-23 | 竹间智能科技(上海)有限公司 | 自动识别语句关系和实体的方法及装置 |
CN107169035A (zh) * | 2017-04-19 | 2017-09-15 | 华南理工大学 | 一种混合长短期记忆网络和卷积神经网络的文本分类方法 |
CN107944014A (zh) * | 2017-12-11 | 2018-04-20 | 河海大学 | 一种基于深度学习的中文文本情感分析方法 |
CN107957993A (zh) * | 2017-12-13 | 2018-04-24 | 北京邮电大学 | 英文句子相似度的计算方法及装置 |
CN109145103A (zh) * | 2018-09-10 | 2019-01-04 | 苏州亭云智能科技有限公司 | 一种基于双通道rnn的人机交互意图判断方法 |
Non-Patent Citations (3)
Title |
---|
BOJANOWSKI PIOTR 等: "Enriching Word Vectors with Subword Information", 《TRANSACTIONS OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS》 * |
H. PENG 等: "Incremental term representation learning for social network analysis", 《FUTURE GENERATION COMPUTER SYSTEMS》 * |
SENNRICH RICO 等: "Neural Machine Translation of Rare Words with Subword Units", 《PROCEEDINGS OF THE 54TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861516A (zh) * | 2021-01-21 | 2021-05-28 | 昆明理工大学 | 验证共有子词对xlm翻译模型效果影响的实验方法 |
CN113326693A (zh) * | 2021-05-28 | 2021-08-31 | 智者四海(北京)技术有限公司 | 一种基于词粒度的自然语言模型的训练方法与系统 |
CN113326693B (zh) * | 2021-05-28 | 2024-04-16 | 智者四海(北京)技术有限公司 | 一种基于词粒度的自然语言模型的训练方法与系统 |
CN115364331A (zh) * | 2022-10-24 | 2022-11-22 | 西南医科大学附属医院 | 空间广度训练测试系统及运行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105512311B (zh) | 一种基于卡方统计的自适应特征选择方法 | |
CN111125358B (zh) | 一种基于超图的文本分类方法 | |
CN108897842B (zh) | 计算机可读存储介质及计算机系统 | |
CN108009148B (zh) | 基于深度学习的文本情感分类表示方法 | |
CN113254599A (zh) | 一种基于半监督学习的多标签微博文本分类方法 | |
CN109815456A (zh) | 一种基于字符对编码的词向量存储空间压缩的方法 | |
CN110597979B (zh) | 一种基于自注意力的生成式文本摘要方法 | |
CN107273913B (zh) | 一种基于多特征融合的短文本相似度计算方法 | |
CN109885670A (zh) | 一种面向话题文本的交互注意力编码情感分析方法 | |
CN106096066A (zh) | 基于随机近邻嵌入的文本聚类方法 | |
CN105183833A (zh) | 一种基于用户模型的微博文本推荐方法及其推荐装置 | |
CN111241816A (zh) | 一种新闻标题自动生成方法 | |
CN110222338B (zh) | 一种机构名实体识别方法 | |
CN105069143A (zh) | 提取文档中关键词的方法及装置 | |
CN107943824A (zh) | 一种基于lda的大数据新闻分类方法、系统及装置 | |
CN102915448B (zh) | 一种基于AdaBoost的三维模型自动分类方法 | |
CN109993216B (zh) | 一种基于k最近邻knn的文本分类方法及其设备 | |
CN112231477A (zh) | 一种基于改进胶囊网络的文本分类方法 | |
CN112818110B (zh) | 文本过滤方法、设备及计算机存储介质 | |
CN113821635A (zh) | 一种用于金融领域的文本摘要的生成方法及系统 | |
CN113407711A (zh) | 一种利用预训练模型的吉布斯受限文本摘要生成方法 | |
CN113806543B (zh) | 一种基于残差跳跃连接的门控循环单元的文本分类方法 | |
CN115422939A (zh) | 一种基于大数据的细粒度商品命名实体识别方法 | |
CN114036907B (zh) | 一种基于领域特征的文本数据扩增方法 | |
CN113204640B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |