KR20210079061A - 정보 처리 방법 및 정보 처리 장치 - Google Patents

정보 처리 방법 및 정보 처리 장치 Download PDF

Info

Publication number
KR20210079061A
KR20210079061A KR1020190171147A KR20190171147A KR20210079061A KR 20210079061 A KR20210079061 A KR 20210079061A KR 1020190171147 A KR1020190171147 A KR 1020190171147A KR 20190171147 A KR20190171147 A KR 20190171147A KR 20210079061 A KR20210079061 A KR 20210079061A
Authority
KR
South Korea
Prior art keywords
information
control
sentence
control target
processing unit
Prior art date
Application number
KR1020190171147A
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 KR1020190171147A priority Critical patent/KR20210079061A/ko
Priority to US16/807,084 priority patent/US11437024B2/en
Publication of KR20210079061A publication Critical patent/KR20210079061A/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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

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

Abstract

탑재된 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 실행하여 정보 처리를 수행함으로써 5G 통신 환경에서 전자 디바이스를 제어할 수 있는 정보 처리 방법 및 음성 처리 장치가 개시된다. 본 실시 예에 따른 정보 처리 방법은, 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득하는 단계와, 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하는 단계와, 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당하는 단계와, 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성하는 단계와, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포하는 단계를 포함할 수 있다.
본 실시 예에 따르면, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 제어대상의 제어에 대한 제어주체의 의도가 정확하게 반영되어 제어주체의 제어대상 이용 편의성을 향상시킬 수 있다.

Description

정보 처리 방법 및 정보 처리 장치{INFORMATION PROCESSING METHOD AND APPARATUS THEREFOR}
본 발명은 5G 통신 환경에서 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 실행함으로써, 다양한 채널을 통해 입력되는 정보를 이용하여 제어대상을 제어하기 위한 문장을 생성하는 정보 처리 방법 및 정보 처리 장치에 관한 것이다.
근래의 전자 디바이스는 사용자와의 인터렉션(interaction)을 지향하기 위한 일환으로 다양한 입력 방식을 제안하고 있다. 예를 들어, 전자 디바이스는 특정 어플리케이션 프로그램의 실행을 기반으로 사용자 발화에 따른 음성 데이터를 입력 받는 음성 입력 방식을 운용할 수 있다. 나아가, 전자 디바이스는 입력된 음성 데이터를 인식하여 사용자 발화의 의도를 도출하고, 의도에 대응하는 기능 동작을 수행하는 음성 인식 서비스를 지원할 수 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 제어대상을 제어할 완전한 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널 중 어느 한 입력 채널을 통하여 획득한 구두 정보를 이용하여 생성한 문장에 보완해야 할 정보가 존재하는 경우, 다양한 입력 채널 중 다른 한 입력 채널을 통하여 획득한 비구두 정보를 이용하여 보완해야 할 정보를 보완한 완전한 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 제어대상의 제어에 대한 사용자의 의도가 정확하게 반영된 하나의 완전한 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 시장 지배적인 자연어 처리 서비스 업체에 유출시키지 않고 보존한 상태로 제어대상을 제어할 완전한 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 제어대상을 제어할 완전한 하나의 문장을 생성하여 제어대상의 제어 처리 속도를 증가시키고 제어대상의 제어 처리 비용을 감소하는데 있다.
본 실시 예에 따른 정보 처리 방법은, 다양한 채널을 통해 획득한 구두 정보와 비구두 정보를 해석 및 보완하여 완전한 문장을 생성하는 단계와, 완전한 문장에 포함된 제어명령으로 제어대상을 제어하는 단계를 포함할 수 있다.
구체적으로 본 실시 예에 따른 정보 처리 방법은, 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득하는 단계와, 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하는 단계와, 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당하는 단계와, 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성하는 단계와, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포하는 단계를 포함할 수 있다.
본 실시 예에 따른 정보 처리 방법을 통하여, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 제어대상의 제어에 대한 제어주체의 의도가 정확하게 반영되어 제어주체의 제어대상 이용 편의성을 향상시킬 수 있다.
본 실시 예에 따른 정보 처리 장치는, 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득하는 획득 처리부와, 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하는 제1 생성 처리부와, 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당하는 할당 처리부와, 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성하는 제2 생성 처리부와, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포하는 배포 처리부를 포함할 수 있다.
본 실시 예에 따른 정보 처리 장치를 통하여, 제어대상을 제어하기 위해 생성한 완전한 문장을 시장 지배적인 클라우드 기반 자연어 처리 서비스에 그대로 사용할 수 있으므로, 제어대상을 제어하기 위한 멀티 모달(multimodal) HCI(human computer interaction) 환경을 제공하고, 지식 검색 등 후위 서비스와 연계할 수 있어 산업 생태계(industry ecosystem)에 부합할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 제어대상을 제어하기 위해 생성한 완전한 문장을 시장 지배적인 클라우드 기반 자연어 처리 서비스에 그대로 사용할 수 있으므로, 제어대상을 제어하기 위한 멀티 모달(multimodal) HCI(human computer interaction) 환경을 제공하고, 지식 검색 등 후위 서비스와 연계할 수 있어 산업 생태계(industry ecosystem)에 부합할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 생성한 완전한 문장은 사용자의 의도가 정확하게 반영되어 사용자의 제어대상 이용 편의성을 향상시킬 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를, 시장 지배적인 자연어 처리 서비스 업체에 유출시키지 않고 보존한 상태로 제어대상을 제어할 완전한 문장을 생성함으로써, 제어주체의 사생활을 보호할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 구두정보 및 비구두 정보를 이용하여 제어대상을 제어할 완전한 하나의 문장을 생성하여 제어대상의 제어 처리 속도를 증가시키고 제어대상의 제어 처리 비용을 감소시킬 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 정보 처리 장치, 전자 디바이스, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 정보 처리 환경의 예시도이다.
도 2는 본 실시 예에 따른 정보 처리 장치의 구현 예를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 정보 처리 장치의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다.
도 4는 도 3의 정보 처리 장치 중 정보 처리부의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다.
도 5는 본 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다.
도 6은 다른 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다.
도 7은 도 다른 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다.
도 8은 본 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다.
도 9는 다른 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다.
도 10은 또 다른 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 "구두(verbal) 정보"라 함은, 말과 관련되는 정보로서, 제어대상을 제어하기 위해 마이크(도 2의 오디오 입력부(151))를 통하여 획득하는 발화자로서의 제어주체의 발화 정보를 포함할 수 있다. 여기서, 발화 정보는 기동어와 발화 음성을 포함할 수 있다. 또한 발화 정보는 기동어를 제외한 발화 음성을 포함할 수 있다. 기동어는 음성 인식 기능을 활성화 시키는 특정 명령어로서, 웨이크업 워드(wake-up word)로 명명될 수 있다. 발화 정보에 기동어가 포함되어 있어야 음성 인식 기능이 활성화 될 수 있고, 발화 정보에 기동어가 포함되어 있지 않은 경우 음성 인식 기능이 비활성화(예를 들어, 슬립 모드) 상태를 유지한다. 이러한 기동어는 기설정되어 후술하는 메모리(도 2의 170)에 저장될 수 있다. 또한 발화 음성은 제어대상을 실질적으로 제어하는 음성 명령어를 포함할 수 있다.
명세서 전체에서 "비구두(non-verbal) 정보"라 함은, 제어대상을 제어하기 위한 구두 정보 이외의 정보를 포함할 수 있다. 본 실시 예에서 비구두 정보는 제1 비구두 정보 내지 제5 비구두 정보를 포함할 수 있다.
제1 비구두 정보는 제어대상을 제어하기 위해 구두 정보와 함께 카메라(도 2의 120)를 통하여 획득한 영상을 포함할 수 있다. 여기서 카메라(120)를 통하여 획득한 영상에는, 제어대상 및 제어주체를 포함하는 영상 정보와, 제어대상을 가리키는 제어주체의 제스처 영상 정보 중 하나 이상을 포함할 수 있다. 제1 비구두 정보를 이용하여 공간 내에 제어주체 및/또는 제어대상의 존재 여부와, 공간 내에서 제어주체 및/또는 제어대상의 위치와, 제어주체로부터 제어대상까지의 거리와, 제어주체의 제스처와, 제어주체의 스켈레톤과, 제어주체가 지시하는 방향에 포함되는 제어대상과, 제어주체 및 제어대상의 식별정보(예를 들어, ID) 중 하나 이상을 분석할 수 있다.
제2 비구두 정보는 제어대상을 제어하기 위해 구두 정보와 함께 메모리(도 2의 170)로부터 로딩되는 이전에 배포된 하나 이상의 제2 문장을 포함할 수 있다. 또한, 이전에 배포된 하나 이상의 제2 문장은 이전의 제어대상 식별정보와, 이전에 제어대상으로 배포한 제어명령을 포함할 수 있다. 또한, 이전에 배포된 하나 이상의 제2 문장은, 제2 문장이 배포된 시간과, 제2 문장의 반복 배포 횟수, 어떤 제어주체(예를 들어, 가족 구성원 중 누구)에 의해 생성 되었는지에 대한 정보(제어주체 식별정보) 등이 포함될 수 있다.
제3 비구두 정보는 제어대상을 제어하기 위해 구두 정보와 함께 메모리(도 2의 170)로부터 로딩되는, 제어대상 및 제어주체 단말기 중 하나 이상을 이용하여 생성한 제어주체의 활동 정보를 포함할 수 있다. 여기서 제어주체의 활동 정보라 함은, 제어주체의 행동 정보, 관심 정보, 선호 정보, 검색 정보, 이용 정보, 조작 정보, 수집 정보 등을 포함할 수 있다. 여기서 선호 정보는, 제어주체가 제어대상을 제어한 히스토리 활동 정보를 포함할 수 있다. 또한 히스토리 활동 정보는 사용자가 선호하는 제어명령과 제어대상의 식별정보를 포함할 수 있다. 히스토리 활동 정보는, 기설정된 시간(예를 들어 일 주일) 내에 제2 비구두 정보에 포함된 제2 문장의 반복 배포 횟수가 기설정된 횟수(예를 들어 10번) 이상인 경우에 생성되어 메모리(도 2의 170)에 저장될 수 있다.
제4 비구두 정보는 제어대상을 제어하기 위해 구두 정보와 함께 입력 장치를 통하여 획득한 입력 정보를 포함할 수 있다. 여기서 입력 장치는 터치 스크린(도 2의 디스플레이(141))의 터치에 의한 입력 정보와, 펜, 마우스, 키보드의 조작에 의한 입력 정보와, 제어대상에 구비된 버튼(도 2의 조작부(142))의 조작에 의한 입력 정보 중 하나 이상을 포함할 수 있다.
제5 비구두 정보는 제어대상을 제어하기 위해 구두 정보와 함께 하나 이상의 센서(도 2의 130)를 통하여 획득한 제어대상 주변의 환경 정보를 포함할 수 있다. 여기서 환경 정보는 제어대상 주변의 날씨, 조도, 고도, 습도, 장애물 유무, 모션 발생 유무 등을 포함할 수 있다.
본 실시 예에서 구두 정보 및 비구두 정보에는, 해당 정보가 완전한 문장(예를 들어, 제2 문장)을 생성하기 위해 어떤 품사로 사용할 수 있는지 여부가 매핑될 수 있다.
예를 들어, 구두 정보에는 모든 품사와, 주어 및 목적어에 대응하는 명사가 매핑되어, 구두 정보로부터 모든 문장성분을 추출할 수 있다. 또한 제1 비구두 정보에는 부사절 또는 조건절에 대응하는 부사와, 주어 및 목적어에 대응하는 명사와, 명령어에 대응하는 동사가 매핑되어, 제1 비구두 정보로부터 부사와, 명사와 동사에 대응하는 문장성분을 추출할 수 있다. 또한 제2 비구두 정보 및 제3 비구두 정보에는 부사절 또는 조건절에 대응하는 부사가 매핑되어, 제2 비구두 정보 및 제3 비구두 정보는 부사에 대응하는 문장성분을 추출할 수 있다. 제4 비구두 정보에는 모든 품사와, 목적어에 대응하는 명사가 매핑되어, 제4 비구두 정보로부터 모든 문장성분을 추출할 수 있다. 또한 제5 비구두 정보에는 부사절 또는 조건절에 대응하는 부사가 매핑되어, 제5 비구두 정보로부터 부사에 대응하는 문장성분을 추출할 수 있다.
명세서 전체에서 "지시어(coreference)"라 함은, 문맥 내에서 주로 어떤 말을 가리킬 때 쓰이는 말을 포함할 수 있다. 이러한 지시어는 사람이나 사물, 장소나 방향을 직접 가리키는 대명사와, 문장에서 다른 품사를 꾸며주는 역할을 하는 부사와, 명사 앞에 쓰여 한정의 뜻을 나타내는 한정사와, 명사 또는 대명사 앞에 놓여 다른 명사 또는 대명사와의 관계를 나타내는 전치사와, 대화와 대화를 자연스럽게 연결해 주는 담화 표지(discourse marker) 중 하나 이상을 포함할 수 있다. 또한, 표제어는 사전의 표제 항목에 넣어 알기 쉽게 풀이해 놓은 말을 포함할 수 있다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 정보 처리 장치, 전자 디바이스, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 정보 처리 환경의 예시도이고, 도 2는 본 실시 예에 따른 정보 처리 장치의 구현 예를 도시한 도면이다. 도 1 및 도 2를 참조하면, 정보 처리 환경은 정보 처리 장치(100), 전자 디바이스(200), 서버(300) 및 네트워크(400)를 포함할 수 있다.
정보 처리 장치(100)는 다양한 채널을 통해 획득한 구두 정보와 비구두 정보를 해석 및 보완하여 완전한 문장을 생성하고, 완전한 문장에 포함된 제어명령으로 제어대상을 제어할 수 있다.
이를 위해 정보 처리 장치(100)는 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득할 수 있다. 여기서 구두 정보는 후술하는 도 3의 오디오 입력부(151)를 통하여 획득할 수 있다. 또한 비구두 정보는 후술하는 도 3의 카메라(120), 센싱부(130), 사용자 인터페이스(140) 및 메모리(170) 중 하나 이상을 통하여 획득할 수 있다.
정보 처리 장치(100)는 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성할 수 있다. 정보 처리 장치(100)는 STT(speech to text) 알고리즘을 이용하여 구두 정보를 구두 텍스트로 변환할 수 있다. 정보 처리 장치(100)는 구두 텍스트의 분석을 통하여 제1 문장을 생성할 수 있다. 정보 처리 장치(100)는 자연어 처리 기술 중 일부(예를 들어, 형태소 분석, 품사 태깅, 구문 분석 등)를 이용하여 제1 문장을 생성할 수 있다. 선택적 실시 예로 정보 처리 장치(100)는 구두 텍스트의 구조 분석을 통하여 누락된 문장성분을 포함하는 제1 문장을 생성할 수 있다. 정보 처리 장치(100)는 제1 문장에 대한 문장 구조를 분석하고, 제1 문장을 주어, 목적어 및 서술어로 구성된 완전한 문장과 비교하여, 제1 문장으로부터 누락된 문장성분(예를 들어, 주어, 서술어 등)이 무엇인지 구별할 수 있다.
정보 처리 장치(100)는 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당할 수 있다. 정보 처리 장치(100)는 제1 비구두 정보로부터 획득한 제어주체의 스켈레톤 정보의 분석을 통해 제어대상에 식별정보를 할당할 수 있다. 또한 정보 처리 장치(100)는 제1 비구두 정보로부터 획득한 제어주체 및 제어대상들 사이의 거리 정보를 이용하여 제어대상에 식별정보를 할당할 수 있다. 또한 정보 처리 장치(100)는 제2 비구두 정보로부터 획득한 이전에 배포된 하나 이상의 제2 문장 정보를 이용하여 제어대상에 식별정보를 할당할 수 있다. 본 실시 예에서 이전에 배포된 하나 이상의 제2 문장은, 이전에 배포된 제어주체에 의한 제어명령 및 제어대상 식별정보를 포함할 수 있다. 이로부터 이전의 제어주체와 현재의 제어주체가 동일함을 할 수 있다.
정보 처리 장치(100)는 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성할 수 있다. 선택적 실시 예로 정보 처리 장치(100)는 누락된 문장성분을 포함하는 제1 문장에 대하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다. 상술한 바와 같이 구두 정보 및 비구두 정보에는 제2 문장 즉, 완전한 문장을 생성하기 위해 어떠한 문장성분으로 사용할 수 있는지가 매핑되어 있으므로, 누락된 문장성분을 해당 매핑정보를 이용하여 보완할 수 있다.
정보 처리 장치(100)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포할 수 있다.
정보 처리 장치(100)는 제어명령을 배포하기 이전에, 제2 문장에 포함된 제어명령과 기저장된 제어명령들을 비교하여 제어명령과 동일한 제어명령이 존재하는지 여부를 검색할 수 있다. 정보 처리 장치(100)는 검색 결과, 기저장된 제어명령들 중 제어명령과 동일한 제어명령이 존재하지 않는 경우, 외부 자연어 처리 장치로서의 서버(300)로 자연어 처리 요청 신호와 함께 제2 문장을 전송하고, 서버(300)로부터 제어대상과 제어명령을 포함하는 제2 문장에 대한 자연어 처리 결과를 수신할 수 있다. 정보 처리 장치(100)는 서버(300)로부터 수신한 제2 문장에 대한 자연어 처리 결과로부터 제어대상을 호출하고, 호출한 제어대상에 제어명령을 배포할 수 있다.
종래의 경우 서버(300)로부터 자연어 처리 결과를 수신하기 위해 획득한 입력 정보(구두 정보 및 비구두 정보)를 서버(300)로 전송하여 제어주체의 사생활이 외부로 유출될 수 있었다. 그러나 본 실시 예의 경우 정보 처리 장치(100)가 제2 문장만을 서버(300)로 전송하면 되기 때문에 제어주체의 사생활을 보호할 수 있다.
정보 처리 장치(100)는 제2 문장을 생성한 이후에 제어주체의 식별정보와 제어대상의 식별정보를 이용하여, 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색할 수 있다. 정보 처리 장치(100)는 검색 결과 히스토리 활동 정보가 존재하는 경우, 히스토리 활동 정보로부터 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체의 식별정보를 텍스트화한 제3 문장을 생성할 수 있다.
정보 처리 장치(100)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제어명령 및 제3 문장에 포함된 제어명령을 배포할 수 있다. 이와 같은 정보 처리 장치(100)를 통해 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체를 이용하여 제3 문장을 생성함으로써 제어대상에 대한 제어주체만의 개인화 서비스를 제공할 수 있다.
제어대상으로서의 전자 디바이스(200)는 사용자 단말기(201), 전자 다른 전자 디바이스들을 네트워크(400)에 연결시키는 허브 역할을 하는 인공지능 스피커(202), TV(203), 로봇 청소기(204), 에어컨(205), 냉장고(206), 세탁기(207), 전자 레인지(208)와 같은 가전 디바이스, 공공 장소나 상업 공간에 설치되는 디스플레이 기기로서 사이니지(signage, 209), 가정에 구비되어 사용자와 시선, 감정표현, 스킨십 등 감성적 교감으로 소통하는 제1 커뮤니케이션 로봇(210), 공공 장소(예를 들어, 공항, 병원, 회사 등) 내에서 순찰, 안내, 청소, 방역, 운반 등의 역할을 수행하는 제2 커뮤니케이션 로봇(211)과, 자동차(212) 등 사물인터넷(IoT)에 해당하는 각종 디바이스를 포함할 수 있다. 다만, 전자 디바이스(200)의 예가 도 1에 묘사된 것에 한정되는 것은 아니다. 본 실시 예에서 정보 처리 장치(100)는 도 1에 도시된 바와 같이 독립적으로 구비될 수 있고, 도 2에 도시된 바와 같이 전자 디바이스(200) 내부에 구비되어, 전자 디바이스(200)가 정보 처리 장치(100)처럼 동작할 수 있다.
이러한 전자 디바이스(200) 중 사용자 단말기(201)는 정보 처리 장치 구동 어플리케이션 또는 정보 처리 장치 구동 사이트에 접속한 후 인증 과정을 통하여 정보 처리 장치(100)의 구동 또는 제어를 위한 서비스를 제공받을 수 있다. 본 실시 예에서 인증 과정을 마친 사용자 단말기(201)는 정보 처리 장치(100)를 구동하고, 정보 처리 장치(100)의 동작을 제어할 수 있다.
본 실시 예에서 사용자 단말기(201)는 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP4 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 사용자 단말기(201)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 단말기 일 수 있다. 사용자 단말기(201)는 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말기는 제한 없이 차용될 수 있다.
서버(300)는 각종 인공지능 알고리즘을 적용하는데 필요한 빅데이터 및 정보 처리 장치(100)의 요청에 의해 처리한 데이터를 정보 처리 장치(100)에 제공하는 데이터베이스 서버일 수 있다. 그 밖에 서버(300)는 사용자 단말기(201)에 설치된 정보 처리 장치 구동 어플리케이션 또는 정보 처리 장치 구동 웹 브라우저를 이용하여 정보 처리 장치(100)의 동작을 원격에서 제어할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다.
서버(300)는 정보 처리 장치(100)의 제2 문장 및/또는 제3 문장의 자연어 처리 요청에 의해, 정보 처리 장치(100)로부터 제2 문장 및/또는 제3 문장을 수신하여, 제2 문장 및/또는 제3 문장으로부터 제어대상 및 제어명령을 해석 및 처리하여 정보 처리 장치(100)로 전송할 수 있다. 서버(300)는 제2 문장 및/또는 제3 문장의 해석 및 처리를 위해, 자연어 이해 처리, 대화 관리자 처리, 자연어 생성 처리 및 텍스트-음성 변환 처리 중 하나 이상을 수행할 수 있다. 또한 서버(300)는 제2 문장 및/또는 제3 문장의 해석 및 처리를 위해, 5G 통신 환경에서 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 실행할 수 있다.
여기서 인공 지능(artificial intelligence, AI)은, 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미할 수 있다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야를 포함할 수 있다. 구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다.
네트워크(400)는 정보 처리 장치(100)와, 전자 디바이스(200)와, 서버(300)를 연결하는 역할을 수행할 수 있다. 이러한 네트워크(400)는 예컨대 LANs(local area networks), WANs(wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한 네트워크(400)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(400)는 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 정보 처리 장치의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다. 이하의 설명에서 도 1 및 도 2에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 3을 참조하면, 정보 처리 장치(100)는 통신부(110), 카메라(120), 센싱부(130), 사용자 인터페이스(140), 오디오 처리부(150), 정보 처리부(160), 메모리(170) 및 제어부(180)를 포함할 수 있다.
통신부(110)는 네트워크(400)와 연동하여 정보 처리 장치(100) 및/또는 전자 디바이스(200) 및/또는 서버(300) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공할 수 있다. 나아가, 통신부(110)는 전자 디바이스(200)로부터 소정의 정보 요청 신호를 수신하는 역할을 할 수 있고, 정보 처리 장치(100)가 처리한 정보를 전자 디바이스(200)로 전송하는 역할을 수행할 수 있다. 또한 통신부(110)는 전자 디바이스(200)로부터 소정의 정보 요청 신호를 서버(300)로 전송하고, 서버(300)가 처리한 응답 신호를 수신하여, 전자 디바이스(200)로 전송할 수 있다. 또한 통신부(110)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
또한, 통신부(110)는 각종 사물 지능 통신(IoT(internet of things), IoE(internet of everything), IoST(internet of small things) 등)을 지원할 수 있으며, M2M(machine to machine) 통신, V2X(vehicle to everything communication) 통신, D2D(device to device) 통신 등을 지원할 수 있다.
카메라(120)는 제1 카메라(120_1) 내지 제N 카메라(120_N)를 포함할 수 있다. 카메라(120)는, 제어부(180)의 제어 하에, 전자 디바이스(200) 주변의 제어주체 영상을 촬영할 수 있다. 예를 들어, 카메라(120)는 제어주체가 전자 디바이스(200)를 조작하는 영상과, 제어주체가 전자 디바이스(200)를 향하여 발화하거나 가리키는 영상과, 제어주체가 전자 디바이스(200)의 조작을 완료하고 이동하는 영상 등을 촬영할 수 있다. 카메라(120)는 예컨대 COMS(complementary metal-oxide semiconductor) 모듈(미도시) 또는 CCD(charge coupled device) 모듈(미도시) 등을 이용하여 촬영영역 내의 피사체를 촬영하는 카메라를 의미하는 것으로, 입력되는 영상 프레임은 렌즈(미도시)를 통해 COMS 모듈 또는 CCD 모듈로 제공되고, COMS 모듈 또는 CCD 모듈은 렌즈를 통과한 피사체의 광신호를 전기적 신호로 변환하여 출력할 수 있다. 또한, 카메라(120)는 팬(pan)/틸트(tilt)/줌(zoom) 기능을 구비한 PTZ 카메라 일 수 있다. 카메라(120)는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 촬영할 수 있다. 한편, 카메라(120)가 촬영하여 획득한 영상은 메모리(170)에 저장될 수 있다
본 실시 예에서 정보 처리 장치(100)는 카메라(120)가 촬영한 영상을 분석하고 처리하는 영상 처리부(미도시)를 더 포함할 수 있다. 영상 처리부는 카메라(120) 내부에 구비될 수도 있고, 카메라 외부에 구비될 수도 있다. 영상 처리부는 카메라(120)가 촬영한 영상 프레임에 대하여 노이즈를 저감하고, 감마 보정(gamma correction), 색필터 배열보간(color filter array interpolation), 색 매트릭스(color matrix), 색보정(color correction), 색 향상(color enhancement) 등의 화질 개선을 위한 영상 신호 처리를 수행할 수 있다. 또한, 영상 처리부는 기능적으로 색채 처리, 블러 처리, 에지 강조 처리, 영상 해석 처리, 영상 인식 처리, 영상 이펙트 처리 등도 수행할 수 있다. 영상 인식 처리로 얼굴 인식, 장면 인식 처리, 모션 인식 등을 행할 수 있다. 예를 들어, 휘도 레벨 조정, 색 보정, 콘트라스트 조정, 윤곽 강조 조정, 화면 분할 처리, 캐릭터 영상 등 생성 및 영상의 합성 처리 등을 수행할 수 있다.
센싱부(130)는 정보 처리 장치(100) 및/또는 전자 디바이스(200)를 둘러싼 주변 환경 정보 및 제어주체 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(130)는 장애물 센서(가령, 근접센서(proximity sensor), 라이다 센서((Lidar sensor) 등), 무게 감지 센서, 조도 센서(illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 오디오 입력부(151)), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 실시 예에서 정보 처리 장치(100)는 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
사용자 인터페이스(140) 중 디스플레이(141)는 제어부(180)의 제어 하에 정보 처리 장치(100)의 구동 상태를 디스플레이 할 수 있다. 실시 예에 따라서, 디스플레이(141)는 터치패드와 상호 레이어 구조를 이루어 터치스크린으로 구성될 수 있다. 이 경우에, 디스플레이(141)는 제어주체의 터치에 의한 정보의 입력이 가능한 조작부(142)로도 사용될 수 있다. 이를 위해 디스플레이(141)는 터치 인식 디스플레이 제어기 또는 이외의 다양한 입출력 제어기로 구성될 수 있다. 일 예로, 터치 인식 디스플레이 제어기는 장치와 제어주체 사이에 출력 인터페이스 및 입력 인터페이스를 제공할 수 있다. 터치 인식 디스플레이 제어기는 전기 신호를 제어부(180)와 송수신할 수 있다. 또한, 터치 인식 디스플레이 제어기는 제어주체에게 시각적인 출력을 표시하며, 시각적 출력은 텍스트, 그래픽, 영상, 비디오와 이들의 조합을 포함할 수 있다. 이와 같은 디스플레이(141)는 예를 들어 터치 인식이 가능한 OLED(organic light emitting display) 또는 LCD(liquid crystal display) 또는 LED(light emitting display)와 같은 소정의 디스플레이 부재일 수 있다.
사용자 인터페이스(140) 중 조작부(142)는 복수의 조작 버튼(미도시)을 구비하여, 입력되는 버튼에 대응하는 신호를 제어부(180)로 전송할 수 있다. 이러한 조작부(142)는 제어주체의 터치 또는 누름 조작을 인식할 수 있는 센서 또는 버튼, 스위치 구조로 구성될 수 있다. 본 실시 예에서 조작부(142)는 디스플레이(141)에 표시되는 정보 처리 장치(100)의 구동과 관련한 각종 정보를 확인하거나, 변경하기 위해 제어주체가 조작하는 조작 신호를 제어부(180)로 전송할 수 있다.
오디오 처리부(150) 중 오디오 입력부(151)는 제어주체로부터 발화 정보를 입력 받아 제어부(180)로 전송할 수 있고, 제어부(180)는 제어주체의 발화 정보를 이용하여 음성 인식 처리를 수행할 수 있다. 이를 위해 오디오 입력부(151)는 하나 이상의 마이크로폰(미도시)을 구비할 수 있다. 또한 제어주체의 발화 정보를 더 정확하게 수신하기 위해 복수의 마이크로폰(미도시)을 구비할 수 있다. 여기서, 복수의 마이크 각각은 서로 다른 위치에 이격되어 배치될 수 있고, 수신한 제어주체의 발화 정보를 전기적인 신호로 처리할 수 있다.
선택적 실시 예로 오디오 입력부(151)는 제어주체의 발화 정보를 수신하는 과정에서 발생하는 노이즈를 제거하기 위한 다양한 노이즈 제거 알고리즘을 사용할 수 있다. 선택적 실시 예로 오디오 입력부(151)는 제어주체의 발화 정보 수신 시에 노이즈를 제거하는 필터(미도시), 필터에서 출력되는 신호를 증폭하여 출력하는 증폭기(미도시) 등 제어주체 발화 정보의 신호 처리를 위한 각종 구성 요소들을 포함할 수 있다.
오디오 처리부(150) 중 오디오 출력부(152)는 제어부(180)의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지, 제어주체의 피드백 발화 정보에 포함되는 음성 명령어에 대응하는 처리 결과 등을 오디오로 출력할 수 있다. 본 실시 예에서 오디오 출력부(152)는 정보 처리부(160)에서 생성한 제2 문장 및/또는 제3 문장에 대한 발화 정보를 출력하거나, 전자 디바이스(200)가 제2 문장 및/또는 제3 문장으로 동작을 수행한 결과를 출력할 수 있다. 오디오 출력부(152)는 제어부(180)로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.
정보 처리부(160)는 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득할 수 있다. 정보 처리부(160)는 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하거나, 누락된 문장성분을 포함하는 제1 문장을 생성할 수 있다. 정보 처리부(160)는 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당할 수 있다. 정보 처리부(160)는 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성하거나, 특징점 추출을 기반으로 할당한 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다. 정보 처리부(160)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포할 수 있다.
정보 처리부(160)는 제2 문장을 배포하기 전에, 제2 문장에 포함된 제어명령과 기저장된 제어명령들을 비교하여 제어명령과 동일한 제어명령이 존재하는지 여부를 검색하고, 제어명령과 동일한 제어명령이 존재하지 않는 경우, 자연어 처리 요청 신호와 함께 제2 문장을 서버(300)로 전송할 수 있다. 정보 처리부(160)는 서버(300)로부터 제2 문장에 대한 자연어 처리 결과를 수신하고, 제2 문장에 대한 자연어 처리 결과에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포할 수 있다.
정보 처리부(160)는 제1 비구두 정보를 이용하여 제어주체에 식별정보를 할당하고, 제어주체가 제어대상을 제어한 히스토리 활동 정보로서의 제3 비구두 정보가 존재하는지 여부를 검색할 수 있다. 정보 처리부(160)는 제3 비구두 정보가 존재하는 경우 제3 비구두 정보로부터 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체의 식별정보를 포함하는 제3 문장을 생성할 수 있다. 정보 처리부(160)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제어명령 및 제3 문장에 포함된 제어명령을 배포할 수 있다.
본 실시 예에서 정보 처리부(160)는 제어부(180)와 연계하여 학습을 수행하거나, 제어부(180)로부터 학습 결과를 수신할 수 있다. 본 실시 예에서 정보 처리부(160)는 도 3에 도시된 바와 같이 제어부(180) 외부에 구비될 수도 있고, 제어부(180) 내부에 구비되어 제어부(180)처럼 동작할 수도 있다. 이하 정보 처리부(160)의 상세한 내용은 도 4를 참조하여 설명하기로 한다.
메모리(170)는 정보 처리 장치(100)의 동작에 필요한 각종 정보들을 저장하고, 정보 처리 장치(100)를 동작시킬 수 있는 제어 소프트웨어를 저장할 수 있는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(170)에는 제어주체의 발화 정보로부터 기동어의 존재를 판단하기 위한 기설정된 기동어가 저장될 수도 있다.
또한, 메모리(170)에는 오디오 입력부(151)를 통하여 획득한 구두 정보와, 카메라(120), 센싱부(130) 및 사용자 인터페이스(140)를 통하여 획득한 제1 비구두 정보, 제4 비구두 정보 및 제5 비구두 정보를 저장할 수 있다. 또한 메모리(170)에는 제2 비구두 정보 및 제3 비구 정보를 저장할 수 있다. 또한 메모리(170)에는 정보 처리부(160)가 처리한 결과를 저장할 수 있다.
또한 메모리(170)는 정보 처리부(160)가 실행할 명령어 예를 들어, 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득하는 명령어, 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하는 명령어, 구두 정보를 텍스트로 변환하고 문장 구조의 분석을 통하여 누락된 문장성분을 포함하는 제1 문장을 생성하는 명령어, 비구두 정보의 분석을 통하여 제어대상 및 제어주체에 각각 식별정보를 할당하는 명령어, 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성하는 명령어, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 누락된 문장성분을 보완한 제2 문장을 생성하는 명령어, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포하는 명령어 등을 저장할 수 있다.
여기서, 메모리(170)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이러한 메모리(170)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD. CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
본 실시 예에서, 간단한 음성 인식과 제어대상 제어를 위한 제1 문장 내지 제3 문장의 생성은 정보 처리 장치(100)가 수행하고, 제2 문장 및/또는 제3 문장의 해석 및/또는 처리는 서버(300)에서 수행될 수 있다. 예를 들어, 정보 처리 장치(100)가 제2 문장 및/또는 제3 문장에 포함된 제어대상 및 제어명령을 식별할 수 없는 경우, 서버(300)에 제어대상 및 제어명령의 해석 및/또는 처리를 요청할 수 있다. 서버(300)는 정보 처리 장치(100)로부터 제2 문장 및/또는 제3 문장을 수신하고, 제어대상 및 제어명령의 해석 및 처리를 수행한 후, 정보 처리 장치(100)으로 출력할 수 있다.
제어부(180)는 구두 정보 및 비구두 정보를 정보 처리부(160)로 전송하고, 정보 처리부(160)로부터 수신한 제2 문장 및/또는 제3 문장의 생성 결과를 디스플레이(141)를 통하여 시각적 정보로 제공하거나, 오디오 출력부(152)를 통하여 청각적 정보로 제공할 수 있다. 또한 제어부(180)는 전자 디바이스(200)로부터 제어명령에 의한 제어대상의 동작 결과를 디스플레이(141)를 통하여 시각적 정보로 제공하거나, 오디오 출력부(152)를 통하여 청각적 정보로 제공할 수 있다.
제어부(180)는 일종의 중앙처리장치로서 메모리(170)에 탑재된 제어 소프트웨어를 구동하여 정보 처리 장치(100) 전체의 동작을 제어할 수 있다. 제어부(180)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령어로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 실시 예에서 제어부(180)는 정보 처리 장치(100)가 최적의 정보 처리 결과를 출력하도록, 발화 정보 및 영상 정보 중 하나 이상에 대하여 딥러닝(Deep Learning) 등 머신 러닝(machine learning)을 수행할 수 있고, 메모리(170)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
머신 러닝의 일종인 딥러닝(deep learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습할 수 있다. 딥러닝은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(ANN)을 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(DNN)으로 구성될 수 있다. 본 실시 예에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN, RNN, DBN 등을 포함할 수 있다. RNN은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다. DBN은 딥러닝 기법인 RBM(restricted boltzman machine)을 다층으로 쌓아 구성되는 딥러닝 구조를 포함할 수 있다. RBM 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN을 구성할 수 있다. CNN은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출되는 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델을 포함할 수 있다.
한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(back propagation) 등의 방법이 사용될 수 있다.
한편, 제어부(180)에는 인공신경망(artificial neural network)이 탑재될 수 있고, 수신되는 발화 정보 및 영상 정보 중 하나 이상을 입력 데이터로 하는 머신 러닝 기반의 문장 생성을 수행할 수 있다.
제어부(180)는 인공신경망, 예를 들어, CNN, RNN, DBN 등 심층신경망(deep neural network: DNN)을 포함될 수 있고, 심층신경망을 학습할 수 있다. 이러한 인공신경망의 머신 러닝 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 제어부(180)는 설정에 따라 학습 후 인공신경망 구조를 업데이트시키도록 제어할 수 있다.
도 4는 도 3의 정보 처리 장치 중 정보 처리부의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다. 이하의 설명에서 도 1 내지 도 3에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 4를 참조하면, 정보 처리부(160)는 획득 처리부(161), 제1 생성 처리부(162), 할당 처리부(163), 제2 생성 처리부(164), 배포 처리부(165), 검색 처리부(166), 송수신 처리부(167), 재구성 처리부(168) 및 제3 생성 처리부(169)를 포함할 수 있다. 선택적 실시 예로, 정보 처리부(160)는 하나 이상의 프로세서를 포함할 수 있다. 선택적 실시 예로 획득 처리부(161) 내지 제3 생성 처리부(169)는 하나 이상의 프로세서에 대응될 수 있다. 선택적 실시 예로, 획득 처리부(161) 내지 제3 생성 처리부(169)는 하나 이상의 프로세서에 의해 실행되도록 구성된 소프트웨어 구성 요소(components)에 대응될 수 있다.
획득 처리부(161)는 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득할 수 있다. 여기서 구두 정보는 오디오 입력부(151)를 통하여 획득할 수 있다. 또한 비구두 정보는 카메라(120), 센싱부(130), 사용자 인터페이스(140) 및 메모리(170) 중 하나 이상을 통하여 획득할 수 있다.
제1 생성 처리부(162)는 구두 정보를 텍스트로 변환하여 구두 텍스트를 생성하고, 구두 텍스트의 분석을 통하여 지시어 및 제어명령을 포함하는 제1 문장을 생성할 수 있다.
제1 생성 처리부(162)는 구두 정보를 텍스트로 변환한 구두 텍스트를 생성하기 위해 STT(speech to text) 알고리즘을 이용할 수 있다. 제1 생성 처리부(162)는 구두 정보로부터 잡음 신호를 제거하고, 소정의 특징 벡터(파라미터)를 추출할 수 있다. 여기서 소정의 특징 벡터는 LPC(linear predictive coefficients) 셉스트럼(cepstrum), PLC(perceptual linear prediction) 셉스트럼, MFCC (mel frequency cepstral coefficients), 필터뱅크 에너지 등을 포함할 수 있다. 제1 생성 처리부(162)는 미리 학습과정에서 구해둔 인식 대상 어휘로 구성된 사전을 참조하여, 추출한 특징벡터와 가장 유사한 단어를 찾고, 추출한 특징벡터를 가장 유사한 단어 텍스로 변환할 수 있다.
제1 생성 처리부(162)는 구두 텍스트를 분석하여 지시어 및 제어명령을 포함하는 제1 문장을 생성할 수 있다. 제1 생성 처리부(162)는 형태소 사전에 기초하여, 구두 텍스트를 형태소 단위로 분석하고, 형태소 단위에 품사를 할당(tagging)할 수 있다. 여기서, 형태소 단위는 일반 명사/NNG, 주격 조사/JKS, 형용사/VA, 종결어미/ EF, 마침표, 물음표, 느낌표/SF 등이 있다. 예를 들어, 구두 텍스트가 <오늘 날씨가 어때>인 경우, 오늘/NNG + 날씨/NNG + 가/JKS + 어떻/VA + 어/EF + /SF와 같은 형태소 단위로 분석하고 품사를 할당할 수 있다. 전술한 형태소 분석은 예시일 뿐, 본 개시는 이에 제한되지 않는다.
제1 생성 처리부(162)는 사전에 정의된 룰(rule) 및 사전(dictionary)을 기반으로 하여 품사가 할당된 형태소의 구문을 분석한 후, 제1 문장을 생성할 수 있다. 여기서 구문은, 구두 텍스트를 형태소 단위로 분석하고 품사를 할당한 후에 형태소 단위를 보다 큰 단위인 명사구, 동사구, 형용사구 등으로 묶은 덩어리를 의미할 수 있다. 제1 생성 처리부(162)는 메모리(170)에 저장된 사전 정의된 룰 기반 및 시스템 사전, 사용자 사전, 불용어 사전 등 사전 기반에 기초하여 구두 텍스트의 구문을 분석할 수 있다. 예를 들어, <오늘/NNG>, <날씨/NNG + 가/JKS>, <어떻/VA + 어/EF + /SF>로 구두 텍스트의 구문을 분석할 수 있다. 전술한 구문 분석은 예시일 뿐, 본 개시는 이에 제한되지 않는다.
선택적 실시 예로, 제1 생성 처리부(162)는 구두 텍스트의 분석을 통하여 누락된 문장성분을 포함하는 제1 문장을 생성할 수 있다. 제1 생성 처리부(162)는 제1 문장을 주어, 목적어 및 서술어로 구성된 완전한 문장과 비교하여, 제1 문장으로부터 누락된 문장성분(예를 들어, 주어, 서술어 등)을 추출할 수 있다. 예를 들어, 제1 문장이 <TV>인 경우, 목적어인 TV에 대하여, 누가 TV를 어떻게 처리할 것인지에 대한 주어와 서술어가 누락되어 있음을 알 수 있다. 따라서 제1 생성 처리부(162)는 상술한 예시의 제1 문장으로부터 주어와 서술어를 누락된 문장성분으로 추출할 수 있다.
할당 처리부(163)는 비구두 정보의 분석을 통하여 제어대상 및 제어주체 각각에 식별정보를 할당할 수 있다.
할당 처리부(163)는 제어주체의 제스처 영상 정보를 포함하는 제1 비구두 정보로부터 제어주체의 스켈레톤(skeleton) 정보를 획득할 수 있다. 할당 처리부(163)는 스켈레톤 정보 획득을 위해 스켈레톤 분석부(미도시)를 더 포함할 수 있다. 스켈레톤 분석부는 인체의 형상 분석에 기반하여 관절의 각도 및 관절과 관절 사이의 거리에 기반하여 적어도 양 어깨, 양 팔꿈치, 양 손목, 양 엉덩이, 양 무릎, 및 양 발목의 위치 및 방향을 인식할 수 있다. 할당 처리부(163)는 스켈레톤 정보로부터 제어주체의 어깨 관절의 위치와 손가락 관절의 위치를 이용하여 제어주체가 지시하는 방향을 특정할 수 있다. 선택적 실시 예로, 할당 처리부(163)는 영상에 포함된 객체의 제스처를 분석하여 객체가 지시하는 방향을 특정할 수 있도록 미리 훈련된 심층신경망 모델을 이용하여 제스처 영상 정보에 포함된 제어주체의 제스처를 분석하여 제어주체가 지시하는 방향을 특정할 수 있다. 할당 처리부(163)는 제어주체가 지시하는 방향에 포함되는 제어대상을 결정할 수 있다. 할당 처리부(163)는 결정한 제어대상의 특징점과 메모리(170)에 저장된 객체들의 특징점 비교 결과에 기초하여, 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 객체의 식별정보를 제어대상에 할당할 수 있다.
선택적 실시 예로 할당 처리부(163)는 제어주체를 포함하는 영상 정보로서의 제1 비구두 정보를 이용하여 추출한 특징점을 기반으로 제어주체를 구별하고, 제어주체의 특징점과 메모리(170)에 저장된 사용자들의 특징점 비교 결과에 기초하여, 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 사용자의 식별정보를 제어주체에 할당할 수 있다.
선택적 실시 예로, 할당 처리부(163)는 다양한 방법을 통해서 객체를 구분(제어주체인지 제어대상인지 구분)하고 식별정보를 할당할 수 있다. 여기서 객체의 구분은, 예를 들어, SVM(support vector machine) 알고리즘 또는 NN(neural networks) 알고리즘을 통해서 객체의 종류를 구분할 수 있다. 객체의 종류를 구분한다 함은 예컨대, 객체의 이름 및/또는 객체가 어떤 물건인지에 대해서 알아내는 것을 의미할 수 있다. 예컨대, 객체가 제어주체인 경우, 제어주체의 이름이나, 식별정보(ID)를 알아낼 수 있다. 또한 객체가 제어대상인 경우 전자 디바이스(200)의 이름, 위치, 식별정보(ID) 등을 알아낼 수 있다. 이때, 할당 처리부(163)는 메모리(170)에 기저장된 제어주체의 특징정보 및 식별정보와, 제어대상의 특징정보 및 식별정보를 참조할 수 있다. 따라서, 할당 처리부(163)는 객체의 부분 영상과 기존 데이터를 비교하여 해당 객체와 동일한 영상을 가지는 제어주체 또는 제어대상을 기존 데이터로부터 찾아 해당 객체의 종류, 예컨대 이름 및/또는 식별정보를 찾아낼 수 있고, 객체 부분 영상을 식별정보 텍스트로 변환할 수 있다.
여기서, SVM 알고리즘은 주어진 데이터를 가장 잘 구분할 수 있는 하이퍼플레인(hyperplane)을 찾아내는 알고리즘으로서, 데이터들 중 서로 다른 클래스(class) 사이의 경계에 위치한 서포트 벡터(support vector)만을 이용할 수 있다. NN 알고리즘은 에너지(energy)를 통해 정의된 라이클리후드(likelihood)를 최대화하고 에러(error)를 최소화하는 방향으로 가중치(weight)를 학습하는 알고리즘으로서, 모든 데이터를 사용하여 레이어(layer) 사이의 가중치 행렬(weight matrix)를 모두 학습할 수 있다.
선택적 실시 예로, 할당 처리부(163)는 영상의 특징점을 분석하여 대응하는 객체의 종류를 구별할 수 있도록 미리 훈련된 심층신경망 모델을 이용하여 영상 정보로부터 추출한 특징점으로부터 영상 정보에 포함된 객체가 제어대상인지 제어주체인지 구별 할 수 있다. 여기서, 심층신경망 모델이 훈련되는 과정은 지도 학습으로 이루어질 수 있으며, 수많은 객체로부터 추출한 특징 정보에, 영상에 포함된 특징 정보가 어떠한 객체에 대응하는지를 라벨링한 데이터를 통해 학습이 이루어 질 수 있다.
선택적 실시 예로, 할당 처리부(163)는 제어대상들 및 제어주체를 포함하는 영상 정보로서의 제1 비구두 정보를 이용하여, 제어주체로부터 제어대상들 각각까지의 거리를 산출할 수 있다. 할당 처리부(163)는 산출한 거리들 중 지시어에 대응하는 어느 한 거리에 따른 제어대상을 결정할 수 있다. 예를 들어 지시어가 “이것”인 경우, 제어대상들 중 제어주체로부터 가장 가까운 거리에 있는 제어대상을 결정할 수 있다. 또한 지시어가 “저것”인 경우, 제어대상들 중 제어주체로부터 가장 먼 거리에 있는 제어대상을 결정할 수 있다. 할당 처리부(163)는 결정한 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 객체의 식별정보를 제어대상에 할당할 수 있다.
선택적 실시 예로, 할당 처리부(163)는 이전에 배포된 하나 이상의 제2 문장으로서의 제2 비구두 정보로부터 이전의 제어주체에 의한 제어대상 식별정보 및 이전의 제어명령을 추출할 수 있다. 할당 처리부(163)는 이전의 제어명령 및 제1 문장에 포함된 제어명령이 동일한 제어대상에 대한 제어명령인지를 판단할 수 있다. 할당 처리부(163)는 이전의 제어명령 및 제1 문장에 포함된 제어명령이 동일한 제어주체에 의한 것인지 판단할 수 있다. 할당 처리부(163)는 이전의 제어명령 및 제1 문장에 포함된 제어명령이 동일한 제어대상에 대한 제어명령이고, 동일한 제어주체에 의한 것인 경우, 이전의 제어대상 식별정보를 제1 문장에 포함된 제어대상의 식별정보로 할당할 수 있다.
제2 생성 처리부(164)는 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성할 수 있다. 제2 생성 처리부(164)는 스켈레톤 정보의 분석을 통하여 제어주체가 지시하는 방향에 포함된 제어대상의 식별정보를, 지시어에 보완하여, 제어대상의 식별정보 및 제어명령을 포함하는 제2 문장을 생성할 수 있다. 제2 생성 처리부(164)는 제어주체와 제어대상의 거리 산출 결과 및 지시어의 의미 분석을 통하여, 사용자로부터 임의의 거리에 위치한 제어대상의 식별정보를, 지시어에 보완하여, 제어대상의 식별정보 및 제어명령을 포함하는 제2 문장을 생성할 수 있다. 제2 생성 처리부(164)는 이전에 배포된 제2 문장에 포함된 제어명령과 제1 문장에 포함된 제어명령이 동일한 제어대상 및 동일한 제어주체에 대한 제어명령임을 판단하여, 이전에 배포된 제2 문장에 포함된 제어대상의 식별정보를, 지시어에 보완하여, 제어대상의 식별정보 및 제어명령을 포함하는 제2 문장을 생성할 수 있다.
선택적 실시 예로, 제2 생성 처리부(164)는 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다. 예를 들어, 제2 생성 처리부(164)는 제1 문장에 포함된 누락된 문장성분인 주어에 대하여, 제어주체의 식별정보로, 누락된 문장성분인 주어를 보완한 제2 문장을 생성할 수 있다. 또한, 제2 생성 처리부(164)는 제1 문장에 포함된 누락된 문장성분인 서술어에 대하여, 제어대상의 식별정보를 이용하여 현재 제어대상의 동작상태를 확인할 수 있다. 다음에 제2 생성 처리부(164)는 현재 제어대상의 동작상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 중 어느 한 제어명령으로, 누락된 문장성분인 서술어를 보완한 제2 문장을 생성할 수 있다. 예를 들어, 제어대상인 TV(203)의 식별정보가 TV_C_1이고, 제어대상인 TV(203)의 현재 상태가 전원 오프 상태인 경우, 현재 상태에서 TV(203)가 제공할 수 있는 기능은 전원 온 뿐이고, 전원 온을 텍스트화한 제어명령(TV_ON)으로, 누락된 문장성분인 서술어를 보완한 제2 문장을 생성할 수 있다.
배포 처리부(165)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포할 수 있다.
제2 생성 처리부(164)가 제2 문장을 배포 처리부(165)로 전송하기 전에, 검색 처리부(166)는 제2 문장에 포함된 제어명령과 메모리(170)에 기저장된 제어명령들을 비교하여, 제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리(170)에 존재하는지 여부를 검색할 수 있다.
제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리(170)에 존재하는 경우, 검색 처리부(166)는 해당 검색 결과를 제2 생성 처리부(164)로 전송하고, 제2 생성 처리부(164)는 제2 문장을 배포 처리부(165)로 전송할 수 있다.
그러나, 제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리(170)에 존재하지 않는 경우, 제어대상을 제어할 수 없으므로, 검색 처리부(166)는 해당 검색 결과를 송수신 처리부(167)로 전송하고, 송수신 처리부(167)는 자연어 처리 요청 신호와 함께 제2 문장을 서버(300)로 전송할 수 있다.
여기서, 송수신 처리부(167)가 제2 문장을 서버(300)로 전송하기 전에, 제2 문장을 재구성 처리부(168)로 전송하고, 재구성 처리부(168)는 제2 문장을 문법에 맞는 문장으로 재구성할 수 있다. 재구성 처리부(168)는 문법에 맞는 문장으로 재구성한 제2 문장을 송수신 처리부(167)로 전송할 수 있다. 송수신 처리부(167)는 문법에 맞는 문장으로 재구성한 제2 문장을 서버(300)로 전송할 수 있다.
이후 송수신 처리부(167)는 서버(300)로부터 제2 문장에 대한 자연어 처리 결과를 수신할 수 있다. 여기서, 제2 문장에 대한 자연어 처리 결과는 적어도 제어대상의 식별정보와 제어대상을 제어하는 제어명령을 포함할 수 있다. 송수신 처리부(167)는 서버(300)로부터 수신한 제2 문장에 대한 자연어 처리 결과를 배포 처리부(165)로 전송할 수 있다. 배포 처리부(165)는 제2 문장에 대한 자연어 처리 결과를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포할 수 있다.
또한, 제2 생성 처리부(164)가 제2 문장을 생성한 이후에, 검색 처리부(166)는 메모리(170)에 제어주체가 제어대상을 제어한 히스토리 활동 정보로서의 제3 비구두 정보가 존재하는지 여부를 검색할 수 있다.
메모리(170)에 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는 경우, 검색 처리부(166)는 해당 검색 결과를 제3 생성 처리부(169)로 전송할 수 있다.
제3 생성 처리부(169)는 히스토리 활동 정보로부터 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체의 식별정보를 텍스트화한 제3 문장을 생성할 수 있다.
예를 들어, 상술한 예시로, 발화 텍스트가 <TV>이고, 제2 문장이 <제어주체의 식별정보(예를 들어, 아빠)가 제어대상의 식별정보(TV(203, TV_C_1))를 제어명령(TV_ON)한다. 결국, (아빠의 지시에 의한) TV를 켜줘> 생성된 상태라고 가정한다. 메모리(170)에 저장된 히스토리 활동정보 중 제어주체의 식별정보인 아빠가 제어대상인 TV(203)를 제어하여 채널 7번을 자주 시청하여, 아빠가 선호하는 TV 채널이 7번인 경우, 제3 생성 처리부(169)는 제어대상에 대하여 제어주체가 선호하는 제어명령으로서, <채널 7번 틀어줘>를 생성할 수 있다.
제2 생성 처리부(164)에서 생성한 제2 문장과, 제3 생성 처리부(169)에서 생성한 제3 문장은 배포 처리부(165)로 전송될 수 있다. 배포 처리부(165)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제어명령 및 제3 문장에 포함된 제어명령을 배포할 수 있다. 예를 들어, 제어주체인 아빠가 <TV>를 발화하는 것 만으로도, 제어대상인 TV(203)가 켜지면서, 채널 7번으로 이동하여, 아빠는 채널 7번을 시청할 수 있게 된다.
선택적 실시 예로 배포 처리부(165)는 제2 문장 및 제3 문장을 합성하여 제어대상을 제어할 새로운 제어명령을 생성할 수 있다. 상술한 예에서 배포 처리부(165)는 제2 문장에 포함된 제어명령인 <TV 켜줘(TV_ON)>와, 제3 문장에 포함된 제어명령인 <채널 7번 틀어줘>를 합성할 수 있다. 이때 워드 임베딩을 거쳐 딥러닝된 신경망 모델을 이용하여, <켜줘>는 제어대상 중 TV(203)를 켜라는 것에 해당하고, <틀어줘>는 TV(203)를 켜라는 것이 아니라 채널을 이동하라는 것임을 할 수 있다. 따라서 배포 처리부(165)는 새로운 제어명령으로 <채널 7번을 켜줘>를 생성하고, 호출한 제어대상(TV(203))으로 새로운 제어명령을 배포할 수 있다.
제2 생성 처리부(164) 및 제3 생성 처리부(169)가 제2 문장 및 제3 문장을 배포 처리부(165)로 전송하기 전에, 검색 처리부(166)는 제2 문장에 포함된 제어명령 및 제3 문장에 제어명령과 메모리(170)에 기저장된 제어명령들을 비교하여, 제2 문장에 포함된 제어명령 및 제3 문장에 제어명령과 동일한 제어명령이 존재하는지 여부를 검색할 수 있다.
제2 문장에 포함된 제어명령 및 제3 문장에 제어명령과 동일한 제어명령이 메모리(170)에 존재하는 경우, 검색 처리부(166)는 해당 검색 결과를 제2 생성 처리부(164) 및 제3 생성 처리부(169)로 전송하고, 제2 생성 처리부(164)는 제2 문장을 배포 처리부(165)로 전송하고, 제3 생성 처리부(169)는 제3 문장을 배포 처리부(165)로 전송할 수 있다.
그러나, 제2 문장에 포함된 제어명령 및 제3 문장에 제어명령과 동일한 제어명령이 메모리(170)에 존재하지 않는 경우, 제어대상을 제어할 수 없으므로, 검색 처리부(166)는 해당 검색 결과를 송수신 처리부(167)로 전송하고, 송수신 처리부(167)는 자연어 처리 요청 신호와 함께 제2 문장 및 제3 문장을 서버(300)로 전송할 수 있다.
여기서, 송수신 처리부(167)가 제2 문장 및 제3 문장을 서버(300)로 전송하기 전에, 제2 문장 및 제3 문장을 재구성 처리부(168)로 전송하고, 재구성 처리부(168)는 제2 문장 및 제3 문장을 문법에 맞는 문장으로 재구성할 수 있다. 재구성 처리부(168)는 문법에 맞는 문장으로 재구성한 제2 문장 및 제3 문장을 송수신 처리부(167)로 전송할 수 있다. 송수신 처리부(167)는 문법에 맞는 문장으로 재구성한 제2 문장 및 제3 문장을 서버(300)로 전송할 수 있다.
이후 송수신 처리부(167)는 서버(300)로부터 제2 문장 및 제3 문장에 대한 자연어 처리 결과를 수신할 수 있다. 여기서, 제2 문장 및 제3 문장에 대한 자연어 처리 결과는 적어도 제어대상의 식별정보와 제어대상을 제어하는 두 개의 제어명령을 포함할 수 있다. 송수신 처리부(167)는 서버(300)로부터 수신한 제2 문장 및 제3 문장에 대한 자연어 처리 결과를 배포 처리부(165)로 전송할 수 있다. 배포 처리부(165)는 제2 문장 및 제3 문장에 대한 자연어 처리 결과를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 두 개의 제어명령을 배포할 수 있다.
도 5는 본 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다. 이하의 설명에서 도 1 내지 도 4에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 5를 참조하면, 도 5a는 제어주체가 TV(203)를 가리키면서 구두 정보로 <저거 볼륨 올려>를 발화하는 상황을 나타내고, 도 5b는 제어주체가 <저거 볼륨 올려>를 발화한 이후, TV(203)가 켜지는 예를 도시하고 있다.
도 5a를 참조하면, 제어주체가 구두 정보로 <저거 볼륨 올려>를 발화하면, 정보 처리 장치(100)는 구두 정보를 구두 텍스트 <저거 볼륨 올려>로 변환할 수 있다. 정보 처리 장치(100)는 구두 텍스트에 대한 문장 구조 분석을 통하여, 지시어(저거) 및 제어명령(볼륨 올려, volumn_up)을 포함하는 제1 문장을 생성할 수 있다.
정보 처리 장치(100)는 제어주체의 제스처 영상을 포함하는 제1 비구두 정보로부터 스켈레톤 정보를 획득하고, 스켈레톤 정보로부터 제어주체의 어깨 관절의 위치와 손가락 관절의 위치를 이용하여 제어주체가 지시하는 방향에 포함되는 제어대상을 결정할 수 있다. 도 5a로부터 제어주체가 지시하는 제어대상은 TV(203) 있음 알 수 있다. 정보 처리 장치(100)는 결정한 제어대상의 특징점과 메모리(170)에 저장된 객체들의 특징점 비교 결과에 기초하여, 제어대상의 특징점에 대응하는 특징점을 가지는 객체인 TV(203)를 선택하고, 선택된 객체의 식별정보(예를 들어, TV_C_1)를 TV(203)에 할당할 수 있다.
정보 처리 장치(100)는 제1 문장에 포함된 지시어를 TV(203)의 식별정보(TV_C_1)로 보완한 제2 문장을 생성할 수 있다. 예를 들어, 제2 문장은 TV(203)의 식별정보 TV_C_1와 제어명령 volumn_up을 포함할 수 있다.
정보 처리 장치(100)는 제2 문장으로부터 TV(203)의 식별정보(TV_C_1)를 이용하여 TV(203)를 호출하고, 호출한 TV(203)로, 제2 문장에 포함된 제어명령(volumn_up)을 배포하여, 도 5b에 도시된 바와 같이 TV(203)의 볼륨이 커질 수 있다.
도 6은 다른 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다. 이하의 설명에서 도 1 내지 도 5에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 6을 참조하면, 도 6a는 제어주체가 구두 정보로 <이거 켜줘>를 발화하는 상황을 나타내고, 도 6b는 제어주체가 <이거 켜줘>를 발화한 이후, TV(203)가 켜지는 예를 도시하고 있다.
도 6a를 참조하면, 제어주체가 구두 정보로 <이거 켜줘>를 발화하면, 정보 처리 장치(100)는 구두 정보를 구두 텍스트 <이거 켜줘>로 변환할 수 있다. 정보 처리 장치(100)는 구두 텍스트에 대한 문장 구조 분석을 통하여, 지시어(이거) 및 제어명령(켜줘, turn_on)을 포함하는 제1 문장을 생성할 수 있다.
정보 처리 장치(100)는 제어주체 및 제어대상들(TV(203), 로봇 청소기(204), 에어컨(205))의 영상을 포함하는 제1 비구두 정보로부터 제어주체로부터 TV(203)까지의 거리(d1)와, 제어주체로부터 청소기(204)까지의 거리(d2)와, 제어주체로부터 에어컨(205)까지의 거리(d3)를 산출할 수 있다. 도 6a로부터 거리 산출 결과가 d1<d3<d2 순일 수 있다.
정보 처리 장치(100)는 산출한 거리들 중 지시어의 의미에 대응하여 어느 한 제어대상을 결정할 수 있다. 예를 들어 지시어가 <이것>인 경우, 제어대상들 중 제어주체로부터 가장 가까운 거리에 있는 제어대상을 결정할 수 있다. 또한 지시어가 <저것>인 경우, 제어대상들 중 제어주체로부터 가장 먼 거리에 있는 제어대상을 결정할 수 있다. 도 6a의 경우 지시어가 <이거(이것)>이기 때문에 제어주체로부터 가장 가까운 거리(d1)에 있는 제어대상을 결정할 수 있다.
정보 처리 장치(100)는 결정한 제어대상의 특징점과 메모리(170)에 저장된 객체들의 특징점 비교 결과에 기초하여, 제어대상의 특징점에 대응하는 특징점을 가지는 객체인 TV(203)를 선택하고, 선택된 객체의 식별정보(예를 들어, TV_C_1)를 TV(203)에 할당할 수 있다.
정보 처리 장치(100)는 제1 문장에 포함된 지시어를 TV(203)의 식별정보(TV_C_1)로 보완한 제2 문장을 생성할 수 있다. 예를 들어, 제2 문장은 TV(203)의 식별정보 TV_C_1와 제어명령 turn_on을 포함할 수 있다.
정보 처리 장치(100)는 제2 문장으로부터 TV(203)의 식별정보(TV_C_1)를 이용하여 TV(203)를 호출하고, 호출한 TV(203)로, 제2 문장에 포함된 제어명령(turn_on)을 배포하여, 도 6b에 도시된 바와 같이 TV(203)가 켜질 수 있다.
도 7은 또 다른 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다. 이하의 설명에서 도 1 내지 도 6에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 7을 참조하면, 도 7a는 제어주체가 구두 정보로 <TV>를 발화하는 상황을 나타내고, 도 7b는 제어주체가 <TV>를 발화한 이후, TV(203)가 켜지면서, 제어주체가 선호하는 채널 7번이 디스플레이 되는 예를 도시하고 있다.
도 7a를 참조하면, 제어주체가 구두 정보로 <TV>를 발화하면, 정보 처리 장치(100)는 구두 정보를 구두 텍스트 <TV>로 변환할 수 있다. 또한 정보 처리 장치(100)는 카메라(120)를 통해 획득한 제1 비구두 정보의 분석을 통하여, 제어주체에 대한 식별정보(예를 들어, 아빠)를 할당하고, 제어대상인 TV(203)에 대한 식별정보(예를 들어, TV_C_1)을 할당할 수 있다.
정보 처리 장치(100)는 구두 텍스트에 대한 제1 문장인 <TV>와 주어, 목적 및 서술어로 구성된 완전한 문장을 비교하여, 제1 문장으로부터 누락된 문장성분으로 주어와 서술어를 판단할 수 있다.
정보 처리 장치(100)는 제어주체의 식별정보를 주어로 보완하고, 제어대상의 식별정보를 목적어로 보완하고, 제어대상에 대한 제어명령을 서술어로 보완하라는 미리 설정된 보완정보 생성 조건을 이용할 수 있다. 정보 처리 장치(100)는 누락된 문장성분인 주어를 제어주체의 식별정보인 아빠로 보완할 수 있다. 정보 처리 장치(100)는 누락된 문장성분인 서술어를 보완하기 위해, 먼저, 제어대상의 식별정보인 TV_C_1을 이용하여 현재 TV(203)의 동작상태가 전원 오프 상태임을 확인할 수 있다. 다음에 정보 처리 장치(100)는 현재 TV(203)의 동작상태에서 제공할 수 있는 기능이 전원 온 이고, 전원 온을 텍스트화한 제어명령(TV_ON)으로, 누락된 문장성분인 서술어를 보완한 제2 문장을 생성할 수 있다. 정보 처리 장치(100)는 제2 문장으로 <제어주체의 식별정보(예를 들어, 아빠)가 제어대상의 식별정보(TV(203, TV_C_1))를 제어명령(TV_ON)한다>를 생성할 수 있다.
또한 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색하여, 메모리(170)에 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는 경우, 히스토리 활동 정보로부터 제어주체의 식별정보인 아빠가 제어대상인 TV(203)를 제어하여 채널 7번을 자주 시청하여, 아빠가 선호하는 TV 채널이 7번임을 판단하고, 제3 문장으로 <채널 7번 틀어줘>를 생성할 수 있다.
정보 처리 장치(100)는 제2 문장 및 제3 문장으로부터 TV(203)의 식별정보(TV_C_1)를 이용하여 TV(203)를 호출하고, 호출한 TV(203)로, 제2 문장에 포함된 제어명령(TV_ON) 및 제3 문장에 포함된 제어명령(채널 7번 틀어줘)을 배포하여, 도 7b에 도시된 바와 같이 TV(203)가 켜지면서, 채널 7번을 디스플레이 할 수 있다. 이와 같은 방식으로 아빠는 <TV>를 발화하는 것만으로도, TV(203)가 켜지면서 선호하는 채널 7번을 시청할 수 있다.
도 8은 본 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 7에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 8을 참조하면, S801단계에서, 정보 처리 장치(100)는 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득한다.
S803단계에서, 정보 처리 장치(100)는 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성한다. 선택적 실시 예로, 정보 처리 장치(100)는 구두 정보의 텍스트 변환 결과를 분석하여 누락된 문장성분을 포함하는 제1 문장을 생성할 수 있다.
S805단계에서, 정보 처리 장치(100)는 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당한다. 정보 처리 장치(100)는 제1 비구두 정보로부터 획득한 제어주체의 스켈레톤 정보의 분석 및 특징점 추출을 통해 제어대상에 식별정보를 할당할 수 있다. 또한 정보 처리 장치(100)는 제1 비구두 정보로부터 획득한 제어주체 및 제어대상들 사이의 거리 정보, 지시어에 대한 의미 및 특징점 추출을 이용하여 제어대상에 식별정보를 할당할 수 있다. 또한 정보 처리 장치(100)는 제2 비구두 정보로부터 획득한 이전에 배포된 하나 이상의 제2 문장 정보를 이용하여 제어대상에 식별정보를 할당할 수 있다. 본 실시 예에서 정보 처리 장치(100)는 특징점 추출을 통하여 제어주체에 식별정보를 할당할 수 있다.
S807단계에서, 정보 처리 장치(100)는 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성한다. 선택적 실시 예로 정보 처리 장치(100)는 누락된 문장성분을 포함하는 제1 문장에 대하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다.
S809단계에서, 정보 처리 장치(100)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포한다.
도 9는 다른 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 8에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 9를 참조하면, S901단계에서, 정보 처리 장치(100)는 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득한다.
S903단계에서, 정보 처리 장치(100)는 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성한다.
S905단계에서, 정보 처리 장치(100)는 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당한다.
S907단계에서, 정보 처리 장치(100)는 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성한다.
S909단계에서, 제2 문장에 포함된 제어명령과 메모리에 기저장된 제어명령들을 비교하여 제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리에 존재하는지 여부를 검색한다.
S911단계에서, 정보 처리 장치(100)는 제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리에 존재하는지 판단한다.
S913단계에서, 제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리에 존재하는 경우, 정보 처리 장치(100)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포한다.
S915단계에서, 제2 문장에 포함된 제어명령과 동일한 제어명령이 메모리에 존재하지 않는 경우, 정보 처리 장치(100)는 자연어 처리 요청 신호와 함께 제2 문장을 외부 자연어 처리 장치로서의 서버(300)로 전송하고, 서버(300)로부터, 제2 문장에 대한 자연어 처리 결과를 수신한다.
S917단계에서, 정보 처리 장치(100)는 제2 문장에 대한 자연어 처리 결과에 포함된 에어 대상을 호출하고, 호출한 제어대상으로 제어명령을 배포한다.
도 10은 또 다른 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 9에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 10을 참조하면, S1001단계에서, 정보 처리 장치(100)는 제어주체 및 제어대상과 관련한 구두 정보와 비구두 정보를 획득한다.
S1003단계에서, 정보 처리 장치(100)는 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성한다.
S1005단계에서, 정보 처리 장치(100)는 비구두 정보의 분석을 통하여 제어대상에 식별정보를 할당한다.
S1007단계에서, 정보 처리 장치(100)는 제1 문장으로부터 지시어를 제어대상의 식별정보로 보완한 제2 문장을 생성한다.
S1009단계에서, 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보로서의 제3 비구두 정보가 존재하는지 여부를 검색한다. 여기서, 획득 처리부(161)는 검색 전에 먼저, 제어주체를 포함하는 영상 정보로서의 제1 비구두 정보를 이용하여 추출한 특징점을 기반으로 제어주체를 구별하고, 제어주체의 특징점과 기저장된 사용자들의 특징점 비교 결과에 기초하여, 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 사용자의 식별정보를 제어주체에 할당할 수 있다.
S1011단계에서, 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보로서의 제3 비구두 정보가 존재하는지 판단한다.
S1013단계에서, 제어주체가 제어대상을 제어한 히스토리 활동 정보로서의 제3 비구두 정보가 존재하지 않는 경우, 정보 처리 장치(100)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령을 배포한다.
S1015단계에서, 제어주체가 제어대상을 제어한 히스토리 활동 정보로서의 제3 비구두 정보가 존재하는 경우, 정보 처리 장치(100)는 히스토리 활동 정보로부터 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체의 식별정보를 포함하는 제3 문장을 생성한다.
S1017단계에서, 정보 처리 장치(100)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제어명령 및 제3 문장에 포함된 제어명령을 배포한다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 정보 처리 장치
200: 전자 디바이스
300: 서버
400: 네트워크

Claims (20)

  1. 정보 처리 방법으로서,
    제어주체 및 제어대상과 관련한 구두(verbal) 정보와 비구두(non-verbal) 정보를 획득하는 단계;
    상기 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하는 단계;
    상기 비구두 정보의 분석을 통하여 상기 제어대상에 식별정보를 할당하는 단계;
    상기 제1 문장으로부터 상기 지시어를 상기 제어대상의 식별정보로 보완한 제2 문장을 생성하는 단계; 및
    상기 제2 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로 상기 제어명령을 배포하는 단계를 포함하는,
    정보 처리 방법.
  2. 제 1 항에 있어서,
    상기 제1 문장을 생성하는 단계는,
    상기 구두 정보를 텍스트로 변환하고, 상기 텍스트의 분석을 통하여 누락된 문장성분을 포함하는 제1 문장을 생성하는 단계를 포함하는,
    정보 처리 방법.
  3. 제 2 항에 있어서,
    상기 제2 문장을 생성하는 단계는,
    상기 제어대상의 식별정보로부터 상기 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 상기 누락된 문장성분을 보완한 제2 문장을 생성하는 단계를 포함하는,
    정보 처리 방법.
  4. 제 1 항에 있어서,
    상기 제어대상에 식별정보를 할당하는 단계는,
    상기 제어주체의 제스처 영상 정보를 포함하는 상기 비구두 정보로부터 상기 제어주체의 스켈레톤 정보를 획득하는 단계;
    상기 스켈레톤 정보를 이용하여 상기 제어주체가 지시하는 방향을 특정하는 단계;
    상기 제어주체가 지시하는 방향에 포함되는 제어대상을 결정하는 단계; 및
    결정한 상기 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 상기 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 상기 객체의 식별정보를 상기 제어대상에 할당하는 단계를 포함하는,
    정보 처리 방법.
  5. 제 1 항에 있어서,
    상기 제어대상에 식별정보를 할당하는 단계는,
    제어대상들 및 상기 제어주체를 포함하는 영상 정보로서의 상기 비구두 정보를 이용하여, 상기 제어주체로부터 상기 제어대상들 각각까지의 거리를 산출하는 단계;
    산출한 거리들 중 상기 지시어에 대응하는 어느 한 거리에 따른 제어대상을 결정하는 단계; 및
    결정한 상기 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 상기 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 상기 객체의 식별정보를 상기 제어대상에 할당하는 단계를 포함하는,
    정보 처리 방법.
  6. 제 1 항에 있어서,
    상기 제어대상에 식별정보를 할당하는 단계는,
    이전에 배포된 상기 제어주체에 의한 제어명령을 추출하는 단계;
    상기 이전의 제어명령 및 상기 제1 문장에 포함된 제어명령이 동일한 제어대상에 대한 제어명령인지를 판단하는 단계; 및
    상기 동일한 제어대상에 대한 제어명령임을 판단한 결과에 따라, 상기 이전의 제어명령에 포함된 제어대상 식별정보를 상기 제1 문장에 포함된 상기 제어대상의 식별정보로 할당하는 단계를 포함하는,
    정보 처리 방법.
  7. 제 1 항에 있어서,
    상기 배포하는 단계 이전에,
    상기 제2 문장에 포함된 상기 제어명령과 기저장된 제어명령들을 비교하여 상기 제어명령과 동일한 제어명령이 존재하는지 여부를 검색하는 단계;
    상기 제어명령과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 상기 제2 문장을 외부 자연어 처리 장치로 전송하는 단계; 및
    상기 외부 자연어 처리 장치로부터, 상기 제2 문장에 대한 자연어 처리 결과를 수신하는 단계를 더 포함하는,
    정보 처리 방법.
  8. 제 7 항에 있어서,
    상기 전송하는 단계 이전에,
    상기 제2 문장을 문법에 맞는 문장으로 재구성하는 단계를 더 포함하는,
    정보 처리 방법.
  9. 제 1 항에 있어서,
    상기 제2 문장을 생성하는 단계 이후에,
    상기 제어주체를 포함하는 영상 정보로서의 상기 비구두 정보를 이용하여 추출한 특징점을 기반으로 상기 제어주체를 구별하는 단계;
    상기 제어주체의 특징점과 기저장된 사용자들의 특징점 비교 결과에 기초하여, 상기 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 상기 사용자의 식별정보를 상기 제어주체에 할당하는 단계;
    상기 제어주체가 상기 제어대상을 제어한 히스토리 활동 정보로서의 상기 비구두 정보가 존재하는지 여부를 검색하는 단계; 및
    상기 히스토리 활동 정보가 존재함에 기초하여, 상기 히스토리 활동 정보로부터 상기 제어대상에 대하여 상기 제어주체가 선호하는 제어명령 및 상기 제어주체의 식별정보를 포함하는 제3 문장을 생성하는 단계를 더 포함하는,
    정보 처리 방법.
  10. 제 9 항에 있어서,
    상기 배포하는 단계는,
    상기 제2 문장 및 상기 제3 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로, 상기 제2 문장에 포함된 제어명령 및 상기 제3 문장에 포함된 제어명령을 배포하는 단계를 포함하는,
    정보 처리 방법.
  11. 정보 처리 장치로서,
    제어주체 및 제어대상과 관련한 구두(verbal) 정보와 비구두(non-verbal) 정보를 획득하는 획득 처리부;
    상기 구두 정보를 텍스트로 변환하여 지시어 및 제어명령을 포함하는 제1 문장을 생성하는 제1 생성 처리부;
    상기 비구두 정보의 분석을 통하여 상기 제어대상에 식별정보를 할당하는 할당 처리부;
    상기 제1 문장으로부터 상기 지시어를 상기 제어대상의 식별정보로 보완한 제2 문장을 생성하는 제2 생성 처리부; 및
    상기 제2 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로 상기 제어명령을 배포하는 배포 처리부를 포함하는,
    정보 처리 장치.
  12. 제 11 항에 있어서,
    상기 제1 생성 처리부는,
    상기 구두 정보를 텍스트로 변환하고, 상기 텍스트의 분석을 통하여 누락된 문장성분을 포함하는 상기 제1 문장을 생성하도록 구성되는,
    정보 처리 장치.
  13. 제 12 항에 있어서,
    상기 제2 생성 처리부는,
    상기 제어대상의 식별정보로부터 상기 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹을 이용하여 상기 누락된 문장성분을 보완한 상기 제2 문장을 생성하도록 구성되는,
    정보 처리 장치.
  14. 제 11 항에 있어서,
    상기 할당 처리부는,
    상기 제어주체의 제스처 영상 정보를 포함하는 상기 비구두 정보로부터 상기 제어주체의 스켈레톤 정보를 획득하고,
    상기 스켈레톤 정보를 이용하여 상기 제어주체가 지시하는 방향을 특정하고,
    상기 제어주체가 지시하는 방향에 포함되는 제어대상을 결정하며,
    결정한 상기 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 상기 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 상기 객체의 식별정보를 상기 제어대상에 할당하도록 구성되는,
    정보 처리 장치.
  15. 제 11 항에 있어서,
    상기 할당 처리부는,
    제어대상들 및 상기 제어주체를 포함하는 영상 정보로서의 상기 비구두 정보를 이용하여, 상기 제어주체로부터 상기 제어대상들 각각까지의 거리를 산출하고,
    산출한 거리들 중 상기 지시어에 대응하는 어느 한 거리에 따른 제어대상을 결정하고,
    결정한 상기 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 상기 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 상기 객체의 식별정보를 상기 제어대상에 할당하도록 구성되는,
    정보 처리 장치.
  16. 제 11 항에 있어서,
    상기 할당 처리부는,
    이전에 배포된 상기 제어주체에 의한 제어명령을 추출하고,
    상기 이전의 제어명령 및 상기 제1 문장에 포함된 제어명령이 동일한 제어대상에 대한 제어명령인지를 판단하며,
    상기 동일한 제어대상에 대한 제어명령임을 판단한 결과에 따라, 상기 이전의 제어명령에 포함된 제어대상 식별정보를 상기 제1 문장에 포함된 상기 제어대상의 식별정보로 할당하도록 구성되는,
    정보 처리 장치.
  17. 제 11 항에 있어서,
    상기 제2 문장을 배포하기 전에, 상기 제2 문장에 포함된 상기 제어명령과 기저장된 제어명령들을 비교하여 상기 제어명령과 동일한 제어명령이 존재하는지 여부를 검색하는 검색 처리부; 및
    상기 제어명령과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 상기 제2 문장을 외부 자연어 처리 장치로 전송하고, 상기 외부 자연어 처리 장치로부터, 상기 제2 문장에 대한 자연어 처리 결과를 수신하는 송수신 처리부를 더 포함하는,
    정보 처리 장치.
  18. 제 17 항에 있어서,
    상기 제2 문장을 외부 자연어 처리 장치로 전송하기 전에, 상기 제2 문장을 문법에 맞는 문장으로 재구성하는 재구성 처리부를 더 포함하는,
    정보 처리 장치.
  19. 제 11 항에 있어서,
    상기 제2 문장을 생성한 후에, 상기 제어주체를 포함하는 영상 정보로서의 상기 비구두 정보를 이용하여 추출한 특징점을 기반으로 상기 제어주체를 구별하고, 상기 제어주체의 특징점과 기저장된 사용자들의 특징점 비교 결과에 기초하여, 상기 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 상기 사용자의 식별정보를 상기 제어주체에 할당하는 할당 처리부;
    상기 제어주체가 상기 제어대상을 제어한 히스토리 활동 정보로서의 상기 비구두 정보가 존재하는지 여부를 검색하는 검색 처리부; 및
    상기 히스토리 활동 정보가 존재함에 기초하여, 상기 히스토리 활동 정보로부터 상기 제어대상에 대하여 상기 제어주체가 선호하는 제어명령 및 상기 제어주체의 식별정보를 포함하는 제3 문장을 생성하는 제3 생성 처리부를 더 포함하는,
    정보 처리 장치.
  20. 제 19 항에 있어서,
    상기 배포 처리부는,
    상기 제2 문장 및 상기 제3 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로, 상기 제2 문장에 포함된 제어명령 및 상기 제3 문장에 포함된 제어명령을 배포하도록 구성되는,
    정보 처리 장치.
KR1020190171147A 2019-12-19 2019-12-19 정보 처리 방법 및 정보 처리 장치 KR20210079061A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190171147A KR20210079061A (ko) 2019-12-19 2019-12-19 정보 처리 방법 및 정보 처리 장치
US16/807,084 US11437024B2 (en) 2019-12-19 2020-03-02 Information processing method and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190171147A KR20210079061A (ko) 2019-12-19 2019-12-19 정보 처리 방법 및 정보 처리 장치

Publications (1)

Publication Number Publication Date
KR20210079061A true KR20210079061A (ko) 2021-06-29

Family

ID=76439239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190171147A KR20210079061A (ko) 2019-12-19 2019-12-19 정보 처리 방법 및 정보 처리 장치

Country Status (2)

Country Link
US (1) US11437024B2 (ko)
KR (1) KR20210079061A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11657814B2 (en) * 2020-10-08 2023-05-23 Harman International Industries, Incorporated Techniques for dynamic auditory phrase completion
US20240061644A1 (en) * 2022-08-17 2024-02-22 Jpmorgan Chase Bank, N.A. Method and system for facilitating workflows via voice communication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430044B2 (en) * 2013-03-15 2016-08-30 Lutron Electronics Co., Inc. Gesture-based load control
CN104866084B (zh) * 2014-02-25 2021-04-30 中兴通讯股份有限公司 手势识别方法、装置和系统
US10101885B1 (en) * 2015-05-20 2018-10-16 Amazon Technologies, Inc. Interact with TV using phone camera and touch
EP4328708A3 (en) * 2016-02-04 2024-06-05 Apple Inc. Controlling electronic devices and augmented reality based on wireless ranging
US10295972B2 (en) * 2016-04-29 2019-05-21 Brain Corporation Systems and methods to operate controllable devices with gestures and/or noises
US10395655B1 (en) * 2017-09-13 2019-08-27 Amazon Technologies, Inc. Proactive command framework
CN110234273B (zh) * 2018-01-04 2022-10-25 英特埃克森有限公司 可穿戴计算设备
CN112236765A (zh) * 2018-05-07 2021-01-15 谷歌有限责任公司 基于生成的子查询的集合确定复合查询的响应内容
CN112313924A (zh) * 2018-05-07 2021-02-02 谷歌有限责任公司 提供用于控制各种连接设备的复合图形助理界面
US11700141B2 (en) * 2018-10-08 2023-07-11 Google Llc Control and/or registration of smart devices, locally by an assistant client device
US20200204673A1 (en) * 2018-12-20 2020-06-25 Arris Enterprises Llc Internet of things user interface simplification

Also Published As

Publication number Publication date
US20210193128A1 (en) 2021-06-24
US11437024B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
KR102445382B1 (ko) 음성 처리 방법 및 이를 지원하는 시스템
US20210142127A1 (en) Artificial intelligence apparatus and method for recognizing object included in image data
US11289074B2 (en) Artificial intelligence apparatus for performing speech recognition and method thereof
US11437034B2 (en) Remote control method and apparatus for an imaging apparatus
US11556302B2 (en) Electronic apparatus, document displaying method thereof and non-transitory computer readable recording medium
KR20190094315A (ko) 스타일을 고려하여 텍스트와 음성을 상호 변환하는 인공 지능 장치 및 그 방법
US11195528B2 (en) Artificial intelligence device for performing speech recognition
US11030991B2 (en) Method and device for speech processing
KR20210047173A (ko) 오인식된 단어를 바로잡아 음성을 인식하는 인공 지능 장치 및 그 방법
KR20210050747A (ko) 음성 처리 방법 및 음성 처리 장치
US11302324B2 (en) Speech processing method and apparatus therefor
KR102369083B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
US11328718B2 (en) Speech processing method and apparatus therefor
KR20190113693A (ko) 단어 사용 빈도를 고려하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
US20210110815A1 (en) Method and apparatus for determining semantic meaning of pronoun
US20210210073A1 (en) Artificial intelligence device for providing speech recognition function and method of operating artificial intelligence device
KR20190090745A (ko) 커뮤니케이션 로봇 및 그의 구동 방법
US11373656B2 (en) Speech processing method and apparatus therefor
KR20190118539A (ko) 발화 스타일을 고려하여 음성을 인식하는 인공 지능 장치 및 그 방법
US11468247B2 (en) Artificial intelligence apparatus for learning natural language understanding models
US11437024B2 (en) Information processing method and apparatus therefor
KR20220070466A (ko) 지능적 음성 인식 방법 및 장치
CN113948060A (zh) 一种网络训练方法、数据处理方法及相关设备
KR102221963B1 (ko) 화상 정보를 제공하는 인공 지능 장치 및 그 방법
US11217249B2 (en) Information processing method and apparatus therefor