折腾了一天的时间,终于在mac上安装成功了python的nltk包。
mac新的系统版本自带了python。不过你也可以自己装个python,建议不要卸载原有的python。新安装的python会自动覆盖掉原有的python。
安装完python后,建议安装python的包管理工具pip。pip的使用非常方便。
其实这里http://www.nltk.org/install.html 详细的说明了mac安装nltk。
1. 安装Setuptool : http://pypi.python.org/pypi/setuptools
2. 安装Pip: 终端输入 sudo easy_install pip
3.安装python相关包 sudo pip install -U nltk
安装nltk前,需要安装pyyaml 。 sudo pip install -U nltk
最后import nltk如果不报错,恭喜你nltk安装成功了。
这里注意两个问题。也是折磨我一天的两点。
1.网上很多说sudo easy_install -m 包名 是卸载包的命令是错误的。 卸载包用 sudo pip uninstall 包名
2.按照上面说明安装好nltk后,nltk依然不能使用。必须要运行
import nltk
nltk.download()
下载所需的数据集。数据集比较大,也可以在网上下载下来放在系统的根目录下。mac放在User/home(你的用户名)/下。
最后运行nltk文档中的测试代码
>>> import nltk
>>> sentence = """At eight o'clock on Thursday morning
... Arthur didn't feel very good."""
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning',
'Arthur', 'did', "n't", 'feel', 'very', 'good', '.']
>>> tagged = nltk.pos_tag(tokens)
>>> tagged[0:6]
[('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'),
('Thursday', 'NNP'), ('morning', 'NN')]
>>> entities = nltk.chunk.ne_chunk(tagged)
>>> entities
Tree('S', [('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'),
('on', 'IN'), ('Thursday', 'NNP'), ('morning', 'NN'),
Tree('PERSON', [('Arthur', 'NNP')]),
('did', 'VBD'), ("n't", 'RB'), ('feel', 'VB'),
('very', 'RB'), ('good', 'JJ'), ('.', '.')])
>>> from nltk.corpus import treebank
>>> t = treebank.parsed_sents('wsj_0001.mrg')[0]
>>> t.draw()