4.4 文本特征处理及数据增强

本文介绍了文本特征处理的重要性,包括添加n-gram特征和文本长度规范,以提升模型性能。同时,讲解了文本数据增强中的回译法,通过翻译增加数据多样性,以及解决回译重复率的方法。
摘要由CSDN通过智能技术生成

文本特征处理


  • 学习目标:

    • 了解文本特征处理的作用.

    • 掌握实现常见的文本特征处理的具体方法.


  • 文本特征处理的作用:

    • 文本特征处理包括为语料添加具有普适性的文本特征, 如:n-gram特征, 以及对加入特征之后的文本语料进行必要的处理, 如: 长度规范. 这些特征处理工作能够有效的将重要的文本特征加入模型训练中, 增强模型评估指标.


  • 常见的文本特征处理方法:

    • 添加n-gram特征

    • 文本长度规范


  • 1 什么是n-gram特征:

    • 给定一段文本序列, 其中n个词或字的相邻共现特征即n-gram特征, 常用的n-gram特征是bi-gram和tri-gram特征, 分别对应n为2和3.


  • 举个栗子:

假设给定分词列表: ["是谁", "敲动", "我心"]

 

对应的数值映射列表为: [1, 34, 21]

 

我们可以认为数值映射列表中的每个数字是词汇特征.

 

除此之外, 我们还可以把"是谁"和"敲动"两个词共同出现且相邻也作为一种特征加入到序列列表中,

 

假设1000就代表"是谁"和"敲动"共同出现且相邻

 

此时数值映射列表就变成了包含2-gram特征的特征列表: [1, 34, 21, 1000]

 

这里的"是谁"和"敲动"共同出现且相邻就是bi-gram特征中的一个.

 

"敲动"和"我心"也是共现且相邻的两个词汇, 因此它们也是bi-gram特征.

 

假设1001代表"敲动"和"我心"共同出现且相邻

 

那么, 最后原始的数值映射列表 [1, 34, 21] 添加了bi-gram特征之后就变成了 [1, 34, 21, 1000, 1001]

 


  • 1.1 提取n-gram特征:

# 一般n-gram中的n取2或者3, 这里取2为例

ngram_range = 2



def create_ngram_set(input_list):

    """

    description: 从数值列表中提取所有的n-gram特征

    :param input_list: 输入的数值列表, 可以看作是词汇映射后的列表,

    里面每个数字的取值范围为[1, 25000]

    :return: n-gram特征组成的集合



    eg:

    >>> create_ngram_set([1, 4, 9, 4, 1, 4])

    {(4, 9), (4, 1), (1, 4), (9, 4)}

    """

    return set(zip(*[input_list[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值