nlp文本处理简易流程

一、分词以及词向量计算

1..readlines()对文本进行逐行读取,生成文本行列表list_1
2.遍历list_1,
3.利用jieba对一个元素(【‘only one sentence’】)进行分词 以及 去停用词处理,生成一个新元素(【‘word_1’,‘word_2’,......】),
4.将新元素以'space'.join(元素) + '\n'的方式写入新文本文件
5.对下一个元素重复3、4步操作,直到遍历完list_1
6.载入之前生成的新文本文件,并制作sentences
   方法一:readlines读文件,然后遍历后用split()等处理,得到二维列表
sentences = [['I', 'love', 'natural', 'language', 'processing'],
             ['Word', 'embeddings', 'are', 'powerful'],
             ['Word2Vec', 'is', 'an', 'awesome', 'model'],
             ['Machine', 'learning', 'is', 'fascinating']]
   方法二:word2vec.LineSentence(文本文件路径)读文件,(针对较大文件语料)生成迭代器
['I', 'love', 'natural', 'language', 'processing']
['Word', 'embeddings', 'are', 'powerful']
['Word2Vec', 'is', 'an', 'awesome', 'model']
['Machine', 'learning', 'is', 'fascinating']

二者区别

  1. 迭代器(Iterator):迭代器是一个可以逐个访问元素的对象。它不会一次性将所有元素加载到内存中,而是在需要时逐个产生元素。在Python中,迭代器是通过实现__iter__()__next__()方法来定义的。LineSentence 返回的是一个迭代器,它逐行读取文本文件,并在需要时生成每一行的单词列表。

  2. 二维列表(Two-dimensional List):二维列表是一个列表的列表,其中每个元素也是一个列表。在Python中,您可以使用嵌套的列表来表示二维列表。在先前的示例中,sentences 被错误地描述为一个二维列表,而实际上它是一个迭代器,其中每个元素都是一个单词列表。

迭代器和二维列表有着不同的特点和用途。迭代器适用于处理大规模数据,可以逐个处理元素而不需要一次性加载全部数据到内存。二维列表适用于小规模的数据,可以直接在内存中访问和操作所有元素。

对于 LineSentence 返回的 sentences,它是一个迭代器,它允许您逐行处理文本数据,而不需要一次性将所有文本加载到内存中,这对于处理大规模文本数据非常有用。

7.训练词向量模型
8.保存词向量模型 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值