首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python自然语言处理:(一)语言处理与python

本文参考《python自然语言处理》。

本文主要介绍对于文字处理的基本操作以及自然语言处理领域的一些研究问题。

'''''''''

name:pikachu

keywords: python.nltk;python for nlp;

version:2.0

date:20181224

'''

'''调用nltk;下载nltk中的文本'''

importnltk

# nltk.download()

fromnltk.bookimport*

'''检索文章中的某个词'''

text1.concordance('monstrous')

'''与某词有相似的上下文的其他词'''

text1.similar('monstrous')

'''两个或两个以上的词的共同的上下文'''

text2.common_contexts('monstrous','very')

'''判断词在文本中的位置;竖线代表单词,行代表文本;可以用来研究随时间推移语言使用上的变化'''

text4.dispersion_plot(['citizens','democracy','freedom','duties','America'])

'''词汇表'''

word_list=sorted(set(text3))

print(word_list)

'''词汇表长度'''

list_len=len(word_list)

print(list_len)

'''词汇丰富度:每个字被平均使用了多少次'''

average_len=len(text3)/len(set(text3))

print(average_len)

'''计算某个词在文本中的百分比'''

percentage=100*text4.count('a')/len(text4)

'''计算频率分布,输出按频率排序的单词'''

fdist1=FreqDist(text1)

print(fdist1)

vocabulary1=fdist1.keys()

print(vocabulary1)

'''累计频率图'''

f_graph=fdist1.plot(50,cumulative=True)

'''选出超过特定长度的词'''

V=set(text1)

long_words=[wforwinViflen(w)>15]

print(sorted(long_words))

'''选出双连词'''

bi_words=text4.collocations()

print(bi_words)

'''过滤掉非字母元素'''

words=set([word.lower()forwordintext1ifword.isalpha()])

print(words)

图:随时间变化词的出现频率

NLP的一些研究问题/研究热点/研究难点:

1、词意消歧:某个词在特定语境中是什么意思?

2、指代消解:某个代词或者名词指的是什么?

3、自动生成语言:如自动问答和机器翻译。

附录:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181224G11UMU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券