Мешок слов в Gensim
Теперь воспользуйтесь созданными корпусом и словарём gensim, чтобы найти наиболее частотные термины — как в отдельных документах, так и по всему корпусу. Для поиска терминов используйте словарь. Попробуйте определить темы документов и не стесняйтесь исследовать другие документы в IPython Shell!
Вам доступны объекты dictionary и corpus, созданные в предыдущем упражнении, а также defaultdict из стандартной библиотеки Python и модуль itertools — для формирования вспомогательных структур данных при анализе.
defaultdictпозволяет создать словарь, который автоматически присваивает значение по умолчанию несуществующим ключам. Передав аргументint, мы гарантируем, что все новые ключи получат значение0. Это удобно для подсчёта слов в данном упражнении.itertools.chain.from_iterable()позволяет последовательно перебирать несколько последовательностей так, как если бы они были одной непрерывной. С помощью этой функции можно легко перебрать объектcorpus(который является списком списков).
Пятый документ из corpus сохранён в переменной doc и отсортирован в порядке убывания.
Это упражнение является частью курса
Введение в обработку естественного языка на Python
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Save the fifth document: doc
doc = corpus[4]
# Sort the doc for frequency: bow_doc
bow_doc = sorted(doc, key=lambda w: w[1], reverse=True)
# Print the top 5 words of the document alongside the count
for word_id, word_count in bow_doc[:5]:
print(dictionary.____(____), ____)
# Create the defaultdict: total_word_count
total_word_count = ____
for word_id, word_count in itertools.chain.from_iterable(corpus):
____[____] += ____