def extract_keywords(tfidf, processed_text): mapping = {} for i in range(len(tfidf)): for j in range(len(tfidf[i])): mapping[processed_text[i][j]] = tfidf[i][j] #print(mapping) word_scores = sorted(mapping.values(), reverse=True) words = [] scores_to_word = {} for i in range(len(tfidf)): for j in range(len(tfidf[i])): scores_to_word[tfidf[i][j]] = processed_text[i][j] for i in range(len(word_scores)): if (word_scores[i] != 0): words.append(scores_to_word[word_scores[i]]) else: words.append(scores_to_word[word_scores[i]]) break # print(words) words = OrderedSet(words) for i in mapping: if (mapping[i] == 0): words.append(i) return words, mapping