【问题标题】:How to build a deep learning text classifier using convolutional neural networks (python)如何使用卷积神经网络(python)构建深度学习文本分类器
【发布时间】:2020-06-16 09:26:48
【问题描述】:

我需要采取哪些步骤来构建深度学习文本分类器,更具体地说,是在一组未标记文本中识别作者(作者归属)的文本分类器?我正在研究使用的模型是单词-单词 CNN(卷积神经网络),它已被证明在文本分类等方面非常成功。我正在寻找在 python 中构建这个模型。

我是深度学习的新手,因此感谢任何资源和信息。

【问题讨论】:

    标签: python-3.x deep-learning neural-network conv-neural-network text-classification


    【解决方案1】:

    一个端到端的示例演示如何使用Text Classification 使用Tensorflow.Keras 使用Convolutional Neural Networks,如下所示:

    from tensorflow.keras.models import Sequential
    from tensorflow.keras import layers
    from tensorflow.keras.optimizers import RMSprop
    from tensorflow.keras.datasets import imdb
    from tensorflow.keras.preprocessing import sequence
    max_features = 10000
    max_len = 500
    print('Loading data...')
    (x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
    print(len(x_train), 'train sequences')
    print(len(x_test), 'test sequences')
    print('Pad sequences (samples x time)')
    x_train = sequence.pad_sequences(x_train, maxlen=max_len)
    x_test = sequence.pad_sequences(x_test, maxlen=max_len)
    print('x_train shape:', x_train.shape)
    print('x_test shape:', x_test.shape)
    
    model = Sequential()
    model.add(layers.Embedding(max_features, 128, input_length=max_len))
    model.add(layers.Conv1D(32, 7, activation='relu'))
    model.add(layers.MaxPooling1D(5))
    model.add(layers.Conv1D(32, 7, activation='relu'))
    model.add(layers.GlobalMaxPooling1D())
    model.add(layers.Dense(1))
    model.summary()
    model.compile(optimizer=RMSprop(lr=1e-4),
    loss='binary_crossentropy',
    metrics=['acc'])
    history = model.fit(x_train,y_train,epochs=10,batch_size=128,validation_split=0.2)
    

    更多信息请参考Keras之父Francois Chollet所著Deep Learning Using Python一书中Section 6.4 Sequence processing with convnets

    希望这会有所帮助。快乐学习!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2020-05-15
      • 2018-10-05
      • 1970-01-01
      • 2015-09-10
      • 2015-04-09
      相关资源
      最近更新 更多