11-28作业:

1. 自然语言和计算机的互通要通过词向量(Word Embedding)来代表每一个词并令计算机能够理解并进行向量计算。而在词向量上,我们有两个问题:1.如何把词转换为向量?   2. 如何让向量具有语义信息? 同时要注意要到通过计算这些向量之间的距离,计算出词语之间的关联关系, 例如离散词汇'香蕉', '西瓜', '公路', 前两者显然是有所关联的。

2. 对于离散词汇转为向量,第一种方法是定义一个二维的列表来存储信息,其中行代表着每个词汇, 列的第一列是词汇名称,其后同行的信息便是该词汇的向量。其实和字典一样,值对应的是一个承载向量的列表就可以。但当运算量增大后,运算效率显然是跟不上我们的需求的。

3. 对于离散词汇转为向量, 第二种方法是利用张量来实现使用GPU的高速运算。

11-28作业:_第1张图片

 首先定义一个字典来创建词汇的索引ID, 每个ID转换为1行n列的列表, 列表符合ID值为1,其他为0的要求, m个词汇则构成了m行n列的矩阵,再与第一种方法所说到的所有字的二维列表进行矩阵运算。

4. 如何让向量具有语义信息?考虑的便是词汇间的关联成分,比如'香蕉', '水果' 和 '物品' 间的关联应该是香蕉-水果大于香蕉-物品的深度。如何做到呢,这其实和RNN是一致的,那便是通过上下文来训练某个词向量的权重。

5. 两种联系上下文的常用方法:

CBOW:通过上下文的词向量推理中心词。

Skip-gram:根据中心词推理上下文。

11-28作业:_第2张图片

 

你可能感兴趣的:(python小白,人工智能)