本文主要是介绍《python自然语言处理》笔记---chap2 获得文本语料和词汇资源(续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
---------我可以投诉吗?不知道为什么上午接着写了好多,明明发表了,可是还是没了,是不是不能写那么多?-----
载入你自己的语料库
待续。。。
2.3 更多关于python:代码重用
使用文本编辑器创建程序
函数
局部变量,不能在函数体外访问。函数在被“调用”之前不会做任何事情。
一个Python 函数:这个函数试图生成任何英语名词的复数形式。
#coding:utf-8
def plural(word):
if word.endswith('y'):
#以y结尾,把y该i,再加es
return word[:-1]+'ies'
elif word[-1] in 'sx' or word[:-2] in ['sh','ch']:
#以s,x,sh,ch,等结尾的单词,加es
return word+'es'
elif word.endswith('an'):
#以an结尾的,变为en
return word[:-2]+'en'
else:
#普通的,直接加s
return word+'s'
print plural('fairy')
print plural('woman')
模块
在一个文件中的变量和函数定义的集合被称为一个python模块。相关模块的集合称为一个包。NLTK的本身是包的集合,有时被称为一个库。
2.4 词典资源
如果我们定义了一个文本my_text,然后vocab = sorted(set(my_text))建立my_text 的词汇表,同时word_freq = FreqDist(my_text)计数文本中每个词的频率。
一个词项包括词目(也叫词条)以及其他附加信息,例如:词性和词意定义。两个不同的词拼写相同被称为同音异义词。
词汇列表语料库
过滤文本:此程序计算文本的词汇表,然后删除所有在现有的词汇列表中出现的元素,只留下罕见或拼写错误的词。
#coding:utf-8
import nltk
def unusual_words(text):
text_vocab=set(w.lower() for w in text if w.isalpha())
english_vocab=set(w.lower() for w in nltk.corpus.words.words())
unusual=text_vocab.difference(english_vocab) #求差集
return sorted(unusual)
print unusual_words(nltk.corpus.gutenberg.words('austen-sense.txt'))
print
这篇关于《python自然语言处理》笔记---chap2 获得文本语料和词汇资源(续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!