当前位置: 首页 > 后端技术 > Python

流式加载语料库

时间:2023-03-25 23:47:21 Python

os.listdir('data/')#输入文件夹名,输出文件夹名或文件名列表##流加载(语料流)classMySentences(object):def__init__(self,dirname):self.dirname=dirnamedef__iter__(self):forfnameinos.listdir(self.dirname):print('Processingfile{}'.format(fname))forlineinsmart_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('sociallistening','social_listening')#'social_listening'是文中的重要词,为了防止分词造成的语义丢失,作者将其替换为带下划线的单个词#jieba.add_word('social_listening')#控制特定的长词,防止分错词,影响后续分析结果#jieba.add_word('sociallistening')#控制social_listening,防止分错词,影响后续分析结果nt分析结果yield[i.strip()foriinjieba.lcut(line)ifinotinstoplistandlen(i)>1]#在加载文本的同时,对其中的句子进行分词处理,并去掉长度小于1的停用词和句子os.listdir('data/')#os.listdir('filefolder')输入文件夹的路径,返回文件夹下的文件夹名或文件名listos.path.join('data/','Android智能手机编程_国家开放大学_王立.txt')#os.path.join(self.dirname,fname)拼接文件夹的路径和文件名#os.path.join("filefolder_road","filename")forlineinsmart_open(os.path.join('data/','Android智能手机编程_国家开放大学_王立.txt'),encoding='utf8'):print(line)