在Keras中进行序列标注任务可以使用循环神经网络(RNN)或者长短期记忆网络(LSTM)。以下是一个简单的示例代码:
from keras.models import Sequential
from keras.layers import Embedding, LSTM, Dense
# 定义模型
model = Sequential()
model.add(Embedding(input_dim=num_words, output_dim=embed_size, input_length=max_len))
model.add(LSTM(units=100, return_sequences=True))
model.add(Dense(num_classes, activation='softmax'))
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, batch_size=32, epochs=10, validation_data=(X_val, y_val))
在这个示例中,我们使用Embedding层将输入序列编码成词嵌入向量,然后通过LSTM层对序列进行处理,最后通过全连接层输出预测结果。在编译模型时,我们使用adam优化器和交叉熵损失函数。在训练模型时,我们传入训练数据X_train和y_train,并指定batch_size、epochs以及验证集数据。