Python自然语言处理(1):初识NLP
Python自然语言处理(1):初识NLP
Python自然语言处理(1):初识NLP
自然语言处理(Natural Language Processing,NLP):计算机科学领域和人工智能领域中的一个重要方向。它研究实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及所有用计算机对自然语言进行的操作。
NLP的技术应用日益广泛。例如:收集和手持电脑对输入法联想提示和手写识别的支持;网络搜索引擎能够搜索到非结构化文本中的信息;机器翻译能把中文文本翻译成西班牙文。通过提供更自然的人机界面和获取存储信息的高级手段,语言处理正在这个多语种的信息社会中扮演着更核心的角色。
Python的安装
之前介绍过安装步骤,这里先略过。详情戳这里:Python学习总结之一--基础篇
NLTK的安装
NLTK:Natural Language Toolkit(自然语言工具包)。我们可以从http://www.nltk.org上免费下载符合自己操作系统的版本。下载完成后,跟着步骤直接安装 。

Python版本要求


然后我们在Python解释器里输入代码,下载我们后面学习时需要的数据。

首先,我们输入import nltk成功时就说明我们的nltk安装成功。但是很遗憾,这TM是个问题啊,自己下午搞了很久,下载了好几次都没有成功,我也不知道是怎么回事,网上查找到了一些资源,大家可以在这个博客里找到下载数据的地方。然后自行解压corpora文件里的压缩文件即可。

当你输入代码可以出现上图所示的text1到text9内容的时候,说明你的nltk_data下载成功。
http://www.nltk.org/
https://pypi.python.org/pypi/setuptools
http://www.nltk.org/data.html
NLTK是Python很强大的第三方库,可以很方便的完成很多自然语言处理(NLP)的任务,包括分词、词性标注、命名实体识别(NER)及句法分析。
NLTK安装教程:www.pythontip.com/blog/post/10011/
下面介绍如何利用NLTK快速完成NLP基本任务
一、NLTK进行分词
用到的函数:
nltk.sent_tokenize(text) #对文本按照句子进行分割
nltk.word_tokenize(sent) #对句子进行分词

二、NLTK进行词性标注
用到的函数:
nltk.pos_tag(tokens)#tokens是句子分词后的结果,同样是句子级的标注

三、NLTK进行命名实体识别(NER)
用到的函数:
nltk.ne_chunk(tags)#tags是句子词性标注后的结果,同样是句子级

上例中,有两个命名实体,一个是Xi,这个应该是PER,被错误识别为GPE了; 另一个事China,被正确识别为GPE。
四、句法分析

Python自然语言处理(1):初识NLP的更多相关文章
- 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码
自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- 《Python自然语言处理》
<Python自然语言处理> 基本信息 作者: (美)Steven Bird Ewan Klein Edward Loper 出版社:人民邮电出版社 ISBN:97871153 ...
- 转-Python自然语言处理入门
Python自然语言处理入门 原文链接:http://python.jobbole.com/85094/ 分享到:20 本文由 伯乐在线 - Ree Ray 翻译,renlytime 校稿.未经许 ...
- 《Python自然语言处理》中文版-纠错【更新中。。。】
最近在看<Python自然语言处理>中文版这本书,可能由于是从py2.x到py3.x,加上nltk的更新的原因,或者作者的一些笔误,在书中很多代码都运行不能通过,下面我就整理一下一点有问题 ...
- Python 自然语言处理笔记(一)
一. NLTK的几个常用函数 1. Concordance 实例如下: >>> text1.concordance("monstrous") Displaying ...
- NLP1 —— Python自然语言处理环境搭建
最近开始研究自然语言处理了,所以准备好好学习一下,就跟着<Python自然语言处理>这本书,边学边整理吧 安装 Mac里面自带了python2.7,所以直接安装nltk就可以了. 默认执行 ...
- 孤荷凌寒自学python第三十八天初识python的线程控制
孤荷凌寒自学python第三十八天初识python的线程控制 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.线程 在操作系统中存在着很多的可执行的应用程序,每个应用程序启动后,就可以看 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
随机推荐
- 这才是官方的tapable中文文档
起因 搜索引擎搜索tapable中文文档,你会看见各种翻译,点进去一看,确实是官方的文档翻译过来的,但是webpack的文档确实还有很多需要改进的地方,既然是开源的为什么不去github上的tapab ...
- Block作为参数时的使用
Block作为参数使用,常见于各框架之中,比如在封装一个类时,当做什么事情由外界去决定,什么时候调用由自己的类决定时,这时候就需要将block作为参数使用. 下面我们模仿AFNetworking的ma ...
- 使用 v-cloak 防止页面加载时出现 vue.js 的变量名
知识点:使用 v-cloak 防止页面加载时出现 vue.js 的变量名 场景:在使用vue语法,实现下拉框功能时,展示数据列表之前,出现对应的 vuejs 变量名 代码: var vm = new ...
- UVa 11609 组队(快速幂)
https://vjudge.net/problem/UVA-11609 题意: 有n个人,选一个或多个人参加比赛,其中一名当队长,有多少种方案?如果参赛者完全相同,但队长不同,算作不同的方案. 思路 ...
- 2016"百度之星" - 初赛(Astar Round2A) 1006 Gym Class 拓扑排序
Gym Class Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem ...
- python 日期的减法
from datetime import date a = date(,,) b = date(,,) print(b-a)
- python 字典获取最大和最小的value
my_dict = {, , } key_max = max(my_dict.keys(), key=(lambda k: my_dict[k])) key_min = min(my_dict.key ...
- 如何高效利用 GitHub
正是 Github,让社会化编程成为现实.本文尝试谈谈 GitHub 的文化.技巧与影响. Q1:GitHub 是什么 Q2:GitHub 风格 Q3: 在 GitHub,如何跟牛人学习 Q4: 享受 ...
- 039——VUE中组件之子组件中data使用实例与text-xtemplate的使用方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【转】powerdesigner 数据类型与数据库数据类型对应
The following numeric data types are available: Standard data type DBMS-specific physical data type ...