语料的流式加载
os.listdir('data/')# 输入文件夹名字,输出文件夹下的文件夹名或者文档名list
## 流式加载(Corpus Streaming)
class MySentences(object):
def __init__(self, dirname):
self.dirname = dirname
def __iter__(self):
for fname in os.listdir(self.dirname):
print('正在处理文件{}'.format(fname))
for line in smart_open(os.path.join(self.dirname, fname), 'r',encoding='utf-8'):
line = line.lower() #对每一行文本中的英文词汇小写化
line = wordnet_lemmatizer.lemmatize(porter_stemmer.stem(line))
# line = line.replace('social listening','social_listening')#'social_listening'是文本中一个重要的词汇,为了防止因分词问题导致的语义丢失,笔者将其替换成带下划线的单个词汇
# jieba.add_word('social_listening')#对特定长词进行控制,防止被分错词,影响后续的分析效果
# jieba.add_word('社会化聆听')#对social_listening进行控制,防止被分错词,影响后续的分析效果
yield [i.strip() for i in jieba.lcut(line) if i not in stoplist andlen(i) > 1]#在载入文本的同时,对其中的语句进行分词处理,且去掉停用词和长度小于1的语句
os.listdir('data/')
# os.listdir('filefolder')输入文件夹的路径,返回该文件夹下的文件夹名或者文档名list
os.path.join('data/', 'android智能手机编程_国家开放大学_王立.txt')
# os.path.join(self.dirname,fname)拼接文件夹的路径和文件名
# os.path.join("filefolder_road","filename")
for line in smart_open(os.path.join('data/', 'android智能手机编程_国家开放大学_王立.txt'), encoding='utf8'):
print(line)
【语料的流式加载】
文章图片
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量