小樱是一名大三的学生,一直痴迷于吃鸡类游戏,某日听闻同宿舍的小狼刚和导师去参加了CVPR会议,内心羡慕不已,便下定决心痛改前非、努力钻研,希望能在毕业前完成一篇站在时代前沿的优秀论文。但令人苦恼的是,她不知道近几年顶会的热门领域和研究方向,根据论文列表去一篇一篇查找总结效率又着实太低。 她于是求助于“软工实践互助爱心组织”,希望我们能帮助他设计一个解决方案。 满足她现阶段的需求。 这个解决方案可以是网页/APP/桌面程序/... 由你来设计最合适的形态。
用户可给定论文列表 ◦通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
可对论文列表进行增删改操作(今年、近两年、近三年);
•对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息
形成如关键词图谱之类直观的查看方式;
•可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。
<%@page import="java.util.Iterator"%>
<%@page import="java.util.HashMap"%>
<%@page import="entity.Cvf"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CVPR词云</title>
<script type="text/javascript" src="Echart/echarts.js"></script>
<script type="text/javascript" src="Echart/echarts-wordcloud.min.js"></script>
</head>
<body>
<% request.setCharacterEncoding("utf-8");
List <Cvf> cvfs =(List<Cvf>) request.getAttribute("cvfs");
int i=0;
int j=0;
int k=0;
HashMap<String, Integer> hm=new HashMap();
if(cvfs!=null){
for(Cvf cvf:cvfs){i++;
if (!hm.containsKey(cvf.getCkeyword())) {
hm.put(cvf.getCkeyword(), 1);
}else {
Integer counts=hm.get(cvf.getCkeyword());
hm.put(cvf.getCkeyword(), counts+1);
}
}
}
%>
<div id="main" style=" 800px; height: 600px"></div>
<script>
var myChart = echarts.init(document.getElementById('main'));
option = {
title: {
text: '词云',//标题
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#F7F7F7',
tooltip: {
show: true
},
series: [{
name: '热点分析',//数据提示窗标题
type: 'wordCloud',
sizeRange: [6, 66],//画布范围,如果设置太大会出现少词(溢出屏幕)
rotationRange: [-45, 90],//数据翻转范围
//shape: 'circle',
textPadding: 0,
autoSize: {
enable: true,
minSize: 6
},
drawOutOfBound: true,//词云显示完整,超出画布的也显示
textStyle: {
normal: {
color: function() {
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis: {
shadowBlur: 10,
shadowColor: '#333'
}
},
data:[
<%
//获取request域中的数据
Iterator<String> it=hm.keySet().iterator();
while(it.hasNext()) {
String keyName=it.next();
%>
{name:"<%=keyName%>",value:<%=hm.get(keyName) %>},
<%
}
%>
]
}]
};
myChart.setOption(option,true);
myChart.on('click',function(param){
var selected = param.name;
if(selected){
window.open("ListServlet?keyword="+selected);
}
});
</script>
</body>
</html>
<%@page import="entity.Cvf"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>链接地址</title>
</head>
<body>
<% request.setCharacterEncoding("utf-8");
List <Cvf> cvfs =(List<Cvf>) request.getAttribute("cvfs");
%>
<table >
<thead >
<tr>
<th>标题</th>
<th>关键词</th>
</tr>
</thead>
<tbody class="htbody">
<%
if(cvfs!=null){
for(Cvf cvf:cvfs){
%>
<tr>
<td><a href="<%=cvf.getChref() %>"><%=cvf.getCname() %></a></td>
<td><%=cvf.getCkeyword() %></td>
</tr>
<%
}
}
%>
</tbody>
</table>
</div>
</body>
</html>