В отправленной вами ссылке сказано, что эта функция является экстрактором функций, который просто проверяет, присутствует ли каждое из этих слов в данном документе.
Вот весь код с номерами для каждой строки:
1 all_words = nltk.FreqDist(w.lower() for w in movie_reviews.words())
2 word_features = all_words.keys()[:2000]
3 def document_features(document):
4 document_words = set(document)
5 features = {}
6 for word in word_features:
7 features['contains(%s)' % word] = (word in document_words)
8 return features
В строке 1 создан список всех слов.
В строке 2 это занимает наиболее часто встречающиеся 2000 слов.
3 определения функции
4 преобразует список документов (я думаю, что это должен быть список) и преобразует список в набор.
5 объявляет словарь
6 перебирает все наиболее часто встречающиеся 2000 слов
7 создает словарь, в котором ключ «содержит (theword)», а значение равно true или false. True, если слово присутствует в документе, false в противном случае
8 возвращает словарь, который показывает, содержит ли документ наиболее часто встречающиеся 2000 слов или нет.
Это отвечает на ваш вопрос?