Ejemplo n.º 1
0
        # 20180911 ocr데이터 정렬 y축 기준
        ocrData = bUtil.sortArrLocation(ocrData)

        # 문장단위로 for문
        sentences = bUtil.appendSentences(ocrData, bannedWords)

        #bannedword에 상관없이 similar에 사용할 5개 문장 추출
        similarSentence = []
        for item in ocrData:
            similarSentence.append(item)
            if len(similarSentence) == 5:
                break

        if flag == "LEARN_N":
            # 5개 문장으로 DB와 일치하는 notInvoice 확률 측정
            ratio, notInvoiceData = bUtil.classifyDocument(similarSentence)

            # notInvoice 확률이 0.5 이상일경우 notInvoice로 doctype변경후 종료
            if ratio > 0.5 and notInvoiceData == "1":
                obj["docCategory"] = bUtil.selectDocCategory(notInvoiceData)
                insertBatchLearnList(obj["docCategory"]["DOCTYPE"], flag)
                print(re.sub('None', "null", json.dumps(obj)))
                sys.exit(1)

        # 최종 5개 문장이 추출되면 각문장의 단어를 TBL_OCR_SYMSPELL 에 조회후 없으면 INSERT
        bUtil.insertOcrSymspell(sentences)

        # 5개문장의 SID를 EXPORT_SENTENCE_SID 함수를 통해 SID 추출
        sentencesSid = bUtil.getDocSid(sentences)

        # TBL_FORM_MAPPING에 5개문장의 SID를 조회
Ejemplo n.º 2
0
            if not isBanned:
                sentences.append(item)
                if len(sentences) == 5:
                    break

                    # 최종 5개 문장이 추출되면 각문장의 단어를 TBL_OCR_SYMSPELL 에 조회후 없으면 INSERT
        insertOcrSymspell(sentences)

        # 5개문장의 SID를 EXPORT_SENTENCE_SID 함수를 통해 SID 추출
        sentencesSid = getDocSid(sentences)

        # TBL_FORM_MAPPING에 5개문장의 SID를 조회
        formMappingRows = selectFormMapping(sentencesSid)

        # TBL_DOCUMENT_SENTENCE에 5개의 문장 조회
        ratio, documentSentenceDoctype = bUtil.classifyDocument(ocrData)

        # 20180911 doc type 이 1인 경우(NOT INVOICE)는 바로 리턴 EVAL 안함 1이외의 경우는 레이블 정보 추출
        obj = {}

        if formMappingRows:
            obj["docCategory"] = selectDocCategory(formMappingRows[0][0])
        elif documentSentenceDoctype and ratio > 0.2:
            obj["docCategory"] = selectDocCategory(documentSentenceDoctype)
        else:
            obj["docCategory"] = selectDocCategory(0)

        # if formMappingRows and formMappingRows[0][0] == 1:
        #     obj["data"] = ocrData
        #     obj["data"] = colLblDefaultValue(obj["data"])
        # elif formMappingRows and formMappingRows[0][0] == 0: