其他
NLP在度小满风控中的应用
今天的介绍会围绕下面几点展开:
1. 背景介绍;
2. 文本序列建模;
3. 非文本序列建模与预训练;
4. 多模融合;5. 样本优化。分享嘉宾|唐东格 度小满 AI算法专家
编辑整理|橘子
出品社区|DataFun
1.背景
文本能直接反映用户的信用情况,如征信报告; 文本能帮助构建用户的画像,如职业、兴趣、爱好这类信息; 文本能反映用户的风险变化,如用户在不同时间段从事不同的工作,他搜索或构建的文本内容也会随之变化,学习这种变化,可以有效捕捉用户的风险变化。
2.文本输入向量表达
只分字需要的特征工程量最小,可直接使用开源词典;输入长度相对较长;不加预训练效果相对较差,在预训练比较充分的情况下模型效果最好、泛化性比较好; 字词分离方法,在一定程度上需要构建特征工程,需要有预先构建的一个词典,输入长度相比直接分字可以减少20%-50%,建模所需资源量少,不加预训练效果一般;理论上大模型效果不如第一个效果(涉及分词准确性问题,现在所有分词工具在实际业务使用的表现基本都在90%以内); 字词对齐方法,需要构建特征工程;需要词典(词典准确性要求相比第二种要低);输入长度跟分字长度相同;不加预训练效果最好;模型泛化性好。
3.超长文本建模
基于Sparse Attetion和低秩的模型速度比较快,在资源的有限情况下可以采用这种方法,但这种方法信息存在损失且损失不易控制; 基于核方法的线性Attetion模型,只有当文本输入长度n远大于d的情况下(比如一般使用的隐层维度是768,当文本长度是512时,这种方法并不能带来速度上的明显增益)这种方法才适用,效果也相对稳定; 基于分段方法,它的速度与分段数量大小严格相关,分成n段时间复杂度会降低n倍,效果在三个方法中最为稳定。这种方法最大的优点在于预训练过程更容易实现,也更容易适配开源的大模型结构。上面两种方法都需要把文本长度拉长到下游任务长度上,但第三种方法不存在这种问题,因为不同分段之间完全参数共享。
1.背景
3.预训练
下游业务方使用的模型框架与预训练模型框架相同,可以直接微调使用; 下游业务方对模型结构做了特殊化处理,如提供的预训练模型使用的是普通bert,下游任务使用的flash等,这样是不能直接做finetune的。但即使模型结构存在比较大的差异,他们仍然有很多相同的参数,如底层向量的映射参数矩阵(每一层transformer都会先经过特征映射成qkv),这种参数维度相同的情况下,是可以直接拿过来做参数初始化的,即不同模型结构中的相同参数是可以直接做初始化的,初始化之后再在期望的数据集上(特定的领域数据集)做简单的进一步预训练。这种预训练的成本相比从零开始在这个数据集上做训练可以节约50%-90%左右,大幅加快训练过程,节省资源消耗。
1.背景
2.单数据多模融合
3.多数据多模融合
1.背景
2.样本优化:正负比例失衡
3.样本优化:数据增强
今天的分享就到这里,谢谢大家。
分享嘉宾
INTRODUCTION
唐东格
度小满
AI算法专家