暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

NLP | 从小小白到小白的打怪升级之路

亦一君兮 2022-09-29
649


爱你孤身走暗巷,爱你不跪的模样,爱你对峙过绝望,不肯哭一场

唐恬

万事开头难,五关阻,六将拦路。

昔有关二爷千里走单骑,过五关、斩六将,今有小小白打小怪兽升级。👾


⭐数学基础

    将一:《高等数学》、《线性代数》、《概率论》

    ⭐机器学习

      将二:机器学习基本概念、算法原理
      ⭐深度学习
        将三:深度学习基本概念、算法原理
          公众号<机器学习初学者>


          黄博 数据科学、机器学习课程
          https://github.com/fengdu78/Data-Science-Notes
          https://github.com/fengdu78/WZU-machine-learning-course
          吴恩达 <机器学习 & 深度学习>课程
          https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
          https://github.com/fengdu78/deeplearning_ai_books
          周志华 《机器学习》
          https://datawhalechina.github.io/pumpkin-book
          https://github.com/datawhalechina/pumpkin-book
          李航 《统计学习方法》
          https://github.com/fengdu78/lihang-code

          数学知识很繁琐,边学边看,或先有一个简单印象,遇到问题再回头看就行,不必要带着考研那股劲儿深究一遍。机器学习、深度学习的基本概念和原理也只需先在脑海里留下印象,知道神马是什么就行,后面再随着实践深入。

          黄博的机器学习初学者上有很多入门资料,比如斯坦福大学的机器学习、深度学习两门课程的中文翻译笔记,该课程由吴恩达老师主讲,堪称是最热门的AI入门课,笔记来之不易,值得通读一或多遍。还有周志华老师、李航老师的两本入门书籍以及实践代码,跟着走一遍,入门基本是没太大问题的。


          ⭐编程实践

            将四:python、pytorch
              参考资料
              https://github.com/walter201230/Python
              https://www.runoob.com/python3/python3-tutorial.html
              https://pytorchchina.com/2019/05/07/awesome-pytorch-chinese
              关于编程语言和深度学习框架,小白推荐python,简单易上手,而且比较常用,但是后期涉及端侧、模型部署、性能优化等,很可能会使用到一些C++的知识,有备无患。目前框架有很多,比如keras、tensorflow、pytorch等,特点见下面的引用文,但pytorch目前在工业上其实用的也蛮多的。

              1. Tensorflow更倾向于工业应用领域,适合深度学习和人工智能领域的开发者进行使用,具有强大的移植性。

              2. Pytorch更倾向于科研领域,语法相对简便,利用动态图计算,开发周期通常会比Tensorflow短一些。

              3. Keras因为是在Tensorflow的基础上再次封装的,所以运行速度肯定是没有Tensorflow快的;但其代码更容易理解,容易上手,用户友好性较强。

              知乎:可乐不加糖


              ⭐实战应用

                将五:竞赛、开源项目

                NLP 四大基础任务,文本分类、文本匹配、序列标注、文本生成。很多简单的竞赛和开源项目可以供初学者练习,有些赛事还提供了免费时长的算力,新手友好。

                赛事参见:Biendata、DataCastle、Flyai、阿里天池、百度语言与智能技术竞赛、DataFountain、讯飞AI开发者大赛、飞桨大赛等。

                项目参见:简列了几个优质项目,以便学习,将其划分为了初、中、高三级,步步为营。入门以初、中为主,若精力有限,高级部分在早期可以先跳过。

                首先列了两本书,以便初学者了解熟悉NLP领域的基本术语、任务介绍以及一些简单算法等。实战方面,初级选取了复旦大学自然语言处理入门练习,基本涵盖了四大基础任务最简单经典的实现;中级以此延续,扩展了分类、匹配、序列标注三大基础任务可用的算法模型,借此可以筑牢根基,暂未包含复杂任务;高级包含了文本生成,一是Fairseq,二是TextBox,由中国人大出品,看起来很有趣,还有目前最火的NLP项目,抱抱脸的transformers。

                但NLP远不止如此,还有很多探索空间,以及乐趣所在。九层之台起于累土,千里之行始于足下,一步一步来。

                  书籍
                  《统计自然语言处理(第2版)》
                  《Python自然语言处理实战:核心技术与算法》



                  https://github.com/FudanNLP/nlp-beginner
                  https://github.com/Alic-yuan/nlp-beginner-finish

                  https://github.com/649453932/Chinese-Text-Classification-Pytorch
                  https://github.com/zhaogaofeng611/TextMatch
                  https://github.com/luopeixiang/named_entity_recognition
                  https://github.com/lonePatient/BERT-NER-Pytorch

                  https://github.com/RUCAIBox/TextBox
                  https://github.com/facebookresearch/fairseq
                  https://github.com/huggingface/transformers


                    将六:工业场景
                    工业项目和上面还是有很大区别的,比如数据获取、算法选型、推理性能、模型部署等等。竞赛是为了更高的指标,而工业的最终目的是产品,产品是面向用户的。技术纠结的指标点不一定就是用户最在意的点,从用户出发,才能做好产品,从而健康长久。

                    数据永远是排在Top1的,对模型做再多的探索很可能还不如稍微提升一下数据质量,适用于所有任务场景。

                    算法不一定选最优,而是更合适的。出于效果、性能、成本、难度、人力工时、用户体验等诸多权衡,有时候规则或传统机器学习就能解决的问题,何必用上深度学习,有时候简单模型就能完成需求,何必用上复杂模型。当然,很多场景下,大模型还是要跳出来扛大梁的。



                    深度学习是黑盒,有时候很难理解为什么输出是这样一个结果,为什么这么做就能提升效果,为什么、为什么... 摆烂中... 十万个为什么。从一开始不了解一个模型,到摸清它的节奏和变化,再到调整它的参数和结构,提效升速,是一个上下求索的过程。

                    就这样,过五关斩六将,慢慢地从一只小小白成长为小白。




                    开源五花八门,宜求精不求多,捡了西瓜,之后遇到芝麻再查缺补漏就可以了。

                    全文以基础知识学习路径分享为主,初入门NLP的小小白可以作为参考,开启自己的打怪升级之路。

                    与此同时,可以参考以下文章,简单了解一下NLP各个子任务、技术方案、中文公开数据集、应用场景等

                    NLP任务思维导图

                    Lee Kay,公众号:亦一君兮大话NLP

                    欢迎大家指正补充,欢迎提建议。

                    喜欢本文的小伙伴儿,欢迎三连关注点赞、分享!👊



                    本号分享不限于技术、生活,欢迎有识之士共勉。可加好友ai_loveUFOrever ✌

                    文章转载自亦一君兮,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论