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

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

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

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

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

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

import nltk
nltk.download('brown')
from nltk.corpus import brownprint(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.mrgr.cn/news/12681.html

相关文章:

  • 设计模式(一):七大原则
  • 基于x86 平台opencv的图像采集和seetaface6的眼睛状态检测(睁眼,闭眼)功能
  • 用ESP32做一个可爱的无用机器人
  • 小程序常用界面交互api
  • CAPL——定时器用法
  • Web中的Cookie与Session
  • SQLi-LABS 通关攻略【36-40】
  • VMware Workstation虚拟机 + 许可证密钥
  • Django 第七课 -- 视图
  • 【IDEA】一键重启多个服务
  • 答题小程序的轮播图管理与接入获取展示实现
  • Apache PDFBox
  • Dijkstra(c++)
  • PLM产品生命周期管理系统有哪些功能特点?PLM系统有哪些推荐
  • 在URL链接中指定浏览器跳转到PDF文件的指定页码
  • 【AI大模型】提示词(Prompt)全面解析
  • 2024年汽车零部件企业CRM研究:服务商排名、案例分析、需求分析
  • urllib3版本不兼容解决办法
  • 使用终端工具Tabby(跳板机)连接ssh
  • 【北京迅为】龙芯iTOP-LS2K0500开发板快速启动手册-第3章 Windows安装串口终端