• python自然语言处理——1.1语言计算:文本和词汇


    微信公众号:数据运营人
    本系列为博主的读书学习笔记,如需转载请注明出处。

    第一章 语言处理与python

    1.1 语言计算:文本和词汇python入门NLTK入门探索文本计数词汇

    1.1 语言计算:文本和词汇

    python入门

    下载安装路径:http://www.python.org,安装成功后可在python的IDLE中进行测试

    NLTK入门

    NLTK的官网:http://www.nltk.org/

    NLTK中模块及功能介绍:

    语言处理任务 NLTK模块 功能描述
    获取和处理语料库 nltk.corpus 语料库的词典的标准化接口
    字符串处理 nltk.tokennize,nltk.stem 分词句子分解提提取主干
    搭配发现 nltk.collocations t-检验,卡方,点互信息PMI
    词性标识符 nltk.tag n-gram,backoff,brill,EM,k-means
    分类 nltk.classify, nltk.cluster 决策树,最大熵,贝叶斯,EM,k-means
    分块 nltk.chunk 正则表达式, n-gram,命名实体
    解析 nltk.parse 图表,基于特征,一致性,概率,依赖
    语义解释 nltk.sem, nltk.inference λ演算,一阶逻辑,模型检验
    指标评测 nltk.metrics 精度,召回率,协议系数
    概率与估计 nltk.probability 频率分布,平滑概率分布
    应用 nltk.app, nltk.chat 图形化的关键词排序,分析器, WordNet查看器,聊天机器人
    语言学领域的工作 nltk.toolbox 处理 SIL工具箱格式的数据

    NLTK的安装:pip install nltk

    1# 下载nltk图书合集
    2import nltk
    3nltk.download()

    选择book所在的行,获取本书所有例子和练习需要的全部数据。


    从NLTK的book模块中加载所有的条目,book模块中包含本书中的所有数据。

    1from nltk.book import *  
    2text1
    3text2

    返回结果:

    探索文本

    # 查找text1文本中词monstrous出现的上下文
    # 查找text2文本中词affection出现的上下文
    # 查找text3文本中词lived出现的上下文

    1text1.concordance('monstrous')
    2text2.concordance('affection')
    3text3.concordance('lived')

    返回结果:



    # 查找在text1中,monstrous的近义词或出现在相似的上下文中的词
    # 查找在text2中,monstrous的近义词或出现在相似的上下文中的词

    1text1.similar('monstrous')
    2text2.similar('monstrous')

    返回结果:

    # 查找在text2中,同时出现monstrous和very的词的上下文中

    1text2.common_contexts(['monstrous','very'])

    返回结果:


    # 绘制在text4(美国总统就职演说)文本中,这五个词语citizens,democracy,freedom,duties,America随时间推移语言使用上的变化

    1text4.dispersion_plot(['citizens','democracy','freedom','duties','America'])
    计数词汇

    # 查看text3文本的长度
    # 对text3中的文本去重并进行排序
    # 对text3文本去重并计算长度

    1len(text3)
    2sorted(set(text3))
    3len(set(text3))

    返回结果:


    # 定义函数

    1# 文本中每个词的平均使用次数
    2def lexical_diversity(text):
    3    return len(text) / len(set(text))
    4# 文本中某个词的使用率(百分比)
    5def percentage(text,word):
    6    return 100*text.count(word)/len(text)

    返回结果:

  • 相关阅读:
    Java jni字符串转换
    Python读取PE文件(exe/dll)中的时间戳
    深度学习word embedding猜测性别初探
    闪存内容汇编(截止20170405)
    如何自动化安装字体(命令行批量)
    如何分析进程的内存占用问题
    Python print报ascii编码异常的靠谱解决办法
    Linux界面自动化测试框架不完全汇总
    Qt实现同步(阻塞式)http get等网络访问操作
    基于第三方开源库的OPC服务器开发指南(4)——后记:与另一个开源库opc workshop库相关的问题
  • 原文地址:https://www.cnblogs.com/ly803744/p/10004004.html
Copyright © 2020-2023  润新知