KR101587023B1 - 자연어 정규화 방법 및 장치 - Google Patents

자연어 정규화 방법 및 장치 Download PDF

Info

Publication number
KR101587023B1
KR101587023B1 KR1020140117970A KR20140117970A KR101587023B1 KR 101587023 B1 KR101587023 B1 KR 101587023B1 KR 1020140117970 A KR1020140117970 A KR 1020140117970A KR 20140117970 A KR20140117970 A KR 20140117970A KR 101587023 B1 KR101587023 B1 KR 101587023B1
Authority
KR
South Korea
Prior art keywords
normalization
natural language
word
similarity
normalized
Prior art date
Application number
KR1020140117970A
Other languages
English (en)
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 KR1020140117970A priority Critical patent/KR101587023B1/ko
Application granted granted Critical
Publication of KR101587023B1 publication Critical patent/KR101587023B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data

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

자연어 정규화 방법 및 장치를 개시한다.
자연어 데이터를 유사한 역할을 하는 단위로 군집화하고, 군집화 결과에서 유사도를 기초로 추출된 정규화 후보 중 선택된 정규화 단어를 이용하여 정규화 규칙을 생성하는 자연어 정규화 방법 및 장치에 관한 것이다.

Description

자연어 정규화 방법 및 장치{Apparatus and Method for Normalizing Natural Language}
본 실시예는 자연어를 정규화하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
일상생활에서 사람이 사용하는 자연어를 데이터로 이용하기 위해서는 음성인식, 전사, 문자인식 등의 인식장치를 이용하거나, 사용자가 직접 자연어를 받아적어 텍스트 형태로 바꾸어 기록한다. 이러한, 자연어를 데이터 형태로 변환하는 기술은 한국공개 특허공보 공개번호 제1999-0043096호 및 제2001-0106696호에 개시되어 있다.
하지만, 이러한 인식장치 또는 사용자가 직접 받아적는 방식을 이용하더라도, 많은 오류가 발생하여 정확도가 높지 않다. 또한, 자연어의 특성상 뜻은 같지만 다양한 형태로 발화할 수 있어, 자연어를 정확히 인식하여 데이터로 생성하기는 어렵다.
본 실시예는 자연어 데이터를 유사한 역할을 하는 단위로 군집화하고, 군집화 결과에서 유사도를 기초로 추출된 정규화 후보 중 선택된 정규화 단어를 이용하여 정규화 규칙을 생성하는 자연어 정규화 방법 및 장치를 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 자연어 데이터를 생성하는 전처리 과정; 상기 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하고, 유사도 리스트를 생성하는 유사도 생성과정; 상기 유사도 리스트 중 유사도를 기초로 정규화 후보를 추출하는 후보 처리과정; 상기 정규화 후보 중 정규화 단어를 선정하는 정규화 제어과정; 및 상기 정규화 단어를 등록하여 정규화 규칙을 생성하는 규칙 생성과정을 포함하는 것을 특징으로 하는 자연어 정규화 방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 자연어 데이터를 생성하는 자연어 전처리부; 상기 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하고, 유사도 리스트를 생성하는 군집화 제어부; 상기 유사도 리스트 중 유사도를 기초로 정규화 후보를 추출하는 후보 처리부; 상기 정규화 후보 중 정규화 단어를 선정하는 정규화 제어부; 및 상기 정규화 단어를 등록하여 정규화 규칙을 생성하는 정규화 규칙 생성부를 포함하는 것을 특징으로 하는 자연어 정규화 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 자연어를 정규화하는 속도를 향상시킬 수 있고, 정규화의 정확도를 높일 수 있는 효과가 있다. 또한, 사용자가 수동으로 문장을 파악하여 정규화하는 과정을 자동 또는 반자동으로 정규화 지식을 확충함으로써, 인력 낭비를 감소 및 편리성을 증대시킬 수 있는 효과가 있다.
도 1은 본 실시예에 따른 자연어 정규화 장치를 개략적으로 나타낸 블록 구성도이다.
도 2는 본 실시예에 따른 자연어를 정규화하는 방법을 설명하기 위한 순서도이다.
도 3은 본 실시예에 따른 정규화된 자연어를 제공하는 방법을 설명하기 위한 순서도이다.
도 4는 본 실시예에 따른 자연어 데이터를 정규화하는 동작을 설명하기 위한 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 자연어 정규화 장치를 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 자연어 정규화 장치(100)는 자연어 전처리부(110), 군집화 제어부(120), 후보 처리부(130), 정규화 제어부(140), 정규화 지식 저장부(150), 정규화 규칙 생성부(160) 및 정규화 데이터 관리부(170)를 포함한다. 도 1에 도시된 자연어 정규화 장치(100)는 일 실시예에 따른 것으로서, 도 1에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 자연어 정규화 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다.
자연어 전처리부(110)는 외부장치 또는 사용자로부터 입력된 자연어를 기반으로 자연어 데이터를 생성한다.
본 실시예에 따른 자연어 전처리부(110)는 음성 또는 문자의 입력에 근거하여 자연어를 획득하고, 자연어를 음성인식, 전사, 문자인식 등을 이용하여 자연어 데이터를 생성한다. 여기서, 자연어 데이터는 일상적으로 사용하는 자연어를 자연어 정규화를 위해 변환된 데이터로서, 자연어의 문자열, 도큐먼트(Document), 문장(문자)들의 집합, 코퍼스(Corpus) 등일 수 있다.
예를 들어, 자연어 전처리부(110)는 복수 개의 문장 각각에 대한 자연어 음성정보를 마이크로 입력받고, 음성인식을 이용하여 입력된 자연어 음성정보 각각에 대한 자연어 데이터를 생성한다.
군집화 제어부(120)는 복수 개의 자연어 데이터를 분석하여 군집화하고, 군집화 결과에 대한 유사도 리스트를 생성한다. 본 실시예에 따른 군집화 제어부(120)는 복수 개의 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분석하고, 분석결과를 기초로 유사한 역할을 하는 단어정보를 공통군으로 군집화하여 유사도 리스트를 생성한다.
군집화 제어부(120)는 기 설정된 언어 모델(예: 말뭉치, 코퍼스(Corpus) 등)과 각각의 자연어 데이터를 비교하여 기 설정된 기준 유사도에 대응하는 단어정보를 동일한 군으로 군집화(예: Brown Clustering 등)하여 역할이 유사한 단어정보들에 대한 유사도 리스트를 생성한다. 예컨대, 군집화 제어부(120)는 '안녕, '식사' 등의 단어를 기반으로 유사한 역할을 갖는 {안녕하세요, 안녕하세여, 안녕하세용, 안녕하쇼, 안녕하슈}, {식사하세요, 식사하세여, 식사하시여, 식사했어요, 식사했자나} 등으로 모델링되고, {안녕하세요, 안녕하세여, 안녕하세용, 안녕하쇼, 안녕하슈}의 유사도에 근거하여 제1 유사도 리스트를 생성하고, {식사하세요, 식사하세여, 식사하시여, 식사했어요, 식사했자나}의 유사도에 근거하여 제2 유사도 리스트를 생성한다.
즉, 군집화제어부(120)는 하나의 문장에서 유사한 역할을 수행하는 단어정보들을 추출하고, 추출된 단어정보를 기반으로 모델링된 언어 모델의 유사도에 근거하여 유사도 리스트를 생성한다.
한편, 군집화 제어부(120)는 기 설정된 언어 모델을 이용하여 군집화된 유사도 리스트를 생성하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니다.
예를 들어, 군집화 제어부(120)는 자연어 데이터의 문자열을 분석하여 형태소라는 자연언어 분석을 위한 기본 단위로 분류하는 형태소 분석, 자연어 데이터의 형태소들이 결합하여 문장이나 구절을 만드는 구문 규칙에 따라서 문장 내에서 각 형태소들이 가지는 역할(예: 주어, 목적어)을 분석하는 구문 분석, 자연어 데이터의 구문 분석의 결과를 해석하여 문장이 가지는 의미(형태소의 의미)를 분석하는 의미 분석, 자연어 데이터의 문장이 실세계와 가지는 연관 관계를 분석하는 실용 분석 등의 방식을 이용하여 복수 개의 자연어 데이터를 분석하여 군집화하고, 군집화 결과에 대한 유사도 리스트를 생성할 수 있다.
후보 처리부(130)는 유사도 리스트 중 정규화 후보를 추출한다. 본 실시예에 따른 후보 처리부(130)는 유사도 리스트 중 유사도가 높은 기 설정된 개수의 정규화 후보를 추출한다. 여기서, 유사도는 유사도 리스트에서 서로 비슷한 발음을 가지고 있거나, 비슷한 알파벳 형태를 가지고 있는 단어들의 유사 정도를 의미한다. 예를 들어, 유사도 리스트가 {식사하세요, 식사하세여, 식사하시여, 식사했어요, 식사했자너}를 포함하는 경우, 후보 처리부(130)는 유사도가 높은 {식사하세요, 식사하세여, 식사하시여}만을 정규화 후보로 추출한다.
후보 처리부(130)는 유사도 리스트에 포함된 단어정보를 유사도 순으로 정렬(Sorting)하고, 기 설정된 개수의 상위 유사도를 갖는 단어정보들을 정규화 후보로 추출할 수도 있다.
한편, 후보 처리부(130)는 유사도 리스트에 포함된 단어정보의 일부만을 정규화 후보로 추출하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 유사도 리스트에 포함된 단어정보 전체를 정규화 후보로 추출할 수도 있다.
정규화 제어부(140)는 추출된 정규화 후보 중 정규화 단어를 결정한다.
본 실시예에 따른 정규화 제어부(140)는 사용자의 조작 또는 입력에 근거하여 추출된 정규화 후보 중 정규화 단어를 결정한다. 더 자세히 설명하자면, 정규화 제어부(140)는 추출된 정규화 후보를 사용자 단말기(미도시) 또는 외부 출력장치를 이용하여 출력하고, 정규화 후보 중 사용자의 조작 따른 사용자 입력신호에 근거하여 선택된 단어정보를 정규화 단어로 선정한다. 여기서, 정규화 제어부(140)는 선정된 정규화 단어를 정규화 지식 저장부(150)로 저장한다.
예를 들어, 정규화 제어부(140)는 {식사하세요, 식사하세여, 식사하시여}와 같은 정규화 후보를 사용자 단말기(미도시)에 출력되도록 하고, 사용자가 '식사하세요'에 대한 단어정보를 선택한 경우, '식사하세요'를 정규화 단어로 선정한다.
한편, 정규화 제어부(140)는 사용자의 조작에 근거하여 정규화 후보 중 정규화 단어가 선정되지 않는 경우, 정규화 후보에 포함된 단어정보의 자연어 데이터가 새롭게 군집화되도록 한다.
정규화 제어부(140)는 정규화 후보 중 정규화 단어 즉, 정규화하기 위한 대표 단어가 존재하지 않는 경우, 사용자의 조작에 근거하여 입력된 단어를 정규화 단어로 결정할 수 있다.
정규화 제어부(140)는 사용자가 수동(반자동)으로 사용자 입력신호를 입력받아 정규화 후보 중 정규화 단어를 선택하는 것으로 기재하고 있으나 반드시 이이 한정되는 것은 아니다. 예를 들어, 정규화 제어부(140)는 정규화 후보에 포함된 단어정보를 정규화 사전 저장부(미도시)에 포함된 단어정보와 비교하여 대응되는 단어정보가 존재하는 경우, 해당 단어정보를 정규화 단어로 결정할 수 있다.
정규화 지식 저장부(150)는 정규화 제어부(140)로부터 결정된 정규화 단어를 포함한 정규화 지식정보를 저장한다. 정규화 지식 저장부(150)는 동일한 정규화 단어가 반복하여 저장되는 경우, 반복 횟수정보를 추가하여 정규화 지식정보를 저장하고, 중복되는 정규화 단어를 삭제하여 하나의 정규화 단어만을 저장한다.
정규화 지식 저장부(150)는 사용자 단말기(미도시), 외부 장치(예: 번역 장치, 통역 장치, 언어 변환장치 등) 등으로부터 요청이 수신되는 경우, 기 저장된 정규화 단어를 제공한다.
정규화 지식 저장부(150)는 기 저장된 정규화 단어를 정규화 장치(100) 내에서 제공하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 사용자(단말기)가 원격 또는 유선 등으로 정규화 장치(100)와 연결되어 정규화 단어를 제공함으로써, 통신상에서도 정규화가 가능하다.
정규화 지식 저장부(150)는 정규화 단어에 대한 정보를 저장하는 데이터베이스로 구현될 수 있으며, 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 발명의 일 실시예의 목적에 맞게 구현될 수 있다.
정규화 규칙 생성부(160)는 선정된 정규화 단어를 등록하여 정규화 규칙정보를 생성한다. 정규화 규칙 생성부(160)는 기 설정된 정규화 규칙정보가 존재하는 경우, 선정된 정규화 단어를 정규화 규칙정보에 추가한다. 여기서, 정규화 규칙정보는 자연어를 분석, 변환 등을 빠르게 수행하기 위해 기 설정된 규칙정보를 의미한다. 다시 말해, 정규화 규칙정보는 같은 의미를 갖지만 다양한 형태로 표현되는 자연어를 같은 의미를 갖는 단일한 형태로 정규화하기 위한 규칙정보를 말한다.
정규화 규칙 생성부(160)는 정규화 단어를 입력받아 정규화 규칙정보에 등록한 후 정규화 단어를 정규화 데이터 관리부(170)로 전송한다.
정규화 데이터 관리부(170)는 정규화 규칙정보에 등록된 정규화 단어를 관리한다.
본 실시예에 따른 정규화 데이터 관리부(170)는 정규화 단어를 획득하고, 정규화 단어를 군집화 제어부(120)로 전송하여 다시 군집화되도록 한다. 다시 말해, 정규화 데이터 관리부(170)는 정규화 단어가 기 설정된 횟수만큼 또는 기 설정된 주기마다 군집화되도록 하고, 신규 정규화 단어로 결정되는 경우, 정규화 지식 저장부(150)에 저장되는 동작이 반복되도록 한다.
정규화 데이터 관리부(170)는 전술한 바와 같이, 정규화 단어를 자연어 데이터로 입력되도록 하여 정규화 단어를 선정하는 동작을 반복함으로써, 정규화된 지식이 확충되도록 하고, 정규화 단어의 정확도를 증가시킨다.
정규화 데이터 관리부(170)는 정규화 규칙에 포함된 정규화 단어를 저장하고, 정규화 단어를 신규 자연어 데이터로 설정하여 정규화 단어를 선정하고, 정규화 규칙에 등록하는 동작을 반복한다. 더 자세히 설명하자면, 정규화 데이터 관리부(170)는 정규화 규칙에 포함된 정규화 단어를 저장하고, 정규화 단어를 신규 자연어 데이터로 설정하여 기 설정된 기준 유사도에 근거하여 유사도 리스트를 생성하고, 유사도 리스트 중 정규화 후보를 추출하여 정규화 단어를 선정하는 동작을 기 설정된 횟수 또는 기 설정된 주기로 반복한다.
도 2는 본 실시예에 따른 자연어를 정규화하는 방법을 설명하기 위한 순서도이다.
자연어 정규화 장치(100)는 입력된 자연어에 근거하여 자연어 데이터를 생성한다(S210). 더 자세히 설명하자면, 자연어 정규화 장치(100)는 입력된 자연어를 음성인식, 전사, 문자인식 등을 이용하여 자연어 데이터를 생성한다. 여기서, 자연어 데이터는 일상적으로 사용하는 자연어를 자연어 정규화를 위해 변환된 데이터로서, 자연어의 문자열, 도큐먼트(Document), 문장(문자)들의 집합, 코퍼스(Corpus) 등일 수 있다.
자연어 정규화 장치(100)는 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하여(S230), 유사도 리스트를 생성한다(S240). 자연어 정규화 장치(100)는 복수 개의 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분석하고, 분석결과를 기초로 유사한 역할을 하는 단어정보를 공통군으로 군집화하여 유사도 리스트를 생성한다. 예를 들어, 자연어 정규화 장치(100)는 기 설정된 언어 모델과 각각의 자연어 데이터를 비교하여 기 설정된 기준 유사도에 대응하는 단어정보를 동일한 군으로 군집화하여 역할이 유사한 단어정보들에 대한 유사도 리스트를 생성한다.
자연어 정규화 장치(100)는 유사도 리스트 중 기 설정된 개수의 정규화 후보를 추출한다(S250).
자연어 정규화 장치(100)는 추출된 정규화 후보 중 정규화 단어가 결정된 경우(S260), 결정된 정규화 단어를 등록하여 정규화 규칙정보를 생성한다(S270). 여기서, 자연어 정규화 장치(100)는 추출된 정규화 후보를 사용자 단말기(미도시) 또는 외부 출력장치를 이용하여 출력하고, 정규화 후보 중 사용자의 조작에 근거하여 선택된 단어정보를 정규화 단어로 선정한다.
자연어 정규화 장치(100)는 선정된 정규화 단어를 등록하여 정규화 규칙정보를 생성한다. 여기서, 정규화 규칙정보는 자연어를 분석, 변환 등을 빠르게 수행하기 위해 기 설정된 규칙정보를 의미한다. 다시 말해, 정규화 규칙정보는 같은 의미를 갖지만 여러가지 다양한 형태로 표현되는 자연어를 같은 의미를 갖는 단일한 형태로 정규화하기 위한 규칙정보를 말한다.
한편, 자연어 정규화 장치(100)는 추출된 정규화 후보 중 정규화 단어가 결정되지 않은 경우(S260), 자연어에 근거하여 자연어 데이터를 생성하고, 자연어 데이터를 군집화하는 과정을 다시 수행한다.
도 2에서는 단계 S210 내지 단계 S270를 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2에 기재된 순서를 변경하여 실행하거나 단계 S210 내지 단계 S270 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 2는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 2에 기재된 본 실시예에 따른 자연어 정규화 장치(100)의 동작은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 자연어 정규화 장치(100)의 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 3은 본 실시예에 따른 정규화된 자연어를 제공하는 방법을 설명하기 위한 순서도이다.
자연어 정규화 장치(100)는 입력된 자연어에 근거하여 자연어 데이터를 획득한다(S310). 자연어 정규화 장치(100)는 입력된 자연어를 음성인식, 전사, 문자인식 등을 이용하여 자연어 데이터를 획득한다.
자연어 정규화 장치(100)는 기 생성된 정규화 규칙정보가 존재하지 않는 경우, 도 2의 단계 S210 내지 S270에 해당하는 정규화 규칙 생성과정을 수행한다.
한편, 자연어 정규화 장치(100)는 기 생성된 정규화 규칙정보가 존재하는지 여부를 확인한다(S320). 자연어 정규화 장치(100)는 기 생성된 정규화 규칙정보가 존재하는 경우, 기 생성된 정규화 규칙정보에 포함된 정규화 단어와 자연어 데이터를 비교하여 자연어 데이터에 대응하는 정규화 단어를 검출한다(S330).
자연어 정규화 장치(100)는 검출된 정규화 단어에 대응하는 정규화된 자연어 데이터를 사용자(단말기)로 출력하여 제공한다(S340).
도 4는 본 실시예에 따른 자연어 데이터를 정규화하는 동작을 설명하기 위한 예시도이다. 이하, 도 4에 도시된 내용을 기반으로 자연어 정규화 장치(100)가 자연어를 정규화하는 동작을 설명하도록 한다.
자연어 정규화 장치(100)는 사용자 또는 음성 출력장치로부터 '고양이가 밥을 먹었어유', '고양이가 밥을 먹었어요' 및 '고양이가 밥을 먹었어여' 등의 복수 개의 문장에 대한 자연어 음성을 마이크와 같은 음성 입력장치(미도시)를 이용하여 입력받는다.
자연어 정규화 장치(100)는 입력된 '고양이가 밥을 먹었어유', '고양이가 밥을 먹었어요' 및 '고양이가 밥을 먹었어여' 등의 자연어 음성을 분석하여 음성인식, 전사, 문자인식 등을 이용하여 복수 개의 문장을 포함하는 제1 자연어 데이터(510)를 생성한다.
자연어 정규화 장치(100)는 복수 개의 문장을 포함하는 제1 자연어 데이터(510) 중 기 설정된 언어 모델(예: 말뭉치, 코퍼스 등)에 근거하여 '고양이가 밥을 먹었어유', '고양이가 밥을 먹었어요' 및 '고양이가 밥을 먹었어여'와 같은 3 개의 문장을 1 차 군집화하여 군집화 정보(520)를 생성한다.
자연어 정규화 장치(100)는 군집화 정보(520) 중 '먹었어유', '먹었어요' 및 '먹었어여'라는 3 개의 단어를 2 차 군집화하여 제1 유사도 리스트(530)를 생성한다.
자연어 정규화 장치(100)는 제1 유사도 리스트(530)를 정규화 후보로 설정하고, 정규화 후보를 사용자 단말기(미도시) 또는 외부 출력장치를 이용하여 출력하고, 정규화 후보 중 사용자의 조작 따른 사용자 입력신호에 근거하여 선택된 '먹었어요'를 제1 정규화 단어(540)로 선정한다.
자연어 정규화 장치(100)는 선정된 제1 정규화 단어(540)를 데이터베이스(미도시)에 저장하고, 제1 정규화 단어(540)를 등록한 정규화 규칙(550)을 생성한다. 예를 들어, 자연어 정규화 장치(100)는 '먹었어유' 및 '먹었어여'에 대한 정규화 단어로 '먹었어요'를 등록하여 정규화 규칙(550)을 생성한다. 여기서, 자연어 정규화 장치(100)는 제1 정규화 단어(540)를 기 설정된 횟수만큼 또는 기 설정된 주기로 군집화하고, 제2 정규화 단어로 결정되는 경우, 데이터베이스(미도시)에 추가로 저장하는 동작을 반복한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 실시예는 자연어를 정규화하는 분야에 적용되어, 자연어를 정규화하는 속도를 향상시킬 수 있고, 정규화의 정확도를 높일 수 있으며, 자동 또는 반자동으로 정규화 지식을 확충하여 인력 낭비를 감소 및 편리성을 증대시킬 수 있는 효과를 발생하는 유용한 발명이다.
100: 자연어 정규화 장치 110: 자연어 전처리부
120: 군집화 제어부 130: 후보 처리부
140: 정규화 제어부 150: 정규화 지식 저장부
160: 정규화 규칙 생성부 170: 정규화 데이터 관리부

Claims (10)

  1. 자연어 데이터를 생성하는 전처리 과정;
    상기 자연어 데이터를 기 설정된 언어 모델과 비교하여 모델링하고, 상기 언어 모델을 포함하는 단어정보를 동일한 군으로 군집화하여 유사도 리스트를 생성하는 유사도 생성과정;
    상기 유사도 리스트를 발음 또는 단어형태의 유사도 순으로 정렬하고, 기 설정된 개수의 상위 유사도를 갖는 상기 단어정보를 정규화 후보로 추출하는 후보 처리과정;
    상기 정규화 후보 중 정규화 단어를 선정하는 정규화 제어과정; 및
    상기 정규화 단어를 등록하여 복수의 형태로 표현되는 자연어를 단일한 형태로 정규화하는 정규화 규칙을 생성하는 규칙 생성과정을 포함하되,
    상기 정규화 규칙에 포함된 상기 정규화 단어를 신규 자연어 데이터로 설정하여 정규화 단어를 선정하는 과정을 반복하는 것을 특징으로 하는 자연어 정규화 방법.
  2. 제 1 항에 있어서,
    상기 자연어 정규화 방법은,
    상기 정규화 규칙에 포함된 상기 정규화 단어를 저장하고, 상기 정규화 단어를 신규 자연어 데이터로 설정하여 기 설정된 상기 언어 모델에 근거하여 유사도 리스트를 생성하고, 상기 유사도 리스트 중 정규화 후보를 추출하여 정규화 단어를 선정하는 반복과정을 추가로 포함하며, 상기 반복과정은 기 설정된 횟수 또는 기 설정된 주기로 반복하여 동작하는 것을 특징으로 하는 자연어 정규화 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 유사도 생성과정은,
    형태소 분석, 구문 분석, 의미 분석 및 실용 분석 중 적어도 하나의 방식을 이용하여 상기 복수 개의 자연어 데이터를 분석하고, 분석 결과에 따라 군집화한 단어정보들을 상기 유사도 리스트로 생성하는 것을 특징으로 하는 자연어 정규화 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 정규화 제어과정은,
    외부 출력장치를 이용하여 상기 정규화 후보가 출력되도록 하고, 상기 정규화 후보 중 사용자 입력신호에 근거하여 선택된 단어정보를 상기 정규화 단어로 선정하는 것을 특징으로 하는 자연어 정규화 방법.
  7. 제 1 항에 있어서,
    상기 정규화 제어과정은,
    기 저장된 정규화 사전 저장부에 포함된 단어정보와 상기 정규화 후보에 포함된 단어정보를 비교하여 대응되는 단어정보를 상기 정규화 단어로 선정하는 것을 특징으로 하는 자연어 정규화 방법.
  8. 제 1 항에 있어서,
    상기 전처리 과정은,
    외부장치로부터 입력된 자연어를 음성인식, 전사 및 문자인식 중 적어도 하나의 방식을 이용하여 적어도 하나 이상의 문자 또는 문장을 포함하는 상기 자연어 데이터를 생성하는 것을 특징으로 하는 자연어 정규화 방법.
  9. 제 1 항에 있어서,
    상기 정규화 규칙에 포함된 상기 정규화 단어를 획득하고, 상기 정규화 단어를 기 설정된 횟수 또는 기 설정된 주기로 반복하여 군집화하고, 신규 정규화 단어로 결정되는 경우 신규로 저장하는 동작을 반복하는 것을 특징으로 하는 자연어 정규화 방법.
  10. 자연어 데이터를 생성하는 자연어 전처리부;
    상기 자연어 데이터를 기 설정된 언어 모델과 비교하여 모델링하고, 상기 언어 모델을 포함하는 단어정보를 동일한 군으로 군집화하여 유사도 리스트를 생성하는 군집화 제어부;
    상기 유사도 리스트를 발음 또는 단어형태의 유사도 순으로 정렬하고, 기 설정된 개수의 상위 유사도를 갖는 상기 단어정보를 정규화 후보로 추출하는 후보 처리부;
    상기 정규화 후보 중 정규화 단어를 선정하는 정규화 제어부; 및
    상기 정규화 단어를 등록하여 복수의 형태로 표현되는 자연어를 단일한 형태로 정규화하는 정규화 규칙을 생성하는 정규화 규칙 생성부를 포함하되,
    상기 정규화 규칙에 포함된 상기 정규화 단어를 신규 자연어 데이터로 설정하여 정규화 단어를 선정하는 과정을 반복하는 것을 특징으로 하는 자연어 정규화 장치.
KR1020140117970A 2014-09-04 2014-09-04 자연어 정규화 방법 및 장치 KR101587023B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140117970A KR101587023B1 (ko) 2014-09-04 2014-09-04 자연어 정규화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140117970A KR101587023B1 (ko) 2014-09-04 2014-09-04 자연어 정규화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101587023B1 true KR101587023B1 (ko) 2016-01-21

Family

ID=55308721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140117970A KR101587023B1 (ko) 2014-09-04 2014-09-04 자연어 정규화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101587023B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019164144A1 (ko) * 2018-02-22 2019-08-29 삼성전자주식회사 전자 장치 및 이의 자연어 생성 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047454A (ko) * 2004-04-23 2006-05-18 마이크로소프트 코포레이션 의미 프로그래밍 언어 및 언어 객체 모델

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047454A (ko) * 2004-04-23 2006-05-18 마이크로소프트 코포레이션 의미 프로그래밍 언어 및 언어 객체 모델

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019164144A1 (ko) * 2018-02-22 2019-08-29 삼성전자주식회사 전자 장치 및 이의 자연어 생성 방법
US11657237B2 (en) 2018-02-22 2023-05-23 Samsung Electronics Co., Ltd. Electronic device and natural language generation method thereof

Similar Documents

Publication Publication Date Title
CN107315737B (zh) 一种语义逻辑处理方法及系统
CN113011533B (zh) 文本分类方法、装置、计算机设备和存储介质
CN108287822B (zh) 一种中文相似问题生成系统与方法
CN107451126B (zh) 一种近义词筛选方法及系统
US20230195773A1 (en) Text classification method, apparatus and computer-readable storage medium
JP6813591B2 (ja) モデル作成装置、テキスト検索装置、モデル作成方法、テキスト検索方法、及びプログラム
JP5444308B2 (ja) 非ローマ文字および単語のスペル修正のためのシステムおよび方法
JP5526199B2 (ja) 文書分類装置および文書分類処理プログラム
US10896222B1 (en) Subject-specific data set for named entity resolution
WO2017127296A1 (en) Analyzing textual data
US10997223B1 (en) Subject-specific data set for named entity resolution
KR20160026892A (ko) 논팩토이드형 질의 응답 시스템 및 방법
Anke et al. Syntactically aware neural architectures for definition extraction
CN111462752B (zh) 基于注意力机制、特征嵌入及bi-lstm的客户意图识别方法
CN111858876B (zh) 一种知识库的生成方法、文本查找方法和装置
CN111414763A (zh) 一种针对手语计算的语义消歧方法、装置、设备及存储装置
CN106446018B (zh) 基于人工智能的查询信息处理方法和装置
Tur et al. Exploiting the semantic web for unsupervised natural language semantic parsing
CN108399157B (zh) 实体与属性关系的动态抽取方法、服务器及可读存储介质
JP2018055142A (ja) シナリオパッセージ分類器、シナリオ分類器、及びそのためのコンピュータプログラム
KR101579544B1 (ko) 자연어 유사도 산출 방법 및 장치
CN108763211A (zh) 融合蕴含知识的自动文摘方法及系统
CN114817465A (zh) 一种用于多语言语义理解的实体纠错方法及智能设备
CN114239546A (zh) 一种基于语法树剪枝的翻译机测试方法
CN114036957B (zh) 一种快速语义相似度计算方法

Legal Events

Date Code Title Description
AMND Amendment
X091 Application refused [patent]
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 5