微信公众号:数据运营人
本系列为博主的读书学习笔记,如需转载请注明出处。
第一章 语言处理与python
1.1 语言计算:文本和词汇python入门NLTK入门探索文本计数词汇
1.1 语言计算:文本和词汇
python入门
下载安装路径:http://www.python.org,安装成功后可在python的IDLE中进行测试
NLTK入门
NLTK的官网:http://www.nltk.org/
NLTK中模块及功能介绍:
语言处理任务 | NLTK模块 | 功能描述 |
---|---|---|
获取和处理语料库 | nltk.corpus | 语料库的词典的标准化接口 |
字符串处理 | nltk.tokennize,nltk.stem | 分词句子分解提提取主干 |
搭配发现 | nltk.collocations | t-检验,卡方,点互信息PMI |
词性标识符 | nltk.tag | n-gram,backoff,brill,EM,k-means |
分类 | nltk.classify, nltk.cluster | 决策树,最大熵,贝叶斯,EM,k-means |
分块 | nltk.chunk | 正则表达式, n-gram,命名实体 |
解析 | nltk.parse | 图表,基于特征,一致性,概率,依赖 |
语义解释 | nltk.sem, nltk.inference | λ演算,一阶逻辑,模型检验 |
指标评测 | nltk.metrics | 精度,召回率,协议系数 |
概率与估计 | nltk.probability | 频率分布,平滑概率分布 |
应用 | nltk.app, nltk.chat | 图形化的关键词排序,分析器, WordNet查看器,聊天机器人 |
语言学领域的工作 | nltk.toolbox | 处理 SIL工具箱格式的数据 |
NLTK的安装:pip install nltk
1# 下载nltk图书合集
2import nltk
3nltk.download()
选择book所在的行,获取本书所有例子和练习需要的全部数据。
从NLTK的book模块中加载所有的条目,book模块中包含本书中的所有数据。
1from nltk.book import *
2text1
3text2
返回结果:
探索文本
# 查找text1文本中词monstrous出现的上下文
# 查找text2文本中词affection出现的上下文
# 查找text3文本中词lived出现的上下文
1text1.concordance('monstrous')
2text2.concordance('affection')
3text3.concordance('lived')
返回结果:
# 查找在text1中,monstrous的近义词或出现在相似的上下文中的词
# 查找在text2中,monstrous的近义词或出现在相似的上下文中的词
1text1.similar('monstrous')
2text2.similar('monstrous')
返回结果:
# 查找在text2中,同时出现monstrous和very的词的上下文中
1text2.common_contexts(['monstrous','very'])
返回结果:
# 绘制在text4(美国总统就职演说)文本中,这五个词语citizens,democracy,freedom,duties,America随时间推移语言使用上的变化
1text4.dispersion_plot(['citizens','democracy','freedom','duties','America'])
计数词汇
# 查看text3文本的长度
# 对text3中的文本去重并进行排序
# 对text3文本去重并计算长度
1len(text3)
2sorted(set(text3))
3len(set(text3))
返回结果:
# 定义函数
1# 文本中每个词的平均使用次数
2def lexical_diversity(text):
3 return len(text) / len(set(text))
4# 文本中某个词的使用率(百分比)
5def percentage(text,word):
6 return 100*text.count(word)/len(text)
返回结果: