NLTK笔记1

1、链表的连接

  • list1+list2
  • list1.append(“word”)

2、链表的索引

  • list[10]
  • list.index(“word”)//链表的第一个”word”的位置
  • list.count(“word”)

3、频率分布

  • fdist1 = FreqDist(text1)
  • dist= FreqDist(samples) 创建包含给定样本的频率分布
  • fdist.inc(sample) 增加样本
  • fdist[‘monstrous’] 计数给定样本出现的次数
  • fdist.freq(‘monstrous’) 给定样本的频率
  • fdist.N() 样本总数
  • fdist.keys() 以频率递减顺序排序的样本链表
  • forsample in fdist: 以频率递减的顺序遍历样本
  • fdist.max() 数值最大的样本
  • fdist.tabulate() 绘制频率分布表
  • fdist.plot() 绘制频率分布
  • dist.plot(cumulative=True) 绘制累积频率分布图
  • fdist1< fdist2 测试样本在 fdist1中出现的频率是否小于 fdist2

4、字符串操作

  • .startswith(t) 测试 s是否以t开头
  • s.endswith(t) 测试 s是否以t结尾
  • t in s 测试 s是否包含t
  • s.islower() 测试 s中所有字符是否都是小写字母
  • s.isupper() 测试 s中所有字符是否都是大写字母
  • s.isalpha() 测试 s中所有字符是否都是字母
  • s.isalnum() 测试 s中所有字符是否都是字母或数字
  • s.isdigit() 测试 s中所有字符是否都是数字
  • s.istitle() 测试 s是否首字母大写( s中所有的词都首字母大写

    5、for循环

  • sorted([item foritem in set(text6)if item.istitle()])

    6、语法规则

  • 所有的Python控制结构都以冒号结尾。冒号表示当前语句与后面的缩进块有关联

7、访问语料库

  • 古腾堡项目的语料库(http://www.gutenberg.org/
  • nltk.corpus.gutenberg.fileids()//返回所有的文件名标识符

    [ ‘austen-emma.txt’, ‘austen-persuasion.txt’, ‘austen-sense.txt’, ‘bible-kjv.txt’,

    ‘blake-poems.txt’, ‘bryant-stories.txt’, ‘burgess-busterbrown.txt’,

    ‘carroll-alice.txt’, ‘chesterton-ball.txt’, ‘chesterton-brown.txt’,

    ‘chesterton-thursday.txt’, ‘edgeworth-parents.txt’, ‘melville-moby_dick.txt’,

    ‘milton-paradise.txt’, ‘shakespeare-caesar.txt’, ‘shakespeare-hamlet.txt’,

    ‘shakespeare-macbeth.txt’, ‘whitman-leaves.txt’…]

  • emma = nltk.corpus.gutenberg.words(‘austen-emma.txt’)//这篇文件的具体内容
  • emma = gutenberg.raw(“austen-emma.txt”);#输出的是整个文章

note:这里是对nltk.corpus进行研究,之前的text是对nltk中的九个文本进行的研究,

例如用text1.concordance()命令对文本内容进行检索,这里如果想像这样对文本进行操作,

则emma = nltk.Text(nltk.corpus.gutenberg.words(‘austen-emma.txt’))

emma.concordance(“surprize”)

时间: 2024-09-29 00:44:44

NLTK笔记1的相关文章

NLTK笔记

加载自定义语料库: 1 from nltk.corpus import PlaintextCorpusReader 2 corpus_root = '/tmp' #路径 3 wordlists = PlaintextCorpusReader(corpus_root, '.*') #可以是a.txt 4 wordlists.fileids()

NLTK学习笔记(四):自然语言处理的一些算法研究

自然语言处理中算法设计有两大部分:分而治之 和 转化 思想.一个是将大问题简化为小问题,另一个是将问题抽象化,向向已知转化.前者的例子:归并排序:后者的例子:判断相邻元素是否相同(与排序). 这次总结的自然语言中常用的一些基本算法,算是入个门了. 递归 使用递归速度上会受影响,但是便于理解算法深层嵌套对象.而一些函数式编程语言会将尾递归优化为迭代. 如果要计算n个词有多少种组合方式?按照阶乘定义:n! = n*(n-1)*...*1 def func(wordlist): length = le

NLTK学习笔记(五):分类和标注词汇

[TOC] 词性标注器 之后的很多工作都需要标注完的词汇.nltk自带英文标注器pos_tag import nltk text = nltk.word_tokenize("And now for something compleyely difference") print(text) print(nltk.pos_tag(text)) 标注语料库 表示已经标注的标识符:nltk.tag.str2tuple('word/类型') text = "The/AT grand/J

NLTK学习笔记(二):文本、语料资源和WordNet汇总

[TOC] 语料库基本函数表 示例 描述 fileids() 语料库中的文件 fileids([categories]) 对应分类中的语料库文件 categories() 语料库的分类 categories([fileids]) 文件对应的语料库分类 raw(fileids=[f1,f2..],categories=[c1,c2...]) 对应文件和分类中原始内容.参数可以式空 words(fileids=[f1,f2..],categories=[c1,c2...]) 对应文件和分类的词汇.参

NLTK学习笔记(三):NLTK的一些工具

主要总结一下简单的工具:条件频率分布.正则表达式.词干提取器和归并器. 条件分布频率 <自然语言学习>很多地方都用到了条件分布频率,nltk提供了两种常用的接口:FreqDist 和 ConditionalFreqDist .后面很多都会用到这两种方法,特别是第二个.因为第二个更符合定义,会智能的找到条件.然后根据绘图的库,可以做出来很漂亮的图形. 简单的FreqDist 函数接收list类型的参数后,会自动创建字典,生成对应的值为键值,而value就是元素的次数. from nltk imp

NLTK读书笔记和实践问题记录

python版本3.4.2: 1.书上的例子是 from nltk.corpus import wordnet as wn wn.synset('car.n.01').lemma_names   #获得同义词集 wn.synset('car.n.01').definition    #获得定义 在3.4.2下执行得到输出: <bound method Synset.lemma_names of Synset('car.n.01')>和 <bound method Synset.defin

自然语言处理一些读书笔记和自己的思考。

在知乎上搜索相关问题,有人推荐<数学之美>,之前粗略看过一次,这次想重新看一下并且做个读书笔记.下面是关于自然语言理解方面的一些读书笔记和自己的思考. 一. 自然语言处理历史: 自然语言处理最初发展的20多年里,相关科学家都极力通过电脑模拟人脑,试图用这种方式来处理人类语言,但是这种方式被证明是行不通的,成功几乎为零.NLP发展的第二阶段是70年代之后,科学家们终于找到了基于数学模型和统计的方法. 第一阶段的时候,学术界对人工智能和自然语言理解的普遍认识是:要让机器完成翻译或者语音识别等等,必

自然语言处理(1)之NLTK与PYTHON

自然语言处理(1)之NLTK与PYTHON 题记: 由于现在的项目是搜索引擎,所以不由的对自然语言处理产生了好奇,再加上一直以来都想学Python,只是没有机会与时间.碰巧这几天在亚马逊上找书时发现了这本<Python自然语言处理>,瞬间觉得这对我同时入门自然语言处理与Python有很大的帮助.所以最近都会学习这本书,也写下这些笔记. 1. NLTK简述 NLTK模块及功能介绍 语言处理任务 NLTK模块 功能描述 获取语料库 nltk.corpus 语料库和词典的标准化接口 字符串处理 nl

笔记之Python网络数据采集

笔记之Python网络数据采集 非原创即采集 一念清净, 烈焰成池, 一念觉醒, 方登彼岸 网络数据采集, 无非就是写一个自动化程序向网络服务器请求数据, 再对数据进行解析, 提取需要的信息 通常, 有api可用, api会比写网络爬虫程序来获取数据更加方便. Part1 创建爬虫 Chapter1 初建网络爬虫 一旦你开始采集网络数据, 就会感受到浏览器为我们所做的所有细节, 它解释了所有的html, css, JavaScript 网络浏览器是一个非常有用的应用, 它创建信息的数据包, 发送