Python数据分析:NLTK

Python数据分析:NLTK

Natural Language Toolkit
  • nlp领域中最常用的一个Python库

  • 开源项目

  • 自带分类、分词等功能

  • 强大的社区支持

  • 语料库,语言的实际使用中真实出现过的语言材料

  • 语料库安装

    import nltk

    nltk.download()

语料库
  • nltk.corpus
分词(tokenize)
  • 将句子拆分成具有语言语义学上意义的词

  • 中英文分词区别

    • 英文单词之间是以空格作为自然分界符
    • 中文没有一个形式上的分界符,分词比英文复杂
  • 中文分词工具,jieba

  • 得到分词结果后,中英文的后续处理类似

特殊字符的分词
  • 使用正则表达式处理
词形问题
  • look,looked,looking
  • 影响预料学习的准确度
  • 词形归一化
词形归一化
  • stemming,词干提取,如将ing,ed去掉,只保留单词主干

  • lemmatization,词形归并,将单词的各种词形归并成一种形式,如am,is,are归并为be

  • NLTK中的stemmer

    • porterstemmer,snowballstemmer,lancasterstemmer
  • NLTK中的lemma

    • wordnetlemmatizer
  • 指定词性可以更准确的进行lemma

词性标注
  • NLTK中的词性标注 nltk.word_tokenize()

  • 停用词(stopwords)

    • 为节省存储空间和提高搜索效率,NLP会自动过滤掉某些字或词
    • 停用词都是人工输入、非自动化生成的,形成停用词表
  • 分类

    • 语言中的功能词
    • 使用广泛的词汇词
  • 中文停用词表

    • 中文停用词表
    • 哈工大停用词表
    • 四川大学机器智能实验室停用词库
    • 百度停用词库
  • 使用NLTK去除停用词 stopwords.words()

文本预处理流程:

在这里插入图片描述

import nltk
from nltk.corpus import brown # 需要下载brown语料库
# 引用布朗大学的语料库

# 查看语料库包含的类别
print(brown.categories())

运行:
在这里插入图片描述

# 查看brown语料库
print('共有{}个句子'.format(len(brown.sents()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sweeney Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值