用python进行自然语言处理

    近来,在看一本用python进行自然语言处理的书,里面的例子比较多,博主在此将其整理如下,一是方便自己查看,二是帮助广大学友共同学习,对于里面的问题大家都可以随时讨论。PS:书名为python自然语言处理,作者Steven Bird,   Ewan Klein,   and Edward Loper



第一章 应用在自然语言上的python语法


1. 自然语言处理:Natural Language Processing(NLP)

   自然语言工具包; Natural Language Toolkit(NLTK)

   下载python的网址: 点击打开链接

   下载NLTK的网址:点击打开链接

   介绍python的网址:点击打开链接

2. (鉴于本书编印较早,很多例子都有变化,所以不可一概而论。)

搜索文本,连同上下文一起显示:text1.concordance("monstrous")

哪些词出现在相似的上下文中:text1.similar("monstrous")

研究两个相似词的共同上下文:text1.common_contexts(["monstrous","very"])

看出单词的分布,绘制离散图:text1.dispersion_plot(["monstrous","very","America","democracy"])

随机产生文本:text1.generate()

标识符:词和标点符号,两个一样的词语就是两个标识符。

定义了两个函数:

def lexical_diversity(text)<span style="font-family:FangSong_GB2312;">:</span>
      return len(text) / len(set(text))
def percentage(count, total):
      teturn 100 * count / total
链表相加: sent1 + sent4

链表追加:sent1.append('some')

索引:text1[13]

      text.index("awake")

切片:text[37:40],出现37,38,39三个数字对应的词

将列表连接起来组成单个字符串:''.join(['a','b'])----'a b'

把字符串分割成一个列表:'a b'.split()----['a','b']

fdist1是每个词对应的频率,下面是绘制前50个词的累计频图:

fdist1 = FreqDist(text1)
fdist1.plot(50, cumulat<span style="font-family:FangSong_GB2312;">ive</span>=True)
只出现一次的词:
fdist1<span style="font-family:FangSong_GB2312;">.hapaxes()</span>
sorted排序先出大写开头的,然后按照字母表顺序。

字典索引:

fdist1<font face="FangSong_GB2312">.items()
<span style="font-size:18px;"><strong><span style="font-family:FangSong_GB2312;"><span style="font-size:18px;"><strong></strong></span></span></strong></span></font><pre name="code" class="python">fdist1<font face="FangSong_GB2312">.keys()
<span style="font-size:18px;"><strong><span style="font-family:FangSong_GB2312;"><span style="font-size:18px;"><strong></strong></span></span></strong></span></font><pre name="code" class="python">fdist1<span style="font-family:FangSong_GB2312;">.values()
集合
set([<span style="color:#FF0000;">w.lower()</span> <span style="background-color: rgb(51, 51, 255);"><span style="color:#33FF33;">for</span></span> w in text <span style="background-color: rgb(102, 0, 204);"><span style="color:#6666CC;"><span style="color:#33FFFF;">i</span><span style="color:#66FFFF;">f</span></span></span> w.ifalpha()])
</span>

 
 
 
 

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值