位置: 编程技术 - 正文

Python编程使用NLTK进行自然语言处理详解(python的nltk)

编辑:rootadmin

推荐整理分享Python编程使用NLTK进行自然语言处理详解(python的nltk),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python编程n!,python\n编程\t很,python\n\t,python\n编程\t很,python nltk,python\n\t,python nltk,python\n编程\t很,内容如对您有帮助,希望把文章链接给更多的朋友!

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。自然语言工具箱(NLTK,NaturalLanguageToolkit)是一个基于Python语言的类库,它也是当前最为流行的自然语言编程与开发工具。在进行自然语言处理研究和应用时,恰当利用NLTK中提供的函数可以大幅度地提高效率。本文就将通过一些实例来向读者介绍NLTK的使用。

NLTK

NaturalLanguageToolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。

NLTK是一个开源的项目,包含:Python模块,数据集和教程,用于NLP的研究和开发 。NLTK由Steven Bird和Edward Loper在宾夕法尼亚大学计算机和信息科学系开发。NLTK包括图形演示和示例数据。其提供的教程解释了工具包支持的语言处理任务背后的基本概念。

开发环境:我所使用的Python版本是最新的3.5.1,NLTK版本是3.2。Python的安装不在本文的讨论范围内,我们略去不表。你可以从NLTK的官网上 Launcher会弹出下面这个界面,建议你选择安装所有的Packages,以免去日后一而再、再而三的进行安装,也为你的后续开发提供一个稳定的环境。某些包的Status显示“out of date”,你可以不必理会,它基本不影响你的使用与开发。

既然你已经安装成功,我们来小试牛刀一下。当然本文涉及的主要任务都是自然语言处理中最常用,最基础的pre-processing过程,结合机器学习的高级应用我们会在后续文章中再进行介绍。

1、SentencesSegment(分句)

Python编程使用NLTK进行自然语言处理详解(python的nltk)

也就是说我们手头有一段文本,我们希望把它分成一个一个的句子。此时可以使用NLTK中的punktsentencesegmenter。来看示例代码

由此,我们便把一段话成功分句了。

2、SentencesSegment(分词)

接下来我们要把每个句话再切割成逐个单词。最简单的方法是使用NLTK包中的WordPuncttokenizer。来看示例代码

我们的分词任务仍然完成的很好。除了WordPunct tokenizer之外,NLTK中还提供有另外三个分词方法,TreebankWordTokenizer,PunktWordTokenizer和WhitespaceTokenizer,而且他们的用法与WordPunct tokenizer也类似。然而,显然我们并不满足于此。对于比较复杂的词型,WordPunct tokenizer往往并不胜任。此时我们需要借助正则表达式的强大能力来完成分词任务,此时我所使用的函数是regexp_tokenize()。来看下面这段话

目前市面上可以参考的在Python下进行自然语言处理的书籍是由Steven Bird、Ewan Klein、Edward Loper编写的《Python 自然语言处理》。但是该书的编写时间距今已有近十年的时间,由于软件包更新等语言,在新环境下进行开发时,书中的某些代码并不能很正常的运行。最后,我们举一个书中代码out of date的例子(对上面这就话进行分词),并给出相应的解决办法。首先来看书中的一段节录

我们预期得到输出应该是这样的

但是我们实际得到的输出却是这样的(注意我们所使用的NLTK版本)

会出现这样的问题是由于nltk.internals.compile_regexp_to_noncapturing()在V3.1版本的NLTK中已经被抛弃(尽管在更早的版本中它仍然可以运行),为此我们把之前定义的pattern稍作修改

再次执行前面的语句,便会得到

以上便是我们对NLTK这个自然语言处理工具包的初步探索,日后主页君将结合机器学习中的方法再来探讨一些更为深入的应用。最后,我想说《Python 自然语言处理》仍然是当前非常值得推荐的一本讲述利用NLTK和Python进行自然语言处理技术的非常值得推荐的书籍。

总结

标签: python的nltk

本文链接地址:https://www.jiuchutong.com/biancheng/372269.html 转载请保留说明!

上一篇:高质量Python代码编写的5个优化技巧(高效的python)

下一篇:python内置函数:lambda、map、filter简单介绍(python内置函数open()的参数用来指定打开文本文件)

  • 小微企业减半征收印花税代码
  • 个税汇算清缴系统找不到扣缴义务人
  • 税率开错了影响征税吗
  • 建筑施工企业涉税问题
  • 查账征收企业所得税年报怎么填
  • 出口未报关收到外汇怎样处理
  • 叉车上牌流程需要多少时间
  • 不动产折旧年限的规定
  • 一般纳税人销项税和进项税如何抵扣
  • 跨期差额扣除的计算开票以及账务处理
  • 收到土地使用权转让金会计分录
  • 单位月工资总额
  • 个人收到的国外短信
  • 公司组织游玩员招聘
  • 公司购买固定资产需要交印花税吗
  • 零税率购房发票
  • 软件开发票入研发费用哪个明细科目?
  • 企业应缴的教育费附加税是多少?
  • 劳务派遣劳务费发票怎么开
  • 五险一金缴税基数
  • 什么是差额费用
  • 免税个体户发票税率多少
  • 房地产企业预缴增值税及附加税
  • 版权使用费属于什么税目
  • 汇票贴息会计分录
  • 以银行存款缴纳企业所得税所引起的变动为
  • 发票金额大于实际支付金额如何报账
  • 电脑黑屏怎么办主机还是亮的
  • 广告公司文化事业费怎么交
  • win10系统通知中心在哪
  • mac电脑键盘进水,键盘不可以用了
  • php连接mysql数据库详细步骤(图文)
  • 电脑打字不显示文字选项
  • PHP:Memcached::flush()的用法_Memcached类
  • neoDVDstd.exe - neoDVDstd是什么进程 有什么用
  • php实现删除功能
  • php-xml
  • 信用卡收款怎么查询
  • 事业单位收到的罚款收入应纳入
  • 保险佣金个人所得税怎么申报
  • 文化事业建设费征收范围及计税依据
  • 电商每天利润表怎么做
  • javascript基础笔记
  • 织梦添加文章如何修改高级参数
  • 营改增后新纳入增值税征税范围的有
  • 预付卡账务处理在注会
  • 清算时实收资本需要做收入吗为什么
  • 往来款项属于
  • mysql数据库注入
  • 商业折扣影响主营业务成本吗
  • 增值税抵扣勾选最晚日期
  • 退货给谁
  • 对公可以转个人账户货款吗
  • 出口退税备案完事了,为什么还没有退税勾选那个模块
  • 什么叫零售差额退税
  • 手工发票可以抵进项税吗
  • 进项税额抵扣不完要做分录吗
  • Advanced Pagination for MySQL(mysql高级分页)
  • sql server中的权限包括哪三种类型
  • centos 空闲磁盘合并
  • 特俗字符
  • 苹果mac太卡
  • mac鼠标如何设置
  • win10老是弹提示
  • 系统干净启动
  • android面试题简书
  • 游戏开发unity3d
  • js动态生成页面
  • python程序员必读书籍
  • unity方法调用
  • 22号天蝎座的运势
  • javascript入门书
  • 新浪微博手机客户端下载
  • javascript构造函数创建对象
  • 党建阵地作用发挥不好
  • 山东济南税务局投诉电话
  • 合格的税务人
  • 增值税是要上交给国家的吗?
  • 福建省泉州市石狮市新服装城
  • 税收与税收管理的关系
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设