算法介绍
互联网中我们可以检索到很多查重算法的理论研究和demo代码,但是在进行大规模商业化应用时必须同时兼顾准确性和性能,使用网络上的公开算法往往达不到要求。XINCHECK® SDK采用了业内认可的ContinuityCheck文本指纹算法和ClauseCheck相似度算法对文本进行查重,经过数年的生产环境验证,兼顾了准确性和计算性能。
查重任务默认使用ContinuityCheck(CheckLevel.NORMAL)作为查重算法。通常您不需要修改,除非您需要调整查重的严格程度。SDK提供五种查重严格程度,严格程度从高到低分别为CheckLevel.VERY_STRICT(非常严格)、CheckLevel.STRICT(严格)、CheckLevel.NORMAL(通用)、CheckLevel.EASY(宽松)、CheckLevel.VERY_EASY(非常宽松),默认为CheckLevel.NORMAL(通用)。
算法的性能指标如下:
内存占用:SDK启动后会占用约50MB常驻内存。比对库中每一千万字次需要约150MB常驻内存。此外,在加载比对库时解析word和pdf文档时所需的动态内存约1~2GB,动态内存在GC后会被回收。
CPU占用:在没有任何任务运行时,SDK不会占用CPU。在进行比对库导入时,如果开启了多线程导入通常会占用约50%的CPU,如果未开启多线程导入通常会占用一个CPU核心。在进行查重任务时,每个待查文本的文本段将占用一个CPU核心,SDK默认将每1万字划分为一个文本段。如果您需要预留部分服务器的CPU资源用于其它服务,可以对SDK进行并发配置,限制SDK的CPU占用。
查重速度:待查文本每万字、比对库每千万字次的情况下秒级出结果
性能数据仅供参考具体还请自行测试。
2020-03-01 00:00:03
目录 返回
首页
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。