利用eda函数对文本数据进行增强

在深度学习文本分类项目中,面对96类不平衡数据,尝试了过采样无效后,转向词向量转换。发现过采样后的word2vec无法反映原文本特性,于是采用文本数据增强方法——EDA(包括随机替换、随机插值、随机交换、随机删除),通过调整EDA函数参数来优化文本,以提高模型准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期接手一个项目,时关于深度学习文本分类,我用的是keras深度学习框架LSTM模型,学习前首先得对数据进行处理,由于文本类别比较多有96类,并且有部分类别数据量比较少,这将会影响算法的拟合,我首先想到的是过采样的方法,但是过采样对文本数据无用,所以得先进行词向量的转换,转换完之后我发现准确率还是上不去,后来看了一下word2vec原理,是按照输入的文本数据进行分词统计,在计算词向量,所以这样利用过采样出来的结果,不能够代表就是与原文本类似的文本,所以这种方法pass掉。之后就找到文本数据增强的方法,下面我把我用到的给分享一下。看代码:


# !/usr/bin/env python
# -*- coding: utf-8 -*-

import jieba
import re
import synonyms
import random
from random import shuffle

random.seed(2019)

# 停用词列表,默认使用哈工大停用词表
f = open('stop_word.txt', encoding='utf-8')
stop_words = list()
for stop_word in f.readlines():
    stop_words.append(stop_word[:-1])

# 考虑到与英文的不同,暂时搁置
# 文本清理
'''
import re
def get_only_chars(line):
    #1.清除所有的数字
'''


########################################################################
# 同义词替换
# 替换一个语句中的n个单词为其同义词
###########################
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值