KR20200083111A - 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법 - Google Patents

언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법 Download PDF

Info

Publication number
KR20200083111A
KR20200083111A KR1020190030688A KR20190030688A KR20200083111A KR 20200083111 A KR20200083111 A KR 20200083111A KR 1020190030688 A KR1020190030688 A KR 1020190030688A KR 20190030688 A KR20190030688 A KR 20190030688A KR 20200083111 A KR20200083111 A KR 20200083111A
Authority
KR
South Korea
Prior art keywords
sentence
language
data
correction
learning
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020190030688A
Other languages
English (en)
Other versions
KR102199835B1 (ko
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 SG11202106989PA priority Critical patent/SG11202106989PA/en
Priority to US17/311,870 priority patent/US20220019737A1/en
Priority to PCT/KR2019/018384 priority patent/WO2020141787A1/ko
Priority to CN201980078320.XA priority patent/CN113168498A/zh
Publication of KR20200083111A publication Critical patent/KR20200083111A/ko
Application granted granted Critical
Publication of KR102199835B1 publication Critical patent/KR102199835B1/ko
Priority to US18/418,137 priority patent/US20240160839A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)

Abstract

언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법이 개시된다.
이 시스템은 교정 모델 학습부 및 언어 교정부를 포함한다. 교정 모델 학습부는 비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합을 기계학습하여 교정 대상의 비문 데이터에 대응되는 정문 데이터를 검출하기 위한 교정 모델을 생성한다. 언어 교정부는 교정 대상의 문장에 대해 상기 교정 모델 학습부에 의해 생성된 교정 모델을 사용하여 대응되는 교정 문장을 생성하고, 생성되는 교정 문장과 함께 교정된 부분을 표시하여 출력한다.

Description

언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법 {SYSTEM FOR CORRECTING LANGUAGE AND METHOD THEREOF, AND METHOD FOR LEARNING LANGUAGE CORRECTION MODEL}
본 발명은 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법에 관한 것이다.
언어 교정은 다양한 형태의 언어로 작성된 문장, 예를 들면 인터넷에서 작성되거나 인터넷을 통해 배포되는 언어 문장, 즉 인터넷 데이터에 대해 맞춤법 오류나 문법 오류를 교정하는 것을 말한다. 이러한 언어 교정에는 맞춤법이나 문법에 어긋난 표현을 교정하는 것뿐만 아니라 문장을 보다 깔끔하고 읽기 쉽게 다듬는 교정 또한 포함될 수 있다.
상기한 언어 교정은 언어 학습에 사용되거나, 또는 서적이나 신문 기사 등의 텍스트 출판물이 일정 수준을 유지할 수 있도록 하는 작업은 물론 다양한 형태로서 언어 교정이 필요한 영역에서 사용될 수 있다.
특히, 최근 인터넷을 통해서 대용량의 언어 데이터가 유통되거나 사용되는데, 종래의 언어 교정은 통계 모델을 사용함으로써 단순한 형태의 맞춤법이나 문법을 위주로 하는 언어 교정이 수행되어 최근의 대용량의 언어 데이터에 대해 보다 효율적인 언어 교정의 필요성이 대두되고 있다.
본 발명이 해결하고자 하는 과제는 기계학습 기반의 교정 모델을 사용함으로써 효율적인 언어 교정 결과를 제공할 수 있는 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법을 제공하는 것이다.
본 발명의 하나의 특징에 따른 언어 교정 시스템은,
기계학습 기반의 언어 교정 시스템으로서, 비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합을 기계학습하여 교정 대상의 비문 데이터에 대응되는 정문 데이터를 검출하기 위한 교정 모델을 생성하는 교정 모델 학습부; 및 교정 대상의 문장에 대해 상기 교정 모델 학습부에 의해 생성된 교정 모델을 사용하여 대응되는 교정 문장을 생성하고, 생성되는 교정 문장과 함께 교정된 부분을 표시하여 출력하는 언어 교정부를 포함한다.
여기서, 상기 교정 모델 학습부는, 상기 비문 데이터에 대해 언어 감지를 수행하여 단일어 문장으로의 필터링 작업, 데이터의 정제 및 정규화 작업을 수행하는 전처리부; 상기 전처리부에 필터링된 복수의 데이터 집합에 대해, 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장 작업 및 기계학습용 병렬 데이터 구축 작업을 수행하는 학습 가공부; 상기 학습 가공부에 의해 가공된 복수의 데이터 집합에 대해 지도 학습 기반의 기계학습을 수행하여 대응되는 상기 교정 모델을 생성하는 교정 학습부; 및 상기 학습 가공부에서의 지도 학습 데이터 레이블링 작업시 추가된 태그 부가 정보를 통해 오류 및 오류 카테고리 정보를 출력한 후 해당 태그 부가 정보를 제거하는 제1 후처리부를 포함한다.
또한, 상기 학습 가공부에서의 기계학습 데이터 확장 작업은, 상기 비문 데이터에 포함된 문자를 타이핑하기 위한 키보드의 정위치를 기준으로 주변의 오타 문자로 형성되는 글자를 사용한 데이터 확장 작업을 포함한다.
또한, 상기 학습 가공부에서의 기계학습용 병렬 데이터 구축 작업은, 교정이 불필요한 비문 문장과 이에 대응되는 정문 문장을 쌍으로 하는 병렬 코퍼스로 병렬 데이터를 구축하는 작업을 포함한다.
또한, 상기 교정 학습부는 상기 지도 학습 기반의 기계학습시 학습 결과에 대한 오류 출현 확률값을 비문 데이터와 정문 데이터와의 어텐션(attention) 가중치 정보로서 제공한다.
또한, 입력 문장에 대해 미리 설정된 언어로 번역을 수행하는 번역 엔진을 더 포함하고, 상기 전처리부는, 상기 복수의 데이터 집합 내의 다량의 비문 데이터에 대해 상기 번역 엔진을 통한 번역을 수행하면서 상기 번역 엔진이 사용하는 사전에 등록되지 않은 단어에 대해 미리 설정된 마커를 사용하여 표시하고, 상기 다량의 비문 데이터에 대한 번역 완료 후, 상기 미리 설정된 마커에 의해 표시된 단어들을 추출하여 오류가 없는 단어로 일괄적으로 교정하는 선(先)교정을 수행한다.
또한, 상기 전처리부는, 상기 미리 설정된 마커에 의해 표시된 단어들을 추출하면서 빈도수를 파악하고, 파악된 빈도수 기반으로 상기 미리 설정된 마커에 의해 표시된 단어들을 정렬한 후 오류가 없는 단어로 일괄적으로 교정한다.
또한, 상기 언어 교정부는, 교정 대상의 문장에 대해, 문장 단위의 문장 분리를 수행하고, 분리된 문장을 토큰화하는 전처리를 수행하는 전처리부; 상기 전처리부에 의해 전처리가 수행된 교정 대상의 문장에 대해 바이너리 분류기를 사용하여 오류 문장과 비오류 문장을 구분하는 오류 문장 검출부; 상기 오류 문장 검출부에 의해 오류 문장으로 구분되는 경우, 상기 교정 대상의 문장에 대해 철자 오류 교정을 수행하는 맞춤법 교정부; 상기 맞춤법 교정부에 의해 철자 오류 교정된 문장에 대해 상기 교정 모델을 사용하여 문법 교정을 위한 언어 교정을 수행하여 교정 문장을 생성하는 문법 교정부; 및 상기 문법 교정부에 의한 언어 교정시 교정된 부분을 표시하는 후처리를 수행하여 상기 교정 문장과 함께 출력하는 후처리부를 포함한다.
또한, 상기 오류 문장 검출부는 상기 교정 대상의 문장 구분시 파악되는 신뢰도 정보에 따라 상기 오류 문장과 상기 비오류 문장을 구분한다.
또한, 상기 맞춤법 교정부는 철자 오류 교정시 철자 오류 출현 확률값을 신뢰도 정보로서 제공하고, 상기 문법 교정부는 상기 철자 오류 교정된 문장에 대한 언어 교정의 어텐션 가중치를 통한 확률값을 신뢰도 정보로서 제공하며, 상기 후처리부는 상기 맞춤법 교정부에서 제공되는 신뢰도 정보와 상기 문법 교정부에서 제공되는 신뢰도 정보를 조합하여 상기 교정 대상의 문장에 대한 언어 교정의 최종 신뢰도 정보로서 제공한다.
또한, 상기 문법 교정부와 상기 후처리부 사이에, 상기 문법 교정부에서 생성되는 교정 문장에 대해 미리 설정된 추천 문장을 사용하여 언어 모델링을 수행하는 언어 모델링부를 더 포함하고, 상기 언어 모델링부는 언어 모델링시 언어 모델의 퍼플릭시티(perplexity)와 상호 정보(Mutual Information, MI) 값의 조합으로 상기 교정 문장의 신뢰도 정보를 제공하며, 상기 후처리부는 상기 최종 신뢰도 제공시 상기 언어 모델링부에서 제공되는 신뢰도 정보도 함께 조합한다.
또한, 사용자에 의해 등록된 소스 단어와 이에 대응되는 타겟 단어를 포함하는 사용자 사전을 더 포함하고 - 상기 소스 단어와 타겟 단어는 각각 적어도 하나의 단어임 -, 상기 교정 모델 학습부는 상기 복수의 데이터 집합 내에 상기 사용자 사전에 등록된 단어가 포함되어 있는 경우 해당 단어에 대해 미리 설정된 사용자 사전 마커로 대체하여 기계학습을 수행하고, 상기 언어 교정부는 교정 대상의 문장에 상기 사용자 사전에 포함된 단어가 있는 경우 상기 사용자 사전 마커로 대체하여 상기 교정 대상의 문장에 대한 언어 교정을 수행하고, 교정된 문장 내에 상기 사용자 사전 마커가 포함되어 있는 경우 상기 사용자 사전 마커를 상기 교정 대상의 문장에서 대응되는 단어에 대응하여 상기 사용자 사전에 등록되어 있는 단어로 대체한다.
본 발명의 다른 특징에 따른 언어 교정 모델 학습 방법은,
언어 교정 시스템이 기계 학습 기반으로 언어 교정 모델을 학습하는 방법으로서, 비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합에 대해, 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장 작업 및 기계학습용 병렬 데이터 구축 작업을 포함하는 학습 가공을 수행하는 단계; 및 상기 학습 가공이 수행된 복수의 데이터 집합에 대해 지도 학습 기반의 기계학습을 수행하여 대응되는 교정 모델을 생성하는 단계를 포함한다.
여기서, 상기 기계학습 데이터 확장 작업은, 상기 비문 데이터에 포함된 문자를 타이핑하기 위한 키보드의 정위치를 기준으로 주변의 오타 문자로 형성되는 글자를 사용한 데이터 확장 작업을 포함하고, 상기 기계학습용 병렬 데이터 구축 작업은, 교정이 불필요한 비문 문장과 이에 대응되는 정문 문장을 쌍으로 하는 병렬 코퍼스로 병렬 데이터를 구축하는 작업을 포함한다.
또한, 상기 학습 가공을 수행하는 단계 전에, 상기 복수의 데이터 집합에 대해 언어 감지를 수행하여 단일어 문장으로의 필터링 작업, 데이터의 정제 및 정규화 작업을 포함하는 전처리를 수행하는 단계를 더 포함하고, 상기 전처리를 수행하는 단계는, 상기 복수의 데이터 집합 내의 다량의 비문 데이터에 대해 번역 엔진을 통한 번역을 수행하는 단계; 상기 번역 엔진이 사용하는 사전에 등록되지 않은 단어에 대해 미리 설정된 마커를 사용하여 표시하는 단계; 상기 다량의 비문 데이터에 대한 번역 완료 후, 상기 미리 설정된 마커에 의해 표시된 단어들을 추출하는 단계; 및 추출된 단어들에 대해 오류가 없는 단어로 일괄적으로 교정하는 단계를 포함한다.
또한, 상기 일괄적으로 교정하는 단계는, 상기 미리 설정된 마커에 의해 표시된 단어들을 추출하는 단계; 추출된 단어들의 빈도수를 파악하는 단계; 파악된 빈도수 기반으로 상기 미리 설정된 마커에 의해 표시된 단어들을 정렬하는 단계; 및 정렬된 단어들에 대해 오류가 없는 단어로 일괄적으로 교정하는 단계를 포함한다.
또한, 상기 언어 교정 시스템이, 사용자에 의해 등록된 소스 단어와 이에 대응되는 타겟 단어를 포함하는 사용자 사전을 더 포함하고 - 상기 소스 단어와 타겟 단어는 각각 적어도 하나의 단어임 -, 상기 교정 모델을 생성하는 단계는, 상기 복수의 데이터 집합 내에 상기 사용자 사전에 등록된 단어가 포함되어 있는 경우 해당 단어에 대해 미리 설정된 사용자 사전 마커로 대체하여 기계학습을 수행하여 상기 교정 모델을 생성한다.
본 발명의 또 다른 특징에 따른 언어 교정 방법은,
언어 교정 시스템이 기계 학습 기반으로 언어 교정하는 방법으로서, 언어 교정 대상의 문장에 대해 철자 오류 교정을 수행하는 단계; 및 철자 오류 교정된 문장에 대해 교정 모델을 사용하여 문법 교정을 수행하여 교정 문장을 생성하는 단계를 포함하고, 상기 교정 모델은 비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합에 대해 지도 학습 기반의 기계학습을 수행하여 생성된 것이다.
여기서, 상기 철자 오류 교정을 수행하는 단계 전에, 상기 언어 교정 대상의 문장에 대해, 문장 단위의 문장 분리를 수행하고, 분리된 문장을 토큰화하는 전처리를 수행하는 단계; 및 상기 전처리가 수행된 언어 교정 대상의 문장에 대해 바이너리 분류기를 사용하여 오류 문장과 비오류 문장을 구분하는 단계를 더 포함하고, 상기 오류 문장과 비오류 문장을 구분하는 단계에서, 상기 언어 교정 대상의 문장이 오류 문장으로 구분되는 경우 상기 철자 오류 교정을 수행하는 단계가 수행된다.
또한, 상기 오류 문장과 비오류 문장을 구분하는 단계에서, 상기 언어 교정 대상의 문장 구분시 파악되는 신뢰도 정보에 따라 상기 오류 문장과 상기 비오류 문장을 구분한다.
또한, 상기 교정 문장을 생성하는 단계 후에, 상기 교정 문장에 대해 미리 설정된 추천 문장을 사용하여 언어 모델링을 수행하는 단계; 및 상기 교정 문장 생성시 교정된 부분을 표시하는 후처리를 수행하여 상기 교정 문장과 함께 출력하는 단계를 더 포함한다.
또한, 상기 언어 교정 시스템이, 사용자에 의해 등록된 소스 단어와 이에 대응되는 타겟 단어를 포함하는 사용자 사전을 더 포함하고 - 상기 소스 단어와 타겟 단어는 각각 적어도 하나의 단어임 -, 상기 철자 오류 교정을 수행하는 단계 전에, 상기 언어 교정 대상의 문장 내에 상기 사용자 사전에 포함되어 있는 단어가 포함되어 있는지를 판단하는 단계; 및 상기 언어 교정 대상의 문장 내에 상기 사용자 사전에 포함되어 있는 단어가 포함되어 있는 경우, 상기 사용자 사전과 상기 언어 교정 대상의 문장에 공통적으로 포함되어 있는 단어를 미리 설정된 사용자 사전 마커로 대체하는 단계를 더 포함하고, 상기 교정 문장을 생성하는 단계 후에, 생성된 교정 문장 내에 상기 사용자 사전 마커가 포함되어 있는지를 확인하는 단계; 상기 생성된 교정 문장 내에 상기 사용자 사전 마커가 포함되어 있는 경우, 포함된 사용자 사전 마커의 위치에 대응되는 상기 언어 교정 대상의 문장 내 단어에 대응되는 상기 사용자 사전의 단어로 대체하여 최종의 교정 문장을 생성하는 단계를 더 포함한다.
본 발명의 실시예에 따르면, 기계학습 기반의 교정 모델을 사용함으로써 효율적인 언어 교정 결과를 제공할 수 있다.
또한, 언어 교육용 첨삭 지도에 활용하여 온라인 학습 시스템 개발이 가능하다.
또한, 문장 단위의 검색에서 오타/문법 오류를 제거하여 검색 성능을 향상시킬 수 있다.
또한, 각종 오피스 툴에 적용하여 문서 작성에 보조할 수 있다.
또한, 사용자에 의해 미리 정의된 형태의 교정 정보를 변수 형태로 저장하고 이를 런타임에서 처리함으로써, 교정 모델에 별도로 추가하거나 변경하지 않고도 쉽게 언어 교정이 수행될 수 있다.
또한, 교정이 어렵거나 의도적으로 잘 안되는 부분에 대해서도 사용자 사전에 등록하여 처리함으로써 언어 교정의 효율을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 언어 교정 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 교정 모델 학습부의 구체적인 구성도이다.
도 3은 도 1에 도시된 언어 교정부의 구체적인 구성도이다.
도 4는 본 발명의 실시예에 따른 언어 교정 시스템에 의해 언어 교정이 수행된 결과 예를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 기계학습 기반 언어 교정 방법의 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 언어 교정 모델 학습 방법의 개략적인 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 교정 모델 학습부의 구체적인 구성도이다.
도 8은 본 발명의 다른 실시예에 따른 교정 모델 학습 문장의 선교정 방법의 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 교정 모델 학습 문장의 선교정 방법의 예를 도시한 도면이다.
도 10은 본 발명의 다른 실시예에 따른 언어 교정 시스템의 개략적인 구성도이다.
도 11은 도 10에 도시된 교정 모델 학습부의 구체적인 구성도이다.
도 12는 도 10에 도시된 언어 교정부의 구체적인 구성도이다.
도 13은 본 발명의 다른 실시예에 따른 언어 교정 모델 학습 방법의 흐름도이다.
도 14는 본 발명의 다른 실시예에 따른 언어 교정 방법의 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 도면을 참고하여 본 발명의 실시예에 따른 언어 교정 시스템에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 언어 교정 시스템의 개략적인 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 언어 교정 시스템(100)은 입력부(110), 교정 모델 학습부(120), 교정 모델 저장부(130), 언어 교정부(140) 및 출력부(150)를 포함한다. 여기서, 도 1에 도시된 언어 교정 시스템(100)은 본 발명의 하나의 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
입력부(110)는 언어 교정의 학습을 위해 사용되는 데이터 또는 언어 교정 대상인 교정 대상 데이터를 입력받는다. 여기서, 언어 교정의 학습을 위해 사용되는 데이터로는 추후 설명될 지도 학습 기반의 기계학습을 위해 인터넷 대용량 데이터로서 교정 정보를 포함하는 비문(非文) 데이터와 오류가 없는 정문(正文) 데이터가 쌍으로서 입력된다.
교정 모델 학습부(120)는 입력부(110)를 통해 입력되는 데이터 중에서 언어 교정의 학습을 위해 사용되는 데이터, 즉 비문 데이터와 정문 데이터의 쌍으로 구성된 대량의 학습 데이터를 사용하여 언어 교정을 위한 기계학습을 수행하여 언어 교정용 학습 모델인 교정 모델을 생성한다. 이 때, 교정 모델 학습부(120)에서 생성되는 교정 모델은 교정 모델 저장부(130)에 저장된다. 한편, 상기한 기계학습은 인공지능의 한 분야로서, 방대한 데이터를 분석해서 미래를 예측하는 기술이며, 컴퓨터가 스스로 학습 과정을 거치면서 입력되지 않은 정보를 습득하여 문제를 해결하는 기술이다. 기계학습을 위해 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), Transformer Networks 등의 신경망을 활용하는 딥러닝 기술이 사용될 수 있다. 이러한 기계학습 기술에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.
교정 모델 저장부(130)는 교정 모델 학습부(120)에 의한 기계학습을 통해 생성되는 교정 모델을 저장한다.
언어 교정부(140)는 입력부(110)를 통해 입력되는 대용량의 언어 교정 데이터, 즉 맞춤법 오류나 문법 오류의 교정 대상인 교정 대상 데이터에 대해 교정 모델 저장부(130)에 저장된 교정 모델을 사용하여 교정 대상 데이터에 대한 맞춤법/문법 교정을 수행하고, 교정이 완료된 교정 데이터를 출력부(150)로 출력한다.
선택적으로 언어 교정부(140)는 교정 대상 데이터에 대한 맞춤법/문법 교정이 완료되어 교정이 불필요한 경우라도 문장을 자연스러운 문장으로 교정해주는 언어 모델링 작업이 추가로 수행될 수 있다.
출력부(150)는 언어 교정부(140)에서 언어 교정이 완료된 교정 데이터와 함께 교정 대상 데이터를 전달받아서 외부, 예를 들어 사용자에게 출력한다.
또한, 출력부(150)는 교정 대상 데이터와 함께 이에 대응되는 교정 데이터를 함께 출력할 수 있다. 선택적으로, 출력부(150)는 교정 데이터에 대해 교정 대상 데이터에서 교정이 수행된 부분을 알 수 있도록 추가로 표시할 수 있다. 이 때, 교정이 수행된 부분에 대한 정보는 언어 교정부(140)에서 출력부(150)로 제공된다.
한편, 상기한 교정 모델 학습부(120)와 언어 교정부(140)는 서로 통합되어 하나의 구성요소로서 구현될 수 있거나, 또는 서로 별개의 장치로서 구현될 수 있다. 예를 들어, 입력부(110), 교정 모델 학습부(120) 및 교정 모델 저장부(130)만을 포함하는 교정 모델 학습 장치와 입력부(110), 교정 모델 저장부(130), 언어 교정부(140) 및 출력부(150)만을 포함하는 언어 교정 장치와 같이 각각의 장치로서 구현될 수도 있다.
이하, 전술한 교정 모델 학습부(120)에 대해 보다 구체적으로 설명한다.
도 2는 도 1에 도시된 교정 모델 학습부(120)의 구체적인 구성도이다.
도 2에 도시된 바와 같이, 교정 모델 학습부(120)는 전처리부(121), 학습 가공부(122), 교정 학습부(123), 후처리부(124) 및 교정 모델 출력부(125)를 포함한다.
설명 전에, 본 발명의 실시예에서 수행되는 교정 모델의 기계학습은 지도 학습(supervised learning)을 사용하지만, 이에 한정되는 것은 아니다. 여기서 지도 학습은 입력과 출력 사이의 매핑을 학습하는 것이며, 입력과 출력 쌍이 데이터로 주어지는 경우에 적용된다. 본 발명의 실시예에 적용하면, 맞춤법 교정 및 문법 교정을 위한 소스 데이터인 비문 데이터가 입력이고, 이에 대응되어 교정된 문장에 해당되는 타겟 데이터인 정문 데이터가 출력에 해당된다. 이러한 지도 학습에 따른 기계학습 방법에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.
전처리부(121)는 입력부(110)를 통해 입력되는 언어 교정의 학습을 위해 사용되는 데이터, 즉 비문 데이터("소스 문장"이라고도 함)와 정문 데이터("타겟 문장"이라고도 함)의 쌍으로 구성된 학습 데이터 중에서 비문 및 정문 데이터에 대해 언어 감지(language identification) 기술을 적용하여 단일어 문장으로 필터링한다. 즉, 비문 혹은 정문 데이터는 기본적으로 동일한 언어 기반으로 학습을 수행할 수 있도록 언어 감지를 통해 단일어 문장으로 필터링을 수행한다.
선택적으로, 전처리부(121)는 언어 감지시 코드 스위칭 부분 필터링을 추가로 수행할 수 있다. 이것은, 예를 들어, “Korea는 굉장히 traditional한 thinking에 사로잡힌 것 같아요”와 같이 영어와 한국어가 섞여 있는 경우와 같이, 서로 다른 언어가 사용되더라도 코드 스위칭을 위한 언어 감지 기술을 통해 필터링되어 제거되지 않고 문장 내에 남아 있도록 하는 것이다.
또한, 전처리부(121)는 비문 데이터에 대한 정제를 수행한다. 이러한 정제는 단일어 코퍼스(corpus) 또는 병렬 코퍼스에 적용될 수 있다.
이외에도, 전처리부(121)는 소스/타켓 문장에서 중복 및 빈 정보 유무 체크, 글자/단어수 최대치/최소값 설정, 글자 및 단어 길이 공백 수 제한, 대문자 숫자 제한, 반복 단어 제한, 비 그래픽 문자(Non-graphic/Non-printable Character), 유니코드 처리 오류 체크, 외국어 비율 체크, 인코딩 유효성 확인 등의 작업을 더 수행할 수 있다. 이러한 작업에 대해서는 잘 알려져 있으므로, 여기에서는 구체적인 설명을 생략한다.
또한, 전처리부(121)는 유니코드, 문장 부호, 대소문자, 지역별 철자가 다른 경우 등에 따라 데이터의 정규화를 추가로 수행할 수 있다. 이 때, 데이터의 정규화는 전술한 데이터의 정제와 통합될 수도 있다.
학습 가공부(122)는 전처리부(121)에 의해 전처리가 수행된 데이터의 쌍, 즉 비문 데이터와 정문 데이터의 쌍을 사용하여 추후 교정 학습부(123)에 의해 수행되는 기계학습에 필요한 데이터를 준비하는 것으로, 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장(data augmentation) 작업, 기계학습용 병렬 데이터 구축 작업을 수행한다. 이러한 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장 작업 및 기계학습용 병렬 데이터 구축 작업은 순차적으로 실행될 필요가 없고, 또한 모든 작업이 아닌 일부만이 실행될 수 있다.
먼저, 지도 학습 데이터 레이블링 작업은 다음과 같다.
단어와 문자의 편집 거리를 이용하여 교정 문장에서의 교정 형태(삽입, 치환, 삭제)에 대한 정보를 부가 정보로서 추가한다.
또한, 오류 범주 정보를 추가한다. 여기서, 오류 범주 정보로는 맞춤법 오류(누락, 첨가, 오선택, 순서 등의 오류), 문법 오류(품사, 일치 등의 오류), 언어 모델 오류(문장 구성, 대용어 참조, 관용 표현, 의미 표현, 모드 표현 등의 오류)가 해당된다.
교류 오류의 범주 정보로는 다음의 [표 1]이 참조될 수 있다.
Figure pat00001
또한, 비문 및 정문 분류 정보를 바이너리 형태로 추가한다. 이러한 비문 및 정문 분류 정보를 통해 학습 데이터, 즉 비문 데이터와 정문 데이터의 쌍이 모두 교정이 필요없는 정문으로 분류되는 경우를 파악할 수 있다. 이것은 비문 데이터에 대해 교정이 필요없는 것으로 분류될 수 있으므로, 추후 이러한 학습 데이터의 사용을 통해 데이터 확장이 가능하고, 또한 추후 언어 교정시 교정이 필요 없음을 빨리 체크하여 응답할 수 있도록 할 수 있다. 여기서, 비문 데이터에 대해 바이너리 분류기를 통해 교정이 필요없는 정문과 교정이 필요한 비문의 분류를 수행하면서 비문 데이터가 비문과 정문에 해당될 확률값을 표시할 수 있다.
또한, 전처리부(121)에서 수행된 코드 스위칭 부분에 대한 정보를 레이블링한다. 예를 들어, 한-영 코드 스위칭 부분의 레이블링을 수행한다.
또한, 다양한 자연어 처리를 수행한 후 태그 정보를 추가한다. 여기서, 다양한 자연어 처리로는 문장 분리, 토큰 분리, 형태소 분석, 구문 분석, 개체명 인식, 의미역 인식, 상호참조, 패러프레이즈(paraphrase) 등이 포함될 수 있다.
또한, [표 1]에서 필요한 세부 오류 범주 정보를 추가하여 기계학습할 수 있도록 언어의 자질 정보가 사용될 수 있다.
다음, 기계학습 데이터 확장 작업은 다음과 같다. 여기서, 기계학습 데이터 확장 작업은 추후 교정 학습부(123)에서 학습시 사용될 기계학습 데이터의 양을 늘리기 위한 작업을 나타낸다.
비문 데이터에 다양한 형태의 노이즈를 추가하여 기계학습 데이터 확장을 수행할 수 있다. 여기서, 노이즈 종류로는 단어/철자 누락, 치환, 첨가, 띄어쓰기 오류, 외국어 추가 등이 포함될 수 있다.
또한, 빈도수가 높은 오타 오류 위주로 데이터 확장을 수행할 수 있다.
또한, 키보드 주변 글자 위주의 오타로 데이터 확장을 수행할 수 있다. 즉, 비문 데이터의 특정 문자에 대해 해당 문자를 타이핑하기 위한 키보드의 정위치를 기준으로 주변의 오타 문자로 형성되는 글자의 오타를 사용하여 데이터 확장을 수행할 수 있다. 이러한 키보드 주변 글자 위주의 오타를 통한 데이터 확장으로 인해 작은 키보드 자판을 사용하는 스마트폰 등을 통해 입력되는 문장들에서의 언어 교정이 매우 효율적으로 수행될 수 있다.
또한, VAE(Variational autoencoder), GAN(Generative Adversarial Networks) 등의 비지도 학습에서 사용되는 알고리즘을 응용하여 데이터 확장을 수행할 수 있다.
다음, 기계학습용 병렬 데이터 구축 작업은 다음과 같다.
상기한 바와 같이 확장된 데이터, 즉 대용량의 데이터 쌍을 노이즈가 포함된 교정 문장인 비문 문장과 교정이 불필요한 정문 문장을 쌍으로 하는 병렬 코퍼스로 구축하는 병렬 데이터 구축 작업을 수행한다.
또한, 전처리부(121)에서 비문 및 정문 분류 정보의 바이너리 형태 추가에 의해, 교정이 필요없는 비문 데이터를 사용하여 교정이 불필요한 문장 쌍으로 하는 병렬 코퍼스로 구축하는 병렬 데이터 구축 작업을 수행한다. 이와 같이, 교정이 불필요한 문장 쌍으로 하는 병렬 코퍼스를 사용한 병렬 데이터 구축으로 인해 추후 언어 교정부(140)에서 교정 대상 데이터에 대해 교정이 필요없는 경우 이러한 교정 대상 데이터에 대해 교정을 위한 작업이 수행되지 않도록 처리될 수 있으므로, 전체적인 교정 작업의 처리가 빨리질 수 있다. 물론 이러한 교정이 필요없는 교정 대상 데이터에 대해서도 문장을 자연스럽게 하기 위한 언어 모델링은 수행될 수 있다.
교정 학습부(123)는 학습 가공부(122)에 의해 가공된 데이터 쌍, 즉 비문 데이터와 정문 데이터 기반으로 구축된 병렬 데이터의 조합으로 전술한 바와 같은 지도 학습 기반의 기계학습을 적용하여 대응되는 교정 모델을 생성한다. 물론 본 발명은 지도 학습으로만 한정되는 것은 아니고, 비지도 학습 기반의 기계학습을 통해서도 교정 학습이 수행될 수도 있다. 이 경우, 이전의 전처리나 데이터 가공 등이 비지도 학습 기반의 기계학습에 적용될 수 있도록 하는 처리가 수반되어야 할 것이다. 여기서, 교정 학습부(123)는 지도 학습 기반의 기계학습시 기계학습 결과에 대한 오류 출현 확률값을 제공할 수 있다. 이 때, 오류 출현 확률값은 비문과 정문과의 어텐션(attention) 가중치 정보일 수 있다.
선택적으로, 교정 학습부(123)는 대용량 인터넷 데이터 기반으로 사전 학습된 임베딩 벡터를 활용할 수 있다. 즉, 외부에서 방대하게 사전 학습된 데이터를 활용할 수 있다.
후처리부(124)는 학습 가공부(122)에서의 지도학습 데이터 레이블링 작업시 추가된 태그 부가 정보를 통해 오류 및 오류 카테고리 정보를 출력한 후, 해당 태그 부가 정보를 제거한다.
교정 모델 출력부(125)는 교정 학습부(123)에 의해 생성되는 교정 모델을 교정 모델 저장부(130)로 출력하여 저장시킨다.
다음, 전술한 언어 교정부(140)에 대해 보다 구체적으로 설명한다.
도 3은 도 1에 도시된 언어 교정부(140)의 구체적인 구성도이다.
도 3에 도시된 바와 같이, 언어 교정부(140)는 전처리부(141), 오류 문장 검출부(142), 맞춤법 교정부(143), 문법 교정부(144), 언어 모델링부(145) 및 후처리부(146)를 포함한다.
전처리부(141)는 입력부(110)를 통해 입력되는 언어 교정을 위한 교정 대상 데이터에 대해 문장 분리 작업을 수행한다. 이러한 문장 분리 작업은 교정 대상 데이터 내에 포함된 문장들의 끝 단위를 인식한 후 입력 단위를 문장 단위로 분리하는 작업이다.
또한, 전처리부(141)는 분리된 문장을 다양하게 토큰화한다. 여기서, 토큰화는 문장을 원하는 단위로 자르는 것을 의미하며, 예를 들어, 글자 단위, 단어, 보조단어(subword), 형태소, 어절 등의 단위로 토큰화가 수행될 수 있다.
또한, 전처리부(141)는 교정 모델 학습부(120)의 전처리부(121)에서 수행된 바와 같은 데이터 정규화 작업을 수행할 수 있다.
다음, 오류 문장 검출부(142)는 바이너리 분류기를 사용하여 전처리부(141)에서 이미 태깅된 정보를 통해서 오류 문장과 비오류 문장을 구분한다. 이것은 기존 오류/비오류 문장쌍의 학습 데이터 외에 오류 문장 위치에 비오류 문장을 추가해서 확장된 데이터를 기반으로 입력 문장과 기계학습된 오류 문장 또는 비오류 문장의 유사도 측정을 통해 분류하는 방식이다. 이때 오류 문장과 비오류 문장 구분시에 대응되는 신뢰도 수치를 표시한다.
오류 문장 검출부(142)는 신뢰도 수치가 임계값 이상이면 오류 문장으로 검출하고, 만약 신뢰도 수치가 임계값보다 작으면 비오류 문장으로 검출한다.
이러한 오류 문장 검출부(142)에서의 오류 문장 검출 결과에 따라, 오류 문장으로 검출되면 맞춤법 교정부(143)로 교정 대상 데이터가 전달되지만, 비오류 문장으로 검출되면 맞춤법 교정부(143)와 문법 교정부(144)를 거치지 않고 바로 언어 모델링부(145)로 전달된다.
맞춤법 교정부(143)는 오류 문장 검출부(142)에서 전달되는 교정 대상 데이터 내의 교정 대상 문장에서 철자 오류를 검출하고 이를 교정한다. 여기서의 철자 교정은 띄어쓰기, 문장 부호(마침표, 물음표, 느낌표, 쉼표, 가운뎃점, 쌍점, 빗금, 큰 따옴표, 작은 따옴표, 소괄호, 중괄호, 대괄호, 겹낫표와 겹화살괄호, 홑낫표와 홑화살괄호, 줄표, 붙임표, 물결표, 드러냄표와 밑줄, 숨김표, 빠짐표, 줄임표) 등의 철자 오류에 대한 교정이 해당될 수 있다. 또한, 이러한 철자 교정에 대해서도 철자 교정을 위한 기계학습을 수행하여 대응되는 교정 모델을 생성하고, 이렇게 생성된 교정 모델을 사용하여 철자 교정을 수행할 수 있으나, 상기한 바와 같이, 철자 교정은 기계학습을 적용할 정도의 대상은 아니므로 기존의 철자 기준 표준어 사전 등을 사용하여 수행될 수 있다.
선택적으로 맞춤법 교정부(143)는 교정 대상 데이터에 대한 철자 교정에 대해 사전 기반 철자 오류 출현 확률값을 신뢰도 정보로서 제공할 수 있다.
문법 교정부(144)는 교정 모델 저장부(130)에 저장된 교정 모델을 사용하여 맞춤법 교정부(143)에서 철자 교정된 교정 대상 데이터에 대한 언어 교정, 특히 문법 교정을 수행한다. 즉, 문법 교정부(144)는 교정 대상 데이터에 대해 교정 모델을 적용함으로써 교정 대상 데이터에 대해 교정된 데이터를 결과물로서 획득할 수 있다. 이 때, 교정 모델에 의해 교정된 데이터와 함께 어텐션 가중치를 통한 확률값, 즉 신뢰도 정보가 제공될 수 있다.
언어 모델링부(145)는 문법 교정부(144)에 의해 교정된 데이터, 또는 오류 문장 검출부(142)에서 전달되는 비오류 문장에 대해 교정이 불필요한 경우라도 문장을 문법 또한 의미/화용적인 범위에서 더 자연스러운 문장으로 교정하는 언어 모델링을 수행한다. 이러한 언어 모델링도 교정 모델과 같이 기계학습을 이용한 방법을 사용할 수도 있지만 본 발명에서는 적용하지 않고 다양한 형태의 추천 문장 등을 사용하여 대응되는 문장에 대해 언어 모델링을 수행하는 것으로만 설명한다.
선택적으로, 언어 모델링부(145)는 언어 모델링을 수행하면서 언어 모델의 퍼플릭시티(perplexity(PPL)) 및 상호 정보(Mutual Information, MI) 값의 조합으로 교정 문장의 신뢰도 정보를 제공할 수 있다.
후처리부(146)는 언어 모델링부(145)에 의해 언어 모델링이 수행된 교정된 데이터에 대해 교정 부분을 표시한다. 이러한 교정 부분의 표시는 다양한 색상으로 오류 정보의 시각화를 통해 수행될 수 있다.
선택적으로, 후처리부(146)는 오류 문장 검출부(142)에서 바이너리 분류기를 사용하여 오류 문장과 비오류 문장으로 구분시 제공되는 확률값인 신뢰도 수치, 맞춤법 교정부(143)에서의 철자 교정시 제공되는 사전 기반 철자 오류 출현 확률값인 신뢰도 정보, 문법 교정부(144)에서 언어 교정시 제공되는 어텐션 가중치 정보, 언어 모델링부(145)에서 제공되는 언어 모델의 퍼플릭시티 값, 상호 정보(Mutual Information, MI) 등 각 구성요소에서 산출되는 신뢰도의 가중합을 휴리스틱(heuristic) 기반으로 조합하여 교정 대상 데이터에 대한 언어 교정의 최종 신뢰도 정보로서 제공할 수 있다.
선택적으로, 후처리부(146)는 하나의 교정 대상 데이터에 대해 N-best 문장 처리를 수행할 수 있다. 즉, 하나의 교정 대상 데이터에 대해 복수의 교정된 데이터 후보군을 제공하면서 각 후보군별 신뢰도를 랭킹(ranking)으로서 제공하여 사용자에 의해 선택될 수 있도록 할 수 있다. 이러한 처리는 출력부(150)와 협력하여 수행될 수 있다.
다음, 출력부(150)는 언어 교정부(140)에서 언어 교정이 완료된 교정 데이터와 함께 교정 대상 데이터를 전달받아서 외부로 출력한다. 이 때, 출력부(150)는 교정 대상 데이터와 이에 대응되는 교정된 데이터 및 교정 부분을 함께 표시할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 좌측에 교정 대상 데이터(Source), 중간에 교정된 데이터(Suggestion), 우측에 교정 부분을 함께 표시함으로써 교정 대상 데이터에 대해 교정된 데이터, 그리고 교정된 부분을 명확히 알 수 있도록 할 수 있다.
이하, 본 발명의 실시예에 따른 기계학습 기반 언어 교정 방법에 대해 설명한다.
도 5는 본 발명의 실시예에 따른 기계학습 기반 언어 교정 방법의 개략적인 흐름도이다. 도 5에 도시된 기계학습 기반 언어 교정 방법은 도 1 내지 도 4를 참조하여 설명한 언어 교정 시스템(100)에 의해 수행될 수 있다.
도 5를 참조하면, 먼저, 언어 교정을 위한 교정 대상 문장이 입력되면(S100), 입력된 교정 대상 문장에 대해 문장 분리 작업, 문장의 토큰화 및 정규화 작업 등을 포함하는 전처리 작업을 수행한다(S110). 여기서, 입력된 교정 대상 문장에 대해 문장 분리 작업, 문장의 토큰화 및 정규화 작업 등을 포함하는 전처리 작업에 대해서는 도 3을 참조한다.
다음, 전처리 작업이 수행된 교정 대상 문장에 대해 바이너리 분류기를 사용하여 오류 문장을 검출한다(S120). 도 3을 참조하여 설명한 바와 같이, 이 때 오류 문장 검출에 대한 신뢰도가 함께 제공될 수 있다.
따라서, 상기 단계(S120)에서 제공되는 신뢰도가 미리 설정된 임계값 이상이면 오류가 검출된 것으로 언어 교정이 필요하고, 그렇지 않으면 오류가 검출되지 않은 비오류 문장으로 언어 교정이 필요하지 않음을 알 수 있다.
따라서, 신뢰도가 미리 설정된 임계값 이상인지가 판단되고(S130), 만약 신뢰도가 미리 설정된 임계값 이상이면, 언어 교정을 위해 먼저 교정 대상 문장에 대한 철자 교정, 즉 맞춤법 교정이 수행된다(S140). 이러한 맞춤법 교정에 대해서도 구체적인 내용에 대해서는 도 3을 참조하여 설명한 부분을 참조한다.
그 후 맞춤법 교정된 교정 대상 문장에 대해 지도 학습 기반의 기계학습을 통해 미리 생성되어 있는 생성 모델을 사용하여 언어 교정, 구체적으로는 문법 교정을 수행하여 교정 대상 문장에 대응되는 교정된 문장을 출력한다(S150). 이 때, 생성 모델은 교정 대상 문장에서 교정된 문장으로 교정된 부분에 대한 정보를 함께 제공한다. 또한, 교정 대상 문장의 교정에 대한 신뢰도 정보로서 어텐션 가중치가 함께 제공될 수 있다.
계속해서, 교정된 문장에 대해 문법 또한 의미/화용적인 범위에서 더 자연스러운 문장으로 교정하는 언어 모델링이 수행된다(S160). 이러한 언어 모델링에 대해서도 도 3을 참조하여 설명한 부분을 참조한다.
이와 같이, 언어 모델링된 문장에 대해 상기한 바와 같은 언어 교정에 대한 신뢰도 정보 제공, N-best 문장 처리 등의 후처리 작업을 수행한다(S170). 이러한 후처리 작업에 대해서는 구체적인 내용은 도 3을 참조하여 설명한 부분을 참조한다.
그 후, 후처리 작업이 완료된 최종 교정 문장을 교정 대상 문장과 함께 출력하면서, 교정 부분을 함께 표시함으로써 사용자에게 교정 대상 문장에 대해 본 발명의 실시예에 따른 언어 교정된 교정 문장을 제공할 수 있다(S180).
한편, 상기 단계(S130)에서, 신뢰도가 미리 설정된 임계값보다 작아서 언어 교정이 필요 없는 문장인 것으로 판단되는 경우에는 상기한 맞춤법 교정 단계(S140) 및 문법 교정 단계(S150)의 수행 없이 바로 언어 모델링 처리 단계(S160)를 수행하도록 한다.
이하, 상기에서 사용되는 교정 모델을 생성하기 위해 기계학습을 수행하는 방법에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 언어 교정 모델 학습 방법의 개략적인 흐름도이다. 도 6에 도시된 언어 교정 모델 학습 방법은 도 1 내지 도 3을 참조하여 설명한 언어 교정 시스템(100)에 의해 수행될 수 있다.
도 6을 참조하면, 먼저, 언어 교정 모델에 대한 지도 학습 기반의 기계학습을 위해 교정 학습 대상 데이터, 즉 비문 데이터와 정문 데이터의 쌍으로 구성된 대량의 학습 데이터가 입력되면(S200), 언어 감지 작업, 데이터 정제 작업, 정규화 작업 등의 전처리 작업을 수행한다(S210). 구체적인 전처리 작업에 대해서는 도 2를 참조하여 설명한 부분을 참조한다.
다음, 전처리 작업이 완료된 교정 학습 대상 데이터에 대해 기계학습에 필요한 데이터로 기계학습 가공 작업을 수행한다(S220). 이러한 기계학습 가공 작업은 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장(data augmentation) 작업, 기계학습용 병렬 데이터 구축 작업 등을 포함하며, 구체적인 작업 내용에 대해서는 도 2를 참조하여 설명한 부분을 참조한다.
그 후, 기계학습 가공 작업이 완료된 교정 학습 대상 데이터를 사용하여 지도 학습 기반의 기계학습을 수행한 후 대응되는 교정 모델을 생성한다(S230). 이 때, 교정 모델과 함께 기계학습 결과에 대한 오류 출현 확률값이 제공될 수 있다.
다음, 기계학습 가공시 지도학습 데이터 레이블링 작업에 의해 추가된 태그 부가 정보를 통해 오류 및 오류 카테고리 정보를 출력한 후, 해당 태그 부가 정보를 제거하는 후처리 작업을 수행한다(S240).
마지막으로, 상기 단계(S230)에서 생성된 교정 모델을 교정 모델 저장부(130)에 저장하여, 추후 교정 대상의 문장에 대한 언어 교정시 사용될 수 있도록 한다(S250).
한편, 상기한 지도 학습 기반의 교정 모델 학습시 전처리부(121)가 언어 감지 작업, 데이터 정제 작업, 정규화 작업 등의 전처리 작업을 수행하는 것으로만 설명하였으나, 본 발명은 이에 한정되지 않고 보다 정확한 기계학습 기반의 교정 모델 학습이 수행될 수 있도록 하는 다양한 형태의 전처리 작업이 추가로 수행될 수 있다.
예를 들어, 교정 모델 학습에서 사용되는 비문 문장인 소스 문장의 오류(오탈자)를 교정 모델 학습 전에 사전에 일괄적으로 교정해서 실질적인 교정 모델 학습시 보다 정확한 소스 문장이 사용될 수 있도록 할 수 있다. 특히, 소스 문장에서 사전에 등록되어 있지 않아 식별이 불가능한 단어 등의 선(先)교정이 수행될 수 있도록 할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 교정 모델 학습부(220)의 구체적인 구성도이다.
도 7에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 교정 모델 학습부(220)는 전처리부(221), 학습 가공부(222), 교정 학습부(223), 후처리부(224), 교정 모델 출력부(225) 및 번역 엔진(226)을 포함한다. 여기서, 학습 가공부(222), 교정 학습부(223), 후처리부(224) 및 교정 모델 출력부(225)는 도 2를 참조하여 설명한 교정 모델 학습부(120)의 학습 가공부(122), 교정 학습부(123), 후처리부(124) 및 교정 모델 출력부(125)와 구성 및 기능이 동일하므로 도 2를 참조하여 설명한 부분을 참조한다.
도 7에서, 번역 엔진(226)은 입력 문장에 대해 사용자에 의해 지정되는 언어로 번역을 수행하는 엔진으로, 예를 들어, RBMT(Rule Based Machine Translation) 엔진일 수 있으며, 본 발명에서는 이것으로만 한정되지는 않는다. 여기서, RBMT(Rule Based Machine Translation)는 수많은 언어 규칙과 언어 사전을 기반으로 번역하는 방식이다. 쉽게 설명해, RBMT는 언어학자가 영어 단어와 문법이 집대성된 교과서를 모두 입력한 번역기를 의미할 수 있다.
전처리부(221)는 입력부(110)를 통해 입력되는 언어 교정의 학습을 위해 사용되는 대용량 데이터 내의 비문 데이터인 다량의 소스 데이터에 대해 번역 엔진(226)을 통해 번역을 수행하고, 번역 수행시 번역 엔진(226)에서 사용되는 사전에 등록된 단어가 아닌 경우 해당 단어에 대해 특정 마커, 예를 들어 “##"를 사용하여 표시한 후, 번역이 완료되면 특정 마커로 표시된 단어들을 추출하여 정확한 단어로 일괄적으로 교정한다. 상기에서, 교정 모델의 학습의 대상이 되는 언어와 번역을 수행하는 언어의 경우, 출발어로서 교정 대상의 언어와 같은 언어를 사용한다. 번역 엔진(226)의 출발어에 대한 전처리 과정에서 인식하는 단어 유닛이 사전 기능 및 토큰 분리 모듈을 통해 미등록어를 표시할 수 있도록 하여 오류률이 높은 미등록어에 대한 교정이 가능하도록 한다.
선택적으로, 전처리부(221)는 특정 마커로 표시된 단어들을 추출한 후 빈도수를 파악하여 빈도수대로 정렬하고, 정렬된 단어들에 대해 정확한 단어로 교정한 후 일괄적으로 적용함으로써 다량의 소스 데이터에 대한 번역 엔진 기반의 선교정을 수행할 수 있다.
이와 같이, 교정 모델 학습 전에 교정 학습에 사용될 다량의 소스 데이터들에 대해 선교정을 수행하여 보다 정확한 소스 데이터가 실제 교정 모델 학습에서 사용될 수 있도록 함으로써 보다 정확한 교정 모델 학습이 수행될 수 있고, 이로 인해 언어 교정의 효율성이 향상될 수 있다.
이하, 본 발명의 다른 실시예에 따른 교정 모델 학습 문장의 선교정 방법에 대해 설명한다.
도 8은 본 발명의 다른 실시예에 따른 교정 모델 학습 문장의 선교정 방법의 흐름도이다.
도 8을 참조하면, 먼저 입력부(110)를 통해 언어 교정의 학습을 위해 사용되는 대용량 데이터 내의 비문 데이터인 다량의 소스 데이터가 입력되면(S300), 다량의 소스 데이터 내의 다량의 소스 문장에 대해 RBMT 엔진을 사용하여 번역을 수행한다(S310).
번역 중에 단어가 사전에 등록된 단어인지가 판단되고(S320), 만약 사전에 등록된 단어가 아닌 경우에는 "##"와 같은 마커로 해당 단어의 앞에 미등록 단어로 표시한다(S330).
도 9에 도시된 예를 참조하면, 영어 문장의 교정 모델 학습을 위해 “Sorry I don't anderstand."의 소스 문장이 입력되고(1), 이러한 소스 문장에 대해 한국어로의 RBMT 번역이 수행되는 중에, "anderstand"가 사전에 등록되지 않은 단어로 판단되어 이러한 미등록 단어 "anderstand" 앞에 마커 "##"가 표시되는 것을 알 수 있다(2).
이와 같이, 다량의 소스 문장에 대해 RBMT 번역이 수행되어 사전에 등록되지 않은 단어들에 대해 마커가 표시되면서 번역이 완료되면(S340), 마커가 표시된 단어를 추출하고(S350), 추출된 단어들의 빈도수를 파악한 후(S360), 파악된 빈도수 기반으로 단어들을 정렬한다(S370). 도 9에 도시된 예를 참조하면, 마커 “##"로 표시된 단어들을 추출하고(3), 추출된 단어들의 빈도수를 파악하여 빈도수 기반으로 정렬한다(4). 예를 들어, 내림차순의 빈도수 기반으로 정렬될 수 있다.
그 후, 빈도수 기반으로 정렬된 단어들에 대해 정확한 단어들을 사용하여 다량의 소스 문장에 대해 일괄적으로 교정을 수행(S380)함으로써 교정 모델 학습에 사용될 다량의 소스 문장에서 사전에 등록되지 않은 단어들에 대해 정확한 단어로의 선교정이 이루어질 수 있다.
도 9에 도시된 예를 다시 참조하면, 최대 빈도수의 단어 순으로 “studing", "messaged", "Pratice" 등이 정렬되어 있고, 이들 단어에 대해 정확한 단어인 "studying", "sent a message", "practice" 등으로 일괄 교정이 수행될 수 있다(5).
한편, 고유 명사와 같이 번역이나 교정시 그 의미가 원문의 의미와 다르게 적용되거나 또는 첫 문자를 대문자로 사용하여야 하는 등에 대해서 미리 정의된 형태의 교정 정보를 변수 형태로 저장하고 이를 런타임에서 처리할 수 있도록 하는 사용자 사전의 사용이 가능하다.
이하, 사용자 사전을 만들어 사용자가 필요한 값(단어)를 등록하고, 설정된 값으로 결과물이 도출되도록 하는 내용에 대해 설명한다.
도 10은 본 발명의 다른 실시예에 따른 언어 교정 시스템(300)의 개략적인 구성도이다.
도 10에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 언어 교정 시스템(300)은 입력부(310), 교정 모델 학습부(320), 교정 모델 저장부(330), 언어 교정부(340), 출력부(350) 및 사용자 사전(360)을 포함한다. 여기서, 입력부(310), 교정 모델 저장부(330) 및 출력부(350)는 도 1을 참조하여 설명한 입력부(110), 교정 모델 저장부(130) 및 출력부(150)와 동일하므로 이에 대한 설명은 생략하고, 그 구성이 상이한 교정 모델 학습부(320), 언어 교정부(340) 및 사용자 사전(360)에 대해서만 설명한다.
먼저, 사용자 사전(360)은 사용자가 특정 단어에 대해 미리 정의한 값(단어)을 저장하고 있다. 예를 들어, 고유 명사, “labor day” - “Labor DAY”, “memorial day” - “Memorial Day”, “african amerian history month” - “African Amerian History Month” 등과 같이, 원래의 의미와는 달라 언어 교정시 의도적으로 잘 안될 수 있는 단어(들)에 대해 사용자가 사용자 사전을 생성하여 사용할 수 있다. 이하에서, “단어”는 설명의 편의를 위해 “단어” 또는 “단어들”을 의미하는 것으로 가정한다.
따라서, 본 발명의 다른 실시예에서는 일부 단어에 대해 사용자에 의해 미리 사용자 사전(360)이 생성되어 있는 것으로 가정하여 설명한다.
교정 모델 학습부(320)는 입력부(310)를 통해 입력되는 데이터 중에서 언어 교정의 학습을 위해 사용되는 데이터, 즉 비문 데이터와 정문 데이터의 쌍으로 구성된 대량의 학습 데이터를 사용하여 언어 교정을 위한 기계학습을 수행하여 언어 교정용 학습 모델인 교정 모델을 생성한다.
특히, 본 발명의 다른 실시예에 따른 교정 모델 학습부(320)는 비문 데이터와 정문 데이터의 쌍으로 구성된 대량의 학습 데이터에서 사용자 사전(360)에 등록되어 있는 단어를 찾아서 사용자 사전 마커, 예를 들어 “UD_NOUN”으로 대체한 후, 기계학습을 수행하여 교정 모델을 생성한다. 여기서, 사용자 사전 마커 “UD_NOUN”은 그 전후에 사용자 사전 마커임을 인식할 수 있도록 다양한 형태의 특수 기호, 예를 들어 “<<”, “>>, “_” 등이 더 추가될 수 있다. 이러한 기계학습을 통해 사용자 사전 마커의 위치가 학습되어, 구체적으로는 문맥 정보가 학습될 수 있다. 이 때, 하나의 학습 데이터, 즉 한 문장 내에 포함된 서로 다른 여러 개의 단어가 사용자 사전(360)에 등록되어 있는 경우, 서로 구별이 되는 사용자 사전 마커를 각각 사용하여 대체한 후 사용자 사전 마커의 위치가 다르게 기계학습을 수행할 수 있다. 예를 들면, 한 문장 내에 3개의 서로 다른 단어가 포함되어 있고, 이 단어들이 사용자 사전(360)에 등록되어 있으면, 이 단어들을 각각 “UD_NOUN#1”, “UD_NOUN#2”, “UD_NOUN#3”를 사용하여 대체할 수 있다.
다음, 언어 교정부(340)는 입력부(310)를 통해 입력되는 대용량의 언어 교정 데이터, 즉 맞춤법 오류나 문법 오류의 교정 대상인 교정 대상 데이터에 대해 교정 모델 저장부(330)에 저장된 교정 모델을 사용하여 교정 대상 데이터에 대한 맞춤법/문법 교정을 수행하고, 교정이 완료된 교정 데이터를 출력부(350)로 출력한다.
특히, 본 발명의 다른 실시예에 따른 언어 교정부(340)는 교정 대상 데이터내에 사용자 사전에 등록된 단어가 있는 경우, 이들을 사용자 사전 마커로 대체한 후 교정 모델을 사용하여 맞춤법/문법 교정을 수행하고, 그 후의 결과에 포함되어 있는 사용자 사전 마커에 해당하는 단어에 대해 사용자 사전에 등록되어 있는 결과 값(단어)으로 대체함으로써 언어 교정을 완료할 수 있다. 이 때, 하나의 교정 대상 데이터, 즉 한 문장 내에 포함된 서로 다른 여러 개의 단어가 사용자 사전(360)에 등록되어 있는 경우, 서로 구별이 되는 사용자 사전 마커를 각각 사용하여 대체한 후 맞춤법/문법 교정을 수행하고, 그 후에 서로 다른 사용자 사전 마커에 대응되는 단어들을 사용자 사전(360)에서 찾아서 대체하여 교정을 완료할 수 있다. 예를 들어, 하나의 교정 대상 문장 내에 3개의 서로 다른 단어가 포함되어 있고, 이 단어들이 사용자 사전(360)에 등록되어 있으면, 이 단어들을 각각 “UD_NOUN#1”, “UD_NOUN#2”, “UD_NOUN#3”로 대체한 후, 교정을 수행하고, 교정이 완료된 후에, “UD_NOUN#1”, “UD_NOUN#2”, “UD_NOUN#3”에 대응되는 단어들에 대해 사용자 사전(360)에 등록되어 있는 단어들로 대체함으로써 교정이 완료될 수 있다.
상기한 바와 같은 본 발명의 다른 실시예에 따른 교정 모델 학습부(320) 및 언어 교정부(340)에 대해 구체적으로 설명한다.
도 11은 도 10에 도시된 교정 모델 학습부(320)의 구체적인 구성도이다.
도 11에 도시된 바와 같이, 교정 모델 학습부(320)는 전처리부(321), 학습 가공부(322), 교정 학습부(323), 후처리부(324) 및 교정 모델 출력부(325)를 포함한다. 여기서, 학습 가공부(322), 교정 학습부(323), 후처리부(324) 및 교정 모델 출력부(325)는 도 2를 참조하여 설명한 학습 가공부(122), 교정 학습부(123), 후처리부(124) 및 교정 모델 출력부(125)와 동일하므로 여기에서는 구체적인 설명을 생략하고, 구성이 상이한 전처리부(321)에 대해서만 설명한다.
전처리부(321)는 도 2를 참조하여 설명한 전처리부(121)의 기능을 수행함은 물론, 이에 더하여, 입력부(110)를 통해 언어 교정의 학습을 위해 사용되는 데이터, 즉 비문 데이터(소스 문장을 뜻함)와 정문 데이터(타겟 문장을 뜻함)의 쌍으로 구성된 학습 데이터가 입력되면, 사용자 사전(360)에 등록되어 있는 단어가 학습 데이터에 포함되어 있는지를 확인하고, 만약 포함되어 있으면 포함된 단어를 사용자 사전 마커, 예를 들어 “<<UD_NOUN>>”으로 대체한다.
따라서, 전처리부(321) 이후의 학습 가공부(322), 교정 학습부(323), 후처리부(324) 및 교정 모델 출력부(325)를 통해 기계학습이 수행되어 “<<UD_NOUN>>”으로 대체되어 사용자 사전 마커의 위치가 학습될 수 있다.
도 12는 도 10에 도시된 언어 교정부(340)의 구체적인 구성도이다.
도 12에 도시된 바와 같이, 언어 교정부(340)는 전처리부(341), 오류 문장 검출부(342), 맞춤법 교정부(343), 문법 수행부(344), 언어 모델링부(345) 및 후처리부(346)를 포함한다. 여기서, 오류 문장 검출부(342), 맞춤법 교정부(343), 문법 교정부(344) 및 언어 모델링부(346)는 도 3을 참조하여 설명한 오류 문장 검출부(142), 맞춤법 교정부(143), 문법 교정부(144) 및 언어 모델링부(145)와 동일하므로 여기에서는 구체적인 설명을 생략하고, 구성이 상이한 전처리부(341) 및 후처리부(346)에 대해서만 설명한다.
전처리부(341)는 입력부(310)를 통해 입력되는 언어 교정을 위한 교정 대상 데이터 내에 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있는지를 확인하고, 만약 포함되어 있으면 포함된 단어를 사용자 사전 마커, 예를 들어 “<<UD_NOUN>>”으로 대체한다.
후처리부(346)는 언어 모델링부(345)에 의해 언어 모델링이 수행된 교정된 데이터 내에 사용자 사전 마커, 예를 들어 “<<UD_NOUN>>”가 포함되어 있으면, 사용자 사전 마커에 대응되는 소스 문장, 즉 비문 데이터에서의 단어에 대해 사용자 사전(360)에 등록되어 있는 값(단어)으로 대체한다.
이와 같이, 사용자 사전(360)에 미리 등록되어 있는 단어들에 대해서는 전처리부(341)에서 미리 사용자 사전 마커로 대체되어 있으므로, 사용자 사전 마커에 대한 문맥 정보가 학습되어 있는 교정 모델을 사용하여 언어 교정시, 즉 맞춤법 교정 및 문법 교정시 사용자 사전 마커에 대해서는 어떠한 교정 없이 후처리부(346)로 입력될 수 있으므로, 후처리부(346)에서 사용자 사전(360)을 사용하여 해당 단어들에 대한 대체가 가능해진다.
따라서, 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있는 소스 문장에 대해 사용자 사전(360)을 기반으로 하는 교정이 성공적으로 수행될 수 있다.
이하, 도면을 참조하여 본 발명의 다른 실시예에 따른 언어 교정 모델 학습 방법에 대해 설명한다. 이러한 언어 교정 모델 학습 방법은 전술한 도 10 내지 도 12를 참조하여 설명한 언어 교정 시스템(300)에 의해 수행될 수 있다.
도 13은 본 발명의 다른 실시예에 따른 언어 교정 모델 학습 방법의 흐름도이다. 여기서, 도 13에 도시된 본 발명의 다른 실시예에 따른 언어 교정 모델 학습 방법은 도 10 내지 도 12를 참조하여 설명한 본 발명의 다른 실시예에 따른 언어 교정 시스템(300)에 의해 수행될 수 있다.
설명 전에, 사용자가 특정 단어에 대해 미리 정의한 값(단어)을 저장하고 있는 사용자 사전(360)을 미리 구성하여 놓은 것으로 가정한다.
도 13을 참조하면, 먼저, 언어 교정의 학습을 위해 사용되는 데이터, 즉 비문 데이터(소스 문장을 뜻함)와 정문 데이터(타겟 문장을 뜻함)의 쌍으로 구성된 학습 데이터가 입력되면(S400), 소스 문장 및 타겟 문장 내에 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있는지가 판단된다(S410).
만약 소스 문장 및 타겟 문장 내에 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있는 것으로 판단되면, 사용자 사전(360)에 등록되어 있는 단어와 일치하는 단어를 사용자 사전 마커로 대체한다(S420). 예를 들어, 사용자 사전(360) 내에 <“memorial day” - “Memorial Day”>가 등록되어 있고, 언어 교정의 학습을 위해 입력되는 소스 문장이 “memorial day is observed on the last Monday”인 경우, 소스 문장 내에 있는 단어 “memorial day”가 사용자 사전(360)에 등록되어 있으므로, 이단어가 사용자 사전 마커, 예를 들어 “<<UD_NOUN>>”로 대체되어, 소스 문장이 “<<UD_NOUN>> is observed on the last Monday”와 같이 변경된다.
그러나, 소스 문장 및 타겟 문장 내에 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있지 않으면 소스 문장 및 타겟 문장은 변경되지 않고 입력된 그대로 사용될 수 있다.
그 후, 변경되었거나 또는 변경되지 않은 소스 문장과 타겟 문장인 언어 교정용 학습 데이터에 대해 기계학습을 수행하여 교정 모델을 생성한다(S430). 이러한 기계학습을 통해 사용자 사전 마커의 위치가 학습될 수 있다. 또한, 기계학습을 수행하는 구체적인 내용에 대해서는 도 1 내지 도 9를 참조하여 설명한 실시예를 참조한다.
다음, 본 발명의 다른 실시예에 따른 언어 교정 방법에 대해 설명한다. 이러한 언어 교정 방법은 전술한 도 10 내지 도 12를 참조하여 설명한 언어 교정 시스템(300)에 의해 수행될 수 있다.
도 14는 본 발명의 다른 실시예에 따른 언어 교정 방법의 흐름도이다. 여기서, 도 14에 도시된 본 발명의 다른 실시예에 따른 언어 교정 모델 학습 방법은 도 10 내지 도 12를 참조하여 설명한 본 발명의 다른 실시예에 따른 언어 교정 시스템(300)에 의해 수행될 수 있다.
설명 전에, 사용자가 특정 단어에 대해 미리 정의한 값(단어)을 저장하고 있는 사용자 사전(360)을 미리 구성하여 놓은 것으로 가정한다.
언어 교정 데이터, 즉 맞춤법 오류나 문법 오류의 교정 대상인 교정 대상 데이터가 입력되면(S500), 교정 대상 데이터 내에 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있는지를 확인한다(S510).
만약 교정 대상 데이터 내에 사용자 사전(360)에 등록되어 있는 단어가 포함되어 있는 것으로 확인되면, 해당 단어를 사용자 사전 마커, 예를 들어 “<<UD_NOUN>>”으로 대체한다(S520). 전술한 도 13에서의 예를 참조하면, 사용자 사전(360) 내에 <“memorial day” - “Memorial Day”>가 등록되어 있고, “memorial day is observed on the last Monday”인 교정 대상 문장이 입력되면, 해당 문장 내에 “memorial day”가 사용자 사전(360)에 등록되어 있는 단어이므로 해당 단어가 사용자 사전 마커, 즉 “<<UD_NOUN>>”로 대체되어, 결과적으로 교정 대상 문장은 “<<UD_NOUN>> is observed on the last Monday”이 된다.
그 후, 도 10 내지 도 13에서 설명한 바와 같은 언어 교정 학습을 통해 생성된 교정 모델을 사용하여 교정 대상 데이터에 대한 맞춤법/문법 교정을 수행하고(S530), 교정된 결과에 대해 언어 모델링을 수행한다(S540).
그 후, 언어 모델링 결과의 문장 내에 사용자 사전 마커, 즉 “<<UD_NOUN>>”가 있는지를 확인하고(S550), 만약 사용자 사전 마커가 있으면 사용자 사전 마커에 대응되는 소스 문장의 단어에 대해 사용자 사전(360)에 등록되어 있는 단어로 대체한다(S560). 상기 예를 참조하면, 언어 모델링 결과 출력되는 문장 “<<UD_NOUN>> is observed on the last Monday” 내에 사용자 사전 마커 “<<UD_NOUN>>”가 포함되어 있으므로, 사용자 사전 마커 “<<UD_NOUN>>”에 해당하는 단어, 즉 “memorial day”에 대해 사용자 사전(360)에 등록되어 있는 단어, 즉 “Memorial Day”가 대체되어, 최종적으로 교정 후의 문장인 “Memorial Day is observed on the last Monday”가 완성된다.
그 후, 교정이 완료된 교정 문장을 출력한다(S570).
한편, 상기 단계(S550)에서 언어 모델링 결과 출력되는 문장 내에 사용자 사전 마커가 포함되어 있지 않으면 바로 교정 문장을 출력하는 단계(S570)를 수행한다.
이와 같이, 본 발명의 실시예에 따르면, 사용자에 의해 미리 정의된 형태의 교정 정보를 변수 형태로 저장하고 이를 런타임에서 처리함으로써, 교정 모델에 별도로 추가하거나 변경하지 않고도 쉽게 언어 교정이 수행될 수 있다.
따라서, 교정이 어렵거나 의도적으로 잘 안되는 부분에 대해서도 사용자 사전에 등록하여 처리함으로써 언어 교정의 효율을 향상시킬 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (22)

  1. 기계학습 기반의 언어 교정 시스템으로서,
    비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합을 기계학습하여 교정 대상의 비문 데이터에 대응되는 정문 데이터를 검출하기 위한 교정 모델을 생성하는 교정 모델 학습부; 및
    교정 대상의 문장에 대해 상기 교정 모델 학습부에 의해 생성된 교정 모델을 사용하여 대응되는 교정 문장을 생성하고, 생성되는 교정 문장과 함께 교정된 부분을 표시하여 출력하는 언어 교정부
    를 포함하는 언어 교정 시스템.
  2. 제1항에 있어서,
    상기 교정 모델 학습부는,
    상기 비문 데이터에 대해 언어 감지를 수행하여 단일어 문장으로의 필터링 작업, 데이터의 정제 및 정규화 작업을 수행하는 전처리부;
    상기 전처리부에 필터링된 복수의 데이터 집합에 대해, 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장 작업 및 기계학습용 병렬 데이터 구축 작업을 수행하는 학습 가공부;
    상기 학습 가공부에 의해 가공된 복수의 데이터 집합에 대해 지도 학습 기반의 기계학습을 수행하여 대응되는 상기 교정 모델을 생성하는 교정 학습부; 및
    상기 학습 가공부에서의 지도 학습 데이터 레이블링 작업시 추가된 태그 부가 정보를 통해 오류 및 오류 카테고리 정보를 출력한 후 해당 태그 부가 정보를 제거하는 제1 후처리부
    를 포함하는, 언어 교정 시스템.
  3. 제2항에 있어서,
    상기 학습 가공부에서의 기계학습 데이터 확장 작업은,
    상기 비문 데이터에 포함된 문자를 타이핑하기 위한 키보드의 정위치를 기준으로 주변의 오타 문자로 형성되는 글자를 사용한 데이터 확장 작업
    을 포함하는, 언어 교정 시스템.
  4. 제2항에 있어서,
    상기 학습 가공부에서의 기계학습용 병렬 데이터 구축 작업은,
    교정이 불필요한 비문 문장과 이에 대응되는 정문 문장을 쌍으로 하는 병렬 코퍼스로 병렬 데이터를 구축하는 작업
    을 포함하는, 언어 교정 시스템.
  5. 제2항에 있어서,
    상기 교정 학습부는 상기 지도 학습 기반의 기계학습시 학습 결과에 대한 오류 출현 확률값을 비문 데이터와 정문 데이터와의 어텐션(attention) 가중치 정보로서 제공하는,
    언어 교정 시스템.
  6. 제2항에 있어서,
    입력 문장에 대해 미리 설정된 언어로 번역을 수행하는 번역 엔진을 더 포함하고,
    상기 전처리부는,
    상기 복수의 데이터 집합 내의 다량의 비문 데이터에 대해 상기 번역 엔진을 통한 번역을 수행하면서 상기 번역 엔진이 사용하는 사전에 등록되지 않은 단어에 대해 미리 설정된 마커를 사용하여 표시하고,
    상기 다량의 비문 데이터에 대한 번역 완료 후, 상기 미리 설정된 마커에 의해 표시된 단어들을 추출하여 오류가 없는 단어로 일괄적으로 교정하는 선(先)교정을 수행하는,
    언어 교정 시스템.
  7. 제6항에 있어서,
    상기 전처리부는,
    상기 미리 설정된 마커에 의해 표시된 단어들을 추출하면서 빈도수를 파악하고, 파악된 빈도수 기반으로 상기 미리 설정된 마커에 의해 표시된 단어들을 정렬한 후 오류가 없는 단어로 일괄적으로 교정하는,
    언어 교정 시스템.
  8. 제1항에 있어서,
    상기 언어 교정부는,
    교정 대상의 문장에 대해, 문장 단위의 문장 분리를 수행하고, 분리된 문장을 토큰화하는 전처리를 수행하는 전처리부;
    상기 전처리부에 의해 전처리가 수행된 교정 대상의 문장에 대해 바이너리 분류기를 사용하여 오류 문장과 비오류 문장을 구분하는 오류 문장 검출부;
    상기 오류 문장 검출부에 의해 오류 문장으로 구분되는 경우, 상기 교정 대상의 문장에 대해 철자 오류 교정을 수행하는 맞춤법 교정부;
    상기 맞춤법 교정부에 의해 철자 오류 교정된 문장에 대해 상기 교정 모델을 사용하여 문법 교정을 위한 언어 교정을 수행하여 교정 문장을 생성하는 문법 교정부; 및
    상기 문법 교정부에 의한 언어 교정시 교정된 부분을 표시하는 후처리를 수행하여 상기 교정 문장과 함께 출력하는 후처리부
    를 포함하는, 언어 교정 시스템.
  9. 제8항에 있어서,
    상기 오류 문장 검출부는 상기 교정 대상의 문장 구분시 파악되는 신뢰도 정보에 따라 상기 오류 문장과 상기 비오류 문장을 구분하는,
    언어 교정 시스템.
  10. 제8항에 있어서,
    상기 맞춤법 교정부는 철자 오류 교정시 철자 오류 출현 확률값을 신뢰도 정보로서 제공하고,
    상기 문법 교정부는 상기 철자 오류 교정된 문장에 대한 언어 교정의 어텐션 가중치를 통한 확률값을 신뢰도 정보로서 제공하며,
    상기 후처리부는 상기 맞춤법 교정부에서 제공되는 신뢰도 정보와 상기 문법 교정부에서 제공되는 신뢰도 정보를 조합하여 상기 교정 대상의 문장에 대한 언어 교정의 최종 신뢰도 정보로서 제공하는,
    언어 교정 시스템.
  11. 제10항에 있어서,
    상기 문법 교정부와 상기 후처리부 사이에,
    상기 문법 교정부에서 생성되는 교정 문장에 대해 미리 설정된 추천 문장을 사용하여 언어 모델링을 수행하는 언어 모델링부
    를 더 포함하고,
    상기 언어 모델링부는 언어 모델링시 언어 모델의 퍼플릭시티(perplexity)와 상호 정보(Mutual Information, MI) 값의 조합으로 상기 교정 문장의 신뢰도 정보를 제공하며,
    상기 후처리부는 상기 최종 신뢰도 제공시 상기 언어 모델링부에서 제공되는 신뢰도 정보도 함께 조합하는,
    언어 교정 시스템.
  12. 제1항에 있어서,
    사용자에 의해 등록된 소스 단어와 이에 대응되는 타겟 단어를 포함하는 사용자 사전을 더 포함하고 - 상기 소스 단어와 타겟 단어는 각각 적어도 하나의 단어임 -,
    상기 교정 모델 학습부는 상기 복수의 데이터 집합 내에 상기 사용자 사전에 등록된 단어가 포함되어 있는 경우 해당 단어에 대해 미리 설정된 사용자 사전 마커로 대체하여 기계학습을 수행하고,
    상기 언어 교정부는 교정 대상의 문장에 상기 사용자 사전에 포함된 단어가 있는 경우 상기 사용자 사전 마커로 대체하여 상기 교정 대상의 문장에 대한 언어 교정을 수행하고, 교정된 문장 내에 상기 사용자 사전 마커가 포함되어 있는 경우 상기 사용자 사전 마커를 상기 교정 대상의 문장에서 대응되는 단어에 대응하여 상기 사용자 사전에 등록되어 있는 단어로 대체하는,
    언어 교정 시스템.
  13. 언어 교정 시스템이 기계 학습 기반으로 언어 교정 모델을 학습하는 방법으로서,
    비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합에 대해, 지도 학습 데이터 레이블링 작업, 기계학습 데이터 확장 작업 및 기계학습용 병렬 데이터 구축 작업을 포함하는 학습 가공을 수행하는 단계; 및
    상기 학습 가공이 수행된 복수의 데이터 집합에 대해 지도 학습 기반의 기계학습을 수행하여 대응되는 교정 모델을 생성하는 단계
    를 포함하는 언어 교정 모델 학습 방법.
  14. 제13항에 있어서,
    상기 기계학습 데이터 확장 작업은,
    상기 비문 데이터에 포함된 문자를 타이핑하기 위한 키보드의 정위치를 기준으로 주변의 오타 문자로 형성되는 글자를 사용한 데이터 확장 작업
    을 포함하고,
    상기 기계학습용 병렬 데이터 구축 작업은,
    교정이 불필요한 비문 문장과 이에 대응되는 정문 문장을 쌍으로 하는 병렬 코퍼스로 병렬 데이터를 구축하는 작업
    을 포함하는, 언어 교정 모델 학습 방법.
  15. 제13항에 있어서,
    상기 학습 가공을 수행하는 단계 전에,
    상기 복수의 데이터 집합에 대해 언어 감지를 수행하여 단일어 문장으로의 필터링 작업, 데이터의 정제 및 정규화 작업을 포함하는 전처리를 수행하는 단계
    를 더 포함하고,
    상기 전처리를 수행하는 단계는,
    상기 복수의 데이터 집합 내의 다량의 비문 데이터에 대해 번역 엔진을 통한 번역을 수행하는 단계;
    상기 번역 엔진이 사용하는 사전에 등록되지 않은 단어에 대해 미리 설정된 마커를 사용하여 표시하는 단계;
    상기 다량의 비문 데이터에 대한 번역 완료 후, 상기 미리 설정된 마커에 의해 표시된 단어들을 추출하는 단계; 및
    추출된 단어들에 대해 오류가 없는 단어로 일괄적으로 교정하는 단계
    를 포함하는, 언어 교정 모델 학습 방법.
  16. 제15항에 있어서,
    상기 일괄적으로 교정하는 단계는,
    상기 미리 설정된 마커에 의해 표시된 단어들을 추출하는 단계;
    추출된 단어들의 빈도수를 파악하는 단계;
    파악된 빈도수 기반으로 상기 미리 설정된 마커에 의해 표시된 단어들을 정렬하는 단계; 및
    정렬된 단어들에 대해 오류가 없는 단어로 일괄적으로 교정하는 단계
    를 포함하는, 언어 교정 모델 학습 방법.
  17. 제13항에 있어서,
    상기 언어 교정 시스템이,
    사용자에 의해 등록된 소스 단어와 이에 대응되는 타겟 단어를 포함하는 사용자 사전을 더 포함하고 - 상기 소스 단어와 타겟 단어는 각각 적어도 하나의 단어임 -,
    상기 교정 모델을 생성하는 단계는,
    상기 복수의 데이터 집합 내에 상기 사용자 사전에 등록된 단어가 포함되어 있는 경우 해당 단어에 대해 미리 설정된 사용자 사전 마커로 대체하여 기계학습을 수행하여 상기 교정 모델을 생성하는,
    언어 교정 모델 학습 방법.
  18. 언어 교정 시스템이 기계 학습 기반으로 언어 교정하는 방법으로서,
    언어 교정 대상의 문장에 대해 철자 오류 교정을 수행하는 단계; 및
    철자 오류 교정된 문장에 대해 교정 모델을 사용하여 문법 교정을 수행하여 교정 문장을 생성하는 단계
    를 포함하고,
    상기 교정 모델은 비문(非文) 데이터와 상기 비문 데이터에 각각 대응되는 오류가 없는 정문(正文) 데이터로 구성된 복수의 데이터 집합에 대해 지도 학습 기반의 기계학습을 수행하여 생성된 것인,
    언어 교정 방법.
  19. 제18항에 있어서,
    상기 철자 오류 교정을 수행하는 단계 전에,
    상기 언어 교정 대상의 문장에 대해, 문장 단위의 문장 분리를 수행하고, 분리된 문장을 토큰화하는 전처리를 수행하는 단계; 및
    상기 전처리가 수행된 언어 교정 대상의 문장에 대해 바이너리 분류기를 사용하여 오류 문장과 비오류 문장을 구분하는 단계
    를 더 포함하고,
    상기 오류 문장과 비오류 문장을 구분하는 단계에서, 상기 언어 교정 대상의 문장이 오류 문장으로 구분되는 경우 상기 철자 오류 교정을 수행하는 단계가 수행되는,
    언어 교정 방법.
  20. 제19항에 있어서,
    상기 오류 문장과 비오류 문장을 구분하는 단계에서,
    상기 언어 교정 대상의 문장 구분시 파악되는 신뢰도 정보에 따라 상기 오류 문장과 상기 비오류 문장을 구분하는,
    언어 교정 방법.
  21. 제18항에 있어서,
    상기 교정 문장을 생성하는 단계 후에,
    상기 교정 문장에 대해 미리 설정된 추천 문장을 사용하여 언어 모델링을 수행하는 단계; 및
    상기 교정 문장 생성시 교정된 부분을 표시하는 후처리를 수행하여 상기 교정 문장과 함께 출력하는 단계
    를 더 포함하는, 언어 교정 방법.
  22. 제18항에 있어서,
    상기 언어 교정 시스템이,
    사용자에 의해 등록된 소스 단어와 이에 대응되는 타겟 단어를 포함하는 사용자 사전을 더 포함하고 - 상기 소스 단어와 타겟 단어는 각각 적어도 하나의 단어임 -,
    상기 철자 오류 교정을 수행하는 단계 전에,
    상기 언어 교정 대상의 문장 내에 상기 사용자 사전에 포함되어 있는 단어가 포함되어 있는지를 판단하는 단계; 및
    상기 언어 교정 대상의 문장 내에 상기 사용자 사전에 포함되어 있는 단어가 포함되어 있는 경우, 상기 사용자 사전과 상기 언어 교정 대상의 문장에 공통적으로 포함되어 있는 단어를 미리 설정된 사용자 사전 마커로 대체하는 단계
    를 더 포함하고,
    상기 교정 문장을 생성하는 단계 후에,
    생성된 교정 문장 내에 상기 사용자 사전 마커가 포함되어 있는지를 확인하는 단계;
    상기 생성된 교정 문장 내에 상기 사용자 사전 마커가 포함되어 있는 경우, 포함된 사용자 사전 마커의 위치에 대응되는 상기 언어 교정 대상의 문장 내 단어에 대응되는 상기 사용자 사전의 단어로 대체하여 최종의 교정 문장을 생성하는 단계
    를 더 포함하는, 언어 교정 방법.
KR1020190030688A 2018-12-31 2019-03-18 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법 Active KR102199835B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SG11202106989PA SG11202106989PA (en) 2018-12-31 2019-12-24 Language correction system, method therefor, and language correction model learning method of system
US17/311,870 US20220019737A1 (en) 2018-12-31 2019-12-24 Language correction system, method therefor, and language correction model learning method of system
PCT/KR2019/018384 WO2020141787A1 (ko) 2018-12-31 2019-12-24 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법
CN201980078320.XA CN113168498A (zh) 2018-12-31 2019-12-24 语言校正系统及其方法以及系统中的语言校正模型学习方法
US18/418,137 US20240160839A1 (en) 2018-12-31 2024-01-19 Language correction system, method therefor, and language correction model learning method of system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180174248 2018-12-31
KR1020180174248 2018-12-31

Publications (2)

Publication Number Publication Date
KR20200083111A true KR20200083111A (ko) 2020-07-08
KR102199835B1 KR102199835B1 (ko) 2021-01-07

Family

ID=71600907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190030688A Active KR102199835B1 (ko) 2018-12-31 2019-03-18 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법

Country Status (3)

Country Link
KR (1) KR102199835B1 (ko)
CN (1) CN113168498A (ko)
SG (1) SG11202106989PA (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251554B1 (ko) * 2020-09-16 2021-05-13 주식회사 렉스퍼 지문의 난이도 조정을 통하여 교육용 외국어 지문을 생성하는 방법
KR20210059540A (ko) * 2019-11-15 2021-05-25 고려대학교 산학협력단 한국어 맞춤법 교정장치 및 방법
KR102271810B1 (ko) * 2020-11-23 2021-07-02 주식회사 엠로 기계 학습을 통한 학습 모델을 사용한 정보 제공 방법 및 장치
CN113889094A (zh) * 2021-11-09 2022-01-04 上海喜马拉雅科技有限公司 一种语音识别模型的语料扩充方法、装置、电子设备及计算机可读存储介质
KR20220021836A (ko) 2020-08-14 2022-02-22 부산대학교 산학협력단 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법
KR102386415B1 (ko) * 2020-11-10 2022-04-15 이희영 임상시험 동의서 작성 장치 및 방법
KR102388599B1 (ko) * 2021-08-24 2022-04-21 (주)제로엑스플로우 텍스트 및 이미지를 활용한 문장 교정 장치 및 방법
KR102395811B1 (ko) * 2021-11-24 2022-05-09 주식회사 엘솔루 기계번역 모델을 위한 한문고서 말뭉치 증강방법
KR20220067371A (ko) * 2020-11-17 2022-05-24 넷마블 주식회사 번역 방법
JP2022177864A (ja) * 2021-05-19 2022-12-02 株式会社ミラセンシズ 検査装置、学習装置、検査方法、学習器の生産方法、およびプログラム
KR20230087674A (ko) * 2021-12-09 2023-06-19 동국대학교 산학협력단 기계학습 기반의 문서 수정명령 처리 장치 및 방법
KR20230169608A (ko) * 2022-06-09 2023-12-18 김준수 컨텍스트 기반의 텍스트 오류 교정 방법 및 시스템
KR20240077599A (ko) * 2022-11-24 2024-06-03 주식회사 국민은행 인공지능을 활용한 고객통지 메시지 처리 시스템
WO2025100578A1 (ko) * 2023-11-07 2025-05-15 김준수 컨텍스트 기반의 텍스트 오류 교정 방법 및 시스템

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250080665A (ko) 2023-11-28 2025-06-05 동의대학교 산학협력단 지도식 미세조정을 이용한 철자 오류 교정을 위한 학습 프롬프트 수행 방법 및 장치
CN117454906B (zh) * 2023-12-22 2024-05-24 创云融达信息技术(天津)股份有限公司 一种基于自然语言处理和机器学习的文字校对方法与系统
KR20250137854A (ko) 2024-03-12 2025-09-19 동의대학교 산학협력단 지도식 미세조정을 이용한 철자 오류 교정 방법 및 장치
KR20250177531A (ko) 2024-06-17 2025-12-24 (주)시정 실시간 영상에 대한 llm 기반의 자동 콘텐츠 생성 방법 및 시스템
KR102781059B1 (ko) 2024-07-25 2025-03-12 강범구 인공지능 기반의 실시간 내면 언어 교정 서비스 제공 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509727B1 (ko) * 2013-10-02 2015-04-07 주식회사 시스트란인터내셔널 자율학습 정렬 기반의 정렬 코퍼스 생성 장치 및 그 방법과, 정렬 코퍼스를 사용한 파괴 표현 형태소 분석 장치 및 그 형태소 분석 방법
KR20170014262A (ko) * 2015-07-29 2017-02-08 서재택 외국어 문장을 올바른 문장으로 보정하는 작문 서비스 방법 및 장치
KR101813683B1 (ko) * 2016-08-17 2017-12-29 창원대학교 산학협력단 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182350A (ja) * 1993-12-22 1995-07-21 Sharp Corp 欧文文書処理装置
US6292772B1 (en) * 1998-12-01 2001-09-18 Justsystem Corporation Method for identifying the language of individual words
US7865358B2 (en) * 2000-06-26 2011-01-04 Oracle International Corporation Multi-user functionality for converting data from a first form to a second form
CN101031913A (zh) * 2004-09-30 2007-09-05 皇家飞利浦电子股份有限公司 自动文本校正
JP2010055235A (ja) * 2008-08-27 2010-03-11 Fujitsu Ltd 翻訳支援プログラム、及び該システム
CN102999483B (zh) * 2011-09-16 2016-04-27 北京百度网讯科技有限公司 一种文本矫正的方法和装置
US9779080B2 (en) * 2012-07-09 2017-10-03 International Business Machines Corporation Text auto-correction via N-grams
CN103365838B (zh) * 2013-07-24 2016-04-20 桂林电子科技大学 基于多元特征的英语作文语法错误自动纠正方法
CN104102630B (zh) * 2014-07-16 2017-07-07 复旦大学 一种针对中文社交网络中中英文混合文本的规范方法
CN106610930B (zh) * 2015-10-22 2019-09-03 科大讯飞股份有限公司 外语写作自动纠错方法及系统
US11727198B2 (en) * 2016-02-01 2023-08-15 Microsoft Technology Licensing, Llc Enterprise writing assistance
US10193833B2 (en) * 2016-03-03 2019-01-29 Oath Inc. Electronic message composition support method and apparatus
KR102637338B1 (ko) * 2017-01-26 2024-02-16 삼성전자주식회사 번역 보정 방법 및 장치와 번역 시스템
CN107357775A (zh) * 2017-06-05 2017-11-17 百度在线网络技术(北京)有限公司 基于人工智能的循环神经网络的文本纠错方法及装置
CN107293296B (zh) * 2017-06-28 2020-11-20 百度在线网络技术(北京)有限公司 语音识别结果纠正方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509727B1 (ko) * 2013-10-02 2015-04-07 주식회사 시스트란인터내셔널 자율학습 정렬 기반의 정렬 코퍼스 생성 장치 및 그 방법과, 정렬 코퍼스를 사용한 파괴 표현 형태소 분석 장치 및 그 형태소 분석 방법
KR20170014262A (ko) * 2015-07-29 2017-02-08 서재택 외국어 문장을 올바른 문장으로 보정하는 작문 서비스 방법 및 장치
KR101813683B1 (ko) * 2016-08-17 2017-12-29 창원대학교 산학협력단 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
D.Nguyen et al., Ripple Down Rules for Question Answering, Journal of Semantic Web, IOS Press, 2015 *
Tae-ho Park et al., Automatic Correction of Errors in Annotated Corpus Using Kernel Ripple-Down Rules , Journal of KIISEv.43 no.6,pp. 636 - 644, 2016 *
김중한, 개체명 부착 말뭉치에서 자동 오류 수정 , 창원대 석사논문 (2015) *
최명길 외, 한국어 품사 부착 말뭉치의 오류 검출 및 수정, 한국마린엔지니어링학회지 v.37 no.2,pp. 227 - 235, 2013 *
홍진표 외, 품사 태거와 빈도 정보를 활용한 세종 형태 분석 말뭉치 오류 수정, 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 v.40 no.7, 2013년, pp.417 - 428 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210059540A (ko) * 2019-11-15 2021-05-25 고려대학교 산학협력단 한국어 맞춤법 교정장치 및 방법
KR20220021836A (ko) 2020-08-14 2022-02-22 부산대학교 산학협력단 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법
WO2022060060A1 (ko) * 2020-09-16 2022-03-24 주식회사 렉스퍼 지문의 난이도 조정을 통하여 교육용 외국어 지문을 생성하는 방법, 그 컴퓨터 프로그램 및 그 장치
KR102251554B1 (ko) * 2020-09-16 2021-05-13 주식회사 렉스퍼 지문의 난이도 조정을 통하여 교육용 외국어 지문을 생성하는 방법
KR102386415B1 (ko) * 2020-11-10 2022-04-15 이희영 임상시험 동의서 작성 장치 및 방법
KR20220067371A (ko) * 2020-11-17 2022-05-24 넷마블 주식회사 번역 방법
KR20220130659A (ko) * 2020-11-17 2022-09-27 넷마블 주식회사 번역 방법
KR102271810B1 (ko) * 2020-11-23 2021-07-02 주식회사 엠로 기계 학습을 통한 학습 모델을 사용한 정보 제공 방법 및 장치
US12026764B2 (en) 2020-11-23 2024-07-02 Emro Co., Ltd. Method and apparatus for providing information using trained model based on machine learning
JP7429974B2 (ja) 2021-05-19 2024-02-09 株式会社ミラセンシズ 検査装置、学習装置、検査方法、学習器の生産方法、およびプログラム
JP2022177864A (ja) * 2021-05-19 2022-12-02 株式会社ミラセンシズ 検査装置、学習装置、検査方法、学習器の生産方法、およびプログラム
KR102388599B1 (ko) * 2021-08-24 2022-04-21 (주)제로엑스플로우 텍스트 및 이미지를 활용한 문장 교정 장치 및 방법
CN113889094A (zh) * 2021-11-09 2022-01-04 上海喜马拉雅科技有限公司 一种语音识别模型的语料扩充方法、装置、电子设备及计算机可读存储介质
KR102395811B1 (ko) * 2021-11-24 2022-05-09 주식회사 엘솔루 기계번역 모델을 위한 한문고서 말뭉치 증강방법
KR20230087674A (ko) * 2021-12-09 2023-06-19 동국대학교 산학협력단 기계학습 기반의 문서 수정명령 처리 장치 및 방법
KR20230169608A (ko) * 2022-06-09 2023-12-18 김준수 컨텍스트 기반의 텍스트 오류 교정 방법 및 시스템
KR20240077599A (ko) * 2022-11-24 2024-06-03 주식회사 국민은행 인공지능을 활용한 고객통지 메시지 처리 시스템
WO2025100578A1 (ko) * 2023-11-07 2025-05-15 김준수 컨텍스트 기반의 텍스트 오류 교정 방법 및 시스템

Also Published As

Publication number Publication date
SG11202106989PA (en) 2021-08-30
KR102199835B1 (ko) 2021-01-07
CN113168498A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
KR102199835B1 (ko) 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법
US11593557B2 (en) Domain-specific grammar correction system, server and method for academic text
CN110489760A (zh) 基于深度神经网络文本自动校对方法及装置
US20220019737A1 (en) Language correction system, method therefor, and language correction model learning method of system
WO2022267353A1 (zh) 文本纠错的方法、装置、电子设备及存储介质
KR20230061001A (ko) 문서 교정 장치 및 방법
CN110147546B (zh) 一种英语口语的语法校正方法及装置
JP6626917B2 (ja) 英語の音節計算法に基づいた可読性評価方法及びシステム
CN110705262A (zh) 一种改进的应用于医技检查报告的智能纠错方法
Cissé et al. Automatic spell checker and correction for under-represented spoken languages: Case study on Wolof
Kaur et al. Hybrid approach for spell checker and grammar checker for Punjabi
US20240160839A1 (en) Language correction system, method therefor, and language correction model learning method of system
Masanti et al. Novel benchmark data set for automatic error detection and correction
Dwitya et al. Development of detection and correction of errors in spelling and compound words using long short-term memory
Panchal et al. NLP‐Based Spellchecker and Grammar Checker for Indic Languages
Goonawardena et al. Automated spelling checker and grammatical error detection and correction model for sinhala language
BE1022627B1 (nl) Methode en apparaat voor het automatisch genereren van feedback
Duran et al. A normalizer for ugc in brazilian portuguese
Mekki et al. COTA 2.0: An automatic corrector of Tunisian Arabic social media texts
Suzuki et al. Error correction of Japanese character-recognition in answers to writing-type questions using t5
Asahiah et al. Diacritic-aware Yorùbá spell checker
Savci et al. TurkishLex: Development of a Context-Aware Spell Checker for Detecting and Correcting Spelling Errors in Turkish Texts
KR20230129305A (ko) 중국어 문자를 포함하는 텍스트 조각을 분석하기 위한 방법 및 시스템
Florea et al. Improving writing for Romanian language
Sodhar et al. Exploration of Sindhi corpus through statistical analysis on the basis of reality

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R15-X000 Change to inventor requested

St.27 status event code: A-3-3-R10-R15-oth-X000

R16-X000 Change to inventor recorded

St.27 status event code: A-3-3-R10-R16-oth-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 6