1.访问《罪与罚》的英文翻译:

from urllib import urlopen

url="http://www.gu tenberg.org/files/2554/2554.txt"

raw=urlopen(url).read()

type(raw)

进程read()将需要几秒来下载这本书。如果Internet代理Python无法正确检测出来,需要用下面的方式手动指定代理。

proxies={'http:'http://www.xomeproxy.com:3128'}

raw=urlopen(url,prxies=proxies).read()

2.分词。产生词汇和标点符号的链表。

tokens=nltk.word_tokensize(raw)

type(tokens) #list

3.find()方法和rfind()方法(反向索引)

raw.find("PART I")

raw.rfind("PART I")

4.从HTML中提取文本。

url="http://news.bbc.co.uk/2/hi/health/2284783.stm"

html=urlopen(url).read()

html[:60]

NLTK中的辅助函数nltk.clean_htm()将HTML字符串作为参数,返回原始文本。然后对原始文本进行分词。

raw=nltk.clean_html(html) #得到HTML原始文本

tokens=nltk.word_tokensize(raw) #分词,得到词汇链表

text=nltk.Text(tokens) #词汇链表->文本

5.在Universal Feed Parser第三方python库的帮助下,访问博客内容。

>>>import feedparser

>>>llog=feedparser.parser("http://languagelog.ldc.upeenn.edu/nll/?feed=atom")

>>>llog=['feed']['title']

u 'Language Log'

>>>len(llog.entries)

15

>>>post=llog.entries[2]

>>>post.title

u"He's My BF"

>>>content=post.content[0].value

>>>nltk.word_tokensize(nltk.clean_html(content))

>>>nltk.word_tokensize(nltk.clean(html(llog.entires[2].content[0].value))

6.读取本地文件,读取文件时要检查目录是否为当前目录,不是则需要切换到目标目录。

f=open('document.txt') #open()函数的第二个参数表示打开方式,默认为‘rU’ r表示只读,U表示通用

raw=f.read() #创建包含整个文本的字符串

方法二:

for line in f:

print line.strip() #删除结尾的换行符

7.在python中检查当前目录。

import os os.listddir('.')

8.使用nltk.data.find()来获取语料库中项目的文件名,然后打开读取它。

path=nltk.data.find('corpora/gutenberg/melville-moby_dict.txt')

raw=open(path,'rU').read()

9.for循环遍历字符串中的字符(for循环遍历字符串时只能得到单个字符,遍历链表可以得到词汇)。

>>>sent='colorless green ideas sleep furiously'

>>>for char in sent:r

>>> print char,

c o l o r l e s s g r e e n i d e a s s l e e p f u r i o u s l y

#计数单个字符

>>>from nltk.corpus import gutenberg

>>>raw=gutenberg.raw('melville-moby_dict.txt')

>>>fdist=nltk.FreqDist(ch.lower() for ch in raw if ch.isalpha())

>>>fdist.keys()

['e','t','a',o','n'..........]

10.正则表达式P109

#查找以ed结尾的词 r表示原始字符串>>>import re>>>[w for w in wordlist if re.search('ed$',w)]#通配符.    ^匹配字符串的开始,$匹配字符串的结尾>>>[w for w in wordlist if re.search('^..j..t..$',w)]#?是可选字符>>>e-?mile  #匹配email 和e-mail  ?0个或1个>>>sum(l for w in text if re.search('^e-mail$''w))      #计数文本中这个词出现的总次数#+表示一个或多个实例,*表示零个或多个实例  + and * 有时称为ieKleene闭包或者闭包>>>[w for w in wordlist if re.search('^m+i+e+$',w)]#^出现在方括号中第一个时表示非>>>[^aeiouAEOIU]    # 匹配非元音字母#\ 转义 {} {3,5}重复3-5次,为前面的项目重复指定的次数  |或逻辑  ()表示操作符的范围

11.正则表达式应用

#re.findall()找出所有匹配的指定正则表达式>>>word='sdgoinkwenfoif;dvd'>>>re.findall(r'[aeiou'],word)#找出两个或两个以上元音序列,并确定他们的相对频率wdj=sorted(set(nltk.corpus.treebank.words()))fd=nltk.FreqDist(vs for word in wsj                                  for vs in re.findall(r'[aeiou'],word))fd.items()

#只匹配词首的元音,词尾的元音和词的辅音.然后把匹配的词连接起来

regexp=r'^[AEIOUaeiou]+|[AEIOUaeiou]+$[^AEIOUaeiou]'

def compress(word):

pieces=re.findall(regexp,word)

return ''.join(pieces)

english_udhr=nltk.corpus.udhr.words('Englis-Latin1')

print nltk.tokenwrap(compress(w) for w in english_udhr[:75])

#从罗托卡特语词汇中提取所有的辅音-元音序列。

rotokas_words=nltk.corpus.toolbox.words('rotokas.dic')

cvs=[cv for w in rotokas_words for cv in re.findall(r'[ptksvr][aeiou]',w)]

cfd=nltk.ConditionalFreqDist(cvs)

cfd.tabulate()

12.词干提取器

def stem(word):

regexp=r'^(.*?)(ing|ly|ed|ious|ies|ive|es|s|ment)?$'

stem,suffix=re.findall(regexp,word)[0]

return stem

tokens=nltk.word_tokenize(raw)

porter=nltk.PorterStemmer() #提取器1

lancaster=nltk.LancasterStemmer() #提取器2 just so so

[porter.stem(t) for t in tokens]

[lancaster.stem(t) for t in tokens

13.将结果写进文件。

output_file=open('output.txt','w')

words=set(nltk.corpus.genesis.words('english-kjv.txt')

for word in sorted(words):

output_file.write(word+"\n")

14.文本换行。

from textwrap import fill

format='%s(%d)'

pieces=[format % (word,len(word) ) for word in saying]

output=' . join(pieces)

wrapped=fill(output)

print wrapped

python自然语言处理第三章:处理原始文本相关推荐

  1. Python精确指南——第三章 Selenium和爬虫

    3       Selenium 3.1     介绍 网络爬虫在互联网领域有着广泛的应用. Selenium是一个页面自动化控制框架.能够模拟实际操作,自动化获取网站提供的页面资源信息. Selen ...

  2. Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称

    Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称   这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询   这一个案例体现的点主要是xpat ...

  3. 零基础学Python课后实战第三章

    零基础学Python课后实战第三章 实战一:模拟支付宝蚂蚁森林的能量产生过程 实战二:猜数字游戏 实战三:模拟跳一跳小游戏的加分块 实战四:模拟10086查询功能 实战一:模拟支付宝蚂蚁森林的能量产生 ...

  4. Python计算机视觉编程 第三章 图像到图像的映射

    第三章 图像到图像的映射 3.1 单应性变换 3.1.1直接线性变换算法 3.1.2仿射变换 3.2图像扭曲 3.2.1图像中的图像 3.2.2图像配准 3.3创建全景图 3.3.1RANSAC 3. ...

  5. Python入门 - 笔记 - 第三章 Python中的变量和数据类型

    第三章 Python中的变量和数据类型 -------------------------------------------------------------------------------- ...

  6. Python基础教程 | 第三章 字符串

    1. 基本字符串操作 标准序列操作:索引.分片.乘法. 成员资格.长度.最大最小值 >>> website = 'www.baidu.com' >>> websit ...

  7. python赵璐第三章课后答案_第三章 课后习题及参考答案

    第三章 课后习题及参考答案 一.选择题 1. 计算机的软件系统一般分为 ( ) 两大部分. A .系统软件和应用软件 B .操作系统和计算机语言 C .程序和数据 D . DOS 和 Windows ...

  8. Python基础练习题--第三章 控制结构

    第三章 控制结构 目录 1025:[例3.1]购买笔记本 1026:[例3.2]判断奇偶 1027:[例3.3]区间测速 1028:[例3.4]飞船速度 1029:练3.1最大优惠价 1030:练3. ...

  9. python计算机视觉学习第三章——图像到图像的映射

    目录 引言 一. 单应性变换 1.1 直接线性变换算法 1.2 仿射变换 二. 图像扭曲 2.1 图像中的图像 2.2 分段仿射扭曲 2.2 图像配准 三.创建全景图 3.1 RANSAC(随机一致性 ...

  10. [学习笔记] python深度学习---第三章 神经网络入门

    一.神经网络剖析 1. 训练神经网络主要围绕以下四个方面: (1) 层,多个层组合成网络(或模型). (2)输入数据和相应的目标. (3)损失函数,即用于学习的反馈信号. (4)优化器,决定学习过程如 ...

最新文章

  1. 关于学习tf.random.normal()和tf.random.uniform()的一点小总结
  2. uniapp中easycom组件的封装
  3. React Native之AppRegistry模块
  4. ITK:重新采样分割图像
  5. Android之IPC通信中的UID和PID识别
  6. android 从本地服务器下载文件,Retrofit2-如何从服务器下载文件
  7. Primavera P6 安装配置指南
  8. python图形绘制含注释
  9. 「知识点」JavaScript 中11个有趣的事实
  10. java人事考勤打卡小程序源码
  11. java cms 源码_PublicCMS开源Java系统 v4.0.190312
  12. roadrunner中文文档(四)app服务器
  13. c语言中定义一个十六进制的数,C语言如何定义一个16进制数
  14. DHU Matlab Experiment【2】作业记录_第三章、第四章
  15. 区块链智能资产的“硬链接”思考
  16. 为什么我加了过滤器然后就登不进去了_化隆空气过滤器滤芯哪里有
  17. 第一天-网络设备安全操作知识
  18. XSS漏洞的原理与测试解决方案笔记
  19. PCB板框的绘制——AD19
  20. 算法描述怎么写伪代码java_伪代码描述算法

热门文章

  1. 声律启蒙--喜欢这个韵律
  2. Linux系统打不开gedit文本编辑器
  3. php如何本地运行_怎样在本地运行PHP
  4. pd对焦速度_PDAF对焦技术原理解析及生产应用
  5. 脑袋越大就会越聪明么?
  6. 健美运动员赛前脱水断碳_健美运动员在备赛期状态真的很差吗?
  7. java 第三方微信平台_微信公众账号第三方平台全网发布源码(java-jeewx)
  8. PDF文件怎么转换成word?
  9. 腾讯地图手把手教你实现微信小程序路线规划
  10. Shopee开店首站有哪些站点?虾皮入驻规则