英語單文檔自動摘要php
(1)針對單文檔的自動摘要包java
英語的單文檔摘要目前在國內外已至關成熟,所以在網上可找到許多相關的文檔和源代碼包等。python
用於從HTML頁面或純文本提取自動摘要的簡單庫和命令行實用程序。 該軟件包還包含用於文本摘要的簡單評估框架。包括:linux
這裏有一些其餘摘要:git
詳情見網址https://pypi.python.org/pypi/sumy。sumy在python中還有API可調用。github
此外,有關sumy的源代碼也可在https://github.com/miso-belica/sumy上找到。web
11種最好的開源自動摘要工具包,詳情請見http://www.findbestopensource.com/tagged/summarization。該網站提供了11種最好的開源自動摘要工具包,分別有TextTeaser、Fast-summarizer、Bubble-summarization、Pivotquery、Auto-summarization、Icsisumm、Acrs、Alpha-sum、Unbproteus、Textsum-spring11、Socialskip.
算法
英語多文檔自動摘要spring
(1)針對多文檔的自動摘要包app
北大萬小軍老師課題組推出文檔自動摘要小工具PKUSUMSUM,集成多種無監督摘要提取算法,支持多種摘要任務與多種語言,採用Java編寫,代碼徹底開源。說明文檔可見http://www.icst.pku.edu.cn/lcwm/wanxj/pkusumsum.htm。此外,該工具包源碼也可在github(https://github.com/PKULCWM/PKUSUMSUM)上找到。其包含的算法有:
Method | Single-document summarization | Multi-document summarization | Topic-based Multi-document summarization |
---|---|---|---|
Coverage | - | Yes | Yes |
Lead | Yes | Yes | Yes |
Centroid [1] | Yes | Yes | Yes |
TextRank [2] | Yes | Yes | - |
LexPageRank[3] | Yes | Yes | - |
ILP [4] | Yes | Yes | - |
Submodular1 [5] | Yes | Yes | - |
Submodular2 [6] | Yes | Yes | - |
ClusterCMRW[7] | - | Yes | - |
ManifoldRank[8] | - | - | Yes |
因項目須要,本人及其項目組成員用java改寫的代碼也即將上傳到github上,網址稍後會公佈。(傳懋負責)
2. Sumbasic算法(python語言,2005年)
相關代碼見https://github.com/hardik-vala/sum-basic。
在該份代碼中,SumBasic有三種算法版本:
(1)leading版本:經過在第一個文檔中引用句子來總結文檔,直到達到字限制。
(2)original版本:使用原始SUMBASIC算法彙總文檔。原始SUMBASIC算法描述以下:
SumBasic算法是由Nenkova和Vanderwende於2005年提出的基於詞頻的多文檔抽取式文摘方法[1].他們認爲文檔集合中非停用詞的相對頻率能夠較爲準確地反映該詞是否出如今專家文摘中.在SumBasic算法中每一個句子S都賦予一個反映它所包含的詞頻的權值:
.(1)
式中:爲一元機率觀察值,使用最大似然估計計算時近似等於該詞在語料庫中出現次數佔總詞數的比例.
根據式(1)計算句子的分值,並按分值將句子由高到低添加到文摘中,直到達到限制的文摘字數,由該方法獲得的模型記爲Unigram.在SumBasic算法中已經選爲文摘的句子中單詞的機率變爲原機率的平方:,即選中單詞的機率逐漸變小,從而下降文摘的冗餘度.雖然SumBasic算法的思想很是簡單,但取得了不錯的效果[2].
(3)simplified版本:簡化的SUMBASIC算法,它保持字數不變,不包含非冗餘更新。
引用文獻:
[1] NENKOVA A, VANDERWENDE L.The impact of frequency on summarization:MSR-TR-2005-101[ R] .Redmond, USA:MicrosoftResearch, 2005
[2]Haghighi A, Vanderwende L. Exploring content models for multi-document summarization[C]// Human Language Technologies: the 2009 Conference of the North American Chapter of the Association for Computational Linguistics. Association for Computational Linguistics, 2009:362-370.