KR20170028628A - 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체 - Google Patents

음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체 Download PDF

Info

Publication number
KR20170028628A
KR20170028628A KR1020150125467A KR20150125467A KR20170028628A KR 20170028628 A KR20170028628 A KR 20170028628A KR 1020150125467 A KR1020150125467 A KR 1020150125467A KR 20150125467 A KR20150125467 A KR 20150125467A KR 20170028628 A KR20170028628 A KR 20170028628A
Authority
KR
South Korea
Prior art keywords
recognition
speech
voice command
recognition result
user
Prior art date
Application number
KR1020150125467A
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 KR1020150125467A priority Critical patent/KR20170028628A/ko
Priority to US15/197,015 priority patent/US20170069317A1/en
Publication of KR20170028628A publication Critical patent/KR20170028628A/ko

Links

Images

Classifications

    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • 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/28Constructional details of speech recognition systems
    • 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/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

본 발명은 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 본 발명의 실시예에 따른 음성인식장치는 장치의 동작 수행에 관련된 로그 데이터를 로그 데이터를 분석하여 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하고, 판단 결과 정인식 발화로 판단된 음성 명령어의 인식 결과를 DB화하는 음성인식처리부를 포함할 수 있다.

Description

음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체{Voice Recognition Apparatus, Driving Method of Voice Recognition Apparatus, and Computer Readable Recording Medium}
본 발명은 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 더 상세하게는 가령 DTV와 같은 영상표시장치에서 음성 인식에 의한 특정 동작을 수행할 때, 실(제) 환경에서 발생할 수 있는 다양한 조건을 반영함으로써 예측하지 못한 다양한 오인식을 방지할 수 있는 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체에 관련된다.
음성인식을 제공하는 장치와 서비스가 증가하면서 음성인식은 다양한 곳에서 다양한 형태로 사용되고 있다. 다양한 환경과 장치에서 음성인식을 사용하는 만큼 음성인식의 인식 성능 즉 인식률을 만족시키는 데 초점을 맞추어 기술이 개발되고 있다. 기술이 진보됨에 따라 인식 성능은 실제 사용하기에 큰 불편함 없이 개선되어 왔지만 인식 성능에 초점을 맞추고 있기 때문에 유사한 발화에 의한 오인식에 대한 문제는 여전히 발생하고 있다.
오인식 성능을 개선하기 위해 인식 어휘와 유사한 발음의 오인식 모델을 사용하는 경우도 있지만 오인식이 발생할 가능성이 있는 발음에 대한 변조를 통한 등록 또는 비 음성 DB에 대한 거절 모델, 부분 분할을 통한 거절 어휘의 비중 파악, 실제 사용 모델 구축 시 일괄적인 반영 등과 같은 방식은 실제 사용자가 음성인식을 사용하며 발생하는 실제 오인식과는 많은 차이가 존재한다.
오인식에 대한 검증 역시 기존에 구축된 DB를 사용하여 현재 인식 후 출력된 결과와 비교하여 인식 결과에 대한 거절을 수행하기 때문에 사용자가 향후 음성인식을 효과적으로 사용할 수 있도록 유도하기는 매우 어렵다. 이러한 단순한 비교 및 거절은 사용자의 음성인식 사용에 매우 부정적인 견해를 심어줄 수 있다.
대부분의 종래 기술은 인식 성능을 높이는 데에만 초점을 맞추고 있다. 또한, 오인식을 방지하기 위해 제안하고 있는 기술 역시 일반적인 음성인식에서 사용하는 특징들을 사용하여 해당 음성이 인식인지 오인식인지 판단한다. 이러한 판단 방법은 일반적인 음성인식 성능 개선을 위한 방식에 불과하다. 실제 사용자가 음성인식을 사용하는 환경에서 발생하는 오인식은 상식적인 범위를 뛰어넘는 경우가 대부분이다.
따라서, 실제 사용자가 사용하는 환경에서 오인식을 막기 위한 실사용 데이터 없이는 실사용 환경에서의 오인식을 효과적으로 막기는 어렵다.
본 발명의 실시예는, 가령 DTV와 같은 영상표시장치에서 음성 인식에 의한 특정 동작을 수행할 때, 실 환경에서 발생할 수 있는 다양한 조건을 반영함으로써 예측하지 못한 다양한 오인식을 방지할 수 있는 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체를 제공함에 그 목적이 있다.
본 발명의 실시예에 따른 음성인식시스템은 장치의 동작 수행에 관련된 로그 데이터를 수집하는 영상표시장치, 및 상기 수집된 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하고, 판단 결과 정인식 발화로 결정된 음성 명령어의 인식 결과를 데이터베이스(DB)화하는 음성인식장치를 포함한다.
또한, 본 발명의 실시예에 따른 음성인식장치는 사용자 장치의 동작 수행에 관련된 로그 데이터를 수신하는 통신 인터페이스부, 및 상기 수신한 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하고, 판단 결과 정인식 발화로 판단된 음성 명령어의 인식 결과를 DB화하는 음성인식처리부를 포함한다.
상기 통신 인터페이스부는, 상기 음성 명령어의 오디오 데이터를 분석하여 얻은 텍스트 기반의 인식 결과 형태로 수신할 수 있다.
본 발명의 실시예에 따른 음성인식장치는 장치의 동작 수행에 관련된 로그 데이터를 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하고, 판단 결과 정인식 발화로 판단된 음성 명령어의 인식 결과를 DB화하는 음성인식처리부를 포함한다.
상기 음성인식처리부는, 상기 로그 데이터에 상기 음성 명령어가 있는지 확인하고, 확인한 상기 음성 명령어에 이어지는 상기 음성인식장치의 동작 상태에 근거하여 상기 정인식 발화를 결정할 수 있다.
상기 음성인식처리부는, 상기 동작 상태로서 상기 음성 명령어에 이어지는 다른 음성 명령어가 확인되면, 상기 음성 명령어를 정인식 발화로 결정할 수 있다.
상기 음성인식처리부는, 상기 동작 상태로서, 상기 음성 명령어에 이어 일정 시간 내에 사용자 발화가 없거나, 전원오프가 있으면, 상기 음성 명령어를 사용자가 의도하지 않고 발화한 오인식 발화로 결정할 수 있다.
상기 음성인식처리부는, 상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하고, 기설정된 오디오 실험 데이터가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증할 수 있다.
상기 음성인식처리부는, 상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하고, 상기 임시 저장 이후에, 상기 수신되는 음성 명령어가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증할 수 있다.
상기 음성인식처리부는, 검증 결과 인식률 개선이 있는 인식 결과를 상기 데이터베이스화할 수 있다.
상기 음성인식장치는 상기 인식 결과를 서버 기반의 음성인식장치에 DB화하기 위하여 상기 로그 데이터를 상기 서버 기반의 음성인식장치로 전송하는 통신 인터페이스부를 더 포함할 수 있다.
상기 통신 인터페이스부는, 상기 음성 명령어의 오디오 데이터를 분석하여 얻은 텍스트 기반의 인식 결과 형태로 전송할 수 있다.
나아가, 본 발명의 실시예에 따른 음성인식장치의 구동방법은 사용자 장치의 동작 수행에 관련된 로그 데이터를 수신하는 단계, 상기 수신한 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하는 단계, 및 판단 결과, 정인식 발화로 결정된 음성 명령어의 인식 결과를 DB화하는 단계를 포함한다.
상기 수신하는 단계는, 상기 음성 명령어의 오디오 데이터를 분석하여 얻은 텍스트 기반의 인식 결과 형태로 수신할 수 있다.
본 발명의 실시예에 따른 음성인식장치의 구동방법은 장치의 동작 수행에 관련된 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하는 단계, 및 판단 결과, 정인식 발화로 결정된 음성 명령어의 인식 결과를 DB화하는 단계를 포함한다.
상기 판단하는 단계는, 상기 로그 데이터에 상기 음성 명령어가 있는지 확인하고, 확인한 상기 음성 명령어에 이어지는 상기 사용자 장치의 동작 상태를 확인하여 상기 정인식 발화를 결정할 수 있다.
상기 판단하는 단계는, 상기 동작 상태로서 상기 음성 명령어에 이어지는 다른 음성 명령어가 확인되면, 상기 음성 명령어를 정인식 발화로 결정할 수 있다.
상기 판단하는 단계는, 상기 동작 상태로서, 상기 음성 명령어에 이어 일정 시간 내에 사용자 발화가 없거나, 전원오프가 있으면, 상기 음성 명령어를 사용자가 의도하지 않고 발화한 오인식 발화로 결정할 수 있다.
상기 구동방법은, 기설정된 오디오 실험 데이터를 저장하는 단계, 상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하는 단계, 및 상기 기설정된 오디오 실험 데이터가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증하는 단계를 더 포함할 수 있다.
상기 구동방법은, 상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하는 단계, 및 상기 임시 저장 이후에, 상기 수신되는 음성 명령어가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증하는 단계를 더 포함할 수 있다.
상기 데이터베이스화하는 단계는, 검증 결과 인식률 개선이 있는 인식 결과를 데이터베이스화할 수 있다.
상기 음성인식장치의 구동방법은 상기 인식 결과를 서버 기반의 음성인식장치에 DB화하기 위하여 상기 로그 데이터를 상기 서버 기반의 음성인식장치로 전송하는 단계를 더 포함할 수 있다.
상기 전송하는 단계는, 상기 음성 명령어의 오디오 데이터를 분석하여 얻은 텍스트 기반의 인식 결과 형태로 전송할 수 있다.
한편, 본 발명의 실시예에 따른 컴퓨터 판독가능 기록매체는 음성인식장치의 구동방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 음성인식장치의 구동방법은, 장치의 동작 수행에 관련된 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하는 단계, 및 판단 결과 정인식 발화로 결정된 음성 명령어의 인식 결과를 DB화하는 단계를 실행한다.
또한, 본 발명의 실시예에 따른 영상표시장치는 장치의 동작 수행에 관련된 로그 데이터를 저장하는 저장부, 및 상기 저장한 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하고, 판단 결과 정인식 발화로 결정된 음성 명령어의 인식 결과를 DB화하는 음성인식처리부를 포함한다.
나아가, 본 발명의 실시예에 따른 영상표시장치의 구동방법은 장치의 동작 수행에 관련된 로그 데이터를 저장하는 단계, 상기 저장한 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하는 단계, 및 판단 결과 정인식 발화로 결정된 음성 명령어의 인식 결과를 DB화하는 단계를 포함한다.
도 1은 본 발명의 실시예에 따른 음성인식시스템을 나타내는 도면,
도 2는 본 발명의 제1 실시예에 따른 영상표시장치의 구조를 나타내는 블록다이어그램,
도 3은 본 발명의 제2 실시예에 따른 영상표시장치의 구조를 나타내는 블록다이어그램,
도 4는 도 3의 제어부의 구조를 예시한 도면,
도 5는 본 발명의 제3 실시예에 따른 영상표시장치의 구조를 나타내는 블록다이어그램,
도 6은 본 발명의 제1 실시예에 따른 음성인식장치의 구조를 나타내는 블록다이어그램,
도 7은 본 발명의 제2 실시예에 따른 음성인식장치의 구조를 나타내는 블록다이어그램,
도 8은 도 6의 음성인식 처리부 또는 도 7의 음성인식 실행부의 세부 구조를 나타내는 블록다이어그램,
도 9는 도 8의 음성 인식부의 세부 구조를 나타내는 블록다이어그램,
도 10은 도 8의 실발화 DB의 구조를 나타내는 도면,
도 11은 도 10의 사전 구축부의 세부 구조를 나타내는 블록다이어그램,
도 12는 본 발명의 실시예에 따른 영상표시장치의 구동 과정을 나타내는 도면,
도 13은 본 발명의 제1 실시예에 따른 음성인식장치의 구동 과정을 나타내는 흐름도, 그리고
도 14는 본 발명의 제2 실시예에 따른 음성인식장치의 구동 과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 음성인식시스템을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 음성인식시스템(90)은 영상표시장치(100), 통신망(110) 및 음성인식장치(120)의 일부 또는 전부를 포함한다.
여기서, 일부 또는 전부를 포함한다는 것은 영상표시장치(100)와 음성인식장치(120)가 다이렉트(ex. P2P) 통신을 수행하는 경우, 통신망(110)은 시스템에서 생략될 수 있고, 영상표시장치(100)가 자체적으로 인식 동작을 수행하는 경우에는 음성인식장치(120)도 생략되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
영상표시장치(100)는 휴대폰, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 PC, PDP, MP3 및 TV 등과 같이 영상표시가 가능한 장치를 포함한다. 여기서, 영상표시장치(100)는 클라우드 단말기의 하나일 수 있다. 다시 말해, 사용자가 영상표시장치(100)의 특정 기능을 실행시키거나 동작을 수행시키기 위해 단어나 문장 형태의 음성 명령어를 발화하는 경우, 이러한 음성 명령어를 취득하여 오디오 데이터(혹은 음성신호)의 형태로 통신망(110)을 경유해 음성인식장치(120)로 제공할 수 있다. 이후, 영상표시장치(100)는 음성인식장치(120)로부터 음성 명령어에 대한 인식 결과를 수신하여 수신한 인식 결과에 근거해 특정 기능 또는 동작을 수행한다. 여기서, 특정 기능을 실행하거나 동작을 수행한다는 것은 화면에 표시된 애플리케이션(이하, '어플'이라 함)을 실행시키거나, 영상표시장치(100)의 채널 전환, 볼륨 조정 등과 같은 동작을 수행하는 것을 의미한다. 이의 과정에서, 영상표시장치(100)는 기설정된 UI 창을 화면에 팝업(pop-up)하여 어플의 실행을 사용자에게 알릴 수 있다.
예를 들어, 영상표시장치(100)는 사용자가 단어를 발화하는 경우, 특정 어플을 실행하기 위한 동작을 수행할 수 있다. 가령 사용자가 "하이 티비"라는 단어를 음성 발화한 경우, 해당 어플을 실행시킬 수 있다. 또한, 스포츠 스타의 이름을 거론하는 경우, 해당 스타의 현재 경기나 검색 등의 동작을 실행할 수 있다. 이와 같이 발화한 특정 단어에 대한 기능이나 동작을 수행하기 위해서는 사용자 또는 시스템 설계자의 설정 동작이 사전에 이루어질 수 있다. 여기서, 사용자가 발화한 음성 명령어 "하이 티비"는 음성 인식을 시작하는 발화 시작어라는 의미에서 '트리거 워드'라 명명될 수 있다.
물론, 영상표시장치(100)는 단어의 음성 발화가 있는 경우, 외부의 음성인식장치(120)에 의존하지 않고 내부의 고정발화엔진을 실행시키는 것도 얼마든지 가능할 수 있다. 이는 다시 말해, 사용자가 발화한 음성 명령어에 대한 인식 결과를 영상표시장치(100)가 자체적으로 생성하고, 생성한 인식 결과가 기저장된 명령어 집합에 있는지 판단하며, 인식 결과가 기저장된 명령에 집합에 있을 때 사용자가 원하는, 즉 사용자의 음성 명령어에 관계된 동작을 수행할 수 있다. 하지만, 이는 방송, 영화, 음악 등의 콘텐츠들이 계속해서 생겨나는 작금의 현실에서 매우 제한적일 수 있다. 이러한 점에서, 영상표시장치(100)의 인식엔진보다는 성능이 좀 더 우수한 음성인식장치(120)의 인식엔진을 활용하는 것이 바람직할 수 있다.
또한, 영상표시장치(100)는 어떠한 환경에 놓여 있느냐에 따라 사용자가 발화한 동일한 음성 명령어에 대하여도 다른 오디오 데이터를 생성해 줄 수 있다. 예를 들어, 사용자가 영상표시장치(100)의 1m 거리에서 "하이 티비"라고 발화할 때와 4m 거리에서 "하이 티비"라고 발화할 때, 영상표시장치(100)가 집과 같은 조용한 공간에 있느냐, 아니면 버스 터미널과 같은 대중적인 장소에 있느냐에 따라, 동일한 음성 명령어라 하더라도 다르게 인식될 수 있다. 물론 이는 생성된 오디오 데이터의 형태가 다르기 때문에 기인하는 것이라 볼 수 있다.
이와 같이 실 환경은 음성인식장치(120)의 인식률을 감소시키는 요인이 될 수 있다. 다시 말해, 사용자는 실 환경에서 영상표시장치(100)를 동작시키기 위한 동일한 음성 명령어를 발화했음에도 불구하고, 종래에는 인식 성능이 저하되어 인식률이 감소하였다. 즉 기존에는 영상표시장치(100)가 다양한 실 환경에 놓일 때, 사용자가 음성 명령어를 정확히 발화했음에도 불구하고 이를 오인식으로 판단하여 인식 결과를 출력하는 경우가 빈번하였다는 것이다.
그러나, 본 발명의 실시예에서는 실 환경에 놓인 영상표시장치(100)를 통해 직접 수집한 다양한 음성 명령어들을 이용함으로써 기존에 오인식으로 판단되었던 음성 명령어, 더 정확하게는 인식 결과를 정인식 발화로 판단해 냄으로써 인식률의 증가를 가져올 수 있게 된다. 여기서, '정인식 발화'란 사용자가 영상표시장치(100)를 동작시키기 위하여 음성 명령어를 의도하여 발화한 것을 의미한다.
위의 인식률 증가를 위해, 본 발명의 실시예에 따른 영상표시장치(100)는 로그 데이터 수집 동작을 수행한다. 이러한 로그 데이터 수집 동작은 가령 DTV가 임의의 환경에 처음 설치될 때 몇 일간 또는 몇 개월간 이루어질 수 있겠지만, 매일 특정 시간 때마다 주기적으로 이루어질 수 있다. 이는 물론 영상표시장치(100)가 놓인 실 환경에 따라 조금 다를 수 있다. 가령, 버스 터미널의 대합실에 영상표시장치(100)가 놓인 경우를 가정해 보자. 이의 경우에는 가령 TV가 설치된 후, 일정 기간 동안만 수행되어도 무관할 수 있다. 다시 말해, 대합실에 설치되는 TV가 접하는 환경이란 일상의 반복일 수 있기 때문이다. 물론 일반 가정에 설치되는 TV의 경우도 마찬가지겠지만, TV가 턴온된 이후에, 일정 시간 간격을 두고 주기적으로 수집될 수 있다. 그러나, TV는 턴온되었는데, 카메라로 촬영된 촬영 영상을 분석해 본 결과 주변에 사용자가 없는 경우에는 로그 데이터 수집 동작을 수행하지 않을 수 있다. 이와 같이 다양한 상황이 가능하기 때문에 본 발명의 실시예에서는 데이터 수집이 어떻게 이루어지느냐에 특별히 한정하지는 않을 것이다.
영상표시장치(100)는 로그 데이터를 수집한 후, 수집한 로그 데이터를 음성인식장치(120)로 제공한다. 여기서, 로그 데이터는 실시간으로, 특정 시간 간격을 두고 수집이 완료된 후 제공되는 등 제공 방법은 다양할 수 있으며, 사용자가 발화한 음성 명령어에 대한 오디오 데이터를 포함할 수 있다. 또한 영상표시장치(100)는 가령 마이크로폰을 통해 취득되는 모든 음성을 음성인식장치(120)에 제공할 수 있지만, 영상표시장치(100)에서 음성 명령어로 판단되는 구간만 추출하여 추출한 구간의 오디오 데이터를 음성인식장치(120)로 제공할 수도 있다. 여기서, 추출한 구간의 오디오 데이터는 '구간 오디오 데이터'라 명명될 수 있다.
통신망(110)은 유무선 통신망을 모두 포함한다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로 망 등을 포함하는 의미이다. 물론 본 발명의 실시예에 따른 통신망(110)은 이에 한정되는 것이 아니며, 향후 구현될 차세대 이동통신 시스템의 접속망으로서 가령 클라우드 컴퓨팅 환경하의 클라우드 컴퓨팅망 등에 사용될 수 있다. 가령, 통신망(110)이 유선 통신망인 경우 통신망(110) 내의 액세스포인트는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
통신망(110)은 액세스포인트를 포함할 수 있다. 액세스포인트는 건물 내에 많이 설치되는 펨토(femto) 또는 피코(pico) 기지국과 같은 소형 기지국을 포함한다. 여기서, 펨토 또는 피코 기지국은 소형 기지국의 분류상 영상표시장치(100)를 최대 몇 대까지 접속할 수 있느냐에 따라 구분된다. 물론 액세스포인트는 영상표시장치(100)와 지그비 및 와이파이(Wi-Fi) 등의 근거리 통신을 수행하기 위한 근거리 통신 모듈을 포함한다. 액세스포인트는 무선통신을 위하여 TCP/IP 혹은 RTSP(Real-Time Streaming Protocol)를 이용할 수 있다. 여기서, 근거리 통신은 와이파이 이외에 블루투스, 지그비, 적외선(IrDA), UHF(Ultra High Frequency) 및 VHF(Very High Frequency)와 같은 RF(Radio Frequency) 및 초광대역 통신(UWB) 등의 다양한 규격으로 수행될 수 있다. 이에 따라 액세스포인트는 데이터 패킷의 위치를 추출하고, 추출된 위치에 대한 최상의 통신 경로를 지정하며, 지정된 통신 경로를 따라 데이터 패킷을 다음 장치, 예컨대 영상표시장치(100)로 전달할 수 있다. 액세스포인트는 일반적인 네트워크 환경에서 여러 회선을 공유할 수 있으며, 예컨대 라우터(router), 리피터(repeater) 및 중계기 등이 포함될 수 있다.
음성인식장치(120)는 서버를 포함할 수 있으며, 일종의 클라우드 서버로서 동작할 수도 있다. 다시 말해, 음성인식장치(120)는 음성 인식과 관련한 모든(또는 일부의) HW 자원이나 SW 자원을 구비함으로써 최소한의 자원을 가진 영상표시장치(100)로부터 수신된 음성 명령어에 대한 인식 결과를 생성하여 제공할 수 있다. 물론 본 발명의 실시예에 따른 음성인식장치(120)는 클라우드 서버에 한정되지는 않는다. 예를 들어, 통신망(110)이 생략 구성되어 영상표시장치(100)가 음성인식장치(120)와 다이렉트 통신을 수행하는 경우, 음성인식장치(120)는 외부 장치 즉 액세스포인트이거나 데스크탑 컴퓨터와 같은 주변 장치가 될 수도 있다. 또는 영상표시장치(100)에서 제공한 음향 신호, 더 정확하게는 오디오 데이터에 대한 인식 결과만 제공해 줄 수 있다면 어떠한 형태의 장치이어도 무관하다. 이러한 점에서 음성인식장치(120)는 인식결과 제공장치가 될 수 있을 것이다.
음성인식장치(120)는 고정발화엔진을 포함하는 것이 바람직하다. 본 발명의 실시예에 따라 음성인식장치(120)는 고정발화엔진을 통해 실 환경이 반영된 인식 동작을 수행하는 것이다. 이를 위하여, 음성인식장치(120)는 실 환경에서 사용되는 영상표시장치(100), 더 정확하게는 복수의 영상표시장치(100)에서 제공되는 오디오 데이터 및 영상표시장치(100)의 상태가 반영되어 있는 로그 데이터를 수집하고, 이를 활용해 인식 DB 및 오인식 DB를 구축한다. 그리고, 구축된 인식 DB를 이용하여 인식엔진을 학습시킨다. 즉 새롭게 추가된 인식 DB의 정보를 인식엔진에 갱신한다고 볼 수 있다. 이후, 인식엔진은 갱신된 정보에 기반하여, 입력되는 음성 명령어에 대한 인식 동작을 수행하여 인식 결과를 출력한다.
좀 더 살펴보면, 본 발명의 실시예에 따른 음성인식장치(120)는 영상표시장치(100)로부터 로그 데이터를 수신한다. 이때 로그 데이터는 오디오 데이터를 포함할 수 있다. 그리고, 수신한 로그 데이터를 인식(된) 음원과 인식(된) 로그로 분리하여 저장할 수 있다. 이때, 음성인식장치(120)는 수신한 오디오 데이터에서 사용자가 발화한 명령어로 파악되는 음성 구간을 추출하거나, 이미 추출된 오디오 데이터를 인식 음원으로서 인식 로그와 매칭시켜 저장할 수 있다. 이때 로그 데이터는 동일 기기에 대하여 시간대별로 분류하여 저장될 수 있을 것이다.
이어 음성인식장치(120)는 저장된 오디오 데이터 즉 음성 구간으로 파악된 오디오 데이터에 매칭되는 로그 데이터를 분석한다. 더 정확하게는 인식 음원에 매칭된 인식 로그를 분석한다고 볼 수 있다. 예를 들어, 메모리에서 불러낸 로그 데이터에서 음성 명령어 가령 트리거 워드가 인식되는지를 확인한다. 그리고, 트리거 워드가 인식되면, 트리거 워드와 관련된 로그 데이터를 더 확인한다. 확인 결과 일정 시간 동안(ex. 타임아웃 내)에 아무런 발화가 발생하지 않거나, 사용자가 바로 영상표시장치(100)를 종료시켰다면 트리거 워드라고 판단된 인식 음원은 오인식 데이터로 분류될 수 있다. 그리고, 오인식 데이터로 분류된 해당 인식 음원의 인식 결과는 오인식 DB에 임시 저장될 수 있다. 이는 본 발명의 실시예에서 오인식 사전에 등록하는 것을 의미할 수 있다. 이는 어떻게 보면 수집된 로그 데이터들에 대한 1차 필터링 과정으로 이해될 수 있다.
그리고 1차적으로 필터링되어 오인식 DB에 임시 저장된 인식 결과 중에는 실제 영상표시장치(100)를 동작시키기 위해 사용자가 발화한 음성 명령어에 대한 인식 결과가 포함될 수 있다. 이를 위하여 음성인식장치(120)는 오인식 발화로 분류된 인식 결과들에 대한 검증 과정을 수행한다. 이러한 검증 동작을 위하여, 음성인식장치(120)는 검증 대상인 인식 결과들을 하나씩 인식 DB에 포함시켜 음성인식장치(120)의 인식 성능 변화를 확인한다. 확인 결과 인식률이 증가하면 해당 인식 결과는 인식 DB에 포함시킨다. 반면, 해당 인식 결과에 의해 인식률이 떨어지면 그 인식 결과는 오인식 DB에 유지되거나 삭제된다. 이러한 방식으로 모든 인식 결과를 검증 한 후, 새롭게 인식 DB에 포함된 인식 결과를 음성인식장치(120)는 인식엔진에 학습시킨다. 즉 데이터 갱신 동작을 수행하는 것이다.
상기의 구성 결과, 본 발명의 실시예는 기존에 정상 인식으로 판단되는 인식 결과를 기설정하고, 그 이외의 인식 결과를 오인식으로 처리하는 것에 비하여, 실 환경에서 사용자들이 발화한 음성 명령어에 대하여 다양하게 인식되는 인식 결과를 정확히 정인식 발화로 판단함으로써 종래의 오인식 성능을 개선시킬 수 있다.
한편, 지금까지는 음성인식장치(120)가 영상표시장치(100)에 연계하여 동작하는 것을 기술하였지만, 본 발명의 실시예에 따르면 음성인식을 지원하는 모든 기기, 예를 들어, 도어(door) 시스템이나, 자동차 등 모든 기기에서 사용될 수 있으며, 임베디드 및 서버 인식기 모두에서 활용될 수 있다. 여기서, 임베디드란 서버의 연계없이 영상표시장치(100)와 같은 개별 장치에서 위의 음성인식이 이루어질 수 있는 것을 의미한다. 따라서 본 발명의 실시예에서는 상기의 기기들을 통칭하여 '사용자 장치'라 명명할 수 있을 것이다.
또한, 본 발명의 실시예에 따라, TV, 냉장고, 세탁기, 셋탑박스(STB), 미디어 플레이어, 태블릿 PC, 스마트 폰, PC 등 다양한 가전기기는 앞서 영상표시장치(100)를 참조하여 충분히 설명하였지만, 실환경에서 장치의 동작 수행에 관련된 로그 데이터를 수집하는 개별 장치로서 동작하여, 그 수집된 로그 데이터를 도 1의 음성인식장치(120)로 전송해 줄 수 있지만, 수집된 로그 데이터를 이용하여 내부에 임베디드된 음성인식기를 사용해 음성인식 동작을 수행할 수도 있을 것이다.
나아가, 음성인식을 사용하는 기기의 상태, 가령 네트워크 유무 등에 따라 탄력적으로 각각의 과정을 선택적으로 수행할 수 있다. 예컨대, 음성인식장치(120)의 경우에는 복수의 영상표시장치(100)에 대하여 로그 데이터를 수집하여 실 환경에 부합한 인식 결과를 찾아 갱신하는 동작을 수행하게 되지만, 이때 네트워크 상태가 불안정한 경우에는 해당 네트워크에 연결된 영상표시장치(100)의 로그 데이터 수집 동작을 중단하는 등 다양하게 변경되어 동작을 수행할 수 있을 것이다.
도 2는 본 발명의 제1 실시예에 따른 영상표시장치의 구조를 나타내는 블록다이어그램으로, 도 1의 음성인식장치에 연결되어 동작하는 것을 상정한 것이다.
도 2에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 영상표시장치(100)는 통신 인터페이스부(200), 로그데이터 처리부(210), 저장부(220) 및 음성 취득부(230)의 일부 또는 전부를 포함한다.
여기서, 일부 또는 전부를 포함한다는 것은 저장부(220) 및/또는 음성 취득부(230)가 생략되어 구성되거나, 저장부(220)와 같은 일부 구성요소가 로그데이터 처리부(210)에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
통신 인터페이스부(200)는 도 1의 통신망(110)을 경유하여, 음성인식장치(120)와 통신을 수행한다. 본 발명의 실시예와 관련하여, 통신 인터페이스부(200)는 영상표시장치(100)가 로그데이터 수집 동작을 수행할 때(혹은 로그 데이터를 생성할 때), 저장부(220)에 저장된 로그데이터 및 음성 취득부(230)에서 취득되는 오디오 데이터를 전송한다고 볼 수 있다. 여기서, 오디오 데이터는 로그 데이터에 포함되어 전송될 수 있다. 이는 본 발명의 실시예에 따라 로그 데이터 수집에 따른 데이터 구축 동작에 해당된다고 볼 수 있다. 이러한 구축 동작이 완료되면, 통신 인터페이스부(200)는 음성 취득부(230)에서 취득된 사용자의 음성 명령어에 대한 인식 결과를 가령 음성인식장치(120)로부터 수신하여 로그데이터 처리부(210)에 전달할 수 있다.
로그데이터 처리부(210)는 SW로 구현 가능하며, 통신 인터페이스부(200), 저장부(220) 및 음성 취득부(230)에 대한 제어 기능은 물론, 로그데이터 수집에 관련된 동작을 추가로 수행한다. 예를 들어, 사용자로부터 인식 결과의 갱신 요청이 있거나 영상표시장치(100)의 출고시에 설정된 방식에 따라 로그 데이터 수집 동작을 수행할 수 있다. 다시 말해, 영상표시장치(100)가 특정 공간에 처음 설치될 때, 로그 데이터 수집 동작이 수행된 후, 이러한 데이터 수집 동작은 일정 기간 간격을 주기로 이루어질 수 있다. 또는 영상표시장치(100)에 전원이 인가되어 턴온 동작할 때, 일정 시간 동안 이루어질 수도 있다. 가령 영상표시장치(100)는 턴온 시점부터 사용자와의 인터페이스를 통해 영상표시장치(100)가 어떠한 상태에 놓이고 어떠한 동작을 수행하는지에 대한 모든 데이터가 시간 정보와 함께 저장부(220)에 저장될 수 있을 것이다. 이때, 음성 취득부(230)로부터 사용자가 발화한 음성 명령어가 있다면 이 또한 오디오 데이터의 형태로 저장될 수 있다. 이때 오디오 데이터는 음성 명령어에 해당되는 구간만 추출되어 저장될 수 있다. 그리고, 로그데이터 처리부(210)는 통신 인터페이스부(200)를 통해 음성인식장치(120)로 로그데이터를 전송할 수 있다.
또한, 로그데이터 처리부(210)는 음성 인식 동작에도 관여할 수 있다. 예를 들어, 음성이 음성 취득부(230)를 통해 취득되면, 해당 음성에 대한 오디오 데이터를, 또는 음성 명령어에 해당되는 특정 구간의 오디오 데이터만 음성인식장치(120)로 제공할 수 있다. 그리고 로그데이터 처리부(210)는 전송한 음성 명령어에 대한 인식 결과를 수신하여, 수신한 인식 결과에 따른 동작을 수행할 수 있다. 예를 들어, 저장부(220)에는 수신한 인식 결과에 매칭되는 동작 정보가 저장될 수 있는데, 로그데이터 처리부(210)는 해당 동작 정보에 근거하여 사용자가 요청한 동작을 수행할 수 있다. 앞서 언급한 대로, 특정 어플을 실행시키라는 동작 정보가 추출되었다면 해당 어플을 실행시키는 것이다. 여기서, 동작 정보는 영상표시장치(100)가 인식 가능한 기계어 즉 이진 부호(binary) 형태로 저장될 수 있는데, 인식 결과에 따른 동작은 다양한 동작이 있기 때문에 본 발명의 실시예에서는 편의상 어플 실행을 예로 든 것이다.
저장부(220)는 로그데이터 처리부(210)에서 제공되는 로그 데이터를 저장한다. 그리고, 로그데이터 처리부(210)의 요청이 있을 때, 저장된 로그 데이터를 출력한다. 이때 로그 데이터는 음성 취득부(230)에서 취득한 음성 명령어에 대한 음성 신호 즉 오디오 데이터를 포함하거나, 오디오 데이터를 분석하여 얻은 인식 결과를 포함할 수 있다.
또한 저장부(220)는 가령 음성인식장치(120)에서 제공되는 인식 결과에 매칭되는 동작 정보를 저장할 수 있다. 이때 동작 정보는 기계어인 이진 부호 형태로 저장된다. 예를 들어, '하이 티비'라는 음성 명령어에 대한 텍스트 기반의 인식 결과가 'ha.i_t{.bi' 였다면, 이에 매칭되는 이진부호 "1010"이 출력될 수 있고, 로그데이터 처리부(210)는 이를 '하이 티비'라는 어플을 실행시키는 명령어로 이해하여 해당 어플을 실행시킬 수 있는 것이다.
음성 취득부(230)는 마이크로폰을 포함하며, 이러한 마이크로폰을 통해 사용자의 음성 명령어를 취득한다. 더 정확하게는 영상표시장치(100)가 놓인 실 환경의 모든 음성을 취득한다고 볼 수 있다. 다시 말해, 사용자가 발화한 음성 명령어 이외에 다양한 노이즈가 포함될 수 있다. 본 발명의 실시예에서는 사용자가 발화한 음성 명령어를 제외한 음성을 노이즈라 명명할 수 있다. 실제로 음성은 사람의 목소리를 지칭하는 것이기 때문에, 노이즈를 포함한 음성은 음향이라 지칭되는 것이 바람직하다.
음성 취득부(230)는 본 발명의 실시예에 따라 얼마든지 생략되어 구성될 수 있다. 이의 경우에는 가령 독립적으로 구성된 음성 취득부(230)가 USB 케이블이나 잭(jack)을 통해 통신 인터페이스부(200)에 연결되어 위의 동작을 수행할 수도 있는 것이므로, 본 발명의 실시예에서는 음성 취득부(230)를 영상표시장치(100)에 반드시 포함시켜야 하느냐에 특별히 한정하지는 않을 것이다.
도 3은 본 발명의 제2 실시예에 따른 영상표시장치의 구조를 나타내는 블록다이어그램이고, 도 4는 도 3의 제어부의 구조를 예시한 도면으로, HW와 SW가 결합된 형태의 구조를 상정한 것이다.
도 3의 영상표시장치(100')를 도 2의 영상표시장치(100)와 비교해 보면, 도 2의 로그데이터 처리부(340)가 도 3에서는 제어부(320)와 로그데이터 처리부(340)로 물리적으로 분리된 경우를 보여주는 것이다. 물론 이때 제어부(320)는 도 4에서와 같이 CPU와 같은 프로세서(400)와 메모리(410)를 포함할 수 있다. 여기서, 메모리(410)는 휘발성 메모리인 램(RAM)이 바람직할 수 있다.
이에 따라, 제어부(320)는 영상표시장치(100') 내의 모든 구성요소들에 대한 전반적인 동작을 수행하게 된다. 예를 들어, 사용자로부터 로그 데이터를 수집하라는 명령이 있는 경우, 제어부(320)는 로그데이터 처리부(340)를 실행시킨다. 이때, 로그데이터 처리부(340)는 제어부(320)의 요청에 의해 로그데이터 처리에 관련된 프로그램을 실행시킬 수 있을 것이다.
좀 더 정확히 말해서, 도 3의 제어부(320)가 도 4에서와 같은 구조를 갖는 경우라면, 영상표시장치(100')의 초기 동작시, 제어부(320)의 프로세서(400)는 로그데이터 처리부(340)에 저장되어 있는 프로그램을 로딩하여 메모리(410)에 저장시킬 수 있다. 그리고, 사용자로부터 로그데이터 수집 명령이 있으면, 메모리(410)에 로딩한 해당 프로그램을 실행시킬 수 있다. 이의 경우에는 전자에 비해 데이터 처리 속도가 그만큼 빨라질 수 있는 이점이 있다.
또한, 음성인식처리부(350)는 도 1에서 설명한 음성인식장치(120)의 수준은 아니라 하더라도, 음성 인식을 위하여 그 일부에 해당하는 동작을 수행할 수 있다. 물론 본 발명의 제2 실시예에 따른 영상표시장치(100') 또한 도 1의 음성인식장치(120)에 연계하여 동작하는 것이기 때문에 그 일부의 동작을 수행하는 것이 얼마든지 가능하게 된다. 예를 들어, 제어부(320)는 음성 취득부(310)로부터 취득되는 음성의 오디오 데이터 중에서, 노이즈를 제외하고 사용자들이 발화하는 음성 명령어와 유사하게 판단되는 구간만을 추출하여 음성인식장치(120)로 제공할 수 있다. 도 3의 음성인식처리부(350)는 이와 같이 음성 명령어에 해당된 구간만을 추출하여 얻은 오디오 데이터를 처리하는 동작을 수행한다고 볼 수 있다.
이와 같은 점을 제외하면, 도 3의 통신 인터페이스부(300), 음성 취득부(310), 제어부(320)와 로그데이터 처리부(340) 및 저장부(330)는 도 2의 통신 인터페이스부(200), 로그데이터 처리부(210), 저장부(220) 및 음성 취득부(230)와 크게 다르지 않으므로 그 내용들로 대신하고자 한다.
도 5는 본 발명의 제3 실시예에 따른 영상표시장치의 구조를 나타내는 블록다이어그램으로, 영상표시장치(100'')가 도 1의 음성인식장치(120)와 독립적으로(stand alone) 음성인식 동작을 수행할 수 있는 것을 상정한 것이다.
도 5에 도시된 바와 같이, 본 발명의 제3 실시예에 따른 영상표시장치(100'')는 동작 수행부(500), 음성인식 처리부(510) 및 저장부(520)의 일부 또는 전부를 포함한다.
여기서, 일부 또는 전부를 포함한다는 것은 동작 수행부(500)가 생략되어 구성될 수 있는 것을 의미하거나, 저장부(520)와 같은 구성요소가 음성인식 처리부(510)와 같은 다른 구성요소에 통합하여 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
동작 수행부(500)는 본 발명의 실시예에 따라 음성 명령어에 의해 동작 가능한 모든 기능 블록을 포함할 수 있다. 예를 들어, 사용자가 "하이 티비"라고 발화할 때, 음성인식 처리부(510)의 제어 하에 UI 화면이 팝업되도록 하려면, 동작 수행부(500)는 디스플레이부일 수 있다. 또한, 사용자가 "와이파이"라고 발화하였다면, 주변의 액세스포인트와 통신을 수행하기 위하여 동작 수행부(500)는 통신 인터페이스부의 역할을 수행할 수 있다.
만약 로그 데이터를 수집하는 동작을 수행해야 한다면, 음성인식 처리부(510)는 외부의 마이크로폰으로부터 제공되는 음성 명령어와 영상표시장치(100'')의 동작 상태에 대한 로그 데이터를 생성하여 저장부(520)에 저장할 수 있다. 그리고, 저장된 로그 데이터를 이용하여 사용자가 발화한 명령어가 정인식 발화인지 판단하여, 정인식 발화로 판단된 인식 결과를 음성 인식 동작에 이용할 수 있다.
다시 말해, 음성인식 처리부(510)는 가령 고정발화 엔진을 포함할 수 있는데, 실 환경에서 취득된 로그 데이터를 이용하여 실 환경에서는 예측 불가능했던 인식 결과를 찾아내어 이를 고정발화 엔진 즉 인식 엔진에 학습시키게 된다. 즉 인식 결과들에 대한 데이터를 갱신하는 것이다.
이와 같이, 음성인식 처리부(510)는 실 환경에서 수집되는 소위 '실발화 DB'라는 것을 구축하고, 음성인식 처리부(510)에서 이 실발화 DB를 효율적으로 활용함으로써 인식과 오인식 성능을 개선하고, 사용자에게는 명확한 피드백을 줄 수 있다. 다시 말해, 기존에는 인식을 수행하여 가령 유사도가 기설정된 임계치를 초과하면 인식된 발화에 대한 인식 결과를 출력하여 기능을 수행하였다면, 본 발명의 실시예에서는 오인식일 때에는 확실히 오인식을 결정하여 사용자에게 알려줄 수 있는 것이다.
실제로 음성인식 처리부(510)는 영상표시장치(100'')의 가격에 지대한 영향을 미칠 수 있기 때문에 고성능의 엔진을 구비하기 위해서는 영상표시장치(100'')보다는 도 1의 음성인식장치(120)에 구비되는 것이 바람직하다. 물론 영상표시장치(100'')에 구비될 수 없는 것은 아니지만, 이의 경우에는 음성인식장치(120)에 비해 다소 저성능의 인식 엔진이 구비되는 것이 바람직할 수 있다. 따라서, 도 5의 음성인식 처리부(510)와 관련한 내용은 이후에 다시 자세히 살펴보기로 한다.
도 6은 본 발명의 제1 실시예에 따른 음성인식장치의 구조를 나타내는 블록다이어그램이다.
도 6에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 음성인식장치(120)는 통신 인터페이스부(600), 음성인식 처리부(610) 및 저장부(620)의 일부 또는 전부를 포함할 수 있으며, 여기서 일부 또는 전부를 포함한다는 것은 앞서의 의미와 동일하다.
통신 인터페이스부(600)는 도 1의 영상표시장치(100)와 통신을 수행한다. 이에 따라, 영상표시장치(100)에서 제공하는 로그 데이터를 수신하여 음성인식 처리부(610)에 전달할 수 있다. 이의 과정에서, 압축된 데이터를 복원하는 등의 동작을 추가로 수행할 수 있을 것이다.
또한, 통신 인터페이스부(600)는 영상표시장치(100)로부터 음성 명령어가 있는 경우, 음성 명령어에 상응하는 인식 결과를 음성인식 처리부(610)의 제어 하에 영상표시장치(100)로 전송해 줄 수 있다.
음성인식 처리부(610)는 크게 2가지 동작을 수행한다. 먼저, 영상표시장치(100)가 놓인 실 환경에서, 사용자가 의도하고 발화한 음성 명령어를 정확히 인식하기 위하여, 실 환경에서 동작하는 영상표시장치(100)의 로그 데이터를 수집한다. 물론 이러한 로그 데이터에는 사용자가 영상표시장치(100)를 동작시키기 위한 음성 명령어에 대한 오디오 데이터가 포함될 것이다. 다시 말해, 음성인식 처리부(610)는 인식 엔진에서 인식하는 각종 정보, 가령 영상표시장치(100)를 턴오프 시키는 등의 이벤트, 그리고 현재 기기의 상태(ex. 전원절약, 네트워크 상태 등)를 로그화하여 저장한다. 음성인식 처리부(610)는 인식엔진에서 음성의 시작이 검출될 경우, 음성의 시작점, 음성이 종료될 경우 음성의 끝점, 그리고 인식 결과에 대한 정보를 실발화 DB에 저장한다. 필요에 따라서는 현재 음성인식을 사용하는 기기의 상태 정보를 함께 저장한다. 모든 이벤트와 정보는 발생한 시간과 함께 저장될 수 있다. 이의 과정에서, 음성인식 처리부(610)는 수집된 로그 데이터를 기기별 또는 시간대 별로 분류하여 저장부(620)에 저장할 수 있다. 여기서, 실발화 DB는 도 6의 저장부(620)가 될 수 있지만, 별도로 구비되는 DB일 수 있다.
또한, 음성인식 처리부(610)는 실발화 DB 또는 저장부(620)에 분류된 로그 데이터를 불러내어 소위 '사전 구축부'를 통해 가치있는 데이터로 정제하여 인식 오인식 사전 학습에 사용한다. 이후에 다루겠지만, 사전 구축부는, 실발화 DB에서 전달받은 로그와 음원을 사용하여 사전을 구축한다. 좀 더 살펴보면, 음성인식 처리부(610)는 로그 데이터를 분석하여 음성 명령어가 확인되면 확인된 음성 명령어에 이어지는 이벤트 상태 즉 이벤트가 어떠한 상태를 갖는지를 판단한다. 여기서, 이벤트 상태란 사용자 장치의 동작 상태를 의미할 수 있다. 다시 말해, 사용자가 '하이 티비'라는 어플을 실행하기 위하여 발화한 해당 음성 명령어가 로그 데이터 상에서 확인되는데, 그 이후의 이벤트를 확인해 본 결과 해당 오디오 데이터가 사용자가 의도하여 발화한 정인식 발화가 아닐 수 있다. 예를 들어, 일정 시간동안 아무런 발화가 없거나, 영상표시장치(100)의 종료 동작으로 이어진다면 음성인식 처리부(610)는 사용자가 발화한 음성 명령어로 추측한 해당 오디오 데이터를 오인식 데이터로 판단하여 오인식 사전에 등록시킬 수 있다. 또한, 음성인식 처리부(610)는 음성 명령어로 추측된 오디오 데이터에 이어 사용자로부터의 정식 발화가 있는 것으로 판단되면, 해당 오디오 데이터를 정인식 데이터로 판단하여 인식 사전에 등록시킬 수 있다.
이와 같이 1차적인 필터링 과정이 완료되면, 음성인식 처리부(610)는 필터링된 인식 결과가 제대로 이루어진 것인지에 대한 검증을 추가로 실시한다. 이를 위하여, 음성인식 처리부(610)는 저장부(620)에 저장된 실험 오디오 데이터를 이용하여 해당 인식 결과가 얼마나 잘 인식되는지를 시험한다. 예를 들어, 인식 사전에 등록되었지만, 실험 오디오 데이터를 이용하여 테스트한 결과 인식률이 떨어진 경우에는 해당 인식 결과는 잘못 분류된 것으로 판단한다. 또한, 오인식 사전에 등록되었지만, 실험 오디오 데이터를 이용하여 테스트한 결과 인식이 잘 되면, 실 환경에 이용하기 위해 인식엔진에 학습시키게 된다. 이와 같은 방식으로 최종적으로 검증된 인식 결과들을 음성인식 처리부(610)는 학습하게 된다. 이에 따라 기저장된 인식 결과 및 오인식 결과들에 대한 갱신이 이루어지게 된다.
위에서는 음성인식 처리부(610)가 실험 오디오 데이터를 이용하는 것을 예로 들어 설명하였지만, 이러한 실험 오디오 데이터가 아니라 하더라도, 인식엔진을 1차적으로 분류된 인식 데이터로 하나씩 갱신시킨 후, 이를 근거로 인식률을 실 환경에 적용해 본 후, 만약 인식률이 감소하는 경우 해당 갱신된 인식 데이터를 삭제하거나 오인식 데이터로 다시 분류하여 성능을 시험하는 것도 얼마든지 가능하므로, 본 발명의 실시예에서는 위의 실험 오디오 데이터를 이용하는 것에 특별히 한정하지는 않을 것이다.
저장부(620)는 실발화 DB일 수 있지만, 더 정확하게는 실발화 DB와 별도로 구성된 램(RAM) 또는 롬(ROM) 메모리가 바람직하다. 저장부(620)는 로그 데이터 이외에 검증에 필요한 실험 오디오 데이터를 저장할 수 있다. 그리고, 음성인식 처리부(610)의 요청이 있을 때 해당 오디오 데이터를 출력할 수 있다. 또한, 음성인식 처리부(610)의 인식 수행 결과, 인식이 성공했을 경우 발화한 음원을 DB화하여 저장할 수 있다. 이때 모든 데이터는 암호화하여 저장될 수 있을 것이다.
도 7은 본 발명의 제2 실시예에 따른 음성인식장치의 구조를 나타내는 블록다이어그램이다.
도 7에 도시된 바와 같이, 본 발명의 제2 실시예에 따른 음성인식장치(120')는 통신 인터페이스부(700), 제어부(710), 저장부(720) 및 음성인식 실행부(730)의 일부 또는 전부를 포함하며, 여기서 일부 또는 전부를 포함한다는 것은 앞서의 의미와 동일하다.
도 7의 음성인식장치(120')를 도 6의 음성인식장치(120)와 비교해 볼 때, 도 6의 음성인식 처리부(610)는 도 7에서와 같이 제어부(710)와 음성인식 실행부(730)로 물리적으로 분리되어 구성될 수 있다.
이에 따라, 제어부(710)는 영상표시장치(100)로부터 음성 명령어가 수신되면, 음성인식 실행부(730)를 실행시켜 인식 결과를 얻고, 이를 영상표시장치(100)로 전송하도록 통신 인터페이스부(700)를 제어할 수 있다.
또한, 도 7의 제어부(710)는 도 3의 제어부(320)와 마찬가지로, 도 4에서와 같은 구조를 가질 수도 있다. 이에 따라, 음성인식장치(120)가 동작을 시작할 때, 음성인식 실행부(730)에 저장된 프로그램을 로딩하여 내부에 저장한 후 이를 이용하는 것도 얼마든지 가능할 수 있을 것이다.
이러한 점을 제외하면, 도 7의 통신 인터페이스부(700), 제어부(710)와 음성인식 실행부(730) 및 저장부(720)는 도 6의 통신 인터페이스부(600), 음성인식 처리부(610) 및 저장부(620)와 크게 다르지 않으므로 그 내용들로 대신하고자 한다.
도 8은 도 6의 음성인식 처리부 또는 도 7의 음성인식 실행부의 세부 구조를 나타내는 블록다이어그램이고, 도 9는 도 8의 음성 인식부의 세부 구조를 나타내는 블록다이어그램이며, 도 10은 도 8의 실발화 DB의 구조를 나타내는 도면이다. 또한, 도 11은 도 10의 사전 구축부의 세부 구조를 나타내는 블록다이어그램이다.
설명의 편의상 도 8을 도 7과 함께 참조하면, 본 발명의 실시예에 따른 음성인식 실행부(730)는 음성 수신부(모듈)(800), 음성 인식부(모듈)(810), 기능 실행부(모듈)(830) 및 실발화 DB(820)의 일부 또는 전부를 포함할 수 있다.
여기서, "부"는 본 발명의 실시예에 따라 HW의 구성을 의미하는 것이지만, SW 구성의 경우에는 "모듈"이라는 용어로 사용될 수 있다. 또한, SW의 "모듈"은 HW로 구성하는 것이 얼마든지 가능하므로, HW냐 SW냐에 특별히 한정하지는 않는다.
또한, 일부 또는 전부를 포함한다는 것은 실발화 DB(820), 음성 입력부(800) 및/또는 기능 실행부(830)는 생략되어 구성될 수 있는 것 등을 의미하는 것으로서 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
음성 수신부(800)는 가령, 통신 인터페이스부(700)에서 제공하는 로그 데이터를 수신한다. 이의 과정에서 음성 수신부(800)는 수신된 로그 데이터를 음성 명령어에 해당되는 음원 즉 오디오 데이터와 이벤트 등의 로그와 분리할 수 있다. 물론 통신 인터페이스부(700)에서 분리되어 제공되는 경우에는 분리된 형태의 데이터를 수신할 수 있다.
음성 인식부(810)는 분리된 데이터를 인식 로그(1000)와 인식 음원(1010)으로 분리한다. 다시 말해, 음성 명령어에 해당되거나 이와 유사하게 인식된 오디오 데이터를 이벤트 등의 상태 정보와 분리하여 실발화 DB(820)에 저장해 둔다.
그리고, 음성 인식부(810)는 실발화 DB(820)에 저장된 인식 음원(1010)과 인식 로그(1000)를 분석한다. 이를 위하여, 음성 인식부(810)는 도 9에서와 같이, 인식 엔진부(900), 인식 사전부(910) 및 사전 구축부(920)를 포함할 수 있으며, 여기서 사전 구축부(920)는 다시 로그기반 발화패턴 분석부(1100), 인식/오인식 음원 분류부(1110) 및 분류 음원발음사전 구축부(1120)를 포함할 수 있다. 이러한 구성(또는 구분)에 따라 음성 인식부(810)는 인식/오인식 사전에 학습시키기 위한 데이터 정제 작업을 수행한다. 가령, 로그기반 발화패턴 분석부(모듈)(1100)에서는 해당 시스템을 사용하는 다양한 기기에서 수집된 로그를 기반으로 해당 이벤트 및 인식 결과가 사용자가 의도한 정인식 발화인지, 사용자가 의도하지 않은 오인식 발화인지 판단한다. 특히 음성 인식을 시작하는 발화 시작어 즉 트리거 워드의 경우 오인식이 될 때 사용자에게 매우 큰 불편을 초래할 수 있다. 이에 따라 본 발명의 실시예에서는 트리거 인식에 대한 로그를 활용하여 인식/오인식 데이터를 분류한다. 트리거 명령어 이외의 발화의 경우 유사한 기준으로 판단이 얼마든지 가능할 수 있으며, 판단이 어려운 경우에는 해당 데이터와 음원에 대해서는 따로 마킹 처리를 수행한 후 인식/오인식 사전에 반영하지 않는다. 그리고, 해당 데이터에 대해서는 추가적인 데이터 검증 모듈 또는 직접 청음 후 데이터에 대한 정보를 진행할 수 있을 것이다.
도 11을 참조하여, 위의 사전 구축부(920)에 대하여 좀 더 살펴보면, 로그기반 발화패턴 분석부(1100)는 실발화 DB(820)에 분류되어 저장된 인식 로그(1000) 및 인식 음원(1010)을 불러내어 분석하고, 음원에 연계되는 로그를 확인하여 사용자가 의도한 정인식 발화인지 등을 판단하는 것이다. 로그기반 발화패턴 분석부(1100)에서의 판단 결과에 따라, 인식/오인식 음원 분류부(1110)는 인식 음원(1010)을 인식/오인식 음원으로 분류하고, 이렇게 분류된 음원은 분류 음원 발음사전 구축부(1120)에서 인식 사전과 오인식 사전으로 구축된다고 볼 수 있다.
가령 음성 인식부(810)가 음성인식 시작을 위한 로그 분석을 위해 트리거 워드를 사용하는 것을 예로 들어 보기로 한다. 음성 인식부(810)는 (1) 시간대별로 정렬된 로그를 기반으로 동일 기기에서 발생한 로그를 추출한다. 이어 (2) 트리거 워드의 인식 여부를 확인하고, (3) 트리거 워드가 인식된 후 타임아웃 시간 내에 아무런 발화가 발생하지 않으면, (4) 사용자의 의도하지 않은 트리거링으로 판단하여 트리거 워드로 추측된 오디오 데이터를 오인식 데이터로 분류한다. 또한, (5) 트리거 워드가 인식된 후 정인식 발화가 발생하였다면 (6) 해당 트리거 워드는 정인식 데이터를 분류한다. 나아가, (7) 트리거 워드 인식 후 사용자가 바로 가령 TV를 종료시킨 경우라면 (8) (사용자가 음성인식을 시도하고자 하는 의도가 없는 상태로 판단하여) 해당 트리거 워드에 해당되는 오디오 데이터를 오인식 데이터로 분류한다.
그리고, 이와 같이 분류된 데이터는 사전 반영을 위한 절차를 수행한다. 사전 구축부(920)에서 판단한 결과 인식 어휘는 인식 사전(910-1)에 임시 저장하고, 오인식 어휘는 오인식 사전(910-2)에 임시 저장한다. 이후 사전에 보유하고 있는 인식/오인식 DB를 활용하여 해당 어휘가 사전에 추가될 경우의 성능 변화를 확인한다. 만약 성능 개선이 있다면 사전에 반영하고 해당 절차를 종료한다. 인식/오인식 성능 확인시 DB를 사용해 인식을 했던 수치 대비 인식 성능이 기준치(ex. 사용자 지정) 이하로 하락한다면 해당 어휘를 반영하지 않는다. 이를 통해 정제된 DB 기반으로 선택적 사전 갱신을 통해 인식 성능을 보장하면서 오인식 성능을 개선하는 효과를 얻을 수 있다.
<표 1>은 트리거 워드 '하이 티비'에 대하여 오인식으로 분류된 사전을 검증 단계없이 모두 등록 후 수행한 결과를 나타낸다.
Figure pat00001
('하이 티비' 음원 100개, 1m-4m 거리에서 녹음 후 인식 수행)
<표 1>에 나타낸 바와 같이, 기존 인식사전에 2개를 등록하고, 오인식 사전에 하나도 등록하지 않은 상황에서는 100개의 음원 중 1m에서 녹음한 경우 100개, 4m에서 녹음한 경우 99개 인식에 성공했다.
그러나 오인식 사전에 대한 검증 없이 갱신한 후 동일 음원을 사용해 인식을 수행한 결과 100개 중 98개, 89개 인식에 성공했다. "아이 티비"와 같이 매우 유사한 발화에 대한 등록으로 인해 4m 상황에서 상당한 인식률 하락이 발생하였다. 그러나 위 상황에서는 오인식에 대한 성능은 개선되었다.
<표 2>에서와 같이 기존의 경우에는 임계치 2까지 오인식이 4회 발생한다. 임계치 3의 경우도 오인식 1회가 발생한다. 반면 오인식 사전 등록 후 임계치 2에서는 오인식이 1회, 임계치 3에서는 오인식이 0회 발생한다.
Figure pat00002
(방송 콘텐츠 2시간 분량 인식시 오인식 결과)
<표 2>에서와 같이, 오인식 성능은 개선했으나 인식 성능이 하락된 상황에서 본 발명의 실시예에서 제안하는 인식/오인식 성능 검증 단계를 거칠 경우 최소한의 인식 성능 하락을 통해 오인식을 방지할 수 있다.
"아이 티비"를 제거한 후, 추가로 2개의 오인식 사전을 갱신한 결과, <표 3>에서와 같이, 검증 전 대비 1m 녹음 인식에 대해서는 98%에서 100%로 인식률이 개선되었고, 4m 녹음 인식에 대해서는 89%에서 94%로 인식률이 개선되었다.
Figure pat00003
또한, 오인식 결과 역시 <표 4>에서와 같이 임계치 3에서 오인식 0회를 유지함을 알 수 있다.
Figure pat00004
상기한 바와 같이, 음성인식부(810)는, 더 정확하게는 가령 인식엔진(900)은 1차적으로 정인식 데이터와 오인식 데이터로 분류된 인식 결과들에 대하여 검증을 수행함으로써 최종적으로 음성 인식에 이용될 수 있는지를 확정하게 된다. 도 9에서 볼 때, 음성인식부(810)의 인식 엔진(900)은 이와 같이 최종적으로 확정된 인식 결과를 갱신한 후, 이를 음성 인식에 이용하게 된다.
실발화 DB(820)는 음성 인식부(810)의 인식엔진에서 인식하는 각종 정보 및 이벤트, 그리고 현재 기기의 상태를 로그화하여 저장하고, 인식이 성공했을 때 발화한 음원을 DB화하여 저장한다. 이때 모든 데이터를 암호화하여 저장할 수 있다.
기능 실행부(830)는 음성 인식부(810)에서 생성된 인식 결과를 출력할 수 있다. 예를 들어, 기능 실행부(830)는 기설정된 임계치를 초과하는지 등을 더 판단하고, 초과할 때 인식된 발화에 대한 인식 결과를 출력할 수 있다.
도 12는 본 발명의 실시예에 따른 영상표시장치의 구동 과정을 나타내는 도면이다.
설명의 편의상 도 12를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 영상표시장치(100)는 음성인식 기능을 수행하기 위한 고장발화엔진을 구비하는 경우, 음성인식장치(120)와 연계하여 동작하지 않고 독립적으로 동작할 수 있다.
이를 위해, 영상표시장치(100)는 장치의 현재 상태나 동작 수행에 관련된 로그 데이터를 저장할 수 있다(S1200). 예를 들어, 사용자가 음성 명령어를 발화한 이후에, 영상표시장차(100)를 종료시키는 등에 대한 정보가 모두 저장될 수 있다.
이어 영상표시장치(100)는 저장된 로그 데이터들을 분석하여 음성 인식에 이용하기 위한 인식 데이터 구축 동작을 수행한다(S1210).
좀 더 구체적으로, 영상표시장치(100)는 저장한 로그 데이터를 분석하여 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단한다. 예를 들어, 위에서와 같이 음성 명령어 이후에 종료 상태가 판단되면, 해당 음성 명령어는 사용자가 의도하지 않은 발화라 판단하여 오인식 데이터로 분류하는 것이다.
그러나, 위의 음성 명령어로서 '하이 티비'와 같은 트리거 워드를 발화한 후, 정식 발화가 또 있는 것으로 판단되면, 해당 트리거 워드인 음성 명령어의 인식 결과를 인식 데이터로 분류한다.
이의 과정에서, 영상표시장치(100)는 인식 및 오인식 데이터로 분류된 인식 결과를 이용하여 제대로 분류된 것인지 확인하는 검증 동작을 추가로 수행할 수 있다. 이와 관련해서는 앞서 충분히 설명하였으므로 더 이상의 설명은 생략하다.
또한, 위의 검증 단계까지 완료되었다면, 영상표시장치(100)는 정인식 발화로 판단된 음성 명령어의 인식 결과를 음성 인식에 이용하게 된다(S1220).
도 12를 참조하여, 설명의 편의상 영상표시장치(100)가 로그 데이터 수집 및 음성 인식 동작을 동시에 수행하는 것을 예로 들어 설명하였지만, 이는 TV, 태블릿 PC, 스마트폰, 데스크탑 및 랩탑 컴퓨터 등의 영상표시장치(100)뿐 아니라, 냉장고, 세탁기, 셋탑박스, 미디어 플레이어(ex. 오디오 기기) 등의 다양한 기기에서도 얼마든지 구현될 수 있을 것이다.
도 13은 본 발명의 제1 실시예에 따른 음성인식장치의 구동 과정을 나타내는 흐름도이다.
도 13의 구동 과정을 도 12와 비교해 볼 때, 음성인식의 처리 대상은 도 1에서의 음성인식장치(120)가 되므로, 음성인식장치(120)는 영상표시장치(100)에서 제공되는 로그 데이터를 수신하여(S1300), 이를 이용한다는 점에서 차이가 있다.
여기서, 영상표시장치(100)는 위에서 언급한 바와 같이 냉장고, 세탁기, 셋탑박스, 미디어 플레이어(ex. 오디오 기기) 등이 될 수 있을 것이다. 따라서, 이러한 기기들은 실 환경의 로그 데이터를 수집하는 개별장치로서 동작하여, 수집한 로그 데이터를 음성인식장치(120)로 전송해 줄 수 있을 것이다.
이와 같은 점을 제외하면 도 12와 크게 다르지 않으므로 그 내용들로 대신하고자 한다.
도 14는 본 발명의 제2 실시예에 따른 음성인식장치의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 14를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 음성인식장치(120)는 가령 영상표시장치(100)로부터 로그데이터를 수신한다(S1400). 여기서, 수신한 로그데이터에는 트리거 워드로 추측되는 음성 명령어가 포함될 수 있다.
음성인식장치(120)는 로그 데이터를 분석하여, 추측되는 음성 명령어가 오인식 어휘인지 판단한다(S1410). 이와 관련해서는 앞서 도 12에서 설명하였으므로 생략한다.
판단 결과, 오인식 어휘로 판단되면, 음성인식장치(120)는 해당 인식 데이터를 오인식 사전에 임시 저장하고, 그렇지 않으면 인식 사전에 임시 저장한다(S1420, S1430).
그리고, 임시 저장된 인식 데이터들이 제대로 분류된 것인지 해당 인식 데이터들을 이용하여 인식/오인식 성능을 확인한다(S1440).
이를 위하여, 음성인식장치(120)는 기존에 등록된 인식/오인식 DB에 해당 인식 데이터들을 등록시킨 후 이용할 수 있으며(S1390), 이의 과정에서 복수 개의 실험 오디오 데이터를 추가로 이용할 수 있다.
다시 말해, 복수 개의 실험 오디오 데이터가 인식/오인식 DB에 등록된 기존의 인식 결과와 추가로 등록된 인식 결과로 잘 인식되는지를 확인하는 것이다(S1440).
확인 결과, 만약 성능이 개선되면, 즉 인식률이 증가한다면 음성인식장치(120)는 해당 인식 결과를 인식 사전에 등록시킨다(S1450, S1460). 해당 인식 결과를 인식 사전에 등록시킴으로써 인식 결과의 데이터들을 갱신한다고 볼 수 있다.
반면 성능이 개선되지 않는다면, 임시 저장된 데이터를 삭제하거나 오인식 DB로 관리할 수 있을 것이다(S1470).
한편, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 영상표시장치 110: 통신망
120: 음성인식장치 200, 300, 600, 700: 통신 인터페이스부
210, 340: 로그데이터 처리부 220, 330, 520, 620, 720: 저장부
230, 310: 음성 취득부 350, 510, 610: 음성인식처리부
400: 프로세서 410: 메모리
500: 동작 수행부 730: 음성인식 실행부
800: 음성 수신부(모듈) 810: 음성 인식부(모듈)
820: 실발화 DB 830: 기능 실행부(모듈)
900: 인식 엔진부(모듈) 910: 인식 사전부(모듈)
920: 사전 구축부(모듈) 1000: 인식 로그
1010: 인식 음원 1100: 로그기반 발화패턴 분석부
1110: 인식/오인식 음원 분류부 1120: 분류 음원 발음사전 구축부

Claims (19)

  1. 장치의 동작 수행에 관련된 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하고, 판단 결과 정인식 발화로 결정된 음성 명령어의 인식 결과를 DB화하는 음성인식처리부;를
    포함하는 음성인식장치.
  2. 제1항에 있어서,
    상기 음성인식처리부는, 상기 로그 데이터에 상기 음성 명령어가 있는지 확인하고, 확인한 상기 음성 명령어에 이어지는 상기 음성인식장치의 동작 상태를 확인하여 상기 정인식 발화를 결정하는 것을 특징으로 하는 음성인식장치.
  3. 제2항에 있어서,
    상기 음성인식처리부는, 상기 동작 상태로서 상기 음성 명령어에 이어지는 다른 음성 명령어가 확인되면, 상기 음성 명령어를 정인식 발화로 결정하는 것을 특징으로 하는 음성인식장치.
  4. 제2항에 있어서,
    상기 음성인식처리부는, 상기 동작 상태로서, 상기 음성 명령어에 이어 일정 시간 내에 사용자 발화가 없거나, 전원오프가 있으면, 상기 음성 명령어를 사용자가 의도하지 않고 발화한 오인식 발화로 결정하는 것을 특징으로 하는 음성인식장치.
  5. 제2항에 있어서,
    상기 음성인식처리부는, 상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하고, 기설정된 오디오 실험 데이터가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증하는 것을 특징으로 하는 음성인식장치.
  6. 제2항에 있어서,
    상기 음성인식처리부는, 상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하고, 상기 임시 저장 이후에, 상기 수신되는 음성 명령어가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증하는 것을 특징으로 하는 음성인식장치.
  7. 제5항 또는 제6항에 있어서,
    상기 음성인식처리부는, 검증 결과 인식률 개선이 있는 인식 결과를 데이터베이스화하는 것을 특징으로 하는 음성인식장치.
  8. 제1항에 있어서,
    상기 인식 결과를 서버 기반의 음성인식장치에 DB화하기 위하여 상기 로그 데이터를 상기 서버 기반의 음성인식장치로 전송하는 통신 인터페이스부;를 더 포함하는 음성인식장치.
  9. 제8항에 있어서,
    상기 통신 인터페이스부는, 상기 음성 명령어의 오디오 데이터를 분석하여 얻은 텍스트 기반의 인식 결과 형태로 전송하는 것을 특징으로 하는 음성인식장치.
  10. 장치 동작 수행에 관련된 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하는 단계; 및
    판단 결과, 정인식 발화로 결정된 음성 명령어의 인식 결과를 데이터베이스(DB)화하는 단계;를
    포함하는 음성인식장치의 구동방법.
  11. 제10항에 있어서,
    상기 판단하는 단계는,
    상기 로그 데이터에 상기 음성 명령어가 있는지 확인하고, 확인한 상기 음성 명령어에 이어지는 상기 음성인식장치의 동작 상태를 확인하여 상기 정인식 발화를 결정하는 것을 특징으로 하는 음성인식장치의 구동방법.
  12. 제11항에 있어서,
    상기 판단하는 단계는,
    상기 동작 상태로서 상기 음성 명령어에 이어지는 다른 음성 명령어가 확인되면, 상기 음성 명령어를 정인식 발화로 결정하는 것을 특징으로 하는 음성인식장치의 구동방법.
  13. 제11항에 있어서,
    상기 판단하는 단계는,
    상기 동작 상태로서, 상기 음성 명령어에 이어 일정 시간 내에 사용자 발화가 없거나, 전원오프가 있으면, 상기 음성 명령어를 사용자가 의도하지 않고 발화한 오인식 발화로 결정하는 것을 특징으로 하는 음성인식장치의 구동방법.
  14. 제11항에 있어서,
    기설정된 오디오 실험 데이터를 저장하는 단계;
    상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하는 단계; 및
    상기 기설정된 오디오 실험 데이터가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증하는 단계;를
    더 포함하는 것을 특징으로 하는 음성인식장치의 구동방법.
  15. 제11항에 있어서,
    상기 정인식 발화로 결정된 인식 결과와, 사용자가 의도하지 않고 발화한 오인식 발화로 결정된 인식 결과를 각각 임시 저장하는 단계; 및
    상기 임시 저장 이후에, 상기 수신되는 음성 명령어가 상기 임시 저장한 인식 결과로 인식되는지 확인하여 상기 임시 저장한 인식 결과에 의해 인식률 개선이 있는지 검증하는 단계;를
    더 포함하는 것을 특징으로 하는 음성인식장치의 구동방법.
  16. 제14항 또는 제15항에 있어서,
    상기 데이터베이스화하는 단계는,
    검증 결과 인식률 개선이 있는 인식 결과를 데이터베이스화하는 것을 특징으로 하는 음성인식장치의 구동방법.
  17. 제10항에 있어서,
    상기 인식 결과를 서버 기반의 음성인식장치에 DB화하기 위하여 상기 로그 데이터를 상기 서버 기반의 음성인식장치로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 음성인식장치의 구동방법.
  18. 제17항에 있어서,
    상기 전송하는 단계는,
    상기 음성 명령어의 오디오 데이터를 분석하여 얻은 텍스트 기반의 인식 결과 형태로 전송하는 것을 특징으로 하는 음성인식장치의 구동방법.
  19. 음성인식장치의 구동방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서,
    상기 음성인식장치의 구동방법은,
    장치의 동작 수행에 관련된 로그 데이터를 분석하여 상기 로그 데이터에 포함된 음성 명령어가, 사용자가 의도하여 발화한 정인식 발화인지 판단하는 단계; 및
    판단 결과 정인식 발화로 결정된 음성 명령어의 인식 결과를 데이터베이스(DB)화하는 단계;를
    실행하는 컴퓨터 판독가능 기록매체.
KR1020150125467A 2015-09-04 2015-09-04 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체 KR20170028628A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150125467A KR20170028628A (ko) 2015-09-04 2015-09-04 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체
US15/197,015 US20170069317A1 (en) 2015-09-04 2016-06-29 Voice recognition apparatus, driving method thereof, and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150125467A KR20170028628A (ko) 2015-09-04 2015-09-04 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체

Publications (1)

Publication Number Publication Date
KR20170028628A true KR20170028628A (ko) 2017-03-14

Family

ID=58190259

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150125467A KR20170028628A (ko) 2015-09-04 2015-09-04 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체

Country Status (2)

Country Link
US (1) US20170069317A1 (ko)
KR (1) KR20170028628A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200115589A (ko) * 2018-05-07 2020-10-07 구글 엘엘씨 컴퓨팅 디바이스간의 액세스 제어 동기화

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10032452B1 (en) * 2016-12-30 2018-07-24 Google Llc Multimodal transmission of packetized data
US10013986B1 (en) * 2016-12-30 2018-07-03 Google Llc Data structure pooling of voice activated data packets
US11017428B2 (en) 2008-02-21 2021-05-25 Google Llc System and method of data transmission rate adjustment
US10152723B2 (en) 2012-05-23 2018-12-11 Google Llc Methods and systems for identifying new computers and providing matching services
US10776830B2 (en) 2012-05-23 2020-09-15 Google Llc Methods and systems for identifying new computers and providing matching services
US10735552B2 (en) 2013-01-31 2020-08-04 Google Llc Secondary transmissions of packetized data
US10650066B2 (en) 2013-01-31 2020-05-12 Google Llc Enhancing sitelinks with creative content
US10453460B1 (en) * 2016-02-02 2019-10-22 Amazon Technologies, Inc. Post-speech recognition request surplus detection and prevention
US10708313B2 (en) 2016-12-30 2020-07-07 Google Llc Multimodal transmission of packetized data
US10593329B2 (en) * 2016-12-30 2020-03-17 Google Llc Multimodal transmission of packetized data
US10950228B1 (en) * 2017-06-28 2021-03-16 Amazon Technologies, Inc. Interactive voice controlled entertainment
CN107729433B (zh) * 2017-09-29 2022-04-22 联想(北京)有限公司 一种音频处理方法及设备
CN107909997A (zh) * 2017-09-29 2018-04-13 威创集团股份有限公司 一种拼接墙控制方法及系统
CN108922525B (zh) * 2018-06-19 2020-05-12 Oppo广东移动通信有限公司 语音处理方法、装置、存储介质及电子设备
JP6718182B1 (ja) * 2019-05-08 2020-07-08 株式会社インタラクティブソリューションズ 誤変換辞書作成システム
US11710476B2 (en) * 2020-04-27 2023-07-25 Robert Bosch Gmbh System and method for automatic testing of conversational assistance

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125347A (en) * 1993-09-29 2000-09-26 L&H Applications Usa, Inc. System for controlling multiple user application programs by spoken input
US5748841A (en) * 1994-02-25 1998-05-05 Morin; Philippe Supervised contextual language acquisition system
US6556970B1 (en) * 1999-01-28 2003-04-29 Denso Corporation Apparatus for determining appropriate series of words carrying information to be recognized
US6947969B2 (en) * 2001-06-07 2005-09-20 Unisys Corporation System and method for accessing voice messaging system data
US20070276651A1 (en) * 2006-05-23 2007-11-29 Motorola, Inc. Grammar adaptation through cooperative client and server based speech recognition
US8914014B2 (en) * 2012-02-12 2014-12-16 Joel Vidal Phone that prevents concurrent texting and driving
US20140365884A1 (en) * 2012-03-30 2014-12-11 Google Inc. Voice command recording and playback

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200115589A (ko) * 2018-05-07 2020-10-07 구글 엘엘씨 컴퓨팅 디바이스간의 액세스 제어 동기화
KR20220051427A (ko) * 2018-05-07 2022-04-26 구글 엘엘씨 컴퓨팅 디바이스간의 액세스 제어 동기화

Also Published As

Publication number Publication date
US20170069317A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
KR20170028628A (ko) 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체
CN107924687B (zh) 语音识别设备、用户设备的语音识别方法和非暂时性计算机可读记录介质
US20230377577A1 (en) System, apparatus, and method for processing natural language, and non-transitory computer readable recording medium
KR102371188B1 (ko) 음성 인식 장치 및 방법과 전자 장치
US9886952B2 (en) Interactive system, display apparatus, and controlling method thereof
US8606581B1 (en) Multi-pass speech recognition
KR102298457B1 (ko) 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
KR100655491B1 (ko) 음성인식 시스템에서의 2단계 발화 검증 방법 및 장치
US10134390B2 (en) Electronic device and voice recognition method thereof
KR20170032096A (ko) 전자장치, 전자장치의 구동방법, 음성인식장치, 음성인식장치의 구동 방법 및 컴퓨터 판독가능 기록매체
US20140337024A1 (en) Method and system for speech command detection, and information processing system
US9251808B2 (en) Apparatus and method for clustering speakers, and a non-transitory computer readable medium thereof
US20210034663A1 (en) Systems and methods for managing voice queries using pronunciation information
KR102585231B1 (ko) 화자 인식을 수행하기 위한 음성 신호 처리 방법 및 그에 따른 전자 장치
CN111949255A (zh) 基于语音的脚本编写方法、装置、设备及存储介质
CN104462912A (zh) 改进的生物密码安全
WO2019228135A1 (zh) 匹配阈值的调整方法、装置、存储介质及电子设备
US20210034662A1 (en) Systems and methods for managing voice queries using pronunciation information
CN105575402A (zh) 网络教学实时语音分析方法
US11437046B2 (en) Electronic apparatus, controlling method of electronic apparatus and computer readable medium
US20220012520A1 (en) Electronic device and control method therefor
US20180366127A1 (en) Speaker recognition based on discriminant analysis
KR20190143116A (ko) 대화 자동 저장 장치 및 방법
KR20120046627A (ko) 화자 적응 방법 및 장치
CN105551502A (zh) 网络教学实时语音分析系统