KR102339443B1 - 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법 - Google Patents

상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법 Download PDF

Info

Publication number
KR102339443B1
KR102339443B1 KR1020170068858A KR20170068858A KR102339443B1 KR 102339443 B1 KR102339443 B1 KR 102339443B1 KR 1020170068858 A KR1020170068858 A KR 1020170068858A KR 20170068858 A KR20170068858 A KR 20170068858A KR 102339443 B1 KR102339443 B1 KR 102339443B1
Authority
KR
South Korea
Prior art keywords
action
processor
context
determining
final
Prior art date
Application number
KR1020170068858A
Other languages
English (en)
Other versions
KR20180132243A (ko
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 KR1020170068858A priority Critical patent/KR102339443B1/ko
Priority to US15/804,594 priority patent/US10573308B2/en
Publication of KR20180132243A publication Critical patent/KR20180132243A/ko
Application granted granted Critical
Publication of KR102339443B1 publication Critical patent/KR102339443B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Arrangement of adaptations of instruments
    • B60K35/10
    • B60K35/65
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • B60K2360/148
    • B60K2360/741
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Abstract

상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법에 관한 것으로, 상황 기반 동작 결정 장치는, 상황 정보를 획득하는 상황 정보 획득부, 기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하고, 상기 추천 동작을 검증하고, 검증 결과에 따라서 최종 동작을 결정하는 프로세서 및 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 포함하되, 상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증할 수 있다.

Description

상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법{An apparatus for determining an action based on a situation, a vehicle which is capable of determining an action based on a situation, a method of an action based on a situation and a method for controlling the vehicle}
상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법에 관한 것이다.
차량은, 도로나 선로를 주행하면서 목적지까지 이동 가능한 장치를 의미한다. 통상적으로 차량은, 차체에 설치된 하나 이상의 차륜의 회전 구동에 의해 이동 가능하게 마련된다. 이와 같은 차량으로는, 예를 들어, 삼륜 또는 사륜 자동차나, 모터사이클 등의 이륜 자동차나, 건설 기계나, 자전거나 또는 선로 상에 배치된 레일 위에서 주행하는 열차 등이 있을 수 있다.
최근 차량 내부에는 사용자의 편의 및 운전의 즐거움을 위하여 다양한 장치가 설치되어 있다. 예를 들어, 차량 내부에는 사용자의 발화에 따른 음성을 인식하고, 인식된 음성에 대응하여 전화 걸기나 목적지 검색 등의 다양한 동작을 수행할 수 있는 장치가 설치되어 있을 수 있다. 이와 같은 장치로는, 예를 들어, 스마트폰 등의 단말 장치, 계기판, 내비게이션 장치 또는 헤드 유닛 등이 있을 수 있다.
사용자의 입력에 따라서, 사용자에게 보다 신속하고 적절하게 추천 동작을 제공할 수 있는 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
불필요한 추가 명령 입력 단계나 대화 단계를 생략하여 명령 인식 및 동작 추천의 품질을 향상시킬 수 있는 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법을 제공하는 것을 다른 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법이 제공된다.
상황 기반 동작 결정 장치는, 상황 정보를 획득하는 상황 정보 획득부, 기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하고, 상기 추천 동작을 검증하고, 검증 결과에 따라서 최종 동작을 결정하는 프로세서 및 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 포함하되, 상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증할 수 있다.
상기 상황 정보는 현재 시간 및 현재 위치를 포함할 수 있다.
상기 프로세서는, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 이용하여 분석 기준 별로 선택 패턴을 결정하고, 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정할 수 있다.
상기 프로세서는, 위치 별로 적어도 하나의 동작에 대한 제1 결과 값을 생성하고, 시간 별로 적어도 하나의 동작에 대한 제2 결과 값을 획득하고, 전체 동작에 대하여 적어도 하나의 동작에 대한 제3 결과 값을 획득하여, 상기 선택 패턴을 결정할 수 있다.
상기 프로세서는, 상기 제1 결과 값, 상기 제2 결과 값 및 상기 제3 결과 값을 합산하거나 또는 가중합하여 상기 적어도 하나의 동작에 대한 분석 결과를 획득할 수 있다.
상기 프로세서는, 상기 적어도 하나의 동작에 대한 분석 결과를 비교하여 상기 추천 동작 및 상기 추천 지수를 결정할 수 있다.
상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여 복수의 가중치를 결정하고, 상기 복수의 가중치를 이용하여 상기 추천 동작 및 상기 추천 지수를 가중합하여 검증 결과 값을 획득할 수 있다.
상기 프로세서는, 상기 검증 결과 값을 기준 값과 비교하고 비교 결과를 기초로 상기 추천 동작을 상기 최종 동작으로 결정할 수 있다.
상기 프로세서는, 상기 최종 동작의 결정에 응하여 상기 최종 동작에 대응하는 제어 신호를 생성할 수 있다.
상황 기반 동작 결정 장치는, 상기 최종 동작의 승인 여부에 대한 질의를 사용자에게 제공하는 사용자 인터페이스를 더 포함할 수 있다.
상기 사용자 인터페이스는, 상기 최종 동작에 따른 제어 신호가 생성된 이후에 상기 최종 동작의 승인 여부에 대한 질의를 사용자에게 제공할 수 있다.
상기 사용자 인터페이스가 승인에 대한 선택 명령을 수신하면, 상기 프로세서는 상기 최종 동작이 유지되도록 제어하고, 상기 사용자 인터페이스가 불승인에 대한 선택 명령을 수신하면, 상기 프로세서는 상기 최종 동작이 중단되도록 제어할 수 있다.
상기 프로세서는, 상기 승인에 대한 선택 명령의 수신 및 상기 불승인에 대한 선택 명령의 수신 중 적어도 하나에 응하여, 선택 이력 데이터베이스를 갱신할 수 있다.
상기 프로세서는, 상기 추천 동작의 검증 결과 상기 추천 동작이 부적절하면, 미리 정의된 기본 동작을 수행하도록 제어 신호를 생성할 수 있다.
상황 기반 동작 결정 방법은, 상황 정보를 획득하는 단계, 기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스로부터 데이터를 획득하는 단계, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하는 단계, 상기 추천 동작을 검증하는 단계, 검증 결과에 따라서 최종 동작을 결정하는 단계를 포함하되, 상기 추천 동작을 검증하는 단계는, 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계를 포함할 수 있다.
상기 상황 정보는 현재 시간 및 현재 위치를 포함할 수 있다.
상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하는 단계는, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 이용하여 분석 기준 별로 선택 패턴을 결정하는 단계 및 상기 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계를 포함할 수 있다.
상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 이용하여 분석 기준 별로 선택 패턴을 결정하는 단계는, 위치 별로 적어도 하나의 동작에 대한 제1 결과 값을 생성하는 단계, 시간 별로 적어도 하나의 동작에 대한 제2 결과 값을 획득하는 단계 및 전체 동작에 대하여 적어도 하나의 동작에 대한 제3 결과 값을 획득하여, 상기 선택 패턴을 결정하는 단계 중 적어도 하나를 포함할 수 있다.
상기 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계는, 상기 제1 결과 값, 상기 제2 결과 값 및 상기 제3 결과 값을 합산하거나 또는 가중합하여 상기 적어도 하나의 동작에 대한 분석 결과를 획득하는 단계를 포함할 수 있다.
상기 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계는, 상기 적어도 하나의 동작에 대한 분석 결과를 비교하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계를 더 포함할 수 있다.
상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계는, 상기 선택 이력 데이터베이스를 이용하여 복수의 가중치를 결정하고, 상기 복수의 가중치를 이용하여 상기 추천 동작 및 상기 추천 지수를 가중합하여 검증 결과 값을 획득하는 단계를 포함할 수 있다.
상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계는, 상기 검증 결과 값을 기준 값과 비교하고 비교 결과를 기초로 상기 추천 동작을 상기 최종 동작으로 결정하는 단계를 더 포함할 수 있다.
상황 기반 동작 결정 방법은, 상기 최종 동작의 결정에 응하여 상기 최종 동작이 개시되는 단계를 더 포함할 수 있다.
상황 기반 동작 결정 방법은, 상기 최종 동작의 승인 여부에 대한 질의를 사용자에게 제공하는 단계를 더 포함할 수 있다.
상황 기반 동작 결정 방법은, 승인에 대한 선택 명령을 수신하면, 상기 최종 동작이 유지되는 단계 및 불승인에 대한 선택 명령을 수신하면, 상기 최종 동작이 중단되는 단계 중 적어도 하나를 더 포함할 수 있다.
상황 기반 동작 결정 방법은, 상기 승인에 대한 선택 명령의 수신 및 상기 불승인에 대한 선택 명령의 수신 중 적어도 하나에 응하여, 선택 이력 데이터베이스를 갱신하는 단계를 더 포함할 수 있다.
상황 기반 동작 결정 방법은, 상기 추천 동작의 검증 결과 상기 추천 동작이 부적절하면, 미리 정의된 기본 동작을 수행하는 단계를 더 포함할 수 있다.
차량은, 상황 정보를 획득하는 상황 정보 획득부, 기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하고, 상기 추천 동작을 검증하고, 검증 결과에 따라서 최종 동작을 결정하는 프로세서 및 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 포함하되, 상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증할 수 있다.
차량의 제어 방법은, 상황 정보를 획득하는 단계, 기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스로부터 데이터를 획득하는 단계, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하는 단계, 상기 추천 동작을 검증하는 단계, 검증 결과에 따라서 최종 동작을 결정하는 단계를 포함하되, 상기 추천 동작을 검증하는 단계는, 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계를 포함할 수 있다.
상술한 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법에 의하면, 사용자의 입력에 따라서, 사용자의 입력에 대응하는 추천 동작을 보다 신속하고 적절하게 사용자에게 제공할 수 있게 되는 효과를 얻을 수 있다.
상술한 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법에 의하면, 불필요한 추가 명령 입력 단계나 대화 단계를 감축하여 명령 인식 및 동작 추천의 품질을 향상시킬 수 있는 효과도 얻을 수 있다.
상술한 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법에 의하면, 사용자의 사용 이력에 따라 대화 시나리오가 변경되는 경우에도 불필요한 처리 단계를 감소시킬 수 있게 되는 효과를 얻을 수 있다.
상술한 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법에 의하면, 불필요한 대화, 명령 입력 또는 처리 단계를 생략할 수 있게 되어 복잡한 처리 과정이 단순화될 수 있으므로 설계 및 프로그래밍의 복잡성이 개선될 수 있게 되는 효과를 얻을 수 있으며, 또한 이에 따른 비용 절감 효과도 얻을 수 있게 된다.
도 1은 상황 기반 동작 결정 장치의 일 실시예에 대한 블록도이다.
도 2는 프로세서의 동작에 의한 음성 인식 과정의 일례를 개략적으로 도시한 도면이다.
도 3은 프로세서에 의해 처리되는 프로세스의 일 실시예를 설명하기 위한 제1 도이다.
도 4는 프로세서에 의해 처리되는 프로세스의 일 실시예를 설명하기 위한 제2 도이다.
도 5는 상황 인식용 데이터베이스의 일 실시예로 전화 발생 동작에 대응하는 상황 인식용 데이터베이스의 일례를 도시한 도면이다.
도 6은 상황 인식용 데이터베이스의 일 실시예로 목적지 검색 동작에 대응하는 상황 인식용 데이터베이스의 일례를 도시한 도면이다.
도 7은 프로세서에 의해 처리되는 프로세스의 일 실시예를 설명하기 위한 제3 도이다.
도 8은 선택 이력 데이터베이스의 일 실시예로 전화 발생 동작과 관련된 사용 이력 데이터베이스의 일례를 도시한 도면이다.
도 9는 선택 이력 데이터베이스의 일 실시예로 목적지 검색과 관련된 사용 이력 데이터베이스의 일례를 도시한 도면이다.
도 10은 추천 결과를 표시하는 화면의 일 실시예를 도시한 도면이다.
도 11은 추천 결과가 표시되지 않을 경우 표시되는 화면의 일 실시예를 도시한 도면이다.
도 12는 차량의 일 실시예에 대한 블록도이다.
도 13은 상황 기반 동작 결정 장치의 제어 방법의 일 실시예에 대한 제1 흐름도이다.
도 14는 상황 기반 동작 결정 장치의 제어 방법의 일 실시예에 대한 제2 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 '부'가 하나의 부품으로 구현되거나, 하나의 '부'가 복수의 부품들로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다.
또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.
또한, 이하 이용되는 제 1 이나 제 2 등의 용어는, 어느 하나의 부분을 다른 어느 하나의 부분과 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 순차적인 표현을 의미하는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 12를 참조하여 상황 기반 동작 결정 장치의 일 실시예에 대해서 설명한다.
도 1은 상황 기반 동작 결정 장치의 일 실시예에 대한 블록도이다.
상황 기반 동작 결정 장치(10)는, 상황을 기반으로 사용자가 하고자 하는 동작을 예측하고, 예측된 동작에 따라서 동작을 하거나, 또는 예측된 동작을 사용자에게 추천 동작으로 제시할 수 있는 장치이다.
상황 기반 동작 결정 장치(10)는, 예를 들어, 사용자로부터 적어도 하나의 입력 수단을 이용하여 명령을 입력 받고, 입력 받은 명령을 기초로 데이터의 비교 및 분석을 통하여 동작을 예측 및 결정할 수 있는 다양한 장치를 이용하여 구현될 수 있다.
예를 들어, 상황 기반 동작 결정 장치(10)는, 셀룰러폰, 스마트폰, 태블릿 피씨, 데스크톱 컴퓨터, 랩톱 컴퓨터, 내비게이션 장치, 가정용 게임기, 휴대용 게임기, 개인용 디지털 어시스턴트(PDA, Personal Digital Assistant), 및 스마트 안경, 스마트 반지 또는 스마트 시계와 같은 웨어러블 디바이스 중 적어도 하나를 포함할 수 있다. 또한, 상황 기반 동작 결정 장치(10)는, 예를 들어, 차량, 기계 장치, 로봇, 로봇 청소기, 텔레비전, 냉장고나 세탁기 등의 각종 가전 기기 등을 포함할 수도 있다. 이외에도 설계자가 고려할 수 있는 다양한 장치가 상황 기반 동작 결정 장치(10)의 일례가 될 수 있다.
도 1에 도시된 바를 참조하면, 상황 기반 동작 결정 장치(10)는, 프로세서(100), 보조 기억 장치(140), 주 기억 장치(149), 상황 정보 수집부(150) 및 사용자 인터페이스(190)를 포함할 수 있다.
프로세서(100)는, 상황 기반 동작 결정 장치(10)의 동작에 필요한 각종 연산 및 처리를 수행하고, 상황 기반 동작 결정 장치(10)의 각각의 부품에 제어 신호를 전송하여 상황 기반 동작 결정 장치(10)의 전반적인 동작을 제어할 수 있도록 마련된다.
일 실시예에 의하면, 프로세서(100)는, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit) 및 전자 제어 유닛(ECU, Electronic Control Unit) 중 적어도 하나를 포함할 수 있으며, 중앙 처리 장치, 마이크로 컨트롤러 유닛 및 전자 제어 유닛은 적어도 하나의 반도체 칩, 기판 및 관련 부품을 이용하여 구현된 것일 수 있다.
프로세서(100)는, 특정한 동작을 수행하기 위해 사전에 별도로 프로그래밍되어 마련된 것일 수도 있다. 또한, 프로세서(100)는 주 기억 장치(149)나 보조 기억 장치(140)에 저장된 소정의 알고리즘 또는 소정의 알고리즘을 포함하는 프로그램 제품을 구동시켜 특정한 동작을 수행할 수 있도록 마련된 것일 수도 있다. 여기서 프로그램 제품은, 예를 들어, 애플리케이션으로 지칭될 수 있다. 애플리케이션은, 실시예에 따라서, 별도로 마련된 외부의 애플리케이션 제공 서버 장치로부터 전송된 것일 수도 있다.
일 실시예에 의하면, 프로세서(100)는 사운드 입력부(195)를 통하여 입력된 음향으로부터 음성 부분을 추출하고, 음성 부분을 이용하여 음성 인식을 수행할 수도 있다. 이에 따라 사용자는 음성을 이용하여 음성 명령을 상황 기반 동작 결정 장치(10)에 입력할 수 있게 된다.
또한, 일 실시예에 의하면, 프로세서(100)는, 사용자의 명령에 따라서 소정의 동작을 예측 및 결정하고, 예측 및 결정된 동작에 따라서 상황 기반 동작 결정 장치(10)가 동작하도록 할 수도 있다. 예를 들어, 프로세서(100)는 상황 인식용 데이터베이스(141) 및 상황 정보 수집부(150)에 의해 수집된 상황 정보를 기반으로, 추천 동작을 결정하고, 결정한 추천 동작을 선택 이력 데이터베이스(142)를 이용하여 검증한 후, 검증 결과를 기초로 상황 기반 동작 결정 장치(10)에 대한 최종 동작을 결정할 수 있다.
실시예에 따라서, 프로세서(100)는 결정된 최종 동작을 사용자에게 추천 동작으로 제시하거나, 또는 추천 동작의 제시 없이 최종 동작에 따라 상황 기반 동작 결정 장치(10)가 동작하도록 연산 및 처리를 수행하거나 또는 각 부품을 제어할 수도 있다.
프로세서(100)의 자세한 동작은 후술하도록 한다.
보조 기억 장치(140)는, 상황 기반 동작 결정 장치(10)의 동작에 필요한 각종 정보를 일시적 또는 비일시적으로 저장할 수 있다.
예를 들어, 보조 기억 장치(140)는 상황 인식용 데이터베이스(141) 및 선택 이력 데이터베이스(143) 중 적어도 하나를 저장할 수 있다. 상황 인식용 데이터베이스(141)는, 추천 동작의 생성을 위해 프로세서(100)에 의해 이동될 수 있고, 선택 이력 데이터베이스(14)는 추천 동작의 검증을 위해 프로세서(100)에 의해 이동될 수 있다. 상황 인식용 데이터베이스(141) 및 선택 이력 데이터베이스(143) 중 적어도 하나에 구축된 레코드의 전부 또는 일부는, 프로세서(100)의 호출에 따라서 프로세서(100)로 전기적 신호의 형태로 전달될 수 있다. 상황 인식용 데이터베이스(141) 및 선택 이력 데이터베이스(143)의 자세한 내용은 후술하도록 한다.
이외에도 보조 기억 장치(140)는, 필요에 따라, 음향 모델(Acoustic Model, 145)이나 언어 모델(Language Model, 147)을 더 저장할 수도 있다. 음향 모델(145)이나 언어 모델(147)은, 프로세서(100)의 언어 인식 동작에 이용될 수 있다.
또한, 보조 기억 장치(140)는 프로세서(100)의 동작에 관련된 알고리즘의 전부 또는 일부를 저장할 수 있으며, 예를 들어, 프로세서(100)의 동작에 관련된 알고리즘의 전부 또는 일부를 소정의 프로그램 제품의 형태로 저장할 수도 있다.
보조 기억 장치(140)는, 플래시 메모리 장치, SD(Secure Digital) 카드, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 하드 디스크 드라이브(HDD, Hard Disc Drive), 자기 드럼, 콤팩트 디스크, 레이저 디스크, 자기 테이프, 광자기 디스크 및/또는 플로피 디스크 등과 같이 데이터를 영구적 또는 반영구적으로 저장 가능한 적어도 하나의 저장 매체를 이용하여 구현될 수 있다.
주 기억 장치(149)는, 프로세서(100)의 동작에 필요한 데이터, 알고리즘 및 프로그램 제품 중 적어도 하나를 일시적 또는 비일시적으로 저장할 수 있다. 예를 들어, 주 기억 장치(149)는, 보조기억장치(140)로부터 호출된 프로세서(100)의 동작에 대한 알고리즘이나 프로그램을 일시적으로 또는 비일시적으로 저장함으로써 프로세서(100)가 보다 신속하게 필요한 동작을 수행할 수 있도록 할 수 있다.
주 기억 장치(149)는, 필요에 따라, 상황 인식용 데이터베이스(141) 및 선택 이력 데이터베이스(143) 중 적어도 하나를 일시적 또는 영구적으로 저장하도록 설계될 수도 있다.
주 기억 장치(149)는, 롬(ROM) 및/또는 램(RAM)과 같은 반도체 저장 매체를 이용하여 구현된 것일 수 있다. 롬은, 예를 들어, 통상적인 롬, 이프롬(EPROM), 이이프롬(EEPROM) 및/또는 마스크롬(MASK-ROM) 등을 포함할 수 있다. 램은 예를 들어, 디램(DRAM) 및/또는 에스램(SRAM) 등을 포함할 수 있다.
상황 정보 수집부(150)는, 상황 기반 동작 결정 장치(10)의 동작에 필요한 정보를 수집할 수 있도록 마련된다.
일 실시예에 의하면, 상황 정보 수집부(150)는, 클락(151) 및 위치 정보 획득부(153) 중 적어도 하나를 포함할 수 있다.
클락(151)은, 현재의 시간을 획득할 수 있다. 획득된 시간은, 전기적 신호의 형태로 프로세서(100) 및 보조 기억 장치(140) 중 적어도 하나로 전송될 수 있다.
위치 정보 획득부(153)는, 상황 기반 동작 결정 장치(10)의 현재 위치에 대한 정보(이하 위치 정보)를 수신, 측정 또는 결정하고, 수신, 측정 또는 결정된 위치 정보를 프로세서(100)로 전달할 수 있다. 위치 정보는, 예를 들어, 위도 및 경도나, 지피에스(GPS: Global Positioning System) 좌표나, 현 위치에 대한 좌표를 이용하여 결정된 주소나 도로 명칭이나, 또는 현 위치에 대한 좌표를 이용하여 결정된 특정한 지역에 대한 지칭 등을 포함할 수 있다. 특정한 지역에 대한 지칭은, 사용자에 의해 정의된 것일 수 있으며, 예를 들어, 집이나 회사 등의 단어를 포함할 수 있다.
위치 정보 획득부(153)는, 예를 들어, 글로벌 내비게이션 위성 시스템(GNSS: Global Navigation Satellite System)을 이용하여 위치 정보를 획득할 수 있다. 여기서, 글로벌 내비게이션 위성 시스템은 인공위성으로부터 수신한 전파신호를 이용하여 수신 단말기의 위치를 산출할 수 있는 여러 항법 시스템 중 적어도 하나를 포함할 수 있다. 예를 들어, 글로벌 내비게이션 위성 시스템은, 지피에스, 갈릴레오(Galileo), 글로나스(GLONASS: Global Orbiting Navigational Satellite System), 콤파스(COMPASS), 인도 지역위성항법시스템(IRNSS: Indian Regional Navigational Satellite System) 및/또는 준텐초(QZSS: Quasi-Zenith Satellite System) 등과 같은 항법 시스템을 포함할 수 있다.
실시예에 따라서, 상황 정보 수집부(150)는, 클락(151) 및 위치 정보 획득부(153) 외에도 주변 상황에 대한 정보를 획득할 수 있는 다양한 장치를 더 포함할 수 있다. 예를 들어, 상황 정보 수집부(150)는, 광량을 감지할 수 있는 조도 센서나, 사용자의 심장 박동 등을 감지할 수 있는 심장 박동 감지 센서나, 주변의 소음을 측정할 수 있는 소음 센서나, 사용자 등의 체온을 측정할 수 있는 체온계나, 또는 이외 설계자가 고려할 수 있는 다양한 상황 정보 수집 장치 중 적어도 하나를 더 포함할 수도 있다.
상황 정보 수집부(150)로부터 획득된 상황 정보, 예를 들어, 시간, 위치, 광량, 사용자의 심장 박동수, 소음의 크기 및 체온 등에 대한 정보 중 적어도 하나는 프로세서(100)로 전달될 수 있다. 프로세서(100)는 수신한 상황 정보를 하나 이상 이용하여 상황에 부합되는 추천 동작을 결정할 수 있다.
사용자 인터페이스(190)는, 사용자로부터 적어도 하나의 명령을 입력 받거나, 및/또는 사용자에게 각종 정보를 시각적 또는 청각적으로 제공할 수 있도록 마련된다.
사용자 인터페이스(190)는, 실시예에 따라서, 상황 기반 동작 결정 장치(10)에 직접 설치된 것일 수도 있고, 또는 상황 기반 동작 결정 장치(10)와 별도로 마련된 장치를 이용하여 구현될 수도 있다. 만약 사용자 인터페이스(190)가 상황 기반 동작 결정 장치(10)와 별도로 마련된 경우, 사용자 인터페이스(190)는 케이블이나 소정의 무선 통신 네트워크를 통하여 상황 기반 동작 결정 장치(10)와 상호 통신을 수행할 수 있다.
일 실시예에 따르면, 사용자 인터페이스(190)는 표시부(191), 입력부(193), 사운드 입력부(195) 및 사운드 출력부(197) 중 적어도 하나를 포함할 수 있다. 표시부(191), 입력부(193), 사운드 입력부(195) 및 사운드 출력부(197) 중 적어도 하나는, 설계자의 선택에 따라서 생략 가능하다.
표시부(191)는, 적어도 하나의 정보를, 다양한 숫자, 기호, 문자, 도형 및/또는 모양을 이용하여 시각적으로 사용자에게 제공할 수 있다. 적어도 하나의 정보는 상황 기반 동작 결정 장치(10)의 동작이나 상태와 관련된 것일 수 있다. 예를 들어, 표시부(191)는 프로세서(100)의 처리 결과에 따른 추천 동작 또는 최종 동작의 수행 여부를 표시하여 사용자에게 제공할 수 있다.
표시부(191)는, 예를 들어, 플라즈마 디스플레이 패널(PDP, plazma display panel)이나, 발광 다이오드(LED, light emitting diode) 디스플레이 패널이나, 또는 액정 디스플레이(LCD, liquid crystal display) 등을 이용하여 구현될 수 있다. 여기서, 발광 다이오드 패널은, 유기 발광 다이오드(OLED, organic light emitting diode) 등을 포함할 수 있으며, 유기 발광 다이오드는 수동형 유기 발광 다이오드(PMOLED, Passive Matrix OLED) 또는 능동형 유기 발광 다이오드(AMOLED, Active Matrix OLED)를 포함할 수 있다.
입력부(193)는, 사용자로부터 명령이나 데이터를 입력 받을 수 있다. 예를 들어, 입력부(193)는, 사용자로부터 표시부(191)에 의해 표시되는 추천 동작의 선택 여부에 대한 지시나, 또는 상황 기반 동작 결정 장치(10)에 의해 수행되는 최종 동작의 승인 여부에 대한 지시를 수신할 수 있다.
입력부(193)는, 실시예에 따라서, 물리 버튼, 노브, 트랙볼, 트랙패드, 터치패드, 터치스크린, 조이스틱, 및/또는 동작 감지 센서 등을 포함할 수 있다. 여기서 터치스크린은 표시부(191) 및 입력부(193)의 기능을 모두 수행할 수 있다. 이외에도 데이터나 명령의 입력을 위하여 설계자가 고려 가능한 다양한 입력 장치 중 적어도 하나가 상술한 입력부(193)로 채용될 수 있다.
사운드 입력부(195)는, 외부로부터 음파를 수신하고, 수신한 음파를 전기적 신호로 변환함으로써, 수신된 음파에 대응하는 전기적 신호를 출력할 수 있다. 사운드 입력부(195)가 수신하는 음파는 사용자의 발화에 따라 발생된 음성을 포함할 수 있다.
사운드 입력부(195)에 의해 출력된 전기적 신호는 프로세서(100)로 전달되고, 프로세서(100)는 수신한 전기적 신호를 이용하여 음성 인식을 수행하고, 음성 인식 결과에 따라서 소정의 동작을 수행할 수 있다.
사운드 입력부(195)는, 예를 들어, 마이크로폰을 이용하여 구현 가능하다.
또한, 사운드 입력부(195)에 의해 출력된 전기적 신호는, 소정의 신호 처리 과정을 거친 후, 무선 통신부(180)로 전달될 수도 있다. 이 경우, 사운드 입력부(195)에 의해 출력된 전기적 신호는 프로세서(100)를 경유할 수도 있고, 또는 경유하지 않을 수도 있다. 무선 통신부(180)는, 사운드 입력부(195)에 의해 출력된 전기적 신호를 전자기파의 형태로 변환하여 외부로 송신할 수 있다. 외부로 송신된 전자기파는, 사용자나 미리 정의된 설정에 따라 선택된 다른 단말 장치, 일례로 스마트폰이나 셀룰러 폰 등에 의해 수신될 수 있다.
사운드 출력부(197)는, 음성 등을 포함하는 음향을 출력할 수 있도록 마련된다.
예를 들어, 사운드 출력부(197)는, 무선 통신부(180)가 수신한 전자기파로부터 획득된 전기적 신호에 대응하는 음향을 출력함으로써, 다른 단말 장치의 사용자가 발화한 음성을 상황 기반 동작 결정 장치(10)의 사용자에게 제공할 수도 있다. 또한, 다른 예를 들어, 사운드 출력부(197)는 프로세서(100)의 처리 결과에 따라 생성된 음향을 출력할 수도 있다. 구체적으로 예를 들어, 사운드 출력부(197)는 결정된 최종 동작에 따라서 상황 기반 동작 결정 장치(10)가 동작을 개시한 경우, 이를 음성이나 효과음 등을 포함하는 음향의 형태로 출력할 수 있다.
사운드 출력부(197)는, 예를 들어, 전기적 신호를 음파로 변환하는 적어도 하나의 스피커 장치를 이용하여 구현될 수 있으며, 또한 이어폰이나 헤드폰 등을 이용하여 구현될 수도 있다.
사운드 입력부(195)의 음성 수신 동작, 무선 통신부(180)의 전자기파의 송수신 및 사운드 출력부(197)의 음성 출력 동작에 따라, 사용자는 상황 기반 동작 결정 장치(10)를 이용하여 다른 단말 장치와 음성 통화를 할 수 있게 된다.
일 실시예에 의하면, 상황 기반 동작 결정 장치(10)는, 장치 연결부(170) 및 무선 통신부(180) 중 적어도 하나를 더 포함할 수 있다.
장치 연결부(170)는, 상황 기반 동작 결정 장치(10)가 외부 장치와 적어도 하나의 케이블 등을 통하여 연결될 수 있도록 마련된다.
예를 들어, 상황 기반 동작 결정 장치(10)는, 장치 연결부(170)를 통해서, 상황 인식용 데이터베이스(141)의 전부 또는 일부, 선택 이력 데이터베이스(143)의 전부 또는 일부, 음향 모델(145), 언어 모델(147) 및 상황 기반 동작 결정 장치(10)에 필요한 적어도 하나의 데이터 중 적어도 하나를 전달받을 수 있다. 전달 받은 데이터는 프로세서(100), 주 기억 장치(149) 및 보조 기억 장치(140) 중 적어도 하나로 전달될 수 있다.
장치 연결부(170)는, 예를 들어, 범용 직렬 버스(USB: Universal Serial Bus) 단자(171)를 포함할 수 있으며, 이외에도 HDMI(High Definition Multimedia Interface) 단자나 썬더볼트 단자 등과 같은 다양한 인터페이스용 단자 중 적어도 하나를 포함할 수 있다.
무선 통신부(180)는, 외부의 단말 장치 및 서버 장치 중 적어도 하나와 통신 가능하게 마련된다. 여기서, 외부의 단말 장치는, 스마트폰, 셀룰러 폰, 태블릿 피씨, 랩톱 컴퓨터, 데스크톱 컴퓨터, 웨어러블 디바이스 또는 기타 통신 가능한 다양한 장치를 포함할 수 있다.
상황 기반 동작 결정 장치(10)는, 무선 통신부(180)를 통해, 외부의 단말 장치 및 서버 장치 중 적어도 하나로부터 상황 기반 동작 결정 장치(10)의 동작에 필요한 각종 데이터를 수신하거나, 또는 외부의 단말 장치 및 서버 장치 중 적어도 하나로 각종 데이터나 명령을 전송할 수 있다.
무선 통신부(180)는, 근거리 통신부(181) 및 이동 통신부(183) 중 적어도 하나를 포함할 수 있다.
근거리 통신부(181)는 근거리에 위치한 단말 장치와 무선으로 통신 가능하게 마련된다. 근거리 통신부(181)는 전자기파를 송수신할 수 있는 통신 회로를 이용하여 구현될 수 있다. 통신 회로는, 예를 들어, 안테나, 통신 칩, 기판 및 관련 부품 등을 포함할 수 있다.
일 실시예에 의하면, 근거리 통신부(181)는, 소정의 근거리 통신 기술을 이용하여 외부의 단말 장치와 통신을 수행할 수 있다. 예를 들어, 근거리 통신부(181)는, 블루투스(Bluetooth), 저전력 블루투스(Bluetooth Low Energy), 캔(CAN) 통신, 와이 파이(Wi-Fi), 와이파이 다이렉트(Wi-Fi Direct), 와이맥스(Wi-MAX), 초광대역 통신(UWB, ultra wideband), 지그비(zigbee), 적외선 통신(IrDA, infrared Data Association) 또는 엔에프씨(NFC, Near Field Communication) 등을 이용하여 제3 통신부(270)와 통신을 수행할 수 있다.
상황 기반 동작 결정 장치(10)는, 실시예에 따라서, 근거리 통신부(181)를 이용하여 외부의 단말 장치와 페어링될 수도 있다.
이동 통신부(183)는, 원격지에 위치한 단말 장치 및 서버 장치 중 적어도 하나와 데이터를 송수신 가능하게 마련된다.
이동 통신부(183)는, 소정의 이동 통신 기술을 이용하여 제2 단말 장치(3)와 통신을 수행할 수 있다. 예를 들어, 이동 통신부(183)는 3GPP, 3GPP2 또는 와이맥스 계열 등과 같이 이동 통신 표준을 기반으로 하고 설계자가 고려할 수 있는 적어도 하나의 통신 기술을 이용하여 제2 단말 장치(3) 및 서버 장치(4) 중 적어도 하나와 상호 통신을 수행할 수 있다. 이동 통신 표준 기술로는, 예를 들어, GSM(Global System for Mobile Communication), EDGE(Enhanced Data GSM Environment), WCDMA(Wideband Code Division Multiple Access), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access) 등이 있다.
프로세서(100), 보조 기억 장치(140), 주 기억 장치(149), 상황 정보 수집부(150), 장치 연결부(170), 무선 통신부(180) 및 사용자 인터페이스(190) 중 적어도 둘은, 실시예에 따라서, 회로, 케이블 및 무선 통신 네트워크 중 적어도 하나를 이용하여 상호 데이터를 송수신할 수 있도록 마련된다. 여기서, 케이블은, 예를 들어, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 이더넷 케이블을 포함할 수 있다. 무선 통신 네트워크는 근거리 통신 기술 또는 이동 통신 기술을 이용하여 구현된 것일 수 있다.
이하 프로세서(100)의 구체적인 동작에 대해 설명한다. 이하 프로세서(100)를 설명함에 있어서 각 도면의 블록들은 설명의 편의를 위하여 분리하여 기재한 것으로, 실제 구현 시에는 이와 같이 분리되지 않을 수 있다. 또한, 각 도면의 블록들 중 적어도 하나는 물리적으로 구분되는 것일 수도 있고, 및/또는 논리적으로 구분되는 것일 수도 있다.
도 2는 프로세서의 동작에 의한 음성 인식 과정의 일례를 개략적으로 도시한 도면이다.
사용자가 음성을 발화하면, 발화된 음성은 사운드 입력부(195)를 통해 입력된다. 사운드 입력부(195)는 발화된 음성에 대응하는 전기적 신호를 출력하고, 출력된 전기적 신호는, 도 2에 도시된 바와 같이, 프로세서(100)로 전달된다.
프로세서(100)는 수신된 전기적 신호를 기초로 음성 인식을 수행한다.
구체적으로 프로세서(100)는, 먼저 수신된 전기적 신호로부터 음성 구간을 검출할 수 있다(101). 여기서, 음성 구간은, 사용자가 발화한 음성이 존재하거나, 또는 존재할 가능성이 높은 구간을 의미한다.
음성 구간이 검출되면, 프로세서(100)는 음성 구간에 존재하는 잡음을 제거하거나 및/또는 약화시킬 수 있다(102). 음성 구간에 존재하는 잡음 제거를 위해 프로세서(100)는 적어도 하나의 필터를 이용할 수도 있다. 잡음 제거 과정(102)은, 실시예에 따라 생략 가능하다.
이어서, 프로세서(100)는 음성 구간으로부터 음성의 특징을 추출할 수 있다. 이 경우, 프로세서(100)는 선형 예측 코딩 켑스트럼 계수(LPC, Linear Prediction Coefficient), 켑스트럼(Cepstrum), 멜 주파수 켑스트럼 계수(MFCC, Mel Frequency Cepstral Coefficient), 및 필터 뱅크 에너지(Filter Bank Energy) 중 적어도 하나를 이용하여 음성 구간으로부터 음성의 특징을 특징 벡터의 형태로 추출할 수 있다.
음성의 특징의 추출에 응하여, 프로세서(100)는 추출된 음성의 특징에 대응하는 패턴을 결정할 수 있다(104). 예를 들어, 프로세서(100)는 미리 정의된 소정의 음향 모델(145)을 이용하여 음성의 특징에 대한 패턴을 결정할 수 있다. 음향 모델(145)은 음성의 신호적 특성을 모델링 함으로써 획득된 것일 수 있다. 프로세서(100)는, 이와 같은 음향 모델(145)을 이용하여, 인간의 음성과 주파수 패턴이 동일하거나 근사한 주파수 패턴을 획득함으로써, 음성의 특징에 대한 패턴을 결정할 수 있다. 이에 따라 사운드 입력부(195)를 통해 입력된 음성으로부터 소정의 단어, 음절 또는 짧은 구와 같은 어휘를 인식될 수 있다.
프로세서(100)는, 필요에 따라서, 소정의 언어 모델(147)을 더 이용하여 언어 처리를 수행함으로써 문장 등을 인식할 수 있다(105). 언어 모델(147)는 인식된 단어, 음절 또는 구 등을 언어적 순서 관계를 결정하기 위해, 인간의 언어 및 문법 등을 기반으로 생성된 것일 수 있다. 이에 따라 프로세서(100)는 음성에 대응하는 문장을 인식할 수 있게 된다.
프로세서(100)는, 패턴 결정(104) 및 언어 처리(105) 중 적어도 하나의 과정을 통하여 음성 인식 결과는 획득하고, 음성 인식 결과에 따라서 사용자가 발화를 통해 요구 또는 명령하는 동작을 결정할 수 있다(106). 구체적으로, 프로세서(100)는, 소정의 데이터베이스 등을 이용하거나 또는 이용하지 않고, 음성 인식 결과에 대응하는 기준 동작을 결정하고, 결정된 기준 동작을 사용자가 요구하는 동작으로 판단할 수 있다. 여기서, 소정의 데이터베이스는, 음성 인식 결과와 음성 인식 결과에 대응하는 기준 동작에 대한 데이터를 기반으로 구축된 것일 수 있다. 음성 인식이 적절히 수행된 경우라면, 사용자가 발화를 통해 요구 또는 명령한 동작은 프로세서(100)에 의해 결정된 기준 동작과 동일할 수 있다.
만약 인식된 음성에 대응하는 기준 동작을 결정할 수 없는 경우라면, 프로세서(100)는 음성 인식이나 동작 결정에 오류가 발생했다고 판단하고, 사용자 또는 설계자에 의해 미리 정의된 바에 따라서, 음성 인식 동작을 다시 수행할 수도 있고, 또는 사용자에게 다시 발화해줄 것을 요청하거나, 사운드 입력부(195)가 아닌 다른 입력 수단, 일례로 상술한 입력부(191)를 이용하여 명령을 입력해줄 것을 요청하도록 상황 기반 동작 결정 장치(10)의 각 부품을 제어할 수도 있다. 발화의 요청이나 명령 입력 요청은, 표시부(193) 및 사운드 출력부(197) 중 적어도 하나를 이용하여 수행될 수 있다.
프로세서(100)에 의해 결정된 기준 동작은, 상황 기반 동작 결정 장치(10)에 의해 수행될 수 있는 다양한 동작 중 적어도 하나의 동작을 포함할 수 있다. 예를 들어, 기준 동작은, 특정인에게 대한 전화 발신 동작, 전화 수신 또는 거절 동작, 특정한 장소를 목적지로 설정하는 동작, 설정된 목적지까지의 경로 안내 동작, 온도 조절 동작, 메시지 전송 동작, 이 메일이나 메시지 등에 포함된 텍스트의 음성 변환 동작, 텍스트에 대응하는 음성 출력 동작, 음악이나 동영상 재생 동작, 소정의 화면 표시 동작 또는 라디오 장치나 텔레비전 장치의 채널 또는 음량 변경 동작 등 설계자가 고려할 수 있는 다양한 동작 중 적어도 하나를 포함할 수 있다.
도 3은 프로세서에 의해 처리되는 프로세스의 일 실시예를 설명하기 위한 제1 도이다.
프로세서(100)는, 입력부(191)를 통해 입력된 사용자에 명령에 따라 기준 동작이 결정되거나, 또는 상술한 바와 같이 음성 인식에 따라서 사용자의 명령에 대응하는 기준 동작이 결정되면, 현재의 상황이나 기 저장된 사용자의 행동 등을 이용하여, 최종 동작을 결정할 수 있다. 최종 동작은, 기준 동작을 보다 구체화한 동작을 의미한다. 예를 들어, 결정된 기준 동작이 특정인에게로의 통화 발신인 경우, 최종 동작은 기준 동작에서 통화 수단을 보다 상세히 한 동작일 수 있다. 이 경우, 보다 구체적으로 예를 들어, 최종 동작은 특정인의 휴대폰으로의 통화 발신일 수 있다.
구체적으로 프로세서(100)는 도 3에 도시된 바와 같이 정보 수집부(150)로부터 현재 상황을 판단할 수 있는 정보를 수신하고, 또한 상황 인식용 데이터베이스(141)로부터, 특정한 상황에서 사용자에 의해 선택된 동작, 즉 상황 기반 동작 결정 장치(10)가 기존에 수행한 동작에 대한 정보를 획득한 후, 획득하거나 또는 수신한 정보를 이용하여 추천 동작을 생성할 수 있다(110).
또한 프로세서(100)는, 추천 동작에 대응하는 추천 지수를 결정할 수 있다. 추천 지수는 추천 동작이 어느 정도로 현재의 상황에 적절한지 여부를 나타내는 지표로, 수치적으로 구현될 수 있다.
도 4는 프로세서에 의해 처리되는 프로세스의 일 실시예를 설명하기 위한 제2 도이다. 도 5는 상황 인식용 데이터베이스의 일 실시예로 전화 발생 동작에 대응하는 상황 인식용 데이터베이스의 일례를 도시한 도면이고, 도 6은 상황 인식용 데이터베이스의 일 실시예로 목적지 검색 동작에 대응하는 상황 인식용 데이터베이스의 일례를 도시한 도면이다.
일 실시예에 의하면, 도 4에 도시된 바와 같이, 프로세서(100)는 먼저 이력의 존재 여부를 판단할 수 있다(111).
구체적으로 프로세서(100)는, 입력부(191)를 통해 입력되거나 또는 음성 인식 과정을 통해 결정된 기준 동작을 기초로, 기준 동작에 대응하는 상황 인식용 데이터베이스(141)를 호출을 시도하고, 상황 인식용 데이터베이스(141)가 호출되는지 여부를 판단할 수 있다.
이 경우, 프로세서(100)는, 사용자가 요구 또는 명령한 동작에 따라서 상이한 상황 인식용 데이터베이스(141)를 호출할 수 있다. 예를 들어, 사용자가 통화에 관한 명령을 입력한 경우라면, 통화에 관련된 상황 인식용 데이터베이스(141)가 호출될 수 있고, 사용자가 온도 조절에 관한 명령을 입력한 경우라면, 온도 조절에 관련된 상황 인식용 데이터베이스(141)가 호출될 수 있다. 또한, 사용자가 목적지 검색 또는 설정에 대한 명령을 입력한 경우라면 목적지 검색 또는 설정에 관련된 상황 인식용 데이터베이스(141)가 호출될 수 있다. 이외에도 프로세서(100)는 사용자의 명령에 따라서 적절한 상황 인식용 데이터베이스(141)를 호출할 수 있다.
또한 프로세서(100)는, 상황 인식용 데이터베이스(141)가 호출된 경우, 호출된 상황 인식용 데이터베이스(141)로부터 기준 동작과 관련하여 기존에 저장된 이력이 존재하는지 여부를 판단할 수 있다(111). 다시 말해서, 프로세서(100)는 추천 동작의 생성에 필요한 데이터가 상황 인식용 데이터베이스(141)에 존재하는지 여부를 판단할 수 있다.
만약 기준 동작에 대응하는 상황 인식용 데이터베이스(141)가 호출되지 않거나 또는 호출된 상황 인식용 데이터베이스(141)에 기존에 저장된 이력, 즉 레코드가 존재하지 않는 경우에는 추천 동작 생성(110), 추천 동작 검증(120) 및 최종 동작 결정(130) 과정을 수행하지 않고, 미리 정의된 설정에 따른 동작을 수행할 수 있다.
예를 들어, 기준 동작에 대응하는 상황 인식용 데이터베이스(141)가 호출되지 않거나 또는 호출된 상황 인식용 데이터베이스(141)에 기존에 저장된 이력이 검출되지 않는 경우, 프로세서(100)는, 사용자 인터페이스(190)의 표시부(193)가 음성 인식 결과에 따른 적어도 하나의 데이터를 포함하는 목록을 표시하도록 제어할 수 있다. 예를 들어, 만약 기준 동작이 전화 발신인 경우, 목록은 음성 인식 결과에 대응하는 것으로 판단된 적어도 하나의 수신자 및 수신자에 대응하는 전화번호를 하나 이상 포함할 수 있다. 사용자는 표시된 목록의 데이터를 확인하고, 입력부(191)를 조작하여 표시된 목록의 데이터 중에서 적어도 하나의 데이터를 선택할 수 있으며, 프로세서(100)는 사용자에 의해 선택된 데이터에 따라서 상황 기반 동작 결정 장치(10)가 동작하도록 제어할 수 있다.
또한, 일 실시예에 의하면, 기준 동작에 대응하는 상황 인식용 데이터베이스(141)가 호출되지 않거나 또는 호출된 상황 인식용 데이터베이스(141)에 기존에 저장된 이력이 검출되지 않는 경우, 프로세서(100)는 사용자의 선택 결과를 이용하여 상황 인식용 데이터베이스(141)를 갱신할 수 있다. 예를 들어, 프로세서(100)는 선택 결과에 대응하는 각종 데이터, 일례로 수신자 및 수신자의 전화번호를 포함하는 레코드를 상황 인식용 데이터베이스(141)에 부가하여 상황 인식용 데이터베이스(141)를 갱신할 수 있다.
만약 결정된 동작에 대응하는 상황 인식용 데이터베이스(141)가 호출되고, 호출된 상황 인식용 데이터베이스(141)에 기존에 저장된 레코드가 존재하는 경우에는, 프로세서(100)는 상황 정보 수집부(150)로부터 상황 인식에 필요한 각종 정보를 수신할 수 있다.
상술한 상황 인식용 데이터베이스(141)의 호출 여부의 판단 및 상황 인식용 데이터베이스(141)에 이력이 존재하는지 여부의 판단 과정(111)은, 실시예에 따라서, 생략 가능하다.
또한, 프로세서(100)는, 상황 정보 수집부(150)로부터 상황 인식에 필요한 상황 정보를 획득할 수 있다. 예를 들어, 프로세서(100)는 상황 정보 수집부(150)의 클락(151)으로부터 현재의 시각을 획득하고, 및/또는 위치 정보 획득부(153)로부터 사용자의 위치 정보를 획득할 수 있다.
프로세서(100)는, 호출된 상황 인식용 데이터베이스(141)로부터 적어도 하나의 데이터(일례로 적어도 하나의 레코드나 레코드의 필드 데이터(들))를 추출할 수도 있다. 이 경우, 실시예에 따라서, 프로세서(100)는 데이터의 추출 이전에 상황 인식용 데이터베이스(141)를 호출하는 과정을 더 수행할 수도 있다. 보조 기억 장치(140)로부터 호출되는 상황 인식용 데이터베이스(141)는, 상술한 바와 같이, 입력부(191)를 통해 입력되거나 또는 음성 인식 과정을 통해 결정된 동작을 기초로 결정된 기준 동작에 대응하는 데이터베이스일 수 있다.
도 5 및 도 6에 도시된 바를 참조하면, 상황 인식용 데이터베이스(141)는 복수의 레코드(R11 내지 R13, R14 및 R15)를 포함할 수 있으며, 각각의 레코드(R11 내지 R13, R14 및 R15)는, 각각의 레코드(R11 내지 R13, R14 및 R15)를 인식하기 위한 식별자(f0)와 복수의 필드(f11 내지 f15, f21 내지 f27) 각각에 대응하는 필드 데이터를 포함할 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 상황 인식용 데이터베이스(141)가 통화 발신 동작에 관한 데이터베이스(DB1)라면, 각각의 레코드(R11 내지 R13)는, 수신자에 대한 통화 대상 필드(f11), 수신자의 단말 장치에 관한 통화 수단 필드(f12), 통화 날짜에 관한 필드(f13), 통화 시간에 관한 필드(f14), 및/또는 사용자가 통화를 발신한 장소에 관한 필드(f15) 각각에 대응하는 필드 데이터를 포함할 수 있다.
또한 다른 예를 들어, 상황 인식용 데이터베이스(141)가, 도 6에 도시된 바와 같이, 목적지 검색 및 설정 동작에 관한 데이터베이스(DB2)라면, 각각의 레코드(R14 및 R15)는, 관심 지점에 대한 필드(f21), 관심 지점에 대응하는 지도 상의 위치에 대한 필드(f22), 검색에 이용된 장치에 대한 필드(f23), 검색 요일에 대한 필드(f24), 검색 시간에 대한 필드(f25), 검색 장소에 대한 필드(f26) 및/또는 기타 정보에 대한 필드(f27)에 대한 필드 데이터를 포함할 수 있다.
도 5 및 도 6에 도시된 바와 같이, 서로 상이한 기준 동작에 대해 추천 동작을 결정하기 위해 이용되는 상황 인식용 데이터베이스(141)는, 각각의 기준 동작의 특성에 따라서 서로 상이한 적어도 하나의 필드 및 필드 데이터를 포함할 수도 있다. 예를 들어, 통화 발신 동작에 관한 상황 인식용 데이터베이스(DB1)는, 통화 대상 필드(f11) 및 이에 대한 필드 데이터를 포함하고, 목적지 검색 및 설정 동작에 관한 상황 인식용 데이터베이스(DB2)는 관심 지점에 대한 필드(f21) 및 이에 대한 필드 데이터를 포함할 수 있다. 또한, 다른 예를 들어, 목적지의 설정을 위한 상황 인식용 데이터베이스(DB2)는, 출근 등의 이유로 통상적으로 요일에 따라 결정될 수 있으므로 요일에 대한 필드를 포함할 수 있다.
물론 실시예에 따라서, 서로 상이한 기준 동작에 대해 추천 동작을 결정하기 위해 이용되는 상황 인식용 데이터베이스(141)가 모두 동일한 필드로 이루어지는 것도 가능하다.
상황 인식용 데이터베이스(141)의 각각의 필드(f11 내지 f14, f21 내지 f27)에 저장된 필드 데이터는, 기존에 사용자의 선택에 따른 상황 기반 동작 결정 장치(10)의 실제 동작을 기반으로 획득된 것일 수 있다.
만약 사용자의 명령에 따른 기준 동작으로 특정한 인물에 대한 전화 발신 동작이 결정된 경우라면, 프로세서(100)는, 호출된 상황 인식용 데이터베이스(141)로부터 특정한 인물에 대응하는 레코드들을 검출할 수 있다.
이어서, 프로세서(100)는 상황 정보 및 검출된 레코드를 이용하여 추천 가능한 동작에 대한 선택 패턴을 결정할 수 있다(113). 구체적으로 예를 들어, 사용자가 특정인으로의 통화 발신 명령을 입력한 경우라면, 프로세서(100)는 사용자가 미리 정의된 분석 기준(일례로 장소, 시간 또는 전체적인 행동이나 동작) 별로 어떤 방식이나 수단으로 특정인에게 전화를 하는지에 관한 선택 패턴을 결정할 수 있다. 보다 구체적으로 예를 들어, 사용자가 특정인에게 전화를 하는 경우, 프로세서(100)는 장소 별로, 시간 별로 또는 전체적인 동작에 비추어 특정인의 휴대폰 번호를 이용하여 전화를 하는지, 특정인의 직장 전화로 설정된 전화 번호를 이용하여 전화를 하는지, 및/또는 특정인의 집 전화로 설정된 전화 번호를 이용하여 전화를 하는지 여부에 대한 선택 패턴을 결정할 수 있다.
일 실시예에 의하면, 프로세서(100)는, 도 4에 도시된 바와 같이, 특정한 장소에서는 어떠한 선택 패턴에 따라서 결정된 동작이 수행되었는지 여부를 판단하거나(114), 특정한 시간에는 선택 패턴으로 결정된 동작이 수행되는지 여부를 판단하거나(115), 및/또는 전체적으로 어떠한 선택 패턴으로 결정된 동작이 수행되는지 여부를 판단할 수 있다(116).
일 실시예에 의하면 프로세서(100)는, 분석 기준 별로 선택 패턴을 결정하기 위하여 소정의 주파수 모델을 생성 및 이용할 수도 있다.
프로세서(100)는, 선택 패턴의 결정 과정의 수행 결과에 따라, 각각의 분석 기준에서의 선택 패턴에 대한 결과 값(p1i, p2i, p3i, i=1, 2, 3, ...)을 획득할 수도 있다. 예를 들어, 프로세서(100)는 장소에 따른 선택 패턴에 대한 결과 값(p1i)을 획득하거나(114), 시간에 따른 선택 패턴에 대한 결과 값(p2i)을 획득하거나(115) 및/또는 전체 동작에 대한 선택 패턴의 결과 값(p3i)을 획득할 수 있다(116).
보다 구체적으로 예를 들어, 위치 정보 획득부(153)에 의해 획득된 현재의 위치가 제1 구역(일례로 직장이나 학교 등)이고 기준 동작이 특정인에게 전화 발신인 경우, 프로세서(100)는 제1 구역 주변에서 사용자의 선택에 대한 데이터가 상황 인식용 데이터베이스(141)에 존재하는지 여부를 검출하고, 제1 구역 주변에서 사용자의 선택에 대한 데이터가 검출되면, 검출된 선택 패턴의 각각의 요소, 즉 각각의 선택된 동작에 소정의 값을 부여하여 장소 별로 각각의 동작에 대한 결과 값(p1i, 여기서 i는 각각의 동작을 식별하기 위한 인덱스)을 획득할 수 있다.
프로세서(100)는 제1 구역에서 전체적으로 수행된 동작에 대한 각각의 동작의 비중을 이용하여 제1 구역에서의 각각의 동작에 대응하는 결과 값(p1i)을 획득할 수 있다. 이에 따라 프로세서(100)는 제1 구역에서의 선택 패턴에 대한 결과 값(p1i)을 획득할 수 있다(114).
일 실시예에 의하면, 결과 값(p1i)은 선택된 동작 각각에 대한 선택 확률 또는 빈도를 이용하여 정의될 수 있다. 예를 들어, 결과 값(p1i)은 제1 구역에서의 전체 동작 대비 특정한 동작의 수행 빈도에 대한 비율(즉, 특정 동작을 수행한 횟수/전체 동작을 수행한 횟수)로 정의될 수 있다. 보다 구체적으로 예를 들어, 제1 구역에서 특정 수신자에게 전화를 한 횟수가 100이고, 제1 구역에서 특정 수신자의 휴대폰으로 전화를 한 횟수가 80이며, 제1 구역에서 특정 수신자의 집 전화기로 전화를 한 횟수가 20로 검출된 경우, 제1 구역에서 특정 수신자의 휴대폰으로 전화를 한 동작에 대응하는 결과 값(p11)은, 0.8로 결정되고, 제1 구역에서 특정 수신자의 집 전화기로 전화를 한 동작에 대응하는 결과 값(p12)은 0.2로 결정될 수 있다.
상술한 결과 값(p11, p12)은 사용자의 편의에 따라 다양하게 정의 가능하다. 예를 들어, 0.8 및 0.2 대신에 이들에 100을 곱한 80 및 20이, 각각 제1 구역에서 특정 수신자의 휴대폰으로 전화를 한 동작에 대응하는 결과 값(p11) 및 제1 구역에서 특정 수신자의 집 전화기로 전화를 한 동작에 대응하는 결과 값(p12)으로 정의되는 것도 가능하다.
만약 제1 구역에서의 사용자의 선택 패턴이 없는 경우, 장소에 따른 결과 값(p1i)은 0으로 주어질 수 있다.
또한, 동일하게 클락(151)에 의해 획득된 현재의 시각이 제1 시간대(일례로 오후 시간대 등)에 해당하는 경우, 프로세서(100)는, 제1 시간대의 각각의 선택된 동작에 대한 결과 값(p2i)을 획득할 수 있다(115). 예를 들어, 프로세서(100)는, 상술한 바와 동일하게, 제1 시간대에서의 전체 동작에 대한 각각의 동작의 비중에 따라 각각의 선택된 동작에 대한 선택 확률을 이용하여 제1 시간대의 각각의 선택된 동작에 대한 결과 값(p2i)을 획득할 수도 있다. 만약 제1 시간대에서의 사용자의 선택 패턴이 없는 경우, 프로세서(100)는 시간에 따른 결과 값(p2i)은 0으로 설정할 수 있다.
또한, 프로세서(100)는 장소나 시간을 고려하지 않고 각각의 선택된 동작에 대응하는 결과 값(p3i)을 획득할 수도 있다. 예를 들어, 프로세서(100)는 전체 동작 대비 각각의 동작의 비중에 따라서, 각각의 동작마다 대응하는 결과 값(p3i)을 상술한 바와 동일한 방법으로 획득할 수 있다(116).
일 실시예에 의하면, 프로세서(100)는, 특정한 동작에 대해 서로 상이한 분석 기준을 이용하여 획득된 결과 값(p1i, p2i, p3i)을 합산하거나, 또는 획득된 결과 값(p1i, p2i, p3i)을 가중합하여 선택 패턴을 분석할 수 있다(118).
이 경우, 프로세서(100)는, 도 4에 도시된 바와 같이, 분석 기준, 일례로 장소, 시간 및 전체 동작에 따른 선택 패턴에 대한 결과 값(p1i, p2i, p3i) 각각에 반영될 가중치(w11, w12, w13)를 더 결정할 수도 있다(117).
일 실시예에 의하면, 가중치(w11, w12, w13)는, 각각의 분석 기준마다 미리 정의된 것일 수도 있다. 예를 들어, 프로세서(100)는 각각의 분석 기준에 대응하는 결과 값(p1i, p2i, p3i)에 반영될 가중치(w11, w12, w13)를 분석 기준에 대응하는 결과 값들(p1i, p2i, p3i)마다 동일하게 결정할 수 있다.
예를 들어, 만약 장소, 시간 및 전체 동작에 대한 선택 패턴에 대응하는 결과 값(p1i, p2i, p3i) 모두 획득되는 경우에는, 프로세서(100)는 장소, 시간 및 전체 동작에 따른 선택 패턴에 대한 결과 값에 적용되는 가중치(w11, w12, w13)는, 모두 동일하게 0.33으로 결정할 수 있다.
다른 실시예에 의하면, 가중치(w11, w12, w13)는, 각각의 분석 기준에 대응하는 결과 값(p1i, p2i, p3i)값에 따라서 결정되는 것일 수도 있다. 즉, 프로세서(100)는, 각각의 분석 기준에 대응하는 결과 값(p1i, p2i, p3i)에 반영될 가중치(w11, w12, w13)를 결과 값(p1i, p2i, p3i)에 따라서 동일하게 또는 상이하게 결정할 수도 있다.
예를 들어, 프로세서(100)는 결과 값(p1i, p2i, p3i)이 0인 경우에는 0인 결과 값(p1i, p2i, p3i)에 대응하는 가중치(w11, w12, w13)도 0으로 결정하고, 결과 값(p1i, p2i, p3i)이 0이 아닌 경우에는 0이 아닌 결과 값(p1i, p2i, p3i)에 대응하는 가중치(w11, w12, w13)를 각각 동일하게 결정할 수 있다. 보다 구체적으로 예를 들어, 프로세서(100)는 장소에 따른 선택 패턴에 대한 결과 값(p1i)이 0이고(즉, 장소에 따른 선택 패턴이 부재하고), 시간 및 전체 동작에 따른 선택 패턴에 대한 결과 값(p2i, p3i)이 0이 아닌 경우(즉, 시간 및 전체 동작에 따른 선택 패턴이 존재하는 경우), 장소에 따른 선택 패턴에 대한 결과 값(p1i)에 가중되는 가중치(w11)는 0으로 결정하고, 시간 및 전체 동작에 따른 결과 값(p2i, p3i)에 적용되는 가중치(w12, w13)는 동일하게 0.5로 결정할 수도 있다.
상술한 바 외에도 프로세서(100)는, 설계자가 고려할 수 있는 적어도 하나의 방법으로 이용하여 결과 값(p1i, p2i, p3i) 각각에 반영될 가중치(w11, w12, w13)를 결정할 수 있다.
각각의 동작에 대한 결과 값(p1i, p2i, p3i)이 획득되고, 필요에 따라 분석 기준 별 가중치(w11, w12, w13)가 더 획득되면, 프로세서(100)는 패턴을 분석하고, 분석 결과를 획득할 수 있다(118).
일 실시예에 의하면, 패턴 분석은 분석 기준 별 선택 패턴에 대한 결과 값(p1i, p2i, p3i)의 조합, 또는 분석 기준 별 선택 패턴에 대한 결과 값(p1i, p2i, p3i) 및 분석 기준 별 가중치(w11, w12, w13)의 조합을 이용하여 수행될 수 있다.
이 경우, 패턴 분석을 위해 하기의 수학식 1이 이용될 수 있다.
Figure 112017052865277-pat00001
Zi는, 특정한 동작에 대한 분석 결과를 의미하고, w1j는 분석 기준 별 가중치고, pji는 각각의 분석 기준에 대한 각각의 선택 패턴에 포함된 각각의 동작에 대한 결과 값을 의미한다. i는 각각의 동작을 식별하기 위한 값을 의미하고, j는 각각의 분석 기준을 식별하기 위한 값을 의미한다.
특정한 동작에 대한 분석 결과(Zi)는, 각각의 동작마다 개별적으로 연산될 수 있다. 따라서, 특정한 동작에 대한 분석 결과(Zi)의 개수는, 선택 패턴에 포함된 동작의 개수와 동일하게 주어질 수 있다.
예를 들어, 사용자가 특정인에게 통화 명령을 내린 경우에 있어서, 현재 사용자의 위치에 대한 선택 패턴이 부재하고, 현재 시간대에서 전체 통화 대비 집 전화 번호를 이용한 통화 비율은 0.2이고 전체 통화 대비 휴대폰 번호를 이용한 통화 비율은 0.8이며, 전체 동작 대비 집 전화 번호를 이용한 통화 비율은 0.3이고, 휴대폰 번호를 이용한 통화 비율은 0.7로 주어진 경우라면, 상술한 예시에 따른 각각의 상황에 대한 가중치 w11, w12, w13은 순차적으로 0, 0.5, 0.5로 결정될 수 있으며, 집 전화 번호 이용 패턴에 대한 분석 결과(Z1)는 0.25(=0+0.2/2+0.3/2)의 값을 가지고, 휴대폰 번호 이용 패턴에 대한 분석 결과(Z2)는 0.75(=0+0.3/2+0.7/2)의 값을 가지게 된다.
프로세서(100)는 패턴에 대한 분석 결과를 기초로 추천 동작을 결정하고, 또한 추천 동작에 대응하는 추천 지수를 결정할 수 있다(119).
예를 들어, 프로세서(100)는, 각각의 개별적인 동작에 대한 분석 결과(Zi: Z1, Z2, ...)를 상호 비교하고, 각각의 개별적인 동작에 대한 분석 결과(Zi)의 값이 가장 큰 동작을 추출하고, 추출된 동작을 추천 동작으로 결정할 수 있다. 예를 들어, 상술한 바와 같이 집 전화 번호 이용 패턴에 대한 분석 결과(Z1)는 0.25로 연산되고, 휴대폰 번호 이용 패턴에 대한 분석 결과(Z2)는 0.75로 연산되는 경우, 프로세서(100)는 휴대폰 번호 이용 패턴에 대한 분석 결과(Z2)의 값이 집 전화 번호 이용 패턴에 대한 분석 결과(Z1)의 값보다 상대적으로 크므로, 휴대폰 번호 이용을 추천 동작으로 결정할 수 있다.
또한, 프로세서(100)는 추천 동작으로 결정된 동작에 대한 분석 결과(Zi: Z1, Z2, ...)를, 추천 동작에 대응하는 추천 지수로 결정할 수 있다. 예를 들어, 휴대폰 번호 이용을 추천 동작으로 결정한 경우, 휴대폰 번호 이용 패턴에 대한 분석 결과(Z2)의 값인 0.75를 추천 지수로 결정할 수 있다.
도 7은 프로세서에 의해 처리되는 프로세스의 일 실시예를 설명하기 위한 제3 도이다. 도 8은 선택 이력 데이터베이스의 일 실시예로 전화 발생 동작과 관련된 사용 이력 데이터베이스의 일례를 도시한 도면이고, 도 9는 선택 이력 데이터베이스의 일 실시예로 목적지 검색과 관련된 사용 이력 데이터베이스의 일례를 도시한 도면이다.
도 3 및 도 7에 도시된 바를 참조하면, 프로세서(100)는 추천 동작과 추천 지수를 이용하여 추천 동작을 검증할 수 있다(120). 이 경우, 프로세서(100)는, 추천 동작에 대한 사용자의 선택 결과를 누적하여 획득된 선택 이력 데이터베이스(143)를 더 이용하여, 결정된 추천 동작이 사용자의 선택 이력에 비추어 적절한지 여부를 판단할 수도 있다.
추천 동작 및 추천 지수가 결정되면, 프로세서(100)는, 추천 동작을 검증하기 위하여, 추천 동작 및 추천 지수를 이용하여 미리 정의된 연산을 수행하고, 연산 결과를 이용하여 소정의 결과 값(X)을 획득할 수 있다.
일 실시예에 의하면, 프로세서(100)는, 각각 연산 처리가 가능한 제1 변수(x1) 및 제2 변수(x2)를 결정할 수 있다 (121, 123). 제1 변수(x1) 및 제2 변수(x2) 각각은, 추천 동작 및 추천 지수에 대응한다. 이어서, 프로세서(100)는 제1 변수(x1) 및 제2 변수(x2) 각각에 대응하는 소정의 가중치, 즉 제1 가중치(w21) 및 제2 가중치(w22)를 부가하고(122, 124), 제1 가중치(w21)가 부가된 제1 변수(x1) 및 제2 가중치(w22)가 부가된 제2 변수(x2)에 대해 미리 정의된 연산을 수행함으로써 결과 값(X)를 획득할 수 있다(126).
제1 변수(x1)를 결정함에 있어서, 프로세서(100)는, 예를 들어, 미리 정의된 바를 기초로, 추천 동작에 대응하고 연산 처리가 가능한 값을 획득한 후, 획득한 값을 제1 변수(x1)로 결정함으로써 추천 동작에 대응하는 제1 변수(x1)를 결정할 수 있다(121).
제2 변수(x2)를 결정함에 있어서, 프로세서(100)는, 예를 들어, 추천 지수를 그대로 또는 일부 변형함으로써 제2 변수(x2)를 결정할 수 있다(123).
일 실시예에 의하면, 미리 정의된 연산은, 제1 가중치(w21)가 부가된 제1 변수(x1)와, 제2 가중치(w22)가 부가된 제2 변수(x2)의 합산을 포함할 수 있다. 다시 말해서, 프로세서(100)는 추천 동작(또는 추천 동작에 대응하는 값) 및 추천 지수(또는 추천 지수에 대응하는 값)을 가중합하여 결과 값(X)을 획득할 수도 있다.
이 경우, 프로세서(100)는 하기의 수학식 2를 연산하여 결과 값(X)을 획득할 수도 있다.
Figure 112017052865277-pat00002
여기서, X는 프로세서(100)에 의해 획득되는 결과 값이고, wm는 각 변수에 부가되는 가중치이며, xm은 연산 처리가 가능한 제m 변수를 의미한다. m은, 상술한 바와 같이, 1 및 2를 포함할 수도 있고, 실시예에 따라서 3 이상의 자연수를 포함할 수도 있다. 예를 들어, 상술한 추천 동작 및 추천 지수 이외에 추천 동작의 검증을 위하여 다른 변수를 더 이용하는 경우에는, m은, 이용되는 변수의 개수에 대응하여 3이상의 값도 포함할 수 있다.
실시예에 따라서, 미리 정의된 연산은, 제1 가중치(w21)가 부가된 제1 변수(x1)와, 제2 가중치(w22)가 부가된 제2 변수(x2)의 합산 이외에 다른 연산 방법을 포함할 수 있다. 예를 들어, 미리 정의된 연산은, 사칙연산 중 어느 하나의 연산을 단독으로 이용하여 정의될 수도 있고, 사칙 연산 중 적어도 둘 이상의 연산을 조합하여 정의될 수도 있다. 또한, 미리 정의된 연산은, 지수나 제곱근을 더 이용하여 정의될 수도 있다.
소정의 가중치(w21, w22)는, 선택 이력 데이터베이스(142)에 저장된 레코드들을 기초로 획득된 것일 수 있다.
프로세서(100)는 도 8 및 도 9에 도시된 바와 같이, 기본 동작 또는 추천 동작에 따라서 서로 상이한 선택 이력 데이터베이스(DB3, DB4)를 호출하고, 호출된 선택 이력 데이터베이스(DB3, DB4)를 이용하여 소정의 가중치(w21, w22)를 결정할 수 있다.
예를 들어, 기본 동작이 전화 발신인 경우라면, 프로세서(100)는, 도 8에 도시된 바와 같이 전화 발신에 관한 선택 이력 데이터베이스(DB3)를 이용하고, 기본 동작이 목적지 검색 및 설정인 경우라면, 프로세서(100)는, 도 9에 도시된 바와 같이 목적지 검색 및 설정에 관한 선택 이력 데이터베이스(142)를 이용한다.
선택 이력 데이터베이스(142, DB3, DB4)는 복수의 레코드(r21 및 r22, r23 및 r24)를 포함할 수 있다. 각각의 레코드(r21 및 r22, r23 및 r24)는, 적어도 하나의 필드(f31 내지 f33, f41 내지 f43) 각각에 해당하는 적어도 하나의 필드 데이터를 포함할 수 있다. 이 경우, 각각의 필드(f31 내지 f33, f41 내지 f43)는, 기 결정되었던 추천 동작 또는 최종 동작에 대한 필드(f31, f41), 기 결정되었던 추천 동작 또는 최종 동작에 대응하는 추천 지수에 대한 필드(f32, f42) 및 기 결정되었던 추천 동작 또는 최종 동작을 사용자에게 제시한 상황에서 실제로 수행되었던 동작에 대한 필드(f33, f43)를 포함할 수 있다.
예를 들어, 도 8에 도시된 바와 같이 전화 발신에 관한 선택 이력 데이터베이스(DB3)의 경우, 어느 하나의 레코드, 일례로 제1 레코드(r21)의 각각의 필드(f31 내지 f33)는, 순차적으로 휴대폰 번호를 이용한 전화 발신이 추천 동작으로 결정되었다는 정보에 대한 필드 데이터와, 결정된 추천 동작에 대한 추천 지수는 어떤 값, 일례로 89로 결정되었다는 정보에 대한 필드 데이터와, 휴대폰 번호를 이용하여 전화 발신을 수행했다는 필드 데이터를 포함할 수 있다.
다른 예를 들어, 도 9에 도시된 바와 같이 목적지 검색 및 설정에 관한 선택 이력 데이터베이스(DB4)의 경우, 어느 하나의 레코드, 일례로 제2 레코드(r24)의 각각의 필드(f34 내지 f36)는, 순차적으로 특정 지점, 일례로 제1 극장이 최종 동작으로 결정되었다는 정보에 대한 필드 데이터와, 최종 동작의 결정을 위해 이용된 추천 지수는 어떤 값, 일례로 54이었다는 정보에 대한 필드 데이터와, 실제로 사용자는 제2 극장으로 목적지를 설정했다는 결과에 대한 필드 데이터를 포함할 수 있다.
프로세서(100)는 기본 동작 또는 추천 동작에 따라서 상이한 선택 이력 데이터베이스(DB3, DB4)를 호출하면, 호출된 선택 이력 데이터베이스(DB3, DB4)의 각각의 레코드(r21, r22 또는 r23, r24)에 저장된 필드 데이터를 이용하여 가중치(w21, w22)를 생성 및 획득할 수 있다. 이 경우, 프로세서(100)는, 미리 정의된 소정의 모델을 이용하거나, 또는 선택 이력 데이터베이스(142)를 이용하여 소정의 모델을 생성한 후 가중치(w21, w22)를 획득할 수도 있다.
일 실시예에 의하면, 프로세서(100)는, 각각의 동작마다 서로 상이한 수치를 부여하는 등의 방법으로 각각의 레코드(r21, r22 또는 r23, r24)에 저장된 필드 데이터를 연산 처리가 가능하게 변경하고, 실제 동작을 종속 변수로, 추천 동작 및 추천 지수 각각을 독립 변수로 하여 회귀 분석을 수행하여 이를 기초로 추천 동작에 대한 제1 변수(x1)에 적용될 제1 가중치(w21) 및 추천 지수에 대한 제2 변수(x2)에 적용될 제2 가중치(w22)를 획득할 수 있다. 이 경우, 회귀 분석 결과 획득된 계수가 직접 또는 일부 변형되어 제1 가중치(w21) 및 제2 가중치(w22)로 결정될 수 있다.
또한, 다른 실시예에 의하면, 프로세서(100)는 실제 동작과 추천 동작의 사이의 상관 관계(correlation)와 실제 동작과 추천 지수 사이의 상관 관계를 연산하고 상관 관계의 연산 결과를 이용하여 추천 동작에 대한 제1 변수(x1)에 적용될 제1 가중치(w21) 및 추천 지수에 대한 제2 변수(x2)에 적용될 제2 가중치(w22)를 획득할 수도 있다.
또한, 또 다른 실시예에 의하면, 프로세서(100)는 최종 동작 및 실제 동작 사이의 오차를 최소화할 수 있도록 소정의 알고리즘을 이용하여 가중치(w21, w22)를 결정할 수도 있다.
여기서, 오차는, 예를 들어, 적어도 하나의 최종 동작과, 적어도 하나의 최종 동작에 대응하는 적어도 하나의 실제 동작 사이의 차이의 제곱을 합산한 후 이를 2로 나눈 것으로 정의될 수 있다.
일 실시예에 의하면, 소정의 알고리즘은 경사 하강법(gradient descent) 알고리즘을 포함할 수 있다. 이 경우, 미래의 가중치는 이동할 거리를 조절하는 매개변수와 가중치의 변화량을 현재의 가중치에 합산하거나 또는 차감하여 획득된 값으로 정의될 수 있다.
또한, 소정의 알고리즘은 학습 알고리즘일 수도 있다. 학습 알고리즘은, 예를 들어, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나의 알고리즘 또는 이들을 일부 변형하여 획득된 알고리즘을 포함할 수 있다.
이어서 프로세서(100)는 합산에 따라 획득된 값(X)을 기초로 추천 동작의 검증에 대한 검증 결과 값(O)을 생성할 수 있다(128).
일 실시예에 의하면, 프로세서(100)는 합산에 따라 획득된 값(X)이 미리 정의된 기준 값보다 큰지 또는 작은지 여부를 판단하고, 판단 결과를 기초로 검증 결과 값(O)을 생성할 수 있다(127, 128).
이 경우, 프로세서(100)는, 예를 들어, 하기의 수학식 3을 이용하여 검증 결과 값(O)을 획득할 수도 있다.
Figure 112017052865277-pat00003
(O)는 검증 결과 값을 의미하고, X는 수학식 2의 연산 결과에 의해 획득된 결과 값이며, Cref는 기준 값으로, 사용자 또는 설계자에 의해 미리 정의된 상수이다.
수학식 3에 기재된 바와 같이, 획득된 결과 값(X)이 미리 정의된 값(Cref)보다 큰 경우, 프로세서(100)는 추천 동작 검증 과정에 따른 검증 결과 값(O)를 제1 값, 일례로 1로 결정할 수 있다. 반대로 프로세서(100)에 의해 획득된 결과 값(X)이 미리 정의된 값(Cref)보다 작은 경우, 프로세서(100)는 추천 동작 검증 과정에 따른 검증 결과 값(O)를 제1 값과 상이한 제2 값, 일례로 0으로 결정할 수 있다. 프로세서(100)에 의해 획득된 결과 값(X)이 미리 정의된 값(Cref)과 동일한 경우에는, 설계자의 설계에 따라서 프로세서(100)는 추천 동작 검증 과정에 따른 검증 결과 값(O)를 제1 값 및 제2 값 중 어느 하나의 값으로 결정할 수 있다. 제1 값 및 제2 값은 각각 설계자 또는 사용자의 선택에 따라 임의적으로 정의된 것일 수 있다.
추천 동작 검증 과정에 따른 검증 결과 값(O)이 결정되면, 도 3 및 도 7에 도시된 바와 같이, 프로세서(100)는, 추천 동작 및 추천 동작에 대한 검증 결과를 기초로 최종 동작을 결정할 수 있다(130). 만약 추천 동작, 추천 지수 및 선택 이력 데이터베이스(143)를 이용하여 판단한 결과, 결정된 추천 동작이 사용자의 의도에 부합되거나 부합될 가능성이 높다고 판단되는 경우에는, 프로세서(100)는 결정된 추천 동작을 최종 동작으로 결정할 수 있다. 반대로 결정된 추천 동작이 사용자의 의도에 부합하지 않거나 부합될 가능성이 낮다고 판단되는 경우에는, 프로세서(100)는 사전에 설정된 바에 따른 동작을 최종 동작으로 결정할 수도 있다.
일 실시예에 의하면, 프로세서(100)는 추천 동작 검증 과정에 따른 검증 결과 값(O)이 제1 값, 일례로 1인 경우(131), 추천 동작을 최종 동작으로 결정할 수 있다(132).
이에 따라, 프로세서(100)는 사용자가 조작하거나 또는 음성을 이용하여 입력한 명령에 대응하는 기준 동작에 따라서, 보다 적절한 최종 동작을 결정할 수 있게 된다.
예를 들어, 프로세서(100)는, 기준 동작이 통화 발신 동작인 경우, 상술한 바와 같이 결정된 전화 번호를 이용하여 통화 발신을 최종 동작으로 결정할 수 있게 된다. 또한, 다른 예를 들어, 프로세서(100)는 입력된 사용자의 명령에 대응하는 기준 동작에 따라서, 상황 기반 동작 결정 장치(10)가 수신 전화의 거절 동작, 목적지 설정 동작, 설정된 목적지로의 경로 안내 동작, 온도 조절 동작, 메시지 전송 동작, 이 메일이나 메시지 등에 포함된 텍스트의 음성 변환 동작 및 텍스트에 대응하는 음성 출력 동작, 음악이나 동영상 재생 동작, 소정의 화면 표시 동작, 라디오 장치나 텔레비전 장치의 채널 또는 음량 변경 동작 및 이외 설계자가 고려할 수 있는 다양한 동작 중 적어도 하나를 최종 동작으로 결정할 수 있게 된다.
최종 동작이 결정되면, 프로세서(100)는 최종 동작의 결정에 응하여 상황 기반 동작 결정 장치(10)가 결정된 최종 동작에 대응하는 동작을 수행하도록 동작하거나, 및/또는 상황 기반 동작 결정 장치(10)의 각 부품을 제어할 수 있다.
이 경우, 프로세서(100)는 사용자 또는 설계자에 의해 미리 정의된 설정에 따라서, 최종 동작을 수행하기 전에 먼저 사용자에게 상황 기반 동작 결정 장치(10)가 결정된 최종 동작에 따라 동작할 것인지 여부를 먼저 질의하도록 설정될 수도 있다. 만약 최종 동작에 따른 상황 기반 동작 결정 장치(10)의 동작을 사용자가 동의하면, 프로세서(100)는, 상황 기반 동작 결정 장치(10)가 결정된 최종 동작을 수행하도록 연산 및 처리 등의 동작을 수행하거나, 및/또는 상황 기반 동작 결정 장치(10)의 각 부품을 제어할 수 있다.
도 10은 추천 결과를 표시하는 화면의 일 실시예를 도시한 도면이다.
일 실시예에 의하면, 프로세서(100)는 최종 동작을 수행하면서, 최종 동작을 승인할 것인지 여부를 질의할 수 있다.
예를 들어, 프로세서(100)는 사용자 인터페이스(190)의 표시부(193)를 제어하여, 표시부(193)가 도 10에 도시된 바와 같이 최종 동작 승인 여부를 질의하기 위한 화면(191a)을 표시하도록 할 수 있다. 최종 동작 승인 여부를 질의하기 위한 화면(191a)에는 최종 동작에 대한 정보(192a)와, 최종 동작의 승인(확인) 및 불승인(취소)의 선택을 안내하기 위한 소정의 영상(192b, 192c)가 표시될 수 있다. 소정의 영상(192b, 192c)은, 예를 들어, 아이콘이나 가상 버튼 등을 이용하여 구현 가능하다.
사용자는 입력부(191)를 조작하여 승인 및 불승인 중 어느 하나에 대한 선택 명령을 입력할 수 있다. 터치스크린을 이용하여 입력부(191) 및 표시부(193)가 구현된 경우에는, 사용자는 표시된 영상(192b, 192c) 중 어느 하나를 선택하여 승인 및 불승인 중 어느 하나에 대한 선택 명령을 입력할 수 있다.
만약 사용자가 최종 동작에 따른 상황 기반 동작 결정 장치(10)의 동작을 승인하면, 상황 기반 동작 결정 장치(10)는 최종 동작에 따라서 동작하게 된다.
반대로 사용자가 최종 동작에 따른 상황 기반 동작 결정 장치(10)의 동작을 승인하지 않으면, 상황 기반 동작 결정 장치(10)는 결정된 최종 동작에 따른 동작을 중단할 수 있다. 이 경우, 상황 기반 동작 결정 장치(10)는 미리 정의된 바에 따라서 소정의 동작을 수행할 수 있다. 예를 들어, 상황 기반 동작 결정 장치(10)는 후술하는 바와 같이 기본 동작을 수행할 수 있다.
기본 동작이 수행되는 경우, 상황 기반 동작 결정 장치(10)의 표시부(193)는 후술하는 바와 같이 복수의 선택지(도 9의 192d1, 192d2)를 포함하는 화면(191b)을 표시할 수 있다. 사용자는 입력부(191)를 이용하여 복수의 선택지(192d1, 192d2) 중 어느 하나를 선택함으로써 상황 기반 동작 결정 장치(10)가 원하는 동작을 수행하도록 할 수 있다. 만약 사용자가 복수의 선택지(192d1, 192d2) 중 어느 하나도 선택하지 않고 일정한 시간이 경과된 경우라면, 프로세서(100)는 상황 기반 동작 결정 과정을 종료시킬 수 있다.
일 실시예에 의하면, 사용자가 최종 동작에 따른 상황 기반 동작 결정 장치(10)의 동작을 승인하거나 및/또는 승인하지 않으면, 도 3에 도시된 바와 같이, 프로세서(100)는 동작의 승인 및/또는 불승인에 응하여 선택 이력 데이터베이스(142)를 갱신할 수 있다(135).
구체적으로, 프로세서(100)는 획득된 추천 동작 및 추천 지수와, 사용자의 승인 여부에 따른 최종 동작을 각각 필드 데이터로 하는 레코드를 선택 이력 데이터베이스(143) 내에 더 생성할 수 있다. 실시예에 따라서 프로세서(1000)는 사용자가 최종 동작을 승인하지 않은 경우에 한하여 선택 이력 데이터베이스(142)를 갱신하도록 설계될 수도 있다(135).
도 11은 추천 결과가 표시되지 않을 경우 표시되는 화면의 일 실시예를 도시한 도면이다.
다른 일 실시예에 의하면, 프로세서(100)는 추천 동작 검증 과정에 따른 검증 결과 값(O)이 제1 값, 일례로 1이 아닌 경우(133), 추천 동작을 최종 동작으로 결정하지 않고, 미리 정의된 다른 동작, 일례로 기본 동작을 최종 동작으로 결정할 수 있다(132). 추천 동작 검증 과정에 따른 검증 결과 값(O)이 제1 값이 아닌 경우는, 추천 동작 검증 과정에 따른 검증 결과 값(O)이 제2 값, 일례로 0인 경우를 포함할 수 있다.
기본 동작은, 예를 들어, 도 11에 도시된 바와 같이 표시부(191)에 의한 기본 화면(191b)의 표시 동작을 포함할 수 있다.
구체적으로, 프로세서(100)는 추천 동작 검증 과정에 따른 검증 결과 값(O)이 1이 아니라는 결정 결과에 응하여, 표시부(191)를 제어하여 표시부(191)가 기본 화면(191b)을 표시하도록 한다. 기본 화면(191b)은 기본 화면(191b)은 복수의 선택지(192d1, 192d2)를 포함할 수 있으며, 복수의 선택지(192d1, 192d2)는 예를 들어 문자, 기호, 숫자 또는 영상으로 구현될 수 있다. 필요에 따라서, 프로세서(100)는, 소정의 창(192d)을 화면(191b) 상에 나타나도록 함으로써, 화면(191b)에 적어도 하나의 선택지(192d1, 192d2)가 표시되도록 할 수도 있다.
적어도 하나의 선택지(192d1, 192d2) 각각은, 상황 기반 동작 결정 장치(10)에 의해 수행 가능한 다양한 동작, 예를 들어, 휴대폰 번호를 이용한 통화, 집 전화 번호를 이용한 통화 및/또는 직장 전화 번호를 이용한 통화를 각각 나타내는 것일 수 있다.
사용자는 적어도 하나의 선택지(192d1, 192d2) 중 어느 하나의 선택지(192d1 및 192d2 중 어느 하나)를 선택하여, 상황 기반 동작 결정 장치(10)가 사용자가 의도하는 바에 따라 동작하도록 할 수 있다.
실시예에 따라서, 만약 사용자가 복수의 선택지(192d1, 192d2) 중 어느 하나도 선택하지 않고 일정한 시간이 경과되면, 프로세서(100)는 상황 기반 동작 결정 과정을 종료시킬 수 있으며, 상황 기반 동작 결정 장치(10)는 입력부(191) 및 사운드 입력부(195) 중 적어도 하나를 통해 입력된 사용자의 명령을 무시하고, 사용자의 명령에 대응하는 동작을 수행하지 않을 수도 있다.
상술한 상황 기반 동작 결정 장치(10)는 차량에도 적용 가능하다. 이하 도 12를 참조하여 상황을 기반으로 동작을 결정할 수 있는 차량에 대해 설명하도록 한다.
도 12는 차량의 일 실시예에 대한 블록도이다.
도 12에 도시된 바를 참조하면, 차량(20)은 일 실시예에 있어서, 프로세서(200), 보조 기억 장치(240) 및 상황 정보 수집부(250)를 포함할 수 있으며, 실시예에 따라서 주 기억 장치(249), 연결 단자(270), 통신부(280) 및 사용자 인터페이스(290) 중 적어도 하나를 포함할 수 있다.
프로세서(200)는, 차량(20)에 필요한 각종 연산 및 처리와, 차량(20)이 수행 가능한 적어도 하나의 동작에 대한 전자적 제어를 수행할 수 있다. 또한, 프로세서(200)는, 차량(20) 내부에 설치된 전자 제어 유닛을 이용하여 구현될 수도 있고, 또는 차량(20) 내부에 설치된 내비게이션 장치 등의 중앙 처리 장치를 이용하여 구현될 수도 있다.
차량(20)의 프로세서(200)는, 상술한 바와 같이, 사용자 인터페이스(290)의 사운드 입력부를 이용하여 음성 인식을 수행할 수도 있고, 상황 인식용 데이터베이스 및 상황 정보 수집부(250)에 의해 수집된 상황 정보를 기반으로 추천 동작을 결정하고, 선택 이력 데이터베이스를 이용하여 추천 동작을 검증한 후, 검증 결과를 기초로 최종 동작을 결정하고, 결정된 바에 따라서, 차량(20) 또는 차량(20) 내에 설치된 각종 장치, 일례로 내비게이션 장치나 헤드 유닛을 제어할 수 있다.
또한, 보조 기억 장치(240)는, 차량(20)의 동작에 필요한 각종 정보를 일시적 또는 비일시적으로 저장할 수 있으며, 예를 들어, 상황 인식용 데이터베이스 및 선택 이력 데이터베이스를 저장할 수 있다. 필요에 따라서, 보조 기억 장치(240)는, 음성 인식을 위하여 음향 모델이나 언어 모델을 더 저장할 수도 있다.
상황 정보 수집부(250)는, 현재의 시각이나, 차량(20)의 위치 정보에 대한 정보를 획득할 수 있다. 실시예에 따라서, 상황 정보 수집부(250)는, 차량(20)의 주행 속도나 주행 방향, 운전자의 상태, 동승자의 존재 여부, 또는 기타 상황 인식을 위해 이용될 수 있는 적어도 하나의 정보를 획득할 수도 있다.
주 기억 장치(249)는 프로세서(200)의 동작에 필요한 데이터나 알고리즘을 일시적 또는 비일시적으로 저장할 수 있으며, 필요에 따라 상황 인식용 데이터베이스나 선택 이력 데이터베이스 중 적어도 하나를 저장할 수 있다.
연결 단자(270)는 챠량(20)의 동작에 필요한 각종 데이터를 입력 받거나, 또는 외부로 차량(20)에서 생성된 정보를 출력할 수 있도록 마련된다. 연결 단자(270)에는 스마트폰이나 태블릿 피씨 등의 단말 장치가 연결 단자(270)에 대응하는 케이블을 이용하여 통신 가능하게 연결될 수 있으며, 차량(20)의 운전자는 이와 같은 통신 연결을 기반으로 차량(20)을 이용하여 연결 단자(270)에 연결된 스마트폰이나 태플릿 피씨 등을 제어할 수도 있다.
통신부(280)는 무선 통신 네트워크를 통하여 차량(20)과 외부의 장치, 일례로 단말 장치나 서버 장치를 연결시킬 수 있다. 무선 통신 네트워크는, 근거리 통신 기술 및 이동 통신 기술 중 적어도 하나를 이용하여 구현된 것일 수 있다. 예를 들어, 통신부(280)는 블루투스 통신 모듈을 포함할 수 있으며, 차량(20), 차량(20)에 설치된 헤드 유닛이나 내비게이션 장치 등은, 블루투스 통신 모듈을 이용하여 스마트폰이나 태블릿 피씨 등의 단말 장치와 페어링될 수 있다.
사용자 인터페이스(290)는 입력부, 표시부, 사운드 입력부, 사운드 출력부를 포함할 수 있다.
입력부 및 표시부는, 각각 차량(20)의 운전대, 계기판, 센터페시아, 대시보드, 기어 박스, 차량(20) 내부에 설치된 내비게이션 장치 등의 각종 장치 또는 기타 설계자가 고려 가능한 다양한 위치에 설치될 수 있다.
사운드 입력부는, 차량(20) 내부의 소정의 공간에 하나 이상 설치될 수 있으며, 설계자의 선택에 따라서, 사용자의 발화를 용이하게 수신할 수 있는 위치에 설치될 수 있다. 예를 들어, 사운드 입력부는, 사용자의 발화에 따른 음파의 전달 방향을 고려하여, 센터페시아, 운전대, 계기판이나 그 주변, 리어 뷰 미러나 그 주변 및/또는 선바이저 주변 등에 설치될 수 있다.
사운드 출력부는, 음성 등을 포함하는 음향을 출력할 수 있다. 사운드 출력부는, 예를 들어, 적어도 하나의 스피커 장치를 이용하여 구현될 수 있으며, 적어도 하나의 스피커 장치는, 예를 들어, 차량(20)의 도어, 대시보드, 센터페시아 및/또는 리어 셀프(Rear Shelf) 등에 설치될 수 있다.
상술한 프로세서(200), 보조 기억 장치(240), 주 기억 장치(249), 상황 정보 수집부(250), 연결 단자(270), 통신부(280) 및 사용자 인터페이스(290) 각각은, 도 1 내지 도 11을 참조하여 기 설명한 상황 기반 동작 결정 장치(10)의 프로세서(100), 보조 기억 장치(140), 주 기억 장치(149), 상황 정보 수집부(150), 연결 단자(170), 통신부(180) 및 사용자 인터페이스(190) 각각과 실질적으로 동일하거나 또는 일부 변형된 동작을 수행할 수 있도록 마련된다. 따라서, 이들(200, 240, 249, 250, 270, 280, 290) 각각의 동작에 대한 자세한 설명은 이하 생략하도록 한다.
이하 도 13 및 도 14를 참조하여 상황 기반 동작 결정 방법의 일 실시예에 대해서 설명한다.
도 13은 상황 기반 동작 결정 장치의 제어 방법의 일 실시예에 대한 제1 흐름도이고, 도 14는 상황 기반 동작 결정 장치의 제어 방법의 일 실시예에 대한 제2 흐름도이다.
도 13에 도시된 바를 참조하면, 상황 기반 동작 결정 장치가 미리 정의된 설정이나 또는 사용자의 조작에 따라서 동작을 개시한다(300).
일 실시예에 따르면, 사용자는 소정의 명령에 대응하는 음성을 발화하고, 상황 기반 동작 결정 장치는 다른 음향과 더불어 사용자에 의해 발화된 음성을 수신하고 수신한 음향 및 음성에 대응하는 전기적 신호를 획득한다(310).
상황 기반 동작 결정 장치는, 전기적 신호로부터 음성 부분을 검출하고, 음향 모델 및 언어 모델 중 적어도 하나를 이용하여 음성 인식을 수행한다(311).
음성 인식이 수행되면 음성 인식의 결과에 따라서 대응하는 기준 동작을 결정될 수 있다(312).
다른 실시예에 의하면, 상술한 단계 310 내지 312는 생략될 수도 있으며, 상술한 단계 310 내지 312 대신에 사용자가 직접 키보드나 터치스크린 등을 조작하여 소정의 명령을 입력할 수도 있으며, 상황 기반 동작 결정 장치는 입력된 소정의 명령에 대응하는 기준 동작을 결정할 수도 있다.
기준 동작이 결정되면, 기준 동작에 따라 상황 기반 동작 결정 장치가 동작한 이력이 존재하는지 여부가 검토될 수 있다(320). 예를 들어, 상황 기반 동작 결정 장치는, 기준 동작에 대응하는 상황 인식용 데이터베이스가 존재하는지, 또는 상황 인식용 데이터베이스에 기준 동작에 대응하는 이력이 존재하는지 여부를 검토할 수 있다(320, 321).
만약 검토 결과, 상황 인식용 데이터베이스가 검출되고 상황 인식용 데이터베이스로부터 이력이 존재한다고 판단되지 않으면(321의 아니오), 상황 기반 동작 결정 장치는, 소정의 동작을 수행할 수 있다(322, 323, 324)
예를 들어, 상황 기반 동작 결정 장치는, 표시부를 이용하여 음성 인식 결과를 표시하거나 또는 음성 인식 결과에 대응하는 기준 동작 또는 기준 동작에 따라 수행 가능한 적어도 하나의 동작을 표시하여 사용자에게 제공할 수 있다(322).
이어서 상황 기반 동작 결정 장치는, 표시된 인식 결과 또는 기준 동작을 확인하거나, 또는 기준 동작에 따라 수행 가능한 적어도 하나의 동작 중에서 어느 하나의 동작을 선택할 수 있다(323).
상황 기반 동작 결정 장치는, 사용자의 확인 또는 선택에 응하여, 확인된 동작, 일례로 기준 동작을 수행하거나, 또는 사용자에 의해 선택된 어느 하나의 동작을 수행할 수 있다(324).
일 실시예에 의하면, 상황 기반 동작 결정 장치는, 어느 하나의 동작의 수행을 개시한 이후, 어느 하나의 동작의 수행을 개시하기 전 또는 어느 하나의 동작의 수행과 동시에, 사용자의 확인 또는 선택 결과를 상황 인지 데이터베이스에 저장하여 상황 인지 데이터베이스를 갱신할 수도 있다.
만약 검토 결과, 상황 인식용 데이터베이스가 검출되고 상황 인식용 데이터베이스로부터 이력이 존재한다고 판단되면(321의 예), 상황 기반 동작 결정 장치는 상황 인식 데이터베이스로부터 적어도 하나의 데이터를 획득하고, 또한 상황 정보 수집부로부터 추천 동작 결정에 필요한 적어도 하나의 정보, 일례로 현재 시간이나 위치 정보를 획득할 수 있다(330).
상황 기반 동작 결정 장치는, 상황 인식 데이터베이스로부터 획득된 정보와, 상황 정보 수집부로부터 획득한 정보를 이용하여, 기준 동작에 대응하는 선택 패턴을 분석할 수 있다(331).
이 경우, 상황 기반 동작 결정 장치는, 적어도 하나의 분석 기준에서의 각각의 동작에 대한 결과 값을 획득하고, 서로 상이한 분석 기준에 해당하면서 서로 대응하는 동작에 대해 획득된 결과 값을 가중합하여 특정한 동작에 대한 분석 결과를 획득하고, 각각의 동작에 대한 분석 결과를 비교하여 선택 패턴을 분석할 수 있다.
여기서 상황 기반 동작 결정 장치는, 시간에 따른 각각의 동작에 대한 결과 값, 위치에 따른 각각의 동작에 대한 결과 값 및 전체 동작에 대한 각각의 동작에 대한 결과 값을 획득하도록 마련될 수도 있다.
적어도 하나의 분석 기준에서의 각각의 동작에 대한 결과 값은, 적어도 하나의 분석 기준에서의 전체 동작 대비 각각의 동작의 발생 횟수나 빈도를 이용하여 연산되는 것일 수 있다.
가중 합을 위하여 적용되는 가중치는, 각각의 분석 기준에 대한 결과 값마다 동일하게 결정된 것일 수도 있고, 또는 서로 상이하게 결정된 것일 수도 있다. 또한, 셋 이상의 가중치들 중 적어도 두 개의 가중치는, 서로 동일하되, 다른 가중치와는 상이하게 결정된 것일 수도 있다.
분석 결과에 따라 상황 기반 동작 결정 장치는 추천 동작 및 추천 지수를 결정할 수 있다(332).
예를 들어, 상황 기반 동작 결정 장치는, 각각의 개별적인 동작에 대한 분석 결과를 상호 비교하고, 각각의 개별적인 동작에 대한 분석 결과의 값이 가장 큰 동작을 추출하고, 추출된 동작을 추천 동작으로 결정할 수 있다.
또한, 상황 기반 결정 장치는 추출된 추천 동작에 대응하는 분석 결과의 값을 추천 지수로 결정할 수도 있다.
추천 동작 및 추천 지수가 결정되면, 선택 이력 데이터베이스가 호출되고(333), 선택 이력 데이터베이스를 이용하여 추천 동작이 검증되고, 검증에 따른 결과가 획득될 수 있다(334).
예를 들어, 추천 동작을 검증하기 위하여, 추천 동작 및 추천 지수를 기초로 미리 정의된 연산이 수행되고, 연산 결과에 따라서 검증 결과에 대응하는 값이 획득될 수 있다. 이 경우, 상술한 수학식 2 및 수학식 3가 이용될 수 있다. 구체적으로 추천 동작(또는 추천 동작에 대응하여 결정된 수치)과, 추천 지수(또는 추천 지수에 소정의 값을 곱하거나, 합산하거나, 및/또는 차감하여 획득된 다른 값) 각각에, 선택 이력 데이터베이스에 의해 획득 가능한 모델을 이용하여 연산된 가중치를 부가하여 결과 값이 획득되고, 획득된 결과 값을 소정의 기준 값과 비교한 후, 비교 결과에 따라서 미리 정의된 어느 하나의 값, 일례로 1 또는 0이 획득될 수 있다. 여기서, 획득된 어느 하나의 값이 상술한 추천 동작의 검증 결과로 이용될 수 있다.
순차적으로 검증 결과를 이용하여 추천 동작이 적절한지 여부가 결정된다(335).
일 실시예에 의하면, 만약 검증 결과가 미리 정의된 값, 일례로 1인 경우, 추천 동작은 적절하다고 판단되고(335의 예), 이에 따라 추천 동작은 최종 동작으로 결정된다(336).
상황 기반 동작 결정 장치는, 최종 동작에 따른 동작을 수행할 수 있다(340). 이 경우, 실시예에 따라서, 사용자에게 동작의 개시 여부의 질의 없이 즉각적으로 최종 동작을 개시할 수도 있고, 또는 사용자의 선택 여부에 따라서 최종 동작을 개시할 수도 있다.
일 실시예에 의하면, 상황 기반 동작 결정 장치는 사용자에게 최종 동작의 승인 여부를 질의할 수 있으며(341), 이를 위해 최종 동작에 대한 정보와, 승인(확인) 또는 불승인(취소)의 선택을 안내하기 위한 영상을 포함하는 화면을 표시부를 통해 출력할 수 있다. 실시예에 따라서, 표시부 대신에 또는 표시부에 부가하여 사운드 출력부가 승인 또는 불승인의 선택을 안내하기 위한 음성을 출력할 수도 있다.
만약 사용자가 입력부를 조작하여 승인 명령을 입력하거나 또는 사운드 입력부를 통해 음성으로 승인 명령을 입력함으로써, 최종 동작을 승인하였다면(341의 예), 상황 기반 동작 결정 장치는 최종 동작을 계속해서 유지하여 수행한다(342). 일 실시예에 의하면, 상황 기반 동작 결정 장치는, 추천 동작 또는 최종 동작, 추천 지수 및 실제 사용자에 의해 선택된 동작(여기서는 최종 동작)에 대한 데이터를 선택 이력 데이터베이스에 저장하여, 선택 이력 데이터베이스를 갱신할 수도 있다.
만약 최종 동작에 대해 사용자가 승인하지 않은 경우라면(341의 아니오), 상황 기반 동작 결정 장치는 최종 동작의 수행을 중단할 수 있다(343). 이 경우, 상황 기반 동작 결정 장치는, 실시예에 따라서, 추천 동작 또는 최종 동작, 추천 지수 및 실제 사용자에 의해 선택된 동작(여기서는 최종 동작이 아닌 다른 동작)에 대한 데이터를 선택 이력 데이터베이스에 저장하여, 선택 이력 데이터베이스를 갱신할 수도 있다.
최종 동작의 수행 중단에 응하여, 상황 기반 동작 결정 장치는 미리 정의된 동작을 수행할 수 있다. 예를 들어, 사용자에게 복수의 동작 중 어느 하나를 선택할 수 있는 선택지를 화면 또는 음성으로 제공하거나, 또는 상황에 기반하여 동작을 추천 및 결정하는 과정을 종료시킬 수도 있다.
만약 검증 결과가 미리 정의된 다른 값, 일례로 0인 경우, 상황 기반 동작 결정 장치는, 최종 동작이 적절하지 않다고 판단하고(335의 아니고), 이에 따라 상황 기반 동작 결정 장치는 최종 동작이 아닌 다른 동작, 일례로 미리 설정된 기본 동작을 기반으로 동작을 수행할 수 있다(350).
상술한 바와 같이 상황 기반 동작 결정 장치는 차량을 포함할 수 있으며, 이에 따라 상술한 상황 기반 동작 결정 방법은, 차량의 제어 방법에도 동일하게 또는 일부 변형을 거쳐 적용될 수 있다. 이 경우, 상술한 각각의 과정에서의 상황 기반 동작 결정 장치는 차량일 수 있으며, 추천 동작이나 최종 동작은 차량 또는 차량에 설치된 적어도 하나의 장치에 의해 수행될 수 있는 것일 수 있다. 예를 들어, 추천 동작이나 최종 동작은 차량에 설치된 내비게이션 장치의 동작, 일례로 목적지 검색, 설정 및 안내와 관련된 것이거나, 블루투스를 이용하여 페어링된 단말 장치를 이용한 통화 발신 또는 통화 수신에 관련된 것이거나, 공조 장치의 온/오프 또는 온도 조절과 관련된 것이거나, 또는 라디오 장치 등의 채널이나 볼륨 변경에 관련된 것을 포함할 수 있다. 이들 외에도 설계자가 고려 가능한 다양한 동작이 추천 동작이나 최종 동작의 일례가 될 수 있다.
상술한 실시예에 따른 상황 기반 동작 결정 방법 및 차량의 제어 방법은, 다양한 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 차량 충전 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다.
상황 기반 동작 결정 방법 및 차량의 제어 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 컴팩트 디스크(CD) 또는 디브이디(DVD) 등과 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 기록 매체(magneto-optical media) 및 롬(ROM), 램(RAM) 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다.
이상 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법의 여러 실시예에 대해 설명하였으나, 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 실시예 역시 상술한 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법과 동일하거나 유사한 결과를 획득할 수 있다.
10: 상황 기반 동작 결정 장치 20: 차량
100: 프로세서 140: 보조 기억 장치
141: 상황 인식용 데이터베이스 143: 선택 이력 데이터베이스
145: 음향 모델 147: 언어 모델
149: 주 기억 장치 150: 상황 정보 수집부
151: 클락 153: 위치 정보 획득부
170: 장치 연결부 180: 무선 통신부
181: 근거리 통신부 183: 이동 통신부
190: 사용자 인터페이스 191: 입력부
193: 표시부 195: 사운드 입력부
197: 사운드 출력부

Claims (29)

  1. 상황 정보를 획득하는 상황 정보 획득부;
    기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스;
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터 및 선택 패턴을 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하고, 상기 추천 동작을 검증하고, 검증 결과에 따라서 최종 동작을 결정하는 프로세서; 및
    상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스;를 포함하되,
    상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 상황 기반 동작 결정 장치.
  2. 제1항에 있어서,
    상기 상황 정보는 현재 시간 및 현재 위치를 포함하는 상황 기반 동작 결정 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 이용하여 분석 기준 별로 선택 패턴을 결정하고, 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 상황 기반 동작 결정 장치.
  4. 제3항에 있어서,
    상기 프로세서는, 위치 별로 적어도 하나의 동작에 대한 제1 결과 값을 생성하고, 시간 별로 적어도 하나의 동작에 대한 제2 결과 값을 획득하고, 전체 동작에 대하여 적어도 하나의 동작에 대한 제3 결과 값을 획득하여, 상기 선택 패턴을 결정하는 상황 기반 동작 결정 장치.
  5. 제4항에 있어서,
    상기 프로세서는, 상기 제1 결과 값, 상기 제2 결과 값 및 상기 제3 결과 값을 합산하거나 또는 가중합하여 상기 적어도 하나의 동작에 대한 분석 결과를 획득하는 상황 기반 동작 결정 장치.
  6. 제5항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 동작에 대한 분석 결과를 비교하여 상기 추천 동작 및 상기 추천 지수를 결정하는 상황 기반 동작 결정 장치.
  7. 제1항에 있어서,
    상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여 복수의 가중치를 결정하고, 상기 복수의 가중치를 이용하여 상기 추천 동작 및 상기 추천 지수를 가중합하여 검증 결과 값을 획득하는 상황 기반 동작 결정 장치.
  8. 제7항에 있어서,
    상기 프로세서는, 상기 검증 결과 값을 기준 값과 비교하고 비교 결과를 기초로 상기 추천 동작을 상기 최종 동작으로 결정하는 상황 기반 동작 결정 장치.
  9. 제1항에 있어서,
    상기 프로세서는, 상기 최종 동작의 결정에 응하여 상기 최종 동작에 대응하는 제어 신호를 생성하는 상황 기반 동작 결정 장치.
  10. 제1항에 있어서,
    상기 최종 동작의 승인 여부에 대한 질의를 사용자에게 제공하는 사용자 인터페이스;를 더 포함하는 상황 기반 동작 결정 장치.
  11. 제10항에 있어서,
    상기 사용자 인터페이스는, 상기 최종 동작에 따른 제어 신호가 생성된 이후에 상기 최종 동작의 승인 여부에 대한 질의를 사용자에게 제공하는 상황 기반 동작 결정 장치.
  12. 제11항에 있어서,
    상기 사용자 인터페이스가 승인에 대한 선택 명령을 수신하면, 상기 프로세서는 상기 최종 동작이 유지되도록 제어하고,
    상기 사용자 인터페이스가 불승인에 대한 선택 명령을 수신하면, 상기 프로세서는 상기 최종 동작이 중단되도록 제어하는 상황 기반 동작 결정 장치.
  13. 제11항에 있어서,
    상기 프로세서는, 상기 승인에 대한 선택 명령의 수신 및 상기 불승인에 대한 선택 명령의 수신 중 적어도 하나에 응하여, 선택 이력 데이터베이스를 갱신하는 상황 기반 동작 결정 장치.
  14. 제1항에 있어서,
    상기 프로세서는, 상기 추천 동작의 검증 결과 상기 추천 동작이 부적절하면, 미리 정의된 기본 동작을 수행하도록 제어 신호를 생성하는 상황 기반 동작 결정 장치.
  15. 상황 정보를 획득하는 단계;
    기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스로부터 데이터를 획득하는 단계;
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터 및 선택 패턴을 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하는 단계;
    상기 추천 동작을 검증하는 단계;
    검증 결과에 따라서 최종 동작을 결정하는 단계;를 포함하되,
    상기 추천 동작을 검증하는 단계는, 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계;를 포함하는 상황 기반 동작 결정 방법.
  16. 제15항에 있어서,
    상기 상황 정보는 현재 시간 및 현재 위치를 포함하는 상황 기반 동작 결정 방법.
  17. 제15항에 있어서,
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하는 단계는,
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 이용하여 분석 기준 별로 선택 패턴을 결정하는 단계; 및
    상기 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계;를 포함하는 상황 기반 동작 결정 방법.
  18. 제17항에 있어서,
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터를 이용하여 분석 기준 별로 선택 패턴을 결정하는 단계는,
    위치 별로 적어도 하나의 동작에 대한 제1 결과 값을 생성하는 단계;
    시간 별로 적어도 하나의 동작에 대한 제2 결과 값을 획득하는 단계; 및
    전체 동작에 대하여 적어도 하나의 동작에 대한 제3 결과 값을 획득하여, 상기 선택 패턴을 결정하는 단계; 중 적어도 하나를 포함하는 상황 기반 동작 결정 방법.
  19. 제18항에 있어서,
    상기 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계는,
    상기 제1 결과 값, 상기 제2 결과 값 및 상기 제3 결과 값을 합산하거나 또는 가중합하여 상기 적어도 하나의 동작에 대한 분석 결과를 획득하는 단계;를 포함하는 상황 기반 동작 결정 방법.
  20. 제19항에 있어서,
    상기 선택 패턴을 이용하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계는,
    상기 적어도 하나의 동작에 대한 분석 결과를 비교하여 상기 추천 동작 및 상기 추천 지수를 결정하는 단계;를 더 포함하는 상황 기반 동작 결정 방법.
  21. 제15항에 있어서,
    상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계는,
    상기 선택 이력 데이터베이스를 이용하여 복수의 가중치를 결정하고, 상기 복수의 가중치를 이용하여 상기 추천 동작 및 상기 추천 지수를 가중합하여 검증 결과 값을 획득하는 단계;를 포함하는 상황 기반 동작 결정 방법.
  22. 제21항에 있어서,
    상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계는,
    상기 검증 결과 값을 기준 값과 비교하고 비교 결과를 기초로 상기 추천 동작을 상기 최종 동작으로 결정하는 단계;를 더 포함하는 상황 기반 동작 결정 방법.
  23. 제15항에 있어서,
    상기 최종 동작의 결정에 응하여 상기 최종 동작이 개시되는 단계;를 더 포함하는 상황 기반 동작 결정 방법.
  24. 제15항에 있어서,
    상기 최종 동작의 승인 여부에 대한 질의를 사용자에게 제공하는 단계;를 더 포함하는 상황 기반 동작 결정 방법.
  25. 제24항에 있어서,
    승인에 대한 선택 명령을 수신하면, 상기 최종 동작이 유지되는 단계; 및
    불승인에 대한 선택 명령을 수신하면, 상기 최종 동작이 중단되는 단계; 중 적어도 하나를 더 포함하는 상황 기반 동작 결정 방법.
  26. 제25항에 있어서,
    상기 승인에 대한 선택 명령의 수신 및 상기 불승인에 대한 선택 명령의 수신 중 적어도 하나에 응하여, 선택 이력 데이터베이스를 갱신하는 단계;를 더 포함하는 상황 기반 동작 결정 방법.
  27. 제15항에 있어서,
    상기 추천 동작의 검증 결과 상기 추천 동작이 부적절하면, 미리 정의된 기본 동작을 수행하는 단계;를 더 포함하는 상황 기반 동작 결정 방법.
  28. 상황 정보를 획득하는 상황 정보 획득부;
    기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스;
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터 및 선택 패턴을 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하고, 상기 추천 동작을 검증하고, 검증 결과에 따라서 최종 동작을 결정하는 프로세서; 및
    상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스;를 포함하되,
    상기 프로세서는, 상기 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 차량.
  29. 상황 정보를 획득하는 단계;
    기존에 수행된 동작과 관련된 데이터를 이용하여 구축된 상황 인식용 데이터베이스로부터 데이터를 획득하는 단계;
    상기 상황 정보 및 상기 상황 인식용 데이터베이스에서 획득된 데이터 및 선택 패턴을 기초로 추천 동작 및 상기 추천 동작에 대응하는 추천 지수를 결정하는 단계;
    상기 추천 동작을 검증하는 단계;
    검증 결과에 따라서 최종 동작을 결정하는 단계;를 포함하되,
    상기 추천 동작을 검증하는 단계는, 상기 최종 동작, 상기 추천 지수 및 상기 최종 동작이 제시된 상태에서 실제 수행된 동작을 이용하여 구축된 선택 이력 데이터베이스를 이용하여, 상기 추천 동작을 검증하는 단계;를 포함하는 차량의 제어 방법.
KR1020170068858A 2017-06-02 2017-06-02 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법 KR102339443B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170068858A KR102339443B1 (ko) 2017-06-02 2017-06-02 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법
US15/804,594 US10573308B2 (en) 2017-06-02 2017-11-06 Apparatus and method for determining operation based on context, vehicle for determining operation based on context, and method of controlling the vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170068858A KR102339443B1 (ko) 2017-06-02 2017-06-02 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법

Publications (2)

Publication Number Publication Date
KR20180132243A KR20180132243A (ko) 2018-12-12
KR102339443B1 true KR102339443B1 (ko) 2021-12-16

Family

ID=64459882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170068858A KR102339443B1 (ko) 2017-06-02 2017-06-02 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법

Country Status (2)

Country Link
US (1) US10573308B2 (ko)
KR (1) KR102339443B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017146437A (ja) * 2016-02-17 2017-08-24 本田技研工業株式会社 音声入力処理装置
US10950229B2 (en) * 2016-08-26 2021-03-16 Harman International Industries, Incorporated Configurable speech interface for vehicle infotainment systems
KR20200092480A (ko) * 2019-01-09 2020-08-04 삼성전자주식회사 Em 신호의 특징을 등록하여 외부 장치를 식별하는 방법 및 상기 방법을 적용한 전자 장치
US11107468B2 (en) * 2019-03-27 2021-08-31 Lenovo (Singapore) Pte. Ltd. Apparatus, method, and program product for context-based communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012256183A (ja) * 2011-06-08 2012-12-27 Hitachi Solutions Ltd 情報提示装置
US20150088689A1 (en) * 2013-06-08 2015-03-26 Tech Master International Llc Product Recognition Platform
US20170011136A1 (en) * 2015-07-07 2017-01-12 Ebay Inc. Adaptive search refinement

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105593811B (zh) * 2013-10-31 2019-05-28 英特尔公司 经用户可选择图标的基于情境的消息创建
US10482184B2 (en) * 2015-03-08 2019-11-19 Google Llc Context-based natural language processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012256183A (ja) * 2011-06-08 2012-12-27 Hitachi Solutions Ltd 情報提示装置
US20150088689A1 (en) * 2013-06-08 2015-03-26 Tech Master International Llc Product Recognition Platform
US20170011136A1 (en) * 2015-07-07 2017-01-12 Ebay Inc. Adaptive search refinement

Also Published As

Publication number Publication date
US20180350364A1 (en) 2018-12-06
US10573308B2 (en) 2020-02-25
KR20180132243A (ko) 2018-12-12

Similar Documents

Publication Publication Date Title
KR102338990B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
CN108242236B (zh) 对话处理装置及其车辆和对话处理方法
KR102426171B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 서비스 처리 방법
US20180350366A1 (en) Situation-based conversation initiating apparatus, system, vehicle and method
KR102339443B1 (ko) 상황 기반 동작 결정 장치, 상황 기반 동작 결정이 가능한 차량, 상황 기반 동작 결정 방법 및 상기 차량의 제어 방법
US9756161B2 (en) Voice recognition apparatus, vehicle having the same, and method of controlling the vehicle
US11443747B2 (en) Artificial intelligence apparatus and method for recognizing speech of user in consideration of word usage frequency
US20200027459A1 (en) Artificial intelligence apparatus and method for recognizing speech of user
US20210118436A1 (en) Artificial intelligence apparatus and method for recognizing speech by correcting misrecognized word
US11200892B1 (en) Speech-enabled augmented reality user interface
KR101579533B1 (ko) 차량 및 그 제어 방법
US10861460B2 (en) Dialogue system, vehicle having the same and dialogue processing method
KR102419728B1 (ko) 상황 기반 동작 결정 시스템, 상황 기반으로 결정된 동작을 수행 가능한 차량 및 상황 기반 동작 결정 방법
KR20180075009A (ko) 음성 처리 장치, 이를 포함하는 차량 및 음성 처리 방법
KR20200098079A (ko) 대화 시스템 및 대화 처리 방법
CN111161720A (zh) 车辆及其控制方法
US11211059B2 (en) Artificial intelligence apparatus and method for recognizing speech with multiple languages
KR102487669B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR20220094400A (ko) 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법
KR102448719B1 (ko) 대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법
KR20200117317A (ko) 대화 시스템 및 대화 처리 방법
US20220165264A1 (en) Dialogue system, vehicle, and method of controlling dialogue system
KR102594310B1 (ko) 대화 처리 장치, 이를 포함하는 차량 및 대화 처리 방법
US11355114B2 (en) Agent apparatus, agent apparatus control method, and storage medium
KR20220130952A (ko) 이모지 생성 장치, 차량 및 이모지 생성 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right