关于文本摘要的介绍网上有很多资料,大家可以搜一搜。本文主要是针对单文档文本摘要的抽取方法,使用java实现。主要方法是基于两篇文献:
1.
(这里引用阮一峰的博客介绍。)在1958年的论文。
Luhn博士认为,文章的信息都包含在句子中,有些句子包含的信息多,有些句子包含的信息少。"自动摘要"就是要找出那些包含信息最多的句子。
句子的信息量用"关键词"来衡量。如果包含的关键词越多,就说明这个句子越重要。Luhn提出用"簇"(cluster)表示关键词的聚集。所谓"簇"就是包含多个关键词的句子片段。
上图就是Luhn原始论文的插图,被框起来的部分就是一个"簇"。只要关键词之间的距离小于"门槛值",它们就被认为处于同一个簇之中。Luhn建议的门槛值是4或5。也就是说,如果两个关键词之间有5个以上的其他词,就可以把这两个关键词分在两个簇。
下一步,对于每个簇,都计算它的重要性分值。
以前图为例,其中的簇一共有7个词,其中4个是关键词。因此,它的重要性分值等于 ( 4 x 4 ) / 7 = 2.3。
然后,找出包含分值最高的簇的句子(比如5句),把它们合在一起,就构成了这篇文章的自动摘要。
2.
利用最大边缘相关模型(Maximal Marginal Relevance)提高返回句子的多样性。因为使用以上方法通常会得到一些太相似或太相近的句子,为了避免这种情况,结合MMR来增加内容的多样性。这种方法是权衡相关性和多样性。使得摘要内容更加的全面。MMR方法可以较好地解决句子选择多样性的问题。具体地说,在MMR模型中,同时将相关性和多样性进行衡量。因此,可以方便的调节相关性和多样性的权重来满足偏向“需要相似的内容”或者偏向“需要不同方面的内容”的要求。摘要的核心便是要从原文句子中选一个句子集合,使得该集合在相关性与多样性的评测标准下,得分最高。具体的资料介绍可以看有一篇英文介绍。
Di: Documents in the collection C
Q: Query,R: Relevant documents in C,S: Current result set- Constructs the result set incrementally
- User-tunable diversity through λ parameter- High λ = Higher accuracy- Low λ = Higher diversity以上公式中是针对搜索引擎中的查询与文档的关系,这里我们稍作改变:
max[λ*score(i) - (1-λ)*max[similarity(i,j)]]:score(i)根据1中计算句子的得分,similarity(i,j)句子i与j的相似度
MMR程序java程序(完整程序)
1 /** 2 * 最大边缘相关(Maximal Marginal Relevance),根据λ调节准确性和多样性 3 * max[λ*score(i) - (1-λ)*max[similarity(i,j)]]:score(i)句子的得分,similarity(i,j)句子i与j的相似度 4 * User-tunable diversity through λ parameter 5 * - High λ= Higher accuracy 6 * - Low λ= Higher diversity 7 * @param sortedSentList 排好序的句子,编号及得分 8 * @return 9 */10 private MapMMR(List > sortedSentList){11 //System.out.println("MMR In...");12 double[][] simSentArray=sentJSimilarity();//所有句子的相似度13 Map sortedLinkedSent=new LinkedHashMap ();14 for(Map.Entry entry:sortedSentList){15 sortedLinkedSent.put(entry.getKey(),entry.getValue());16 }17 Map MMR_SentScore=new LinkedHashMap ();//最终的得分(句子编号与得分)18 Map.Entry Entry=sortedSentList.get(0);//第一步先将最高分的句子加入19 MMR_SentScore.put(Entry.getKey(), Entry.getValue());20 boolean flag=true;21 while(flag){22 int index=0;23 double maxScore=Double.NEGATIVE_INFINITY;//通过迭代计算获得最高分句子24 for(Map.Entry entry:sortedLinkedSent.entrySet()){25 if(MMR_SentScore.containsKey(entry.getKey())) continue;26 double simSentence=0.0;27 for(Map.Entry MMREntry:MMR_SentScore.entrySet()){ //这个是获得最相似的那个句子的最大相似值28 double simSen=0.0;29 if(entry.getKey()>MMREntry.getKey())30 simSen=simSentArray[MMREntry.getKey()][entry.getKey()];31 else32 simSen=simSentArray[entry.getKey()][MMREntry.getKey()];33 if(simSen>simSentence){34 simSentence=simSen;35 }36 }37 simSentence=λ*entry.getValue()-(1-λ)*simSentence;38 if(simSentence>maxScore){39 maxScore=simSentence;40 index=entry.getKey();//句子编号41 }42 }43 MMR_SentScore.put(index, maxScore);44 if(MMR_SentScore.size()==sortedLinkedSent.size())45 flag=false;46 }47 return MMR_SentScore;48 }
测试文本:
家行车记录仪正式发布,告别驾驶孤单<@>继上周70迈智能后视镜在小米众筹上线,数小时便完成了目标众筹之后," + "今日小米生态链布局中的另一个车载智能新产品,米家行车记录仪正式上线小米商城,售价349元。米家行车记录仪搭载了SONY IMX323图像传感器," + "感光度高的CMOS可以全面提升暗光环境下的成像表现,感光元件大至1/2.9英寸,阴天或者夜景等弱光条件下,影像画面品质优势尽显。" + "同时搭载了Mstar的全高清影像处理芯片,具备1080P的图像处理技术。采用的耐高温胶和静电贴组合简单又安全,单指就可以进行触摸按键," + "160°超广角,覆盖三车道安全全方位。米家行车记录仪是由小米生态链企业板牙科技所生产,也是唯一一家致力于车载智能产品的小米生态链公司。" + "为何小米生态链持续发力车载智能产品?随着中国汽车市场快速蓬勃发展,目前车辆存量已达1.2亿辆,还在以每年2000万以上的速度扩充," + "但是连载互联网的车辆占比低于5%。互联快速发展的时代,未来车辆将成为重要的终端入口之一。2015年,行车记录仪全国各品牌销量在3500万台每年," + "大量厂商试图挤入这个火热的市场。2016下半年,在行业经过大洗牌后,剩下的厂商对自家品牌进行积累,汽车后视镜的2.0时代正式拉开序幕。" + "2017年,一家叫做70迈的智能后视镜产品出现在了浪潮之中,其背后同时站着顺为和小米等多家知名VC,这样的产品为何会受到多方投资的关注?作为小米生态链企业产品," + "70迈智能后视镜不惜使用8.88英寸极限高清大屏,“1920*480”高清分辨率,1670万色,搭配高品质银镜7层光学镀膜,完美兼顾界面与镜面。" + "屏保界面进入沉浸模式,将导航HUD、ADAS预警与整车自然融为一体。70迈创造性的将“小米生态链企业+Mai OS/手机App+汽车后市场服务”的模式相结合," + "在智能后视镜完美融合进小米产品体系的同时,用精品模式和数据驱动深挖驾驶场景的价值。业内人士表示,未来靠硬件赚大钱已经不再是市场发展主趋势," + "小米就是一个最好的例子,只有互联网服务才是突破。70迈的产品用户黏性是否足够高,产品更新换代是否足够快,都是70迈一直在专注并打磨持续打磨的环节。" + "只有持续保持庞大的用户量,才能保证互联网增值服务的空间与价值。"+ "NULL<@>国际<@>齐鲁网<@>日本男子袭击女学生扯走内裤 事发半年嫌犯仍在逃<@>日本警方公布的照片国际在线专稿:据日本媒体3月16日报道," + "去年9月,东京发生一起男子袭击高中女生并将其内裤扯走的事件。16日,东京警方公开了案发现场摄像头拍下的男子正脸照片。目前,警方正在追捕这名男子。" + "据警方介绍,去年9月24日晚上10时10分左右,在东京足立区的一个公寓门前,一名正要回家的女高中生被这名男子从背后袭击。男子用手捂住她的嘴," + "并将她放倒在地,将手伸进裙子里做出猥亵行为,最后扯走内裤逃跑。这名男子大约30多岁,身高在165厘米到170厘米之间,案发时穿着白色T恤和蓝色裤子。" + "[责任编辑:杨凡、苏琛]想爆料?请登录《阳光连线》(http://minsheng.iqilu.com/)、拨打新闻热线0531-66661234," + "或登录齐鲁网官方微博(@齐鲁网)提供新闻线索。齐鲁网广告热线0531-81695052,诚邀合作伙伴。"+ "NULL<@>商业职场<@>金羊网<@>国务院:实施城乡居民增收行动 这七类人将“加薪”<@>" + "国务院6日印发《“十三五”促进就业规划》,《规划》提出,江苏镇江,上海" + "实施城乡居民增收行动,技能人才、新型职业农民、科研人员、小微创业者、企业经营管理人员、基层干部队伍、有劳动能力的困难群体这七类人将“" + "加薪”。城乡居民增收行动:1.技能人才增收行动。发挥企业主体作用,提升技能人才待遇;完善技术工人薪酬激励机制。" + "贯通职业资格、学历等认证渠道;营造崇尚技能的社会氛围,培养造就更多技术工人。2.新型职业农民增收行动。" + "将培育新型职业农民纳入国家教育培训发展规划,提高职业农民增收能力,创造更多就业空间,拓展增收渠道。" + "3.科研人员增收行动。保障合理的基本薪酬水平,提高就业质量;落实中央财政科研项目资金管理有关政策," + "发挥科研项目资金的激励引导作用。健全绩效评价和奖励机制,激励创业创新。4.小微创业者增收行动。" + "深化简政放权、放管结合、优化服务改革,释放市场活力,降低市场准入门槛,健全创业成果利益分配机制," + "打通创业创富通道。5.企业经营管理人员增收行动。在国有企业建立职业经理人制度," + "采取多种方式探索完善中长期激励机制;为非公经济组织重点营造公平、公正、透明、稳定的法治环境," + "依法平等保护财产权。6.基层干部队伍增收行动。完善基层干部队伍薪酬制度;实现对不同地区、不同岗位的差别化激励," + "充分调动基层干部队伍积极性。7.有劳动能力的困难群体增收行动。鼓励有劳动能力的困难群体提升人力资本,主动参加生产劳动,通过自身努力增加收入。编辑:"+ "NULL<@>财经<@>中江网<@>“千企千镇工程”启动仪式在京举行<@>
summary:
米家行车记录仪是由小米生态链企业板牙科技所生产,也是唯一一家致力于车载智能产品的小米生态链公司。为何小米生态链持续发力车载智能产品?作为小米生态链企业产品,70迈智能后视镜不惜使用8.NULL<@>国际<@>齐鲁网<@>日本男子袭击女学生扯走内裤 事发半年嫌犯仍在逃<@>日本警方公布的照片国际在线专稿:据日本媒体3月16日报道,去年9月,东京发生一起男子袭击高中女生并将其内裤扯走的事件。促进就业规划》,《规划》提出,江苏镇江,上海实施城乡居民增收行动,技能人才、新型职业农民、科研人员、小微创业者、企业经营管理人员、基层干部队伍、有劳动能力的困难群体这七类人将&ldquo加薪。
参考资料:1.阮一峰的博客介绍http://www.ruanyifeng.com/blog/2013/03/automatic_summarization.html 2.The Automatic Creation of Literature Abstracts 3.MMR: Maximal Marginal Relevance Devrim Şahin & Selçuk Emre Solmaz