CS224n学习笔记
兔子不吃胡萝卜
这个作者很懒,什么都没留下…
展开
-
cs224n 作业
#!/usr/bin/env python import numpy as np import random from utils.gradcheck import gradcheck_naive from utils.utils import normalizeRows, softmax def sigmoid(x): """ Compute the sigmoid function for the input here. Arguments: x -- A sca原创 2020-07-06 21:51:26 · 337 阅读 · 0 评论 -
ELMO,GPT &BERT
ELMO word2vec无法解决一词多义的问题,比如‘apple’这个词在不同的上下文中语义是不同的: Jobs was the CEO of apple. He ate the apple. 而ELMO能够对多义词进行建模,使用语言模型获得一个上下文相关的预训练表示。 方法: 使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。 预训练好这个语言模型之后,ELMo就是根据下面的公式来用作词表示,其实就是把这个双向语言模型的每一中间原创 2020-07-03 20:04:49 · 221 阅读 · 0 评论 -
[CS224n] n gram & FastText
n gram N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。 每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是一个特征向量维度。 该模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时原创 2020-06-30 22:22:19 · 158 阅读 · 0 评论 -
[CS224n] word2vector & glove
Glove 首先是两种方法: 一个是基于奇异值分解(SVD)的LSA算法,该方法对term-document矩阵(矩阵的每个元素为tf-idf)进行奇异值分解,从而得到term的向量表示和document的向量表示。此处使用的tf-idf主要还是term的全局统计特征。 另一个方法是word2vec算法,该算法可以分为skip-gram 和 continuous bag-of-words(CBOW)两类,但都是基于局部滑动窗口计算的。即,该方法利用了局部的上下文特征(local context)LSA和w原创 2020-06-27 23:48:48 · 194 阅读 · 0 评论 -
[CS224n]Word Vectors
为什么用word vectors? 开始时使用one-hot编码,其中一位为1,其余全为0,向量长度和词表等长。 motel = [0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0] hotel = [0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0] 但是存在以下问题: 词表长度为百万、千万时,one-hot会极其长,而且只有一位是1。 任意两个向量都正交(点乘=0),原创 2020-06-24 23:43:03 · 162 阅读 · 0 评论 -
[CS224n]第一讲 NLP和深度学习入门
一 、什么是自然语言处理(NLP)? 1.NLP是一门横跨了计算机科学、人工智能以及语言学的学科,是人工智能的核心技术之一。目标是让计算机处理和理解自然语言从而可以处理一些实际任务。 2.对语言层次的传统描述: 重点放在句法分析(syntactic analysis)和语义理解(semantic interpretation)方面,简要描述左上角的语音信号分析。 3.NLP的应用 简...原创 2019-04-26 22:06:48 · 194 阅读 · 0 评论