KR20210033167A - 전자장치 및 그 음성인식 제어방법 - Google Patents

전자장치 및 그 음성인식 제어방법 Download PDF

Info

Publication number
KR20210033167A
KR20210033167A KR1020190114541A KR20190114541A KR20210033167A KR 20210033167 A KR20210033167 A KR 20210033167A KR 1020190114541 A KR1020190114541 A KR 1020190114541A KR 20190114541 A KR20190114541 A KR 20190114541A KR 20210033167 A KR20210033167 A KR 20210033167A
Authority
KR
South Korea
Prior art keywords
database
category
command
word
electronic device
Prior art date
Application number
KR1020190114541A
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 KR1020190114541A priority Critical patent/KR20210033167A/ko
Priority to CN202080064938.3A priority patent/CN114402383A/zh
Priority to PCT/KR2020/012179 priority patent/WO2021054671A1/en
Priority to US17/022,344 priority patent/US11538458B2/en
Publication of KR20210033167A publication Critical patent/KR20210033167A/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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/12Score normalisation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • 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
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • 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/221Announcement of recognition results
    • 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)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

음성인식 제어 가능한 전자장치가 개시된다. 전자장치는, 사용자의 발화 내에 포함된 명령어가 데이터베이스 내에 존재하는 경우 데이터베이스 내에서 발화 내에 포함된 단어에 대응되는 카테고리의 점수를 증가시킨다. 명령어가 데이터베이스 내에 존재하지 않는 경우, 전자장치는 단어에 대응되는 카테고리의 점수가 기 설정값 이상인지 여부를 확인한다. 확인 결과 기 설정값 이상인 경우, 전자장치는 발화 내의 명령어가 단어에 대응되는 카테고리에 포함되도록 데이터베이스에 등록시킨다.

Description

전자장치 및 그 음성인식 제어방법 {Electrical Apparatus and Method for controlling Voice Recognition thereof}
본 발명은 전자장치 및 그 음성인식 제어방법에 관한 것이다.
음성인식 기술이 발전함에 따라 각종 전자장치, 예컨대 TV, 스피커, 휴대폰 등과 같은 장치에 음성인식 기술이 적용되고 있다. 음성인식 제어의 통상적인 방식은, 사용자의 발화(發話)(utterance)를 데이터로 변환하여 인식하고, 인식된 발화에 대해 그 내용을 분석하여 실행시킨다. 이때 인식된 발화의 의미는 사전에 구축되어 있는 데이터베이스에 대한 조회를 통해 확인된다.
예컨대, 사용자가 "내일날씨 알려줘"라고 발화한 경우, 사용자의 명령어는 "알려줘"이고 이 명령어를 수행할 대상은 "내일날씨"이다. 데이터베이스에는 <날씨>라는 카테고리가 존재하고 이 카테고리에는 '내일날씨', '오늘날씨', '뉴욕날씨', '워싱턴날씨', '일기예보', '기상상황' 등과 같은 여러 단어가 포함되어 있다. 또한 데이터베이스에는 <날씨> 카테고리에 대해서 사용자가 원할 것으로 예상되는 명령어로서, '알려줘', '들려줘', '어때?' 등과 같은 각종 단어가 날씨에 대해 알려달라는 의미의 명령어로서 사전에 등록되어 있다. 따라서, 사용자가 "내일날씨 알려줘"라고 발화하면 음성인식 시스템은 내일날씨에 대한 정보를 제공하라는 의미로 인식하고, 해당 동작을 수행한다.
그런데, 이러한 종래의 음성인식 시스템은 사전에 구축되어 있는 데이터베이스에 의존하여 사용자의 의도를 파악하므로, 만약 사전에 정의되어 있지 않은 단어나 명령어가 입력될 때에는 음성인식에 실패하게 된다. 예컨대 사용자가 "내일날씨 궁금해"라고 발화한 경우, 만약 데이터베이스 내에 "궁금해"라는 명령어가 사전에 등록되어 있지 않다면 음성인식 시스템은 "내일날씨"에 대해서 어떤 동작을 수행하라는 것인지를 인식할 수 없다. 이 경우 시스템은 인식 실패로 결정하고, 사용자가 의도한 동작은 실행되지 않는다. 따라서 사용자는 어떤 명령을 실행하고자 하는 경우, 데이터베이스 내에 사전에 정의되어 있는 명령어를 발화하여야만 원하는 동작을 실행시킬 수 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 사용자의 발화 내의 명령어가 데이터베이스에 사전에 정의되어 있지 않은 경우에도 사용자의 의도를 파악하여 해당되는 동작이 수행될 수 있도록 하는 방안을 제공하는 것이다.
본 발명의 다른 목적은, 사용자의 발화 내의 명령어가 데이터베이스에 사전에 정의되어 있지 않은 경우에도 다양한 사용자에 의해 발화되는 예상 외의 여러 명령어들을 머신러닝(machine learning)에 의해 능동적으로 새로운 명령어로 편입시킴으로써, 향후의 음성인식의 성공 확률을 높이는 방안을 제공하는 것이다.
본 발명의 전자장치는 프로세서를 구비한다.
상기 프로세서는, 사용자의 발화 내에 포함된 명령어가 기 설정된 데이터베이스 내에 존재하는 경우, 상기 데이터베이스 내에서 상기 발화 내에 포함된 단어에 대응되는 카테고리의 점수를 증가시킨다. 존재하지 않는 경우 상기 단어에 대응되는 상기 카테고리의 상기 점수가 기 설정값 이상인지 여부를 확인하여, 기 설정값 이상인 경우 상기 명령어가 상기 단어에 대응되는 상기 카테고리에 포함되도록 상기 데이터베이스에 등록시킨다.
상기 프로세서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들을 확인하고, 확인된 상기 카테고리들의 상기 점수를 토대로 상기 발화 내의 상기 명령어를 대응시킬 상기 카테고리를 결정한다.
상기 프로세서는, 상기 발화 내에 포함된 상기 단어가 상기 데이터베이스 내에 존재하지 않는 경우 상기 발화 내에 포함된 상기 단어에 대해 상기 데이터베이스 내에 새로운 카테고리를 생성한다.
상기 프로세서는, 상기 발화 내의 상기 명령어가 상기 데이터베이스 내에 존재하지 않는 경우 상기 단어의 상기 카테고리에 포함된 상기 명령어들 중 하나를 상기 단어에 대한 상기 명령어로 선택한다.
상기 프로세서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들 중에서 상기 점수를 토대로 어느 하나를 선택한다.
상기 프로세서는, 선택된 상기 명령어에 대해 상기 사용자의 확인을 수신한다.
본 발명의 전자장치는, 상기 단어, 상기 명령어, 상기 카테고리, 및 상기 점수에 대한 각각의 필드를 구비하는 상기 데이터베이스를 저장하는 저장부를 구비할 수 있다.
본 발명의 전자장치는, 상기 데이터베이스가 저장되어 있는 외부의 데이터베이스 서버에 대해 상기 데이터베이스의 조회를 위한 통신을 수행하는 통신부를 구비할 수 있다.
본 발명의 전자장치는, 상기 단어와 상기 명령어에 대응되는 동작을 실행하는 실행부를 구비할 수 있다.
본 발명의 전자장치는, 상기 실행부에 의해 실행된 동작의 결과를 출력하기 위한 출력부를 구비할 수 있다.
본 발명의 전자장치는, 상기 실행부에 의해 실행된 동작의 결과를 외부의 출력장치가 표시 가능하도록 상기 출력장치로 전송하기 위한 인터페이스를 구비할 수 있다.
본 발명의 전자장치는, 상기 발화의 음향을 수신하여 상기 인식부에 전달하는 마이크를 구비할 수 있다.
본 발명의 전자장치는, 상기 발화의 음향을 수신하는 마이크를 구비한 외부기기로부터 상기 음향에 대한 신호를 수신하여 상기 인식부에 전달하는 수신부를 구비할 수 있다.
본 발명의 다른 측면에 의하면, a) 사용자의 발화 내에 포함된 명령어가 기 설정된 데이터베이스 내에 존재하는 경우, 상기 데이터베이스 내에서 상기 발화 내에 포함된 단어에 대응되는 카테고리의 점수를 증가시키는 단계, 및 b) 상기 명령어가 상기 데이터베이스 내에 존재하지 않는 경우, 상기 단어에 대응되는 상기 카테고리의 상기 점수가 기 설정값 이상인지 여부를 확인하여, 기 설정값 이상인 경우 상기 명령어가 상기 단어에 대응되는 상기 카테고리에 포함되도록 상기 데이터베이스에 등록시키는 단계;를 포함하는 것을 특징으로 하는 전자장치의 음성인식 제어방법이 제시된다.
상기 b) 단계에서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들의 상기 점수를 토대로 상기 명령어를 포함시킬 상기 카테고리를 결정한다.
본 발명의 음성인식 제어방법은, c) 상기 발화 내에 포함된 상기 단어가 상기 데이터베이스 내에 존재하지 않는 경우 상기 단어에 대해 상기 데이터베이스 내에 새로운 카테고리를 생성하는 단계를 더 포함할 수 있다.
본 발명의 음성인식 제어방법은, d) 상기 명령어가 상기 데이터베이스에 존재하지 않는 경우, 상기 단어의 상기 카테고리에 포함된 상기 명령어들 중 어느 하나를 선택하는 단계를 더 포함할 수 있다.
상기 d) 단계에서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들 중에서 상기 점수를 토대로 결정된 어느 하나를 선택할 수 있다.
본 발명의 음성인식 제어방법은, e) 상기 d) 단계에서 선택된 상기 명령어에 대해 상기 사용자의 확인을 수신하는 단계를 더 포함할 수 있다.
본 발명의 음성인식 제어방법은, f) 상기 발화 내의 상기 단어에 대해 상기 d) 단계에서 선택된 상기 명령어에 따라 동작을 실행하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 어떤 카테고리가 사용자에 의해 자주 이용된 후에 그 카테고리 내의 단어가 발화되었다면 발화 내의 명령어가 사전에 등록되지 않은 명령어인 경우 이 명령어가 해당 카테고리에 새로운 명령어로서 등록된다. 이에 따라 다양한 사용자의 의도에 부합되는 음성인식이 적절하게 이루어지고, 실패발화로 판정되는 경우가 줄어들게 된다.
또한, 현재 입력된 발화에 포함된 명령어가 카테고리 데이터베이스 내에 존재하지 않는 경우에도, 사용자의 의도에 부합되는 명령어가 선택된다. 따라서 실패발화로 분류되어도 바로 인식 실패의 결과를 도출하지 않고 사용자의 의도로 추정되는 명령어가 선택되어 실행된다.
도 1 은 본 발명에 따른 전자장치의 블록도.
도 2 는 도 2 의 데이터베이스의 구조를 도시한 도면.
도 3 및 4 는 도 1 의 전자장치에 의해 수행되는 음성인식 제어방법의 흐름도.
도 5 내지 도 8 은 도 1 의 변형예들을 각각 도시한 도면.
이하에서는 본 발명의 다양한 실시예에 대하여 도면을 참조하여 보다 구체적으로 설명한다.
본 발명의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 발명에 대한 설명에서, 그 형상, 모양, 구조, 위치 등에 대해서는 본 발명의 구현에 있어서 필수적이지 않는 한 본 발명의 보호범위를 제한하지 않는다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 서브 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 발명에 대한 설명에서, 전자장치라는 용어는 모든 종류의 전자기기로서, 예컨대 TV, 휴대폰, 셋톱박스, 스피커 등과 같은 것일 수 있다. 본 발명의 전자장치는 사용자가 어떤 명령을 입력하여 의도하는 동작을 수행시킬 필요가 있는 모든 전자기기를 포함한다.
도 1 은 본 발명에 따른 전자장치의 블록도이다.
도 1 의 전자장치는 저장부(100), 프로세서(200), 출력부(300), 및 마이크(400)를 구비한다. 이 전자장치는, 예컨대 TV 나 스마트폰과 같이 디스플레이와 메모리를 모두 구비한 장치일 수 있다. 또는 이 전자장치는 예컨대 최근에 상용적으로 사용되는 AI 스피커와 같이 사용자의 음성을 인식하여 원하는 정보를 음향으로 제공해주는 장치일 수 있다.
저장부(100)는 카테고리 데이터베이스(120) 및 컨텐츠 데이터베이스(140)를 구비한다.
카테고리 데이터베이스(120)는 사용자의 발화의 내용을 인식한 후 그에 대한 의미를 조회하기 위해 사전에 구축되어 있는 데이테베이스이다. 카테고리 데이터베이스(120)는 인식될 단어들, 각각의 단어들에 대해 설정된 카테고리들, 각각의 카테고리에 대응되는 명령어들, 및 각각의 카테고리에 대한 점수에 대한 필드(fields)들을 구비한다. 도 2 는 카테고리 데이터베이스(120)의 일 예를 도시한 도면으로서, 카테고리 데이터베이스(120)에 4개의 필드, 즉 카테고리 필드, 단어 필드, 명령어 필드, 점수 필드가 구비되어 있다.
단어 필드는 사용자의 발화 내에 포함될 것으로 예상되는 각 단어들을 포함하며, 카테고리 필드는 이러한 각 단어들에 대해 카테고리별로 분류하여 부여한 카테고리 명칭을 포함한다. 도 2 는 <음악> 및 <가수> 의 카테고리들이 포함된 상태를 예시한다. 명령어 필드는 각각의 카테고리에 대응하여 수립되며, 해당 카테고리를 목적으로 하여 수행되는 명령어들을 포함한다. 도 2 는 <음악> 카테고리에 대해 '틀어줘', '켜줘', '재생해' 등의 명령어가 포함된 상태를 예시한다. 그리고 예컨대 '틀어줘'라는 명령어에 대해서는 해당 음악을 재생하는 동작의 실행 지시(instruction)가 대응되어 있다. 따라서 예컨대 "AAA 틀어줘"라는 발화에는 'AAA' 라는 단어와 '틀어줘'라는 명령어가 포함되어 있으며, 카테고리 데이터베이스(120)에는 단어 'AAA'가 포함되어 있는 카테고리인 <음악> 카테고리에 '틀어줘'라는 명령어가 존재하므로, 음성인식 시스템은 사용자의 발화를 AAA 를 재생하는 동작을 실행시키라는 요청으로 판단할 수 있다.
명령어들은 카테고리별로 상이할 수 있다. 예컨대 <음악> 카테고리에 대해서는 주로 해당 음악을 재생하라는 의미의 명령어가 포함되며, 이 외에도 예컨대 해당 음악에 관련된 정보를 제공해달라는 의미의 명령어 등이 포함될 수 있다. 다른 예로서, <날씨> 카테고리에 대해서는 특정 시간 또는 특정 장소에 대한 일기예보를 해달라는 요청을 의미하는 명령어, 즉 '알려줘', '들려줘', '어때?' 등과 같은 명령어가 주로 포함될 수 있다. 이와 같이, 명령어들은 각 카테고리별로 해당 카테고리에 포함된 컨텐츠의 성격에 부합되도록 사전에 설정된다. 이러한 명령어의 설정은 본 발명에 따른 전자장치의 제작자에 의해 이루어질 수도 있다. 또한 본 발명에 따른 전자장치의 사용자가 자신이 원하는 명령어를 카테고리 데이터베이스(120)에 등록할 수도 있다.
점수 필드는 카테고리별로 대응되어 해당 카테고리의 점수를 기록한다. 각 카테고리의 점수는 후술되는 본 발명의 프로세스에 따라 증가된다. 도 2 에서는 <음악> 카테고리와 <가수> 카테고리에 대해 각각 13점과 5점의 점수가 매개져 있는 상태가 도시되어 있다.
컨텐츠 데이터베이스(140)는 사용자의 명령에 따라 실행될 대상이 되는 다양한 컨텐츠를 저장한다. 예컨대 컨텐츠 데이터베이스(140)에는 <음악> 카테고리에 대응되는 컨텐츠로서 다양한 음원, 예컨대 도 2 의 단어 필드에 포함된 컨텐츠인 'AAA', 'BBB', 'CCC' 등의 음원이 저장되어 있다. 그 외에도, 예컨대 <영화> 카테고리가 존재하는 경우 해당 카테고리의 컨텐츠로서 다양한 영화의 동영상 데이터가 저장된다.
한편, 실행될 컨텐츠 중에서 외부로부터 제공되어야 하는 정보의 경우 외부서버(500)가 이를 보유하고 있다. 일 예로서, 날씨 정보의 경우 기상청이나 기타 기상정보 제공 기관에서 운영하는 서버가 관련된 정보를 실시간으로 업데이트하여 구비하고 있다. 만약 사용자가 일기예보를 원하는 경우에는 전자장치는 이러한 외부서버(500)로부터 해당 정보를 제공받는다.
프로세서(200)는 본 발명에 따른 음성인식 제어방법을 수행하는 구성으로서, 실행부(220), 학습부(240), 및 인식부(260)를 구비한다.
전자장치에 구비된 마이크(400)는 사용자의 발화 음향을 수신하여 전기 신호로서 인식부(260)에 전달한다. 인식부(260)는 전달받은 발화를 카테고리 데이터베이스(120)에 조회한다. 조회 결과에 따라, 인식부(250)는 카테고리 데이터베이스(120)에서 확인되는 발화는 성공발화로 분류하고 확인되지 않는 발화는 실패발화로 분류된다. 인식부(260)는 실패발화에 대해서 사용자의 의도에 부합될 가능성이 가장 높은 명령어를 찾아, 해당 명령어에 따른 동작이 수행되도록 실행부(220)에 전달한다.
학습부(260)는 인식부(260)가 성공발화로 분류한 발화에 대하여 카테고리 데이터베이스(120) 내의 대응되는 카테고리의 점수를 증가시킨다. 이와 같이 증가된 점수는 향후 실패발화 내의 명령어에 대해 새로운 명령어로 편입시키는 기준으로 사용된다.
실행부(220)는 인식부(260)의 인식 결과를 토대로 사용자의 발화에 대응되는 동작을 실행시킨다. 예컨대 실행부(220)는 어떤 컨텐츠를 재생하기 위하여 저장부(100) 내의 컨텐트 데이터베이스(140)에 저장되어 있는 해당 컨텐츠를 읽어들이고, 이를 출력부(300)로 전송하여 재생한다.
출력부(300)는 실행부(220)에 의해 실행되는 동작을 표시하기 위하여 모니터(320)와 스피커(340)를 구비한다. 예컨대 영화가 재생되는 경우 실행부(220)에 모니터(320)가 제어되어 영상이 표시되고 스피커(340)가 제어되어 음향이 출력된다.
이하에서는 상기와 같은 구성을 갖는 본 발명에 따른 전자장치의 동작에 대해 도 3 및 4 를 참조하여 상세하게 기술한다.
도 3 및 4 는 도 1 의 전자장치에 의해 수행되는 음성인식 제어방법의 흐름도이다.
사용자가 발화를 하면(S10), 발화된 음향은 마이크(400)에 의해 수신된다.(S20)
인식부(260)는 마이크(400)로부터 사용자의 발화에 대한 신호를 전달받아 발화 내에 포함된 단어와 명령어를 인식한다.(S30) 예컨대 사용자가 "예스터데이 틀어줘"라고 발화한 경우, 인식부(260)는 "예스터데이"라는 단어와 "틀어줘"라는 명령어를 인식한다.
인식부(260)는 카테고리 데이터베이스(120)에 조회하여 인식된 명령어가 존재하는지 여부를 확인한다.(S40) 확인 결과 명령어가 존재하는 경우 사용자의 발화를 성공발화로 분류하고 존재하지 않는 경우 실패발화로 분류한다.(S50) 예컨대 "틀어줘"라는 명령어는 도 2 의 데이터베이스 내에 존재하므로, 인식부(260)는 "예스터데이 틀어줘"라는 발화를 성공발화로 분류한다. 만약 사용자의 발화가 "예스터데이 듣고싶어"인 경우 "듣고싶어"라는 명령어는 도 2 의 명령어 필드에 존재하지 않으므로, 해당 발화를 실패발화로 분류한다.
이때 인식부(260)는 발화에 포함된 명령어와 단어를 함께 고려하여 성공발화와 실패발화의 분류를 수행할 수도 있다. 즉 인식부(260)는 먼저 인식된 단어의 카테고리를 카테고리 데이터베이스(120)에 조회하여 확인하고, 확인된 카테고리에 대응되는 명령어 필드 내에 발화에 포함된 명령어가 존재하는지를 확인한다. 예컨대 "예스터데이 틀어줘"라는 발화에 포함된 "예스터데이"라는 단어는 <음악> 카테고리에 포함된 단어이다. 따라서 인식부(260)는 <음악> 카테고리에 대응되어 저장되어 있는 명령어들 중에 "틀어줘"라는 명령어가 존재하는지 여부를 판단한다.
성공발화로 분류된 발화에 대한 정보는 학습부(260)로 전달된다. 학습부(240)는 인식부(260)가 성공발화로 분류한 발화에 포함된 단어의 카테고리에 대해 카테고리 데이터베이스(120) 내의 점수를 증가시킨다.(S100) 예컨대, "예스터데이 틀어줘"라는 성공발화가 발생하면, 학습부(240)는 "예스터데이"의 카테고리인 <음악> 카테고리에 대한 현재 점수를 1만큼 증가시킨다. 도 2 에 예시된 <음악> 카테고리의 경우 점수 필드의 값이 현재의 점수인 13 에서 14 로 증가된다. 한편, 인식부(260)는 성공발화를 실행부(220)로 전달하며, 실행부(220)는 성공발화에 해당되는 동작이 수행되도록 컨텐츠 데이터베이스(140)로부터 해당 데이터를 읽어들이고 읽어들인 데이터에 대해 해당 명령이 실행되도록 출력부(300)를 구동한다.(S150) 이에 따라 스피커(340)에서는 예스터데이라는 음악이 재생된다.
실패발화에 대하여, 인식부(260)는 발화 내의 단어에 대한 카테고리를 결정한다.(S110) 예컨대 "예스터데이 듣고싶어"라는 발화는 실패발화로 분류되고, 실패발화로 분류된 발화에 대해서는 "예스터데이"가 포함된 카테고리인 <음악> 카테고리가 발화 내의 단어에 대한 카테고리로 결정된다.
실패발화 내의 단어가 복수 개인 경우가 있다. 예컨대 "비틀즈의 예스터데이 듣고싶어"라는 발화의 경우에는, "비틀즈"라는 단어는 <가수> 카테고리에 포함되고 "예스터데이"라는 단어는 <음악> 카테고리에 포함된다. 이와 같이 복수 개의 단어가 포함되어 카테고리가 복수 개인 경우에는, 인식부(260)는 각각의 단어에 대한 카테고리를 확인하여 복수의 카테고리 중에서 어느 하나를 발화 내의 단어에 대한 카테고리로 결정한다. 이때 인식부(260)는 각 카테고리 중에서 점수가 가장 높은 카테고리를 발화에 대한 카테고리로 결정한다.
인식부(260)는 이와 같이 결정된 카테고리에 대응되는 명령어들 중에서 어느 하나를 실패발화에 대한 명령어로 선택한다.(S120) 인식부(260)는 명령어의 선택을 위하여 해당 카테고리에 대해 가장 빈번하게 사용된 명령어가 어느 것인지를 확인한다. 예컨대 <음악> 카테고리의 경우 "틀어줘"라는 명령어가 가장 빈번하게 사용되었다면, 인식부(260)는 실패발화에 포함된 "듣고싶어"라는 명령어를 "틀어줘"라는 명령어에 해당되는 것으로 선택한다.
인식부(260)는 이와 같이 선택된 명령어에 대해 사용자의 확인을 요청한다.(S130) 사용자의 확인 요청은 실행부(220)를 통해 출력부(300)를 구동함으로써 이루어질 수 있다. 예컨대, 스피커(340)를 구동하여 "예스터데이를 틀어드릴까요?"라는 음향이 출력되도록 한다. 그 결과, 사용자의 "예스터데이 듣고싶어"라는 실패발화에 응하여 스피커(340)에서는 사용자에게 예스터데이를 재생할 것을 요청하는 것인지의 확인을 요청하는 음향이 출력된다. 사용자가 이에 대하여 "응" 또는 "그래"와 같은 긍정의 음성을 발화하면, 인식부(260)는 이를 마이크(400)를 통해 수신함으로써 자신의 결정이 사용자의 요청과 일치함을 확인한다.(S140)
인식부(260)가 긍정의 확인을 하면, 인식부(260)는 확인 결과를 실행부(220)로 전달하고, 실행부(220)는 이를 실행시켜 "예스터데이" 음악을 스피커(340)를 통해 재생한다.(S150)
한편, 실패발화에 대하여 S110 단계에서 인식부(260)에 의해 카테고리가 결정됨에 따라, 학습부(240)는 결정된 카테고리의 점수를 조회한다.(S210) 학습부(240)는 조회 결과 점수가 예컨대 10점을 초과하는 것으로 확인되면(S220), 실패발화 내의 명령어를 새로운 명령어로서 카테고리 데이터베이스(120)에 등록한다.(S230) 즉, 학습부(260)는 이 명령어를 카테고리 데이터베이스(120) 내의 해당 카테고리에 대한 명령어 필드에 추가함으로써, 새로운 유효한 명령어로서 등록한다.
예컨대 실패발화인 "예스터데이 듣고싶어"에 대해 인식부(260)에 의해 결정된 카테고리인 <음악> 카테고리의 점수는 도 2 에서 13점이다. 따라서 실패발화 내의 명령어인 "듣고싶어"는 카테고리 데이터베이스(120) 내의 <음악> 카테고리에 대한 새로운 명령어로서 추가된다. 이때 새롭게 추가된 명령어는 S120 단계에서 인식부(260)에 의해 선택되고 S140 단계에서 사용자에 의해 확인된 명령어와 동일한 동작을 하는 명령어로서 등록된다. 예컨대 학습부(240)는 "듣고싶어"라는 명령어를 새롭게 추가하면서, 이 명령어에 대해 재생동작 지시의 의미를 부여한다. 이에 따라 <음악> 카테고리의 단어에 대해 "듣고싶어"라는 명령어가 포함된 발화가 지금까지는 실패발화로 분류되었으나, 이후부터는 성공발화로 분류된다.
한편, 실패발화 내의 단어가 복수 개인 경우, 명령어의 등록은 복수 개의 단어들의 카테고리들 중 점수가 가장 높은 카테고리에 대해 수행된다. 예컨대 실패발화가 "비틀즈의 예스터데이 듣고싶어"인 경우 이 발화에는 <가수> 카테고리인 "비틀즈"라는 단어와 <음악> 카테고리인 "예스터데이"라는 단어가 포함되어 있다. 따라서 인식부(260)는 이 실패발화에 대해 <가수> 카테고리와 <음악> 카테고리를 확인한다. 학습부(240)는 이 카테고리들의 점수를 확인한다. 도 2 에서 <가수> 카테고리의 점수는 5 이고 <음악> 카테고리의 점수는 13 이다. 따라서 학습부(240)는 <음악> 카테고리를 "듣고싶어"라는 명령어를 등록할 대상으로 선정한다.
이상과 같은 과정에 의하면, 성공 발화로 분류된 발화에 대해 학습부(240)에 의해 해당 카테고리의 점수가 증가된다. 이러한 과정이 반복되면 해당 카테고리의 점수가 점차 증가하여 기 설정값 이상이 되고, 이와 같은 카테고리에 대해서는 실패발화 내의 명령어가 유효한 명령어로서 새롭게 추가된다. 이에 따라 다양한 사용자에 의해 발생되는 모든 명령어가 카테고리 데이터베이스(120) 내에 미리 수록되어 있지 않은 경우에도, 많은 성공발화가 발생하였던 카테고리에 대해서 새로운 명령어가 머신러닝 방식에 따라 추가된다.
어떤 카테고리의 점수가 높다는 것은 사용자에 의해 해당 카테고리의 단어와 명령어들이 자주 발화되었음을 의미한다. 어느 하나의 카테고리는 그에 대해 설정되어 있는 명령어들이 통상적으로 동일 또는 유사한 의미를 갖는다. 예컨대 <음악> 카테고리의 경우 "틀어줘", "켜줘" 등과 같은 다양한 명령어들이 음악을 "재생하라"는 의미를 갖는다. 따라서, 어느 카테고리가 자주 성공발화의 대상이 되었다면, 이는 그 카테고리의 단어가 이와 같은 동일한 의미를 갖는 명령어들을 수행하는 대상으로서 자주 사용되었음을 의미한다. 따라서 어떤 카테고리가 사용자에 의해 자주 이용된 후에 그 카테고리 내의 단어가 발화되었다면 발화 내의 명령어가 사전에 등록되지 않은 명령어일지라도 해당 카테고리에 대해 자주 수행된 명령어일 것으로 추정할 수 있다. 따라서 위와 같은 프로세스에 의하여 다양한 사용자의 의도에 부합되는 음성인식이 적절하게 이루어지고, 실패발화로 판정되는 경우가 줄어들게 된다.
또한, 현재 입력된 발화에 포함된 명령어가 카테고리 데이터베이스(120) 내에 존재하지 않는 경우에도, 사용자의 의도에 부합되는 명령어가 인식부(260)에 의하여 해당 카테고리에 대한 조회를 통해 선택된다. 따라서 실패발화로 분류되어도 바로 인식 실패의 결과를 도출하지 않고 사용자의 의도로 추정되는 명령어가 선택되어 실행되며, 나아가 이 명령어에 대해 사용자의 확인을 받는다. 따라서 실패발화로 일응 인식된 발화에 대해 성공발화와 동일한 결과가 유도될 가능성이 높아진다.
한편, 실패발화 내에 포함된 단어가 카테고리 데이터베이스(120) 내에 존재하지 않는 단어일 수 있다. 예컨대 "희망 듣고싶어"라는 발화의 경우 "희망"이라는 단어가 어떤 카테고리에도 포함되어 있지 않은 단어일 수 있다. 이와 같이 실패발화 내에 포함된 단어가 카테고리 데이터베이스(120) 내에 존재하지 않는 경우, 학습부(240)는 실패발화 내에 포함된 단어에 대해 카테고리 데이터베이스(120) 내에 새로운 카테고리로서 생성할 수 있다. 이와 같이 생성된 새로운 카테고리에 대해서도 생성 이후에는 상기와 같은 프로세스가 동일하게 적용된다.
본 발명에서 카테고리 데이터베이스(120)에 저장되는 점수는 일종의 가중치를 의미한다. 상기의 실시예에서는 성공발화에 대해 매회 1점의 점수를 증가시키는 방식을 예시하였으나, 성공발화에 대한 점수는 성공발화의 횟수가 증가함에 따라 증가시키는 점수를 점점 낮추는 방식 등과 같이 변형이 가능하다. 또한 성공발화의 점수에 대해 미리 설정한 일정 값을 넘는 경우 실패발화 내의 명령어를 새로운 명령어로 카테고리 데이터베이스(120)에 등록시키는 방식을 제시였으나, 미리 설정되는 값은 하나의 값이 아닌 여러 단계의 값으로 설정할 수도 있다. 이 경우 예컨대 점수가 첫 번째 단계의 값이 넘는 카테고리에 대해서는 실패발화의 명령어를 바로 등록시키지 않고 해당 명령어를 단순히 카테고리 데이터베이스(120)에 기록만 하여 두고, 점수가 두 번째 단계의 값을 넘게 되을 때까지 해당 명령어가 일정 회수 이상 입력되는 경우에 이 명령어를 데이터베이스(120)에 기록하는 방식과 같이 변형할 수 있다.
한편, 본 발명에서는 인식부(260)가 사용자의 발화를 STT(Sound to Text) 변환하여 음성인식하는 동작과 카테고리 데이터베이스(120)를 통해 카테고리를 확인하는 동작 등을 수행하는 모듈이나, 음성인식을 위한 모듈과 카테고리 데이터베이스(120)를 조회하는 모듈이 분리된 모듈로서 구성되도록 할 수 있고 나아가 이 경우 두 하드웨어 모듈은 원거리에 이격 배치되어 유무선 통신 네트워크를 통해 서로 데이터 통신 가능하게 연결되도록 구성할 수 있다. 또한, 사용자가 사용하는 장치는 단순히 마이크만을 구비하거나 마이크와 연결된 수신부(280)만을 구비하고, 학습부(240), 인식부(260), 실행부(220)의 일부 또는 전부는 유무선 네트워크를 통해 사용자가 사용하는 장치와 데이터 통신 가능하게 연결된 장치나 서버에 구비되도록 구성할 수도 있다.
도 5 내지 도 7 은 본 발명의 다른 실시예들을 도시한 도면으로서, 본 발명의 음성인식 시스템을 구비한 전자장치의 다양한 구현 예를 보여주는 것이다. 이하의 실시예에서, 도 1 에 도시된 실시예와 동일한 부분에 대해서는 동일한 참조부호를 부여하고 중복 설명을 생략한다. 그러나, 도 1 과 동일한 참조부호가 부여된 구성요소들이 완전히 동일한 구성임을 의미하는 것은 아니다.
도 5 는 본 발명의 전자장치가 별도의 외부기기(410)와 통신을 하는 방식의 구현 예를 도시하고 있다. 도 1 의 실시예에서는 마이크(400)가 전자장치 내에 포함되어 있으며, 마이크(400)는 아날로그 음성 신호를 디지털화하여 전자장치의 프로세서로 전송한다. 그러나 도 5 의 실시예에서는 마이크(400a)는 전자장치에 포함된 일부가 아니라 별도의 외부기기(410) 내에 마련되어 있다. 마이크(400a)는 아날로그 음성신호를 디지털화하며 외부기기(410)는 블루투스, 적외선통신, WiFi 와 같은 통신 방식으로 디지털화된 음성신호를 전자장치 측으로 전송한다. 도 5 의 실시예에서도 외부기기(410) 내의 마이크(400a)와 함께 전자장치 내부에 도 1 과 같은 마이크(400)를 구비할 수 있다.
도 5 의 예에서 외부기기(410)는, 예컨대 리모컨과 같은 기기일 수 있고 이에 대응되는 전자장치는 TV 와 같은 기기일 수 있다. 이때의 리모컨은, 예컨대 스마트폰에 TV 를 제어할 수 있는 리모컨앱을 설치하여 스마트폰을 리모컨으로서 이용하는 경우를 포함한다. 다른 예로서, 외부기기(410)는 리모컨처럼 전자장치에 부수적인 기기가 아니라 전자장치와 대등한 수준의 기능을 수행하는 기기일 수 있다. 예컨대 전자장치와 외부기기 모두 스마트폰일 수 있고, 전자장치는 TV 이고 외부기기는 스마트폰일 수 있다.
전자장치 내는 수신부(280)를 추가로 구비하며, 이 수신부(280)는 외부기기(410)와 통신을 할 수 있다. 외부기기(410)와 수신부(280)간의 통신은 블루투스, 적외선통신, 와이파이 네트워크를 통한 통신, 유선 통신 등의 다양한 방식으로 이루어질 수 있다. 사용자가 외부장치(410)에 발화하면 외부장치(410)의 마이크(400a)는 이를 수신하여 수신부(280)로 전송하고, 수신부는 이를 인식부(260)로 전송한다. 음성인식 제어의 프로세스는 전술한 실시예와 동일하다.
한편, 본 실시예에서 외부기기(410)가 사용자가 사용하는 스마트폰이나 AI 스피카와 같은 기기로 구성되고, 전자장치 자체는 외부에 구비된 서버로서 구성될 수도 있다. 예컨대 사용자가 AI 스피커를 이용하여 댁내의 IPTV 를 음성으로 제어하는 경우, AI 스피커는 외부기기(410)로서 마이크(400a)를 구비하여 사용자의 발화를 수신하고, 전자장치는 AI 스피커와 유무선 네트워크로 연결되어 있는 통신사의 서버로 구성되어 원격지에서 음성인식을 수행하도록 구성될 수 있다.
본 실시예에 따르면, 사용자의 발화를 직접적으로 수신하는 마이크(400a)와 이 마이크(400a)로부터 전송되는 음향신호를 수신하여 본 발명의 프로세스를 수행하는 전자장치가 서로 분리된 별도의 독립적인 기기로서 제작된다. 따라서, 전자장치의 동작을 원격지에서 사용자의 발화를 통해 제어할 수 있게 된다.
도 6 은 본 발명의 전자장치가 출력부(300)를 구비하지 않고 별도의 출력장치(300a)와 통신을 하는 방식의 구현 예를 도시하고 있다. 도 1 의 실시예에서는 출력부(300)가 전자장치 내에 포함되어 있다. 그러나 도 6 의 실시예에서는 출력장치(300a)는 전자장치에 포함된 일부가 아니라 별도의 외부기기(410) 내에 마련되어 있다. 도 6 의 전자장치 내부에도 도 1 과 같은 출력부(300)를 구비할 수 있다.
표시장치(300a)는 모니터(320a)와 스피커(340a)를 구비한다. 여기에서 전자장치는 예컨대 스마트폰과 같은 기기일 수 있고 이에 대응되는 출력장치(300a)는 TV 와 같은 기기일 수 있다. 다른 예로서, 전자장치는 AI 스피커로 구성되고 출력장치는 TV 로 구성될 수 있다. 이 경우 스피커(340)는 전자장치의 내부에 구비되고 모니터(320a)는 출력장치(300a) 내부에 구비될 수 있다. 이와 반대로, 모니터(320a)가 전자장치의 내부에 구비되고 스피커(340a)는 전자장치 외부에 구비되도록 구성될 수도 있다.
전자장치는 그 내부에 인터페이스(210)를 구비한다. 인터페이스(210)는 출력장치(300a)와 연결되는 통신 포트를 제공한다. 인터페이스(210)는 HDMI, DP, 썬더볼트 등과 같이 비디오/오디오 신호를 동시에 전송할 수 있는 포트일 수 있다. 또한, 인터페이스(210)는 비디오 신호와 오디오 신호를 각각 다른 경로로 전송하는 포트들로 구성될 수도 있다.
도 7 은 본 발명의 전자장치가 저장부(100)를 구비하지 않고 별도의 서버들(120a, 140a)과 통신을 하는 방식의 구현 예를 도시하고 있다. 도 1 의 실시예에서는 저장부(100)가 전자장치 내에 포함되어 있다. 그러나 도 7 의 실시예에서는 저장부(100)는 전자장치에 포함된 일부가 아니라 별도의 외부기기(410) 내에 마련되어 있다. 도 7 의 전자장치 내부에도 저장부(100)를 구비할 수 있다.
도 7 의 실시예에서는 카테고리 데이터베이스를 저장하는 카테고리 데이터베이스 서버(120a)와 컨텐츠 데이터베이스를 저장하는 컨텐츠 데이터베이스 서버(140a)가 구비된다. 전자장치는 통신부(290)를 구비하며, 통신부(290)는 서버들(120a, 140a)과 프로세서(200)간의 통신 기능을 한다. 통신부(290)는 유무선 인터넷 네트워크나 블루투스 등의 통신 방식으로 서버들(120a, 140a)에 대해 통신을 할 수 있다.
본 발명의 전자장치가 예컨대 AI 스피커나 셋톱박스로 구성되는 경우, 실행부(220)가 실행할 컨텐츠의 데이터는 유무선 네트워크로 연결된 외부의 컨텐츠 데이터베이스 서버(140a)에 저장될 수 있다. 일반적으로 IPTV 서비스를 제공하는 통신사는 제공할 컨텐츠의 데이터베이스를 유선 통신망으로 연결된 별도의 컨텐츠 데이터베이스 서버(140a)에 저장하고 있으며, 사용자가 IPTV 를 조작하여 예컨대 특정 영화를 선택하면 해당 영화의 데이터가 사용자의 IPTV 로 전송된다. 이와 같은 시스템에서, 예컨대 IPTV 에 부속되어 있는 셋톱박스나 AI 스피커를 본 발명의 전자장치로 구성하는 경우, 사용자의 발화에 따른 음성인식의 결과 재생할 컨텐츠를 통신사의 컨텐츠 데이터베이스 서버(140a)로부터 전송받아 IPTV 의 디스플레이에 재생할 수 있다.
도 1 과 같이 전자장치는 카테고리 데이터베이스(120)를 그 내부의 저장부(100)에 저장할 수 있으나, 도 7 과 같이 외부의 카테고리 데이터베이스 서버(120a)에 저장할 수도 있다. 카테고리 데이터베이스(120)는 일반적으로 전자장치의 제작자가 제작하며, 본 발명의 전자장치를 사용자가 사용함에 따라 카테고리 데이터베이스(120)는 지속적으로 업데이트되어 새로운 명령어가 인식 가능한 명령어로 추가된다. 이와 같은 업데이트 결과의 카테고리 데이터베이스(120)가 사용자마다 상이하도록 구성되는 경우에는 카테고리 데이터베이스(120)는 전자장치 내에 구비된 저장부(100)에 저장되는 것이 바람직하다. 이에 따라 개개의 사용자는 자신에게 특화된 카테고리 데이터베이스(120)를 가질 수 있다. 사용자마다 상이하게 구성되는 경우에도 카테고리 데이터베이스(120)는 외부의 카테고리 데이터베이스 서버(120a) 내에 저장될 수도 있다. 여러 사용자의 사용 결과가 포함되어 카테고리 데이터베이스(120)가 업데이트되도록 구성하는 경우에는 카테고리 데이터베이스(120)는 외부의 카테고리 데이터베이스 서버(120a)에 저장되도록 하는 것이 바람직할 것이다. 이 경우에도 전자장치 내의 저장부(100)에 카테고리 데이터베이스(120)가 마련됨과 동시에 외부의 카테고리 데이터베이스 서버(120a)도 함께 마련되는 방식이 채용될 수 있다.
도 8 은 본 발명의 전자장치가 다른 외부기기들(D1, D2, ... Dn)과 통신을 하는 통신부(295)를 구비하는 예를 도시하고 있다. 통신부(295)는 예컨대 블루투스나 와이파이 또는 적외선 통신 등을 통해 다른 외부기기들(D1, D2, ... Dn)이 전자장치와 통신 가능하도록 하는 수단을 제공한다. 여기에서 외부기기들(D1, D2, ... Dn)은 예컨대 TV 와 같은 디스플레이 장치일 수 있다. 일 예로서, 본 발명의 전자장치가 스마트폰인 경우, 스마트폰에 의해 구현된 본 발명의 수행 결과가 블루투스 통신을 통해 TV 와 공유될 수 있다. 통신부(295)는 외부기기들(D1, D2, ... Dn)과 1:1 통신을 하도록 구성될 수 있고 1:n 통신이 가능하도록 구성될 수도 있다.
이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100 : 저장부 120 : 카테고리 데이터베이스
140 : 컨텐츠 데이터베이스 200 : 프로세서
220 : 실행부 240 : 학습부
260 : 인식부 300 : 출력부
400 : 마이크

Claims (20)

  1. 전자장치에 있어서,
    사용자의 발화 내에 포함된 명령어가 기 설정된 데이터베이스 내에 존재하는 경우,
    상기 데이터베이스 내에서 상기 발화 내에 포함된 단어에 대응되는 카테고리의 점수를 증가시키고,
    존재하지 않는 경우 상기 단어에 대응되는 상기 카테고리의 상기 점수가 기 설정값 이상인지 여부를 확인하여,
    기 설정값 이상인 경우 상기 명령어가 상기 단어에 대응되는 상기 카테고리에 포함되도록 상기 데이터베이스에 등록시키는 프로세서를 포함하는, 전자장치.
  2. 제 1 항에 있어서,
    상기 프로세서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들을 확인하고, 확인된 상기 카테고리들의 상기 점수를 토대로 상기 발화 내의 상기 명령어를 대응시킬 상기 카테고리를 결정하는 것을 특징으로 하는 전자장치.
  3. 제 1 항에 있어서,
    상기 프로세서는, 상기 발화 내에 포함된 상기 단어가 상기 데이터베이스 내에 존재하지 않는 경우 상기 발화 내에 포함된 상기 단어에 대해 상기 데이터베이스 내에 새로운 카테고리를 생성하는 것을 특징으로 하는 전자장치.
  4. 제 1 항에 있어서,
    상기 프로세서는, 상기 발화 내의 상기 명령어가 상기 데이터베이스 내에 존재하지 않는 경우 상기 단어의 상기 카테고리에 포함된 상기 명령어들 중 하나를 상기 단어에 대한 상기 명령어로 선택하는 것을 특징으로 하는 전자장치.
  5. 제 4 항에 있어서,
    상기 프로세서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들 중에서 상기 점수를 토대로 어느 하나를 선택하는 것을 특징으로 하는 전자장치.
  6. 제 4 항에 있어서,
    상기 프로세서는, 선택된 상기 명령어에 대해 상기 사용자의 확인을 수신하는 것을 특징으로 하는 전자장치.
  7. 제 1 항에 있어서,
    상기 단어, 상기 명령어, 상기 카테고리, 및 상기 점수에 대한 각각의 필드를 구비하는 상기 데이터베이스를 저장하는 저장부;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  8. 제 1 항에 있어서,
    상기 데이터베이스가 저장되어 있는 외부의 데이터베이스 서버에 대해 상기 데이터베이스의 조회를 위한 통신을 수행하는 통신부;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  9. 제 1 항에 있어서,
    상기 단어와 상기 명령어에 대응되는 동작을 실행하는 실행부;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  10. 제 9 항에 있어서,
    상기 실행부에 의해 실행된 동작의 결과를 출력하기 위한 출력부;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  11. 제 9 항에 있어서,
    상기 실행부에 의해 실행된 동작의 결과를 외부의 출력장치가 표시 가능하도록 상기 출력장치로 전송하기 위한 인터페이스;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  12. 제 1 항에 있어서,
    상기 발화의 음향을 수신하여 상기 인식부에 전달하는 마이크;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  13. 제 1 항에 있어서,
    상기 발화의 음향을 수신하는 마이크를 구비한 외부기기로부터 상기 음향에 대한 신호를 수신하여 상기 인식부에 전달하는 수신부;
    를 더 포함하는 것을 특징으로 하는 전자장치.
  14. 전자장치의 음성인식 제어방법에 있어서,
    a) 사용자의 발화 내에 포함된 명령어가 기 설정된 데이터베이스 내에 존재하는 경우, 상기 데이터베이스 내에서 상기 발화 내에 포함된 단어에 대응되는 카테고리의 점수를 증가시키는 단계, 및
    b) 상기 명령어가 상기 데이터베이스 내에 존재하지 않는 경우, 상기 단어에 대응되는 상기 카테고리의 상기 점수가 기 설정값 이상인지 여부를 확인하여, 기 설정값 이상인 경우 상기 명령어가 상기 단어에 대응되는 상기 카테고리에 포함되도록 상기 데이터베이스에 등록시키는 단계;
    를 포함하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
  15. 제 14 항에 있어서,
    상기 b) 단계에서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들의 상기 점수를 토대로 상기 명령어를 포함시킬 상기 카테고리를 결정하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
  16. 제 14 항에 있어서,
    c) 상기 발화 내에 포함된 상기 단어가 상기 데이터베이스 내에 존재하지 않는 경우 상기 단어에 대해 상기 데이터베이스 내에 새로운 카테고리를 생성하는 단계;
    를 더 포함하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
  17. 제 14 항에 있어서,
    d) 상기 명령어가 상기 데이터베이스에 존재하지 않는 경우, 상기 단어의 상기 카테고리에 포함된 상기 명령어들 중 어느 하나를 선택하는 단계;
    를 더 포함하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
  18. 제 17 항에 있어서,
    상기 d) 단계에서는, 상기 발화 내에 복수의 상기 단어가 포함된 경우 각각의 상기 단어에 대한 상기 카테고리들 중에서 상기 점수를 토대로 결정된 어느 하나를 선택하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
  19. 제 17 항에 있어서,
    e) 상기 d) 단계에서 선택된 상기 명령어에 대해 상기 사용자의 확인을 수신하는 단계;
    를 더 포함하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
  20. 제 17 항에 있어서,
    f) 상기 발화 내의 상기 단어에 대해 상기 d) 단계에서 선택된 상기 명령어에 따라 동작을 실행하는 단계;
    를 더 포함하는 것을 특징으로 하는 전자장치의 음성인식 제어방법.
KR1020190114541A 2019-09-18 2019-09-18 전자장치 및 그 음성인식 제어방법 KR20210033167A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190114541A KR20210033167A (ko) 2019-09-18 2019-09-18 전자장치 및 그 음성인식 제어방법
CN202080064938.3A CN114402383A (zh) 2019-09-18 2020-09-09 电子设备及其控制语音识别的方法
PCT/KR2020/012179 WO2021054671A1 (en) 2019-09-18 2020-09-09 Electronic apparatus and method for controlling voice recognition thereof
US17/022,344 US11538458B2 (en) 2019-09-18 2020-09-16 Electronic apparatus and method for controlling voice recognition thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190114541A KR20210033167A (ko) 2019-09-18 2019-09-18 전자장치 및 그 음성인식 제어방법

Publications (1)

Publication Number Publication Date
KR20210033167A true KR20210033167A (ko) 2021-03-26

Family

ID=74867849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114541A KR20210033167A (ko) 2019-09-18 2019-09-18 전자장치 및 그 음성인식 제어방법

Country Status (4)

Country Link
US (1) US11538458B2 (ko)
KR (1) KR20210033167A (ko)
CN (1) CN114402383A (ko)
WO (1) WO2021054671A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210033167A (ko) * 2019-09-18 2021-03-26 삼성전자주식회사 전자장치 및 그 음성인식 제어방법
CN115964115B (zh) * 2023-03-17 2023-06-02 中科航迈数控软件(深圳)有限公司 基于预训练强化学习的数控机床交互方法及相关设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050017885A (ko) * 2003-08-11 2005-02-23 현대자동차주식회사 화자 적응형 음성 명령어 인식장치 및 방법
JP4503310B2 (ja) * 2004-02-20 2010-07-14 本田技研工業株式会社 電子機器制御装置
JP4705023B2 (ja) * 2004-06-10 2011-06-22 パナソニック株式会社 音声認識装置、音声認識方法、及びプログラム
KR100825690B1 (ko) 2006-09-15 2008-04-29 학교법인 포항공과대학교 음성 인식 시스템에서의 인식 오류 수정 방법
WO2013190956A1 (ja) * 2012-06-19 2013-12-27 株式会社エヌ・ティ・ティ・ドコモ 機能実行指示システム、機能実行指示方法及び機能実行指示プログラム
US20160042611A1 (en) * 2014-08-08 2016-02-11 Lottolike Llc Social media interaction system and method
KR102447513B1 (ko) 2016-01-22 2022-09-27 한국전자통신연구원 점증적 대화지식 자가학습 기반 대화장치 및 그 방법
KR20180083587A (ko) * 2017-01-13 2018-07-23 삼성전자주식회사 전자 장치 및 그의 동작 방법
KR20180084392A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 전자 장치 및 그의 동작 방법
US10229683B2 (en) * 2017-03-10 2019-03-12 Soundhound, Inc. Speech-enabled system with domain disambiguation
CN108665890B (zh) * 2017-03-28 2023-10-13 三星电子株式会社 操作语音识别服务的方法、电子设备和支持该设备的系统
KR102517219B1 (ko) * 2017-11-23 2023-04-03 삼성전자주식회사 전자장치 및 그 제어방법
EP3608906B1 (en) * 2018-08-07 2024-05-22 Samsung Electronics Co., Ltd. System for processing user voice utterance and method for operating same
WO2020085794A1 (en) * 2018-10-23 2020-04-30 Samsung Electronics Co., Ltd. Electronic device and method for controlling the same
KR20200106703A (ko) * 2019-03-05 2020-09-15 삼성전자주식회사 사용자 선택 기반의 정보를 제공하는 방법 및 장치
WO2020184753A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 음성 추출 필터를 이용하여 음성 제어를 수행하는 인공 지능 장치 및 그 방법
US11367438B2 (en) * 2019-05-16 2022-06-21 Lg Electronics Inc. Artificial intelligence apparatus for recognizing speech of user and method for the same
US11715485B2 (en) * 2019-05-17 2023-08-01 Lg Electronics Inc. Artificial intelligence apparatus for converting text and speech in consideration of style and method for the same
KR20210033167A (ko) * 2019-09-18 2021-03-26 삼성전자주식회사 전자장치 및 그 음성인식 제어방법
US11664033B2 (en) * 2020-06-15 2023-05-30 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Also Published As

Publication number Publication date
WO2021054671A1 (en) 2021-03-25
US20210082401A1 (en) 2021-03-18
US11538458B2 (en) 2022-12-27
CN114402383A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US10586536B2 (en) Display device and operating method therefor
JP6567737B2 (ja) 音声対話制御方法
KR102429436B1 (ko) 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
US10068571B2 (en) Voice control method and voice control system
US8421932B2 (en) Apparatus and method for speech recognition, and television equipped with apparatus for speech recognition
JP2019153314A (ja) 映像処理装置及びその制御方法、並びに映像処理システム
US20170133013A1 (en) Voice control method and voice control system
US10860289B2 (en) Flexible voice-based information retrieval system for virtual assistant
KR20170032096A (ko) 전자장치, 전자장치의 구동방법, 음성인식장치, 음성인식장치의 구동 방법 및 컴퓨터 판독가능 기록매체
CN111880645A (zh) 基于用户的语音输入确定目标设备并控制目标设备的服务器及其操作方法
KR102360589B1 (ko) 관련 출력 디바이스에 컨텐츠를 라우팅하기 위한 시스템 및 방법
CN107635214B (zh) 基于蓝牙遥控器的响应方法、装置、系统及可读存储介质
US9288421B2 (en) Method for controlling external input and broadcast receiving apparatus
US11538458B2 (en) Electronic apparatus and method for controlling voice recognition thereof
JP7347217B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US11664024B2 (en) Artificial intelligence device
CN113314115A (zh) 终端设备的语音处理方法、终端设备及可读存储介质
KR20200127823A (ko) 허브 디바이스, 허브 디바이스 및 복수의 디바이스를 포함하는 멀티 디바이스 시스템 및 그 동작 방법
JP7009092B2 (ja) 情報処理装置および情報処理方法
US20030101057A1 (en) Method for serving user requests with respect to a network of devices
KR20190005097A (ko) 입력어를 처리하는 사용자 단말 및 방법
KR102482457B1 (ko) 음성 제어를 수행하는 디스플레이 장치 및 그 음성 제어 방법
US11810573B2 (en) Assisted speech recognition
WO2021140816A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2008046570A (ja) 音声入力システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal