zoukankan      html  css  js  c++  java
  • 任务五 通用类问题相关度计算实现

    任务五 通用类问题相关度计算实现

    标签(空格分隔): 一找


    任务描述

    在百度答案、经验、知道、百科中选择最相关内容

    目前优先百度答案,但某些query使用百度答案并非为最相关内容(二胎政策)

    实现方案

    1.用查询词和标题取交集(都放到一个HashSet里去重过),除以标题和查询词中最短者的长度

    2.各类别权重 :答案 1.1,经验 0.7,知道 0.5,百科 0.4
    百度图片 0.5(如果查询含有关键词“图片”), -0.5(查询不含关键词“图片”)
    百度最新消息 -1.0
    3.加上百度的排序信息

    score[i] += (10-i)/20.0;

    score[i]为第i个url的得分,排在越前分数越高

    4.如果url里不含“baidu”,则将标题相似度缩放为原来的0.8,以进一步提高百度页面的权重

    5.两个分数加起来,10个网页取分数最大的那个,效果还可以

    具体过程

    1.在GeneralService加入了searchBaiduAnswer接口
    2.在GeneralServiceImpl类中实现了GeneralServiceImpl接口
    3.在GeneralServiceClient中替换了searchBaidu方法的逻辑,注释掉了searchBaidu方法,用searchBaiduAnswer替换

    	public String searchBaidu(String word) throws Exception {
    		GeneralService service = getRandService();
    		return service == null ? null : service.searchBaiduAnswer(word);
    //		return service == null ? null : service.searchBaidu(word);
    	}
    

    4.在svn上提交修改的代码,在xshell登录dev3平台,将项目check out到本地
    5.执行mvn clean package,接着会在当前目录生成target目录
    6.进入target目录,执行sh stop-general.sh先把RPC服务停掉
    7.过大约30秒,执行sh start-general.sh将RPC服务开启
    8.输入jps命令查看服务是否正确启动,如果看到GeneralServiceRPCServer了,就说明服务启动完成了

    代码

    位于com.yeezhao.dolphin.crawler.general下的GeneralServiceImpl.java中的searchBaiduAnswer方法
    参数word为搜索关键词,具体流程可以参照上述的实现方案

  • 相关阅读:
    容器网络(八)准备 macvlan 环境【49】
    容器网络(八)overlay 是如何隔离的?【48】
    容器网络(八)overlay 如何实现跨主机通信?【47】
    容器网络(八)在 overlay 中运行容器【46】
    容器网络(八)创建 overlay 网络【45】
    容器网络(八)跨主机网络概述【43】
    容器(七)管理 Machine【42】
    容器(七)创建 Machine【41】
    容器(七)安装 Docker Machine【40】
    容器(六)volume 生命周期管理【39】
  • 原文地址:https://www.cnblogs.com/wacc/p/5038949.html
Copyright © 2011-2022 走看看