BERT 模型如何区分具有不同含义的单词,例如#Transformers,如电影名称或 @huggingface 的库名称?
BERT 模型如何区分不同含义的单词?
数据挖掘
nlp
伯特
2022-02-28 23:39:11
1个回答
BERT 模型处理的是句子,而不是单词:transformer 架构中的自注意力是考虑句子中所有其他标记的每个标记。
“我将在 Python 中实现变形金刚”与“今晚晚些时候我将在电视上观看变形金刚”——应该有足够的周围环境来区分它们。即约翰·弗斯的名言:“你会知道它所拥有的公司的一个词。”
请注意,对于相同的标记 (*),嵌入层的输出(通常馈送到第一个转换器层)是相同的:此时模型无法区分差异。只有当它通过每一层时,它与其他令牌的交互才能使区别出现。
能够区分它们还依赖于模型已经看到了足够的训练句子,其中使用了每个词的含义。
*:学究式地,在输入第 1 层之前添加了位置代码。