Python 什么是适合多类文本分类的LSTM模型?Tensorflow 2.x

Python 什么是适合多类文本分类的LSTM模型?Tensorflow 2.x,python,tensorflow,lstm,text-classification,Python,Tensorflow,Lstm,Text Classification,我正在从事一项从Myers-Briggs测试中预测性格类型的项目。我想为这个多类文本分类问题建立一个合适的LSTM模型 标签:共有16种人格类型 数据集有:70800个单词。其中80%用于培训数据,20%用于验证数据 大小: 训练数据(X_列车):56640字 验证数据(Y_val):14160字 train\u data\u padded.size 验证填充的大小 填充的: 培训和验证数据填充为最大长度240 例如: training_padded=tf.keras.prepro

我正在从事一项从Myers-Briggs测试中预测性格类型的项目。我想为这个多类文本分类问题建立一个合适的LSTM模型

  • 标签:共有16种人格类型
  • 数据集有:70800个单词。其中80%用于培训数据,20%用于验证数据

大小:

  • 训练数据(X_列车):56640字
  • 验证数据(Y_val):14160字
train\u data\u padded.size
验证填充的大小

填充的

培训和验证数据填充为最大长度240

例如:

training_padded=tf.keras.preprocessing.sequence.pad_sequences(训练_sequences,
maxlen=240,
数据类型='int32',
padding='post',
截断='post',
值=0.0)

形状:

training padded:{train\u data\u padded.shape}
填充验证:{validation_padded.shape}
训练垫:(236240)
验证填充:(59240)

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

  • 1输出:哪里是更准确的人格类型
  • 16个输出:其中给出了16种类型的个性,显示了每个百分比的准确性

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

    model=tf.keras.Sequential([
    tf.keras.layers.嵌入(56640240),
    双向(tf.keras.layers.LSTM(240)),
    tf.keras.layers.Dense(240,活化='relu'),
    #当我们有多个输出时,softmax将输出层转换为概率分布。
    tf.keras.layers.Dense(16,活化='softmax')
    ])
    #损耗=tf.keras.loss.sparsecategoricalcrossention(from_logits=True)
    compile(loss='sparse'\u categorical'\u crossentropy',optimizer='adam',metrics=['accurity'])
    model.summary()
    


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

    您的问题是什么?你的f1成绩太低了吗?keras代码乍一看很好。您是否尝试过简单的scikit学习模型?相比之下,你得到的f1分数是多少?我真的不明白你的f1分数是什么意思,当我使用它时,我得到的是亏损:nan,val:nan。我还有其他类似的问题,但我没有得到任何改善。
    INTJ: 0,84%
    
    INTJ: 0,5 | INTP: 0,45 | ENTP: 0,8 | ... | ISFP: 0,20