KR101496885B1 - 문장 띄어쓰기 시스템 및 방법 - Google Patents

문장 띄어쓰기 시스템 및 방법 Download PDF

Info

Publication number
KR101496885B1
KR101496885B1 KR20080032348A KR20080032348A KR101496885B1 KR 101496885 B1 KR101496885 B1 KR 101496885B1 KR 20080032348 A KR20080032348 A KR 20080032348A KR 20080032348 A KR20080032348 A KR 20080032348A KR 101496885 B1 KR101496885 B1 KR 101496885B1
Authority
KR
South Korea
Prior art keywords
probability value
rule
spacing
value information
sentence
Prior art date
Application number
KR20080032348A
Other languages
English (en)
Other versions
KR20090106936A (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 KR20080032348A priority Critical patent/KR101496885B1/ko
Priority to US12/419,594 priority patent/US8234232B2/en
Publication of KR20090106936A publication Critical patent/KR20090106936A/ko
Application granted granted Critical
Publication of KR101496885B1 publication Critical patent/KR101496885B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/163Handling of whitespace
    • 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

Abstract

본 발명은 문장의 자동 띄어쓰기 기술에 관한 것으로, 특히 컴퓨팅 파워가 낮은 휴대 단말 기기에서 입력된 문장의 띄어쓰기 부분을 자동으로 인식하여 적용할 수 있는 문장 띄어쓰기 시스템 및 방법에 관한 것이다.
이를 위해 본 발명은 정답 말뭉치로부터 자질별로 확률 값이 설정되는 확률 값 정보를 생성하는 단계와, 상기 확률 값 정보를 실제 적용한 결과물로부터 오류 보정 규칙을 생성하는 단계로 구성되는 학습 과정, 및 사용자가 입력한 문장(이하 사용자 입력 문장)에 상기 확률 값 정보와 상기 오류 보정 규칙 집합을 순차적으로 적용하여 띄어쓰기가 보정된 사용자 입력 문장을 출력하는 적용 과정을 포함하는 문장 띄어쓰기 방법과 그 시스템을 제공한다.
이에, 핸드폰이나 PDA와 같이 일반적인 PC에 비해 컴퓨팅 파워가 떨어지는 휴대 단말기 등에서 효과적으로 작동되는 경량화된 문장 자동 띄어쓰기 시스템 및 방법을 구현할 수 있다
띄어쓰기, n-gram, CRFs, 말뭉치, 휴대 단말기, 확률 모델

Description

문장 띄어쓰기 시스템 및 방법{System for spacing word and method thereof}
본 발명은 문장의 자동 띄어쓰기 기술에 관한 것으로, 보다 상세하게는 컴퓨팅 파워가 낮은 휴대 단말기에서 입력된 문장의 띄어쓰기 부분을 자동으로 인식하여 적용할 수 있는 문장 띄어쓰기 시스템 및 방법에 관한 것이다.
일반적으로 휴대 단말기란, 개인 이동통신 단말기(Personal Mobile Communication Services Terminal), 개인용 디지털 단말기(Personal Digital Assistants: PDA), 스마트 폰(Smart Phone), 차세대 이동통신 단말기(International Mobile Telecommunication 2000: IMT-2000), 및 무선 랜 단말기 등과 같이 개인이 휴대하면서 무선 통신 및 각종 응용 프로그램들을 이용한 다양한 기능을 이용할 수 있는 단말기를 지칭한다.
휴대 단말기는 꾸준한 발전으로 소형화 및 경량화를 이루었을 뿐만 아니라 mp3, 디지털 카메라, 네비게이션, 및 인터넷 브라우징 등의 다양한 기능을 겸비함에 따라 복합 통신 단말기로 거듭나고 있으며, 이미 현대인의 필수품으로 자리잡고 있다.
이처럼 휴대 단말기가 다양한 방면으로 활용하게 됨에 따라 사용자들은 휴대 단말기에 다양한 문자 또는 문장을 입력하고 있다. 그런데 입력의 편의를 위해 사용자들이 띄어쓰기를 무시하고 문장을 입력하는 경우 발생되고 있다.
문장의 자동 띄어쓰기에 대한 기존의 연구는 분석적인 방법과 통계적인 방법으로 나눌 수 있다. 분석적인 방법은 사전정보, 조사/어미 정보 등의 어휘지식을 사용하여 최장일치, 최단일치, 형태소 분석 규칙, 띄어쓰기 오류 유형 등의 휴리스틱(heuristic)을 이용하여 띄어쓰기를 하는 것이다. 이 방법은 형태소 분석을 위한 사전 정보, 조사/어미 정보, 띄어쓰기 규칙 등 여러 가지 언어학적 자원이 필요하고, 그것을 구축하고 관리하는데 많은 비용이 든다. 또한 미등록어(사전에 등록되지 않은 단어)에 대해서는 매우 낮은 정확률을 보인다는 단점이 있다.
통계적인 방법은 대량의 말뭉치로부터 인접한 두 음절간의 띄어쓰거나 붙여 쓸 확률을 학습하여 띄어쓰기 오류를 교정하는 방식이다. 이 방법은 대량의 원시 말뭉치로부터 자동으로 음절정보를 얻어 사용하므로 별도의 지식 구축 비용이 들지 않고, 미등록어에 대해서도 높은 수준의 정확률을 보인다는 장점이 있다. 그러나 신뢰성 있는 확률 정보를 얻기 위해서 대용량의 학습 말뭉치와 메모리 공간이 필요하다는 단점이 있다.
확률 정보를 얻기 위해 주로 사용하는 방법은 띄어쓰기 대상 지점 주위 n개의 음절을 학습데이터로 사용하는 n-gram 방법이 이용되고 있다. 이 방법은 n의 값이 클수록 신뢰성 높은 확률 값을 보이지만 그만큼 더 강력한 컴퓨팅 파워(CPU 및 메모리 사용량)가 소모된다. 그러므로 이러한 n-gram 모델을 상대적으로 컴퓨팅 파 워가 낮은 휴대 단말기(또는 모바일 기기)에 직접 적용하기에는 한계가 있다. 보다 구체적으로, 현재의 휴대 단말기에 2-gram 이상의 확률 값 정보를 이용하는 것은 현실적으로 불가능하다.
따라서, 본 발명의 목적은 휴대 단말기와 같이 컴퓨팅 파워가 낮은 장치에서 유용하게 사용될 수 있는 문장 띄어쓰기 시스템 및 방법을 제공하는 데에 있다.
또한 본 발명의 다른 목적은 기존의 분석적 방법과 통계적 방법의 장점만을 취하여 메모리 사용량을 최소화하면서도 높은 정확도를 갖는 문장 띄어쓰기 시스템 및 방법을 제공하는 데에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 문장 띄어쓰기 방법은 정답 말뭉치로부터 자질별로 확률 값이 설정되는 확률 값 정보를 생성하는 단계와, 상기 확률 값 정보를 실제 적용한 결과물로부터 오류 보정 규칙을 생성하는 단계로 구성되는 학습 과정, 및 사용자가 입력한 문장(이하 사용자 입력 문장)에 상기 확률 값 정보와 상기 오류 보정 규칙 집합을 순차적으로 적용하여 띄어쓰기가 보정된 사용자 입력 문장을 출력하는 적용 과정을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 문장 띄어쓰기 시스템은 정답 말뭉치로부터 자질별로 확률 값이 설정되는 확률 값 정보를 생성하고, 상기 확률 값 정보를 실제 적용한 결과물로부터 오류 보정 규칙을 생성하는 학습부와, 사용자가 입력한 문장(이하 사용자 입력 문장)에 상기 확률 값 정보와 상기 오류 보정 규칙 집합을 순차적으로 적용하여 띄어쓰기가 보정된 상기 사용자 입력 문장을 출력하는 적용부를 포함하는 것을 특징으로 한다.
본 발명에 따른 문장 띄어쓰기 시스템 및 방법은 uni-gram을 이용한 통계 정보와, 오류 보정 규칙을 이용한 하이브리드 방법을 통해 문장의 띄어쓰기를 자동으로 보정한다. 즉, 대용량의 메모리를 필요로 하는 기존의 자동 띄어쓰기 방법들을 개선하여 최소한의 메모리만을 사용하면서도 성능하락을 최소화할 수 있는 시스템 및 방법을 개시한다.
따라서, 핸드폰이나 PDA와 같이 일반적인 PC에 비해 컴퓨팅 파워가 떨어지는 휴대(또는 모바일) 단말기에서 효과적으로 작동되는 경량화된 문장 자동 띄어쓰기 시스템 및 방법을 구현할 수 있다. 더하여 이를 바탕으로 모바일 기기에서 문장을 입력하고 처리하는 자연어 인터페이스 개발의 기틀을 마련할 수 있다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 또한, 실질적으로 동일한 구성과 기능을 가진 구성 요소들에 대해서는 상세한 설명을 생략하도록 한다.
마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
한편 본 실시예를 설명함에 있어서, 정답 말뭉치는 띄어쓰기가 정확하게 표현된 말뭉치를 지칭하며, 오류 말뭉치는 정답 말뭉치에서 띄어쓰기를 생략하고 모든 단어들을 붙인 말뭉치를 지칭한다. 이러한 정답 말뭉치와 오류 말뭉치는 학습 및 데이터의 생성을 위해 이용된다.
이하, 본 발명의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 문장 띄어쓰기 시스템을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 본 발명에 따른 문장 띄어쓰기 시스템(100)은 학습부(120)와 적용부(140), 저장부(130), 입력부(150), 및 출력부(160)를 포함한다. 본 발명에 따른 문장 띄어쓰기 시스템(100)은 학습부(120)에서 학습을 통해 획득한 정보(확률 값 정보, 오류 보정 규칙)를 저장부(130)에 저장하고, 적용부(140)에서 이를 이용하여 사용자가 입력하는 문장(M3; 이하, 사용자 입력 문장)에 적용하며 사용자 입력 문장(M3)에 띄어쓰기를 수행한다.
학습부(120)는 정답 말뭉치(M1)로부터 자질별로 확률 값이 설정되는 확률 값 정보를 생성하고, 생성된 확률 값 정보를 실제 적용한 결과물로부터 오류 보정 규칙을 생성한다. 그리고 생성된 확률 값 정보와 오류 보정 규칙을 저장부(130)에 저장한다. 이를 위해 본 실시예에 따른 학습부(120)는 확률 값 정보 생성부(122)와 보정 규칙 생성부(124)를 포함한다.
확률 값 정보 생성부(122)는 정답 말뭉치(M1)로부터 자질들을 추출하여 저장한다. 이때, 본 실시예에 따른 확률 값 정보 생성부(122)는 정답 말뭉치(M1)에서 1-gram(또는 uni-gram)으로 자질을 추출한다. 이는 휴대 단말기의 컴퓨팅 파워를 감안하여 휴대 단말기에 CPU에 가중되는 부하나 메모리 사용량을 최소화하기 위해서이다.
또한 확률 값 정보 생성부(122)는 정답 말뭉치(M1)를 모두 붙여 쓴 말뭉치(M2;오류 말뭉치)에 정답 말뭉치(M1)에서 추출한 자질들과 확률 모델을 적용하여 확률 값 정보를 생성하고 저장한다. 여기서 본 실시예에 따른 확률 값 정보 생성부(122)는 CRFs(Conditional Random Fields) 확률 모델을 이용하여 확률 값 정보를 생성한다. CRFs 확률 모델은 다양한 입력 노드(node)의 값이 주어졌을 때 지정된 출력 노드의 조건부 확률값을 계산하기 위한 무방향성의 그래프 모델로서, 출력 노드가 선형 체인형태로 연결되었을 경우 1차 마코프(Markov) 모델의 형태를 따른다. CRFs 확률 모델의 주요 장점은 HMM(Hidden Markov Model)의 단점인 독립 가정을 완화시키는 효과가 있다는 것과, MEMM(Maximum Entropy Markov Model)의 단점인 레이블 편향 문제(label bias problem)를 극복할 수 있다는 것이다. 이러한 이유로 CRFs 확률 모델은 최근 자연어처리 분야에서 가장 많이 이용되고 있다. 한편 본 발 명의 실시예에서는 확률 모델로 CRFs 확률 모델을 이용한다. 그러나 이에 한정되는 것은 아니며, 필요에 따라 HMM, MEMM 이나, 이 외의 다른 확률 모델들이 이용될 수 있다.
한편, 확률 값 정보 생성부(122)를 통해 생성된 확률 값 정보는 저장부(130)의 확률 값 정보 데이터베이스(132)에 저장된다. 이에, 후술되는 적용부(140)에서 저장된 확률 값 정보를 용이하게 이용할 수 있다.
보정 규칙 생성부(124)는 확률 값 정보를 오류 말뭉치(M2)에 적용하여 1차 띄어쓰기 말뭉치를 생성한다. 또한, 보정 규칙 생성부(124)는 1차 띄어쓰기 말뭉치에 포함되는 오류 부분을 이용하여 오류 보정 규칙을 생성한다. 즉, 보정 규칙 생성부(124)는 1차 띄어쓰기 말뭉치에서 보정이 필요한 지점(이하, 오류 부분)을 추출하고, 이들을 대상으로 하여 오류 보정 규칙을 선정하기 위한 후보 규칙들을 생성한다. 후보 규칙이란 오류 부분에 대해 다양한 띄어쓰기 경우를 적용한 규칙들을 지칭하며, 이로부터 실적적으로 적용되는 오류 보정 규칙이 선택된다.
또한, 보정 규칙 생성부(124)는 후보 규칙들과 정답 말뭉치(M1)를 비교하여 각각의 후보 규칙에 대한 신뢰 점수를 산출한다. 신뢰 점수는 각 후보 규칙들이 옳게 적용되는 경우의 수와 그르게 적용된 경우의 수를 기반으로 하여 산출된다. 그리고 보정 규칙 생성부(124)는 각 후보 규칙들의 신뢰 점수를 기반으로 하여 오류 보정 규칙을 선택하고 저장한다.
보정 규칙 생성부(124)에 의해 생성된 오류 보정 규칙은 저장부(130)의 오류 보정 규칙 데이터베이스(134)에 저장된다. 이에, 후술되는 적용부(140)에서 저장된 오류 보정 규칙을 용이하게 이용할 수 있다.
한편, 이상의 설명에서 언급된 확률 값 정보, 후보 규칙, 신뢰 점수, 오류 보정 규칙 등과 같은 용어들은 후술되는 문장 띄어쓰기 방법의 설명을 통해 보다 상세하게 설명하기로 한다.
다음으로, 적용부(140)는 사용자 입력 문장(M3)에 학습부(120)를 통해 생성한 확률 값 정보와 오류 보정 규칙을 순차적으로 적용하여 띄어쓰기가 보정된 사용자 입력 문장(M3)을 출력한다. 이를 위해 적용부(140)는 1차 적용부(142)와 2차 적용부(144)를 포함한다.
1차 적용부(142)는 사용자 입력 문장(M3)에 확률 값 정보의 확률 값을 적용하며 1차 띄어쓰기 문장을 생성한다. 이를 위해 1차 적용부(142)는 사용자 입력 문장(M3)으로부터 uni-gram으로 자질을 추출하고, 확률 값 정보 데이터베이스(132)를 이용하여 추출된 자질에 대응하는 확률 값을 파악한다. 그리고 파악된 확률 값을 기반으로 하여 띄어쓰기 여부를 판단하며 사용자 입력 문장(M3)을 보정한 1차 띄어쓰기 문장을 생성한다.
2차 적용부(144)는 1차 적용부(142)를 통해 생성된 1차 띄어쓰기 문장에 오류 보정 규칙을 적용하여 2차 띄어쓰기 문장을 생성한다. 이를 위해 2차 적용부(144)는 1차 띄어쓰기 문장 중 오류가 있는 각 부분들을 추출하고, 이에 대응하는 오류 보정 규칙을 오류 보정 규칙 데이터베이스(134)에서 추출하여 적용한다. 이 과정에서 2차 적용부(144)는 대응하는 다수 개의 오류 보정 규칙들 중, 신뢰 점수가 가장 큰 오류 보정 규칙만을 적용한다.
저장부(130)는 본 실시예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 사용자에 의해 생성되는 사용자 데이터 등을 저장한다. 저장부(130)는 프로그램 영역 및 데이터 영역을 포함할 수 있다.
프로그램 영역은 휴대 단말기를 부팅(booting)시키는 운영체제(OS, Operating System), 휴대 단말이기의 기타 기능 수행에 필요한 응용 프로그램 등이 저장된다.
데이터 영역은 휴대 단말기 사용에 따른 사용자 데이터가 저장되는 영역으로서, 확률 값 정보 데이터베이스(132)와 오류 보정 규칙 데이터베이스(134)가 저장된다.
확률 값 정보 데이터베이스(132)는 확률 값 정보 생성부(122)에 의해 생성된 확률 값 정보가 저장된다. 도 2a는 본 발명의 실시예에 따른 확률 값 정보 데이터베이스(132)를 개략적으로 나타내는 도면으로, 이를 참조하면 확률 값 정보 데이터베이스(132)는 자질들이 저장되는 자질 필드와, 해당 자질에 대응하는 확률 값 정보가 저장되는 확률 값 필드를 포함한다. 또한, 확률 값 필드에는 해당 자질이 붙여 쓰일 확률 값(P(0|F))과 띄어 쓰일 확률 값(P(1|F))이 함께 저장된다.
오류 보정 규칙 데이터베이스(134)는 보정 규칙 생성부(124)에 의해 생성된 오류 보정 규칙이 저장된다. 도 2b는 본 발명의 실시예에 따른 오류 보정 규칙 데이터베이스(134)를 개략적으로 나타내는 도면으로, 이를 참조하면 오류 보정 규칙 데이터베이스(134)는 오류 보정 규칙으로 선정된 자질들이 등록되는 자질 필드와, 해당 자질의 띄어쓰기 여부를 나타내는 정보가 저장되는 띄어쓰기 정보 필드, 및 해당 자질 즉, 오류 보정 규칙의 신뢰 점수가 저장되는 신뢰 점수 필드를 포함하여 구성된다. 오류 보정 규칙 데이터베이스(134)의 각 필드에 대해서는 후술되는 오류 보정 규칙을 생성하는 단계와 이를 적용하는 단계에 대한 설명에서 보다 상세하게 살펴보기로 한다.
입력부(150)는 휴대 단말이기를 제어하기 위한 사용자의 조작신호를 입력받아 적용부(140)로 전달한다. 즉, 사용자 입력 문장(M3)을 입력 받고 이를 적용부(140)의 1차 적용부(142)로 전송한다. 이를 위해 본 실시예에 따른 입력부(150)는 동작 제어를 위한 제어 키(도시되지 않음) 및 문자와 숫자를 입력하기 위한 다수의 숫자 키(도시되지 않음)들을 구비한다.
출력부(160)는 2차 적용부(144)에서 출력되는 2차 띄어쓰기 문장을 외부로 출력한다. 본 실시예에서는 출력부(160)로 다양한 정보를 시각적으로 제공하는 디스플레이 유닛(예컨대 액정표시장치(LCD, Liquid Crystal Display) 등)가 이용된다. 그러나 이에 한정되지 않으며 문장을 음성으로 출력하는 경우 스피커 등이 출력부(160)로 이용될 수 있다.
이와 같이 구성되는 본 실시예에 따른 문장 띄어쓰기 시스템(100)은 휴대 단말기 등의 소형 컴퓨팅 장치에 장착되어 이용될 수 있다.
이어서, 본 발명의 실시예에 따른 문장 띄어쓰기 방법에 대하여 실시예를 통하여 자세히 설명한다. 문장 띄어쓰기 방법에 대한 이하의 설명으로부터 전술한 문장 띄어쓰기 시스템(100)의 구성 또한 보다 명확해질 것이다.
본 발명에 따른 문장 띄어쓰기 방법은 확률 값 정보와 오류 보정 규칙을 획 득하는 학습 과정과, 학습 과정을 통해 획득한 확률 값 정보와 오류 보정 규칙을 이용하여 사용자 입력 문장(M3)에 띄어쓰기를 적용하는 적용 과정을 포함하여 구성된다.
먼저 학습 과정을 설명하면 다음과 같다.
도 3은 본 발명의 실시예에 따른 문장 띄어쓰기 방법의 학습 과정을 개략적으로 나타내는 흐름도이다.
도 1 내지 도 3을 참조하면, 먼저 학습을 위한 자료가 입력되는 S10 단계가 수행된다. 여기서 학습을 위한 자료란 정답 말뭉치(M1)와 오류 말뭉치(M2)를 모두 지칭한다. 정답 말뭉치(M1)와 오류 말뭉치(M2)는 사용자 등에 의해 준비되고 입력된다. 자료의 준비 과정과 자료를 입력하는 과정은 이미 공지된 일반적인 과정을 따르며, 이에 대한 상세한 설명은 생략하기로 한다.
이어서, 입력된 정답 말뭉치(M1)로부터 자질을 추출하는 S11 단계가 수행된다. 전술하였듯이, 본 실시예에서는 메모리의 사용량을 최소화가 위해 uni-gram으로 자질을 추출한다.
도 4a은 본 실시예에 따른 자질을 추출 단계를 설명하기 위한 도면으로, 이를참조하면 본 발명에 따른 확률 값 정보 생성부(122)는 음절과 음절 사이(이하, 지점으로 칭함)으로부터 앞 3음절과 뒤 2음절로 이루어지는 5음절의 자질을 추출한다. 도 4a는 '아버지가 방에 들어가신다'라는 문장에서 '가'와 '방' 사이의 지점에 대한 자질을 추출되는 경우를 예로 들고 있다. 이 지점으로부터 앞 3음절은 '버지가'이고, 뒤 2음절은 '방에'이다. 이에 확률 값 정보 생성부(122)는 '가'와 '방' 사이 지점에 대한 uni-gram 자질로 '버지가방에'(W-3W-2W-1W+1W+2)를 추출한다. 마찬가지로 '에'와 '들' 사이의 지점에 대한 uni-gram 자질은 '가방에들어'를 추출하게 된다.
이와 같은 자질 추출 과정을 통해 도 4b와 같은 자질 집합을 획득할 수 있다. 도 4b는 본 발명의 실시예에 따른 자질 집합을 개략적으로 나타내는 도면으로, 자질 필드에는 전술한 과정을 따라 추출한 자질들이 등록된다. 그리고 띄어쓰기 정보 필드에는 대응하는 자질에 대한 띄어쓰기 정보가 입력된다. 이때, 띄어쓰기 정보는 5음절로 이루어지는 자질에 있어서, 3음절과 4음절 사이 지점에 대한 띄어쓰기 여부를 나타내는 정보이다. 해당 지점이 띄어 쓰이는 경우, '1'이 입력되며, 붙여 쓰이는 경우 '2'가 입력된다.
이에 따라 정답 말뭉치(M1)에 '아버지가 방에 들어가신다'라는 문장이 포함된 경우, '버지가방에'에서 '버지가'와 '방에'는 사이가 띄어 쓰여 있다. 따라서 이 경우, '버지가방에'의 띄어쓰기 정보는 '1'이 입력된다. 반면에 '지가방에들'은 '지가방'과 '에들' 사이가 띄어 쓰이지 않는다. 따라서 이 경우 띄어쓰기 정보는 '0'이 입력된다.
한편, 자질로 만약 2-gram이나 3-gram 특성을 사용하기 위해서는 'W-3W-2 W-2W-1 W-1W+1 W+1W+2'와 'W-3W-2W-1 W-2W-1W+1 W-1W+1W+2'와 같은 형식으로 자질을 추출해야 한다. 그러나 이처럼 하나의 지점에서 다수의 자질이 추출되는 경우, 메모리의 사용량이 급격하게 증가된다. 따라서, 본 발명에서는 메모리 사용량의 경량화를 위해 도 4a와 같이 uni-gram으로 자질을 추출한다.
한편, 본 발명에서는 모델 크기를 줄이면서 성능을 높이기 위해서 특수문자를 일반화한다. 이에 대해 설명하면 다음과 같다.
도 5는 본 실시예에 따른 특수문자를 일반화하는 단계를 설명하기 위한 도면이다. 도 5의 경우, 정답 말뭉치(M1)의 주 언어가 한글로 되어있는 경우를 예로 들고 있다.
이처럼 주 언어가 한글인 경우, 특수 문자를 별도로 정의하여 일반화하는 방법을 이용한다. 여기서 특수 문자란 한글과 특수한 문법적 역할을 하는 일부 특수문자(", ', ?, ! 등)를 제외한 기호나 숫자, 그리고 한글 이외의 다른 언어들을 의미한다. 보다 구체적인 예로, 숫자는 'NU', 영문자는 'EN', 특수 기호는 'SY'로 정의하여 일반화한다.
일반적으로 문장 안에서 숫자나 영문(즉, 다른 언어)이 삽입될 경우 그 종류에 관계없이 띄어쓰기를 하게 된다. 따라서, 특수 문자들을 일반화하게 되면, 한글 앞 뒤에 영문, 숫자, 특수 기호 등이 있을 경우 띄어쓰기의 효과를 높일 수 있다.
예를 들어 도 5와 같이 입력된 문장이 '그는 19C Berlin 에서' 인 경우, '19C Berlin'은 하나의 묶음으로 표현되고, 그 시작은 숫자이므로 'NU', 끝은 영문자이므로 'EN'이 되어 '그는 NU EN 에서'로 일반화될 수 있다. 그러므로 'Berlin'과 '에' 사이에 대한 자질은 '는 NU EN 에 서'의 5음절로 단순화되어 추출될 수 있다.
모든 지점들에 대해 자질을 추출하는 S11 단계가 완료되면, 이어서 확률 값 정보 생성부(122)는 CRFs 확률 모델을 학습하고 적용하여 확률 값 정보를 획득하는 S12 단계를 수행한다.
전술하였듯이, CRFs는 다양한 입력 노드(node)의 값이 주어졌을 때 지정된 출력 노드의 조건부 확률값을 계산하기 위한 무방향성 그래프 모델로서 출력 노드가 선형 체인형태로 연결되었을 경우에 1차 마코프 모델의 형태를 따른다. 확률 값 정보 생성부(122)는 S11 단계에서 추출된 자질들과, 정답 말뭉치(M1)를 이용하여 띄어쓰기 각 지점별로 수학식 1과 같은 CRFs 확률 모델을 학습한다. 이 과정은 정답 말뭉치(M1)에 포함된 문장 전체에 걸쳐 자질들의 각 지점(음절과 음절 사이)이 띔이나 붙임에 어느 정도 연관성을 가지고 있는지를 확률적으로 계산하는 것이다. 즉, 자질들의 각 지점에서 띄어 쓰일 확률과 붙여 쓰일 확률을 계산하는 것이다.
Figure 112008025097274-pat00001
수학식 1에서 S 1,mm+1개의 음절로 구성된 문장의 띄어쓰기 정보로, 대상 지점에서 띄어야 하면 1, 그렇지 않으면 0의 값을 가진다. F 1,mS l,m을 결정하기 위한 대상 지점에서의 uni-gram 자질을 의미한다. f k (S i-1,S i k,F i ,t)는 자동 띄어쓰기를 위한 자질 함수로서 해당 자질이 나타나면 1을, 그렇지 않으면 0의 값을 가진다. 본 발명에서 사용하는 자질은 띄어쓰기 대상 지점의 앞 3음절, 뒤 2음절이므로 띄 어쓰기 대상 지점들로부터 총 4개의 자질 함수 값이 수학식 1에 대입(즉, k = 1 ~ 4)되어 해당 지점과 자질들 사이의 연관성이 확률적으로 계산된다. Z(F)는 정규화 요소이며, λ k는 각 자질 함수에 부여된 가중치이다. 이러한 가중치는 사용자에 의해 기 설정된다.
확률 값 정보 생성부(122)는 이러한 CRFs 확률 모델의 학습을 통해 각 자질들에 대한 확률 값 정보를 획득한다. 이 과정에서 획득하는 확률 값 정보는 각 자질에 대하여 해당 지점(즉, 3음절과 4음절 사이)이 띄어 쓰일 확률 값(즉, P(1|F))과, 해당 지점이 붙여 쓰일 확률 값(즉, P(0|F))를 을 모두 포함한다.
이상과 같은 단계들을 통해 각 지점들에 대한 확률 값 정보를 획득하면, 이어서 확률 값 정보 생성부(122)는 이를 확률 값 정보 DB(132)에 저장하는 S13 단계를 수행한다.
이어서 확률 값 정보 생성부(122)는 획득한 확률 값 정보를 오류 말뭉치(M2)에 적용하여 1차 띄어쓰기 말뭉치를 생성하는 S14 단계를 수행한다.
도 6은 본 발명의 실시예에 따른 1차 띄어쓰기 말뭉치를 생성하는 과정을 개략적으로 나타내는 흐름도이다. 이를 함께 참조하면, 확률 값 정보 생성부(122)는 먼저 모든 단어가 붙어 있는 오류 말뭉치(M2)에서 하나의 지점(즉, 첫번째 지점)을 선택하는 S141 단계를 수행한다. 그리고, 확률 값 정보 생성부(122)는 선택한 지점과 대응하는 자질을 확률 값 정보 DB(132)에서 선택하는 S142 단계를 수행한다.
이어서, 확률 값 정보 생성부(122)는 선택된 자질의 확률 값 정보를 비교하 는S143 단계를 수행한다. 즉, 확률 값 정보 생성부(122)는 해당 자질이 띄어 쓰일 확률 값(즉, P(1|F))과, 해당 지점이 붙여 쓰일 확률 값(즉, P(0|F))의 값을 상호 비교한다.
비교 결과 보다 띄어 쓰일 확률 값(P(1|F))이 큰 경우, 확률 값 정보 생성부(122)는 해당 자질에 대응하는 지점을 띄어 쓰도록 보정하는 S144 단계를 수행한다. 반면에 비교 결과, 붙여 쓰일 확률 값(P(0|F))이 큰 경우, 확률 값 정보 생성부(122)는 해당 자질에 대응하는 지점을 붙여 쓰도록 보정하는 S145 단계를 수행한다
이어서 확률 값 정보 생성부(122)는 보정이 수행되지 않은 다른 지점이 있는지 확인하는 S146 단계를 수행한다. 다른 지점이 존재하면 확률 값 정보 생성부(122)는 S147 단계로 진입하여 다음의 지점을 선택한 후, 전술한 S142 내지 S146 단계를 반복적으로 수행한다.
반면에 S146 단계에서 모든 지점에 대해 보정을 수행한 것으로 확인되면, 확률 값 정보 생성부(122)는 보정된 말뭉치를 1차 띄어쓰기 말뭉치로 생성하는 S148 단계를 수행한다.
이러한 S14 단계를 통해 1차 띄어쓰기 말뭉치가 생성되면, 보정 규칙 생성부(124)는 이를 이용하여 오류 보정 규칙을 생성하고 저장하는 과정을 수행한다.
오류 보정 규칙은 확률 모델을 적용한 결과물을 보완하기 위한 것으로, 본 발명에서는 2-gram 이상으로 추출된다. 오류 보정 규칙을 생성하는 과정은 오류 보정 후보 규칙을 생성하는 S15 단계부터 수행된다
도 7은 본 실시예에 따른 오류 보정 후보 규칙 생성 단계를 개략적으로 나타내는 흐름도이다.
도 7을 함께 참조하면, 오류 보정 후보 규칙 생성 단계는 먼저 보정 규칙 생성부(124)가 1차 띄어쓰기 말뭉치와 정답 말뭉치(M1)에서 대응되는 문장을 각각 추출하는 S151 단계를 수행한다. 그리고 이어서 추출된 문장들을 서로 비교하는 S152 단계를 수행한다.
문장을 비교하는 과정에서 정답 말뭉치(M1)를 기준으로 하여 일치하지 않는 부분이 확인되면(S153), 보정 규칙 생성부(124)는 해당 지점을 보정이 필요한 지점(즉, 띄어쓰기가 삽입 또는 삭제되어야 하는 지점, 이하 보정 지점)으로 설정한다.
그리고 보정 규칙 생성부(124)는 S154 단계로 진입하여 보정 지점으로부터 2-gram 이상의 오류 보정 후보 규칙을 생성한다. 보정 규칙 생성부(124)는 보정 지점에 대하여 'W-1W+1 → 1/0', 'W-2W-1W+1 → 1/0', 'W-2W-1W+1W+2 → 1/0', 'W-3W-2W-1W+1W+2 → 1/0'와 같이 4개의 규칙 패턴을 추출한다. 여기서 'W+n/-n'는 보정 지점을 기준으로 상대적인 거리 n 에 위치한 음절 나타내고, 1/0은 띄어쓰기 정보로 1은 띄어쓰기를, 0은 붙여쓰기를 의미한다. 예를 들어, '매우더운여름날농부는밭을멨다'라는 오류 말뭉치(M2)에 확률 값 정보를 적용하여 생성된 1차 띄어쓰기 말뭉치가 '매우 더운 여름날농 부는 밭을 멨다'이고, 이에 대한 정답 말뭉치(M1)가 '매우 더운 여름날 농부는 밭을 멨다'인 경우를 살펴보면 다음과 같다.
이 경우, '날'과 '농'사이에는 띄어쓰기가 필요하므로, 보정 규칙 생성부(124)는 해당 지점을 보정 지점으로 설정하게 된다. 그리고, 이 지점에 대한 오류 보정 후보 규칙으로 '날농(W-1W+1) → 1', '름날농(W-2W-1W+1) → 1', '름날농부(W-2W-1W+1W+2) → 1', '여름날농부(W-3W-2W-1W+1W+2) → 1'을 생성한다. 이 경우에서는 해당 보정 지점을 띄어야 하므로 띄어쓰기 정보는 모두 '1'로 설정된다.
마찬가지로, '농'과 '부'는 붙여 쓰여야 하나 띄어져 있으므로, 보정 규칙 생성부(124)는 이 지점도 보정 지점으로 설정한다. 그리고 해당 지점에 대한 오류 보정 후보 규칙로 '농부(W-1W+1) → 0', '날농부(W-2W-1W+1) → 0', '날농부는(W-2W-1W+1W+2) → 0', '름날농부는(W-3W-2W-1W+1W+2) → 0'을 생성한다.
한편, 본 실시예에서는 오류 보정 후보 규칙을 생성하기 위해 보정 지점을 중심으로 하여 W-1W+1, W-2W-1W+1, W-2W-1W+1W+2, 및 W-3W-2W-1W+1W+2의 4개의 규칙 패턴을 추출하는 경우를 예로 들어 설명하고 있다. 이러한 4개의 규칙 패턴은 후보 규칙으로 용이하게 이용될 수 있는 규칙을 임의로 설정한 것이며, 이에 한정되는 것은 아니다. 즉, 이 외에도 다양한 음절의 수를 다양한 형태로 선택하여 규칙 패턴을 형성할 수 있으며 보다 많은 수의 규칙 패턴을 형성하여 오류 보정 후보 규칙으로 이용할 수 있다. 그러나, 생성되는 오류 보정 후보 규칙의 수가 너무 많은 경우, 컴퓨팅 파워에 부하가 발생될 수 있으며, 메모리 사용량이 증가하게 되는 문제가 있다. 따라서, 하드웨어 및 소프트웨어의 능력에 따라 적합하게 설정하는 것이 바람직하 다.
이와 같은 과정을 통해 선정되는 오류 보정 후보 규칙들은 저장부(130)에 저장된다. 보정 규칙 생성부(124)는 생성되는 모든 오류 보정 후보 규칙들을 임시적으로 저장부(130)에 저장한다. 그러나, 저장부(130)에 한정되지 않으며 학습부(120)나 보정 규칙 생성부(124) 내에 구비된 임시 저장 버퍼 등에 저장될 수도 있다.
한편, 상기한 S152 내지 S154 단계는 S151 단계에서 추출한 문장 전체에 걸쳐 수행된다.
이어서 보정 규칙 생성부(124)는 비교할 다른 문장이 존재하는 지 확인하는 S155 단계를 수행한다. 다른 문장이 존재하는 경우, 보정 규칙 생성부(124)는 S156 단계로 진입하여 다음의 문장을 추출하고 전술한 S152 내지 S155 단계를 반복적으로 수행한다.
반면에 비교할 다른 문장이 없는 경우, 보정 규칙 생성부(124)는 후보 규칙 생성 단계를 종료한다.
여기서, 본 실시예에서는 1차 띄어쓰기 말뭉치와 오류 말뭉치에서 문장 단위로 추출하여 비교하는 경우를 예로 들고 있지만, 이에 한정되지 않는다. 즉, 전제 말뭉치를 대상으로 하여 비교하는 것도 가능하며 문단 또는 단어 단위로 추출하여 비교하는 등 다양한 적용이 가능하다.
이러한 후보 규칙 생성 단계를 거쳐 오류 보정 후보 규칙(이하, 후보 규칙)들이 생성되면, 이어서 보정 규칙 생성부(124)는 각 후보 규칙들의 신뢰 점 수(confidence score)를 산출하는 S16 단계를 수행한다.
본 실시예에 따른 보정 규칙 생성부(124)는 다음의 수학식 2, 수학식 3을 통해 신뢰 점수를 산출한다.
Figure 112008025097274-pat00002
Figure 112008025097274-pat00003
수학식 2에서 Positive(Rule)는 해당 후보 규칙을 오류 말뭉치(M2)에 적용하여 옳게 수정된 띄어쓰기 지점의 개수이고, Negative(Rule)는 해당 후보 규칙을 오류 말뭉치(M2)에 적용한 후 잘못 수정된 띄어쓰기 지점의 개수이다.
수학식 2를 통해 각 후보 규칙들의 개별 점수를 산출하면, 이어서 수학식 3을 통해 해당 후보 규칙의 신뢰 점수를 산출하게 된다. 여기서, Max _ Score는 후보 규칙들에 부여된 개별 점수 중에 가장 큰 점수를 의미한다.
S16 단계에서 모든 후보 규칙들의 신뢰 점수가 산출되면, 이어서 보정 규칙 생성부(124)는 산출된 신뢰 점수를 기반으로 하여 실제적으로 사용될 오류 보정 규칙을 선택하는 S17 단계를 수행한다.
도 8은 본 발명의 실시예에 따른 오류 보정 규칙 선택 단계를 개략적으로 나 타내는 흐름도이다.
이를 함께 참조하면, 먼저 S171 단계에서 보정 규칙 생성부(124)는 하나의 후보 규칙을 선택한다. 그리고 선택한 후보 규칙의 신뢰 점수가 1.0보다 큰 값을 갖는지 확인하는 S172 단계를 수행한다.
후보 규칙의 신뢰 점수가 1.0보다 큰 값이면, 이어서 보정 규칙 생성부(124)는 후보 규칙의 Positive(Rule)이 Negative(Rule)를 2배 한 값보다 큰 값이지 확인하는 S173 단계를 수행한다. 이에 만족하는 경우, 보정 규칙 생성부(124)는 S174 단계에서 해당 후보 규칙을 오류 보정 규칙으로 선정한다. 이상과 같은 단계들을 통해 오류 보정 규칙으로 선정되면, 보정 규칙 생성부(124)는 이를 오류 보정 규칙 DB(134)에 저장한다.
한편, 후보 규칙의 신뢰 점수가 1.0보다 작거나 Positive(Rule)Negative(Rule)를 2배 한 값보다 작은 경우, 보정 규칙 생성부(124)는 S175 단계로 진입하여 해당 후보 규칙을 버리게 된다.
이처럼 본 실시예에서는 신뢰 점수와 Positive(Rule), Negative(Rule)을 함께 이용한다. 즉, 보정 규칙 생성부(124)는 신뢰 점수가 1.0 이상이고, Positive(Rule)Negative(Rule)의 2배 이상인 후보 규칙들만을 오류 보정 규칙으로 선택한다. 이에 매우 작은 수의 후보 규칙들만이 오류 보정 규칙으로 선택되며, 이에 따라 메모리의 사용량을 최소화할 수 있다. 그러나, 상기한 기준으로 한정되는 것은 아니며, 후보 규칙들의 신뢰 점수만을 이용하거나, 다른 기준을 따라 선택 기준을 설정하는 등 필요에 따라 다양한 기준이 이용될 수 있다.
한편, 선택된 하나의 후보 규칙에 대해 상기한 일련의 과정이 수행되면, 보정 규칙 생성부(124)는 S176 단계로 진입하여 다음의 후보 규칙이 존재하는지 확인한다.
다음의 후보 규칙이 존재하면 보정 규칙 생성부(124)는 S177 단계로 진입하여 다음의 후보 규칙을 선택하고, 전술한 S172 내지 S176 단계를 반복적으로 수행하게 된다.
반면에, S177 단계에서 모든 후보 규칙에 대해 확인이 완료되면, 보정 규칙 생성부(124)는 오류 보정 규칙 생성 과정을 종료한다.
이상과 같은 여러 단계를 거쳐 수행되는 학습 과정은 일회 수행됨으로써 완료되지 않으며, 다양한 말뭉치에 대해 다수 회 반복적으로 수행될 수 있다. 이에 따라 다양한 자질들에 대한 확률 값 정보와 오류 보정 규칙을 확보할 수 있게 된다.
다음으로 본 발명에 실시예에 따른 적용 과정을 설명하면 다음과 같다.
도 9는 본 발명의 실시예에 따른 문장 띄어쓰기 방법의 적용 과정을 개략적으로 나타내는 흐름도이다.
도 1 내지 도 2b, 도 9를 참조하면, 먼저 사용자로부터 사용자 입력 문장(M3)이 입력되는 단계가 수행된다. 사용자 입력 문장(M3)은 입력부(150)를 통해 입력되며, 입력부(150)는 이를 적용부(140)로 전송한다.
다음으로 적용부(140)의 1차 적용부(142)에서 사용자 입력 문장(M3)으로부터 uni-gram으로 자질을 추출하는 S31 과정이 수행된다. 이 단계는 추출의 대상이 되는 것이 정답 말뭉치(M1)가 아니고 사용자가 직접 입력한 사용자 입력 문장(M3)이라는 점을 제외하면 전술한 학습 과정의 S11 단계와 유사하다. 즉, 1차 적용부(142)는 사용자 입력 문장(M3)에서 각 지점(즉 음절과 음절 사이)마다 앞 3음절과 뒤 2음절로 이루어지는 5음절의 자질을 추출한다.
예를 들어 S30 과정에서 사용자가 '아버지가방'이라는 문장을 입력한 경우, 1차 적용부(142)는 '^^아버지', '^아버지가', '아버지가방', '버지가방$'의 4개 자질을 추출하게 된다. 추출된 자질에서 '^'는 '아' 앞에 음절이 없기 때문에 이를 대체하여 표기하기 위해 사용한 심볼이고, '$'는 '방' 뒤에 음절이 없기 때문에 이를 대체하여 표기하기 위해 사용한 심볼이다.
사용자 입력 문장(M3)의 모든 지점에 대응하는 자질이 모두 추출되면, 1차 적용부(142)는 추출된 각 자질들에 확률 모델을 적용하는 S32 단계를 수행한다.
도 10은 본 발명의 실시예에 따른 확률 모델 적용 과정을 개략적으로 나타내는 흐름도이다. 이를 함께 참조하면, 먼저 1차 적용부(142)는 S31 단계에서 추출한 자질들 중 하나의 자질을 선택하는 S321 단계를 수행한다.
이어서 1차 적용부(142)는 선택한 자질이 확률 값 정보 DB(132)의 자질 필드에 존재하는지 여부를 확인하는 S322 단계를 수행한다. 확인 결과 존재하지 않으면, 1차 적용부(142)는 S326 단계로 진입하여 다른 자질의 확인한다.
반면에 확률 값 정보 DB(132)에 해당 자질이 존재하는 경우, 1차 적용부(142)는 해당 자질의 확률 값 정보를 확인하는 S323 단계를 수행한다. 확인 결과 붙여 쓰일 확률 값(P(0|F))이 띄어 쓰일 확률값(P(1|F))보다 높은 경우, 1차 적용부(142)는 S325 단계로 진입하여 선택된 자질에 대응하는 사용자 입력 문장(M3)이 붙여 쓰이도록 해당 지점을 보정(또는 유지)한다. 반면에 확인 결과, 붙여 쓰일 확률 값(P(0|F))이 띄어 쓰일 확률값(P(1|F))보다 낮은 경우, 1차 적용부(142)는 S324 단계로 진입하여 선택된 자질에 대응하는 사용자 입력 문장(M3)이 띄어 쓰이도록 해당 지점을 보정(또는 유지)한다
이어서, 1차 적용부(142)는 적용되지 않은 다른 자질이 존재하는 지 확인하는 S326 단계를 수행한다. 존재하는 경우, 1차 적용부(142)는 S327 단계로 진입하여 다음의 자질을 선택하고 전술한 S322 내지 S326 단계를 반복적으로 수행한다.
반면에 다른 자질이 존재하지 않으면, 1차 적용부(142)는 보정된 문장을 1차 띄어쓰기 문장으로 생성하는 S328 단계를 수행한다.
이상의 1차 띄어쓰기 문장을 생성하는 과정을 전술한 '아버지가방'의 경우를 예로 들어 설명하면 다음과 같다. 1차 적용부(142)는 확률 값 정보 DB(132)로부터 추출된 5개의 자질들에 대한 확률 값 정보를 획득한다.
이어서 1차 적용부(142)는 각 자질별로 붙여 쓰일 확률 값(P(0|F))과 띄어 쓰일 확률 값(P(1|F))을 확인하여 보다 큰 값을 갖는 확률 값에 따라 해당 지점의 띄어쓰기(또는 붙여쓰기)를 수행한다. 도 2a를 참조하면 각 자질들에 대한 확률 값 정보의 예가 설정되어 있다. 전술하였듯이, 확률 값은 자질의 3음절과 4음절 사이 지점이 띄어 쓰이거나 붙여 쓰일 확률을 나타낸다. 따라서 도 2a에 도시된 바와 같이 4개의 자질에 대해 '^^아버지', '^아버지가'는 붙여 쓰일 확률 값이 크게 나오 고, '아버지가방', '버지가방$' 은 띄어 쓰일 확률 값이 크게 나오는 경우, 사용자 입력 문장(M3)에서 확률 모델이 적용된 1차 띄어쓰기 문장은 '아버지 가 방'으로 생성된다.
1차 적용부(142)에 의해 확률 모델을 이용한 1차적인 보정이 끝나고 1차 띄어쓰기문장이 생성되면, 이어서 오류 보정 규칙 DB(134)를 이용하여 1차 띄어쓰기 문장을 다시 보정하는 S33 단계가 수행된다.
도 11은 본 실시예에 따른 오류 보정 규칙을 적용하는 단계를 개략적으로 나타내는 흐름도이다. 이를 함께 참조하면, 오류 보정 규칙을 적용하는 S33 단계는 먼저 1차 띄어쓰기 문장을 획득하는 S331 단계가 진행된다. 2차 적용부(144)는 1차 적용부(142)로부터 1차 띄어쓰기 문장을 획득한다. 이어서 2차 적용부(144)는 오류 보정 규칙 DB(134)에 등록되어 있는 오류 보정 규칙을 적재하는 S332 단계를 수행한다. 이 단계에서 2차 적용부(144)는 각 오류 보정 규칙들의 신뢰 점수를 기준으로 하여 우선 순위를 설정하고, 우선 순위에 따라 오류 보정 규칙들을 적재한다. 따라서 도 2b의 경우, 신뢰 점수가 가장 높은 '버지가방'이 최 상위 오류 보정 규칙으로 적재된다.
다음으로 2차 적용부(144)는 규칙 적용 대상 지점을 선정하는 S333 단계를 수행한다. 여기서 규칙 적용 대상 지점이란 사용자 입력 문장(M3) 중 오류 보정 규칙을 적용할 지점을 의미한다. 이러한 규칙 적용 대상 지점은 사용자 입력 문장(M3)의 연속되는 음절과 음절 사이를 대상으로 한다. 상기한 예에 따라 1차 띄어쓰기 문장으로 '아버지 가 방'이라는 문장을 입력된 경우, 처음의 규칙 적용 대상 지점은 '아'와 '버'의 사이 지점이 선정된다.
하나의 규칙 적용 대상 지점이 선정되면, 이어서 2차 적용부(144)는 최 상위 오류 보정 규칙을 선택하는 S334 단계를 수행한다. 전술하였듯이 도 2b를 참조하면 신뢰 점수가 가장 높은 자질은 '버지가방'의 오류 보정 규칙이다. 따라서 이 경우, 2차 적용부(144)는 최 상위 오류 보정 규칙으로 '버지가방'을 선택하게 된다.
다음으로, 선택한 오류 보정 규칙이 S333 단계에서 선정한 규칙 적용 대상 지점에 적용이 가능한지 여부를 확인하는 S335 단계가 수행된다. 전술한 예와 같이 1차 띄어쓰기 문장으로 '아버지 가 방'이 입력되고, 최상위 오류 보정 규칙으로 '버지가방'이 선택된 경우, 현재의 규칙 적용 대상 지점이 '지'와 '가'이 사이 지점이라면 선택된 오류 보정 규칙은 적용이 가능하다. 그러나, 규칙 적용 대상 지점이 '아'와 '버'의 사이 지점이라면, 해당 지점에는 '버지가방'의 오류 보정 규칙이 적용될 수 없다.
이처럼 규칙 적용이 불가능한 경우, 2차 적용부(144)는 S336 단계로 진입하여 다음 순위의 오류 보정 규칙을 선택한다. 즉, 다음으로 신뢰 점수가 높은 오류 보정 규칙을 선택한다. 도 2b의 경우를 예로 들면, 2차 적용부(144)는 다음의 오류 보정 규칙으로 '아버지가방'을 선택하게 된다.
이러한 S335 내지 S336 단계는 규칙 적용 대상 지점에 선택된 오류 보정 규칙을 적용할 수 있을 때까지 반복적으로 수행된다. 한편 도시되어 있지는 않지만, 확인 결과 적용 가능한 오류 보정 규칙이 없는 경우, 2차 적용부(144)는 S339 단계로 진입한다.
한편, 도 2b를 참조하면, 규칙 적용 대상 지점이 '아'와 '버'의 사이 지점인 경우, 5번째 우선 순위를 갖는 '^^아버지'의 오류 보정 규칙만이 적용될 수 있음을 알 수 있다.
이러한 경우, S335 내지 S336 단계가 5회 반복되어 오류 보정 규칙으로 '^^아버지'가 선택되면, 다시 S335 단계에 진입하게 되면, 2차 적용부(144)는 선택된 오류 보정 규칙이 규칙 적용 대상 지점에 적용 가능한 것으로 판단하게 된다.
이어서, 2차 적용부(144)는 선택된 오류 보정 규칙을 규칙 적용 대상 지점에 적용하는 S337 단계를 수행한다. 상기한 예의 경우, 2차 적용부(144)는 '^^아버지'의 띄어쓰기 정보에 따라 규칙 적용 대상 지점의 띄어쓰기를 보정한다. 도 2b를 참조하면 '^^아버지'의 띄어쓰기 정보는 '0'이다. 전술하였듯이 '0'은 붙여쓰기를 의미하므로, 2차 적용부(144)는 규칙 적용 대상 지점에 붙여쓰기를 적용한다.
다음으로 2차 적용부(144)는 규칙을 적용한 지점(예컨대, '아'와 '버'의 사이 지점)에 오류 보정 규칙이 적용되었음을 표시하는 S338 단계가 수행된다. 이 단계에서 2차 적용부(144)는 해당 지점에 대해 더 이상 오류 보정 규칙이 적용되지 않도록 해당 지점을 마킹(marking)한다.
이어서 2차 적용부(144)는 1차 띄어쓰기 문장의 모든 지점에 대해 보정이 완료되었는지 여부를 확인하는 S339 단계를 수행한다. 보정이 수행되지 않은 지점이 존재하면 2차 적용부(144)는 S340 단계로 진입하여 다음의 지점을 선택하고, 전술한 S334 내지 S339 단계를 반복적으로 수행하게 된다.
한편, 규칙 적용 대상 지점이 '버'와 '지' 사이 지점인 경우도 전술한 '아' 와 '버'의 사이 지점인 경우와 유사하게 수행되며 도 2b의 '^아버지가' 오류 보정 규칙이 적용된다.
반면에, 규칙 적용 대상 지점이 '지'와 '가'의 사이 지점인 경우, 적용될 수 있는 오류 보정 규칙은 '아버지가방', '버지가방'이 있으나, '버지가방'의 신뢰 점수가 더 높으므로 해당 지점에는 '버지가방'이 오류 보정 규칙으로 적용된다. 이에 따라 1차 띄어쓰기 문장은 '아버지 가 방'으로 유지된다.
그리고, 규칙 적용 대상 지점이 '가'와 '방' 사이 지점인 경우, 적용될 수 있는 오류 보정 규칙은 '지가방', '가방'이 있으나, '지가방'의 신뢰 점수가 신뢰 점수가 가장 높으므로, 오류 보정 규칙은 '지가방'이 적용된다. 이에 '지가방'의 띄어쓰기 정보(즉, '0')에 따라 '가'와 '방' 사이의 지점에는 붙여쓰기가 적용되어 1차 띄어쓰기 문장은 최종적으로 '아버지 가방'으로 보정된다.
이와 같은 단계들이 수행되고, S339 단계에서 2차 적용부(144)가 모든 지점들에 대해 보정이 완료된 것을 확인하게 되면, 2차 적용부(144)는 1차 띄어쓰기 문장의 보정을 완료한다.
S33 단계를 통해 1차 띄어쓰기 문장의 보정이 완료되면, 2차 적용부(144)는 보정이 완료된 사용자 입력 문장(M3)을 출력부(160)로 출력하는 S34 단계를 수행한다.
출력부(160)에 출력되는 띄어쓰기가 보정된 사용자 입력 문장(M3)을 통해, 사용자는 자신이 입력한 문장이 띄어쓰기가 보정되어 표시되는 것을 확인할 수 있다.
이상에서 설명한 본 발명은 uni-gram을 이용한 통계 정보와, 오류 보정 규칙을 이용한 하이브리드 방법을 통해 문장의 띄어쓰기를 자동으로 보정한다. 이에 높은 컴퓨팅 파워를 요구하던 종래 기술에 비하여 낮은 컴퓨팅 파워에서도 용이하게 적용할 수 있다. 즉, 핸드폰이나 PDA와 같이 일반적인 PC에 비해 컴퓨팅 파워가 떨어지는 휴대(또는 모바일) 단말기에서 효과적으로 작동되는 경량화된 문장 자동 띄어쓰기 시스템 및 방법을 구현할 수 있다. 더하여 이를 바탕으로 모바일 기기에서 문장을 입력하고 처리하는 자연어 인터페이스 개발의 기틀을 마련할 수 있다.
한편, 본 발명에 따른 문장 띄어쓰기 시스템 및 방법은 실시예에 한정되지 않으며, 본 발명의 기술적 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이 가능하다.
예를 들어, 본 실시예에서는 한글 문장을 기준으로 하여 문장 띄어쓰기 방법과시스템을 설명하였다. 그러나, 이에 한정되지 않으며, 다른 외국어들에도 다양하게 적용될 수 있다. 주 언어가 영어인 경우를 살펴보면, 영어의 경우 음절 개념이 없기 때문에 한글 음절을 영어 알파벳으로 대체하여 적용할 수 있다. 즉 띄어쓰기 대상 지점의 앞 3 알파벳과 뒤 2 알파벳을 자질로 사용할 수 있다. 그러나 영어 알파벳 1개가 내포하는 정보량은 한국어 음절 1개보다 작다. 따라서, 앞 4~5 알파벳, 뒤 3~4 알파벳 정도로 확장하여 이용하는 것도 가능하다.
또한 본 실시예에서 제안하고 있는 문맥 정보는 한글 문장에 적용할 수 있는 예이므로, 다른 언어에 대해서도 동일하게 적용할 필요는 없으며 다양한 경우에 대한 실험에 따른 성능을 보면서 최적의 범위를 결정하는 것이 바람직하다.
더하여, 본 실시예에서는 휴대 단말기 등에서 문장 띄어쓰기 방법을 수행하는 경우를 예로 들었으나, 이에 한정되지 않으며, 문장의 입력이 가능한 컴퓨팅 기기라면 다양하게 적용될 수 있다.
도 1은 본 발명의 실시예에 따른 문장 띄어쓰기 시스템을 개략적으로 나타내는 블록도.
도 2a는 본 발명의 실시예에 따른 확률 값 정보 데이터베이스(132)를 개략적으로 나타내는 도면.
도 2b는 본 발명의 실시예에 따른 오류 보정 규칙 데이터베이스(134)를 개략적으로 나타내는 도면.
도 3은 본 발명의 실시예에 따른 문장 띄어쓰기 방법의 학습 과정을 개략적으로 나타내는 흐름도.
도 4a은 본 실시예에 따른 자질을 추출 단계를 설명하기 위한 도면.
도 4b는 본 발명의 실시예에 따른 자질 집합을 개략적으로 나타내는 도면.
도 5는 본 실시예에 따른 특수문자를 일반화하는 단계를 설명하기 위한 도면.
도 6은 본 발명의 실시예에 따른 1차 띄어쓰기 말뭉치를 생성하는 과정을 개략적으로 나타내는 흐름도.
도 7은 본 실시예에 따른 오류 보정 후보 규칙 생성 단계를 개략적으로 나타내는 흐름도.
도 8은 본 발명의 실시예에 따른 오류 보정 규칙 선택 단계를 개략적으로 나타내는 흐름도.
도 9는 본 발명의 실시예에 따른 문장 띄어쓰기 방법의 적용 과정을 개략적 으로 나타내는 흐름도.
도 10은 본 발명의 실시예에 따른 확률 모델 적용 과정을 개략적으로 나타내 는 흐름도.
도 11은 본 실시예에 따른 오류 보정 규칙을 적용하는 단계를 개략적으로 나타내는 흐름도.

Claims (25)

  1. 정답 말뭉치와 상기 정답 말뭉치를 모두 붙여 쓴 오류 말뭉치를 획득하는 단계와, 상기 정답 말뭉치로부터 자질들을 추출하여 확률 값 정보를 생성하는 단계와, 상기 확률 값 정보를 상기 오류 말뭉치에 적용한 결과물로부터 오류 보정 규칙을 생성하는 단계로 구성되는 학습 과정과,
    사용자가 입력한 문장(이하 사용자 입력 문장)에 상기 확률 값 정보와 상기 오류 보정 규칙 집합을 순차적으로 적용하여 띄어쓰기가 보정된 사용자 입력 문장을 출력하는 적용 과정을 포함하며,
    상기 오류 보정 규칙을 생성하는 단계는,
    상기 오류 말뭉치에 상기 확률 값 정보와 확률 모델을 적용하여 1차 띄어쓰기 말뭉치를 생성하는 1차 띄어쓰기 단계와,
    상기 1차 띄어쓰기 말뭉치로부터 보정이 필요한 지점을 추출하여 후보 규칙들을 생성하는 후보 규칙 생성 단계와,
    각각의 상기 후보 규칙에 대한 신뢰 점수를 산출하고, 산출된 상기 신뢰 점수를 기반으로 하여 상기 후보 규칙들 중 상기 오류 보정 규칙을 선택하는 규칙 선택 단계를 포함하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  2. 제 1 항에 있어서, 상기 확률 값 정보를 생성하는 단계는
    상기 추출한 자질들을 저장하는 단계와,
    상기 오류 말뭉치에 상기 추출된 자질들과 확률 모델을 적용하여 상기 확률 값 정보를 생성하는 확률 값 정보 생성 단계를 포함하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  3. 제 2 항에 있어서, 상기 자질 추출 단계는,
    상기 정답 말뭉치에서 1-gram(uni-gram)으로 자질을 추출하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  4. 제 3 항에 있어서, 상기 자질 추출 단계는,
    띄어쓰기 지점에서 앞 3음절과 뒤 2음절로 이루어지는 5음절로 자질을 추출 하는 단계인 것을 특징으로 하는 문장 띄어쓰기 방법.
  5. 제 3 항에 있어서, 상기 자질 추출 단계는,
    숫자, 특수 기호, 외래 문자를 포함하는 특수 문자는 일반화된 문자로 정의하며 추출하는 단계인 것을 특징으로 하는 문장 띄어쓰기 방법.
  6. 제 3 항에 있어서, 상기 확률 값 정보 생성부는,
    CRFs(Conditional Random Fields) 확률 모델을 이용하여 상기 확률 값 정보를 생성하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  7. 제 6 항에 있어서, 상기 확률 값 정보 생성 단계는 수학식 1을 상기 확률 모델로 이용하는 것을 특징으로 하는 문장 띄어쓰기 방법.
    수학식 1
    Figure 112008025097274-pat00004
    S 1 ,m : m+1개의 음절로 구성된 문장의 띄어쓰기 정보(대상 지점에서 띄어야 하면 1, 그렇지 않으면 0).
    F 1,m : S l,m을 결정하기 위한 대상 지점에서의 uni-gram 자질.
    f k (S i-1, S i k, F i ,t) : 자동 띄어쓰기를 위한 자질 함수(해당 자질이 나타나면 1, 그렇지 않으면 0).
    Z(F) : 정규화 요소.
    λ k : 각 자질 함수에 부여된 가중치.
  8. 삭제
  9. 제 1 항에 있어서, 상기 후보 규칙 생성 단계는,
    2-gram 이상으로 상기 후보 규칙들을 생성하는 단계인 것을 특징으로 하는 문장 띄어쓰기 방법.
  10. 제 1 항에 있어서, 상기 규칙 선택 단계는,
    상기 후보 규칙들과, 상기 정답 말뭉치를 비교하여 각각의 상기 후보 규칙에 대한 상기 신뢰 점수를 산출하는 단계를 포함하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  11. 제 10 항에 있어서, 상기 규칙 선택 단계는 수학식 2, 수학식 3을 이용하여 상기 신뢰 점수를 산출하는 것을 특징으로 하는 문장 띄어쓰기 방법.
    수학식 2
    Figure 112008025097274-pat00005
    수학식 3
    Figure 112008025097274-pat00006
    Score ( Rule ) : 개별 점수
    Max _ Score : 후보 규칙들에 부여된 개별 점수 중에 가장 큰 점수
    Positive(Rule) : 옳게 수정된 띄어쓰기 대상 지점의 개수
    Negative(Rule) : 잘못 수정된 띄어쓰기 대상 지점의 개수
  12. 제 11 항에 있어서, 상기 규칙 선택 단계는,
    상기 신뢰 점수가 1.0 이상이고, 상기 Positive(Rule)이 상기 Negative(Rule)의 2배 이상인 후보 규칙들만을 선택하는 단계인 것을 특징으로 하 는 문장 띄어쓰기 방법.
  13. 제 1 항에 있어서, 상기 적용 과정은,
    상기 사용자 입력 문장을 입력 받는 단계와,
    상기 사용자 입력 문장에 상기 확률 값 정보의 확률 값을 적용하며 1차 띄어쓰기 문장을 생성하는 단계와,
    상기 1차 띄어쓰기 문장에 상기 오류 보정 규칙을 적용하여 2차 띄어쓰기 문장을 생성하는 단계를 포함하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  14. 제 13 항에 있어서, 상기 1차 띄어쓰기 문장을 생성하는 단계는,
    상기 사용자 입력 문장으로부터 uni-gram으로 자질을 추출하는 단계와,
    상기 추출된 자질에 대응하는 상기 확률 값을 기반으로 하여 띄어쓰기 여부를 판단하고, 판단 결과에 따라 띄어쓰기를 수행하는 단계를 포함하는 것을 특징으로 하는 문장 띄어쓰기 방법.
  15. 제 13 항에 있어서, 상기 2차 띄어쓰기 문장을 생성하는 단계는,
    보정이 필요한 지점에 대해, 대응하는 상기 오류 보정 규칙들 중 상기 신뢰 점수가 가장 큰 오류 보정 규칙만을 적용하는 단계인 것을 특징으로 하는 문장 띄어쓰기 방법.
  16. 정답 말뭉치와 상기 정답 말뭉치를 모두 붙여 쓴 오류 말뭉치를 획득하고, 상기 정답 말뭉치로부터 자질들을 추출하여 확률 값 정보를 생성하는 상기 확률 값 정보 생성부와, 상기 확률 값 정보를 상기 오류 말뭉치에 적용한 결과물로부터 오류 보정 규칙을 생성하는 보정 규칙 생성부를 포함하는 학습부; 및
    사용자가 입력한 문장(이하 사용자 입력 문장)에 상기 확률 값 정보와 상기 오류 보정 규칙 집합을 순차적으로 적용하여 띄어쓰기가 보정된 상기 사용자 입력 문장을 출력하는 적용부;를 포함하며,
    상기 보정 규칙 생성부는, 오류 말뭉치에 상기 확률 값 정보와 확률 모델을 적용하여 1차 띄어쓰기 말뭉치를 생성하고, 상기 1차 띄어쓰기 말뭉치로부터 보정이 필요한 지점을 추출하여 후보 규칙들을 생성하고, 각각의 상기 후보 규칙에 대한 신뢰 점수를 산출하여 산출된 상기 신뢰 점수를 기반으로 하여 상기 후보 규칙들 중 상기 오류 보정 규칙을 생성 및 저장하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  17. 제 16 항에 있어서, 상기 확률 값 정보 생성부는,
    상기 정답 말뭉치로부터 추출한 자질들을 저장하고, 상기 오류 말뭉치에 상기 추출된 자질들과 확률 모델을 적용하여 상기 확률 값 정보를 생성 및 저장하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  18. 제 16 항에 있어서, 상기 확률 값 정보 생성부는,
    상기 정답 말뭉치에서 1-gram(uni-gram)으로 자질을 추출하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  19. 제 17 항에 있어서, 상기 확률 값 정보 생성부는,
    CRFs(Conditional Random Fields) 확률 모델을 이용하여 상기 확률 값 정보를 생성하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  20. 삭제
  21. 제 16 항에 있어서, 상기 보정 규칙 생성부는,
    상기 후보 규칙들과, 상기 정답 말뭉치를 비교하여 각각의 상기 후보 규칙에 대한 상기 신뢰 점수를 산출하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  22. 제 16 항에 있어서, 상기 적용부는,
    상기 확률 값 정보를 상기 사용자 입력 문장에 적용하여 1차 띄어쓰기 문장을 생성하는 1차 적용부;
    상기 1차 띄어쓰기 문장에 상기 오류 보정 규칙을 적용하여 보정된 사용자 입력 문장을 생성하는 2차 적용부;를 포함하여 구성되는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  23. 제 22 항에 있어서, 상기 1차 적용부는,
    상기 사용자 입력 문장으로부터 uni-gram으로 자질을 추출하고, 상기 추출된 자질에 대응하는 상기 확률 값 정보를 기반으로 하여 띄어쓰기 여부를 판단하며, 판단 결과에 따라 띄어쓰기를 수행하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  24. 제 22 항에 있어서, 상기 2차 적용부는,
    상기 1차 띄어쓰기 문장 중 보정이 필요한 지점에 대해, 대응하는 상기 오류 보정 규칙들 중 상기 신뢰 점수가 가장 큰 오류 보정 규칙만을 적용하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
  25. 제 22 항에 있어서,
    상기 확률 값 정보 및 상기 오류 보정 규칙들이 저장되는 저장부를 더 포함하는 것을 특징으로 하는 문장 띄어쓰기 시스템.
KR20080032348A 2008-04-07 2008-04-07 문장 띄어쓰기 시스템 및 방법 KR101496885B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20080032348A KR101496885B1 (ko) 2008-04-07 2008-04-07 문장 띄어쓰기 시스템 및 방법
US12/419,594 US8234232B2 (en) 2008-04-07 2009-04-07 Word-spacing correction system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080032348A KR101496885B1 (ko) 2008-04-07 2008-04-07 문장 띄어쓰기 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090106936A KR20090106936A (ko) 2009-10-12
KR101496885B1 true KR101496885B1 (ko) 2015-02-27

Family

ID=41134168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080032348A KR101496885B1 (ko) 2008-04-07 2008-04-07 문장 띄어쓰기 시스템 및 방법

Country Status (2)

Country Link
US (1) US8234232B2 (ko)
KR (1) KR101496885B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190080833A (ko) 2019-06-18 2019-07-08 엘지전자 주식회사 음성 정보 기반 언어 모델링 시스템 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8640026B2 (en) 2011-07-11 2014-01-28 International Business Machines Corporation Word correction in a multi-touch environment
US8601359B1 (en) * 2012-09-21 2013-12-03 Google Inc. Preventing autocorrect from modifying URLs
KR101509727B1 (ko) * 2013-10-02 2015-04-07 주식회사 시스트란인터내셔널 자율학습 정렬 기반의 정렬 코퍼스 생성 장치 및 그 방법과, 정렬 코퍼스를 사용한 파괴 표현 형태소 분석 장치 및 그 형태소 분석 방법
CN103605642B (zh) * 2013-11-12 2016-06-15 清华大学 一种面向文本输入的自动纠错方法与系统
US10152298B1 (en) * 2015-06-29 2018-12-11 Amazon Technologies, Inc. Confidence estimation based on frequency
CN109190124B (zh) * 2018-09-14 2019-11-26 北京字节跳动网络技术有限公司 用于分词的方法和装置
KR102117895B1 (ko) * 2018-11-28 2020-06-02 주식회사 이르테크 Stand-off 주석을 이용한 언어학습용 작문오류 교정장치 및 방법
KR102217621B1 (ko) * 2019-01-02 2021-02-19 주식회사 카카오 사용자 발화의 오류를 교정하는 방법 및 장치
US20210373509A1 (en) * 2020-05-28 2021-12-02 Johnson Controls Technology Company Building system with string mapping based on a statistical model
US11693374B2 (en) 2020-05-28 2023-07-04 Johnson Controls Tyco IP Holdings LLP Building system with string mapping based on a sequence to sequence neural network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040089774A (ko) * 2003-04-15 2004-10-22 한국전자통신연구원 어절 엔-그램을 이용한 띄어쓰기와 철자 교정장치 및 방법
KR20070060862A (ko) * 2005-12-09 2007-06-13 한국전자통신연구원 학습 데이터 구축 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060150A1 (en) * 2003-09-15 2005-03-17 Microsoft Corporation Unsupervised training for overlapping ambiguity resolution in word segmentation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040089774A (ko) * 2003-04-15 2004-10-22 한국전자통신연구원 어절 엔-그램을 이용한 띄어쓰기와 철자 교정장치 및 방법
KR20070060862A (ko) * 2005-12-09 2007-06-13 한국전자통신연구원 학습 데이터 구축 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190080833A (ko) 2019-06-18 2019-07-08 엘지전자 주식회사 음성 정보 기반 언어 모델링 시스템 및 방법
US11056100B2 (en) 2019-06-18 2021-07-06 Lg Electronics Inc. Acoustic information based language modeling system and method

Also Published As

Publication number Publication date
US8234232B2 (en) 2012-07-31
US20090254501A1 (en) 2009-10-08
KR20090106936A (ko) 2009-10-12

Similar Documents

Publication Publication Date Title
KR101496885B1 (ko) 문장 띄어쓰기 시스템 및 방법
KR101491581B1 (ko) 철자 오류 보정 시스템 및 방법
US8275618B2 (en) Mobile dictation correction user interface
US6343270B1 (en) Method for increasing dialect precision and usability in speech recognition and text-to-speech systems
KR101590724B1 (ko) 음성 인식 오류 수정 방법 및 이를 수행하는 장치
US20060149551A1 (en) Mobile dictation correction user interface
CN111739514B (zh) 一种语音识别方法、装置、设备及介质
WO2006030302A1 (en) Optimization of text-based training set selection for language processing modules
JP2006031228A (ja) 形態素解析装置、方法及びプログラム
CN101681365A (zh) 用于分布式语音搜索的方法和装置
WO2013014877A1 (ja) 信頼度算出装置、翻訳信頼度算出利用方法および翻訳エンジン用プログラム
KR20210154705A (ko) 시맨틱 매칭 방법, 장치, 기기 및 저장 매체
US20130179166A1 (en) Voice conversion device, portable telephone terminal, voice conversion method, and record medium
US20180130465A1 (en) Apparatus and method for correcting pronunciation by contextual recognition
KR101627428B1 (ko) 딥 러닝을 이용하는 구문 분석 모델 구축 방법 및 이를 수행하는 장치
US20230326446A1 (en) Method, apparatus, storage medium, and electronic device for speech synthesis
CN103050115A (zh) 识别装置、识别方法、生成装置和生成方法
JP5558284B2 (ja) 音声認識システム、音声認識方法、および音声認識プログラム
EP4073789B1 (en) Alphanumeric sequence biasing for automatic speech recognition
KR100654183B1 (ko) 음성 인식을 이용한 문자 입력 시스템 및 그 방법
CN113722436A (zh) 文本信息提取方法、装置、计算机设备及存储介质
CN111209746B (zh) 自然语言处理方法、装置、存储介质及电子设备
CN114822519A (zh) 中文语音识别纠错方法、装置及电子设备
US7831549B2 (en) Optimization of text-based training set selection for language processing modules
JP5238395B2 (ja) 言語モデル作成装置および言語モデル作成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200217

Year of fee payment: 6