文本文档和HTML页面的自动摘要模块。
sum的Python项目详细描述
自动文本摘要生成器
从html中提取摘要的简单库和命令行实用程序 页面或纯文本。该包还包含简单的评估 文本摘要框架。实现的摘要方法:
- luhn-heurestic方法, reference
- edmundsonHeurestic方法与以前的统计研究, reference
- 潜在语义分析,lsa-来自 http://scholar.google.com/citations?user=0fTuW_YAAAAJ&hl=en一 认为作者现在使用的是更先进的算法。 Steinberger, J. a JeĹľek, K. Using latent semantic an and summary evaluation. In In Proceedings ISIM '04. 2004. S. 93-100.
- lexrank-受pagerank算法启发的无监督方法 以及命中率, reference
- textrank-无监督方法,也使用pagerank算法, reference
- sumbaic-方法,通常用作 文学。来源:Read about SumBasic
- kl sum-在摘要中贪婪地添加句子的方法 只要它能减小kl发散。来源:Read about KL-Sum
- reduction-基于图的摘要,其中句子显著性是 作为其边缘与其他句子的权重之和计算的。这个 两个句子之间的边的权重以相同的方式计算 作为textrank。
下面是一些其他摘要生成器:
- https://github.com/thavelick/summarize/-Python,tf(非常简单)
- Reduction-Python, text排名(简单)
- Open Text Summarizer-c、tf 无标准化
- Simple program that summarize text-Python,tf 无标准化
- Intro to Computational Linguistics-爪哇, 列克斯兰克
- Sumtract: Second project for UW LING 572-Python
- TextTeaser-scala
- PyTeaser-文本摘要端口 在python中
- Automatic Document Summarizer- Java,两部分点击(无来源)
- Pythia- python,lexrank¢roid
- SWING-红宝石
- Topic Networks-r, 主题模型和二部图
- Almus: Automatic Text Summarizer- Java、LSA(无源代码)
- Musutelsa-爪哇语,lsa (始终冻结)
- MEAD-perl,各种方法+ 评估框架
安装
确保有Python2.7/3.3+和 pip (Windows, Linux) 安装。简单运行(首选方式):
$ [sudo] pip install sumy
或者对于新版本:
$ [sudo] pip install git+git://github.com/miso-belica/sumy.git
用法
sumy包含用于快速摘要文档的命令行实用程序。
$ sumy lex-rank --length=10 --url=http://en.wikipedia.org/wiki/Automatic_summarization # what's summarization? $ sumy luhn --language=czech --url=http://www.zdrojak.cz/clanky/automaticke-zabezpeceni/ $ sumy edmundson --language=czech --length=3% --url=http://cs.wikipedia.org/wiki/Bitva_u_Lipan $ sumy --help # for more info
可以对某些摘要方法执行各种评估方法 通过下面的命令:
$ sumy_eval lex-rank reference_summary.txt --url=http://en.wikipedia.org/wiki/Automatic_summarization $ sumy_eval lsa reference_summary.txt --language=czech --url=http://www.zdrojak.cz/clanky/automaticke-zabezpeceni/ $ sumy_eval edmundson reference_summary.txt --language=czech --url=http://cs.wikipedia.org/wiki/Bitva_u_Lipan $ sumy_eval --help # for more info
python api
或者你可以像在项目中使用库一样使用sumy。使用下面的代码创建文件sumy_example.py
(don't name it ^{
# -*- coding: utf-8 -*-from__future__importabsolute_importfrom__future__importdivision,print_function,unicode_literalsfromsumy.parsers.htmlimportHtmlParserfromsumy.parsers.plaintextimportPlaintextParserfromsumy.nlp.tokenizersimportTokenizerfromsumy.summarizers.lsaimportLsaSummarizerasSummarizerfromsumy.nlp.stemmersimportStemmerfromsumy.utilsimportget_stop_wordsLANGUAGE="english"SENTENCES_COUNT=10if__name__=="__main__":url="https://en.wikipedia.org/wiki/Automatic_summarization"parser=HtmlParser.from_url(url,Tokenizer(LANGUAGE))# or for plain text files# parser = PlaintextParser.from_file("document.txt", Tokenizer(LANGUAGE))stemmer=Stemmer(LANGUAGE)summarizer=Summarizer(stemmer)summarizer.stop_words=get_stop_words(LANGUAGE)forsentenceinsummarizer(parser.document,SENTENCES_COUNT):print(sentence)