NLTK获取文章摘要代码示例

import sys
import nltk
from sklearn.feature_extraction.text import TfidfVectorizer


# 获取文章摘要
# 一旦有了no_of_nouns和no_of_ners分数的列表,就可以利用这些分数,创建更复杂的规则。
# 例如,一个典型的新闻报道将从相关话题的重要细节开始,最后一句话是整个故事的总结
f = open('nyt.txt', 'r')
news_contents = f.read()
result = []
# 句子标记解析
for sent_no, sentence in enumerate(nltk.sent_tokenize(news_contents)):
    no_tokens_of = len(nltk.word_tokenize(sentence))  # 单词标记解析
    tagged = nltk.pos_tag(nltk.word_tokenize(sentence))  # 词性标注
    no_of_nouns = len([word for word, pos in tagged if pos in ['NN', 'NNP']])  # 获取所有名词
    ners = nltk.ne_chunk(nltk.pos_tag(nltk.word_tokenize(sentence)), binary=False)  # 命名实体识别
    no_of_ners = len([chunk for chunk in ners if hasattr(chunk, 'label')])
    score = (no_of_ners + no_of_nouns)/float(no_tokens_of)
    result.append((sent_no, no_tokens_of, no_of_ners, no_of_nouns, 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值