KR101579544B1 - 자연어 유사도 산출 방법 및 장치 - Google Patents
자연어 유사도 산출 방법 및 장치 Download PDFInfo
- Publication number
- KR101579544B1 KR101579544B1 KR1020140117972A KR20140117972A KR101579544B1 KR 101579544 B1 KR101579544 B1 KR 101579544B1 KR 1020140117972 A KR1020140117972 A KR 1020140117972A KR 20140117972 A KR20140117972 A KR 20140117972A KR 101579544 B1 KR101579544 B1 KR 101579544B1
- Authority
- KR
- South Korea
- Prior art keywords
- similarity
- information
- natural language
- data
- speech
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004458 analytical method Methods 0.000 claims description 40
- 238000001514 detection method Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000001308 synthesis method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 description 62
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 238000013523 data management Methods 0.000 description 5
- 235000012054 meals Nutrition 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 3
- 238000013518 transcription Methods 0.000 description 3
- 230000035897 transcription Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 208000009233 Morning Sickness Diseases 0.000 description 1
- 208000034850 Vomiting in pregnancy Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/187—Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
자연어 유사도 산출 방법 및 장치를 개시한다.
자연어 데이터를 유사한 역할을 하는 단위로 군집화하고, 군집화 결과에 따른 유사도 리스트에 포함된 단어정보 또는 문장정보를 기초로 유사 발음에 대한 유사도를 산출하여 유사단어를 검출하는 자연어 유사도 산출 방법 및 장치에 관한 것이다.
자연어 데이터를 유사한 역할을 하는 단위로 군집화하고, 군집화 결과에 따른 유사도 리스트에 포함된 단어정보 또는 문장정보를 기초로 유사 발음에 대한 유사도를 산출하여 유사단어를 검출하는 자연어 유사도 산출 방법 및 장치에 관한 것이다.
Description
본 실시예는 자연어의 유사도를 산출하는 방법과 그를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
일상생활에서 사람이 사용하는 자연어를 데이터로 이용하기 위해서는 음성인식, 전사, 문자인식 등의 인식장치를 이용하거나, 사용자가 직접 자연어를 받아적어 텍스트 형태로 바꾸어 기록한다.
하지만, 이러한 인식장치 또는 사용자가 직접 받아적는 방식을 이용하는 경우, 오전사나 자연 변이형에 대한 인식오류가 발생하여 정확도가 높지 않다. 또한, 자연어의 특성상 뜻은 같지만 다양한 형태로 발화할 수 있어, 자연어를 정확히 인식하여 데이터로 생성하기는 어렵다.
따라서, 자연어 데이터를 정규화하거나, 오타 검색, 문법 오류 검출 등을 진행할 때 전사 오류나 자연 변이형을 발견하기 위한 방법이 필요하다.
본 실시예는 자연어 데이터를 유사한 역할을 하는 단위로 군집화하고, 군집화 결과에 따른 유사도 리스트에 포함된 단어정보 또는 문장정보를 기초로 유사 발음에 대한 유사도를 산출하여 유사단어를 검출하는 자연어 유사도 산출 방법 및 장치를 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 자연어 데이터를 생성하는 전처리 과정; 상기 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하고, 유사도 리스트를 생성하는 유사도 생성과정; 상기 유사도 리스트에 포함된 문장정보 또는 단어정보를 이용하여 발음 유사도를 산출하고, 상기 발음 유사도에 근거하여 유사도 분석정보를 생성하는 분석과정; 및 상기 유사도 분석정보에 근거하여 유사 단어정보를 검출하는 검출과정을 포함하는 것을 특징으로 하는 자연어 유사도 산출 방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 자연어 데이터를 생성하는 전처리부; 상기 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하고, 유사도 리스트를 생성하는 군집화 제어부; 및 상기 유사도 리스트에 포함된 문장정보 또는 단어정보를 이용하여 발음 유사도를 산출하고, 상기 발음 유사도에 근거하여 유사도 분석정보를 생성하여 유사 단어정보를 검출하는 유사단어 검출부를 포함하는 것을 특징으로 하는 자연어 유사도 산출장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 발음이 유사한 단어를 검출함으로써, 자연어에 대한 오전사 또는 자연어 변이 등을 검출할 수 있는 효과가 있다. 또한, 발음이 유사한 단어를 검출하여 정규화 지식 확충 및 문법 오류 검출 등에 이용할 수 있는 효과가 있다.
도 1은 본 실시예에 따른 자연어 유사도 산출장치를 개략적으로 나타낸 블록 구성도이다.
도 2는 본 발명의 제1 실시예에 따른 유사 발음 처리부를 개략적으로 나타낸 블록 구성도이다.
도 3은 본 발명의 제1 실시예에 따른 자연어간 유사도를 산출하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 제2 실시예에 따른 유사 발음 처리부를 개략적으로 나타낸 블록 구성도이다.
도 5는 본 발명의 제2 실시예에 따른 자연어간 유사도를 산출하는 방법을 설명하기 위한 순서도이다.
도 6은 본 실시예에 따른 유사 발음 기반의 자연어 정규화 장치를 개략적으로 나타낸 예시도이다.
도 2는 본 발명의 제1 실시예에 따른 유사 발음 처리부를 개략적으로 나타낸 블록 구성도이다.
도 3은 본 발명의 제1 실시예에 따른 자연어간 유사도를 산출하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 제2 실시예에 따른 유사 발음 처리부를 개략적으로 나타낸 블록 구성도이다.
도 5는 본 발명의 제2 실시예에 따른 자연어간 유사도를 산출하는 방법을 설명하기 위한 순서도이다.
도 6은 본 실시예에 따른 유사 발음 기반의 자연어 정규화 장치를 개략적으로 나타낸 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 자연어 유사도 산출장치를 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 자연어 유사도 산출장치(100)는 자연어 전처리부(110), 군집화 제어부(120) 및 유사단어 검출부(130)를 포함한다. 여기서, 유사단어 검출부(130)는 유사 발음 검출부(132) 및 유사도 분석부(134)를 포함한다. 도 1에 도시된 자연어 유사도 산출장치(100)는 일 실시예에 따른 것으로서, 도 1에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 자연어 유사도 산출장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다.
자연어 전처리부(110)는 외부장치 또는 사용자로부터 입력된 자연어를 기반으로 자연어 데이터를 생성한다. 본 실시예에 따른 자연어 전처리부(110)는 음성 또는 문자의 입력에 근거하여 자연어를 획득하고, 자연어를 음성인식, 전사, 문자인식 등을 이용하여 자연어 데이터를 생성한다. 여기서, 자연어 데이터는 일상적으로 사용하는 자연어를 자연어 정규화를 위해 변환된 데이터로서, 자연어의 문자열, 도큐먼트(Document), 문장(문자)들의 집합, 코퍼스(Corpus) 등일 수 있다.
예를 들어, 자연어 전처리부(110)는 복수 개의 문장 각각에 대한 자연어 음성정보를 마이크로 입력받고, 음성인식을 이용하여 입력된 자연어 음성정보 각각에 대한 자연어 데이터를 생성한다.
군집화 제어부(120)는 복수 개의 자연어 데이터를 분석하여 군집화하고, 군집화 결과에 대한 유사도 리스트를 생성한다. 본 실시예에 따른 군집화 제어부(120)는 복수 개의 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분석하고, 분석결과를 기초로 유사한 역할을 하는 단어정보를 공통군으로 군집화하여 유사도 리스트를 생성한다.
군집화 제어부(120)는 기 설정된 언어 모델(예: 말뭉치, 코퍼스(Corpus) 등)과 각각의 자연어 데이터를 비교하여 기 설정된 기준 유사도에 대응하는 단어정보를 동일한 군으로 군집화(예: Brown Clustering 등)하여 역할이 유사한 단어정보들에 대한 유사도 리스트를 생성한다. 예컨대, 군집화 제어부(120)는 '안녕, '식사' 등의 단어를 기반으로 유사한 역할을 갖는 {안녕하세요, 안녕하세여, 안녕하세용, 안녕하쇼, 안녕하슈}, {식사하세요, 식사하세여, 식사하시여, 식사했어요, 식사했자나} 등으로 모델링되고, {안녕하세요, 안녕하세여, 안녕하세용, 안녕하쇼, 안녕하슈}의 유사도에 근거하여 제1 유사도 리스트를 생성하고, {식사하세요, 식사하세여, 식사하시여, 식사했어요, 식사했자나}의 유사도에 근거하여 제2 유사도 리스트를 생성한다.
즉, 군집화제어부(120)는 하나의 문장에서 유사한 역할을 수행하는 단어정보들을 추출하고, 추출된 단어정보를 기반으로 모델링된 언어 모델의 유사도에 근거하여 유사도 리스트를 생성한다.
한편, 군집화 제어부(120)는 기 설정된 언어 모델을 이용하여 군집화된 유사도 리스트를 생성하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니다.
예를 들어, 군집화 제어부(120)는 자연어 데이터의 문자열을 분석하여 형태소라는 자연언어 분석을 위한 기본 단위로 분류하는 형태소 분석, 자연어 데이터의 형태소들이 결합하여 문장이나 구절을 만드는 구문 규칙에 따라서 문장 내에서 각 형태소들이 가지는 역할(예: 주어, 목적어)을 분석하는 구문 분석, 자연어 데이터의 구문 분석의 결과를 해석하여 문장이 가지는 의미(형태소의 의미)를 분석하는 의미 분석, 자연어 데이터의 문장이 실세계와 가지는 연관 관계를 분석하는 실용 분석 등의 방식을 이용하여 복수 개의 자연어 데이터를 분석하여 군집화하고, 군집화 결과에 대한 유사도 리스트를 생성할 수 있다.
유사단어 검출부(130)는 유사도 리스트에 포함된 단어정보 또는 문장정보를 기초로 유사 발음을 검출하고, 유사 발음에 대한 유사도 분석정보를 생성한다.
본 발명의 일 실시예에 따른 유사 발음 검출부(132)는 유사도 리스트에 포함된 문장정보를 음성합성 방식을 이용하여 복수 개의 문장정보 각각에 대한 음성 데이터를 생성하고, 생성된 음성 데이터를 음성인식 처리하고, 음성 데이터에 각각에 대응하는 음성인식 정보를 산출한다. 여기서, 음성합성 방식은 단어, 문장 등을 사람의 발성기구(예: 음대, 성도, 입 등)을 이용하여 발생하는 음성파형을 전기적으로 모델화한 파라미터로 기록하여 수시로 편집하여 음성 데이터로 출력하는 방식을 의미하며, 음성인식 정보는 음성 데이터의 음성 파형을 이용하여 음소를 인식한 정보인 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 음성, 단어, 문장 등을 인식한 정보일 수 있다.
본 발명의 다른 실시예에 따른 유사 발음 검출부(132)는 유사도 리스트에 포함된 단어정보를 음소단위로 분류하여 복수 개의 음소열 정보를 생성한다. 여기서, 음소열 정보는 단어정보를 자음 및 모음과 같이 시간적 연장을 갖고 실현되는 소리단위로 구분하고, 이를 수집한 정보를 의미한다.
본 발명의 일 실시예에 따른 유사도 분석부(134)는 복수 개의 음성인식 정보의 발음 유사도를 분석하여 유사도 분석정보를 생성한다. 다시 말해, 유사도 분석부(134)는 기 저장된 발음 모델을 이용하여 복수 개의 음성인식 정보에 대한 발음 유사도를 판단하고, 발음 유사도 결과에 근거하여 유사도 분석정보를 생성한다.
본 발명의 다른 실시예에 따른 유사도 분석부(134)는 음소열 정보 각각에 포함된 음소 간의 편집거리(Edit Distance)를 측정하고, 측정된 편집거리에 대한 가중치를 기초로 유사도 분석정보를 생성한다. 다시 말해, 유사도 분석부(134)는 복수 개의 음소열 정보 각각에 포함된 음소 간의 혼동 행렬(Confusion Matrix)을 이용하여 소정의 음소가 다른 음소로 변환되는 거리인 편집거리를 측정하고, 편집거리에 대한 가중치를 산출하여 유사도 분석정보를 생성한다.
도 2는 본 발명의 제1 실시예에 따른 유사 발음 처리부를 개략적으로 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 유사단어 검출부(130)는 음성 데이터를 생성하고, 음성 데이터의 음성인식 결과에 근거하여 유사도 분석정보를 생성한다. 여기서, 유사단어 검출부(130)는 음성 합성부(210), 음성인식부(220) 및 발음 유사도 분석부(230)를 포함한다.
음성 합성부(210)는 유사도 리스트에 포함된 복수 개의 문장정보를 추출하고, 각각의 문장정보에 대한 음성 데이터를 생성한다. 여기서, 복수 개의 문장정보는 군집화 제어부(120)에서 공통군으로 군집화된 유사한 역할을 하는 단어정보가 각각 포함된 복수 개의 문장에 대한 정보를 의미한다.
음성 합성부(210)는 음성합성 방식을 이용하여 복수 개의 문장정보 각각에 대한 음성 데이터를 생성한다. 여기서, 음성합성 방식은 단어, 문장 등을 사람의 발성기구(예: 음대, 성도, 입 등)을 이용하여 발생하는 음성파형을 전기적으로 모델화한 파라미터로 기록하여 수시로 편집하여 음성 데이터로 출력하는 방식을 의미한다. 예를 들어, 음성 합성부(210)는 TTS(Text to Speech) 방식으로 문장정보에 대한 음성 데이터를 생성할 수 있으나 반드시 이에 한정되는 것은 아니다.
음성인식부(220)는 복수 개의 음성 데이터를 음성인식 처리하고, 음성 데이터에 각각에 대응하는 음성인식 정보를 산출한다. 여기서, 음성인식 정보는 음성 데이터의 음성 파형을 이용하여 음소를 인식한 정보인 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 음성, 단어, 문장 등을 인식한 정보일 수 있다.
예를 들어, 음성인식부(220)는 통계적으로 음성을 인식하는 HMM(Hidden Markov Model) 방법, 선형 예측부호화(LPC: Linear Predictive Coding) 방법, 인공 신경망을 이용한 방법 및 기 설정된 지식기반의 인식 방법 등 중 적어도 하나 또는 하나 이상의 방식을 이용하여 음성인식 정보를 산출할 수 있다.
발음 유사도 분석부(230)는 복수 개의 음성인식 정보의 발음 유사도를 분석하여 유사도 분석정보를 생성한다. 본 실시예에 따른 발음 유사도 분석부(230)는 기 저장된 발음 모델을 이용하여 복수 개의 음성인식 정보에 대한 발음 유사도를 판단하고, 발음 유사도 결과에 근거하여 유사도 분석정보를 생성한다.
한편, 발음 유사도 분석부(230)는 복수 개의 음성인식 정보 각각에 대한 음소들을 비교하여 복수 개의 음성인식 정보에 대한 발음 유사도를 판단하고, 발음 유사도 결과에 따른 유사도 분석정보를 생성할 수도 있다.
도 3은 본 발명의 제1 실시예에 따른 자연어간 유사도를 산출하는 방법을 설명하기 위한 순서도이다.
자연어 유사도 산출장치(100)는 유사도 리스트에 포함된 복수 개의 문장정보를 추출한다(S310). 여기서, 복수 개의 문장정보는 공통군으로 군집화된 유사한 역할을 하는 단어정보가 각각 포함된 복수 개의 문장에 대한 정보를 의미한다.
자연어 유사도 산출장치(100)는 복수 개의 문장정보 각각에 대한 음성 데이터를 생성한다(S320). 자연어 유사도 산출장치(100)는 복수 개의 문장정보 각각을 음성합성하여 복수 개의 음성 데이터를 생성한다. 여기서, 음성합성은 단어, 문장 등을 사람의 발성기구(예: 음대, 성도, 입 등)을 이용하여 발생하는 음성파형을 전기적으로 모델화한 파라미터로 기록하여 수시로 편집하여 음성 데이터로 출력하는 방식을 의미한다.
자연어 유사도 산출장치(100)는 복수 개의 음성 데이터 각각을 음성인식 처리하고(S340), 각각의 음성 데이터에 대한 음성인식 정보를 산출한다(S350). 여기서, 음성인식 정보는 음성 데이터의 음성 파형을 이용하여 음소를 인식한 정보인 것이 바람직하다.
자연어 유사도 산출장치(100)는 복수 개의 음성인식 정보의 발음 유사도를 분석하고(S360), 발음 유사도에 근거하여 유사도 분석정보를 생성한다(S370). 더 자세히 설명하자면, 자연어 유사도 산출장치(100)는 기 저장된 발음 모델을 이용하거나 음성인식 정보 각각에 대한 음소들을 비교하여 복수 개의 음성인식 정보에 대한 발음 유사도를 판단하고, 발음 유사도 결과에 따른 유사도 분석정보를 생성한다.
도 4는 본 발명의 제2 실시예에 따른 유사 발음 처리부를 개략적으로 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 유사단어 검출부(130)는 음소열 정보를 생성하고, 음소열 정보에 근거하여 음소 간의 편집거리(Edit Distance)를 측정하고, 측정된 편집거리에 대한 가중치를 이용하여 유사도 분석정보를 생성한다. 여기서, 유사단어 검출부(130)는 음소열 생성부(410), 음소열 유사도 분석부(420) 및 데이터베이스(430)를 포함한다.
음소열 생성부(410)는 유사도 리스트에 포함된 복수 개의 단어정보를 추출하고, 각각의 단어정보를 음소단위로 분류하여 복수 개의 음소열 정보를 생성한다. 여기서, 음소열 정보는 단어정보를 자음 및 모음과 같이 시간적 연장을 갖고 실현되는 소리단위로 구분하고, 이를 수집한 정보를 의미한다.
예를 들어, 음소열 생성부(410)는 '학교', '고양이', '하이' 및 '아이'와 같은 단어정보를 음소들로 분류하여 'ㅎ ㅏ ㄱ ㄱ ㅛ', ㄱ ㅗ ㅇ ㅑ ㅇ ㅇ ㅣ', 'ㅎ ㅏ ㅇ ㅣ', 'ㅇ ㅏ ㅇ ㅣ' 등과 같이 음소열 정보를 생성한다.
음소열 유사도 분석부(420)는 복수 개의 음소열 정보 각각에 포함된 음소 간의 편집거리(Edit Distance)를 측정하고, 측정된 편집거리에 대한 가중치를 이용하여 유사도 분석정보를 생성한다. 다시 말해, 음소열 유사도 분석부(420)는 복수 개의 음소열 정보 각각에 포함된 음소 간의 혼동 행렬(Confusion Matrix)을 이용하여 소정의 음소가 다른 음소로 변환되는 거리인 편집거리를 측정하고, 편집거리에 대한 가중치를 산출하여 유사도 분석정보를 생성한다. 여기서, 혼동행렬은 기 저장된 훈련 데이터를 이용하여 음성이 인식된 결과와 음소열을 기준으로 혼동 가능한 음소들을 누적하여 확률값으로 표시한 행렬을 의미한다. 또한, 편집거리는 하나의 음소열을 다른 음소열로 변환할 때 필요한 최소한의 연산에 대한 개수를 의미하며, 편집거리에 대한 가중치는 각각의 개수에 대해 기 설정된 처리값(Cost)을 의미한다.
데이터베이스(430)는 음소열의 유사도를 측정하기 위한 각종 정보를 저장한다. 데이터베이스(430)는 언어적 지식 저장부(432) 및 음향학 지식 저장부(434)를 포함한다. 여기서, 언어적 지식 저장부(432)는 음소 간의 혼동 행렬(Confusion Matrix)에 대한 정보를 누적하여 저장하고, 음향학 지식 저장부(434)는 단어정보를 음소단위로 분류하기 위한 기준 음소정보를 저장한다.
도 5는 본 발명의 제2 실시예에 따른 자연어간 유사도를 산출하는 방법을 설명하기 위한 순서도이다.
자연어 유사도 산출장치(100)는 유사도 리스트에 포함된 복수 개의 단어정보 추출하고(S510), 각각의 단어정보를 음소단위로 분류하여 복수 개의 음소열 정보를 생성한다(S520). 여기서, 음소열 정보는 단어정보를 자음 및 모음과 같이 시간적 연장을 갖고 실현되는 소리단위로 구분하고, 이를 수집한 정보를 의미한다.
자연어 유사도 산출장치(100)는 복수 개의 음소열 정보 각각에 포함된 음소 간의 편집거리를 측정하고(S530), 측정된 편집거리에 대한 가중치를 이용하여 유사도 분석정보를 생성한다(S540). 다시 말해, 자연어 유사도 산출장치(100)는 복수 개의 음소열 정보 각각에 포함된 음소 간의 혼동 행렬(Confusion Matrix)를 이용하여 소정의 음소가 다른 음소로 변환되는 거리인 편집거리를 측정하고, 편집거리에 대한 가중치를 산출하여 유사도 분석정보를 생성한다.
도 6은 본 실시예에 따른 유사 발음 기반의 자연어 정규화 장치를 개략적으로 나타낸 예시도이다.
본 실시예에 따른 자연어 정규화 장치(100)는 자연어 전처리부(110), 군집화 제어부(120), 유사단어 검출부(130), 정규화 제어부(140), 정규화 지식 저장부(150), 정규화 규칙 생성부(160) 및 정규화 데이터 관리부(170)를 포함한다.
자연어 전처리부(110) 및 군집화 제어부(120)에 대한 설명은 도 1에 기재되어 있으므로 자세한 설명은 생략하도록 한다.
유사단어 검출부(130)는 유사도 리스트에 포함된 단어정보 또는 문장정보를 기초로 유사 발음을 검출하고, 유사 발음에 대한 유사도 분석정보를 생성한다. 여기서, 유사단어 검출부(130)는 유사도 분석정보에 근거하여 유사도가 높은 기 설정된 개수의 단어정보를 정규화 후보로 추출한다. 여기서, 유사도 분석정보를 생성하는 과정은 도 2 내지 도 5에 기재되어 있으므로 자세한 설명은 생략하도록 한다.
정규화 제어부(140)는 추출된 정규화 후보 중 정규화 단어를 결정한다.
본 실시예에 따른 정규화 제어부(140)는 사용자의 조작 또는 입력에 근거하여 추출된 정규화 후보 중 정규화 단어를 결정한다. 더 자세히 설명하자면, 정규화 제어부(140)는 추출된 정규화 후보를 사용자 단말기(미도시) 또는 외부 출력장치를 이용하여 출력하고, 정규화 후보 중 사용자의 조작에 근거하여 선택된 단어정보를 정규화 단어로 선정한다. 여기서, 정규화 제어부(140)는 선정된 정규화 단어를 정규화 지식 저장부(150)로 저장한다.
예를 들어, 정규화 제어부(140)는 {식사하세요, 식사하세여, 식사하시여}와 같은 정규화 후보를 사용자 단말기(미도시)에 출력되도록 하고, 사용자가 '식사하세요'에 대한 단어정보를 선택한 경우, '식사하세요'를 정규화 단어로 선정한다.
한편, 정규화 제어부(140)는 사용자의 조작에 근거하여 정규화 후보 중 정규화 단어가 선정되지 않는 경우, 정규화 후보에 포함된 단어정보의 자연어 데이터가 새롭게 군집화되도록 한다.
정규화 제어부(140)는 사용자가 수동(반자동)으로 정규화 후보 중 정규화 단어를 선택하는 것으로 기재하고 있으나 반드시 이이 한정되는 것은 아니다. 예를 들어, 정규화 제어부(140)는 정규화 후보에 포함된 단어정보를 정규화 사전 저장부(미도시)에 포함된 단어정보와 비교하여 대응되는 단어정보가 존재하는 경우, 해당 단어정보를 정규화 단어로 결정할 수 있다.
정규화 지식 저장부(150)는 정규화 제어부(140)로부터 결정된 정규화 단어를 포함한 정규화 지식정보를 저장한다. 정규화 지식 저장부(150)는 동일한 정규화 단어가 반복하여 저장되는 경우, 반복 횟수정보를 추가하여 정규화 지식정보를 저장하고, 중복되는 정규화 단어를 삭제하여 하나의 정규화 단어만을 저장한다.
정규화 지식 저장부(150)는 사용자 단말기(미도시), 외부 장치(예: 번역 장치, 통역 장치, 언어 변환장치 등) 등으로부터 요청이 수신되는 경우, 기 저장된 정규화 단어를 제공한다.
정규화 지식 저장부(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)는 전술한 바와 같이, 정규화 데이터를 자연어 데이터로 입력되도록 하여 정규화 단어를 선정하는 동작을 반복함으로써, 정규화된 지식이 확충되도록 하고, 정규화 단어의 정확도를 증가시킨다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 실시예는 분야에 적용되어, 발음이 유사한 단어를 검출함으로써, 자연어에 대한 오전사 또는 자연어 변이 등을 검출할 수 있고, 정규화 지식 확충 및 문법 오류 검출 등에 이용할 수 있는 효과를 발생하는 유용한 발명이다.
100: 자연어 유사도 산출장치 110: 자연어 전처리부
120: 군집화 제어부 130: 유사단어 검출부
210: 음성 합성부 220: 음성인식부
230: 발음 유사도 분석부
410: 음소열 유사도 분석부 420: 음소열 유사도 분석부
430: 데이터베이스
120: 군집화 제어부 130: 유사단어 검출부
210: 음성 합성부 220: 음성인식부
230: 발음 유사도 분석부
410: 음소열 유사도 분석부 420: 음소열 유사도 분석부
430: 데이터베이스
Claims (9)
- 자연어 데이터를 생성하는 전처리 과정;
상기 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하고, 유사도 리스트를 생성하는 유사도 생성과정;
상기 유사도 리스트에 포함된 복수의 문장정보 각각에 대한 음성 데이터를 음성인식 처리하여 발음 유사도를 기초로 유사도 분석정보를 생성하는 분석과정; 및
상기 유사도 분석정보에 근거하여 유사 단어정보를 검출하는 검출과정
을 포함하는 것을 특징으로 하는 자연어 유사도 산출 방법. - 제 1 항에 있어서,
상기 분석과정은,
복수 개의 상기 문장정보를 추출하고, 음성합성 방식을 이용하여 각각의 상기 문장정보에 대한 상기 음성 데이터를 생성하는 음성 데이터 생성과정;
복수 개의 상기 음성 데이터를 음성인식 처리하고, 각각의 상기 음성 데이터에 대응하는 음성인식 정보를 산출하는 음성인식 과정; 및
복수 개의 상기 음성인식 정보의 발음 유사도를 분석하여 상기 유사도 분석정보를 생성하는 유사도 분석과정
을 포함하는 것을 특징으로 하는 자연어 유사도 산출 방법. - 제 2 항에 있어서,
상기 음성인식 정보는,
상기 음성 데이터의 음소, 음성, 단어 및 문장 중 적어도 하나 이상의 정보를 인식한 정보인 것을 특징으로 하는 자연어 유사도 산출 방법. - 제 2 항에 있어서,
상기 음성 데이터 생성과정은,
상기 유사도 생성과정에서 공통군으로 군집화된 유사한 역할을 하는 각각의 단어를 포함하는 상기 문장정보에 대한 상기 음성 데이터를 생성하는 것을 특징으로 하는 자연어 유사도 산출 방법. - 삭제
- 삭제
- 자연어 데이터를 생성하는 전처리부;
상기 자연어 데이터를 기 설정된 기준 유사도에 근거하여 분류하고, 유사도 리스트를 생성하는 군집화 제어부; 및
상기 유사도 리스트에 포함된 복수의 문장정보 각각에 대한 음성 데이터를 음성인식 처리하여 발음 유사도를 기초로 유사도 분석정보를 생성하고, 상기 유사도 분석정보에 근거하여 유사 단어정보를 검출하는 유사단어 검출부
를 포함하는 것을 특징으로 하는 자연어 유사도 산출장치. - 제 7 항에 있어서,
상기 유사단어 검출부는,
복수 개의 상기 문장정보를 추출하고, 음성합성 방식을 이용하여 각각의 상기 문장정보에 대한 상기 음성 데이터를 생성하는 음성 합성부;
복수 개의 상기 음성 데이터를 음성인식 처리하고, 각각의 상기 음성 데이터에 대응하는 음성인식 정보를 산출하는 음성인식부; 및
복수 개의 상기 음성인식 정보의 발음 유사도를 분석하여 상기 유사도 분석정보를 생성하는 발음 유사도 분석부
를 포함하는 것을 특징으로 하는 자연어 유사도 산출장치.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140117972A KR101579544B1 (ko) | 2014-09-04 | 2014-09-04 | 자연어 유사도 산출 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140117972A KR101579544B1 (ko) | 2014-09-04 | 2014-09-04 | 자연어 유사도 산출 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101579544B1 true KR101579544B1 (ko) | 2015-12-23 |
Family
ID=55082600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140117972A KR101579544B1 (ko) | 2014-09-04 | 2014-09-04 | 자연어 유사도 산출 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101579544B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018075224A1 (en) * | 2016-10-20 | 2018-04-26 | Google Llc | Determining phonetic relationships |
KR20180101808A (ko) * | 2017-03-06 | 2018-09-14 | 최동훈 | 언어 장애 트레이닝 서버 및 방법 |
KR101975419B1 (ko) * | 2018-11-26 | 2019-05-07 | (주)위세아이텍 | 빅데이터 분석을 위한 비정형 텍스트 데이터의 용어 군집화 장치 및 방법 |
KR20200074705A (ko) * | 2018-12-17 | 2020-06-25 | 한재정 | 광고 제공을 위한 서버 및 사용자 단말 |
KR102153259B1 (ko) * | 2020-03-24 | 2020-09-08 | 주식회사 데이터스트림즈 | 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090065102A (ko) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | 어휘 디코딩 방법 및 장치 |
KR20130068196A (ko) * | 2011-12-14 | 2013-06-26 | 한국전자통신연구원 | 음성인식 오류 혼돈 행렬을 이용한 클러스터링 장치 및 그 방법 |
KR20140077774A (ko) * | 2012-12-14 | 2014-06-24 | 한국전자통신연구원 | 문서 클러스터링 기반 언어모델 적응 장치 및 방법 |
-
2014
- 2014-09-04 KR KR1020140117972A patent/KR101579544B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090065102A (ko) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | 어휘 디코딩 방법 및 장치 |
KR20130068196A (ko) * | 2011-12-14 | 2013-06-26 | 한국전자통신연구원 | 음성인식 오류 혼돈 행렬을 이용한 클러스터링 장치 및 그 방법 |
KR20140077774A (ko) * | 2012-12-14 | 2014-06-24 | 한국전자통신연구원 | 문서 클러스터링 기반 언어모델 적응 장치 및 방법 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018075224A1 (en) * | 2016-10-20 | 2018-04-26 | Google Llc | Determining phonetic relationships |
CN107967916A (zh) * | 2016-10-20 | 2018-04-27 | 谷歌有限责任公司 | 确定语音关系 |
US10650810B2 (en) | 2016-10-20 | 2020-05-12 | Google Llc | Determining phonetic relationships |
CN107967916B (zh) * | 2016-10-20 | 2022-03-11 | 谷歌有限责任公司 | 确定语音关系 |
US11450313B2 (en) | 2016-10-20 | 2022-09-20 | Google Llc | Determining phonetic relationships |
KR20180101808A (ko) * | 2017-03-06 | 2018-09-14 | 최동훈 | 언어 장애 트레이닝 서버 및 방법 |
KR101959246B1 (ko) | 2017-03-06 | 2019-07-04 | 최동훈 | 언어 장애 트레이닝 서버 및 방법 |
KR101975419B1 (ko) * | 2018-11-26 | 2019-05-07 | (주)위세아이텍 | 빅데이터 분석을 위한 비정형 텍스트 데이터의 용어 군집화 장치 및 방법 |
WO2020111395A1 (ko) * | 2018-11-26 | 2020-06-04 | (주) 위세아이텍 | 빅데이터 분석을 위한 비정형 텍스트 데이터의 용어 군집화 장치 및 방법 |
KR20200074705A (ko) * | 2018-12-17 | 2020-06-25 | 한재정 | 광고 제공을 위한 서버 및 사용자 단말 |
KR102321644B1 (ko) * | 2018-12-17 | 2021-11-03 | 한재정 | 광고 제공을 위한 서버 및 사용자 단말 |
KR102153259B1 (ko) * | 2020-03-24 | 2020-09-08 | 주식회사 데이터스트림즈 | 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9646605B2 (en) | False alarm reduction in speech recognition systems using contextual information | |
Wu et al. | Emotion recognition of affective speech based on multiple classifiers using acoustic-prosodic information and semantic labels | |
US8639509B2 (en) | Method and system for computing or determining confidence scores for parse trees at all levels | |
JP5014785B2 (ja) | 表音ベース音声認識システム及び方法 | |
Vicsi et al. | Using prosody to improve automatic speech recognition | |
WO2021061484A1 (en) | Text-to-speech processing | |
US9978364B2 (en) | Pronunciation accuracy in speech recognition | |
US20200273449A1 (en) | Method, system and apparatus for multilingual and multimodal keyword search in a mixlingual speech corpus | |
Saini et al. | Hindi automatic speech recognition using htk | |
KR101579544B1 (ko) | 자연어 유사도 산출 방법 및 장치 | |
US10515637B1 (en) | Dynamic speech processing | |
CN105210147B (zh) | 用于改进至少一个语义单元集合的方法、设备及计算机可读记录介质 | |
Mary | Extraction of prosody for automatic speaker, language, emotion and speech recognition | |
Shivakumar et al. | Kannada speech to text conversion using CMU Sphinx | |
Jothilakshmi et al. | Large scale data enabled evolution of spoken language research and applications | |
Ahmed et al. | Arabic automatic speech recognition enhancement | |
Shafran et al. | A comparison of classifiers for detecting emotion from speech | |
Li et al. | Improving mandarin tone mispronunciation detection for non-native learners with soft-target tone labels and blstm-based deep models | |
Johnson et al. | Leveraging Multiple Sources in Automatic African American English Dialect Detection for Adults and Children | |
AU2013375318B2 (en) | False alarm reduction in speech recognition systems using contextual information | |
Kurian et al. | Automated Transcription System for MalayalamLanguage | |
KR101587023B1 (ko) | 자연어 정규화 방법 및 장치 | |
Abudubiyaz et al. | The acoustical and language modeling issues on Uyghur speech recognition | |
Miyazaki et al. | Connectionist temporal classification-based sound event encoder for converting sound events into onomatopoeic representations | |
Alghamdi et al. | Arabic language resources and tools for speech and natural language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181203 Year of fee payment: 4 |