我正在寻找有关使用Bert和Bert的屏蔽语言模型预测多个令牌的建议。
我的数据如下:
上下文:some very long context paragraph
问题:rainy days lead to @placeholder
,对此@placeholder
的答案是wet weather
。在模型中,wet environment
是预测的答案。
因此,在预处理阶段,我应该将文本更改为rainy days lead to [MASK]
还是类似rainy days lead to [MASK] [MASK]
的内容吗?我知道屏蔽的LM在单个令牌预测中效果很好,您认为屏蔽的LM在多个令牌预测中效果很好吗?如果没有,您是否对如何预处理和训练此类数据有任何建议?
非常感谢!
答案 0 :(得分:1)
所以有3个问题:
首先
因此,在预处理阶段,我是否应该将文本更改为下雨天 天导致[蒙版]或类似雨天导致[蒙版] [面具]?
从字面上看,您应该设置[MASK] [MASK]。但是请记住,在BERT中,将遮罩设置为标记角度。实际上,“潮湿的天气”可能用以下符号表示:[潮湿] [潮湿] [## er],在这种情况下,您应该具有[MASK] [MASK] [MASK]。因此,每个令牌一个[MASK]。
第二,
我知道,被掩盖的LM在单个令牌预测中效果很好, 您是否认为遮罩的LM可以在多个令牌上正常工作 预测?
如您在the original paper中所读,他们说:
训练数据生成器选择以下位置的令牌位置的15% 随机进行预测。如果选择了第i个令牌,我们将替换 第(i)个令牌,其中(1)个[MASK]令牌80%的时间是(2)个随机 令牌10%的时间(3)不变的第i个令牌10%的时间。
他们注意到每个句子的MASKED令牌数量没有限制,在BERT培训期间您有几个MASKED令牌。 以我自己的经验,我对BERT进行了几次预训练,并且发现如果我的输入中仅包含一个或多个MASKED令牌,对MASKED令牌所做的预测之间几乎没有差异。
第三,
如果否,您是否对预处理和培训有任何建议 这种数据?
因此答案是肯定的,但是,如果您确实要选择MASK元素(而不是像本文中那样随机选择),则应在对数据进行标记时对MASK进行调整,因为MASKED标记的数量会更大(或等于)设置的字空间中的MASK数量(如我给您的示例:1个单词不等于1个令牌,因此,基本上,1个MASKED单词将是1个或多个MASK令牌)。但老实说,标签化的过程将非常庞大,我建议您增加15%的MASK令牌概率,或者进行一个过程以对每个MASKED令牌(或类似的令牌)进行1或2个下一个令牌的屏蔽。 >