Open In App

NLP | Custom corpus

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

What is a corpus?
A corpus can be defined as a collection of text documents. It can be thought as just a bunch of text files in a directory, often alongside many other directories of text files.

How it is done ?
NLTK already defines a list of data paths or directories in nltk.data.path. Our custom corpora must be present within any of these given paths so it can be found by NLTK.
We can also create a custom nltk_data directory in our home directory and verify that it is in the list of known paths specified by nltk.data.path.

Code #1 : Creating a custom directory and verify.




# importing libraries
import os, os.path
  
# using the given path
path = os.path.expanduser('~/nltk_data')
  
# checking
if not os.path.exists(path):
    os.mkdir(path)
      
print ("Does path exists : ", os.path.exists(path))
  
  
import nltk.data
print ("\nDoes path exists in nltk : "
       path in nltk.data.path)


Output :

Does path exists : True
Does path exists in nltk : True

Code #2 : Creating a wordlist file.




# loading libraries
import nltk.data
  
nltk.data.load('corpora/cookbook/word_file.txt', format ='raw')


Output :

b'nltk\n'

How all this works ?

  • nltk.data.load() recognizes the formats – ‘raw’, ‘pickle’ and ‘yaml’.
  • It guess the format based on the file’s extension, if format is not given.
  • As in the code above, ‘raw’ format is needed to be specified.
  • As in the code above, ‘raw’ format is needed to be specified.
  • If file ends in ‘.yaml’, then no need to specify the format.

Code #3 : How to load a YAML file




import nltk.data
  
# loading file using the path
nltk.data.load('corpora/cookbook/synonyms.yaml')


Output :

{'bday': 'birthday'}


Last Updated : 20 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads