CN110852112A - 词向量嵌入方法及装置 - Google Patents
词向量嵌入方法及装置 Download PDFInfo
- Publication number
- CN110852112A CN110852112A CN201911088700.XA CN201911088700A CN110852112A CN 110852112 A CN110852112 A CN 110852112A CN 201911088700 A CN201911088700 A CN 201911088700A CN 110852112 A CN110852112 A CN 110852112A
- Authority
- CN
- China
- Prior art keywords
- vocabulary
- vector
- sublist
- embedded
- sub
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 209
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 3
- 235000011430 Malus pumila Nutrition 0.000 description 10
- 235000015103 Malus silvestris Nutrition 0.000 description 10
- 241000220225 Malus Species 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 241000220324 Pyrus Species 0.000 description 4
- 241000234295 Musa Species 0.000 description 3
- 235000014443 Pyrus communis Nutrition 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 244000141359 Malus pumila Species 0.000 description 2
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 235000021015 bananas Nutrition 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000021017 pears Nutrition 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种词向量嵌入方法及装置,方法包括:将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;其中,所述嵌入模型通过所有语料进行训练获取。本发明提高了词向量嵌入的速度,且嵌入性能稳定。
Description
技术领域
本发明属于自然语言处理技术领域,尤其涉及一种词向量嵌入方法及装置。
背景技术
词嵌入是自然语言处理(Natural Language Processing,NLP)中语言模型与表征学习技术的统称,是将一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组映射为实数域上的向量。将词嵌入方法生成的嵌入向量用于NLP中的语法分析、文本情感分析和文档分类中,可以提升自然语言处理效果。
目前,主流的词嵌入方法是将词以分布式词向量的方式嵌入到同一个空间中。例如,从文档中抽取1000个词构成词汇表,对词汇表中的每个词进行编码,每个词用1000维度的向量表示,分布式词向量的空间维度为300,将1000维度的向量空间中的词向量嵌入到300维度的空间中,生成的嵌入词向量的维度为300。这种方法虽然可以很好地表示词之间的关系,但是当词汇表的长度很大时,嵌入速度会大幅下降。
综上所述,现有的词嵌入方法将词汇表中所有词的词向量嵌入到同一个低维空间中,而词汇表中一般包含的词汇很多,长度很大,导致嵌入速度慢。
发明内容
为克服上述现有的词向量嵌入方法嵌入速度慢的问题或者至少部分地解决上述问题,本发明实施例提供一种词向量嵌入方法及装置。
根据本发明实施例的第一方面,提供一种词向量嵌入方法,包括:
将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;
对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;
将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;
其中,所述嵌入模型通过所有语料进行训练获取。
优选地,将待嵌入词汇表拆分成多个词汇子表的步骤包括:
计算所述待嵌入词汇表中词汇的语义之间的相似程度;
根据所述相似程度对所述待嵌入词汇表中的词汇进行排序;
根据排序后的所述词汇对所述待嵌入词汇表进行拆分,获取多个词汇子表;其中,每个所述词汇子表中词汇的数量小于或等于预设阈值。
优选地,对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量的步骤包括:
对于任意所述词汇子表,根据所有所述词汇子表的数量确定该词汇子表的空间向量的长度;
根据该词汇子表的序号,确认该词汇子表的空间向量中元素1的位置;
将该词汇子表的空间向量中元素1的位置填充1,除元素1的位置以外的其他位置填充为元素0。
优选地,对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量的步骤包括:
根据该词汇子表中词汇的数量,确定该词汇子表中每个词汇的编码向量的长度;
根据该词汇子表中每个词汇的排序,确认该词汇子表中每个词汇的编码向量中元素1的位置;
将每个词汇的编码向量中元素1的位置填充1,除元素1的位置以外的其他位置填充0。
优选地,所述嵌入模型为word2vec模型;
相应地,将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量的步骤具体包括:
将每个所述词汇的拼接向量乘以所述word2vec模型的隐藏层的权重,获取每个所述词汇的分布式词向量。
优选地,将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量的步骤之前还包括:
使用所述word2vec模型中的CBOW或Skip-Gram模型进行训练。
根据本发明实施例第二方面提供一种词向量嵌入装置,包括:
拆分模块,用于将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;
拼接模块,用于对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;
嵌入模块,用于将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;
其中,所述嵌入模型通过所有语料进行训练获取。
根据本发明实施例的第三个方面,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的词向量嵌入方法。
根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的词向量嵌入方法。
本发明实施例提供一种词向量嵌入方法及装置,该方法通过将待嵌入词汇表拆分成多个词汇子表,将每个词汇子表和每个词汇表中的各词汇分别进行独热编码,将词汇的编码向量和词汇所在的词汇表的空间向量拼接后进行词向量嵌入,从而使得嵌入到低维向量空间的词汇子表的长度不会太大,保证了词嵌入的速度和嵌入性能的稳定。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的词向量嵌入方法整体流程示意图;
图2为本发明又一实施例提供的词向量嵌入方法的流程示意图;
图3为本发明实施例提供的词向量嵌入装置整体结构示意图;
图4为本发明实施例提供的电子设备整体结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在本发明的一个实施例中提供一种词向量嵌入方法,图1为本发明实施例提供的词向量嵌入方法整体流程示意图,该方法包括:S101,将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;
其中,待嵌入词汇表为需要进行词向量嵌入的词汇表,可以为根据实际需要从某类型的文档中抽取出的词汇构成的词汇表,也可以为所有词汇构成的词汇表。由于待嵌入词汇表中词汇的数量过大,本实施例中将待嵌入词汇表拆分成多个词汇子表,词汇子表中词汇的数量较小。本实施例不限于待嵌入词汇表拆分的方法。然后对每个词汇子表进行独热编码,将编码结果作为每个词汇子表的空间向量。
独热编码即One-Hot编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意情况下,其中只有一位有效。例如,一个词汇表中包含{我,爱吃,苹果},那么词汇“我”的独热编码向量表示为[1,0,0],词汇“爱吃”的独热编码向量表示为[0,1,0],苹果的独热编码向量表示为[0,0,1],如表1所示。
表1独热编码示例
我 | 爱吃 | 苹果 | |
我 | 1 | 0 | 0 |
爱吃 | 0 | 1 | 0 |
苹果 | 0 | 0 | 1 |
很显然这种嵌入方式有极大的缺点,首先,它是一个词袋模型,不考虑词与词之间的顺序,但实际上文本中词的顺序信息也是很重要的;其次,它假设词与词相互独立,但在大多数情况下,词与词是相互影响的;最后,它得到的特征是离散稀疏的。
S102,对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;
将待嵌入词汇表中的每个词汇相对于其所在的词汇子表进行独热编码,将编码结果作为词汇的编码向量。词汇的编码向量的长度等于该词汇所在的词汇子表中词汇的总数量。然后将每个词汇的编码向量与该词汇所在的词汇子表的空间向量进行拼接,将两个向量的拼接结果作为该词汇对应的拼接向量。
S103,将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;其中,所述嵌入模型通过所有语料进行训练获取。
其中,嵌入模型可以为word2vec模型,但不限于这种模型。如图2所示,词汇子表的空间向量和词汇的编码向量进行向量拼接后,将向量拼接输入word2vec模型中的隐藏层,图2中的W为隐藏层的权重,隐藏层输出词汇的分布式词向量。word2vec模型为预先训练好的。
word2vec模型是简单化的神经网络,输入层是独热编码后的向量,隐藏层没有激活函数,也就是线性单元。输出层的维度与输入层的维度相同,用的是Softmax回归。当word2vec模型训练好以后,不会用训练好的word2vec模型处理新的任务,而是需要的是word2vec模型通过训练所学得的参数,例如隐含层的权重矩阵。优选地,将每个词汇的拼接向量乘以训练后的隐藏层的权重,获取每个词汇的分布式词向量。
分布式词向量为通过对word2vec模型进行训练,将每个词的编码向量映射到的一个低维的词向量。如表2所示,将词汇表里的每个词汇用“Royalty”、“Masculinity”、“Femininity”和“Age”4个维度来表示,词汇King的分布式词向量为(0.99,0.99,0.05,0.7)。
将词汇从一个可能非常稀疏的向量坐标空间映射到四维向量所在的空间,必须满足:这个映射是单射且映射之后的向量不会丢失之前的那种向量所含的信息。这个过程称为词嵌入(Word Embedding),即将高维词向量嵌入到一个低维空间。经降维操作,生成用分布式词向量表示的较短的词向量,便于分析词汇之间的关系。比如将词的维度降维到2维,分析分布式词向量可以得出:
表2分布式词向量示例
King | Queen | Woman | Princess | |
Royalty | 0.99 | 0.99 | 0.02 | 0.98 |
Masculinity | 0.99 | 0.05 | 0.01 | 0.02 |
Femininity | 0.05 | 0.93 | 0.99 | 0.94 |
Age | 0.7 | 0.6 | 0.5 | 0.1 |
本实施例通过将待嵌入词汇表拆分成多个词汇子表,将每个词汇子表和每个词汇表中的各词汇分别进行独热编码,将词汇的编码向量和词汇所在的词汇表的空间向量拼接后进行词向量嵌入,从而使得嵌入到低维向量空间的词汇子表的长度不会太大,保证了词嵌入的速度;此外,本实施例中生成的分布式词向量不随词汇表的扩容导致嵌入性能降低,特别适用于处理大量生词的自然语言处理需求,例如,由中文的地名和公司译成的英文,由于里面包含大量的拼音,导致里面的技术词的嵌入性能会大幅下降。
在上述实施例的基础上,将待嵌入词汇表拆分成多个词汇子表的步骤包括:计算所述待嵌入词汇表中词汇的语义之间的相似程度;根据所述相似程度对所述待嵌入词汇表中的词汇进行排序;根据排序后的所述词汇对所述待嵌入词汇表进行拆分,获取多个词汇子表;其中,每个所述词汇子表中词汇的数量小于或等于预设阈值。
具体地,本实施例计算待嵌入词汇表中每个词汇与其他词汇之间的语义相似度,本实施例不限于语义相似度的计算方法。然后根据语义相似度对词汇进行排序,将语义相似度小的词汇排列在一起。根据排序结果对待嵌入词汇表进行拆分,拆分成多个词汇子表。例如,当预设阈值为32000时,将待嵌入词汇表中的词汇按照词汇的排列顺序,每32000个词汇分成一组,构成一个词汇子表。
在上述实施例的基础上,本实施例中对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量的步骤包括:对于任意所述词汇子表,根据所有所述词汇子表的数量确定该词汇子表的空间向量的长度;根据该词汇子表的序号,确认该词汇子表的空间向量中元素1的位置;将该词汇子表的空间向量中元素1的位置填充1,除元素1的位置以外的其他位置填充为元素0。
例如,将待嵌入词汇表划分成3个词汇子表,词汇子表的空间向量的长度等于词汇子表的数量,即每个词汇子表的空间向量长度均为3。根据每个词汇子表的序号先后顺序,确定词汇子表的空间向量中元素1的位置。其中,序号可以是随机设置,也可以根据词汇子表生成的先后顺序确定。第一个词汇子表中第一个位置为元素1,其他位置为元素0;第二个词汇子表中第二个位置为元素1,其他位置为元素0;第三个词汇子表中第三个位置为元素1,其他位置为元素0。即三个词汇子表的空间向量分别为[1,0,0],[0,1,0]和[0,0,1]。
在上述实施例的基础上,本实施例中对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量的步骤包括:根据该词汇子表中词汇的数量,确定该词汇子表中每个词汇的编码向量的长度;根据该词汇子表中每个词汇的排序,确认该词汇子表中每个词汇的编码向量中元素1的位置;将每个词汇的编码向量中元素1的位置填充1,除元素1的位置以外的其他位置填充0。
其中,每个词汇的编码向量的长度等于该词汇所在的词汇子表中词汇的数量。根据词汇在词汇子表中的排序,在词汇的编码向量的对应位置填充1,其他位置填充0。
在上述实施例的基础上,本实施例中将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量的步骤之前还包括:使用所述word2vec模型中的CBOW或Skip-Gram模型进行训练。
具体地,使用CBOW(Continuous Bag-of-Words,连续词袋)模型或Skip-Gram(跳字)模型定义word2vec模型中数据的输入和输出。CBOW模型的训练输入是某一个词汇的上下文词对应的词向量,而输出是该词汇的词向量。Skip-Gram模型和CBOW的思路相反,即输入是特定的一个词汇的词向量,而输出是特定词汇对应的上下文词的向量。CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。
以Skip-Gram训练为例,Skip-Gram是给定输入词汇来预测上下文。假如有一个句子“The dog barked at the mailman”。首先选取句子中的一个词作为输入词,例如选取“dog”作为输入词;然后再定义skip_window参数,该参数表示当前输入词的一侧,即左边或右边选取词的数量。如果设置skip_window=2,获得窗口中的词,包括输入词在内为[“The”,“dog”,“barked”,“at”]。skip_window=2代表着选取输入词的左侧2个词和右侧2个词进入窗口,所以整个窗口的大小span=2×2=4。另一个参数为num_skips,表示从整个窗口中选取多少个不同的词作为输出词。
当skip_window=2,num_skips=2时,将会得到两组(输入词,输出词)形式的训练数据,即(“dog”,“barked”)和(“dog”,“the”)。word2vec模型基于这些训练数据将会输出一个概率分布,该概率表示词汇表中的每个词是输出词的可能性。假如先拿一组数据(“dog”,“barked”)来训练word2vec模型,那么word2vec模型通过学习这个训练样本,输出词汇表中每个词汇是“barked”的概率大小。
例如,向word2vec模型中输入一个单词“苹果”,那么最终模型的输出概率中,像“梨子”和“香蕉”这种相关词的概率将远高于“蝈蝈”非相关词的概率。因为“梨子”和“香蕉”在文本中更大可能在“苹果”的窗口中出现。通过向word2vec中输入成对的词汇来进行训练来完成概率计算。
word2vec模型将会从每对词汇出现的次数中习得统计结果。例如,输入word2vec模型的更多为类似(“苹果”,“梨子”)的训练样本对,而对于(“苹果”,“蝈蝈”)这样的类似组合却很少看到。因此,当模型完成训练后,给定一个单词“苹果”作为输入,输出的结果中“梨子”或“香蕉”要比“蝈蝈”的概率高。
在本发明的另一个实施例中提供一种词向量嵌入装置,该装置用于实现前述各实施例中的方法。因此,在前述词向量嵌入方法的各实施例中的描述和定义,可以用于本发明实施例中各个执行模块的理解。图3为本发明实施例提供的词向量嵌入装置整体结构示意图,该装置包括拆分模块301、拼接模块302和嵌入模块303;其中,
拆分模块301用于将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;
待嵌入词汇表为需要进行词向量嵌入的词汇表,可以为根据实际需要从某类型的文档中抽取出的词汇构成的词汇表,也可以为所有词汇构成的词汇表。由于待嵌入词汇表中词汇的数量过大,本实施例中拆分模块301将待嵌入词汇表拆分成多个词汇子表,词汇子表中词汇的数量较小。本实施例不限于待嵌入词汇表拆分的方法。然后对每个词汇子表进行独热编码,将编码结果作为每个词汇子表的空间向量。
拼接模块302用于对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;
拼接模块302将待嵌入词汇表中的每个词汇相对于其所在的词汇子表进行独热编码,将编码结果作为词汇的编码向量。词汇的编码向量的长度等于该词汇所在的词汇子表中词汇的总数量。然后将每个词汇的编码向量与该词汇所在的词汇子表的空间向量进行拼接,将两个向量的拼接结果作为该词汇对应的拼接向量。
嵌入模块303用于将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;其中,所述嵌入模型通过所有语料进行训练获取。
其中,嵌入模型可以为word2vec模型,但不限于这种模型。
本实施例通过将待嵌入词汇表拆分成多个词汇子表,将每个词汇子表和每个词汇表中的各词汇分别进行独热编码,将词汇的编码向量和词汇所在的词汇表的空间向量拼接后进行词向量嵌入,从而使得嵌入到低维向量空间的词汇子表的长度不会太大,保证了词嵌入的速度和嵌入性能的稳定。
在上述实施例的基础上,本实施例中拆分模块具体用于:计算所述待嵌入词汇表中词汇的语义之间的相似程度;根据所述相似程度对所述待嵌入词汇表中的词汇进行排序;根据排序后的所述词汇对所述待嵌入词汇表进行拆分,获取多个词汇子表;其中,每个所述词汇子表中词汇的数量小于或等于预设阈值。
在上述实施例的基础上,本实施例中拆分模块具体用于:对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量的步骤包括:对于任意所述词汇子表,根据所有所述词汇子表的数量确定该词汇子表的空间向量的长度;根据该词汇子表的序号,确认该词汇子表的空间向量中元素1的位置;将该词汇子表的空间向量中元素1的位置填充1,除元素1的位置以外的其他位置填充为元素0。
在上述实施例的基础上,本实施例中拆分模块具体用于:根据该词汇子表中词汇的数量,确定该词汇子表中每个词汇的编码向量的长度;根据该词汇子表中每个词汇的排序,确认该词汇子表中每个词汇的编码向量中元素1的位置;将每个词汇的编码向量中元素1的位置填充1,除元素1的位置以外的其他位置填充0。
在上述各实施例的基础上,本实施例中嵌入模块具体用于:将每个所述词汇的拼接向量乘以所述隐藏层的权重,获取每个所述词汇的分布式词向量。
在上述各实施例的基础上,本实施例中还包括训练模块,用于使用所述word2vec模型中的CBOW或Skip-Gram模型进行训练。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行如下方法:将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;其中,所述嵌入模型通过所有语料进行训练获取。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;其中,所述嵌入模型通过所有语料进行训练获取。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种词向量嵌入方法,其特征在于,包括:
将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;
对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;
将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;
其中,所述嵌入模型通过所有语料进行训练获取。
2.根据权利要求1所述的词向量嵌入方法,其特征在于,将待嵌入词汇表拆分成多个词汇子表的步骤包括:
计算所述待嵌入词汇表中词汇的语义之间的相似程度;
根据所述相似程度对所述待嵌入词汇表中的词汇进行排序;
根据排序后的所述词汇对所述待嵌入词汇表进行拆分,获取多个词汇子表;其中,每个所述词汇子表中词汇的数量小于或等于预设阈值。
3.根据权利要求1所述的词向量嵌入方法,其特征在于,对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量的步骤包括:
对于任意所述词汇子表,根据所有所述词汇子表的数量确定该词汇子表的空间向量的长度;
根据该词汇子表的序号,确认该词汇子表的空间向量中元素1的位置;
将该词汇子表的空间向量中元素1的位置填充1,除元素1的位置以外的其他位置填充为元素0。
4.根据权利要求2所述的词向量嵌入方法,其特征在于,对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量的步骤包括:
根据该词汇子表中词汇的数量,确定该词汇子表中每个词汇的编码向量的长度;
根据该词汇子表中每个词汇的排序,确认该词汇子表中每个词汇的编码向量中元素1的位置;
将每个词汇的编码向量中元素1的位置填充1,除元素1的位置以外的其他位置填充0。
5.根据权利要求1-4任一所述的词向量嵌入方法,其特征在于,所述嵌入模型为word2vec模型;
相应地,将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量的步骤具体包括:
将每个所述词汇的拼接向量乘以所述word2vec模型的隐藏层的权重,获取每个所述词汇的分布式词向量。
6.根据权利要求5所述的词向量嵌入方法,其特征在于,将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量的步骤之前还包括:
使用所述word2vec模型中的CBOW或Skip-Gram模型进行训练。
7.一种词向量嵌入装置,其特征在于,包括:
拆分模块,用于将待嵌入词汇表拆分成多个词汇子表,并对每个所述词汇子表进行独热编码,生成每个所述词汇子表的空间向量;
拼接模块,用于对于任一所述词汇子表,对该词汇子表中的每个词汇相对于该词汇子表进行独热编码,生成每个所述词汇的编码向量,将该词汇子表中每个词汇的编码向量和该词汇子表的空间向量进行拼接,生成每个所述词汇的拼接向量;
嵌入模块,用于将每个所述词汇的拼接向量输入嵌入模型中,输出每个所述词汇的分布式词向量;
其中,所述嵌入模型通过所有语料进行训练获取。
8.根据权利要求7所述的词向量嵌入装置,其特征在于,所述拆分模块具体用于:
计算所述待嵌入词汇表中词汇的语义之间的相似程度;
根据所述相似程度对所述待嵌入词汇表中的词汇进行排序;
根据排序后的所述词汇对所述待嵌入词汇表进行拆分,获取多个词汇子表;其中,每个所述词汇子表中词汇的数量小于或等于预设阈值。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述词向量嵌入方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述词向量嵌入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911088700.XA CN110852112B (zh) | 2019-11-08 | 2019-11-08 | 词向量嵌入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911088700.XA CN110852112B (zh) | 2019-11-08 | 2019-11-08 | 词向量嵌入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110852112A true CN110852112A (zh) | 2020-02-28 |
CN110852112B CN110852112B (zh) | 2023-05-05 |
Family
ID=69599874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911088700.XA Active CN110852112B (zh) | 2019-11-08 | 2019-11-08 | 词向量嵌入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852112B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377997A (zh) * | 2021-06-30 | 2021-09-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲检索方法、电子设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106920147A (zh) * | 2017-02-28 | 2017-07-04 | 华中科技大学 | 一种基于词向量数据驱动的商品智能推荐方法 |
CN108417210A (zh) * | 2018-01-10 | 2018-08-17 | 苏州思必驰信息科技有限公司 | 一种词嵌入语言模型训练方法、词语识别方法及系统 |
US20180329886A1 (en) * | 2017-05-15 | 2018-11-15 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Artificial intelligence based method and apparatus for generating information |
CN109344403A (zh) * | 2018-09-20 | 2019-02-15 | 中南大学 | 一种增强语义特征嵌入的文本表示方法 |
CN109885826A (zh) * | 2019-01-07 | 2019-06-14 | 平安科技(深圳)有限公司 | 文本词向量获取方法、装置、计算机设备及存储介质 |
CN109948140A (zh) * | 2017-12-20 | 2019-06-28 | 普天信息技术有限公司 | 一种词向量嵌入方法及装置 |
CN110162772A (zh) * | 2018-12-13 | 2019-08-23 | 北京三快在线科技有限公司 | 命名实体识别方法及装置 |
-
2019
- 2019-11-08 CN CN201911088700.XA patent/CN110852112B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106920147A (zh) * | 2017-02-28 | 2017-07-04 | 华中科技大学 | 一种基于词向量数据驱动的商品智能推荐方法 |
US20180329886A1 (en) * | 2017-05-15 | 2018-11-15 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Artificial intelligence based method and apparatus for generating information |
CN109948140A (zh) * | 2017-12-20 | 2019-06-28 | 普天信息技术有限公司 | 一种词向量嵌入方法及装置 |
CN108417210A (zh) * | 2018-01-10 | 2018-08-17 | 苏州思必驰信息科技有限公司 | 一种词嵌入语言模型训练方法、词语识别方法及系统 |
CN109344403A (zh) * | 2018-09-20 | 2019-02-15 | 中南大学 | 一种增强语义特征嵌入的文本表示方法 |
CN110162772A (zh) * | 2018-12-13 | 2019-08-23 | 北京三快在线科技有限公司 | 命名实体识别方法及装置 |
CN109885826A (zh) * | 2019-01-07 | 2019-06-14 | 平安科技(深圳)有限公司 | 文本词向量获取方法、装置、计算机设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
C. WU AND B. WANG: "Extracting Topics Based on Word2Vec and Improved Jaccard Similarity Coefficient" * |
M. FRAJ, M. A. BEN HAJKACEM AND N. ESSOUSSI: "A Novel Tweets Clustering Method using Word Embeddings" * |
王根生,黄学坚: "基于Word2vec和改进型TF-IDF的卷积神经网络文本分类模型" * |
郑泽: "基于Word2Vec词嵌入模型研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377997A (zh) * | 2021-06-30 | 2021-09-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲检索方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110852112B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368996B (zh) | 可传递自然语言表示的重新训练投影网络 | |
CN109446534B (zh) | 机器翻译方法及装置 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN109359297B (zh) | 一种关系抽取方法及系统 | |
CN106202010A (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN114118065B (zh) | 一种电力领域中文文本纠错方法、装置、存储介质及计算设备 | |
CN110134968A (zh) | 基于深度学习的诗歌生成方法、装置、设备及存储介质 | |
CN114818891B (zh) | 小样本多标签文本分类模型训练方法及文本分类方法 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
CN112860896A (zh) | 语料泛化方法及用于工业领域的人机对话情感分析方法 | |
CN113705196A (zh) | 基于图神经网络的中文开放信息抽取方法和装置 | |
Narayanaswamy | Exploiting BERT and RoBERTa to improve performance for aspect based sentiment analysis | |
CN114492661B (zh) | 文本数据分类方法和装置、计算机设备、存储介质 | |
CN110263321B (zh) | 一种情感词典构建方法及系统 | |
CN117787226A (zh) | 标签生成模型训练方法、装置、电子设备及存储介质 | |
CN114239589A (zh) | 语义理解模型的鲁棒性评估方法、装置及计算机设备 | |
CN112132281B (zh) | 一种基于人工智能的模型训练方法、装置、服务器及介质 | |
CN114048301A (zh) | 一种基于满意度的用户模拟方法及系统 | |
CN110852112B (zh) | 词向量嵌入方法及装置 | |
EP4227850A1 (en) | Program, learning method, and information processing apparatus | |
CN109446518B (zh) | 语言模型的解码方法及解码器 | |
CN111723186A (zh) | 用于对话系统的基于人工智能的知识图谱生成方法、电子设备 | |
CN115526162A (zh) | 基于启发式证据句抽取及实体表示增强的文档级关系抽取方法及系统 | |
CN115203388A (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 |