在最近分享的几篇论文范文中,研究者使用了点互信息PMI和依存句法分析方法,进行科技政策文本的分析研究: 笔者查了有关这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发布出来。 |