KR20240101388A - Method and system for distributing model set associated with character recognition - Google Patents
Method and system for distributing model set associated with character recognition Download PDFInfo
- Publication number
- KR20240101388A KR20240101388A KR1020230179892A KR20230179892A KR20240101388A KR 20240101388 A KR20240101388 A KR 20240101388A KR 1020230179892 A KR1020230179892 A KR 1020230179892A KR 20230179892 A KR20230179892 A KR 20230179892A KR 20240101388 A KR20240101388 A KR 20240101388A
- Authority
- KR
- South Korea
- Prior art keywords
- model
- target
- model set
- machine learning
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000010801 machine learning Methods 0.000 claims abstract description 103
- 230000010365 information processing Effects 0.000 claims description 85
- 230000015654 memory Effects 0.000 claims description 62
- 238000012544 monitoring process Methods 0.000 claims description 26
- 238000012360 testing method Methods 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 69
- 238000001514 detection method Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 26
- 238000012549 training Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 21
- 238000013528 artificial neural network Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 210000000225 synapse Anatomy 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 101150117538 Set2 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/12—Detection or correction of errors, e.g. by rescanning the pattern
- G06V30/133—Evaluation of quality of the acquired characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/12—Detection or correction of errors, e.g. by rescanning the pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1916—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Character Discrimination (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
본 개시는 적어도 하나의 프로세서에 의해서 수행되는 문자 인식과 연관된 모델 세트 배포 방법이 제공된다. 이 방법은, 복수의 모델 세트를 생성하는 단계, 생성된 복수의 모델 세트 중에서 배포 대상이 되는 타깃 모델 세트를 결정하는 단계 및 결정된 타깃 모델 세트를 대상 시스템으로 배포하는 단계를 포함하고, 복수의 모델 세트의 각각은 문서 이미지로부터 문자를 인식하도록 구성된 적어도 하나의 기계학습 모델을 포함할 수 있다.The present disclosure provides a method for distributing a model set associated with character recognition performed by at least one processor. This method includes generating a plurality of model sets, determining a target model set to be distributed among the generated plurality of model sets, and distributing the determined target model set to a target system, and generating a plurality of model sets. Each of the sets may include at least one machine learning model configured to recognize characters from document images.
Description
본 개시는 모델 세트를 배포하는 방법에 관한 것으로, 구체적으로 문서 이미지로부터 문자 인식을 수행하기 위한 모델 세트를 배포하는 방법 및 시스템에 관한 것이다.This disclosure relates to a method for distributing a model set, and specifically to a method and system for distributing a model set for performing character recognition from document images.
광학적 문자 인식(Optical Character Recognition) 기술은 인쇄물에 광선을 조사하여, 인쇄물에서 발생되는 광선의 양적 차이에 기초하여 문자를 인식한다. 이러한 광학적 문자 인식은 상품에 부착된 바코드를 인식하는데 사용되고 있다. Optical Character Recognition technology radiates light onto printed matter and recognizes characters based on quantitative differences in the light rays generated from the printed matter. This optical character recognition is used to recognize barcodes attached to products.
한편, 스마트폰이 보급됨에 따라, 스마트폰에 촬영된 이미지를 분석하여, 이미지 내에서 문자를 인식하는 기술도 등장하였다. 대표적으로, 스마트폰을 통해서 명함이 촬영되면, 명함 이미지로부터 성명, 전화번호 등의 데이터가 인식되고, 인식된 성명, 전화번호 등이 자동적으로 주소록이 입력되는 애플리케이션이 개발되어 이용되고 있다.Meanwhile, as smartphones became popular, technology that analyzed images captured on smartphones and recognized characters within the images also emerged. Typically, when a business card is photographed through a smartphone, data such as name and phone number are recognized from the business card image, and an application is developed and used in which the recognized name and phone number are automatically entered into an address book.
또한, 이미지로부터 문자를 인식하는 기계학습 모델이 개발되었다. 기계학습 모델을 통해 이미지로부터 문자를 인식하는 경우에, 문자 인식에 대한 정확도가 향상될 수 있다.Additionally, a machine learning model was developed to recognize characters from images. When recognizing characters from images through a machine learning model, the accuracy of character recognition can be improved.
그런데 입력 데이터의 유형, 컴퓨팅 자원 등의 운영 환경에 의해, 기계학습 모델의 성능도 달라질 수 있다. 예를 들어, 제1 컴퓨팅 시스템에서는 제1 기계학습 모델이 최적의 성능을 발휘할 수 있으나, 제2 컴퓨팅 시스템에서는 제1 기계학습 모델 보다 제2 기계학습 모델이 향상된 성능을 발휘할 수 있다.However, the performance of machine learning models may vary depending on the operating environment, such as the type of input data and computing resources. For example, in a first computing system, a first machine learning model may demonstrate optimal performance, but in a second computing system, a second machine learning model may demonstrate improved performance than the first machine learning model.
이에 따라, 배포 대상이 되는 컴퓨팅 시스템에 적합한 기계학습 모델을 배포할 수 있는 기술에 대한 요구가 발생하고 있다.Accordingly, there is a demand for technology that can deploy machine learning models suitable for the computing system to be deployed.
본 개시는 상기와 같은 문제점을 해결하기 위한 문자 인식과 연관된 모델 세트 배포 방법, 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램, 컴퓨터 판독 가능한 기록 매체 및 장치(시스템)를 제공한다.The present disclosure provides a method for distributing a model set associated with character recognition, a computer program stored in a computer-readable recording medium, a computer-readable recording medium, and a device (system) to solve the above problems.
본 개시는 방법, 장치(시스템) 및/또는 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in various ways, including as a method, device (system), and/or a computer program stored in a computer-readable storage medium.
본 개시의 일 실시예에 따른, 적어도 하나의 프로세서에 의해서 수행되는 문자 인식과 연관된 모델 세트 배포 방법은, 복수의 모델 세트를 생성하는 단계, 생성된 복수의 모델 세트 중에서 배포 대상이 되는 타깃 모델 세트를 결정하는 단계 및 결정된 타깃 모델 세트를 대상 시스템으로 배포하는 단계를 포함하고, 복수의 모델 세트의 각각은 문서 이미지로부터 문자를 인식하도록 구성된 적어도 하나의 기계학습 모델을 포함할 수 있다. According to an embodiment of the present disclosure, a method for distributing a model set associated with character recognition performed by at least one processor includes generating a plurality of model sets, a target model set to be distributed among the plurality of generated model sets. It includes determining and distributing the determined target model set to the target system, and each of the plurality of model sets may include at least one machine learning model configured to recognize characters from document images.
또한, 복수의 모델 세트의 각각은, 문서 이미지에서 문자가 표출된 복수의 영역을 검출하여 출력하도록 구성된 제1 기계학습 모델 및 제1 기계학습 모델로부터 출력된 복수의 영역으로부터 복수의 문자를 인식하여 출력하도록 구성된 제2 기계학습 모델을 포함할 수 있다. In addition, each of the plurality of model sets recognizes a plurality of characters from a first machine learning model configured to detect and output a plurality of regions in which characters are expressed in a document image and a plurality of regions output from the first machine learning model. It may include a second machine learning model configured to output.
또한, 복수의 모델 세트의 각각은 복수의 엔티티에 기초하여 제2 기계학습 모델로부터 출력된 복수의 문자를 구문 분석하여, 복수의 엔티티와 연관된 복수의 타깃 텍스트를 출력하도록 구성된 제3 기계학습 모델을 더 포함할 수 있다. Additionally, each of the plurality of model sets includes a third machine learning model configured to parse a plurality of characters output from the second machine learning model based on the plurality of entities and output a plurality of target texts associated with the plurality of entities. More may be included.
또한, 타깃 모델 세트를 대상 시스템으로 배포하는 단계는, 타깃 모델 세트를 위한 컴퓨팅 자원을 할당하는 단계를 포함하고, 대상 시스템은 할당된 컴퓨팅 자원을 이용하여 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델을 동작시키도록 구성될 수 있다. In addition, the step of distributing the target model set to the target system includes allocating computing resources for the target model set, and the target system performs at least one machine learning program included in the target model set using the allocated computing resources. It can be configured to operate the model.
또한, 모델 세트 배포 방법은, 타깃 모델 세트를 대상 시스템으로 배포하는 단계 이후에, 복수의 문서 이미지가 타깃 모델 세트로 적용되어, 복수의 문서 이미지에 기초하여 복수의 인식 결과가 타깃 모델 세트로부터 출력되기까지의 타깃 모델 세트의 상태를 모니터링하는 단계를 더 포함할 수 있다. In addition, in the model set distribution method, after the step of distributing the target model set to the target system, a plurality of document images are applied as the target model set, and a plurality of recognition results are output from the target model set based on the plurality of document images. It may further include a step of monitoring the status of the target model set.
또한, 타깃 모델 세트를 대상 시스템으로 배포하는 단계는, 타깃 모델 세트에 대한 모니터링 기간을 결정하는 단계를 포함하고, 타깃 모델 세트의 상태를 모니터링하는 단계는, 결정된 모니터링 기간 동안에 타깃 모델 세트의 상태를 모니터링하는 단계를 포함할 수 있다. In addition, the step of distributing the target model set to the target system includes determining a monitoring period for the target model set, and the step of monitoring the state of the target model set includes monitoring the state of the target model set during the determined monitoring period. It may include a monitoring step.
또한, 타깃 모델 세트를 대상 시스템으로 배포하는 단계는, 타깃 모델 세트로 입력되는 문서 이미지의 비율을 결정하는 단계를 포함하고, 전체 문서 이미지 중에서 결정된 비율에 상응하는 개수의 문서 이미지가 타깃 모델 세트로 입력될 수 있다. In addition, the step of distributing the target model set to the target system includes determining the ratio of document images input to the target model set, and the number of document images corresponding to the determined ratio among all document images is transferred to the target model set. can be entered.
또한, 타깃 모델 세트에는 제1 기계학습 모델과 제2 기계학습 모델이 포함되고, 타깃 모델 세트의 상태를 모니터링하는 단계는, 제1 기계학습 모델의 상태와 제2 기계학습 모델의 상태를 모니터링하는 단계를 포함할 수 있다. In addition, the target model set includes a first machine learning model and a second machine learning model, and the step of monitoring the state of the target model set includes monitoring the state of the first machine learning model and the state of the second machine learning model. May include steps.
또한, 복수의 모델 세트의 각각은, 학습에 이용되는 데이터 세트, 학습 방식, 캐릭터 세트 또는 엔티티 세트 중 적어도 하나가 상이할 수 있다. Additionally, each of the plurality of model sets may be different in at least one of a data set used for learning, a learning method, a character set, or an entity set.
또한, 모델 세트 배포 방법은, 복수의 모델 세트의 각각로부터 출력된 데이터와 정답 데이터에 기초하여, 복수의 모델 세트의 각각에 대한 인식 정확도를 산출하는 단계 및 산출된 복수의 모델 세트의 각각에 대한 인식 정확도를 출력하는 단계를 더 포함할 수 있다. In addition, the model set distribution method includes calculating recognition accuracy for each of the plurality of model sets based on data output from each of the plurality of model sets and correct answer data, and calculating recognition accuracy for each of the calculated plurality of model sets. A step of outputting recognition accuracy may be further included.
또한, 모델 세트 배포 방법은, 복수의 모델 세트의 각각에 대한 상태 데이터에 기초하여, 복수의 모델 세트의 각각에 대한 신뢰 점수(confidence score)를 산출하는 단계 및 산출된 복수의 모델 세트의 각각에 대한 신뢰 점수를 출력하는 단계를 더 포함할 수 있다. In addition, the model set distribution method includes calculating a confidence score for each of the plurality of model sets based on state data for each of the plurality of model sets, and calculating a confidence score for each of the calculated plurality of model sets. A step of outputting a trust score may be further included.
또한, 타깃 모델 세트를 결정하는 단계는, 복수의 모델 세트의 각각에 대한 테스트를 수행하는 단계 및 수행된 테스트에 기초하여, 복수의 모델 세트 중에서 타깃 모델 세트를 결정하는 단계를 포함할 수 있다. Additionally, determining the target model set may include performing a test on each of the plurality of model sets and determining a target model set from among the plurality of model sets based on the performed test.
또한, 모델 세트 배포 방법은, 타깃 모델 세트를 결정하는 단계 이후에, 타깃 모델 세트로 문서 이미지를 적용하여, 문서 이미지에 기초한 인식 결과 데이터를 획득하는 단계, 문서 이미지와 인식 결과 데이터에 기초하여 학습용 데이터를 생성하는 단계 및 생성된 학습용 데이터를 타깃 모델 세트로 적용하여, 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델에 대한 추가적인 학습을 진행하는 단계를 더 포함할 수 있다.In addition, the model set distribution method includes, after determining the target model set, applying a document image as the target model set to obtain recognition result data based on the document image, and using the document image and the recognition result data for learning. It may further include generating data and applying the generated training data to a target model set to perform additional learning on at least one machine learning model included in the target model set.
또한, 타깃 모델 세트는, 문서 이미지로부터 문자가 표출된 복수의 서브 영역을 검출하도록 구성된 기계학습 모델을 포함하고, 학습용 데이터를 생성하는 단계는, 기계학습 모델로부터 검출된 복수의 서브 영역을 제공하기 위한 사용자 인터페이스를 출력하는 단계, 사용자 인터페이스에 통해 복수의 서브 영역 중 적어도 하나를 변경하기 위한 사용자 입력을 수신하는 단계 및 사용자 입력에 기초하여 변경된 서브 영역을 정답 데이터로서 결정한 학습용 데이터를 생성하는 단계를 포함할 수 있다. In addition, the target model set includes a machine learning model configured to detect a plurality of sub-areas in which characters are expressed from the document image, and the step of generating training data includes providing a plurality of sub-areas detected from the machine learning model. Outputting a user interface for changing at least one of the plurality of sub-areas through the user interface, and generating learning data that determines the changed sub-area as correct answer data based on the user input. It can be included.
또한, 타깃 모델 세트는, 문서 이미지로부터 복수의 문자를 인식하도록 구성된 기계학습 모델을 포함하고, 학습용 데이터를 생성하는 단계는, 기계학습 모델로부터 인식된 복수의 문자를 제공하기 위한 사용자 인터페이스를 출력하는 단계, 사용자 인터페이스에 통해 복수의 문자 중 적어도 하나를 변경하기 위한 사용자 입력을 수신하는 단계 및 사용자 입력에 기초하여 변경된 문자를 정답 데이터로서 결정한 학습용 데이터를 생성하는 단계를 포함할 수 있다.In addition, the target model set includes a machine learning model configured to recognize a plurality of characters from a document image, and the step of generating training data includes outputting a user interface for providing a plurality of characters recognized from the machine learning model. It may include receiving a user input to change at least one of the plurality of characters through a user interface, and generating learning data that determines the changed character as correct answer data based on the user input.
또한, 타깃 모델 세트는, 문서 이미지로부터 복수의 타깃 텍스트를 인식하도록 구성된 기계학습 모델을 포함하고, 학습용 데이터를 생성하는 단계는, 기계학습 모델로부터 인식된 복수의 타깃 텍스트를 제공하기 위한 사용자 인터페이스를 출력하는 단계, 사용자 인터페이스에 통해 복수의 타깃 텍스트 중 적어도 하나를 변경하기 위한 사용자 입력을 수신하는 단계 및 사용자 입력에 기초하여 변경된 타깃 텍스트를 정답 데이터로서 결정한 학습용 데이터를 생성하는 단계를 포함할 수 있다. In addition, the target model set includes a machine learning model configured to recognize a plurality of target texts from a document image, and the step of generating training data includes a user interface for providing a plurality of target texts recognized from the machine learning model. It may include outputting, receiving a user input to change at least one of a plurality of target texts through a user interface, and generating learning data that determines the changed target text as correct answer data based on the user input. .
또한, 사용자 인터페이스의 제1 영역에는 문서 이미지가 출력되고, 사용자 인터페이스의 제2 영역에는 복수의 엔티티와 관련된 복수의 타깃 텍스트가 출력되고, 복수의 타깃 텍스트 중에서 특정 타깃 텍스트가 선택되면, 선택된 특정 타깃 텍스트와 연관된 적어도 하나의 문자는 제1 영역에서 특정 그래픽 요소를 통해 시각화될 수 있다. In addition, a document image is output in the first area of the user interface, a plurality of target texts related to a plurality of entities are output in the second area of the user interface, and when a specific target text is selected among the plurality of target texts, the selected specific target At least one character associated with the text may be visualized through a specific graphic element in the first area.
또한, 타깃 모델 세트를 결정하는 단계는, 문서 타입에 기초하여 생성된 타깃 모델 세트 중에서 타깃 모델 세트를 결정하는 단계를 포함할 수 있다.Additionally, determining the target model set may include determining the target model set from among the target model sets generated based on the document type.
상술한 모델 세트 배포 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공될 수 있다. In order to execute the above-described model set distribution method on a computer, a computer program stored in a computer-readable recording medium may be provided.
본 개시의 일 실시예에 따른, 정보 처리 시스템은, 메모리 및 메모리와 연결되고, 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로그램은, 복수의 모델 세트를 생성하고, 생성된 복수의 모델 세트 중에서 배포 대상이 되는 타깃 모델 세트를 결정하고, 결정된 타깃 모델 세트를 대상 시스템으로 배포하기 위한 명령어들을 포함하고, 복수의 모델 세트의 각각은 문서 이미지로부터 문자를 인식하도록 구성된 적어도 하나의 기계학습 모델을 포함할 수 있다.According to an embodiment of the present disclosure, an information processing system includes a memory and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory, and the at least one program includes, Generating a plurality of model sets, determining a target model set to be distributed among the generated plurality of model sets, and distributing the determined target model set to the target system; each of the plurality of model sets is a document It may include at least one machine learning model configured to recognize characters from images.
본 개시의 일부 실시예에 따르면, 복수의 모델 세트에 대한 테스트를 진행하고, 테스트 결과에 기초하여 대상 시스템으로 배포되는 타깃 모델 세트가 결정될 수 있다. 이에 따라, 대상 시스템으로 제공된 모델 세트를 통해서, 안정적이고 빠르게 문자 인식이 수행될 수 있다.According to some embodiments of the present disclosure, a test may be performed on a plurality of model sets, and a target model set to be distributed to the target system may be determined based on the test results. Accordingly, character recognition can be performed stably and quickly through the model set provided as the target system.
본 개시의 일부 실시예에 따르면, 배포된 모델 세트가 지정된 기간 동안에 모니터링되어, 모델 세트에 대한 성능이 검증될 수 있다.According to some embodiments of the present disclosure, a deployed model set may be monitored for a specified period of time to verify performance for the model set.
본 개시의 일부 실시예에 따르면, 모델 세트에 포함된 복수의 기계학습 모델의 각각에 대한 상태가 모니터링되어, 문자 인식 과정에서의 성능이 저하되는 기계학습 모델이 정확하게 파악될 수 있다. According to some embodiments of the present disclosure, the status of each of a plurality of machine learning models included in the model set is monitored, so that machine learning models in which performance in the character recognition process deteriorates can be accurately identified.
본 개시의 일부 실시예에 따르면, 모델 세트의 상태에 대한 다양한 통계가 제공될 수 있다. 또한, 복수의 모델 세트가 비교된 정보가 제공될 수 있다. 이에 따라, 정보와 통계 정보에 기초하여, 모델 세트에 대한 상태가 심층적으로 파악될 수 있다. 이를 통해, 모델 세트의 개선할 부분이 정확하게 파악될 수 있다. According to some embodiments of the present disclosure, various statistics about the state of a model set may be provided. Additionally, information comparing multiple model sets may be provided. Accordingly, based on information and statistical information, the state of the model set can be identified in depth. Through this, areas for improvement in the model set can be accurately identified.
본 개시의 일부 실시예에 따르면, 모델 세트에 대한 인식 정확도 및/또는 성능 지표가 산출되고 출력될 수 있다. 인식 정확도 및/또는 성능 지표에 기초하여, 합리적으로 모델 세트가 선택되어 이용될 수 있다. According to some embodiments of the present disclosure, recognition accuracy and/or performance indicators for a model set may be calculated and output. Based on recognition accuracy and/or performance indicators, a set of models may be reasonably selected and used.
본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자('통상의 기술자'라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned are clear to a person skilled in the art (referred to as a ‘person skilled in the art’) in the technical field to which this disclosure pertains from the description of the claims. It will be understandable.
본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 배포 대상이 되는 모델 세트가 선정되는 과정을 설명하기 위한 개요도이다.
도 2는 본 개시의 일 실시예에 따른 정보 처리 시스템과 복수의 통신 단말 간에 통신 가능하도록 연결된 구성을 나타내는 개요도이다.
도 3은 본 개시의 일 실시예에 따른 통신 단말 및 정보 처리 시스템의 내부 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 모델 세트에 포함된 기계학습 모델이 학습되는 방법을 설명하기 위한 예시도이다.
도 5는 본 개시의 일 실시예에 따른 인공신경망 모델을 나타내는 예시도이다.
도 6은 본 개시의 일 실시예에 따른 모델 세트의 학습과 연관된 사용자 인터페이스를 예시하는 도면이다.
도 7은 본 개시의 일 실시예에 따른 모델 세트에 대한 상세 정보를 포함하는 사용자 인터페이스를 예시하는 도면이다.
도 8은 본 개시의 일 실시예에 따른 모델 세트를 배포하기 위한 사용자 인터페이스를 예시하는 도면이다.
도 9는 본 개시의 일 실시예에 따른 신규 모델 세트의 상태를 모니터링하기 위한 사용자 인터페이스를 예시하는 도면이다.
도 10은 본 개시의 일 실시예에 따른 배포된 모델 세트의 신뢰 점수를 포함하는 사용자 인터페이스를 예시하는 도면이다.
도 11은 본 개시의 일 실시예에 따른 모델 세트에 대한 에러 정보가 포함된 사용자 인터페이스를 예시하는 도면이다.
도 12는 본 개시의 일 실시예에 따른 모델 세트에 대한 자원 그룹 상태를 포함하는 사용자 인터페이스를 예시하는 도면이다.
도 13은 본 개시의 일 실시예에 따른 인식 결과와 연관된 사용자 인터페이스를 예시하는 도면이다.
도 14는 본 개시의 일 실시예에 따른 모델 세트의 배포 방법을 설명하기 위한 흐름도이다.Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, in which like reference numerals indicate like elements, but are not limited thereto.
1 is a schematic diagram illustrating a process for selecting a model set to be distributed according to an embodiment of the present disclosure.
Figure 2 is a schematic diagram showing a configuration connected to enable communication between an information processing system and a plurality of communication terminals according to an embodiment of the present disclosure.
Figure 3 is a block diagram showing the internal configuration of a communication terminal and an information processing system according to an embodiment of the present disclosure.
Figure 4 is an example diagram for explaining how a machine learning model included in a model set according to an embodiment of the present disclosure is learned.
Figure 5 is an exemplary diagram showing an artificial neural network model according to an embodiment of the present disclosure.
6 is a diagram illustrating a user interface associated with learning a model set according to an embodiment of the present disclosure.
7 is a diagram illustrating a user interface including detailed information about a model set according to an embodiment of the present disclosure.
8 is a diagram illustrating a user interface for distributing a model set according to an embodiment of the present disclosure.
9 is a diagram illustrating a user interface for monitoring the status of a new model set according to an embodiment of the present disclosure.
10 is a diagram illustrating a user interface including trust scores of a distributed model set according to an embodiment of the present disclosure.
FIG. 11 is a diagram illustrating a user interface including error information for a model set according to an embodiment of the present disclosure.
12 is a diagram illustrating a user interface including resource group status for a model set according to an embodiment of the present disclosure.
Figure 13 is a diagram illustrating a user interface associated with a recognition result according to an embodiment of the present disclosure.
Figure 14 is a flowchart illustrating a method for distributing a model set according to an embodiment of the present disclosure.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, detailed descriptions of well-known functions or configurations will be omitted if there is a risk of unnecessarily obscuring the gist of the present disclosure.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding components are given the same reference numerals. Additionally, in the description of the following embodiments, overlapping descriptions of identical or corresponding components may be omitted. However, even if descriptions of components are omitted, it is not intended that such components are not included in any embodiment.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments and methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the present disclosure is complete and that the present disclosure does not convey the scope of the invention to those skilled in the art. It is provided only for complete information.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification are general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a technician working in the related field, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Accordingly, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of the present disclosure, rather than simply the name of the term.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.In this specification, singular expressions include plural expressions, unless the context clearly specifies the singular. Additionally, plural expressions include singular expressions, unless the context clearly specifies plural expressions. When it is said that a certain part includes a certain element throughout the specification, this does not mean excluding other elements, but may further include other elements, unless specifically stated to the contrary.
또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만, '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.Additionally, the term 'module' or 'unit' used in the specification refers to a software or hardware component, and the 'module' or 'unit' performs certain roles. However, 'module' or 'unit' is not limited to software or hardware. A 'module' or 'unit' may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Thus, as an example, a 'module' or 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions and properties. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. Components and 'modules' or 'parts' may be combined into smaller components and 'modules' or 'parts' or further components and 'modules' or 'parts'. Could be further separated.
본 개시의 일 실시예에 따르면, '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있고, 회로(circuit, circuitry)로 구현될 수 있다. '회로(circuit, circuitry)'와 같은 용어는 하드웨어 상의 회로를 의미하기도 하지만 소프트웨어 상의 회로를 의미할 수도 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 마킹 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to an embodiment of the present disclosure, a 'module' or 'unit' may be implemented with a processor and memory, and may be implemented with a circuit (circuitry). Terms such as 'circuit (circuitry)' can refer to a circuit in hardware, but can also refer to a circuit in software. 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, etc. In some contexts, 'processor' may refer to an application-specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), etc. 'Processor' refers to a combination of processing devices, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in combination with a DSP core, or any other such combination of configurations. You may. Additionally, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' refers to random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), May also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or marking data storage, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read information from and/or write information to the memory. The memory integrated into the processor is in electronic communication with the processor.
본 개시의 일 실시예에 따르면, '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 마킹 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to an embodiment of the present disclosure, a 'module' or 'unit' may be implemented with a processor and memory. 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, etc. In some contexts, 'processor' may refer to an application-specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), etc. 'Processor' refers to a combination of processing devices, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in combination with a DSP core, or any other such combination of configurations. You may. Additionally, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' refers to random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), May also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or marking data storage, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read information from and/or write information to the memory. The memory integrated into the processor is in electronic communication with the processor.
본 개시에서, '시스템'은 서버 장치와 클라우드 장치 중 적어도 하나의 장치를 포함할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 시스템은 하나 이상의 서버 장치로 구성될 수 있다. 다른 예로서, 시스템은 하나 이상의 클라우드 장치로 구성될 수 있다. 또 다른 예로서, 시스템은 서버 장치와 클라우드 장치가 함께 구성되어 동작될 수 있다.In the present disclosure, 'system' may include at least one of a server device and a cloud device, but is not limited thereto. For example, a system may consist of one or more server devices. As another example, a system may consist of one or more cloud devices. As another example, the system may be operated with a server device and a cloud device configured together.
또한, 이하의 실시예들에서 사용되는 제1, 제2, A, B, (a), (b) 등의 용어는 어떤 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지는 않는다.In addition, terms such as first, second, A, B, (a), (b) used in the following embodiments are only used to distinguish one component from another component, and the terms The nature, sequence, or order of the relevant components are not limited.
또한, 이하의 실시예들에서, 어떤 구성요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 또 다른 구성요소가 '연결', '결합' 또는 '접속'될 수도 있다고 이해되어야 한다.Additionally, in the following embodiments, when a component is described as being 'connected', 'coupled' or 'connected' to another component, the component may be directly connected or connected to the other component. , it should be understood that another component may be 'connected', 'combined', or 'connected' between each component.
또한, 이하의 실시예들에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.In addition, as used in the following embodiments, 'comprises' and/or 'comprising' means that the mentioned component, step, operation, and/or element includes one or more other components, steps, or operations. and/or the presence or addition of elements.
본 개시에서, '복수의 A 각각' 은 복수의 A에 포함된 모든 구성 요소의 각각을 지칭하거나, 복수의 A에 포함된 일부 구성 요소의 각각을 지칭할 수 있다.In the present disclosure, 'each of a plurality of A' may refer to each of all components included in a plurality of A, or may refer to each of some components included in a plurality of A.
본 개시의 다양한 실시예들을 설명하기에 앞서, 사용되는 용어에 대하여 설명하기로 하기로 한다.Before describing various embodiments of the present disclosure, the terms used will be explained.
본 개시의 실시예들에서, '문서 이미지'는 인쇄물 형태의 문서가 촬영되거나 스캔되어 생성된 이미지 및 프로그램에 의해 생성된 전자 문서(예컨대, 전자 영수증, 전자 명함, 전자 신분증 등) 관련 이미지를 포함할 수 있다. 문서 이미지에는 적어도 하나의 문자가 포함될 수 있다.In embodiments of the present disclosure, 'document image' includes images generated by photographing or scanning printed documents and images related to electronic documents (e.g., electronic receipts, electronic business cards, electronic identification cards, etc.) generated by programs. can do. A document image may contain at least one character.
본 개시의 실시예들에서, '타깃 텍스트'는 문서 이미지에 포함된 복수의 문자 중에서 추출되어야 하는 단어/문장/어절 등과 관련될 수 있다. 예컨대, 타깃 텍스트는 엔티티 값과 연관된 문자열일 수 있다. In embodiments of the present disclosure, 'target text' may be related to a word/sentence/phrase that must be extracted from a plurality of characters included in a document image. For example, the target text may be a string associated with an entity value.
본 개시의 실시예들에서, '엔티티(entity)'는 타깃 텍스트를 인식하는데, 키(key)가 되는 문자열일 수 있다. 문서에는 복수의 문자가 기록될 수 있는데, 복수의 문자 중에서 타깃 텍스트를 인식하는데 기준이 되는 문자열이 엔티티일 수 있다. 예컨대, 제1 문서가 사업자등록증인 경우, 제1 엔티티는 법인명, 제2 엔티티는 대표자, 제3 엔티티는 사업장 소재지일 수 있으며, 제1 타깃 텍스트는 법인명과 연관되어 기재된 제1 텍스트, 제2 타깃 텍스트는 대표자와 연관되어 기재된 제2 텍스트, 제3 타깃 텍스트는 사업장 소재지와 연관되어 문서에 기재된 제3 텍스트일 수 있다. 데이터베이스의 테이블을 예를 들면, 엔티티는 데이터베이스의 테이블에 포함된 필드명(칼럼명)일 수 있고, 타깃 텍스트는 필드명과 관련된 값/세부 데이터일 수 있다. In embodiments of the present disclosure, 'entity' may be a string that becomes a key for recognizing target text. A plurality of characters may be recorded in a document, and among the plurality of characters, a string that serves as a standard for recognizing the target text may be an entity. For example, if the first document is a business registration certificate, the first entity may be the corporation name, the second entity may be the representative, and the third entity may be the business location, and the first target text may be the first text written in connection with the corporation name, the second entity The target text may be a second text written in connection with the representative, and the third target text may be a third text written in the document in connection with the location of the business. Taking a database table as an example, the entity may be a field name (column name) included in the database table, and the target text may be a value/detailed data related to the field name.
이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings.
도 1은 본 개시의 일 실시예에 따른, 배포 대상이 되는 모델 세트가 선정되는 과정을 설명하기 위한 개요도이다. 도 1에 예시된 바와 같이, 모델 세트 생성 프로세스(110) 동안에 복수의 모델 세트가 생성될 수 있다. 여기서, 복수의 모델 세트의 각각은, 학습에 이용되는 데이터 세트, 학습 방식, 학습 기간, 캐릭터 세트 또는 엔티티 세트 중 적어도 하나가 상이할 수 있다. 또한, 배포 대상 선정 프로세스(120) 동안에 복수의 모델 세트 중에서 고객에게 배포되는 타깃 모델 세트가 결정될 수 있다. 고객은 문자 인식 서비스에 가입된 가입자일 수 있다. 도 1에서는 타깃 모델 세트가 모델 세트_2로 선정된 것으로 예시되어 있다. Figure 1 is a schematic diagram illustrating a process for selecting a model set to be distributed, according to an embodiment of the present disclosure. As illustrated in FIG. 1 , multiple model sets may be created during model set
일 실시예에 따르면, 배포된 모델 세트에 컴퓨팅 자원이 할당되어, 모델 세트는 논리적/물리적으로 독립적인 객체로 동작할 수 있다. 복수의 모델 세트의 각각은 적어도 하나의 기계학습 모델을 포함할 수 있다. 일 실시예에 따르면, 모델 세트는 검출 모델, 인식 모델 또는 파싱 모델(parsing model) 중 적어도 하나를 포함할 수 있다. 검출 모델은 문서 이미지로부터 문자가 표출된 복수의 서브 영역을 검출하도록 구성된 기계학습 모델일 수 있다. 또한, 인식 모델은 복수의 서브 영역의 각각으로부터 복수의 문자를 인식하도록 구성된 기계학습 모델일 수 있다. 또한, 파싱 모델은 인식 모델로부터 출력된 복수의 문자를 구문분석(parsing)하여 복수의 타깃 텍스트를 추출하고, 추출된 적어도 하나의 타깃 텍스트를 포함하는 인식 결과 데이터를 출력하도록 구성된 기계학습 모델일 수 있다. According to one embodiment, computing resources are allocated to the distributed model set, so that the model set can operate as a logically/physically independent object. Each of the plurality of model sets may include at least one machine learning model. According to one embodiment, the model set may include at least one of a detection model, a recognition model, or a parsing model. The detection model may be a machine learning model configured to detect a plurality of sub-areas in which characters are expressed from a document image. Additionally, the recognition model may be a machine learning model configured to recognize a plurality of characters from each of a plurality of sub-areas. In addition, the parsing model may be a machine learning model configured to extract a plurality of target texts by parsing a plurality of characters output from the recognition model, and output recognition result data including at least one extracted target text. there is.
일 실시예에 따르면, 파싱 모델은 엔티티 세트에 기초하여, 입력된 복수의 문자를 구문 분석하여 복수의 타깃 텍스트를 추출할 수 있다. 엔티티 세트는 복수의 엔티티를 포함할 수 있다. 파싱 모델은 입력된 복수의 문자 중에서, 엔티티 세트에 포함된 복수의 엔티티의 각각과 연관된 문자열을 타깃 텍스트로서 추출할 수 있다. 가령, 파싱 모델은 엔티티 세트에 '사업자 등록번호'라는 엔티티가 포함된 경우, 입력된 복수의 문자 중에서 사업자 등록번호에 대한 세부 데이터를 나타내는 문자열을 타깃 텍스트로서 추출할 수 있다. According to one embodiment, the parsing model may extract a plurality of target texts by parsing a plurality of input characters based on an entity set. An entity set may contain multiple entities. The parsing model can extract a string associated with each of the plurality of entities included in the entity set as the target text from among the plurality of input characters. For example, when the entity set includes an entity called 'business registration number', the parsing model can extract a string representing detailed data about the business registration number from a plurality of input characters as the target text.
일 실시예에 따르면, 모델 세트에 할당된 컴퓨팅 자원이 이용되어, 문서 이미지가 분석되어 문자가 인식될 수 있다. 도 4 및 도 5를 참조하여 모델 세트에 포함된 기계학습 모델이 미리 학습되는 방법에 대해서 설명하기로 한다.According to one embodiment, computing resources allocated to the model set may be used to analyze document images to recognize characters. With reference to FIGS. 4 and 5 , a method for pre-training a machine learning model included in a model set will be described.
도 2는 본 개시의 일 실시예에 따른 정보 처리 시스템(230)과 복수의 통신 단말(210_1, 210_2, 210_3) 간에 통신 가능하도록 연결된 구성(200)을 나타내는 개요도이다. 도 2에 도시된 바와 같이, 복수의 통신 단말(210_1, 210_2, 210_3)은 네트워크(220)를 통해 정보 처리 시스템(230)과 통신할 수 있다. 또한, 정보 처리 시스템(230)은 문자 인식 토탈 서비스를 제공하기 위한 시스템일 수 있다. 일 실시예에 따르면, 정보 처리 시스템(230)은 대량의 컴퓨팅 자원을 포함할 수 있고, 전체 컴퓨팅 자원 중에서 일부를 모델 세트를 동작시키기 위한 자원으로 할당할 수 있다. 몇몇 실시예에 따르면, 정보 처리 시스템(230)은 모델 세트를 문자 인식 토탈 서비스에 가입한 고객사의 컴퓨팅 시스템(미도시)으로 전송할 수 있다. 여기서, 고객사의 컴퓨팅 시스템은 고객 전산실에 포함된 서버, 저장장치 등을 포함할 수 있다. 여기서, 모델 세트를 고객사의 컴퓨팅 시스템으로 전송하는 것은, 모델 세트를 동작시키기 위한 소프트웨어(예컨대, 프로그래밍 코드, 데이터 세트, 엔티티 세트 등)를 고객사의 컴퓨팅 시스템으로 전송하는 것일 수 있다.Figure 2 is a schematic diagram showing a configuration 200 connected to enable communication between an
네트워크(220)는 복수의 통신 단말(210_1, 210_2, 210_3) 및 정보 처리 시스템(230) 사이의 통신이 가능하도록 구성될 수 있다. 네트워크(220)는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크(220), 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크(220) 또는 그 조합으로 구성될 수 있다. 통신 방식은 제한되지 않으며, 네트워크(220)가 포함할 수 있는 통신망(예를 들어, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 통신 단말(210_1, 210_2, 210_3) 사이의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(220)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(220)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The
일 실시예에서, 정보 처리 시스템(230)은 컴퓨터 실행 가능한 프로그램(예를 들어, 다운로드 가능한 애플리케이션) 및 데이터를 저장, 제공 및 실행할 수 있는 하나 이상의 서버 장치 및/또는 데이터베이스, 또는 클라우드 컴퓨팅 서비스 기반의 하나 이상의 분산 컴퓨팅 장치 및/또는 분산 데이터베이스를 포함할 수 있다. 정보 처리 시스템(230)은 복수의 기계학습 모델의 각각에 대한 사전 학습(pre-training)을 수행할 수 있다. 여기서, 복수의 기계학습 모델의 각각은 문서 유형에 기초하여 학습된 모델일 수 있다. 예를 들어, 제1 기계학습 모델은 제1 유형의 문서 이미지로부터 문자를 인식하도록 학습된 모델이고, 제2 기계학습 모델은 제2 유형의 문서 이미지로부터 문자를 인식하도록 학습된 모델일 수 있다. In one embodiment,
일 실시예에 따르면, 정보 처리 시스템(230)은 복수의 기계학습 모델의 각각을 학습시키기 위한 데이터 세트를 저장할 수 있다. 또한, 정보 처리 시스템(230)은 복수의 기계학습 모델의 각각에 적용되는 캐릭터 세트를 저장할 수 있다. 추가적으로, 정보 처리 시스템(230)은 복수의 기계학습 모델의 각각에 적용되는 엔티티 세트를 포함할 수 있다. According to one embodiment, the
기계학습 모델, 데이터 세트, 캐릭터 세트 및 엔티티 세트 각각에는 문서 유형과 연관될 수 있다. 예를 들어, 제1 데이터 세트, 제1 기계학습 모델, 제1 캐릭터 세트 및 제1 엔티티 세트는 제1 유형의 문서와 연관될 수 있고, 제2 데이터 세트, 제2 기계학습 모델, 제2 캐릭터 세트 및 제2 엔티티 세트는 제2 유형의 문서와 연관될 수 있다. Machine learning models, data sets, character sets, and entity sets can each be associated with a document type. For example, a first data set, a first machine learning model, a first set of characters, and a first set of entities may be associated with a first type of document, and a second data set, a second machine learning model, and a second character The set and the second entity set may be associated with a second type of document.
정보 처리 시스템(230)은 문자 인식 토탈 솔루션을 제공할 수 있다. 일 실시예에 따르면, 정보 처리 시스템(230)은 복수의 모델 세트를 생성하고, 복수의 모델 세트의 각각에 대한 사전 학습을 수행할 수 있다. 또한, 정보 처리 시스템(230)은 복수의 모델 세트 중에서 고객에 배포할 타깃 모델 세트를 결정하고, 결정된 타깃 모델 세트를 대상 시스템으로 배포할 수 있다. 여기서, 대상 시스템은 정보 처리 시스템(230)에 포함된 컴퓨팅 자원을 포함하여 구성된 컴퓨팅 시스템일 수 있다. 다른 예로서, 대상 시스템은 고객사의 전산실에 포함된 컴퓨팅 시스템일 수 있다. 일 실시예에서, 대상 시스템은 배포된 타깃 모델 세트를 이용하여, 통신 단말(210_1, 210_2, 210_3)로부터 수신한 문서 이미지로부터 복수의 문자 및/또는 타깃 텍스트를 인식할 수 있다. The
일 실시예에 따르면, 정보 처리 시스템(230)은 복수의 모델 세트의 각각에 대해서 테스트를 진행한 후에, 테스트 결과에 기초하여 타깃 모델 세트를 결정할 수 있다. 여기서, 테스트는 복수의 문서 이미지를 기초로 수행되는 모델 세트에 대한 테스트일 수 있다. 또한, 복수의 문서 이미지를 통신 단말로부터 수신되는 이미지 및 정보 처리 시스템에서 저장중인 문서 이미지를 포함할 수 있다. 몇몇 실시예에 따르면, 복수의 문서 이미지가 복수의 모델 세트의 각각에 동일하게 적용되어, 테스트가 진행될 수 있다.According to one embodiment, the
일 실시예에 따르면, 테스트 결과에 기초하여, 복수의 모델 세트의 각각에 대한 평가 데이터가 획득될 수 있다. 평가 데이터는 모델 세트의 지연 시간의 평균 값, 에러 횟수, 모델 세트의 인식 정확도 또는 모델 세트의 신뢰 점수(confidence score) 중 적어도 하나를 포함할 수 있다. 여기서, 지연 시간은 문서 이미지가 입력되고 문자 인식 결과(예컨대, 파싱 데이터)가 출력되기까지의 소요 시간일 수 있다. 정보 처리 시스템은 문서 이미지가 모델 세트로 입력된 시점에서부터 인식 결과 데이터가 모델 세트로부터 출력되기까지의 시간을 지연 시간으로서 측정할 수 있다. According to one embodiment, based on test results, evaluation data for each of a plurality of model sets may be obtained. The evaluation data may include at least one of the average delay time of the model set, the number of errors, the recognition accuracy of the model set, or the confidence score of the model set. Here, the delay time may be the time required from the document image being input to the character recognition result (eg, parsing data) being output. The information processing system can measure the time from when a document image is input to the model set until recognition result data is output from the model set as delay time.
인식 정확도는 모델 세트에서 인식된 타깃 텍스트와 정답 데이터 간의 일치 정도를 정량화한 값일 수 있다. 일 실시예에 따르면, 인식 정확도는 라벨링된 테스트 데이터 세트를 모델 세트에 적용하여 측정될 수 있다. 여기서, 라벨링된 테스트 데이터 세트는 정답 데이터와 연관된 복수의 테스트 데이터를 포함한 것일 수 있다. 모델 세트에 대한 인식 정확도가 산출되는 구체적인 예시는 도 6을 참조하여 후술하기로 한다.Recognition accuracy may be a value that quantifies the degree of agreement between the target text recognized in the model set and the correct answer data. According to one embodiment, recognition accuracy may be measured by applying a labeled test data set to a model set. Here, the labeled test data set may include a plurality of test data associated with the correct answer data. A specific example of calculating recognition accuracy for a model set will be described later with reference to FIG. 6.
신뢰 점수는 정확도와 연관된 확률일 수 있다. 즉, 신뢰 점수는 예측된 값과 연관될 수 있고, 인식 정확도는 기준이 되는 정답 데이터과의 일치율과 연관될 수 있다. 신뢰 점수가 산출되는 구체적인 예시는 도 10을 참조하여 후술하기로 한다. The confidence score may be a probability associated with accuracy. In other words, the confidence score can be related to the predicted value, and the recognition accuracy can be related to the match rate with the standard correct answer data. A specific example of how the trust score is calculated will be described later with reference to FIG. 10.
복수의 모델 세트의 각각의 평가 데이터에 기초하여, 복수의 모델 세트의 각각에 대한 성능 지표가 산출되어 출력될 수 있고, 산출된 복수의 성능 지표에 기초하여, 복수의 모델 세트 중에서 타깃 모델 세트가 결정될 수 있다. 평가 데이터에 포함된 모델 세트에 대한 신뢰 점수, 모델 세트의 인식 정확도, 에러 횟수, 자원 그룹 상태 또는 지연 시간 중 적어도 하나에 기초하여, 모델 세트에 대한 성능 지표가 산출될 수 있다. 예컨대, 정보 처리 시스템은 테스트를 진행하는 동안에 수집된 특정 모델 세트에 대한 복수의 상태 데이터에 기초하여, 지연 시간의 평균 값, 에러 횟수 및 타깃 텍스트별 신뢰 점수 평균 값을 산출할 수 있다. 여기서, 상태 데이터는 모델 세트가 동작하는 동안에 수집된 데이터로서, 지연 시간, 에러 발생 유무 및 타깃 텍스트별 신뢰 점수를 포함할 수 있다. Based on the evaluation data of each of the plurality of model sets, performance indicators for each of the plurality of model sets may be calculated and output, and based on the calculated plurality of performance indicators, a target model set among the plurality of model sets may be selected. can be decided. A performance indicator for the model set may be calculated based on at least one of a trust score for the model set included in the evaluation data, recognition accuracy of the model set, number of errors, resource group status, or delay time. For example, the information processing system may calculate the average value of delay time, number of errors, and average trust score for each target text based on a plurality of state data for a specific model set collected during testing. Here, the state data is data collected while the model set is operating and may include delay time, whether an error occurred, and a trust score for each target text.
또한, 정보 처리 시스템은 타깃 텍스트별 신뢰 점수 평균 값을 가중 합산하여, 특정 모델 세트에 대한 신뢰 점수를 산출할 수 있다. 이때, 가중치가 타깃 텍스트별로 동일하게 적용될 수 있고, 또는 중요 타깃 텍스트에 더 높은 가중치가 적용될 수 있다. 일 실시예에 따르면, 정보 처리 시스템은 지연 시간의 평균 값, 에러 횟수 및 모델 세트에 대한 신뢰 점수를 포함하는 평가 데이터를 생성할 수 있다. 또한, 정보 처리 시스템은 평가 데이터에 포함된 지연 시간의 평균 값, 에러 횟수, 특정 모델 세트에 대한 신뢰 점수 또는 모델 세트의 인식 정확도 중 적어도 하나에 기초로, 특정 모델 세트에 대한 성능 지표를 산출할 수 있다. 예컨대, 정보 처리 시스템은 지연 시간의 평균 값에 제1 가중치를 적용하고 에러 횟수에 제2 가중치를 적용하고 신뢰 점수에 제3 가중치를 적용하고, 모델 세트의 인식 정확도에 제4 가중치를 적용한 후, 가중치가 적용된 지연 시간의 평균값, 에러 횟수, 신뢰 점수 및 인식 정확도를 합산함으로써, 특정 모델 세트에 대한 성능 지표를 산출할 수 있다. 성능 지표의 크기가 지연 시간의 평균값에 반비례하고, 신뢰 점수에 비레하고, 인식 정확도에 비례하고, 에러 횟수에 반비례하도록, 가중치가 적용될 수 있다. 정보 처리 시스템(230)은 성능 지표가 가장 높은 모델 세트를 배포 대상이 되는 타깃 모델 세트로 결정할 수 있다. Additionally, the information processing system can calculate a trust score for a specific model set by weighting and summing the average trust score for each target text. At this time, the weight may be applied equally to each target text, or a higher weight may be applied to important target texts. According to one embodiment, the information processing system may generate evaluation data including average values of latency, number of errors, and confidence scores for a set of models. In addition, the information processing system may calculate a performance indicator for a specific model set based on at least one of the average value of the delay time included in the evaluation data, the number of errors, the confidence score for the specific model set, or the recognition accuracy of the model set. You can. For example, the information processing system applies a first weight to the average value of the delay time, a second weight to the number of errors, a third weight to the confidence score, and a fourth weight to the recognition accuracy of the model set, By summing the average weighted delay time, number of errors, confidence score, and recognition accuracy, performance metrics for a specific model set can be calculated. Weights may be applied so that the size of the performance indicator is inversely proportional to the average value of delay time, proportional to the confidence score, proportional to recognition accuracy, and inversely proportional to the number of errors. The
몇몇 실시예에 따르면, 정보 처리 시스템(230)은 문서 타입에 기초하여, 복수의 모델 세트 중에서 타깃 모델 세트를 결정할 수 있다. 예를 들어, 정보 처리 시스템(230)은 고객으로부터 분석 대상이 되는 문서 유형을 수신하고, 수신된 문서 유형과 연관된 모델 세트를 타깃 모델 세트로 결정할 수 있다. 가령, 문서 유형으로서 영수증이 수신되는 경우, 정보 처리 시스템은 영수증과 연관된 모델 세트를 타깃 모델 세트로 결정할 수 있다. According to some embodiments, the
몇몇 실시예에 따르면, 정보 처리 시스템(230)은 타깃 모델 세트를 결정하기 위한 사용자 입력에 기초하여, 복수의 모델 세트 중에서 타깃 모델 세트를 결정할 수 있다. 예컨대, 고객은 복수의 모델 세트 중에서 자신에게 필요한 모델을 타깃 모델 세트로서 결정하기 위한 사용자 입력을 정보 처리 시스템(230)으로 전송할 수 있다. According to some embodiments, the
일 실시예에 따르면, 정보 처리 시스템(230)은 타깃 모델 세트를 배포할 때, 타깃 모델 세트와 연관된 캐릭터 세트(character set), 엔티티 세트 또는 데이터 세트 중 적어도 하나를 대상 시스템으로 전송할 수 있다. 여기서, 캐릭터 세트는 인식대상이 되는 언어 또는 복수의 특수 문자 중 적어도 하나를 포함할 수 있다. 또한, 엔티티 세트는 복수의 엔티티를 포함할 수 있다. 또한, 정보 처리 시스템(230)은 타깃 모델 세트에 할당되는 컴퓨팅 자원을 결정할 수 있다. 이 경우, 대상 시스템은 결정된 컴퓨터 자원을 이용하여 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델을 동작시킬 수 있다.According to one embodiment, when distributing the target model set, the
일 실시예에 따르면, 정보 처리 시스템(230)은 배포된 타깃 모델 세트 또는 새롭게 생성된 모델 세트 중 적어도 하나의 동작 상태를 모니터링할 수 있다. 가령, 타깃 모델 세트가 동작되면, 대상 시스템은 타깃 모델 세트에 포함된 적어도 하나의 모델 세트의 각각에 대한 상태 데이터를 정보 처리 시스템(230)으로 전송하고, 정보 처리 시스템(230)은 수신된 상태 데이터에 기초하여 타깃 모델 세트의 동작 상태를 모니터링할 수 있다. According to one embodiment, the
통신 단말(210_1, 210_2, 210_3)은 문서 이미지를 촬영, 수신 및/또는 수집하여 정보 처리 시스템(230)으로 전송할 수 있다. 도 2에서 휴대폰 또는 스마트폰(210_1), 태블릿 컴퓨터(210_2) 및 랩탑 또는 데스크탑 컴퓨터(210_3)가 문서 이미지를 정보 처리 시스템(230)으로 전송하는 단말의 예로 도시되었으나, 이에 한정되지 않으며, 통신 단말(210_1, 210_2, 210_3)은 유선 및/또는 무선 통신이 가능하고 웹 브라우저, 모바일 브라우저 애플리케이션 또는 문자 인식 애플리케이션이 실행될 수 있는 임의의 컴퓨팅 장치일 수 있다. 또한, 도 2에는 3개의 통신 단말(210_1, 210_2, 210_3)이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하는 것으로 도시되어 있으나, 이에 한정되지 않으며, 상이한 수의 통신 단말이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하도록 구성될 수도 있다.Communication terminals 210_1, 210_2, and 210_3 may capture, receive, and/or collect document images and transmit them to the
일부 실시예에서, 통신 단말(210_1, 210_2, 210_3)은 문서 이미지를 정보 처리 시스템(230)으로 제공한 후, 문서 이미지로부터 인식된 복수의 문자 및/또는 타깃 텍스트를 정보 처리 시스템(230)으로부터 수신할 수 있다. In some embodiments, the communication terminals 210_1, 210_2, and 210_3 provide a document image to the
일부 실시예에서, 통신 단말(210_1, 210_2, 210_3)은 매장에 설치된 POS(Point of Sale) 단말일 수 있다. 통신 단말(210_1, 210_2, 210_3)은 상품에 대한 결제가 완료되면, 영수증 이미지를 생성하여 정보 처리 시스템(230)으로 전송할 수 있다.In some embodiments, the communication terminals 210_1, 210_2, and 210_3 may be point of sale (POS) terminals installed in a store. When payment for a product is completed, the communication terminals 210_1, 210_2, and 210_3 may generate a receipt image and transmit it to the
일 실시예에 따르면, 사용자 인터페이스가 이용되어, 모델 세트에 대한 다양한 정보가 획득될 수 있다. 고객은 사용자 인터페이스를 이용하여, 모델 세트에 대한 정보를 획득하고, 모델 세트의 상태를 파악할 수 있다. 모델 세트와 연관된 사용자 인터페이스에 대한 다양한 예시는 도 6 내지 도 13을 참조하여 후술하기로 한다. 이러한 사용자 인터페이스는 정보 처리 시스템(230) 및/또는 대상 시스템을 통해 제공될 수 있다. According to one embodiment, a user interface may be used to obtain various information about the model set. Customers can use the user interface to obtain information about the model set and check the status of the model set. Various examples of user interfaces associated with model sets will be described later with reference to FIGS. 6 to 13. This user interface may be provided through the
정보 처리 시스템(230)은 데이터베이스를 포함할 수 있다. 데이터베이스는 복수의 상태 데이터를 저장할 수 있다. 여기서, 상태 데이터는 모델 세트와 상태와 연관된 데이터일 수 있다. 또한, 데이터베이스는 모델 세트의 동작과 연관된 임의의 로그 데이터를 저장할 수 있다. 예를 들어, 로그 데이터는 리퀘스트 수신 시각, 응답 메시지 전송 시각, 지연 시간 등을 포함할 수 있으나, 이에 한정되지 않는다.
배포된 모델 세트 또는 신규 모델 세트 중 적어도 하나의 상태가 미리 결정된 기간 동안에 모니터링될 수 있다. 모니터링된 모델 세트의 상태에 기초하여, 배포된 모델 세트/신규 모델 세트가 대상 시스템에서 최종적으로 사용될지가 결정될 수 있다. 대상 시스템에서 사용하기로 결정된 모델 세트가 기존에 사용중인 모델 세트를 대체하고, 대체된 모델 세트로 문서 이미지가 적용되어, 문서 이미지에 포함된 문자에 대한 인식이 수행될 수 있다. The status of at least one of the deployed model set or the new model set may be monitored for a predetermined period of time. Based on the status of the monitored model set, it may be determined whether the deployed model set/new model set will ultimately be used in the target system. The model set decided to be used in the target system replaces the model set already in use, and the document image is applied to the replaced model set, so that recognition of characters included in the document image can be performed.
도 3은 본 개시의 일 실시예에 따른 통신 단말(210) 및 정보 처리 시스템(230)의 내부 구성을 나타내는 블록도이다. 통신 단말(210)은 유/무선 통신이 가능한 임의의 컴퓨팅 장치를 지칭할 수 있으며, 예를 들어, 도 2의 휴대폰 또는 스마트폰(210_1), 태블릿 컴퓨터(210_2), 랩탑 또는 데스크탑 컴퓨터(210_3) 등을 포함할 수 있다. 도시된 바와 같이, 통신 단말(210)은 메모리(312), 프로세서(314), 통신 모듈(316) 및 입출력 인터페이스(318)를 포함할 수 있다. 이와 유사하게, 정보 처리 시스템(230)은 메모리(332), 프로세서(334), 통신 모듈(336) 및 입출력 인터페이스(338)를 포함할 수 있다. 도 3에서 도시된 바와 같이, 통신 단말(210) 및 정보 처리 시스템(230)은 각각의 통신 모듈(316, 336)을 이용하여 네트워크(220)를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다. 또한, 입출력 장치(320)는 입출력 인터페이스(318)를 통해 통신 단말(210)에 정보 및/또는 데이터를 입력하거나 통신 단말(210)로부터 생성된 정보 및/또는 데이터를 출력하도록 구성될 수 있다.Figure 3 is a block diagram showing the internal configuration of a communication terminal 210 and an
메모리(312, 332)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(312, 332)는 ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 통신 단말(210) 또는 정보 처리 시스템(230)에 포함될 수 있다. 또한, 메모리(312, 332)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 문서 이미지로부터 문자를 인식하기 위한 코드 등)가 저장될 수 있다.
이러한 소프트웨어 구성요소들은 메모리(312, 332)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독가능한 기록매체는 이러한 통신 단말(210) 및 정보 처리 시스템(230)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈을 통해 메모리(312, 332)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 애플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(220)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(예: 문자 인식을 위한 프로그램)에 기반하여 메모리(312, 332)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the
프로세서(314, 334)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(312, 332) 또는 통신 모듈(316, 336)에 의해 프로세서(314, 334)로 제공될 수 있다. 예를 들어, 프로세서(314, 334)는 메모리(312, 332)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The
통신 모듈(316, 336)은 네트워크(220)를 통해 통신 단말(210)과 정보 처리 시스템(230)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 통신 단말(210) 및/또는 정보 처리 시스템(230)이 다른 통신 단말 또는 다른 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 통신 단말(210)의 프로세서(314)가 메모리(312) 등과 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(예를 들어, 문자 인식 요청 등)은 통신 모듈(316)의 제어에 따라 네트워크(220)를 통해 정보 처리 시스템(230)으로 전달될 수 있다. 역으로, 정보 처리 시스템(230)의 프로세서(334)의 제어에 따라 제공되는 제어 신호나 명령이 통신 모듈(336)과 네트워크(220)를 거쳐 통신 단말(210)의 통신 모듈(316)을 통해 통신 단말(210)에 수신될 수 있다.The
입출력 인터페이스(318)는 입출력 장치(320)와의 인터페이스를 위한 수단일 수 있다. 일 예로서, 입력 장치는 키보드, 마이크로폰, 마우스, 이미지 센서를 포함한 카메라 등의 장치를 포함하고, 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로, 입출력 인터페이스(318)는 터치스크린 등과 같이 입력과 출력을 수행하기 위한 구성 또는 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 통신 단말(210)의 프로세서(314)가 메모리(312)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 정보 처리 시스템(230)이나 다른 통신 단말이 제공하는 정보 및/또는 데이터를 이용하여 구성되는 서비스 화면이 입출력 인터페이스(318)를 통해 디스플레이에 표시될 수 있다.The input/
도 3에서는 입출력 장치(320)가 통신 단말(210)에 포함되지 않도록 도시되어 있으나, 이에 한정되지 않으며, 통신 단말(210)과 하나의 장치로 구성될 수 있다. 또한, 정보 처리 시스템(230)의 입출력 인터페이스(338)는 정보 처리 시스템(230)과 연결되거나 정보 처리 시스템(230)이 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 3에서는 입출력 인터페이스(318, 338)가 프로세서(314, 334)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(318, 338)가 프로세서(314, 334)에 포함되도록 구성될 수 있다.In FIG. 3 , the input/
통신 단말(210) 및 정보 처리 시스템(230)은 도 3의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래 기술적 구성요소들을 명확하게 도시할 필요성은 없다. 일 실시예에 따르면, 통신 단말(210)은 상술된 입출력 장치(320) 중 적어도 일부를 포함하도록 구현될 수 있다. 또한, 통신 단말(210)은 트랜시버(transceiver), GPS(Global Positioning system) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수 있다. Communication terminal 210 and
정보 처리 시스템(230)의 프로세서(334)는 통신 단말(210)을 포함한 복수의 통신 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 프로세서(334)에 의해 처리된 정보 및/또는 데이터는 통신 모듈(336)을 통해 통신 단말(210)에 제공할 수 있다. 일 실시예에서, 프로세서(334)는 통신 모듈(336)을 통해, 모델 세트와 연관된 자원을 고객에게 배포할 수 있다. 배포된 모델 세트와 연관된 자원에는 하드웨어 자원 및/또는 소프트웨어 자원이 포함될 수 있고, 하드웨어 자원 및/또는 소프트웨어 자원이 이용되어 통신 단말(210), 메모리(332) 및/또는 외부 저장 장치로부터 문서 이미지가 수신되고, 문서 이미지로부터 복수의 문자가 인식될 수 있다. The
가령, 정보 처리 시스템(230)은 클라우드 컴퓨팅 시스템을 포함할 수 있고, 배포된 모델 세트를 위해서 클라우드 컴퓨팅 시스템에 포함된 일부 하드웨어를 할당한 후, 할당된 하드웨어로 모델 세트와 연관된 소프트웨어 자원을 전송할 수 있다. 다른 예로서, 고객이 별도의 컴퓨팅 시스템을 소유하고 있는 경우, 정보 처리 시스템(230)은 모델 세트와 연관된 자원을 고객의 컴퓨팅 시스템으로 전송할 수 있다. 이 경우, 고객의 컴퓨팅 시스템을 통해 문자 인식 서비스가 제공될 수 있다.For example, the
도 4는 본 개시의 일 실시예에 따른, 모델 세트(410)에 포함된 기계학습 모델(412, 414, 416)이 학습되는 방법을 설명하기 위한 예시도이다. 도 4에 예시된 바와 같이, 복수의 학습용 이미지(420_1 내지 420_n)와 정답 데이터(440)를 포함하는 데이터 세트가 이용되어 모델 세트(410)에 포함된 검출 모델(412), 인식 모델(414) 및 파싱 모델(416)이 학습될 수 있다. 여기서, 검출 모델(412), 인식 모델(414) 및 파싱 모델(416)은 기계학습 모델(예를 들어, 인공신경망 등)을 포함할 수 있다. 도 4에서는 검출 모델(412), 인식 모델(414) 및 파싱 모델(416)이 분리되어 있는 것으로 예시되어 있으나, 둘 이상의 모델이 하나의 기계학습 모델로 통합되어 구현될 수 있다.FIG. 4 is an example diagram illustrating how the
일 실시예에 따르면, 데이터 세트에 포함된 복수의 학습용 이미지(420_1 내지 420_n)는 특정 문서 유형과 연관된 문서 이미지일 수 있다. 즉, 데이터 세트에 포함된 복수의 학습용 이미지(420_1 내지 420_n)는 동일한 유형의 학습용 이미지일 수 있다.According to one embodiment, the plurality of training images 420_1 to 420_n included in the data set may be document images associated with a specific document type. That is, the plurality of training images 420_1 to 420_n included in the data set may be the same type of training image.
모델 세트(410)에 포함된 검출 모델(412)은 학습용 이미지로부터 문자가 표출된 복수의 서브 영역을 검출하도록 구성된 기계학습 모델일 수 있다. 또한, 모델 세트(410)에 포함된 인식 모델(414)은 복수의 서브 영역의 각각으로부터 복수의 문자를 인식하도록 구성된 기계학습 모델일 수 있다.The
일 실시예에 따르면, 검출 모델(412)은 학습용 이미지를 입력받고, 학습용 이미지의 전체 영역에서 문자가 표출된 복수의 서브 영역을 검출한 후, 검출된 복수의 서브 영역을 출력할 수 있다. 여기서, 서브 영역은 학습용 이미지의 전체 영역에서 일부에 해당하는 영역이고, 문자가 표출된 영역일 수 있다. 즉, 문자가 표출되지 않은 공란은 서브 영역에 포함되지 않을 수 있다. According to one embodiment, the
또한, 인식 모델(414)은 검출 모델(412)로부터 출력된 복수의 서브 영역을 입력받고, 복수의 서브 영역 각각에 포함된 복수의 문자를 인식한 후, 인식된 복수의 문자를 출력할 수 있다. 일 실시예에 따르면, 인식 모델(414)은 캐릭터 세트에 포함된 타깃 언어에 기초하여, 복수의 서브 영역 각각에 포함된 복수의 문자를 인식할 수 있다. 여기서, 캐릭터 세트는 인식 대상이 되는 언어와 특수 문자를 포함할 수 있으며, 문서 유형별로 상이한 캐릭터 세트가 정보 처리 시스템에 저장될 수 있다. 타깃 언어는 인식 대상이 되는 언어일 수 있다. 예컨대, 캐릭터 세트에 한글이 포함되고 영어가 포함되지 않은 경우, 영어와 연관된 문자는 인식 대상에서 제외되고, 한글과 연관된 문자가 인식될 수 있다. Additionally, the
일 실시예에 따르면, 인식 모델(414)은 캐릭터 세트에 포함된 특수 문자 목록에 기초하여, 복수의 서브 영역 각각에 포함된 특수 문자를 인식할 수 있다. 즉, 특수 문자 목록에 포함된 특수 문자가 서브 영역에 포함된 경우, 인식 모델(414)은 해당 특수 문자를 인식할 수 있다. 만약, 특수 문자 목록에 포함되지 않은 특수 문자가 서브 영역에 포함된 경우, 인식 모델(414)은 해당 특수 문자를 인식하지 않을 수 있다. According to one embodiment, the
파싱 모델(416)은 인식 모델(414)로부터 출력된 복수의 문자를 구문분석(parsing)하여 복수의 타깃 텍스트를 추출하고, 추출된 적어도 하나의 타깃 텍스트를 포함하는 파싱 결과 데이터(430)를 출력할 수 있다. 파싱 결과 데이터(430)는 검출 모델(412)에 의해 검출된 결과인 복수의 서브 영역 및/또는 인식 모델(414)에 의해 인식된 결과인 복수의 문자가 더 포함될 수 있다. 일 실시예에 따르면, 파싱 모델(416)은 엔티티 세트에 기초하여, 입력된 복수의 문자를 구문 분석하여 복수의 타깃 텍스트를 추출할 수 있다. 이때, 파싱 모델(416)은 입력된 복수의 문자 중에서, 엔티티 세트에 포함된 복수의 엔티티의 각각과 연관된 문자열을 타깃 텍스트로서 추출할 수 있다. The
파싱 결과 데이터(430)와 정답 데이터(440) 간의 손실값이 산출되어, 산출된 손실값이 파싱 모델(416)로 반영되어 파싱 모델(416)을 구성하는 적어도 하나의 노드의 가중치가 조절될 수 있다. 일례로, 파싱 결과 데이터(430)에 포함된 복수의 타깃 텍스트와 정답 데이터(440)에 포함된 복수의 타깃 텍스트 간의 일치율이 손실값으로 산출되어 인식 모델(414)에 반영(feedback)될 수 있다. 다른 예로서, 손실값을 산출하기 위한 다양한 함수가 이용될 수 있다. 정답 데이터(440)는 검출 모델(412)로 입력된 학습용 이미지와 연관된 정답 데이터(440)로서, 파싱되어야 하는 복수의 타깃 텍스트를 포함할 수 있다. 정답 데이터(440)는 라벨링 작업을 통해서 생성된 데이터일 수 있다. A loss value between the parsing
추가적으로, 정답 데이터(440)는 문자 목록이 더 포함될 수 있다. 이 경우, 인식 모델(414)로부터 출력된 복수의 문자를 포함하는 문자 세트와 정답 데이터(440)에 포함된 문자 목록 간의 손실값(loss)이 산출되고, 산출된 손실이 인식 모델(414)에 반영(feedback)되어 인식 모델(414)을 구성하는 적어도 하나의 노드의 가중치가 조절될 수 있다. 여기서, 문자 세트는 문자 목록일 수 있다. 일례로, 인식 모델(414)로부터 출력된 복수의 문자를 포함하는 문자 세트와 정답 데이터(440)에 포함된 문자 목록 간의 일치율이 손실값으로 산출되어 인식 모델(414)에 반영될 수 있다. 다른 예로서, 손실값을 산출하기 위한 다양한 함수가 이용될 수 있다. Additionally, the
추가적으로, 정답 데이터(440)는 복수의 서브 영역의 각각에 대한 픽셀 범위가 더 포함될 수 있다. 예컨대, 정답 데이터(440)에는 학습용 이미지에서 문자가 위치한 각 서브 영역의 픽셀 범위가 포함될 수 있다. 이 경우, 정답 데이터(440)에 포함된 서브 영역별 픽셀 범위와 검출 모델(412)로부터 출력된 서브 영역별 픽셀 범위 간의 손실값이 산출되어, 산출된 손실값이 검출 모델(412)에 반영되어, 검출 모델(412)을 구성하는 적어도 하나의 노드의 가중치가 조정될 수 있다. 예컨대, 정답 데이터(440)에 포함된 서브 영역별 픽셀 범위와 검출 모델(412)로부터 출력된 서브 영역별 픽셀 범위 간의 일치율이 손실값으로 산출되어 인식 모델(414)에 반영될 수 있다. 다른 예로서, 손실값을 산출하기 위한 다양한 함수가 이용될 수 있다. Additionally, the
미리 정해진 조건이 충족되면 학습이 중단되고, 검출 모델(412), 인식 모델(414) 및 파싱 모델(416) 각각을 구성하는 적어도 하나의 노드의 가중치가 결정될 수 있다. 여기서, 미리 정해진 조건은 학습 횟수가 임계 횟수에 도달하거나, 손실값이 임계값 미만인 상태 등일 수 있다. 이렇게 가중치가 결정된 검출 모델(412), 인식 모델(414) 및 파싱 모델(416)을 포함하는 모델 세트가 정보 처리 시스템에 저장될 수 있다. When a predetermined condition is met, learning is stopped, and the weight of at least one node constituting each of the
도 5는 본 개시의 일 실시예에 따른 인공신경망 모델(500)을 나타내는 예시도이다. 인공신경망 모델(500)은, 기계학습 모델의 일 예로서, 기계학습(Machine Learning) 기술과 인지과학에서, 생물학적 신경망의 구조에 기초하여 구현된 통계학적 학습 알고리즘 또는 그 알고리즘을 실행하는 구조일 수 있다.Figure 5 is an exemplary diagram showing an artificial
일 실시예에 따르면, 인공신경망 모델(500)은, 생물학적 신경망에서와 같이 시냅스의 결합으로 네트워크를 형성한 인공 뉴런인 노드(Node)들이 시냅스의 가중치를 반복적으로 조정하여, 특정 입력에 대응한 올바른 출력과 추론된 출력 사이의 오차가 감소되도록 학습함으로써, 문제 해결 능력을 가지는 기계학습 모델을 나타낼 수 있다. 예를 들어, 인공신경망 모델(500)은 기계학습, 딥러닝 등의 인공지능 학습법에 사용되는 임의의 확률 모델, 뉴럴 네트워크 모델 등을 포함할 수 있다. 일 실시예에 따르면, 인공신경망 모델(500)은 도 4에서 예시된, 검출 모델, 인식 모델 또는 파싱 모델 중 적어도 하나와 연관될 수 있다. According to one embodiment, the artificial
인공신경망 모델(500)은 다층의 노드들과 이들 사이의 연결로 구성된 다층 퍼셉트론(MLP: multilayer perceptron)으로 구현될 수 있다. 본 실시예에 따른 인공신경망 모델(500)은 MLP를 포함하는 다양한 인공신경망 모델 구조들 중의 하나를 이용하여 구현될 수 있다. 도 5에 도시된 바와 같이, 인공신경망 모델(500)은, 외부로부터 입력 신호 또는 데이터(510)를 수신하는 입력층(520), 입력 데이터에 대응한 출력 신호 또는 데이터(550)를 출력하는 출력층(540), 입력층(520)과 출력층(540) 사이에 위치하며 입력층(520)으로부터 신호를 받아 특성을 추출하여 출력층(540)으로 전달하는 n개(여기서, n은 양의 정수)의 은닉층(530_1 내지 530_n)으로 구성될 수 있다. 여기서, 출력층(540)은 은닉층(530_1 내지 530_n)으로부터 신호를 받아 외부로 데이터를 출력할 수 있다.The artificial
인공신경망 모델(500)의 학습 방법에는, 교사 신호(정답)의 입력에 의해서 문제의 해결에 최적화되도록 학습하는 지도 학습(Supervised Learning) 방법과, 교사 신호를 필요로 하지 않는 비지도 학습(Unsupervised Learning) 방법이 있다. 일 실시예에서, 인공신경망 모델(500)은 문서 이미지로부터 문자를 인식하도록 지도 학습될 수 있다. 추가적으로 또는 이와 달리, 인공신경망 모델(500)은 문서 이미지로부터 타깃 텍스트를 인식하도록 지도 학습될 수 있다. The learning method of the artificial
이와 같이, 인공신경망 모델(500)의 입력층(520)과 출력층(540)에 복수의 입력 데이터와 대응되는 복수의 출력 데이터가 각각 매칭되고, 입력층(520), 은닉층(530_1 내지 530_n) 및 출력층(540)에 포함된 노드들 사이의 시냅스 값이 조정됨으로써, 특정 입력에 대응한 올바른 출력이 추출될 수 있도록 학습될 수 있다. 이러한 학습 과정을 통해, 인공신경망 모델(500)의 입력 데이터에 숨겨져 있는 특성이 파악될 수 있고, 입력 데이터에 기초하여 계산된 출력 데이터와 목표 출력 간의 오차가 줄어들도록 인공신경망 모델(500)의 노드들 사이의 시냅스 값(또는 가중치)이 조정될 수 있다. 이렇게 학습된 인공신경망 모델(500)은 입력된 문서 이미지에 응답하여, 문서 이미지로부터 복수의 문자 및/또는 복수의 타깃 텍스트를 출력할 수 있다.In this way, a plurality of input data and a plurality of output data corresponding to the
도 6은 본 개시의 일 실시예에 따른, 모델 세트의 학습과 연관된 사용자 인터페이스(600)를 예시하는 도면이다. 도 6에 예시된 바와 같이, 복수의 모델 세트에 대한 정보가 제1 영역(610)에 출력될 수 있다. 복수의 모델 세트는 정보 처리 시스템에 의해서 생성될 수 있다. 도 6에 예시된 모델 세트는 영수증 이미지로부터 문자를 인식하도록 구성될 수 있다. 6 is a diagram illustrating a user interface 600 associated with learning a model set, according to one embodiment of the present disclosure. As illustrated in FIG. 6 , information about a plurality of model sets may be output to the first area 610. Multiple model sets may be generated by the information processing system. The model set illustrated in Figure 6 can be configured to recognize characters from receipt images.
정보 처리 시스템에 의해서 생성된 복수의 모델 세트의 각각은, 학습에 이용되는 데이터 세트, 학습 방식, 학습 기간, 캐릭터 세트 또는 엔티티 세트 중 적어도 하나가 상이할 수 있다. 예컨대, 동일한 데이터 세트가 이용되어 제1 모델 세트와 제2 모델 세트가 학습되더라도, 학습 방식, 학습 기간, 캐릭터 세트 또는 엔티티 세트 중 적어도 하나가 상이하면, 제1 모델 세트와 제2 모델 세트는 서로 상이한 모델 세트로서 관리될 수 있다. 다른 예로서, 제1 모델 세트의 학습에 이용되는 데이터 세트에 추가적인 데이터가 포함되는 경우, 제1 모델 세트와 별개인 제3 모델 세트가 생성되고, 추가적인 데이터를 포함된 데이터 세트와 연관된 제3 모델 세트가 별도로 관리될 수 있다. Each of the plurality of model sets generated by the information processing system may differ in at least one of a data set used for learning, a learning method, a learning period, a character set, or an entity set. For example, even if the same data set is used to learn the first model set and the second model set, if at least one of the learning method, learning period, character set, or entity set is different, the first model set and the second model set are different from each other. Can be managed as a set of different models. As another example, when the data set used for training the first model set includes additional data, a third model set is created that is separate from the first model set, and a third model associated with the data set that includes the additional data. Sets can be managed separately.
도 6의 제1 영역(610)에는 'Modelset-0001', 'Modelset-0002-Test' 및 ' Modelset-0003' 식별자를 가지는 모델 세트 목록이 출력된 것으로 예시되어 있다. 또한, 도 6의 제1 영역(610)에는 각각 모델 세트에 대한 인식 정확도가 출력될 수 있다. In the first area 610 of FIG. 6, a list of model sets with identifiers 'Modelset-0001', 'Modelset-0002-Test', and 'Modelset-0003' is displayed. Additionally, recognition accuracy for each model set may be output in the first area 610 of FIG. 6 .
일 실시예에 따르면, 정보 처리 시스템은 모델 세트로부터 출력된 인식 결과 데이터 및 정답 데이터에 기초하여, 복수의 엔티티와 연관된 복수의 타깃 텍스트의 각각에 대한 인식 정확도를 산출하여 출력할 수 있다. 도 6에서는 '매장 이름', '매장 사업장등록번호', '매장 주소', '매장 거래일자', '메뉴 상품명' 및 '단일 상품명'의 각각과 연관된 타깃 텍스트의 인식 정확도가 제1 영역(610)에 출력될 수 있다. 일 실시예에 따르면, 학습과 연관된 데이터 세트에는 문서 이미지와 연관된 정답 데이터가 포함될 수 있고, 정보 처리 시스템은 모델 세트로부터 인식된 타깃 텍스트와 정답 데이터에 포함된 타깃 텍스트 간의 일치도를 나타내는 인식 정확도를 산출할 수 있다. 가령, 제1 문서 이미지로부터 인식된 제1 타깃 텍스트가 '베이커'이고, 제1 타깃 텍스트와 연관된 제1 정답 데이터가 '베이커리'인 경우, 제1 타깃 텍스트에 대한 인식 정확도는 '0.75'인 것으로 산출될 수 있다. 각각의 타깃 텍스트에 대한 인식 정확도는 학습이 반복적으로 진행될수록 갱신될 수 있다. 예컨대, 도 6의 제1 영역(610)에 출력된 타깃 텍스트에 대한 인식 정확도는 인식 정확도에 대한 평균 값으로서, 학습이 진행 동안에 갱신될 수 있다. 다른 예로서, 도 6의 제1 영역(610)에 출력된 타깃 텍스트의 인식 정확도는, 최근에 인식된 타깃 텍스트에 대한 인식 정확도일 수 있다. According to one embodiment, the information processing system may calculate and output recognition accuracy for each of a plurality of target texts associated with a plurality of entities based on recognition result data and correct answer data output from a model set. In Figure 6, the recognition accuracy of target text associated with each of 'store name', 'store business registration number', 'store address', 'store transaction date', 'menu product name', and 'single product name' is measured in the first area (610). ) can be output. According to one embodiment, a data set associated with learning may include correct answer data associated with a document image, and the information processing system calculates recognition accuracy, which represents the degree of agreement between the target text recognized from the model set and the target text included in the correct answer data. can do. For example, if the first target text recognized from the first document image is 'baker' and the first correct answer data associated with the first target text is 'bakery', the recognition accuracy for the first target text is '0.75'. can be calculated. Recognition accuracy for each target text can be updated as learning progresses repeatedly. For example, the recognition accuracy for the target text output in the first area 610 of FIG. 6 is an average value for recognition accuracy, and may be updated while learning is in progress. As another example, the recognition accuracy of the target text output to the first area 610 of FIG. 6 may be the recognition accuracy for a recently recognized target text.
또한, 모델 세트에 대한 인식 정확도는 복수의 타깃 텍스트의 각각에 인식 정확도에 기초하여 산출될 수 있다. 예컨대, 복수의 타깃 텍스트의 인식 정확도에 대한 평균 값이 모델 세트에 대한 인식 정확도로서 산출될 수 있다. 다른 예로서, 복수의 타깃 텍스트의 각각에 대한 인식 정확도가 가중 합산되고, 미리 결정된 값으로 나눠진 값이 모델 세트에 대한 인식 정확도로서 산출될 수 있다. 이때, 타깃 텍스트의 중요도에 기초하여, 중요도가 높은 타깃 텍스트의 인식 정확도에 상대적으로 큰 가중치가 적용될 수 있다.Additionally, recognition accuracy for the model set may be calculated based on recognition accuracy for each of a plurality of target texts. For example, an average value for the recognition accuracy of a plurality of target texts may be calculated as the recognition accuracy for the model set. As another example, the recognition accuracy for each of the plurality of target texts is weighted and summed, and the value divided by a predetermined value may be calculated as the recognition accuracy for the model set. At this time, based on the importance of the target text, a relatively large weight may be applied to the recognition accuracy of the target text with high importance.
도 6의 제1 영역(610)에 출력된 'Modelset-0001' 식별자를 가지는 모델 세트를 참조하면, '매장 이름'과 연관된 제1 타깃 텍스트에 대한 인식 정확도가 '0.824'이고, '매장 사업자등록번호'와 연관된 제2 타깃 텍스트에 대한 인식 정확도가 '0.953'이고, '매장 주소'와 연관된 제3 타깃 텍스트에 대한 인식 정확도가 '0.797'인 것으로 예시되어 있다. 또한, 도 6에서 'Modelset-0001' 식별자를 가지는 모델 세트에 대한 인식 정확도가 '0.894'인 것으로 예시되어 있다. Referring to the model set with the identifier 'Modelset-0001' output in the first area 610 of FIG. 6, the recognition accuracy for the first target text associated with 'store name' is '0.824', and 'store business registration' It is exemplified that the recognition accuracy for the second target text associated with 'number' is '0.953', and the recognition accuracy for the third target text associated with 'store address' is '0.797'. Additionally, in Figure 6, the recognition accuracy for the model set with the identifier 'Modelset-0001' is illustrated as '0.894'.
도 6의 제2 영역(620)과 제3 영역(630)에 예시된 바와 같이, 복수의 모델 세트의 각각에 대한 학습 상태가 출력될 수 있다. 도 6의 제2 영역(620)에는 학습중인 모델 세트에 대한 정보가 출력된 것으로 예시되어 있다. 또한, 도 6의 제3 영역(630)에는 학습이 정지된 모델 세트에 대한 정보가 출력된 것으로 예시되어 있다. 각각의 모델 세트에 대한 식별자가, 모델 세트에 포함된 적어도 하나의 기계학습 모델의 식별자가 제2 영역(620)과 제3 영역(630)의 각각에 출력될 수 있다. 또한, 학습 시간이 제2 영역(620)과 제3 영역(630)의 각각에 출력될 수 있다. As illustrated in the second area 620 and the third area 630 of FIG. 6, the learning status for each of the plurality of model sets may be output. In the second area 620 of FIG. 6, information about the model set being learned is illustrated as being output. Additionally, information on a model set whose learning has been stopped is shown as being output in the third area 630 of FIG. 6 . The identifier for each model set and the identifier of at least one machine learning model included in the model set may be output in each of the second area 620 and the third area 630. Additionally, the learning time may be output to each of the second area 620 and the third area 630.
복수의 모델 세트 중에서 적어도 하나가 고객의 대상 시스템으로 배포되는 타깃 모델 세트로서 결정될 수 있다. 일 실시예에 따르면, 정보 처리 시스템은 복수의 모델 세트의 각각에 대한 테스트를 수행하고, 수행된 테스트에 기초하여, 대상 시스템으로 배포되는 타깃 모델 세트를 결정할 수 있다. 도 6에서 로켓 형태의 아이콘(612)이 표출된 모델 세트(Modelset-0001)가 배포 이력이 있는 모델 세트인 것으로 예시되어 있다. 몇몇 실시예에서, 배포 대상으로 결정된 모델 세트의 식별자 주변에, 타깃 모델 세트임을 나타내는 별도의 아이콘이 출력될 수 있다. At least one of the plurality of model sets may be determined as the target model set to be distributed to the customer's target system. According to one embodiment, the information processing system may perform a test on each of a plurality of model sets and, based on the performed test, determine a target model set to be distributed to the target system. In FIG. 6, the model set (Modelset-0001) displayed with the rocket-shaped icon 612 is illustrated as a model set with a distribution history. In some embodiments, a separate icon indicating the target model set may be displayed around the identifier of the model set determined to be distributed.
도 7은 본 개시의 일 실시예에 따른, 모델 세트에 대한 상세 정보를 포함하는 사용자 인터페이스(700)를 예시하는 도면이다. 특정 모델 세트에 대한 상세 보기를 요청하는 사용자 입력이 수신되면, 도 7과 같은 상세 정보를 포함하는 사용자 인터페이스(700)가 출력될 수 있다. 도 7에서는 "Medelset-0002" 식별자를 가지는 모델 세트에 대한 상세 정보가 출력된 것으로 예시되어 있다.FIG. 7 is a diagram illustrating a user interface 700 including detailed information about a model set, according to an embodiment of the present disclosure. When a user input requesting a detailed view of a specific model set is received, a user interface 700 including detailed information as shown in FIG. 7 may be output. In Figure 7, detailed information about a model set with the identifier "Medelset-0002" is illustrated as being output.
도 7의 제1 영역(710)에 예시된 바와 같이, 모델 세트에 포함된 복수의 기계학습 모델에 대한 정보가 출력될 수 있다. 도 7의 제1 영역(710)에는 "Detector-0001" 식별자를 가지는 검출 모델, "Recognizer-0001" 식별자를 가지는 인식 모델 및 "Parser-0001" 식별자를 가지는 파싱 모델에 대한 정보가 출력된 것으로 예시되어 있다. 추가적으로, 각 기계학습 모델의 학습에 이용된 데이터 세트에 대한 정보가 제1 영역(710)에 출력될 수 있다. 도 7의 제1 영역(710)에는 기계학습 모델에 적용된 데이터 세트가 'Dateset-001'인 것으로 예시되어 있다. As illustrated in the first area 710 of FIG. 7, information about a plurality of machine learning models included in the model set may be output. In the first area 710 of FIG. 7, information on a detection model with the identifier “Detector-0001”, a recognition model with the identifier “Recognizer-0001”, and a parsing model with the identifier “Parser-0001” are displayed. It is done. Additionally, information about the data set used for training each machine learning model may be output to the first area 710. In the first area 710 of FIG. 7, the data set applied to the machine learning model is illustrated as 'Dateset-001'.
또한, 도 7의 제2 영역(720)에 예시된 바와 같이, 모델 세트에 대한 일반 정보(General Information)가 출력될 수 있다. 모델 세트에 대한 일반 정보에는, 모델 세트의 속도, GPU 할당 정보, API 엔드 포인트 정보, 할당 메모리 정보, 생산 히스토리(production history) 정보, 생성 일시 등이 포함될 수 있다. 여기서, API 엔드 포인트 정보는 모델 세트가 배포된 대상 시스템과 연관된 정보일 수 있다. Additionally, as illustrated in the second area 720 of FIG. 7, general information about the model set may be output. General information about the model set may include the speed of the model set, GPU allocation information, API endpoint information, allocated memory information, production history information, creation date, etc. Here, the API endpoint information may be information related to the target system where the model set is distributed.
도 7의 제3 영역(730)에 예시된 바와 같이, 캐릭터 세트 및 엔티티 세트의 구성 정보가 출력될 수 있다. 즉, 제3 영역(730)에는 모델 세트에 적용된 캐릭터 세트에 대한 정보와 엔티티 세트에 대한 정보가 출력될 수 있다.As illustrated in the third area 730 of FIG. 7, configuration information of the character set and entity set may be output. That is, information about the character set applied to the model set and information about the entity set may be output in the third area 730.
도 7의 제4 영역(740)에 예시된 바와 같이, 각 모델 세트의 인식 정확도가 출력될 수 있다. 도 7의 제4 영역(740)에서 'F1 score'가 인식 정확도인 것으로 예시되어 있다. As illustrated in the fourth area 740 of FIG. 7, the recognition accuracy of each model set may be output. In the fourth area 740 of FIG. 7, 'F1 score' is illustrated as recognition accuracy.
현재 출력중인 모델 세트(예컨대, Modelset-0002 식별자와 연관된 모델 세트)가 배포될 수 있다. 가령, 도 7의 우측 상부에 "Deply to Endpoint" 메뉴를 선택하는 사용자 입력이 수신되는 경우, 모델 세트가 대상 시스템으로 배포될 수 있다. The model set currently being output (e.g., the model set associated with the Modelset-0002 identifier) may be distributed. For example, when a user input for selecting the “Deply to Endpoint” menu in the upper right of FIG. 7 is received, the model set can be distributed to the target system.
도 8은 본 개시의 일 실시예에 따른, 모델 세트를 배포하기 위한 사용자 인터페이스(800)를 예시하는 도면이다. 도 8을 참조하면, 모델 세트가 대상 시스템으로 배포될 때에, 모델 세트로 할당되는 컴퓨팅 자원이 결정될 수 있다. 여기서, 컴퓨팅 자원은 배포된 모델 세트를 수신하는 컴퓨팅 장치에 대한 자원일 수 있다. 예컨대, 배포된 모델 세트가 고객의 컴퓨팅 시스템으로 전송되는 경우, 고객의 컴퓨팅 시스템에 포함된 컴퓨팅 자원이 모델 세트를 위해 할당될 수 있다. 다른 예로서, 정보 처리 시스템은 클라우드 컴퓨팅 시스템을 포함할 수 있고, 배포된 모델 세트가 클라우드 컴퓨팅 시스템에 전송되는 경우, 클라우드 컴퓨팅 시스템에 포함된 컴퓨팅 자원이 모델 세트를 위해 할당될 수 있다. 8 is a diagram illustrating a user interface 800 for distributing a model set, according to one embodiment of the present disclosure. Referring to FIG. 8, when a model set is distributed to a target system, computing resources allocated to the model set may be determined. Here, the computing resource may be a resource for a computing device that receives the deployed model set. For example, when a deployed model set is transferred to a customer's computing system, computing resources included in the customer's computing system may be allocated for the model set. As another example, the information processing system may include a cloud computing system, and when the deployed model set is transmitted to the cloud computing system, computing resources included in the cloud computing system may be allocated for the model set.
도 8과 같은 사용자 인터페이스(800)를 통해서, 배포되는 모델 세트 및 컴퓨팅 자원이 결정될 수 있다. 또한, 입력 데이터의 비율이 결정되고, 모니터링 기간이 결정될 수 있다.Through the user interface 800 as shown in FIG. 8, the distributed model set and computing resources can be determined. Additionally, the rate of input data can be determined and the monitoring period can be determined.
도 8의 제1 영역(810)에는 배포 대상이 되는 모델 세트의 식별자가 입력될 수 있고, 제2 영역(820)에는 모델 세트를 구성하는 복수의 기계학습 모델의 각각에 할당되는 컴퓨팅 자원이 입력될 수 있다. 또한, 도 8의 제3 영역(830)에는 모델 세트에 할당되는 컴퓨팅 자원이 결정되어 출력될 수 있다. 일 실시예에 따르면, 제2 영역(820)에 입력된 컴퓨팅 자원(예컨대, Worker)의 개수에 기초하여, 모델 세트에 할당되는 컴퓨팅 자원이 결정되어 제3 영역(830)에 출력될 수 있다. 모델 세트에 할당되는 컴퓨팅 자원의 양은, 모델 세트에 포함된 복수의 기계학습 모델에 할당된 컴퓨팅 자원의 양 이하일 수 있다. The identifier of the model set to be distributed can be input into the first area 810 of FIG. 8, and the computing resources allocated to each of the plurality of machine learning models constituting the model set can be input into the second area 820. It can be. Additionally, computing resources allocated to the model set may be determined and output in the third area 830 of FIG. 8 . According to one embodiment, based on the number of computing resources (eg, workers) input to the second area 820, computing resources allocated to the model set may be determined and output to the third area 830. The amount of computing resources allocated to the model set may be less than or equal to the amount of computing resources allocated to a plurality of machine learning models included in the model set.
도 8에서 제2 영역(820)과 제3 영역(830)에는 GPU(Graphics Processing Unit)의 개수가 입력되는 것으로 예시되어 있으나, 본 개시는 이에 한정되지 않고, 제2 영역(820)과 제3 영역(830)에 메모리 용량, 네트워크 트래픽, 디스크 용량 등이 추가적으로 입력될 수 있다. In FIG. 8 , the number of GPUs (Graphics Processing Units) is illustrated as being input to the second area 820 and the third area 830, but the present disclosure is not limited to this, and the second area 820 and the third area 830 Memory capacity, network traffic, disk capacity, etc. may be additionally entered into area 830.
도 8의 제4 영역(840)에는 입력 데이터의 비율이 입력될 수 있다. 여기서, 입력 데이터의 비율은 대상 시스템에서 사용중인 모델 세트(Current Modelset)로 적용되는 입력 데이터의 비율과 배포된 모델 세트(New Modelset)에 적용되는 입력 데이터의 비율과 연관될 수 있다. 대상 시스템에서 현재 사용중인 모델 세트로 적용되는 입력 데이터의 비율이 70%이고, 배포된 모델 세트로 적용되는 입력 데이터의 비율이 30%인 경우, 모니터링 기간 동안에 수집된 입력 데이터 중 70%는 현재 사용중인 모델 세트로 적용되고, 모니터링 기간 동안에 수집된 입력 데이터 중 30%는 배포된 모델 세트로 적용될 수 있다. 여기서, 입력 데이터는 문서 이미지를 포함할 수 있다.The ratio of input data may be input into the fourth area 840 of FIG. 8 . Here, the ratio of input data may be related to the ratio of input data applied to the model set (Current Modelset) in use in the target system and the ratio of input data applied to the distributed model set (New Modelset). If the proportion of input data applied to the model set currently in use in the target system is 70% and the proportion of input data applied to the deployed model set is 30%, 70% of the input data collected during the monitoring period is currently used. 30% of the input data collected during the monitoring period can be applied to the deployed model set. Here, the input data may include a document image.
도 8의 제4 영역(850)에는 배포된 모델 세트에 대한 모니터링 기간이 입력될 수 있다. The monitoring period for the distributed model set can be entered in the fourth area 850 of FIG. 8.
도 9는 본 개시의 일 실시예에 따른, 신규 모델 세트의 상태를 모니터링하기 위한 사용자 인터페이스(900)를 예시하는 도면이다. 신규 모델 세트를 모니터링하기 위한 사용자 입력이 수신되면, 사용자 인터페이스(900)가 출력될 수 있다. 여기서, 신규 모델 세트는 배포 예정인 모델 세트일 수 있다. 도 9에 예시된 사용자 인터페이스(900)는 신규 모델 세트의 안정성과 성능을 평가하기 위하여 이용될 수 있다. 9 is a diagram illustrating a user interface 900 for monitoring the status of a new model set, according to one embodiment of the present disclosure. When user input for monitoring a new model set is received, user interface 900 may be output. Here, the new model set may be a model set scheduled for distribution. The user interface 900 illustrated in FIG. 9 can be used to evaluate the stability and performance of a new model set.
도 9의 제1 영역(910)에 예시된 바와 같이, 신규 모델 세트의 모니터링 기간이 출력될 수 있다. 또한, 도 9의 제2 영역(920)에 예시된 바와 같이, 신규 모델 세트에 대한 상태가 모니터링되어 출력될 수 있다. 도 9의 제2 영역(920)에는 신규 모델 세트에 포함된 복수의 기계학습 모델에 할당된 자원 그룹 상태가 출력된 것으로 예시되어 있다. 여기서, 자원 그룹은 기계학습 모델로 할당된 프로세서 개수, 메모리 용량, 디스크 용량, 네트워크 트래픽 등을 포함할 수 있고, 자원 그룹 상태는 프로세서 자원, 메모리 자원, 디스크 자원, 네트워크 자원 등 중에서 적어도 하나를 포함하는 자원 그룹에 대한 상태일 수 있다. 도 9의 제2 영역(920)에서는 자원 그룹으로서, 프로세서 개수가 표출된 것으로 예시되어 있다. 즉, 도 9의 제2 영역(920)을 참조하면, 'Modelset-0004' 식별자는 가지는 모델 세트는 검출 모델, 인식 모델 및 파싱 모델을 포함하고, 검출 모델에는 6개의 프로세서가 할당되고, 인식 모델에는 12개의 프로세서가 할당되고, 파싱 모델에는 4개의 프로세서가 할당된 것으로 예시되어 있다. As illustrated in the first area 910 of FIG. 9, the monitoring period of the new model set may be output. Additionally, as illustrated in the second area 920 of FIG. 9, the status of the new model set may be monitored and output. In the second area 920 of FIG. 9, the resource group status allocated to a plurality of machine learning models included in the new model set is illustrated as being output. Here, the resource group may include the number of processors, memory capacity, disk capacity, network traffic, etc. allocated by the machine learning model, and the resource group status includes at least one of processor resources, memory resources, disk resources, network resources, etc. This can be a status for a resource group. In the second area 920 of FIG. 9, the number of processors is shown as a resource group. That is, referring to the second area 920 of FIG. 9, the model set with the identifier 'Modelset-0004' includes a detection model, a recognition model, and a parsing model, 6 processors are assigned to the detection model, and the recognition model In the example, 12 processors are allocated, and 4 processors are allocated to the parsing model.
도 9에서 자원 그룹 상태가 제1 색상(예컨대, 녹색)인 경우, 관련 프로세서가 원활하게 작업을 처리하고 있음을 나타낼 수 있다. 도 9에서, 자원 그룹 상태가 제2 색상(예컨대, 적색)인 경우, 관련 프로세서가 작업을 지연하여 처리하거나, 작업 처리에 실패하거나, 동작을 수행하지 않고 대기중인 것임을 나타낼 수 있다. In FIG. 9 , when the resource group status is the first color (eg, green), it may indicate that the related processor is smoothly processing work. In FIG. 9, when the resource group status is a second color (eg, red), it may indicate that the related processor is processing the task delayed, fails to process the task, or is waiting without performing the operation.
일 실시예에 따르면, 정보 처리 시스템은 신규 모델 세트에 대한 상태 데이터를 수집할 수 있다. 여기서, 상태 데이터는 신규 모델 세트에 포함된 복수의 기계학습 모델의 각각에 대한 상태 데이터를 포함할 수 있다. 예컨대, 신규 모델 세트가 검출 모델, 인식 모델 및 파싱 모델을 포함하는 경우, 신규 모델 세트에 대한 상태 데이터는 검출 모델에 대한 제1 상태 데이터, 인식 모델에 대한 제2 상태 데이터 및 파싱 모델에 대한 제3 상태 데이터를 포함할 수 있다. 제1 상태 데이터, 제2 상태 데이터 및 제3 상태 데이터의 각각은, 프로세서 상태, 프로세서의 이용률, 메모리 이용률 등과 각종 상태를 포함할 수 있다. According to one embodiment, an information processing system may collect status data for a new model set. Here, the state data may include state data for each of a plurality of machine learning models included in the new model set. For example, if the new model set includes a detection model, a recognition model, and a parsing model, the state data for the new model set includes first state data for the detection model, second state data for the recognition model, and second state data for the parsing model. 3 Can contain state data. Each of the first state data, second state data, and third state data may include various states such as processor state, processor utilization, memory utilization, etc.
정보 처리 시스템은 제1 상태 데이터에 기초하여 검출 모델에 대한 상태를 결정하여 출력할 수 있고, 제2 상태 데이터에 기초하여 인식 모델에 대한 상태를 결정하여 출력할 수 있고, 제3 상태 데이터에 기초하여 파싱 모델에 대한 상태를 결정하여 출력할 수 있다. The information processing system may determine and output the state for the detection model based on the first state data, determine and output the state for the recognition model based on the second state data, and determine and output the state for the recognition model based on the third state data. Thus, the status of the parsing model can be determined and output.
신규 모델 세트에 대한 자원 그룹 상태는 신규 모델 세트에 포함된 복수의 기계학습 모델에 대한 자원 그룹 상태를 기초로 결정될 수 있다. 예컨대, 신규 모델 세트에 검출 모델, 인식 모델 및 파싱 모델이 포함된 경우, 정보 처리 시스템은 검출 모델에 대한 제1 자원 그룹 상태, 인식 모델에 대한 제2 자원 그룹 상태 및 파싱 모델에 대한 제3 자원 그룹 상태를 식별하고, 식별된 제1 자원 그룹 상태, 제2 자원 그룹 상태 및 제3 자원 그룹에 기초하여, 모델 세트의 자원 그룹 상태를 결정하여 출력할 수 있다. The resource group status for the new model set may be determined based on the resource group status for a plurality of machine learning models included in the new model set. For example, if the new model set includes a detection model, a recognition model, and a parsing model, the information processing system may configure a first resource group state for the detection model, a second resource group state for the recognition model, and a third resource group state for the parsing model. The group status may be identified, and based on the identified first resource group status, second resource group status, and third resource group, the resource group status of the model set may be determined and output.
도 9의 제3 영역(930)에는 신규 모델 세트에 대한 모니터링 히스토리가 출력될 수 있다. Monitoring history for a new model set may be output in the third area 930 of FIG. 9 .
도 9와 같은 사용자 인터페이스(900)가 고객에게 제공될 수 있고, 고객은 사용자 인터페이스(900)를 통해서 신규 모델 세트에 대한 상태를 파악하고, 신규 모델 세트를 이용할지 여부를 결정할 수 있다. A user interface 900 as shown in FIG. 9 may be provided to the customer, and the customer may check the status of the new model set through the user interface 900 and decide whether to use the new model set.
도 10은 본 개시의 일 실시예에 따른, 배포된 모델 세트의 신뢰 점수를 포함하는 사용자 인터페이스(1000)를 예시하는 도면이다. 도 10은 배포되어 이용중인 모델 세트에 신뢰 점수에 대해서 예시하고 있다. 여기서, 신뢰 점수(confidence score)는 정확도와 연관된 확률일 수 있다. 예컨대, 영상 인식에 따라 획득된 하나의 타깃 텍스트와 각각의 엔티티와 일치 확률이 산출된 후, 산출된 일치 확률 중에서 가장 높은 확률을 가지는 확률이 타깃 텍스트에 대한 신뢰 점수로서 결정되어 출력될 수 있다. 예를 들어, 제1 타깃 텍스트와 제1 엔티티와 연관된 제1 일치 확률, 제1 타깃 텍스트와 연관된 제2 엔티티와 연관된 제2 일치 확률, ??, 제1 타깃 텍스트와 연관된 제n 엔티티(여기서, n은 3 이상의 자연수)와 연관된 제n 일치 확률 중에서, 가장 높은 일치 확률이 제1 타깃 텍스트에 대한 신뢰 점수로 결정되어 출력될 수 있다. 이러한 신뢰 점수에 대한 연산은 정보 처리 시스템을 통해서 수행될 수 있다. 10 is a diagram illustrating a user interface 1000 containing trust scores of a deployed model set, according to one embodiment of the present disclosure. Figure 10 illustrates the confidence score for a set of models that are deployed and in use. Here, the confidence score may be a probability associated with accuracy. For example, after the probability of matching one target text and each entity obtained through image recognition is calculated, the probability with the highest probability among the calculated match probabilities may be determined and output as the trust score for the target text. For example, a first match probability associated with a first target text and a first entity, a second match probability associated with a second entity associated with the first target text, ??, the nth entity associated with the first target text (where, Among the nth matching probabilities associated with (n is a natural number of 3 or more), the highest matching probability may be determined and output as the trust score for the first target text. Calculation of these trust scores can be performed through an information processing system.
일 실시예에 따르면, 특정 모델 세트에 대한 신뢰 점수 열람을 요청하는 사용자 입력이 수신되는 경우, 도 10과 같은 사용자 인터페이스(1000)가 출력될 수 있다. 도 10에 예시된 바와 같이, 모델 세트의 상태 데이터에 기초하여, 모델 세트에 대한 신뢰 점수(1010)가 산출되어 출력될 수 있다. 몇몇 실시예에 따르면, 신뢰 점수(1010)를 산출하기 위한 다양한 함수가 이용되어 신뢰 점수(1010)가 산출될 수 있다. According to one embodiment, when a user input requesting to view the trust score for a specific model set is received, a user interface 1000 as shown in FIG. 10 may be output. As illustrated in FIG. 10 , based on the state data of the model set, a trust score 1010 for the model set may be calculated and output. According to some embodiments, the trust score 1010 may be calculated using various functions for calculating the trust score 1010.
일 실시예에 따르면, 모델 세트로부터 출력된 복수의 데이터(예컨대, 타깃 텍스트)에 대한 복수의 신뢰 점수에 기초하여, 모델 세트에 대한 신뢰 점수가 산출되어 출력될 수 있다. 가령, 모델 세트로부터 복수의 타깃 텍스트가 출력되는 경우, 타깃 텍스트의 신뢰 점수에 대한 평균이 산출되고, 산출된 신뢰 점수 평균이 모델 세트의 신뢰 점수(1010)로서 결정되어 출력될 수 있다. 상태 데이터에 타깃 텍스트별 신뢰 점수가 포함될 수 있고, 상태 데이터에 포함된 타깃 텍스트별 신뢰 점수에 기초하여, 모델 세트에 대한 신뢰 점수(1010)가 산출될 수 있다. According to one embodiment, a trust score for a model set may be calculated and output based on a plurality of trust scores for a plurality of data (eg, target text) output from the model set. For example, when a plurality of target texts are output from a model set, the average trust score of the target texts is calculated, and the calculated average trust score may be determined and output as the trust score 1010 of the model set. The state data may include a trust score for each target text, and a trust score 1010 for the model set may be calculated based on the trust score for each target text included in the state data.
도 10에서 숫자로서 출력된 신뢰 점수(1010)는 가장 최근의 산출된 모델 세트의 신뢰 점수일 수 있다. 다른 예로서, 도 10에서 숫자로서 출력된 신뢰 점수(1010)는 복수 기간별로 산출된 모델 세트의 신뢰 점수에 대한 평균 값일 수 있다. The trust score 1010 output as a number in FIG. 10 may be the trust score of the most recently calculated model set. As another example, the trust score 1010 output as a number in FIG. 10 may be an average value of trust scores of model sets calculated for multiple periods.
일 실시예에 따르면, 미리 지정된 시간대에 따라 수집된 모델 세트의 상태 데이터에 기초하여, 시간대별 모델 세트의 신뢰 점수가 산출되어, 그래프 형태(1020)로 출력될 수 있다. 도 10에서는 모델 세트에 대한 신뢰 점수가 날짜별로 산출되고, 산출된 날짜별 신뢰 점수가 꺾은선 그래프(1020)로 출력된 것으로 예시되어 있다. According to one embodiment, based on state data of the model set collected according to a pre-designated time period, the trust score of the model set for each time period may be calculated and output in the form of a graph (1020). In Figure 10, it is illustrated that the trust score for the model set is calculated by date, and the calculated trust score by date is output as a line graph 1020.
도 11은 본 개시의 일 실시예에 따른, 모델 세트에 대한 에러 정보가 포함된 사용자 인터페이스(1100)를 예시하는 도면이다. 모델 세트에 대한 에러(error) 정보 열람을 위한 사용자 입력이 수신되는 것에 응답하여, 도 11과 같은 사용자 인터페이스(1100)가 출력될 수 있다. 도 11에 예시된 바와 같이, 모델 세트에 대한 에러 정보(1110)가 출력될 수 있다. 에러 정보(1110)에는 입력 에러에 대한 횟수가 포함될 수 있다. 추가적으로 또는 대안적으로, 모델 세트가 미리 결정된 시간을 초과하여도 응답하지 않은 응답 에러, 메모리 에러, 프로세서 에러 등과 관련된 다양한 형태의 에러에 대한 횟수가 에러 정보(1110)에 포함될 수 있다. 모델 세트에 대한 에러 횟수는, 입력 에러 횟수, 응답 에러 횟수, 메모리 에러 횟수, 프로세서 에러 횟수 등에 기초하여 산출될 수 있다. FIG. 11 is a diagram illustrating a user interface 1100 containing error information for a model set, according to an embodiment of the present disclosure. In response to receiving a user input for viewing error information for a model set, a user interface 1100 as shown in FIG. 11 may be output. As illustrated in FIG. 11, error information 1110 for the model set may be output. Error information 1110 may include the number of input errors. Additionally or alternatively, the error information 1110 may include counts of various types of errors related to response errors, memory errors, processor errors, etc. where the model set does not respond even if the set exceeds a predetermined time. The number of errors for the model set may be calculated based on the number of input errors, number of response errors, number of memory errors, number of processor errors, etc.
정보 처리 시스템은 허락되지 않은 타입의 문서가 모델 세트로 입력되는 횟수(즉, 입력 에러 횟수)를 측정하고, 측정된 입력 에러 횟수에 기초하여 에러 정보(1110)를 생성하여 출력할 수 있다. 가령, 모델 세트는 제1 타입의 문서 이미지(예컨대, 영수증 이미지)를 처리하도록 학습된 경우, 정보 처리 시스템은 제1 타입 이외의 타입과 연관된 문서 이미지(예컨대, 사업자등록증 이미지 등)를 모델 세트에서 허락되는 않은 문서 이미지인 것으로 결정하여 입력 에러 횟수를 증가시킬 수 있다. 다른 예로서, 모델 세트에 지원되지 않는 파일 포맷(즉, 지원되지 않은 파일 확장자)을 가지는 문서 이미지가 입력되는 경우에, 허락되지 않은 타입의 문서에 대한 입력 에러 횟수가 증가될 수 있다. The information processing system may measure the number of times a document of an unauthorized type is input into the model set (i.e., the number of input errors), and generate and output error information 1110 based on the measured number of input errors. For example, if the model set is trained to process document images of the first type (e.g., receipt images), the information processing system may select document images associated with types other than the first type (e.g., business registration certificate images, etc.) from the model set. The number of input errors can be increased by determining that the document image is not permitted. As another example, when a document image having a file format not supported (i.e., an unsupported file extension) is input to the model set, the number of input errors for documents of an unauthorized type may increase.
도 11에서 숫자로서 출력된 에러 정보(1110)는 미리 결정된 기간 동안에 측정된 입력 에러 횟수 또는 다양한 유형의 에러 횟수에 기초로 생성될 수 있다. 일 실시예에 따르면, 미리 지정된 시간대에 따라 측정된 모델 세트의 에러 횟수에 기초하여, 시간대별 모델 세트의 에러 정보가 산출되어, 그래프 형태(1120)로 출력될 수 있다. 도 11에서는 모델 세트의 에러 정보가 날짜별로 산출되고, 산출된 날짜별 에러 정보가 꺾은선 그래프(1120)로 출력된 것으로 예시되어 있다. Error information 1110 output as a number in FIG. 11 may be generated based on the number of input errors or the number of various types of errors measured during a predetermined period. According to one embodiment, based on the number of errors in the model set measured according to a pre-designated time period, error information of the model set for each time period may be calculated and output in the form of a graph 1120. In FIG. 11, it is illustrated that the error information of the model set is calculated by date, and the calculated error information by date is output as a line graph 1120.
도 12는 본 개시의 일 실시예에 따른, 모델 세트에 대한 자원 그룹 상태를 포함하는 사용자 인터페이스(1200)를 예시하는 도면이다. 모델 세트에 대한 자원 그룹 상태 열람을 위한 사용자 입력이 수신되는 것에 응답하여, 도 12과 같은 사용자 인터페이스(1200)가 출력될 수 있다. 도 12에 예시된 바와 같이, 모델 세트에 대한 자원 그룹 상태(1210)가 출력될 수 있다. 여기서, 자원 그룹 상태(1210)는 모델 세트로 할당된 적어도 하나의 컴퓨팅 자원에 대한 상태일 수 있다. 가령, 자원 그룹은 모델 세트로 자원 할당된 프로세서 개수, 메모리 용량, 디스크 용량, 네트워크 트래픽 등을 포함할 수 있고, 자원 그룹 상태(1210)는 프로세서 자원, 메모리 자원, 디스크 자원, 네트워크 자원 등 중에서 적어도 하나를 포함하는 자원 그룹에 대한 상태일 수 있다. 도 12에서는 자원 그룹 상태가 'worker state'인 것으로 예시되어 있다. FIG. 12 is a diagram illustrating a user interface 1200 including resource group status for a model set, according to one embodiment of the present disclosure. In response to receiving a user input for viewing the resource group status for the model set, a user interface 1200 as shown in FIG. 12 may be output. As illustrated in Figure 12, resource group status 1210 for the model set may be output. Here, the resource group status 1210 may be a status for at least one computing resource allocated to the model set. For example, the resource group may include the number of processors allocated to the model set, memory capacity, disk capacity, network traffic, etc., and the resource group status 1210 may include at least processor resources, memory resources, disk resources, network resources, etc. The status may be for a resource group that contains one. In Figure 12, the resource group state is illustrated as 'worker state'.
모델 세트에 대한 자원 그룹 상태는 모델 세트에 포함된 복수의 기계학습 모델에 대한 자원 그룹 상태를 기초로 결정될 수 있다. 예컨대, 모델 세트에 검출 모델, 인식 모델 및 파싱 모델이 포함된 경우, 정보 처리 시스템은 검출 모델에 대한 제1 자원 그룹 상태, 인식 모델에 대한 제2 자원 그룹 상태 및 파싱 모델에 대한 제3 자원 그룹 상태를 식별하고, 식별된 제1 자원 그룹 상태, 제2 자원 그룹 상태 및 제3 자원 그룹에 기초하여, 모델 세트의 자원 그룹 상태를 결정하여 출력할 수 있다. 도 12에서 자원 그룹 상태가 제1 색상(예컨대, 녹색)인 경우, 관련 모델 세트가 원활하게 작업을 처리하고 있음을 나타낼 수 있다. 도 12에서, 자원 그룹 상태가 제2 색상(예컨대, 적색)인 경우, 관련 모델 세트가 작업을 지연하여 처리하거나, 작업 처리에 실패하거나, 동작을 수행하지 않고 대기중인 것임을 나타낼 수 있다.The resource group status for the model set may be determined based on the resource group status for a plurality of machine learning models included in the model set. For example, if the model set includes a detection model, a recognition model, and a parsing model, the information processing system may configure a first resource group state for the detection model, a second resource group state for the recognition model, and a third resource group state for the parsing model. The status may be identified, and based on the identified first resource group status, second resource group status, and third resource group, the resource group status of the model set may be determined and output. In Figure 12, when the resource group status is the first color (eg, green), it may indicate that the related model set is processing work smoothly. In FIG. 12, when the resource group status is a second color (eg, red), it may indicate that the related model set is processing the task with delay, failing to process the task, or waiting without performing the operation.
도 12에 예시된 바와 같이, 모델 세트에 포함된 검출 모델에 대한 제1 자원 그룹 상태, 인식 모델에 대한 제2 자원 그룹 상태 및 파싱 모델에 대한 제3 자원 그룹 상태가 특정 영역(1220)에 출력될 수 있다. 도 12의 제2 영역(1220)에서는 자원 그룹 상태에 대한 정보로서, 프로세서와 관련된 정보가 출력된 것으로 예시되어 있다. 도 12에서는 'Detector-0001' 식별자를 가지는 검출 모델에 2개의 프로세서가 할당되고, 2개의 프로세서 중 1개의 프로세서는 원활하게 작업을 처리하고 있으나 1개의 프로세서는 작업 대기중이거나 작업 처리에 실패한 것으로 예시되어 있다. As illustrated in FIG. 12, the first resource group status for the detection model, the second resource group status for the recognition model, and the third resource group status for the parsing model included in the model set are output to the specific area 1220. It can be. In the second area 1220 of FIG. 12, it is illustrated that processor-related information is output as information about the resource group status. In Figure 12, two processors are assigned to a detection model with the identifier 'Detector-0001', and one of the two processors is processing the task smoothly, but one processor is waiting for the task or has failed to process the task. It is done.
도 13은 본 개시의 일 실시예에 따른, 인식 결과와 연관된 사용자 인터페이스(1300)를 예시하는 도면이다. 문서 인식 결과를 열람하기 위한 사용자 입력이 수신되면, 도 13과 같은 사용자 인터페이스(1300)가 출력될 수 있다. FIG. 13 is a diagram illustrating a user interface 1300 associated with a recognition result, according to an embodiment of the present disclosure. When a user input for viewing the document recognition result is received, a user interface 1300 as shown in FIG. 13 may be output.
사용자 인터페이스(1300)의 제1 영역(1310)에는 인식 대상인 문서 이미지가 출력될 수 있다. 또한, 사용자 인터페이스(1300)의 제2 영역(1320)에는 인식 결과가 출력될 수 있다. 도 13의 제2 영역(1320)에는 파싱 결과가 출력된 것으로 예시되어 있다. An image of a document that is to be recognized may be output in the first area 1310 of the user interface 1300. Additionally, the recognition result may be output to the second area 1320 of the user interface 1300. The parsing result is illustrated as being output in the second area 1320 of FIG. 13 .
제1 영역(1310)에 출력된 문서 이미지에서는 복수의 사각형이 포함될 수 있다. 여기서, 사각형은 문자가 표출된 서브 영역일 수 있다. 즉, 사각형 영역은 검출 모델을 통해서 인식된 서브 영역일 수 있다. The document image output to the first area 1310 may include a plurality of squares. Here, the rectangle may be a sub-area where characters are displayed. That is, the rectangular area may be a sub-area recognized through the detection model.
제2 영역(1320)에는 엔티티 세트에 기초하여 인식된 타깃 텍스트를 포함하는 파싱 결과(즉, 인식 결과)가 포함될 수 있다. 일 실시예에 따르면, 파싱 모델로부터 출력된 파싱 결과가 제2 영역(1320)에 출력될 수 있다. 제2 영역(1320)에 예시된 바와 같이, 맨 왼쪽 컬럼에는 엔티티 목록이 출력되고, 중간 컬럼에는 엔티티와 연관된 타깃 텍스트가 출력되고, 맨 오른쪽 컬럼에는 신뢰 점수(confidence score)가 출력될 수 있다. The second area 1320 may include a parsing result (i.e., recognition result) including the target text recognized based on the entity set. According to one embodiment, the parsing result output from the parsing model may be output to the second area 1320. As illustrated in the second area 1320, a list of entities may be displayed in the leftmost column, target text associated with the entity may be displayed in the middle column, and a confidence score may be displayed in the rightmost column.
일 실시예에 따르면, 파싱 결과를 출력하는 파싱 모델로부터 타깃 텍스트 인식에 대한 신뢰 점수가 파싱 결과와 함께 출력될 수 있다. 이와 달리, 신뢰 점수를 산출하기 위한 다양한 함수가 이용되어, 타깃 텍스트에 대한 인식에 대한 신뢰 점수가 산출될 수 있다. According to one embodiment, a confidence score for target text recognition may be output together with the parsing result from a parsing model that outputs the parsing result. In contrast, various functions for calculating the trust score can be used to calculate the trust score for recognition of the target text.
사용자는 제1 영역(1310)에 출력된 문서 이미지와 제2 영역(1320)을 비교하여, 파싱 결과가 정확한지 여부를 검증할 수 있다. 일 실시예에 따르면, 제2 영역(1320)에 출력된 복수의 타깃 텍스트 중에서, 특정 타깃 텍스트가 편집을 위해 선택된 경우, 선택된 특정 타깃 텍스트와 연관된 적어도 하나의 문자가 특정 그래픽 요소를 통해서 시각화되어 제1 영역(1310)에 출력될 수 있다. 제2 영역(1320)에서는 위에서부터 세 번째 줄에 위치한 타깃 텍스트(1322)가 선택된 경우, 선택된 타깃 텍스트(1322)와 연관된 복수의 문자, 즉, 등록번호(1312)가 문서 이미지 내에서 하이라이트되어 시각화된 것으로 예시되어 있다. 이러한 시각화 효과에 따라, 사용자는 타깃 텍스트과 연관된 문자들을 일대일 비교하면서, 타깃 텍스트가 정확하게 구문분석되었는지 여부를 손쉽게 검증할 수 있다. The user can compare the document image output in the first area 1310 and the second area 1320 to verify whether the parsing result is accurate. According to one embodiment, when a specific target text is selected for editing among a plurality of target texts output to the second area 1320, at least one character associated with the selected specific target text is visualized through a specific graphic element It may be output in area 1 1310. In the second area 1320, when the target text 1322 located in the third line from the top is selected, a plurality of characters associated with the selected target text 1322, that is, the registration number 1312, are highlighted and visualized in the document image. It is shown that this has been done. According to this visualization effect, users can easily verify whether the target text has been parsed accurately by comparing characters associated with the target text one-to-one.
만약, 파싱 결과에 포함된 타깃 텍스트 중에 부정확한 타깃 텍스트가 발견된 경우, 사용자는 사용자 인터페이스(1300)를 이용하여, 파싱 결과를 수정할 수 있다. 예컨대, 제2 영역(1320)의 문서 이미지에 표출된 '등록번호'가 '등록번'으로 인식된 경우, 사용자는 제2 영역(1320)에 파싱 결과가 포함된 제2 영역(1320)에서 '등록번'을 '등록번호'로 수정할 수 있다. 도 13의 제2 영역(1320)에서는 위에서부터 세 번째에 위치한 타깃 텍스트(1322)가 '등록번호'로 변경된 것으로 예시되어 있다.If an incorrect target text is found among the target texts included in the parsing result, the user can modify the parsing result using the user interface 1300. For example, if the 'registration number' displayed in the document image in the second area 1320 is recognized as 'registration number', the user may select 'registration number' in the second area 1320 containing the parsing result. ‘Registration number’ can be modified to ‘Registration number’. In the second area 1320 of FIG. 13, the target text 1322 located third from the top is illustrated as being changed to 'registration number'.
타깃 텍스트(1322)가 변경된 후 저장하기 메뉴(1324)가 입력되면, 파싱 결과(즉, 인식 결과)가 변경될 수 있다. 즉, 사용자에 의해서 변경된 타깃 텍스트(1322)가 포함되도록, 파싱 결과가 변경될 수 있다. 이 경우, 변경된 파싱 결과에 기초하여 추가적인 학습용 데이터가 생성될 수 있다. 즉, 제1 영역(1310)에 표출된 학습용 이미지와 변경된 파싱 결과를 포함하는 학습용 데이터가 생성될 수 있다. 여기서, 변경된 파싱 결과는 정답 데이터(ground truth data)로서 이용될 수 있다. 생성된 학습용 데이터는 모델 세트에 포함된 적어도 하나의 기계학습 모델을 추가 학습시키는데 이용할 수 있다. 구체적으로, 정보 처리 시스템은 생성된 학습용 데이터를 이용하여 모델 세트에 포함된 적어도 하나의 기계학습 모델을 추가 학습할 수 있다. 즉, 사용자는 도 13과 같은 사용자 인터페이스(1300)를 통해서 편리하게 인식 결과에 검증을 수행할 수 있다. 만약 인식 결과가 수정되면, 수정된 인식 결과를 정답 데이터로서 포함하는 학습용 데이터가 생성된 후, 생성된 학습용 데이터는 모델 세트의 추가 학습에 이용될 수 있다. If the save menu 1324 is entered after the target text 1322 is changed, the parsing result (i.e., recognition result) may be changed. That is, the parsing result may be changed to include the target text 1322 changed by the user. In this case, additional learning data may be generated based on the changed parsing results. That is, learning data including a learning image displayed in the first area 1310 and a changed parsing result may be generated. Here, the changed parsing result can be used as ground truth data. The generated training data can be used to further train at least one machine learning model included in the model set. Specifically, the information processing system may additionally learn at least one machine learning model included in the model set using the generated training data. That is, the user can conveniently verify the recognition result through the user interface 1300 as shown in FIG. 13. If the recognition result is modified, training data including the corrected recognition result as correct answer data is generated, and then the generated training data can be used for additional training of the model set.
일 실시예에 따르면, 모델 세트를 이용하여 인식된 복수의 문자 및/또는 타깃 텍스트는 정보 처리 시스템에 포함되거나 정보 처리 시스템에 의해 관리되는 데이터베이스에 저장될 수 있다. 데이터베이스에 저장된 문자 및/또는 타깃 텍스트는, 추후 가입자 관리, 소비 성향 패턴 분석 등과 같이 다양한 분야에 이용될 수 있다.According to one embodiment, a plurality of characters and/or target text recognized using the model set may be stored in a database included in or managed by the information processing system. Characters and/or target texts stored in the database can be used in various fields such as subscriber management, consumption tendency pattern analysis, etc. in the future.
도 14는 본 개시의 일 실시예에 따른, 모델 세트의 배포 방법(1400)을 설명하기 위한 흐름도이다. 도 14에 도시된 방법(1400)은, 본 개시의 목적을 달성하기 위한 일 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 14에 도시된 방법(1400)은, 정보 처리 시스템에 포함된 적어도 하나의 프로세서에 의해서 수행될 수 있다. 설명의 편의를 위해서 정보 처리 시스템에 포함된 프로세서에 의해서, 도 14에 도시된 각 단계가 수행되는 것으로 설명하기로 한다.FIG. 14 is a flowchart illustrating a
프로세서는 복수의 모델 세트를 생성할 수 있다(S1410). 일 실시예에 따르면, 복수의 모델 세트의 각각은, 학습에 이용되는 데이터 세트, 학습 방식, 캐릭터 세트 또는 엔티티 세트 중 적어도 하나가 상이할 수 있다. The processor may generate a plurality of model sets (S1410). According to one embodiment, each of the plurality of model sets may be different in at least one of a data set used for learning, a learning method, a character set, or an entity set.
그 후, 프로세서는 생성된 복수의 모델 세트 중에서 배포 대상이 되는 타깃 모델 세트를 결정할 수 있다(S1420).Afterwards, the processor may determine a target model set to be distributed among the plurality of generated model sets (S1420).
일 실시예에 따르면, 프로세서는 복수의 모델 세트의 각각에 대한 테스트를 수행하고, 수행된 테스트 결과에 기초하여 복수의 모델 세트 중에서 타깃 모델 세트를 결정할 수 있다. 몇몇 실시예에 따르면, 프로세서는 문서 타입에 기초하여 생성된 타깃 모델 세트 중에서 타깃 모델 세트를 결정할 수 있다. According to one embodiment, the processor may perform a test on each of a plurality of model sets and determine a target model set from among the plurality of model sets based on the performed test results. According to some embodiments, the processor may determine a target model set from among target model sets generated based on the document type.
이어서, 프로세서는 결정된 타깃 모델 세트를 대상 시스템으로 배포할 수 있다(S1430). 여기서, 복수의 모델 세트의 각각은 문서 이미지로부터 문자를 인식하도록 구성된 적어도 하나의 기계학습 모델을 포함할 수 있다. 일 실시예에 따르면, 프로세서는 타깃 모델 세트를 위한 컴퓨팅 자원을 할당할 수 있고, 대상 시스템은 할당된 컴퓨팅 자원을 이용하여 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델을 동작시키도록 구성될 수 있다. Subsequently, the processor may distribute the determined target model set to the target system (S1430). Here, each of the plurality of model sets may include at least one machine learning model configured to recognize characters from document images. According to one embodiment, the processor may allocate computing resources for a target model set, and the target system may be configured to operate at least one machine learning model included in the target model set using the allocated computing resources. there is.
일 실시예에 따르면, 복수의 모델 세트의 각각은, 문서 이미지에서 문자가 표출된 복수의 영역을 검출하여 출력하도록 구성된 제1 기계학습 모델 및 제1 기계학습 모델로부터 출력된 복수의 영역으로부터 복수의 문자를 인식하여 출력하도록 구성된 제2 기계학습 모델을 포함할 수 있다. 또한, 복수의 모델 세트의 각각은, 복수의 엔티티에 기초하여 제2 기계학습 모델로부터 출력된 복수의 문자를 구문 분석하여, 복수의 엔티티와 연관된 복수의 타깃 텍스트를 출력하도록 구성된 제3 기계학습 모델을 더 포함할 수 있다. According to one embodiment, each of the plurality of model sets includes a first machine learning model configured to detect and output a plurality of regions in which characters are expressed in a document image, and a plurality of regions from the plurality of regions output from the first machine learning model. It may include a second machine learning model configured to recognize and output characters. Additionally, each of the plurality of model sets includes a third machine learning model configured to parse a plurality of characters output from the second machine learning model based on the plurality of entities and output a plurality of target texts associated with the plurality of entities. It may further include.
그 후, 프로세서는 복수의 문서 이미지가 타깃 모델 세트로 적용되어, 복수의 문서 이미지에 기초하여 복수의 인식 결과가 타깃 모델 세트로부터 출력되기까지의 타깃 모델 세트의 상태를 모니터링할 수 있다. 일 실시예에 따르면, 프로세서는 타깃 모델 세트에 대한 모니터링 기간을 결정하고, 결정된 모니터링 기간 동안에 타깃 모델 세트의 상태를 모니터링할 수 있다. Thereafter, the processor may monitor the status of the target model set until the plurality of document images are applied as the target model set and the plurality of recognition results are output from the target model set based on the plurality of document images. According to one embodiment, the processor may determine a monitoring period for the target model set and monitor the state of the target model set during the determined monitoring period.
또한, 프로세서는 타깃 모델 세트로 입력되는 문서 이미지의 비율을 결정할 수 있다. 이에 따라, 전체 문서 이미지 중에서 결정된 비율에 상응하는 개수의 문서 이미지가 타깃 모델 세트로 입력될 수 있다. Additionally, the processor may determine the ratio of document images input to the target model set. Accordingly, the number of document images corresponding to the determined ratio among all document images may be input into the target model set.
일 실시예에 따르면, 타깃 모델 세트에는 제1 기계학습 모델과 제2 기계학습 모델이 포함되고, 프로세서는 제1 기계학습 모델의 상태와 제2 기계학습 모델의 상태를 모니터링할 수 있다. According to one embodiment, the target model set includes a first machine learning model and a second machine learning model, and the processor may monitor the state of the first machine learning model and the state of the second machine learning model.
일 실시예에 따르면, 프로세서는 복수의 모델 세트의 각각로부터 출력된 데이터와 정답 데이터에 기초하여, 복수의 모델 세트의 각각에 대한 인식 정확도를 산출하고, 산출된 복수의 모델 세트의 각각에 대한 인식 정확도를 출력할 수 있다. 또한, 프로세서는 복수의 모델 세트의 각각에 대한 상태 데이터에 기초하여, 복수의 모델 세트의 각각에 대한 신뢰 점수를 산출하고, 산출된 복수의 모델 세트의 각각에 대한 신뢰 점수를 출력할 수 있다. According to one embodiment, the processor calculates recognition accuracy for each of the plurality of model sets based on data output from each of the plurality of model sets and correct answer data, and performs recognition accuracy for each of the calculated plurality of model sets. Accuracy can be output. Additionally, the processor may calculate a trust score for each of the plurality of model sets based on state data for each of the plurality of model sets, and output the calculated trust score for each of the plurality of model sets.
프로세서는 타깃 모델 세트로 문서 이미지를 적용하여, 문서 이미지에 기초한 인식 결과 데이터를 획득하고, 문서 이미지와 인식 결과 데이터에 기초하여 학습용 데이터를 생성할 수 있다. 이어서, 프로세서는 생성된 학습용 데이터를 타깃 모델 세트로 적용하여, 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델에 대한 추가적인 학습을 진행할 수 있다. 일 실시예에 따르면, 타깃 모델 세트는 문서 이미지로부터 문자가 표출된 복수의 서브 영역을 검출하도록 구성된 기계학습 모델을 포함할 수 있다. 또한, 프로세서는 기계학습 모델로부터 검출된 복수의 서브 영역을 제공하기 위한 사용자 인터페이스를 출력하고, 사용자 인터페이스에 통해 복수의 서브 영역 중 적어도 하나를 변경하기 위한 사용자 입력을 수신한 후, 사용자 입력에 기초하여 변경된 서브 영역을 정답 데이터로서 결정한 학습용 데이터를 생성할 수 있다.The processor may apply the document image as the target model set, obtain recognition result data based on the document image, and generate learning data based on the document image and recognition result data. Subsequently, the processor may apply the generated training data as a target model set to perform additional learning on at least one machine learning model included in the target model set. According to one embodiment, the target model set may include a machine learning model configured to detect a plurality of sub-areas in which characters are expressed from a document image. Additionally, the processor outputs a user interface for providing a plurality of sub-areas detected from the machine learning model, receives a user input for changing at least one of the plurality of sub-areas through the user interface, and then based on the user input Thus, learning data with the changed sub-area determined as the correct answer data can be generated.
몇몇 실시예에서, 타깃 모델 세트는 문서 이미지로부터 복수의 문자를 인식하도록 구성된 기계학습 모델을 포함할 수 있다. 또한, 프로세서는 기계학습 모델로부터 인식된 복수의 문자를 제공하기 위한 사용자 인터페이스를 출력하고, 사용자 인터페이스에 통해 복수의 문자 중 적어도 하나를 변경하기 위한 사용자 입력을 수신한 후, 사용자 입력에 기초하여 변경된 문자를 정답 데이터로서 결정한 학습용 데이터를 생성할 수 있다. In some embodiments, the target model set may include a machine learning model configured to recognize a plurality of characters from a document image. Additionally, the processor outputs a user interface for providing a plurality of characters recognized from the machine learning model, receives a user input for changing at least one of the plurality of characters through the user interface, and then changes the user input based on the user input. It is possible to generate learning data where characters are determined as correct answer data.
몇몇 실시예에서, 타깃 모델 세트는, 문서 이미지로부터 복수의 타깃 텍스트를 인식하도록 구성된 기계학습 모델을 포함할 수 있다. 또한, 프로세서는 기계학습 모델로부터 인식된 복수의 타깃 텍스트를 제공하기 위한 사용자 인터페이스를 출력하고, 사용자 인터페이스에 통해 복수의 타깃 텍스트 중 적어도 하나를 변경하기 위한 사용자 입력을 수신한 후, 사용자 입력에 기초하여 변경된 타깃 텍스트를 정답 데이터로서 결정한 학습용 데이터를 생성할 수 있다. 몇몇 실시예에 따르면, 사용자 인터페이스의 제1 영역에는 문서 이미지가 출력되고, 사용자 인터페이스의 제2 영역에는 복수의 엔티티와 관련된 복수의 타깃 텍스트가 출력될 수 있다. 복수의 타깃 텍스트 중에서 특정 타깃 텍스트가 선택되면, 선택된 특정 타깃 텍스트와 연관된 적어도 하나의 문자는 제1 영역에서 특정 그래픽 요소를 통해 시각화될 수 있다. In some embodiments, the target model set may include a machine learning model configured to recognize a plurality of target texts from document images. In addition, the processor outputs a user interface for providing a plurality of target texts recognized from the machine learning model, receives a user input for changing at least one of the plurality of target texts through the user interface, and then based on the user input Thus, learning data determined with the changed target text as the correct answer data can be generated. According to some embodiments, a document image may be output in a first area of the user interface, and a plurality of target texts related to a plurality of entities may be output in a second area of the user interface. When a specific target text is selected from among a plurality of target texts, at least one character associated with the selected specific target text may be visualized through a specific graphic element in the first area.
상술한 흐름도 및 상술한 설명은 일 예시일 뿐이며, 일부 실시예에서는 다르게 구현될 수 있다. 예를 들어, 일부 실시예에서는 각 단계의 순서가 바뀌거나, 일부 단계가 반복 수행되거나, 일부 단계가 생략되거나, 일부 단계가 추가될 수 있다.The above flowchart and above description are only examples and may be implemented differently in some embodiments. For example, in some embodiments, the order of each step may be changed, some steps may be performed repeatedly, some steps may be omitted, or some steps may be added.
상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록 수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The above-described method may be provided as a computer program stored in a computer-readable recording medium for execution on a computer. Media may be used to continuously store executable programs on a computer, or may be temporarily stored for execution or download. Additionally, the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and There may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc.
본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는 지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안 된다.The methods, operations, or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented in electronic hardware, computer software, or combinations of both. To clearly illustrate this interchange of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.In a hardware implementation, the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs). ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다.Accordingly, the various illustrative logical blocks, modules, and circuits described in connection with this disclosure may be general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or It may be implemented or performed as any combination of those designed to perform the functions described in. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 마킹 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.For firmware and/or software implementations, techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), and PROM ( on computer-readable media such as programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or marked data storage devices, etc. It may also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.
소프트웨어로 구현되는 경우, 상술된 기법들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다.When implemented in software, the techniques described above may be stored on or transmitted through a computer-readable medium as one or more instructions or code. Computer-readable media includes both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Storage media may be any available media that can be accessed by a computer. By way of non-limiting example, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or the desired program code in the form of instructions or data structures. It can be used to transfer or store data and can include any other media that can be accessed by a computer. Any connection is also properly termed a computer-readable medium.
예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크(disk) 와 디스크(disc)는, CD, 레이저 디스크, 광 디스크, DVD(digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들(disks)은 보통 자기적으로 데이터를 재생하고, 반면 디스크들(discs)은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.For example, if the Software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, , fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of medium. As used herein, disk and disk include CD, laser disk, optical disk, digital versatile disc (DVD), floppy disk, and Blu-ray disk, where disks are usually magnetic. It reproduces data optically, while discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
소프트웨어 모듈은, RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 연결될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 구성요소들로서 존재할 수도 있다.A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known. An exemplary storage medium may be coupled to the processor such that the processor may read information from or write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and storage media may reside within an ASIC. ASIC may exist within the user terminal. Alternatively, the processor and storage medium may exist as separate components in the user terminal.
이상 설명된 실시예들이 하나 이상의 독립형 컴퓨터 시스템에서 현재 개시된 주제의 양태들을 활용하는 것으로 기술되었으나, 본 개시는 이에 한정되지 않고, 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 본 개시에서 주제의 양상들은 복수의 프로세싱 칩들이나 장치들에서 구현될 수도 있고, 스토리지는 복수의 장치들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 장치들은 PC들, 네트워크 서버들, 및 휴대용 장치들을 포함할 수도 있다.Although the above-described embodiments have been described as utilizing aspects of the presently disclosed subject matter in one or more standalone computer systems, the disclosure is not limited thereto and may also be implemented in conjunction with any computing environment, such as a network or distributed computing environment. . Furthermore, aspects of the subject matter of this disclosure may be implemented in multiple processing chips or devices, and storage may be similarly effected across the multiple devices. These devices may include PCs, network servers, and portable devices.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in relation to some embodiments in this specification, various modifications and changes may be made without departing from the scope of the present disclosure as can be understood by those skilled in the art to which the invention pertains. Additionally, such modifications and changes should be considered to fall within the scope of the claims appended hereto.
210 : 통신 단말
220 : 네트워크
230 : 정보 처리 시스템210: communication terminal
220: network
230: Information processing system
Claims (20)
복수의 모델 세트를 생성하는 단계;
상기 생성된 복수의 모델 세트 중에서 배포 대상이 되는 타깃 모델 세트를 결정하는 단계; 및
상기 결정된 타깃 모델 세트를 대상 시스템으로 배포하는 단계
를 포함하고, 상기 복수의 모델 세트의 각각은 문서 이미지로부터 문자를 인식하도록 구성된 적어도 하나의 기계학습 모델을 포함하는, 모델 세트 배포 방법.
A method for distributing a model set associated with character recognition, performed by at least one processor, comprising:
generating a plurality of model sets;
determining a target model set to be distributed among the plurality of model sets generated; and
Distributing the determined target model set to the target system
A method for distributing a model set, comprising: each of the plurality of model sets including at least one machine learning model configured to recognize characters from document images.
상기 복수의 모델 세트의 각각은, 상기 문서 이미지에서 문자가 표출된 복수의 영역을 검출하여 출력하도록 구성된 제1 기계학습 모델 및 상기 제1 기계학습 모델로부터 출력된 복수의 영역으로부터 복수의 문자를 인식하여 출력하도록 구성된 제2 기계학습 모델을 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
Each of the plurality of model sets includes a first machine learning model configured to detect and output a plurality of regions in which characters are expressed in the document image, and a plurality of characters recognized from the plurality of regions output from the first machine learning model. A method for distributing a model set, including a second machine learning model configured to be output.
상기 복수의 모델 세트의 각각은, 복수의 엔티티에 기초하여 상기 제2 기계학습 모델로부터 출력된 복수의 문자를 구문 분석하여, 상기 복수의 엔티티와 연관된 복수의 타깃 텍스트를 출력하도록 구성된 제3 기계학습 모델을 더 포함하는, 모델 세트 배포 방법.
According to paragraph 2,
Each of the plurality of model sets is configured to parse a plurality of characters output from the second machine learning model based on a plurality of entities and output a plurality of target texts associated with the plurality of entities. A method for distributing a model set, further comprising models.
상기 타깃 모델 세트를 대상 시스템으로 배포하는 단계는,
상기 타깃 모델 세트를 위한 컴퓨팅 자원을 할당하는 단계
를 포함하고,
상기 대상 시스템은 상기 할당된 컴퓨팅 자원을 이용하여 상기 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델을 동작시키도록 구성된, 모델 세트 배포 방법.
According to paragraph 1,
The step of distributing the target model set to the target system is,
Allocating computing resources for the target model set
Including,
The target system is configured to operate at least one machine learning model included in the target model set using the allocated computing resources.
상기 타깃 모델 세트를 대상 시스템으로 배포하는 단계 이후에,
복수의 문서 이미지가 상기 타깃 모델 세트로 적용되어, 상기 복수의 문서 이미지에 기초하여 복수의 인식 결과가 상기 타깃 모델 세트로부터 출력되기까지의 상기 타깃 모델 세트의 상태를 모니터링하는 단계
를 더 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
After distributing the target model set to the target system,
Monitoring the state of the target model set until a plurality of document images are applied to the target model set and a plurality of recognition results are output from the target model set based on the plurality of document images.
A model set distribution method further comprising:
상기 타깃 모델 세트를 대상 시스템으로 배포하는 단계는,
상기 타깃 모델 세트에 대한 모니터링 기간을 결정하는 단계
를 포함하고,
상기 타깃 모델 세트의 상태를 모니터링하는 단계는,
상기 결정된 모니터링 기간 동안에 상기 타깃 모델 세트의 상태를 모니터링하는 단계
를 포함하는, 모델 세트 배포 방법.
According to clause 5,
The step of distributing the target model set to the target system is,
Determining a monitoring period for the target model set
Including,
The step of monitoring the status of the target model set is,
Monitoring the state of the target model set during the determined monitoring period.
A method for distributing a model set, including:
상기 타깃 모델 세트를 대상 시스템으로 배포하는 단계는,
상기 타깃 모델 세트로 입력되는 문서 이미지의 비율을 결정하는 단계
를 포함하고,
전체 문서 이미지 중에서 상기 결정된 비율에 상응하는 개수의 문서 이미지가 상기 타깃 모델 세트로 입력되는, 모델 세트 배포 방법.
In number 5,
The step of distributing the target model set to the target system is,
Determining the ratio of document images input to the target model set
Including,
A model set distribution method in which a number of document images corresponding to the determined ratio among all document images are input into the target model set.
상기 타깃 모델 세트에는 제1 기계학습 모델과 제2 기계학습 모델이 포함되고,
상기 타깃 모델 세트의 상태를 모니터링하는 단계는,
상기 제1 기계학습 모델의 상태와 상기 제2 기계학습 모델의 상태를 모니터링하는 단계
를 포함하는, 모델 세트 배포 방법.
According to clause 5,
The target model set includes a first machine learning model and a second machine learning model,
The step of monitoring the status of the target model set is,
Monitoring the state of the first machine learning model and the state of the second machine learning model
A method for distributing a model set, including:
상기 복수의 모델 세트의 각각은, 학습에 이용되는 데이터 세트, 학습 방식, 캐릭터 세트 또는 엔티티 세트 중 적어도 하나가 상이한, 모델 세트 배포 방법.
According to paragraph 1,
Each of the plurality of model sets is different in at least one of a data set used for learning, a learning method, a character set, or an entity set.
상기 복수의 모델 세트의 각각로부터 출력된 데이터와 정답 데이터에 기초하여, 상기 복수의 모델 세트의 각각에 대한 인식 정확도를 산출하는 단계; 및
상기 산출된 복수의 모델 세트의 각각에 대한 인식 정확도를 출력하는 단계
를 더 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
calculating recognition accuracy for each of the plurality of model sets based on data output from each of the plurality of model sets and correct answer data; and
Outputting recognition accuracy for each of the calculated plurality of model sets.
A model set distribution method further comprising:
상기 복수의 모델 세트의 각각에 대한 상태 데이터에 기초하여, 상기 복수의 모델 세트의 각각에 대한 신뢰 점수(confidence score)를 산출하는 단계; 및
상기 산출된 복수의 모델 세트의 각각에 대한 신뢰 점수를 출력하는 단계
를 더 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
calculating a confidence score for each of the plurality of model sets, based on state data for each of the plurality of model sets; and
Outputting a trust score for each of the calculated plurality of model sets.
A model set distribution method further comprising:
상기 타깃 모델 세트를 결정하는 단계는,
상기 복수의 모델 세트의 각각에 대한 테스트를 수행하는 단계; 및
상기 수행된 테스트에 기초하여, 상기 복수의 모델 세트 중에서 상기 타깃 모델 세트를 결정하는 단계
를 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
The step of determining the target model set is,
performing a test on each of the plurality of model sets; and
Based on the performed test, determining the target model set from the plurality of model sets.
A method for distributing a model set, including:
상기 타깃 모델 세트를 결정하는 단계 이후에,
상기 타깃 모델 세트로 문서 이미지를 적용하여, 상기 문서 이미지에 기초한 인식 결과 데이터를 획득하는 단계;
상기 문서 이미지와 상기 인식 결과 데이터에 기초하여 학습용 데이터를 생성하는 단계; 및
상기 생성된 학습용 데이터를 상기 타깃 모델 세트로 적용하여, 상기 타깃 모델 세트에 포함된 적어도 하나의 기계학습 모델에 대한 추가적인 학습을 진행하는 단계
를 더 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
After determining the target model set,
applying a document image to the target model set, and obtaining recognition result data based on the document image;
generating learning data based on the document image and the recognition result data; and
Applying the generated learning data to the target model set to perform additional learning on at least one machine learning model included in the target model set.
A model set distribution method further comprising:
상기 타깃 모델 세트는, 상기 문서 이미지로부터 문자가 표출된 복수의 서브 영역을 검출하도록 구성된 기계학습 모델을 포함하고,
상기 학습용 데이터를 생성하는 단계는,
상기 기계학습 모델로부터 검출된 복수의 서브 영역을 제공하기 위한 사용자 인터페이스를 출력하는 단계;
상기 사용자 인터페이스에 통해 상기 복수의 서브 영역 중 적어도 하나를 변경하기 위한 사용자 입력을 수신하는 단계; 및
상기 사용자 입력에 기초하여 변경된 서브 영역을 정답 데이터로서 결정한 학습용 데이터를 생성하는 단계
를 포함하는, 모델 세트 배포 방법.
According to clause 13,
The target model set includes a machine learning model configured to detect a plurality of sub-areas in which characters are expressed from the document image,
The step of generating the learning data is,
outputting a user interface for providing a plurality of sub-areas detected from the machine learning model;
Receiving a user input for changing at least one of the plurality of sub-areas through the user interface; and
Generating learning data that determines the changed sub-area as correct answer data based on the user input.
A method for distributing a model set, including:
상기 타깃 모델 세트는, 상기 문서 이미지로부터 복수의 문자를 인식하도록 구성된 기계학습 모델을 포함하고,
상기 학습용 데이터를 생성하는 단계는,
상기 기계학습 모델로부터 인식된 복수의 문자를 제공하기 위한 사용자 인터페이스를 출력하는 단계;
상기 사용자 인터페이스에 통해 상기 복수의 문자 중 적어도 하나를 변경하기 위한 사용자 입력을 수신하는 단계; 및
상기 사용자 입력에 기초하여 변경된 문자를 정답 데이터로서 결정한 학습용 데이터를 생성하는 단계
를 포함하는, 모델 세트 배포 방법.
According to clause 13,
The target model set includes a machine learning model configured to recognize a plurality of characters from the document image,
The step of generating the learning data is,
Outputting a user interface for providing a plurality of characters recognized from the machine learning model;
Receiving a user input for changing at least one of the plurality of characters through the user interface; and
Generating learning data that determines the changed characters as correct answer data based on the user input.
A method for distributing a model set, including:
상기 타깃 모델 세트는, 상기 문서 이미지로부터 복수의 타깃 텍스트를 인식하도록 구성된 기계학습 모델을 포함하고,
상기 학습용 데이터를 생성하는 단계는,
상기 기계학습 모델로부터 인식된 복수의 타깃 텍스트를 제공하기 위한 사용자 인터페이스를 출력하는 단계;
상기 사용자 인터페이스에 통해 상기 복수의 타깃 텍스트 중 적어도 하나를 변경하기 위한 사용자 입력을 수신하는 단계; 및
상기 사용자 입력에 기초하여 변경된 타깃 텍스트를 정답 데이터로서 결정한 학습용 데이터를 생성하는 단계
를 포함하는, 모델 세트 배포 방법.
According to clause 13,
The target model set includes a machine learning model configured to recognize a plurality of target texts from the document image,
The step of generating the learning data is,
Outputting a user interface for providing a plurality of target texts recognized from the machine learning model;
Receiving a user input for changing at least one of the plurality of target texts through the user interface; and
Generating learning data that determines the changed target text as correct answer data based on the user input.
A method for distributing a model set, including:
상기 사용자 인터페이스의 제1 영역에는 상기 문서 이미지가 출력되고, 상기 사용자 인터페이스의 제2 영역에는 복수의 엔티티와 관련된 복수의 타깃 텍스트가 출력되고,
상기 복수의 타깃 텍스트 중에서 특정 타깃 텍스트가 선택되면, 상기 선택된 특정 타깃 텍스트와 연관된 적어도 하나의 문자는 상기 제1 영역에서 특정 그래픽 요소를 통해 시각화되는, 모델 세트 배포 방법.
According to clause 16,
The document image is output in a first area of the user interface, and a plurality of target texts related to a plurality of entities are output in a second area of the user interface,
When a specific target text is selected from among the plurality of target texts, at least one character associated with the selected specific target text is visualized through a specific graphic element in the first area.
상기 타깃 모델 세트를 결정하는 단계는,
문서 타입에 기초하여 상기 생성된 타깃 모델 세트 중에서 타깃 모델 세트를 결정하는 단계
를 포함하는, 모델 세트 배포 방법.
According to paragraph 1,
The step of determining the target model set is,
Determining a target model set from the generated target model set based on the document type
A method for distributing a model set, including:
A computer program stored in a computer-readable recording medium for executing the method according to any one of claims 1 to 18 on a computer.
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로그램은,
복수의 모델 세트를 생성하고,
상기 생성된 복수의 모델 세트 중에서 배포 대상이 되는 타깃 모델 세트를 결정하고,
상기 결정된 타깃 모델 세트를 대상 시스템으로 배포하기 위한 명령어들을 포함하고,
상기 복수의 모델 세트의 각각은 문서 이미지로부터 문자를 인식하도록 구성된 적어도 하나의 기계학습 모델을 포함하는, 정보 처리 시스템.As an information processing system,
Memory; and
At least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory
Including,
The at least one program is,
Create multiple model sets,
Determine a target model set to be distributed among the plurality of model sets generated,
Contains instructions for distributing the determined target model set to the target system,
An information processing system, wherein each of the plurality of model sets includes at least one machine learning model configured to recognize characters from document images.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220183260 | 2022-12-23 | ||
KR20220183260 | 2022-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240101388A true KR20240101388A (en) | 2024-07-02 |
Family
ID=89716120
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230059587A KR102626798B1 (en) | 2022-12-23 | 2023-05-09 | Method and system monitoring model set associated with character recognition |
KR1020230059586A KR102681448B1 (en) | 2022-12-23 | 2023-05-09 | Method and system for recognizing character |
KR1020230179892A KR20240101388A (en) | 2022-12-23 | 2023-12-12 | Method and system for distributing model set associated with character recognition |
KR1020230179503A KR20240101385A (en) | 2022-12-23 | 2023-12-12 | Method and system for managing labeling work |
KR1020230179502A KR20240101384A (en) | 2022-12-23 | 2023-12-12 | Method and system for distributing model set based on test |
KR1020230179893A KR20240101389A (en) | 2022-12-23 | 2023-12-12 | Method and system for evaluating model set performance |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230059587A KR102626798B1 (en) | 2022-12-23 | 2023-05-09 | Method and system monitoring model set associated with character recognition |
KR1020230059586A KR102681448B1 (en) | 2022-12-23 | 2023-05-09 | Method and system for recognizing character |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230179503A KR20240101385A (en) | 2022-12-23 | 2023-12-12 | Method and system for managing labeling work |
KR1020230179502A KR20240101384A (en) | 2022-12-23 | 2023-12-12 | Method and system for distributing model set based on test |
KR1020230179893A KR20240101389A (en) | 2022-12-23 | 2023-12-12 | Method and system for evaluating model set performance |
Country Status (1)
Country | Link |
---|---|
KR (6) | KR102626798B1 (en) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5509773B2 (en) * | 2009-01-21 | 2014-06-04 | オムロン株式会社 | Parameter determination support apparatus and parameter determination support program |
JP2020027598A (en) * | 2018-12-27 | 2020-02-20 | 株式会社シグマクシス | Character recognition device, character recognition method, and character recognition program |
CN110008944B (en) * | 2019-02-20 | 2024-02-13 | 平安科技(深圳)有限公司 | OCR recognition method and device based on template matching and storage medium |
JP6779491B1 (en) * | 2019-06-25 | 2020-11-04 | 株式会社エクサウィザーズ | Character recognition device, shooting device, character recognition method, and character recognition program |
KR20210093618A (en) * | 2020-01-20 | 2021-07-28 | 주식회사 케이티 | Device, method and computer program for deriving response based on learning model |
JP6994727B1 (en) * | 2021-03-23 | 2022-01-14 | 株式会社 YSK e-com | Reading system, reading program and reading method |
CN115131807A (en) * | 2022-04-21 | 2022-09-30 | 腾讯科技(深圳)有限公司 | Text processing method, text processing device, storage medium and equipment |
-
2023
- 2023-05-09 KR KR1020230059587A patent/KR102626798B1/en active IP Right Grant
- 2023-05-09 KR KR1020230059586A patent/KR102681448B1/en active
- 2023-12-12 KR KR1020230179892A patent/KR20240101388A/en unknown
- 2023-12-12 KR KR1020230179503A patent/KR20240101385A/en unknown
- 2023-12-12 KR KR1020230179502A patent/KR20240101384A/en unknown
- 2023-12-12 KR KR1020230179893A patent/KR20240101389A/en unknown
Also Published As
Publication number | Publication date |
---|---|
KR20240101306A (en) | 2024-07-02 |
KR102626798B1 (en) | 2024-01-18 |
KR20240101389A (en) | 2024-07-02 |
KR20240101385A (en) | 2024-07-02 |
KR102681448B1 (en) | 2024-07-04 |
KR20240101384A (en) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909313B2 (en) | Personalized summary generation of data visualizations | |
US11416754B1 (en) | Automated cloud data and technology solution delivery using machine learning and artificial intelligence modeling | |
US11380116B2 (en) | Automatic delineation and extraction of tabular data using machine learning | |
US11481553B1 (en) | Intelligent knowledge management-driven decision making model | |
US11461409B2 (en) | Digitization of technical documentation driven by machine learning | |
US11146580B2 (en) | Script and command line exploitation detection | |
US20170371504A1 (en) | Method and system for visual requirements and component reuse driven rapid application composition | |
US12045756B2 (en) | Machine learning methods and systems for cataloging and making recommendations based on domain-specific knowledge | |
US20220291966A1 (en) | Systems and methods for process mining using unsupervised learning and for automating orchestration of workflows | |
US12001823B2 (en) | Systems and methods for building and deploying machine learning applications | |
KR20220116110A (en) | Method for determining a confidence level of inference data produced by artificial neural network | |
US11823086B2 (en) | Membership analyzing method, apparatus, computer device and storage medium | |
KR20240101388A (en) | Method and system for distributing model set associated with character recognition | |
US20230117893A1 (en) | Machine learning techniques for environmental discovery, environmental validation, and automated knowledge repository generation | |
US12008442B2 (en) | Analysing machine-learned classifier models | |
US11593740B1 (en) | Computing system for automated evaluation of process workflows | |
US20220230233A1 (en) | Virtual Environment Arrangement and Configuration | |
Wickham | Practical Java Machine Learning | |
CN111444170B (en) | Automatic machine learning method and equipment based on predictive business scene | |
CN112764957A (en) | Application fault delimiting method and device | |
US20230393871A1 (en) | Method and system of intelligently generating help documentation | |
US20240193674A1 (en) | Virtual Environment Arrangement and Configuration | |
US20240061883A1 (en) | Declarative modeling paradigm for graph-database | |
US20240256942A1 (en) | Determining golden signal classifications using historical context from information technology (it) support data | |
US20240249543A1 (en) | Customizable data extraction service |