KR20210001529A - 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법 - Google Patents

로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법 Download PDF

Info

Publication number
KR20210001529A
KR20210001529A KR1020190077775A KR20190077775A KR20210001529A KR 20210001529 A KR20210001529 A KR 20210001529A KR 1020190077775 A KR1020190077775 A KR 1020190077775A KR 20190077775 A KR20190077775 A KR 20190077775A KR 20210001529 A KR20210001529 A KR 20210001529A
Authority
KR
South Korea
Prior art keywords
voice
user
robot
processor
signal
Prior art date
Application number
KR1020190077775A
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 KR1020190077775A priority Critical patent/KR20210001529A/ko
Priority to US16/782,413 priority patent/US11450326B2/en
Publication of KR20210001529A publication Critical patent/KR20210001529A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • B25J11/0015Face robots, animated artificial faces for imitating human expressions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/026Acoustical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • 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/065Adaptation
    • G10L15/07Adaptation to the speaker
    • 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/16Speech classification or search using artificial neural networks
    • 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
    • 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/18Artificial neural networks; Connectionist approaches
    • 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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/26Recognition of special voice characteristics, e.g. for use in lie detectors; Recognition of animal voices
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/178Human faces, e.g. facial parts, sketches or expressions estimating age from face image; using age information for improving recognition
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Fuzzy Systems (AREA)
  • Signal Processing (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 실시 예에 따른 로봇은, 콘텐츠 진입 요청에 응답하여, 대응하는 콘텐츠를 출력하는 출력부; 사용자를 포함하는 이미지를 획득하는 카메라; 사용자로부터 발화되는 음성을 포함하는 제1 음성 신호를 획득하는 마이크로폰; 및 상기 콘텐츠, 상기 이미지, 및 상기 제1 음성 신호 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하고, 추정된 특성에 대응하는 음성인식 모드를 통해 상기 사용자의 음성을 인식하는 프로세서를 포함한다. 실시 예에 따라, 상기 프로세서는 획득된 음성 신호로부터 비정형 음성이 인식되는 경우, 인공지능 기반의 학습 모델을 통해 상기 비정형 음성으로부터 정형 음성을 인식할 수 있다.

Description

로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법{ROBOT, SERVER CONNECTED THERETO, AND METHOD FOR RECOGNIZING VOICE USING ROBOT}
본 발명은 로봇에 관한 것으로서, 특히 사용자로부터 발화된 음성을 인식하는 로봇, 그와 연결되는 서버, 및 상기 로봇을 이용한 음성 인식 방법에 관한 것이다.
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계로서, 로봇의 응용분야는 대체로 산업용, 의료용, 우주용, 해저용 등 다양한 분야로 분류된다. 최근에는 음성이나 제스쳐 등을 통해 인간과 커뮤니케이션이나 인터랙션을 수행할 수 있는 커뮤니케이션 로봇이 증가되는 추세이다.
이러한 커뮤니케이션 로봇은 특정 장소에 배치되어 이용자에게 각종 정보를 안내하는 안내 로봇이나, 가정에 구비되는 홈 로봇 등 다양한 종류의 로봇을 포함할 수 있다. 또한, 커뮤니케이션 로봇은 학습자와의 인터랙션을 통해 상기 학습자의 학습을 지도하거나 보조하는 교육용 로봇을 포함할 수 있다.
커뮤니케이션 로봇은 다양한 구성들을 이용하여 사용자나 학습자 등과의 인터랙션을 수행하도록 구현될 수 있다. 예컨대, 커뮤니케이션 로봇은 사용자 또는 학습자의 음성을 획득하는 마이크로폰을 포함할 수 있다. 이 경우, 커뮤니케이션 로봇 또는 그와 연결되는 서버는 상기 음성을 인식함으로써 의미를 파악하거나 인식된 음성에 포함된 명령을 처리할 수 있다.
한편, 종래의 음성 인식 기법은, 획득된 음성 신호의 특성(주파수, 파형 패턴 등)을 기준 데이터와 매칭시켜 상기 음성 신호에 포함된 음성을 획득한다. 이 때 대부분의 음성 인식용 기준 데이터는 성인 남성의 음성을 기준으로 생성된 것일 수 있다.
이에 따라, 성인 남성의 음성 신호 특성과 다른 특성을 갖는 음성 신호(예컨대 아동이나 여성)가 획득되는 경우, 종래의 음성 인식 기법에 따르면 음성 인식 정확도가 저하되는 문제가 발생한다. 또한, 제조사 등이 다양한 사용자 특성 각각에 대한 기준 데이터를 획득 및 생성하는 것은 비용 및 시간 측면에서 비효율적일 수 있다.
본 발명이 해결하고자 하는 과제는, 음성을 발화하는 사용자의 특성을 추정하여 음성 인식 동작을 수행함으로써 음성 인식 정확도를 향상시킬 수 있는 로봇, 서버, 및 상기 로봇을 이용한 음성 인식 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는, 특히 아동에 대한 음성 인식 정확도를 향상시킬 수 있는 로봇, 서버, 및 상기 로봇을 이용한 음성 인식 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 로봇은, 콘텐츠 진입 요청에 응답하여, 대응하는 콘텐츠를 출력하는 출력부; 사용자를 포함하는 이미지를 획득하는 카메라; 사용자로부터 발화되는 음성을 포함하는 제1 음성 신호를 획득하는 마이크로폰; 및 상기 콘텐츠, 상기 이미지, 및 상기 제1 음성 신호 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하고, 추정된 특성에 대응하는 음성인식 모드를 통해 상기 사용자의 음성을 인식하는 프로세서를 포함한다.
상기 사용자의 특성은 성별 및 연령대 중 적어도 하나를 포함할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 출력되는 콘텐츠의 명칭, 카테고리, 연령제한정보, 및 이용자 통계 중 적어도 하나의 정보에 기초하여 상기 사용자의 특성을 추정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 이미지에 포함된 상기 사용자의 신체 특성, 및 착용 의상의 특성에 기초하여 상기 사용자의 특성을 추정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 제1 음성 신호의 주파수 특성, 신호 세기, 상기 제1 음성 신호에 포함된 음성의 인식에 기초한 발화 특성 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 추정된 사용자의 특성이 아동에 대응하는 경우, 상기 음성인식 모드를 아동 음성인식 모드로 설정하고, 음성입력 대기시간을 기본 음성인식 모드에 비해 증가시킬 수 있다.
실시 예에 따라, 상기 프로세서는 상기 아동 음성인식 모드로 동작 중 상기 마이크로폰을 통해 상기 사용자가 발화한 음성을 포함하는 제2 음성 신호를 획득하고, 상기 제2 음성 신호의 주파수를 기 정의된 음성인식 기준 데이터의 주파수 대역과 대응하도록 시프트하고, 상기 제2 음성 신호의 세기를 상기 음성인식 기준 데이터의 세기에 대응하도록 증폭하고, 상기 시프트 및 증폭된 제2 음성 신호로부터 상기 사용자가 발화한 음성을 인식할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 아동 음성인식 모드로 동작 중, 상기 마이크로폰을 통해 상기 사용자가 발화한 비정형 음성을 포함하는 제3 음성 신호를 획득하고, 획득된 제3 음성 신호로부터 상기 비정형 음성이 인식되는 경우, 메모리에 저장된 학습 모델을 통해 상기 제3 음성 신호 또는 상기 비정형 음성으로부터 정형 음성을 인식하고, 상기 학습 모델은 머신 러닝 기반의 인공신경망을 포함할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 콘텐츠의 출력 종료 시 상기 아동 음성인식 모드로부터 기본 음성인식 모드로 전환할 수 있다.
상기 로봇은 서버와 연결되는 통신부를 더 포함하고, 상기 프로세서는, 상기 콘텐츠와 관련된 정보, 상기 이미지, 및 상기 제1 음성 신호 중 적어도 하나를 상기 서버로 전송하고, 상기 서버로부터 상기 사용자의 특성에 대한 추정 결과를 획득하고, 획득된 추정 결과에 대응하는 음성인식 모드를 설정할 수 있다.
본 발명의 실시 예에 따른 서버는 사용자의 음성을 포함하는 음성 신호를 획득하는 로봇과 연결되고, 상기 서버는 상기 로봇과 연결되는 통신부; 및 상기 로봇으로부터, 출력되는 콘텐츠의 정보, 상기 사용자를 포함하는 이미지, 및 상기 사용자의 음성을 포함하는 제1 음성 신호 중 적어도 하나를 수신하고, 상기 수신된 콘텐츠의 정보, 이미지, 및 제1 음성 신호 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하고, 추정된 특성에 대응하는 음성인식 모드를 통해 상기 사용자의 음성을 인식하는 프로세서를 포함할 수 있다.
본 발명의 실시 예에 따르면, 로봇 또는 그와 연결되는 서버는 콘텐츠, 사용자의 이미지, 및 음성에 기초하여 사용자의 특성을 추정하고, 추정된 사용자의 특성에 대응하는 음성인식 모드를 통해, 다양한 사용자들의 음성을 보다 정확히 인식할 수 있다.
또한, 로봇 또는 서버는 아동의 발화 특성이나 언어 구사력을 반영하는 아동 음성인식 모드를 통해, 로봇을 이용하는 아동으로부터 발화되는 음성을 보다 정확히 인식할 수 있다.
뿐만 아니라, 로봇 또는 서버는 아동과 같이 비정형 음성의 발화 빈도가 높은 사용자로부터 발화되는 음성에 대해, 기 학습된 학습 모델을 이용하여 상기 발화된 음성을 원활히 인식함으로써, 기 정의된 형태의 음성이 아닌 음성에 대해서도 인식률을 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 장치를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 로봇과 연결되는 AI 서버를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 시스템을 나타낸다.
도 4는 본 발명의 일 실시 예에 따른 로봇의 제어 구성을 나타내는 블록도이다.
도 5는 로봇 또는 그와 연결되는 서버가, 사용자의 특성에 따른 음성인식모드로 동작하는 실시 예를 설명하기 위한 플로우차트이다.
도 6은 도 5의 실시 예와 관련하여, 추정된 사용자가 아동인 경우 로봇 또는 서버가 아동 음성인식 모드로 동작하는 실시 예를 설명하기 위한 플로우차트이다.
도 7 내지 도 8은 도 6의 실시 예와 관련하여, 로봇 또는 서버가 사용자의 특성을 추정하는 동작을 설명하기 위한 예시도들이다.
도 9는 로봇 또는 서버가 아동 음성인식 모드에서 음성인식을 수행하는 동작의 일 실시 예를 설명하기 위한 플로우차트이다.
도 10은 아동의 음성 신호와 성인 남성의 음성 신호 간의 특성 차이를 보여주는 예시도이다.
도 11은 로봇 또는 서버가 아동 음성인식 모드에서 음성인식을 수행하는 동작의 일 실시 예를 설명하기 위한 플로우차트이다.
도 12 내지 도 13은 도 11에 도시된 실시 예와 관련된 예시도들이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명한다. 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
도 1은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 장치를 나타낸다.
AI 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, AI 장치(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치(100a 내지 100e)나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 2는 본 발명의 일 실시 예에 따른 로봇과 연결되는 AI 서버를 나타낸다.
도 2를 참조하면, AI 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 시스템을 나타낸다.
도 3을 참조하면, AI 시스템(1)은 AI 서버(200), 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상이 클라우드 네트워크(10)와 연결된다. 여기서, AI 기술이 적용된 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 등을 AI 장치(100a 내지 100e)라 칭할 수 있다.
클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.
즉, AI 시스템(1)을 구성하는 각 장치들(100a 내지 100e, 200)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(100a 내지 100e, 200)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.
AI 서버(200)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다.
AI 서버(200)는 AI 시스템(1)을 구성하는 AI 장치들인 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상과 클라우드 네트워크(10)을 통하여 연결되고, 연결된 AI 장치들(100a 내지 100e)의 AI 프로세싱을 적어도 일부를 도울 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(100a 내지 100e)에 전송할 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(100a 내지 100e)로 전송할 수 있다.
또는, AI 장치(100a 내지 100e)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.
이하에서는, 상술한 기술이 적용되는 AI 장치(100a 내지 100e)의 다양한 실시 예들을 설명한다. 여기서, 도 3에 도시된 AI 장치(100a 내지 100e)는 도 1에 도시된 AI 장치(100)의 구체적인 실시 예로 볼 수 있다.
로봇(100a)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100a)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100a)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100a)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100a)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100a)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100a)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100a)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100a)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100a)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100a)을 주행시킬 수 있다.
맵 데이터에는 로봇(100a)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100a)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100a)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
이하, 본 발명에 따른 로봇의 구성 및 로봇을 이용한 음성 인식 방법의 다양한 실시 예들을 설명한다.
도 4는 본 발명의 일 실시 예에 따른 로봇의 제어 구성을 나타내는 블록도이다.
도 4를 참조하면, 로봇(100a)은 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 회전 기구(160), 메모리(170), 및 프로세서(180)를 포함할 수 있다. 도 4에 도시된 구성들은 설명의 편의를 위한 일례로서, 로봇(100a)은 도 4에 도시된 구성들보다 많거나 적은 구성들을 포함할 수 있다.
한편, 도 1의 AI 장치(100)와 관련된 내용은 본 발명의 로봇(100a)에도 유사하게 적용되는 바, 도 1에서 상술한 내용과 중복되는 내용은 생략한다.
통신부(110)는 로봇(100a)을 네트워크를 통해 서버, 이동 단말기, 다른 로봇 등과 연결하기 위한 통신 모듈들을 포함할 수 있다. 상기 통신 모듈들 각각은 도 1에서 상술한 통신 기술 중 어느 하나를 지원할 수 있다.
예컨대, 로봇(100a)은 공유기 등의 액세스 포인트를 통해 네트워크와 연결될 수 있다. 이에 따라, 로봇(100a)은 입력부(120)나 센싱부(140) 등을 통해 획득되는 각종 정보를, 상기 네트워크를 통해 서버나 이동 단말기로 제공할 수 있다.
한편, 상기 서버는 도 2에서 상술한 AI 서버(200)에 해당할 수 있다. 이 경우, 상기 서버(200)는 로봇(100a)으로부터 이미지 데이터, 음성 신호 등을 수신하고, 수신된 이미지 데이터 및/또는 음성 신호로부터 사용자 특성을 추정할 수 있다.
입력부(120)는 다양한 종류의 데이터를 획득하는 적어도 하나의 입력 수단을 포함할 수 있다. 예컨대, 상기 적어도 하나의 입력 수단은 버튼이나 다이얼 등의 물리 입력 수단, 터치 패드나 터치 패널과 같은 터치 입력부(122), 사용자의 음성이나 로봇(100a) 주변의 소리 등을 수신하는 마이크로폰(124) 등을 포함할 수 있다. 사용자는 입력부(120)를 통해 각종 요청이나 명령을 로봇(100a)으로 입력할 수 있다.
한편, 프로세서(180)는 마이크로폰(124)을 통해 수신되는 사용자의 음성 데이터를 상기 통신부(110)를 통해 서버로 전송할 수 있다. 서버는 상기 음성 데이터를 분석하여 상기 음성 데이터 내의 시동어나 명령어, 요청 등을 인식하고, 인식 결과를 로봇(100a)으로 제공할 수 있다. 실시 예에 따라, 상기 서버는 도 2에서 상술한 AI 서버(200)로 구현될 수 있고, 이 경우 서버는 러닝 프로세서(230)를 통해 학습된 모델(인공신경망(231a))을 통해 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 인식할 수 있다. 프로세서(180)는 상기 인식 결과에 기초하여 명령어 또는 요청을 처리하는 등 인식 결과에 대응하는 동작을 수행할 수 있다.
실시 예에 따라, 프로세서(180)는 로봇(100a) 내의 러닝 프로세서(130)에 의해 학습된 모델을 통해, 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 직접 인식할 수도 있다. 또는, 프로세서(180)는 상기 서버로부터 상기 학습된 모델에 대응하는 데이터를 수신하여 메모리(170)에 저장하고, 저장된 데이터를 통해 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 인식할 수도 있다.
센싱부(140)는 로봇(100a) 주변의 다양한 정보를 센싱하는 적어도 하나의 센서를 포함할 수 있다. 예컨대 센싱부(140)는 카메라(142), 근접 센서, 조도 센서, 터치 센서, 및 자이로 센서(자이로스코프) 등의 다양한 센서들을 포함할 수 있다.
카메라(142)는 로봇(100a) 주변의 영상을 획득할 수 있다. 실시 예에 따라, 프로세서(180)는 카메라(142)를 통해 사용자의 얼굴을 포함하는 이미지를 획득하여 사용자를 인식하거나, 사용자의 제스쳐나 표정 등을 획득할 수 있다.
근접 센서는 로봇(100a) 주변에 사용자 등의 오브젝트가 접근함을 감지할 수 있다. 예컨대, 근접 센서에 의해 사용자의 접근이 감지되는 경우, 프로세서(180)는 출력부(150)를 통해 초기 화면이나 초기 음성을 출력하여 사용자로 하여금 로봇(100a)의 사용을 유도할 수 있다.
조도 센서는 로봇(100a)이 배치된 공간의 밝기를 감지할 수 있다. 프로세서(180)는 상기 조도 센서의 감지 결과 및/또는 시간대 정보에 기초한 다양한 동작을 수행하도록 구성들을 제어할 수 있다.
터치 센서는 사용자의 신체 일부가 로봇(100a)의 소정 영역에 접촉됨을 감지할 수 있다.
자이로 센서는 로봇(100a)의 회전각이나 기울기 등을 감지할 수 있다. 프로세서(180)는 자이로 센서의 감지 결과에 기초하여 로봇(100a)이 향하는 방향을 인식하거나, 외부로부터의 충격 등을 감지할 수 있다.
출력부(150)는 로봇(100a)의 동작이나 상태, 로봇(100a)에서 실행되는 각종 서비스, 프로그램, 애플리케이션 등과 관련된 각종 정보 또는 콘텐츠를 출력할 수 있다. 또한, 출력부(150)는 사용자와의 인터랙션을 수행하기 위한 각종 메시지나 정보를 출력할 수 있다.
출력부(150)는 디스플레이(152), 스피커(154), 및 광 출력부(156) 등을 포함할 수 있다.
디스플레이(152)는 상술한 각종 정보나 메시지를 그래픽 형태로 출력할 수 있다. 실시 예에 따라, 디스플레이(152)는 터치 입력부(122)와 함께 터치 스크린 형태로 구현될 수 있고, 이 경우 디스플레이 (152)는 출력 수단뿐만 아니라 입력 수단으로서도 기능할 수 있다.
스피커(154)는 상기 각종 정보나 메시지를 음성이나 음향 형태로 출력할 수 있다.
광 출력부(156)는 LED 등의 광원으로 구현될 수 있다. 프로세서(180)는 광 출력부(156)를 통해 로봇(100a)의 상태 등을 나타낼 수 있다. 실시 예에 따라, 광 출력부(156)는 보조적인 출력 수단으로서 디스플레이(152) 및/또는 스피커(154)와 함께 각종 정보를 사용자에게 제공할 수도 있다.
회전 기구(160)는 로봇(100a)을 수직 축을 기준으로 회전시키기 위한 구성들(모터 등)을 포함할 수 있다. 프로세서(180)는 상기 회전 기구(160)를 제어하여 로봇(100a)을 회전시킴으로써, 로봇(100a)의 디스플레이(152) 및 카메라(142)가 향하는 방향을 변경시킬 수 있다.
실시 예에 따라, 회전 기구(160)는 로봇(100a)을 전후 방향으로 소정 각도 틸팅시키기 위한 구성들을 더 포함할 수도 있다.
메모리(170)는 로봇(100a)에 포함된 구성 요소들의 동작을 제어하기 위한 제어 데이터, 입력부(120)를 통해 획득된 입력이나 센싱부(140)를 통해 획득되는 정보에 기초한 동작을 수행하기 위한 데이터 등의 각종 데이터가 저장될 수 있다.
또한, 메모리(170)에는 프로세서(180)에 포함된 적어도 하나의 프로세서나 컨트롤러에 의해 실행되는 소프트웨어 모듈이나 애플리케이션 등의 프로그램 데이터가 저장될 수 있다.
이러한 메모리(170)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기를 포함할 수 있다.
프로세서(180)는 로봇(100a)의 동작을 제어하는 적어도 하나의 프로세서나 컨트롤러 등을 포함할 수 있다. 구체적으로, 프로세서(180)는 적어도 하나의 CPU, AP(application processor), 마이크로컴퓨터(또는 마이컴), 집적 회로, ASIC(application specific integrated circuit) 등을 포함할 수 있다.
도 5는 로봇 또는 그와 연결되는 서버가, 사용자의 특성에 따른 음성인식모드로 동작하는 실시 예를 설명하기 위한 플로우차트이다.
도 5를 참조하면, 로봇(100a)은 소정 콘텐츠로 진입할 수 있다(S100).
프로세서(180)는 입력부(120) 등을 통해 수신되는 콘텐츠 진입 요청에 응답하여, 상기 요청에 대응하는 콘텐츠로 진입하여 사용자에게 콘텐츠를 제공할 수 있다.
예컨대, 상기 콘텐츠 진입 요청은, 특정 어플리케이션을 통해 제공되는 복수의 영상 및/또는 사운드 콘텐츠 중 어느 하나를 출력하는 요청에 대응할 수 있다.
또는, 상기 콘텐츠 진입 요청은, 특정 콘텐츠를 제공하는 어플리케이션의 실행 요청에 대응할 수도 있다.
프로세서(180)는 디스플레이(152) 및/또는 스피커(154)를 통해 상기 콘텐츠를 출력할 수 있다.
로봇(100a)은 카메라(142)를 통해 사용자 이미지를 획득하거나(S110), 마이크로폰(124)을 통해 사용자 음성을 획득할 수 있다(S120).
프로세서(180)는 상기 콘텐츠의 출력 개시 시점 또는 출력 중 임의의 시점에서, 카메라(142)를 통해 사용자를 포함하는 이미지(사용자 이미지)를 획득할 수 있다.
또는, 프로세서(180)는 상기 콘텐츠의 출력 개시 시점 또는 출력 중 임의의 시점에서, 마이크로폰(124)을 통해 사용자의 음성(사용자 음성)을 획득할 수 있다.
S110 단계와 S120 단계는 어느 하나의 단계만이 수행되거나, 양 단계 모두 수행될 수 있다.
로봇(100a) 또는 서버(200)는 상기 콘텐츠, 사용자 이미지, 및/또는 사용자 음성에 기초하여 사용자의 특성을 추정할 수 있다(S130).
예컨대, 상기 사용자의 특성은 사용자의 연령대, 성별 등을 포함할 수 있다.
로봇(100a)의 프로세서(180)는 상기 출력되는 콘텐츠의 정보로부터 사용자의 연령대나 성별을 추정할 수 있다. 예컨대, 출력되는 콘텐츠가 아동 교육용 콘텐츠인 경우, 프로세서(180)는 사용자가 '아동'에 해당하는 연령대인 것으로 추정할 수 있다.
실시 예에 따라, 프로세서(180)는 카메라(142)를 통해 획득된 사용자 이미지로부터 사용자의 특성을 추정할 수 있다. 예컨대, 프로세서(180)는 기 공지된 다양한 방식의 얼굴 인식 알고리즘을 통해 사용자 이미지 중 사용자의 얼굴 영역을 추출하고, 추출된 얼굴 영역의 특징점들이나 픽셀 패턴 등을 통해 사용자의 특성을 추정할 수 있다. 또는, 프로세서(180)는 사용자 이미지로부터 사용자의 키 등의 신체 특성이나 착용 의상의 분석을 통해 사용자의 특성을 추정할 수도 있다.
실시 예에 따라, 프로세서(180)는 마이크로폰(124)을 통해 획득된 사용자 음성으로부터 사용자의 특성을 추정할 수 있다. 예컨대, 프로세서(180)는 사용자 음성에 해당하는 음성 신호의 주파수 특성, 세기(진폭), 음성 신호로부터 인식되는 발화 특성(말투, 발음, 발화 속도 등)에 기초하여 사용자의 특성을 추정할 수 있다.
프로세서(180)는 콘텐츠, 사용자 이미지, 및 사용자 음성 중 어느 하나만을 이용하여 사용자의 특성을 추정할 수 있으나, 실시 예에 따라서는 둘 이상의 추정 결과들 각각의 결합을 통해 최종적으로 사용자의 특성을 추정할 수도 있다.
실시 예에 따라, 상기 사용자의 특성을 추정하는 동작은, 로봇(100a)과 연결되는 서버(200)에 의해 수행될 수도 있다. 이 경우, 프로세서(180)는 상기 출력되는 콘텐츠에 대한 정보, 카메라(142)를 통해 획득된 사용자 이미지(이미지 데이터), 및/또는 마이크로폰(124)을 통해 획득된 사용자 음성(음성 신호)을 서버(200)로 전송할 수 있다. 일반적으로 서버(200)의 처리 성능은 로봇(100a)의 처리 성능보다 우수하므로, 서버(200)에 의해 상기 사용자의 특성이 보다 정확히 추정될 수 있다. 이 경우, 서버(200)는 사용자의 특성에 대한 추정 결과를 로봇(100a)으로 전송하고, 로봇(100a)은 수신된 추정 결과에 대응하는 음성인식 모드를 설정할 수 있다.
로봇(100a) 또는 서버(200)는 추정된 사용자의 특성에 대응하는 음성인식 모드로 동작하여, 사용자의 음성을 인식할 수 있다(S140).
로봇(100a)의 프로세서(180) 또는 서버(200)의 프로세서(260)는, 추정된 사용자의 특성에 대응하는 음성 인식 모드를 이용하여, 마이크로폰(124)을 통해 획득되는 사용자의 음성을 인식할 수 있다.
예컨대, 로봇(100a) 또는 서버(200)의 기본 음성 인식 모드는 '성인 남성'의 음성을 인식하기에 적합한 모드일 수 있다. 상기 기본 음성 인식 모드의 경우, 사용자가 성인 남성이 아닌 다른 특성을 갖는 사용자(예컨대 아동)로부터 발화된 음성에 대한 음성 인식 정확도가 저하될 수 있다.
따라서, 본 발명의 실시 예에 따르면, 로봇(100a) 또는 서버(200)는 추정된 사용자의 특성에 대응하는 음성 인식 모드를 통해, 다양한 사용자들의 음성을 보다 정확히 인식할 수 있다.
도 6은 도 5의 실시 예와 관련하여, 추정된 사용자가 아동인 경우, 로봇 또는 서버가 아동 음성인식 모드로 동작하는 실시 예를 설명하기 위한 플로우차트이다.
도 6의 실시 예에서는 로봇(100a) 또는 서버(200)의 음성인식 모드가 기본 음성인식 모드 및 아동 음성인식 모드를 포함하는 것으로 가정하여 설명한다.
도 6을 참조하면, S200 단계 내지 S230 단계는 도 5의 S100 단계 내지 S130 단계와 실질적으로 동일한 바, 이에 대한 설명은 생략하기로 한다.
추정된 사용자가 '아동'에 해당하는 경우(S240의 YES), 로봇(100a) 또는 서버(200)는 아동 음성인식 모드로 동작할 수 있다(S250).
추정된 사용자가 아동이므로, 마이크로폰(124)을 통해 수신되는 음성 신호는 아동의 음성을 포함할 수 있다. 이 경우, 상기 음성 신호의 특성은, 음성 인식을 위한 기준 데이터의 음성 특성(예컨대, 성인 남성의 음성 신호의 특성)과 다를 수 있다.
따라서, 로봇(100a)의 프로세서(180) 또는 서버(200)의 프로세서(260)는, 마이크로폰(124)을 통해 수신되는 음성 신호를 상기 기준 데이터의 음성 특성에 대응하도록 변환하고, 변환된 음성 신호를 이용하여 음성 인식 동작을 수행할 수 있다.
또한, 아동이 발화하는 단어나 어구, 문장은 성인이 발화하는 단어나 어구, 문장과는 그 형식이 상이할 수 있다. 예컨대, 로봇(100a) 또는 서버(200)는 정형화된 문법이나 형태를 갖는 음성을 획득함으로써 획득된 음성의 의미나 대응하는 명령을 인식할 수 있다. 그러나, 아동은 정형화된 문법이나 형태가 아닌 비정형 음성(예컨대 구어체, 문법적 오류를 갖는 어구나 문장 등)을 발화할 수 있다. 로봇(100a) 또는 서버(200)는 아동 음성인식 모드로 동작 시, 상기 비정형 음성이 획득되는 경우에도, 상기 비정형 음성에 대응하는 정형 음성을 인식함으로써 원활한 음성 처리를 가능하게 한다.
아동 음성인식 모드와 관련된 내용은 추후 도 9 내지 도 13을 통해 보다 상세히 설명하기로 한다.
반면 추정된 사용자가 '아동'이 아닌 경우(S240의 NO), 로봇(100a) 또는 서버(200)는 기본 음성인식 모드로 동작할 수 있다(S260).
한편, 아동 음성인식 모드로 동작 중 콘텐츠가 종료되는 경우(S270의 YES), 로봇(100a) 또는 서버(200)는 기본 음성인식 모드로 전환하여 동작할 수 있다(S280).
실시 예에 따라, 로봇(100a) 또는 서버(200)는 상기 콘텐츠가 종료된 후에도, 현재 사용자가 지속적으로 인식되는 경우에는 음성인식 모드를 아동 음성인식 모드로 유지시킬 수도 있다.
도 7 내지 도 8은 도 6의 실시 예와 관련하여, 로봇 또는 서버가 사용자의 특성을 추정하는 동작을 설명하기 위한 예시도들이다.
도 7을 참조하면, 프로세서(180)는 사용자의 콘텐츠 진입 요청에 응답하여 콘텐츠를 실행하고, 상기 콘텐츠와 관련된 화면(700)을 디스플레이(152)를 통해 출력할 수 있다.
한편, 프로세서(180)는 실행된 콘텐츠의 정보에 기초하여 상기 콘텐츠의 주된 사용자에 대한 특성을 추정할 수 있다. 예컨대, 상기 콘텐츠의 정보는 콘텐츠명, 콘텐츠 카테고리, 연령제한정보, 이용자 통계 등을 포함할 수 있다. 예컨대, 프로세서(180)는 상기 실행된 콘텐츠가 동화 콘텐츠임을 상기 정보로부터 획득함으로써, 사용자가 아동인 것으로 추정할 수 있다.
또는, 프로세서(180)는 상기 실행된 콘텐츠의 정보를 서버(200)로 전송하고, 서버(200)의 프로세서(260)는 수신된 콘텐츠의 정보로부터 사용자의 특성을 추정할 수 있다.
도 8을 참조하면, 프로세서(180)는 카메라(142)를 통해 사용자(800)를 포함하는 사용자 이미지를 획득할 수 있다. 프로세서(180)는 획득된 사용자 이미지에 포함된 사용자(800)의 신체 특성(얼굴, 키 등)이나 착용 의상의 특성으로부터 사용자(800)가 아동임을 추정할 수 있다.
또는, 프로세서(180)는 마이크로폰(124a~124c)을 통해 사용자(800)가 발화한 음성(810)을 획득하고, 획득된 음성(810)의 신호 특성(주파수, 세기 등)이나, 획득된 음성(810)의 인식에 기초한 발화 특성(단어 수준, 말투, 발음, 발화속도 등)에 기초하여 상기 사용자(800)가 아동임을 추정할 수 있다.
실시 예에 따라, 로봇(100a)에 복수의 마이크로폰들(124a~124c)이 구비된 경우, 프로세서(180)는 복수의 마이크로폰들(124a~124c) 각각으로부터 획득되는 음성 신호로부터, 사용자(800)의 위치 또는 방향을 인식할 수 있다. 이 경우, 프로세서(180)는 설정된 음성인식 모드에서 음성의 인식 동작을 수행할 때, 상기 인식된 위치 또는 방향으로부터 획득되는 음성 신호에 대해서만 음성 인식 동작을 수행할 수도 있다.
도 9는 로봇 또는 서버가 아동 음성인식 모드에서 음성인식을 수행하는 동작의 일 실시 예를 설명하기 위한 플로우차트이다. 도 10은 아동의 음성 신호와 성인 남성의 음성 신호 간의 특성 차이를 보여주는 예시도이다.
도 9를 참조하면, 로봇(100a) 또는 서버(200)는 실행된 콘텐츠, 사용자 이미지, 및/또는 사용자 음성에 기초하여 추정된 사용자가 아동인 경우 아동 음성인식 모드로 진입할 수 있다(S300).
S300 단계와 관련된 내용은 도 6의 S200 단계 내지 S250 단계에서 상술한 바 있으므로, 이에 대한 설명은 생략한다.
로봇(100a)은 아동 음성인식 모드로 진입된 경우, 기설정된 음성 입력 대기시간을 조절하고, 마이크로폰(124)을 통해 사용자의 발화 음성을 포함하는 음성 신호를 획득할 수 있다(S310).
일반적으로, 로봇(100a)의 발화 요청에 따른 아동의 발화 응답 속도는, 성인의 발화 응답 속도에 비해 느릴 수 있다. 이에 따라, 프로세서(180)는 아동 음성인식 모드에서의 음성입력 대기시간을, 기본 음성인식 모드에 대해 설정된 음성입력 대기시간보다 길게 조절할 수 있다.
실시 예에 따라, 프로세서(180)는 상기 아동의 발화 응답의 대기 중 카메라(142)를 통해 상기 아동의 이미지를 획득할 수 있다. 프로세서(180)는 획득된 이미지로부터 상기 아동이 로봇(100a) 또는 로봇(100a)의 디스플레이(152)를 바라보고 있는 상태가 인식되는 경우에는, 상기 음성입력 대기시간을 지속적으로 증가시킬 수도 있다.
프로세서(180)는 마이크로폰(124)을 통해 사용자(아동)로부터 발화된 음성을 포함하는 음성 신호를 획득할 수 있다. 실시 예에 따라, 프로세서(180)는 획득된 음성 신호를 서버(200)로 전송하도록 통신부(110)를 제어할 수도 있다.
로봇(100a) 또는 서버(200)는, 상기 획득된 음성 신호를, 음성인식 기준 데이터의 특성에 대응하도록 변환할 수 있다(S320).
상술한 바와 같이, 상기 음성인식 기준 데이터는 성인 남성의 음성을 기준으로 생성된 것일 수 있다. 이에 따라, 로봇(100a)의 프로세서(180) 또는 서버(200)의 프로세서(260)는, 획득된 음성 신호의 신호 특성을 상기 음성인식 기준 데이터의 특성에 대응하도록 변환할 수 있다.
이와 관련하여 도 10의 (a)를 참조하면, 일반적으로 아동이 발화하는 음성의 기본주파수는, 성인 남성이 발화하는 음성의 기본주파수보다 높을 수 있다.
이에 따라, 프로세서(180 또는 260)는, 획득된 음성 신호의 주파수를 시프트하여 상기 음성인식 기준 데이터의 주파수 대역과 대응시킬 수 있다.
또한, 도 10의 (b)를 참조하면, 일반적으로 아동이 발화하는 음성의 크기(세기)는 성인 남성이 발화하는 음성의 크기보다 작을 수 있다.
이에 따라, 프로세서(180 또는 260)는 획득된 음성 신호를 증폭시켜 상기 음성인식 기준 데이터의 음성 크기(세기)와 대응시킬 수 있다. 실시 예에 따라, 프로세서(180 또는 260)는 상기 음성 신호의 증폭에 따라 증가하는 노이즈 성분을 필터링시킬 수 있다.
즉, 상기 주파수 시프트, 신호 증폭, 및 노이즈 필터링에 의해, 상기 획득된 음성 신호의 특성은 음성인식 기준 데이터의 특성에 대응될 수 있다.
한편, 프로세서(180 또는 260)는 상기 사용자가 아닌 다른 사용자에 의해 발화된 음성을 포함하는 음성 신호가 획득되는 경우, 상기 다른 사용자의 음성을 노이즈로 처리하거나, 상기 획득된 음성 신호를 변환하지 않거나, 상기 음성 신호에 포함된 음성을 인식하지 않을 수 있다. 즉, 프로세서(180 또는 260)는 최초 인식된 사용자의 음성에 해당하는 음성 신호만을 변환 및 인식할 수 있다.
다시 도 9를 설명한다.
로봇(100a) 또는 서버(200)는 변환된 음성 신호로부터 음성을 인식할 수 있다(S330).
프로세서(180 또는 260)는 S320 단계에 따라 변환된 음성 신호로부터, 기공지된 음성 인식 기법을 통해 사용자가 발화한 음성을 인식할 수 있다.
즉, 로봇(100a) 또는 서버(200)는 로봇(100a)의 사용자를 추정하고, 추정된 사용자에 대응하는 음성인식 모드로 음성을 인식함으로써, 서로 다른 특성을 갖는 사용자들에 대해 소정 수준 이상의 음성인식 정확도를 제공할 수 있다.
도 11은 로봇 또는 서버가 아동 음성인식 모드에서 음성인식을 수행하는 동작의 일 실시 예를 설명하기 위한 플로우차트이다.
도 11을 참조하면, S400 단계 및 S410 단계는 도 9의 S300 단계 및 S310 단계와 실질적으로 동일할 수 있다.
로봇(100a) 또는 서버(200)는 상기 획득된 음성 신호로부터 비정형 음성을 획득할 수 있다(S420).
본 명세서에서 비정형 음성이란, 구어체, 문법적 오류를 갖는 어구나 문장 등과 같이 로봇(100a)이 인식 및 처리가능한 정형화된 형태의 음성(정형 음성)이 아닌 음성을 지칭할 수 있다. 일반적으로, 언어 구사능력이 성인에 비해 낮은 아동의 경우 상기 비정형 음성을 발화할 가능성이 성인보다 상대적으로 높을 수 있다.
종래의 음성인식 장치(로봇, 서버 등)의 경우, 상기 비정형 음성에 대한 음성 인식률이 현저히 낮거나, 상기 비정형 음성을 인식하지 못할 수 있다.
로봇(100a) 또는 서버(200)는 획득된 비정형 음성으로부터 정형 음성을 인식할 수 있다(S430).
본 명세서에서 정형 음성은 로봇(100a) 또는 서버(200)가 인식 및 처리가능한 정형화된 형태의 음성에 해당한다. 예컨대, 정형 음성은 문법적 오류가 없는 어구나 문장, 로봇(100a)과 사용자 사이에 기 정의된 형태의 단어, 어구, 문장을 의미할 수 있다.
예컨대, 프로세서(180 또는 260)는 러닝 프로세서(130 또는 240)에 의해 기 학습된 학습 모델을 이용하여, 상기 비정형 음성으로부터 정형 음성을 인식할 수 있다. 상기 학습 모델은 머신 러닝(예컨대 딥 러닝) 기반으로 학습 및 구축된 인공신경망을 포함할 수 있다.
로봇(100a) 또는 서버(200)는 상기 학습 모델을 이용하여 비정형 음성으로부터 정형 음성을 인식함으로써, 사용자가 발화한 음성의 의미를 정확히 이해하거나, 발화한 음성에 대응하는 동작을 정상적으로 수행할 수 있다.
도 12 내지 도 13은 도 11에 도시된 실시 예와 관련된 예시도들이다.
도 12와 도 13을 참조하면, 로봇(100a)은 사용자(1200)에게 교육용 동화 콘텐츠를 제공할 수 있다. 상기 교육용 동화 콘텐츠의 제공 시, 프로세서(180)는 디스플레이(152)를 통해 콘텐츠와 관련된 화면(700)을 출력하거나, 스피커(154)를 통해 콘텐츠와 관련된 사운드를 출력할 수 있다.
한편, 프로세서(180)는 상기 콘텐츠, 사용자 이미지, 및/또는 사용자의 음성에 기초하여 사용자(1200)가 아동인 것으로 추정하고, 음성인식 모드를 아동 음성인식 모드로 전환할 수 있다.
일 실시 예에 따라, 상기 콘텐츠의 제공 중, 프로세서(180)는 사용자(1200)에게 질의 메시지(1210)를 출력함으로써, 사용자(1200)의 응답을 유도할 수 있다. 사용자(1200)는 출력된 질의 메시지(1210)에 기초한 응답(1220)을 발화할 수 있다.
한편, 상기 콘텐츠와 관련된 데이터에는, 상기 질의 메시지(1210)에 대응하는 응답 데이터가 기 저장되어 있을 수 있다. 예컨대, 상기 질의 메시지(1210)에 대응하는 응답 데이터는 "검정 강아지" 또는 "검은색 강아지"일 수 있다. 이 경우, 도 11에서 상술한 정형 음성은 "검정 강아지" 또는 "검은색 강아지"에 해당할 수 있다.
한편, 사용자(1200)는 상기 질의 메시지(1210)에 기초하여 "강아지, 깜깜해"라는 응답(1220)을 발화할 수 있다. 상기 응답(1220)은 문법적 오류가 존재하거나 불완전 문장에 해당하는 비정형 음성일 수 있다.
프로세서(180)는 마이크로폰(124a~124c)을 통해 상기 응답(1220)을 획득할 수 있다. 상기 획득된 응답(1220)은 "강아지, 깜깜해" 라는 비정형 음성을 포함하는 음성 신호(VS)에 해당할 수 있다. 실시 예에 따라, 프로세서(180)는 상기 음성 신호(VS)를 서버(200)로 전송할 수 있다.
프로세서(180 또는 260)는 획득된 음성 신호(VS)로부터 상기 비정형 음성이인식되는 경우, 상기 음성 신호(VS)(또는 비정형 음성에 대응하는 텍스트나 코드)를 러닝 프로세서(130 또는 240)에 의해 학습된 학습 모델로 입력할 수 있다. 상기 학습 모델은 도 2에서 상술한 인공신경망(231a)에 해당할 수 있다.
러닝 프로세서(130 또는 240)은 다양한 음성 신호들, 상기 콘텐츠와 관련된키워드들을 갖는 콘텐츠 키워드 DB를 이용하여 학습 동작을 수행하고, 학습 동작의 수행에 따라 상기 학습 모델(인공신경망)을 생성할 수 있다. 즉, 상기 학습 모델은, 입력된 음성 신호에 대응하는 비정형 음성으로부터, 상기 콘텐츠 키워드 DB에 포함된 키워드들을 바탕으로 정형 음성을 인식할 수 있다.
프로세서(180 또는 260)는 학습 모델을 통해, 상기 획득된 음성 신호(VS)로부터 정형 음성(V_IN)을 인식할 수 있다. 예컨대, 상기 학습 모델은 상기 입력된 음성 신호(VS)로부터 "검정 강아지"라는 정형 음성(V_IN)을 인식 결과로서 출력할 수 있다. 이 경우, 프로세서(180 또는 260)는 사용자(1200)가 질의 메시지(1210)에 대한 올바른 응답을 발화한 것으로 판단할 수 있다.
즉, 로봇(100a) 또는 서버(200)는 사용자(1200), 특히 아동과 같이 비정형 음성의 발화 빈도가 높은 사용자로부터 발화되는 음성을 원활히 인식하고, 인식된 음성에 기초하여 의미를 파악하거나 동작을 수행할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 콘텐츠 진입 요청에 응답하여, 대응하는 콘텐츠를 출력하는 출력부;
    사용자를 포함하는 이미지를 획득하는 카메라;
    사용자로부터 발화되는 음성을 포함하는 제1 음성 신호를 획득하는 마이크로폰; 및
    상기 콘텐츠, 상기 이미지, 및 상기 제1 음성 신호 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하고,
    추정된 특성에 대응하는 음성인식 모드를 통해 상기 사용자의 음성을 인식하는 프로세서를 포함하는 로봇.
  2. 제1항에 있어서,
    상기 사용자의 특성은 성별 및 연령대 중 적어도 하나를 포함하는 로봇.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 출력되는 콘텐츠의 명칭, 카테고리, 연령제한정보, 및 이용자 통계 중 적어도 하나의 정보에 기초하여 상기 사용자의 특성을 추정하는 로봇.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 이미지에 포함된 상기 사용자의 신체 특성, 및 착용 의상의 특성에 기초하여 상기 사용자의 특성을 추정하는 로봇.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 음성 신호의 주파수 특성, 신호 세기, 상기 제1 음성 신호에 포함된 음성의 인식에 기초한 발화 특성 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하는 로봇.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 추정된 사용자의 특성이 아동에 대응하는 경우, 상기 음성인식 모드를 아동 음성인식 모드로 설정하고,
    음성입력 대기시간을 기본 음성인식 모드에 비해 증가시키는 로봇.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 아동 음성인식 모드로 동작 중 상기 마이크로폰을 통해 상기 사용자가 발화한 음성을 포함하는 제2 음성 신호를 획득하고,
    상기 제2 음성 신호의 주파수를 기 정의된 음성인식 기준 데이터의 주파수 대역과 대응하도록 시프트하고,
    상기 제2 음성 신호의 세기를 상기 음성인식 기준 데이터의 세기에 대응하도록 증폭하고,
    상기 시프트 및 증폭된 제2 음성 신호로부터 상기 사용자가 발화한 음성을 인식하는 로봇.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 아동 음성인식 모드로 동작 중, 상기 마이크로폰을 통해 상기 사용자가 발화한 비정형 음성을 포함하는 제3 음성 신호를 획득하고,
    획득된 제3 음성 신호로부터 상기 비정형 음성이 인식되는 경우, 메모리에 저장된 학습 모델을 통해 상기 제3 음성 신호 또는 상기 비정형 음성으로부터 정형 음성을 인식하고,
    상기 학습 모델은 머신 러닝 기반의 인공신경망을 포함하는 로봇.
  9. 제6항에 있어서,
    상기 프로세서는,
    상기 콘텐츠의 출력 종료 시 상기 아동 음성인식 모드로부터 기본 음성인식 모드로 전환하는 로봇.
  10. 제1항에 있어서,
    서버와 연결되는 통신부를 더 포함하고,
    상기 프로세서는,
    상기 콘텐츠와 관련된 정보, 상기 이미지, 및 상기 제1 음성 신호 중 적어도 하나를 상기 서버로 전송하고,
    상기 서버로부터 상기 사용자의 특성에 대한 추정 결과를 획득하고, 획득된 추정 결과에 대응하는 음성인식 모드를 설정하는 로봇.
  11. 사용자의 음성을 포함하는 음성 신호를 획득하는 로봇과 연결된 서버에 있어서,
    상기 로봇과 연결되는 통신부; 및
    상기 로봇으로부터, 출력되는 콘텐츠의 정보, 상기 사용자를 포함하는 이미지, 및 상기 사용자의 음성을 포함하는 제1 음성 신호 중 적어도 하나를 수신하고,
    상기 수신된 콘텐츠의 정보, 이미지, 및 제1 음성 신호 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하고,
    추정된 특성에 대응하는 음성인식 모드를 통해 상기 사용자의 음성을 인식하는 프로세서를 포함하고,
    상기 사용자의 특성은 성별 및 연령대 중 적어도 하나를 포함하는 서버.
  12. 제11항에 있어서,
    상기 콘텐츠의 정보는 명칭, 카테고리, 연령제한정보, 및 이용자 통계 중 적어도 하나의 정보를 포함하고,
    상기 프로세서는,
    상기 이미지에 포함된 상기 사용자의 신체 특성, 및 착용 의상의 특성에 기초하여 상기 사용자의 특성을 추정하거나,
    상기 제1 음성 신호의 주파수 특성, 신호 세기, 상기 제1 음성 신호에 포함된 음성의 인식에 기초한 발화 특성 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하는 서버.
  13. 제11항에 있어서,
    상기 프로세서는,
    상기 추정된 사용자의 특성이 아동에 대응하는 경우, 상기 음성인식 모드를 아동 음성인식 모드로 설정하고,
    음성입력 대기시간을 기본 음성인식 모드에 비해 증가시키는 서버.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 아동 음성인식 모드로 동작 중, 상기 로봇으로부터 상기 사용자가 발화한 음성을 포함하는 제2 음성 신호를 획득하고,
    상기 제2 음성 신호의 주파수를 기 정의된 음성인식 기준 데이터의 주파수 대역과 대응하도록 시프트하고,
    상기 제2 음성 신호의 세기를 상기 음성인식 기준 데이터의 세기에 대응하도록 증폭하고,
    상기 시프트 및 증폭된 제2 음성 신호로부터 상기 사용자가 발화한 음성을 인식하는 서버.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 아동 음성인식 모드로 동작 중, 상기 로봇으로부터 상기 사용자가 발화한 비정형 음성을 포함하는 제3 음성 신호를 획득하고,
    획득된 제3 음성 신호로부터 상기 비정형 음성이 인식되는 경우, 메모리에 저장된 학습 모델을 통해 상기 제3 음성 신호 또는 상기 비정형 음성으로부터 정형 음성을 인식하고,
    상기 학습 모델은 머신 러닝 기반의 인공신경망을 포함하는 서버.
  16. 콘텐츠 진입 요청에 대응하는 콘텐츠를 로봇의 출력부를 통해 출력하는 단계;
    상기 로봇에 포함된 카메라를 통해 사용자의 이미지를 획득하는 단계;
    상기 로봇에 포함된 마이크로폰을 통해 사용자의 음성을 포함하는 제1 음성 신호를 획득하는 단계;
    상기 콘텐츠, 상기 이미지, 및 상기 제1 음성 신호 중 적어도 하나에 기초하여 상기 사용자의 성별 및 연령대 중 적어도 하나를 포함하는 사용자의 특성을 추정하는 단계; 및
    추정된 특성에 대응하는 음성인식 모드를 이용하여, 상기 사용자가 발화하는 음성을 인식하는 단계를 포함하는 로봇을 이용한 음성 인식 방법.
  17. 제16항에 있어서,
    상기 사용자의 특성을 추정하는 단계는,
    상기 콘텐츠의 명칭, 카테고리, 연령제한정보, 및 이용자 통계 중 적어도 하나로부터 상기 사용자의 특성을 추정하는 단계;
    상기 이미지에 포함된 상기 사용자의 신체 특성, 및 착용 의상의 특성에 기초하여 상기 사용자의 특성을 추정하는 단계; 및
    상기 제1 음성 신호의 주파수 특성, 신호 세기, 상기 제1 음성 신호에 포함된 음성의 인식에 기초한 발화 특성 중 적어도 하나에 기초하여 상기 사용자의 특성을 추정하는 단계 중 적어도 하나를 포함하는 로봇을 이용한 음성 인식 방법.
  18. 제16항에 있어서,
    상기 음성을 인식하는 단계는,
    상기 추정된 사용자의 특성이 아동에 대응하는 경우, 상기 음성인식 모드를 아동 음성인식 모드로 설정하는 단계;
    음성입력 대기시간을 기본 음성인식 모드보다 증가시키는 단계; 및
    상기 아동 음성인식 모드를 이용하여 상기 사용자가 발화하는 음성을 인식하는 단계를 포함하는 로봇을 이용한 음성 인식 방법.
  19. 제18항에 있어서,
    상기 아동 음성인식 모드를 이용하여 상기 사용자가 발화하는 음성을 인식하는 단계는,
    상기 마이크로폰을 통해 상기 사용자가 발화한 음성을 포함하는 제2 음성 신호를 획득하는 단계;
    상기 제2 음성 신호의 주파수를 기 정의된 음성인식 기준 데이터의 주파수 대역과 대응하도록 시프트하는 단계;
    상기 제2 음성 신호의 세기를 상기 음성인식 기준 데이터의 세기에 대응하도록 증폭하는 단계; 및
    상기 시프트 및 증폭된 제2 음성 신호로부터 상기 사용자가 발화한 음성을 인식하는 단계를 포함하는 로봇을 이용한 음성 인식 방법.
  20. 제18항에 있어서,
    상기 아동 음성인식 모드를 이용하여 상기 사용자가 발화하는 음성을 인식하는 단계는,
    상기 마이크로폰을 통해, 상기 사용자가 발화한 비정형 음성을 포함하는 제3 음성 신호를 획득하는 단계; 및
    획득된 제3 음성 신호로부터 상기 비정형 음성이 인식되는 경우, 머신 러닝 기반의 인공신경망을 포함하는 학습 모델을 통해 상기 제3 음성 신호 또는 상기 비정형 음성으로부터 정형 음성을 인식하는 단계를 포함하는 로봇을 이용한 음성 인식 방법.
KR1020190077775A 2019-06-28 2019-06-28 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법 KR20210001529A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190077775A KR20210001529A (ko) 2019-06-28 2019-06-28 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법
US16/782,413 US11450326B2 (en) 2019-06-28 2020-02-05 Device for recognizing voice content, server connected thereto, and method for recognizing voice content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190077775A KR20210001529A (ko) 2019-06-28 2019-06-28 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법

Publications (1)

Publication Number Publication Date
KR20210001529A true KR20210001529A (ko) 2021-01-06

Family

ID=74042766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190077775A KR20210001529A (ko) 2019-06-28 2019-06-28 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법

Country Status (2)

Country Link
US (1) US11450326B2 (ko)
KR (1) KR20210001529A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230019754A (ko) * 2021-08-02 2023-02-09 베어 로보틱스, 인크. 서빙 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2024014824A1 (ko) * 2022-07-11 2024-01-18 한양대학교 에리카산학협력단 음성 인식을 이용한 신분 증명 기반의 펫 로봇 장치 및 그 동작 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866783B2 (en) * 2011-08-21 2020-12-15 Transenterix Europe S.A.R.L. Vocally activated surgical control system
KR20210001529A (ko) * 2019-06-28 2021-01-06 엘지전자 주식회사 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111259A1 (en) * 2002-12-10 2004-06-10 Miller Edward S. Speech recognition system having an application program interface
US8229744B2 (en) * 2003-08-26 2012-07-24 Nuance Communications, Inc. Class detection scheme and time mediated averaging of class dependent models
US9240188B2 (en) * 2004-09-16 2016-01-19 Lena Foundation System and method for expressive language, developmental disorder, and emotion assessment
US7778831B2 (en) * 2006-02-21 2010-08-17 Sony Computer Entertainment Inc. Voice recognition with dynamic filter bank adjustment based on speaker categorization determined from runtime pitch
US8645135B2 (en) * 2008-09-12 2014-02-04 Rosetta Stone, Ltd. Method for creating a speech model
US9418662B2 (en) * 2009-01-21 2016-08-16 Nokia Technologies Oy Method, apparatus and computer program product for providing compound models for speech recognition adaptation
KR101625668B1 (ko) * 2009-04-20 2016-05-30 삼성전자 주식회사 전자기기 및 전자기기의 음성인식방법
KR20150031896A (ko) * 2013-09-17 2015-03-25 한국전자통신연구원 음성인식장치 및 그 동작방법
KR102292546B1 (ko) * 2014-07-21 2021-08-23 삼성전자주식회사 컨텍스트 정보를 이용하는 음성 인식 방법 및 장치
US9881610B2 (en) * 2014-11-13 2018-01-30 International Business Machines Corporation Speech recognition system adaptation based on non-acoustic attributes and face selection based on mouth motion using pixel intensities
KR102386863B1 (ko) * 2015-09-09 2022-04-13 삼성전자주식회사 사용자 기반 언어 모델 생성 장치, 방법 및 음성 인식 장치
KR20180070970A (ko) * 2016-12-19 2018-06-27 삼성전자주식회사 음성 인식 방법 및 장치
EP3732675B1 (en) * 2017-12-27 2023-05-03 Rovi Guides, Inc. Systems and methods for identifying users based on voice data and media consumption data
US10573298B2 (en) * 2018-04-16 2020-02-25 Google Llc Automated assistants that accommodate multiple age groups and/or vocabulary levels
KR20210001529A (ko) * 2019-06-28 2021-01-06 엘지전자 주식회사 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230019754A (ko) * 2021-08-02 2023-02-09 베어 로보틱스, 인크. 서빙 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2023014581A1 (en) * 2021-08-02 2023-02-09 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a serving robot
WO2024014824A1 (ko) * 2022-07-11 2024-01-18 한양대학교 에리카산학협력단 음성 인식을 이용한 신분 증명 기반의 펫 로봇 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US11450326B2 (en) 2022-09-20
US20200411015A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US11358285B2 (en) Robot and method of recognizing mood using the same
US11663516B2 (en) Artificial intelligence apparatus and method for updating artificial intelligence model
US11577379B2 (en) Robot and method for recognizing wake-up word thereof
KR20210001529A (ko) 로봇, 그와 연결되는 서버, 및 로봇을 이용한 음성 인식 방법
US11164586B2 (en) Artificial intelligence apparatus and method for recognizing utterance voice of user
KR20190104269A (ko) 발화 스타일 부여를 위한 인공지능 기반의 음성 샘플링 장치 및 방법
US11029803B2 (en) Robot
KR102288658B1 (ko) 로봇 및 그의 제어 방법
US11568239B2 (en) Artificial intelligence server and method for providing information to user
US11507825B2 (en) AI apparatus and method for managing operation of artificial intelligence system
US11398222B2 (en) Artificial intelligence apparatus and method for recognizing speech of user in consideration of user's application usage log
KR20190113693A (ko) 단어 사용 빈도를 고려하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
KR20210020312A (ko) 로봇 및 그의 제어 방법
US20190392816A1 (en) Speech processing device and speech processing method
US11738465B2 (en) Robot and controlling method thereof
US20210334461A1 (en) Artificial intelligence apparatus and method for generating named entity table
KR20210066328A (ko) 자연어 이해 모델을 학습시키기 위한 인공 지능 장치
KR102314385B1 (ko) 로봇 및 그의 제어 방법
US11322134B2 (en) Artificial intelligence device and operating method thereof
US11464380B2 (en) Artificial intelligence cleaner and operating method thereof
US20210118437A1 (en) Artificial intelligence server
KR20230091396A (ko) 로봇 및 로봇의 경로 탐색 방법
KR20210097346A (ko) 끝점 검출을 위한 인공 지능 장치
KR20210009991A (ko) 액션 로봇 및 그의 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal