使用PlainTextCorpusReader创建语料库并对其进行分析

时间:2019-08-07 13:31:07

标签: python nltk

我对python来说还比较陌生,我有兴趣了解如何使用NLTK的 $webSock = new SecureServer( new Server('0.0.0.0:8080', $loop), $loop, array( 'local_cert' => '/home/virtfs/users/etc/apache2/conf.d/ssl.crt/server.crt', // path to your cert 'local_pk' => '/home/virtfs/users/etc/apache2/conf.d/ssl.key/server.key', // path to your server private key 'allow_self_signed' => FALSE, // Allow self signed certs (should be false in production) 'verify_peer' => FALSE ) ); 方面创建语料库。我可以导入所有文档。但是,当我运行代码以标记整个语料库中的文本时,它将返回错误。如果这个问题重复,我深表歉意,但是我想对此有所了解。

这是用于导入文档的代码。我的计算机上有一堆与2016 DNC相关的文档(为再现起见,请从https://github.com/lin-jennifer/2016NCtranscripts中提取部分或全部文本文件)

PlainTextCorpusReader

当我去标记文本时,这是代码和输出

代码:

import os
import nltk
from nltk.corpus import PlaintextCorpusReader
from nltk.corpus import stopwords

corpus_root = '/Users/JenniferLin/Desktop/Data/DNCtexts'
DNClist = PlaintextCorpusReader(corpus_root, '.*')

DNClist.fileids()

#Print the words of one of the texts to make sure everything is loaded
DNClist.words('dnc.giffords.txt')

type(DNClist)

str(DNClist)

输出:from nltk.tokenize import sent_tokenize, word_tokenize DNCtokens = sent_tokenize(DNClist)

即使我执行类似TypeError: expected string or bytes-like object的操作,也会收到读取DNClist.paras()的错误

我想知道在加载文档或标记过程中是否存在错误。

非常感谢您!

1 个答案:

答案 0 :(得分:1)

看起来您想要做的是标记文件夹中的纯文本文档。如果这是您想要的,则可以通过向PlainTextCorpusReader询问标记来做到这一点,而不是尝试将句子标记符传递给PlainTextCorpusReader。因此,而不是

DNCtokens = sent_tokenize(DNClist)

请考虑

DNCtokens = DNClist.sents()获取句子,或者DNCtokens = DNClist.paras()获取段落。

source code for the reader显示它拥有一个单词标记器和一个句子标记器,并将调用它们进行看起来像您想要的标记。