语言的地位
语言,或者说文字,是人类区别于其他生物最本质的特征
自然语言的复杂性
- 一词多义(Polysemous),例如bank可以表示银行,也可以表示河岸
- 词汇众多,而且不断有新词产生,例如网络用语
- 大众的口语经常是不遵从基本语法的
怎么表示一个词
- 研究自然语言最通用的应用就是计算词语之间的相似性,如果能知道相似性,就能完成找近义词(Synonyms)、找反义词(Antonyms)、推理(Analogy)等任务
- 传统方法(2013年之前),WordNet,“is a”,考虑单词本身含义,类似查字典,localist representation,one-hot vector,sparse,
- 传统方法的问题:向量空间大,向量稀疏,向量之间的距离不能表示词语之间含义的距离
- 深度学习方法(2013年至今),Word2Vec,“in a context of”,考虑词语上下文语境,类似句子填空,distributional semantics,word embedding,dense
怎么训练得到词向量
- 方法:CBOW、Skip-grams
- 目标函数:极大似然估计
- 预测函数、条件概率:SoftMax
- 优化:随机梯度下降
- 词频分布不平衡:Negative Sampling
怎么做词向量的可视化
通过数据降维,例如PCA,t-SNE等
可能存在的问题
偏见(Bias),性别上的,或者人种上的等等
例如下面的例子。
让模型做类比推理,
如果男性对应老板,那么女性对应什么? 结果也是老板、管理者,甚至只是接待员(receptionist);
如果女性对应老板,那么男性对应什么?结果却是最高领导人(supremo),顶头上司(head_honcho)等等