自然语言处理--齐普夫定律(布朗语料库Brown Corpus)

本文科普了齐普夫定律,该定律指出在自然语言语料库中,词的频率与它在频率表中的排名成反比。还以布朗语料库为例进行说明,布朗语料库是 1961 年创建的首个百万单词英语电子语料库,包含 500 个不同数据源文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

科普一下齐普夫定律:
齐普夫定律是一个看似普遍的规则,它决定着大多数事物的计数结果。齐普夫定律(Zipf’s Law)指出,在给定的自然语言语料库中,任何一个词的频率与它在频率表中的排名成反比。

用布朗语料库来说明这一点:

from nltk.corpus import brown
from collections import Counter

# words()是 NLTK corpus 对象内置的一个方
# 法,它以字符串序列的方式返回分词后的语料库
print(brown.words()[:10])

# 词性标注
# NLTK的corpus reader提供一个唯一的读取标记语料库的接口 tagged_words ()
print(brown.tagged_words()[:10])

puncs = set((',', '.', '--', '-', '!', '?', ':', ';', '``', "''", '(', ')', '[', ']'))
word_list = (x.lower() for x in brown.words() if x not in puncs)
token_counts = Counter(word_list)
'''
布朗语料库中的词频符合齐普夫预测的对数线性关系
如果把语料库的词按照出现次数按降序排列,我们会发现:对一个足够大的样本,出
现次数排名第一的词在语料库中的出现次数是排名第二的词的两倍,是排名第四的词的 4 倍。因此,
给定一个大型语料库,可以用上述数字来粗略统计给定词出现在该语料库的任何给定文档中的可能性。
'''
print(token_counts.most_common(20))

备注:
布朗语料库是布朗大学在 1961 年创建的、第一个百万单词的英语电子语料库。该语料库包含来自 500 个不同数据源的文本,这些数据源已按类型分类,如新闻、社论等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值