CN102591978A - 一种分布式文本拷贝检测系统 - Google Patents
一种分布式文本拷贝检测系统 Download PDFInfo
- Publication number
- CN102591978A CN102591978A CN2012100014240A CN201210001424A CN102591978A CN 102591978 A CN102591978 A CN 102591978A CN 2012100014240 A CN2012100014240 A CN 2012100014240A CN 201210001424 A CN201210001424 A CN 201210001424A CN 102591978 A CN102591978 A CN 102591978A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- document
- distributed
- index
- copy detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于电子文本拷贝检测技术领域,具体为一种针对大规模文档集中两两文档间进行拷贝检测的分布式索引建立以及分发方法和一种分布式文本拷贝检测系统。所述方法是将整个文档集上的拷贝检测分割成个若干的子任务,每个子任务中只用到单个计算机节点中保存的文档和整个文档集所有文档集的一部分文档组成的索引,从而使得每个子任务可以在单独的节点上运行,减小了网络开销。系统基于Map-Reduce技术,使用Apache的开源软件项目Hadoop提供的分布式计算存储框架,具有良好的可扩展性,适合处理大规模文本集上的拷贝检测,电子文本数据集通过磁盘等介质作为输入进入到拷贝检测系统,系统由多台计算机组成的集群对电子文本数据进行处理,将互为拷贝的文档对结果以文件形式输出到磁盘上。
Description
技术领域
本发明属于电子文本拷贝检测技术领域,具体涉及一种分布式文本拷贝检测系统。
背景技术
进行电子文本的拷贝检测,主流的方法是建立文本索引,通过文本索引进行查找、识别。为了处理日益增长的大规模电子文本数据,目前的拷贝检测系统通常使用多台计算机联合的分布式处理方法。为了进行拷贝检测,需要将数据在多台计算机之间传递。然而,集群中单个计算机节点的处理能力存在瓶颈,随着文本集规模增长而大大增加,将超过节点的处理能力,使得拷贝检测系统处理能力受限。
发明内容
本发明的目的在于提供一种分布式文本拷贝检测系统,以提高拷贝检测系统处理能力。
本发明提供的分布式文本拷贝检测系统,使用Apache的开源软件项目Hadoop提供的分布式计算存储框架;电子文本数据集通过磁盘等介质作为输入进入到拷贝检测系统,系统由多台计算机组成的集群对电子文本数据进行处理,将互为拷贝的文档对结果以文件形式输出到磁盘上;电子文本数据集简称文档集,每个文档包括一个唯一标示的ID和内容;本系统包括为:分布式计算框架子系统,特征提取子系统,文本索引子系统,索引分发子系统,拷贝检测子系统,分布式文件存储子系统,分布式缓存子系统七个子系统,如图1所示。其中:
所述分布式计算框架子系统,是整个系统的中央控制模块。该子系统建立在Hadoop的Map-Reduce框架基础上,利用Hadoop框架对其他子系统进行控制。通过对其他子系统发送控制指令,完成Map-Reduce任务的调度、监控以及衔接。本系统采用迭代多轮的方法进行拷贝检测,其中迭代的过程也是由该子系统负责控制。
所述特征提取子系统,负责将原始文本文档转换为文本特征向量。该系统从分布式文件存储子系统中读取原始文本文件,对其进行数据清洗,分词,特征抽取等操作。将抽取的特征以文档特征向量的形式写入分布式文件存储系统。该子系统中,并没有限定文本特征的类型,可以采用任意的特征模型,例如Shingle、Spotsig等。
所述文本索引子系统,负责根据特征向量,对文档建立分布式倒排索引。该子系统每次读入一部分文档的特征向量,对其建立倒排索引,将所得的索引分块写入分布式文件存储子系统。
所述索引分发子系统,负责在每一轮拷贝检测迭代过程中,向各个子节点发送索引分块。该子系统可以根据配置,从分布式文件存储子系统中读取索引分块,存入分布式缓存子系统中,使得每一个子节点都可以读取这些索引分块。该子系统与拷贝检测子系统相互配合,在分布式计算框架子系统的控制之下,实现多轮迭代的拷贝检测。
所述拷贝检测子系统,负责进行真正的拷贝检测任务。该子系统从分布式文件存储子系统中读取文档特征向量,并从分布式缓存子系统中读取分布式索引分块。通过读取的文档特征向量,在索引中查找相似的文档对,并按照特征计算相似度,对于相似度超过阈值的文档对,将其ID号的组合输出到分布式文件存储子系统中。本系统中,不限定采用的相似度度量方式,通常可以根据采用的特征模型来决定相似度度量。
所述分布式文件存储子系统,基于Hadoop的HDFS分布式文件系统。用于存储系统的输入,输出以及作为各模块之间的中间数据。
所述分布式缓存子系统,基于Hadoop的HDFS分布式文件系统缓存(DistributedCache)。用于存储分布式索引分块。通过Round Robin算法控制每个节点上缓存的内容,从而分散对分布式文件系统各个节点的读写数据流,防止出现单点密集读写而降低总体性能的问题。
本发明的文本拷贝检测系统运行在多台计算机组成的分布式集群上。其处理流程如下:首先,系统读入文本文档,抽取特征,建立分布式倒排索引,保存于分布式文件系统中;然后系统分次读入分布式索引的一部分,分发到各个节点进行拷贝检测;迭代分发和拷贝检测过程多次,最终完成对整个文档集的拷贝检测任务。本发明使用Map-Reduce技术, 并提出了一种新的分布式索引结构,使得进行分布式拷贝检测时,可以一次只利用一部分索引进行检测,通过多伦迭代完成拷贝检测任务。增加了拷贝检测系统的处理能力和可扩展性。
本发明还提供的针对大规模文档集中两两文档间进行拷贝检测的,分布式索引建立以及分发方法,是将整个文档集上的拷贝检测分割成个若干的子任务,每个子任务中只需要用到单个计算机节点中保存的文档和整个文档集所有文档集的一部分文档组成的索引,从而使得每个子任务可以在单独的节点上运行,减小了网络开销;本方法将n篇文档分为若干个子集(D1,D2…Dt),对每一个子集建立索引(I1,I2…It)。然后在每一个文档子集(D1,D2…Dt),利用索引I1进行拷贝检测。之后,依次对其他索引(I2…It)进行相同操作得到整个文档集上的拷贝检测结果。
附图说明
图1是系统架构图。
图2是索引子系统的数据流图。
图3是拷贝检测子系统第1次迭代数据流图。
图4是拷贝检测子系统第i次迭代数据流图。
图5是系统的分布式索引结构图。
图6是分布式文本特征算法抽取流程图。
图7是分布式索引算法流程图。
图8是基于分布式索引的拷贝检测算法流程图。
具体实施方式
电子文本数据集(以下简称文档集,每个文档包括一个唯一标示的ID和内容)通过磁盘等介质作为输入进入到拷贝检测系统,系统由多台计算机组成的集群对电子文本数据进行处理,将互为拷贝的文档对结果以文件形式输出到磁盘上。
要进行文档集(D)中n篇文档间的拷贝检测,需要对n篇文档进行两两相似度计算。本系统采取的流程是,将n篇文档分为若干个子集(D1,D2…Dt),对每一个子集建立doc-based索引(I1,I2…It)。然后在每一个文档子集(D1,D2…Dt),利用索引I1进行拷贝检测。之后,依次对其他索引(I2…It)进行相同操作得到整个文档集上的拷贝检测结果。
图2至图4描述了本系统中的数据流。
首先,如图2所示,将文档集分成若干子集,通过分布式文件存储子系统存储在集群中的各个节点上。每个子集交由一台计算机进行处理,通过特征提取子系统和文本索引子系统,对该子集内的所有文档建立doc-based分布式索引。
然后,如图3所示,索引分发子系统的控制下,依次将第一个doc-based索引分块发送到集群的每一个节点上,对保存在该节点上的文档,利用拷贝检测子系统检测其与索引中文档是否有重复。如图4所示,对每一块doc-based索引均做上述操作,如此迭代数轮直至所有索引分块均被处理完。
本系统基于Map-Reduce技术,将整个处理流程分解为若干个Map任务与Reduce任务链,各个任务通过Key-Value格式的数据结构进行数据交换。这些Map和Reduce任务可以在Map-Redcue集群上的多台计算机节点上并发执行。本系统的分布式计算框架子系统通过Map-Reduce框架Hadoop,对Map-Reduce任务在分布式集群上进行自动调度,控制。
图6至图8所示的是本系统的核心算法部分。分为三个步骤:
一、特征抽取,如图6所示, Map任务对每个文档抽取文本特征向量,将一个文本文档转换为一系列特征词组成的向量,本系统支持多种文本特征模型。通过配置,可以采用常见的文本特征的任意一种,例如Shingling,Spotsig等等。
二、建立索引,如图7所示,每个Map任务接受一批文档(文档集的一个子集)的特征向量作为输入,建立倒排索引。例如, ID为d1的文档包含特征词t1,则在倒排索引中记录,特征词t1在文档d1中出现过。多所有的文档进行相同的操作,做后可以得到一个完整的倒排索引,其中记录着某个特征词(t1)曾经在哪些文档(例如:d1,d2…)中出现过。通常一个完整的文本索引一般包括两个部分:由所有词(Term)组成的词典和包含某个Term的所有文档(Doc)的ID列表(Posting List)。词典中包含文档集中出现过的特征词,对于每一个特征词,都有一个ID列表与之对于,保存出现该特征词的文档。本系统是分布式拷贝检测系统,建立索引的过程是分散在各个不同节点上进行的,需要对索引进行切分。如图5所示的是本系统中主要的数据结构doc-based索引的结构。按文档分割的索引(Doc-Based)将整个文档集划分为若干个子集,每个子集保存在不同节点上,对每个子集分别建立独立的Index。
三、基于Doc-based索引进行拷贝检。如图8所示,进行拷贝检测需要同时利用到索引和特征向量。每个Map任务中,对于本节点保存的文档集子集中的文档Dq,针对Dq的特征向量中每一个特征词t,在索引I1中查找所有包含特征词t的文档Id。然后记录文档Dq和所有与其有共同特征词的文档(D1,D2…)间的特征词。根据共有的特征词,计算文档Dq与D1,D2…之间的相似度。一旦相似度超过设定的阈值,则认为两个文档护卫拷贝,将文档Id输出。本系统支持多种相似度度量模型,包括常见的Jaccard,TF-IDF等等。至此已经完成了对索引I1的拷贝检测,接下来只需要对每一个索引Ii都进行相同的操作。在此过程中,每个节点上的Map任务都需要索引Ii。由于本系统是分布式拷贝检测系统,初始化Map任务时,需要将这次迭代所需的索引分块读入Map任务。
Claims (2)
1.一种分布式文本拷贝检测系统,其特征在于系统基于Map-Reduce技术,使用Apache的开源软件项目Hadoop提供的分布式计算存储框架;电子文本数据集通过磁盘等介质作为输入进入到拷贝检测系统,系统由多台计算机组成的集群对电子文本数据进行处理,将互为拷贝的文档对结果以文件形式输出到磁盘上;电子文本数据集简称文档集,每个文档包括一个唯一标示的ID和内容;本系统包括为:分布式计算框架子系统,特征提取子系统,文本索引子系统,索引分发子系统,拷贝检测子系统,分布式文件存储子系统,分布式缓存子系统七个子系统;
所述分布式计算框架子系统,是整个文本拷贝检测系统的中央控制模块;该分布式计算框架子系统建立在Hadoop的Map-Reduce框架基础上,利用Hadoop框架对其他子系统进行控制; 通过对其他子系统发送控制指令,完成Map-Reduce任务的调度、监控以及衔接;文本拷贝检测系统采用迭代多轮的方法进行拷贝检测,其中迭代的过程也由该分布式计算框架子系统控制;
所述特征提取子系统,用于将原始文本文档转换为文本特征向量;该特征提取系统从分布式文件存储子系统中读取原始文本文件,对其进行数据清洗、分词、特征抽取操作;并将抽取的特征以文档特征向量的形式写入分布式文件存储系统;
所述文本索引子系统,负责根据特征向量,对文档建立分布式倒排索引;该文本索引子系统每次读入一部分文档的特征向量,对其建立倒排索引,将所得的索引分块写入分布式文件存储子系统;
所述索引分发子系统,负责在每一轮拷贝检测迭代过程中,向各个子节点发送索引分块;该索引分发子系统根据配置,从分布式文件存储子系统中读取索引分块,存入分布式缓存子系统中,使得每一个子节点都可以读取这些索引分块;该索引分发子系统与拷贝检测子系统相互配合,在分布式计算框架子系统的控制之下,实现多轮迭代的拷贝检测;
所述拷贝检测子系统,负责进行拷贝检测任务;该拷贝检测子系统从分布式文件存储子系统中读取文档特征向量,并从分布式缓存子系统中读取分布式索引分块;通过读取的文档特征向量,在索引中查找相似的文档对,并按照特征计算相似度,对于相似度超过阈值的文档对,将其ID号的组合输出到分布式文件存储子系统中;
所述分布式文件存储子系统,基于Hadoop的HDFS分布式文件系统,用于存储系统的输入,输出以及作为各模块之间的中间数据;
所述分布式缓存子系统,基于Hadoop的HDFS分布式文件系统缓存;用于存储分布式索引分块;通过Round Robin算法控制每个节点上缓存的内容,从而分散对分布式文件系统各个节点的读写数据流,防止出现单点密集读写而降低总体性能的问题。
2.一种针对大规模文档集中两两文档间进行拷贝检测的分布式索引建立以及分发方法,其特征在于,该方法将整个文档集上的拷贝检测分割成个若干的子任务,每个子任务中只需要用到单个计算机节点中保存的文档和整个文档集所有文档集的一部分文档组成的索引,从而使得每个子任务可以在单独的节点上运行,减小了网络开销;本方法将n篇文档分为若干个子集(D1,D2…Dt),对每一个子集建立索引(I1,I2…It);然后在每一个文档子集(D1,D2…Dt),利用索引I1进行拷贝检测;之后,依次对其他索引(I2…It)进行相同操作得到整个文档集上的拷贝检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100014240A CN102591978B (zh) | 2012-01-05 | 2012-01-05 | 一种分布式文本拷贝检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100014240A CN102591978B (zh) | 2012-01-05 | 2012-01-05 | 一种分布式文本拷贝检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102591978A true CN102591978A (zh) | 2012-07-18 |
CN102591978B CN102591978B (zh) | 2013-11-27 |
Family
ID=46480616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100014240A Expired - Fee Related CN102591978B (zh) | 2012-01-05 | 2012-01-05 | 一种分布式文本拷贝检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102591978B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536988A (zh) * | 2014-12-10 | 2015-04-22 | 杭州斯凯网络科技有限公司 | MonetDB分布式计算存储方法 |
CN104850624A (zh) * | 2015-05-20 | 2015-08-19 | 华东师范大学 | 近重复记录的相似度评估方法 |
CN105787097A (zh) * | 2016-03-16 | 2016-07-20 | 中山大学 | 一种基于文本聚类的分布式索引构建方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091106A2 (en) * | 2001-05-08 | 2002-11-14 | Sunflare Co., Ltd. | New differential lsi space-based probabilistic document classifier |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
-
2012
- 2012-01-05 CN CN2012100014240A patent/CN102591978B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091106A2 (en) * | 2001-05-08 | 2002-11-14 | Sunflare Co., Ltd. | New differential lsi space-based probabilistic document classifier |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
Non-Patent Citations (1)
Title |
---|
张玥: "面向文本拷贝检测的分布式索引", 《中文信息学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536988A (zh) * | 2014-12-10 | 2015-04-22 | 杭州斯凯网络科技有限公司 | MonetDB分布式计算存储方法 |
CN104536988B (zh) * | 2014-12-10 | 2017-10-24 | 杭州斯凯网络科技有限公司 | MonetDB分布式计算存储方法 |
CN104850624A (zh) * | 2015-05-20 | 2015-08-19 | 华东师范大学 | 近重复记录的相似度评估方法 |
CN104850624B (zh) * | 2015-05-20 | 2018-06-22 | 华东师范大学 | 近重复记录的相似度评估方法 |
CN105787097A (zh) * | 2016-03-16 | 2016-07-20 | 中山大学 | 一种基于文本聚类的分布式索引构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102591978B (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836701B2 (en) | Distributed stage-wise parallel machine learning | |
US11915101B2 (en) | Numerical quantum experimentation | |
CN105740424A (zh) | 一种基于 Spark 平台的高效率文本分类方法 | |
Zou et al. | Mariana: Tencent deep learning platform and its applications | |
CN102591940B (zh) | 一种基于Map/Reduce的快速支持向量数据描述方法及系统 | |
CN105550374A (zh) | Spark云服务环境下面向大数据的随机森林并行机器学习方法 | |
CN104036029B (zh) | 大数据一致性对比方法和系统 | |
CN106502964B (zh) | 一种基于Spark的极限学习机并行化计算方法 | |
Khumoyun et al. | Spark based distributed deep learning framework for big data applications | |
CN104408034A (zh) | 一种面向文本大数据的中文分词方法 | |
CN103019855A (zh) | MapReduce作业执行时间预测方法 | |
CN102591978B (zh) | 一种分布式文本拷贝检测系统 | |
Han et al. | SlimML: Removing non-critical input data in large-scale iterative machine learning | |
Zhou et al. | FASTCF: FPGA-based accelerator for stochastic-gradient-descent-based collaborative filtering | |
Emani et al. | A Comprehensive Performance Study of Large Language Models on Novel AI Accelerators | |
CN104573331A (zh) | 一种基于MapReduce的K近邻数据预测方法 | |
Xia et al. | An evaluation method for sortie generation capacity of carrier aircrafts with principal component reduction and catastrophe progression method | |
Shen et al. | Massive power device condition monitoring data feature extraction and clustering analysis using MapReduce and graph model | |
Duan et al. | Collective learning of low-memory matrix adaptation for large-scale black-box optimization | |
Woo et al. | Market basket analysis algorithm with NoSQL DB HBase and Hadoop | |
US20170053212A1 (en) | Data management apparatus, data analysis apparatus, data analysis system, and analysis method | |
Tanupabrungsun et al. | Feature reduction for anomaly detection in manufacturing with mapreduce GA/kNN | |
Abdel Hai et al. | On scalability of distributed machine learning with big data on apache spark | |
Fleites et al. | Large-Scale Correlation-Based Semantic Classification Using MapReduce. | |
Duan et al. | Distributed evolution strategies for large-scale optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131127 Termination date: 20170105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |