如何在Jupyter Notebook中安装和使用NLTK

2021-8-24 11:12| 发布者: Fuller| 查看: 3325| 评论: 0

摘要: 使用NLTK的所有特性会遇到安装的麻烦。此前,我们发布的Jupyter Notebook也没有遇到什么问题,因为以前只用到了mltk的几个功能函数,仅仅做计算,没有使用nltk-data。如果要做一些基于机器学习数据的计算,就会有麻 ...

在最近分享的几篇论文范文中,研究者使用了点互信息PMI和依存句法分析方法,进行科技政策文本的分析研究:

1. 基于依存句法分析的科技政策领域主题词表无监督构建

2. 基于科技政策文本的程度词典构建研究

笔者查了有关这2种方法的资料和具体实现,发现可以基于python的nltk库来做实践。

但是,使用NLTK的所有特性会遇到安装的麻烦。此前,我们发布的Jupyter Notebook也没有遇到什么问题,现在为什么要专门讲解安装问题呢?因为以前只用到了mltk的几个功能函数,仅仅做计算,没有使用nltk-data。如果要做一些基于机器学习数据的计算,就会有麻烦,即便nltk首页上的示例代码都运行不了。

那么,本文将手把手帮读者解决由于网络不同造成的安装nltk-data的问题。

什么是NLTK?

NLTK,全称Natural Language Toolkit,自然语言处理工具包,是NLP研究领域常用的一个Python库,由宾夕法尼亚大学的Steven Bird和Edward Loper在Python的基础上开发的一个模块,至今已有超过十万行的代码。这是一个开源项目,包含数据集、Python模块、教程等;

笔者在安装和使用NLTK的过程中,碰到了一些问题,造成安装不成功(特别是nltk-data),后来终于找到能顺利安装成功的方法,在此记录下来,有需要研究和使用这个nltk库的同学可以参考。

NLTK库官网文档及模块列表,见: http://www.nltk.org/ 

1,安装anaconda

如果已经安装anaconda, 这一步忽略。

如果要建设Jupyter Notebook的运行环境,建议安装Anaconda,好用,省事,尤其对于数据分析师来说,这个一键安装的软件包是最合适的。

Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,是整合了python和大量第3方库的一个集成环境,用户不用花时间去处理环境依赖。

安装过程见之前的一篇说明:如何运行数据分析和可视化Jupyter Notebook模板

2,安装NLTK

2.1 打开一个运行python命令的窗口

点击windows左下角的开始菜单,找到Anaconda3下面的“Anaconda Powershell Prompt”,鼠标右键点击“以管理员身份运行” 。如果安装某些软件的时候,需要在电脑的非用户区域安装软件,就需要管理员身份,才有系统区写入的权限。

2.2 在命令窗口里安装nltk

在打开的python命令窗口里,输入如下安装nltk包的命令并回车:

conda install nltk

3,下载并安装NLTK的模块/语料库

注释:由于直接在python里运行nltk.download() 总是失败,所以使用git先下载nltk-data, 再安装。

3.1 下载并安装git

Git下载地址: https://git-scm.com/downloads 

笔者选择下载windows版本。

3.2 安装git

双击下载到本地的安装文件:Git-2.33.0-64-bit.exe。这个软件有太多安装选项了,我采取一个策略:不改动设置,一路点击“下一步”,完成安装。

3.3 使用git下载nltk-data

因为在内地环境直接从github下载会很慢, 所以从一个github的中转站去下载。

详情参考这篇知乎文章的第5和第6步:国内下载GITHUB库加速方法及快速安装NLTK

我们选择git clone的方法。打开一个git bash窗口,运行如下命令,开始下载:

git clone http://gitclone.com/github.com/nltk/nltk_data.git

3.4 修改nltk_data/index.xml文件

把所有网址://raw.githubusercontent.com/nltk/nltk_data/gh-pages

替换成://localhost:8000

在git bash窗口中输入以下两条命令:

cd nltk_data

sed -i 's;s://raw.githubusercontent.com/nltk/nltk_data/gh-pages;://localhost:8000;g' index.xml 

3.5 启动一个本地web server

在git bash窗口里输入如下命令, 启动一个本地web server:

python -m http.server 8000

【注意】如果在git bash中遇到command not found的错误,那么把这个窗口关掉,从开始菜单中找到git bash,重新运行起来,如果经过重启,一定要记得执行cd nltk_data,再输入如下命令

3.6 运行python

在前面已经启动的“Anaconda Powershell Prompt”下,输入python

在python环境下,输入:

import nltk

nltk.download()

【注意】如果遇到莫名奇妙的退出,那么关掉这个Anaconda Powershell Prompt窗口,从开始菜单上重新启动这个窗口,这一次不要用管理员身份启动

3.7 在打开的NLTK Downloader界面中完成nltk_data安装

按照下图标出来的顺序操作:首先要修改Server Index,不用管Download Directory

4,在Jupyter Notebook试运行nltk官网首页的一个示例

4.1 启动Jupyter Notebook

4.2 新建一个notebook做测试

运行NLTK官网首页上的示例代码,看看输出结果。

4.2.1 英文分词和词性

import nltk

sentence = """At eight o'clock on Thursday morning... Arthur didn't feel very good."""

tokens = nltk.word_tokenize(sentence)

tokens

tagged = nltk.pos_tag(tokens)

print(tagged[0:6])

4.2.2 显示一棵解析树

from nltk.corpus import treebank

t = treebank.parsed_sents('wsj_0001.mrg')[0]

t.draw()

5,下一步

Nltk库的功能很强大,下一步会针对一些子库和自带的语料库,做一些自然语言处理方面的测试,同时会把一些测试过程和结果整理成Jupyter Notebook发布出来。


鲜花

握手

雷人

路过

鸡蛋

最新评论

GMT+8, 2024-4-23 15:52