ГРАБЛИ с ГЕНСИМ

Я пытаюсь вычислить сходство. Прежде всего, я использовал библиотеку RAKE для извлечения ключевых слов из просканированных заданий. Затем я поместил ключевые слова каждого задания в отдельный массив, а затем объединил все эти массивы в documentArray.

documentArray = ['Команда гнева, Напористость, Доступность, Адаптивность, Подлинность, Агрессивность, Аналитическое мышление, Молекулярная биология, Молекулярная биология, Молекулярная биология, Молекулярная биология, Молекулярная биология, Магистр, Английский язык, Молекулярная биология,, Исламабад, Исламабадский округ, Столица Исламабада Территория, Пакистан, Равалпинди, Равалпинди, Пенджаб, Пакистан '], ['конкурентная компенсация, дизайн анализа, позитивное отношение, регулярная основа, мотивация других, связанные с собраниями, улучшение состояния, поездки, степень доктора философии, резюме собраний, пакет льгот, ежедневно, научные статьи, заметки по применению']


queryStr = 'In Vitro, биохимия, ПЦР, вестерн-блоттинг, неврология, молекулярная биология, клеточная биология, иммуногистохимия, микроскопия, животные модели, презентации, иммунопреципитация, клеточная биология, степень магистра, степень бакалавра,,,,,'

Затем я написал следующий код GENSIM:

класс Генсим:

def __init__(self):
    print("Init")

def calculateGensimSimilarity(self, texts, query):
    dictionary = corpora.Dictionary(texts)
    corpus = [dictionary.doc2bow(text) for text in texts]
    lsi = models.LsiModel(corpus, id2word=dictionary, num_topics=2)
    lda = models.LdaModel(corpus, id2word=dictionary, num_topics=2)
    index_lsi = similarities.MatrixSimilarity(lsi[corpus])
    index_lda = similarities.MatrixSimilarity(lda[corpus])
    vec_bow = dictionary.doc2bow(query.lower().split())
    vec_lsi = lsi[vec_bow]
    vec_lda = lda[vec_bow]
    print("LSI Model")
    sims_lsi = index_lsi[vec_lsi]
    print("LDA Model")
    print(sims_lsi)
    sims_lda = index_lda[vec_lda]
    print(sims_lda)

Он печатает оценку LSA 0 и оценку LDA на 90%+. Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу изменить, чтобы вычислить правильное косинусное сходство.

Показатель LSA [ 0. 0.] Показатель LDA [ 0,94234258 0,9477495 ]


person Khalid Usman    schedule 05.11.2016    source источник