资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

010-NLP算法

NLP算法

Bert命名实体识别

BERT 采用了 Transformer Encoder 的模型来作为语言模型,Transformer模型完全抛弃了 RNN/CNN 等结构,而完全采用 Attention 机制来进行 input-output 之间关系的计算。 Fine-tuning 方式是指在已经训练好的语言模型的基础上,加入少量的 task-specific parameters, 例如对于分类问题在语言模型基础上加一层 softmax 网络,然后在新的语料上重新训练来进行 fine-tune。 Bert命名实体识别模型将句子输入到bert中,在bert输出后连接一个crf层得到最后结果,输入的数据格式应满足BIO的标注格式。

输入

  • 输入文本数据集,标注数据常采用BIO的标注方式。

输出

  • 输出Bert命名实体识别模型。

算子参数

参数名称 是否必选 参数描述 默认值
batch_size 训练过程中的batch_size 范围:[1, inf)。 4
epoch 训练过程中的训练轮数 范围:[1, inf)。 1
do_lower_case 输入文本是否小写, 对于中文文本应当设置为True。 开启
学习率 训练开始时的学习率 范围:[0.0, 1.0]。 3e-05
序列最大长度,超过(序列最大长度-1)的输入字将被截取掉 序列最大长度 范围:[2, inf)。 128
warmup_proportion 进行线性学习率预热的训练比例 范围:[0.0, 1.0]。 0.1
save_checkpoints_steps 保存checkpoint的频率 范围:[1, inf)。 1000
训练集/验证集划分比例 训练集合比例设置成 1 则不使用验证集。 范围:[0.01, 1.0]。 0.8
选择预训练模型 选择预训练模型 中文训练模型

字段参数

参数名称 是否必选 参数描述 默认值
文本列 请选择文本列,句子分字,字之间必须以空格间隔,类型为字符串。
标签列 请选择标签列,采用BIO格式标注方式,标签之间必须以空格间隔且个数和文本列相同,类型为字符串。

使用示例

  1. BIO方式标注的数据。

image.png

  1. 构件算子结构,完成训练,如果训练失败提示oom信息,请您增加内存后重新训练。

image.png

Bert词性标注

BERT 采用了 Transformer Encoder 的模型来作为语言模型,Transformer模型完全抛弃了 RNN/CNN 等结构,而完全采用 Attention 机制来进行 input-output 之间关系的计算。 Fine-tuning 方式是指在已经训练好的语言模型的基础上,加入少量的 task-specific parameters, 例如对于分类问题在语言模型基础上加一层 softmax 网络,然后在新的语料上重新训练来进行 fine-tune。 Bert词性标注模型为:BERT + CRF,输入的数据格式应满足BIO的标注格式。

输入

  • 输入文本数据集,标注数据常采用BIO的标注方式。

输出

  • 输出Bert词性标注模型。

算子参数

参数名称 是否必选 参数描述 默认值
batch_size 训练过程中的batch_size 范围:[1, inf)。 4
epoch 训练过程中的训练轮数 范围:[1, inf)。 1
do_lower_case 输入文本是否小写, 对于中文文本应当设置为True。 开启
学习率 训练开始时的学习率 范围:[0.0, 1.0]。 3e-05
序列最大长度,超过(序列最大长度-1)的输入字将被截取掉 序列最大长度 范围:[2, inf)。 128
warmup_proportion 进行线性学习率预热的训练比例 范围:[0.0, 1.0]。 0.1
save_checkpoints_steps 保存checkpoint的频率 范围:[1, inf)。 1000
训练集/验证集划分比例 训练集合比例设置成 1 则不使用验证集。 范围:[0.01, 1.0]。 0.8
选择预训练模型 选择预训练模型 中文训练模型

字段参数

参数名称 是否必选 参数描述 默认值
文本列 请选择文本列,句子分字,字之间必须以空格间隔,类型为字符串。
标签列 请选择标签列,采用BIO格式标注方式,标签之间必须以空格间隔且个数和文本列相同,类型为字符串。

使用示例

  1. BIO方式标注的数据。

image.png

  1. 构件算子结构,完成训练,如果训练失败提示oom信息,请您增加内存后重新训练。

image.png

  1. 查看预测结果。

image.png

Bert实体-关系组件

BERT 采用了 Transformer Encoder 的模型来作为语言模型,Transformer模型完全抛弃了 RNN/CNN 等结构,而完全采用 Attention 机制来进行 input-output 之间关系的计算。 Fine-tuning 方式是指在已经训练好的语言模型的基础上,加入少量的 task-specific parameters, 例如对于分类问题在语言模型基础上加一层 softmax 网络,然后在新的语料上重新训练来进行 fine-tune。 Bert实体-关系模型:BERT + Fine-tuning。

输入

  • 输入数据集,特征列按顺序选择两列实体与一列文本(类型为字符串类型)。

输出

  • 输出Bert实体-关系组件模型。

算子参数

参数名称 是否必选 参数描述 默认值
batch_size 训练过程中的batch_size 范围:[1, inf)。 4
epoch 训练过程中的训练轮数 范围:[1, inf)。 1
do_lower_case 输入文本是否小写, 对于中文文本应当设置为True。 开启
学习率 训练开始时的学习率 范围:[0.0, 1.0]。 3e-05
序列最大长度 序列最大长度 范围:[2, inf)。 128
warmup_proportion 进行线性学习率预热的训练比例 范围:[0.0, 1.0]。 0.1
save_checkpoints_steps 保存checkpoint的频率 范围:[1, inf)。 1000
训练集/验证集划分比例 训练集合比例设置成 1 则不使用验证集。 范围:[0.01, 1.0]。 0.8
选择预训练模型 选择预训练模型 中文训练模型

字段参数

参数名称 是否必选 参数描述 默认值
文本列 按顺序选择两列实体与一列文本(类型为字符串类型)。
标签列 选择一列标签列。

使用示例

构建算子结构,配置参数,完成训练。

image.png

Bert文本相似度

BERT 采用了 Transformer Encoder 的模型来作为语言模型,Transformer模型完全抛弃了 RNN/CNN 等结构,而完全采用 Attention 机制来进行 input-output 之间关系的计算。 Fine-tuning 方式是指在已经训练好的语言模型的基础上,加入少量的 task-specific parameters, 例如对于分类问题在语言模型基础上加一层 softmax 网络,然后在新的语料上重新训练来进行 fine-tune。 Bert 文本相似度模型:BERT + Fine-tuning。

输入

  • 输入数据集,特征列为两列文本列(类型为字符串类型),标签列为一列文本列(类型为整型)。

输出

  • 输出Bert文本相似度模型。

算子参数

参数名称 是否必选 参数描述 默认值
batch_size 训练过程中的batch_size 范围:[1, inf)。 4
epoch 训练过程中的训练轮数 范围:[1, inf)。 1
do_lower_case 输入文本是否小写, 对于中文文本应当设置为True。 开启
学习率 训练开始时的学习率 范围:[0.0, 1.0]。 3e-05
序列最大长度 序列最大长度 范围:[2, inf)。 128
warmup_proportion 进行线性学习率预热的训练比例 范围:[0.0, 1.0]。 0.1
save_checkpoints_steps 保存checkpoint的频率 范围:[1, inf)。 1000
训练集/验证集划分比例 训练集合比例设置成 1 则不使用验证集。 范围:[0.01, 1.0]。 0.8
选择预训练模型 选择预训练模型。 中文训练模型

字段参数

参数名称 是否必选 参数描述 默认值
文本列 选择两列文本列(类型为字符串类型)
标签列 选择一列文本列(类型为整型)

使用示例

构建算子结构,配置参数,完成训练。

image.png

Fasttext文本分类

Fasttext 是一种简单有效的句子分类算法, 通过词向量以及 n-gram 向量的平均值计算出句子的向量表示,再通过全连接层网络对句子进行分类。

输入

  • 输入一个数据集,特征列需要是字符串列表或字符串类型(如果是字符串类型,假设字符串已经经过了分词,以空格或tab分割),标签列需要是枚举类型。

输出

  • 输出Fasttext模型,可以使用python预测组件进行预测。

算子参数

参数名称 是否必选 参数描述 默认值
学习率 学习率 范围:[0.01, 1.0]。 0.10
词向量维度 词向量维度 范围:[50, 500]。 100
上下文窗口 训练词向量考虑的上下文窗口大小 范围:[3, 15]。 5
迭代轮数 算法运行的 epoch 数,迭代几轮训练集 范围:[1, 100]。 5
单词最小出现次数 小于该数值的单词记为OOV 范围:[1, 10]。 1
负采样个数 负采样个数 范围:[1, 20]。 5
ngarm数 ngram数 范围:[1, 5]。 1
损失函数 损失函数,目前支持:
softmax
hs
ns
ova
softmax

字段参数

参数名称 是否必选 参数描述 默认值
输入列 必须是字符串列表或字符串类型。如果是字符串类型,需要提前以空格或tab分词。
标签列 需要是枚举类型。

使用示例

构建算子结构,配置参数,完成训练。

image.png

LDA主题模型

LDA 在主题模型中占有非常重要的地位,常用来文本分类,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题分布后,便可以根据主题分布进行主题聚类或文本分类。

输入

  • 输入一个数据集,输入列为字符串数组类型(既经过分词后的数据)。

输出

  • 输出LDA主题模型。

算子参数

参数名称 是否必选 参数描述 默认值
主题数量 主题数量(聚簇中心数量) 范围:[2, inf)。 10
优化器 优化器用来学习LDA模型,当前支持:
online:Online Variational Bayes和em:Expectation-Maximization
online
Dirichlet分布的参数α 文档在主题上分布的先验参数(超参数α),值越大推断出得分布越平滑 范围:[1.000000000000001, inf)。
Dirichlet分布的参数β 主题在单词上的先验分布参数,值越大推断出得分布越平滑 范围:[1.000000000000001, inf)。
采样率 小批量梯度下降的每次迭代中要采样和使用的语料的比例 范围:[1.0E-15, 1.0]。 0.05
最大迭代轮数 当迭代次数大于该数值时,停止迭代 范围:[1, inf)。 20
随机种子 随机数种子。

字段参数

参数名称 是否必选 参数描述 默认值
输入列 需要做LDA的列,类型需要是字符串数组。

使用示例

构建算子结构,配置参数,完成训练。

image.png

上一篇
Python算法组件
下一篇
自然语言处理组件