我正在研究数据挖掘和数据处理技术。我是通过我收集并存储在csv文件中的数据来做到这一点的。问题在于,这个文件非常大,到了令人惊讶的4万行文本。
渲染部分中的一些算法快速而敏捷,但是单词的正交校正部分是费力的。我正在使用NLTK包nltk.corpus import forest
。
因此,当需要采取这一步骤时,我敢说它不会及时结束。
由此,我想知道是否有人可以帮我解决一个问题,我可以读取文件行,完成整个过程,将其保存到银行,然后从文件中读取另一行。因此,通过逐行阅读,每一行都进行处理。我认为这样我可以提高算法的性能。
Esteéomeucódigo:(请考虑代码工作所需的所有导入工作)
txtCorpus = []
dtype_dic= {'status_id': str, 'status_message' : str, 'status_published':str}
for csvfile in pd.read_csv('data/AracajuAgoraNoticias_facebook_statuses.csv',dtype=dtype_dic,encoding='utf-8',sep=',', header='infer',engine='c', chunksize=2):
txtCorpus.append(csvfile)
def status_processing(txtCorpus):
myCorpus = preprocessing.PreProcessing()
myCorpus.text = str(txtCorpus)
print "Doing the Initial Process..."
myCorpus.initial_processing()
print "Done."
print "----------------------------"
print ("StartingLexical Diversity...")
myCorpus.lexical_diversity()
print "Done"
print "----------------------------"
print "Removing Stopwords..."
myCorpus.stopwords()
print "Done"
print "----------------------------"
print "Lemmatization..."
myCorpus.lemmatization()
print "Feito"
print "----------------------------"
print "Correcting the words..."
myCorpus.spell_correct()
print "Done"
print "----------------------------"
print "Untokenizing..."
word_final = myCorpus.untokenizing()
print "Feito"
print "----------------------------"
print "Saving in DB...."
try:
db.myDB.insert(word_final, continue_on_error=True)
except pymongo.errors.DuplicateKeyError:
pass
print "Insertion in the BB Completed. End of the Pre-Processing Process "
def main():
status_processing(txtCorpus)
main()
我相信通过可视化代码,您可以更好地理解我上面解释的内容。我考虑做一个for
,我在那里读了一行并在def status_processing(txtCorpus):
传递了它,所以,我重复这个过程直到结束。但我无法达成解决方案。