NLP:一个来自拥抱脸的新数据集和度量库

2020-05-16 01:42:26

🤗自然语言处理是一个轻量级且可扩展的库,可以方便地共享和访问自然语言处理的数据集和评估指标。

致力于大数据集:NLP自然将用户从RAM内存限制中解放出来,默认情况下,所有数据集都是在驱动器上进行内存映射的。

NLP目前提供对约100个NLP数据集和约10个评估指标的访问,旨在让社区轻松添加和共享新的数据集和评估指标。

NLP起源于令人惊叹的TensorFlow数据集的一个分支,HuggingFace团队非常感谢TensorFlow数据集团队构建了这个令人惊叹的库。有关NLP和TFD之间差异的更多详细信息,可以在NLP和TFD之间的主要差异一节中找到。

NLP可以从PyPI安装,并且必须安装在虚拟环境中(例如venv或conda)。

更新存储库时,应按如下方式升级NLP安装及其依赖项:

如果您计划对PyTorch(1.0+)、TensorFlow(2.2+)或熊猫使用NLP,还应该安装PyTorch、TensorFlow或熊猫。

import NLP#打印所有可用的数据集打印(数据集。NLP中数据集的ID。list_Datasets())#加载数据集并打印训练集中的第一个示例teanDataset=nlp。LOAD_DATASET(';TEAND&39;)PRINT(LOAD_DATASET[';TEAND&39;][0])#列出所有可用的指标打印(指标。NLP中指标的ID。list_metrics())#加载指标QUAND_METRICS=nlp。Load_Metric(';小队';)

现在,最好的NLP介绍是按照Google Colab中的教程进行操作,该教程位于以下位置:

如果您熟悉伟大的TensorFlow数据集,以下是NLP和TFD之间的主要区别:

NLP中的脚本不在库中提供,而是根据请求进行查询、下载/缓存和动态加载。

NLP还以与数据集类似的方式提供评估指标,即使用统一API动态安装脚本。这样就可以访问基准数据集和基准指标对,例如,针对班组或胶水之类的基准。

NLP的后端序列化基于Apache Arrow/Parquet,而不是TF Records,并利用Python数据类获取信息和具有一些不同特性的特性(我们大多不进行编码,并将原始数据尽可能多地存储在后端序列化缓存中)。

NLP的面向用户的DataSet对象不是tf.data.Dataset,而是一个内置的与框架无关的DataSet类,其方法灵感来自我们在tf.data中的喜好(如map()方法)。它基本上包装了一个内存映射的箭头表缓存。

与TensorFlow数据集类似,NLP是下载和准备公共数据集的实用程序库。我们不托管或分发这些数据集,不保证它们的质量或公平性,也不声称您拥有使用该数据集的许可证。您有责任确定您是否有权在数据集的许可下使用该数据集。

如果您是数据集所有者,并且希望更新数据集的任何部分(描述、引用等),或者不希望您的数据集包含在此库中,请通过GitHub问题联系。感谢您对ML社区的贡献!

如果你有兴趣了解更多关于负责任的人工智能实践,包括公平,请参见谷歌人工智能负责任的人工智能实践。