python自然语言处理2

词性标注

import nltk
from nltk import word_tokenize
s='I was watching TV'
print(nltk.pos_tag(word_tokenize(s)))

在这里插入图片描述

斯坦福标注器

from nltk.tag.stanford import StanfordPOSTagger
import nltk
stan_tagger=StanfordPOSTagger('models/english-bidirectional-distdim.tagger','standford-postagger.jar')
tokens=nltk.word_tokenize(s)
print(stan_tagger.tag(tokens))

深入了解标注器

from nltk.corpus import brown
import nltk
tags=[tag for (word,tag) in brown.tagged_words(categories='news')]
print(nltk.FreqDist(tags))
brown_tagged_sents=brown.tagged_sents(categories='news')
default_tagger=nltk.DefaultTagger('NN')
print(default_tagger.evaluate(brown_tagged_sents))

N元标注器

from nltk.corpus import brown
import nltk
tags=[tag for (word,tag) in brown.tagged_words(categories='news')]
print(nltk.FreqDist(tags))
brown_tagged_sents=brown.tagged_sents(categories='news')
default_tagger=nltk.DefaultTagger('NN')
# print(default_tagger.evaluate(brown_tagged_sents))

from nltk.tag import UnigramTagger,DefaultTagger,BigramTagger,TrigramTagger
train_data=brown_tagged_sents[:int(len(brown_tagged_sents)*0.9)]
test_data=brown_tagged_sents[int(len(brown_tagged_sents)*0.9):]
unigram_tagger=UnigramTagger(train_data,backoff=default_tagger)
print(unigram_tagger.evaluate(test_data))
bigram_tagger=BigramTagger(train_data,backoff=unigram_tagger)
print(bigram_tagger.evaluate(test_data))
trigram_tagger=TrigramTagger(train_data,backoff=bigram_tagger)
print(trigram_tagger.evaluate(test_data))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值