顶会热词统计

小樱是一名大三的学生,一直痴迷于吃鸡类游戏,某日听闻同宿舍的小狼刚和导师去参加了CVPR会议,内心羡慕不已,便下定决心痛改前非、努力钻研,希望能在毕业前完成一篇站在时代前沿的优秀论文。但令人苦恼的是,她不知道近几年顶会的热门领域和研究方向,根据论文列表去一篇一篇查找总结效率又着实太低。 她于是求助于“软工实践互助爱心组织”,希望我们能帮助他设计一个解决方案。 满足她现阶段的需求。 这个解决方案可以是网页/APP/桌面程序/... 由你来设计最合适的形态。

用户可给定论文列表 ◦通过论文列表,爬取论文的题目、摘要、关键词、原文链接;

可对论文列表进行增删改操作(今年、近两年、近三年)

•对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的papersource codehomepage等信息

形成如关键词图谱之类直观的查看方式;

•可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPRICCVECCV内)。

<%@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>

原文地址:https://www.cnblogs.com/zhjvvvvvv/p/13088541.html