KR102430918B1 - 한국어 맞춤법 교정장치 및 방법 - Google Patents

한국어 맞춤법 교정장치 및 방법 Download PDF

Info

Publication number
KR102430918B1
KR102430918B1 KR1020190147120A KR20190147120A KR102430918B1 KR 102430918 B1 KR102430918 B1 KR 102430918B1 KR 1020190147120 A KR1020190147120 A KR 1020190147120A KR 20190147120 A KR20190147120 A KR 20190147120A KR 102430918 B1 KR102430918 B1 KR 102430918B1
Authority
KR
South Korea
Prior art keywords
noise
sentence
correction
generating
unit
Prior art date
Application number
KR1020190147120A
Other languages
English (en)
Other versions
KR20210059540A (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 KR1020190147120A priority Critical patent/KR102430918B1/ko
Publication of KR20210059540A publication Critical patent/KR20210059540A/ko
Application granted granted Critical
Publication of KR102430918B1 publication Critical patent/KR102430918B1/ko

Links

Images

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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 실시예에 따른 한국어 맞춤법 교정장치는 소스문장을 이용하여 노이즈 문장을 생성하는 노이즈 생성부, 상기 노이즈를 포함하는 교정전 문장이 입력되는 입력부, 교정후 문장이 입력되는 타겟부 및 상기 교정전 문장과 상기 교정후 문장으로 이루어진 말뭉치를 이용하여 기계번역을 수행하는 학습부를 포함하되, 상기 학습부는 트랜스포머(transformer)기반으로 기계번역 훈련을 수행한다.

Description

한국어 맞춤법 교정장치 및 방법{Device and method for correcting Korean spelling}
본 발명은 한국어 맞춤법 교정장치 및 방법에 관한 것으로서, 보다 상세하게는 잡음제거(Denoising) 트랜스포머(Transformer)기반의 한국어 맞춤법 교정장치 및 방법에 관한 것이다.
맞춤법 오류는 교정 대상 언어의 형태론, 통사론, 의미론 단계까지 폭넓은 범위에서 나타날 수 있다. 언어를 구사하는 사람의 능력에 따라 교정에 필요한 분석 단계는 다양해질 수 있으며, 문법 오류들이 복잡한 조합 형태로 나타나기도 한다.
맞춤법 교정이란 주어진 문장에서 나타나는 철자 및 문법적인 오류들을 올바르게 교정하는 것을 뜻하며 맞춤법 교정 시스템이란 컴퓨터가 이를 자동으로 수행하는 것을 의미한다.
맞춤법 교정은 음성인식 결과에 대한 후처리 모듈, 실시간 통역 시스템에서 번역 결과의 품질을 높이기 위한 사후처리 등 다양한 분야로 응용이 가능하다. 현재 한국에서 몇몇 연구소와 기업 등에서 성공적으로 맞춤법 교정기 서비스를 운영하고 있다.
이러한 서비스들은 대용량의 규칙기반 시스템으로 이루어져 있다. 규칙기반의 장점으로는 문장의 구조를 흐트러트리지 않고 정확히 틀린 부분만 고쳐낸다는 점을 들 수 있다. 이전에 맞춤법 교정 시스템의 방식들을 살펴보면 규칙기반 맞춤법 교정 시스템, 통계기반 맞춤법 교정방식을 거쳐 기계학습을 이용한 교정 시스템, 최근에는 신경망 기반 교정 시스템, 등 다양한 연구가 진행되어 왔다.
그러나 규칙기반 방식 같은 경우 규칙을 구축하는 것이 쉽지 않으며 구현이 어렵다는 단점이 있고 기계학습 방법의 경우, 탐지 대상 단어의 주위 문맥이 올바르다고 가정하는 구조적인 약점이 존재한다. 기계번역의 관점으로 맞춤법 교정시스템을 바라보게 될 경우 고품질의 병렬 말뭉치만 있으면 별도의 규칙을 구축하지 않아도 다양한 양상의 맞춤법 오류들을 고쳐낼 수 있다는 장점이 있다. 그러나 처리 가능한 문법 오류 종류가 다양해지고 암시적으로 이에 대한 교정을 학습하는 만큼 다른 기법에 비해 대용량의 병렬 망뭉치가 학습에 사용되어야만 한다. 이에 반해 병렬 말뭉치를 구축한다는 것은 쉽지 않은 문제이며 고품질의 병렬 말뭉치를 구축한다는 것은 더더욱 어려운 문제이다.
대한민국 공개특허 제2001-0098004호(2001.11.08)
본 발명의 목적은 한국어 맞춤법 병렬 말뭉치를 구성하는 자율 기계 번역 기반의 맞춤법 교정 장치 및 방법을 제공하는데 있다.
본 발명의 실시예에 따른 한국어 맞춤법 교정장치는 소스문장을 이용하여 노이즈 문장을 생성하는 노이즈 생성부, 상기 노이즈를 포함하는 교정전 문장이 입력되는 입력부, 교정후 문장이 입력되는 타겟부 및 상기 교정전 문장과 상기 교정후 문장으로 이루어진 말뭉치를 이용하여 기계번역을 수행하는 학습부를 포함하되, 상기 학습부는 트랜스포머(transformer)기반으로 기계번역 훈련을 수행한다.
본 발명의 실시예에 따른 한국어 맞춤법 교정장치 및 방법에 의하면, 병렬 말뭉치를 구축하지 않고도 정확도가 개선된 한국어 맞춤법 교정이 가능하다.
또한, 특정 문법 오류 종류를 지정하기 않고 학습이 이루어져 다양한 문법오류를 한꺼번에 처리할 수 있다.
도 1은 본 발명의 실시예에 따른 한국어 맞춤법 교정장치의 기능블록도이다.
도 2는 본 발명의 실시예에 따른 노이즈 생성부의 상세기능블록도이다.
도 3은 본 발명의 실시예에 따른 오탈자 리스트를 이용한 리스트 생성 예시도면이다.
도 4는 본 발명의 실시예에 따른 한국어 맞춤법 교정방법의 순서도이다.
상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 모듈, 블록 및 부는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시예에 따른 한국어 맞춤법 교정장치의 기능블록도이다.
도 1에 도시된 바와 같이 본 발명의 실시예에 따른 한국어 맞춤법 교정장치는 소스문장을 이용하여 노이즈 문장을 생성하는 노이즈 생성부(100), 상기 노이즈를 포함하는 교정전 문장이 입력되는 입력부(200), 교정후 문장이 입력되는 타겟부(300) 및 상기 교정전 문장과 상기 교정후 문장으로 이루어진 말뭉치를 이용하여 기계번역을 수행하는 학습부(400)를 포함하되, 상기 학습부(400)는 트랜스포머(transformer)기반으로 기계번역 훈련을 수행한다.
본 발명의 실시예에 따른 노이즈 생성부(100)는 소스문장을 이용하여 말뭉치를 구축하기 위한 노이즈 문장을 생성한다.
도 2는 본 발명의 실시예에 따른 노이즈 생성부의 상세기능블록도이다.
도 2에 도시된 바와 같이 노이즈 생성부(100)는 제1 노이즈 생성모듈(110), 제2노이즈 생성모듈(120) 및 제3 노이즈 생성모듈(130)을 포함한다.
제1 노이즈 생성모듈(110)은 발음나는대로 소스문장의 노이즈를 생성한다.
제1 노이즈 생성모듈(110)은 소위 G2P(Grapheme to Phoneme)라 불리는 기술을 활용한 노이즈 생성기능블록으로서, 문장을 발음 나는 그대로 바꿔주는 기술을 의미한다.
예를 들어 “어제는 날씨가 맑았는데, 오늘은 흐리다”라는 문장이 입력으로 들어오면 “어제는 날씨가 말간는데, 오느른 흐리다”를 출력으로 내보내게 된다. 사람이 맞춤법을 틀리는 유형 중 많은 부분이 발음 나는 대로 적어서 틀리는 경우가 많다. 이에 착안하여 본 발명의 실시예에 따른 제1 노이즈 생성모듈은 G2P 기술을 통해 Noise 데이터를 생성하였다.
결국, 제1 노이즈 생성모듈(110)은 언어학에서 음성학적인 특성을 기반으로 노이즈를 생성하는 기능블록인 셈이다.
제2노이즈 생성모듈(120)은 소스문장에서 자모단위를 랜덤하게 변형하여 노이즈를 생성한다.
제2 노이즈 생성모듈(120)은 문자열을 삽입, 삭제, 변경하는 연산을 기반으로 수회의 연산을 통해 문자열의 유사도를 다루는 알고리즘인 편집거리 알고리즘을 이용하여 노이즈를 생성할 수 있다. 이를 대표하는 알고리즘으로 레벤슈타인 알고리즘 등이 활용될 수 있으며, 자음은 자음으로 모음은 모음으로 변경, 추가 또는 삭제하여 노이즈를 생성할 수 있다.
예를 들어 “안녕하세요”라는 문장이 들어왔을 때 “안년하세뇨”를 출력으로 내보내는 시스템으로 자모 단위로 랜덤하게 자음은 자음으로, 모음은 모음으로 변경 혹은 삭제 혹은 추가하는 Noise 생성 방법론이다.
Noise를 생성하는 예시는 아래와 같다.
○ 자모단위 랜덤 삭제
예시: 안녕하세요 → 안녀하세요 ( ‘o’ 삭제)
○ 자모단위 랜덤 추가
예시: 안녕하세요 → 안녕하세용 (‘ㅇ’ 추가)
○ 자모단위 랜덤 교체
예시: 안녕하세요 → 안령하새요 (‘ㅇ to ‘ㄹ’ 교체)
제2 노이즈 생성모듈(120)은 위와 같은 방법을 통해 오탈자에 강건한 데이터를 구축할 수 있다. 사람이 대게 오탈자를 입력하는 경우를 보면 자모단위가 많기에 자모 단위로 Noise 데이터를 생성할 시 좋은 성능의 시스템을 만들어낼 수 있다.
제3 노이즈 생성모듈(130)은 단어단위 오탈자 리스트를 이용하여 노이즈를 생성한다.
오탈자 리스트란 있어용, 있어요 등 단어 단위 오탈자 병렬 쌍을 의미한다. 단어 단위 오탈자 리스트의 경우 통역 서비스를 운영하는 상황에서는 구축하기가 용이하며 사람이 직접 구축하는 것도 어렵지 않게 수행될 수 있다.
또한 인터넷상에 비문 목록 들이 상당히 많이 존재하여 오탈자 리스트를 구축하는 것은 어렵지 않게 수행될 수 있다. 본 발명에서는 약 4만개 가량의 오탈자 리스트를 구축하였으며 이를 단일 말뭉치에 1대1 비율로 오탈자 리스트를 적용하여 병렬 말뭉치를 구축하였다. 1대1 비율로 설정한 이유로는 맞춤법 교정의 특징이 문법적 오류가 있다고 판단되는 일부 단어만 수정되고 나머지 대부분의 단어는 그대로 출력되기 때문이다.
본 발명의 실시예에 따른 오탈자 리스트는 LLsoLLu에서 상용화 서비스를 진행하고 있는 ezTalky 통역비서 데이터를 이용하였다. 또한 국립국어원 맞춤법 교정 관련 자료를 해당 단어에 대한 오탈자 리스트를 구축하였다. 추가적으로 수작업을 통하여 오탈자 리스트를 수시로 추가하였다. 또한 임의로 자모 단위로 철자를 분리한 후 철자를 빼거나 다른 철자로 교체하여 오탈자 리스트를 보강하여 총 45,711개의 오탈자 리스트를 최종적으로 구축하였다.
도 3은 본 발명의 실시예에 따른 오탈자 리스트를 이용한 리스트 생성 예시도면이다.
도 3에 도시된 바와 같이 오탈자 리스트는 실제 서비스를 하면서 구축한 오탈자 리스트이기에 키보드 편집거리 에러가 포함된 데이터라 볼 수 있고, 이러한 리스트가 구축이 되고, 문장이 입력되어 들어오면 오탈자 리스트에 있는 단어가 매칭되어서 노이즈를 자동으로 생성하게 된다.
본 발명의 실시예에 따른 오탈자 리스트는 실제 서비스를 하면서 구축한 오탈자 리스트이기에 신뢰성이 높은 데이터이다.
본 발명의 실시예에 따른 학습부(400)는 교정전 문장과 교정후 문장으로 이루어진 말뭉치를 이용하여 기계번역을 수행한다. 특히, 트랜스포머(Transformer)기반으로 기계번역 훈련을 수행한다.
종래 맞춤법 교정 시스템의 방식은 규칙기반 맞춤법 교정 시스템, 통계기반 맞춤법 교정방식을 거쳐 기계학습을 이용한 교정 시스템이 도입되어왔다.
그러나 규칙기반 방식은 규칙을 구축하는 것이 쉽지 않으며 구현이 어렵다는 단점이 있고, 기계학습 방법의 경우 탐지 대상 단어의 주위 문맥이 올바르다고 가정하는 구조적인 약점이 존재한다. 본 발명의 실시예와 같이 기계번역 관점에서 맞춤법 교정장치 및 방법을 바라볼 경우 고품질의 병렬 말뭉치만 있으면 별도의 규칙을 구축하지 않아도 다양한 양상의 맞춤법 오류를 고쳐낼 수 있다.
특히, 본 발명의 실시예에 따른 맞춤법 교정장치 및 방법은 병렬 말뭉치 구축의 어려움을 단일 말뭉치만을 이용하여 자율(unsupervised)방식의 노이즈 생성을 통해서 해결하고 있다.
본 발명의 실시예에 따른 학습부(400)는 트랜스포머(transformer)기반으로 기계번역 훈련을 수행한다. 트랜스포머란 convolution(합성곱)과 Recurrence(회귀)없이 오직 attention만을 이용한 기계번역 모델로 Query, Key, Value를 기반으로 하는 Multi head attention을 기반으로 입력과 출력에 대해 각각 Self attention을 학습하고, 이후 입력과 출력 사이의 attention을 학습하는 구조이다.
트랜스포머는 연산의 병렬화가 가능하여 다른 모델보다 학습시간이 빠르다는 장점이 존재하며 현재 기계번역 분야에서 좋은 성능을 보이고 있는 모델이다.
이상 본 발명의 실시예에 따른 한국어 맞춤법 교정장치의 각 구성요소에 대해 설명하였다. 이하, 본 발명의 실시예에 따른 한국어 맞춤법 교정장치의 실제 실험예를 살펴본다.
먼저 약 300만개의 신문기사 데이터를 크롤링을 진행하여 단일 한국어 말뭉치를 구축한다.
300만개 중 100만개는 제1 노이즈 생성모듈(G2P, 110)을 이용한 Noise 데이터, 100만개는 제2 노이즈 생성모듈(자모 단위 랜덤 Replace, 120)을 이용한 Noise 데이터, 100만개는 제3 노이즈 생성모듈(130)의 오탈자 리스트를 적용한 Noise 데이터를 적용한다. 자모단위 랜덤 Replace 같은 경우 삭제, 추가, 교체 비율은 각각 33%,33%,34%의 비율로 선정하였다.
본 발명은 한국어 맞춤법 교정기 시스템을 구축할 때 규칙기반, 통계기반 시스템의 방법론은 일절 사용하지 않고 오직 기계번역의 관점으로 본 Task를 해석한다.
소스 문장에 Noise를 적용한 문장이 타겟 문장에 올바른 문장이 들어가게 된다. 추가적으로 소스문장에 기호를 붙이지 않고 타겟 문장에는 기호를 붙여 학습을 진행하였다. 이러한 데이터 변환으로 얻을 수 있는 효과는 문맥에 맞게 “”, ”,.” 등 즉 기호를 붙여준다는 특징이 있다.
병렬 말뭉치를 구축한 후, 트랜스포머(Transformer)기반으로 기계번역 훈련을 진행하게 된다. Transformer란 앞서 언급한 바와 같이 순환 및 합성곱을 이용하지 않고 오직 Attention 기법만을 이용한 시퀀스 투 시퀀스 모델이다. 입력문장을 한번에 처리할 수 있다는 장점이 있고 속도가 빠르다는 장점이 존재한다.
토큰화(Tokenize)같은 경우 단순 BP를 사용하며 학습에 사용한 데이터와 vocab 사이즈 그리고 Hyper-parameter는 아래표와 같다.
Hyper-parameter Setting
Source Vocabulary 32,000
Target Vocabulary 32,000
Batch Size 4,096
Word Vector Size 512
Attention Head 8
Transformer FF 2,048
Dropout 0.1
Optimizer Adam
Decay Method Noam
실험은 실제 한국에서 상용화되고 있는 맞춤법 검사 시스템(네이버, 부산대학교 시스템)과 성능 비교를 진행하였다. 성능 평가 지표는 GLEU를 사용한다.
GLEU 같은 경우 BLEU와 유사하나 소스 정보까지 고려한다는 점이 다르며 교정 시스템에 특화된 성능 평가 지표이다.
[수학식1]
Figure 112019117647246-pat00001
Figure 112019117647246-pat00002
C는 교정한 문장, R은 Reference S는 Source 문장 즉 입력을 의미한다. 본 발명에서 N은 4를 이용하였으며 기타 설정은 기본 BLEU와 동일한 값을 사용하였다. BP는 Brevity Penalty를 의미하며 N=4, wn=1/n1 이다.
Model GLEU BLEU
N(네이버) 39.55 48.11
P(부산대) 44.68 48.39
본 발명의 실시예 65.98 67.65
실험결과 상용화 시스템보다 높은 GLEU 점수 및 BLEU 점수를 보였다. N과 P는 각각 국내 상용화 시스템을 의미한다.
추가적으로 어절 단위 Precision, Recall, F-1 Score의 점수 비교 또한 진행하였다.
Model Precision Recall F1-score
N(네이버) 0.4024 0.1831 0.2517
P(부산대) 0.3404 0.3191 0.3294
본 발명의 실시예 0.6727 0.7249 0.6978
마찬가지로 Precision, Recall, F1-score 모두 본 시스템이 기존 상용화 시스템보다 우수한 성능을 보임을 볼 수 있었다.
또한, 본 발명의 실시예에 따른 학습부는 문장부호가 없는 교정전 문장과 문장부호가 있는 교정후 문장을 이용하여 자동으로 문장부호를 삽입하는 기능을 수행하도록 한다. 이러한 부가적인 효과는 띄어쓰기, 문장분리 등에서도 적용이 가능하다.
아래 표 4, 표 5에 의하면 부가적인 효과로 자동 문장분리, 자동 띄어쓰기, 어투 통일성, 문맥에 맞는 기호 부착 효과 등을 볼 수 있었다.
입력 죄송합니다 모든 좌석이 매진됐습니다
출력 죄송합니다. 모든 좌석이 매진됐습니다.
입력 여기 가까운 식당이 어디있습니까
출력 여기 가까운 식당이 어디 있습니까?
더 나아가 본 발명의 실시예에 따른 한국어 맞춤법 교정장치는 STT(Speak to Text)처리시 음성인식 후처리 모듈로 사용할 수 있다.
STT결과는 대개 문장부호가 부착되어 나오지 않으며 띄어쓰기가 간혹 올바르지 않을 경우가 있다. 또한 소리나는 대로 STT 결과를 도출하기에 사람이 느끼기에 맞춤법이나 문장의 흐름이 알맞지 않는 경우가 있다.
이러한 경우 본 발명의 실시예에 따른 한국어 맞춤법 교정장치를 이용하여 문제를 해결하는데 도움이 될 수 있다.
이상 본 발명의 실시예에 따른 한국어 맞춤법 교정장치에 대해서 살펴보았다. 이하, 본 발명의 또 다른 양태에 따른 한국어 맞춤법 교정방법에 대해서 도 4를 통해서 상세히 살펴본다.
다만, 앞선 실시예와 중복된 구성요소에 대한 설명은 생략하도록 한다.
도 4는 본 발명의 실시예에 따른 한국어 맞춤법 교정방법의 순서도이다.
도 4에 도시된 바와 같이 본 발명의 실시예에 따른 한국어 맞춤법 교정방법은 앞서 설명한 맞춤법 교정장치에 의해서 수행되는 맞춤법 교정방법으로서, 소스문장과 교정후 문장을 입력받는 단계(S100), 소스문장을 이용하여 노이즈 문장을 생성하는 단계(S200) 및 상기 노이즈 문장을 포함하는 교정전 문장과 상기 교정후 문장을 포함하는 말뭉치를 이용하여 기계번역 훈련을 수행하는 단계(S300)를 포함한다.
소스문장과 교정후 문장은 기계번역 훈련을 위한 데이터에 해당하고, 입력된 소스문장을 이용하여 노이즈 문장을 생성하는 단계(S200)를 거쳐 노이즈 문장을 생성하게 된다.
노이즈 문장을 생성하는 단계(S200)는 앞서 설명한 바와 같이 발음나는대로 소스문장의 노이즈를 생성(G2P)하고, 소스문장에서 자모단위를 랜덤하게 변형하여 노이즈를 생성(자모단위 랜덤 replace)하며, 단어단위 오탈자 리스트를 이용하여 노이즈를 생성하는 단계이다.
마지막으로 교정전 문장과 교정후 문장을 포함하는 말뭉치를 이용하여 기계번역 훈련을 수행하는 단계(S300)는 트랜스포머(transformer)기반으로 기계번역 훈련을 수행는 단계이다. 합성곱 또는 회귀 없이 오직 attention만을 이용한 기계번역 모델로 Query, Key, Value를 기반으로 하는 Multi head attention을 기반으로 입력과 출력에 대해 각각 Self attention을 학습하고, 이후 입력과 출력 사이의 attention을 학습한다.
상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들에 대한 설계 및 파라미터 최적화는 별도의 소프트웨어 모듈로도 구현될 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.
100 노이즈 생성부
200 입력부
300 타겟부
400 학습부

Claims (7)

  1. 한국어 맞춤법 교정장치로서,
    소스문장을 이용하여 노이즈 문장을 생성하는 노이즈 생성부;
    상기 노이즈를 포함하는 교정전 문장이 입력되는 입력부;
    교정후 문장이 입력되는 타겟부; 및
    상기 교정전 문장과 상기 교정후 문장으로 이루어진 말뭉치를 이용하여 기계번역을 수행하는 학습부를 포함하되,
    상기 학습부는 트랜스포머(transformer)기반으로 기계번역 훈련을 수행하고,
    상기 노이즈 생성부는 소스문장에 포함된 복수의 단어들 중 단어단위 오탈자 리스트에 포함된 어느 하나의 단어를 오탈자로 교체하여 노이즈를 생성하는 제3 노이즈 생성모듈을 포함하고,
    상기 학습부는 문장부호가 없는 교정전 문장과 문장부호가 있는 교정후 문장을 이용하여 자동으로 문장부호를 삽입하는 기능을 수행하도록 학습하는,
    한국어 맞춤법 교정장치.
  2. 제1항에 있어서,
    상기 노이즈 생성부는
    발음나는대로 소스문장의 노이즈를 생성하는 제1 노이즈 생성모듈(G2P, Grapheme to Phoneme); 및
    소스문장에서 자모단위를 랜덤하게 변형하여 노이즈를 생성하는 제2 노이즈 생성모듈을 더 포함하는,
    한국어 맞춤법 교정장치.
  3. 제2항에 있어서,
    상기 제2 노이즈 생성모듈은 문자열을 삽입, 삭제, 변경하는 연산을 기반으로 수회의 연산을 통해 문자열의 유사도를 다루는 알고리즘인 편집거리 알고리즘을 이용하여 노이즈를 생성하는 것을 특징으로 하는 한국어 맞춤법 교정장치.
  4. 제2항에 있어서,
    상기 제2 노이즈 생성모듈은 자음은 자음으로, 모음은 모음으로 변경, 추가 또는 삭제하여 노이즈를 생성하는 것을 특징으로 하는 한국어 맞춤법 교정장치.
  5. 삭제
  6. 맞춤법 교정장치에서 수행되는 한국어 맞춤법 교정방법으로서,
    (a) 소스문장과 교정후 문장을 입력받는 단계;
    (b) 소스문장을 이용하여 노이즈 문장을 생성하는 단계; 및
    (c) 상기 노이즈 문장을 포함하는 교정전 문장과 상기 교정후 문장을 포함하는 말뭉치를 이용하여 기계번역 훈련을 수행하는 단계를 포함하고,
    상기 (b) 단계는 소스문장에 포함된 복수의 단어들 중 단어단위 오탈자 리스트에 포함된 어느 하나의 단어를 오탈자로 교체하여 노이즈를 생성하는 단계를 포함하고,
    상기 (c) 단계는 문장부호가 없는 교정전 문장과 문장부호가 있는 교정후 문장을 이용하여 자동으로 문장부호를 삽입하는 기능을 수행하도록 학습하는,
    한국어 맞춤법 교정방법.
  7. 제6항에 있어서,
    상기 (b)단계는,
    발음나는대로 소스문장의 노이즈를 생성하는 단계; 및
    소스문장에서 자모단위를 랜덤하게 변형하여 노이즈를 생성하는 단계를 더 포함하는,
    한국어 맞춤법 교정방법.
KR1020190147120A 2019-11-15 2019-11-15 한국어 맞춤법 교정장치 및 방법 KR102430918B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190147120A KR102430918B1 (ko) 2019-11-15 2019-11-15 한국어 맞춤법 교정장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190147120A KR102430918B1 (ko) 2019-11-15 2019-11-15 한국어 맞춤법 교정장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210059540A KR20210059540A (ko) 2021-05-25
KR102430918B1 true KR102430918B1 (ko) 2022-08-10

Family

ID=76145728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190147120A KR102430918B1 (ko) 2019-11-15 2019-11-15 한국어 맞춤법 교정장치 및 방법

Country Status (1)

Country Link
KR (1) KR102430918B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102602813B1 (ko) * 2023-02-08 2023-11-17 주식회사 보인정보기술 받아쓰기 문장 자동 생성 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350655A1 (en) * 2015-05-26 2016-12-01 Evature Technologies (2009) Ltd. Systems Methods Circuits and Associated Computer Executable Code for Deep Learning Based Natural Language Understanding
US10452978B2 (en) 2017-05-23 2019-10-22 Google Llc Attention-based sequence transduction neural networks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010098004A (ko) 2000-04-27 2001-11-08 이광호 지식어 인식 시스템 및 그 방법
KR102199835B1 (ko) * 2018-12-31 2021-01-07 주식회사 엘솔루 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350655A1 (en) * 2015-05-26 2016-12-01 Evature Technologies (2009) Ltd. Systems Methods Circuits and Associated Computer Executable Code for Deep Learning Based Natural Language Understanding
US10452978B2 (en) 2017-05-23 2019-10-22 Google Llc Attention-based sequence transduction neural networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J. Devlin et al., BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding, https://arxiv.org/pdf/1810.04805.pdf (2018)
M. Peters et al., Deep Contextualized Word Representations, https://aclweb.org/anthology/N18-1202 (2018)

Also Published As

Publication number Publication date
KR20210059540A (ko) 2021-05-25

Similar Documents

Publication Publication Date Title
US7302640B2 (en) Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US7165019B1 (en) Language input architecture for converting one text form to another text form with modeless entry
KR101146539B1 (ko) 비-로마자 문자 및 단어의 철자 정정을 위한 시스템 및방법
US9069753B2 (en) Determining proximity measurements indicating respective intended inputs
KR102199835B1 (ko) 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법
US20120246133A1 (en) Online spelling correction/phrase completion system
JP2010505208A (ja) タイピング効率向上のためのタイピング候補の生成方法
US20170286376A1 (en) Checking Grammar Using an Encoder and Decoder
Bollmann Normalization of historical texts with neural network models
WO2021260554A1 (en) Domain-specific grammar correction system, server and method for academic text
Jayalatharachchi et al. Data-driven spell checking: the synergy of two algorithms for spelling error detection and correction
KR102430918B1 (ko) 한국어 맞춤법 교정장치 및 방법
Kaur et al. Spell checker for Punjabi language using deep neural network
Kaur et al. Hybrid approach for spell checker and grammar checker for Punjabi
CN115310433A (zh) 一种针对中文文本校对的数据增强方法
Isroilov et al. Personal names spell-checking–a study related to Uzbek
Mekki et al. COTA 2.0: An automatic corrector of tunisian Arabic social media texts
JP5057916B2 (ja) 固有表現抽出装置、その方法、プログラム及び記録媒体
Zahui et al. EL-Mossahih V1. 0: A hybrid approach for detection and correction of typographical and phonetic transcription errors in Arabic texts
Manohar et al. Spellchecker for Malayalam using finite state transition models
Hummel et al. Multi-level Digital Annotation of Ethiopic Texts
US20240160839A1 (en) Language correction system, method therefor, and language correction model learning method of system
Nguyen et al. Automatic Textual Normalization for Hate Speech Detection
Ratnam et al. Phonogram-based Automatic Typo Correction in Malayalam Social Media Comments
Chauhan et al. Development of Spell Corrector Model for Phrases

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right