Существует пример Convolution1D https://github.com/fchollet/keras/blob/master/examples/imdb_cnn.py без word2vec.
В настоящее время я использую gensim для обучения модели word2vec.
Я хочу использовать word2vec и keras cnn (2D, а не 1D) для классификации документов (китайский текст). Я изучил базовый процесс классификации текста в cnn и хочу провести тест.
Например (шаги, которые я себе представляю):
Используйте хороший набор китайских токенизированных текстов для обучения модели word2vec
model = gensim.models.Word2Vec(new_sentences, workers=10, size=200, min_count=2)
Токенизация набора данных моих предложений в набор данных списков слов (самое длинное предложение содержит более 8000 слов, самое короткое - менее 50)
1 ['你们', '好', '今天', '天气', '真', '好'] 2 ['嗯', '对的'] ... 9999 ['好', '就', '这样']
Используйте метод для преобразования набора данных списков слов в набор данных word2vec
преобразовать каждое слово во всех смыслах в вектор с помощью обученной модели.
1 [[word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200]] 2 [[word2vec size=200], [word2vec size=200]] ... 9999 [[word2vec size=200], [word2vec size=200], [word2vec size=200]]
Заполнить набор данных word2vec (с нулевым массивом size = 200)
1 [[word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200]] 2 [[word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200]] .... 9999 [[word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200], [word2vec size=200]]
перейти на CNN (используя Convolution2D)
Я долго ищу, но не могу найти способ сделать шаг 3 (после шага 3 настройки параметров и слоев на шаге 5 тоже трудно понять).