词向量模型
跳到导航
跳到搜索
word2vec、glove 是两种静态的词向量模型,即每个词语只有一个固定的向量表示。BERT 是一种动态的技术,可以根据上下文情景,得到语义变化的词向量。
HuggingFace 网站提供了简易可用的数据集、丰富的预训练语言模型, 通过 sentence-transformer 库,我们可以使用 HuggingFace 内的预训练模型,得到不同情景的文本的语义向量。
特征 | 学习目标 | 输入 | 输出 | 优点 | 缺点 |
Word2vec | 预测上下文词 | 单词 | 词向量 | 简单易用、计算效率高 | 无法捕捉上下文信息 |
GloVe | 预测全局共现概率 | 单词 | 词向量 | 能够捕获全局语义信息 | 训练数据量需求较大 |
Sentence-Transformer | 预测句子之间的语义相似度 | 句子 | 句向量 | 能够捕捉句子之间的细微语义差异 | 计算效率较低 |
FastText | 预测上下文词和子字符 | 单词 | 词向量 | 能够处理未登录词 | 无法捕捉句子之间的语义关系 |
ELMo | 预测上下文词 | 单词 | 词向量 | 能够学习到词语在不同上下文中的不同含义 | 训练数据量需求较大 |
BERT | 预测下一个词和上一个词 | 单词 | 词向量 | 强大的泛化能力 | 训练数据量需求较大、计算效率较低 |
ALBERT | 预测下一个词和上一个词 | 单词 | 词向量 | 训练速度快、参数数量少 | 训练数据量需求较大 |
RoBERTa | 预测下一个词和上一个词 | 单词 | 词向量 | 最先进的性能 | 训练数据量需求较大 |
UniLM | 预测下一个词和上一个词 | 单词和代码 | 词向量和代码向量 | 能够同时处理文本和代码 | 训练数据量需求较大 |