Machine learning NLP-嵌入选择句子标记的“开始”和“结束”

Machine learning NLP-嵌入选择句子标记的“开始”和“结束”,machine-learning,nlp,deep-learning,word2vec,word-embedding,Machine Learning,Nlp,Deep Learning,Word2vec,Word Embedding,假设我们正在训练一个神经网络模型来学习从以下输入到输出的映射,其中输出为(NE) 输入:欧盟拒绝德国抵制英国羔羊肉的呼吁 输出:组织杂项 创建一个滑动窗口来捕获上下文信息,其结果作为模型输入输入输入到训练模型中。滑动窗口生成如下结果: [['<s>', '<s>', 'EU', 'rejects', 'German'],\ ['<s>', 'EU', 'rejects', 'German', 'call'],\ ['EU', 'rejects', 'Ge

假设我们正在训练一个神经网络模型来学习从以下输入到输出的映射,其中输出为(NE)

输入:欧盟拒绝德国抵制英国羔羊肉的呼吁

输出:组织杂项

创建一个滑动窗口来捕获上下文信息,其结果作为模型输入输入输入到训练模型中。滑动窗口生成如下结果:

 [['<s>', '<s>', 'EU', 'rejects', 'German'],\
 ['<s>', 'EU', 'rejects', 'German', 'call'],\
 ['EU', 'rejects', 'German', 'call', 'to'],\
 ['rejects', 'German', 'call', 'to', 'boycott'],\
 ['German', 'call', 'to', 'boycott', 'British'],\
 ['call', 'to', 'boycott', 'British', 'lamb'],\
 ['to', 'boycott', 'British', 'lamb', '.'],\
 ['boycott', 'British', 'lamb', '.', '</s>'],\
 ['British', 'lamb', '.', '</s>', '</s>']]
\
[''‘欧盟’、‘拒绝’、‘德语’、‘呼叫’]\
[‘欧盟’、‘拒绝’、‘德语’、‘呼叫’、‘到’]\
[‘拒绝’、‘德语’、‘呼叫’、‘到’、‘抵制’]\
[‘德语’、‘呼叫’、‘到’、‘抵制’、‘英国’]\
[“号召”、“抵制”、“英国”、“羔羊”]\
[‘to’、‘抵制’、‘英国’、‘lamb’、‘.’\
[“抵制”、“英国”、“羔羊”和“,”\
['British'、'lamb'、'
表示句子开始标记,
表示句子结束标记,每个滑动窗口对应输出中的一个网元

为了处理这些标记,使用预先训练的嵌入模型将单词转换为向量(例如手套),但这些预先训练的模型不包括标记,例如
。我认为
的随机初始化在这里不是一个好主意,因为这种随机结果的规模可能与其他手套嵌入不一致

问题
设置嵌入的建议以及原因?

通常,答案取决于您打算如何在任务中使用嵌入

我怀疑
标记的使用是由LSTM或其他在嵌入层之后的递归神经网络决定的。如果你要训练单词嵌入本身,我建议你干脆去掉这些标记,因为它们不会增加任何价值。开始和停止标记在LSTM中确实很重要(虽然不总是),但它们的单词嵌入可以是任意的,小的随机数就可以了,因为这个向量与所有“正常”向量的距离相等

如果你不想弄乱预先训练好的手套向量,我建议你冻结嵌入层。例如,在tensorflow中,这可以在嵌入查找之后通过op实现。这样网络就不会了解到
和其他词之间的任何关系,但这是完全正确的,任何现有的关系都不会改变