CN102591978B - 一种分布式文本拷贝检测*** - Google Patents
一种分布式文本拷贝检测*** Download PDFInfo
- Publication number
- CN102591978B CN102591978B CN2012100014240A CN201210001424A CN102591978B CN 102591978 B CN102591978 B CN 102591978B CN 2012100014240 A CN2012100014240 A CN 2012100014240A CN 201210001424 A CN201210001424 A CN 201210001424A CN 102591978 B CN102591978 B CN 102591978B
- Authority
- CN
- China
- Prior art keywords
- subsystem
- distributed
- copy detection
- document
- index
- 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.)
- Expired - Fee Related
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 (1)
1. 一种分布式文本拷贝检测***,其特征在于***基于Map-Reduce技术,使用Apache的开源软件项目Hadoop提供的分布式计算存储框架;电子文本数据集通过磁盘介质作为输入进入到拷贝检测***;拷贝检测***是由多台计算机组成的集群***,用于对电子文本数据进行处理,将互为拷贝的文档对结果以文件形式输出到磁盘上,一台计算机称为一个节点;电子文本数据集简称文档集,每个文档包括一个唯一标示的ID和内容;本***包括:分布式计算框架子***,特征提取子***,文本索引子***,索引分发子***,拷贝检测子***,分布式文件存储子***,分布式缓存子***七个子***;
所述分布式计算框架子***,是整个文本拷贝检测***的中央控制模块;该分布式计算框架子***建立在Hadoop的Map-Reduce框架基础上,利用Hadoop框架对其他子***进行控制; 通过对其他子***发送控制指令,完成Map-Reduce任务的调度、监控以及衔接;文本拷贝检测***采用迭代多轮的方法进行拷贝检测,其中迭代的过程也由该分布式计算框架子***控制;
所述特征提取子***,用于将原始文本文档转换为文本特征向量;该特征提取***从分布式文件存储子***中读取原始文本文件,对其进行数据清洗、分词、特征抽取操作;并将抽取的特征以文档特征向量的形式写入分布式文件存储子***;
所述文本索引子***,负责根据特征向量,对文档建立分布式倒排索引;该文本索引子***每次读入一部分文档的特征向量,对其建立倒排索引,将所得的索引分块写入分布式文件存储子***;
所述索引分发子***,负责在每一轮拷贝检测迭代过程中,向各个节点发送索引分块;该索引分发子***根据配置,从分布式文件存储子***中读取索引分块,存入分布式缓存子***中,使得每一个节点都可以读取这些索引分块;该索引分发子***与拷贝检测子***相互配合,在分布式计算框架子***的控制之下,实现多轮迭代的拷贝检测;
所述拷贝检测子***,负责进行拷贝检测任务;该拷贝检测子***从分布式文件存储子***中读取文档特征向量,并从分布式缓存子***中读取分布式索引分块;通过读取的文档特征向量,在索引中查找相似的文档对,并按照特征计算相似度,对于相似度超过阈值的文档对,将其ID号的组合输出到分布式文件存储子***中;
所述分布式文件存储子***,基于Hadoop的HDFS分布式文件***,用于存储***的输入,输出以及作为各模块之间的中间数据;
所述分布式缓存子***,基于Hadoop的HDFS分布式文件***缓存,用于存储分布式索引分块;通过Round Robin算法控制每个节点上缓存的内容,从而分散对分布式文本拷贝检测***各个节点的读写数据流,防止出现单点密集读写而降低总体性能的问题。
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 CN102591978A (zh) | 2012-07-18 |
CN102591978B true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536988B (zh) * | 2014-12-10 | 2017-10-24 | 杭州斯凯网络科技有限公司 | MonetDB分布式计算存储方法 |
CN104850624B (zh) * | 2015-05-20 | 2018-06-22 | 华东师范大学 | 近重复记录的相似度评估方法 |
CN105787097A (zh) * | 2016-03-16 | 2016-07-20 | 中山大学 | 一种基于文本聚类的分布式索引构建方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024400B2 (en) * | 2001-05-08 | 2006-04-04 | Sunflare Co., Ltd. | Differential LSI space-based probabilistic document classifier |
-
2012
- 2012-01-05 CN CN2012100014240A patent/CN102591978B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索*** |
Non-Patent Citations (2)
Title |
---|
张玥.面向文本拷贝检测的分布式索引.《中文信息学报》.2011,第25卷(第1期),91-97. |
面向文本拷贝检测的分布式索引;张玥;《中文信息学报》;20110131;第25卷(第1期);91-97 * |
Also Published As
Publication number | Publication date |
---|---|
CN102591978A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836701B2 (en) | Distributed stage-wise parallel machine learning | |
Zou et al. | Mariana: Tencent deep learning platform and its applications | |
CN102750309B (zh) | 一种基于Hadoop的并行化SVM求解方法 | |
CN105740424A (zh) | 一种基于 Spark 平台的高效率文本分类方法 | |
CN105550374A (zh) | Spark云服务环境下面向大数据的随机森林并行机器学习方法 | |
CN104036029B (zh) | 大数据一致性对比方法和*** | |
CN109891438B (zh) | 数值量子实验方法和*** | |
Khumoyun et al. | Spark based distributed deep learning framework for big data applications | |
Zhou et al. | Parallel implementation of classification algorithms based on cloud computing environment | |
CN104484131B (zh) | 多磁盘服务器的数据处理装置及对应的处理方法 | |
CN102591940A (zh) | 一种基于Map/Reduce的快速支持向量数据描述方法及*** | |
CN104952032A (zh) | 图的处理方法、装置以及栅格化表示及存储方法 | |
CN105184368A (zh) | 一种分布式极限学习机优化集成框架方法***及方法 | |
CN104317899A (zh) | 一种大数据分析与处理***及访问方法 | |
CN102591978B (zh) | 一种分布式文本拷贝检测*** | |
Han et al. | SlimML: Removing non-critical input data in large-scale iterative machine learning | |
CN104573331A (zh) | 一种基于MapReduce的K近邻数据预测方法 | |
Woo et al. | Market basket analysis algorithm with NoSQL DB HBase and Hadoop | |
Shen et al. | Massive power device condition monitoring data feature extraction and clustering analysis using MapReduce and graph model | |
Sukanya et al. | Benchmarking support vector machines implementation using multiple techniques | |
Keswani et al. | Enhanced approach to attain competent Big Data pre-processing | |
Varma | Performance analysis and challenges of the map reduce framework in big data analytics | |
Lei et al. | Clustering algorithm of ethnic cultural resources based on spark | |
Romsaiyud et al. | An adaptive machine learning on Map-Reduce framework for improving performance of large-scale data analysis on EC2 | |
Mallik et al. | A Survey on Parallel Clustering Techniques for Big Data Framework |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131127 Termination date: 20170105 |