使用Counter构建词汇表

本文介绍了如何使用Python的Counter类来构建词汇表。在处理文本数据时,无论是连续的文本还是二维列表形式的词汇,Counter都能有效地统计元素频率。通过most_common()方法,可以获取最常出现的词汇。此外,还讨论了如何在词汇表中添加'unk'和'pad'特殊标记,并确保它们的特定索引。

这里只记录两种情况:

1

数据集是一段连续的文本,所有词汇放在一个list中(一维的)
text:
在这里插入图片描述
此时Counter(text),text可以是一个list,统计该list中所有元素出现的次数并返回一个dict
在这里插入图片描述
结合most_common()方法,就可构建词汇表:print(Counter(text).most_common(5))

在这里插入图片描述
(5)表示选取频率最高的5个元素,返回由(key,value)元组组成的list
再由二元组列表组成dictprint(dict(Counter(text).most_common(5)))
在这里插入图片描述

2

当所有的词汇不是放在一个一维的list中,而是一个二维list:
在这里插入图片描述
我们可以通过二层循环访问到其中的每一个元素,然后要把这些元素的值累计计数
先通过Counter()构建一个空字典(Couner对象):

sentences = [['BOS', '任', '何', '人', '都', '可', '以', '做', '到', '。', 'EOS'], 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值