【读书笔记】《Python自然语言处理》第1章 语言处理与Python
来源:互联网 发布:知乎提问是匿名吗 编辑:程序博客网 时间:2024/06/10 01:20
1.1 语言计算:文本和词汇
入门
nltk下载地址 使用pip安装 >>>import nltk
检验是否成功。
>>>nltk.download()
选择语料下载
使用python解释器加载book模块中的条目 >>>from nltk.book import *
输入名字如 >>>text1
即可找到相应的文本
搜索文本
搜索文本中的某个词 >>>text1.concordance("monstrous")
搜索文本中与指定词相似的词 >>>text1.similar("monstrous")
研究同一文本中的两个及以上的词之间的关系 >>>text2.common_contexts(["monstrous","very"])
(可以用来考察两次的用法是否相似)
根据几个词在文本中出现位置的离散图观察单词分布 >>>text4.dispersion_plot(["citizens","democracy","freedom","duties","America"])
生成文本 >>>text3.generate()
(书中nltk2.0.1版本可用,但是新版本不再支持)
计数词汇
使用len函数获取文本长度(包括单词及标点) >>>len(text3)
获取无重复的词汇表 >>>sorted(set(text3))
计算文本词汇丰富度
>>>from __feature__ import division>>>len(text3) / len(set(text3))
特定单词计数 >>>text3.count("smote")
1.2 近观Python:将文本当做词链表
主要介绍Python中链表的相关操作。(略)
1.3 计算语言:简单的统计
频率分布
统计文本中词的词频,降序排列保存至map中
>>>fdist1 = FreqDist(text1)>>>vocabulary1 = fdist1.keys()>>>vocabulary1[:50]
Top50词频可视化 >>>fdist1.plot(50,cumulative=True)
查看文本中只出现一次的词 >>>fdist1.hapaxes()
细粒度选择词
找出文本中长度超过15的词 :
>>>V = set(text1)>>>long_words = [w for w in V if len(w) > 15]>>>sorted(long_words)
词语搭配和双连词
提取文本词汇中的词对 >>>list(bigrams(['more', 'is', 'said', 'than', 'done']))
collocations()
函数在已知单个词的词频基础上,找到出现频繁的双连词 >>text4.collocations()
计算其他东西
查看文本中词长的分布
>>>fdist = FreqDist([len(w) for w in text1])>>>fdist.keys()
输出结果表明text1中最长的词是由20个字符组成。
>>>fdist.items()
>>>fdist.max()>>>fdist.freq(3)
由结果可知,文本中长度为3的词最频繁,约占20%。
fdist = FreqDist(samples)
创建包含给定样本的频率分布 fdist.inc(samples)
增加样本 fdist['monstrous']
计数给定样本出现的次数 fdist.freq('monstrous')
给定样本的频率 fdist.N()
样本总数 fdist.keys()
以频率递减顺序排序的样本链接 for sample in fdist:
以频率递减的顺序遍历样本 fdist.max()
数值最大的样本 fdist.tabulate()
绘制频率分布表 fdist.plot()
绘制频率分布图 fdist.plot(cumulative=True)
绘制累积频率分布图 fdist1<fdist2
测试样本在fdist1中出现的频率是否小于fdist21.4 回到Python:决策与控制
主要介绍for循环与条件语句(略)
1.5 自动理解自然语言
词义消岐
指代消解 anaphora resolution
自动生成语言
遗憾地发现在nltk3.2里,书中的babelize_shell()
这个服务也不再提供了。
人机对话系统
>>>import nltk>>>nltk.chat.chatbots()
文本的含义
- 【读书笔记】《Python自然语言处理》第1章 语言处理与Python
- Python自然语言处理 1 语言处理与Python
- python与自然语言处理
- 《python自然语言处理》笔记---chap1 语言处理与python
- Python自然语言处理-第一章总结:语言处理与Python
- NLTK02 《Python自然语言处理》code01 语言处理与Python
- 第1章 语言处理与Python
- python与自然语言处理1 正则匹配
- python 与自然语言处理之语言模型n-gram
- python 自然语言处理 第二章
- python 自然语言处理 第三章
- python 自然语言处理 第五章
- python 自然语言处理第三章
- python自然语言处理(1)
- 《Python自然语言处理》练习1
- python 自然语言处理学习1
- NLTK12《Python自然语言处理》code11 语言数据管理
- Python自然语言处理 11 语言数据管理
- unity编辑器拓展六——不实例化的情况下修改Assets下面的文件
- java.lang.NoSuchMethodException
- SDUT 3373 数据结构实验之查找一:二叉排序树
- JS中的call()和apply()方法
- 今天写一篇关于IO的文件拷贝
- 【读书笔记】《Python自然语言处理》第1章 语言处理与Python
- 2017年12月19-20日 阿里云 飞天/智能 云栖大会-北京峰会 会议笔记
- Ubuntu 重命名文件
- mongodb 存储经纬度以及查询,附操作案例
- SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解
- centos6安装wget
- 高内聚,低耦合
- Eclipse中将Java项目转换成Web项目的方法
- Knn算法智能识别验证码数字