Извлечение тем из модели LSTM-autoencoder - PullRequest
0 голосов
/ 27 марта 2019

Я использовал код здесь , который является LSTM autoencoder.

Моя главная цель - извлечь темы из этой модели.Тем не менее, я понятия не имею, какой слой будет разумным для этого.На данный момент я извлек 600 функций (60 sequence length, 10 topics), что для меня не имеет смысла.

Если я скажу, что хочу 10 topics, я бы хотел видеть 10 topics with 10 distribution of data длякаждая тема.

В чем заключается мысль, и как я могу реализовать и продолжить это?

До сих пор я реализовал этот код:

from keras.models import load_model

    def get_topics_strength(model, vocab, topn=10):
        topics = []
        weights = model.get_weights()[0]
        for idx in range(model.output_shape[1]):
            token_idx = np.argsort(weights[:, idx])[::-1][:topn]
            topics.append([(vocab[x], weights[x, idx]) for x in token_idx])

        return topics

    def revdict(d):
        return dict((v, k) for (k, v) in d.items())

    ae_lstm = load_model('./Data/simple_ae_to_compare.hdf5')
    topics_strength,ll = get_topics_strength(ae_lstm, revdict(word_freqs), topn=10)

Этот код показывает 60060 - это длина последовательности, и я хотел бы иметь 10 тем.

Не могли бы вы указать, какую часть я пропустил.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...