您的位置:首页 > 编程语言 > Python开发

【python】NLTK-02-相似度 频率 similar common_contexts count

2017-09-28 16:56 393 查看
#!/user/bin/python
# -*- coding:utf-8 -*-

# 从 NLTK 的 book模块加载所有的东西
from nltk.book import *

'''
Text类介绍
Text(words)	对象构造
concordance(word, width=79, lines=25)	显示word出现的上下文
common_contexts(words)	显示words出现的相同模式
similar(word)	显示word的相似词
collocations(num=20, window_size=2)	显示最常见的二词搭配
count(word)	word出现的词数
dispersion_plot(words)	绘制words中文档中出现的位置图
vocab()	返回文章去重的词典
'''

# similar 用法
# text1.similar('monstrous')

# 函数common_contexts允许我们研究两个或两个以上的词共同的上下文,如 monstrous 和 very 。我们必须用方括号和圆括号把这些词括起来,中间用逗号分割。
# text2.common_contexts(["monstrous", "very"])

'''
# 输出结果
a_pretty am_glad a_lucky is_pretty be_glad
'''

# text1.common_contexts(["monstrous", "very"])
'''
# 输出结果
No common contexts were found
'''

# 我们也可以判断词在文本中的位置:从文本开头算起在它前面有多少词。这个位置信息可以用 离散图表示 , 前提是先安装好matplotlib ,pip安装即可
# text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

# text3中一共有44764个词
print(len(text3))
# 44764

print(sorted(set(text3)))
# ['!', "'", '(', ')', ',', ',)', '.', '.)', ':', ';', ';)', '?', '?)', 'A', 'Abel', 'Abelmizraim', ...]

# text3中去掉重复后一共有2789个词
print(len(set(text3)))
# 2789

# smote出现的频率
print(text3.count("smote"))
# 5


参考书《python自然语言处理》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: