目录

nltk资料下载

import nltk

nltk.download()

其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载

文本和词汇

首先,通过from nltk.book import * 引入需要的内置9本书

搜索文本

上下文:Text.concordance('monstrous') ,concordance是一致性的意思。即在Text对象中monstrous出现的上下文

相同上下文单词:Text.similar('monstrous') ,查找哪些词还有相同的上下文 。(比如 the__size 空格上可以是big/small),这个函数会自动找出来并返回。

多个单词上下文: Text.common_contexts(['very','monstrous']) ,返回共用两个或两个以上词汇的上下文

多个单词频率绘图工具: Text.dispersion_plot(['citizens','freedom']) , 可以得到很好看的离差散点图

计数词汇(去重、定位)

不去重的计算用BIF里面的len() 就可以了:len(text1)

去重计算 需要用到内置结构set: len(set(text1))

可以使用nltk内置BIF:Text.count(word) 查找单词出现次数;使用Text.index(word)可以进行定位

词链表

主要是结合python内置list的特点,可以进行链接等一些链表操作,十分方便,对于一些基本的list操作,可以自行看文档

自然语言简单数学统计

频率分布

用法:FreqDist(WordList) ,参数可以实List或者其子类,所以 Text(text1,text2...)也可以作为参数。函数返回字典形式,可以调用dict.keys() 查询所有单词和符号

from nltk import *

fdist = FreqDist(text1)

print(fdist['whale'])

可以通过 fdist.plot(TopK,cumulative=True) 画出来出现频率前K的词汇的光滑曲线,去掉第二个参数,是折线图。个人感觉曲线好看。。。

对于只出现一次的词汇,通过fdist.hapaxes() 返回的list查看。

细粒度的选择词

细粒度: 细粒度模型,通俗的讲就是将业务模型中的对象加以细分,从而得到更科学合理的对象模型,直观的说就是划分出很多对象。对于词汇,我们可能需要长度大于5的不重复词汇,这就是一个Model

v = set(text1)

long_words = [w for w in v if len(w) > 5]

如果我们需要频率大于7,长度大于10的呢?

fdist = FreqDist(text1)

long_words = [w for w in set(text1) if len(w)>10 and fdist[w] > 7]

双连词和词汇搭配

双连词就是n-gram模型中n=2,组成的词链表

在nltk里面有BIF,bigrams(wordlist) ,生成词链表

>>> list(bigrams(['a','b','c']))

[('a', 'b'), ('b', 'c')]

通过这个词链表,我们可以找到搭配(定义:不经常在一起出现的词序列).Text.collocations() 可以查找出现频率比预期频率更频繁的双连词

>>> text4.collocations()

United States; fellow citizens; four years; years ago; Federal

Government; General Government; American people; Vice President; Old

World; Almighty God; Fellow citizens; Chief Magistrate; Chief Justice;

God bless; every citizen; Indian tribes; public debt; one another;

foreign nations; political parties

词长分布

代码实现:

fdist = FreqDist([len(w) for w in text1])

print(fdist.items())

print(fdist.freq(3))#查找频率

词长可以帮助我们理解作者、文本和语言之间的差异

python nltk book_NLTK学习笔记(一):语言处理和Python相关推荐

  1. nltk和python的关系_NLTK学习笔记(一):语言处理和Python

    目录 nltk资料下载 import nltk nltk.download() 其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载 ...

  2. python 3.6.0新语法,Python 3.6学习笔记(附2018最新python初学者入门视频教学)

    开始之前 基础示例 Python语法基础,python语法比较简单,采用缩紧方式. # print absolute value of a integer a = 100 if a >= 0: ...

  3. 无敌python爬虫教程学习笔记(一)

    python爬虫系列文章目录 无敌python爬虫教程学习笔记(一) 无敌python爬虫教程学习笔记(二) 无敌python爬虫教程学习笔记(三) 无敌python爬虫教程学习笔记(四) 本文目录 ...

  4. 无敌python爬虫教程学习笔记(二)

    系列文章目录 无敌python爬虫教程学习笔记(一) 无敌python爬虫教程学习笔记(二) 无敌python爬虫教程学习笔记(三) 无敌python爬虫教程学习笔记(四) 手刃一个小爬虫 系列文章目 ...

  5. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  6. 关于Python的一些学习笔记(小白式笔记,持续更新)

    关于Python的一些学习笔记 瞎bb: 作为一个计算机专业的学生,Python应该是一门很有必要掌握的语言,但是由于鄙人太懒,一直对Python没有太多了解,但是随着知识的积累以及学业难度的增加,我 ...

  7. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  8. python基础知识学习笔记(1)

    python 基础知识学习笔记(1) 总结一下Python基础知识,以防忘记. 文章目录 python 基础知识学习笔记(1) 一.起步 1.python安装与编译环境 二.变量和简单数据类型 三.列 ...

  9. python标准库学习笔记

    原创:python标准库学习笔记 数据结构 bisect 模块里实现了一个向列表插入元素时也会顺便排序的算法. struct - 二进制数据结构:用途:在 Python 基本数据类型和二进制数据之间进 ...

最新文章

  1. 【ASP.NET Core】处理异常(上篇)
  2. Netty源码分析第7章(编码器和写数据)----第2节: MessageToByteEncoder
  3. Chmod 提升一个文件夹下所有文件(夹)的权限
  4. oracle输出一天所有秒数,Oracle函数通过秒数或分钟数获取时间段
  5. eBPF学习记录(一)eBPF介绍
  6. android网络配置
  7. 走进AngularJs(一)angular基本概念的认识与实战
  8. 《C++ Primer Plus》学习笔记0
  9. 修正win10部署JDK8(使用JDK文件夹中的自带JRE)
  10. 拓端tecdat|R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归
  11. NumberFormat
  12. BPM系统终于告一段落
  13. QT绘制不规则多边形
  14. 讯飞语音输入法linux,讯飞语音输入法逆天了
  15. 微信语音保存到本地服务器,文件格式由amr转mp3
  16. 解析移动互联网四大App云加固平台市场和质量对比
  17. RANSAC算法(仅供学习使用)
  18. 关于智能车独轮组编码器的思考
  19. 基于核极限学习机KELM、在线顺序极限学习机OS-ELM、在线贯序核极限学习机OSKELM
  20. 润科通用 Java开发工程师 面试

热门文章

  1. 不要抱怨,勇敢向前走,你就能拥有更好的自己
  2. 编写可调模板并使用Auto-tuner自动调谐器
  3. CVPR2020论文解读:3D Object Detection三维目标检测
  4. 2021年大数据常用语言Scala(十八):基础语法学习 Map对象
  5. HarmonyOS Text设置换行
  6. Koltin 高阶函数
  7. CF803C Maximal GCD
  8. 由于未能创建 Microsoft Visual C# 2008 编译器,因此未能打开项目 ...的解决方法...
  9. Python20-Day05
  10. IntelliJ IDEA 自动编译功能无法使用,On 'update' action:选项里面没有update classes and resources这项...