【发布时间】:2019-06-18 05:21:21
【问题描述】:
我想在 Keras 中使用神经网络进行文本分类。我使用以下网络设置了一个简单的测试样本:
model = Sequential()
model.add(Embedding(NUMVOCABOLARYWORDS, 5, input_length = sequenceDataPadded.shape[1]))
model.add(LSTM(256, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(128))
model.add(Dense(1))
此网络接受标记化的填充文本序列。例如。我标记了文本“hello world”= [0,1,0,0,0..]。它可以很好地训练和评估。
现在我的问题是我不想将单个序列输入网络,而是将一个集合(比如说 500 个)序列输入网络并输出一个类别。因此,现在不是形状为 (100) 的输入,而是 (500, 100)。我不确定如何最好地创建网络架构,即:
1) 我应该展平输入还是尝试减小尺寸?我可以使用哪些层来完成这项工作?
2) 我应该只创建一个包含所有文本的大序列吗?
3) 拥有 4 维的 LSTM 是否有意义?
4) 是否存在使用一组标记数组进行分类的示例?
文本是从不同来源收集的文本,因此每批中的不同序列不一定与日期相关。
【问题讨论】:
-
我正在考虑合并给定批次的所有文本并输入标记化的文本和频率,例如 [0, 1, 2, 5, 6, 4, 3...] [1, 2, 4, 5, 6, 7...],但我真的很想要一些建议。
标签: tensorflow neural-network recurrent-neural-network text-classification tensor