diff --git a/fit_a_line/index.en.html b/fit_a_line/index.en.html index 108658521aea56fa95ff05c11fa1194595186856..3039e0384bcda3502a04f6be03be4127506735e4 100644 --- a/fit_a_line/index.en.html +++ b/fit_a_line/index.en.html @@ -176,7 +176,6 @@ y_predict = paddle.layer.fc(input=x, y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) cost = paddle.layer.regression_cost(input=y_predict, label=y) ``` - ### Create Parameters ```python diff --git a/fit_a_line/index.html b/fit_a_line/index.html index c4743f7f9f18096c5ed4f339915f4a16b9ed2fb1..f5d57632337d3c1345475f1811b60b672293478e 100644 --- a/fit_a_line/index.html +++ b/fit_a_line/index.html @@ -170,7 +170,6 @@ y_predict = paddle.layer.fc(input=x, y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) cost = paddle.layer.regression_cost(input=y_predict, label=y) ``` - ### 创建参数 ```python diff --git a/index.html b/index.html index d17feb4ce5f054534766271f50d906e3d1c3fc1a..bf9b2556d16743fd87ce95eb2a62fa066a732928 100644 --- a/index.html +++ b/index.html @@ -21,6 +21,15 @@ + + diff --git a/machine_translation/index.html b/machine_translation/index.html index 7f6e9aaa514227765b64b8e75f63007fcd71dc1f..78a7ea99b9a3d884040b5671f49136b48a7852a5 100644 --- a/machine_translation/index.html +++ b/machine_translation/index.html @@ -352,6 +352,7 @@ wmt14_reader = paddle.batch( - gru_step通过调用`gru_step_layer`函数,在decoder_inputs和decoder_mem上做了激活操作,即实现公式$z_{i+1}=\phi _{\theta '}\left ( c_i,u_i,z_i \right )$。 - 最后,使用softmax归一化计算单词的概率,将out结果返回,即实现公式$p\left ( u_i|u_{<i},\mathbf{x} \right )=softmax(W_sz_i+b_z)$。 + ```python def gru_decoder_with_attention(enc_vec, enc_proj, current_word): @@ -421,7 +422,7 @@ wmt14_reader = paddle.batch( name='target_language_next_word', type=paddle.data_type.integer_value_sequence(target_dict_dim)) cost = paddle.layer.classification_cost(input=decoder, label=lbl) - ``` + ``` 注意:我们提供的配置在Bahdanau的论文\[[4](#参考文献)\]上做了一些简化,可参考[issue #1133](https://github.com/PaddlePaddle/Paddle/issues/1133)。 ### 参数定义 diff --git a/recommender_system/index.html b/recommender_system/index.html index 18658da7404ea8ee36291a02285fee673322ab9b..3b850765d2ff0e9a340a4c1a9e0f2baf430ee8b2 100644 --- a/recommender_system/index.html +++ b/recommender_system/index.html @@ -334,6 +334,7 @@ parameters = paddle.parameters.create(cost) `parameters`是模型的所有参数集合。他是一个python的dict。我们可以查看到这个网络中的所有参数名称。因为之前定义模型的时候,我们没有指定参数名称,这里参数名称是自动生成的。当然,我们也可以指定每一个参数名称,方便日后维护。 + ```python print parameters.keys() ``` diff --git a/word2vec/index.html b/word2vec/index.html index d170339958856dd607f5f406884e574fa7f12193..aed695d5d01c929078af1c498ad5ec6d717e21a5 100644 --- a/word2vec/index.html +++ b/word2vec/index.html @@ -251,6 +251,7 @@ N = 5 # 训练5-Gram 接着,定义网络结构: - 将$w_t$之前的$n-1$个词 $w_{t-n+1},...w_{t-1}$,通过$|V|\times D$的矩阵映射到D维词向量(本例中取D=32)。 + ```python def wordemb(inlayer): wordemb = paddle.layer.table_projection( @@ -378,6 +379,7 @@ trainer.train( ## 应用模型 训练模型后,我们可以加载模型参数,用训练出来的词向量初始化其他模型,也可以将模型查看参数用来做后续应用。 + ### 查看词向量 PaddlePaddle训练出来的参数可以直接使用`parameters.get()`获取出来。例如查看单词的word的词向量,即为 @@ -427,6 +429,9 @@ emb_2 = embeddings[word_dict['would']] print spatial.distance.cosine(emb_1, emb_2) ``` + 0.99375076448 + + ## 总结 本章中,我们介绍了词向量、语言模型和词向量的关系、以及如何通过训练神经网络模型获得词向量。在信息检索中,我们可以根据向量间的余弦夹角,来判断query和文档关键词这二者间的相关性。在句法分析和语义分析中,训练好的词向量可以用来初始化模型,以得到更好的效果。在文档分类中,有了词向量之后,可以用聚类的方法将文档中同义词进行分组。希望大家在本章后能够自行运用词向量进行相关领域的研究。