tf.contrib.learn.preprocessing.VocabularyProcessor

tf中有直接将英文的句子单词转换成向量的函数

tf.contrib.learn.preprocessing.VocabularyProcessor (max_document_length, 
                                                    min_frequency=0, 
                                                    vocabulary=None, 
                                                    tokenizer_fn=None)

各参数的作用分别是:

max_document_length: 文档的最大长度。如果文本的长度大于最大长度,那么它会被剪切,反之则用0填充。 
min_frequency: 词频的最小值,出现次数小于最小词频则不会被收录到词表中。 
vocabulary: CategoricalVocabulary 对象。 
tokenizer_fn:分词函数
下面以案例说明:

from tensorflow.contrib import learn
import numpy as np
max_document_length = 10
x_text =["Trump says he had great conversation with Putin", 'These people make it up' ]
vocab_processor = learn.preprocessing.VocabularyProcessor(max_document_length)
x = np.array(list(vocab_processor.fit_transform(x_text)))
print(x)

输出的结果如下:

[[ 1  2  3  4  5  6  7  8  0  0]
 [ 9 10 11 12 13  0  0  0  0  0]]

即,此方法只是将所有的出现的单词按出现顺序组成列表,然后将语句中出现的单词换成该单词在列表中的索引,当句子的长度不够设置的句子最大长度时,直接补0.

这种方法得到的词向量之间没有任何的关系,所以在下一步得到的模型的准确度一般不是很高。仅作参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值