1、自然语言处理任务全流程
自然语言处理黄金九步法,葵花宝典,请珍藏心间
目录
需求分析:问题定义
1.文本分类任务
2.序列标注任务
3.文本生成任务
4.文本理解任务
5.信息抽取任务
6.文本匹配任务
7.多模态任务
一、数据获取
1、发现可用数据集
2、常用的数据集
3、哪里去寻找数据集
4、数据集成
5、生成数据
6、网络爬虫
7、数据标注
二、数据探索(Exploratory Data Analysis,EDA)
三、数据清理与预处理
四、分割数据集
五、特征工程
六、建模
七、评估
八、推理
任务的工时占比
需求分析:问题定义
问题定义决定了整个项目的成败
1.文本分类任务
Text Classification Text Categorization TC
1.情感分析应用场景
-
情感分析广泛应用于电商领域,通过分析用户评论帮助企业了解产品口碑。在社交媒体上,情感 分析可监测品牌声誉,为品牌策略调整提供数据支持。
2.主题分析应用场景
-
通过主题分类管理海量文档,提供查询效率
2.序列标注任务
-
命名实体识别NER
3.文本生成任务
Nature Language Generation NLG
-
文本生成代码
-
机器翻译
-
自动摘要
4.文本理解任务
Natural Language Understanding NLU
- 阅读理解
- 自然语言推理任务 NLI
5.信息抽取任务
Information Extraction IE
- 关系抽取
- 事件抽取
6.文本匹配任务
text matching
- 语义相似度计算
7.多模态任务
- 图像描述生成
一、数据获取
人工智能是一门数据驱动的科学,数据决定我们能把这件事做的多好!
1、发现可用数据集
- 寻找已有的数据集
- 使用 benchmark 数据集来快速评估我们的想法
- 使用多个小型或者中型数据集去进行超参的调整
- 对于深度学习的模型使用超大规模的数据
- 使用 benchmark 数据集来快速评估我们的想法
- 收集新数据
2、常用的数据集
根据不同任务,常用的数据集如下
3、哪里去寻找数据集
https://datasetsearch.research.google.com/
The latest in Machine Learning | Papers With Code
Open Data on AWS
Kaggle: Your Machine Learning and Data Science Community
4、数据集成
- 把多个数据源的数据结合到一个数据存储中
- 生成数据一般分散的存储在不同的数据表中
- 比如:一张表存储房屋数据,一张表存储销售记录,一张表列出中介
- Join 数据表
5、生成数据
- GAN
- 数据增强
6、网络爬虫
7、数据标注
- 使用数据标注平台标注数据
label-studiohttps://github.com/heartexlabs/label-studio
- 众包团队推荐:
- 数据堂DATATANG
- 龙猫数据
- 科乐园
- MagicData
二、数据探索(Exploratory Data Analysis,EDA)
获取数据后,我们需要持续了解数据
工具:Python (Pandas, Matplotlib, Seaborn)
- 文本统计
- 停用词分析
- 词频分析
- Ngram分析
- 主题分析
- 情感分析
- NER分析
- 词性探索
- 文本复杂度分析
三、数据清理与预处理
了解数据后我们要清理掉没用的数据,修正不好的数据,补充不够的数据,构建高质量数据集
- 去除换行 清除html标签 清除链接 清除空格 去停用词
四、分割数据集
分割方法:独立分割、时间分割、交叉验证、蜂窝交叉验证
五、特征工程
六、建模
- 选择合适的模型对数据进行建模
- 选择模型后,要把数据格式处理成模型要求的格式
- 分词
- 标准化