KR102517971B1 - 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 - Google Patents

자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 Download PDF

Info

Publication number
KR102517971B1
KR102517971B1 KR1020200146334A KR20200146334A KR102517971B1 KR 102517971 B1 KR102517971 B1 KR 102517971B1 KR 1020200146334 A KR1020200146334 A KR 1020200146334A KR 20200146334 A KR20200146334 A KR 20200146334A KR 102517971 B1 KR102517971 B1 KR 102517971B1
Authority
KR
South Korea
Prior art keywords
word
candidate
context
correction
language model
Prior art date
Application number
KR1020200146334A
Other languages
English (en)
Other versions
KR20220021836A (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 부산대학교 산학협력단
Publication of KR20220021836A publication Critical patent/KR20220021836A/ko
Application granted granted Critical
Publication of KR102517971B1 publication Critical patent/KR102517971B1/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/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 교정 대상 단어와 문맥과의 연관성을 더욱 정확히 파악하여 텍스트로 작성된 일반 문서에서 나타나는 다양한 오류에 대한 대응이 가능하도록 한 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법에 관한 것으로, 교정하기 위한 문장을 입력하는 입력부;입력 문장을 어절 단위로 검사하고 문맥 철자오류를 검색하는 교정 대상 어절 검사부;교정 대상 어절과 단어 사전 사이의 편집거리를 계산하여 후보 단어를 선별하는 후보 편집거리 선별부;교정 대상 어절의 주변 전체 문맥과 후보 편집거리 선별부에서 걸러진 후보 단어들 간의 거리를 계산하는 예측 후보 생성부;거리 계산 값을 기반으로 최종 교정어를 선택하는 교정어 제시부;를 포함하는 것이다.

Description

자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법{Context sensitive spelling error correction system or method using Autoregressive language model}
본 발명은 철자 오류 교정에 관한 것으로, 구체적으로 교정 대상 단어와 문맥과의 연관성을 더욱 정확히 파악하여 텍스트로 작성된 일반 문서에서 나타나는 다양한 오류에 대한 대응이 가능하도록 한 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법에 관한 것이다.
최근 세계적으로 컴퓨터 관련 다양한 영역에서 심층학습(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호)
종래 기술에서의 문맥의존 철자오류 교정은 통계 방식이 주류였으며, 통계적 교정 방식에는 명확한 한계가 있다. 한계점으로 교정 대상 단어의 주변 문맥을 넓게 참조하기가 어렵다는 점이며, 넓은 문맥의 범위를 참조하려 할수록 통계 빈도 정보를 얻기가 힘들어지고 검색 비용 또한 늘어남에 있다.
문맥의존 철자오류 교정에서 문맥을 넓게 참조할수록 다양한 정보를 이용하여 교정에 사용할 수 있는데 이런 점은 자연어처리 각 분야에서도 항상 필요로 하던 주요 향상점이였다.
따라서, 교정 대상 단어와 문맥과의 연관성을 더욱 정확히 파악하여 교정하는 기술의 개발이 요구되고 있다.
대한민국 등록특허 제10-1573854호 대한민국 공개특허 제10-2020-0083111호 대한민국 공개특허 제10-2019-0133624호
본 발명은 종래 기술의 철자오류 교정 기술의 문제점을 해결하기 위한 것으로, 교정 대상 단어와 문맥과의 연관성을 더욱 정확히 파악하여 텍스트로 작성된 일반 문서에서 나타나는 다양한 오류에 대한 대응이 가능하도록 한 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 교정 대상 어절과 주변 문맥을 분석하는 과정에서 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치가 더 넓은 문맥을 참조하여 실시간으로 처리가 가능하도록 한 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 심화학습을 통해 얻어진 사전학습(pre-training)정보를 이용하여 문맥의존 철자오류 교정에 적용하며, 학습 과정에서 문장의 다음 어절을 예측하는 방식으로 학습하여 철자오류에 강건(robust)하도록 학습이 되어있는 언어 모형을 바탕으로 한 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 철자오류 중 단어 사전(dictionary)에서 단순하게 유추할 수 없고 교정에 있어서 난도가 가장 높은 문맥의존 철자오류에 대하여 교정 정확도를 높일 수 있도록 한 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치는 교정하기 위한 문장을 입력하는 입력부;입력 문장을 어절 단위로 검사하고 문맥 철자오류를 검색하는 교정 대상 어절 검사부;교정 대상 어절과 단어 사전 사이의 편집거리를 계산하여 후보 단어를 선별하는 후보 편집거리 선별부;교정 대상 어절의 주변 전체 문맥과 후보 편집거리 선별부에서 걸러진 후보 단어들 간의 거리를 계산하는 예측 후보 생성부;거리 계산 값을 기반으로 최종 교정어를 선택하는 교정어 제시부;를 포함하는 것을 특징으로 한다.
여기서, 교정 대상 어절 검사부는, 3-gram 사전을 검색하며, 중심어 위치의 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색하여 통계 후보어 집합을 구성하는 통계 후보어 집합 구성부와,통계 후보어 집합 구성부의 통계 후보어들의 문맥 확률을 계산하는 문맥 확률 계산부와,후보어 집합에서 오류 검사 대상 어절이 통계 후보어들에 비해 문맥 확률이 높은지 낮은지만을 기준으로 오류 어절 유무를 판단하는 오류 어절 유무 판단부를 포함하는 것을 특징으로 한다.
그리고 예측 후보 생성부는, 교정 후보어와 전체 문맥이 갖는 거리 값을 산출하는 편집 거리 산출부와,중심어를 기준으로 자동회귀 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻는 교정 후보어 집합 구성부와,교정 예측 단어가 설정된 문장과 교정 후보어를 입력으로 전체 각 후보어의 문맥과의 거리 값을 얻는 후보어 거리값 산출부를 포함하는 것을 특징으로 한다.
그리고 예측 후보 생성부의 입력 문장의 전체어절
Figure 112020117924527-pat00001
은 교정 대상 어절
Figure 112020117924527-pat00002
가 예측 대상 어절이 되었을 때
Figure 112020117924527-pat00003
로 표현 하며,
Figure 112020117924527-pat00004
Figure 112020117924527-pat00005
의 언어 모형에서 각각 처리하기 위해서
Figure 112020117924527-pat00006
Figure 112020117924527-pat00007
로 입력을 받고,후보 선별부에서 선별된 단어 집합
Figure 112020117924527-pat00008
가 “target word”태그에 대체되어 문맥과 선별 단어 간의 거리 값이 계산되는 것을 특징으로 한다.
그리고 교정어 제시부는, 교정 단어를 예측하기 위해서
Figure 112022121613114-pat00009
Figure 112022121613114-pat00010
의 각 언어 모형의 양방향의 정보를 사용하며,
Figure 112022121613114-pat00011
Figure 112022121613114-pat00012
언어 모형에서 계산된 전체 단어 사전의 계산 값은
Figure 112022121613114-pat00013
함수를 이용해서 주변 문맥과 각 후보어의 거리 값을 구하고, 계산된 거리 값을 기반으로 교정 후보어 중에 가장 높은 값을 최종 교정어로 판단하고, 해당 단어를 대치어로 제시하는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법은 문장을 어절 단위로 검사하여 철자오류 교정 대상 어절을 판단하는 단계;교정 대상 단어와 후보어가 될 언어 모형에서의 사전 단어들 간의 편집거리 계산을 통해 선별하는 단계;입력 문장에서 교정 대상 어절을 예측할 문장을 이용하여 오류로 예상되는 단어를 대체할 전체 선별 단어들과 각 단방향의 주변 문맥의 거리를 계산하여 양방향의 문맥 정보를 합산하여 최종적으로 거리 값을 구하는 단계;순위화된 정보를 바탕으로 최종 교정 단어를 제시하는 단계;를 포함하는 것을 특징으로 한다.
여기서, 선별 단어들과 주변 전체 문맥의 거리를 계산하는 단계는, 교정 대상이 되는 어절이 포함된 문장의 전체 문맥과 편집거리 계산을 통해 선별된 단어들을 교정 후보로 각 후보가 문장에 포함되었을 때 문장의 거리 값을 자동회귀 언어 모형을 통해 계산하는 것을 특징으로 한다.
그리고 양방향의 문맥 정보를 합산하여 최종적으로 거리 값을 구하는 단계는, 자동회귀 언어 모형에 교정 예측 어절을 태그하고 문장을 입력하여 교정 예측 어절을 기준으로 양방향의 주변 문맥과 선별된 단어들과의 거리를 계산하고 합하여 거리에 따라서 선별 단어들을 순위화하는 것을 특징으로 한다.
그리고 양방향의 문맥 정보를 합산하여 최종적으로 거리 값을 구하는 단계는, 양방향의 정보를 얻기 위해서
Figure 112020117924527-pat00014
Figure 112020117924527-pat00015
의 각 언어 모형의 정보를 사용하고, 각 모형에서 계산된 전체 단어 사전의 계산 값은
Figure 112020117924527-pat00016
함수를 이용해서 주변 문맥과 각 후보어의 거리 값을,
Figure 112020117924527-pat00017
으로 구하고,
Figure 112020117924527-pat00018
는 자동회귀 언어 모형에서 추출된 각 후보와 주변문맥이 이루는 벡터(vector)의 연산 점수 값인 것을 특징으로 한다.
그리고 자동회귀 언어 모형에서의 계산은 딥러닝 학습에서 모든 데이터를 표현하는 벡터의 형태로 구성되며, 모든 입력 문장 단어(
Figure 112020117924527-pat00019
,
Figure 112020117924527-pat00020
)들은 연산을 위해서 벡터로 변환 후 입력되고, 자동회귀 언어 모형은 미리 학습된 최적의 결과를 연산하는 매개 변수(parameter)를 이용해 입력 문장에 대해서 결과를 벡터의 형태로 계산하는 것을 특징으로 한다.
그리고 전체 문장의 문맥의존 철자오류 교정은, 문장의 처음 어절부터 마지막 어절까지 오류를 검사하며, 오류가 있다고 판단되는 어절을 대상으로 설정된 편집거리기반의 선별 후보어 집합을 얻어 전체 문맥과 각 후보어 간의 거리 값을 계산하여 순위화하여 최종 교정어를 제시하고,최종 교정어와 교정 대상어가 같을 경우 오류가 아니고, 최종 교정어와 교정 대상어가 다를 경우 오류로 판단돼 교정어가 대치되는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법은 다음과 같은 효과가 있다.
첫째, 문맥의존 철자오류 교정 과정에서 단 방향의 주변 문맥을 더욱 넓게 참조함으로 문법적, 의미적으로 심도 깊은 분석을 통해 문서 교정의 성능을 상당히 높일 수 있다.
둘째, 단어와 단어의 분석 보다 문장 단위의 정보를 처리하는 심화학습 기술을 이용하여 문장의 정보를 유연하게 처리하므로 문맥의존 철자오류 교정 시스템의 성능을 상당히 높일 수 있다.
셋째, 자동회귀 언어 모형은 단어를 세부 단위로 나누어 처리하므로 형태적으로 비슷한 미등록어에 대한 처리가 가능하므로 단어 사전 이외의 오류에도 처리가 가능하다.
넷째, 문서 교정에서 난도가 가장 높은 문맥의존 철자오류를 교정함으로써 문서 교정기의 성능을 상당히 높일 수 있다.
다섯째, 자동회귀 언어 모형의 입력 문장에서 교정 단어 예측은 전체 단어 사전을 기반으로 이루어지므로 교정 대상 단어와 형태적으로 먼 거리의 단어의 난도 높은 교정도 가능하며, 자동회귀 언어 모형을 이용하기 때문에 성능 또한 상당히 높일 수 있다.
도 1은 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 구성도
도 2는 교정 대상 어절 검사부의 상세 구성도
도 3은 예측 후보 생성부의 상세 구성도
도 4는 자동회귀 언어 모형의 입/출력 예를 나타낸 구성도
도 5는 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 나타낸 순서도
이하, 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 구성도이다.
본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법은 심화학습을 통해 얻어진 자동회귀 언어 모형을 통해 교정 대상 어절과 교정 대상 어절의 주변 문맥과의 관계를 파악하여 교정하는 구성 포함한다.
자동회귀 언어 모형이란 학습 문서의 문장의 다음 어절을 예측하는 방식으로 매 단계마다 학습된 언어 모형으로 문장의 문맥을 바탕으로 문장의 다음 어절에 올 후보어를 계산한다.
본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치는 도 1에서와 같이, 오류를 교정하기 위한 문장을 입력하는 입력부(101)와, 입력부(101)를 통해 입력된 문장의 어절의 오류를 순차적으로 검사하는 교정 대상 어절 검사부(102)와, 어절에 오류가 있다고 판단되었을 때 교정 대상 어절에 대한 교정 후보어들을 선별하는 후보 선별부(103)와, 교정 대상 어절 위치의 주변 문맥과 후보어들의 거리 값을 계산하는 예측 후보 생성부(104)와, 예측 후보 생성부(104)에서 계산된 거리 값이 가장 높은 후보어를 대치어로 제시하는 교정어 제시부(105)를 포함한다.
여기서, 교정 대상 어절 검사부(102)의 상세 구성은 다음과 같다.
도 2는 교정 대상 어절 검사부의 상세 구성도이다.
교정 대상 어절 검사부(102)는 3-gram 사전을 검색하며, 중심어 위치의 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색하여 통계 후보어 집합을 구성하는 통계 후보어 집합 구성부(21)와, 통계 후보어 집합 구성부(21)의 통계 후보어들의 문맥 확률을 계산하는 문맥 확률 계산부(22)와, 후보어 집합에서 오류 검사 대상 어절이 통계 후보어들에 비해 문맥 확률이 높은지 낮은지만을 기준으로 오류 어절 유무를 판단하는 오류 어절 유무 판단부(23)를 포함한다.
예측 후보 생성부(104)의 상세 구성은 다음과 같다.
도 3은 예측 후보 생성부의 상세 구성도이다.
예측 후보 생성부(104)는 교정 후보어와 전체 문맥이 갖는 거리 값을 산출하는 편집 거리 산출부(31)와, 중심어를 기준으로 자동회귀 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻는 교정 후보어 집합 구성부(32)와, 교정 예측 단어가 설정된 문장과 교정 후보어를 입력으로 전체 각 후보어의 문맥과의 거리 값을 얻는 후보어 거리값 산출부(33)를 포함한다.
그리고 예측 후보 생성부(104)의 입력 문장의 전체어절
Figure 112020117924527-pat00021
은 교정 대상 어절
Figure 112020117924527-pat00022
가 예측 대상 어절이 되었을 때
Figure 112020117924527-pat00023
로 표현 하며,
Figure 112020117924527-pat00024
Figure 112020117924527-pat00025
의 언어 모형에서 각각 처리하기 위해서
Figure 112020117924527-pat00026
Figure 112020117924527-pat00027
로 입력을 받는다.
후보 선별부(103)에서 선별된 단어 집합
Figure 112020117924527-pat00028
가 “target word”태그에 대체되어 문맥과 선별 단어 간의 거리 값이 계산된다.
그리고 교정어 제시부(105)는 교정 단어를 예측하기 위해서
Figure 112020117924527-pat00029
Figure 112020117924527-pat00030
의 각 언어 모형의 양방향의 정보를 사용하며,
Figure 112020117924527-pat00031
Figure 112020117924527-pat00032
언어 모형에서 계산된 전체 단어 사전의 계산 값은
Figure 112020117924527-pat00033
함수를 이용해서 주변 문맥과 각 후보어의 거리 값을 구한다.
계산된 거리 값을 기반으로 교정 후보어 중에 가장 높은 값을 최종 교정어로 판단하고, 해당 단어를 대치어로 제시한다.
본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 각 단계별로 구체적으로 설명하면 다음과 같다.
교정 대상 어절 검사부(102)와 예측 후보 생성부(104)는 각 다른 언어 모형을 사용하며, 언어 모형이란 자연언어나 이해를 위해 사용하는 모형을 말한다.
교정 대상 어절 검사부(102)는 통계적 언어 모형(statistical language model)인 N-gram 모형으로서, 수학식 1은 통계 후보어 집합
Figure 112022121613114-pat00034
가 대치되는 교정 대상 어절의 위치
Figure 112022121613114-pat00035
의 주변 문맥
Figure 112022121613114-pat00036
,
Figure 112022121613114-pat00037
,
Figure 112022121613114-pat00038
,
Figure 112022121613114-pat00039
에 대해 통계 후보어들 중 최대가 되는
Figure 112022121613114-pat00040
의 문맥 확률을 계산한다.
오류 어절 검사 단계에서만 사용이 되는 통계적 언어 모형은 후보어 집합
Figure 112020117924527-pat00041
에서 오류 검사 대상 어절이 통계 후보어들에 비해 확률이 높은지 낮은지만을 보고 오류 어절 유무를 판단한다.
통계 후보어는 교정 후보어와 다르며, 교정 대상 어절의 검사 과정에서만 사용된다.
Figure 112020117924527-pat00042
통계 후보어는 미리 구축된 3-gram 사전을 통해 얻어지며, 중심어 위치 '*'를 기준으로 양쪽 2어절의 범위의 3-gram을 검색하며, 검색 목적은 중심어 위치 '*'에 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색한다.
검색된 단어들은 후보어 집합에 속하게 되며, 현재 교정 대상 검사 어절의 단어와 편집거리를 계산하여 가까운 단어들을 선별하게 된다.
편집거리는 1에서부터 시작하며, 단어 간의 차이 비교를 하는 기준이 되는데 기준 단어로부터 비교 단어의 알파벳이나 음소가 삽입, 삭제, 교환이 이루어짐에 따라서 편집거리가 늘어나게 된다.
예로 기준 단어 '가위'와 비교 단어 '사위'는 'ㄱ'이 'ㅅ'으로 교환이 된 상태이므로 '사위'는 '가위'에 대해서 편집거리가 1이다.
Figure 112020117924527-pat00043
예측 후보 생성부(104)는 자동회귀 언어 모형을 사용하며, 자동회귀 언어 모형의 입/출력 예를 나타내는 구성도 도 2에서처럼 입력 문장에 예측하고 싶은 어절의 위치에 '<target word>'를 대치하여 자동회귀 언어 모형을 거쳐 해당 어절을 예측하는 모형이다.
자동회귀 언어 모형은 사전학습을 통해 미리 얻어진 심화학습의 결과물이며, 학습에서는 문장의 다음 단어를 예측하는 방식으로 학습을 반복하여 얻어진다.
수학식 3에서 자동회귀 언어 모형에 입력되는 문장
Figure 112020117924527-pat00044
와 선별부에서 선별된 교정 후보어 집합을
Figure 112020117924527-pat00045
라고 하고, 문맥의존 철자오류 교정 거리 값이
Figure 112020117924527-pat00046
최대가 되는
Figure 112020117924527-pat00047
를 선택하게 된다.
Figure 112020117924527-pat00048
수학식 3의 교정 후보어 집합을 나타내는
Figure 112020117924527-pat00049
는 수학식 4에서처럼 편집거리 계산함수
Figure 112020117924527-pat00050
를 이용하여 중심어
Figure 112020117924527-pat00051
를 기준으로 자동회귀 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻은
Figure 112020117924527-pat00052
개의 집합이다.
Figure 112020117924527-pat00053
수학식 3에서의
Figure 112020117924527-pat00054
함수는 교정 후보어
Figure 112020117924527-pat00055
와 전체 문맥인
Figure 112020117924527-pat00056
가 갖는 거리 값을 계산하며, 수학식 5에서처럼 교정 예측 단어가 설정된 문장과
Figure 112020117924527-pat00057
개의 교정 후보어를 입력으로
Figure 112020117924527-pat00058
함수를 이용해서 전체 각 후보어의 문맥과의 거리 값을 얻는다.
Figure 112020117924527-pat00059
함수에서는 자동회귀 언어 모형의 특성상 단방향의 학습 정보를 이용하여 문장의 다음 단어를 예측하므로 양방향의 정보를 얻기 위해서
Figure 112020117924527-pat00060
Figure 112020117924527-pat00061
의 각 언어 모형의 정보를 사용한다.
각 모형에서 계산된 전체 단어 사전의 계산 값은
Figure 112020117924527-pat00062
함수를 이용해서 주변 문맥과 각 후보어의 거리 값을 구하게 된다.
Figure 112020117924527-pat00063
수학식 5에서의
Figure 112020117924527-pat00064
는 자동회귀 언어 모형에서 추출된 각 후보와 주변문맥이 이루는 벡터(vector)의 연산 점수 값이며, 도 2에서의 출력 벡터와 전체 단어의 벡터 값인 토큰 임베딩의 곱셈 연산이 이에 해당하는 점수를 얻는 연산이다.
자동회귀 언어 모형에서의 계산은 딥러닝 학습에서 모든 데이터를 표현하는 벡터의 형태로 구성되며, 모든 입력 문장 단어(
Figure 112020117924527-pat00065
,
Figure 112020117924527-pat00066
)들은 연산을 위해서 벡터로 변환 후 입력된다.
자동회귀 언어 모형은 미리 학습된 최적의 결과를 연산하는 매개 변수(parameter)를 이용해 입력 문장에 대해서 결과를 벡터의 형태로 계산한다.
자동회귀 언어 모형은 단방향의 문맥을 보는 자동회귀(autoregressive) 계열의 언어 모형에 전체적으로 적용이 되며, 결과 벡터의 내부 연산 방식은 언어 모형에 따라서 구조적으로 다양성을 갖는다.
본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 구체적으로 설명하면 다음과 같다.
도 3은 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법을 나타낸 순서도이다.
먼저, 문맥의존 철자오류를 검색하고 교정 할 문서를 입력하고(S501), 문서에서의 문장 내 어절을 순차적으로 검사를 하며(S502), 어절에 오류가 있는지를 판단한다.(S503)
만약 어절에 문제가 없다면 다음 어절을 검사하고, 어절에 오류가 있다고 판단이 되었을 때 해당 어절은 교정 대상 어절로 결정하여 교정 대상 어절에 태그('<target word>')를 적용한다.(S504)
교정 후보어를 이용해서 문맥과의 거리를 계산하기에 앞서 계산의 양을 줄기이 위해서 교정 대상 어절을 기반으로 자동회귀 언어 모형의 전체 사전 단어와의 편집거리를 계산하여 설정된 거리만큼의 후보어를 판별하며(S505), 판별된 후보어를 바탕으로 예측 대상 어절의 주변 문맥과 각 후보어 간의 거리 값을 자동회귀 언어 모형을 이용해서 구하여(S506), 가장 높은 1순위를 최종 교정 단어로 선택한다.(S507)
여기서, 교정 단어가 교정 대상 단어와 같다면 교정이 이루어지지 않은 것이고, 교정 단어가 교정 대상 단어와 다르다면 대치를 해서 교정을 하게 된다.
교정 단어를 예측하는 과정이 끝나면 다음 어절이나 문장이 있는지를 판단하며(S508), 시스템을 종료할 것인지를 결정짓는다.
본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법은 문장 단위를 기준으로 첫 어절부터 끝 어절까지 순차적으로 오류를 검사한다.
교정 대상 어절의 오류 검사의 예로 '도대체 장모라는 사람이 가위가 왔는디 씨암탉은 못...'이라는 문장이 있었을 때 '도대체', '장모라는', '사람이', '사위가', '왔는디', '씨암탉은', '못', ...을 각 어절이라고 하고, 현재 오류의 검사가 이루어지고 있는 중심 어절을 '사위가'라고 가정한다.
중심 어절 '사위가'를 기준으로 미리 구축된 대용량의 3-gram 사전에서 2어절 범위의 ('장모라는', '사람이', '*'), ('사람이', '*', '왔는디'), ('*', '왔는디', '씨암탉은')을 검색해서 '*'의 위치에 올 수 있는 문맥의 후보어 집합 '시위가', '학교가', '가위가', '도로가' 등을 얻고, 중심 어절 '사위가'와의 편집가리가 가까운 후보어 집합 '서위가', '거위가', '허위가' 등을 선별해서 얻는다.
다음으로 철자오류 검색 대상 어절을 기준으로 2어절 범위의 문맥이 이루는 확률을 계산하게 되는데 여기에서 중심 어절 '사위가'가 포함된 2어절 범위의 문맥 '장모라는 사람이 사위가 왔는디 씨암탉은'의 문장 확률과 2어절 범위의 문맥에서 '사위가'를 각 후보어로 대체하여 확률을 계산 값을 비교하였을 때 '사위가'를 포함한 문맥의 확률이 가장 높다면 어절에 오류가 없다고 판단하고, 후보어들 중에서 문맥과 이루는 확률이 '사위가'의 확률 보다 높은 후보어가 있다면 오류가 있다고 판단한다.
교정 대상 어절이라 판단되었을 때 가장 먼저 중심어 '사위가'를 '<target word>'로 대체한 문장 '도대체', '장모라는', '사람이', '<target word>', '왔는디', '씨암탉은', '못', ...를 자동회귀 언어 모형에 넣는다.
자동회귀 언어 모형은 심화학습을 통해 미리 학습된 언어 모형이며, 도 2예 에서와 같이 교정 대상 어절(예측 대상 단어)이 중심어로 설정된 전체 문맥을 입력으로 하며, 출력에서는 중심어를 제외한 전체 문맥을 기반으로 중심어를 예측하는데 학습과정에서 사용된 말뭉치의 삽입(embedding) 단어 사전의 전체를 대상으로 문맥과의 거리를 계산한다.
자동회귀 언어 모형을 통해 계산되는 양을 줄이기 위해서 삽입 단어 사전 전체에서 '사위가'와 편집거리가 가까운 '서위가', '가위가', '시위가', '사위가', '하위가' 등과 같은 단어들로 선별하고, 이 교정 후보어들 중에서 자동회귀 언어 모형에서 교정 대상 어절의 주변 문맥과의 거리 값을 계산하여 순위화를 한다.
1순위의 후보어가 교정 대상 어절 '사위가'와 같다면 어절에는 오류가 없다고 판단하고 다른 후보어 중에서 나타난다면 어절이 오류가 있다고 판단하여 교정을 하게 된다.
이런 과정이 순차적으로 입력 문서가 끝날 때까지 반복되어 최종 교정 결과를 출력하게 된다.
이상에서 설명한 본 발명에 따른 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법은 철자오류 교정 단계에서 자동회귀 언어 모형에서 얻어지는 교정 대상 어절과 문맥과의 거리 값을 이용하여 다양한 오류에 대한 처리가 가능하도록 한 것이다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
101. 입력부
102. 교정 대상 어절 검사부
103. 후보 선별부
104. 예측 후보 생성부
105. 교정어 제시부

Claims (11)

  1. 교정하기 위한 문장을 입력하는 입력부;
    입력 문장을 어절 단위로 검사하고 문맥 철자오류를 검색하는 교정 대상 어절 검사부;
    교정 대상 어절과 단어 사전 사이의 편집거리를 계산하여 후보 단어를 선별하는 후보 편집거리 선별부;
    교정 대상 어절의 주변 전체 문맥과 후보 편집거리 선별부에서 걸러진 후보 단어들 간의 거리를 계산하는 예측 후보 생성부;
    거리 계산 값을 기반으로 최종 교정어를 선택하는 교정어 제시부;를 포함하고,
    상기 예측 후보 생성부는, 교정 후보어와 전체 문맥이 갖는 거리 값을 산출하는 편집 거리 산출부와, 중심어를 기준으로 자동회귀 언어 모형의 전체 삽입 단어 사전과 설정된 편집거리를 만족하는 교정 후보어 얻는 교정 후보어 집합 구성부와, 교정 예측 단어가 설정된 문장과 교정 후보어를 입력으로 전체 각 후보어의 문맥과의 거리 값을 얻는 후보어 거리값 산출부를 포함하는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치.
  2. 제 1 항에 있어서, 교정 대상 어절 검사부는,
    3-gram 사전을 검색하며, 중심어 위치의 주변 문맥 단어와 나타나는 모든 통계 후보 단어를 검색하여 통계 후보어 집합을 구성하는 통계 후보어 집합 구성부와,
    통계 후보어 집합 구성부의 통계 후보어들의 문맥 확률을 계산하는 문맥 확률 계산부와,
    후보어 집합에서 오류 검사 대상 어절이 통계 후보어들에 비해 문맥 확률이 높은지 낮은지만을 기준으로 오류 어절 유무를 판단하는 오류 어절 유무 판단부를 포함하는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치.
  3. 삭제
  4. 제 1 항에 있어서, 예측 후보 생성부의 입력 문장의 전체어절
    Figure 112022121613114-pat00067
    은 교정 대상 어절
    Figure 112022121613114-pat00068
    가 예측 대상 어절이 되었을 때
    Figure 112022121613114-pat00069
    로 표현 하며,
    Figure 112022121613114-pat00070
    Figure 112022121613114-pat00071
    의 언어 모형에서 각각 처리하기 위해서
    Figure 112022121613114-pat00072
    Figure 112022121613114-pat00073
    로 입력을 받고,
    후보 선별부에서 선별된 단어 집합
    Figure 112022121613114-pat00074
    가 “target word”태그에 대체되어 문맥과 선별 단어 간의 거리 값이 계산되는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치.
  5. 제 1 항에 있어서, 교정어 제시부는,
    교정 단어를 예측하기 위해서
    Figure 112022121613114-pat00075
    Figure 112022121613114-pat00076
    의 각 언어 모형의 양방향의 정보를 사용하며,
    Figure 112022121613114-pat00077
    Figure 112022121613114-pat00078
    언어 모형에서 계산된 전체 단어 사전의 계산 값은
    Figure 112022121613114-pat00079
    함수를 이용해서 주변 문맥과 각 후보어의 거리 값을 구하고,
    계산된 거리 값을 기반으로 교정 후보어 중에 가장 높은 값을 최종 교정어로 판단하고, 해당 단어를 대치어로 제시하는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치.
  6. 입력부를 통하여 교정하기 위한 문장이 입력되면 교정 대상 어절 검사부에서 문장을 어절 단위로 검사하여 철자오류 교정 대상 어절을 판단하는 단계;
    후보 편집거리 선별부에서 교정 대상 단어와 후보어가 될 언어 모형에서의 사전 단어들 간의 편집거리 계산을 통해 선별하는 단계;
    예측 후보 생성부에서 입력 문장에서 교정 대상 어절을 예측할 문장을 이용하여 오류로 예상되는 단어를 대체할 전체 선별 단어들과 각 단방향의 주변 문맥의 거리를 계산하여 양방향의 문맥 정보를 합산하여 최종적으로 거리 값을 구하는 단계;
    교정어 제시부에서 순위화된 정보를 바탕으로 최종 교정 단어를 제시하는 단계;를 포함하고,
    선별 단어들과 주변 전체 문맥의 거리를 계산하는 단계는, 교정 대상이 되는 어절이 포함된 문장의 전체 문맥과 편집거리 계산을 통해 선별된 단어들을 교정 후보로 각 후보가 문장에 포함되었을 때 문장의 거리 값을 자동회귀 언어 모형을 통해 계산하고,
    양방향의 문맥 정보를 합산하여 최종적으로 거리 값을 구하는 단계는, 자동회귀 언어 모형에 교정 예측 어절을 태그하고 문장을 입력하여 교정 예측 어절을 기준으로 양방향의 주변 문맥과 선별된 단어들과의 거리를 계산하고 합하여 거리에 따라서 선별 단어들을 순위화하는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법.
  7. 삭제
  8. 삭제
  9. 제 6 항에 있어서, 양방향의 문맥 정보를 합산하여 최종적으로 거리 값을 구하는 단계는,
    양방향의 정보를 얻기 위해서
    Figure 112022121613114-pat00080
    Figure 112022121613114-pat00081
    의 각 언어 모형의 정보를 사용하고, 각 모형에서 계산된 전체 단어 사전의 계산 값은
    Figure 112022121613114-pat00082
    함수를 이용해서 주변 문맥과 각 후보어의 거리 값을,
    Figure 112022121613114-pat00083
    으로 구하고,
    Figure 112022121613114-pat00084
    는 자동회귀 언어 모형에서 추출된 각 후보와 주변문맥이 이루는 벡터(vector)의 연산 점수 값인 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법.
  10. 제 6 항에 있어서, 자동회귀 언어 모형에서의 계산은 딥러닝 학습에서 모든 데이터를 표현하는 벡터의 형태로 구성되며, 모든 입력 문장 단어(
    Figure 112022121613114-pat00085
    ,
    Figure 112022121613114-pat00086
    )들은 연산을 위해서 벡터로 변환 후 입력되고,
    자동회귀 언어 모형은 미리 학습된 최적의 결과를 연산하는 매개 변수(parameter)를 이용해 입력 문장에 대해서 결과를 벡터의 형태로 계산하는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법.
  11. 제 6 항에 있어서, 전체 문장의 문맥의존 철자오류 교정은,
    문장의 처음 어절부터 마지막 어절까지 오류를 검사하며, 오류가 있다고 판단되는 어절을 대상으로 설정된 편집거리기반의 선별 후보어 집합을 얻어 전체 문맥과 각 후보어 간의 거리 값을 계산하여 순위화하여 최종 교정어를 제시하고,
    최종 교정어와 교정 대상어가 같을 경우 오류가 아니고, 최종 교정어와 교정 대상어가 다를 경우 오류로 판단돼 교정어가 대치되는 것을 특징으로 하는 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 방법.

KR1020200146334A 2020-08-14 2020-11-04 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 KR102517971B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200102273 2020-08-14
KR20200102273 2020-08-14

Publications (2)

Publication Number Publication Date
KR20220021836A KR20220021836A (ko) 2022-02-22
KR102517971B1 true KR102517971B1 (ko) 2023-04-05

Family

ID=80494316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146334A KR102517971B1 (ko) 2020-08-14 2020-11-04 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102517971B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117523590A (zh) * 2023-11-10 2024-02-06 广州方舟信息科技有限公司 一种校验生产厂商名称的方法、装置、设备及存储介质
CN117273667B (zh) * 2023-11-22 2024-02-20 浪潮通用软件有限公司 一种单据审核处理方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101573854B1 (ko) 2014-07-15 2015-12-02 부산대학교 산학협력단 관계어 기반 확률추정 방법을 이용한 통계적 문맥의존 철자오류 교정 장치 및 방법
JP7031101B2 (ja) * 2017-08-03 2022-03-08 リンゴチャンプ インフォメーション テクノロジー (シャンハイ) カンパニー, リミテッド 方法、システムおよび有形コンピュータ可読デバイス
KR102348845B1 (ko) 2018-05-23 2022-01-11 부산대학교 산학협력단 실시간 오류 후보 생성을 이용한 문맥의존 철자오류 교정 장치 및 방법
KR102199835B1 (ko) 2018-12-31 2021-01-07 주식회사 엘솔루 언어 교정 시스템 및 그 방법과, 그 시스템에서의 언어 교정 모델 학습 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lee et al. "Deep learning-based context-sensitive spelling typing error correction." IEEE Access 8 (2020): 152565-152578.
이정훈 et al. "임베딩 기법을 이용한 문맥의존 철자오류 교정 성능의 비교." 정보과학회논문지 47.2 (2020): 147-154.*

Also Published As

Publication number Publication date
KR20220021836A (ko) 2022-02-22

Similar Documents

Publication Publication Date Title
US11501182B2 (en) Method and apparatus for generating model
CN111401077B (zh) 语言模型的处理方法、装置和计算机设备
US20220343084A1 (en) Translation apparatus, translation method and program
US20210326525A1 (en) Device and method for correcting context sensitive spelling error using masked language model
US11669687B1 (en) Systems and methods for natural language processing (NLP) model robustness determination
KR102517971B1 (ko) 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법
US10963647B2 (en) Predicting probability of occurrence of a string using sequence of vectors
US20230075614A1 (en) Automatically identifying multi-word expressions
JP7155625B2 (ja) 検査装置、検査方法、プログラム及び学習装置
CN110874536A (zh) 语料质量评估模型生成方法和双语句对互译质量评估方法
JP6145059B2 (ja) モデル学習装置、形態素解析装置、及び方法
KR102608867B1 (ko) 업계 텍스트를 증분하는 방법, 관련 장치 및 매체에 저장된 컴퓨터 프로그램
JP2016224483A (ja) モデル学習装置、方法、及びプログラム
KR102531114B1 (ko) 마스크 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법
CN111144134B (zh) 基于OpenKiWi的翻译引擎自动化评测系统
CN113705207A (zh) 语法错误识别方法及装置
CN116257632A (zh) 基于图对比学习的未知目标立场检测方法、装置
CN114239555A (zh) 一种关键词提取模型的训练方法及相关装置
KR102517983B1 (ko) 생성적 적대 신경망을 이용한 문맥의존 철자오류 교정 장치 및 방법
CN110472243B (zh) 一种中文拼写检查方法
Mi et al. Recurrent neural network based loanwords identification in Uyghur
CN114692610A (zh) 关键词确定方法及装置
Husain Study of computational techniques to deal with ambiguity in SRS documents
KR20230057238A (ko) 실시간 채팅 환경에서의 이후 문맥 예측 정보를 이용한 문맥의존 철자오류 교정 장치 및 방법
CN114723073B (zh) 语言模型预训练、产品搜索方法、装置以及计算机设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right