文本分类
训练的trick, 接着看 https://cloud.tencent.com/developer/article/1897835
fasttext
TextCNN 文本分类
1. 环境
torch==1.9.0
gensim==3.8.3
gensim4.x版本与3.x版本有些参数名变了,报错了百度下都可以解决。
2. 数据
百度云:链接
提取码:96fu
(后续整理到Github数据集中)
模型结构
这是一个文本情绪二分类的实现。
- activation function 激活函数
- univariate vectors concatenated together to form a single feature vector 单变量向量连接在一起,形成一个单一的特征向量
- softmax function regularization in this layer 在这一层中,softmax正则化
class TextCNN(nn.Module):
def __init__(self, config):
super(TextCNN, self).__init__()
self.embedding = nn.Embedding(config.vocab_size, config.embedding_size)
if config.use_pretrained_w2v:
self.embedding.weight.data.copy_(config.embedding_pretrained)
self.embedding.weight.requires_grad = True
self.convs = nn.ModuleList([nn.Conv2d(1, config.kenel_num, (k, config.embedding_size)) for k in config.kenel_size])
self.dropout = nn.Dropout(config.dropout)
self.fc = nn.Linear(config.kenel_num * len(config.kenel_size), config.num_classes)
def forward(self, x