分类:机器学习尤其是自然语言处理学习材料
来自Big Physics
这里整理了机器学习,尤其是其中的自然语言处理,的学习材料。这个学习材料请各位再补充一下,例如文献、作业、素材等。
课程
- 主学习目标课程: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
书
- 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
- 素材:(请胡韧奋补充一下)
- 作业:尝试用word2vec处理论文的作者,author2vec,计算作者和论文的相似性,作者之间的相似性,作者和词之间的相似性,作者和主题(分类标记词)之间的相似性;做一个概念地图强化的问答系统和个性化聊天机器人;用语法结构(主语、谓语、宾语、状语)提取做粗糙的概念地图自动生成;做学科领域的概念地图生成和论文标注;产品网络或者国家-产品贸易网络、产业投入产出网络的Glove算法来得到产品、国家、产业的矢量表示;从语料和自然语言处理的角度,来做历史文化哲学科学等问题相关的字词句含义和频率的历史分析
讨论班安排
- 讨论班目标:
- 了解机器学习基本概念,解决什么问题、有哪些典型应用、大概怎么做、粗略的道理
- 了解自然语言处理基本概念,解决什么问题、有哪些典型应用、大概怎么做、粗略的道理
- 会调用其他研究者编好的工具包来解决自己的问题
- 会提出适合用机器学习,尤其是自然语言处理,解决的问题
- 发展算法本身
- 讨论班方式:课程采用讨论班成员自己看、有带头人的集中讨论的模式。学习材料按照进程安排自己先看。看的时候把问题在学习班文件中(可以开一个石墨文档)记下来。带头人还需要把主要内容梳理出来,用概念地图的方式带领大家来思考、讨论、解答问题、学习资源整合。吴金闪会做一个展示,后续每位成员认领相应学习材料的带头人。
- 讨论班进度安排:待进一步细化
- 开班前:分发这个学习材料,参与成员决定自己负责讲解的材料。其中对于没有系统学习过自然语言处理的参与者,Stanford CS224N是必看材料。然后,认领一次或者两次课,来串讲一下。串讲主要是整理思路,不能代替各自自己看。此外,在讲某一个视频或者论文的时候,最好能够做到把相关的基础和概念在其他什么视频中、论文中联系起来。认领材料的同时,在讨论群里面决定后续时间安排。
- 第一次:吴金闪讲一讲自然语言处理,尤其是矢量表示算法,在自己的研究中主要完成什么,以及自己对矢量表示算法以及其他自然语言处理,甚至一般的机器学习的理解。胡韧奋讲一讲自然语言处理概述以及重点讲一讲矢量表示算法,并且做几种自然语言处理技术的展示。Stanford CS224N课程的一次或者两次课的串讲,有必要的话,结合Deep Learning书和Andrew的视频。
- 第二次-第五次:Stanford CS224N课程的一次或者两次课的串讲,有必要的话,结合Deep Learning书和Andrew的视频。两三篇文献。
- 第六次-第七次:自然语言处理技术和自己的研究工作的联系,最好有应用或者基础研究的例子,或者讲解本班的作业。
本分类目前不含有任何页面或媒体文件。