• NLTK入门


    首先要了解python的基本语法,

      其中列表的处理,字符串的格式化,以及词汇的比较运算(包括判断某一个词语开头是否大小写等)

    专有名词:

      1. 分词:用于产生词汇和标点符号的链表

    安装完NlLTK后,

      import nltk

      nltk.download()  

    计算text1中每个词的平均出现次数公式:

      avg = len(text1)/len(set(text1))

    计算text1中某个词的出现频率

      p = text1.count('a')/len(text1)

    import nltk
    from nltk.book import *    #所有的文本数据导入,(text1 ~text9)
    
    nltk.download() #下载所需的训练文本数据
    text1.concordance('monstrous')    #查找text1文本中存在monstrous的
    text1.count('word')   #计算word在text1中出现的次数
    text1.silimar('monstrous') text1.common_contexts(['monstrous', 'very']) #查看使用两个或者两个以上词语的上下文 text1.dispersion_plot(['word1', 'word2', 'word3', ...]) #画出这些词语分布的离散图 text1.generate() #生成text1中的随机文本 fdist1 = FreqDist(text1) #可以用来寻找text1中最常见的词 fdist1.key()[:50] fdist = FreqDist([len(w) for x in text1]) #FreqDist不仅可以显示词,还可以显示没个词对应的长度,【1, 3,5,6,11,5,9,......】 fdist.keys() # 查询计数链表中的每个数字出现的次数,以频率递减顺序的样本链表 fdist.items() #[(3,50223), (9,988), ...] 词长度为3的有50223个 fdist[3] #查看词长为3的有多少个, fdist.fred(3) #计算词长为3的词频。
    fdist.fred['a']  #计算a的出现频率
    fdist.hapaxes()   #查看只出现一次的词
    fdist.inc(sample)  #增加样本
    fdist['a']  #计算给定样本出现的次数
    fdist.N{}  #样本总数
    fdist.tabulate()  #绘制频率分布表
    fdist.plot()  #绘制频率分布图
    fdist.plot(cumulative=True)  #绘制累积频率分布图
    fdist1 < fdist2  #测试数据fdist1是否小于fdist2

    2.处理网页中获取的文本内容

    from urllib.request import urlopen
    url = "www.xxxx.com/a.txt"
    raw = urlopen(url).read() # raw是从某url获取的文本
    tokens = nltk.word_tokenize(raw)    #此时tokens为含有词汇和标点的链表
    text = nltk.Text(tokens) #text为<type. 'nltk.text.Text'> 对象
    text.collocations()   #找文本中频繁相邻的二元组
    a = raw.find('PART I')  # 找到文中以 PART I 开头的词语在哪一个位置
    b = raw.rfind('where are you')  #找到以wehere are you 结尾的位置在哪个位置,
    raw = raw[a:b]  #可以根据此方式去除不需要的开头和结尾的文本内容

    3. 处理html 网络的文本大部分是以html的形式,可以用一下方式进行简单的处理

    url = 'www.youtube.com'
    html = urlopen(url).read()   #html包含了网址中的所有内容,css,jss,html代码等
    raw = nltk.clean_html(html)    #nltk 中提供的处理html的辅助函数。返回处理后的原始文本 ,然后可以对raw进行word_tokenize()分词处理
  • 相关阅读:
    尽量采用as操作符而不是旧式C风格做强制类型转换
    尽量使用条件属性(Conditional Attribute)而不是#if/#endif预处理
    C#跟踪和调试程序-Debug类使用
    C#使用ConditionalAttribute特性来实现代码调试
    微软认知服务:QnA Maker使用示例
    PHP使用微软认知服务Face API
    微软认知服务识别名人和地标
    基于apache httpclient 调用Face++ API
    认知服务调用如何使用图片的DataURL
    Microsoft Azure Storage Exployer使用指南
  • 原文地址:https://www.cnblogs.com/bianjing/p/9979552.html
Copyright © 2020-2023  润新知