KR102644859B1 - Method and system for correcting errors and neglections in text data based on context analysis - Google Patents

Method and system for correcting errors and neglections in text data based on context analysis Download PDF

Info

Publication number
KR102644859B1
KR102644859B1 KR1020220069963A KR20220069963A KR102644859B1 KR 102644859 B1 KR102644859 B1 KR 102644859B1 KR 1020220069963 A KR1020220069963 A KR 1020220069963A KR 20220069963 A KR20220069963 A KR 20220069963A KR 102644859 B1 KR102644859 B1 KR 102644859B1
Authority
KR
South Korea
Prior art keywords
sentences
word
words
sentence
correction
Prior art date
Application number
KR1020220069963A
Other languages
Korean (ko)
Other versions
KR20230169608A (en
Inventor
김준수
김지민
Original Assignee
김준수
주식회사 에스에스엘
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김준수, 주식회사 에스에스엘 filed Critical 김준수
Priority to KR1020220069963A priority Critical patent/KR102644859B1/en
Publication of KR20230169608A publication Critical patent/KR20230169608A/en
Application granted granted Critical
Publication of KR102644859B1 publication Critical patent/KR102644859B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Medical Informatics (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 문서 데이터에서 교정 범위 및 교정 대상(단어 및 문장)을 알고리즘을 통해 선정하고, 교정 담당자가 교정 대상의 문맥 및 문장의 의미를 파악하여 잘못 표기된 단어를 교정하며, 교정 담당자가 교정한 문장을 검증 담당자로부터 품질을 검증받기 때문에 교정에 대한 신뢰도를 높으며, 상기와 같은 방식으로 교정된 단어 및 문장은 인공지능 학습 데이터 셋으로 활용되고 이를 문서 데이터를 교정하는 프로그램으로 생성하여 대량의 문서를 자동으로 교정할 수 있는 컨텍스트 기반의 텍스트 오류 교정 방법에 관한 것이다.The present invention selects the scope of correction and correction target (words and sentences) from document data through an algorithm, the correction officer identifies the context and meaning of the sentence of the correction target, corrects incorrectly written words, and sentences corrected by the correction officer. Because the quality is verified by a verification person, the reliability of proofreading is high, and the words and sentences proofread in the above manner are used as an artificial intelligence learning data set and are created with a program to proofread document data to automatically edit large amounts of documents. This is about a context-based text error correction method that can be corrected.

Description

컨텍스트 기반의 텍스트 오류 교정 방법 및 시스템{METHOD AND SYSTEM FOR CORRECTING ERRORS AND NEGLECTIONS IN TEXT DATA BASED ON CONTEXT ANALYSIS}Context-based text error correction method and system {METHOD AND SYSTEM FOR CORRECTING ERRORS AND NEGLECTIONS IN TEXT DATA BASED ON CONTEXT ANALYSIS}

본 발명은 컨텍스트 기반의 텍스트 오류 교정 기술에 관한 것으로, 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾기 위해 단순히 단어 자체를 검수하는 것으로는 교정율과 교정 속도에 한계가 있으므로 해당 오기 단어의 앞뒤 문맥(컨텍스트)을 함께 살펴보고 검수하되 다수의 크라우드 검수자를 이용하여 동시다발적으로 검수를 수행하고, 검수 결과는 기계학습의 데이터 셋으로 활용하여 크라우드 검수자를 점차 인공지능으로 대체함으로써 대량의 텍스트 데이터에 대한 오류 검증 및 교정의 속도를 배가하고 교정율을 획기적으로 향상시킬 수 있는 컨텍스트 기반의 텍스트 오류 교정 방법 및 시스템에 관한 것이다.The present invention relates to a context-based text error correction technology, which simply inspects the word itself to find misspelled words where the meaning of the word is unknown due to incorrect input or where the word itself is a complete word but is incorrect in context. Since there are limits to the correction rate and speed of correction, the context before and after the incorrect word is examined and inspected together, but inspection is performed simultaneously using multiple crowd reviewers, and the inspection results are converted into a machine learning data set. It is about a context-based text error correction method and system that can double the speed of error verification and correction for large amounts of text data and dramatically improve the correction rate by gradually replacing crowd inspectors with artificial intelligence.

컴퓨터나 스마트폰 또는 태블릿 PC 등이 널리 보급됨에 따라, 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.As computers, smartphones, and tablet PCs become widely available, various types of electronic document-related programs that allow users to view, create, and edit electronic documents using these electronic terminal devices are being released.

전자 단말 장치에서 사용 가능한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.Electronic document-related programs that can be used in electronic terminal devices include word processors that support the creation and editing of basic documents, spreadsheets that assist in data entry, arithmetic operations, and data management, and presentation programs that assist the presenter's presentation. .

사용자는 이러한 전자 문서 관련 프로그램들을 사용할 때 전자 문서 상에서 오타를 내는 경우가 많다. 따라서 전자 문서 프로그램들은 맞춤법/문법 검사기능을 제공함으로써 사용자가 보다 쉽게 오타를 정정할 수 있도록 지원하고 있다.When users use these electronic document-related programs, they often make typos in electronic documents. Therefore, electronic document programs provide spelling/grammar check functions to help users more easily correct typos.

그러나 이와 같은 오타 정정 방식은 틀린 맞춤법, 유사단어는 쉽게 확인되지 않고 그대로 이용되는 경우가 많다. 특히, 단어로만 봤을 때는 오타가 아니지만 문장의 의미에 따라서 잘못된 표기인 단어들이 있다. 예를 들면, “결재”는 오타가 아니지만 “카드 결재”로 쓰일 경우에는 잘못된 표기 방식으로 볼 수 있다.However, this type of typo correction method is often used as is because incorrect spellings and similar words are not easily identified. In particular, there are words that are not typos when viewed as words alone, but are incorrectly written depending on the meaning of the sentence. For example, “payment” is not a typo, but if it is written as “card payment,” it can be considered an incorrect spelling.

종래의 오타 정정 시스템은 사전적으로 맞춤법이 잘못된 오타를 정정하는 것은 가능하나 문맥에 따라 다르게 사용되는 단어는 교정이 불가능한 한계가 있다.Conventional typo correction systems can correct misspellings in the dictionary, but there is a limitation in that they cannot correct words that are used differently depending on the context.

대한민국 등록특허공보 제10-2140342호 (2020.07.27)Republic of Korea Patent Publication No. 10-2140342 (2020.07.27)

본 발명이 해결하고자 하는 과제는 문서 데이터에서 교정 범위 및 교정 대상(단어 및 문장)을 알고리즘을 통해 선정하고, 교정 담당자가 교정 대상의 문맥 및 문장의 의미를 파악하여 잘못 표기된 단어를 교정하는 컨텍스트 기반의 텍스트 오류 교정 방법을 제공하는 것이다.The problem that the present invention aims to solve is context-based, where the scope of correction and the correction target (words and sentences) are selected from document data through an algorithm, and the correction officer corrects incorrectly written words by identifying the context and meaning of the sentence of the correction target. The goal is to provide a method for correcting text errors.

또한 본 발명이 해결하고자 하는 과제는 상기와 같은 방식으로 교정된 단어 및 문장은 인공지능 학습 데이터 셋으로 활용되고 이를 문서 데이터를 교정하는 프로그램으로 생성하여 대량의 문서를 자동으로 교정하기 위한 것이다.In addition, the problem that the present invention aims to solve is to automatically proofread large quantities of documents by using the words and sentences corrected in the above manner as an artificial intelligence learning data set and generating them into a program for proofreading document data.

본 발명의 일 실시예에 따른 컨텍스트 기반의 텍스트 오류 교정 방법은 파서(parcer)가 원시 문서를 파싱하여, 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾는 단계와, DB 구축기(DB developer)가 상기 오기 단어가 포함된 교정 전 문장(精製 前 文章)들을 교정 대상 DB에 저장하고, 상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers)의 단말들로 전송하며, 상기 크라우드 검수자의 리뷰에 의해 수정된 교정 후 문장(精製 後 文章)으로 레퍼런스 DB를 구성하는 단계 및 교정기(corrector)가 상기 레퍼런스 DB를 기초로 상기 원시 문서에 포함된 교정 전 문장을 교정 후 문장으로 자동 교정하여 교정 문서를 생성하는 단계를 포함할 수 있다.The context-based text error correction method according to an embodiment of the present invention involves a parser parsing a raw document, where the meaning of a word cannot be known due to incorrect input, or where the word itself is complete but is incorrect in context. In the step of searching for the incorrect word, the DB developer stores the sentences before correction containing the incorrect word in the DB to be corrected, and the sentences before correction in the DB to be corrected are crowd-checked. workers), configuring a reference DB with sentences after correction modified by the crowd reviewer's review, and a corrector is included in the raw document based on the reference DB. It may include the step of automatically correcting the pre-correction sentences into post-correction sentences to generate a proofread document.

상기 파서(parcer)가 오기 단어를 찾는 단계는, 상기 원시 문서에서 마침표(period)와 줄 바꿈(carriage return)을 구분자로 하여 문장을 분리하는 단계와, 상기 분리된 문장에서 특수문자를 공백문자(space character)로 대체하고, 공백문자를 기준으로 단어를 구분하는 단계와, 상기 원시 문서에서 단어별 출현 횟수 또는 출현 빈도를 분석하고, 설정된 기준 이하의 출현 횟수 또는 출현 빈도를 보이는 단어를 오기 단어로 정의하는 단계를 포함할 수 있다.The step of the parser finding an incorrect word includes separating sentences from the source document using periods and carriage returns as delimiters, and separating special characters from the separated sentences into space characters ( space character), distinguishing words based on space characters, analyzing the number of occurrences or frequencies of occurrences for each word in the raw document, and converting words with an occurrence count or frequency below a set standard into incorrect words. It may include defining steps.

상기 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준은, 상기 원시 문서에 포함된 문장의 개수에 따라 가변적으로 설정될 수 있다.The standard for the number of occurrences or frequency of occurrence for defining an incorrect word can be set variably according to the number of sentences included in the original document.

상기 DB 구축기가 상기 구축된 레퍼런스DB에 저장된 교정 후 문장들 중 적어도 하나를 품질 검증자 단말로 전송하고, 상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 문장을 상기 교정 대상 DB에 재 저장하는 단계를 더 포함할 수 있다.The DB builder transmits at least one of the sentences after proofreading stored in the constructed reference DB to the quality verifier terminal, and re-storing the sentence in which an incorrect word is found as a result of the quality verifier's review in the proofreading target DB. More may be included.

상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 경우, 상기 DB 구축기는 상기 발견된 오기 단어가 포함된 문장을 검수했던 크라우드 검수자의 다른 검수 문장(들)을 추려서 상기 품질 검증자에게 제공하는 단계를 더 포함할 수 있다.If an incorrect word is found as a result of the review by the quality verifier, the DB builder further selects other inspection sentence(s) of the crowd reviewer who reviewed the sentence containing the found incorrect word and provides it to the quality verifier. It can be included.

학습기(learner)가 상기 생성된 교정 문서를 기초로 머신 러닝용 데이터 셋을 구축하는 단계를 더 포함할 수 있다.The step of the learner constructing a data set for machine learning based on the generated proofreading document may be further included.

상기 DB 구축기는, 상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers) 단말들로 전송할 때, 상기 교정 전 문장과 연관된 상기 데이터 셋을 검수 참고 문장으로 함께 전송할 수 있다.When transmitting the pre-correction sentences of the DB to be corrected to crowd worker terminals, the DB builder may transmit the data set associated with the pre-correction sentences together as an inspection reference sentence.

상기 DB 구축기는 상기 교정 대상 DB의 교정 전 문장들 중 적어도 일부를 상기 구축된 데이터 셋과 연동된 인공지능 크라우드 검수자(AI crowd workers)에게 전송할 수 있다.The DB builder may transmit at least some of the sentences before correction of the DB to be corrected to artificial intelligence crowd workers linked to the constructed data set.

본 발명의 실시예2에 따른 시스템은 원시 문서를 파싱하여, 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾는 파서(parcer)와, 상기 오기 단어가 포함된 교정 전 문장(精製 前 文章)들을 교정 대상 DB에 저장하고, 상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers)의 단말들로 전송하며, 상기 크라우드 검수자의 리뷰에 의해 수정된 교정 후 문장(精製 後 文章)으로 레퍼런스 DB를 구성하는 DB 구축기(DB developer) 및 상기 레퍼런스 DB를 기초로 상기 원시 문서에 포함된 교정 전 문장을 교정 후 문장으로 자동 교정하여 교정 문서를 생성하는 교정기(corrector)를 포함할 수 있다.The system according to Embodiment 2 of the present invention includes a parser that parses the raw document and finds misspelled words where the meaning of the word is unknown due to incorrect input or the word itself is complete but is incorrect in context; The sentences before proofreading containing the misspelled word are stored in the proofreading DB, the sentences before proofreading in the proofreading DB are sent to the terminals of crowd workers, and submitted to the crowdworker's review. A DB developer constructs a reference DB using post-edited sentences modified by a DB developer, and based on the reference DB, the pre-edited sentences included in the source document are automatically corrected into post-edited sentences to create a proofread document. It may include a corrector to generate.

상기 파서는, 상기 원시 문서에서 마침표(period)와 줄 바꿈(carriage return)을 구분자로 하여 문장을 분리하고, 상기 분리된 문장에서 특수문자를 공백문자(space character)로 대체하고, 공백문자를 기준으로 단어를 구분하며, 상기 원시 문서에서 단어별 출현 횟수 또는 출현 빈도를 분석하고, 설정된 기준 이하의 출현 횟수 또는 출현 빈도를 보이는 단어를 오기 단어로 정의할 수 있다.The parser separates sentences from the source document using periods and carriage returns as delimiters, replaces special characters in the separated sentences with space characters, and uses the space characters as the basis. The words can be divided into words, the number of occurrences or frequency of occurrences of each word in the raw document can be analyzed, and words showing a number of occurrences or frequency of occurrences below a set standard can be defined as incorrect words.

상기 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준은, 상기 원시 문서에 포함된 문장의 개수에 따라 가변적으로 설정될 수 있다.The standard for the number of occurrences or frequency of occurrence for defining an incorrect word can be set variably according to the number of sentences included in the original document.

상기 DB 구축기는, 상기 구축된 레퍼런스DB에 저장된 교정 후 문장들 중 적어도 하나를 품질 검증자 단말로 전송하고, 상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 문장을 상기 교정 대상 DB에 재 저장할 수 있다.The DB builder may transmit at least one of the sentences after proofreading stored in the constructed reference DB to the quality verifier terminal, and re-store sentences in which incorrect words are found as a result of the quality verifier's review in the proofreading target DB. .

상기 DB 구축기는, 상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 경우 상기 발견된 오기 단어가 포함된 문장을 검수했던 크라우드 검수자의 다른 검수 문장(들)을 추려서 상기 품질 검증자에게 제공할 수 있다.If an incorrect word is found as a result of the quality verifier's review, the DB builder may select other inspection sentence(s) from the crowd reviewer who reviewed the sentence containing the found incorrect word and provide it to the quality verifier.

상기 생성된 교정 문서를 기초로 머신 러닝용 데이터 셋을 구축하는 학습기(learner)를 더 포함할 수 있다.It may further include a learner that builds a data set for machine learning based on the generated proofreading document.

상기 DB 구축기는, 상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers) 단말들로 전송할 때, 상기 교정 전 문장과 연관된 상기 데이터 셋을 검수 참고 문장으로 함께 전송할 수 있다.When transmitting the pre-correction sentences of the DB to be corrected to crowd worker terminals, the DB builder may transmit the data set associated with the pre-correction sentences together as an inspection reference sentence.

상기 DB 구축기는 상기 교정 대상 DB의 교정 전 문장들 중 적어도 일부를 상기 구축된 데이터 셋과 연동된 인공지능 크라우드 검수자(AI crowd workers)에게 전송할 수 있다.The DB builder may transmit at least some of the sentences before correction of the DB to be corrected to artificial intelligence crowd workers linked to the constructed data set.

본 발명의 실시예에 의하면 문서 데이터에서 교정 범위 및 교정 대상(단어 및 문장)을 알고리즘을 통해 선정하고, 교정 담당자가 교정 대상의 문맥 및 문장의 의미를 파악하여 잘못 표기된 단어를 교정하며, 교정 담당자가 교정한 문장을 검증 담당자로부터 품질을 검증받기 때문에 교정에 대한 신뢰도를 높일 수 있다.According to an embodiment of the present invention, the scope of correction and the correction target (words and sentences) are selected from the document data through an algorithm, and the correction officer corrects incorrectly written words by understanding the context and meaning of the sentence of the correction target, and the correction officer corrects the incorrectly written words. Since the quality of the proofread sentences is verified by the verification staff, the reliability of the proofreading can be increased.

또한, 본 발명의 실시예에 의하면 상기와 같은 방식으로 교정된 단어 및 문장은 인공지능 학습 데이터 셋으로 활용되고 이를 문서 데이터를 교정하는 프로그램으로 생성하여 대량의 문서를 자동으로 교정할 수 있다.In addition, according to an embodiment of the present invention, words and sentences corrected in the above manner are used as an artificial intelligence learning data set, and a large amount of documents can be automatically corrected by generating them as a program for correcting document data.

도 1는 실시예1에 따른 본 발명의 교정 시스템의 블록도이다.
도 2은 실시예1에서 텍스트를 분류하는 방식을 나타낸 도면이다.
도 3는 실시예1에서 단어의 출현 빈도를 나타낸 도면이다.
도 4는 실시예1에서 교정 대상 단어를 문서에 적용하는 것을 나타낸 도면이다.
도 5는 실시예1에서 교정 대상 문장들을 크라우드 검수자에게 제공하는 방식을 나타낸 도면이다.
도 6은 본 발명의 실시예2에 따른 컨텍스트 기반의 텍스트 오류 교정 방법을 예시한 개략도이다.
도 7은 도 6의 방법을 나타낸 흐름도이다.
도 8은 도 7에 도시된 오기 단어를 찾는 단계를 구체화한 흐름도이다.
1 is a block diagram of the calibration system of the present invention according to Example 1.
Figure 2 is a diagram showing a method for classifying text in Example 1.
Figure 3 is a diagram showing the frequency of appearance of words in Example 1.
Figure 4 is a diagram showing applying a word to be corrected to a document in Example 1.
Figure 5 is a diagram showing a method of providing sentences to be corrected to a crowd reviewer in Example 1.
Figure 6 is a schematic diagram illustrating a context-based text error correction method according to Embodiment 2 of the present invention.
Figure 7 is a flowchart showing the method of Figure 6.
Figure 8 is a flowchart specifying the steps for finding incorrect words shown in Figure 7.

이하 본 발명의 몇 가지 실시예들을 도면을 이용하여 상세히 설명한다. 다만 이것은 본 발명을 어느 특정한 실시예에 대해 한정하려는 것이 아니며 본 발명의 기술적 사상을 포함하는 모든 변형(transformations), 균등물(equivalents) 및 대체물(substitutions)은 본 발명의 범위에 포함되는 것으로 이해되어야 한다. Hereinafter, several embodiments of the present invention will be described in detail using the drawings. However, this is not intended to limit the present invention to any specific embodiment, and all transformations, equivalents, and substitutions including the technical spirit of the present invention should be understood to be included in the scope of the present invention. do.

본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. In this specification, singular expressions include plural expressions, unless the context clearly dictates otherwise.

본 명세서에서 어느 한 구성이 어떤 서브 구성을 "구비(have)" 또는 "포함(comprise)" 한다고 기재한 경우, 특별히 반대되는 기재가 없는 한 다른(other) 구성을 제외하는 것이 아니라 다른 구성을 더 포함할 수도 있음을 의미한다. In this specification, when it is stated that one configuration “has” or “comprises” a certain sub-configuration, it does not exclude the other configuration but adds the other configuration, unless specifically stated to the contrary. This means that it may be included.

본 명세서에서 "...유닛(Unit)", "...모듈(Module)" 및 "컴포넌트(Component)"의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수도 있다.In this specification, the terms "...Unit", "...Module", and "Component" mean a unit that processes at least one function or operation, and includes hardware, software, or It can also be implemented through a combination of hardware and software.

도 1는 실시예1에 따른 컨텍스트 기반의 텍스트 오류 교정 시스템(100)의 블록도이다.Figure 1 is a block diagram of a context-based text error correction system 100 according to Example 1.

실시예1은 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾고, 오기 단어가 포함된 문장의 문맥에 기초하여 교정하며, 교정 결과를 기계학습의 데이터 셋으로 활용하여 대량의 텍스트 데이터에 대한 오류를 검증할 수 있는 기술에 관한 것이다.Example 1 searches for incorrect words where the meaning of the word is unknown due to incorrect input or the word itself is complete but is incorrect in context, corrects based on the context of the sentence containing the incorrect word, and reports the correction results. This is about a technology that can verify errors in large amounts of text data by using it as a machine learning data set.

도 1를 참조하면, 실시예1에 따른 시스템(100)은 파서(110), DB 구축기(120) 및 교정기(130)을 포함한다.Referring to FIG. 1, the system 100 according to Embodiment 1 includes a parser 110, a DB builder 120, and a corrector 130.

참고로, 본 명세서의 모든 실시예에서 원시 문서라 함은 잘못 표기된 단어들이 교정되기 전의 문서를 의미하고, 교정 문서라 함은 시스템(100)에 의해 오기(誤記)가 자동으로 검증 및 교정된 문서를 의미한다.For reference, in all embodiments of the present specification, the raw document refers to a document before incorrectly written words are corrected, and the proofread document refers to a document whose errors have been automatically verified and corrected by the system 100. means.

파서(110)(parcer)는 적어도 하나 이상의 원시 문서를 수집한다. 그리고 파서(110)는 원시 문서를 파싱(parsing)하여 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 단어인 오기(誤記) 단어를 찾는다.The parser 110 (parcer) collects at least one raw document. Then, the parser 110 parses the raw document to find misspelled words, which are words whose meaning is unknown due to incorrect input or where the word itself is complete but is an incorrect word in context.

이를 위해, 파서(110)는 원시 문서별로 문서 번호를 부여한다. 그리고 파서(110)는 선택된 문서 번호의 원시 문서에서 문장 및 단어를 추출하고, 각 문장과 단어마다 문장 추적 번호와 단어 추적 번호를 부여함으로써 텍스트 데이터를 분류한다(도 2 참조).For this purpose, the parser 110 assigns a document number to each original document. Then, the parser 110 classifies the text data by extracting sentences and words from the raw document of the selected document number and assigning a sentence tracking number and a word tracking number to each sentence and word (see FIG. 2).

파서(110)는 마침표, 줄 바꿈을 구분자로 하여 문장을 분리할 수 있다.The parser 110 can separate sentences using periods and line breaks as separators.

파서(110)는 분리된 문장에서 특수기호를 공백문자(space character)로 대체하고 공백문자를 기준으로 단어를 구분하여 단어 추적 번호를 부여한다. 예를 들면, 파서(110)는 “협력/협조”에서 “/”를 공백문자 대체하여 “협력”과 “협조”로 구분하고 각각에 단어 추적 번호를 부여할 수 있다.The parser 110 replaces special symbols with space characters in separated sentences, classifies words based on the space characters, and assigns word tracking numbers. For example, the parser 110 can replace “/” with a space character in “cooperation/cooperation” to divide it into “cooperation” and “cooperation” and assign a word tracking number to each.

파서(110)는 조사를 제외한 단어에 추적 번호를 부여할 수도 있고, 조사를 포함한 단어에 단어 추적 번호를 부여할 수도 있다. 예를 들면, 파서(110)는 “자동차를 타고 교외로 나갈 것 같다”라는 문장에서 “자동차”에 단어 추적 번호 1을 부여할 수도 있고 “자동차를”에 단어 추적 번호 1을 부여할 수도 있다.The parser 110 may assign a tracking number to a word excluding a particle, or may assign a word tracking number to a word including a particle. For example, the parser 110 may assign the word tracking number 1 to “car” in the sentence “I think I will go to the countryside by car,” and the word tracking number 1 to “car.”

또한 파서(110)는 '것, 줄, 수, 대로, 뿐, 데’와 같은 의존명사를 포함한 단어에도 단어 추적 번호를 부여할 수도 있다.In addition, the parser 110 can also assign word tracking numbers to words containing dependent nouns such as 'thing, line, number, boulevard, only, and de'.

예를 들어, 파서(110)는 “자동차를 타고 교외로 나갈 것 같다”의 문장에서 “자동차를”, “타고” “교외로”, “나갈” “것” “같다” 각각에 단어 추적 번호를 부여할 수 있다.For example, in the sentence “I think I will go to the countryside in a car,” parser 110 assigns a word tracking number to each of “car,” “ride,” “to the suburbs,” “going out,” “likely,” and “like.” It can be granted.

한편, 도 3에서 보듯, 파서(110)는 원시 문서에 포함된 단어별 출현 횟수 또는 출현 빈도에 기초하여 기준 이하의 출현 횟수 또는 출현 빈도를 보이는 단어를 오기 단어로 정의한다. 이 때, DB 구축기(120)는 파서(110)에서 오기로 정의한 단어가 포함된 교정 전 문장을 교정 대상 DB(121)에 저장한다.Meanwhile, as shown in FIG. 3, the parser 110 defines words with an appearance count or frequency below the standard as incorrect words based on the number of occurrences or frequencies of each word included in the original document. At this time, the DB builder 120 stores the sentence before correction including the word defined as an error in the parser 110 in the correction target DB 121.

예컨대, 파서(110)는 원시 문서에서 출현 빈도가 100회 미만 또는 출현빈도 6% 미만인 단어를 오기 단어로 선정할 수 있다. 파서(110)는 오기 단어로 선정하는 기준(예를 들면, 출현 빈도 100회)의 경계선에 위치된 단어는 기존에 오기 단어로 선정된 이력에 기초하여 오기 단어로 선정할 수도 있다.For example, the parser 110 may select words that appear less than 100 times or less than 6% in the original document as incorrect words. The parser 110 may select words located on the borderline of the standard for selecting incorrect words (for example, frequency of occurrence 100 times) as incorrect words based on the history of previous selection as incorrect words.

파서(110)에서 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준은, 원시 문서에 포함된 문장의 개수에 따라 가변적으로 설정될 수 있다. 예컨대, 원시 문서에 포함된 문장의 개수가 적으면, 문장의 개수가 많은 경우보다 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준을 작게 설정할 수 있다.In the parser 110, the standard for the number of occurrences or frequency of occurrence for defining a word as an incorrect word may be set variably according to the number of sentences included in the source document. For example, if the number of sentences included in the source document is small, the standard for the number of occurrences or frequency of occurrence for defining a word as an incorrect word can be set smaller than when the number of sentences is large.

파서(110)는 원시 문서의 구조분석과 형태소 분석을 하고 말뭉치와 사전 및 LDA(Latent Dirichlet Allocation)) 분류 방법을 이용하여 단어의 분석을 수행함으로써 오기 단어를 선정할 수 있다. 참고로 LDA는 문서 수준에서 단어의 동시 출현 패턴에 기반을 둔 분석 방식이다.The parser 110 can select incorrect words by performing structural and morphological analysis of the original document and analyzing words using corpora, dictionaries, and LDA (Latent Dirichlet Allocation) classification methods. For reference, LDA is an analysis method based on the co-occurrence pattern of words at the document level.

예를 들면, DB 구축기(120)는“ㅏ”, “안면인삭”, “자돔차”를 오기 단어로 선정할 수 있다.For example, the DB constructor 120 may select “ㅏ”, “Anmyeon-insak”, and “Jadomcha” as Ogi words.

DB 구축기(120)는 파서(110)에서 분류(추적 번호부여)된 원시 문서를 분석하여 오기 단어가 포함된 교정 전 문장을 교정 대상 DB(121)에 저장한다.The DB builder 120 analyzes the raw document classified (assigned a tracking number) by the parser 110 and stores the sentence before correction including the incorrect word in the correction target DB 121.

예를 들면, DB 구축기(120)는 도 2에서 보듯, 오기 단어인 '안면인삭'이 포함된 “특히, 안면인삭 기술이 전 세계 광 범위한 …”의 문장 전체를 교정 전 문장으로 선정한다. For example, as shown in FIG. 2, the DB builder 120 includes the incorrect word 'face cutting' and says, "In particular, facial cutting technology is widely used all over the world..." The entire sentence of ” is selected as the sentence before correction.

DB 구축기(120)는 하나의 문장 내에 서로 연관된 두 개 이상의 관련 단어가 포함되면 상기 두개 이상의 단어들을 오기 단어들로 선정하고, 해당 오기 단어가 포함된 교정 전 문장을 교정 대상 DB(121)에 더 저장할 수도 있다. DB 구축기(120)는 AI 알고리즘을 이용하여 단어를 벡터(vector)로 변환하고 문맥(컨텍스트)에 의한 서로 연관된 두 개 이상의 관련 단어를 추출할 수도 있다.If two or more related words that are related to each other are included in one sentence, the DB builder 120 selects the two or more words as incorrect words, and adds the sentence before correction containing the incorrect word to the correction target DB 121. You can also save it. The DB builder 120 may convert words into vectors using an AI algorithm and extract two or more related words that are related to each other by context.

예를 들면, DB 구축기(120)는 문장번호 1에 “카드”와 “결재” 단어가 포함되어 있다면 해당 문장을 교정 전 문장으로 선정한다. 즉, “결재” 단어 자체는 완전한 단어이고 오기로 분류되지 않지만 “카드”와 함께 쓰일 경우에는 오기로 분류되어 교정 대상이 될 수 있다. DB 구축기(120)는 “결재” 단어가 포함된 문장을 교정 전 문장으로 선정하여 교정 대상 DB에 저장한다.For example, if sentence number 1 contains the words “card” and “payment,” the DB builder 120 selects the sentence as the sentence before correction. In other words, the word “payment” itself is a complete word and is not classified as a typo, but when used with “card,” it can be classified as a typo and subject to correction. The DB builder 120 selects a sentence containing the word “approval” as a sentence before correction and stores it in the correction target DB.

DB 구축기(120)는 미리 설정된 범위 내에 배치된 문장 내에 서로 연관된 두 개 이상의 단어가 포함되면 두 개 이상의 단어들을 오기 단어들로 선정하여 교정 대상 DB(121)에 더 저장할 수도 있다.If two or more words related to each other are included in a sentence placed within a preset range, the DB builder 120 may select the two or more words as incorrect words and further store them in the correction target DB 121.

예를 들면, DB 구축기(120)는 문장번호1에 “카드”가 포함되어 있고, 문장번호 2에 “결재”가 포함되어 있으면 “카드”와 “결재”가 포함된 문장번호 1과 문장번호 2를 교정 전 문장으로 선정한다.For example, if sentence number 1 includes “card” and sentence number 2 includes “payment,” the DB builder 120 creates sentence number 1 and sentence number 2, which include “card” and “payment.” is selected as the sentence before correction.

도 4에서 보듯, DB 구축기(120)는 선정된 오기 단어가 포함된 동일한 원시 문서의 다른 문장들을 조회하고, 조회된 다른 문장을 교정 대상 DB(121)에 더 저장한다.As shown in FIG. 4, the DB builder 120 searches for other sentences of the same source document containing the selected incorrect word, and further stores the searched other sentences in the correction target DB 121.

DB 구축기(120)는 교정 대상 DB(121)에 저장된 오기 단어가 포함된 교정 전 문장들을 크라우드 검수자의 단말로 제공한다. 참고로, 크라우드 검수자는 교정 방법을 교육받은 적어도 둘 이상의 검수자들일 수 있다. 크라우드 검수자는 DB 구축기(120)로부터 제공받은 교정 전 문장의 문맥 및 의미를 파악하고 문장에 포함된 오기 단어를 교정한다.The DB builder 120 provides pre-corrected sentences containing incorrect words stored in the correction target DB 121 to the crowd reviewer's terminal. For reference, a crowd reviewer may be at least two or more reviewers who have been trained in proofreading methods. The crowd inspector determines the context and meaning of the sentence before correction provided by the DB builder 120 and corrects incorrect words included in the sentence.

일 예로, DB 구축기(120)는 교정 대상 DB(121)에 저장된 문장들 중 교정 대상 단어(오기 단어)인 “결재”가 포함된 동일한 문서의 다른 교정 전 문장들을 목록화 하여 크라우드 검수자의 단말로 제공한다. 이때, DB 구축기(120)는 크라우드 검수자가 교정 전 문장들을 선택적으로 수정할 수 있는 사용자 인터페이스를 제공할 수 있다.As an example, the DB builder 120 lists other pre-edited sentences of the same document that include “approval,” which is a word to be corrected (an incorrect word), among the sentences stored in the DB 121 to be corrected, and sends them to the crowd inspector’s terminal. to provide. At this time, the DB builder 120 may provide a user interface through which the crowd reviewer can selectively modify the sentences before correction.

예를 들면, DB 구축기(120)는 교정 전 문장들 각각의 일측에 'OK'버튼을 제공하고 교정 전 문장들의 목록 하단에 “일괄 정제” 버튼을 제공한다. 크라우드 검수자가 교정할 문장들만 선택하여 'OK' 버튼을 클릭한 뒤 “일괄 정제” 버튼을 클릭하면 “OK”버튼이 클릭된 교정 전 문장들만 '결재'가 '결제'로 교정(수정)된다. 만약, 크라우드 검수자가 'OK'버튼을 누르지 않은 교정 전 문장(문장번호 15)은 “일괄 정제” 버튼을 누르더라도 '결재'가 그대로 유지될 수 있다.For example, the DB builder 120 provides an 'OK' button on one side of each of the sentences before correction and a "Batch Refining" button at the bottom of the list of sentences before correction. When the crowd proofreader selects only the sentences to be corrected, clicks the ‘OK’ button, and then clicks the “Batch Refining” button, only the sentences before correction for which the “OK” button was clicked are corrected (edited) from ‘Payment’ to ‘Payment’. If the sentence before correction (sentence number 15) where the crowd reviewer did not press the 'OK' button, 'Approval' may remain as is even if the "Batch Refining" button is pressed.

DB 구축기(120)는 크라우드 검수자의 리뷰에 의해 교정(수정)된 교정 후 문장을 레퍼런스 DB(122)에 저장한다.The DB builder 120 stores the corrected sentences proofread (edited) by the crowd reviewer's review in the reference DB 122.

도 5에서 보듯, DB 구축기(120)는 선정된 오기 단어가 포함된 다른 원시 문서의 다른 문장들을 조회하고, 조회된 다른 원시 문서의 문장을 교정 대상 DB(121)에 더 저장하여 크라우드 검수자의 단말로 전송할 수도 있다. As shown in FIG. 5, the DB builder 120 searches for other sentences in other source documents containing the selected incorrect word, and further stores the searched sentences in the other source documents in the correction target DB 121 to be stored at the crowd reviewer's terminal. You can also send it to .

예를 들면, DB 구축기(120)는 문서 번호 1에 5번째 문장에서 “걸재를”의 단어가 오기 단어로 선정되면 다른 문서 번호(예를 들면, 문서 번호 3, 18, 39)에서 “걸재를”이 포함된 문장을 교정 전 문장으로 선정하여 교정 대상 DB(121)에 저장할 수 있다(도 5 참조). DB 구축기(120)는 교정 전 문장들 각각의 일측에 ‘OK’버튼을 제공하고, 교정 전 문장들의 목록 하단에 “일괄 정제” 버튼을 제공한다.For example, if the word “Geoljaeul” is selected as an incorrect word in the 5th sentence of document number 1, the DB builder 120 selects “Geoljaeul” in other document numbers (e.g., document numbers 3, 18, and 39). A sentence containing ” can be selected as a sentence before correction and stored in the correction target DB 121 (see FIG. 5). The DB builder 120 provides an ‘OK’ button on one side of each of the sentences before correction and a “Batch Refining” button at the bottom of the list of sentences before correction.

크라우드 검수자가 교정할 문장들만 선택하여 ‘OK’ 버튼을 클릭한 뒤 “일괄 정제” 버튼을 클릭하면 “OK”버튼이 클릭된 교정 전 문장들만 ‘결재’가 ‘결제’로 교정(수정)된다. 만약, 크라우드 검수자가 ‘OK’버튼을 누르지 않은 교정 전 문장(문장번호 15)은 “일괄 정제” 버튼을 누르더라도 ‘결재’가 그대로 유지될 수 있다.When the crowd proofreader selects only the sentences to be corrected, clicks the ‘OK’ button, and then clicks the “Batch Refining” button, only the sentences before correction for which the “OK” button was clicked are corrected (edited) from ‘Approval’ to ‘Payment’. If the sentence before correction (sentence number 15) where the crowd reviewer did not press the ‘OK’ button, ‘approval’ may remain the same even if the ‘bulk refining’ button is pressed.

DB 구축기(120)는 크라우드 검수자의 리뷰에 의해 수정된 교정 후 문장을 레퍼런스 DB(122)에 저장한다.The DB builder 120 stores the corrected sentences corrected by the crowd reviewer's review in the reference DB 122.

교정기(130)은 레퍼런스 DB(122)를 기초로 원시 문서에 포함된 교정 전 문장을 교정 후 문장으로 자동 교정하여 교정 문서를 생성한다.The proofreader 130 automatically corrects the pre-correction sentences included in the original document into post-correction sentences based on the reference DB 122 to generate a proofread document.

예컨대, 교정기(130)은 파서(110)에 의해 문장에 부여된 단어 추적 번호와 문장 추적번호를 통해 원시 문서에서 교정 문장을 추적하고 이를 교정하여 교정 문서로 저장한다.For example, the proofreader 130 tracks the corrected sentence in the original document through the word tracking number and sentence tracking number assigned to the sentence by the parser 110, corrects it, and stores it as a proofread document.

예컨대, 교정기(130)은 교정 전 문장 번호가 문서 1, 문장 추적 번호 3, 단어 추적 번호 2이면, 원시 문서의 문서 1, 문장 추적 번호 3, 단어 추적 번호 2에 대응하는 텍스트를 레퍼런스 DB(122)에 저장된 텍스트로 치환하여 교정 문서로 저장한다.For example, if the sentence number before correction is document 1, sentence tracking number 3, and word tracking number 2, the proofreader 130 stores the text corresponding to document 1, sentence tracking number 3, and word tracking number 2 of the raw document in the reference DB (122). ) and save it as a proofreading document.

교정기(130)은 교정 문서의 확장자를 원시 문서와 동일한 확장자로 저장할 수 있다.The proofreader 130 may save the extension of the proofread document as the same extension as the original document.

한편, DB 구축기(120)는 레퍼런스DB에 저장된 교정 후 문장들 중 적어도 하나를 품질 검증자 단말로 전송하고, 품질 검증자의 리뷰 결과 오기 단어가 발견된 문장을 교정 대상 DB에 재 저장한다.Meanwhile, the DB builder 120 transmits at least one of the corrected sentences stored in the reference DB to the quality verifier terminal, and re-stores the sentences in which incorrect words were found as a result of the quality verifier's review in the proofreading target DB.

예컨대, 품질 검증자로부터 리뷰된 크라우드 검수자의 교정 후 문장들 중에 오기 및 문맥 오류가 발견되면, DB 구축기(120)는 오기 단어가 발견된 문장을 교정 대상 DB에 재 저장하고, 해당 문장을 수정한 크라우드 검수자가 수행한 다른 검수 문장들을 품질 검증자 단말로 전송할 수도 있다. DB 구축기(120)는 품질 검증자 단말로부터 크라우드 검수자의 다른 교정 후 문장들을 리뷰 결과를 제공받아 교정 대상 DB에 재 저장한다.For example, if typos and context errors are found among the sentences after correction by the crowd inspector reviewed by the quality verifier, the DB builder 120 re-stores the sentence in which the erroneous word was found in the correction target DB and corrects the sentence. Other inspection sentences performed by the crowd inspector can also be transmitted to the quality verifier terminal. The DB builder 120 receives review results of sentences after other corrections by the crowd inspector from the quality verifier terminal and re-stores them in the correction target DB.

본 실시예는 학습기(140)(learner)를 더 포함할 수 있다.This embodiment may further include a learner 140.

학습기(140)는 오기가 교정된 교정 문서를 기초로 머신 러닝용 데이터 셋을 구축한다.The learner 140 builds a data set for machine learning based on the proofread document whose errors have been corrected.

이 때 DB 구축기(120)는 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers) 단말들로 전송할 때, 교정 전 문장과 연관된 데이터 셋을 검수에 참고할 문장으로써 함께 전송한다.At this time, when the DB builder 120 transmits the sentences before correction of the DB subject to correction to the crowd worker terminals, it also transmits the data set associated with the sentences before correction as a sentence to be used as a reference for inspection.

또한, DB 구축기(120)는 교정 대상 DB의 교정 전 문장들 중 적어도 일부를 구축된 데이터 셋과 연동된 인공지능 크라우드 검수자(AI crowd workers)(미도시)에게 전송할 수도 있다. 인공지능 크라우드 검수자는 전술한 크라우드 검수자와 동일한 역할을 수행한다.Additionally, the DB builder 120 may transmit at least some of the sentences before correction of the DB subject to correction to AI crowd workers (not shown) linked to the constructed data set. The artificial intelligence crowd inspector performs the same role as the crowd inspector described above.

학습기의 머신 러닝용 데이터 셋은 문서를 교정하는 프로그램으로 활용되어 대량의 문서들의 오기를 빠른 시간에 정확하게 수정하는 것이 가능하다.The learner's machine learning data set is used as a document correction program, making it possible to accurately correct errors in large quantities of documents in a short time.

도 6은 본 발명의 실시예2에 따른 컨텍스트 기반의 텍스트 오류 교정 방법을 예시한 개략도이다.Figure 6 is a schematic diagram illustrating a context-based text error correction method according to Embodiment 2 of the present invention.

본 실시예의 방법은 문서에서 문장 및 단어를 분류하고, 미리 정해진 기준에 의해 교정 범위 및 교정 대상(단어 및 문장)을 알고리즘을 통해 선정한다. 그리고 크라우드 검수자가 교정 대상의 문맥 및 문장의 의미를 파악하여 교정 대상 단어를 교정한다. 크라우드 검수자에 의해 교정된 문장은 교정 대상 DB에 저장되고 품질 검증자로부터 품질을 검증 받고 품질 검증까지 완료된 문장은 레퍼런스 DB에 저장되어 교정 전 문서를 자동으로 교정하여 문서를 생성한다. The method of this embodiment classifies sentences and words in a document, and selects the correction range and correction target (words and sentences) through an algorithm based on predetermined standards. Then, the crowd proofreader identifies the context and meaning of the sentence to be corrected and corrects the word to be corrected. Sentences proofread by crowd inspectors are stored in the DB for proofreading, and sentences whose quality has been verified by a quality verifier and whose quality has been verified are stored in the reference DB to automatically proofread documents before proofreading to create documents.

이와 같은 방식으로 교정된 문장 및 단어는 인공지능 학습 데이터로 활용되어 문서를 자동으로 교정하는 프로그램에 사용될 수 있다.Sentences and words corrected in this way can be used as artificial intelligence learning data and used in programs that automatically correct documents.

도 7은 본 발명의 실시예2에 따른 문서 데이터의 교정 방법을 나타낸 흐름도이다.Figure 7 is a flowchart showing a method for proofreading document data according to Embodiment 2 of the present invention.

본 발명의 방법은 오기(誤記) 단어를 찾는 단계(S110), 레퍼런스 DB를 구성하는 단계(S120), 교정 문서를 생성하는 단계(S130)를 포함한다.The method of the present invention includes a step of finding misspelled words (S110), a step of constructing a reference DB (S120), and a step of generating a proofreading document (S130).

오기(誤記) 단어를 찾는 단계(S110)에서, 파서(110)(parcer)는 적어도 하나 이상의 원시 문서를 수집한다. In the step S110 of searching for misspelled words, the parser 110 collects at least one original document.

파서(110)는 원시 문서를 파싱(parsing)하여 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾는다.The parser 110 parses the raw document and finds misspelled words, which are words whose meaning is unknown due to incorrect input or where the word itself is complete but is incorrect in context.

예컨대, 파서(110)는 원시 문서별로 문서 번호를 부여한다. 파서(110)는 수집된 원시 문서에서 문장 및 단어를 추출하여 문장 추적 번호와 단어 추적 번호를 부여하여 텍스트 데이터를 분류한다.For example, the parser 110 assigns a document number to each original document. The parser 110 extracts sentences and words from the collected raw documents and classifies the text data by assigning sentence tracking numbers and word tracking numbers.

오기(誤記) 단어를 찾는 단계(S110)는 문장을 분리하는 단계(S111), 공백문자를 기준으로 단어를 구분하는 단계(S112) 및 오기 단어로 정의하는 단계(S113)를 포함할 수 있다(도 8 참조).The step of finding misspelled words (S110) may include the step of separating sentences (S111), separating words based on space characters (S112), and defining them as misspelled words (S113). 8).

문장을 분리하는 단계(S111)에서 파서(110)는 원시 문서에서 마침표, 줄 바꿈을 구분자로 하여 문장을 분리한다.In the sentence separation step (S111), the parser 110 separates sentences from the original document using periods and line breaks as separators.

단어를 구분하는 단계(S112)에서 파서(110)는 상기 분리된 문장에서 특수기호를 공백문자(space character)로 대체하고 공백문자를 기준으로 단어를 구분하여 단어 추적 번호를 부여한다. 예를 들면, 파서(110)는 “협력/협조”에서 “/”를 공백문자 대체하여 “협력”, “협조” 각각에 단어 추적 번호를 부여할 수 있다.In the word classification step (S112), the parser 110 replaces special symbols with space characters in the separated sentences, separates words based on the space characters, and assigns word tracking numbers. For example, the parser 110 may replace “/” with a space character in “cooperation/cooperation” and assign word tracking numbers to each of “cooperation” and “cooperation.”

파서(110)는 조사를 제외한 단어에 추적 번호를 부여할 수도 있고, 조사를 포함한 단어에 단어 추적 번호를 부여할 수도 있다. 예를 들면, 파서(110)는 “자동차를 타고 교외로 나갈 것 같다”라는 문장에서 “자동차”에 단어 추적 번호 1을 부여할 수도 있고 “자동차를”에 단어 추적 번호 1을 부여할 수도 있다.The parser 110 may assign a tracking number to a word excluding a particle, or may assign a word tracking number to a word including a particle. For example, the parser 110 may assign the word tracking number 1 to “car” in the sentence “I think I will go to the countryside by car,” and the word tracking number 1 to “car.”

파서(110)는 '것, 줄, 수, 대로, 뿐, 데’와 같은 의존명사를 포함한 단어에도 단어 추적 번호를 부여할 수도 있다. 예를 들어, 파서(110)는 “자동차를 타고 교외로 나갈 것 같다”의 문장에서 “자동차를”, “타고” “교외로”, “나갈” “것” “같다” 각각에 단어 추적 번호를 부여할 수 있다.The parser 110 may also assign word tracking numbers to words containing dependent nouns such as 'thing, line, number, as, only, and de'. For example, in the sentence “I think I will go to the countryside in a car,” parser 110 assigns a word tracking number to each of “car,” “ride,” “to the suburbs,” “going out,” “likely,” and “like.” It can be granted.

오기 단어로 정의하는 단계(S113)에서 파서(110)는 원시 문서에 포함된 단어별 출현 횟수 또는 출현 빈도에 기초하여 기준 이하의 출현 횟수 또는 출현 빈도를 보이는 단어를 오기 단어로 정의한다. 이 때, DB 구축기(120)는 파서(110)에서 오기로 정의된 단어가 포함된 교정 전 문장을 교정 대상 DB(121)에 저장한다.In the step of defining an incorrect word (S113), the parser 110 defines a word with an occurrence count or frequency below the standard as an incorrect word based on the number of occurrences or frequency of occurrences of each word included in the original document. At this time, the DB builder 120 stores the sentence before correction including a word defined as an error in the parser 110 in the correction target DB 121.

예컨대, 파서(110)는 원시 문서에서 출현 빈도가 100회 미만 또는 출현빈도 6% 미만인 단어를 오기 단어로 선정할 수도 있다. 파서(110)는 오기 단어로 선정하는 기준(예를 들면, 출현 빈도 100회)의 경계선에 위치된 단어는 기존에 오기 단어로 선정된 이력에 기초하여 오기 단어로 선정할 수도 있다.For example, the parser 110 may select words that appear less than 100 times or less than 6% in the original document as incorrect words. The parser 110 may select words located on the borderline of the standard for selecting incorrect words (for example, frequency of occurrence 100 times) as incorrect words based on the history of previous selection as incorrect words.

파서(110)에서 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준은, 원시 문서에 포함된 문장의 개수에 따라 가변적으로 설정될 수 있다. 예컨대, 원시 문서에 포함된 문장의 개수가 적으면, 문장의 개수가 많은 경우보다 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준을 작게 설정할 수 있다.In the parser 110, the standard for the number of occurrences or frequency of occurrence for defining a word as an incorrect word may be set variably according to the number of sentences included in the source document. For example, when the number of sentences included in the source document is small, the standard for the number of occurrences or frequency of occurrence for defining a word as an incorrect word can be set smaller than when the number of sentences is large.

파서(110)는 원시 문서의 구조분석과 형태소 분석을 하고 말뭉치와 사전 및 LDA(Latent Dirichlet Allocation)) 분류 방법을 이용하여 단어의 분석을 수행함으로써 오기 단어를 선정할 수도 있다.The parser 110 may select incorrect words by conducting structural and morphological analysis of the original document and analyzing words using corpora, dictionaries, and LDA (Latent Dirichlet Allocation) classification methods.

예를 들면, DB 구축기(120)는“ㅏ”, “안면인삭”, “자돔차”를 오기 단어로 선정할 수 있다.For example, the DB constructor 120 may select “ㅏ”, “Anmyeon-insak”, and “Jadomcha” as Ogi words.

레퍼런스 DB를 구성하는 단계(S120)에서 DB 구축기(120)는 파서(110)에서 분류(추적 번호부여)된 원시 문서를 분석하여 오기 단어가 포함된 교정 전 문장을 교정 대상 DB(121)에 저장한다.In the step of configuring the reference DB (S120), the DB builder 120 analyzes the raw document classified (assigned a tracking number) by the parser 110 and stores the sentence before correction containing the incorrect word in the correction target DB 121. do.

예를 들면, DB 구축기(120)는 도 2에서 처럼 오기 단어인 “안면인삭”이 포함된 “특히, 안면인삭 기술이 전 세계 광 범위한 …”의 문장 전체를 교정 전 문장으로 선정한다. For example, as shown in FIG. 2, the DB builder 120 includes the incorrect word “face cutting” and says, “In particular, facial cutting technology is widely used all over the world…” The entire sentence of ” is selected as the sentence before correction.

DB 구축기(120)는 하나의 문장 내에 서로 연관된 두 개 이상의 관련 단어가 포함되면 상기 두 개 이상의 단어들을 오기 단어들로 선정하고, 해당 오기 단어가 포함된 교정 전 문장을 교정 대상 DB(121)에 더 저장할 수도 있다. DB 구축기(120)는 AI 알고리즘을 이용하여 단어를 벡터(vector)로 변환하고 문맥(컨텍스트)에 의한 서로 연관된 두 개 이상의 관련 단어를 추출할 수도 있다.If two or more related words that are related to each other are included in one sentence, the DB builder 120 selects the two or more words as erroneous words, and stores the sentence before correction containing the erroneous word in the correction target DB 121. You can also save more. The DB builder 120 may convert words into vectors using an AI algorithm and extract two or more related words that are related to each other by context.

예를 들면, DB 구축기(120)는 문장번호 1에 “카드”와 “결재” 단어가 포함되어 있다면 해당 문장을 교정 전 문장으로 선정한다. 즉, “결재” 단어 자체는 완전한 단어이고 오기로 분류되지 않지만 “카드”와 함께 쓰일 경우에는 오기로 분류되어 교정 대상이 될 수 있다. DB 구축기(120)는 “결재” 단어가 포함된 문장을 교정 전 문장으로 선정하여 교정 대상 DB에 저장한다.For example, if sentence number 1 contains the words “card” and “payment,” the DB builder 120 selects the sentence as the sentence before correction. In other words, the word “payment” itself is a complete word and is not classified as a typo, but when used with “card,” it can be classified as a typo and subject to correction. The DB builder 120 selects a sentence containing the word “approval” as a sentence before correction and stores it in the correction target DB.

DB 구축기(120)는 미리 설정된 범위 내에 배치된 문장 내에 서로 연관된 두 개 이상의 단어가 포함되면 두 개 이상의 단어들을 오기 단어들로 선정하여 교정 대상 DB(121)에 더 저장할 수도 있다.If two or more words related to each other are included in a sentence placed within a preset range, the DB builder 120 may select the two or more words as incorrect words and further store them in the correction target DB 121.

예를 들면, DB 구축기(120)는 문장번호1에 “카드”가 포함되어 있고, 문장번호 2에 “결재”가 포함되어 있으면 “카드”와 “결재”가 포함된 문장번호 1과 문장번호 2를 교정 전 문장으로 선정한다.For example, if sentence number 1 includes “card” and sentence number 2 includes “payment,” the DB builder 120 creates sentence number 1 and sentence number 2, which include “card” and “payment.” is selected as the sentence before correction.

도 4에서 보듯, DB 구축기(120)는 선정된 오기 단어가 포함된 동일한 원시 문서의 다른 문장들을 조회하고, 조회된 다른 문장을 교정 대상 DB(121)에 더 저장한다.As shown in FIG. 4, the DB builder 120 searches for other sentences of the same source document containing the selected incorrect word, and further stores the searched other sentences in the correction target DB 121.

DB 구축기(120)는 교정 대상 DB(121)에 저장된 오기 단어가 포함된 교정 전 문장들을 크라우드 검수자의 단말로 제공한다. 참고로, 크라우드 검수자는 교정 방법을 교육받은 적어도 둘 이상의 검수자들일 수 있다. 크라우드 검수자는 DB 구축기(120)로부터 제공받은 교정 전 문장의 문맥 및 의미를 파악하고 문장에 포함된 오기 단어를 교정한다.The DB builder 120 provides pre-corrected sentences containing incorrect words stored in the correction target DB 121 to the crowd reviewer's terminal. For reference, a crowd reviewer may be at least two or more reviewers who have been trained in proofreading methods. The crowd inspector determines the context and meaning of the sentence before correction provided by the DB builder 120 and corrects incorrect words included in the sentence.

일 예로, DB 구축기(120)는 교정 대상 DB(121)에 저장된 문장들 중 교정 대상 단어(오기 단어)인 “결재”가 포함된 동일한 문서의 다른 교정 전 문장들을 목록화 하여 크라우드 검수자의 단말로 제공한다. 이때, DB 구축기(120)는 크라우드 검수자가 교정 전 문장들을 선택적으로 수정할 수 있는 사용자 인터페이스를 제공할 수 있다.As an example, the DB builder 120 lists other pre-edited sentences of the same document that include “approval,” which is a word to be corrected (an incorrect word), among the sentences stored in the DB 121 to be corrected, and sends them to the crowd inspector’s terminal. to provide. At this time, the DB builder 120 may provide a user interface through which the crowd reviewer can selectively modify the sentences before correction.

예를 들면, DB 구축기(120)는 교정 전 문장들 각각의 일측에 ‘OK’버튼을 제공하고 교정 전 문장들의 목록 하단에 “일괄 정제” 버튼을 제공한다. 크라우드 검수자가 교정할 문장들만 선택하여 ‘OK’ 버튼을 클릭한 뒤 “일괄 정제” 버튼을 클릭하면 “OK”버튼이 클릭된 교정 전 문장들만 ‘결재’가 ‘결제’로 교정(수정)된다. 만약, 크라우드 검수자가 ‘OK’버튼을 누르지 않은 교정 전 문장(문장번호 15)은 “일괄 정제” 버튼을 누르더라도 ‘결재’가 그대로 유지될 수 있다.For example, the DB builder 120 provides an ‘OK’ button on one side of each of the sentences before correction and a “Batch Refining” button at the bottom of the list of sentences before correction. When the crowd proofreader selects only the sentences to be corrected, clicks the ‘OK’ button, and then clicks the “Batch Refining” button, only the sentences before correction for which the “OK” button was clicked are corrected (edited) from ‘Approval’ to ‘Payment’. If the sentence before correction (sentence number 15) where the crowd reviewer did not press the ‘OK’ button, ‘approval’ may remain the same even if the ‘bulk refining’ button is pressed.

DB 구축기(120)는 크라우드 검수자의 리뷰에 의해 교정(수정)된 교정 후 문장을 레퍼런스 DB(122)에 저장한다.The DB builder 120 stores the corrected sentences proofread (edited) by the crowd reviewer's review in the reference DB 122.

도 5에서 보듯, DB 구축기(120)는 선정된 오기 단어가 포함된 다른 원시 문서의 다른 문장들을 조회하고, 조회된 다른 원시 문서의 문장을 교정 대상 DB(121)에 더 저장하여 크라우드 검수자의 단말로 전송할 수도 있다. As shown in FIG. 5, the DB builder 120 searches for other sentences in other source documents containing the selected incorrect word, and further stores the searched sentences in the other source documents in the correction target DB 121 to be stored at the crowd reviewer's terminal. You can also send it to .

예를 들면, DB 구축기(120)는 문서 번호 1에 5번째 문장에서 “걸재를”의 단어가 오기 단어로 선정되면 다른 문서 번호(예를 들면, 문서 번호 3, 18, 39)에서 “걸재를”이 포함된 문장을 교정 전 문장으로 선정하여 교정 대상 DB(121)에 저장할 수 있다(도 5 참조). DB 구축기(120)는 교정 전 문장들 각각의 일측에 ‘OK’버튼을 제공하고, 교정 전 문장들의 목록 하단에 “일괄 정제” 버튼을 제공한다.For example, if the word “Geoljaeul” is selected as an incorrect word in the 5th sentence of document number 1, the DB builder 120 selects “Geoljaeul” in other document numbers (e.g., document numbers 3, 18, and 39). A sentence containing ” can be selected as a sentence before correction and stored in the correction target DB 121 (see FIG. 5). The DB builder 120 provides an ‘OK’ button on one side of each of the sentences before correction and a “Batch Refining” button at the bottom of the list of sentences before correction.

크라우드 검수자가 교정할 문장들만 선택하여 ‘OK’ 버튼을 클릭한 뒤 “일괄 정제” 버튼을 클릭하면 “OK”버튼이 클릭된 교정 전 문장들만 ‘결재’가 ‘결제’로 교정(수정)된다. 만약, 크라우드 검수자가 ‘OK’버튼을 누르지 않은 교정 전 문장(문장번호 15)은 “일괄 정제” 버튼을 누르더라도 ‘결재’가 그대로 유지될 수 있다.When the crowd proofreader selects only the sentences to be corrected, clicks the ‘OK’ button, and then clicks the “Batch Refining” button, only the sentences before correction for which the “OK” button was clicked are corrected (edited) from ‘Approval’ to ‘Payment’. If the sentence before correction (sentence number 15) where the crowd reviewer did not press the ‘OK’ button, ‘approval’ may remain the same even if the ‘bulk refining’ button is pressed.

DB 구축기(120)는 크라우드 검수자의 리뷰에 의해 교정 전 문장이 수정된 교정 후 문장을 입력 받아 레퍼런스 DB(122)에 저장한다.The DB builder 120 receives the post-correction sentences in which the pre-correction sentences have been modified by the crowd reviewer's review and stores them in the reference DB 122.

교정 문서를 생성하는 단계(S130)에서 교정기(130)는 레퍼런스 DB(122)를 기초로 원시 문서에 포함된 교정 전 문장을 교정 후 문장으로 자동 교정하여 교정 문서를 생성한다.In the step of generating a proofread document (S130), the proofreader 130 automatically corrects the pre-proofread sentences included in the original document into the post-proofread sentences based on the reference DB 122 to generate a proofread document.

예컨대, 교정기(130)은 파서(110)에 의해 문장에 부여된 단어 추적 번호와 문장 추적번호를 통해 원시 문서에서 교정 문장을 추적하고 이를 교정하여 교정 문서로 저장한다.For example, the proofreader 130 tracks the corrected sentence in the original document through the word tracking number and sentence tracking number assigned to the sentence by the parser 110, corrects it, and stores it as a proofread document.

예컨대, 교정기(130)은 교정 전 문장 번호가 문서 1, 문장 추적 번호 3, 단어 추적 번호 2이면, 원시 문서의 문서 1, 문장 추적 번호 3, 단어 추적 번호 2에 대응하는 텍스트를 레퍼런스 DB(122)에 저장된 텍스트로 치환하여 교정 문서로 저장한다.For example, if the sentence number before correction is document 1, sentence tracking number 3, and word tracking number 2, the proofreader 130 stores the text corresponding to document 1, sentence tracking number 3, and word tracking number 2 of the raw document in the reference DB (122). ) and save it as a proofreading document.

교정기(130)은 교정 문서의 확장자를 원시 문서와 동일한 확장자로 저장할 수 있다.The proofreader 130 may save the extension of the proofread document as the same extension as the original document.

한편, 본 실시예에서는 오기 단어가 발견된 문장을 상기 교정 대상 DB에 재 저장하는 단계(미도시) 및 크라우드 검수자의 다른 검수 문장(들)을 추려서 상기 품질 검증자에게 제공하는 단계(미도시)를 더 포함할 수 있다.Meanwhile, in this embodiment, a step (not shown) of re-storing the sentence in which an incorrect word is found in the correction target DB and a step of selecting other inspection sentence(s) of the crowd inspector and providing them to the quality verifier (not shown). may further include.

오기 단어가 발견된 문장을 상기 교정 대상 DB에 재 저장하는 단계는 DB 구축기(120)가 레퍼런스DB에 저장된 교정 후 문장들 중 적어도 하나를 품질 검증자 단말로 전송하고, 품질 검증자의 리뷰 결과 오기 단어가 발견된 문장을 교정 대상 DB에 재 저장한다.In the step of re-storing the sentence in which the erroneous word was found to the correction target DB, the DB builder 120 transmits at least one of the sentences after correction stored in the reference DB to the quality verifier terminal, and as a result of the quality verifier's review, the erroneous word The found sentences are re-stored in the correction target DB.

크라우드 검수자의 다른 검수 문장(들)을 추려서 상기 품질 검증자에게 제공하는 단계는 품질 검증자로부터 리뷰된 크라우드 검수자의 교정 후 문장들 중에 오기 및 문맥 오류가 발견되면, DB 구축기(120)는 오기 단어가 발견된 문장을 교정 대상 DB에 재 저장하고, 해당 문장을 수정한 크라우드 검수자가 검수 했던 다른 검수 문장들을 품질 검증자 단말로 전송할 수 있다. 그리고 DB 구축기(120)는 품질 검증자 단말로부터 크라우드 검수자의 다른 교정 후 문장들을 리뷰 결과를 제공받아 교정 대상 DB에 재 저장할 수 있다.In the step of selecting other inspection sentence(s) of the crowd inspector and providing them to the quality verifier, if typos and context errors are found among the sentences reviewed by the quality verifier after proofreading by the crowd inspector, the DB builder 120 selects the erroneous word(s). The found sentence can be re-stored in the correction target DB, and other inspection sentences that were inspected by the crowd inspector who modified the sentence can be transmitted to the quality verifier terminal. In addition, the DB builder 120 can receive review results of sentences after other corrections of the crowd inspector from the quality verifier terminal and re-store them in the correction target DB.

본 실시예는 머신 러닝용 데이터 셋을 구축하는 단계(미도시)를 더 포함할 수 있다.This embodiment may further include the step of building a data set for machine learning (not shown).

머신 러닝용 데이터 셋을 구축하는 단계는 학습기가 오기가 교정된 교정 문서를 기초로 머신 러닝용 데이터 셋을 구축한다.In the step of building a data set for machine learning, the learner builds a data set for machine learning based on the proofread document with corrected errors.

이 때 DB 구축기는 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers) 단말들로 전송할 때, 교정 전 문장과 연관된 데이터 셋을 검수 참고 문장으로 함께 전송한다.At this time, when the DB builder transmits the pre-correction sentences of the DB subject to correction to crowd worker terminals, the data set associated with the sentences before correction is also transmitted as an inspection reference sentence.

또한, DB 구축기는 교정 대상 DB의 교정 전 문장들 중 적어도 일부를 구축된 데이터 셋과 연동된 인공지능 크라우드 검수자(AI crowd workers)에게 전송할 수도 있다. 인공지능 크라우드 검수자는 전술한 크라우드 검수자와 동일한 역할을 수행한다.Additionally, the DB builder may transmit at least some of the sentences before correction of the DB subject to correction to AI crowd workers linked to the constructed data set. The artificial intelligence crowd inspector performs the same role as the crowd inspector described above.

학습기의 머신 러닝용 데이터 셋은 문서를 교정하는 프로그램으로 활용되어 대량의 문서들의 오기를 빠른 시간에 정확하게 수정하는 것이 가능하다.The learner's machine learning data set is used as a document correction program, making it possible to accurately correct errors in large quantities of documents in a short time.

이상에서는 본 발명에 관한 몇 가지 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to several embodiments, those skilled in the art will understand the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be modified and changed in various ways.

또한 이상에서 설명한 실시예들 중 방법에 관한 발명은 프로그램으로 구현되거나 그 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체로 구현될 수 있다.Additionally, the invention regarding the method among the embodiments described above may be implemented as a program or as a computer-readable recording medium storing the program.

즉, 본 발명은 애플리케이션 형태로 구현될 수 있으며, 구글사의 안드로이드나 애플사의 IOS를 기반으로 실행되는 스마트폰, 태블릿PC 등의 모바일 단말기에서 실행되는 소프트웨어 프로그램으로 구현되거나, 구글 글래스, 애플 워치, 삼성 갤럭시 워치, 스마트 워치 등과 같은 웨어러블 장치에서 실행되는 소프트웨어 프로그램으로 구현되거나, 마이크로소프트사의 윈도우즈나 구글사의 크롬OS를 기반으로 실행되는 노트북PC, 데스크탑PC 등에서 실행되는 소프트웨어 프로그램으로 구현될 수 있다.In other words, the present invention can be implemented in the form of an application, or as a software program running on mobile terminals such as smartphones and tablet PCs running on Google's Android or Apple's IOS, or on Google Glass, Apple Watch, and Samsung. It can be implemented as a software program running on wearable devices such as Galaxy Watch, smart watch, etc., or it can be implemented as a software program running on a laptop PC or desktop PC running on Microsoft's Windows or Google's Chrome OS.

또한 상술한 장치 또는 시스템의 부분적 기능들은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있다. 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.In addition, partial functions of the above-mentioned device or system may be provided by being included in a recording medium that can be read by a computer by tangibly implementing a program of instructions for implementing them. A computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. Examples of the computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and floptical disks. Included are magneto-optical media, and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, USB memory, and the like.

100: 시스템
110: 파서
120: DB 구축기
130: 교정기
140: 학습기
100: System
110: Parser
120: DB builder
130: braces
140: learning period

Claims (16)

파서가 원시 문서를 파싱하여, 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾는 단계;
DB 구축기가 상기 오기 단어가 포함된 교정 전 문장(精製 前文章)들을 교정 대상 DB에 저장하고, 상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자의 단말들로 전송하며, 상기 크라우드 검수자의 리뷰에 의해 수정된 교정 후 문장(精製 後 文章)으로 레퍼런스 DB를 구성하는 단계; 및
교정기가 상기 레퍼런스 DB를 기초로 상기 원시 문서에 포함된 교정 전 문장을 교정 후 문장으로 자동 교정하여 교정 문서를 생성하는 단계를 포함하고,
상기 오기 단어를 찾는 단계는,
상기 원시 문서에서 단어별 출현 횟수 또는 출현 빈도를 분석하고, 설정된 기준 이하의 출현 횟수 또는 출현 빈도를 보이는 단어를 오기 단어로 정의하는 단계를 포함하되,
하나의 문장 내에 서로 연관된 단어들이 포함된 경우 및 미리 설정된 범위 내에 배치된 둘 이상의 문장들 내에 서로 연관된 단어들이 포함된 경우, 상기 연관된 단어를 상기 출현 횟수 또는 출현 빈도의 분석 대상으로 하는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 방법.
A parser parses the raw document to find misspelled words, where the meaning of the word is unknown due to incorrect input or the word itself is complete but is incorrect in context;
The DB builder stores the sentences before correction containing the erroneous word in the DB to be corrected, transmits the sentences before correction in the DB to be corrected to the terminals of the crowd reviewer, and reviews them by the crowd reviewer. Constructing a reference DB with modified post-correction sentences; and
A proofreader automatically corrects the pre-correction sentences included in the source document into post-correction sentences based on the reference DB to generate a proofread document,
The step of finding the above word is,
Analyzing the number or frequency of occurrences of each word in the raw document, and defining words with a number or frequency of appearance less than a set standard as incorrect words,
When words related to each other are included in one sentence and when words related to each other are included in two or more sentences arranged within a preset range, the related words are characterized in that the number of appearances or frequency of occurrence is analyzed. A context-based text error correction method.
삭제delete 제1항에 있어서,
상기 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준은, 상기 원시 문서에 포함된 문장의 개수에 따라 가변적으로 설정되는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 방법.
According to paragraph 1,
A context-based text error correction method, wherein the number of appearances or the standard for the frequency of occurrence for defining the incorrect word is set variably according to the number of sentences included in the source document.
제1항에 있어서,
상기 DB 구축기가 상기 구축된 레퍼런스DB에 저장된 교정 후 문장들 중 적어도 하나를 품질 검증자 단말로 전송하고, 상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 문장을 상기 교정 대상 DB에 재 저장하는 단계를 더 포함하는 컨텍스트 기반의 텍스트 오류 교정 방법.
According to paragraph 1,
The DB builder transmits at least one of the sentences after proofreading stored in the constructed reference DB to the quality verifier terminal, and re-storing the sentence in which an incorrect word is found as a result of the quality verifier's review in the proofreading target DB. A context-based text error correction method including:
제4항에 있어서,
상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 경우, 상기 DB 구축기는 상기 발견된 오기 단어가 포함된 문장을 검수했던 크라우드 검수자의 다른 검수 문장(들)을 추려서 상기 품질 검증자에게 제공하는 단계를 더 포함하는 컨텍스트 기반의 텍스트 오류 교정 방법.
According to paragraph 4,
If an erroneous word is found as a result of the quality verifier's review, the DB builder further selects other inspected sentence(s) from the crowd verifier who inspected the sentence containing the discovered erroneous word and provides it to the quality verifier. A context-based text error correction method including:
제1항에 있어서,
학습기(learner)가 상기 생성된 교정 문서를 기초로 머신 러닝용 데이터 셋을 구축하는 단계를 더 포함하는 컨텍스트 기반의 텍스트 오류 교정 방법.
According to paragraph 1,
A context-based text error correction method further comprising the step of a learner constructing a data set for machine learning based on the generated correction document.
제6항에 있어서,
상기 DB 구축기는,
상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers) 단말들로 전송할 때, 상기 교정 전 문장과 연관된 상기 데이터 셋을 검수 참고 문장으로 함께 전송하는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 방법.
According to clause 6,
The DB builder,
A context-based text error correction method, characterized in that when transmitting the pre-corrected sentences of the DB to be corrected to crowd worker terminals, the data set associated with the pre-corrected sentences is also transmitted as an inspection reference sentence.
제6항에 있어서,
상기 DB 구축기는 상기 교정 대상 DB의 교정 전 문장들 중 적어도 일부를 상기 구축된 데이터 셋과 연동된 인공지능 크라우드 검수자(AI crowd workers)에게 전송하는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 방법.
According to clause 6,
The DB builder transmits at least some of the sentences before correction of the correction target DB to artificial intelligence crowd workers linked to the constructed data set. A context-based text error correction method.
원시 문서를 파싱하여, 잘못된 입력으로 인해 단어의 의미를 알 수 없거나 단어 자체는 완전하지만 문맥상 틀린 단어인 오기(誤記) 단어를 찾는 파서;
상기 오기 단어가 포함된 교정 전 문장(精製 前文章)들을 교정 대상 DB에 저장하고, 상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자의 단말들로 전송하며, 상기 크라우드 검수자의 리뷰에 의해 수정된 교정 후 문장(精製 後 文章)으로 레퍼런스 DB를 구성하는 DB 구축기; 및
상기 레퍼런스 DB를 기초로 상기 원시 문서에 포함된 교정 전 문장을 교정 후 문장으로 자동 교정하여 교정 문서를 생성하는 교정기를 포함하고,
상기 파서는, 상기 원시 문서에서 단어별 출현 횟수 또는 출현 빈도를 분석하고, 설정된 기준 이하의 출현 횟수 또는 출현 빈도를 보이는 단어를 오기 단어로 정의하되,
하나의 문장 내에 서로 연관된 단어들이 포함된 경우 및 미리 설정된 범위 내에 배치된 둘 이상의 문장들 내에 서로 연관된 단어들이 포함된 경우, 상기 연관된 단어를 상기 출현 횟수 또는 출현 빈도의 분석 대상으로 하는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
A parser that parses raw documents to find misspelled words, where the meaning of a word is unknown due to incorrect input or the word itself is complete but is incorrect in context;
The sentences before proofreading containing the misspelled word are stored in the DB to be proofread, the sentences before proofreading in the DB to be proofread are sent to the terminals of the crowd proofreader, and the proofreading is corrected by the crowd proofreader's review. A DB construction unit that constructs a reference DB with a later sentence; and
A proofreader that generates a proofread document by automatically proofreading sentences before proofreading included in the source document into sentences after proofreading based on the reference DB,
The parser analyzes the number of occurrences or frequencies of occurrences of each word in the original document, and defines words with an occurrence count or frequency below a set standard as incorrect words,
When words related to each other are included in one sentence and when words related to each other are included in two or more sentences arranged within a preset range, the related words are characterized in that the number of appearances or frequency of occurrence is analyzed. A context-based text error correction system.
삭제delete 제9항에 있어서,
상기 오기 단어로 정의하기 위한 출현 횟수 또는 출현 빈도의 기준은, 상기 원시 문서에 포함된 문장의 개수에 따라 가변적으로 설정되는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
According to clause 9,
A context-based text error correction system, wherein the number of appearances or the standard for frequency of occurrence for defining the incorrect word is set variably according to the number of sentences included in the source document.
제9항에 있어서,
상기 DB 구축기는,
상기 구축된 레퍼런스DB에 저장된 교정 후 문장들 중 적어도 하나를 품질 검증자 단말로 전송하고, 상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 문장을 상기 교정 대상 DB에 재 저장하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
According to clause 9,
The DB builder,
Context-based text error correction in which at least one of the sentences after correction stored in the constructed reference DB is transmitted to the quality verifier terminal, and sentences in which incorrect words are found as a result of the quality verifier's review are re-stored in the correction target DB. system.
제12항에 있어서,
상기 DB 구축기는,
상기 품질 검증자의 리뷰 결과 오기 단어가 발견된 경우 상기 발견된 오기 단어가 포함된 문장을 검수했던 크라우드 검수자의 다른 검수 문장(들)을 추려서 상기 품질 검증자에게 제공하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
According to clause 12,
The DB builder,
A context-based text error correction system that, when an incorrect word is found as a result of the quality verifier's review, selects other proof sentence(s) from the crowd proofer who reviewed the sentence containing the found incorrect word and provides it to the quality verifier.
제9항에 있어서,
상기 생성된 교정 문서를 기초로 머신 러닝용 데이터 셋을 구축하는 학습기(learner)를 더 포함하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
According to clause 9,
A context-based text error correction system further comprising a learner that builds a data set for machine learning based on the generated correction document.
제14항에 있어서,
상기 DB 구축기는,
상기 교정 대상 DB의 교정 전 문장들을 크라우드 검수자(crowd workers) 단말들로 전송할 때, 상기 교정 전 문장과 연관된 상기 데이터 셋을 검수 참고 문장으로 함께 전송하는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
According to clause 14,
The DB builder,
A context-based text error correction system, characterized in that when transmitting the pre-correction sentences of the DB to be corrected to crowd worker terminals, the data set associated with the pre-correction sentences is transmitted together as an inspection reference sentence.
제14항에 있어서,
상기 DB 구축기는 상기 교정 대상 DB의 교정 전 문장들 중 적어도 일부를 상기 구축된 데이터 셋과 연동된 인공지능 크라우드 검수자(AI crowd workers)에게 전송하는 것을 특징으로 하는 컨텍스트 기반의 텍스트 오류 교정 시스템.
According to clause 14,
The DB builder transmits at least some of the sentences before correction of the DB to be corrected to artificial intelligence crowd workers linked to the constructed data set. A context-based text error correction system.
KR1020220069963A 2022-06-09 2022-06-09 Method and system for correcting errors and neglections in text data based on context analysis KR102644859B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220069963A KR102644859B1 (en) 2022-06-09 2022-06-09 Method and system for correcting errors and neglections in text data based on context analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220069963A KR102644859B1 (en) 2022-06-09 2022-06-09 Method and system for correcting errors and neglections in text data based on context analysis

Publications (2)

Publication Number Publication Date
KR20230169608A KR20230169608A (en) 2023-12-18
KR102644859B1 true KR102644859B1 (en) 2024-03-07

Family

ID=89309392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220069963A KR102644859B1 (en) 2022-06-09 2022-06-09 Method and system for correcting errors and neglections in text data based on context analysis

Country Status (1)

Country Link
KR (1) KR102644859B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122081B1 (en) * 2019-05-02 2020-06-26 주식회사 다이얼로그디자인에이전시 Method for providing artificial intelligence based natural language corpus building service using interactive learning between artificial collector, analyzer and inspector, and building

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916597A (en) * 1995-06-30 1997-01-17 Toshiba Corp Sentence elaboration device and method therefor
KR101636902B1 (en) * 2012-08-23 2016-07-06 에스케이텔레콤 주식회사 Method for detecting a grammatical error and apparatus thereof
KR102140342B1 (en) 2016-02-02 2020-07-31 한국전자통신연구원 Apparatus and method for reorganizing of sentence using parameterizaion pattern based on korean syntagma
KR20180039371A (en) * 2016-10-10 2018-04-18 한국전자통신연구원 Automatic Interpretation System
KR102199835B1 (en) * 2018-12-31 2021-01-07 주식회사 엘솔루 System for correcting language and method thereof, and method for learning language correction model

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122081B1 (en) * 2019-05-02 2020-06-26 주식회사 다이얼로그디자인에이전시 Method for providing artificial intelligence based natural language corpus building service using interactive learning between artificial collector, analyzer and inspector, and building

Also Published As

Publication number Publication date
KR20230169608A (en) 2023-12-18

Similar Documents

Publication Publication Date Title
CN107908635B (en) Method and device for establishing text classification model and text classification
CN108491373B (en) Entity identification method and system
US7983903B2 (en) Mining bilingual dictionaries from monolingual web pages
US10713571B2 (en) Displaying quality of question being asked a question answering system
US10262547B2 (en) Generating scores and feedback for writing assessment and instruction using electronic process logs
US8170868B2 (en) Extracting lexical features for classifying native and non-native language usage style
RU2644071C2 (en) Curation of multilingual commercial indicators and synthesis of transliteration
CN110888798B (en) Software defect prediction method based on graph convolution neural network
US8880391B2 (en) Natural language processing apparatus, natural language processing method, natural language processing program, and computer-readable recording medium storing natural language processing program
US10120843B2 (en) Generation of parsable data for deep parsing
CN111125438A (en) Entity information extraction method and device, electronic equipment and storage medium
CN110889275A (en) Information extraction method based on deep semantic understanding
US8224642B2 (en) Automated identification of documents as not belonging to any language
Van Der Goot et al. Lexical normalization for code-switched data and its effect on POS-tagging
US20190303437A1 (en) Status reporting with natural language processing risk assessment
CN111178098A (en) Text translation method, device and equipment and computer readable storage medium
CN111492364B (en) Data labeling method and device and storage medium
RU2546064C1 (en) Distributed system and method of language translation
KR102644859B1 (en) Method and system for correcting errors and neglections in text data based on context analysis
CN115858776B (en) Variant text classification recognition method, system, storage medium and electronic equipment
WO2022180990A1 (en) Question generating device
WO2022180989A1 (en) Model generation device and model generation method
CN114676699A (en) Entity emotion analysis method and device, computer equipment and storage medium
US11182560B2 (en) System and method for language independent iterative learning mechanism for NLP tasks
CN101278284A (en) Detecting segmentation errors in an annotated corpus

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant