📜  自然语言处理 |自定义语料库

📅  最后修改于: 2022-05-13 01:54:57.898000             🧑  作者: Mango

自然语言处理 |自定义语料库

什么是语料库?
语料库可以定义为文本文档的集合。它可以被认为只是一个目录中的一堆文本文件,通常与许多其他文本文件目录一起。

它是怎么做的?
NLTK 已经在nltk.data.path中定义了数据路径或目录的列表。我们的自定义语料库必须存在于任何这些给定路径中,以便 NLTK 可以找到它。
我们还可以在我们的主目录中创建一个自定义的 nltk_data 目录,并验证它是否在nltk.data.path 指定的已知路径列表中。

代码 #1:创建自定义目录并验证。

# 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)

输出 :

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

代码#2:创建一个单词表文件。

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

输出 :

b'nltk\n'

这一切如何运作?

  • nltk.data.load()识别格式——“raw”、“pickle”和“yaml”。
  • 如果没有给出格式,它会根据文件的扩展名猜测格式。
  • 与上面的代码一样,需要指定“原始”格式。
  • 与上面的代码一样,需要指定“原始”格式。
  • 如果文件以 '.yaml' 结尾,则无需指定格式。

代码 #3:如何加载 YAML 文件

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

输出 :

{'bday': 'birthday'}