伯克利文档摘要是一种基于学习的单一文件umileimarization系统。它基于ConstraintSfrom构造解析和RST话语解析压缩源文档文本。此外,它可以通过重新表入代词来提高澄清,其否则其否则脱饰或不清楚。
注意:如果您所有人' revers in感兴趣的是纽约时报dataSet,您无需执行以下大部分设置和预处理。相反,使用预构建的.jar并在"纽约时报数据集&#34中运行命令; &#34下的部分;培训"下面。
"基于学习的单一文件摘要,压缩和视力子限制" Greg Durritt,Taylor Berg-Kirkpatrick和Dan Klein。 ACL 2016。
该程序是免费软件:您可以根据自由软件基础,许可证版本3的版本,或(在您的选项中)的任何更介绍版本的GNU通用公共许可证下重新分配它和/或修改。
该计划的分配希望它将是有用的,但没有任何保修;甚至没有默示的威胁或适合特定目的的保证。有关更多详细信息,请参阅GNU通用公共许可证。
您应该收到GNU通用公共Licensealong的副本,并使用此程序。如果没有,请参阅http://www.gnu.org/licenses/
由于其尺寸大,模型不包括在Github中。从http://nlp.cs.berkeley.edu/projects/summarizer.shtml下载Nothounmodels。培训系统(您需要EDU分段器,话语程序和Coreference Model)以及运行它(您需要EDU分段器,话语解析器和包含Coreference Model的摘要模型)。其中的所有是预期在模型/子目录中。
我们还需要Shane Bergsma和Dekang Lin在&#34中的数量和性别数据传递;引导路径的代词分辨率" .dowload这,Untar / gzip它,并将其放在Data / gender.data(默认路径) systemexpects它在)。
对于求解ILPS,我们的系统依赖于GLPK,特别是GLPK for Java.对于OS X,最简单的方法是安装GLPK的方法。在Linux上,您应该运行sudo apt-get install glpk-utils libglpk-dev libglpk-java。
libglpk-java和java本机界面(JNI)库都需要在inyour java library路径中(见下面的方法);这些库allowjava与本机GLPK代码交互。此外,在运行中文时,必须在构建路径上具有GLPK-Java-1.1.0.jar;这是在lib目录中包含的,并与分布式jar捆绑在一起,如果使用SBT构建,将自动包含。
您可以测试系统是否可以使用Run -Glpk-test.sh成功调用GLPK,这试图解决在edu.berkeley.nlp.summ.glpktest中定义的小ILP。脚本尝试使用/ usr / local / lib / jni增强动路径,其中有时是jnilibrary位于OS X上的位置。如果此脚本报告错误,则可能需要ToAugment java库路径与其中的位置JNI或Thelibglpk_java库如下:
您还可以将其导入Eclipse并使用Scala IDE插件用于Eclipse http://scala-ide.org
两个最有用的主类是edu.berkeley.nlp.summ.main和edu.berkeley.nlp.summ.summarizer。前者是一个涉及的培训和评估纽约时报语料库的系统(见Wepsfor如何获取这个语料库),后者只需培训培训的型号而且运行它。这两个文件都包含其功能和命令线性化的描述。
在Run -summarizer.sh中包含在新数据上运行的示例。在新数据上运行摘要的主要标准是将数据预处理与选区解析,ner和coreference的conll格式。对于一个系统,请参阅伯克利实体解析系统。测试/目录已包含一些此类文件。
然后摘要与EDU分段和话语解析进行了额外的处理。这些使用默认默认的模型/ edusegmenter.ser.gz和models / discoursedep.ser.gz。您可以使用命令行交换机控制这些。
Summarizer-full.ser.gz:一种带来的压缩摘要,具有重写代词的能力和附加的刻录功能和约束
我们用于培训和评估的主要语料库是纽约时报注释语料库(Sandhaus,2007),LDC2008T19。我们将预处理作为宿舍注释分发,除了用于手动拒绝单词的某些情况(例如,当授权使我们的数据不可恢复的单词,除了某些情况之外,除了有(Line,Char Start,Char End End End End End)Triples。一些分散的令牌是明确的,加上大约1%的文件,我们的系统无法找到合适的对齐。
要准备数据集,请首先需要从2003-2007的所有XML文件中提取到一个目录中的所有XML文件。并非所有文件都有摘要,所以并非所有这些都将使用。接下来,运行
这将采用列车旁路注释文件并使用XML数据重建真实文件,写入输出目录。使用EVAL而不是TRIAINTO重建测试集。
java -xmx3g -cp< jarpath> edu.berkeley.nlp.summ.preprocess.standofOnotationHandler \ -Inputdir train_abstracts_standoff / -rawxmldir< path_to_flattene_nyt_xmls> -outputdir train_abstracts / \ \ -tagname"摘要"
我们将系统与胭脂发射器的版本捆绑在一起。 Rouge-gillick.sh Hardcodes在此工作中使用的命令行参数和Hirao等人。 (2013)'工作。该系统期望在执行目录中的胭脂/胭脂/目录下,以及适当的数据文件(我们与此版本中的ve Alsobundled)。
请参阅edu.berkeley.nlp.summ.rougecomputer.evaluaterougenontok您可以使用与我们的评估一致的方式评估胭脂的方法。 java -xmx80g -cp< jarpath> -djava.library.path =<库路径>:/ usr / local / lib / jni edu.berkeley.nlp.summ.main \ -traindocspath< path_to_train_conll_docs> -trainabstractspath< path_to_train_summaries> \ -evaldocspath< path_to_eval_conll_docs> -evalabstractspath< path_to_eval_summaries> -abstractsareconll \ -modelpath"模型/训练模型.ser.gz" -corefmodelpath"模型/ coref-to.ser.gz" \ -printSummaries -PrintSummariesFortk \ 其中< jarpath>,<库路径>,并且相应地实例化数据路径。 由于通过注释缓存25,000次培训文档,系统需要Lotof内存。 (由于此释放的微小变化,结果与本文中的结果略有不同。)