python作业|齐夫定律、平均多义性

题目(1):P82.第23题.

齐夫定律:f(w)是自由文本中词w的频率。假设一个文本中的所有词都按照它们的频率排名,频率最高的排在最前面。齐夫定律指出一个词类型的频率与它的排名成反比(即f*r=k,k是某个常数)。例如:最常见的第50个词类型出现的频率应该是最常见的第150个词类型出现频率的3倍。

a) 写一个函数来处理一个大文本,使用pylab.plot画出相对于词的排名的词的概率,你认可齐夫定律吗?(提示:使用对数刻度会有帮助。)所绘的线的极端情况是怎样的?

b) 随机生成文本,如:使用random.choice(“abcdefg”),注意要包括空格字符。你事先需要import random。使用字符串连接操作将字符累积成一个很长的字符串。然后为这个字符串分词,生成前面的齐夫图,比较这两个图。此时你如何看待齐夫定律?

# 23--a
dictionary = FreqDist()
words = inaugural.words()
fd = FreqDist([w.lower() for w in words])
for key in fd:
    dictionary[key] = math.log10(fd[key])
fd2 = dict(fd)
sort_words = sorted(fd2.items(), key=lambda item: item[1], reverse
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值