准备工作
安装NLTK(Nutural language ToolKit)
pip install -i https://pypi.doubanio.com/simple nltk
进入python交换模式
import nltk
nltk.download('stopwords')
nltk.download('punkt')
新建NewsSummary1.py
from nltk.tokenize import sent_tokenize,word_tokenize
//nltk.tokenize是NLTK提供的分词工具.sent_tokenize是分段为句,word_tokenize是分句为词
from nltk.corpus import stopwords
//stopwords是一个列表包含英文中那些频繁出现的词,如am,is,are
from collections import defaultdict
//defaultdict是一个带有默认值的字典容器
from string import punctuation
//punctuation是一个包含了英文标点和符号的列表
from heapq import nlargest
//nlarges函数可以很快的求出一个容器中最大的n个数
思路解析
基本思想:拥有关键词最多的句子就是最重要的句子.把句子按照关键词数量的多少排序,取前n句,即可汇总成我们的摘要
所有工作可以分为如下步骤:
给文章中出现的单词按照算法计算除重要性
按照句子中单词的重要性算出句子的总分
按照句子的总分给文章中的每个句子排序
取出前n个句子作为摘要
词频统计
首先先统计除每个词在文章中出现的次数,在统计出次数知乎,我们可以知道次数最多的词的出现次数m,我