KR20210128315A - 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 - Google Patents
마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 Download PDFInfo
- Publication number
- KR20210128315A KR20210128315A KR1020200146332A KR20200146332A KR20210128315A KR 20210128315 A KR20210128315 A KR 20210128315A KR 1020200146332 A KR1020200146332 A KR 1020200146332A KR 20200146332 A KR20200146332 A KR 20200146332A KR 20210128315 A KR20210128315 A KR 20210128315A
- Authority
- KR
- South Korea
- Prior art keywords
- word
- context
- candidate
- language model
- mask
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
본 발명은 마스크 언어 모형에 마스킹된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하여 최종 교정어를 제시하여 교정 정확도를 높인 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법에 관한 것으로, 교정하기 위한 문장을 입력하는 입력부;입력 문장을 어절 단위로 검사하고 문맥 철자오류를 검색하는 교정 대상 어절 검사부;교정 대상 어절과 단어 사전 사이의 편집거리를 계산하여 후보 단어를 선별하는 후보 편집거리 선별부;교정 대상 어절의 주변 전체 문맥과 후보 편집거리 선별부에서 걸러진 후보 단어들 간의 거리를 계산하는 마스크 후보 생성부;거리 계산 값을 기반으로 최종 교정어를 선택하는 교정어 제시부;를 포함하는 것이다.
Description
본 발명은 철자 오류 교정에 관한 것으로, 구체적으로 마스크 언어 모형에 마스킹된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하여 최종 교정어를 제시하여 교정 정확도를 높인 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법에 관한 것이다.
최근 세계적으로 컴퓨터 관련 다양한 영역에서 심층학습(deep learning)과 같은 인공지능 기술이 활발하게 연구가 되고 있다.
그 중 자연언어처리(natural language processing) 관련해서 세계적으로 Google Research, Facebook Research, AllenNLP 등 다양한 연구진들이 심층학습 기술을 개발하고 있으며, 산업의 각 분야에서도 심층학습 기반의 프로그램의 수요가 급속도로 늘어나고 있다.
자연어처리는 정보 분석 과정에서 올바른 문장이 초기에 입력이 될수록 양질의 결과가 나오며, 그렇기 때문에 자연어처리에 있어서 문맥의존 철자오류 교정은 전처리(preprocessing) 과정에서 빼놓을 수 없는 중요한 기술이다.
철자오류는 크게 두 종류로 단순 철자오류(non-word spelling error)와 문맥의존 철자오류(context sensitive spelling error)로 나뉜다.
단순 철자오류는 문맥의존 철자오류에 비해서 쉽게 교정할 수 있는데 사전(dictionary)에 교정 대상 단어가 포함되어 있는지 아닌지를 비교하여 오류어를 판단한다.
반면 문맥의존 철자오류의 경우 교정 난도가 상당히 올라가게 되며, 예를 들어 “주의를 살피다”와 “주위를 살피다”라는 문장에서 “주의”가 오류어가 되는데 “주의”와 “주위”는 사전에 존재하는 단어이므로 단순 철자오류를 교정하는 방식으로는 해결이 어렵기 때문에 주변 문맥의 정보를 파악하여 해결하여야 한다.
예에서는 “주의”가 오류어지만 문맥에 따라서 “주위”가 오류어가 될 수도 있다.
문맥의존 철자오류 교정 방법에는 규칙을 이용한 교정 방법과 통계정보를 기반으로 한 교정 방법 그리고 신경망(neural network)을 이용한 교정 방법으로 나눌 수 있다.
규칙기반 교정 방법은 규칙을 만들고 검증하는데 고도의 언어학과 전산학 지식을 갖춘 전문가가 필요하며, 실세계의 모든 언어 현상을 반영하는 규칙을 만드는 것이 현실적으로 불가능하다.
특히, 발생빈도가 높거나 정형화된 오류는 규칙기반 방법으로 교정할 수 있는 확률이 높으나, 입력 오류로 일어나는 비정형화된 오류교정은 규칙기반 방법만으로는 불가능하고 교정 난도가 훨씬 높다.
통계적 교정 방법은 비정형적인 오류가 자주 발생하는 언어 환경에서 적용이 가능하며, 신경망 기반의 교정 이전에 주로 제시되었던 방식이다.
신경망 기반의 기술은 발달 속도에 비해서 문맥의존 철자오류 교정 기술에 적용이 된 사례를 찾기가 어렵다.
종래 기술의 하나로, 미리 구축한 교정 어휘 쌍을 이용하여 교정 어휘 쌍의 각 어휘와 주변 문맥에 나타난 어휘 간 출현빈도에 바탕을 둔 통계모형을 이용하여 문맥의존 철자오류를 교정하는 방법이 있다.(대한민국 등록특허 제10-1495240호)
다른 방법으로 교정 규칙의 재현율을 높이기 위해 규칙을 일반화하는 과정에서 한국어 어휘의미망을 활용하는 방법이 제시되고 있다.(대한민국 등록특허 제10-1500617호)
또 다른 방법으로, 교정 어휘 쌍의 각 어휘와 주변 문맥에 나타난 어휘 간 연관성을 계산하는 과정에서 발생하는 자료부족 문제를 해결하기 위한 방법이 제시되고 있다.(대한민국 등록특허 제10-1573854호)
최근 제시된 방법으로, 다양한 오류에 대해 실시간으로 오류 후보를 생성하여 문맥의존 철자오류 교정하는 방법이 제시되고 있다.(대한민국 공개특허 제10-2019-0133624호)
이러한 종래 기술에서는 문맥의존 철자오류 교정은 통계 방식이 주류였으며, 통계적 교정 방식에는 명확한 한계가 있다. 한계점으로 교정 대상 단어의 주변 문맥을 넓게 참조하기가 어렵다는 점이며, 넓은 문맥의 범위를 참조하려 할수록 통계 빈도 정보를 얻기가 힘들어지고 검색 비용 또한 늘어남에 있다.
문맥의존 철자오류 교정에서 문맥을 넓게 참조할수록 다양한 정보를 이용하여 교정에 사용할 수 있는데 이런 점은 자연어처리 각 분야에서도 항상 필요로 하던 주요 향상점이였다.
따라서, 교정 대상 단어와 문맥과의 연관성을 더욱 정확히 파악하여 교정하는 기술의 개발이 요구되고 있다.
본 발명은 종래 기술의 철자오류 교정 기술의 문제점을 해결하기 위한 것으로, 마스크 언어 모형에 마스킹된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하여 최종 교정어를 제시하여 교정 정확도를 높인 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 교정 대상 어절과 주변 문맥을 분석하는 과정에서 마스크 언어 모형을 이용한 문맥의존 철자오류 교정으로 더 넓은 문맥을 참조하여 실시간으로 처리가 가능하도록 한 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 교정 대상 어절과 주변 문맥을 분석하는 과정에서 마스크 언어 모형을 이용한 문맥의존 철자오류 교정으로 교정 대상 단어와 문맥과의 연관성을 더욱 정확히 파악하여 교정 가능하도록 한 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 심화학습을 통해 얻어진 사전학습(pre-train)정보를 이용하여 문맥의존 철자오류 교정에 적용하며, 학습 과정에서 문장의 어절을 마스킹하여 추측(prediction)하는 방식으로 학습하여 철자오류에 강건(robust)하도록 학습이 되어있는 언어 모형을 바탕으로 효율적인 교정이 가능하도록 한 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 철자오류 중 사전에서 단순하게 유추할 수 없고 교정에 있어서 난도가 가장 높은 문맥의존 철자오류에 대하여 효율적인 교정이 가능하도록 한 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 마스크 언어 모형에서 얻어지는 교정 대상 어절과 문맥과의 거리 값을 이용하여 다양한 오류에 대한 처리가 가능하도록 한 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치는 교정하기 위한 문장을 입력하는 입력부;입력 문장을 어절 단위로 검사하고 문맥 철자오류를 검색하는 교정 대상 어절 검사부;교정 대상 어절과 단어 사전 사이의 편집거리를 계산하여 후보 단어를 선별하는 후보 편집거리 선별부;교정 대상 어절의 주변 전체 문맥과 후보 편집거리 선별부에서 걸러진 후보 단어들 간의 거리를 계산하는 마스크 후보 생성부;거리 계산 값을 기반으로 최종 교정어를 선택하는 교정어 제시부;를 포함하는 것을 특징으로 한다.
여기서, 교정 대상 어절 검사부는, 3-gram 사전을 검색하며, 중심어 위치의 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색하여 통계 후보어 집합을 구성하는 통계 후보어 집합 구성부와,통계 후보어 집합 구성부의 통계 후보어들의 문맥 확률을 계산하는 문맥 확률 계산부와,후보어 집합에서 오류 검사 대상 어절이 통계 후보어들에 비해 문맥 확률이 높은지 낮은지만을 기준으로 오류 어절 유무를 판단하는 오류 어절 유무 판단부를 포함하는 것을 특징으로 한다.
그리고 후보 편집거리 선별부는, 교정 대상 어절과 문맥의존 철자오류 교정에 사용되는 마스크 언어 모형에서 사용하는 전체 단어 사전의 단어 간의 삽입, 삭제, 교환에 대한 설정 된 편집거리를 계산하여 전체 단어 사전에서 해당 단어를 선별하는 것을 특징으로 한다.
그리고 마스크 후보 생성부는, 교정 대상 어절을 기반으로 마스크 언어 모형의 전체 사전 단어와의 편집거리를 계산하는 편집 거리 산출부와,중심어를 기준으로 마스크 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻는 교정 후보어 집합 구성부와,교정 대상 어절을 마스크로 대체하여 마스크의 주변 문맥과 후보어들의 거리 값을 계산하는 후보어 거리값 산출부를 포함하는 것을 특징으로 한다.
그리고 입력 문장은, 문장의 전체어절 은 교정 대상 어절가 마스킹 되었을 때 로 하며, 후보 편집 거리 선별부에서 선별된 단어 집합 가 마스크에 대체되어 문맥과 선별 단어 간의 거리 값이 계산되는 것을 특징으로 한다.
그리고 교정어 제시부는, 계산 된 거리 값을 기반으로 교정 후보어 중에 가장 높은 값을 최종 교정어를 판단하고, 해당 단어를 대치어로 제시하는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법은 문장을 어절 단위로 검사하여 철자오류 교정 대상 어절을 판단하는 단계;교정 대상 단어와 후보어가 될 언어 모형에서의 사전 단어들 간의 편집거리 계산을 통해 선별하는 단계;입력 문장에서 교정 대상 어절을 마스킹 한 문장을 이용하여 마스킹 자리를 대체 할 전체 선별 단어들과 주변 전체 문맥의 거리를 계산하는 단계;순위화된 정보를 바탕으로 최종 교정 단어를 제시하는 단계;를 포함하는 것을 특징으로 한다.
여기서, 선별 단어들과 주변 전체 문맥의 거리를 계산하는 단계는, 교정 대상이 되는 어절이 포함된 문장의 전체 문맥과 편집거리 계산을 통해 선별된 단어들을 교정 후보로 각 후보가 문장에 포함되었을 때 문장의 거리 값을 마스크 언어 모형을 통해 계산하는 것을 특징으로 한다.
그리고 선별 단어들과 주변 문맥의 거리를 계산하는 단계는, 마스크 언어 모형에 마스킹 된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하는 것을 특징으로 한다.
그리고 전체 문장의 문맥의존 철자오류 교정은, 문장의 처음 어절부터 마지막 어절까지 오류를 검사하며, 오류가 있다고 판단되는 어절을 대상으로 설정 된 편집거리기반의 선별 후보어 집합을 얻어 전체 문맥과 각 후보어 간의 거리 값을 계산하여 순위화하여 최종 교정어를 제시하고,최종 교정어와 교정 대상어가 같을 경우 오류가 아니고, 최종 교정어와 교정 대상어가 다를 경우 오류로 판단돼 교정어가 대치되는 것을 특징으로 한다.
으로 구하고, 는 마스크 언어 모형에서 추출된 각 후보와 주변문맥이 이루는 확률 값이고, 마스크 언어 모형에서의 출력과 같이 까지의 다중 출력값을 결과로 낼 때 사용하는 함수를 이용해 거리를 확률로 계산하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법은 다음과 같은 효과가 있다.
첫째, 문맥의존 철자오류 교정 과정에서 주변 문맥을 더욱 넓게 참조함으로 문법적, 의미적으로 심도 깊은 분석을 통해 문서 교정의 성능을 상당히 높일 수 있다.
둘째, 단어와 단어의 분석 보다 문장 단위의 정보를 처리하는 심화학습 기술을 이용하여 문장의 정보를 유연하게 처리하므로 문맥의존 철자오류 교정 시스템의 성능을 상당히 높일 수 있다.
셋째, 마스크 언어 모형은 단어를 세부 단위로 나누어 처리하므로 형태적으로 비슷한 미등록어에 대한 처리가 가능하므로 단어 사전 이외의 오류에도 처리가 가능하다.
넷째, 문서 교정 과정에서 난도가 가장 높은 문맥의존 철자오류를 교정함으로써 문서 교정기의 성능을 상당히 높일 수 있다.
다섯째, 마스크 언어 모형의 입력 문장에서 마스킹 부분의 단어 예측은 전체 단어 사전을 기반으로 이루어지므로 교정 대상 단어와 형태적으로 먼 거리의 단어의 난도 높은 교정도 가능하며, 마스크 언어 모형을 이용하기 때문에 성능 또한 상당히 높일 수 있다.
도 1은 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 구성도
도 2는 교정 대상 어절 검사부의 상세 구성도
도 3은 마스크 후보 생성부의 상세 구성도
도 4는 마스크 언어 모형의 입/출력 예를 나타낸 구성도
도 5는 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 나타낸 순서도
도 2는 교정 대상 어절 검사부의 상세 구성도
도 3은 마스크 후보 생성부의 상세 구성도
도 4는 마스크 언어 모형의 입/출력 예를 나타낸 구성도
도 5는 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 나타낸 순서도
이하, 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 구성도이다.
본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법은 심화학습을 통해 얻어진 마스크 언어 모형을 통해 교정 대상 어절과 교정 대상 어절을 이루는 전체 문맥과의 관계를 파악하여 교정하는 구성 포함한다.
마스크 언어 모형이란 학습 문서의 문장의 어절을 마스킹하여 마스크를 예측하는 방식으로 매 단계마다 학습된 언어 모형으로 문장의 문맥을 바탕으로 마스크에 올 후보어를 계산한다.
본 발명은 마스크 언어 모형에 마스킹된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하여 최종 교정어를 제시하여 교정 정확도를 높이는 구성을 포함할 수 있다.
본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치는 도 1에서와 같이, 오류를 교정하기 위한 문장을 입력하는 입력부(101)와, 입력부(101)를 통해 입력 된 문장의 어절을 순차적으로 검사하며 어절에 오류가 있는지를 검사하는 교정 대상 어절 검사부(102)와, 어절에 오류가 있다고 판단되었을 때 교정 대상 어절에 대한 후보어들을 선별하는 후보 편집거리 선별부(103)와, 교정 대상 어절을 마스크로 대체하여 마스크의 주변 문맥과 후보어들의 거리 값을 계산하는 마스크 후보 생성부(104)와, 최종적으로 문맥과 가까운 후보어를 제시하는 교정어 제시부(105)를 포함한다.
교정 대상 어절 검사부(102)의 상세 구성은 다음과 같다.
도 2는 교정 대상 어절 검사부의 상세 구성도이다.
교정 대상 어절 검사부(102)는 3-gram 사전을 검색하며, 중심어 위치의 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색하여 통계 후보어 집합을 구성하는 통계 후보어 집합 구성부(21)와, 통계 후보어 집합 구성부(21)의 통계 후보어들의 문맥 확률을 계산하는 문맥 확률 계산부(22)와, 후보어 집합에서 오류 검사 대상 어절이 통계 후보어들에 비해 문맥 확률이 높은지 낮은지만을 기준으로 오류 어절 유무를 판단하는 오류 어절 유무 판단부(23)를 포함한다.
마스크 후보 생성부(104)의 상세 구성은 다음과 같다.
도 3은 마스크 후보 생성부의 상세 구성도이다.
마스크 후보 생성부(104)는 교정 대상 어절을 기반으로 마스크 언어 모형의 전체 사전 단어와의 편집거리를 계산하는 편집 거리 산출부(31)와, 중심어를 기준으로 마스크 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻는 교정 후보어 집합 구성부(32)와, 교정 대상 어절을 마스크로 대체하여 마스크의 주변 문맥과 후보어들의 거리 값을 계산하는 후보어 거리값 산출부(33)를 포함한다.
본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 각 단계별로 구체적으로 설명하면 다음과 같다.
교정 대상 어절 검사부(102)와 마스크 후보 생성부(104)는 각 다른 언어 모형을 사용하며, 언어 모형이란 자연언어나 이해를 위해 사용하는 모형을 말한다.
교정 대상 어절 검사부(102)는 통계적 언어 모형(statistical language model)인 N-gram 모형으로서, 수학식 1은 통계 후보어 집합 가 대치되는 교정 대상 어절의 위치 의 주변 문맥 , , , 에 대해 통계 후보어들 중 최대가 되는 의 문맥 확률을 계산한다.
교정 대상 어절 검사 단계에서만 사용이 되는 통계적 언어 모형은 후보어 집합 에서 교정 대상 어절이 통계 후보어들에 비해 확률이 높은지 낮은지만을 보고 오류 어절 유무를 판단한다.
통계 후보어는 교정 후보어와 다르며, 교정 대상 어절의 검사 과정에서만 사용된다.
통계 후보어는 미리 구축된 3-gram 사전을 통해 얻어지며, 중심어 위치 ‘*'를 기준으로 양쪽 2어절의 범위의 3-gram을 검색하며, 검색 목적은 중심어 위치 '*'에 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색한다.
검색된 단어들은 후보어 집합에 속하게 되며, 현재 교정 대상 검사 어절의 단어와 편집거리를 계산하여 가까운 단어들을 선별하게 된다.
편집거리는 1에서부터 시작하며, 단어 간의 차이 비교를 하는 기준이 되는데 기준 단어로부터 비교 단어의 알파벳이나 음소가 삽입, 삭제, 교환이 이루어짐에 따라서 편집거리가 늘어나게 된다.
예로 기준 단어 '가위'와 비교 단어 '사위'는 'ㄱ'이 'ㅅ'으로 교환이 된 상태이므로 '사위'는 '가위'에 대해서 편집거리가 1이다.
마스크 후보 생성부(104)는 마스크 언어 모형을 사용하며, 마스크 언어 모형의 입/출력 예를 나타내는 구성도 도 2에서처럼 입력 문장에 예측하고 싶은 어절의 위치에 '<mask>'를 대치하여 마스크 언어 모형을 거쳐 해당 어절을 예측하는 모형이다.
마스크 언어 모형은 사전학습을 통해 미리 얻어진 심화학습의 결과물이며, 학습 문장의 일부 어절을 '<mask>'로 마스킹하여 학습을 반복하여 얻어진다.
수학식 3의 교정 후보어 집합을 나타내는 는 수학식 4에서처럼 편집거리 계산함수 를 이용하여 중심어 를 기준으로 마스크 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻은 개의 집합이다.
수학식 3에서의 함수는 교정 후보어 와 전체 문맥인 가 갖는 거리 값을 계산하며, 수학식 5에서처럼 마스킹 문장과 개의 교정 후보어를 입력으로 함수를 이용해서 전체 각 후보어의 문맥과의 거리 값을 얻는다.
수학식 5에서의 는 마스크 언어 모형에서 추출된 각 후보와 주변문맥이 이루는 확률 값으로 마스크 언어 모형에서의 출력과 같이 까지의 다중 출력값을 결과로 낼 때 사용하는 함수를 이용해 거리를 확률로 계산한다.
마스크 언어 모형에서의 계산은 딥러닝 학습에서 모든 데이터를 표현하는 벡터(vector)의 형태로 구성되며, 모든 입력 문장 단어(,)들은 연산을 위해서 벡터로 변환 후 입력된다.
마스크 언어 모형은 미리 학습된 최적의 결과를 연산하는 매개 변수(parameter)를 이용해 입력 문장에 대해서 결과를 벡터의 형태로 계산하며, 최종 출력에서 확률로 계산( 함수)하여 전체 결과의 합이 1이 되는 값을 낸다.
마스크 언어 모형은 양방향의 문맥을 보는 오토인코딩(autoencoding) 계열의 언어 모형에 전체적으로 적용이 되며, 결과 벡터의 내부 연산 방식은 언어 모형에 따라서 구조적으로 다양성을 갖는다.
본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 구체적으로 설명하면 다음과 같다.
도 3은 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 나타낸 순서도이다.
먼저, 문맥의존 철자오류를 검색하고 교정 할 문서를 입력하고(S501), 문서에서의 문장의 어절을 순차적으로 검사를 하며(S502), 어절에 오류가 있는지를 판단한다.(S503)
만약 어절에 문제가 없다면 다음 어절을 검사하고, 어절에 오류가 있다고 판단이 되었을 때 해당 어절은 교정 대상 어절로 결정하여 교정 대상 어절에 마스크를 적용한다.(S504)
교정 후보어를 이용해서 문맥과의 거리를 계산하기에 앞서 계산의 양을 줄기이 위해서 교정 대상 어절을 기반으로 마스크 언어 모형의 전체 사전 단어와의 편집거리를 계산하여 설정된 거리만큼의 후보어를 판별하며(S505), 판별된 후보어를 바탕으로 마스크의 주변 문맥과 각 후보어 간의 거리 값을 마스크 언어 모형을 이용해서 구하여(S506), 가장 높은 1순위를 최종 교정 단어로 선택한다.(S507)
여기서, 교정 단어가 교정 대상 단어와 같다면 교정이 이루어지지 않은 것이고, 교정 단어가 교정 대상 단어와 다르다면 대치를 해서 교정을 하게 된다.
교정 단어를 예측하는 과정이 끝나면 다음 어절이나 문장이 있는지를 판단하며(S508), 시스템을 종료 할 것인지를 결정짓는다.
본 발명에서는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법은 문장 단위를 기준으로 첫 어절부터 끝 어절까지 순차적으로 교정 대상 어절인지를 검사한다.
교정 대상 어절 검사의 예로 '도대체 장모라는 사람이 가위가 왔는디 씨암탉은 못...'이라는 문장이 있었을 때 '도대체', '장모라는', '사람이', '사위가', '왔는디', '씨암탉은', '못', ...을 각 어절이라고 하고, 현재 교정의 검사가 이루어지고 있는 중심 어절을 '사위가'라고 가정한다.
중심 어절 '사위가'를 기준으로 미리 구축된 대용량의 3-gram 사전에서 2어절 범위의 ('장모라는', '사람이', '*'), ('사람이', '*', '왔는디'), ('*', '왔는디', '씨암탉은')을 검색해서 '*'의 위치에 올 수 있는 문맥의 후보어 집합 '시위가', '학교가', '가위가', '도로가' 등을 얻고, 중심 어절 '사위가'와의 편집가리가 가까운 후보어 집합 '서위가', '거위가', '허위가' 등을 얻는다.
다음으로 중심 어절을 기준으로 2어절 범위의 문맥이 이루는 확률을 계산하게 되는데 여기에서 중심 어절 '사위가'가 포함된 2어절 범위의 문맥 '장모라는 사람이 사위가 왔는디 씨암탉은'의 문장 확률과 2어절 범위의 문맥에서 '사위가'를 각 후보어로 대체하여 확률을 계산 값을 비교하였을 때 '사위가'를 포함한 문맥의 확률이 가장 높다면 어절에 오류가 없다고 판단하고, 후보어들 중에서 문맥과 이루는 확률이 '사위가'의 확률 보다 높은 후보어가 있다면 오류가 있다고 판단한다.
교정 대상 어절이라 판단되었을 때 가장 먼저 중심어 '사위가'를 '<mask>'로 대체한 문장 '도대체', '장모라는', '사람이', '<mask>', '왔는디', '씨암탉은', '못', ...를 마스크 언어 모형에 넣는다.
마스크 언어 모형은 심화학습을 통해 미리 학습된 언어 모형이며, 도 2예 에서와 같이 마스크가 된 전체 문맥을 입력으로 출력에서는 중심어를 제외한 전체 문맥을 기반으로 '<mask>'에 올 어절을 예측하는데 학습과정에서 사용된 말뭉치의 전체 삽입(embedding) 단어 사전의 전체를 대상으로 문맥과의 거리를 계산한다.
마스크 언어 모형을 통해 계산되는 양을 줄이기 위해서 삽입 단어 사전 전체에서 '사위가'와 편집거리가 가까운 '서위가', '가위가', '시위가', '사위가', '하위가' 등과 같은 단어들로 선별하고, 이 교정 후보어들 중에서 마스크 언어 모형에서 '<mask>'의 주변 문맥과의 거리 값을 계산하여 순위화를 한다.
1순위의 후보어가 교정 대상 어절 '사위가'와 같다면 어절에는 오류가 없다고 판단하고 다른 후보어 중에서 나타난다면 어절이 오류가 있다고 판단하여 교정을 하게 된다.
이런 과정이 순차적으로 입력 문서가 끝날 때까지 반복되어 최종 교정 결과를 출력하게 된다.
이상에서 설명한 본 발명에 따른 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법은 철자오류 교정 단계에서 마스크 언어 모형에서 얻어지는 교정 대상 어절과 문맥과의 거리 값을 이용하여 다양한 오류에 대한 처리가 가능하도록 한 것으로, 마스크 언어 모형에 마스킹된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하여 최종 교정어를 제시하여 교정 정확도를 높인다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
101. 입력부
102. 교정대상 어절 검사부
103. 후보 편집거리 선별부
104. 마스크 후보 생성부
105. 교정어 제시부
102. 교정대상 어절 검사부
103. 후보 편집거리 선별부
104. 마스크 후보 생성부
105. 교정어 제시부
Claims (13)
- 교정하기 위한 문장을 입력하는 입력부;
입력 문장을 어절 단위로 검사하고 문맥 철자오류를 검색하는 교정 대상 어절 검사부;
교정 대상 어절과 단어 사전 사이의 편집거리를 계산하여 후보 단어를 선별하는 후보 편집거리 선별부;
교정 대상 어절의 주변 전체 문맥과 후보 편집거리 선별부에서 걸러진 후보 단어들 간의 거리를 계산하는 마스크 후보 생성부;
거리 계산 값을 기반으로 최종 교정어를 선택하는 교정어 제시부;를 포함하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치. - 제 1 항에 있어서, 교정 대상 어절 검사부는,
3-gram 사전을 검색하며, 중심어 위치의 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색하여 통계 후보어 집합을 구성하는 통계 후보어 집합 구성부와,
통계 후보어 집합 구성부의 통계 후보어들의 문맥 확률을 계산하는 문맥 확률 계산부와,
후보어 집합에서 오류 검사 대상 어절이 통계 후보어들에 비해 문맥 확률이 높은지 낮은지만을 기준으로 오류 어절 유무를 판단하는 오류 어절 유무 판단부를 포함하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치. - 제 1 항에 있어서, 후보 편집거리 선별부는,
교정 대상 어절과 문맥의존 철자오류 교정에 사용되는 마스크 언어 모형에서 사용하는 전체 단어 사전의 단어 간의 삽입, 삭제, 교환에 대한 설정된 편집거리를 계산하여 전체 단어 사전에서 해당 단어를 선별하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치. - 제 1 항에 있어서, 마스크 후보 생성부는,
교정 대상 어절을 기반으로 마스크 언어 모형의 전체 사전 단어와의 편집거리를 계산하는 편집 거리 산출부와,
중심어를 기준으로 마스크 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻는 교정 후보어 집합 구성부와,
교정 대상 어절을 마스크로 대체하여 마스크의 주변 문맥과 후보어들의 거리 값을 계산하는 후보어 거리값 산출부를 포함하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치. - 제 1 항에 있어서, 교정어 제시부는,
계산된 거리 값을 기반으로 교정 후보어 중에 가장 높은 값을 최종 교정어를 판단하고, 해당 단어를 대치어로 제시하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치. - 문장을 어절 단위로 검사하여 철자오류 교정 대상 어절을 판단하는 단계;
교정 대상 단어와 후보어가 될 언어 모형에서의 사전 단어들 간의 편집거리 계산을 통해 선별하는 단계;
입력 문장에서 교정 대상 어절을 마스킹 한 문장을 이용하여 마스킹 자리를 대체할 전체 선별 단어들과 주변 전체 문맥의 거리를 계산하는 단계;
순위화된 정보를 바탕으로 최종 교정 단어를 제시하는 단계;를 포함하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법. - 제 8 항에 있어서, 선별 단어들과 주변 전체 문맥의 거리를 계산하는 단계는,
교정 대상이 되는 어절이 포함된 문장의 전체 문맥과 편집거리 계산을 통해 선별된 단어들을 교정 후보로 각 후보가 문장에 포함되었을 때 문장의 거리 값을 마스크 언어 모형을 통해 계산하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법. - 제 8 항에 있어서, 선별 단어들과 주변 문맥의 거리를 계산하는 단계는,
마스크 언어 모형에 마스킹 된 문장을 입력하여 선별된 단어들과 문맥간의 거리를 계산하고 거리에 따라서 선별 단어들을 순위화하는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법. - 제 8 항에 있어서, 전체 문장의 문맥의존 철자오류 교정은,
문장의 처음 어절부터 마지막 어절까지 오류를 검사하며, 오류가 있다고 판단되는 어절을 대상으로 설정된 편집거리기반의 선별 후보어 집합을 얻어 전체 문맥과 각 후보어 간의 거리 값을 계산하여 순위화하여 최종 교정어를 제시하고,
최종 교정어와 교정 대상어가 같을 경우 오류가 아니고, 최종 교정어와 교정 대상어가 다를 경우 오류로 판단돼 교정어가 대치되는 것을 특징으로 하는 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/218,909 US20210326525A1 (en) | 2020-04-16 | 2021-03-31 | Device and method for correcting context sensitive spelling error using masked language model |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200046011 | 2020-04-16 | ||
KR20200046011 | 2020-04-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210128315A true KR20210128315A (ko) | 2021-10-26 |
KR102531114B1 KR102531114B1 (ko) | 2023-05-11 |
Family
ID=78268668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200146332A KR102531114B1 (ko) | 2020-04-16 | 2020-11-04 | 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102531114B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114970504A (zh) * | 2022-06-24 | 2022-08-30 | 北京有竹居网络技术有限公司 | 篇章纠错方法、装置、电子设备及存储介质 |
CN115221866A (zh) * | 2022-06-23 | 2022-10-21 | 平安科技(深圳)有限公司 | 一种实体词拼写纠错方法和系统 |
KR20230057238A (ko) * | 2021-10-21 | 2023-04-28 | 부산대학교 산학협력단 | 실시간 채팅 환경에서의 이후 문맥 예측 정보를 이용한 문맥의존 철자오류 교정 장치 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101495240B1 (ko) | 2013-07-12 | 2015-02-25 | 부산대학교 산학협력단 | 교정 어휘 쌍을 이용한 통계적 문맥 철자오류 교정 장치 및 방법 |
KR101500617B1 (ko) | 2013-08-07 | 2015-03-10 | 부산대학교 산학협력단 | 한국어 어휘 의미망을 이용한 문맥 철자오류 교정 장치 및 방법 |
KR101573854B1 (ko) | 2014-07-15 | 2015-12-02 | 부산대학교 산학협력단 | 관계어 기반 확률추정 방법을 이용한 통계적 문맥의존 철자오류 교정 장치 및 방법 |
KR20190133624A (ko) | 2018-05-23 | 2019-12-03 | 부산대학교 산학협력단 | 실시간 오류 후보 생성을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
-
2020
- 2020-11-04 KR KR1020200146332A patent/KR102531114B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101495240B1 (ko) | 2013-07-12 | 2015-02-25 | 부산대학교 산학협력단 | 교정 어휘 쌍을 이용한 통계적 문맥 철자오류 교정 장치 및 방법 |
KR101500617B1 (ko) | 2013-08-07 | 2015-03-10 | 부산대학교 산학협력단 | 한국어 어휘 의미망을 이용한 문맥 철자오류 교정 장치 및 방법 |
KR101573854B1 (ko) | 2014-07-15 | 2015-12-02 | 부산대학교 산학협력단 | 관계어 기반 확률추정 방법을 이용한 통계적 문맥의존 철자오류 교정 장치 및 방법 |
KR20190133624A (ko) | 2018-05-23 | 2019-12-03 | 부산대학교 산학협력단 | 실시간 오류 후보 생성을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
Non-Patent Citations (3)
Title |
---|
Lee et al. "Deep learning-based context-sensitive spelling typing error correction." IEEE Access 8 (2020): 152565-152578. * |
Rani Horev, "BERT Explained: State of the art language model for NLP." [Online], [URL: https://towardsdatascience.com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270]* * |
이정훈 et al. "임베딩 기법을 이용한 문맥의존 철자오류 교정 성능의 비교." 정보과학회논문지 47.2 (2020): 147-154.* * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230057238A (ko) * | 2021-10-21 | 2023-04-28 | 부산대학교 산학협력단 | 실시간 채팅 환경에서의 이후 문맥 예측 정보를 이용한 문맥의존 철자오류 교정 장치 및 방법 |
CN115221866A (zh) * | 2022-06-23 | 2022-10-21 | 平安科技(深圳)有限公司 | 一种实体词拼写纠错方法和系统 |
CN115221866B (zh) * | 2022-06-23 | 2023-07-18 | 平安科技(深圳)有限公司 | 一种实体词拼写纠错方法和系统 |
CN114970504A (zh) * | 2022-06-24 | 2022-08-30 | 北京有竹居网络技术有限公司 | 篇章纠错方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR102531114B1 (ko) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7031101B2 (ja) | 方法、システムおよび有形コンピュータ可読デバイス | |
KR20210128315A (ko) | 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 | |
CN110457708B (zh) | 基于人工智能的词汇挖掘方法、装置、服务器及存储介质 | |
US20210326525A1 (en) | Device and method for correcting context sensitive spelling error using masked language model | |
US20220343084A1 (en) | Translation apparatus, translation method and program | |
CN112883714B (zh) | 基于依赖图卷积和迁移学习的absc任务句法约束方法 | |
CN111177402B (zh) | 基于分词处理的评价方法、装置、计算机设备及存储介质 | |
US20210397787A1 (en) | Domain-specific grammar correction system, server and method for academic text | |
US20220114340A1 (en) | System and method for an automatic search and comparison tool | |
CN112926337B (zh) | 一种结合重构句法信息的端到端方面级情感分析方法 | |
US20230075290A1 (en) | Method for linking a cve with at least one synthetic cpe | |
US20240111956A1 (en) | Nested named entity recognition method based on part-of-speech awareness, device and storage medium therefor | |
CN113705238A (zh) | 基于bert和方面特征定位模型的方面级情感分析方法及模型 | |
CN110874536A (zh) | 语料质量评估模型生成方法和双语句对互译质量评估方法 | |
CN115757695A (zh) | 一种日志语言模型训练方法及系统 | |
KR102517971B1 (ko) | 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 | |
CN114781651A (zh) | 基于对比学习的小样本学习鲁棒性提升方法 | |
CN116861269A (zh) | 工程领域的多源异构数据融合及分析方法 | |
CN111144134B (zh) | 基于OpenKiWi的翻译引擎自动化评测系统 | |
CN117648933A (zh) | 基于深度学习和知识库的自然语言歧义消解方法和系统 | |
KR102517983B1 (ko) | 생성적 적대 신경망을 이용한 문맥의존 철자오류 교정 장치 및 방법 | |
CN116757195A (zh) | 一种基于提示学习的隐性情感识别方法 | |
Gao et al. | Metamorphic testing of machine translation models using back translation | |
Jubair et al. | A multi‐agent K‐means with case‐based reasoning for an automated quality assessment of software requirement specification | |
Husain | Study of computational techniques to deal with ambiguity in SRS documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |