python自然语言处理入门教程(一)
来源:互联网 发布:mac怎么设置动态壁纸 编辑:程序博客网 时间:2024/05/29 00:34
1、NLTK自然语言处理工具包
1.1 NLTK简介
NLTK是构建Python程序与人类语言数据工作的主要平台。它提供了易于使用的界面,以超过50语料库和词汇资源,如WordNet的,连同一套文字处理库进行分类,标记化,词干,标记,分析和语义推理,和活跃的论坛。
得益于动手指南介绍编程基础在旁边计算语言学课题,NLTK适合语言学家,工程师,学生,教育工作者,研究人员和行业用户的一致好评。 NLTK可用于Windows,Mac OS X和Linux。最重要的是,NLTK是一个免费,开源,社区驱动的项目。
1.2 windows下NLTK环境搭建
1.2.1 python安装
官网:https://www.python.org/
选择 2.7x版本进行下载,不建议下载3.X版本,因为现在很多python代码库还是基于旧的版本编写的,所以不建议使用3.X版本。安装完成后,使用打开自带的IDLE,结果如下:
Note:
推荐编写python代码好用的IDE:pycharm,上手比较简单,文档较齐全
下载地址:http://www.jetbrains.com/pycharm/
附几个PyCharm4注册码:
name :newasp
=====LICENSE BEGIN =====
09086-12042010
00001EBwqd8wkmP2FM34Z05iXch1Ak
KI0bAod8jkIffywp2WalWZejIQ6AAu
AVVPbzHZpOvqvdJFHEBbvbXW2t1jQI
=====LICENSE END =====
name :newasp
=====LICENSE BEGIN =====
58877-12042010
00002h9ii68IdWfbdJz2UraWcsVxFY
!w1WD9cwRDMoW2pOUeC0WBqLAMo5PX
lQ7cE8qMukEYuWY6!EnjYWn!2EDTio
=====LICENSE END =====
name :newasp
=====LICENSE BEGIN =====
46753-12042010
000013xjAPHl95oQRCb"KnLsrXfWYa
L3aYClCOtBVysdtzBBPU5XCB3QUjLC
T1yMRB7YNC0d15A2cbwXTwXCwCjJEP
=====LICENSE END =====
name :newasp
=====LICENSE BEGIN =====
62458-12042010
00002r53OfrSCVqjsI0zdG5E4pMM5Z
dBAGbxVOX!OPwIkBqunfKf2zQDgECf
XrLosbjBEp!2JfFuydkblmqWPevvB0
===== LICENSE END =====
1.2.2 NLTK 安装
- 下载NLTK及安装
官方网站:http://www.nltk.org/ 下载网址:https://pypi.python.org/pypi/nltk
由于是在windows环境下安装nltk,选择:
下载完成后,正常安装,在python安装目录下的能找到相应的NLTK库,作者机器路径如下:
C:\Python27\Lib\site-packages\nltk
- 测试
安装完成后,进行测试:
- 下载NLTK数据源
输入import nltk如果没有出现异常,则表明nltk已经安装正确,但还需要下载相应的训练数据源,使用nltk.download()进行下载:
得到结果如图:
选择all,等待下载结束即可。
Note:
- 可能出现的问题:ImportError:No module named yaml
该问题是由于没有安装pyyaml,下载地址:http://pyyaml.org/download/pyyaml/PyYAML-3.10.win32-py2.7.exe
下载安装即可。
1.3 NLTK自带方法进行自然语言处理
1.3.1 NLTK进行分句
函数:
sent_tokenize(text,language='english')
参数:
text : 将要被分割的语句文本
language:Punkt分句程序指定模型名字,可忽略
返回值:
list类型:使用NTLK推荐分句程序得到的结果
示例:
1.3.2 NLTK进行分词
函数:
word_tokenize(text,language='english')
参数:
text:将要进行分词的句子文本
language:Punkt分词程序指定模型名字,可忽略
返回值:
list类型,使用NTLK推荐分词程序得到的结果
示例:
1.3.3 NLTK词性标注
函数:
pos_tag(tokens,tagset=None)
参数:
tokens:list(str)类型,将要被标注单词的序列
tagset:可忽略
返回值:
list(tuple(str,str)),进行词性标注后的结果
示例:
1.3.4 NLTK命名实体识别(NER)
函数:
ne_chunk(tagged_tokens,binary=False)
使用推荐的NER工具包进行处理,处理之前需要利用词性标注的结果
参数:
tagged_tokens:list(tuple(str,str)),NLTK进行词性标注的结果
binary:
返回值:
示例:
1.3.5 句法分析
nltk没有好的parser,推荐使用stanfordparser,但是nltk有很好的树类,该类用list实现。可以利用stanfordparser的输出构建一棵python的句法树。关于stanfordparser在第3章中有详细介绍。
Note:
- NLTK3.0官方文档 http://www.nltk.org/py-modindex.html
- python自然语言处理入门教程(一)
- python自然语言处理(一)
- Python 自然语言处理 一
- python自然语言处理-学习笔记(一)
- 《Python自然语言处理》学习笔记(一)
- 自然语言处理(一)
- Python自然语言处理-自然语言工具包(NLTK)
- 黄聪:Python+NLTK自然语言处理学习(一):
- Python+NLTK自然语言处理学习(一):环境搭建
- Python与自然语言处理(一)搭建环境
- Python 自然语言处理学习笔记(一)-- 软件安装需求
- python自然语言处理(一)NLTK初步使用
- 《Python进行自然语言处理》代码笔记(一):第一章示例
- Python+NLTK自然语言处理学习(一):环境搭建
- (初学者)用Python进行自然语言处理笔记一
- Python+NLTK自然语言处理学习(一):环境搭建
- Python自然语言处理(NLP)入门教程(NLTK库的安装和使用)
- Python+NLTK自然语言处理学习(一…
- 常见的面试问题及回答注意事项
- JavaScript 表单验证
- java 遍历泛型的方法
- FastDFS安装、配置、部署(三)-Storage配置详解
- iOS定位操作和经纬度距离计算
- python自然语言处理入门教程(一)
- [问题篇]VMWare搭建Openstack——Cinder创建扩展Volume的状态Error的问题
- python正则表达式
- 螺旋矩阵(算法)
- select,poll,epoll之间的区别
- 解决NSData中包含非法UTF-8编码
- 【贪心】【CTSC2007】【cogs1584】挂缀
- Android Studio启动显示Fetching Android SDK component information
- 设计模式(2): 生成器模式