本次assignment的内容和lecture 1的目标一致,主要介绍词向量。词向量的实现方式有很多种,这里介绍了两种:基于共现矩阵得到的词向量和基于word2vec得到的词向量。
基于共现矩阵得到词向量
得到共现矩阵的词向量在程序上需要经历以下几个步骤:
- 载入语料,给每句话都加上start和end token:
def read_corpus(category="crude"):
- 得到词典:
def distinct_words(corpus):
- 计算共现矩阵
def compute_oc_currence_matrix(corpus, window_size=4):
- 使用奇异值分解对共现矩阵降维(这里降成二维主要是为了在坐标轴中展示)
def reduce_to_k_dim(M, K=2):
- 使用matplotlib展示
def plot_embeddings():
prediction-based word vectors
本部分主要是使用了现成的word2vec矩阵来验证一些自然语言规律,比如说同义词,一词多义等等
感受
- 字典的运用要扎实
- 关于gensim: https://www.jianshu.com/p/e21b59a46e4c
- 关于scipy: https://www.jianshu.com/p/1a3db06e786d
- 关于sklearn: https://www.jianshu.com/p/cd5a929bec33
网友评论