《自然语言处理》- 第一章

1.基础概念和接口

import nltk
from nltk.book import *

#查看一下text的数据类型
type(text2)

可以看到book中把各种文章都打包到下面的类中了:

<class 'nltk.text.Text'>

那再看下此类的方法

dir(nltk.text.Text)
collocation_list
collocations
common_contexts
concordance
concordance_list
count
dispersion_plot
findall
generate
index
plot
readability 
similar
unicode_repr
vocab
text1.concordance("very") #实际就是找出包含very单词的句子
text2.similar("kind") #找出text2中与单词kind相似的词汇,测试了几次,
#发现是从词汇的属性(名词,形容词,副词等)和意思来做判断的,有时候会出现一些莫名其妙的词汇

text4.common_contexts('very') #也可以传入字符串数组

text2.dispersion_plot(['name','people']) #查看参数中的单词在文章中的分布

text3.generate() #这个接口在NLTK2.0中还可以使用,NLTK3.0后需要传入参数

 Text类是一个类似于列表的存在,可以使用操作列表的那套方法来操作Text类,例如:

len(text2)
set(text2)
text2.index('hate')
sorted(text4)

bigrams() 2.0版本返回一个元组列表,3.0是一个生成器

fdist = FreqDist(samples) #创建包含给定样本的频率分布
fdist.inc(sample) #增加样本
fdist['monstrous'] #计数给定样本出现的次数
fdist.freq('monstrous') #给定样本的频率
fdist.N() #样本总数
fdist.keys() #以频率递减顺序排序的样本链表
for sample in fdist: #以频率递减的顺序遍历样本
fdist.max() #数值最大的样本
fdist.tabulate() #绘制频率分布表
fdist.plot()# 绘制频率分布图

词意消歧:算出特定上下文中的词被赋予了哪个意思。

指代消解:确定代词或者名词短语指的是什么

语义角色标注:确定名词短语如何与动词相关联

猜你喜欢

转载自www.cnblogs.com/l00p/p/10867946.html