Matriz de documentos de término eficiente con NLTK

Estoy tratando de crear un término matriz de documentos con NLTK y pandas. Escribí la siguiente función:

def fnDTM_Corpus(xCorpus):
    import pandas as pd
    '''to create a Term Document Matrix from a NLTK Corpus'''
    fd_list = []
    for x in range(0, len(xCorpus.fileids())):
        fd_list.append(nltk.FreqDist(xCorpus.words(xCorpus.fileids()[x])))
    DTM = pd.DataFrame(fd_list, index = xCorpus.fileids())
    DTM.fillna(0,inplace = True)
    return DTM.T

para ejecutarlo

import nltk
from nltk.corpus import PlaintextCorpusReader
corpus_root = 'C:/Data/'

newcorpus = PlaintextCorpusReader(corpus_root, '.*')

x = fnDTM_Corpus(newcorpus)

Funciona bien para pocos archivos pequeños en el corpus pero me da unaMemoryError cuando intento ejecutarlo con un corpus de 4,000 archivos (de aproximadamente 2 kb cada uno).

¿Me estoy perdiendo de algo?

Estoy usando un pitón de 32 bits. (Estoy en Windows 7, SO de 64 bits, CPU Core Quad, 8 GB de RAM). ¿Realmente necesito usar 64 bits para un corpus de este tamaño?

Respuestas a la pregunta(3)

Su respuesta a la pregunta