1.利用 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade --ignore-installed nltk安装nltk语言包,随后利用nltk.download()下载文本信息。
2.text.concordance(“a”):在文本text中查找单词“a”出现的位置
text.similiar(“a”):查找文本中出现在与“a”相似的上下文中的词
common_contexts([“monstrous”],[“very”]):研究共用monstrous和very的上下文
set(text3):获取text3中的词汇表
sorted(set(text3)):对text3词汇表进行排序
text3.count(“smote”):计算text3中单词“smote”出现的次数
3.单词频率分布:
利用FreqDist函数来计算得文本当中每个单词所被使用的频率,并以字典的形式存放。
利用特性来选择出单词长度大于一定长度的词,python表达形式为:
V=set(text1)
long_words=[w for w in V if len(w)>15]
找出长度大于7并且出现频率大于7的单词:
fdisi5=FreqDist(text5)
sorted([w for w in set(text5) if len(w)>7 and fdist5[w]>7])
查看文本中词长的分布:
[len(w) for w in text1]
fdist=FreqDist([len(w) for w in text1])
fdist.key()
fdist.items() //查看fdist中存放的字典信息
fdist.max() //查看数量最多的单词长度
fdist[3] //查看单词长度为3的单词数量
fdist.freq(3) //查看单词长度为3 的单词占总单词数的比例
获得文本语料和词汇资源
欲解决问题:
- 什么是有用的文本语料库和词汇资源,如何使用python获取他们
- 哪些Python结构最适合这项工作
- 编写Python代码时如何避免重复工作
获取文本语料库:
NLTK中主要有古腾堡项目(gutenberg),网络和聊天文本(webtext),布朗语料库(brown),路透社语料库(reuters),就职演说语料库(inaugural),标注文本语料库.
from nltk.corpus import gutenberg
gutenberg.fileids()
载入自己的语料库:
可以利用PlaintextCorpusReader/BracketParseCorpusReader函数:
from nltk.corpus import PlaintextCorpusReader
corpus_root='文件存放路径'
wordlists=PlaintextCorpusReader(corpus_root,'.*')//第二个参数可以输文件链表或匹配所有标识的模式,所有以test开头,.txt结尾的文件都可以用"test.*\.txt”来访问所有的文件
wordlist.fileids()
from nltk.corpus import BracketParseCorpusReader
corpus_root=r"文件所在路径"
file_pattern=r".*/wsj_.*\.mrg"//该参数为在文件夹中所包含的文件匹配,匹配处为wsj_
ptb=BracketParseCorpusReader(corpus_root,file_pattern)
ptb.fileids()
条件频率分布(ConditionalFreqDist)
以一个配对链表作为输入,前一个参数作为条件,输出的是与第一个条件参数所配对的第二个参数所出现的频率