CN107784022B - 检测法律文书是否重复的方法及装置 - Google Patents
检测法律文书是否重复的方法及装置 Download PDFInfo
- Publication number
- CN107784022B CN107784022B CN201610786989.2A CN201610786989A CN107784022B CN 107784022 B CN107784022 B CN 107784022B CN 201610786989 A CN201610786989 A CN 201610786989A CN 107784022 B CN107784022 B CN 107784022B
- Authority
- CN
- China
- Prior art keywords
- document
- legal
- legal document
- filter
- documents
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013507 mapping Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Technology Law (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种检测法律文书是否重复的方法及装置。其中,该方法包括:获取待检测的法律文书的案号及法律文书对应的法院信息;根据案号和法院信息,判断法律文书是否存在于过滤器中,其中,过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;在判断出法律文书不存在于过滤器中的情况下,确定文书库中不存在与法律文书重复的文书,其中,文书库为用于存储获取的法律文书的容器。本发明解决了相关技术中由于使用传统的链表机制来做法律文书是否重复的检测容易造成计算效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种检测法律文书是否重复的方法及装置。
背景技术
当前国家推行司法公开制度,例如,法院作出判决后,都会将判决文书公开发布到网上。这其中既包括最高院的裁判文书网(即集中文书库),也包括各地方法院的公开文书库,而集中文书库本身就包含各地方法院的公开文书库部分。因而如何获取所有公开的法律文书(包括但不限于裁判文书)已成为一个难题,而其中最大的困难莫过于如何快速、高效地判断法律文书是否重复、是否在数据库中已经存在。
目前,相关技术中都是通过传统的链表机制来做是否重复的判断,判断的依据是法律文书对应的案号字段。这种处理方法在计算效率和重复率上均有明显不足:
(1)计算效率方面:现有链表机制判断重复时分两个阶段,第一层阶为链表中案号的查找阶段,第二层阶为查找到案号后,案号与案号间的比对阶段,因而其效率为O(n2)。
(2)重复率方面:地方法院数量逐渐增多,各个区县间的地域简称也可能相同,加上人为的排号错误,单纯由案号作为唯一标识是存在一定的重复率的。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种检测法律文书是否重复的方法及装置,以至少解决相关技术中由于使用传统的链表机制来做法律文书是否重复的检测容易造成计算效率低的技术问题。
根据本发明实施例的一个方面,提供了一种判断法律文书是否重复的方法,包括:获取待检测的法律文书的案号及上述法律文书对应的法院信息;根据上述案号和上述法院信息,判断上述法律文书是否存在于过滤器中,其中,上述过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;在判断出上述法律文书不存在于上述过滤器中的情况下,确定文书库中不存在与上述法律文书重复的文书,其中,上述文书库为用于存储获取的法律文书的容器。
进一步地,在确定文书库中不存在与上述法律文书重复的文书之后,上述方法还包括:将上述法律文书对应的标识插入上述过滤器中。
进一步地,将上述法律文书对应的标识插入上述过滤器中包括:将上述法律文书对应的标识插入布隆过滤器中,该步骤包括:根据上述法律文书的上述案号及上述法律文书对应的上述法院信息,生成N个不同的随机数;将上述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;将上述布隆过滤器中与上述N个自然数对应的二进制位置全部置1,其中,上述N个自然数对应的二进制位置全部置1表示上述法律文书已插入上述布隆过滤器中。
进一步地,根据上述案号和上述法院信息,判断上述法律文书是否存在于过滤器中包括:根据上述案号和上述法院信息,生成N个不同的随机数;将上述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;判断上述布隆过滤器中与上述N个自然数对应的二进制位置是否全部为1,其中,若全部为1,则表示上述法律文书重复,若不全部为1,则表示上述法律文书不重复。
进一步地,在确定文书库中不存在与上述法律文书重复的文书之后,上述方法还包括:将上述法律文书存储到上述文书库中。
根据本发明实施例的另一方面,还提供了一种判断法律文书是否重复的装置,包括:获取单元,用于获取待检测的法律文书的案号及上述法律文书对应的法院信息;判断单元,用于根据上述案号和上述法院信息,判断上述法律文书是否存在于过滤器中,其中,上述过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;确定单元,用于在判断出上述法律文书不存在于上述过滤器中的情况下,确定文书库中不存在与上述法律文书重复的文书,其中,上述文书库为用于存储获取的法律文书的容器。
进一步地,上述装置还包括:插入单元,用于在确定文书库中不存在与上述法律文书重复的文书之后,将上述法律文书对应的标识插入上述过滤器中。
进一步地,上述插入单元还用于将上述法律文书对应的标识插入布隆过滤器中,该插入单元包括:第一生成模块,用于根据上述法律文书的上述案号和上述法律文书对应的上述法院信息,生成N个不同的随机数;第一映射模块,用于将上述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;置位模块,用于将上述布隆过滤器中与上述N个自然数对应的二进制位置全部置1,其中,上述N个自然数对应的二进制位置全部置1表示上述法律文书已插入上述布隆过滤器中。
进一步地,上述判断单元包括:第二生成模块,用于根据上述案号和上述法院信息,生成N个不同的随机数;第二映射模块,用于将上述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;判断模块,用于判断上述布隆过滤器中与上述N个自然数对应的二进制位置是否全部为1,其中,若全部为1,则表示上述法律文书重复,若不全部为1,则表示上述法律文书不重复。
进一步地,上述装置还包括:存储单元,用于在确定文书库中不存在与上述法律文书重复的文书之后,将上述法律文书存储到上述文书库中。
在本发明实施例中,采用过滤器过滤法律文书是否已在文书库中的方式,通过获取待检测的法律文书的案号及法律文书对应的法院信息;根据案号和法院信息,判断法律文书是否存在于过滤器中,其中,过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;在判断出法律文书不存在于过滤器中的情况下,确定文书库中不存在与法律文书重复的文书,其中,文书库为用于存储获取的法律文书的容器,达到了通过过滤器过滤法律文书是否重复的目的,由于使用过滤器过滤,无需经过文书查找和比对阶段,从而实现了提高法律文书判重的计算效率低的技术效果,进而解决了相关技术中由于使用传统的链表机制来做法律文书是否重复的检测容易造成计算效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的检测法律文书是否重复的方法的流程图;
图2是根据本发明实施例的一种可选的检测法律文书是否重复的装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种检测法律文书是否重复的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的检测法律文书是否重复的方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取待检测的法律文书的案号及法律文书对应的法院信息;
步骤S104,根据案号和法院信息,判断法律文书是否存在于过滤器中,其中,过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;
步骤S106,在判断出法律文书不存在于过滤器中的情况下,确定文书库中不存在与法律文书重复的文书,其中,文书库为用于存储获取的法律文书的容器。
其中,获取法律文书的方式可以包括多种,例如,包括但不限于通过网络爬虫等方式。此处,法律文书可以包括但不限于判决文书,裁定文书,诉讼文书等。在获取某一篇法律文书(以下简称为文书)之后,可以先确定该文书的案号,再根据该案号判断该文书是否已经存在于过滤器中,即是否已经插入该过滤器中了。由于法院等司法机关立案或者作出任何判决、裁定决定后,为了便于登记和识别,都会给相应的文书分配一个案号,因此,将案号作为文书的标识,并使得过滤器基于该标识进行重复检索,可以确定某一篇文书是否已经在一个法律文书集合中了。若否,则确定文书库中还没有与本次获取的文书重复的文书,因此,可以将本次获取的文书入库;若是,则确定文书库中已经有与本次获取的文书重复的文书了,而如果再将本次获取的这篇文书入库,则必然会导致文书库存在重复文书,不仅占用大量空间,而且会导致数据冗余,甚至导致后续数据查询出错,因此,在这种情况下,是不希望再次将该文书入库的。
与基于链表机制判重的技术方案相比,使用过滤器进行过滤,进而对文书进行判重处理,无需逐一查找已经存储的文书,也无需与找到的文书进行一一比对,提高了工作效率,节约了工作时间,达到了快速、高效地判断文书是否重复的目的。
也即,通过本发明实施例,采用过滤器过滤法律文书是否已在文书库中的方式,达到了通过过滤器过滤法律文书是否重复的目的,由于使用过滤器过滤,无需经过文书查找和比对阶段,从而实现了提高法律文书判重的计算效率低的技术效果,进而解决了相关技术中由于使用传统的链表机制来做法律文书是否重复的判断造成的计算效率低的技术问题。
由于地方法院数量逐渐增多,各个区县间的地域简称也可能相同,加上人为的排号错误,单纯由案号作为唯一标识可能会存在一定的重复率。为了解决该问题,在确定法律文书的案号的同时或之后,再确定法律文书对应的法院信息,并根据案号和法院信息判断法律文书是否存在于过滤器中,以确定文书库中不存在与法律文书重复的文书。
也即,在本发明实施例中,采用将法院信息和案号一起作为每一篇文书的唯一标识的方案,代替采用将仅仅将案号作为每一篇文书的唯一标识的方案。由于法院信息加案号能够无限接近于100%来唯一标识一篇文书,因此重复率极低。因此,利用本实施例提供的方法,可以进一步降低判重的失误率。
需要说明的是,法院等司法机关立案后,会对收到案件根据案件的性质进行分类,并进行登记,以及分配对应的案件号码,即案号。如:(2009)威民一字第282号民事判决书,解释为:2009年度,威海民事第282号民事判决书。案号在一定程度上可以作为每篇案件的唯一标识,但是由于地域名称存在简称相同的问题,所以案号可能重复,也就是说,不能完全作为一篇文书的唯一标识。
为了便于对以后获取的文书进行判重处理,避免再次将与本次获取的文书相同的文书存入文书库,导致文书重复入库,可选地,在确定文书库中不存在与法律文书重复的文书之后,上述方法还可以包括:将本次获取的法律文书对应的标识插入过滤器中。
假定需要存储一亿篇文书(目前公开总量为一千五百万篇,一亿已经足够满足业务扩展需要了),先要建立一个十六亿个二进制数,即两亿字节的向量,然后将这十六亿个二进制数全部设置为0。也即,初始状态下,过滤器中尚未插入任何一篇文书时,所有的二进制数全部置0。此后,每插入一篇文书,就将对应的二进制位置1,以便于对以后获取的文书进行判重处理。可选地,将法律文书对应的标识插入过滤器中可以包括:将法律文书对应的标识插入布隆过滤器中,该步骤包括:
S2,根据法律文书的案号及法律文书对应的法院信息,生成N个不同的随机数;
S4,将N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;
S6,将布隆过滤器中与N个自然数对应的二进制位置全部置1,其中,N个自然数对应的二进制位置全部置1表示法律文书对应的标识已插入布隆过滤器中。
其中,上述布隆过滤器可以用于检索一个元素是否在一个集合中,将其应用于文书是否重复的判定流程,则可以检索一篇文书是否在一个法律文书库中,其优点在于控件效率和查询时间都远远超过一般的算法。
以下通过具体实施例详细阐述将一篇新文书插入布隆过滤器的方法,其具体流程如下:
首先,建立一个能够存储一亿篇文书的文书库,并建立一个十六亿个二进制数,即两亿字节的向量,然后将上述十六亿个二进制数全部设置为0;
其次,通过8个不同的随机数产生器(F1,F2,....,F8)产生8个信息指纹(f1,f2,.....,f8)。该f1-f8为1-16e(即1-16亿)的随机数,并且各不相同;
然后,再用一个随机数产生器G将这8个信息指纹(f1,....,f8)映射到1到16e中的8个自然数(g1,....,g8),此时将该8个位置的二进制全部设置为1。
可选地,根据案号和法院信息,判断法律文书是否存在于过滤器中包括:根据案号和法院信息,生成N个不同的随机数;将N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;判断布隆过滤器中与N个自然数对应的二进制位置是否全部为1,其中,若全部为1,则表示法律文书重复,若不全部为1,则表示法律文书不重复。
例如,基于本发明实施例的上述方法,在获取一片新文书后,具体判重流程可以描述如下:
首先,在获取文书后,提取该文书的案号及法院信息;
其次,针对该案号及法院信息,用8个不同的随机数产生器(F1,F2....,F8)产生8个信息指纹(p1,p2,.....,p8),再用随机数产生器G将这8个信息指纹(p1,p2,.....,p8)映射到1到16e中的8个自然数(n1,n2,....,n8),判断n1,n2...,n8是否都为1,如果都为1,则表明已经存在于布隆过滤器中(即重复),否则不重复。
需要说明的是,上述8个不同的随机数产生器(F1,F2....,F8)与随机数产生器G与上述插入布隆过滤器的随机数产生器相同,信息指纹(p1,p2,.....,p8)与8个自然数(n1,n2,....,n8)与上述插入布隆过滤器的数据不一定相同(因为这都是随机数)。
可选地,在确定文书库中不存在与法律文书重复的文书之后,上述方法还可以包括:将法律文书存储到文书库中。
而确定文书库中已经有与本次获取的文书重复的文书后,如果再将本次获取的这篇文书入库,则必然会导致文书库存在重复文书,不仅占用大量空间,而且会导致数据冗余,甚至导致后续数据查询出错,因此,在这种情况下,是不希望再次将该文书入库的。
实施例2
根据本发明实施例,提供了一种检测法律文书是否重复的装置实施例。
图2是根据本发明实施例的一种可选的检测法律文书是否重复的装置的示意图,如图2所示,该装置包括:获取单元202,用于获取待检测的法律文书的案号及法律文书对应的法院信息;判断单元204,用于根据案号和法院信息,判断法律文书是否存在于过滤器中,其中,过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;确定单元206,用于在判断出法律文书不存在于过滤器中的情况下,确定文书库中不存在与法律文书重复的文书,其中,文书库为用于存储获取的法律文书的容器。
其中,获取法律文书的方式可以包括多种,例如,包括但不限于通过网络爬虫等方式。此处,法律文书可以包括但不限于判决文书,裁定文书,诉讼文书等。在获取某一篇法律文书(以下简称为文书)之后,可以先确定该文书的案号,再根据该案号判断该文书是否已经存在于过滤器中,即是否已经插入该过滤器中了。由于法院等司法机关立案或者作出任何判决、裁定决定后,为了便于登记和识别,都会给相应的文书分配一个案号,因此,将案号作为文书的标识,并使得过滤器基于该标识进行重复检索,可以确定某一篇文书是否已经在一个法律文书集合中了。若否,则确定文书库中还没有与本次获取的文书重复的文书,因此,可以将本次获取的文书入库;若是,则确定文书库中已经有与本次获取的文书重复的文书了,而如果再将本次获取的这篇文书入库,则必然会导致文书库存在重复文书,不仅占用大量空间,而且会导致数据冗余,甚至导致后续数据查询出错,因此,在这种情况下,是不希望再次将该文书入库的。
与基于链表机制判重的技术方案相比,使用过滤器进行过滤,进而对文书进行判重处理,无需逐一查找已经存储的文书,也无需与找到的文书进行一一比对,提高了工作效率,节约了工作时间,达到了快速、高效地判断文书是否重复的目的。
也即,通过本发明实施例,采用过滤器过滤法律文书是否已在文书库中的方式,达到了通过过滤器过滤法律文书是否重复的目的,由于使用过滤器过滤,无需经过文书查找和比对阶段,从而实现了提高法律文书判重的计算效率低的技术效果,进而解决了相关技术中由于使用传统的链表机制来做法律文书是否重复的判断造成的计算效率低的技术问题。
由于地方法院数量逐渐增多,各个区县间的地域简称也可能相同,加上人为的排号错误,单纯由案号作为唯一标识可能会存在一定的重复率。为了解决该问题,在确定法律文书的案号的同时或之后,再确定法律文书对应的法院信息,并根据案号和法院信息判断法律文书是否存在于过滤器中,以确定文书库中不存在与法律文书重复的文书。
也即,在本发明实施例中,采用将法院信息和案号一起作为每一篇文书的唯一标识的方案,代替采用将仅仅将案号作为每一篇文书的唯一标识的方案。由于法院信息加案号能够无限接近于100%来唯一标识一篇文书,因此重复率极低。因此,利用本实施例提供的方法,可以进一步降低判重的失误率。
需要说明的是,法院等司法机关立案后,会对收到案件根据案件的性质进行分类,并进行登记,以及分配对应的案件号码,即案号。如:(2009)威民一字第282号民事判决书,解释为:2009年度,威海民事第282号民事判决书。案号在一定程度上可以作为每篇案件的唯一标识,但是由于地域名称存在简称相同的问题,所以案号可能重复,也就是说,不能完全作为一篇文书的唯一标识。
为了便于对以后获取的文书进行判重处理,避免再次将与本次获取的文书相同的文书存入文书库,导致文书重复入库,可选地,上述装置还包括:插入单元,用于在确定文书库中不存在与法律文书重复的文书之后,将法律文书对应的标识插入过滤器中。
假定需要存储一亿篇文书(目前公开总量为一千五百万篇,一亿已经足够满足业务扩展需要了),先要建立一个十六亿个二进制数,即两亿字节的向量,然后将这十六亿个二进制数全部设置为0。也即,初始状态下,过滤器中尚未插入任何一篇文书时,所有的二进制数全部置0。此后,每插入一篇文书,就将对应的二进制位置1,以便于对以后获取的文书进行判重处理。可选地,上述插入单元还用于将法律文书对应的标识插入布隆过滤器中,该插入单元包括:第一生成模块,用于根据法律文书的案号和法律文书对应的法院信息,生成N个不同的随机数;第一映射模块,用于将N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;置位模块,用于将布隆过滤器中与N个自然数对应的二进制位置全部置1,其中,N个自然数对应的二进制位置全部置1表示法律文书对应的标识已插入布隆过滤器中。
其中,上述布隆过滤器可以用于检索一个元素是否在一个集合中,将其应用于文书是否重复的判定流程,则可以检索一篇文书是否在一个法律文书库中,其优点在于控件效率和查询时间都远远超过一般的算法。
以下通过具体实施例详细阐述将一篇新文书插入布隆过滤器的方法,其具体流程如下:
首先,建立一个能够存储一亿篇文书的文书库,并建立一个十六亿个二进制数,即两亿字节的向量,然后将上述十六亿个二进制数全部设置为0;
其次,通过8个不同的随机数产生器(F1,F2,....,F8)产生8个信息指纹(f1,f2,.....,f8)。该f1-f8为1-16e(即1-16亿)的随机数,并且各不相同;
然后,再用一个随机数产生器G将这8个信息指纹(f1,....,f8)映射到1到16e中的8个自然数(g1,....,g8),此时将该8个位置的二进制全部设置为1。
可选地,上述判断单元包括:第二生成模块,用于根据案号和法院信息,生成N个不同的随机数;第二映射模块,用于将N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;判断模块,用于判断布隆过滤器中与N个自然数对应的二进制位置是否全部为1,其中,若全部为1,则表示法律文书重复,若不全部为1,则表示法律文书不重复。
例如,基于本发明实施例的上述方法,在获取一片新文书后,具体判重流程可以描述如下:
首先,在获取文书后,提取该文书的案号及法院信息;
其次,针对该案号及法院信息,用8个不同的随机数产生器(F1,F2....,F8)产生8个信息指纹(p1,p2,.....,p8),再用随机数产生器G将这8个信息指纹(p1,p2,.....,p8)映射到1到16e中的8个自然数(n1,n2,....,n8),判断n1,n2...,n8是否都为1,如果都为1,则表明已经存在于布隆过滤器中(即重复),否则不重复。
需要说明的是,上述8个不同的随机数产生器(F1,F2....,F8)与随机数产生器G与上述插入布隆过滤器的随机数产生器相同,信息指纹(p1,p2,.....,p8)与8个自然数(n1,n2,....,n8)与上述插入布隆过滤器的数据不一定相同(因为这都是随机数)。
可选地,上述装置还包括:存储单元,用于在确定文书库中不存在与法律文书重复的文书之后,将法律文书存储到文书库中。
而确定文书库中已经有与本次获取的文书重复的文书后,如果再将本次获取的这篇文书入库,则必然会导致文书库存在重复文书,不仅占用大量空间,而且会导致数据冗余,甚至导致后续数据查询出错,因此,在这种情况下,是不希望再次将该文书入库的。
判断法律文书是否重复的装置包括处理器和存储器,获取单元、判断单元和确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的程序单元。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数解析文本内容。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取待检测的法律文书的案号及法律文书对应的法院信息;根据案号和法院信息,判断法律文书是否存在于过滤器中,其中,过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;在判断出法律文书不存在于过滤器中的情况下,确定文书库中不存在与法律文书重复的文书,其中,文书库为用于存储获取的法律文书的容器。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种检测法律文书是否重复的方法,其特征在于,包括:
获取待检测的法律文书的案号及所述法律文书对应的法院信息;
根据所述信息,判断所述法律文书是否存在于过滤器中,其中,所述过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;
在判断出所述法律文书不存在于所述过滤器中的情况下,确定文书库中不存在与所述法律文书重复的文书,其中,所述文书库为用于存储获取的法律文书的容器;
其中,根据所述案号和所述法院信息,判断所述法律文书是否存在于过滤器中包括:
根据所述案号和所述法院信息,生成N个不同的随机数;
将所述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;
判断布隆过滤器中与所述N个自然数对应的二进制位置是否全部为1,其中,若全部为1,则表示所述法律文书重复,若不全部为1,则表示所述法律文书不重复,
在确定文书库中不存在与所述法律文书重复的文书之后,所述方法还包括:将所述法律文书对应的标识插入所述过滤器中。
2.根据权利要求1所述的方法,其特征在于,将所述法律文书对应的标识插入所述过滤器中包括:将所述法律文书对应的标识插入布隆过滤器中,该步骤包括:
根据所述法律文书的所述案号及所述法律文书对应的所述法院信息,生成N个不同的随机数;
将所述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;
将所述布隆过滤器中与所述N个自然数对应的二进制位置全部置1,其中,所述N个自然数对应的二进制位置全部置1表示所述法律文书已插入所述布隆过滤器中。
3.根据权利要求1所述的方法,其特征在于,在确定文书库中不存在与所述法律文书重复的文书之后,所述方法还包括:
将所述法律文书存储到所述文书库中。
4.一种检测法律文书是否重复的装置,其特征在于,包括:
获取单元,用于获取待检测的法律文书的案号及所述法律文书对应的法院信息;
判断单元,用于根据所述案号和所述法院信息,判断所述法律文书是否存在于过滤器中,其中,所述过滤器用于检索一篇法律文书是否已经在一个法律文书集合中;
确定单元,用于在判断出所述法律文书不存在于所述过滤器中的情况下,确定文书库中不存在与所述法律文书重复的文书,其中,所述文书库为用于存储获取的法律文书的容器;
其中,所述判断单元包括:
第二生成模块,用于根据所述案号和所述法院信息,生成N个不同的随机数;
第二映射模块,用于将所述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;
判断模块,用于判断布隆过滤器中与所述N个自然数对应的二进制位置是否全部为1,其中,若全部为1,则表示所述法律文书重复,若不全部为1,则表示所述法律文书不重复,
所述装置还包括:插入单元,用于在确定文书库中不存在与所述法律文书重复的文书之后,将所述法律文书对应的标识插入所述过滤器中。
5.根据权利要求4所述的装置,其特征在于,所述插入单元还用于将所述法律文书对应的标识插入布隆过滤器中,该插入单元包括:
第一生成模块,用于根据所述法律文书的所述案号和所述法律文书对应的所述法院信息,生成N个不同的随机数;
第一映射模块,用于将所述N个不同的随机数全部对应映射到预设数值范围内的N个自然数上;
置位模块,用于将所述布隆过滤器中与所述N个自然数对应的二进制位置全部置1,其中,所述N个自然数对应的二进制位置全部置1表示所述法律文书已插入所述布隆过滤器中。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
存储单元,用于在确定文书库中不存在与所述法律文书重复的文书之后,将所述法律文书存储到所述文书库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610786989.2A CN107784022B (zh) | 2016-08-31 | 2016-08-31 | 检测法律文书是否重复的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610786989.2A CN107784022B (zh) | 2016-08-31 | 2016-08-31 | 检测法律文书是否重复的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107784022A CN107784022A (zh) | 2018-03-09 |
CN107784022B true CN107784022B (zh) | 2020-09-15 |
Family
ID=61451277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610786989.2A Active CN107784022B (zh) | 2016-08-31 | 2016-08-31 | 检测法律文书是否重复的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107784022B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446489A (zh) * | 2018-09-11 | 2019-03-08 | 哈尔滨金融学院 | 法律信息重复率检测系统及检测方法 |
CN109933768A (zh) * | 2019-03-11 | 2019-06-25 | 徐鹏 | 一种法律文书智能处理、编写方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809695B2 (en) * | 2004-08-23 | 2010-10-05 | Thomson Reuters Global Resources | Information retrieval systems with duplicate document detection and presentation functions |
US7630982B2 (en) * | 2007-02-24 | 2009-12-08 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
CN102831127B (zh) * | 2011-06-17 | 2015-04-22 | 阿里巴巴集团控股有限公司 | 重复数据处理方法、装置及系统 |
-
2016
- 2016-08-31 CN CN201610786989.2A patent/CN107784022B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107784022A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033105B (zh) | 获取裁判文书焦点的方法和装置 | |
CN102156751B (zh) | 一种提取视频指纹的方法及装置 | |
CN107437038B (zh) | 一种网页篡改的检测方法及装置 | |
US8126850B2 (en) | Method and system for saving database storage space | |
CN101853486B (zh) | 一种基于局部数字指纹的图像拷贝检测方法 | |
CN109145110B (zh) | 标签查询方法和装置 | |
CN107180056B (zh) | 视频中片段的匹配方法和装置 | |
CN107704501B (zh) | 一种识别同源二进制文件的方法及系统 | |
US11036479B2 (en) | Devices, systems, and methods of program identification, isolation, and profile attachment | |
US20210027861A1 (en) | Identifying signature snippets for nucleic acid sequence types | |
CN111241389A (zh) | 基于矩阵的敏感词过滤方法、装置、电子设备、存储介质 | |
CN104463177A (zh) | 相似人脸图片获取方法和装置 | |
Ramadan et al. | Forest-based dynamic sorted neighborhood indexing for real-time entity resolution | |
CN105404627A (zh) | 一种用于确定搜索结果的方法与设备 | |
CN104462396A (zh) | 字符串处理方法和装置 | |
CN107784022B (zh) | 检测法律文书是否重复的方法及装置 | |
CN106611024B (zh) | 文件合并方法和装置 | |
CN110826461A (zh) | 视频内容识别方法、装置、电子设备及存储介质 | |
CN105095436A (zh) | 数据源数据自动建模方法 | |
CN108170691A (zh) | 关联文书的确定方法和装置 | |
CN117216239A (zh) | 文本去重方法、装置、计算机设备及存储介质 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN103810300A (zh) | 用于非索引覆盖的数据查询方法和装置 | |
KR101755980B1 (ko) | 스케일 스페이스 표현에 기반한 유사 영역 검출 방법 및 그 장치 | |
US8370390B1 (en) | Method and apparatus for identifying near-duplicate documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |