首页 > 解决方案 > 多类文本分类的合适 LSTM 模型是什么?张量流 2.x

问题描述

我正在通过Myers-Briggs测试预测人格类型。我想为这个多类文本分类问题获得一个合适的 LSTM 模型。


尺寸:

train_data_padded.size
validation_padded.size

填充

训练和验证数据以 240 的最大长度填充。

例如:

training_padded = tf.keras.preprocessing.sequence.pad_sequences(training_sequences,
                                                                  maxlen = 240,
                                                                  dtype = 'int32',
                                                                  padding = 'post',
                                                                  truncating = 'post',
                                                                  value = 0.0)

形状:

training padded: {train_data_padded.shape}
validation padded: {validation_padded.shape}

training padded: (236, 240)
validation padded: (59, 240)

预期输出: 可以有两种类型的输出:

  1. 1 输出:哪里是更准确的人格类型。
INTJ: 0,84%
  1. 16 个输出:给出 16 种类型的个性,显示每个准确度百分比。
INTJ: 0,5 | INTP: 0,45 | ENTP: 0,8 | ... | ISFP: 0,20

我尝试了什么?:我已经尝试了 TF 网站上的一些 LSTM 模型,但是,我想知道你对这个主题的回答。

model = tf.keras.Sequential([
    tf.keras.layers.Embedding(56640, 240),
    tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(240)),
    tf.keras.layers.Dense(240, activation='relu'),
    # When we have multiple outputs, softmax convert outputs layers into a probability distribution.
    tf.keras.layers.Dense(16, activation='softmax')
    ])

#loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()

在尝试关闭问题之前,请提出任何改进建议,我们将予以考虑。

标签: pythontensorflowlstmtext-classification

解决方案


推荐阅读