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

Создание корпуса и запросы к нему с помощью gensim

Пришло время применить методы из предыдущего видео и создать свой первый словарь и корпус gensim!

Эти структуры данных помогут вам изучить частотность слов и выявить потенциально интересные темы в наборе документов. Для начала мы загрузили несколько дополнительных статей из Wikipedia в необработанном виде. Они были предобработаны: все слова приведены к нижнему регистру, токенизированы, а стоп-слова и знаки препинания удалены. Результат сохранён в виде списка токенов документов articles. Вам предстоит выполнить небольшую предобработку, а затем сформировать словарь и корпус gensim.

Это упражнение является частью курса

Введение в обработку естественного языка на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте Dictionary из gensim.corpora.dictionary.
  • Инициализируйте Dictionary библиотеки gensim, передав в неё токены из articles.
  • Получите идентификатор слова "computer" из dictionary. Для этого используйте метод .token2id, который возвращает идентификаторы по тексту, и добавьте к нему .get(), который возвращает токены по идентификаторам. Передайте "computer" в качестве аргумента в .get().
  • С помощью генератора списка, итерируясь по articles, создайте MmCorpus библиотеки gensim на основе dictionary.
    • В выходном выражении применяйте метод .doc2bow() объекта dictionary, передавая article в качестве аргумента.
  • Выведите первые 10 идентификаторов слов с частотами из пятого документа. Этот шаг уже выполнен за вас — нажмите «Отправить ответ», чтобы увидеть результат!

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import Dictionary
____

# Create a Dictionary from the articles: dictionary
dictionary = ____(____)

# Select the id for "computer": computer_id
computer_id = ____.____.get("____")

# Use computer_id with the dictionary to print the word
print(dictionary.get(computer_id))

# Create a MmCorpus: corpus
corpus = [____.____(____) for article in articles]

# Print the first 10 word ids with their frequency counts from the fifth document
print(corpus[4][:10])
Редактировать и запускать код