这个教程里我们只需要调库,不需要了解原理,很简单的

参考文章:
参考:Python NLTK 自然语言处理入门与例程
参考1:NLP入门学习1——分词、词性标注 - CSDN博客
参考2:使用nltk进行分词、词性标注、词性提取 - 知乎

介绍和安装:

可以直接下这个压缩包
文章代码下载:蓝奏云链接

NLTK是最受欢迎的英文自然语言处理库

其包含了两部分,pip里带有的库,和它另外要下载的扩展库(大概700M)
首先我们要用python官方安装器pip安装ntkl库,并用ntkl的函数安装它的扩展库
新建一个download.py文件,输入运行以下代码

try:import nltk
except ImportError: # 尝试导入nltk库,如果没有则系统运行pip安装import osos.system('pip install nltk')import nltknltk.download() # nltk自己的download程序

在弹出来的窗口中点击download下载安装

注意:如果提示“由于目标计算机积极拒绝”,下载出错

这是因为nltk的扩展库下载源来自github,网络被墙了
需要自己想办法,或使用我的压缩包里包含的steamcommunity_302软件绕过github服务器

打开包里“绕过github服务器的软件(如果下载出错”文件夹,点开程序,点击“设置” - 打勾“Github访问”,保存设置
再点启动服务

代码:

这里我们先导入库,并自定义一段自己的英文文本

# coding: utf-8
# NLTK是最受欢迎的自然语言处理库
import nltk# 自然语言处理
# 使用的文本
text = "Hello Mr. Adam, how are you? I hope everything is going well. Today is a good day, see you dude."

分词

直接调用NLTK的自带分函数

words = nltk.word_tokenize(text) # 单词分词
# print(words) # 也可以直接这样输出
print("words:" + str(words)) # 字符串+转换成字符串的变量

输出效果:
words:[‘Hello’, ‘Mr.’, ‘Adam’, ‘,’, ‘how’, ‘are’, ‘you’, ‘?’, ‘I’, ‘hope’, ‘everything’, ‘is’, ‘going’, ‘well’, ‘.’, ‘Today’, ‘is’, ‘a’, ‘good’, ‘day’, ‘,’, ‘see’, ‘you’, ‘dude’, ‘.’]

可以看到每个单词都被分开了

词性标注

tags = nltk.pos_tag(words) # 对单个字符进行标注
print("tags:" + str(tags))

输出效果:
tags:[(‘Hello’, ‘NNP’), (‘Mr.’, ‘NNP’), (‘Adam’, ‘NNP’), (‘,’, ‘,’), (‘how’, ‘WRB’), (‘are’, ‘VBP’), (‘you’, ‘PRP’), (‘?’, ‘.’), (‘I’, ‘PRP’), (‘hope’, ‘VBP’), (‘everything’, ‘NN’), (‘is’, ‘VBZ’), (‘going’, ‘VBG’), (‘well’, ‘RB’), (‘.’, ‘.’), (‘Today’, ‘NN’), (‘is’, ‘VBZ’), (‘a’, ‘DT’), (‘good’, ‘JJ’), (‘day’, ‘NN’), (‘,’, ‘,’), (‘see’, ‘VBP’), (‘you’, ‘PRP’), (‘dude’, ‘VBP’), (‘.’, ‘.’)]

每个单词后面跟着它的词性,词性表可以参考:

提取名词

例:(‘day’, ‘NN’)
↑在列表里判断后一个变量是否为’NN’或’NNP’

NN表示普通名词,NNP表示专有名词

并输出(单词,词性)

NN = [(s1,s2) for (s1,s2) in tags if s2 in ['NN', 'NNP']]
#对list列表的tags的两个变量进行判断(s1代表第一个变量,s2代表第二个变量)
#提取出tags的NN和NNP单词。NN表示普通名词,NNP表示专有名词
print("N:" + str(NN))

输出效果:

N:[(‘Hello’, ‘NNP’), (‘Mr.’, ‘NNP’), (‘Adam’, ‘NNP’), (‘everything’, ‘NN’), (‘Today’, ‘NN’), (‘day’, ‘NN’)]

或:
只输出第一个变量(单词)

NN = [s1 for (s1,s2) in tags if s2 in ['NN', 'NNP']]
#对list列表的tags的两个变量进行判断(s1代表第一个变量,s2代表第二个变量)
#提取出tags的NN和NNP单词。NN表示普通名词,NNP表示专有名词
print("N:" + str(NN))

输出效果:
N:[‘Hello’, ‘Mr.’, ‘Adam’, ‘everything’, ‘Today’, ‘day’]

教程结束
谢谢阅读!
本文章所有的代码都放在开头了

python语言处理初探——分词、词性标注、提取名词相关推荐

  1. python提取高频词_cygwin下用Python+jieba给文本分词并提取高频词

    本文信息本文由方法SEO顾问发表于2015-05-3023:05:55,共 2000 字,转载请注明:cygwin下用Python+jieba给文本分词并提取高频词_[方法SEO顾问],如果我网站的文 ...

  2. 利用百度身份证识别服务和python语言实现身份证信息的提取和保存

    闲来无事,鉴于日常录入身份证等信息枯燥乏味,效率底下.因而试做一个自动提取身份证信息的代码.素材:拍照获得身份证的正面,剪裁图片尺寸在500*400像素左右. 代码包括:token获取和身份证信息提取 ...

  3. python语言入门r_小结:jieba分词的Python与R语言基础用法介绍

    当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 人们说话不是一个词一个词崩出来的,文章也就由句子组成.要想让机器识别美文,体会中华名族汉语的博大精深,不是不可能.但是,首先需要将其转化成其 ...

  4. python :中英文文本预处理(包含去标点分词词干提取)

    python :中英文文本预处理(包含去标点/分词/词干提取) 在做文本分析之前,一般我们都需要进行文本的预处理.这一步其实和做数据时的数据清洗非常的相像.在对文本进行清洗的时候,我们需要分成中文和英 ...

  5. NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet)、基于词汇层面的词法分析六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/拼写校正)的简介及其应用

    NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet).基于词汇层面的词法分析(Lexical Analysis)六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/ ...

  6. python语言Camelot库: 人类的 PDF 表提取

    python语言Camelot库: 人类的 PDF 表提取 一.介绍 官方介绍Camelot是一个 Python 库,可以帮助您从 PDF 中提取表格!需注意的是Camelot 仅适用于基于文本的 P ...

  7. SRTM数据提取(使用Python语言)

    SRTM数据处理(使用Python语言) 背景 笔者在做GIS相关研究的期间,需要从SRTM数据中提取高程值(数据后缀为.hgt),在经过漫长的网络检索过程后,从https://librenepal. ...

  8. python语言是非跨平台语言_Python语言初探【转载】

    什么是Python? Python是一种即译式的,互动的,面向对象的编程语言,它包含了模组式的操作,异常处理,动态资料形态,十分高层次的动态资料结构,以及类别的使用.Python揉合了简单的语法和强大 ...

  9. python语言中文社区-python语言中文

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 为了得到一个可以正常返回的 url ,需要修改示例中的 secretid ...

最新文章

  1. windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题
  2. oracle从备份归档日志的方法集中回收
  3. java 什么是servlet_JavaWeb解释一下什么是 servlet?
  4. 三面美团Java岗,尚学堂java马士兵全套
  5. python3.4安装matplotlib_在python3.7下怎么安装matplotlib
  6. centos 6.5配置apache php mysql_centos6.7下搭配apache php mysql环境
  7. 前端制作动画的几种方式(css3,js)
  8. 快捷方便的对js文件进行语法检查。
  9. C-order/Fortran-order(Row-/Column-major order)
  10. 秒懂C#通过Emit动态生成代码
  11. 《老罗Android开发视频教程》
  12. 计算机自动关机命令,电脑自动关机命令是什么?你都知道吗?
  13. Zabbix3.2.9使用Mojo-Webqq 实现QQ群消息实现告警
  14. 手机文件夹为什么是英文?哪些可以删除?看完清理能多出10G内存
  15. STM32单片机基础(理论概念知识)
  16. P2921 [USACO08DEC]在农场万圣节
  17. 简单的poc以及exp编写(入门篇)
  18. loss 加权_样本生而不等——聊聊那些对训练数据加权的方法
  19. 通过运营界面上传图片失败,浏览器提示上传文件时发生HTTP错误(错误代码:500)
  20. ST17H66 低功耗蓝牙SOC开发(3)—— OSAL系统简介

热门文章

  1. mc启动器没有找到java运行_我的世界无法启动游戏解决办法
  2. orcale_proceduie_function_两三栗
  3. 马里奥大逃亡html5 制作,玩家用HTML5打造《马里奥大陆》
  4. Mysql中 delect 、truncate、drop 的区别
  5. C# .NetCore知识点
  6. JMS规范和AMQP协议
  7. mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
  8. jor(1):简表(JOR)开源的报表工具调研
  9. that在定语从句和宾语从句中的省略
  10. 以太坊:普通人的电子纹身