Lisa测试集文档切分

原文地址,转载请注明出处:http://blog.csdn.net/anzelin_ruc/article/details/8216236   ©安泽林



最近信息检索要求做一个全文检索系统,给定了一个Lisa测试集,我们的任务就是根据该测试集,在Lucene之上做搜索优化,并基于Lucene做一个简单的搜索引擎。这个搜索引擎的具体实现暂时不谈,后面有时间我再将我的成果奉献给大家。这里下载下来的Lisa测试集分为14个文件,每个文件中有500个文档(最后三个除外),如果将这500个文档手工从某个文件中截取出来显然是不切实际的,因此我就针对该测试集写了一个Java程序,用来将各个文档分开,并以文档编号命名,依次将生成的6000多个文档放入一个指定的路径下。通过简单的修改,这个Java程序就可以应用到其他需要文档分割的场合,该代码如下所示:


import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class IO {
	public void readIn(String inFilePath) throws Exception {
		Scanner cin = new Scanner(new File(inFilePath));
		String outFilePath = null;
		StringBuffer content = new StringBuffer();
		while (cin.hasNext()) {
			String tmp = cin.nextLine();
			if (!tmp.equals("")) {
				if (!tmp.startsWith("*")) {
					if (tmp.startsWith("Document")) {
						content.append(tmp+"\n");
						String index = tmp.substring(9, tmp.length());
						System.out.println("已输出:"+index+".txt");
						outFilePath = new String("F:\\lisa_document\\Document"+ index + ".txt");
					} else {
						content.append(tmp+"\n");
					}
				} else{
					writeOut(outFilePath, content.toString());
					content =new StringBuffer("");
				}
				
			}else{
				content.append(tmp+"\n");
			}
		}
		System.out.println("已完成:100%,请查看输出目录");

	}
	
	public void writeOut(String outFilePath, String content) {
		try {
			PrintWriter printWriter = new PrintWriter(outFilePath);
			printWriter.write(content);
			printWriter.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) throws Exception {
		IO io = new IO();
		io.readIn(args[0]);
	}

}

个人博客地址:http://sunny614.sinaapp.com/?p=73

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
告知:需要学习YOLOv4进行TT100K数据集上中国交通标志识别的学员请前往(1) Ubuntu系统《YOLOv4目标检测实战:中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/29362(2)《Windows版YOLOv4目标检测实战:中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/29363在无人驾驶中,交通标志识别是一项重要的任务。本课程中的项目以美国交通标志数据集LISA为训练对象,采用YOLOv3目标检测方法实现实时交通标志识别。具体项目过程包括包括:安装Darknet、下载LISA交通标志数据集、数据集格式转换、修改配置文件、训练LISA数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。YOLOv3基于深度学习,可以实时地进行端到端的目标检测,以速度快见长。本课程将手把手地教大家使用YOLOv3实现交通标志的多目标检测。本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入学习和探究。除本课程《YOLOv3目标检测实战:交通标志识别》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括:《YOLOv3目标检测实战:训练自己的数据集》《YOLOv3目标检测:原理与源码解析》《YOLOv3目标检测:网络模型改进方法》另一门课程《YOLOv3目标检测实战:训练自己的数据集》主要是介绍如何训练自己标注的数据集。而本课程的区别主要在于学习对已标注数据集的格式转换,即把LISA数据集从csv格式转换成YOLOv3所需要的PASCAL VOC格式和YOLO格式。本课程提供数据集格式转换的Python代码。请大家关注以上课程,并选择学习。下图是使用YOLOv3进行交通标志识别的测试结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值