python自然语言处理第一章部分习题

本文通过使用NLTK工具包对《理智与情感》中的四位主要角色进行分析,并展示了如何创建角色分布图。此外,还介绍了如何在聊天语料库中查找特定模式,包括常见双连词、特定字母开头的词汇等。最后,通过实例演示了如何在文本中查找符合特定条件的词汇。

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

6.制作《理智与情感》中4个主角:Elinor,Marianne,Eward,和Willoughby的分布图。在这部小说中关于男性和女性所扮演的不同角色,你能观察到什么?你能找出一对夫妻吗?

import nltk

from nltk.book import *

freq=FreqDist(text2)

cfd=nltk.ConditionalFreqDist((word,fdist[word])
for word in text2 if word in ['Elinor','Marianne','Edward','Willoughby']
if fdist[word]>=0)
cfd.tabulate(conditions=['Elinor','Marianne','Edward','Willoughby'])

7.寻找text5中的搭配。
text5.collocations()   #查找比较频繁的双连词
15.复习1.4节讨论的条件语句。在聊天语料库(text5)中查找所有以字母b开头的词。按字母顺序显示出来。

[w for w in text5 if w.startswith('b')]

22.找出聊天语料库中所有四个字母的词。使用频率分布函数(FreqDist),以频率从高到底显示这些词。

word=[w for w in text5 if len(w)==4]

fdist=FreqDist(word)

fdist

23.复习1.4节中的条件循环。使用for和if语句组合循环遍历电影剧本《巨蟒和圣杯》(text6)中的词,输出所有大写的词,每行输出一个。

for w in text6:

if w.isupper():

print w

24.编写表达式并找出text6中所有符合下列条件的词。结果应该以词链表形式表示['word1','word2'...].
a. 以ize结尾
b.包含字母z
c.包含字母序列pt
d.除了首字母外全部都是小写字母(即titlecase)

[w for w in text6 if w.endswith('ize') and w.contains('z') and w.contains('pt') and w[1:].islower()]

28.定义一个函数percent(word,text),计算一个给定的词在文本中出现的频率,结果以百分比显示。

def percent(word,text):
from __future__ import division
fdist=FreqDist(word)
return 100*fdist[word]/len(text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值