Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 2.39 KB

overview.rst

File metadata and controls

32 lines (22 loc) · 2.39 KB

整体介绍

数据集和数据处理部分一直是NLP任务中最重要的环节之一。为了方便用户以更低的学习成本完成这一环节,PaddleNLP提供了以下特性:

  • 功能强大的API。可以帮助用户完成大部分常见NLP任务的数据处理流程。
  • 更灵活的封装。各个模块保持低耦合,高内聚,保证用户可以通过继承和改写满足特定的数据处理需求。
  • 内置数据集涵盖大部分NLP任务,搭配简洁易用的数据集加载协议和贡献协议。对新手和社区贡献者更加友好。

核心API

数据处理流程设计

目前PaddleNLP的通用数据处理流程如下:

  1. 加载数据集(内置数据集或者自定义数据集,数据集返回 原始数据)。
  2. 定义 :func:`trans_func` ,包括tokenize,token to id等操作,并传入数据集的 :func:`map` 方法,将原始数据转为 feature
  3. 根据上一步数据处理的结果定义 batchify 方法和 :class:`BatchSampler`
  4. 定义 :class:`DataLoader` , 传入 :class:`BatchSampler`:func:`batchify_fn`

下面是基于Bert的文本分类任务的数据处理流程图:

/imgs/data_preprocess_pipline.png

关于数据处理的详细信息,请查阅 :doc:`./data_preprocess`