[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
自然语言处理的基本方法基于词向量的表达:
1.count-based 设置一个词窗口,然后根据这个词窗口生成共现矩阵,然后进行SVD分解
2.prediction-based
这种方法最后一步softmax的计算量太大,要对几十万维的向量进行点积,一般流行把softmax改为sigmoid函数,正确的例子,结果靠近1,负采样得到一些错误的例子,结果靠近0,一起参与训练
ELMO 一共4层
基于上下文的embedding,一个词对应的词向量根据它的上下文,它具体表达的意思,是会变的
全名 embeddings from language models,
双层双向LSTM预训练,也是prediction-based,输入层表示单词特征,第二层表示句法特征,第三层表示语义特征,这三个层的code可以一起作为下游任务的输入,具体的权重,在下游任务训练时获得
此模型可以获得某个单词的具体意思,同一个单词在2个句子中的意思是否相同,必须将两个句子全部输入模型,获得对应单词的code,再进行比较
NNLM 一共4层
1:输入层,多个输入
2:投影层,有多少个输入,就有多少个分布式词向量。输入层到投影层的矩阵是共享的
3:tanh
4:softmax输出层,输出预测的下一个词的one-hot encoder
CBOW 一共3层
1:输入层,多个输入
2:投影层,输入对应的词向量求和
3:softmax输出层,输出预测的下一个词的one-hot encoder
Skip-gram 一共3层
1:输入层,1个输入
2:投影层,1个词向量
3:softmax输出层,输出预测的周围N个词的one-hot encoder
上面的softmax由于需要跟所有的词向量进行点积,极其消耗时间,所以提出了以下2种解决方法:
1:层次softmax,建立一棵霍夫曼树,叶子节点对应一个个词,从根节点到叶子节点的一个个非叶节点代表一个个sigmoid函数,一次类别分叉。通过输入和输出建立一条从根节点到叶节点的链路,优化这条链路上的非叶节点的参数
2:负采样。将最后的softmax改为sigmoid,将一个正确的one-hot encoder和k个错误的one-hot
encoder都作为输入,输入正确的one-hot encoder,转化为词向量,结果趋向1,输入采样出来的错误的one-hot
encoder,转化为词向量,结果趋向于0