11月28日九十节作业(自然语言处理-词向量)学习总结
一、词向量是表示自然语言里单词的一种方法,是自然语言处理的重要基础和前提
二、把词转化为向量:
Embedding Lookup: 用一个特定的表格(也可以用词典的数据结构,但对计算效率有影响)来储存特定词语的向量,表格第一列为词语,后面为词语对应的向量,通过映射关系进行查找进而转化
三、让向量具有语义信息
1、CBOW:通过上下文的词向量推理中心词。
2、Skip-gram根据中心词推理上下文
3、注:一般来说,CBOW比Skip-gram训练速度快,训练过程更加稳定
四、算法实现
输入层 --> 隐藏层 --> 输出层
CBOW神经网络:
Skip-gram神经网络:
由于CBOW是通过上下文来推理中心词,一般输入层需要输入较多的数据(上下文),通过对上下文内容的处理计算得到中心词;而Skip-gram是通过中心词来推理上下文,一般输入层只输入一个数据(中心词),然后计算出上下文,进而反过来得到中心词的语义信息。
五、使用飞桨实现Skip-gram的训练模型过程
-
数据处理:选择需要使用的数据,并做好必要的预处理工作。
-
网络定义:使用飞桨定义好网络结构,包括输入层,中间层,输出层,损失函数和优化算法。
-
网络训练:将准备好的数据送入神经网络进行学习,并观察学习的过程是否正常,如损失函数值是否在降低,也可以打印一些中间步骤的结果出来等。
-
网络评估:使用测试集合测试训练好的神经网络,看看训练效果如何。