摘要:
赋值 注意赋值有值赋值和引用赋值(在这里不详细介绍,可以查阅Python相关资料) 等式 ==,只判断值是否相等 如果使用is,则是在判断值的基础上还会判断是否是同一个对象 条件语句 if 'cat' in animals: print 1 elif 'dog' in animals: print 2#不要忘记any和all all(len(w)... 阅读全文
摘要:
从链表到字符串silly=['We', 'called', 'him', 'Tortoise', 'because', 'he', 'taught', 'us', '.']‘ ’.join(silly)'We calledhim Tortoisebecausehetaught us.’#join()方法适合于一个字符串的链表字符串与格式#字符串格式化表达式for word in fdist:print ‘%s->%d;’%(word,fd 阅读全文
摘要:
分词是一个更普遍的分割问题的一个实例。在这里我们还会看到分割问题的另外两个实例2.断句#NLTK的Punkt句子分割器sent_tokenizer=nltk.data.load(‘tokenizers/punkt/english.pickle’)text=nltk.corpus.gutenberg.raw(‘chesterton-thursday.txt’)sents=sent_tokenizer.tokenize(text)#注意:断句其实是困难的,因为在一些缩写里面也包括标记句子结束的句号。(6.2中还有一种断句方法)分词比如,会遇到这样的例子:a. doyouseethekittyb.s 阅读全文
摘要:
分词是将字符串切割成可识破的构成一块语言数据的语言单元。 分词的简单方法 raw = """'When I'M a Duchess,'she said to herself, (not in a very hopeful tone... though), 'I won'thave any pepper in mykitchenATALL.Soupdoesvery... wellwithout--M... 阅读全文
摘要:
词干提取器porter=nltk.PorterStemmer()lancaster=nltk.LancasterStemmer()[porter.stem(t) for t in tokens][lancaster.stem(t) for t in tokens] 词形归并#WordNet词形归并器删除词缀产生的词wnl=nltk.WordNetLemmatizer()[wnl.lemmatize(t) for t in tokens] 阅读全文
摘要:
提取字符块#找到所有的无重叠的匹配指定的正则表达式re.findall(r’[aeiou]’,word)#看看一些文本中的两个或者两个以上的元音序列,并确定他们的相对频率wsf=sorted((set(nltk.corpus.treebank.words()))fd=nltk.FreqDist(vs for word in wsj for vs in re.findall(r’[aeiou]{2,}’,word))fd.items()在字符块上做更多事情#我们可以对元组进行索引操作,这样可以更方便的使用nltk.Index()查找词干抽出一个词的词干的方法有很多... 阅读全文
摘要:
import re使用基本的元字符#检测以XXX为结尾[w for w in wordlist if re.search(‘ed$’,w)]#.匹配任何单个字符,^以X开头[w for w in wordlist if re.search(‘^..j..t..$’,w)]#?表示出现0或者1次(具体正则表达式相关内容,请查阅相关资料)范围与闭包#寻找一些由相同的按键次序打出的词汇[w for w in wordlist if re.search(‘^[ghi][mno][jkl][def]$’,w)]#+,*有的时候被称为Kleene闭包或者干脆闭包#一些常用的正则表达式基本元字符 阅读全文
摘要:
Unicode支持超过一百万种字符;每个字符分配一个编号,成为编码点;在Python中,编码点写作\uXXXX的形式,其中XXXX是四位十六进制数;从文件中提取已编码文本#得到一个文件的路径(知道这个文件的编码)path= nltk.data.find('corpora/unicode_samples/polish-lat2.txt')import codecsf=codecs.open(path,encoding=’latin2’)#从文件对象f读出的文本将以Unicode返回,如果想在终端查看,必须使用合适的编码对它进行编码;unicode_escape是一种虚拟的编码fo 阅读全文
摘要:
字符串的基本操作#字符串跨行(这种方式不会有换行,简单的字符串连接)Couplet=”Shall I compare thee to a Summer’s day?"\“Thou are more lovely and more temperate:”Couplet=(“Rough winds do shake the darling buds of May,”“And Summer’s lease hath all too short a date:”)#如果想包含换行,可以使用三重引号Couplet=”””Shall I compare thee to a Summer’s da 阅读全文
摘要:
本章开始导入语句from __future__ import divisionimport nltk,re,pprint 3.1从网络和硬盘访问文本电子书from urllib import urlopenurl=”http://www.gutenberg.org/files/2554/2554.txt”raw=urlopen(url).read()#如果使用了Internet代理,需要手工指定代理proxies={‘http’:’http://www.someproxy.com:3128’}raw=urlopen(url,proxies=proxies).read()#对得到的文本分词操作t 阅读全文