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

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

Info

Publication number
KR20210078122A
KR20210078122A KR1020190169869A KR20190169869A KR20210078122A KR 20210078122 A KR20210078122 A KR 20210078122A KR 1020190169869 A KR1020190169869 A KR 1020190169869A KR 20190169869 A KR20190169869 A KR 20190169869A KR 20210078122 A KR20210078122 A KR 20210078122A
Authority
KR
South Korea
Prior art keywords
sentence
control
information
processing unit
control command
Prior art date
Application number
KR1020190169869A
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 KR1020190169869A priority Critical patent/KR20210078122A/ko
Priority to US16/821,910 priority patent/US11217249B2/en
Publication of KR20210078122A publication Critical patent/KR20210078122A/ko

Links

Images

Classifications

    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • 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/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

탑재된 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 실행하여 정보 처리를 수행함으로써 5G 통신 환경에서 전자 디바이스를 제어할 수 있는 정보 처리 방법 및 음성 처리 장치가 개시된다. 본 실시 예에 따른 정보 처리 방법은, 획득한 영상 정보의 분석을 통하여 제어대상 및 제어주체에 식별정보를 할당하는 단계와, 발화자로서의 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성하는 단계와, 발화 텍스트를 분석하여 제1 문장을 생성하는 단계와, 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출하는 단계와, 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성하는 단계와, 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성하는 단계와, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 상기 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포하는 단계를 포함할 수 있다.

Description

정보 처리 방법 및 정보 처리 장치{INFORMATION PROCESSING METHOD AND APPARATUS THEREFOR}
본 발명은 5G 통신 환경에서 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 실행함으로써, 다양한 채널을 통해 입력되는 복수의 정보를 이용하여 제어대상을 제어하기 위한 문장을 생성하는 정보 처리 방법 및 정보 처리 장치에 관한 것이다.
근래의 전자 디바이스는 사용자와의 인터렉션(interaction)을 지향하기 위한 일환으로 다양한 입력 방식을 제안하고 있다. 예를 들어, 전자 디바이스는 특정 어플리케이션 프로그램의 실행을 기반으로 사용자 발화에 따른 음성 데이터를 입력 받는 음성 입력 방식을 운용할 수 있다. 나아가, 전자 디바이스는 입력된 음성 데이터를 인식하여 사용자 발화의 의도를 도출하고, 의도에 대응하는 기능 동작을 수행하는 음성 인식 서비스를 지원할 수 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 복수의 입력 정보를 이용하여 제어대상을 제어할 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널 중 어느 한 입력 채널을 통하여 획득한 발화 정보를 이용하여 생성한 문장에 누락된 문장성분이 존재하는 경우, 다양한 입력 채널 중 다른 한 입력 채널을 통하여 획득한 영상 정보를 이용하여 누락된 문장성분을 보완한 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 복수의 입력 정보를 이용하여 발화자로서의 제어주체와 제어주체가 제어하는 제어대상을 구분하고, 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체를 이용하여 문장을 생성함으로써 제어대상에 대한 제어주체만의 개인화 서비스를 제공하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 제어대상의 제어에 대한 사용자의 의도가 정확하게 반영된 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 복수의 입력 정보를 시장 지배적인 자연어 처리 서비스 업체에 유출시키지 않은 상태로 제어대상을 제어할 문장을 생성하는데 있다.
본 발명의 일 과제는, 다양한 입력 채널을 통하여 획득한 복수의 입력 정보를 이용하여 제어대상을 제어할 문장을 생성함으로써 제어대상의 제어 처리 속도를 증가시키고 제어대상의 제어 처리 비용을 감소하는데 있다.
본 실시 예에 따른 정보 처리 방법은, 다양한 채널을 통해 획득한 입력 정보를 분석 및 보완하여 제어대상을 제어할 문장을 생성하는 단계와, 문장에 포함된 제어명령으로 제어대상을 제어하는 단계를 포함할 수 있다.
구체적으로 본 실시 예에 따른 정보 처리 방법은, 제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 영상 정보의 분석을 통하여 제어대상 및 제어주체에 식별정보를 할당하는 단계와, 발화자로서의 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성하는 단계와, 발화 텍스트를 분석하여 제1 문장을 생성하는 단계와, 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출하는 단계와, 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성하는 단계와, 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성하는 단계와, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 상기 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포하는 단계를 포함할 수 있다.
본 실시 예에 따른 정보 처리 방법을 통하여, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 생성한 문장은 사용자의 의도가 정확하게 반영되어 제어주체의의 제어대상 이용 편의성을 향상시킬 수 있다.
본 실시 예에 따른 정보 처리 장치는, 제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 영상 정보의 분석을 통하여 제어대상 및 제어주체에 식별정보를 할당하는 영상 분석 처리부와, 발화자로서의 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성하는 텍스트 변환 처리부와, 발화 텍스트를 분석하여 제1 문장을 생성하는 제1 문장 생성 처리부와, 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출하는 추출 처리부와, 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성하는 보완정보 생성 처리부와, 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성하는 제2 문장 생성 처리부와, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 상기 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포하는 배포 처리부를 포함할 수 있다.
본 실시 예에 따른 정보 처리 장치를 통하여, 제어대상을 제어하기 위해 생성한 문장을 시장 지배적인 클라우드 기반 자연어 처리 서비스에 그대로 사용할 수 있으므로, 제어대상을 제어하기 위한 멀티 모달(multimodal) HCI(human computer interaction) 환경을 제공하고, 지식 검색 등 후위 서비스와 연계할 수 있어 산업 생태계(industry ecosystem)에 부합할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 발화자로서의 제어주체와 제어주체가 제어하는 제어대상을 구분하고, 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체를 이용하여 문장을 생성함으로써 제어대상에 대한 제어주체만의 개인화 서비스를 제공할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 시장 지배적인 자연어 처리 서비스 업체에 유출시키지 않고 보존한 상태로 제어대상을 제어할 문장을 생성함으로써, 사용자의 사생활을 보호할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 제어대상을 제어할 문장을 생성하여 제어대상의 제어 처리 속도를 증가시키고 제어대상의 제어 처리 비용을 감소시킬 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 제어대상을 제어하기 위해 생성한 문장을 시장 지배적인 클라우드 기반 자연어 처리 서비스에 그대로 사용할 수 있으므로, 제어대상을 제어하기 위한 멀티 모달(multimodal) HCI(human computer interaction) 환경을 제공하고, 지식 검색 등 후위 서비스와 연계할 수 있어 산업 생태계(industry ecosystem)에 부합할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 발화자로서의 제어주체와 제어주체가 제어하는 제어대상을 구분하고, 제어대상에 대하여 제어주체가 선호하는 제어명령 및 제어주체를 이용하여 문장을 생성함으로써 제어대상에 대한 제어주체만의 개인화 서비스를 제공할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 생성한 문장은 사용자의 의도가 정확하게 반영되어 제어주체의의 제어대상 이용 편의성을 향상시킬 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 시장 지배적인 자연어 처리 서비스 업체에 유출시키지 않고 보존한 상태로 제어대상을 제어할 문장을 생성함으로써, 제어주체의 사생활을 보호할 수 있다.
또한, 다양한 입력 채널을 통하여 획득한 발화 정보 및 영상 정보를 이용하여 제어대상을 제어할 문장을 생성하여 제어대상의 제어 처리 속도를 증가시키고 제어대상의 제어 처리 비용을 감소시킬 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 실시 예에 따른 정보 처리 장치, 전자 디바이스, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 정보 처리 환경의 예시도이다.
도 2는 본 실시 예에 따른 정보 처리 장치의 구현 예를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 정보 처리 장치의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다.
도 4는 도 3의 정보 처리 장치 중 정보 처리부의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다.
도 5는 본 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다.
도 6는 본 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다.
도 7은 다른 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 정보 처리 장치, 전자 디바이스, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 정보 처리 환경의 예시도이고, 도 2는 본 실시 예에 따른 정보 처리 장치의 구현 예를 도시한 도면이다. 도 1 및 도 2를 참조하면, 정보 처리 환경은 정보 처리 장치(100), 전자 디바이스(200), 서버(300) 및 네트워크(400)를 포함할 수 있다.
정보 처리 장치(100)는 다양한 채널을 통해 획득한 입력 정보를 분석 및 보완하여 제어대상을 제어할 문장을 생성하고, 해당 문장에 포함된 제어명령으로 제어대상을 제어할 수 있다.
이를 위해 정보 처리 장치(100)는 제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 영상 정보의 분석을 통하여 제어대상 및 제어주체에 식별정보(예를 들어, ID)를 할당할 수 있다. 여기서 제어대상은 후술하는 전자 디바이스(200) 중 하나를 포함할 수 있고, 제어주체는 제어대상을 제어하는 발화자를 포함할 수 있다. 또한 영상 정보는 후술하는 도 3의 카메라(120)를 통하여 획득할 수 있다. 정보 처리 장치(100)는 영상 정보로부터 추출한 특징점을 기반으로 하여 제어대상과 제어주체를 구별하고, 구별한 제어대상과 제어주체에 기설정된 식별정보를 할당할 수 있다.
정보 처리 장치(100)는 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성할 수 있다. 여기서 발화 정보는 후술하는 도 3의 오디오 입력부(151)를 통하여 획득할 수 있다. 정보 처리 장치(100)는 STT(speech to text) 알고리즘을 이용하여 발화 정보를 발화 텍스트로 변환할 수 있다
정보 처리 장치(100)는 발화 텍스트를 분석하여 제1 문장을 생성할 수 있다. 정보 처리 장치(100)는 자연어 처리 기술 중 일부(예를 들어, 형태소 분석, 품사 태깅, 구문 분석 등)를 이용하여 제1 문장을 생성할 수 있다.
정보 처리 장치(100)는 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출할 수 있다. 정보 처리 장치(100)는 제1 문장에 대한 문장 구조를 분석하고, 제1 문장을 주어, 목적어 및 서술어로 구성된 완전한 문장과 비교하여, 제1 문장으로부터 누락된 문장성분(예를 들어, 주어, 서술어 등)을 추출할 수 있다.
정보 처리 장치(100)는 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성할 수 있다. 예를 들어 누락된 문장성분이 서술어인 경우, 제어명령 그룹 중 어느 한 제어명령(예를 들어, 제1 제어명령)을 서술어를 보완할 보완정보로 생성할 수 있다. 또한 누락된 문장성분이 주어인 경우, 제어주체의 식별정보를 주어를 보완할 보완정보로 생성할 수 있다.
본 실시 예에서, 발화 정보 및 영상 정보에는 해당 정보가 완전한 문장(예를 들어, 제2 문장)을 생성하기 위해 어떠한 문장성분으로 사용할 수 있는지가 매핑되어 있을 수 있다. 예를 들어, 발화 정보에는 모든 품사와, 주어 및 목적어에 대응하는 명사가 매핑되어, 발화 정보로부터 모든 문장성분을 추출할 수 있다. 또한 영상 정보에는 부사절 또는 조건절에 대응하는 부사와, 주어 및 목적어에 대응하는 명사와, 명령어에 대응하는 동사가 매핑되어, 영상 정보로부터 부사와, 명사와 동사에 대응하는 문장성분을 추출할 수 있다. 또한 후술할 활동 정보에는 부사절 또는 조건절에 대응하는 부사가 매핑되어, 활동 정보로부터 부사에 대응하는 문장성분을 추출할 수 있다.
정보 처리 장치(100)는 생성한 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다. 여기서 제2 문장은 주어 목적어 서술어로 구성된 완전한 문장을 포함할 수 있다.
정보 처리 장치(100)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포할 수 있다.
정보 처리 장치(100)는 제1 제어명령을 배포하기 이전에, 제2 문장에 포함된 제1 제어명령과 기저장된 제어명령들을 비교하여 제1 제어명령과 동일한 제어명령이 존재하는지 여부를 검색할 수 있다. 정보 처리 장치(100)는 검색 결과, 기저장된 제어명령들 중 제1 제어명령과 동일한 제어명령이 존재하지 않는 경우, 외부 자연어 처리 장치로서의 서버(300)로 자연어 처리 요청 신호와 함께 제2 문장을 전송하고, 서버(300)로부터 제어대상과 제어명령을 포함하는 제2 문장에 대한 자연어 처리 결과를 수신할 수 있다. 정보 처리 장치(100)는 서버(300)로부터 수신한 제2 문장에 대한 자연어 처리 결과로부터 제어대상을 호출하고, 호출한 제어대상에 제어명령을 배포할 수 있다.
종래의 경우 서버(300)로부터 자연어 처리 결과를 수신하기 위해 획득한 입력 정보(발화 정보 및 영상 정보)를 서버(300)로 전송하여 제어주체의 사생활이 외부로 유출될 수 있었다. 그러나 본 실시 예의 경우 정보 처리 장치(100)가 제2 문장만을 서버(300)로 전송하면 되기 때문에 제어주체의 사생활을 보호할 수 있다.
정보 처리 장치(100)는 제2 문장을 생성한 이후에 제어주체의 식별정보와 제어대상의 식별정보를 이용하여, 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색할 수 있다. 정보 처리 장치(100)는 검색 결과 히스토리 활동 정보가 존재하는 경우, 히스토리 활동 정보로부터 제어대상에 대하여 제어주체가 선호하는 제2 제어명령 및 제어주체의 식별정보를 텍스트화한 제3 문장을 생성할 수 있다.
여기서 활동 정보는 메모리(도 3의 170)에 저장되고, 제어주체가 이전에 제어대상을 제어한 히스토리 정보 즉, 이전에 배포된 하나 이상의 제2 문장을 포함할 수 있다. 여기서, 이전에 배포된 하나 이상의 제2 문장은 과거 시점에서 호출한 제어대상의 식별정보와 결정된 제어대상으로 배포한 제1 제어명령을 포함할 수 있다. 또한, 이전에 배포된 하나 이상의 제2 문장에는 제1 제어명령이 배포된 시간과, 반복 배포 횟수, 어떤 제어주체(예를 들어, 가족 구성원 중 누구)에 의해 생성 되었는지에 대한 정보 등이 포함될 수 있다. 또한, 활동정보는 메모리(도 3의 170)에 저장되고, 제어대상 및/또는 제어주체 단말기 중 하나 이상을 이용하여 생성한 제어주체의 행동 정보, 관심 정보, 선호 정보, 검색 정보, 이용 정보, 조작 정보, 수집 정보 등을 포함할 수 있다.
정보 처리 장치(100)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제1 제어명령 및 제3 문장에 포함된 제2 제어명령을 배포할 수 있다. 이와 같은 정보 처리 장치(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) 발화자로서의 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성할 수 있다. 정보 처리부(160)는 발화 텍스트를 분석하여 제1 문장을 생성할 수 있다. 정보 처리부(160)는 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출할 수 있다. 정보 처리 장치(100)는 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성할 수 있다. 정보 처리부(160)는 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다. 정보 처리부(160)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포할 수 있다.
정보 처리부(160)는 제1 명령을 배포하기 전에, 제2 문장에 포함된 제1 제어명령과 기저장된 제어명령들을 비교하여 제1 제어명령과 동일한 제어명령이 존재하는지 여부를 검색할 수 있다. 정보 처리부(160)는 제1 제어명령과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 제2 문장을 서버(300)로 전송할 수 있다. 정보 처리부(160)는 서버(300)로부터, 제2 문장에 대한 자연어 처리 결과를 수신할 수 있다.
정보 처리부(160)는 보완정보를 생성한 후에, 제어주체의 식별정보와 제어대상의 식별정보를 이용하여, 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색할 수 있다. 정보 처리부(160)는 히스토리 활동 정보가 존재함에 기초하여, 히스토리 활동 정보로부터 제어대상에 대하여 제어주체가 선호하는 제2 제어명령 및 제어주체의 식별정보를 텍스트화한 제3 문장을 생성할 수 있다. 정보 처리부(160)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제1 제어명령 및 제3 문장에 포함된 제2 제어명령을 배포할 수 있다.
본 실시 예에서 정보 처리부(160)는 제어부(180)와 연계하여 학습을 수행하거나, 제어부(180)로부터 학습 결과를 수신할 수 있다. 본 실시 예에서 정보 처리부(160)는 도 3에 도시된 바와 같이 제어부(180) 외부에 구비될 수도 있고, 제어부(180) 내부에 구비되어 제어부(180)처럼 동작할 수도 있다. 이하 정보 처리부(160)의 상세한 내용은 도 4를 참조하여 설명하기로 한다.
메모리(170)는 정보 처리 장치(100)의 동작에 필요한 각종 정보들을 저장하고, 정보 처리 장치(100)를 동작시킬 수 있는 제어 소프트웨어를 저장할 수 있는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(170)에는 제어주체의 발화 정보로부터 기동어의 존재를 판단하기 위한 기설정된 기동어가 저장될 수도 있다.
또한, 메모리(170)에는 오디오 입력부(151)를 통하여 획득한 발화 정보와, 카메라(120)를 통하여 획득한 영상 정보와, 히스토리 활동정보가 저장될 수 있다. 또한 메모리(170)에는 정보 처리부(160)가 처리한 결과를 저장할 수 있다.
또한 메모리(170)는 정보 처리부(160)가 실행할 명령어 예를 들어, 제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 영상 정보의 분석을 통하여 제어대상 및 제어주체에 식별정보를 할당하는 명령어, 발화자로서의 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성하는 명령어, 발화 텍스트를 분석하여 제1 문장을 생성하는 명령어, 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출하는 명령어, 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성하는 명령어, 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성하는 명령어, 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포하는 명령어 등을 저장할 수 있다.
여기서, 메모리(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), 텍스트 변환 처리부(162), 제1 문장 생성 처리부(163-1) 내지 제3 문장 생성 처리부(163-3), 추출 처리부(164), 보완정보 생성 처리부(165), 배포 처리부(166), 제어명령 검색 처리부(167-1), 이력 정보 검색 처리부(167-2), 송수신 처리부(168) 및 재구성 처리부(169)를 포함할 수 있다.
선택적 실시 예로, 정보 처리부(160)는 하나 이상의 프로세서를 포함할 수 있다. 선택적 실시 예로 영상 분석 처리부(161) 내지 재구성 처리부(169)는 하나 이상의 프로세서에 대응될 수 있다. 선택적 실시 예로, 영상 분석 처리부(161) 내지 재구성 처리부(169)는 하나 이상의 프로세서에 의해 실행되도록 구성된 소프트웨어 구성 요소(components)에 대응될 수 있다.
영상 분석 처리부(161)는 카메라(120)를 통하여 제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 영상 정보의 분석을 통하여 제어대상 및 제어주체에 식별정보를 할당할 수 있다.
영상 분석 처리부(161)는 영상 정보로부터 특징점을 추출하고, 특징점을 기반으로 하여 제1 객체 및 제2 객체를 구별할 수 있다.
문서 정보와는 다르게, 영상 정보는 곧바로 해석 가능한 상태가 아니므로 특징점이 우선 추출되어야 한다. 예컨대, 원과 다각형을 구분하는 경우, 꼭지점을 표현할 수 있는 특징점을 사용하여 꼭지점이 3개이면 삼각형, 꼭지점이 전혀 없는 경우에는 원과 같이 객체를 구분할 수 있는 것이다. 꼭지점 이외에도 특징점은 다양한 패턴을 잡도록 추출될 수 있다. 특징점은 영상 정보에서 급격한 변화를 보이는 포인트를 잡아내는 것이다.
영상 분석 처리부(161)는 영상 정보로부터 특징점을 추출하기 위해 다양한 방법을 이용할 수 있다. 영상 분석 처리부(161)는 영상 정보로부터 특징점을 추출하는 방법으로 예를 들어, SIFT(scale-invariant feature transform) 알고리즘 또는 SURF(speeded-up robust feature) 알고리즘을 이용할 수 있다.
SIFT 알고리즘은 영상의 크기에 상관없이 특징점을 추출할 수 있는 알고리즘이다. 예컨대, 꼭지점을 표현하는 특징점을 사용할 경우 영상의 크기에 따라 꼭지점을 이루는 크기 또한 다를 것이다. 이러한 경우 특정 크기의 영상에서 꼭지점은 추출할 수 있지만 상대적으로 크거나 작은 영상에서 꼭지점은 추출할 수 없는 문제점이 발생할 수 있다. SIFT 알고리즘은 이러한 문제점을 해결하여 영상의 크기에 상관없이 특정 패턴을 특징점으로 추출할 수 있도록 하는 알고리즘이다.
SURF 알고리즘은 SIFT 알고리즘에 비해 상대적으로 빠르게 영상의 특징점을 찾아낼 수 있도록 하는 알고리즘이다. SURF 알고리즘은 SIFT 알고리즘과 마찬가지로 영상의 크기에 상관없이 특징점을 찾아내면서도 그 속도 면에서 우수하다. SURF 알고리즘은 큰 영상이나 동영상을 분석하는데도 이용될 수 있다. 이상에서는 SIFT 알고리즘과 SURF 알고리즘을 이용하여 영상 정보로부터 하나 이상의 객체 각각에 대한 특징점을 추출하는 알고리즘으로 설명되었으나 이는 단지 예시일 뿐이며 다양한 방법이 이용될 수 있다.
영상 분석 처리부(161)는 영상 정보로부터 추출한 특징점을 기반으로 제어대상 및 제어주체를 구별할 수 있다. 메모리(170)에는 특징점과 함께 특징점에 대응하는 객체들 각각에 식별정보가 기설정되어 있고, 특징점과 함께 특징점에 대응하는 사용자들 각각에 식별정보가 기설정되어 있다. 영상 분석 처리부(161)는 제어대상 및 제어주체의 판단 결과에 따라 제어대상 및 제어주체에 기설정된 식별정보를 할당할 수 있다.
영상 분석 처리부(161)는 제어대상의 특징점과 메모리(170)에 기저장된 객체들의 특징점 비교 결과에 기초하여, 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 객체의 식별정보를 제어대상에 할당할 수 있다.
영상 분석 처리부(161)는 제어주체의 특징점과 메모리(170)에 기저장된 사용자들의 특징점 비교 결과에 기초하여, 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 사용자의 식별정보를 제어주체에 할당할 수 있다.
선택적 실시 예로, 영상 분석 처리부(161)는 다양한 방법을 통해서 객체를 구분할 수 있으며, 예를 들어, SVM(support vector machine) 알고리즘 또는 NN(neural networks) 알고리즘을 통해서 객체의 종류를 구분할 수 있다. 객체의 종류를 구분한다 함은 예컨대, 객체의 이름 및/또는 객체가 어떤 물건인지에 대해서 알아내는 것을 의미할 수 있다. 예컨대, 객체가 제어주체인 경우, 제어주체의 이름이나, 식별정보(ID)를 알아낼 수 있다. 또한 객체가 제어대상인 경우 전자 디바이스(200)의 이름, 위치, 식별정보(ID) 등을 알아낼 수 있다. 이때, 영상 분석 처리부(161)는 메모리(170)에 기저장된 제어주체의 특징정보 및 식별정보와, 제어대상의 특징정보 및 식별정보를 참조할 수 있다. 따라서, 영상 분석 처리부(161)는 객체의 부분 영상과 기존 데이터를 비교하여 해당 객체와 동일한 영상을 가지는 제어주체 또는 제어대상을 기존 데이터로부터 찾아 해당 객체의 종류, 예컨대 이름 및/또는 식별정보를 찾아낼 수 있고, 객체 부분 영상을 식별정보 텍스트로 변환할 수 있다.
여기서, SVM 알고리즘은 주어진 데이터를 가장 잘 구분할 수 있는 하이퍼플레인(hyperplane)을 찾아내는 알고리즘으로서, 데이터들 중 서로 다른 클래스(class) 사이의 경계에 위치한 서포트 벡터(support vector)만을 이용할 수 있다. NN 알고리즘은 에너지(energy)를 통해 정의된 라이클리후드(likelihood)를 최대화하고 에러(error)를 최소화하는 방향으로 가중치(weight)를 학습하는 알고리즘으로서, 모든 데이터를 사용하여 레이어(layer) 사이의 가중치 행렬(weight matrix)를 모두 학습할 수 있다.
선택적 실시 예로, 영상 분석 처리부(161)는 영상의 특징점을 분석하여 대응하는 객체의 종류를 구별할 수 있도록 미리 훈련된 심층신경망 모델을 이용하여 영상 정보로부터 추출한 특징점으로부터 영상 정보에 포함된 객체가 제어대상인지 제어주체인지 구별 할 수 있다. 여기서, 심층신경망 모델이 훈련되는 과정은 지도 학습으로 이루어질 수 있으며, 수많은 객체로부터 추출한 특징 정보에, 영상에 포함된 특징 정보가 어떠한 객체에 대응하는지를 라벨링한 데이터를 통해 학습이 이루어 질 수 있다.
텍스트 변환 처리부(162)는 오디오 입력부(151)를 통하여 제어주체가 발화하는 발화 정보를 획득하고, 발화 정보를 텍스트로 변환한 발화 텍스트를 생성할 수 있다. 텍스트 변환 처리부(162)는 발화 정보를 발화 텍스트로 변환기 위해 STT(speech to text) 알고리즘을 이용할 수 있다. 텍스트 변환 처리부(162)는 발화 정보로부터 잡음 신호를 제거하고, 소정의 특징 벡터(파라미터)를 추출할 수 있다. 여기서 소정의 특징 벡터는 LPC(linear predictive coefficients) 셉스트럼(cepstrum), PLC(perceptual linear prediction) 셉스트럼, MFCC (mel frequency cepstral coefficients), 필터뱅크 에너지 등을 포함할 수 있다. 텍스트 변환 처리부(162)는 미리 학습과정에서 구해둔 인식 대상 어휘로 구성된 사전을 참조하여, 추출한 특징벡터와 가장 유사한 단어를 찾고, 추출한 특징벡터를 가장 유사한 단어 텍스로 변환할 수 있다.
제1 문장 생성 처리부(163-1)는 발화 텍스트를 분석하여 제1 문장을 생성할 수 있다. 제1 문장 생성 처리부(163-1)는 형태소 사전에 기초하여, 발화 텍스트를 형태소 단위로 분석하고, 형태소 단위에 품사를 할당(tagging)할 수 있다. 여기서, 형태소 단위는 일반 명사/NNG, 주격 조사/JKS, 형용사/VA, 종결어미/ EF, 마침표, 물음표, 느낌표/SF 등이 있다. 예를 들어, 발화 텍스트가 <오늘 날씨가 어때>인 경우, 오늘/NNG + 날씨/NNG + 가/JKS + 어떻/VA + 어/EF + /SF와 같은 형태소 단위로 분석하고 품사를 할당할 수 있다. 전술한 형태소 분석은 예시일 뿐, 본 개시는 이에 제한되지 않는다.
제1 문장 생성 처리부(163-1)는 사전에 정의된 룰(rule) 및 사전(dictionary)을 기반으로 하여 품사가 할당된 형태소의 구문을 분석한 후, 제1 문장을 생성할 수 있다. 여기서 구문은, 발화 텍스트를 형태소 단위로 분석하고 품사를 할당한 후에 형태소 단위를 보다 큰 단위인 명사구, 동사구, 형용사구 등으로 묶은 덩어리를 의미할 수 있다. 제1 문장 생성 처리부(163-1)는 메모리(170)에 저장된 사전 정의된 룰 기반 및 시스템 사전, 사용자 사전, 불용어 사전 등 사전 기반에 기초하여 발화 텍스트의 구문을 분석할 수 있다. 예를 들어, <오늘/NNG>, <날씨/NNG + 가/JKS>, <어떻/VA + 어/EF + /SF>로 발화 텍스트의 구문을 분석할 수 있다. 전술한 구문 분석은 예시일 뿐, 본 개시는 이에 제한되지 않는다.
추출 처리부(164)는 문장 구조의 분석을 통하여 제1 문장으로부터 누락된 문장성분을 추출할 수 있다. 여기서 문장의 구조를 분석한다 함은, 문장 안에 주어, 목적어 및 서술어가 존재하는지 여부를 분석한다고 할 수 있다. 추출 처리부(164)는 제1 문장에 대한 문장 구조를 분석하고, 제1 문장을 주어, 목적어 및 서술어로 구성된 완전한 문장과 비교하여, 제1 문장으로부터 누락된 문장성분(예를 들어, 주어, 서술어 등)을 추출할 수 있다. 예를 들어, 제1 문장이 <TV>인 경우, 목적어인 TV에 대하여, 누가 TV를 어떻게 처리할 것인지에 대한 주어와 서술어가 누락되어 있음을 알 수 있다. 따라서 추출 처리부(164)는 상술한 예시의 제1 문장으로부터 주어와 서술어를 누락된 문장성분으로 추출할 수 있다.
보완정보 생성 처리부(165)는 누락된 문장성분에 대응하여, 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성할 수 있다.
상술한 예로, 누락된 문장성분인 주어에 대하여, 보완정보 생성 처리부(165)는 영상 분석 처리부(161)로부터 획득한 제어주체의 식별정보를, 누락된 문장성분인 주어를 보완할 보완정보로 생성할 수 있다.
또한, 누락된 문장성분인 서술어에 대하여, 보완정보 생성 처리부(165)는 영상 분석 처리부(161)로부터 획득한 제어대상의 식별정보를 이용하여 현재 제어대상의 동작상태를 확인할 수 있다. 다음에 보완정보 생성 처리부(165)는 현재 제어대상의 동작상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 중 어느 한 제어명령(예를 들어, 제1 제어명령)을, 누락된 문장성분인 서술어를 보완할 보완정보로 생성할 수 있다. 예를 들어, 제어대상인 TV(203)의 식별정보가 TV_C_1이고, 제어대상인 TV(203)의 현재 상태가 전원 오프 상태인 경우, 현재 상태에서 TV(203)가 제공할 수 있는 기능은 전원 온 뿐이고, 전원 온을 텍스트화한 제1 제어명령(TV_ON)을, 누락된 문장성분인 서술어를 보완할 보완정보로 생성할 수 있다.
선택적 실시 예로, 보완정보 생성 처리부(165)는 누락된 문장성분에 대하여, 제어주체의 식별정보를 주어로 보완하고, 제어대상의 식별정보를 목적어로 보완하고, 제어대상에 대한 제1 제어명령을 서술어로 보완하도록 미리 설정되어 있을 수 있다.
제2 문장 생성 처리부(163-2)는 보완정보 생성 처리부(165)에서 생성한 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성할 수 있다. 상술한 예로 제1 문장이 <TV>인 경우, 누락된 문장성분인 주어와 서술어를 보완한 제2 문장으로서, <제어주체의 식별정보(예를 들어, 아빠)가 제어대상의 식별정보(TV(203, TV_C_1))를 제1 제어명령(TV_ON)한다. 결국, (아빠의 지시에 의한) TV를 켜줘>를 생성할 수 있다.
배포 처리부(166)는 제2 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제어명령 그룹 중 제2 문장에 포함된 제1 제어명령을 배포할 수 있다.
제2 문장 생성 처리부(163-2)가 제2 문장을 배포 처리부(166)로 전송하기 전에, 제어명령 검색 처리부(167-1)는 제2 문장에 포함된 제1 제어명령과 메모리(170)에 기저장된 제어명령들을 비교하여, 제1 제어명령과 동일한 제어명령이 존재하는지 여부를 검색할 수 있다.
메모리(170)에 제1 제어명령과 동일한 제어명령이 존재하는 경우, 제어명령 검색 처리부(167-1)는 해당 검색 결과를 제2 문장 생성 처리부(163-2)로 전송하고, 제2 문장 생성 처리부(163-2)는 제2 문장을 배포 처리부(166)로 전송할 수 있다.
그러나, 메모리(170)에 제1 제어명령과 동일한 제어명령이 존재하지 않을 경우, 제어대상을 제어할 수 없으므로, 제어명령 검색 처리부(167-1)는 해당 검색 결과를 송수신 처리부(168)로 전송하고, 송수신 처리부(168)는 자연어 처리 요청 신호와 함께 제2 문장을 서버(300)로 전송할 수 있다.
여기서, 송수신 처리부(168)가 제2 문장을 서버(300)로 전송하기 전에, 제2 문장을 재구성 처리부(169)로 전송하고, 재구성 처리부(169)는 제2 문장을 문법에 맞는 문장으로 재구성할 수 있다. 재구성 처리부(169)는 문법에 맞는 문장으로 재구성한 제2 문장을 송수신 처리부(168)로 전송할 수 있다. 송수신 처리부(168)는 문법에 맞는 문장으로 재구성한 제2 문장을 서버(300)로 전송할 수 있다.
이후 송수신 처리부(168)는 서버(300)로부터 제2 문장에 대한 자연어 처리 결과를 수신할 수 있다. 여기서, 제2 문장에 대한 자연어 처리 결과는 적어도 제어대상의 식별정보와 제어대상을 제어하는 제1 제어명령을 포함할 수 있다. 송수신 처리부(168)는 서버(300)로부터 수신한 제2 문장에 대한 자연어 처리 결과를 배포 처리부(166)로 전송할 수 있다. 배포 처리부(166)는 제2 문장에 대한 자연어 처리 결과를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제1 제어명령을 배포할 수 있다.
또한 제2 문장 생성 처리부(163-2)가 제2 문장을 생성한 이후에, 이력 정보 검색 처리부(167-2)는 메모리(170)에 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색할 수 있다.
메모리(170)에 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는 경우, 이력 정보 검색 처리부(167-2)해당 검색 결과를 제3 문장 생성 처리부(163-3)로 전송할 수 있다.
제3 문장 생성 처리부(163-3)는 히스토리 활동 정보로부터 제어대상에 대하여 제어주체가 선호하는 제2 제어명령 및 제어주체의 식별정보를 텍스트화한 제3 문장을 생성할 수 있다.
예를 들어, 상술한 예시로, 발화 텍스트가 <TV>이고, 제2 문장이 <제어주체의 식별정보(예를 들어, 아빠)가 제어대상의 식별정보(TV(203, TV_C_1))를 제1 제어명령(TV_ON)한다. 결국, (아빠의 지시에 의한) TV를 켜줘> 생성된 상태라고 가정한다. 메모리(170)에 저장된 히스토리 활동정보 중 제어주체의 식별정보인 아빠가 제어대상인 TV(203)를 제어하여 채널 7번을 자주 시청하여, 아빠가 선호하는 TV 채널이 7번인 경우, 제3 문장 생성 처리부(163-3)는 제어대상에 대하여 제어주체가 선호하는 제2 제어명령으로서, <채널 7번 틀어줘>를 생성할 수 있다.
제2 문장 생성 처리부(163-2)에서 생성한 제2 문장과, 제3 문장 생성 처리부(163-3)에서 생성한 제3 문장은 배포 처리부(166)로 전송될 수 있다. 배포 처리부(166)는 제2 문장 및 제3 문장에 포함된 제어대상의 식별정보를 이용하여 제어대상을 호출하고, 호출한 제어대상으로, 제2 문장에 포함된 제1 제어명령 및 제3 문장에 포함된 제2 제어명령을 배포할 수 있다. 예를 들어, 제어주체인 아빠가 <TV>를 발화하는 것 만으로도, 제어대상인 TV(203)가 켜지면서, 채널 7번으로 이동하여, 아빠는 채널 7번을 시청할 수 있게 된다.
선택적 실시 예로 배포 처리부(166)는 제2 문장 및 제3 문장을 합성하여 제어대상을 제어할 새로운 제어명령을 생성할 수 있다. 상술한 예에서 배포 처리부(166)는 제1 제어명령인 <TV 켜줘(TV_ON)>와, 제2 제어명령인 <채널 7번 틀어줘>를 합성할 수 있다. 이때 워드 임베딩을 거쳐 딥러닝된 신경망 모델을 이용하여, <켜줘>는 제어대상 중 TV(203)를 켜라는 것에 해당하고, <틀어줘>는 TV(203)를 켜라는 것이 아니라 채널을 이동하라는 것임을 할 수 있다. 따라서 배포 처리부(166)는 새로운 제어명령으로 <채널 7번을 켜줘>를 생성하고, 호출한 제어대상(TV(203))으로 새로운 제어명령을 배포할 수 있다.
제2 문장 생성 처리부(163-2) 및 제3 문장 생성 처리부(163-3)가 제2 문장 및 제3 문장을 배포 처리부(166)로 전송하기 전에, 제어명령 검색 처리부(167-1)는 제2 문장 및 제3 문장에 포함된 제1 제어명령 및 제2 제어명령과 메모리(170)에 기저장된 제어명령들을 비교하여, 제1 제어명령 및 제2 제어명령 중 하나 이상과 동일한 제어명령이 존재하는지 여부를 검색할 수 있다.
메모리(170)에 제1 제어명령 및 제2 제어명령과 동일한 제어명령이 존재하는 경우, 제어명령 검색 처리부(167-1)는 해당 검색 결과를 제2 문장 생성 처리부(163-2) 및 제3 문장 생성 처리부(163-3)로 전송하고, 제2 문장 생성 처리부(163-2)는 제2 문장을 배포 처리부(166)로 전송하고, 제3 문장 생성 처리부(163-3)는 제3 문장을 배포 처리부(166)로 전송할 수 있다.
그러나, 메모리(170)에 제1 제어명령 및 제2 제어명령 중 하나 이상과 동일한 제어명령이 존재하지 않을 경우, 제어대상을 제어할 수 없으므로, 제어명령 검색 처리부(167-1)는 해당 검색 결과를 송수신 처리부(168)로 전송하고, 송수신 처리부(168)는 자연어 처리 요청 신호와 함께 제2 문장 및 제3 문장을 서버(300)로 전송할 수 있다.
여기서, 송수신 처리부(168)가 제2 문장 및 제3 문장을 서버(300)로 전송하기 전에, 제2 문장 및 제3 문장을 재구성 처리부(169)로 전송하고, 재구성 처리부(169)는 제2 문장 및 제3 문장을 문법에 맞는 문장으로 재구성할 수 있다. 재구성 처리부(169)는 문법에 맞는 문장으로 재구성한 제2 문장 및 제3 문장을 송수신 처리부(168)로 전송할 수 있다. 송수신 처리부(168)는 문법에 맞는 문장으로 재구성한 제2 문장 및 제3 문장을 서버(300)로 전송할 수 있다.
이후 송수신 처리부(168)는 서버(300)로부터 제2 문장 및 제3 문장에 대한 자연어 처리 결과를 수신할 수 있다. 여기서, 제2 문장 및 제3 문장에 대한 자연어 처리 결과는 적어도 제어대상의 식별정보와 제어대상을 제어하는 제1 제어명령 및 제2 제어명령을 포함할 수 있다. 송수신 처리부(168)는 서버(300)로부터 수신한 제2 문장 및 제3 문장에 대한 자연어 처리 결과를 배포 처리부(166)로 전송할 수 있다. 배포 처리부(166)는 제2 문장 및 제3 문장에 대한 자연어 처리 결과를 이용하여 제어대상을 호출하고, 호출한 제어대상으로 제1 제어명령 및 제2 제어명령을 배포할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 정보 처리 장치의 정보 처리 예시도 이다. 이하의 설명에서 도 1 내지 도 4에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 5를 참조하면, 도 5a는 제어주체가 발화 정보로 <TV>를 발화하는 상황을 나타내고, 도 5b는 제어주체가 <TV>를 발화한 이후, TV(203)가 켜지면서, 제어주체가 선호하는 채널 7번이 디스플레이 되는 예를 도시하고 있다.
도 5a를 참조하면, 제어주체가 발화 정보로 <TV>를 발화하면, 정보 처리 장치(100)는 발화 정보를 발화 텍스트 <TV>로 변환할 수 있다. 또한 정보 처리 장치(100)는 카메라(120)를 통해 획득한 영상 정보의 분석을 통하여, 제어주체에 대한 식별정보(예를 들어, 아빠)를 할당하고, 제어대상인 TV(203)에 대한 식별정보(예를 들어, TV_C_1)을 할당할 수 있다.
정보 처리 장치(100)는 발화 텍스트에 대한 제1 문장인 <TV>와 주어, 목적 및 서술어로 구성된 완전한 문장을 비교하여, 제1 문장으로부터 누락된 문장성분으로 주어와 서술어를 판단할 수 있다.
정보 처리 장치(100)는 제어주체의 식별정보를 주어로 보완하고, 제어대상의 식별정보를 목적어로 보완하고, 제어대상에 대한 제1 제어명령을 서술어로 보완하라는 미리 설정된 보완정보 생성 조건을 이용할 수 있다. 정보 처리 장치(100)는 누락된 문장성분인 주어를 제어주체의 식별정보인 아빠로 보완할 수 있다. 정보 처리 장치(100)는 누락된 문장성분인 서술어를 보완하기 위해, 먼저, 제어대상의 식별정보인 TV_C_1을 이용하여 현재 TV(203)의 동작상태가 전원 오프 상태임을 확인할 수 있다. 다음에 정보 처리 장치(100)는 현재 TV(203)의 동작상태에서 제공할 수 있는 기능이 전원 온 이고, 전원 온을 텍스트화한 제1 제어명령(TV_ON)을, 누락된 문장성분인 서술어를 보완할 보완정보로 생성할 수 있다. 정보 처리 장치(100)는 제2 문장으로 <제어주체의 식별정보(예를 들어, 아빠)가 제어대상의 식별정보(TV(203, TV_C_1))를 제1 제어명령(TV_ON)한다>를 생성할 수 있다.
또한 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색하여, 메모리(170)에 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는 경우, 히스토리 활동 정보로부터 제어주체의 식별정보인 아빠가 제어대상인 TV(203)를 제어하여 채널 7번을 자주 시청하여, 아빠가 선호하는 TV 채널이 7번임을 판단하고, 제3 문장으로 <채널 7번 틀어줘>를 생성할 수 있다.
정보 처리 장치(100)는 제2 문장 및 제3 문장으로부터 TV(203)의 식별정보(TV_C_1)를 이용하여 TV(203)를 호출하고, 호출한 제어대상으로, 제1 제어명령 및 제2 제어명령을 배포하여, 도 5b에 도시된 바와 같이 TV(203)가 켜지면서, 채널 7번을 디스플레이 할 수 있다. 이와 같은 방식으로 아빠는 <TV>를 발화하는 것만으로도, TV(203)가 켜지면서 선호하는 채널 7번을 시청할 수 있다.
도 6은 본 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 5에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 6을 참조하면, S601단계에서, 정보 처리 장치(100)는 카메라(120)를 통해 획득한 영상 정보를 분석하여 제어대상 및 제어주체에 식별정보 할당한다.
S603단계에서, 정보 처리 장치(100)는 오디오 입력부(151)를 통해 획득한 발화 정보에 대한 발화 텍스트를 생성한다.
S605단계에서, 정보 처리 장치(100)는 발화 텍스트를 분석하여 제1 문장을 생성한다.
S607단계에서, 정보 처리 장치(100)는 제1 문장으로부터 누락된 문장성분을 추출한다.
S609단계에서, 정보 처리 장치(100)는 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어대상의 식별정보 중 하나 이상을 이용하여 보완정보를 생성한다.
S611단계에서, 정보 처리 장치(100)는 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성한다.
S613단계에서, 정보 처리 장치(100)는 제1 제어명령과 기저장된 제어명령들을 비교한다.
S615단계에서, 정보 처리 장치(100)는 비교 결과, 제1 제어명령과 동일한 제어명령이 존재하는지 판단한다.
S617단계에서, 정보 처리 장치(100)는 제1 제어명령과 동일한 제어명령이 존재하는 것으로 판단한 경우, 제2 문장에 포함된 제어대상을 호출하고, 호출한 제어대상에 제1 제어명령을 배포한다.
S619단계에서, 정보 처리 장치(100)는 제1 제어명령과 동일한 제어명령이 존재하지 않는 것으로 판단한 경우, 제2 문장을 외부 자연어 처리 장치로서의 서버(300)로 전송하고, 서버(300)로부터 제2 문장에 대한 자연어 처리 결과 수신한다.
S621단계에서, 정보 처리 장치(100)는 자연어 처리 결과에 포함된 제어대상을 호출하고, 호출한 제어대상에 제어명령을 배포한다.
도 7은 다른 실시 예에 따른 정보 처리 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 6에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 7을 참조하면, S701단계에서, 정보 처리 장치(100)는 카메라(120)를 통해 획득한 영상 정보를 분석하여 제어대상 및 제어주체에 식별정보 할당한다.
S703단계에서, 정보 처리 장치(100)는 오디오 입력부(151)를 통해 획득한 발화 정보에 대한 발화 텍스트를 생성한다.
S705단계에서, 정보 처리 장치(100)는 발화 텍스트를 분석하여 제1 문장을 생성한다.
S707단계에서, 정보 처리 장치(100)는 제1 문장으로부터 누락된 문장성분을 추출한다.
S709단계에서, 정보 처리 장치(100)는 제어대상의 식별정보로부터 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 제어대상의 식별정보 중 하나 이상을 이용하여 보완정보를 생성한다.
S711단계에서, 정보 처리 장치(100)는 보완정보를 이용하여 누락된 문장성분을 보완한 제2 문장을 생성한다.
S713단계에서, 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 검색한다.
S715단계에서, 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는지 판단한다.
S717단계에서, 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는 않는 것으로 판단한 경우, 제1 제어명령과 기저장된 제어명령들을 비교한다.
S719단계에서, 정보 처리 장치(100)는 비교 결과, 제1 제어명령과 동일한 제어명령이 존재하는지 판단한다.
S721단계에서, 정보 처리 장치(100)는 제1 제어명령과 동일한 제어명령이 존재하는 것으로 판단한 경우, 제2 문장에 포함된 제어대상을 호출하고, 호출한 제어대상에 제어명령 그룹 중 제1 제어명령을 배포한다.
S723단계에서, 정보 처리 장치(100)는 제1 제어명령과 동일한 제어명령이 존재하지 않는 것으로 판단한 경우, 제2 문장을 외부 자연어 처리 장치로서의 서버(300)로 전송하고, 서버(300)로부터 제2 문장에 대한 자연어 처리 결과 수신한다.
S725단계에서, 정보 처리 장치(100)는 자연어 처리 결과에 포함된 제어대상을 호출하고, 호출한 제어대상에 제어명령을 배포한다.
S727단계에서, 정보 처리 장치(100)는 제어주체가 제어대상을 제어한 히스토리 활동 정보가 존재하는 않는 것으로 판단한 경우, 히스토리 활동 정보로부터 제2 제어명령을 텍스트화한 제3 문장을 생성한다.
S729단계에서, 정보 처리 장치(100)는 제1 제어명령 및 제2 제어명령과 기저장된 제어명령들을 비교한다.
S731단계에서, 정보 처리 장치(100)는 제1 제어명령 및 제2 제어명령과 동일한 제어명령들이 존재하는지 판단한다.
S733단계에서, 정보 처리 장치(100)는 제1 제어명령 및 제2 제어명령과 동일한 제어명령들이 존재하는 것으로 판단한 경우, 제어대상을 호출하고 및 제1 제어명령 및 제2 제어명령 배포한다.
S735단계에서, 정보 처리 장치(100)는 제1 제어명령 및 제2 제어명령과 동일한 제어명령들이 존재하지 않는 것으로 판단한 경우, 제2 및 제3 문장을 외부 자연어 처리 장치로서의 서버(300) 전송 하고, 서버(300)로부터 제2 문장 및 제3 문장에 대한 자연어 처리 결과 수신한다.
S737단계에서, 정보 처리 장치(100)는 자연어 처리 결과에 포함된 제어대상을 호출하고, 호출한 제어대상에 제어명령을 배포한다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 정보 처리 장치
200: 전자 디바이스
300: 서버
400: 네트워크

Claims (20)

  1. 정보 처리 방법으로서,
    제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 상기 영상 정보의 분석을 통하여 상기 제어대상 및 상기 제어주체에 식별정보를 할당하는 단계;
    발화자로서의 상기 제어주체가 발화하는 발화 정보를 획득하고, 상기 발화 정보를 텍스트로 변환한 발화 텍스트를 생성하는 단계;
    상기 발화 텍스트를 분석하여 제1 문장을 생성하는 단계;
    문장 구조의 분석을 통하여 상기 제1 문장으로부터 누락된 문장성분을 추출하는 단계;
    상기 누락된 문장성분에 대응하여, 상기 제어대상의 식별정보로부터 상기 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 상기 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성하는 단계;
    상기 보완정보를 이용하여 상기 누락된 문장성분을 보완한 제2 문장을 생성하는 단계; 및
    상기 제2 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로 상기 제어명령 그룹 중 상기 제2 문장에 포함된 상기 제1 제어명령을 배포하는 단계를 포함하는,
    정보 처리 방법.
  2. 제 1 항에 있어서,
    상기 배포하는 단계 이전에,
    상기 제2 문장에 포함된 상기 제1 제어명령과 기저장된 제어명령들을 비교하여 상기 제1 제어명령과 동일한 제어명령이 존재하는지 여부를 검색하는 단계;
    상기 제1 제어명령과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 상기 제2 문장을 외부 자연어 처리 장치로 전송하는 단계; 및
    상기 외부 자연어 처리 장치로부터, 상기 제2 문장에 대한 자연어 처리 결과를 수신하는 단계를 더 포함하는,
    정보 처리 방법.
  3. 제 2 항에 있어서,
    상기 전송하는 단계 이전에,
    상기 제2 문장을 문법에 맞는 문장으로 재구성하는 단계를 더 포함하는,
    정보 처리 방법.
  4. 제 1 항에 있어서,
    상기 제2 문장을 생성하는 단계 이후에,
    상기 제어주체의 식별정보와 상기 제어대상의 식별정보를 이용하여, 상기 제어주체가 상기 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색하는 단계; 및
    상기 히스토리 활동 정보가 존재함에 기초하여, 상기 히스토리 활동 정보로부터 상기 제어대상에 대하여 상기 제어주체가 선호하는 제2 제어명령 및 상기 제어주체의 식별정보를 텍스트화한 제3 문장을 생성하는 단계를 더 포함하는,
    정보 처리 방법.
  5. 제 4 항에 있어서,
    상기 배포하는 단계는,
    상기 제2 문장 및 상기 제3 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로, 상기 제2 문장에 포함된 상기 제1 제어명령 및 상기 제3 문장에 포함된 상기 제2 제어명령을 배포하는 단계를 포함하는,
    정보 처리 방법.
  6. 제 5 항에 있어서,
    상기 배포하는 단계 이전에,
    상기 제2 문장에 포함된 상기 제1 제어명령 및 상기 제3 문장에 포함된 제2 제어명령과 기저장된 제어명령들을 비교하여 상기 제1 제어명령 및 상기 제2 제어명령과 동일한 제어명령들이 존재하는지 여부를 검색하는 단계;
    상기 제1 제어명령 및 제2 제어명령 중 하나 이상과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 상기 제2 문장 및 상기 제3 문장을 외부 자연어 처리 장치로 전송하는 단계; 및
    상기 외부 자연어 처리 장치로부터, 상기 제2 문장 및 상기 제3 문장에 대한 자연어 처리 결과를 수신하는 단계를 더 포함하는,
    정보 처리 방법.
  7. 제 6 항에 있어서,
    상기 전송하는 단계 이전에,
    상기 제2 문장 및 상기 제3 문장을 문법에 맞는 문장으로 재구성하는 단계를 더 포함하는,
    정보 처리 방법.
  8. 제 1 항에 있어서,
    상기 식별정보를 할당하는 단계는,
    상기 영상 정보로부터 추출한 특징점을 기반으로 제어대상 및 제어주체를 구별하는 단계;
    상기 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 상기 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 상기 객체의 식별정보를 상기 제어대상에 할당하는 단계; 및
    상기 제어주체의 특징점과 기저장된 사용자들의 특징점 비교 결과에 기초하여, 상기 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 상기 사용자의 식별정보를 상기 제어주체에 할당하는 단계를 포함하는,
    정보 처리 방법.
  9. 제 8 항에 있어서,
    상기 구별하는 단계는,
    영상의 특징점을 분석하여 대응하는 객체의 종류를 구별할 수 있도록 미리 훈련된 심층신경망 모델을 이용하여 상기 영상 정보로부터 추출한 특징점으로부터 상기 영상 정보에 포함된 객체가 제어대상인지 제어주체인지 구별하는 단계를 포함하는,
    정보 처리 방법.
  10. 제 1 항에 있어서,
    상기 제1 문장을 생성하는 단계는,
    형태소 사전에 기초하여, 상기 발화 텍스트를 형태소 단위로 분석하는 단계;
    상기 형태소 단위에 품사를 할당하는 단계; 및
    사전에 정의된 룰(rule) 및 사전(dictionary)을 기반으로 하여 상기 품사가 할당된 형태소의 구문을 분석하여 상기 제1 문장을 생성하는 단계를 포함하는,
    정보 처리 방법.
  11. 정보 처리 장치로서,
    제어대상과 제어주체를 포함하는 영상 정보를 획득하고, 상기 영상 정보의 분석을 통하여 상기 제어대상 및 상기 제어주체에 식별정보를 할당하는 영상 분석 처리부;
    발화자로서의 상기 제어주체가 발화하는 발화 정보를 획득하고, 상기 발화 정보를 텍스트로 변환한 발화 텍스트를 생성하는 텍스트 변환 처리부;
    상기 발화 텍스트를 분석하여 제1 문장을 생성하는 제1 문장 생성 처리부;
    문장 구조의 분석을 통하여 상기 제1 문장으로부터 누락된 문장성분을 추출하는 추출 처리부;
    상기 누락된 문장성분에 대응하여, 상기 제어대상의 식별정보로부터 상기 제어대상이 현재 상태에서 제공할 수 있는 기능을 텍스트화한 제어명령 그룹 및 상기 제어주체의 식별정보 중 하나 이상을 이용하여 보완정보를 생성하는 보완정보 생성 처리부;
    상기 보완정보를 이용하여 상기 누락된 문장성분을 보완한 제2 문장을 생성하는 제2 문장 생성 처리부; 및
    상기 제2 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로 상기 제어명령 그룹 중 상기 제2 문장에 포함된 상기 제1 제어명령을 배포하는 배포 처리부를 포함하는,
    정보 처리 장치.
  12. 제 11 항에 있어서,
    상기 제1 제어명령을 배포하기 이전에, 상기 제2 문장에 포함된 상기 제1 제어명령과 기저장된 제어명령들을 비교하여 상기 제1 제어명령과 동일한 제어명령이 존재하는지 여부를 검색하는 제어명령 검색 처리부; 및
    상기 제1 제어명령과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 상기 제2 문장을 외부 자연어 처리 장치로 전송하고, 상기 외부 자연어 처리 장치로부터, 상기 제2 문장에 대한 자연어 처리 결과를 수신하는 송수신 처리부를 더 포함하는,
    정보 처리 장치.
  13. 제 12 항에 있어서,
    상기 제2 문장을 외부 자연어 처리 장치로 전송하기 전에, 상기 제2 문장을 문법에 맞는 문장으로 재구성하는 재구성 처리부를 더 포함하는,
    정보 처리 장치.
  14. 제 11 항에 있어서,
    상기 제2 문장을 생성한 이후에, 상기 제어주체의 식별정보와 상기 제어대상의 식별정보를 이용하여, 상기 제어주체가 상기 제어대상을 제어한 히스토리 활동 정보가 존재하는지 여부를 검색하는 이력 정보 검색 처리부; 및
    상기 히스토리 활동 정보가 존재함에 기초하여, 상기 히스토리 활동 정보로부터 상기 제어대상에 대하여 상기 제어주체가 선호하는 제2 제어명령 및 상기 제어주체의 식별정보를 텍스트화한 제3 문장을 생성하는 제3 문장 생성 처리부를 더 포함하는,
    정보 처리 장치.
  15. 제 14 항에 있어서,
    상기 배포 처리부는,
    상기 제2 문장 및 상기 제3 문장에 포함된 상기 제어대상의 식별정보를 이용하여 상기 제어대상을 호출하고, 호출한 상기 제어대상으로, 상기 제2 문장에 포함된 상기 제1 제어명령 및 상기 제3 문장에 포함된 상기 제2 제어명령을 배포하도록 구성되는,
    정보 처리 장치.
  16. 제 15 항에 있어서,
    상기 제2 문장을 배포하기 전에, 상기 제2 문장에 포함된 상기 제1 제어명령 및 상기 제3 문장에 포함된 제2 제어명령과 기저장된 제어명령들을 비교하여 상기 제1 제어명령 및 상기 제2 제어명령과 동일한 제어명령들이 존재하는지 여부를 검색하는 제어명령 검색 처리부; 및
    상기 제1 제어명령 및 제2 제어명령 중 하나 이상과 동일한 제어명령이 존재하지 않음에 따라, 자연어 처리 요청 신호와 함께 상기 제2 문장 및 상기 제3 문장을 외부 자연어 처리 장치로 전송하고, 상기 외부 자연어 처리 장치로부터, 상기 제2 문장 및 상기 제3 문장에 대한 자연어 처리 결과를 수신하는 송수신 처리부를 더 포함하는,
    정보 처리 장치.
  17. 제 16 항에 있어서,
    상기 제2 문장 및 상기 제3 문장을 외부 자연어 처리 장치로 전송하기 전에, 상기 제2 문장 및 상기 제3 문장을 문법에 맞는 문장으로 재구성하는 재구성 처리부를 더 포함하는,
    정보 처리 장치.
  18. 제 11 항에 있어서,
    상기 영상 분석 처리부는,
    상기 영상 정보로부터 추출한 특징점을 기반으로 제어대상 및 제어주체를 구별하고,
    상기 제어대상의 특징점과 기저장된 객체들의 특징점 비교 결과에 기초하여, 상기 제어대상의 특징점에 대응하는 특징점을 가지는 객체를 선택하고, 선택된 상기 객체의 식별정보를 상기 제어대상에 할당하며,
    상기 제어주체의 특징점과 기저장된 사용자들의 특징점 비교 결과에 기초하여, 상기 제어주체의 특징점에 대응하는 특징점을 가지는 사용자를 선택하고, 선택된 상기 사용자의 식별정보를 상기 제어주체에 할당하도록 구성되는,
    정보 처리 장치.
  19. 제 18 항에 있어서,
    상기 영상 분석 처리부는,
    영상의 특징점을 분석하여 대응하는 객체의 종류를 구별할 수 있도록 미리 훈련된 심층신경망 모델을 이용하여 상기 영상 정보로부터 추출한 특징점으로부터 상기 영상 정보에 포함된 객체가 제어대상인지 제어주체인지 구별하도록 구성되는,
    정보 처리 장치.
  20. 제 11 항에 있어서,
    상기 제1 문장 생성 처리부는,
    형태소 사전에 기초하여, 상기 발화 텍스트를 형태소 단위로 분석하고, 상기 형태소 단위에 품사를 할당하며, 사전에 정의된 룰(rule) 및 사전(dictionary)을 기반으로 하여 상기 품사가 할당된 형태소의 구문을 분석하여 상기 제1 문장을 생성하도록 구성되는,
    정보 처리 장치.
KR1020190169869A 2019-12-18 2019-12-18 정보 처리 방법 및 정보 처리 장치 KR20210078122A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190169869A KR20210078122A (ko) 2019-12-18 2019-12-18 정보 처리 방법 및 정보 처리 장치
US16/821,910 US11217249B2 (en) 2019-12-18 2020-03-17 Information processing method and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190169869A KR20210078122A (ko) 2019-12-18 2019-12-18 정보 처리 방법 및 정보 처리 장치

Publications (1)

Publication Number Publication Date
KR20210078122A true KR20210078122A (ko) 2021-06-28

Family

ID=76439242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169869A KR20210078122A (ko) 2019-12-18 2019-12-18 정보 처리 방법 및 정보 처리 장치

Country Status (2)

Country Link
US (1) US11217249B2 (ko)
KR (1) KR20210078122A (ko)

Families Citing this family (1)

* 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

Also Published As

Publication number Publication date
US11217249B2 (en) 2022-01-04
US20210193139A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US20200236425A1 (en) Method and apparatus for filtering video
US11556302B2 (en) Electronic apparatus, document displaying method thereof and non-transitory computer readable recording medium
US11030991B2 (en) Method and device for speech processing
KR20190094315A (ko) 스타일을 고려하여 텍스트와 음성을 상호 변환하는 인공 지능 장치 및 그 방법
KR20190094314A (ko) 콘텐츠 기반의 스타일을 갖는 텍스트 또는 음성을 생성하는 인공 지능 장치 및 그 방법
KR102321855B1 (ko) 음성으로 상호작용하는 인공 지능 장치 및 그 방법
US20210125605A1 (en) Speech processing method and apparatus therefor
KR20210062428A (ko) 영상 촬영 장치의 원격 제어 방법 및 장치
KR102281504B1 (ko) 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법
US20210110815A1 (en) Method and apparatus for determining semantic meaning of pronoun
US11328718B2 (en) Speech processing method and apparatus therefor
KR20210052036A (ko) 복수 의도어 획득을 위한 합성곱 신경망을 가진 장치 및 그 방법
CN112216307A (zh) 语音情感识别方法以及装置
KR20190094295A (ko) 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체
CN113948060A (zh) 一种网络训练方法、数据处理方法及相关设备
KR102305613B1 (ko) 감정 인식 방법 및 장치
US11373656B2 (en) Speech processing method and apparatus therefor
US11437024B2 (en) Information processing method and apparatus therefor
US11322144B2 (en) Method and device for providing information
KR102221963B1 (ko) 화상 정보를 제공하는 인공 지능 장치 및 그 방법
KR20210078122A (ko) 정보 처리 방법 및 정보 처리 장치
KR20210067539A (ko) 정보 처리 방법 및 정보 처리 장치
KR20190094296A (ko) 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체
KR20190094310A (ko) 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체
KR20230149894A (ko) 개인화 가능한 기계학습 기반의 운전자 이상행동 감지 시스템

Legal Events

Date Code Title Description
A201 Request for examination