如何从文本文件创建自己的NLTK文本?

Jon*_*han 31 python nltk

我是文学研究生,我一直在阅读O'Reilly的自然语言处理书(nltk.org/book).它看起来非常有用.我已经玩过第1章中的所有示例文本和示例任务,比如一致性.我现在知道白鲸有多少次使用"鲸鱼"这个词.问题是,我无法弄清楚如何在我自己的一个文本上进行这些计算.我已经找到了关于如何创建自己的语料库的信息(O'Reilly书中的第2章),但我认为这不是我想要做的.换句话说,我希望能够做到

import nltk 
text1.concordance('yellow')
Run Code Online (Sandbox Code Playgroud)

并获取我的文字中使用"黄色"一词的地方.目前我可以使用示例文本执行此操作,但不能使用我自己的文本.

我是python和编程的新手,所以这些东西非常令人兴奋,但非常令人困惑.

Jon*_*han 58

我自己找到了答案.那令人尴尬.或者太棒了.

来自Ch.3:

f=open('my-file.txt','rU')
raw=f.read()
tokens = nltk.word_tokenize(raw)
text = nltk.Text(tokens)
Run Code Online (Sandbox Code Playgroud)

诀窍.

  • 优秀.我只想自己回答这个问题; 很高兴我偶然发现你的(自我)答案. - 另一位文学学者 (4认同)

Raf*_*ael 14

对于多个文件的结构化导入:

from nltk.corpus import PlaintextCorpusReader

# RegEx or list of file names
files = ".*\.txt"

corpus0 = PlaintextCorpusReader("/path/", files)
corpus  = nltk.Text(corpus0.words())
Run Code Online (Sandbox Code Playgroud)

参见:NLTK 3书 /第1.9节

  • 解决utf8错误,添加编码:PlaintextCorpusReader(path,'.*',encoding ='latin-1') (3认同)