当前位置:   article > 正文

NLP文本特征处理及数据增强-学习笔记(4)_文本分类处理中特征增强是什么意思啊

文本分类处理中特征增强是什么意思啊


  • 学习目标:

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

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


  • 文本特征处理的作用:

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

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

    • 添加n-gram特征

    • 文本长度规范


  • 什么是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[i:] for i in range(ngram_range)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/350475
推荐阅读
相关标签
  

闽ICP备14008679号