我们有一个基于 Web 的 Java ESB 应用程序,用于数据转换和处理。在仪表板中,用户可以查看/下载传入的源数据文件。
为了PII数据合规性,我们需要基于正则表达式屏蔽其中的敏感数据信息。用户将在应用程序中定义多个正则表达式模式,我们需要扫描源文件中的这些正则表达式模式并屏蔽敏感数据。
作为解决方案,我们尝试了Chlorine-Finder API,它在某些情况下效果很好,但存在以下问题:
因此,我们正在寻找替代选择。是否还有其他可用于数据屏蔽的 Java 库 - 也可用于二进制文件的库?还有其他建议吗?
请查看pdf去识别解决方案。它支持高达 10k 页的大型多页 PDF(扫描版和数字版)。对于处理一页,在 CPU 上大约需要 200 毫秒,在 GPU 上速度更快。
它基于 Spark 并允许扩展流程:
这是管道示例:
binary_to_image = BinaryToImage() \
.setInputCol("image")
# Define OCR model
image_to_string = ImageToString() \
.setKeepInput(True)
# Define NER model
# for GPU use Device.GPU.value
ner = Ner() \
.setOutputCol("ner") \
.setModel("ApicomPro/deid-bert-onnx-1.2.0")\
.setNumPartitions(1) \
.setDevice(Device.CPU.value) \
.setThreshold(0.0)
image_draw_boxes = ImageDrawBoxes()\
.setInputCols(["image", "ner"]) \
.setOutputCol("image_with_boxes") \
.setFilled(True) \
.setColor("grey") \
.setKeepInput(False) \
.setNumPartitions(32)
image_to_pdf = SingleImageToPdf() \
.setInputCol("image_with_boxes") \
.setOutputCol("single_pdf") \
pdf_assembler = PdfAssembler() \
.setInputCol("single_pdf") \
.setOutputCol("pdf") \
pipeline = PipelineModel(stages=[binary_to_image,
image_to_string,
ner,
image_draw_boxes,
image_to_pdf,
pdf_assembler
])
它也可作为 REST API 服务使用。