“分类:机器学习尤其是自然语言处理学习材料”的版本间的差异
来自Big Physics
(→书) |
(→练手小项目) |
||
(未显示2个用户的48个中间版本) | |||
第1行: | 第1行: | ||
[[分类:机器学习]] | [[分类:机器学习]] | ||
[[分类:语言研究]] | [[分类:语言研究]] | ||
+ | [[分类:吴金闪]] | ||
+ | [[分类:胡韧奋]] | ||
− | + | 这里整理了机器学习,尤其是其中的自然语言处理,的学习材料。这个学习材料请各位再补充一下,例如文献、作业、素材等。 | |
==课程== | ==课程== | ||
− | # | + | # 主学习目标课程:Chris Manning和Richard Socher的《Natural Language Processing with Deep Learning》课程,Stanford CS224N,http://onlinehub.stanford.edu/cs224 这是一个传送门:https://www.bilibili.com/video/av46216519/ |
− | # | + | # 参考课程:YSDA Natural Language Processing course, 视频、作业程序 https://github.com/yandexdataschool/nlp_course |
− | # | + | # 参考课程:CMU CS 11-747 http://phontron.com/class/nn4nlp2019/ 传送门:https://www.bilibili.com/video/av40929856/ |
− | # | + | # 参考课程:Andrew Ng和Kian Katanforoosh的 《Deep Learning》课程,Stanford CS230, http://onlinehub.stanford.edu/cs230 |
+ | # 参考课程:Andrew Ng的系列课程,https://study.163.com/my#/smarts | ||
+ | # 参考课程:CS520 斯坦福大学2020春季知识图谱课程 传送门:https://www.bilibili.com/video/BV12k4y1R76Q | ||
+ | # 参考课程:Patrick Henry Winston MIT 6.034 人工智能 传送门:https://www.bilibili.com/video/av84826023 | ||
==书== | ==书== | ||
第14行: | 第19行: | ||
# Yoav Goldberg 《Neural Network Methods for Natural Language Processing》教材, [https://github.com/shucunt/book/blob/master/2017%20-%20Neural%20Network%20Methods%20for%20Natural%20Language%20Processing.pdf 链接] | # Yoav Goldberg 《Neural Network Methods for Natural Language Processing》教材, [https://github.com/shucunt/book/blob/master/2017%20-%20Neural%20Network%20Methods%20for%20Natural%20Language%20Processing.pdf 链接] | ||
# Dan Jurafsky and James H. Martin 《Speech and Language Processing》 (3rd ed.) 教材, [https://web.stanford.edu/~jurafsky/slp3/ 链接] | # Dan Jurafsky and James H. Martin 《Speech and Language Processing》 (3rd ed.) 教材, [https://web.stanford.edu/~jurafsky/slp3/ 链接] | ||
+ | # Delip Rao, Brian McMahan, Natural Language Processing with PyTorch: Build Intelligent Language Applications Using Deep Learning,入门上手教程 | ||
==原始论文== | ==原始论文== | ||
# T Mikolov, K Chen, G Corrado, J Dean, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781. | # T Mikolov, K Chen, G Corrado, J Dean, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781. | ||
# T Mikolov, I Sutskever, K Chen, GS Corrado, J Dean, Distributed representations of words and phrases and their compositionality, Advances in neural information processing systems, 3111-3119. | # T Mikolov, I Sutskever, K Chen, GS Corrado, J Dean, Distributed representations of words and phrases and their compositionality, Advances in neural information processing systems, 3111-3119. | ||
+ | # Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014. GloVe: Global Vectors for Word Representation, https://nlp.stanford.edu/projects/glove/ | ||
+ | # Omer Levy, Yoav Goldberg and Ido Dagan, Improving Distributional Similarity with Lessons Learned from Word Embeddings, https://doi.org/10.1162/tacl_a_00134 | ||
+ | # P. Bojanowski, E. Grave, A. Joulin, T. Mikolov, Enriching Word Vectors with Subword Information | ||
+ | # A. Joulin, E. Grave, P. Bojanowski, T. Mikolov, Bag of Tricks for Efficient Text Classification | ||
+ | # A. Joulin, E. Grave, P. Bojanowski, M. Douze, H. Jegou, T. Mikolov, FastText.zip: Compressing text classification models | ||
+ | # Quoc V. Le, Tomas Mikolov, Distributed Representations of Sentences and Documents | ||
+ | # A Grover, J Leskovec, node2vec: Scalable Feature Learning forNetworks,KDD2016 | ||
+ | # Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding | ||
+ | # Maximilian Nickel, Douwe Kiela, Poincaré Embeddings for Learning Hierarchical Representations arXiv:1705.08039(在黎曼几何而不是欧氏几何中学习矢量表示) | ||
==科普和讲解== | ==科普和讲解== | ||
第23行: | 第38行: | ||
# 刘知远 《大数据智能》 | # 刘知远 《大数据智能》 | ||
# jaylin008, word2vec与cw2vec的数学原理, https://www.jianshu.com/p/f258d0c5c317 | # jaylin008, word2vec与cw2vec的数学原理, https://www.jianshu.com/p/f258d0c5c317 | ||
+ | # Making sense of word2vec,几种表示算法之间的联系,尤其是word2vec和词共现矩阵之间的联系, https://rare-technologies.com/making-sense-of-word2vec/ | ||
+ | # Andrej Karpathy blog,这个研究者记录了自己的学习和思考过程,从一个学生到机器学习领域的专家的过程,并且分享对很多算法、博士生涯的理解 http://karpathy.github.io/2015/05/21/rnn-effectiveness/ | ||
− | == | + | ==平台、算法和素材== |
− | # 平台:http://hpc.systemsci.org (需要hpc.systemsci. | + | # 平台:http://hpc.systemsci.org (需要hpc.systemsci.org的linux用户账号,不对公众开放,仅供研究团队内部使用)或者胡韧奋老师的平台 |
− | # 平台搭建:anaconda和jupyter (https://www.anaconda.com/) , pytorch(https://pytorch.org/tutorials/) | + | # 平台搭建:anaconda和jupyter (https://www.anaconda.com/) , pytorch(https://pytorch.org/tutorials/), genism(https://radimrehurek.com/gensim/) |
− | # | + | # word2vec和GloVe: 顺序读取词袋或者利用词语共现矩阵学习词表示。[https://nlp.stanford.edu/projects/glove/ 链接]。在上面列出的[http://onlinehub.stanford.edu/cs224 Stanford CS224N课程]里面有很好的讲解。 |
+ | # fasttext: 以训练分类标签为目标,产生词向量的副产物,并集成了subword信息。[https://github.com/facebookresearch/fastText 链接] | ||
+ | # ELMo: 基于双向语言模型(采用LSTM模型)学习contextualized word embedding,真正意义上实现了一词多表示。[https://allennlp.org/elmo 链接] | ||
+ | # BERT: 基于双向语言模型(采用深层Transformer模型),将其隐层表示取出,可以得到更高效的contextualized embedding表示。[https://github.com/google-research/bert 链接] | ||
+ | # GPT | ||
+ | # 素材:(请胡韧奋补充一下) | ||
+ | |||
+ | ==讨论班安排== | ||
+ | # 讨论班目标: | ||
+ | ## 了解机器学习基本概念,解决什么问题、有哪些典型应用、大概怎么做、粗略的道理 | ||
+ | ## 了解自然语言处理基本概念,解决什么问题、有哪些典型应用、大概怎么做、粗略的道理 | ||
+ | ## 会调用其他研究者编好的工具包来解决自己的问题 | ||
+ | ## 会提出适合用机器学习,尤其是自然语言处理,解决的问题 | ||
+ | ## 发展算法本身 | ||
+ | # 讨论班方式:课程采用讨论班成员自己看、有带头人的集中讨论的模式。学习材料按照进程安排自己先看。看的时候把问题在学习班文件中(可以开一个石墨文档)记下来。带头人还需要把主要内容梳理出来,用概念地图的方式带领大家来思考、讨论、解答问题、学习资源整合。吴金闪会做一个展示,后续每位成员认领相应学习材料的带头人。 | ||
+ | # 讨论班进度安排:待进一步细化 | ||
+ | ## 开班前:分发这个学习材料,参与成员决定自己负责讲解的材料。其中对于没有系统学习过自然语言处理的参与者,Stanford CS224N是必看材料。然后,认领一次或者两次课,来串讲一下。串讲主要是整理思路,不能代替各自自己看。此外,在讲某一个视频或者论文的时候,最好能够做到把相关的基础和概念在其他什么视频中、论文中联系起来。认领材料的同时,在讨论群里面决定后续时间安排。 | ||
+ | ## 第一次:吴金闪讲一讲自然语言处理,尤其是矢量表示算法,在自己的研究中主要完成什么,以及自己对矢量表示算法以及其他自然语言处理,甚至一般的机器学习的理解。胡韧奋讲一讲自然语言处理概述以及重点讲一讲矢量表示算法,并且做几种自然语言处理技术的展示。Stanford CS224N课程的一次或者两次课的串讲,有必要的话,结合Deep Learning书和Andrew的视频。 | ||
+ | ## 第二次-第五次:Stanford CS224N课程的一次或者两次课的串讲,有必要的话,结合Deep Learning书和Andrew的视频。两三篇文献。 | ||
+ | ## 第六次-第七次:自然语言处理技术和自己的研究工作的联系,最好有应用或者基础研究的例子,或者讲解本班的作业。 | ||
+ | |||
+ | ==讨论班lynkage== | ||
+ | # 第一次活动 | ||
+ | ## [http://www.lynkage.cn/share/PGaGL2EH62nyLm9 第一次活动内容] | ||
+ | ## [http://www.lynkage.cn/share/MXAR65k8bJ57qb7 什么是NLP] | ||
+ | ## [http://www.lynkage.cn/share/2R9apfZB6rJDwsm 为什么要学NLP] | ||
+ | ## [http://www.lynkage.cn/share/pnpdpgyiFW6pqzn 怎么学NLP] | ||
+ | ## [http://www.lynkage.cn/share/783zGiH6KFKoPyk 学完了做什么] | ||
+ | |||
+ | # CS224n | ||
+ | ## [http://www.lynkage.cn/share/QiypF7rgj3YaRYX CS224n主要内容] | ||
+ | ## [http://www.lynkage.cn/share/r3q42CepdywkSXJ CS224n-01-02 (Word2Vec,GloVec)] | ||
+ | ## [http://www.lynkage.cn/share/GxHQC29K44t4CmG CS224n-03-04 (神经网络,反向传播)] | ||
+ | ## [http://www.lynkage.cn/share/eotiaMpn6PgfsyE CS224n-05 (DepParsing依存分析)] | ||
+ | ## [http://www.lynkage.cn/share/RswaKgzBDRdDjc4 CS224n-06 (RNN,LM)] | ||
+ | ## [http://staging.lynkage.cn/share/fomykMnAE9Cr97P CS224n-07-09 (LSTM,GRU,seq2seq,Attention,课程项目)] | ||
+ | ## [http://staging.lynkage.cn/share/JdZgG2A9DRBdEKe CS224n-10 (QA)] | ||
+ | ## [http://staging.lynkage.cn/share/FnBeDMT3SnLq8Mf CS224n-11 (CNN)] | ||
+ | |||
+ | ==研究项目和练手小项目== | ||
+ | # 感想类论文识别:收集一个论文集合,做人工标注,分成感想类论文、思辨类论文、科学研究(定性、定量研究、计算分析、实验)论文,训练分类器,识别更多论文 | ||
+ | # 歌词歌曲翻译器:收集一个歌词-歌曲集合,当做平行语料,训练翻译器(由于歌曲的基本但是是什么是不清楚的,可能要从单个乐符或者和弦开始,做类似的subword的NLP),完成从给定歌词得到歌曲,从给定歌曲得到歌词的功能。如果还能结合给定曲子的一部分来作曲,给定歌词的一部分来生成文本,那就更厉害了,可以直接辅助音乐创作了。 | ||
+ | # 给定基本词汇生成篇章:根据我们的汉字学习顺序的研究成果,在学习汉字的阶段,我们需要以文带字,以语带字,也就是选定一些基本的字,我们希望篇章主要通过这些基本字来生成。 | ||
+ | # 科学学主体识别:尝试用word2vec处理论文的作者,author2vec,计算作者和论文的相似性,作者之间的相似性,作者和词之间的相似性,作者和主题(分类标记词)之间的相似性。 | ||
+ | # [[:分类:概念地图强化的问答系统和个性化聊天机器人|概念地图强化的问答系统和个性化聊天机器人]]。 | ||
+ | # 概念地图简单自动生成:从一段语料开始,用语法结构(主语、谓语、宾语、状语)提取做粗糙的概念地图自动生成,允许用户选定一些一定要包含的概念和关系。 | ||
+ | # 学科概念地图以及科学学“作者-论文-概念”三层网络:做学科领域的概念地图生成和论文标注。 | ||
+ | # 产品网络或者国家-产品贸易网络、产业投入产出网络的Glove算法来得到产品、国家、产业的矢量表示。 | ||
+ | # 从语料和自然语言处理的角度,来做历史文化哲学科学等问题相关的字词句含义和频率的历史分析。 |
2020年11月13日 (五) 10:18的最新版本
这里整理了机器学习,尤其是其中的自然语言处理,的学习材料。这个学习材料请各位再补充一下,例如文献、作业、素材等。
课程
- 主学习目标课程:Chris Manning和Richard Socher的《Natural Language Processing with Deep Learning》课程,Stanford CS224N,http://onlinehub.stanford.edu/cs224 这是一个传送门:https://www.bilibili.com/video/av46216519/
- 参考课程:YSDA Natural Language Processing course, 视频、作业程序 https://github.com/yandexdataschool/nlp_course
- 参考课程:CMU CS 11-747 http://phontron.com/class/nn4nlp2019/ 传送门:https://www.bilibili.com/video/av40929856/
- 参考课程:Andrew Ng和Kian Katanforoosh的 《Deep Learning》课程,Stanford CS230, http://onlinehub.stanford.edu/cs230
- 参考课程:Andrew Ng的系列课程,https://study.163.com/my#/smarts
- 参考课程:CS520 斯坦福大学2020春季知识图谱课程 传送门:https://www.bilibili.com/video/BV12k4y1R76Q
- 参考课程:Patrick Henry Winston MIT 6.034 人工智能 传送门:https://www.bilibili.com/video/av84826023
书
- Ian Goodfellow and Yoshua Bengio and Aaron Courville 的《Deep Learning》教材, http://www.deeplearningbook.org, 中文版: https://github.com/exacity/deeplearningbook-chinese
- Yoav Goldberg 《Neural Network Methods for Natural Language Processing》教材, 链接
- Dan Jurafsky and James H. Martin 《Speech and Language Processing》 (3rd ed.) 教材, 链接
- Delip Rao, Brian McMahan, Natural Language Processing with PyTorch: Build Intelligent Language Applications Using Deep Learning,入门上手教程
原始论文
- T Mikolov, K Chen, G Corrado, J Dean, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781.
- T Mikolov, I Sutskever, K Chen, GS Corrado, J Dean, Distributed representations of words and phrases and their compositionality, Advances in neural information processing systems, 3111-3119.
- Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014. GloVe: Global Vectors for Word Representation, https://nlp.stanford.edu/projects/glove/
- Omer Levy, Yoav Goldberg and Ido Dagan, Improving Distributional Similarity with Lessons Learned from Word Embeddings, https://doi.org/10.1162/tacl_a_00134
- P. Bojanowski, E. Grave, A. Joulin, T. Mikolov, Enriching Word Vectors with Subword Information
- A. Joulin, E. Grave, P. Bojanowski, T. Mikolov, Bag of Tricks for Efficient Text Classification
- A. Joulin, E. Grave, P. Bojanowski, M. Douze, H. Jegou, T. Mikolov, FastText.zip: Compressing text classification models
- Quoc V. Le, Tomas Mikolov, Distributed Representations of Sentences and Documents
- A Grover, J Leskovec, node2vec: Scalable Feature Learning forNetworks,KDD2016
- Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- Maximilian Nickel, Douwe Kiela, Poincaré Embeddings for Learning Hierarchical Representations arXiv:1705.08039(在黎曼几何而不是欧氏几何中学习矢量表示)
科普和讲解
- 吴军 《数学之美》
- 刘知远 《大数据智能》
- jaylin008, word2vec与cw2vec的数学原理, https://www.jianshu.com/p/f258d0c5c317
- Making sense of word2vec,几种表示算法之间的联系,尤其是word2vec和词共现矩阵之间的联系, https://rare-technologies.com/making-sense-of-word2vec/
- Andrej Karpathy blog,这个研究者记录了自己的学习和思考过程,从一个学生到机器学习领域的专家的过程,并且分享对很多算法、博士生涯的理解 http://karpathy.github.io/2015/05/21/rnn-effectiveness/
平台、算法和素材
- 平台:http://hpc.systemsci.org (需要hpc.systemsci.org的linux用户账号,不对公众开放,仅供研究团队内部使用)或者胡韧奋老师的平台
- 平台搭建:anaconda和jupyter (https://www.anaconda.com/) , pytorch(https://pytorch.org/tutorials/), genism(https://radimrehurek.com/gensim/)
- word2vec和GloVe: 顺序读取词袋或者利用词语共现矩阵学习词表示。链接。在上面列出的Stanford CS224N课程里面有很好的讲解。
- fasttext: 以训练分类标签为目标,产生词向量的副产物,并集成了subword信息。链接
- ELMo: 基于双向语言模型(采用LSTM模型)学习contextualized word embedding,真正意义上实现了一词多表示。链接
- BERT: 基于双向语言模型(采用深层Transformer模型),将其隐层表示取出,可以得到更高效的contextualized embedding表示。链接
- GPT
- 素材:(请胡韧奋补充一下)
讨论班安排
- 讨论班目标:
- 了解机器学习基本概念,解决什么问题、有哪些典型应用、大概怎么做、粗略的道理
- 了解自然语言处理基本概念,解决什么问题、有哪些典型应用、大概怎么做、粗略的道理
- 会调用其他研究者编好的工具包来解决自己的问题
- 会提出适合用机器学习,尤其是自然语言处理,解决的问题
- 发展算法本身
- 讨论班方式:课程采用讨论班成员自己看、有带头人的集中讨论的模式。学习材料按照进程安排自己先看。看的时候把问题在学习班文件中(可以开一个石墨文档)记下来。带头人还需要把主要内容梳理出来,用概念地图的方式带领大家来思考、讨论、解答问题、学习资源整合。吴金闪会做一个展示,后续每位成员认领相应学习材料的带头人。
- 讨论班进度安排:待进一步细化
- 开班前:分发这个学习材料,参与成员决定自己负责讲解的材料。其中对于没有系统学习过自然语言处理的参与者,Stanford CS224N是必看材料。然后,认领一次或者两次课,来串讲一下。串讲主要是整理思路,不能代替各自自己看。此外,在讲某一个视频或者论文的时候,最好能够做到把相关的基础和概念在其他什么视频中、论文中联系起来。认领材料的同时,在讨论群里面决定后续时间安排。
- 第一次:吴金闪讲一讲自然语言处理,尤其是矢量表示算法,在自己的研究中主要完成什么,以及自己对矢量表示算法以及其他自然语言处理,甚至一般的机器学习的理解。胡韧奋讲一讲自然语言处理概述以及重点讲一讲矢量表示算法,并且做几种自然语言处理技术的展示。Stanford CS224N课程的一次或者两次课的串讲,有必要的话,结合Deep Learning书和Andrew的视频。
- 第二次-第五次:Stanford CS224N课程的一次或者两次课的串讲,有必要的话,结合Deep Learning书和Andrew的视频。两三篇文献。
- 第六次-第七次:自然语言处理技术和自己的研究工作的联系,最好有应用或者基础研究的例子,或者讲解本班的作业。
讨论班lynkage
- CS224n
研究项目和练手小项目
- 感想类论文识别:收集一个论文集合,做人工标注,分成感想类论文、思辨类论文、科学研究(定性、定量研究、计算分析、实验)论文,训练分类器,识别更多论文
- 歌词歌曲翻译器:收集一个歌词-歌曲集合,当做平行语料,训练翻译器(由于歌曲的基本但是是什么是不清楚的,可能要从单个乐符或者和弦开始,做类似的subword的NLP),完成从给定歌词得到歌曲,从给定歌曲得到歌词的功能。如果还能结合给定曲子的一部分来作曲,给定歌词的一部分来生成文本,那就更厉害了,可以直接辅助音乐创作了。
- 给定基本词汇生成篇章:根据我们的汉字学习顺序的研究成果,在学习汉字的阶段,我们需要以文带字,以语带字,也就是选定一些基本的字,我们希望篇章主要通过这些基本字来生成。
- 科学学主体识别:尝试用word2vec处理论文的作者,author2vec,计算作者和论文的相似性,作者之间的相似性,作者和词之间的相似性,作者和主题(分类标记词)之间的相似性。
- 概念地图强化的问答系统和个性化聊天机器人。
- 概念地图简单自动生成:从一段语料开始,用语法结构(主语、谓语、宾语、状语)提取做粗糙的概念地图自动生成,允许用户选定一些一定要包含的概念和关系。
- 学科概念地图以及科学学“作者-论文-概念”三层网络:做学科领域的概念地图生成和论文标注。
- 产品网络或者国家-产品贸易网络、产业投入产出网络的Glove算法来得到产品、国家、产业的矢量表示。
- 从语料和自然语言处理的角度,来做历史文化哲学科学等问题相关的字词句含义和频率的历史分析。
本分类目前不含有任何页面或媒体文件。