词向量:用数学表示词语
约 7 分钟
计算机怎么理解词的意思?词向量是现代 NLP 的基石--它把词语变成数字,让机器能「计算」语言。
为什么需要词向量:
计算机只懂数字,不懂文字。要让计算机处理语言,第一步就是把文字变成数字。但简单的编码(如 a=1, b=2)没有意义--它不包含语义信息。
词向量的思路:用一串数字(向量)表示一个词的意思,意思相近的词数字也相近。
词向量的核心思想:
语言学有一个假说:「上下文相似的词,意思也相似」。如果你看到「猫坐在沙发上」和「狗坐在沙发上」,猫和狗出现在相似的上下文中,说明它们意思相近。
词向量算法做的就是:统计每个词的上下文,用这些统计信息生成一个向量。
著名的词向量方法:
Word2Vec(2013,Google):用神经网络学习词向量。生成的向量可以做数学运算:
- 国王 - 男人 + 女人 ≈ 女王
- 巴黎 - 法国 + 中国 ≈ 北京
- 这说明向量确实捕获了语义关系
GloVe(2014,斯坦福):基于全局统计信息
BERT 词向量(2018,Google):考虑上下文的动态向量。同一个词在不同句子里有不同的向量
词向量的应用:
- 机器翻译:不同语言的词向量可以对齐
- 情感分析:好的词和坏的词向量方向相反
- 推荐系统:用词向量推荐相似内容
- 搜索引擎:理解查询的语义,不只匹配关键词
词向量的局限:
- 一词多义:旧方法一个词一个向量,但「苹果」可以指水果也可以指公司
- 反义词可能被归为近义:因为反义词常出现在相似上下文中
- 文化偏见:词向量会学习训练数据中的偏见(如「医生」更接近男性词)
练习:用 Word2Vec 的在线演示(如 TensorFlow Embedding Projector),搜索一个词,看它周围的词是什么。你能理解为什么这些词被归在一起吗?
小纸条
词向量是什么?它怎么表示词的意思?有什么应用和局限?
登录 后可看答案