当前位置: 首页 > article >正文

【Python机器学习】NLP词中的数学——齐普夫定律

齐普夫定律指出:在给定的自然语言语料库中,任何一个词的频率与它在频率表中的排名成反比。

具体的说,这里的反比例关系指的是这样一种情况:排序列表中某一项的出现频率与其在排序列表中的排名成反比。例如,排序列表中的第一项出现的频率是第二项的2倍,是第三项的3倍。对于任何语料库或文档,我们可以快速做的一件事就是:绘制词的使用频率与它们的频率排名之间的关系。

齐普夫定律适用于很多东西的计数。比如某国城市人口与该人口排名之间的关系:

文字当然也满足相似的规律:

import nltk
nltk.download('brown')
from nltk.corpus import brown

print(brown.words()[:10])
print(brown.tagged_words()[:5])
print(len(brown.words()))

这是一个超过100万词条的文档,下面看一下其中的信息:

from collections import Counter
puncs=set((',','.','--','-','!','?',';',':','``',"''",'(',')','[',']'))
word_list=(x.lower() for x in brown.words() if x not in puncs)
token_counts=Counter(word_list)
print(token_counts.most_common(20))

上面语料库中的词频符合齐普夫预测的对数线性关系。“the”出现的频率大约是“of”的2倍、“and”的3倍。

简而言之,如果把语料库的词按照出现次数按降序排列,我们会发现:对一个足够大的样本,出现次数排名第一的词在语料库中出现次数是排名第二的词的两倍,是排名第四的词的四倍。因此,给定一个大型语料库,可以用上述数字来粗略统计给定词出现在该语料库的任何给定文档中的可能性。


http://www.kler.cn/a/287039.html

相关文章:

  • vue点击事件
  • Mac怎么安装谷歌浏览器
  • 算法-汇总区间(228)
  • FFmpeg源码:append_packet_chunked、av_get_packet函数分析
  • Android自定义View实现彩虹进度条(带动画)
  • 完美解决Jenkins重启后自动杀掉衍生进程(子进程)问题
  • ​哈哈题库​邀请书
  • [Day 68] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 如何在 CentOS 6 上安装 Nagios
  • 噪音消除模块调研
  • selenium(一)基于java、元素定位
  • 697.数组的度
  • 超级会员卡积分收银系统源码,一站式解决方案,可以收银的小程序 带完整的安装代码包以及搭建部署教程
  • 探讨Facebook开户广告起充多少:全球标准与优势解析
  • 0基础学习Python路径(41)paramiko模块
  • 性能优化:提升TMS运行效率的策略
  • 【HuggingFace Transformers】LlamaModel源码解析
  • AI写的不用游标派发明细数量例子
  • Kettle发送邮件功能如何配置以实现自动化?
  • 七. 部署YOLOv8检测器-load-save-tensor