Python NLTK:如何从csv文件创建语料库
我有一个csv文件作为Python NLTK:如何从csv文件创建语料库,python,csv,nlp,nltk,tf-idf,Python,Csv,Nlp,Nltk,Tf Idf,我有一个csv文件作为 col1 col2 col3 some text someID some value some text someID some value 在每一行中,col1对应于整个文档的文本。我想从这个csv创建一个语料库。我的目标是使用sklearn的TFIDFvectorier来计算文档相似度和关键字提取。所以考虑 tfidf = TfidfVectorizer(tokenizer=tokenize, stop_words
col1 col2 col3
some text someID some value
some text someID some value
在每一行中,col1对应于整个文档的文本。我想从这个csv创建一个语料库。我的目标是使用sklearn的TFIDFvectorier来计算文档相似度和关键字提取。所以考虑
tfidf = TfidfVectorizer(tokenizer=tokenize, stop_words='english')
tfs = tfidf.fit_transform(<my corpus here>)
如何使用nltk创建语料库?
语料库应该是什么形式/数据结构,以便提供给转换函数?从
pandas
库中检出read\u csv
。以下是文件:
您可以通过在命令行上运行pip install pandas
来安装pandas。然后加载csv并选择该列应与以下操作一样简单:
data = pd.read_csv(path_to_csv)
docs = data['col1']
tfs = tfidf.fit_transform(docs)
谢谢你,但是这个方法并不准确。文档仍然是一个序列对象,而不是字符串列表。因此,我的fit_变换不起作用。有没有关于如何将dataframe列转换为值列表的想法?找到了。它应该是docs=data['col1'].tolist():)如果你更新你的答案,我会接受一个很好的调用,看起来将2d数组(数据帧)传递给
fit\u transform
不起作用。但是,1d数组应该可以工作,因此只需抓取带有数据['col1']
的序列就足够了(无需将序列
转换为列表
)。已更新。恐怕我必须将其转换为列表。否则它仍然会收到熊猫。系列:)感谢您的帮助。您使用的是什么版本的熊猫和sklearn?该系列在sklearn0.17
和pandas0.17.0
上对我有效。
data = pd.read_csv(path_to_csv)
docs = data['col1']
tfs = tfidf.fit_transform(docs)