首页 > 编程语言 > 详细

NLP-python 自然语言处理01

时间:2017-09-10 22:12:35      阅读:337      评论:0      收藏:0      [点我收藏+]
 1  # -*- coding: utf-8 -*-
 2 """
 3 Created on Wed Sep  6 22:21:09 2017
 4 
 5 @author: Administrator
 6 """
 7 import nltk
 8 from nltk.book import *
 9 # 搜搜单词
10 text1.concordance("monstrous")  # 查找关键词
11 
12 #搜搜相似词
13 text1.similar(monstrous)
14 
15 # 搜搜共同的上下文
16 text2.common_contexts([monstrous, very])
17 
18 
19 # 词汇的分布
20 text4.dispersion_plot([moustrous,very])
21 
22 # 词汇的长度
23 len(text3)
24 
25 # 重复词密度
26 len(text3)/len(set(text3))
27 
28 #关键词密度
29 text3.count(smote)
30 100*text4.count(a)/len(text4)
31 
32 def lexical_diversity(text):
33     return len(text) / len(set(text))
34 
35 def percentage(count, total):
36     return 100 * count /total
37 
38 
39 
40 sent1=[Call, me, Ishmael, .]
41 
42 # 获取文本词索引,注意索引的长度,从零开始
43 text3[172]
44 
45 text3.index(love)
46 
47 # 频率分布情况,对常用词语的判断
48 # 简单统计, 频率分布
49 fdist1 = FreqDist(text1)
50 
51 vocabulary1 = fdist1.keys()
52 fdist1[whale]
53 fdist1.plot(50, cumulative=True)
54 
55 # 低频词
56 fdist1.hapaxes()
57 
58 # 细粒度的词选择
59 V = set(text1)
60 long_words = [w for w in V if len(w) >15]
61 sorted(long_words)
62 
63 # 词频加词的长度同时决定
64 fdist5 = FreqDist(text5)
65 sorted([w for w in set(text5) if len(w) > 7 and fdist5[w] > 7])
66 
67 # 常用词语搭配,双元词搭配
68 from nltk.util import bigrams
69 list(bigrams([more, is, said, than, done]))
70 
71 
72 # 常用的双元词搭配
73 text4.collocations()
74 
75 # 文本中每个词的长度
76 [len(w) for w in text1]
77 
78 # 各个长度词的分布,输出是一个字典
79 fdist = FreqDist([len(w) for w in text1])
80 
81 fdist.keys()    # 索引值
82 fdist.items()   
83 fdist.max()    # 词汇出现最多的那个词的索引
84 
85 fdist[3]     # 索引值为3的位置

 

NLP-python 自然语言处理01

原文:http://www.cnblogs.com/demo-deng/p/7502539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!