Stanford CS224d Deep Learning NLP Lecture 2 笔记

Lecture 2

wordnet程序

在第二个Slide中,展示了一个程序,用以查询panda的hepyernyms(),运行这段代码,需要以下基本条件

  • 安装nltk
  • 下载nltk的wordnet corpus

我直接使用了anaconda3,已经包含了nltk,然后使用如下操作

import nltk
nltk.download() # 启动nltk的下载对话框

进入nltk下载对话框后,选择wordnet并下载即可

corpus

奇异值分解(SVD)程序

Slide中给出的代码是不完整的,完整的代码如下

import matplotlib.pyplot as plt
import numpy as np

la = np.linalg

words = ["I", "like", "enjoy", "deep", "learning", "NLP", "flying", "."]

X = np.array([[0, 2, 1, 0, 0, 0, 0, 0],
              [2, 0, 0, 1, 0, 1, 0, 0],
              [1, 0, 0, 0, 1, 0, 0, 0],
              [0, 1, 0, 0, 1, 0, 0, 0],
              [0, 0, 0, 1, 0, 0, 0, 1],
              [0, 1, 0, 0, 0, 0, 0, 1],
              [0, 0, 1, 0, 0, 0, 0, 1],
              [0, 0, 0, 0, 1, 1, 1, 0]])

U, s, Vh = la.svd(X, full_matrices=False)

for i in range(len(words)):
    plt.text(U[i, 0], U[i, 1], words[i])
    print(U[i, 0], U[i, 1], words[i])

plt.show()

执行该代码后,坐标的原点为0,而实际上生成的数据点的范围在-1到1之间:

-0.500720280244 -0.594902810672 I
-0.587765376398 0.626595126507 like
-0.303130083885 0.236299127325 enjoy
-0.320179799704 -0.217889331762 deep
-0.181169172018 0.0290884408831 learning
-0.289542804335 -0.306905784127 NLP
-0.168314597948 -0.172660688637 flying
-0.253812929244 0.159082191646 .

因此,在图像显示页面需要做一些设置,点击Edit curve lines and axes parameters,做如下设置

axeparameter

发表评论

电子邮件地址不会被公开。 必填项已用*标注