2016-03-29 11 views
1

İki kategorili bir CategorizedPlaintextCorpusReader oluşturmaya çalışıyorum: neg ve pos. Ths kategorileri dosya adı "_neg" ve "_pos" olarak bulunur. Örnekler:CategorizedPlaintextCorpusReader: regex ile kategoriler nasıl belirtilir? 'NoneType' nesnesinin 'group' hatası yok

bda_TD_2520_HD_001.pdf_neg.txt 
info_Ei650_de.pdf_pos 

Kodum:

reader = CategorizedPlaintextCorpusReader('C:/users/s/desktop/corpus/', r'.*\.txt', 
cat_pattern=r'.*(pos|neg)\.txt') 

hata alıyorum:

AttributeError: 'NoneType' object has no attribute 'group' 

yanlış burada ne yapıyorum?

DÜZENLEME

değiştirdim, şimdi orijinal hata artık oluşmaz.

CategorizedPlaintextCorpusReader('C:/users/s/desktop/corpus/', 
           r'.*?_(neg|pos).*', 
           cat_pattern=r'.*?_(neg|pos).*') 

nerede .*?: Sen pos veya neg sadece ihtiva dosyaları incelemeniz gerekir

len(reader.categories()) # nothing 

for cat in reader.categories(): 
    print (cat) # nothing 

reader.fileids("neg") # ValueError: Category neg not found 

cevap

2

: Ben herhangi bir sonuç alamadım çünkü, ama, işe yaradı emin değilim Herhangi bir sayıda herhangi bir karakter için bir non-greedy eşleşmesi olup, neg veya pos ile eşleşecek bir yakalama grubudur (çalışmak için kategori çıkarıcı için yakalamalıdır).

Benim için çalışıyor.

+0

Çalıştıysa emin olun, bkz. Düzenlemem: 7 – user3813234

+0

"@ user3813234 hızlıca kontrol - nasıl hakkında?. *? _ (?: pos | neg) (?: \. Txt)?'? – alecxe

+0

Hayır, kategori – user3813234

İlgili konular