Driverless AI 中的 NLP

本节介绍 Driverless AI 的 NLP(文本)处理功能。Driverless AI 平台能够支持独立文本和具有其他列类型(作为预测性特征)的文本。基于 Tensorflow 的架构和 PyTorch 转换器架构(例如,BERT)主要用于特征工程和模型构建。

详细信息,请参阅:

NLP 特征工程与建模

NLP Feature Engineering

Driverless AI 中的预训练 Pytorch 模型

BERT Models

以下 NLP 插件适用于文本列。可在 here 获取 NLP 转换器 的完整列表。

  • n 元语法频率/TF-IDF + 截断奇异值分解

  • n 元语法频率/TF-IDF + 线性/逻辑回归

  • 词嵌入 + CNN 模型 (TensorFlow)

  • 词嵌入 + BiGRU 模型 (TensorFlow)

  • 字符嵌入 + CNN 模型 (TensorFlow)

  • 基于 BERT/DistilBERT 的特征工程嵌套 (PyTorch)

  • 支持将多种转换器架构(例如 BERT)作为建模算法 (PyTorch)

除了这些技术,Driverless AI 还支持使用 custom NLP recipes,例如 PyTorch 或 Flair。

NLP 特征命名约定

NLP 特征命名约定有助于了解已创建特征的类型。

特征名称使用的语法如下:

[FEAT TYPE]:[COL].[TARGET_CLASS]

  • [FEAT TYPE] 表示以下之一:

  • Txt – n 元语法频率/TF-IDF + 截断奇异值分解

  • TxtTE – n 元语法频率/TF-IDF + 线性模型

  • TextCNN_TE – 词嵌入 + CNN 模型

  • TextBiGRU_TE – 词嵌入 + 双向 GRU 模型

  • TextCharCNN_TE – 字符嵌入 + CNN 模型

  • [COL] 表示文本列的名称。

  • [TARGET_CLASS] 表示要进行模型预测的目标类。

例如,TxtTE:text.0 相当于使用 n 元语法频率/TF-IDF,然后使用线性模型,来对文本列 “text” 进行 0 类预测。

NLP Naming Conventions

NLP 专家设置

Driverless AI 中,有很多适用于 NLP 的可配置设置。更多信息,请参阅专家设置主题中的 NLP Settings. 另请参阅实验设置下 pipeline building recipes 中的 nlp 模型nlp 转换器

NLP Expert Settings

NLP 示例:情感分析

下节提供一个 NLP 示例。此信息基于博文 Automatic Feature Engineering for Text Analytics 使用 Python 客户端的类似示例可在 Python 客户端 中找到。

本示例使用了一个推文情感分析的经典示例,此经典示例使用了 美国航空公司情绪分析数据集 . 请注意,每条推文所表示的情绪均已预先做好标记,而我们的模型将用于标记新推文。我们可以在 Driverless AI 中使用随机拆分将数据集拆分为训练数据和测试数据 (80/20)。在本演示中,我们将使用 ‘text’ 列中的推文和 ‘airline_sentiment’ 列中的情绪(积极、消极或中性)。以下是数据集中的一些样本:

Example text in dataset

在以表格格式准备好数据集后,我们便可着手使用 Driverless AI。类似于 Driverless AI 设置中的其他问题,我们需要选择数据集,然后指定目标列 (‘airline_sentiment’)。

Example experiment settings

因为我们不想使用数据集中的任何其他列,所以需要点击 删除列 ,然后删除除 文本 以外的所有列,如下所示:

Dropping columns in the dataset

接下来,我们将打开 TensorFlow NLP 插件。我们可以前往 专家设置NLP ,并打开以下选项: CNN TensorFlow 模型BiGRU TensorFlow 模型基于字符的 TensorFlow 模型预训练的 PyTorch NLP 模型

Enable TensorFlow models

此时,我们即已准备好启动实验。文本特征将在特征工程进程中自动生成并进行评估。请注意,某些特征(如 TextCNN)依赖于 TensorFlow 模型。我们建议使用 GPU 来利用 TensorFlow 或 PyTorch 转换器模型的能力并加速特征工程的进程。

Enable TensorFlow models

实验完成后,用户可以进行新的预测并下载评分管道,就如同任何其他 Driverless AI 实验一样。

资源