KR20220064553A - 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치 - Google Patents

난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치 Download PDF

Info

Publication number
KR20220064553A
KR20220064553A KR1020200150730A KR20200150730A KR20220064553A KR 20220064553 A KR20220064553 A KR 20220064553A KR 1020200150730 A KR1020200150730 A KR 1020200150730A KR 20200150730 A KR20200150730 A KR 20200150730A KR 20220064553 A KR20220064553 A KR 20220064553A
Authority
KR
South Korea
Prior art keywords
user
dyslexia
learning service
score
providing
Prior art date
Application number
KR1020200150730A
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 KR1020200150730A priority Critical patent/KR20220064553A/ko
Publication of KR20220064553A publication Critical patent/KR20220064553A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/48Other medical applications
    • A61B5/4803Speech analysis specially adapted for diagnostic purposes
    • 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/205Parsing
    • G06F40/226Validation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B17/00Teaching reading
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Marketing (AREA)
  • Pathology (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Biophysics (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은, 개선된 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm)을 사용하여 난독증을 정밀하게 진단하고, 난독증 수준에 대응하는 학습서비스를 제공하는 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치에 관한 것으로, 본 발명의 난독증 학습서비스 제공 장치는, 테스트 스크립트를 보고 사용자가 발음한 사용자 음성을 상기 테스트 스크립트와의 유사도를 분석하여 사용자의 난독증을 평가하는 난독증 학습서비스 제공 장치로서, 사용자 단말로부터 상기 사용자 음성이 포함된 사용자 음성 데이터를 수신하는 통신부, 그리고 한국어로 표기된 상기 테스트 스크립트를 소리나는 대로 영어 소문자로 표기하여 제1 문자열을 생성하고, 한국어로 표기된 상기 사용자 음성 데이터를 소리나는 대로 영어 소문자로 표기하여 제2 문자열을 생성하고, 상기 제1 문자열 및 상기 제2 문자열을 식 1 및 식 2와 같이 정의된 레벤슈타인 거리 측정모델을 사용하여 상기 테스트 스크립트와 상기 사용자 음성의 유사도를 지시하는 레벤슈타인 거리 측정값을 산출하는 프로세서를 포함하고, 상기 프로세서는, 상기 레벤슈타인 거리 측정값에 기초하여 상기 사용자의 발음점수를 산출하여 상기 사용자의 난독증을 평가하는, 난독증 학습서비스 제공 장치.
[식 1]
Figure pat00035

(여기서, i는 문자열 A의 인덱스이고, j는 문자열 B의 인덱스이다)
[식 2]
Figure pat00036

(여기서, (C11, C12 )는 A[x]의 클래스 벡터이고, (C21, C22 )는 B[y]의 클래스 벡터이다. 여기서 x와 y는 문자열 A, B의 인덱스이다)

Description

난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치{METHOD FOR PROVIDING DYSLEXIA LEARNING SERVICES AND APPARATUS THEREOF}
본 발명은, 개선된 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm)을 사용하여 난독증을 정밀하게 진단하고, 난독증 수준에 대응하는 학습서비스를 제공하는 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치에 관한 것이다.
난독증(dyslexia) 이란, 듣고 말하는 데는 별 다른 지장을 느끼지 못하는 아동 또는 성인이 단어를 정확하고 유창하게 읽지 못하고 철자를 인지하지 못하는 증세로서, 학습 장애의 일종이다. 난독증은 읽기 장애 또는 독서 장애로도 알려져 있다.
난독증 증상을 보이는 사람이 인구의 5%에서 많게는 20%까지 차지하는 것으로 추정되고 있다. 난독증은 흔히 볼 수 있는 장애임에도, 지금까지 난독증을 ADHD 등 다른 병과 명확히 구별하지 못하는 실정이다.
또한, 현재까지 난독증을 진단하고 치료하기 위하여, 음운처리 이론 (phonological theory), 청각처리 이론 (auditory processing theory), 시각 이론 (visual theory), 거대세포 이론 (magnocellular theory) 등의 다양한 신경학적 연구 접근이 이루어지고 있으나, 대부분 학술적인 논의에 그치고 있을 뿐이고, 난독증 환자의 진단 및 치료를 위한 실질적인 개선 프로그램은 미비한 실정이다.
그로 인해, 난독증을 앓고 있는 사람들이 잘못된 치료를 받고 있는 경우가 많다. 심지어, 한국에는 난독증과 관련된 서비스 제공은 전무한 실정이다.
한편, 난독증의 치료에 적용할 가능성이 있는 서비스는, 한글 학습서비스가 있다. 그러나, 해당 서비스는 비난독증 아동을 위한 서비스이다. 예를 들어, 한글 학습서비스는 'ㄱ', 'ㄴ' 등의 음소를 익히는 것에서부터 시작한다. 이러한 방법은, 현재 초등학교의 한글 교육 과정과 유사하다.
음소는 자체적으로 의미를 가지지 않고, 자음의 경우에는 모음과 같이 있지 않다면 소리를 정확히 낼 수 없다. 따라서 청각처리능력이 부족한 난독증 아동들은 이러한 학습에 쉽게 흥미를 잃게 되고, 학습 부진 및 학교 생활 부적응 등의 문제로 이어진다.
본 발명은, 난독증 테스트를 통해 난독증 정도를 테스트하고, 테스트 결과에 따른 학습 컨텐츠를 제공함으로써 사용자의 난독증을 개선할 수 있는 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치를 제공하는 것이다.
본 발명의 일 특징에 따른 난독증 학습서비스 제공 장치는, 테스트 스크립트를 보고 사용자가 발음한 사용자 음성을 상기 테스트 스크립트와의 유사도를 분석하여 사용자의 난독증을 평가하는 난독증 학습서비스 제공 장치로서, 사용자 단말로부터 상기 사용자 음성이 포함된 사용자 음성 데이터를 수신하는 통신부, 그리고
한국어로 표기된 상기 테스트 스크립트를 소리나는 대로 영어 소문자로 표기하여 제1 문자열을 생성하고, 한국어로 표기된 상기 사용자 음성 데이터를 소리나는 대로 영어 소문자로 표기하여 제2 문자열을 생성하고, 상기 제1 문자열 및 상기 제2 문자열을 식 1 및 식 2와 같이 정의된 레벤슈타인 거리 측정모델을 사용하여 상기 테스트 스크립트와 상기 사용자 음성의 유사도를 지시하는 레벤슈타인 거리 측정값을 산출하는 프로세서를 포함하고, 상기 프로세서는, 상기 레벤슈타인 거리 측정값에 기초하여 상기 사용자의 발음점수를 산출하여 상기 사용자의 난독증을 평가한다.
[식 1]
Figure pat00001
(여기서, i는 문자열 A의 인덱스이고, j는 문자열 B의 인덱스이다)
[식2]
Figure pat00002
(여기서, (C11, C12 )는 A[x]의 클래스 벡터이고, (C21, C22 )는 B[y]의 클래스 벡터이다. 여기서 x와 y는 문자열 A, B의 인덱스이다)
상기 난독증 학습서비스 제공 장치는, 한국어 자모와 영소문자 매핑 테이블, 한국어 자음 클래스 벡터 테이블, 한국어 모음 클래스 벡터 테이블, 한국어 자모음 클래스 벡터 테이블, 및 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm) 중 적어도 하나가 저장되는 메모리를 더 포함하고, 상기 프로세서는, 상기 한국어 자모와 영소문자 매핑 테이블에 기초하여 상기 제1 문자열 및 상기 제2 문자열을 생성할 수 있다.
상기 프로세서는, 상기 레벤슈타인 거리 측정값을 식 3을 이용하여 정규화하여, 상기 발음점수가 0점 내지 100점 사이의 값을 갖도록 산출할 수 있다.
[식 3]
Figure pat00003
상기 프로세서는, 상기 사용자 음성 데이터에서 한 음운을 발음하는데 걸리는 시간이 소정의 시간 이상일 때마다 -1점씩 부과하여 -5~5점까지의 속도점수를 산출할 수 있다.
상기 프로세서는, 상기 사용자 음성 데이터에서 임의의 음운에서 이어지는 음운 사이의 간격이 소정의 사용자의 평균 발음속도와 비교하여, 띄어쓰기 개수 점수 및 띄어쓰기 거리 점수를 합산하여 리듬점수를 산출할 수 있다.
상기 프로세서는, 상기 사용자 음성 데이터를 상기 테스트 스크립트와 비교해 띄어 읽은 개수가 일치하면 일치하는 개수마다 소정의 점수를 부과하고, 틀리면 틀린 개수마다 소정의 점수를 가감하여 상기 띄어쓰기 개수 점수를 산출할 수 있다.
상기 프로세서는, 상기 사용자 음성 데이터에서 띄어쓰기한 곳과 상기 테스트 스크립트에서 띄어쓰기한 곳을 비교해서 띄어쓰기 한 곳 사이의 거리를 구하고, 상기 거리의 합을 식 4를 이용하여 계산하여 띄어쓰기 거리 점수를 산출할 수 있다.
[식 4]
Figure pat00004
(여기서, dis는 띄어쓰기한 곳 사이의 거리의 합이다.)
상기 프로세서는, 상기 사용자의 난독증을 평가에 대응하는 학습 컨텐츠를 추출하고, 상기 사용자의 난독증 평가 및 상기 학습 컨텐츠를 상기 사용자 단말로 피드백할 수 있다.
본 발명의 다른 특징에 따른 난독증 학습서비스 제공 방법은, 테스트 스크립트를 보고 사용자가 발음한 사용자 음성을 상기 테스트 스크립트와의 유사도를 분석하여 사용자의 난독증을 평가하는 난독증 학습서비스 제공 방법으로서, 사용자 단말로부터 상기 사용자 음성이 포함된 사용자 음성 데이터를 수신하는 단계, 한국어로 표기된 상기 테스트 스크립트를 소리나는 대로 영어 소문자로 표기하여 제1 문자열을 생성하고, 한국어로 표기된 상기 사용자 음성 데이터를 소리나는 대로 영어 소문자로 표기하여 제2 문자열을 생성하고, 상기 제1 문자열 및 상기 제2 문자열을 식 1 및 식 2와 같이 정의된 레벤슈타인 거리 측정모델을 사용하여 상기 테스트 스크립트와 상기 사용자 음성의 유사도를 지시하는 레벤슈타인 거리 측정값을 산출하여 상기 사용자의 음성을 인식하는 단계, 상기 레벤슈타인 거리 측정값에 기초하여 상기 사용자의 발음점수를 산출하여 상기 사용자의 난독증을 평가하는 단계, 그리고 상기 사용자의 난독증을 평가에 대응하는 학습 컨텐츠를 추출하고, 상기 사용자의 난독증 평가 및 상기 학습 컨텐츠를 상기 사용자 단말로 피드백하는 단계를 포함한다.
[식 1]
Figure pat00005
(여기서, i는 문자열 A의 인덱스이고, j는 문자열 B의 인덱스이다)
[식2]
Figure pat00006
(여기서, (C11, C12 )는 A[x]의 클래스 벡터이고, (C21, C22 )는 B[y]의 클래스 벡터이다. 여기서 x와 y는 문자열 A, B의 인덱스이다)
상기 사용자의 음성을 인식하는 단계는, 상기 한국어 자모와 영소문자 매핑 테이블에 기초하여 상기 제1 문자열 및 상기 제2 문자열을 생성할 수 있다.
상기 사용자의 난독증을 평가하는 단계는, 상기 레벤슈타인 거리 측정값을 식 3을 이용하여 정규화하여, 상기 발음점수가 0점 내지 100점 사이의 값을 갖도록 산출할 수 있다.
[식 3]
Figure pat00007
상기 사용자의 난독증을 평가하는 단계는, 상기 사용자 음성 데이터에서 한 음운을 발음하는데 걸리는 시간이 소정의 시간 이상일 때마다 -1점씩 부과하여 -5~5점까지의 속도점수를 산출할 수 있다.
상기 사용자의 난독증을 평가하는 단계는, 상기 사용자 음성 데이터에서 임의의 음운에서 이어지는 음운 사이의 간격이 소정의 사용자의 평균 발음속도와 비교하여, 띄어쓰기 개수 점수 및 띄어쓰기 거리 점수를 합산하여 리듬점수를 산출할 수 있다.
상기 사용자의 난독증을 평가하는 단계는, 상기 사용자 음성 데이터를 상기 테스트 스크립트와 비교해 띄어 읽은 개수가 일치하면 일치하는 개수마다 소정의 점수를 부과하고, 틀리면 틀린 개수마다 소정의 점수를 가감하여 상기 띄어쓰기 개수 점수를 산출할 수 있다.
상기 사용자의 난독증을 평가하는 단계는, 상기 사용자 음성 데이터에서 띄어쓰기한 곳과 상기 테스트 스크립트에서 띄어쓰기한 곳을 비교해서 띄어쓰기 한 곳 사이의 거리를 구하고, 상기 거리의 합을 식 4를 이용하여 계산하여 띄어쓰기 거리 점수를 산출할 수 있다.
[식 4]
Figure pat00008
(여기서, dis는 띄어쓰기한 곳 사이의 거리의 합이다.)
본 발명은, 사용자가 소지하는 단말을 이용하여 난독증 테스트 및 학습 컨텐츠를 이용할 수 있도록 하여 사용자의 비용을 절감하고, 원하는 시간에 학습할 수 있도록 하는 효과를 갖는다.
본 발명은, 개선된 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm)을 사용하여 발음이 유사한 자음 및 모음도 구별함으로써, 정확도 높은 테스트를 수행하고 테스트 결과에 대응하는 학습 컨텐츠를 제공하여 난독증 개선 효과를 극대화할 수 있다.
도 1은 일 실시예에 따른 난독증 학습서비스 제공 시스템을 설명하는 도면이다.
도 2는 도 1의 난독증 학습서비스 제공 장치의 기능을 상세하게 설명하는 블록도이다.
도 3은 일 실시예에 따른 난독증 학습서비스 제공 방법을 설명하는 흐름도이다.
도 4는 도 3의 전처리 단계(S20)를 상세하게 설명하는 흐름도이다.
도 5는 도 3의 음성인식 단계(S30)를 상세하게 설명하는 흐름도이다.
도 6은 도 3의 평가단계(S40)를 상세하게 설명하는 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 일 실시예에 따른 난독증 학습서비스 제공 시스템을 설명하는 도면이고, 도 2는 도 1의 난독증 학습서비스 제공 장치의 기능을 상세하게 설명하는 블록도이다.
도 1을 참고하면, 난독증 학습서비스 제공 시스템(1)은 사용자 단말(100) 그리고 난독증 학습서비스 제공장치(200)를 포함한다.
사용자 단말(100)은, 사용자로부터 데이터를 입력 받는 입력 장치, 난독증 학습서비스 제공장치(200)로부터 전송되는 테스트 스크립트 등을 표시하는 표시부, 그리고 난독증 학습서비스 제공장치(200)와 통신하는 통신부를 포함할 수 있다. 예를 들어, 입력장치는 키보드, 마우스, 터치패드, 마이크 등을 포함할 수 있다.
사용자 단말(100)은, 소지하는 스마트폰, 데스크탑(desktop), 또는 테블릿 PC 등으로 구현될 수 있다. 예를 들어, 사용자 단말(100)은, 난독증 학습서비스 제공장치(200)가 제공하는 난독증 학습서비스가 실행하는 어플리케이션을 포함할 수 있다.
난독증 학습서비스 제공장치(200)는 사용자 단말(100)로부터 전송되는 사용자 음성을 테스트하여 난독증을 진단하고, 테스트 결과 및 그 결과에 따른 학습 컨텐츠를 사용자 단말(100)로 전송할 수 있다.
도 2를 참고하면, 난독증 학습서비스 제공장치(200)는 통신부(210), 메모리(230), 그리고 프로세서(250)를 포함한다. 예를 들어, 난독증 학습서비스 제공장치(200)는 네트워크를 통해 사용자 단말(100)과 통신하는 원격지의 서버로 구현될 구현될 수 있다.
통신부(210)는, 유선 또는 무선 네트워크를 통해 사용자 단말(100)과 데이터를 송수신할 수 있는 통신모듈을 포함할 수 있다. 예를 들어, 통신부(210)은 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등 무선 인터넷 모듈을 포함할 수 있다.
메모리(230)는, 사용자 단말(100)로부터 전송되는 사용자 음성 데이터, 사용자 음성 데이터를 테스트하기 위해 필요한 각종 모델 및 테이블이 저장될 수 있다. 일 실시예에 따라, 메모리(230)는, 한국어 자모와 영소문자 매핑 테이블, 한국어 자음 클래스 벡터 테이블, 한국어 모음 클래스 벡터 테이블, 한국어 자모음 클래스 벡터 테이블, 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm)이 저장될 수 있다.
메모리(230)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서(250)는 난독증 학습서비스 제공장치(200)를 전반적으로 제어하고,
사용자 단말(100)로부터 난독증 테스트 및 난독증 학습서비스의 요청에 따라 대응하는 서비스를 제공할 수 있다.
도 3은 일 실시예에 따른 난독증 학습서비스 제공 방법을 설명하는 흐름도이고, 도 4는 도 3의 전처리 단계(S20)를 상세하게 설명하는 흐름도이고, 도 5는 도 3의 음성인식 단계(S30)를 상세하게 설명하는 흐름도이고, 도 6은 도 3의 평가단계(S40)를 상세하게 설명하는 개념도이다.
이하, 도 1 내지 도 5를 참고하여, 난독증 학습서비스 제공 장치 및 방법에 대해 상세하게 설명한다.
우선, 난독증 학습서비스 제공장치(200)는 사용자 단말(100)로부터 사용자 음성파일을 수신한다(S10).
다음으로, 난독증 학습서비스 제공장치(200)는 수신된 사용자 음성을 효과적으로 분석하기 위해 전처리 과정을 수행한다(S20).
도 4를 참고하면, S20 단계에서, 난독증 학습서비스 제공장치(200)는 사용자의 음성 데이터를 FLAC 형태로 저장한다(S210).
예를 들어, 사용자 단말(100)로부터 전송되는 사용자의 음성 데이터는 m4a, wav 등 다양한 형식 및/또는 다양한 비트 레이트를 포함하는 음성파일일 수 있다. FLAC은, 오디오파일을 저장하는 파일형식으로, 손실압축 파일형식인 MP3와 달리 무손실압축 파일형식이다. 구체적으로, FLAC은 원 음원을 지우지 않고 파일만 압축해 용량을 줄인다.
S20 단계에서, 난독증 학습서비스 제공장치(200)는 파일명, 파일 길이(초), 테스트 스크립트를 매핑한 매핑파일을 생성한다(S230).
S20 단계에서, 난독증 학습서비스 제공장치(200)는 한국어 문장으로 구성된 테스트 스크립트를 소리나는 대로 영문자로 표기된 영어 발음열로 변환한다(S250).
예를 들어, 난독증 학습서비스 제공장치(200)는 한국어로 표시된 테스트 스크립트를 소리 나는 대로 표기한 후, 이하 표 1을 이용하여 영어 발음열로 변환한다.
Figure pat00009
다음으로, 난독증 학습서비스 제공장치(200)는 미리 학습된 음향모델 및 언어모델을 이용하여 사용자의 음성을 가장 가능성 높은 발음 열로 변환하여 음성을 인식한다(S30).
도 5를 참고하면, S30 단계에서, 난독증 학습서비스 제공장치(200)는 사용자의 음성에서 MFCC(Mel-Frequency Cepstral Coefficient) 특징벡터(Feature)를 추출한다(S310).
음성인식의 첫 번째 단계는, 음파가 샘플링되고 양자화되어 일종의 스펙트럼 표현으로 변환된다. 일반적으로 사용되는 스펙트럼 표현은 입력의 각 프레임에 대해 특징벡터(Feature)를 제공하는 MFCC이다.
머신 러닝에서 어떠한 데이터를 벡터화 한다는 것은 곧 학습이 가능하다는 것을 의미하고, 데이터에서 특징벡터(Feature)를 어떤 방법으로 뽑느냐에 따라 모델의 성능이 상당히 좌우될 수 있다.
MFCC는 음성 데이터에서 특징벡터(Feature)를 추출하는 알고리즘이다. 구체적으로, 난독증 학습서비스 제공장치(200)는 음성데이터를 모두 20~40ms로 쪼갠 후, 주파수대역 별로 에너지의 강도를 측정해서 사용자의 음성에 어떤 주파수가 주로 포함되어 있는지 파악하여 벡터화한다. 이때, 사람의 음성은 20~40ms 사이에서는 음소(현재 내고 있는 발음)가 바뀔 수 없다는 연구결과들을 기반으로, 음소는 해당 시간 내에 바뀔 수 없다고 가정한다.
S30 단계에서, 난독증 학습서비스 제공장치(200)는 추출된 MFCC 특징벡터를 음향모델의 그래프 및 언어모델의 그래프에 기초하여 디코딩하고, 격자(Lattice)의 형태로 변환한다(S330).
음향모델은 각 프레임에 대해 이러한 특징벡터(Feature)의 발음 가능성을 추정하는 데 사용될 수 있다. 음향 모델의 그래프는 상태와 호, 그리고 그 사이의 확률로 되어있다. 해당 상태에서 특정 MFCC 특징벡터가 들어왔을 때, 특정 확률로 다른 상태로 전이하게 된다. 격자(Lattice)는 음향 모델의 그래프에 해당 문장의 MFCC 특징벡터를 넣어서 만들어낸, 그래프의 일부분이다.
디코딩, 검색, 또는 추론은 일련의 입력 관측치와 일치하는 최적의 모델 상태 시퀀스를 찾는 프로세서이다. 디코딩은 정보이론, 인공지능의 검색 및 추론에서 비롯될 수 있다.
S30 단계에서, 난독증 학습서비스 제공장치(200)는 격자(Lattice)에서 최적의 경로, 즉, 가장 가능성이 높은 경로를 찾는다(S350).
S30 단계에서, 난독증 학습서비스 제공장치(200)는 최적의 경로를 영어 소문자 발음열로 변환한다(S370).
다음으로, 난독증 학습서비스 제공장치(200)는 영어 소문자 발음열과 테스트 문자열과의 유사도 점수인 발음점수, 속도점수, 그리고 리듬점수를 판단하여 사용자의 음성을 평가한다(S40).
도 6을 참고하면, S40 단계에서, 난독증 학습서비스 제공장치(200)는 사용자를 테스트하기 위해 제공하였던 테스트 스크립트(제1 문자열(A))와 사용자 음성에 대응하는 영어 소문자 발음열(이하, 제2 문자열(B))의 유사도를 보여주는 발음점수를 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm)을 이용하여 산출할 수 있다.
즉, 난독증 학습서비스 제공장치(200)가 테스트용으로 사용자 단말(100)을 통해 사용자에게 제공하였던 문장이 제1 문자열(A)이고, 제1 문자열(A)을 보고 사용자가 발음한 음성을 사용자 단말(100)이 입력 받아 난독증 학습서비스 제공장치(200)로 전송한 문장이 제2 문자열(B)이다.
레벤슈타인 거리(또는 편집 거리)는, 두 문자열의 유사도를 판단하는 방법으로, 제1 문자열을 제2 문자열로 바꾸기 위해 편집해야 하는 수를 나타낸다. 구체적으로 레벤슈타인 거리는 제1 문자열을 제2 문자열로 바꾸기 위해 삽입, 변경, 삭제에 대한 비용을 계산한다. 이때, 비용이 높을 수록 서로 다른 문장인 것으로 판단할 수 있다.
Figure pat00010
예를 들어, 상기 표 2를 참고하면, 레벤슈타인 거리(또는 편집 거리)는 'giraffe'를 'graff'로 바꾸기 위해 편집해야 하는 수를 나타낸다. 'giraffe'에서 'i'와 'e'를 삭제하면 'graff'가 된다. 그래서 두 문자열 사이의 편집거리는 2가 된다. 반대로 'graff'에 'i'와 'e'를 삽입하면 'giraffe'가 됩니다. 이 경우에도 편집거리는 2가 된다. 이처럼 최소 한도로 편집하면서 한 문자열을 다른 문자열로 바꿀 때 발생하는 편집횟수가 편집거리일 수 있다.
일 실시예에 따른, 레벤슈타인 거리는 하기 식 1에 의해 산출될 수 있다.
[식 1]
Figure pat00011
여기서 i와 j는 문자열의 인덱스이다.
예를 들어, 제1 문자열(A), 제2 문자열(B)이 각각‘candy', 'cat'일 때, i와 j는 0~5, 0~3의 범위(0부터 문자열의 길이)를 가진다.
Figure pat00012
상기 표 3은, 제1 문자열(A)이 candy'일 때, i와 A[i]의 대응관계를 보여준다.
Figure pat00013
상기 표 4는, 제2 문자열(B)이'cat'일 때, 인덱스 j와 B[j]의 대응관계를 보여준다.
D(i, j)는 제1 문자열(A)의 인덱스 1~i까지 있고, 제2 문자열(B)의 인덱스 1~j까지 있을 때, 이 둘 사이의 레벤슈타인 거리라는 의미이다. 예를 들어, D(4, 2)는 'cand'와 'ca' 사이의 레벤슈타인 거리이다.
상기 식 1에서, (1) i가 0이거나 j가 0이면, 한 문자열은 비어 있다는 의미이다. 따라서, 다른 문자열의 길이만큼 삽입을 해야 해당 문자열에 도달할 수 있다. (2) A[i]와 B[j]가 같다면, D(i, j)는 D(i-1, j-1)과 동일한 값을 갖게 된다. 즉, 수정, 삽입, 삭제가 필요 없다. (3) A[i]와 B[j]가 다르다면, D(i, j)는 D(i-1, j)+1(삭제), D(i, j-1)+1(삽입), D(i-1, j-1)+ Diff(A[i], B[j](수정)의 과정 중 최소값을 갖게 된다.
종래 레벤슈타인 거리에서는, 발음이 유사한 자음 모음들도 똑같이 거리가 1로 취급되므로 정확도 계산에 문제가 있었다. 예를 들어, A[i]와 B[j]가 같지 않은 경우, D(i-1, j-1)+1(수정)의 과정에서 'ㄱ'과 'ㅋ' 같은 유사한 음소를 발음했음에도 똑 같은 거리 1을 부여하였다.
일 실시예에 따른 레벤슈타인 거리는, 식 1을 참고하면, A[i]와 B[j]가 같지 않은 경우, D(i-1, j-1)+ Diff(A[i], B[j](수정)의 과정에서 'ㄱ'과 'ㅋ' 같은 유사한 음소를 발음하더라도, 이 부분에 1 대신 Diff(A[i], B[j])라는 값을 더해줘서 얼마나 유사한지를 판단하도록 했다.
클래스 벡터는 한국어 자모음 체계를 바탕으로 만들어졌다. 자음의 경우는 클래스 벡터가 조음 방식, 조음 위치로 구성되어 있다. 모음의 경우는 혀의 높낮이, 혀의 위치로 구성되어 있다.
자음의 경우, 클래스 벡터는 조음 방식, 조음 위치로 구성되어 있다. 조음 방식에 따라 파열음, 파찰음, 마찰음, 비음, 유음의 경우 각각 1.x, 2.x, 3.x, 4.x, 5.x의 값을 할당했다. 여기서 소수점 부분의 경우, 예사소리, 된소리, 거센소리인 경우에 x.0, x.3, x.6의 값을 할당했다. 예를 들어, 파열음이면서 된소리인'ㅃ'은 파열음이기 때문에 1.x에 된소리라서 x.3을 할당 받아 조음방식 성분에 1.3의 값을 가지게 된다.
조음 위치에 따라 양순음, 차조음, 경구개음, 연구개음, 후음의 경우 각각 1.0, 2.0, 3.0, 4.0, 5.0의 값을 할당했다. 예를 들어, 'ㅅ'의 경우 차조음이기 때문에 조음 위치 성분에 2.0의 값을 가지게 된다.
하기 표 5는, 한국어 자음 클래스 벡터 테이블의 일 예시이다.
Figure pat00014
구체적으로, 자음의 클래스 벡터의 경우, 각각의 성분이 같으면 0, 다르면 1을 부과하되, [x]=[y]인 경우에는 0.32을 부여한다. [x]=[y]인 경우를 보면,'ㄱ'과 'ㄲ', 'ㄸ'과 'ㅌ' 등 조음 방식은 같으나 소리의 세기가 다른 경우이다. 이런 경우, 조음 방식이 같기 때문에 어느 정도 유사성을 가지지만, 완전히 같지는 않기 때문에 0.32을 부여한다.
[식 2]
Figure pat00015
모음의 경우, 한국어 발음 삼각도를 바탕으로 발음할 때의 혀의 높낮이와 발음할 때의 혀의 위치에 따라 10.0~11.0까지의 값을 각각 부여했다. 기준값은 혀의 위치가 가장 앞쪽이고 혀의 높이가 가장 높은 'ㅣ'를 (10.0, 10.0)으로 설정했다. 그래서 혀의 높이가 높을수록 10.0에 가까운 값을 갖고 혀의 위치가 낮을수록 11.0에 가까운 값을 가진다. 또한, 혀의 위치가 앞에 있을수록 10.0에 가까운 값을 갖고, 혀의 위치가 뒤에 있을수록 11.0에 가까운 값을 갖게 된다.
이중모음의 경우 기본적으로 반모음 + 단모음으로 구성되어 있기 때문에 반모음에 해당하는 클래스 벡터에 0.2의 가중치와 단모음에 해당하는 클래스 벡터에 0.8의 가중치를 주어 이를 합산한 벡터를 부여했다
Figure pat00016
상기 표 6은, 한국어 모음 클래스 벡터 테이블의 일 예시이다.
Figure pat00017
상기 표 7은, 좌표평면에 표현한 한국어 모음 클래스 벡터의 일 예시이다.
Figure pat00018
상기 표 8은, 한국어 자모음 클래스 벡터 테이블의 일 예시이다.
구체적으로 모음의 클래스 벡터의 경우, 자음의 클래스 벡터와는 다르게 성분들이 연속적인 속성을 갖는다. 따라서 성분들 사이의 차이를 계산할 때, 그 둘의 차이의 제곱을 취해주게 된다. 이 값은 0~1 사이의 값을 갖게 된다.
[식 3]
Figure pat00019
또한, 식 1에서, Diff(A[i], B[j])은 하기 식 4를 이용하여 구할 수 있다. 이때, A[i]는 x, B[j]는 y이다.
[식 4]
Figure pat00020
단, (C11, C12 )는 A[x]의 클래스 벡터이고, (C21, C22 )는 B[y]의 클래스 벡터이다. 여기서 x와 y는 문자열 A, B의 인덱스이다.
예를 들어, 둘 다 자음인 경우와 둘 다 모음인 경우, 위의 두 경우 모두 아닌 경우에 따라 f함수, g함수를 적용한다. 여기서 Diff(x, y)의 경우 0~1 사이의 값을 2번 더한 후 2로 나누어 루트를 씌웠거나 1의 값을 갖기 때문에 결과적으로 0~1 사이의 값이 나오게 된다.
자음인 경우에는 불연속적인 클래스 벡터 값을 갖기 때문에 불연속한 값을 처리하는 f함수에 클래스 벡터의 성분을 인자로 주었고, 모음의 경우에는 연속적인 클래스 벡터 값을 갖기 때문에 연속적인 값을 처리하는 g함수에 클래스 벡터의 성분을 인자로 주었다. 값이 자음, 모음이거나 모음, 자음인 경우에는 아예 유사성이 없다고 보아 1의 값을 부여한다.
정리하면, 레벤슈타인 거리는 D(len(A), len(B))의 값이 된다(단, len(X)는 문자열 X의 길이). 발음점수는, 사용자에게 제시하였던 테스트 스크립트와 사용자의 음성에 대한 텍스트 문장과의 유사도를 보여주는 평가 점수이다. 발음점수는 하기 식 5에 의해 100점 만점으로 계산될 수 있다. 레벤슈타인 거리는, 0~max(len(A), len(B))의 값을 가질 수 있기 때문에, 이를 정규화하여 0~1 사이의 값으로 만들고, 1에서 이 값을 빼서 100을 곱하면 0~100점으로 계산될 수 있다.
[식 5]
Figure pat00021
이하, 레벤슈타인 거리 공식을 이용하여 두 문자열 사이의 거리를 구체적인 예를 들어 설명한다. 예를 들어, 제1 문자열(A)(예를 들어,‘악’)과 제2 문자열(B)(예를 들어, '커')이다.
한국어 자모 영소문자 매핑 테이블(식 1)에 따라 제1 문자열(A)인 '악'은 'a g2', 제2 문자열(B)인‘커’는 'kh eo'로 변환된다. 제1 문자열(A)을'a g2', 제2 문자열(B)을'kh eo'로 하고 i를 A의 인덱스, j를 B의 인덱스를 나타내는 변수로 정한다. len(A)은 2이고, len(B)는 2이므로 i는 0~2까지, j는 0~2까지의 범위를 지닌다.
(1) i가 0일 때 j를 0~2까지 증가시켜 보면,i=0 or j=0'라는 조건이 충족하므로 max(i,j)를 구해서 D(0,0)=max(0,0)=0이고, D(0,1)=max(0,1)=1이고, D(0,2)=max(0,2)=2가 된다.
(2) i가 1이고 j가 0일 때, 'i=0 or j=0'라는 조건이 성립한다. max(i,j)를 구해서 D(1,0)=max(1,0)=1이 된다.
(3) i가 1이고 j가 1일 때, A[1]인'a'와 B[1]인'kh'가 같지 않으므로, A[i] ≠ B[j] 조건이 성립한다. 따라서, min(D(0,1)+1, D(1,0)+1, D(0, 0)+Diff(A[1],B[1]))을 구해야 한다. D(0,1)=1, D(1,0)=1, D(0,0)=0이고, Diff(A[1],B[1])는 A[1]과 B[1]이 자음, 모음인 경우이므로 1이다. 따라서 min(2,2,1)은 1이되어 D(1,1)=1이다.
(4) i가 1이고 j가 2일 때, A[1]인 'a'와 B[2]인 'g2'가 같지 않으므로 A[i] ≠ B[j] 조건이 성립한다. 따라서, min(D(0,1)+1, D(1,0)+1, D(0, 0)+Diff(A[1],B[2]))을 구해야 한다. D(0,2)=2, D(1,1)=1, D(0,1)=1이고, Diff(A[1],B[2])는 A[1]과 B[2]이 자음, 자음인 경우이므로
Figure pat00022
를 구해야 한다.
(C11, C12)는 A[1]의 클래스 벡터이므로 (1.6,4.0)이고, (C21, C22)는 B[2]의 클래스 벡터이므로 (1.0,4.0)이다. f(4.0, 4.0)을 구해 보면 [1.6] = [1.0] = 1 이므로 0.32=0.09가 되고, f(4.0,4.0)을 구해 보면 4.0 = 4.0 이므로 0이 된다. 즉 최종적으로 min(3, 2, 1.2121… )는 1.2121이 되므로 D(1,2)=1.2121… 이 된다.
(5) i가 2이고 j가 0일 때, 'i=0 or j=0'라는 조건이 성립한다. 따라서, max(i,j)를 구해서 D(2,0)=max(2,0)=2가 된다.
(6) i가 2이고 j가 1일 때, A[2]인'eo'와 B[1]인'a'가 같지 않으므로 A[i] ≠ B[j] 조건이 성립한다. 따라서, min(D(0,1)+1, D(1,0)+1, D(0, 0)+Diff(A[2],B[1]))을 구해야 한다. D(1,1)=1, D(2,0)=2, D(1,0)=1이고, Diff(A[2],B[1]는 A[2]과 B[1]이 모음 및 모음인 경우이므로
Figure pat00023
를 구해야 한다.
(C11, C12)는 A[2]의 클래스 벡터이므로 (10.6, 10.65)이고, (C21, C22)는 B[1]의 클래스 벡터이므로 (10.9, 10.5)이다. g(10.6, 10.9)을 구해 보면 (10.9 -10.6)2 이므로 0.32=0.09가 되고, g(10.65, 10.5)를 구해 보면 (10.65 -10.5)2이므로 0.152=0.0225이다.
Figure pat00024
의 경우
Figure pat00025
가 된다. 즉 최종적으로 min(2, 3, 1.2371…)는 1.2371…이 되므로 D(2,1)=1.2371… 이 된다.
(7) i가 2이고 j가 2일 때, A[2]인 'g2'와 B[2]인 'eo'가 같지 않으므로 A[i] ≠ B[j] 조건이 성립한다. 따라서, min(D(0,1)+1, D(1,0)+1, D(0, 0)+Diff(A[2],B[2]))을 구해야 한다. D(1,2)=1.2121…, D(2,1)=1.2371…, D(1,1)=1이고, Diff(A[2],B[2]는 A[2]과 B[2]이 모음 및 자음인 경우이므로 1을 가진다. 따라서 min(2.2121…, 2.2371…, 2)를 구한다면 2가 되어 D(2,2)=2가 된다.
최종적으로'a g2'와 'kh eo'사이의 레벤슈타인 거리는 2가 된다.
S40 단계에서, 난독증 학습서비스 제공장치(200)는 한 음운을 발음하는데 걸리는 시간이 150ms 이상일 때마다 -1점씩 부과하여 -5~5점까지의 속도점수를 산출할 수 있다. 예를 들어, 음운 한 개를 발음하는데 걸리는 시간이 평균 20~30ms이므로, 난독증 학습서비스 제공장치(200)는 150ms 이상이 걸린다면 학습자가 조금 더 빨리 발음할 수 있도록 피드백 할 수 있다.
S40 단계에서, 난독증 학습서비스 제공장치(200)는 띄어쓰기 단위를 잘 지켰는지를 판단하여 리듬 점수를 산출할 수 있다. 이때, 리듬 점수는 띄어쓰기 개수 점수와 띄어 읽기 거리 점수의 합으로 이루어져 있다. 띄어쓰기는 한 음운과 다른 음운 사이의 간격이 학습자 평균 발음 속도의 1.7 이상인 경우로 정한다.
난독증 학습서비스 제공장치(200)는 테스트 스크립트와 비교해 띄어 읽은 개수가 같으면 5점, 틀리면 틀린 개수마다 0.5점씩 감점해서 띄어쓰기 개수 점수가 -5~5점 사이의 점수를 지니도록 할 수 있다.
난독증 학습서비스 제공장치(200)는 학습자의 띄어쓰기 한 곳과 테스트 스크립트의 띄어쓰기를 비교해서 띄어쓰기 한 곳 사이의 거리의 합을 구하여 띄어쓰기 거리 점수를 산출할 수 있다.
[식 6]
Figure pat00026
상기 식 6을 참고하면, 띄어쓰기 한 곳 사이의 거리의 합을 dis라고 한다. 난독증 학습서비스 제공장치(200)는 식 6을 이용하여 띄어쓰기 거리 점수를 산출할 수 있다.
dis에 5의 가중치를 준 것은 띄어쓰기 거리가 늘어날수록 점수가 더 많이 감점될 수 있도록 한 것이다. 띄어쓰기 거리 점수 역시 -5~5 사이의 점수를 갖게 된다. 결과적으로 띄어쓰기 개수 점수와 띄어쓰기 거리 점수를 합한 리듬 점수는 -10~10점까지의 점수를 가지게 된다.
다음으로, 난독증 학습서비스 제공장치(200)는 발음 점수, 속도점수, 리듬 점수를 각각을 사용자 단말(100)로 피드백 한다(S50).
일 실시예에 따라, 난독증 학습서비스 제공장치(200)는 발음 점수, 속도점수, 리듬 점수와 각 점수가 분포하는 단계에 따른 학습 컨텐츠를 사용자 단말(100)로 전송하여 사용자의 상태에 맞추어 학습을 수행할 수 있도록 할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.

Claims (15)

  1. 테스트 스크립트를 보고 사용자가 발음한 사용자 음성을 상기 테스트 스크립트와의 유사도를 분석하여 사용자의 난독증을 평가하는 난독증 학습서비스 제공 장치로서,
    사용자 단말로부터 상기 사용자 음성이 포함된 사용자 음성 데이터를 수신하는 통신부, 그리고
    한국어로 표기된 상기 테스트 스크립트를 소리나는 대로 영어 소문자로 표기하여 제1 문자열을 생성하고, 한국어로 표기된 상기 사용자 음성 데이터를 소리나는 대로 영어 소문자로 표기하여 제2 문자열을 생성하고, 상기 제1 문자열 및 상기 제2 문자열을 식 1 및 식 2와 같이 정의된 레벤슈타인 거리 측정모델을 사용하여 상기 테스트 스크립트와 상기 사용자 음성의 유사도를 지시하는 레벤슈타인 거리 측정값을 산출하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 레벤슈타인 거리 측정값에 기초하여 상기 사용자의 발음점수를 산출하여 상기 사용자의 난독증을 평가하는, 난독증 학습서비스 제공 장치.
    [식 1]
    Figure pat00027

    (여기서, i는 문자열 A의 인덱스이고, j는 문자열 B의 인덱스이다)
    [식 2]
    Figure pat00028

    (여기서, (C11, C12 )는 A[x]의 클래스 벡터이고, (C21, C22 )는 B[y]의 클래스 벡터이다. 여기서 x와 y는 문자열 A, B의 인덱스이다)
  2. 제1항에 있어서,
    한국어 자모와 영소문자 매핑 테이블, 한국어 자음 클래스 벡터 테이블, 한국어 모음 클래스 벡터 테이블, 한국어 자모음 클래스 벡터 테이블, 및 레벤슈타인 거리 알고리즘(Levenshtein Distance Algorithm) 중 적어도 하나가 저장되는 메모리를 더 포함하고,
    상기 프로세서는,
    상기 한국어 자모와 영소문자 매핑 테이블에 기초하여 상기 제1 문자열 및 상기 제2 문자열을 생성하는, 난독증 학습서비스 제공 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 레벤슈타인 거리 측정값을 식 3을 이용하여 정규화하여, 상기 발음점수가 0점 내지 100점 사이의 값을 갖도록 산출하는, 난독증 학습서비스 제공 장치.
    [식 3]
    Figure pat00029
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 음성 데이터에서 한 음운을 발음하는데 걸리는 시간이 소정의 시간 이상일 때마다 -1점씩 부과하여 -5~5점까지의 속도점수를 산출하는, 난독증 학습서비스 제공 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 음성 데이터에서 임의의 음운에서 이어지는 음운 사이의 간격이 소정의 사용자의 평균 발음속도와 비교하여, 띄어쓰기 개수 점수 및 띄어쓰기 거리 점수를 합산하여 리듬점수를 산출하는, 난독증 학습서비스 제공 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 사용자 음성 데이터를 상기 테스트 스크립트와 비교해 띄어 읽은 개수가 일치하면 일치하는 개수마다 소정의 점수를 부과하고, 틀리면 틀린 개수마다 소정의 점수를 가감하여 상기 띄어쓰기 개수 점수를 산출하는, 난독증 학습서비스 제공 장치.
  7. 제5항에 있어서,
    상기 프로세서는,
    상기 사용자 음성 데이터에서 띄어쓰기한 곳과 상기 테스트 스크립트에서 띄어쓰기한 곳을 비교해서 띄어쓰기 한 곳 사이의 거리를 구하고, 상기 거리의 합을 식 4를 이용하여 계산하여 띄어쓰기 거리 점수를 산출하는, 난독증 학습서비스 제공 장치.
    [식 4]
    Figure pat00030

    (여기서, dis는 띄어쓰기한 곳 사이의 거리의 합이다.)
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자의 난독증을 평가에 대응하는 학습 컨텐츠를 추출하고, 상기 사용자의 난독증 평가 및 상기 학습 컨텐츠를 상기 사용자 단말로 피드백하는, 난독증 학습서비스 제공 장치.
  9. 테스트 스크립트를 보고 사용자가 발음한 사용자 음성을 상기 테스트 스크립트와의 유사도를 분석하여 사용자의 난독증을 평가하는 난독증 학습서비스 제공 방법으로서,
    사용자 단말로부터 상기 사용자 음성이 포함된 사용자 음성 데이터를 수신하는 단계,
    한국어로 표기된 상기 테스트 스크립트를 소리나는 대로 영어 소문자로 표기하여 제1 문자열을 생성하고, 한국어로 표기된 상기 사용자 음성 데이터를 소리나는 대로 영어 소문자로 표기하여 제2 문자열을 생성하고, 상기 제1 문자열 및 상기 제2 문자열을 식 1 및 식 2와 같이 정의된 레벤슈타인 거리 측정모델을 사용하여 상기 테스트 스크립트와 상기 사용자 음성의 유사도를 지시하는 레벤슈타인 거리 측정값을 산출하여 상기 사용자의 음성을 인식하는 단계,
    상기 레벤슈타인 거리 측정값에 기초하여 상기 사용자의 발음점수를 산출하여 상기 사용자의 난독증을 평가하는 단계, 그리고
    상기 사용자의 난독증을 평가에 대응하는 학습 컨텐츠를 추출하고, 상기 사용자의 난독증 평가 및 상기 학습 컨텐츠를 상기 사용자 단말로 피드백하는 단계를 포함하는, 난독증 학습서비스 제공 방법.
    [식 1]
    Figure pat00031

    (여기서, i는 문자열 A의 인덱스이고, j는 문자열 B의 인덱스이다)
    [식 2]
    Figure pat00032

    (여기서, (C11, C12 )는 A[x]의 클래스 벡터이고, (C21, C22 )는 B[y]의 클래스 벡터이다. 여기서 x와 y는 문자열 A, B의 인덱스이다)
  10. 제9항에 있어서,
    상기 사용자의 음성을 인식하는 단계는,
    상기 한국어 자모와 영소문자 매핑 테이블에 기초하여 상기 제1 문자열 및 상기 제2 문자열을 생성하는, 난독증 학습서비스 제공 방법.
  11. 제9항에 있어서,
    상기 사용자의 난독증을 평가하는 단계는,
    상기 레벤슈타인 거리 측정값을 식 3을 이용하여 정규화하여, 상기 발음점수가 0점 내지 100점 사이의 값을 갖도록 산출하는, 난독증 학습서비스 제공 방법.
    [식 3]
    Figure pat00033
  12. 제9항에 있어서,
    상기 사용자의 난독증을 평가하는 단계는,
    상기 사용자 음성 데이터에서 한 음운을 발음하는데 걸리는 시간이 소정의 시간 이상일 때마다 -1점씩 부과하여 -5~5점까지의 속도점수를 산출하는, 난독증 학습서비스 제공 방법.
  13. 제9항에 있어서,
    상기 사용자의 난독증을 평가하는 단계는,
    상기 사용자 음성 데이터에서 임의의 음운에서 이어지는 음운 사이의 간격이 소정의 사용자의 평균 발음속도와 비교하여, 띄어쓰기 개수 점수 및 띄어쓰기 거리 점수를 합산하여 리듬점수를 산출하는, 난독증 학습서비스 제공 방법.
  14. 제13항에 있어서,
    상기 사용자의 난독증을 평가하는 단계는,
    상기 사용자 음성 데이터를 상기 테스트 스크립트와 비교해 띄어 읽은 개수가 일치하면 일치하는 개수마다 소정의 점수를 부과하고, 틀리면 틀린 개수마다 소정의 점수를 가감하여 상기 띄어쓰기 개수 점수를 산출하는, 난독증 학습서비스 제공 방법.
  15. 제14항에 있어서,
    상기 사용자의 난독증을 평가하는 단계는,
    상기 사용자 음성 데이터에서 띄어쓰기한 곳과 상기 테스트 스크립트에서 띄어쓰기한 곳을 비교해서 띄어쓰기 한 곳 사이의 거리를 구하고, 상기 거리의 합을 식 4를 이용하여 계산하여 띄어쓰기 거리 점수를 산출하는, 난독증 학습서비스 제공 장치.
    [식 4]
    Figure pat00034

    (여기서, dis는 띄어쓰기한 곳 사이의 거리의 합이다.)






KR1020200150730A 2020-11-12 2020-11-12 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치 KR20220064553A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200150730A KR20220064553A (ko) 2020-11-12 2020-11-12 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200150730A KR20220064553A (ko) 2020-11-12 2020-11-12 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치

Publications (1)

Publication Number Publication Date
KR20220064553A true KR20220064553A (ko) 2022-05-19

Family

ID=81801207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200150730A KR20220064553A (ko) 2020-11-12 2020-11-12 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치

Country Status (1)

Country Link
KR (1) KR20220064553A (ko)

Similar Documents

Publication Publication Date Title
CN112397091B (zh) 中文语音综合评分及诊断系统和方法
US11069335B2 (en) Speech synthesis using one or more recurrent neural networks
Czech A System for Recognizing Natural Spelling of English Words
US11335324B2 (en) Synthesized data augmentation using voice conversion and speech recognition models
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
US20200082808A1 (en) Speech recognition error correction method and apparatus
Sanders et al. Phonological distance measures
CN112397056B (zh) 语音评测方法及计算机存储介质
Pellegrino et al. Automatic language identification: an alternative approach to phonetic modelling
CN112331180A (zh) 一种口语评测方法及装置
Proença et al. Automatic evaluation of reading aloud performance in children
Kendall et al. Considering performance in the automated and manual coding of sociolinguistic variables: Lessons from variable (ING)
Kurian et al. Continuous speech recognition system for Malayalam language using PLP cepstral coefficient
CN112967711B (zh) 一种针对小语种口语发音评价方法、系统及存储介质
KR102333029B1 (ko) 발음 평가 방법 및 이를 이용한 디바이스
Dai [Retracted] An Automatic Pronunciation Error Detection and Correction Mechanism in English Teaching Based on an Improved Random Forest Model
CN112908360A (zh) 一种在线口语发音评价方法、装置及存储介质
HaCohen-Kerner et al. Language and gender classification of speech files using supervised machine learning methods
KR20220064553A (ko) 난독증 학습서비스 제공 방법 및 그 방법을 제공하는 장치
CN115440193A (zh) 一种基于深度学习的发音评测打分方法
Sefara et al. Web-based automatic pronunciation assistant
CN112133325B (zh) 错误音素识别方法及装置
Kurian et al. Connected digit speech recognition system for Malayalam language
RU2597498C1 (ru) Способ распознавания речи на основе двухуровневого морфофонемного префиксного графа
Meylan et al. Child-directed listening: how caregiver inference enables children's early verbal communication

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application