Hiroki

大部分笔记已经转移到 https://github.com/hschen0712/machine_learning_notes ,QQ:357033150, 欢迎交流

任务四 娱乐相关节目和娱乐人物关系代码整理

任务四 娱乐相关节目和娱乐人物关系代码整理

标签(空格分隔): 一找


任务描述

分别对娱乐相关节目和娱乐人物关系代码进行整理:
1、娱乐相关节目代码提交到yz-dolphin-serv-crawler模块com.yeezhao.dolphin.crawler.entertainment.related下,另外在cli包增加脚本入口Cli,并在run.sh和start-entertain.sh添加程序入口。
2、娱乐人物关系提交到yz-dolphin-serv-crawler模块com.yeezhao.dolphin.crawler.people.relation下,另外在PeopleCrawlerCli的type=relation的情况下,替换掉PeopleEntertainRelationCrawler().crawl(); run.sh不用再修改。

流程

1.相关节目部署

  • 加入了相关电影LIBSVM分类器的模型文件
    • 在DolphinCrawlerConsts类中加入相关电影模型文件名
// libSVM model of related movie crawler added by chs
public static final String FILE_RELATEDMOVIE_MODEL = "RelatedMovieClassiModel.txt";
  • com.yeezhao.dolphin.crawler.cli下增加了相关节目的客户端程序RelatedMovieCli,代码主要参考了同目录下的CategoryToolCli.java,添加了once和quartz参数

  • 修改了run.sh,添加了注释 echo "relatedMovie [-quartz] [-once] 启动相关节目识别"
    和程序和命令的对应关系,命令命名为relatedMovie

elif [ "$COMMAND" = "relatedMovie" ];then
CLASS=com.yeezhao.dolphin.crawler.cli.RelatedMovieCli

  • 添加start-relation.sh脚本,内容为

nohup sh run.sh relatedMovie -once > related-movie.out 2>&1 &

2.娱乐人物关系部署

  • PeopleEntertainRelationCrawler.java提交到了yz-dolphin-serv-crawler模块com.yeezhao.dolphin.crawler.people.relation
  • 修改PeopleCrawlerCli.java,在execute()方法中加入一个relation参数,为我们的程序添加一个入口
    @Override
    public void execute() {
		LOG.info("execute");
		Configuration conf = DolphinCrawlerConf.getInstance();
		try {
			if ("tag".equals(type)) {
				new PeopleTagCrawler(conf).crawl();
			} else if ("outlink".equals(type)) {
				new PeopleOutlinkCrawler(conf).crawl();
			} else if ("data".equals(type)) {
				new PeopleDataCrawler().crawl();
			} else if ("relation".equals(type)) {
				new PeopleEntertainRelationCrawler().crawl();
			} else if ("all".equals(type)) {
				new PeopleAllHideCrawler().crawl();
			} else if ("baike".equals(type)) {
				new AllBaikeCrawler().crawl();
			} else if ("analyz".equals(type)) {				
				new PeopleRelationAnalyz().crawl();
				new PeopleSexAnalyz().analyz();
				new PeopleBidirectionalRelation().analyz();
			} else if ("count".equals(type)) {
				new PeoplePropertiesCount().crawl();
			} else if ("coverimage".equals(type)) {
				new PeopleCoverImageCrawler().crawl();
			} else if ("delete".equals(type)) {
				new ClearRelation().clear();
			} else if ("test".equals(type)) {
				new PeopleIdentityAnalyze().crawl();
			}
			else {
				LOG.error("type is not found: " + type);
				return;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		LOG.info("all done!");
	}

posted on 2015-12-11 14:09  Hiroki  阅读(212)  评论(0编辑  收藏  举报

导航