NLTK: Cómo crear un corpus desde un archivo csv

Tengo un archivo csv como

col1 col2 col3 some text someID some value some text someID some value 

en cada fila, col1 corresponde al texto de un documento completo. Me gustaría crear un corpus a partir de este csv. mi objective es utilizar TfidfVectorizer de sklearn para calcular la similitud de documentos y la extracción de palabras clave. Así que considera

 tfidf = TfidfVectorizer(tokenizer=tokenize, stop_words='english') tfs = tfidf.fit_transform() 

entonces puedo usar

 str = 'here is some text from a new document' response = tfidf.transform([str]) feature_names = tfidf.get_feature_names() for col in response.nonzero()[1]: print feature_names[col], ' - ', response[0, col] 

¿Cómo creo un corpus usando nltk? ¿Qué forma / estructura de datos debe ser el corpus para que pueda suministrarse a la función de transformación?

Echa un vistazo a read_csv de la biblioteca de pandas . Aquí está la documentación: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

Puede instalar pandas ejecutando pip install pandas en la línea de comandos. Luego, cargar el csv y seleccionar esa columna debería ser tan fácil como el siguiente:

 data = pd.read_csv(path_to_csv) docs = data['col1'] tfs = tfidf.fit_transform(docs)