我需要开发一个代码来计算Ngram(1,2,3,4,5,6)频率在大型文本语料库使用NLTK。我有两个问题: 1: 我有以下代码可以批量导入文件:
from nltk.corpus import PlaintextCorpusReader
Corpus_root = 'C/x/x/Myfolder'
files = PlaintextCorpusReader(corpus_root, '.*')
files.fileids()
给我一个被读入NLTK的所有文件的输出。在
我的第一个问题是如何将语料库读取器连接到即将到来的代码中以计算ngram?在
下一步我要解决的问题是,我应该使用哪种代码模块来计算二元、三元组和四、五元图以及它们的频率,它们的效率和速度是多少?在
我有300个txt文件,想用它们来获得ngram频率。在
新语料库的使用方法与内置nltk语料库相同,如Brown或Reuters语料库:根据需要调用方法}。这两个方法都接受一个filename参数;如果使用,您将只获得该文件的单词。我建议使用它一次处理一个文件,否则一些ngram将在一个文件中开始,在另一个文件中结束。(你想要跨越句子界限的ngrams吗?您必须做出决定并相应地进行)。在
words()
或{NLTK book有函数}(它接受第二个参数
nltk.bigrams
,nltk.trigrams
,和{n
,指定ngram大小)。在NLTK书籍的Chapter 2展示了如何使用},甚至还有一节关于ngram。好好看看。在
words()
和{相关问题 更多 >
编程相关推荐