Объект 'Word2Vec' не имеет атрибута 'index2word' - PullRequest
0 голосов
/ 03 октября 2018

Я получаю эту ошибку «AttributeError: у объекта« Word2Vec »нет атрибута« index2word »» в следующем коде на python.Кто-нибудь знает, как я могу решить это?Фактически "tfidf_weighted_averaged_word_vectorizer" выдает ошибку."obli.csv" содержит строку предложений.Спасибо.

from feature_extractors import tfidf_weighted_averaged_word_vectorizer

    dataset = get_data2()
    corpus, labels = dataset.data, dataset.target
    corpus, labels = remove_empty_docs(corpus, labels)
    # print('Actual class label:', dataset.target_names[labels[10]])

    train_corpus, test_corpus, train_labels, test_labels = prepare_datasets(corpus,
                                                                            labels,
                                                                            test_data_proportion=0.3)
    tfidf_vectorizer, tfidf_train_features = tfidf_extractor(train_corpus)


    vocab = tfidf_vectorizer.vocabulary_
        tfidf_wv_train_features = tfidf_weighted_averaged_word_vectorizer(corpus=tokenized_train,
                                                                          tfidf_vectors=tfidf_train_features,
                                                                          tfidf_vocabulary=vocab,
                                                                          model=model,
                                                                          num_features=100)



    def get_data2():

        obli = pd.read_csv('db/obli.csv').values.ravel().tolist()
        cl0 = [0 for x in range(len(obli))]

        nonObli = pd.read_csv('db/nonObli.csv').values.ravel().tolist()
        cl1 = [1 for x in range(len(nonObli))]

        all = obli + nonObli


        db =  Db(all,cl0 + cl1)
        db.data = all
        db.target = cl0 + cl1

        return db

1 Ответ

0 голосов
/ 11 апреля 2019

Это код из главы 4 Text Analytics для Python Дипанджана Саркара.

index2word в gensim был перемещен с момента публикации этого текста.

Вместо model.index2word вы должны использоватьmodel.wv.index2word.

...