摆脱从语料库生成文档的错误

Getting rid of error generating documents from a corpus

我有一组 1000 个文档 - 编码和压缩 - 在 lsm-db 存储在我的计算机上。当我尝试解压缩和解码时,出现 "Incorrect Header Check" 错误。

这就是我正在做的事情:

for key in my_lsm_db.keys():
    print key, zlib.decompress(my_lsm_db[key], zlib.MAX_WBITS|32).decode('utf-8')

处理几个键后,代码抛出错误。我收到的错误是:error: Error -3 while decompressing data: incorrect header check

我想从语料库中删除所有此类错误生成文档。如何识别产生错误的文档,以便删除它们?

def remove_docs(my_lsm_db):
    for key in my_lsm_db.keys():
        ## write code that identifies an error when generated
        if <code that identifies document generating error>:
            del my_lsm_db[key]



下面是一些关于 Zlib 的信息和 MAX_WBITS 部分代码:Zlib Compression, Stack Overflow Answer for Zlib Automatic Header Detection

我尝试在我的代码周围使用 try/except 块来克服此类错误生成文档。它不仅适用于上述代码,还适用于其他内容。

try:
    <code to execute>
except (<list of errors>) as e:
    print e