NLTK包含“褐色”数据集,其中包含不同类型的所有数据......
cfd = nltk.ConditionalFreqDist(
(genre, word)
for genre in brown.categories()
for word in brown.words(categories=genre))
genres = ['news', 'religion', 'hobbies', 'science_fiction', 'romance', 'humor']
modals = ['can', 'could', 'may', 'might', 'must', 'will']
cfd.tabulate(conditions=genres, samples=modals)
问题是,brown恰好是使用方便的类别方法构建到nltk中的数据集,但我不知道输入数据是如何构造的。
如果我拥有自己的数据,我想利用COnditionalFreqDist函数,比如50个文档,每个文档都有自己的“流派/类别”,我怎样才能以这样的方式格式化这些数据?功能?它应该是每个类型的csv还是单独的csv,每行包含一个文档?如何格式化输入?小数据集的一个例子很棒。
如果可以通过数据库连接而不是平面文件来完成,那将是一个加号。
答案 0 :(得分:0)
如果您前往安装nltk数据的目录,您应该能够直接查看这些文件。我的nltk_data目录位于/ home / $ user中。
文件将是目录结构中的纯文本,如下所示:
./nltk_data/corpora/brown/
棕色文件的示例是标记化文本,如下所示:
``/`` These/dts actions/nns should/md serve/vb to/to protect/vb in/in fact/nn and/cc in/in effect/nn the/at court's/nn$ wards/nns from/in undue/jj costs/nns and/cc its/pp$ appointed/vbn and/cc elected/vbn servants/nns from/in unmeritorious/jj criticisms/nns ''/'' ,/, the/at jury/nn said/vbd ./.
Regarding/in Atlanta's/np$ new/jj multi-million-dollar/jj airport/nn ,/, the/at jury/nn recommended/vbd ``/`` that/cs when/wrb the/at new/jj management/nn takes/vbz charge/nn Jan./np 1/cd the/at airport/nn be/be operated/vbn in/in a/at manner/nn that/wps will/md eliminate/vb political/jj influences/nns ''/'' ./.
对于类别,我认为有两个相关文件:
categories.pickle
cat.txt
后者是每个文件名的简单列表,其类别列在旁边。 pickle转储是一组具有相同信息的元组(可能是从.txt文件创建的?):
('ce21', ['hobbies']), ('ce28', ['hobbies']), ('ce29', ['hobbies'])]
您可能只需要使用文本名称创建类别的pickle转储,并将该文件放在您将要读取文件的同一目录中。 (我自己没有这样做,如果我遗漏了某些东西,请道歉,但似乎与nltk的组织方式一致。)
无论如何,只需找到你的nltk_data目录,就可以看到所有文件及其组织方式。