KR20180105501A - 언어 정보를 처리하기 위한 방법 및 그 전자 장치 - Google Patents

언어 정보를 처리하기 위한 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20180105501A
KR20180105501A KR1020170032637A KR20170032637A KR20180105501A KR 20180105501 A KR20180105501 A KR 20180105501A KR 1020170032637 A KR1020170032637 A KR 1020170032637A KR 20170032637 A KR20170032637 A KR 20170032637A KR 20180105501 A KR20180105501 A KR 20180105501A
Authority
KR
South Korea
Prior art keywords
user
language information
response
language
electronic device
Prior art date
Application number
KR1020170032637A
Other languages
English (en)
Other versions
KR102367778B1 (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 KR1020170032637A priority Critical patent/KR102367778B1/ko
Priority to US16/493,667 priority patent/US11216497B2/en
Priority to PCT/KR2018/002920 priority patent/WO2018169276A1/ko
Publication of KR20180105501A publication Critical patent/KR20180105501A/ko
Application granted granted Critical
Publication of KR102367778B1 publication Critical patent/KR102367778B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • G06F17/30654
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield 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/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(artificial intelligence, AI) 시스템 및 그 응용에 관련된 것이다. 전자 장치의 동작 방법은 입력 메시지를 수신하는 과정과, 상기 입력 메시지에 포함된 사용자의 언어 정보를 결정하는 과정과, 상기 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 과정과, 상기 응답을 위한 언어 정보에 기반하여 상기 응답을 출력하는 과정을 포함한다.

Description

언어 정보를 처리하기 위한 방법 및 그 전자 장치{METHOD FOR PROCESSING LANGUAGE INFORMATION AND ELECTRONIC DEVICE THEREOF}
본 개시(disclosure)의 다양한 실시예는 언어 정보를 처리하기 위한 방법 및 그 전자 장치에 관한 것이다.
인공지능(artificial intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
음성 인식 기술의 발전으로, 사용자와 대화를 수행할 수 있는 전자 장치에 대한 관심이 높아지고 있다. 이에, 전자 장치는 사용자의 음성 메시지의 의도를 파악하여 적절한 대답을 하는 지능형 개인 비서 서비스를 제공할 수 있다. 예를 들어, 사용자가 음성으로 전자 장치에게 질문하는 경우, 전자 장치는 연락처나 개인 일정 등을 알려주고, 웹 상에서 검색 내용을 바탕으로 날씨 등 사용자 질문에 대한 답변을 음성으로 제공할 수 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, 언어 정보를 처리하는 방법 및 그 전자 장치를 제공한다.
또한, 본 개시는, 사용자에 의한 입력 메시지로부터 사용자의 언어 정보를 결정하는 방법 및 그 전자 장치를 제공한다.
또한, 본 개시는, 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 방법 및 그 전자 장치를 제공한다.
또한, 본 개시는, 사용자의 언어 숙련도 레벨에 따라 응답을 출력하는 방법 및 그 전자 장치를 제공한다.
본 개시(disclosure)의 다양한 실시 예들에 따르면, 전자 장치의 동작 방법은 입력 메시지를 수신하는 과정과, 상기 입력 메시지에 포함된 사용자의 언어 정보를 결정하는 과정과, 상기 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 과정과, 상기 응답을 위한 언어 정보에 기반하여 상기 응답을 출력하는 과정을 포함한다.
본 개시의 다양한 실시 예들에 따르면, 전자 장치는 입력 메시지를 수신하는 입력부와, 상기 입력 메시지에 포함된 사용자의 언어 정보를 결정하고, 상기 자용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하고, 상기 응답을 위한 언어 정보에 기반하여 상기 응답을 출력하도록 제어하는 프로세서를 포함한다.
본 개시(disclosure)의 다양한 실시 예들에 따른 방법 및 그 전자 장치는, 사용자의 언어 숙련도에 따라 적응적으로 응답을 출력할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 다양한 실시 예들에 따른 전자 장치 및 사용자의 상호작용을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 능력에 따라 응답을 출력하기 위한 동작 방법을 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 능력에 따라 응답을 출력하기 위한 다른 동작 방법을 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 숙련도 레벨에 따른 응답을 위한 단어들의 수를 나타내는 그래프의 예를 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 숙련도 레벨을 결정하기 위한 프로세서와 메모리의 연동을 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자가 자주 사용한 언어 정보를 이용하여 응답을 결정하기 위한 동작 방법을 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 숙련도 레벨과 응답을 위한 언어 숙련도 레벨을 비교하여 응답을 출력하기 위한 동작 방법을 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
본 개시는 사용자의 언어 정보를 처리하기 위한 방법 및 그 전자 장치에 관한 것이다.
본 개시에서 이용되는 언어 능력 지표(metric)를 지칭하는 용어(예: 언어 숙련도 레벨(language proficiency level)), 메시지(예: 음성 메시지, 텍스트 메시지)을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
도 1은 본 개시의 다양한 실시 예들에 따른 전자 장치 및 사용자의 상호작용을 도시한다.
도 1을 참고하면, 사용자 110과 단말 120은 대화를 수행할 수 있다. 사용자 110은 단말 120에게 메시지를 입력할 수 있다. 단말 120은 입력된 메시지에 대응하여 응답을 출력할 수 있다. 이 경우, 단말 120은 사용자 110의 언어 숙련도 레벨에 따라 응답에 이용되는 언어 정보를 결정할 수 있다.
단말 120은 단말(terminal) 외 '사용자 장비(user equipment, UE)', '이동국(mobile station)', '가입자국(subscriber station)', '원격 단말(remote terminal)', '무선 단말(wireless terminal)', 또는 '사용자 장치(user device)' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다. 경우에 따라, 단말 120은 기계 타입 통신(machine type communication, MTC)을 수행하는 장치로서, 사용자 110에 의해 휴대되지 아니할 수 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 2를 참고하면, 전자 장치 120은 통신부 210, 메모리 220, 디스플레이 230, 스피커 240, 마이크 250, 및 프로세서 260을 포함할 수 있다.
통신부 210은 무선 주파수(radio frequency, RF) 신호를 수신할 수 있다. 이를 위해, 통신부 210은 적어도 하나의 안테나를 포함할 수 있다. 통신부 210은 중간 주파수(intermediate frequency, IF) 또는 기저대역 신호를 생성하기 위해 수신된 신호를 하향 변환(down-convert)할 수 있다. 통신부 210은 기저대역 또는 IF 신호를 필터링(filtering), 디코딩(decoding), 및/또는 디지털화(digitizing)함으로써 처리된 기저대역 신호를 생성하는 수신 처리 회로를 포함할 수 있다. 수신 처리 회로는 처리된 기저대역 신호를 음성 데이터를 위해 스피커에 송신하거나, 처리를 더 하기 위해(예: 웹 브라우징 데이터(web browsing data)) 프로세서 260에 송신할 수 있다. 또한, 통신부 210은 적어도 하나의 송수신기(transceiver)를 포함할 수 있다. 적어도 하나의 송수신기는 프로세서 260으로부터 송신을 위한(outgoing) 기저대역 데이터(웹 데이터, 이메일(e-mail), 쌍방향 비디오 게임 데이터 같은)를 수신할 수 있다. 송신 처리 회로는 처리된 기저대역 또는 중간주파수 신호를 생성하기 위해 송신을 위한 기저대역 데이터를 인코드(encode)하고, 멀티플렉스(multiplex)하고, 디지털화할 수 있다. 통신부 210은 송신 처리 회로를 통해 송신을 위한 처리된 기저대역 또는 중간주파수 신호를 안테나를 통해 송신될 수 있는 RF 신호로 상향변환(up-convert)할 수 있다.
메모리 220은 전자 장치 120의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 메모리 220은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고 메모리 220은 프로세서 260의 요청에 따라 저장된 데이터를 제공할 수 있다.
디스플레이 230은 텍스트 및/또는 이미지를 표시할 수 있는 액정(liquid crystal) 화면, 발광 다이오드(light emitting diode) 디스플레이 또는 다른 화면일 수 있다. 디스플레이 230은 프로세서 260을 통해 수신된 데이터에 대응하는 화면을 표시할 수 있다. 디스플레이 230은 "입력부" 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다.
스피커 240은 진동판의 떨림을 이용하여 오디오 신호를 진동으로 바꿔 공기 중에 방사할 수 있다. 스피커 240은 사용자 110에 의해 수신된 입력 메시지에 대응하는 응답을 아날로그 형태로 출력할 수 있다.
마이크 250은 압전소자 등의 회로를 포함할 수 있고, 마이크 250에 입력되는 음성에 의한 진동판의 떨림을 이용하여 오디오 신호를 발생한다. 마이크 250은 사용자 110에 의해 입력되는 음성을 수신할 수 있다. 마이크 250은 "입력부" 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다.
프로세서 260은 프로세서 260과 기능적으로 결합된 통신부 210, 메모리 220, 디스플레이 230, 스피커 240, 및 마이크 250을 제어할 수 있다. 예를 들어, 프로세서 260은 통신부 210을 이용하여 정방향(forward)의 채널 신호의 수신과 역방향(reverse)의 채널 신호의 송신을 제어할 수 있다. 일부 실시 예들에서, 프로세서 260은 최소한 하나의 마이크로 프로세서(microprocessor) 또는 마이크로제어기(microcontroller)를 포함할 수 있다. 프로세서 260은 메모리 220에 저장된 프로그램을 실행할 수 있다. 프로세서 260은 실행 프로세스에서 요구됨에 따라 데이터를 전자 장치 120에 저장하거나 불러올 수 있다. 프로세서 260은 운영 체제에 기반하여 수신되는 신호에 응답하여 어플리케이션을 실행하도록 구성될 수 있다.
도 2는 전자 장치 120이 통신부 210, 메모리 220, 디스플레이 230, 스피커 240, 마이크 250, 및 프로세서 260을 포함하는 것으로 도시하나, 이는 예시적인 것이고, 장치는 다른 구성요소를 더 포함할 수 있고, 상술한 통신부 210, 메모리 220, 디스플레이 230, 스피커 240, 마이크 250, 및 프로세서 260 중 일부는 생략될 수 있다.
도 3은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 능력에 따라 응답을 출력하기 위한 동작 방법을 도시한다. 도 3은 전자 장치 120의 동작 방법을 예시한다.
도 3을 참고하면, 301 단계에서, 전자 장치 120은 입력 메시지를 수신한다. 예를 들어, 입력 메시지는 사용자 110에 의해 전자 장치 120의 마이크 250에 입력되는 음성(이하, 음성 메시지로 지칭됨)을 의미할 수 있다. 다른 예를 들어, 입력 메시지는 사용자 110이 전자 장치 120의 버튼을 누르거나 전자 장치 120의 터치스크린(예: 디스플레이 230)을 터치하여 입력하는 텍스트(이하, 텍스트 메시지로 지칭됨)를 의미할 수 있다.
303 단계에서, 전자 장치 120은 입력 메시지에 포함된 사용자 110의 언어 정보를 결정한다. 예를 들어, 사용자 110의 언어 정보는 어휘(lexical), 문법(grammar), 어순(syntactic), 억양(intonation), 강세(stress), 어조(tone), 및 리듬(rhythm)에 대한 정보를 포함할 수 있다. 일부 실시 예들에서, 전자 장치 120은 사용자 110의 언어 정보에 기반하여 사용자 110의 언어 숙련도 레벨을 판단할 수 있다. 예를 들어, 전자 장치 120은 사용자 110의 언어 정보에 포함되는 단어들의 수에 따라 사용자의 언어 숙련도 레벨을 결정할 수 있다. 여기서, 사용자 110의 언어 숙련도 레벨은 사용자 110의 언어 숙련도를 나타내기 위한 값을 의미할 수 있다.
305 단계에서, 전자 장치 120은 사용자 110의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정한다. 일부 실시 예들에서, 전자 장치 120은 사용자 110의 언어 숙련도 레벨에 대응하는 응답을 위한 언어 정보를 결정할 수 있다. 여기서, 사용자 110의 언어 숙련도 레벨은 사용자 110의 언어 숙련도를 나타내기 위한 값을 의미할 수 있다. 그리고, 응답을 위한 언어 정보는 사용 가능한 문법/어휘의 개수, 문법/어휘의 종류, 문장의 길이 중 적어도 하나에 기반하여 정의될 수 있다. 다른 실시 예들에서, 전자 장치 120은 입력 메시지를 수신하기 이전에 수신된 다른 입력 메시지에 포함된 사용자 110의 다른 언어 정보와 입력 메시지에 포함된 언어 정보에 기반하여 응답을 위한 언어 정보를 결정할 수 있다. 또 다른 실시 예들에서, 전자 장치 120은 사용자 110의 언어 정보에 대한 오류를 검출하고, 검출된 오류에 기반하여 응답을 위한 언어 정보를 결정할 수 있다.
307 단계에서, 전자 장치 120은 응답을 위한 언어 정보에 기반하여 응답을 출력한다. 예를 들어, 응답은 소리, 텍스트, 사진, 및 동영상으로 구성될 수 있다. 일부 실시 예들에서, 사용자 110의 언어 숙련도 레벨이 0.5인 경우, 전자 장치 120은 사진으로 구성된 응답을 출력할 수 있다. 사용자 110의 언어 숙련도 레벨이 0.7인 경우, 전자 장치 120은 동영상으로 구성된 응답을 출력할 수 있다.
도 4는 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 능력에 따라 응답을 출력하기 위한 다른 동작 방법을 도시한다. 도 4는 전자 장치 120의 동작 방법을 예시한다.
도 4를 참고하면, 401 단계에서, 전자 장치 120은 사용자 110에 의한 입력 메시지를 수신한다. 여기서, 입력 메시지는 음성 메시지 또는 텍스트 메시지일 수 있다.
403 단계에서, 전자 장치 120은 입력 메시지의 타입을 결정한다. 즉, 전자 장치 120은 입력 메시지가 음성 메시지인지 텍스트 메시지인지 여부를 결정한다. 만약, 입력 메시지의 타입이 텍스트인 경우, 전자 장치 120은 409 단계로 진행한다.
반면, 입력 메시지의 타입이 음성인 경우, 405 단계에서, 전자 장치 120은 음성 메시지에 대하여 음성 인식을 수행한다. 즉, 전자 장치 120은 음성 메시지로부터 언어 정보를 생성한다. 예를 들어, 언어 정보는 단어, 문장, 및 텍스트를 포함할 수 있다.
407 단계에서, 전자 장치 120은 음성 인식의 오류를 정정한다. 예를 들어, 음성 인식의 오류는 사용자 110에 의한 입력 메시지에 대한 도메인 지식(domain knowledge)을 이용하여 정정될 수 있다. 여기서, 도메인 지식이란 입력 메시지가 나타내는 주제 또는 분야에 대한 지식을 의미할 수 있다. 따라서, 음성 인식에 의해 생성된 언어 정보 중 불분명한 부분이 도메인 지식을 참고하여 올바르게 정정될 수 있다.
409 단계에서, 전자 장치 120은 사용자 110의 언어 숙련도 레벨을 결정한다. 예를 들어, k번의 대화를 통해, 입력 메시지에 포함된 사용자 110의 언어 정보를 수집한 후, 수집된 언어 정보에 기반하여 사용자 110의 언어 숙련도 레벨을 결정할 수 있다. 여기서, k번의 대화는 전자 장치 120이 사용자 110의 입력 메시지에 대한 응답을 출력한 횟수를 의미할 수 있다. 일부 실시 예들에서, 입력 메시지에 포함된 사용자 110의 언어 정보는 미리 결정된 개수의 단어들, 단어들의 수, 중복되지 않는 단어들, 및 대화 횟수를 포함할 수 있다.
411 단계에서, 전자 장치 120은 입력 메시지의 목적을 판단한다. 즉, 전자 장치 120은 입력 메시지에 포함된 사용자 110의 언어 정보를 분석하여, 입력 메시지가 나타내는 사용자 110의 의도를 판단한다.
413 단계에서, 전자 장치 120은 입력 메시지의 목적을 판단하기 위한 응답을 출력한다. 전자 장치 120이 현재 수신된 입력 메시지만을 분석하여 사용자 110의 의도를 판단하지 못하는 경우, 전자 장치 120은 보다 상세한 언어 정보를 획득하기 위하여 사용자 110에 대하여 질문을 출력한다. 일부 실시 예들에서, 전자 장치 120이 현재 수신된 입력 메시지만을 분석하여 사용자 110의 의도를 판단하는 경우, 413 단계는 생략될 수 있다.
415 단계에서, 전자 장치 120은 사용자 110의 언어 숙련도 레벨에 대응하는 응답을 위한 언어 정보를 결정한다. 이 경우, 사용자 110의 언어 숙련도 레벨은 숫자로 표현될 수 있다. 도 5를 참고하면, 사용자 110의 언어 숙련도 레벨들 각각과 응답에 이용될 수 있는 단어들의 수는 맵핑될 수 있다. 예를 들어, 사용자 110의 언어 숙련도 레벨이 0.7인 경우, 전자 장치 120은 5000개의 단어들로 구성된 단어 집합에서 응답을 위한 단어들을 결정할 수 있다. 다른 예를 들어, 사용자 110의 언어 숙련도 레벨이 0.9인 경우, 전자 장치 120은 10000개의 단어들로 구성된 단어 집합에서 응답을 위한 단어들을 결정할 수 있다. 즉, 사용자 110의 언어 숙련도 레벨이 높을수록, 전자 장치 120은 응답을 위해 다양한 표현들을 사용할 수 있다.
일부 실시 예들에서, 사용자 110의 언어 숙련도 레벨들 각각과 응답에 이용될 수 있는 문법 및 어휘 형태가 맵핑될 수 있다. 예를 들어, 사용자 110이 사용하는 언어가 영어인 경우, 사용자 110의 언어 숙련도 레벨들 각각과 응답에 이용될 수 있는 문법 및 어휘 형태는 하기 <표 1>과 같이 맵핑될 수 있다.
Figure pat00001
이 경우, 사용자 110의 언어 숙련도 레벨이 Basic인 경우, 전자 장치 120은 응답을 위한 문법 및 어휘로서 There is/there are, Simple Present, Present Continuous, Simple Past, Future Time (going to), I'd like, Gerunds, Verb + to + infinitive (express purpose), Can/can't, Can/could를 사용할 수 있다. 또한, 사용자 110의 언어 숙련도 레벨이 Upper basic인 경우, 전자 장치 120은 응답을 위한 문법 및 어휘로서 Basic 레벨에 맵핑되는 문법 및 어휘뿐만 아니라 Future Time (present continuous), Future Time (will), Present Perfect, Might, may, Must/mustn't, Should, Zero and 1st conditional을 사용할 수 있다. 즉, 사용자 110의 언어 숙련도 레벨에 따라 응답을 위해 이용 가능한 문법 및 어휘들이 결정된다.
다른 실시 예들에서, 사용자 110의 언어 숙련도 레벨들 각각과 응답에 이용될 수 있는 UI가 맵핑될 수 있다. 예를 들어, 사용자 110의 언어 숙련도 레벨이 임계값보다 낮은 경우, 전자 장치 120은 응답을 위한 동영상을 결정할 수 있다. 다른 예를 들어, 사용자 110의 언어 숙련도 레벨이 임계값보다 큰 경우, 전자 장치 120은 응답을 위한 사진 이미지 또는 웹사이트를 결정할 수 있다.
417 단계에서, 전자 장치 120은 응답을 위한 언어 정보를 이용하여 응답을 생성한다. 예를 들어, 전자 장치 120은 사용자 110의 언어 숙련도 레벨에 따라 결정된 단어, 문법, 및 어휘 형태에 기반하여 문장을 생성할 수 있다.
419 단계에서, 전자 장치 120은 응답을 출력한다. 예를 들어, 전자 장치 120은 스피커 240을 통해 응답으로서 음성을 출력할 수 있다. 다른 예를 들어, 전자 장치 120은 디스플레이 230을 통해 응답으로서 UI를 디스플레이할 수 있다.
도 6은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 숙련도 레벨을 결정하기 위한 프로세서와 메모리의 연동을 도시한다. 도 6은 프로세서 260과 메모리 220의 상세한 기능적 구성들 및 구성들 간 연동을 예시한다. 도 6은 전자 장치 120에 음성 메시지가 수신되는 상황을 가정한다.
도 6을 참고하면, 프로세서 260은 음성 인식부 610, 강세 분류부 620, 오류 검출부 630, 응답 모델 생성부 650, 및 언어 숙련도 결정부 660을 포함한다. 메모리 220은 언어 정보 저장부 640을 포함한다.
음성 인식부 610은 수신된 음성 메시지에 대응하는 텍스트를 생성한다. 음성 인식부 610은 수신된 음성 메시지에 음성 인식을 수행하여 음성 메시지에 대응하는 텍스트를 생성할 수 있다. 음성 인식부 610은 생성된 텍스트를 오류 검출부 630에게 전달한다.
강세 분류부 620은 음성 메시지의 강세를 검출한다. 일부 실시 예들에서, 전자 장치 120은 음성 메시지의 억양, 어조, 및 리듬을 검출할 수 있다. 강세 분류부 620은 음성 메시지에서 음성이 포함되지 않은 구간의 길이 및 개수를 검출할 수 있다.
오류 검출부 630은 음성 인식부 610으로부터 전달 받은 텍스트의 오류를 검출한다. 일부 실시 예들에서, 텍스트의 오류는 텍스트에 포함된 단어의 기본형(lemmas), POS(part of speech) 태그(tag), 개체명(named-entity), 구문 특성(syntactic features)에 기반하여 검출될 수 있다. 예를 들어, 구문 특성은 텍스트에 포함된 단어들과 품사의 관계를 의미할 수 있다. 이 경우, 단어들과 품사의 관계는 트리(tree) 구조로 표현될 수 있다. 다른 실시 예들에서, 오류 검출부 630은 텍스트가 나타내는 주제 또는 분야와 관련 없는 단어를 검출할 수 있다. 또한, 오류 검출부 630은 텍스트에 포함된 단어들의 순서의 오류, 품사들의 순서의 오류, 및 단어들 간 관계의 오류를 검출할 수 있다.
언어 정보 저장부 640은 입력 메시지에 포함된 사용자 110의 언어 정보를 포함할 수 있다. 또한, 언어 정보 저장부 640은 현재 입력 메시지가 수신되기 이전에 수신된 입력 메시지에 포함된 사용자 110의 이전 언어 정보를 포함할 수 있다. 즉, 언어 정보 저장부 640은 사용자 110과 전자 장치 120의 대화가 진행됨에 따라, 사용자 110의 언어 정보를 갱신 또는 축적할 수 있다. 언어 정보 저장부 640은 사용자 110의 언어 정보에 대한 데이터 베이스로 기능할 수 있다.
응답 모델 생성부 650은 오류 검출부 630으로부터 전달 받은 오류에 대한 정보, 강세 분류부 620으로부터 전달 받은 강세에 대한 정보, 언어 정보 저장부 640으로부터 전달 받은 사용자 110의 이전 언어 정보, 이전 언어 숙련도 레벨에 대한 정보, 및 사용자 110의 이전 언어 숙련도 모델에 대한 정보를 이용하여 언어 숙련도 모델을 생성한다. 여기서, 언어 숙련도 모델은 사용자 110의 언어 정보와 언어 숙련도 레벨 간 맵핑 관계를 나타내는 함수를 의미할 수 있다. 일부 실시 예들에서, 응답 모델 생성부 650은 상기 전달 받은 각 정보에 다른 가중치를 부여하여, 언어 숙련도 모델을 생성할 수 있다. 다른 실시 예들에서, 사용자 110과 전자 장치 120의 대화가 진행됨에 따라, 응답 모델 생성부 650은 언어 숙련도 모델의 언어 숙련도 레벨을 보다 세분화할 수 있다. 이는, 언어 숙련도 모델에 축적된 사용자 110의 언어 정보가 반영되기 때문이다. 즉, 응답 모델 생성부 650은 언어 숙련도 모델을 갱신하기 위하여 머신 러닝(machine learning)을 수행할 수 있다. 머신 러닝은 그 기술적 의미에 따라 "딥 러닝(deep learning)", "DNN(deep neural networks)", "LSTM(long short term memory)" 또는 이와 동등한 기술적 의미를 가지는 다른 명칭으로 지칭될 수 있다. 일부 실시 예들에서, 응답 모델 생성부 650은 언어 정보 저장부 640에게 사용자 110의 언어 정보, 갱신된 언어 숙련도 모델에 대한 정보를 전달할 수 있다.
언어 숙련도 결정부 660은 응답 모델 생성부 650으로부터 전달받은 언어 숙련도 모델을 이용하여 사용자 110의 언어 숙련도 레벨을 결정할 수 있다. 여기서, 언어 숙련도 레벨은 숫자로 변환되는 벡터 형태일 수 있다.
상술한 다양한 실시 예들에 따라, 전자 장치는 사용자의 언어 수준에 적합한 응답을 제공할 수 있다. 이로 인해, 전자 장치의 응답이 사용자에게 보다 용이하게 이해될 수 있다. 상술한 실시 예들에서, 전자 장치는 사용자의 언어 숙련도를 판단하고, 숙련도에 따른 문법/어휘의 개수 및 종류, 문장의 길이 등을 결정한다. 이에 더하여, 다양한 실시 예들에 따라, 전자 장치는 사용자의 언어의 사용 빈도에 기반하여 응답을 구성하기 위해 사용할 어휘 등을 결정할 수 있다. 이하 도 7을 참고하여, 사용 빈도에 기반하여 언어 정보를 구성하는 실시 예가 설명된다.
도 7은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자가 자주 사용한 언어 정보를 이용하여 응답을 결정하기 위한 동작 방법을 도시한다. 도 7은 전자 장치 120의 동작 방법을 예시한다.
도 7을 참고하면, 701 단계에서, 전자 장치 120은 전자 장치 120에 저장된 사용자 110의 언어 정보가 전자 장치 120에 수신된 횟수를 결정한다. 전자 장치 120은 사용자 110에 의한 입력 메시지를 수신할 때마다, 입력 메시지에 포함된 사용자 110의 언어 정보를 저장하기 때문에, 사용자 110의 특정 언어 정보가 수신된 횟수를 결정할 수 있다.
703 단계에서, 전자 장치 120은 전자 장치 120에 저장된 사용자 110의 언어 정보가 수신된 횟수가 임계값보다 큰지 여부를 결정한다. 즉, 저장된 사용자 110의 언어 정보가 수신된 횟수가 임계값보다 크다는 것은 사용자 110이 저장된 사용자 110의 언어 정보를 자주 사용하는 것을 의미할 수 있다. 또한, 저장된 사용자 110의 언어 정보가 수신된 횟수가 임계값보다 크지 않다는 것은 사용자 110이 저장된 사용자 110의 언어 정보를 자주 사용하지 않는 것을 의미할 수 있다. 만약, 전자 장치 120에 저장된 사용자 110의 언어 정보가 임계값보다 크지 않은 경우, 전자 장치 120은 701 단계로 진행한다.
반면, 전자 장치 120에 저장된 사용자 110의 언어 정보가 임계값보다 큰 경우, 705 단계에서, 전자 장치 120은 전자 장치 120에 저장된 사용자 110의 언어 정보를 이용하여 응답을 위한 언어 정보를 결정한다. 다시 말해, 전자 장치 120은 사용자가 자주 사용하는 단어나 구문을 응답을 구성하기 위한 후보 단어로서 지정한다. 이때, 전자 장치 120은 자주 사용하는 단어나 구문의 우선순위를 다른 단어나 구문보다 높게 설정할 수 있다. 이를 통해, 사용자 110은 응답을 보다 명확하게 이해할 수 있다. 왜냐하면, 응답을 위한 언어 정보에 기반하여 결정된 응답에 사용자 110이 자주 사용하는 단어나 구문이 포함되어 있다면, 사용자 110은 응답을 보다 쉽게 이해할 수 있기 때문이다.
상술한 다양한 실시 예들에 따라, 전자 장치는 사용자의 언어 수준 또는 언어 사용 빈도에 최적화된 응답을 제공할 수 있다. 이에 더하여, 다양한 실시 예들에 따라, 전자 장치는 응답을 구성하는 단어/구문/어휘를 선택하는데 더하여, 응답을 위한 부가 수단을 추가할지 여부를 더 판단할 수 있다. 이하 도 8을 참고하여, 부가 수단을 포함하는 응답을 제공하는 실시 예가 설명된다.
도 8은 본 개시의 다양한 실시 예들에 따른 전자 장치에서 사용자의 언어 숙련도 레벨과 응답을 위한 언어 숙련도 레벨을 비교하여 응답을 출력하기 위한 동작 방법을 도시한다. 도 8은 전자 장치 120의 동작 방법을 예시한다.
도 8을 참고하면, 801 단계에서, 전자 장치 120은 입력 메시지에 포함된 사용자 110의 언어 정보를 결정한다. 예를 들어, 사용자 110의 언어 정보는 어휘, 문법, 어순, 억양, 강세, 어조, 및 리듬에 대한 정보를 포함할 수 있다.
803 단계에서, 전자 장치 120은 사용자 110의 언어 숙련도 레벨을 결정한다. 여기서, 사용자 110의 언어 숙련도 레벨은 사용자 110의 언어 정보에 대응할 수 있다. 일부 실시 예들에서, k번의 대화에서, 전자 장치 120은 사용자 110의 언어 정보에 포함되는 단어의 수에 따라 사용자 110의 언어 숙련도 레벨을 결정할 수 있다. 예를 들어, 100번의 대화에서, 사용자 110의 언어 정보에 포함된 단어의 수가 2000개인 경우, 전자 장치 120은 사용자 110의 언어 숙련도 레벨을 0.5로 결정할 수 있다. 다른 예를 들어, 100번의 대화에서, 사용자 110의 언어 정보에 포함된 단어의 수가 3000개인 경우, 전자 장치 120은 사용자 110의 언어 숙련도 레벨을 0.7로 결정할 수 있다. 즉, 사용자 110이 사용하는 단어의 수가 많을수록, 사용자 110의 언어 능력이 뛰어난 것으로 판단될 수 있다.
805 단계에서, 전자 장치 120은 응답을 위한 언어 숙련도 레벨을 결정한다. 여기서, 응답을 위한 언어 숙련도 레벨은 응답에 요구되는 언어 정보에 대응하는 언어 숙련도 레벨을 의미할 수 있다. 이 경우, 응답을 위한 언어 숙련도 레벨은 사용자 110의 언어 숙련도 레벨과 다를 수 있다. 왜냐하면, 사용자 110의 입력 메시지에 대한 응답을 생성하기 위해서, 불가피하게 사용자 110의 언어 숙련도 레벨에 맵핑되는 언어 정보보다 높은 수준의 언어 숙련도 레벨에 맵핑되는 언어 정보가 이용되어야만 하는 경우가 존재할 수 있기 때문이다.
807 단계에서, 전자 장치 120은 응답을 위한 언어 숙련도 레벨이 사용자 110의 언어 숙련도 레벨보다 큰지 여부를 결정한다. 일부 실시 예들에서, 전자 장치 120은 응답을 위한 언어 숙련도 레벨에 맵핑되는 언어 정보가 사용자 110의 언어 숙련도 레벨에 맵핑되는 언어 정보를 포함하는지 여부를 결정할 수 있다.
만약, 응답을 위한 언어 숙련도 레벨이 사용자 110의 언어 숙련도 레벨보다 큰 경우, 809 단계에서, 전자 장치 120은 응답을 위한 언어 숙련도 레벨에 대응하는 언어 정보를 이용하여 응답 및 응답에 대응하는 부가적인 UI를 출력한다. 이 경우, 응답에 대응하는 UI는 사용자 110이 응답을 보다 쉽게 이해하도록 하는 UI를 의미할 수 있다. 따라서, 사용자 110은 사용자 110의 언어 숙련도 레벨보다 큰 언어 숙련도 레벨에 따라 생성된 응답을 제대로 이해하지 못하더라도, 응답에 대응하는 부가적인 UI를 참고하여 응답의 의미를 파악할 수 있다. 예를 들어, 부가적인 UI는 동영상, 그래픽, 이미지, 소리 등 응답에 포함되는 문언의 의미를 보충할 수 있는 다양한 컨텐츠를 포함할 수 있다.
반면, 응답을 위한 언어 숙련도 레벨이 사용자 110의 언어 숙련도 레벨보다 크지 않은 경우, 811 단계에서, 전자 장치 120은 사용자 110의 언어 숙련도 레벨에 대응하는 언어 정보를 이용하여 응답을 출력한다. 이는, 별도로 응답을 위한 UI를 출력하지 않더라도, 사용자 110이 응답을 이해할 수 있기 때문이다.
도 8에서, 전자 장치 120은 모든 경우에 응답과 함께 응답에 대응하는 UI를 출력하지 않고, 응답을 위한 언어 숙련도 레벨이 사용자 110의 언어 숙련도 레벨보다 큰 경우에만 응답과 응답에 대응하는 UI를 출력함으로써, 사용자 110이 응답을 이해하기 위한 전력 소모를 감소시킬 수 있다.
상술한 다양한 실시 예들에 따른 언어 숙련도에 기반한 동작들은, 다양한 장치들 및 다양한 분야에서 활용될 수 있다. 예를 들어, 상술한 기법은 스마트 폰의 인텔리전스 에이전트(intelligence agent) 서비스, 개인 비서 서비스, 장난감, 관광 안내 에이전트(tourist guide agent), 도슨트(docent) 서비스 등에 활용될 수 있다. 이에 따라, 전자 장치 120는 다음과 같이 동작할 수 있다.
일부 실시 예들에서, 전자 장치 120은 개인 비서 서비스를 제공할 수 있다. 여기서, 개인 비서 서비스는 "지능형 에이전트" 또는 이와 동등한 기술적 의미를 가지는 다른 명칭으로 지칭될 수 있다. 사용자는 전자 장치 120의 개인 비서 서비스를 이용하여 전자 장치 120의 다양한 어플리케이션들(예: 메신저, 전화, 갤러리, 사진, QA(quality assurance), 일기 예보)의 음성 제어를 수행할 수 있다. 전자 장치 120은 응답을 사용자 110의 언어 수준에 맞게 적응적으로 조절하기 위하여 NLG(natural language generation)를 개선할 수 있다. NLG를 개선함에 따라, 사용자 110과 전자 장치 120 간 의사소통은 더욱 효과적으로 수행될 수 있다.
다른 실시 예들에서, 전자 장치 120은 아이(예: 사용자 120)와 함께하는 장난감(toy), 사회적 동반자(social companion), 또는 스토리텔러(story teller)일 수 있다. 이 경우, 전자 장치 120은 아이의 나이에 알맞은 어휘와 문법을 결정함으로써, 아이와 적절한 대화를 수행할 수 있다. 이를 통해, 아이는 정신 발달 수준, 연령, 및 언어 능력에 맞게 새로운 단어를 배울 수 있다.
또 다른 실시 예들에서, 전자 장치 120은 관광 안내 에이전트로 기능할 수 있다. 이 경우, 전자 장치 120은 다양한 수준의 언어 능력을 갖는 사용자 110(예: 외국인 또는 모국어를 사용하지 않는 사람들)과 대화를 수행할 수 있다. 전자 장치 120은 사용자 110의 언어 숙련도 레벨을 결정하기 위해 사용자 110의 의도와 요구 사항을 인식할 수 있다. 또한, 전자 장치 120은 사용자 110이 쉽게 이해할 수 있는 응답을 출력할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 전자 장치의 동작 방법에 있어서,
    입력 메시지를 수신하는 과정과,
    상기 입력 메시지에 포함된 사용자의 언어 정보를 결정하는 과정과,
    상기 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 과정과,
    상기 응답을 위한 언어 정보에 기반하여 상기 응답을 출력하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 입력 메시지는, 상기 사용자에 의해 상기 전자 장치에 입력되는 음성 또는 텍스트인 방법.
  3. 청구항 1에 있어서,
    상기 사용자의 언어 정보는, 어휘(lexical), 문법(grammar), 어순(syntactic), 억양(intonation), 강세(stress), 어조(tone), 및 리듬(rhythm) 중 적어도 하나에 대한 정보를 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 응답은, 소리, 텍스트, 사진, 및 동영상 중 적어도 하나인 방법.
  5. 청구항 1에 있어서,
    상기 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 과정은,
    상기 사용자의 언어 정보에 기반하여 상기 사용자의 언어 숙련도를 나타내기 위한 값을 결정하는 과정과,
    상기 사용자의 언어 숙련도를 나타내기 위한 값에 대응하는 상기 응답을 위한 언어 정보를 결정하는 과정을 포함하는 방법.
  6. 청구항 5에 있어서,
    상기 사용자의 언어 정보에 기반하여 사용자의 언어 숙련도를 나타내기 위한 값을 결정하는 과정은,
    상기 사용자의 언어 정보에 포함되는 단어들의 수에 따라 상기 사용자의 상기 언어 숙련도를 나타내기 위한 값을 결정하는 과정을 포함하는 방법.
  7. 청구항 5에 있어서,
    상기 응답을 위한 언어 정보에 기반하여 응답을 출력하는 과정은,
    상기 사용자의 언어 숙련도를 나타내기 위한 값이 제1 값인 경우, 사진으로 구성된 응답을 출력하는 과정과,
    상기 사용자의 언어 숙련도를 나타내기 위한 값이 제2 값인 경우, 동영상으로 구성된 응답을 출력하는 과정을 포함하는 방법.
  8. 청구항 1에 있어서,
    상기 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 과정은,
    상기 입력 메시지를 수신하기 이전에 수신된 다른 입력 메시지에 포함된 상기 사용자의 다른 언어 정보와 상기 사용자의 언어 정보에 기반하여 상기 응답을 위한 언어 정보를 결정하는 과정을 포함하는 방법.
  9. 청구항 1에 있어서,
    상기 사용자의 언어 정보에 대한 오류를 검출하는 과정을 더 포함하는 방법.
  10. 청구항 9에 있어서,
    상기 사용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하는 과정은,
    상기 사용자의 언어 정보 및 상기 검출된 오류에 기반하여 상기 응답을 위한 언어 정보를 결정하는 과정을 포함하는 방법.
  11. 전자 장치에 있어서,
    입력 메시지를 수신하는 입력부와,
    상기 입력 메시지에 포함된 사용자의 언어 정보를 결정하고,
    상기 자용자의 언어 정보에 대응하는 응답을 위한 언어 정보를 결정하고,
    상기 응답을 위한 언어 정보에 기반하여 상기 응답을 출력하도록 제어하는 프로세서를 포함하는 장치.
  12. 청구항 11에 있어서,
    상기 입력 메시지는, 상기 사용자에 의해 상기 전자 장치에 입력되는 음성 또는 텍스트인 장치.
  13. 청구항 11에 있어서,
    상기 사용자의 언어 정보는, 어휘(lexical), 문법(grammar), 어순(syntactic), 억양(intonation), 강세(stress), 어조(tone), 및 리듬(rhythm) 중 적어도 하나에 대한 정보를 포함하는 장치.
  14. 청구항 11에 있어서,
    상기 응답은, 소리, 텍스트, 사진, 또는 동영상 중 적어도 하나인 장치.
  15. 청구항 11에 있어서,
    상기 프로세서는,
    상기 사용자의 언어 정보에 기반하여 상기 사용자의 언어 숙련도를 나타내기 위한 값을 결정하고,
    상기 사용자의 언어 숙련도를 나타내기 위한 값에 대응하는 상기 응답을 위한 언어 정보를 결정하는 장치.
  16. 청구항 15에 있어서,
    상기 프로세서는,
    상기 사용자의 언어 정보에 포함되는 단어들의 수에 따라 상기 사용자의 상기 언어 숙련도를 나타내기 위한 값을 결정하는 장치.
  17. 청구항 15에 있어서,
    상기 프로세서는,
    상기 사용자의 언어 숙련도를 나타내기 위한 값이 제1 값인 경우, 사진으로 구성된 응답을 출력하도록 제어하고,
    상기 사용자의 언어 숙련도를 나타내기 위한 값이 제2 값인 경우, 동영상으로 구성된 응답을 출력하도록 제어하는 장치.
  18. 청구항 11에 있어서,
    상기 프로세서는,
    상기 입력 메시지를 수신하기 이전에 수신된 다른 입력 메시지에 포함된 상기 사용자의 다른 언어 정보와 상기 사용자의 언어 정보에 기반하여 상기 응답을 위한 언어 정보를 결정하는 장치.
  19. 청구항 11에 있어서,
    상기 프로세서는,
    상기 사용자의 언어 정보에 대한 오류를 검출하는 장치.
  20. 청구항 19에 있어서,
    상기 프로세서는,
    상기 사용자의 언어 정보 및 상기 검출된 오류에 기반하여 상기 응답을 위한 언어 정보를 결정하는 장치.
KR1020170032637A 2017-03-15 2017-03-15 언어 정보를 처리하기 위한 방법 및 그 전자 장치 KR102367778B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170032637A KR102367778B1 (ko) 2017-03-15 2017-03-15 언어 정보를 처리하기 위한 방법 및 그 전자 장치
US16/493,667 US11216497B2 (en) 2017-03-15 2018-03-13 Method for processing language information and electronic device therefor
PCT/KR2018/002920 WO2018169276A1 (ko) 2017-03-15 2018-03-13 언어 정보를 처리하기 위한 방법 및 그 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170032637A KR102367778B1 (ko) 2017-03-15 2017-03-15 언어 정보를 처리하기 위한 방법 및 그 전자 장치

Publications (2)

Publication Number Publication Date
KR20180105501A true KR20180105501A (ko) 2018-09-28
KR102367778B1 KR102367778B1 (ko) 2022-02-25

Family

ID=63523841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170032637A KR102367778B1 (ko) 2017-03-15 2017-03-15 언어 정보를 처리하기 위한 방법 및 그 전자 장치

Country Status (3)

Country Link
US (1) US11216497B2 (ko)
KR (1) KR102367778B1 (ko)
WO (1) WO2018169276A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220009144A (ko) 2020-07-15 2022-01-24 이진성 인공지능 스피커를 내장한 무선이어폰 충전기
KR102661537B1 (ko) * 2023-11-07 2024-04-25 전훈철 가상 공간에서 언어 학습을 제공하기 위한 장치, 시스템, 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10573298B2 (en) 2018-04-16 2020-02-25 Google Llc Automated assistants that accommodate multiple age groups and/or vocabulary levels
KR20210014909A (ko) * 2019-07-31 2021-02-10 삼성전자주식회사 대상의 언어 수준을 식별하는 전자 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120031551A (ko) * 2010-09-27 2012-04-04 (주)로직소프트 사용자의 어휘 레벨에 따른 자막 생성 방법
KR20120075585A (ko) * 2010-12-16 2012-07-09 한국전자통신연구원 대화 방법 및 이를 위한 시스템
KR101677630B1 (ko) * 2010-06-14 2016-11-18 엘지전자 주식회사 음성인식을 이용한 정보 알림장치
KR20170007852A (ko) * 2017-01-13 2017-01-20 경북대학교 산학협력단 외국어 학습 제공 장치 및 그 방법, 이를 수행하기 위한 기록매체
JP2017503282A (ja) * 2013-10-28 2017-01-26 自立 余 自然表現の処理方法、処理及び応答方法、装置、及びシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125341A (en) 1997-12-19 2000-09-26 Nortel Networks Corporation Speech recognition system and method
JP2005031150A (ja) * 2003-07-07 2005-02-03 Canon Inc 音声処理装置および方法
KR100855563B1 (ko) * 2007-03-27 2008-09-02 안희달 대화식 로봇을 이용한 영어 학습시스템 및 그 방법
US8024179B2 (en) 2007-10-30 2011-09-20 At&T Intellectual Property Ii, L.P. System and method for improving interaction with a user through a dynamically alterable spoken dialog system
US8457967B2 (en) 2009-08-15 2013-06-04 Nuance Communications, Inc. Automatic evaluation of spoken fluency
KR20170007107A (ko) * 2015-07-10 2017-01-18 한국전자통신연구원 음성인식 시스템 및 방법
US20170011735A1 (en) 2015-07-10 2017-01-12 Electronics And Telecommunications Research Institute Speech recognition system and method
US9799324B2 (en) * 2016-01-28 2017-10-24 Google Inc. Adaptive text-to-speech outputs
US20170345426A1 (en) * 2016-05-31 2017-11-30 Julia Komissarchik System and methods for robust voice-based human-iot communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677630B1 (ko) * 2010-06-14 2016-11-18 엘지전자 주식회사 음성인식을 이용한 정보 알림장치
KR20120031551A (ko) * 2010-09-27 2012-04-04 (주)로직소프트 사용자의 어휘 레벨에 따른 자막 생성 방법
KR20120075585A (ko) * 2010-12-16 2012-07-09 한국전자통신연구원 대화 방법 및 이를 위한 시스템
JP2017503282A (ja) * 2013-10-28 2017-01-26 自立 余 自然表現の処理方法、処理及び応答方法、装置、及びシステム
KR20170007852A (ko) * 2017-01-13 2017-01-20 경북대학교 산학협력단 외국어 학습 제공 장치 및 그 방법, 이를 수행하기 위한 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220009144A (ko) 2020-07-15 2022-01-24 이진성 인공지능 스피커를 내장한 무선이어폰 충전기
KR102661537B1 (ko) * 2023-11-07 2024-04-25 전훈철 가상 공간에서 언어 학습을 제공하기 위한 장치, 시스템, 및 방법

Also Published As

Publication number Publication date
WO2018169276A1 (ko) 2018-09-20
KR102367778B1 (ko) 2022-02-25
US20200004768A1 (en) 2020-01-02
US11216497B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
CN111930940B (zh) 一种文本情感分类方法、装置、电子设备及存储介质
CN108108340B (zh) 用于智能机器人的对话交互方法及系统
US11068474B2 (en) Sequence to sequence conversational query understanding
US11842164B2 (en) Method and apparatus for training dialog generation model, dialog generation method and apparatus, and medium
RU2708941C1 (ru) Способ и устройство распознавания сегментированных предложений для человеко-машинной интеллектуальной вопросно-ответной системы
JP2023535709A (ja) 言語表現モデルシステム、事前訓練方法、装置、機器及び媒体
US11216497B2 (en) Method for processing language information and electronic device therefor
KR20190071527A (ko) 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법
KR20190043329A (ko) 음성 신호 번역 방법 및 그에 따른 전자 장치
CN110209774A (zh) 处理会话信息的方法、装置及终端设备
US11636272B2 (en) Hybrid natural language understanding
KR20180108400A (ko) 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체
Wilks et al. A prototype for a conversational companion for reminiscing about images
JP7488871B2 (ja) 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム
CN111275133A (zh) 分类模型的融合方法、装置及存储介质
EP3550449A1 (en) Search method and electronic device using the method
KR20190074508A (ko) 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법
CN109002498B (zh) 人机对话方法、装置、设备及存储介质
CN117725163A (zh) 智能问答方法、装置、设备及存储介质
US11842737B2 (en) Automated assistant interaction prediction using fusion of visual and audio input
CN111222011B (zh) 一种视频向量确定方法和装置
CN114328857A (zh) 语句扩展方法、装置以及计算机可读存储介质
CN113821609A (zh) 一种答案文本的获取方法及装置、计算机设备和存储介质
Sagar et al. Dialog management system based on user persona
CN112131878B (zh) 文本处理方法、装置以及计算机设备

Legal Events

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