码迷,mamicode.com
首页 > 编程语言 > 详细

《python自然语言处理》(1)

时间:2020-05-02 12:15:43      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:技术   标识   key   count   common   ext1   lis   相同   词语   

记录下书中的例子

1.1文本和词汇

首先得下载

import nltk
nltk.download()

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

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

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

 from nltk.book import *
*** Introductory Examples for the NLTK Book ***
Loading text1, ..., text9 and sent1, ..., sent9
Type the name of the text or sentence to view it.
Type: texts() or sents() to list the materials.
text1: Moby Dick by Herman Melville 1851
text2: Sense and Sensibility by Jane Austen 1811
text3: The Book of Genesis
text4: Inaugural Address Corpus
text5: Chat Corpus
text6: Monty Python and the Holy Grail
text7: Wall Street Journal
text8: Personals Corpus
text9: The Man Who Was Thursday by G . K . Chesterton 1908

搜索文本

键入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最长的,和出现多少次

 技术图片

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

技术图片

 

《python自然语言处理》(1)

标签:技术   标识   key   count   common   ext1   lis   相同   词语   

原文地址:https://www.cnblogs.com/Truedragon/p/12817308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!