Technical Spec

1         项目背景

Project: Building Online Education Q&A ecosystem

Our Task: Content schema definition & Content Pipeline

  要求: 定义这个网站需要的内容结构, 并从爬到的内容中抽取元数据 (meta data),  并支持标签, 翻译等功能。 

    a.       Define a schema of "online education Q&A", find out entities and their relationships.

    b.      Input new content into pipeline, then merge it into existing content, under schema

    c.       Have a UI system to track the progress and report data

    d.      Support tagging

    e.      Support translation

2         目的

本文档为Pipeline部分的Technical Spec,主要分三部分。

文档首先详细地定义Pipeline部分的I/O标准,方便将来Crawler、Pipeline和UI三个模块的合并工作。然后文档给出了整个Pipeline部分的框架图,配合Crawler模块和UI模块组成整个系统的体系。最后文档详细地描述Pipeline部分每个功能、实现方法和相应的接口。

在这个文档的基础上开发Pipeline,各组员对大到整个系统小到每个Pipeline子系统的模块都有一个进一步的了解,知道每个部分的需求和产出,从而能更好地完成开发工作。

3         I/O标准

3.1       Input

Pipeline的输入为Crawler模块爬取的网页文件。

Crawler爬取网页后将它下载,存放在一个文件夹中,并将文件夹的绝对路径告知Pipeline。Pipeline收到Crawler发送的路径后会一直监督文件夹,发现有新的网页后立刻分析网页,并将分析后的网页删除。

3.2       Output

Pipeline分析网页实际是一个信息提取过程。提取的信息分为两类:Essay(统计文献信息)和QA(存储问答对)。两类信息抽取成两张表,表的数据项如下:

Essay表:

数据名

类型

说明

title

Char

标题

ontology

Char(20)

学科分类

data

Char[]

内容

date

Date

日期

tag

Char(20)

标签

author

Char(20)

提问者

translation

Char[]

翻译

QA表:

数据名

类型

说明

question

Char[]

问题

answer

Char[]

回答

4         框架图

(补)

5         Pipeline功能模块

Pipeline的功能包括数据处理、数据库操作和Pipeline UI。

其中数据处理又可以进一步细化成网页去噪、信息提取、数据分类和排序。数据库实现对两类数据表格的定义,数据的存取和高效地检索,Pipeline UI用来展示整个数据处理流程。

(各模块具体实现和方法补,各组员主要定义自己模块的IO和主要算法或流程)

 

胡仁君 12/11/06

posted @ 2012-11-06 14:18  teamshit  阅读(404)  评论(0编辑  收藏  举报