赞
踩
gensim中corpus的格式是:
- corpus = "[[(文本1第1个词的id),(文本1第1个词的tf),(文本1第2个词的id),(文本1第2个词的tf),……,(文本1第n个词的id),(文本1第n个词的tf)],
- [(文本2第1个词的id),(文本2第1个词的tf),(文本2第2个词的id),(文本2第2个词的tf),……,(文本2第n个词的id),(文本2第n个词的tf)]……,]]"
可以看出,最内层是(id,tf)的元组,外层是一个文本中所有词语的元组数据的列表,最外层是所有文本。
如果corpus占用内存较小,可以直接使用eval()将字符串列表还原为列表格式。
但如果corpus占用内存很大(比如我导出的corpus有600兆,16G的电脑甚至64G电脑都完全搞不定),就需要用到以下的遍历循环还原:
- with open(r"corpus.txt", 'r', encoding='utf-8')as f:
- content = f1.read()
- list1 = content.split('], [')
- content_list = []
- for each in list1:
- each = each.replace('[[', '').replace(']]', '')
- # print(each)
- each_list = each.split('), (')
- each_list1 = []
- for item in each_list:
- # print(item)
- item = item.replace('(', '').replace(')', '').replace(' ','')
- item = eval(item) # (1, 2)
- # print(item)
- each_list1.append(item) # [(), (), ……, ()]
- # print(each_list1)
- content_list.append(each_list1)
- print(list)
这样就能实现大样本的列表还原啦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。