python自然语言处理学习笔记2
基础语法
搜索文本----词语索引使我们看到词的上下
text1.concordance("monstrous")
词出现在相似的上下文中
text1.similar("monstrous")
函数common_contexts允许我们研究两个或两个以上的词共同的上下文
text2.common_contexts(["monstrous", "very"])
以判断词在文本中的位置,用离散图表示 ,每一个竖线代表一个单词,每一行代表整个文本
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])
不同风格产生一些随机文本
text3.generate()
获取文本长度
len(text3)
获得text3 的词汇表(set为集合,元素不可重复)
set(text3)
得到一个词汇项的排序表(排序表中大写字母出现在小写字母之前)
sorted(set(text3))
了每个字平均被使用次数(使用的是浮点除法)
from __future__ import division
len(text3) / len(set(text3))
计数一个词在文本中出现的次数,计算一个特定的词在文本中占据的百分比。
text3.count("smote")
100 * text4.count('a') / len(text4)
了每个字平均被使用次数(函数)
def lexical_diversity(text):
return len(text) / len(set(text))
百分比
def percentage(count, total):
return 100 * count / total
链表(list,也叫列表)(nltk.book 已经为你定义了一些链表 sent2~sent9)
sent1 = ['Call', 'me', 'Ishmael', '.']
对链表使用Python 加法运算----连接----它将多个链表组合为一个链表
['Monty', 'Python'] + ['and', 'the', 'Holy', 'Grail']
sent4 + sent1
向链表中增加一个元素----追加
sent1.append("Some")
索引列表(索引从零开始)
text4[173]
获取子链表----切片
text5[16715:16735]
切片5:8 包含索引5,6 和7 m:n 表示元素m...n-1
sent = ['word1', 'word2', 'word3', 'word4', 'word5','word6', 'word7', 'word8', 'word9', 'word10']
sent[5:8]
如果切片从链表第一个元素开始,我们可以省略第一个数字;如果切片到链表最后一个元素处结尾,我们可以省略第二个数字:
sent[:3]
text2[141525:]
从倒数第二个开始到最后
tokens[-2:]
通过指定它的索引值来修改链表中的元素
sent = ['word1', 'word2', 'word3', 'word4', 'word5','word6', 'word7', 'word8', 'word9', 'word10']
sent[0] = 'First'
也可以用新内容替换掉一整个片段
sent[1:9] = ['Second', 'Third']
字符串(切片,乘法,加法,连接,分割)
name = 'Monty'
name[0]
name[:4]
name * 2
name + '!'
' '.join(['Monty', 'Python'])
'Monty Python'.split()
python自然语言处理学习笔记2的更多相关文章
- python自然语言处理学习笔记1
1.搭建环境 下载anaconda并安装,(其自带python2.7和一些常用包,NumPy,Matplotlib),第一次启动使用spyder 2.下载nltk import nltk nltk.d ...
- Python自然语言处理学习笔记之性别识别
从今天起开始写自然语言处理的实践用法,今天学了文本分类,并没用什么创新的东西,只是把学到的知识点复习一下 性别识别(根据给定的名字确定性别) 第一步是创建一个特征提取函数(feature extrac ...
- python自然语言处理——学习笔记:Chapter3纠错
2017-12-06更新:很多代码执行结果与书中不一致,是因为python的版本不一致.如果发现有问题,可以参考英文版: http://www.nltk.org/book/ 第三章,P87有一段处理h ...
- Python自然语言处理学习笔记(69)
http://www.cnblogs.com/yuxc/archive/2012/02/09/2344474.html Chapter8 Analyzing Sentence Structure ...
- Python自然语言处理学习笔记之信息提取步骤&分块(chunking)
一.信息提取模型 信息提取的步骤共分为五步,原始数据为未经处理的字符串, 第一步:分句,用nltk.sent_tokenize(text)实现,得到一个list of strings 第二步:分词,[ ...
- Python自然语言处理学习笔记之评价(evaluationd)
对模型的评价是在test set上进行的,本文首先介绍测试集应该满足的特征,然后介绍四种评价方法. 一.测试集的选择 1.首先,测试集必须是严格独立于训练集的,否则评价结果一定很高,但是虚高,不适用于 ...
- Python自然语言处理学习笔记之选择正确的特征(错误分析 error analysis)
选择合适的特征(features)对机器学习的效率非常重要.特征的提取是一个不断摸索的过程(trial-and-error),一般靠直觉来发现哪些特征对研究的问题是相关的. 一种做法是把你能想到的所有 ...
- Requests:Python HTTP Module学习笔记(一)(转)
Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
随机推荐
- Swift(三)基本运算符
Swift支持大部分标准C语言的运算符,并且对许多特性进行改进来减少常规编码的错误.除了支持基本运算符外,Swift还提供了2个特殊的运算符,分别是:溢出运算符和区间运算符 首先看下基本运算符 imp ...
- 访问接口错误,com.netflix.client.ClientException: Load balancer does not have available server for client: panfeng-item-service
com.netflix.client.ClientException: Load balancer does not have available server for client: panfeng ...
- Redhat 7修改主机名
修改主机名: Linux master2 3.10.0-693.el7.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017 x86_64 x86_64 x86_64 G ...
- shell脚本中的数组
以下命令,都是以数组array=("20150417" "20150416" "20150415")为例. 注意bash中只支持一维数组,没 ...
- 11jsp
1.JSP 1. 指令 作用:用于配置JSP页面,导入资源文件 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> 分类: ...
- Tree HDU - 6547 (树链剖分,线段树)
wls 有三棵树,树上每个节点都有一个值 ai,现在有 2 种操作: 将一条链上的所有节点的值开根号向下取整: 求一条链上值的和: 链的定义是两点之间的最短路. Input 第一行两个数 n, q 分 ...
- 谈谈对MVC的认识?
核心思想是:视图和用户交互通过事件导致控制器改变 控制器改变导致模型改变 或者控制器同时改变两者 模型改变 导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改变自己.他的好处是可以将界面和业务 ...
- target_link_libraries每次能连接1个???
target_link_libraries(usb-1.0)target_link_libraries(cyusb)
- nginx防止跳转到内网解决
proxy_redirect http://test.abc.com:9080/ /;
- 更新protobuf
sudo pip install --upgrade protobuf sudo apt-get install libprotobuf-dev protobuf-compiler这个不知道是什么问题 ...