实现一段tensorflow2.0 LSTM文本分类的代码,使用word2vec进行词嵌入,并给出示例
时间: 2023-05-20 17:05:27 浏览: 137
以下是一段使用 TensorFlow 2.0 实现 LSTM 文本分类的代码,使用 word2vec 进行词嵌入的示例:
```python
import tensorflow as tf
import numpy as np
from gensim.models import Word2Vec
# 加载预训练的 word2vec 模型
w2v_model = Word2Vec.load("path/to/word2vec/model")
# 定义 LSTM 模型
model = tf.keras.Sequential([
tf.keras.layers.Embedding(input_dim=len(w2v_model.wv.vocab), output_dim=100, weights=[w2v_model.wv.vectors], trainable=False),
tf.keras.layers.LSTM(units=64),
tf.keras.layers.Dense(units=1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 加载数据集
x_train = np.load("path/to/x_train.npy")
y_train = np.load("path/to/y_train.npy")
x_test = np.load("path/to/x_test.npy")
y_test = np.load("path/to/y_test.npy")
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=32, validation_data=(x_test, y_test))
```
在这个示例中,我们首先加载了一个预训练的 word2vec 模型,然后使用它来进行词嵌入。接着,我们定义了一个包含一个嵌入层、一个 LSTM 层和一个全连接层的模型,并编译了它。最后,我们加载了训练集和测试集,并使用它们来训练模型。
阅读全文