Write a function that finds the 10 most frequent vocabulary items in the Brown Corpus that are not stopwords

all. Math grad student. This is my first real foray into coding...

Here's what I have written:

lowerbrown = [w.lower() for w in brown.words()]
stopwords = nltk.corpus.stopwords.words('english')
notstopwords = [w for w in lowerbrown if w not in stopwords]
cfd = nltk.ConditionalFreqDist(
    (genre, word)
    for genre in brown.categories()
    for word in notstopwords)

genres = ['news', 'editorial', 'reviews', 'religion', 'hobbies', 'lore', 'belles_lettres', 'government', 'learned', 'fiction', 'mystery', 'science_fiction', 'adventure', 'romance', 'humor']

result = cfd()
cfd[10:]

This is the result when compiled:

TypeError                                 Traceback (most recent call last)
<ipython-input-43-0b8092b42663> in <module>
      9 genres = ['news', 'editorial', 'reviews', 'religion', 'hobbies', 'lore', 'belles_lettres', 'government', 'learned', 'fiction', 'mystery', 'science_fiction', 'adventure', 'romance', 'humor']
     10 
---> 11 result = cfd()
     12 cfd[10:]

TypeError: 'ConditionalFreqDist' object is not callable

I'm sure my code is just... a mess. But I would really appreciate some help with this.

Update: I looked at the solution for a similar question, and modified my code.

lowerbrown = [w.lower() for w in brown.words()]
stopwords = nltk.corpus.stopwords.words('english')
notstopwords = [w for w in lowerbrown if w not in stopwords]
cfd = nltk.ConditionalFreqDist(
    (genre, word)
    for genre in brown.categories()
    for word in notstopwords)

genres = brown.categories()
cfd.tabulate(conditions=genres)

But I'm not sure of how to modify the code to only give me the ten most frequent vocabulary items.