НачатьНачать бесплатно

Мешок слов в 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):
    ____[____] += ____
Редактировать и запускать код