词向量常见方法
| 类型 | 代表方法 | 核心思路 |
|---|---|---|
| 独热编码 | One-hot | 用一个位置标识一个词,不表达语义关系 |
| 词袋模型 | BoW、Count Vector | 用各个词的出现次数表示文本 |
| 词频加权 | TF-IDF | 词在当前文档中越常见、在其他文档中越少见,权重越高 |
| 共现统计与降维 | PPMI、LSA/SVD | 利用词的共现关系,构建或压缩向量 |
| 静态词向量 | Word2Vec、GloVe | 学习语义表示,每个词对应一个固定向量 |
| 子词词向量 | FastText | 利用字符片段构建词向量,可处理未登录词 |
| 上下文词向量 | ELMo、BERT | 根据上下文生成向量,同一个词可以有不同表示 |
补充:
Word2Vec 的两种方式:
- CBOW:用周围的词预测中心词,通常训练更快。
- Skip-gram:用中心词预测周围的词,通常对低频词更友好。
词向量选择
| 方法 | 适合什么场景 | 举例 | 主要局限 |
|---|---|---|---|
| One-hot | 只需要区分词或类别身份 | 标识词表中的"苹果""香蕉" | 无法体现两个词意思相近,词表大时维度高 |
| BoW 词袋 | 词的出现次数能帮助判断类别 | 用"中奖""领取"等词识别垃圾短信 | 忽略词序和语义 |
| TF-IDF | 关键词提取、按关键词找文章、传统文本分类 | 提取新闻关键词;给文章分"体育""财经" | 难以匹配字面不同、意思相近的表达 |
| PPMI / LSA | 分析词的共现关系、压缩文本特征、探索潜在主题 | 把大量文章压缩成少量主题相关特征 | 对复杂语境理解有限 |
| Word2Vec / GloVe | 找相近的词;给较轻量的神经网络提供词特征 | 找"汽车"的相关词;作为文本分类模型的输入 | 同一个词只有一个向量,难区分多义词 |
| FastText | 低频词、新词多,或词形变化丰富 | 英文评论中出现训练时没见过的词形 | 子词有助于表示新词,但不保证理解其含义 |
| ELMo / BERT | 必须结合上下文理解词义的任务 | 判断"苹果"指水果还是公司;识别人名;阅读理解 | 计算成本较高,通常需要结合任务训练 |