Python3自然语言处理(1)——语言处理与Python

本文介绍了将《Python自然语言处理》一书中的Python2代码迁移到Python3的过程中遇到的问题,包括NLTK的安装、数据下载、频率分布的处理。在Python3中,使用FreqDist时出现了排序问题,通过源码分析解决了生成累积频率图的差异。
摘要由CSDN通过智能技术生成

Python3自然语言处理(1)——语言处理与Python

注:转载请联系博主,或关注微信公众号"引文空间",后台提出转载申请,等待回复。否则将举报抄袭!

《Python自然语言处理》是美国斯坦福大学Steven Bird,Edward Loper和Ewan Klein编著的NLP实用书籍,该书条理清晰,内容详尽,适合各种技术水平的读者,非常值得推荐,但是书中所用的Python版本为Python2,而目前Python使用和学习的主流为Python3,这给学习NLP的读者们可能造成困扰,因为Python3并不向下兼容Python2。
笔者通过对该书的学习,并尝试利用Python3来实现书中的功能,将自己的学习心得发表在公众号"引文空间"上,为了使更多人能够看到,转载到了该平台,内容将不断更新。由于本人水平有限,有一些功能可能在用Python3操作时考虑不周,或者方法不够简易,恳请读者谅解,若读者对内容有新见解或新方法,欢迎提出探讨。在这里插入图片描述
第一章 语言处理与Python
首先要安装NLTK,可以从http://www.nltk.org上下载,也可以通过pip下载,即:

pip install nltk

安装完成后,启动Python解释器,输入如下代码:

import nltk
nltk.download()

选择book标记所在行,下载数据。数据下载完成后可将模块导入Python:

from nltk.book import *

回车后,编辑器显示如下:

*** Introductory Examples for the NLTK Book ***
Loading text1, ..., text9 and sent1, ..., sent9
Type the name of the text or sentence to view it.
Type: 'texts()' or 'sents()' to list the materials.
text1: Moby Dick by Herman Melville 1851
text2: Sense and Sensibility by Jane Austen 1811
text3: The Book of Genesis
text4: Inaugural Address Corpus
text5: Chat Corpus
text6: Monty Python and the Holy Grail
text7: Wall Street Journal
text8: Personals Corpus
text9: The Man Who Was Thursday by G . K . Chesterton 1908

需要找这些文本的时候,只要输入名字(如text1)即可:

>>>text1
<Text: Moby Dick by Herman Melville 1851>

后面的一些部分都是Python的一些基础功能,在此不再赘述,在“频率分布”部分,Python3的操作与Python2有所差别。书上的例子为利用FreqDist寻找《白鲸记》中出现的的前50个高频词,原代码如下:

fdist1=FreqDist(text1)
vocabulary1=fdist1.keys()
vocabulary1[:50]

在Python3中运行此代码,会如此报错:

Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    vocabulary1[:50]
TypeError: 'dict_keys' object is not subscriptable

解决这个问题我们可以把字典的键放到列表里,

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值