Python nltk Brown最有新闻价值并且是最浪漫的日子

思考题:
处理布朗语料库的新闻和言情文体,找出一周中最有新闻价值并且是最浪漫的日子。定义一个变量days 包含星期的链表如[‘Monday’, …]。然后使用cfd.tabulate(samples=days)为这些词的计数制表。接下来用绘图替代制表尝试同样的事情。你可以在额外的参数conditions=[‘Monday’, …]的帮助下控制星期输出的顺序。
代码如下:

days=['Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday', 'Saturday', 'Sunday']
cfd = nltk.ConditionalFreqDist((c, d) for c in ['news','romance'] for d in brown.words(categories=c))
cfd.tabulate(samples=days)
cfd.plot(samples=days)
# 以一定比例取日子的新闻价值和浪漫性属性作为综合评价指标
import matplotlib.pyplot as plt
idays = [1,2,3,4,5,6,7]#代表星期一到星期日
lr = []
for rr in range(0,10,1):
    r = rr/10;          # 默认以0.1为步长
    res =[(r)*cfd['news'][d]+(1-r)*cfd['romance'][d] for d in days ]#
    plt.plot(idays, res)
    lr.append(res.index(max(res)))
else:
    print (lr)
    plt.show()

结果:

[0, 0, 0, 0, 0, 0, 6, 6, 6, 6]

这里写图片描述

分析:
由图和数据可以看出,星期一和星期天是结果的两个候选解:若r<=0.5即更侧重新闻价值时,答案为星期一;若r>0.5即更侧重浪漫性时,答案为星期天。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值