1.概要
TEXTCNN是由Yoon Kim在论文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification中提出的,其主要思想是将不同长度的短文作为矩阵输入,使用多个不同size的filter去提取句子中的关键信息(类似于多窗口大小的ngram),并用于最终的分类。
2.网络结构
输入层:
文本矩阵。
对于文本中的词语可先构建大的词库集,用word2vec进行训练,获取得到每个词语的词向量,所有词向量拼接能够得到对应的文本矩阵。
注意点:
特征:这里用的是词向量表示方式
数据量较大:可以直接随机初始化embeddings,然后基于语料通过训练模型网络来对embeddings进行更新和学习。
数据量较小:可以利用外部语料来预训练(pre-train)词向量,然后输入到Embedding层,用预训练的词向量矩阵初始化embeddings。(通过设置weights=[embedding_matrix])。
(1)static(静态词向量)
使用预训练的词向量,即利用word2vec、fastText或者Glove等词向量工具,在开放领域数据上进行无监督的学习,获得词汇的具体词向量表示方式,拿来直接作为输入层的输入,并且在TextCNN模型训练过程中不再调整词向量, 这属于迁移学习在NLP领域的一种具体的应用。
(2)non-static(非静态词向量)