PythonBNCCorpusReader不能处理完整的bnc语料库

2024-10-03 04:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的只是简单地读取xml中的语料库并将它们全部追加。我用baby bnc(2553)尝试过,并成功地将其转换为纯文本文件,但是当我使用完整的bnc(2554)或sampler(2551)时,我一直看到这样的错误:ValueError:concat()至少需要一个对象!在

import nltk.corpus.reader.bnc as cor    
a=cor.BNCCorpusReader(root=r'BNC\2553\2553\download\Texts',fileids=r'[a-z]{3}/\w*\.xml') 
len(a.sents()) 
with open("2553.txt",'w',encoding='utf-8') as nf: 
    for s in a.sents(): 
        nf.write(' '.join(s)) 
    pass

它应该显示如下内容(与婴儿语料库很好地配合使用)

^{pr2}$

但是在我需要使用的完整语料库中,结果总是错误的。在

b=cor.BNCCorpusReader(root=r'BNC\2554\Texts',fileids=r'[a-z]{3}/\w*\.xml')
In[18]: len(b.sents())     
ValueError: concat() expects at least one object!

考虑到下载时可能会有问题,所以我在不同的电脑上下载了几次,但还是不起作用。在

我在拼命找人帮忙。在


Tags: lenas错误rootxml语料库valueerrortexts