python自然语言处理路线图_《python自然语言处理》(1)

记录下书中的例子

1.1文本和词汇

首先得下载

importnltk

nltk.download()

下载器的Collections选项卡下,选择book然后下载

如果下载缓慢或者报错,建议找百度云的包效果是一样的

进入IDLE,输入from nltk.book import *,出现以下结果代表安装完成

from nltk.book import *

*** Introductory Examples for the NLTK Book ***Loading text1, ..., text9andsent1, ..., sent9

Type the name of the textorsentence to view it.

Type:'texts()' or 'sents()'to list the materials.

text1: Moby Dick by Herman Melville1851text2: Senseand Sensibility by Jane Austen 1811text3: The Book of Genesis

text4: Inaugural Address Corpus

text5: Chat Corpus

text6: Monty Pythonandthe Holy Grail

text7: Wall Street Journal

text8: Personals Corpus

text9: The Man Who Was Thursday by G . K . Chesterton1908

搜索文本

键入text.concordance("关键字")

结果还是挺明显的

相似的词(出现相似的上下文)

common_contexts(研究共用两个或两个以上的上下文)

频率分布

产生随机文本

当然也可以texte2.generate(),text3.generate(),每一篇文章的风格不同,书上说每次运行后,输出文本都会不同,实际上我的每次都相同

计数词汇(文本中出现的单词和标点符号)

这个是未去重的

获取词汇表

输出结果会按照英文字母顺序排序的所有唯一标识符(单词和标点)

sorted()是排序,单独set()也会得到,但未排序,然和使用len获取唯一项目类型(单词和标点符号)个数

单词平均使用

表示该篇文章每个单词平均使用16次

计算特定词占百分比

text4.count('')表统计该单词在文中出现的次数

然后讲了一些列表(书中翻译为链表,老是会联想到数据结构中的链表)的运算,就真是来水页数的

1.3计算语言:简单的统计

频率分布

FreqDist将统计各个标识符出现的次数,keys提供所有不同类型的列表(python3中需要按list(fdist.keys())这样写,不然会报错

这里vocabulary[:20]代表取出词频最高的20个词(含标点)

作图:

若不加上cumulative = True,即不考虑累加,则会显示出每个词的次数

只出现一次的词

可以看到有9002个词,在文中只出现一次

细粒度的选择词

这样就可以选择出在text1中的并且该词长度大于15的所有词

以下是在text5中所有长度超过7并且出现次数也超过7次的词

词语搭配和双连词

搭配是不经常在一起出现的词序列。因此 red wine 是,the wine 不是。

计算其他东西

这样会输出每个标识符的长度

这样得到了该文章中所有词的不同长度(也就是说他们由1,4,2...个字母组成,最长20,没有21的)

再键入,得到统计

也可以这样获取出现len最长的,和出现多少次

同样这里也可以绘图来直观的展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值