分词器keras.preprocessing.text.Tokenizer的使用

下面例子的文本输入texts可以是一个list类型,也可以是一个series类型(所以可以也可以用dataframe的某一列),

import tensorflow as tf

texts = ["你好 我好 你好 你好 你好 我们 大家 都 好 吗 吗 吗 吗 吗", "分词器 训练 文档 训练 文档 文档 你好 我好"]
tokenizer = tf.contrib.keras.preprocessing.text.Tokenizer(split=" ")
tokenizer.fit_on_texts(texts)
fre = tokenizer.word_counts  # 统计词频
print("type(fre):\n",type(fre))
print("fre:\n",fre)
# 查看每个词的词频
for i in fre.items():
    print(i[0], " : ", i[1])
# 对词频进行排序
new_fre = sorted(fre.items(), key = lambda i:i[1], reverse = True)
print("new_fre:\n",new_fre)
# # 根据词频进行了升序的排序(注意,词频越大,value越小,这个value不是词频,而是按顺序排列的数字)
order = tokenizer.word_index
print("type(order):\n",type(order))
print("order:\n",order)
type(fre):
 <class 'collections.OrderedDict'>
fre:
 OrderedDict([('你好', 5), ('我好', 2), ('我们', 1), ('大家', 1), ('都', 1), ('好', 1), ('吗', 5), ('分词器', 1), ('训练', 2), ('文档', 3)])
你好  :  5
我好  :  2
我们  :  1
大家  :  1
都  :  1
好  :  1
吗  :  5
分词器  :  1
训练  :  2
文档  :  3
new_fre:
 [('你好', 5), ('吗', 5), ('文档', 3), ('我好', 2), ('训练', 2), ('我们', 1), ('大家', 1), ('都', 1), ('好', 1), ('分词器', 1)]
type(order):
 <class 'dict'>
order:
 {'你好': 1, '吗': 2, '文档': 3, '我好': 4, '训练': 5, '我们': 6, '大家': 7, '都': 8, '好': 9, '分词器': 10}

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值