【NLP】NLP全路径学习推荐
我跟几位BAT老哥聊了下NLP全路径学习的事情,总结出以下内容,包含:
学习NLP需要具备哪些基础
NLP全路径各任务学习的项目
01 机器学习
熟悉简单的机器学习模型。例如:逻辑回归、决策树、朴素贝叶斯、隐马尔科夫模型、K-Means、正则化方法等;有部分高级机器学习基础更好。例如:集成学习(随机森林、GBDT、XGB、Stacking等)、条件随机场CRF、贝叶斯网络、支持向量机、主题模型等。
02 深度学习
熟悉简单的神经网络基础。例如:神经元模型、多层感知机、反向传播算法、激活函数的使用、Word2Vec、RNN、CNN等;有部分高级深度学习基础更好。例如:LSTM、BiLSTM-CRF、TextCNN、注意力机制Attention、Transformer、Bert等。
03 语言框架
熟练Python编程语言、了解简单的Pytorch使用。
04 NLP方向基础
了解BERT-based模型的结构,
了解模型蒸馏的概念
了解抽取式和生成式摘要模型的概念
了解GPT-2
了解文本分类、序列标注模型的原理
了解图神经网络和表示学习
01 中文分词
中文分词是中文文本处理的一个基础步骤。不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性、句法树等模块的效果。虽然有一些现成的分词器可以使用,但了解其内部原理、实践一个工业级的分词器也是大有裨益。
推荐项目:类搜狐新闻场景下的中文分词器 项目难度:★★
该项目结合工业场景里常见的分词需求:效果要好、速度要快、可以快速解决badcase、系统应该越用越好、快速场景迁移等。
学习完该项目后,可以从零熟悉整个工业界分词的实现方式、使用场景、方法技巧。
02 关键词提取
在自然语言处理领域,处理海量的文本文件最关键的是要把用户最关心的问题提取出来。而无论是对于长文本还是短文本,往往可以通过几个关键词窥探整个文本的主题思想。与此同时,不管是基于文本的推荐还是基于文本的搜索,对于文本关键词的依赖也很大,关键词提取的准确程度直接关系到推荐系统或者搜索系统的最终效果。
推荐项目:类新浪门户场景下的关键词提取 项目难度:★★
实现一个新闻语料下的关键词提取器,满足:在单个进程的条件下,满足至少0.80的精度,至少100的QPS;同时满足识别出新词的能力;
学习完该项目后,可以从零熟悉关键词提取方法的脉络、整体实现无监督关键词提取的思路。
03 实体识别
实体识别是NLP领域一个极为普遍的任务,几乎是必备技能。它主要是从文本中抽取出重要的实体,比如:人名、地名、机构名、时间、专有名词等,可以引申为一些你关心的任何实体,比如车牌号、国籍等。
推荐项目:类新浪微博场景下的实体识别 项目难度:★★★★
实现一个基于多种模型的实体识别系统,要满足如下特性:传统机器学习下,至少80%的精度,至少10的qps;深度学习下,至少90%的精度,不小于1的qps(不使用GPU),不小于10的qps(使用GPU);
学习完该项目后,可以从零熟悉实体识别方法的历史脉络、并实现常见模型。
04 文本分类
文本分类是NLP中最基础的任务,也是最常见的任务,在实际的工作中常常会碰到各种各样的文本分类任务需求。随着BERT-based模型的发展,实际工作中的文本分类模型的baseline得到大幅提升。然而,在实际模型开发过程中,常常会遇到两类问题:(1)文本数据不规范,数据中包含大量的噪声、类别不平衡等问题;(2)文本数据缺乏标注。这两类问题大幅提升了效果稳定的文本分类模型的开发难度。
推荐项目:头条新闻标题分类场景下的BERT分类器训练、优化及蒸馏 难度:★★★
实现:
1、基于BERT的分类器,在中等难度任务和噪声数据条件下,预测F1不低于0.9
2、基于BERT的蒸馏分类器,和上述模型相比,效果退化不超过0.05,响应速度不低于10qps;
学习完该项目后,了解文本分类模型开发的基本思路和方法。
05 文本摘要
文本摘要生成是NLP中的高级任务,指对长文本进行压缩以提高使用人员的阅读效率,是企业深层次的业务需求,常见于互联网或金融企业的新闻资讯发布和分析的业务领域之中,往往需要资深的算法人员才能满足这种业务需求。
推荐项目:实现一个基于GPT的生成式摘要模型 项目难度:★★★★
实现一个基于GPT的生成式摘要模型,满足如下条件:
1、高回答有效性,top10摘要的有效性不低于90%;
2、单GPU下预测速度不低于1qps;
学习完该项目后,可以了解摘要模型的技术发展历程,了解经典的模型,了解模型开发和优化的基本思路和方法。
06 对话系统
智能对话是NLP中的高级任务,通常包含闲聊型(生成型)、QA(检索型)和任务型三种,在实际工作中最常见的智能对话系统是QA对话系统,其次是任务型对话系统,闲聊型对话系统往往作为前两种对话系统的附属能力,以提高对话系统的亲和力。
推荐项目:搭建工业级对话系统:检索型/任务型/闲聊型 项目难度:★★★★★
搭建工业级对话系统:
1、检索型对话,Learning to Rank系统实现FAQ;
2、任务型对话系统,基于rasa开源框架完成简单的多轮任务型对话;
3、闲聊型对话,基于GPT模型的对话生成;
学习完该项目后,可以了解不同类型的对话系统的发展历程,了解不同类型的对话系统开发的基本思路和方法。
07 知识图谱
知识图谱是2012年google在语义网的基础上提出的一种语义表达规范,这是一种基于本体论(ontology)的语义网络。随着知识图谱的发展,其在NLP中的应用也是越来越广泛。现在电商,搜索引擎,对话机器人等业态都离不开知识图谱。
推荐项目:构建知识图谱 项目难度:★★★★
能够——
1) 独立开发构建知识图谱的信息抽取组件。包括NER,关系抽取等
2) 独立开发基于知识库的问答系统
3) 独立开发基于知识库的推荐系统
学习完该项目后,可以了解知识图谱的来龙去脉,了解知识图谱的应用场景和构建方法。
往期精彩回顾
适合初学者入门人工智能的路线及资料下载 (图文+视频)机器学习入门系列下载 中国大学慕课《机器学习》(黄海广主讲) 机器学习及深度学习笔记等资料打印 《统计学习方法》的代码复现专辑 机器学习交流qq群955171419,加入微信群请扫码