The brown module in the Natural Language Toolkit (nltk) library in Python provides access to the Brown Corpus, which is a collection of text samples from a wide range of sources, including news articles, fiction, and academic texts. The corpus is often used for research in natural language processing and computational linguistics.

The brown module provides functions for accessing the corpus and working with its data, such as retrieving sentences or words from specific categories or genres within the corpus. It can happen that when you’re trying to use brown from the NLTK library, you may run into the “NameError: name ‘brown’ is not defined”.
Why does the NameError: name 'brown' is not defined occur?
This error occurs when you try to use the brown module from the NLTK library in your Python code, but Python cannot find the brown module in its namespace. This could happen if you are not correctly importing the brown module.
How to correctly import brown?
The correct way to import the brown module is as follows –
-
Make sure that you have the
nltkmodule installed. Usepip show nltkinside command prompt or terminal to check if you have thenltkmodule installed or not. If it is not installed, usepip install nltkinside the command prompt or terminal to install thenltkmodule. -
Import the
nltkmodule. -
Download the
browncorpus using thenltkmodule using the commandnltk.download('brown'). This will download the brown corpus to your computer. - After downloading the
browncorpus, you can import the brown module in your Python code usingfrom nltk.corpus import brown
The above steps will make sure that you have correctly imported brown from the nltk module. Let’s now look at an example of importing and using the brown module from the nltk library.
Introductory ⭐
- Harvard University Data Science: Learn R Basics for Data Science
- Standford University Data Science: Introduction to Machine Learning
- UC Davis Data Science: Learn SQL Basics for Data Science
- IBM Data Science: Professional Certificate in Data Science
- IBM Data Analysis: Professional Certificate in Data Analytics
- Google Data Analysis: Professional Certificate in Data Analytics
- IBM Data Science: Professional Certificate in Python Data Science
- IBM Data Engineering Fundamentals: Python Basics for Data Science
Intermediate ⭐⭐⭐
- Harvard University Learning Python for Data Science: Introduction to Data Science with Python
- Harvard University Computer Science Courses: Using Python for Research
- IBM Python Data Science: Visualizing Data with Python
- DeepLearning.AI Data Science and Machine Learning: Deep Learning Specialization
Advanced ⭐⭐⭐⭐⭐
- UC San Diego Data Science: Python for Data Science
- UC San Diego Data Science: Probability and Statistics in Data Science using Python
- Google Data Analysis: Professional Certificate in Advanced Data Analytics
- MIT Statistics and Data Science: Machine Learning with Python - from Linear Models to Deep Learning
- MIT Statistics and Data Science: MicroMasters® Program in Statistics and Data Science
🔎 Find Data Science Programs 👨💻 111,889 already enrolled
Disclaimer: Data Science Parichay is reader supported. When you purchase a course through a link on this site, we may earn a small commission at no additional cost to you. Earned commissions help support this website and its team of writers.
Assuming that the nltk module is installed.
import nltk
# download the brown corpus
nltk.download('brown')
# import brown
from nltk.corpus import brown
# print the first 10 words of the first sentece in the corpus
print(brown.sents()[0][:10])
Output:
[nltk_data] Downloading package brown to /Users/piyush/nltk_data... ['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', 'Friday', 'an', 'investigation', 'of'] [nltk_data] Unzipping corpora/brown.zip.
In the above example, we are printing the first 10 words of the first sentence present in the brown corpus from nltk. We followed the steps mentioned earlier and thus didn’t get an error.
Common Errors when importing brown
Let’s now look at some common scenarios that could result in errors while importing the brown module.
NameError: name 'brown' is not defined
A common mistake people do is that they download the brown corpus but forget to import it. Like in the example below –
import nltk
# download the brown corpus
nltk.download('brown')
# print the first 10 words of the first sentece in the corpus
print(brown.sents()[0][:10])
Output:
[nltk_data] Downloading package brown to /Users/piyush/nltk_data...
[nltk_data] Unzipping corpora/brown.zip.
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[1], line 7
4 nltk.download('brown')
6 # print the first 10 words of the first sentece in the corpus
----> 7 print(brown.sents()[0][:10])
NameError: name 'brown' is not defined
Using nltk.download('brown') will download the brown corpus to your computer but in order to use it in your Python code, you still have to import the brown module. You can import the brown module using from nltk.corpus import brown.
LookupError: resource 'brown' was not found
If the brown corpus is not downloaded on your machine and you try to import the brown module, it will give you a LookupError.
import nltk # import brown from nltk.corpus import brown # print the first 10 words of the first sentece in the corpus print(brown.sents()[0][:10])
Output:
LookupError:
**********************************************************************
Resource brown not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('brown')
**********************************************************************
To avoid this error, make sure that the brown corpus is downloaded before you import it into your code.
Conclusion
In conclusion, the “NameError name ‘brown’ is not defined” error can be frustrating when working with natural language processing tasks. However, by following the steps outlined in this tutorial, you can easily fix this error and continue with your NLP project. Remember to import the necessary libraries and modules, and ensure that you have installed the required packages. With these simple fixes, you can overcome this error and successfully complete your NLP tasks.
You might be also interested in –
