RNN模型与NLP应用(2/9):文本处理与词嵌入

  Рет қаралды 20,569

Shusen Wang

Shusen Wang

Күн бұрын

下节课 RNN: • RNN模型与NLP应用(3/9):Simpl...
这节课的内容是文本处理以及word embedding(词嵌入)。这节课用一个浅层神经网络来判断movie review是正面还是负面情感。
课件:github.com/wan...
相关视频:
1. 数据处理: • RNN模型与NLP应用(1/9):数据处理基础
2. 词嵌入: • RNN模型与NLP应用(2/9):文本处理与词嵌入
3. Simple RNN: • RNN模型与NLP应用(3/9):Simpl...
4. LSTM: • RNN模型与NLP应用(4/9):LSTM模型
5.RNN的改进: • RNN模型与NLP应用(5/9):多层RNN...
6. 文本生成: • RNN模型与NLP应用(6/9):Text ...
7. 机器翻译: • RNN模型与NLP应用(7/9):机器翻译与...
8. Attention: • RNN模型与NLP应用(8/9):Atten...
9. Self-Attention: • RNN模型与NLP应用(9/9):Self-...

Пікірлер: 74
@ykw3101
@ykw3101 4 жыл бұрын
无废话,细节不含糊,看起好舒服。我要把您的视频看完
@AJ-cb2bz
@AJ-cb2bz Жыл бұрын
没废话,不浪费大家时间,感谢无私分享,知识不藏着,应该也是一个对员工好的领导!
@yuefang1030
@yuefang1030 4 жыл бұрын
王老師講解的太好了, 必須給個評論,這是第一次在youtube上發評論。
@jiangwuheng
@jiangwuheng Жыл бұрын
老师有非常好的表达天赋。希望老师能够出更多的教程。
@bossbig9514
@bossbig9514 3 жыл бұрын
真希望当初能早一点见到这么好的视频,感谢老师
@jarorkwong8042
@jarorkwong8042 3 жыл бұрын
王老师讲得太好了,语言清晰,有逻辑有条理,希望可以继续做更多NLP视频,比如Transformer, GPT, BERT, XLNET,十分期待~
@jarorkwong8042
@jarorkwong8042 3 жыл бұрын
而且代码简单易懂,选的例子也清晰明了
@leejack5209
@leejack5209 2 жыл бұрын
老师讲的是真好呀。
@skyfaded9807
@skyfaded9807 Жыл бұрын
谢谢王老师,能把东西讲的清晰明白😋
@zhihangzhou7141
@zhihangzhou7141 2 жыл бұрын
很好!逻辑清晰明了。
@sciab3674
@sciab3674 5 ай бұрын
谢谢 讲的容易理解
@sevenaac4783
@sevenaac4783 2 ай бұрын
真清楚
@ddp4775
@ddp4775 4 жыл бұрын
讲得真清晰!🙏
@yuhe6058
@yuhe6058 2 жыл бұрын
王老师,我特别感谢您的视频,希望你能越来越多出高质量视频。我学习深度强化学习就是靠您的视频和书入门的,多家比较后才遇到您,数您讲的最清晰透彻。祝您身体健康,万事喜乐! YH 20220825 Aalto
@pengxu8542
@pengxu8542 2 жыл бұрын
请问书名是什么,哪里买得到?
@yuhe6058
@yuhe6058 2 жыл бұрын
@@pengxu8542 王老师的github上有
@jacquepang
@jacquepang Жыл бұрын
1:22 text to sequenxe step 1 tokenization: lowercase/stopwords/typo etc step 2 build dictionary : word - word sequences step 3 one hot encoding step 4 3:56 every wording sequence SHOULD have the same length -> cut off the text or using null zero padding 4:54 one-hot encoding problem could be one-hot encoding : v unique words means each one-hot vectors are v-dimensional --> too sparse (RNN parameter dimension is corresponding to input dimension) --> word embedding to map one-hot vctors to low-dimensinal vectors. 5:56 word embedding P is a parameter matrix that learned from traaning data, its dimension is vxd where v is the dimention of original one-hot vector and d is the "embedding_dimension 词向量" decided by user. P should be learned on cross-validation. 7:11 each row is a wording vector that corresponding to a unique word. Plotting the wording vector for each word, for words with similar sentiment, their distribution should be clustered together. 8:23 keras example for word embedding embedding parameter # = vocabulary # x embedding_dimension d 9:37 keras example for classification based on logistic regression flatten - flatten the embedding dimension d to a 1-d array dense - fully connected layer using sigmoid 12:18 how to choose epoches number - training 50 epoches to achive stable validation acc 14:35 review of keras code on parameter settings
@cicerochen313
@cicerochen313 Жыл бұрын
Thanks a lot for your kindness.
@Zero-gm9fe
@Zero-gm9fe 8 ай бұрын
王老师您好,看了您的视频我收益良多,我是一个初学者,可以礼貌问一下您的文本处理与词嵌入的代码所需的python版本、库列表及源代码吗?感谢
@wangrichard2140
@wangrichard2140 4 жыл бұрын
太棒了 非常清楚
@junyingchen1140
@junyingchen1140 2 жыл бұрын
王老师,您讲的非常棒!非常受益!请问您有带编程课吗?想动手实践,不知道怎么学习
@yuhe6058
@yuhe6058 2 жыл бұрын
王老师,RNN模型与NLP应用(2/9):文本处理与词嵌入,在7:43时,您的例子中显示good/fun/fantastic三个单词在二维词向量坐标系中位置接近,为啥词向量就能体现出单词含义之间的相似性呢?
@lancezhang892
@lancezhang892 11 ай бұрын
请问王老师,这里的字典是否是已经定义好的了,才有的build dictionary with index
@tr77229591
@tr77229591 3 жыл бұрын
讲的很好啊。厉害
@xinyuanwang3805
@xinyuanwang3805 3 жыл бұрын
支持
@guidohwang6003
@guidohwang6003 3 жыл бұрын
无敌
@yasongShi-t1x
@yasongShi-t1x 10 ай бұрын
赞!
@lancezhang892
@lancezhang892 11 ай бұрын
有何疑问是这里面只是用了一个sequence 做例子,那么其他的sequence[i]的dictionary里的词是否也同样的被编码成同样的数字?
@rivershi8273
@rivershi8273 2 жыл бұрын
想问一下老师,这个bach size具体是什么,我在网上查找了,一般他们会选择32,64,128,这是为什么?
@walesmith1672
@walesmith1672 2 жыл бұрын
样本的个数吧
@lancezhang892
@lancezhang892 11 ай бұрын
还是说,sequence[2],sequence[3],......sequence[i]都是vacabulary 里的
@lancezhang892
@lancezhang892 11 ай бұрын
字典里单词数量的那个矩阵d x v中的两个向量里面的数值是如何定义的?
@lancezhang892
@lancezhang892 11 ай бұрын
将2万条数据扫一遍是不是就是建立了对词汇的编码,之后再将编码好的sequence[i]放进模型里训练?
@lancezhang892
@lancezhang892 11 ай бұрын
(d x v).Transpose()中每一行都是单词,那么每行的单词是通过训练得到的话,是否是每行的向量不同的
@ximingdong503
@ximingdong503 4 жыл бұрын
好厉害 谢谢啦
@lancezhang892
@lancezhang892 11 ай бұрын
还是说不同的dictionary 是不同的词典,那么给token编号的话是否就不一致了?
@Jason-zb8xq
@Jason-zb8xq 4 жыл бұрын
Great talk & greetings from an ex-ZJUer.
@dayday3923
@dayday3923 4 жыл бұрын
ZJU好, 来自紫金港的匿名问好
@zhenhualiu6349
@zhenhualiu6349 4 жыл бұрын
王老师好, 视频当中提到了embedding_dim 维度是8, 这个值是通过cross validation决定的, 请教一下什么是cross validation
@ShusenWang
@ShusenWang 4 жыл бұрын
cross validation用来选超参数。这是ML最基础的一个概念,我就没解释。建议搜一下cross validation,看一下解释。 zh.wikipedia.org/wiki/%E4%BA%A4%E5%8F%89%E9%A9%97%E8%AD%89
@zhenhualiu6349
@zhenhualiu6349 4 жыл бұрын
@@ShusenWang 非常感谢
@zhiweisong4617
@zhiweisong4617 3 жыл бұрын
王老师您好。在 step 3 one-hot encoding处我觉得有点奇怪,原因是我理解的one hot encoding是把信息变成0 1 的编码值,但是这里的sequences里面存储的是每一个word 的索引,是不是应该把sequence再转化为一个0 1矩阵之后才能叫做one hot encoding?
@zhiweisong4617
@zhiweisong4617 3 жыл бұрын
我觉的在视频3:10处是一个笔误,因为后面有one-hot encoding 的部分把sequence 转化为一个0 1 matrix。所以老师我觉得这里写encoding 而不是one-hot encoding是不是更好一些?
@ShusenWang
@ShusenWang 3 жыл бұрын
one-hot encoding通常表示成01向量。但是压缩成index也不丢信息。
@yunzhang2553
@yunzhang2553 3 жыл бұрын
@@ShusenWang 谢谢解答。那什么情况下不能用index而必须要用one-hot encoding呢?谢谢
@ShusenWang
@ShusenWang 3 жыл бұрын
@@yunzhang2553 有时候必须要用向量的形式。你看一下上一个视频,有具体的例子。
@yunzhang2553
@yunzhang2553 3 жыл бұрын
@@ShusenWang 好哒,谢谢Dr Wang!
@或许不再
@或许不再 3 жыл бұрын
王老师考虑去b站开个号吗??
@小生-b6j
@小生-b6j 3 жыл бұрын
老師您好,我有一個小疑問,像3:29講的text to sequence,上面的標題是寫one hot encoding,只是如果是one hot encoding的話,每一個text產出的向量應該要跟vocabulary的數量一樣,而w0只有52維, w5只有90維,但vocabulary的數量至少上千甚至破萬,而且兩個向量的相同位置的components應該要代表著相同的意思才對,像老師上一篇講到國籍這種categorical feature,做完one-hot encoding, 美國=[1,0,0,...0] 中國=[0,1,0,0,0...0]。 比方說(先不管時態): 1. I am a boy 2. the boy play a ball 3.I play with a boy so dictionary should be{I:1, am:2, a:3, boy:4, the:5, play:6, ball:7, with:8} text to sequence I am a boy →[1,1,1,1,0,0,0,0] the boy play a ball →[0,0,1,1,1,1,1,0] I play with a boy →[1,0,1,1,0,1,0,1] 不知道我的理解是否錯誤,請老師指教
@小生-b6j
@小生-b6j 3 жыл бұрын
但我認為老師的作法並沒有錯,但是這邊的名稱是不是不應該稱作one-hot encoding,應該是在分類問題中,針對y值才需要做的。
@DED_Search
@DED_Search 3 жыл бұрын
首先每个词是一个one hot vector, 不是一个句子。比如 i am a boy 作为输入应该是 8 by 4 的矩阵
@DED_Search
@DED_Search 3 жыл бұрын
然后3:29那里 sequence只是标出每个词的 frequency而已最后feed into 模型的时候 老师选了20个word 这样不就规整了么
@小生-b6j
@小生-b6j 3 жыл бұрын
@@DED_Search 所以在feed進模型時,是一個字一個字feed嗎
@liu680
@liu680 2 жыл бұрын
@@小生-b6j 一年多了,回复下。你的例子有8个vocabulary,每个词用one hot之后变8维,第一句话是4个8维,第二个是5个8维。。。但这样feed时候就不一致,所以每句只用后四个词,每句都变成4x8。feed时候每次都feed一整句话,4x8。然后就进入embedding,因为一个词用8维太多,所以embedding一下,比如用3维,每句话从4x8变成4x3。接下来就flatten和全联接。
@leedavid5214
@leedavid5214 3 жыл бұрын
你好。我使用了相同的training data,在本节课logistic regression和下节课SimpleRNN都得到了相同的准确率84%,是否可以说明一层LR与一层SimpleRNN的性能相同?
@ShusenWang
@ShusenWang 3 жыл бұрын
这么厉害?用了什么技巧? LR有个问题,做concatenation,上面的全连接层太大,参数太多,计算慢,容易过拟合。
@leedavid5214
@leedavid5214 3 жыл бұрын
@@ShusenWang 我没用什么技巧,我正在学习阶段,所以正在复现你视频中的这些model。我发现你此节使用的数据,与下一节使用的数据并不一样,所以自然而然想到如果使用同一数据,那么准确率如何? 这样,我将我的读入数据的参数发给你,你实验一下如何?也可能是我有错呢。
@ShusenWang
@ShusenWang 3 жыл бұрын
@@leedavid5214 我明白是怎么回事了。你做的应该是对的。simple rnn 的优势未必在于accuracy,而是其他方面。
@leedavid5214
@leedavid5214 3 жыл бұрын
@@ShusenWang 那么回到初始问题:一层LR与一层SimpleRNN,在准确率方面是一样的,可以这么说吧。
@ShusenWang
@ShusenWang 3 жыл бұрын
@@leedavid5214 这个不一定吧。还得看数据大小。要是数据很小,Embedding用word2vec预训练,那么rnn应该比lr好。
@user-system6creaters
@user-system6creaters Жыл бұрын
手指識字的特異功能,在讀到「佛」的時候腦海中看到光, 其他字都是正常讀取
@user-system6creaters
@user-system6creaters Жыл бұрын
線性代數之中有個轉換矩陣的運算, 佛經中說不是正合即為顛倒「」 (所以不一定是相反)
@yutingchen4029
@yutingchen4029 4 жыл бұрын
请问有代码分享吗谢谢!
@ShusenWang
@ShusenWang 4 жыл бұрын
这本书里面有代码:François Chollet-Deep Learning with Python (2018) 这本书网上有下载
@zhaoqiansu8606
@zhaoqiansu8606 2 жыл бұрын
@@ShusenWang 谢谢老师!非常得帮助!
@zhihangzhou7141
@zhihangzhou7141 2 жыл бұрын
我每次到网上查资料都有一个无解的问题,那就是每次看不懂的时候都会纠结到底是我英语差,还是逻辑难懂,还是视屏本身就很烂?
@junweizhang
@junweizhang 4 жыл бұрын
大陆李宏毅.
@jacquepang
@jacquepang Жыл бұрын
请教一下embedding_dimension = 8 8的物理含义是什么呢? 类似PCA把one-hot sparse vector降维成8维 preserves the best of origin one-hot encoding ?
@pggg5001
@pggg5001 Жыл бұрын
可以这么理解,但有个很重要的区别 PCA是正向计算,而且是只考虑数学意义上的“距离”,推导出principle component 但embdedding得到的embedding layer(其实就是那个embedding weight matrix),是通过训练在不断minimize loss的过程中反推出来的,因为是训练出来的,所以最后得到的新的embdeding vector space的基向量是和语义”semantic“有关系的
@minggai8582
@minggai8582 Жыл бұрын
天朝没事就喜欢屏蔽,哎。
@dayday3923
@dayday3923 4 жыл бұрын
哈, 兲潮~但凡聪明有本事的人都不会是小粉红
@programmer8064
@programmer8064 2 жыл бұрын
同样的道理,但凡聪明有本事的人都不会是恨国党
RNN模型与NLP应用(3/9):Simple RNN模型
20:50
Shusen Wang
Рет қаралды 21 М.
RNN模型与NLP应用(6/9):Text Generation (自动文本生成)
23:24
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 119 МЛН
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 183 МЛН
RNN模型与NLP应用(4/9):LSTM模型
13:02
Shusen Wang
Рет қаралды 26 М.
RNN模型与NLP应用(1/9):数据处理基础
10:57
Shusen Wang
Рет қаралды 34 М.
什么是词嵌入,Word Embedding算法
6:49
小黑黑讲AI
Рет қаралды 1,3 М.
RNN模型与NLP应用(8/9):Attention (注意力机制)
16:51
Shusen Wang
Рет қаралды 31 М.
RNN模型与NLP应用(5/9):多层RNN、双向RNN、预训练
12:16
RNN模型与NLP应用(7/9):机器翻译与Seq2Seq模型
19:37
Shusen Wang
Рет қаралды 17 М.
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 119 МЛН