Monday, November 25, 2024
Google search engine
HomeLanguagesNLP | Custom corpus

NLP | Custom corpus

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'}

RELATED ARTICLES

Most Popular

Recent Comments