package com.walker.semantics;
import com.walker.semantics.support.DefaultSemanticsManager;
import org.ansj.app.keyword.KeyWordComputer;
import org.ansj.app.keyword.Keyword;
import org.ansj.app.summary.SummaryComputer;
import org.ansj.app.summary.TagContent;
import org.ansj.app.summary.pojo.Summary;
import org.ansj.domain.Result;
import org.ansj.library.CrfLibrary;
import org.ansj.library.DicLibrary;
import org.ansj.splitWord.analysis.ToAnalysis;
import org.junit.Test;
import org.nlpcn.commons.lang.util.WordAlert;
import java.util.Collection;
public class AnsjDemo {
@Test
public void testSummaryExtractor(){
DefaultSummaryExtractor extractor = new DefaultSummaryExtractor();
extractor.setSemanticsManager(new DefaultSemanticsManager());
// String input = "4月1日,中共中央政治局常委、国务院副总理李克强在海南省博鳌会见前来出席博鳌亚洲论坛2012年年会的台湾两岸共同市场基金会代表团名誉团长吴敦义一行。新华社记者 饶爱民 摄 新华社海南博鳌4月1日电(记者李寒芳、周正平)中共中央政治局常委、国务院副总理李克强1日上午在海南省博鳌会见了前来出席博鳌亚洲论坛2012年年会的台湾两岸共同市场基金会代表团名誉团长吴敦义一行,表示同胞相见,朋友相识,都是令人愉悦的事。他强调,当前两岸关系又迎来发展的新机遇,面临着继往开来的新形势。希望两岸各界进一步携手合作,增进相互信任,厚植共同利益,融洽同胞感情,不断推动两岸关系向前迈进。两岸双方应共同努力,促进两岸经济合作在新的起点上开拓创新,更好地适应两岸经济发展的要求,更多地让两岸广大民众共享和平发展成果。 李克强表示,不久前胡锦涛总书记会见中国国民党荣誉主席吴伯雄时,全面阐述了我们在新形势下持续推动两岸关系发展的基本思路。我们将巩固反对“台独”、认同“九二共识”的共同政治基础,继续贯彻推动两岸关系和平发展的各项方针政策,不断开创两岸关系和平发展的新局面。 李克强强调,两岸同胞同属中华民族,两岸经济同属中华民族经济。进一步深化两岸经济合作,有利于促进两岸共同发展、造福两岸同胞。一是抓紧推动ECFA后续协商,力争尽早签署两岸投资保护和促进协议,推动其它商谈取得实质性进展。二是加快推进两岸金融领域合作。采取积极措施,尽快启动商议建立两岸货币清算机制,推进两岸银行、证券、保险业建立并完善监管合作机制。三是大力加强两岸产业合作,共同推动产业结构优化升级。我们鼓励和支持有条件的大陆企业赴台投资,期望台湾方面为此提供必要的环境和公平的条件。 李克强表示,我们将继续支持大陆台资企业的发展,更加注重协助他们在大陆转方式、调结构中更好地拓展大陆内需市场。对台资企业一视同仁,重视维护好他们的正当权益,及时解决他们遇到的问题。我们会在两岸关系改善发展的进程中,继续面向包括中小企业和农渔业者在内的台湾基层民众,多了解他们的愿望,多为他们办实事,使更多的台湾民众从中受益。 李克强指出,两岸还应继续推动其他领域的交流合作。我们欢迎并支持年内新增10个大陆居民赴台个人旅游试点城市,这将有利于增进两岸同胞相互了解,促进台湾旅游业发展。 吴敦义表示,过去四年两岸关系走上了和平稳定发展的正确道路,台湾局势摆脱了动荡,两岸在“九二共识”基础上的协商迄今达成16项协议,两岸经济在全球经济不景气的形势下实现了稳步发展。两岸关系和平发展的局面值得共同珍惜和巩固。他对这次会见双方就加快ECFA后续协商、建立两岸货币清算机制等一系列合作事项达成一致感到高兴,期望双方秉持求同存异、两岸和平、讲信修睦、民生优先的理念,进一步扩大交流,务实协商,加强合作,为两岸人民谋福祉,为中华民族谋繁荣,为炎黄子孙开盛世。";
// String input = "江西赣州,周先生在网络发文自诉一家人乘坐机场救护车在去往医院的路上发生车祸,导致女儿不幸身亡 ,他认为机场对此事有不可推卸的责任。此前,周先生5岁的儿子在机场被一名旅客撞倒,机场安排救护车将其送至医院,路上发生交通事故,导致周先生9岁的女儿身亡,周先生和妻子儿子不同程度受伤,交通事故处理完毕后,周先生认为机场秩序管理不到位导致儿子在候机楼受伤,而后救护车的司机存在操作不当的情况,机场应当为此负责。赣州黄金机场工作人员称事发后一直与周先生保持联系,双方正在协商处理此事。";
// String input = "这件事情是非常惨痛的,FDIC这中间已经有了大概至少25万以上的所谓限制,负债的天花板到底是多少,我们现在还没有到达这么惨痛的结果。我可以设想,也就是在讲到我们今天的议会里面还有我们今天的政府,还有美联储跟FDIC。当然每个人都讲我们明天不希望上电视需要讲这些问题,向美国民众解释现在发生的一些状况,还有你现在只能赔到25万,这是每个银行都不愿意在讲的,现在在银行之中,在咱们的国家中已经发生了这样的状况。这些是非常不可避免的一些状况。查理,你觉得怎么样?";
// String input = "是不是你已经做了一个非常有情绪化的决策呢。我希望做一个非常理智而且是毫无情绪化的一些决定,特别是在做投资人的这些立场以及在做业务的决策立场。你可以这么跟我争执,今天这个中间可能有一个经理曾经为我们做一些工作,在某一段时间之内。当然伯克希尔那个时候的一些状况跟现在是不一样的,我们的业务有的时候进行得非常好,而且有的时候会经营得更好,就像我们之前讲的,那个时候真的到处都是奖励,当然我们有的时候也是非常惨淡经营。但是我必须跟你讲,查理跟我非常努力地在进行工作。查理,你说是不是?";
// String input = "你好,我想问一下无法登录系统怎么办?你是用的预算系统么?是的,登录老是提示超时怎么也进不去。重新刷新页面可以吗?或者是不是密码错了。";
String input = "你好,";
SummaryQuery query = new SummaryQuery();
query.setContent(input);
// query.setMaxLength(200);
// query.setKeywords("李克强在博鳌会见台湾两岸共同市场基金会代表团");
// query.setKeywords("周先生机场途中发生事故");
try {
SummaryMeta summaryMeta = extractor.extract(query);
System.out.println("summary-------------------->");
System.out.println(summaryMeta.getSummary());
System.out.println("title-------------------->");
System.out.println(summaryMeta.getTitle());
System.out.println("关键词信息,调试使用-------------------->");
System.out.println(summaryMeta.getWordKeyList());
} catch (ExtractorException e) {
if(e.isInputLowError()){
System.out.println("输入的内容太少");
}
throw new RuntimeException(e);
}
}
// @Test
public void myTest(){
// String query = "预算一体化";
String query = "";
String title = "登录";
String content = "你好,我想问一下无法登录系统怎么办?你是用的预算系统么?是的,登录老是提示超时怎么也进不去。重新刷新页面可以吗?或者是不是密码错了。";
SummaryComputer summaryC = new SummaryComputer(60, title , content) ;
Summary summary = summaryC.toSummary(query);
System.out.println(summary.getKeyWords());
System.out.println(summary.getSummary());
TagContent tagContent = new TagContent("", "") ;
String summaryStr = tagContent.tagContent(summary) ;
System.out.println(summaryStr);
}
// @Test
public void TagWordByQueryDemo(){
String query = "巴西世界杯" ;
// String title = "巴西世界杯记者手记:“格子军团”的悲情之战" ;
String title = "" ;
String content = "经过一夜喧闹,圣保罗的球迷依然沉醉在主队首场击败克罗地亚的喜悦中。 13日清晨,记者所在老城区,路面上已满是啤酒瓶和食物包装纸屑,当然,骑着摩托车,将高音喇叭开到最大的年轻人也大有人在,他们手中挥舞着巴西国旗,尖叫着“内马尔万岁”的口号。 巴西球迷就是这样,赢球可以消除一切不开心,哪怕这个月收入还没有保障,但只要有足球,有啤酒,就会“及时行乐”。 但如果输球后结局又会如何?一家杂货店的老板洛佩兹笑了笑说,“最好呆在家,早早关门停业。” 不少与记者同住在一家酒店的克罗地亚球迷,今天早早选择退房。他们中有人会转战玛瑙斯,继续跟随主队的世界杯征程,也有人会选择回国,因为比赛一票难求,以及巴西高额的物价让人难以承受。 对于昨夜的那场揭幕战结局,记者原本不想揭起克罗地亚球迷的伤疤,但23岁的布拉维奇似乎知道记者的意图,他直言道,“与其说是依靠内马尔的神奇表现拯救了巴西队,不如说克罗地亚队是被日本裁判打败,就是那颗误判的点球,扰乱了将士们的心绪。” “我们本可以创造奇迹。”布拉维奇目光坚毅地说。 其实,这场与巴西队的比赛,无论从全队实力还是历史战绩,东道主球队明显占据上风,取得开门红也在情理之中。但谁又敢小看克罗地亚的能力? 1998年的法国世界杯,克罗地亚正是在没人看好的情况下,由苏克率队获得季军,甚至在八强战中以3:0完胜德国,就此震惊世界。 尽管在上届没能入围南非世界杯,但新生力量的涌现,再度让克罗地亚人看到希望。队中身价最高的莫德里奇目前效力于皇马,而曼朱基齐在德甲巨头拜仁慕尼黑队中更是担任着头号射手的角色。中前场的攻击能力,不输给任何对手。 然而,真正走进巴西,在圣保罗体育场,他们没能挡住东道主的火力,以1:3败下阵来。 球场内,600与60000的球迷数字之比,或许就是克罗地亚负于巴西足球的真实写照。 赛后,对于这场失利,因对对手犯规造成点球判罚的洛夫伦说,“我努力不让自己哭泣,但你用一生去等待的东西,却最终裁判偷走了。他们为什么不直接把冠军奖杯送给巴西?” 即将加盟巴塞罗那的拉基蒂奇也非常愤怒:“我们应该获得一场平局,很抱歉,我们必须要在第一场比赛后就谈论裁判。” 平心而论,历届世界杯裁判问题都是外界关注的焦点,而首场比赛就出现争议判罚,让日本裁判西村雄一瞬间坐上了火山口。 直到目前,国际足联仍未对西村雄一的执法工作给予任何评价。但让中国球迷记忆深刻的是,2005年东亚杯的中韩之战,西村雄一曾将郜林误认成李玮峰,结果给了郜林一张莫名其妙的红牌。 本场比赛后,据法新社报道,日本球迷亦对西村雄一的争议判罚感到羞愧。一位日本网民调侃道:“如果巴西最终能夺得本次世界杯冠军,那么全世界都会认为西村雄一是本届大赛的MVP(最有价值球员)。” 不过,对于克罗地亚来说,输掉首场比赛并非是世界末日,已连夜从圣保罗飞往玛瑙斯的他们,在接下来还要迎战喀麦隆和墨西哥,只要发挥出色,从小组出线依然留存希望。 只是,他们是否还会遇到另一名日本裁判呢?" ;
SummaryComputer summaryC = new SummaryComputer(300, title , content) ;
Summary summary = summaryC.toSummary(query) ;
TagContent tagContent = new TagContent("", "") ;
String summaryStr = tagContent.tagContent(summary) ;
System.out.println(summaryStr);
}
// @Test
public void SummaryDemo(){
String content = "4月1日,中共中央政治局常委、国务院副总理李克强在海南省博鳌会见前来出席博鳌亚洲论坛2012年年会的台湾两岸共同市场基金会代表团名誉团长吴敦义一行。新华社记者 饶爱民 摄 新华社海南博鳌4月1日电(记者李寒芳、周正平)中共中央政治局常委、国务院副总理李克强1日上午在海南省博鳌会见了前来出席博鳌亚洲论坛2012年年会的台湾两岸共同市场基金会代表团名誉团长吴敦义一行,表示同胞相见,朋友相识,都是令人愉悦的事。他强调,当前两岸关系又迎来发展的新机遇,面临着继往开来的新形势。希望两岸各界进一步携手合作,增进相互信任,厚植共同利益,融洽同胞感情,不断推动两岸关系向前迈进。两岸双方应共同努力,促进两岸经济合作在新的起点上开拓创新,更好地适应两岸经济发展的要求,更多地让两岸广大民众共享和平发展成果。 李克强表示,不久前胡锦涛总书记会见中国国民党荣誉主席吴伯雄时,全面阐述了我们在新形势下持续推动两岸关系发展的基本思路。我们将巩固反对“台独”、认同“九二共识”的共同政治基础,继续贯彻推动两岸关系和平发展的各项方针政策,不断开创两岸关系和平发展的新局面。 李克强强调,两岸同胞同属中华民族,两岸经济同属中华民族经济。进一步深化两岸经济合作,有利于促进两岸共同发展、造福两岸同胞。一是抓紧推动ECFA后续协商,力争尽早签署两岸投资保护和促进协议,推动其它商谈取得实质性进展。二是加快推进两岸金融领域合作。采取积极措施,尽快启动商议建立两岸货币清算机制,推进两岸银行、证券、保险业建立并完善监管合作机制。三是大力加强两岸产业合作,共同推动产业结构优化升级。我们鼓励和支持有条件的大陆企业赴台投资,期望台湾方面为此提供必要的环境和公平的条件。 李克强表示,我们将继续支持大陆台资企业的发展,更加注重协助他们在大陆转方式、调结构中更好地拓展大陆内需市场。对台资企业一视同仁,重视维护好他们的正当权益,及时解决他们遇到的问题。我们会在两岸关系改善发展的进程中,继续面向包括中小企业和农渔业者在内的台湾基层民众,多了解他们的愿望,多为他们办实事,使更多的台湾民众从中受益。 李克强指出,两岸还应继续推动其他领域的交流合作。我们欢迎并支持年内新增10个大陆居民赴台个人旅游试点城市,这将有利于增进两岸同胞相互了解,促进台湾旅游业发展。 吴敦义表示,过去四年两岸关系走上了和平稳定发展的正确道路,台湾局势摆脱了动荡,两岸在“九二共识”基础上的协商迄今达成16项协议,两岸经济在全球经济不景气的形势下实现了稳步发展。两岸关系和平发展的局面值得共同珍惜和巩固。他对这次会见双方就加快ECFA后续协商、建立两岸货币清算机制等一系列合作事项达成一致感到高兴,期望双方秉持求同存异、两岸和平、讲信修睦、民生优先的理念,进一步扩大交流,务实协商,加强合作,为两岸人民谋福祉,为中华民族谋繁荣,为炎黄子孙开盛世。";
String title = "李克强在博鳌会见台湾两岸共同市场基金会代表团";
SummaryComputer summaryComputer = new SummaryComputer(300, title, content);
Summary summary = summaryComputer.toSummary();
System.out.println(summary.getKeyWords()); // 关键词
System.out.println(summary.getSummary()); // 摘要
TagContent tw = new TagContent("", "");
String tagContent = tw.tagContent(summary); // 标记后的摘要
System.out.println(tagContent);
}
/**
* 关键词提取
*/
// @Test
public void KeyWordCompuerDemo(){
KeyWordComputer kwc = new KeyWordComputer(20);
// String title = "中国海上搜救中心确定中国搜救船舶搜救方案";
String title = "";
String content = " \n \n中新网北京3月10日电 10日上午,中国海上搜救中心组织召开马航失联客机海上搜救紧急会商会议,中国交通运输部副部长、中国海上搜救中心主任何建中对当前搜救工作做出部署:一要加强与马来西亚等多方搜救组织的沟通协调;二要根据搜救现场情况进一步完善搜救方案;三要加强信息交流共享,做好内外联动。 \n \n马航客机失联事件发生后,交通运输部启动一级应急响应,3月8日、9日4次召开马航失联客机应急反应领导小组工作会议,研判形势,部署搜寻工作。根据《国家海上搜救和重大海上溢油应急处置紧急会商工作制度》,交通运输部、国家海洋局、中国海警局、总参、海军等共同研究制定了中国船舶及航空器赴马航客机失联海域搜救方案,初步明确了“海巡31”、“南海救101”、“南海救115”、中国海警3411、海军528和999舰等6艘中国搜救船舶的海上搜救区域。 \n \n截至3月10日8时,中国海军528舰和中国海警3411舰已在相关区域开展搜救工作,预计交通运输部所属“南海救115”、“海巡31”轮、“南海救101”将先后于10日16时、11时17时、11日22时抵达马航客机疑似失联海域。中国海上搜救中心已将有关情况通报马来西亚海上搜救机构,并将与马来西亚、越南海上搜救机构保持密切联系,开展深度配合。同时,继续协调中国商船参与搜救。(完)(周音)";
Collection result = kwc.computeArticleTfidf(title, content);
System.out.println(result);
}
// @Test
public void DynamicWordDemo(){
// 增加新词,中间按照'\t'隔开
DicLibrary.insert(DicLibrary.DEFAULT, "ansj中文分词", "userDefine", 1000);
Result terms = ToAnalysis.parse("我觉得Ansj中文分词是一个不错的系统!我是王婆!");
System.out.println("增加新词例子:" + terms);
// 删除词语,只能删除.用户自定义的词典.
DicLibrary.delete(DicLibrary.DEFAULT,"ansj中文分词");
terms = ToAnalysis.parse("我觉得ansj中文分词是一个不错的系统!我是王婆!");
System.out.println("删除用户自定义词典例子:" + terms);
}
// @Test
public void CRFSegDemo(){
System.out.println(CrfLibrary.get().cut("由于霍华德、阿尔德里奇(微博)和波什都因伤退出,内线又一次成为美国男篮的问题,以目前球队的大名单,两大内线钱德勒和勒夫出战奥运几乎可以确定。科朗吉洛接受福克斯体育的电话采访时明确表示奥运阵容已确认9人。2008年北京奥运夺冠的科比、詹姆斯、安东尼、保罗和德隆肯定亮相伦敦,2010年世锦赛上帮助球队夺冠的杜兰特、威斯布鲁克、勒夫和钱德勒也会入选奥运名单。"));
System.out.println(CrfLibrary.get().cut("關注十八大:台港澳密集解讀十八大報告”"));
System.out.println(CrfLibrary.get().cut("这次回家,我经济南下广州"));
System.out.println(CrfLibrary.get().cut("从古至今为何经济南强北弱?军事则北强南弱?_百度知道"));
System.out.println(CrfLibrary.get().cut("马云说,马云说,马云今天参加马云天天和中粮集团, 天安天安天安天安天安,我在天安门"));
}
public void SentenceCover(){
System.out.println(WordAlert.alertStr("a z A Z A Z a z 0 9 0 9 ? 『 ﹩"));
}
}