2018-04-02 第二周

        通过,上一周对lstm的初步了解,可以开始处理本次实训的数据,因为都是中文文本的信息,采用word2vec来对中文信息进行向量化。

        如果要一句话概括词向量的用处,就是提供了一种数学化的方法,把自然语言这种符号信息转化为向量形式的数字信息。这样就把自然语言理解的问题要转化为机器学习的问题。与One-Hot编码不同,更能反映词组的差异性。

        首先,评论信息需要分词,参考知乎专栏对各种分词器的测评:Python 中的那些中文分词器,选择了结巴分词。

for key, valuein dataSet.items():

    seg_list = jieba.cut(dataSet[key],cut_all=True)

    token =' '.join(seg_list).split(' ')

    dataSet[key] = token

        随后,对分的词进行词向量化,将所有分词作为训练集来进行训练即可, 得倒一个模型:


    训练好之后,就可以对每个评论进行词向量化:


        最后,标签信息的处理,在上周的学习中,我们可以看到最终标签的格式为[0,0,0,0,0,0,0,0,0,1]一维数组的形式,因此我们也需要将好中差的标签信息转化为一维数组的形式:

        先分析的原始提取的数据:


# -*- coding: utf-8 -*-

import tensorflowas tf

tf.set_random_seed(1)# set random seed

'''

#insert Data

data = open('vectors.txt')

line = data.readline()

i = 0

while line:

print(line)

i = i + 1

if i > 5:

break

'''

fp =open('tags.txt','r')

f_new =open('tag.txt','w')

line= fp.readline()

for linein fp:

if line=='好\n':

line='0\n'

    elif line=='中\n':

line='1\n'

    elif line=='差\n':

line='2\n'

    f_new.write(line)

fp.close()

f_new.close()

        最终处理成如下形式:


        至此,数据的初步处理结果,下周可以开始构建lstm模型。

你可能感兴趣的:(2018-04-02 第二周)