KR20210066644A - 단말 장치, 서버 및 그 제어 방법 - Google Patents

단말 장치, 서버 및 그 제어 방법 Download PDF

Info

Publication number
KR20210066644A
KR20210066644A KR1020190156136A KR20190156136A KR20210066644A KR 20210066644 A KR20210066644 A KR 20210066644A KR 1020190156136 A KR1020190156136 A KR 1020190156136A KR 20190156136 A KR20190156136 A KR 20190156136A KR 20210066644 A KR20210066644 A KR 20210066644A
Authority
KR
South Korea
Prior art keywords
information
user
voice
response
intentions
Prior art date
Application number
KR1020190156136A
Other languages
English (en)
Inventor
윤상혁
송희준
유희재
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190156136A priority Critical patent/KR20210066644A/ko
Priority to US17/103,150 priority patent/US11538476B2/en
Publication of KR20210066644A publication Critical patent/KR20210066644A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

단말 장치가 개시된다. 단말 장치는 회로(circuitry)를 포함하는 통신 인터페이스, 디스플레이 및 복수의 의도를 포함하는 사용자 음성을 외부 서버로 전송하도록 통신 인터페이스를 제어하고, 외부 서버로부터 사용자 음성에 포함된 단어 사용 정보 및 사용자 관련 정보에 기초하여 생성된 사용자 음성에 대한 요약 정보가 수신되면, 수신된 요약 정보를 디스플레이 하도록 디스플레이를 제어하고, 요약 정보에 관한 사용자 피드백이 입력되면, 사용자 피드백에 대한 정보를 외부 서버로 전송하고, 외부 서버로부터 사용자 피드백에 기초하여 생성된 사용자 음성에 대한 응답 정보가 수신되면, 응답 정보를 제공하도록 디스플레이를 제어하는 프로세서를 포함한다.

Description

단말 장치, 서버 및 그 제어 방법 {Terminal device, Server and control method thereof}
본 개시는 사용자 음성에 응답하는 단말 장치, 서버 및 그 제어 방법에 관한 것이다.
콜센터 챗봇(chatbot), 음성 비서 등에 장황한 질문이 입력될 수 있다. 예를 들어, 핵심 질문을 먼저 말했으나 그 뒤로 부연 설명을 장황하게 말하는 경우, 장황한 부연 설명 후 핵심 질문 말하는 경우, 또는 여러 가지 질문을 한 번에 다 말하는 경우 등이 있다.
종래의 챗봇은 고객의 한 발화에 대해서 하나의 의도(intent)로 판단한다. 그리고 보통 정해진 하나의 답변을 제공하는 방식으로 고객에게 응대한다. 따라서 고객의 질문이 여러 문장으로 이루어져 있거나 의도(intent)가 복수인 경우, 기존 챗봇은 고객의 질문을 이해하지 못하거나 부적절한 답변을 제공하는 경우가 발생하게 된다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은, 복수의 문장이 포함된 사용자 음성이 입력되더라도 정확도가 높은 답변을 제공하는 단말 장치, 서버 및 그 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 단말 장치는, 회로(circuitry)를 포함하는 통신 인터페이스, 디스플레이 및 복수의 의도를 포함하는 사용자 음성을 외부 서버로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 외부 서버로부터 상기 사용자 음성에 포함된 단어 사용 정보 및 사용자 관련 정보에 기초하여 생성된 상기 사용자 음성에 대한 요약 정보가 수신되면, 상기 수신된 요약 정보를 디스플레이 하도록 상기 디스플레이를 제어하고, 상기 요약 정보에 관한 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하고, 상기 외부 서버로부터 상기 사용자 피드백에 기초하여 생성된 상기 사용자 음성에 대한 응답 정보가 수신되면, 상기 응답 정보를 제공하도록 상기 디스플레이를 제어하는 프로세서를 포함한다.
상기 요약 정보는, 상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보를 포함할 수 있다.
상기 프로세서는, 상기 요약 정보에 포함된 상기 복수의 의도에 대한 정보가 사용자의 의도와 불일치한다는 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하고, 상기 외부 서버로부터 수신된 기설정된 빈도 수 이상의 질의에 관한 리스트 UI를 제공하도록 상기 디스플레이를 제어할 수 있다.
상기 단말 장치는 오디오 출력부를 더 포함하고, 상기 프로세서는, 상기 요약 정보 또는 상기 응답 정보를 제1 음성으로 제공하도록 상기 오디오 출력부를 제어하고,
상기 외부 서버로부터 상기 사용자 피드백에 대하여 응답 정보가 획득되지 않았음을 나타내는 신호가 수신되면, 상기 제1 음성과 상이한 제2 음성으로 상기 사용자 피드백에 대한 응답 정보를 제공함을 나타내는 UI를 디스플레이하도록 상기 디스플레이를 제어할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 서버는, 회로(circuitry)를 포함하는 통신 인터페이스 및 상기 통신 인터페이스를 통해 단말 장치로부터 수신된 사용자 음성에 복수의 의도가 포함된 것으로 식별되면, 상기 사용자 음성에서 단어 사용 정보 및 사용자 관련 정보를 획득하고, 상기 획득된 단어 사용 정보 및 사용자 관련 정보에 기초하여 상기 복수의 의도에 대한 응답 순서를 식별하고, 상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보가 포함된 요약 정보를 상기 단말 장치로 제공하도록 상기 통신 인터페이스를 제어하는 프로세서를 포함한다.
상기 프로세서는, 상기 식별된 응답 순서에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하고, 상기 단말 장치로부터 상기 요약 정보에 관한 사용자 피드백 정보가 수신되면, 상기 사용자 피드백 정보에 기초하여 응답 정보를 보정하여 상기 단말 장치로 전송할 수 있다.
서버는 상기 단말 장치의 프로필 정보가 저장된 메모리를 더 포함하고, 상기 프로세서는, 상기 복수의 의도에 대한 정보 및 상기 사용자 피드백 정보에 기초하여 상기 프로필 정보를 업데이트하고, 상기 업데이트된 프로필 정보에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성할 수 있다.
상기 프로세서는, 상기 복수의 의도 각각에 대응되는 음성 데이터의 특징 정보 및 상기 음성 데이터의 텍스트 데이터를 획득하고, 상기 텍스트 데이터에 기초하여 상기 단어 사용 정보를 획득하고, 상기 음성 데이터의 특징 정보에 기초하여 상기 사용자 관련 정보를 획득할 수 있다.
상기 음성 데이터의 특징 정보는, 상기 음성 데이터의 길이, 상기 음성 데이터의 크기, 발화 속도 또는 상기 음성 데이터의 피치 중 적어도 하나를 포함할 수 있다.
상기 단어 사용 정보는, 상기 사용자 음성에서 동일한 단어의 사용 횟수 또는 사용 빈도 중 적어도 하나를 포함하며, 상기 사용자 관련 정보는, 사용자 프로필 정보 또는 사용자 감정 정보 중 적어도 하나를 포함할 수 있다. 상기 프로세서는, 상기 음성 데이터의 텍스트 데이터에 기초하여 상기 음성 데이터 각각의 타입 또는 키워드 정보 중 적어도 하나를 포함하는 의도 정보를 식별하고, 상기 식별된 의도 정보, 상기 단어 사용 정보 및 상기 사용자 관련 정보에 기초하여 상기 응답 순서를 식별할 수 있다.
상기 프로세서는, 상기 단어 사용 정보 및 상기 사용자 관련 정보에 기초하여 상기 복수의 의도에 대한 제1 응답 순서를 식별하고, 상기 의도 정보에 기초하여 상기 식별된 제1 응답 순서를 재정렬할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 단말 장치의 제어 방법은, 복수의 의도를 포함하는 사용자 음성을 외부 서버로 전송하는 단계, 상기 외부 서버로부터 상기 사용자 음성에 포함된 단어 사용 정보 및 사용자 관련 정보에 기초하여 생성된 상기 사용자 음성에 대한 요약 정보가 수신되면, 상기 수신된 요약 정보를 디스플레이하는 단계, 상기 요약 정보에 관한 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하는 단계 및 상기 외부 서버로부터 상기 사용자 피드백에 기초하여 생성된 상기 사용자 음성에 대한 응답 정보가 수신되면, 상기 응답 정보를 디스플레이하는 단계를 포함한다.상기 요약 정보는, 상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보를 포함할 수 있다.
상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하는 단계는, 상기 요약 정보에 포함된 상기 복수의 의도에 대한 정보가 사용자의 의도와 불일치한다는 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하고, 상기 외부 서버로부터 수신된 기설정된 빈도 수 이상의 질의에 관한 리스트 UI를 디스플레이할 수 있다.
상기 요약 정보 또는 상기 응답 정보를 제1 음성으로 제공하도록 상기 오디오 출력부를 제어하고, 상기 외부 서버로부터 상기 사용자 피드백에 대하여 응답 정보가 획득되지 않았음을 나타내는 신호가 수신되면, 상기 제1 음성과 상이한 제2 음성으로 상기 사용자 피드백에 대한 응답 정보를 제공함을 나타내는 UI를 디스플레이하는 단계를 더 포함할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 서버의 제어 방법은, 단말 장치로부터 수신된 사용자 음성에 복수의 의도가 포함된 것으로 식별되면, 상기 사용자 음성에서 단어 사용 정보를 획득하는 단계, 상기 사용자 음성에서 사용자 관련 정보를 획득하는 단계, 상기 획득된 단어 사용 정보 및 사용자 관련 정보에 기초하여 상기 복수의 의도에 대한 응답 순서를 식별하는 단계 및 상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보가 포함된 요약 정보를 상기 단말 장치로 제공하는 단계를 포함한다.
상기 제어 방법은 상기 식별된 응답 순서에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하고, 상기 단말 장치로부터 상기 요약 정보에 관한 사용자 피드백 정보가 수신되면, 상기 사용자 피드백 정보에 기초하여 응답 정보를 보정하여 상기 단말 장치로 전송하는 단계를 더 포함할 수 있다.
상기 제어 방법은 상기 복수의 의도에 대한 정보 및 상기 사용자 피드백 정보에 기초하여 상기 프로필 정보를 업데이트하고, 상기 업데이트된 프로필 정보에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하는 단계를 더 포함할 수 있다.
상기 제어 방법은 상기 복수의 의도 각각에 대응되는 음성 데이터의 특징 정보 및 상기 음성 데이터의 텍스트 데이터를 획득하는 단계를 더 포함하고, 상기 단어 사용 정보를 획득하는 단계는, 상기 텍스트 데이터에 기초하여 상기 단어 사용 정보를 획득하고, 상기 사용자 관련 정보를 획득하는 단계는, 상기 음성 데이터의 특징 정보에 기초하여 상기 사용자 관련 정보를 획득할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시 예에 따르면, 복수의 문장이 포함된 장황한 사용자 음성이 입력되더라도, 전자 장치는 이를 복수의 데이터로 구분하여 의도를 파악하므로 정확도가 응답 정보를 제공할 수 있다.
단어 사용 정보, 사용자 관련 정보 및 의도 정보에 기초하여 응답 정보의 제공 순서를 정렬하므로 중요도 및 관련성에 기초하여 응답 정보가 순차적으로 제공될 수 있다. 이에 따라, 사용자의 응답 정보에 대한 이해도가 증가할 수 있다.
사용자 음성에 대해 바로 응답 정보를 제공하지 않고 요약 정보를 먼저 제공함에 따라 사용자의 의해도 및 편의가 증가할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 단말 장치 및 서버 간 동작을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 복수의 의도에 대한 응답 정보의 제공에 대한 플로우 차트이다.
도 4는 본 개시의 일 실시 예에 따른 단어 사용 정보 및 사용자 관련 정보를 획득하는 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 사용자 음성에 포함된 복수의 의도에 대한 응답 순서를 식별하는 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 응답 정보를 제공하는 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 요약 정보를 제공하는 UI의 예시를 나타내는 도면이다.
도 8은 본 개시의 일 실시 예에 따른 응답 순서가 변경되는 동작을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 단말 장치 및 서버의 구성을 설명하기 위한 블록도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
A 및/또는 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 본 명세서에서, 사용자라는 용어는 단말 장치(또는 단말 장치)를 사용하는 사람 또는 단말 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템을 개략적으로 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 전자 시스템(1000)은 단말 장치(100) 및 서버(200)를 포함한다.
단말 장치(100)는 입력된 사용자 음성을 서버(200)로 전송하고, 서버(200)로부터 수신된 사용자 음성에 대응되는 정보를 제공하는 장치이다. 단말 장치(100)는 서버(200)로부터 수신된 음성 정보뿐만 아니라 텍스트 정보를 디스플레이할 수도 있다.
예를 들어, 단말 장치(100)는 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 등 다양한 형태로 구현될 수 있다.
서버(200)는 단말 장치(100)로부터 전송된 사용자 음성을 이해하고 응답하는 장치일 수 있다. 예를 들어, 서버(200)는 인간을 모사하는 챗봇 등을 포함하며, 챗봇을 통해 단말 장치(100)로 사용자 음성 질의에 대응되는 음성 형태의 응답 데이터 및 디스플레이 데이터를 제공할 수 있다.
한편, 단말 장치(100)로부터 전송되는 사용자 음성이 길고 장황한 경우 즉, 복수의 의도가 포함된 사용자 음성이 입력되면, 서버(200)는 이를 이해하고 이에 대응되는 응답 정보를 제공해야 하는데, 이하에서는 복수의 문장이 포함된 사용자 음성에 대응되는 응답 정보를 제공하는 본 개시의 다양한 실시 예에 대해 자세히 설명한다.
도 2는 본 개시의 일 실시 예에 따른 단말 장치 및 서버 간 동작을 설명하기 위한 도면이다.
단말 장치(100)는 복수의 의도를 포함하는 사용자 음성을 서버(200)로 전송하도록 통신 인터페이스를 제어할 수 있다(S210).
예를 들어, 단말 장치(100)가 스마트 폰으로 구현되는 경우 마이크(미도시)를 통해 입력된 사용자 음성이 서버(200)로 전송될 수 있다.
서버(200)는 사용자 음성에 포함된 복수의 의도를 구분할 수 있다(S220). 다시 말해, 서버(200)는 사용자 음성을 복수의 의도로 구분하고, 각 의도에 대응되는 응답 정보를 생성할 수 있다. 구체적으로, 서버(200)는 사용자 음성에 포함된 단어 사용 정보 및 사용자 관련 정보에 기초하여 생성된 사용자 음성에 대한 요약 정보를 생성할 수 있다. 여기서, 단어 사용 정보는 사용자 음성에서 동일한 단어의 사용 횟수 또는 사용 빈도 중 적어도 하나를 포함하며, 사용자 관련 정보는 사용자 프로필 정보 또는 사용자 감정 정보 중 적어도 하나를 포함할 수 있다. 또한, 요약 정보는 복수의 의도에 대한 정보 및 복수의 의도 각각에 대한 응답 순서 정보를 포함할 수 있다. 이에 대하여는 하기에서 자세히 설명하도록 한다.
서버(200)는 사용자 음성에 대한 요약 정보 및 복수의 의도 각각에 대응되는 응답 정보를 음성 및 디스플레이 형태의 데이터로 단말 장치(100)로 전송할 수 있다(S230).
단말 장치(100)는 서버(200)로부터 수신된 요약 정보를 디스플레이하도록 디스플레이(미도시)를 제어할 수 있다. 단말 장치(100)는 디스플레이뿐만 아니라 스피커(미도시)를 통해 수신된 요약 정보를 제공할 수 있다. 단말 장치(100)는 요약 정보의 제공과 함께 요약 정보에 포함된 복수의 의도에 대한 정보 및 복수의 의도 각각에 대한 응답 순서 정보에 대한 사용자 피드백을 요청할 수 있다. 단말 장치(100)는 요약 정보에 관한 사용자 피드백이 입력되면, 사용자 피드백에 대한 정보를 서버(200)로 전송할 수 있다.
서버(200)는 단말 장치(100)로부터 수신된 사용자 피드백 정보에 기초하여 변경된 의도에 대한 응답 정보를 수정하거나 응답 정보의 제공 순서를 변경할 수 있다. 서버(200)는 이와 같이 사용자 피드백에 기초하여 변경된(또는 생성된) 사용자 음성에 대한 응답 정보를 단말 장치(100)로 전송할 수 있다.
단말 장치(100)는 수신된 응답 정보를 제공할 수 있다(S240). 구체적으로, 단말 장치(100)는 디스플레이 또는 스피커를 통해 사용자 음성에 대한 응답 정보를 제공할 수 있다.
상술한 단말 장치(100) 및 서버(200)의 동작을 통해 사용자는 의도한 질문에 대한 원하는 대답을 제공받을 수 있으며, 인간 상담원과 대화를 한 것으로 인식할 수 있다.
한편, 단말 장치(100)는 통신 인터페이스(110), 디스플레이(120), 프로세서(130) 및 오디오 출력부(140)를 포함하며, 서버(200)는 통신 인터페이스(210) 및 프로세서(220)를 포함한다. 혼동 방지를 위해 하기에서는 130 및 220과 같은 식별 부호를 이용하여 각 장치의 하드웨어 구성을 구분하는 것으로 한다.
도 3은 본 개시의 일 실시 예에 따른 복수의 의도에 대한 응답 정보의 제공에 대한 플로우 차트이다.
일 실시 예에 따르면, 사용자 음성에 포함된 복수의 의도를 식별하여 사용자 의도를 파악하는 동작은 서버(200)에서 수행될 수 있다.
프로세서(220)는 사용자 음성에 복수의 의도가 포함된 것으로 식별되면, 복수의 의도가 포함된 문장에서 단어 사용 정보를 획득할 수 있다(S310). 구체적으로, 프로세서(220)는 자동 음성 인식 모델 또는 자연어 이해 모델 등에 기초하여 사용자 음성에 복수의 의도가 포함되었는지 여부를 식별할 수 있다.
사용자 음성에 복수의 의도가 포함된 것으로 식별되면, 프로세서(220)는 사용자 음성을 의도 단위로 구분(또는 세그먼테이션)할 수 있다. 예를 들어, "제 스마트 폰이 불량인 것 같아요. 폰이 뜨거워져서 못 쓰겠어요. 무상 교환 가능할까요?"와 같은 사용자 음성이 입력되면, 프로세서(220)는 "제 스마트 폰이 불량인 것 같아요", "폰이 뜨거워져서 못 쓰겠어요" 및 "무상 교환 가능할까요?"와 같이 사용자 음성을 3개의 데이터로 구분할 수 있다. 일 예에 따라, 프로세서(220)는 사용자 음성을 문장 단위로 구분하여 각 문장에 포함된 사용자 의도를 식별할 수 있으나, 이에 한정되는 것은 아니다.
이후, 프로세서(220)는 구분된 복수의 의도 각각에 대한 음성 데이터에 대응되는 텍스트 데이터를 획득할 수 있다. 일 예에 따르면, 자동 음성 인식(automatic speech recognition)(ASR) 모델이 사용자 음성 데이터를 텍스트 데이터로 변환할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(220)는 사용자 음성이 입력되면 자동 음성 인식 모델을 통해 사용자 음성을 텍스트 데이터로 변환하고, 이후 변환된 텍스트 데이터를 의도를 기준으로 구분할 수 있다.
프로세서(220)는 변환된 각 텍스트 데이터에 기초하여 단어 사용 정보를 획득할 수 있다. 여기서, 단어 사용 정보는 사용자 음성(또는 음성 데이터)에서 동일한 단어의 사용 횟수 또는 사용 빈도 중 적어도 하나를 포함한다. 구체적으로, 프로세서(220)는 사용자 음성에서 가장 많이 사용된 단어를 식별하고, 식별된 단어가 얼마나 자주 사용되었는지를 나타내는 단어 반복 빈도를 식별할 수 있다. 여기서, 단어 반복 빈도는 낮음, 보통, 높음 등 여러 단계로 구별될 수 있다.
예를 들어, 상술한 예시의 경우, "폰"이라는 단어가 가장 많이 사용된 단어이며, 3개의 문장에서 2회 사용되었으므로 사용 빈도는 "낮음"으로 식별될 수 있다.
한편, 프로세서(220)는 복수의 의도 각각에 대응되는 음성 데이터의 특징 정보를 획득할 수 있다. 여기서, 음성 데이터의 특징 정보는 음성 데이터의 길이, 음성 데이터의 크기, 발화 속도 또는 음성 데이터의 피치 중 적어도 하나를 포함할 수 있다. 프로세서(220)는 획득된 음성 데이터의 특징 정보에 기초하여 사용자 관련 정보를 획득할 수 있다(S320).
여기서, 사용자 관련 정보는 사용자 프로필 정보 또는 사용자 감정 정보 중 적어도 하나를 포함할 수 있다. 사용자 프로필 정보는 사용자 나이, 성별 등을 포함할 수 있다. 특히, 감정 정보는 불만스러움, 만족스러움, 불안함 등과 같이 복수의 감정 타입으로 구분될 수 있다. 또한, 구분된 감정 타입은, 예를 들어, "불만스러움" 감정 타입은 "조금 불만스러움", "불만스러움", "매우 불만스러움"과 같이 복수의 단계로 식별될 수 있고, 이와 같은 감정 정보는 각 문장의 우선 순위를 식별하는데 이용될 수 있다.
이후, 프로세서(220)는 획득된 단어 사용 정보 및 사용자 관련 정보에 기초하여 복수의 의도에 대한 우선 순위를 식별할 수 있다(S330). 일 예에 따르면, 프로세서(220)는 단어 사용 정보 및 사용자 관련 정보에 기초하여 복수의 의도에 우선 순위를 부여할 수 있다. 예를 들어, 프로세서(220)는 복수의 의도가 포함된 문장 중 매우 불만스러운 감정 정보가 포함된 문장 또는 높은 빈도로 사용된 단어가 포함된 문장에 높은 우선 순위를 부여할 수 있다.
한편, 프로세서(220)는 단어 사용 정보 및 사용자 관련 정보뿐만 아니라 의도 정보에도 기초하여 복수의 문장에 대한 우선 순위를 식별할 수 있다. 여기서, 의도 정보란 복수의 문장 각각의 타입 또는 키워드 정보 중 적어도 하나를 포함하는 정보로서, 프로세서(220)는 복수의 문장 각각에 대응되는 텍스트 데이터에 기초하여 의도 정보를 식별할 수 있다. 타입은 사용자 음성에 대응되는 각 문장의 타입이 질의인지 잡담인지 등을 나타낸다.
일 예에 따르면, 프로세서(220)는 단어 사용 정보 및 사용자 관련 정보에 기초하여 복수의 의도에 대한 제1 응답 순서를 식별하고, 의도 정보에 기초하여 식별된 제1 응답 순서를 재정렬할 수 있다. 여기서, 복수의 의도에 대한 응답 순서란 복수의 의도에 대한 우선 순위를 의미한다.
예를 들어, 사용자 음성을 문장 단위로 구분하는 경우, 사용자의 음성에 5가지 문장이 포함되고 각 문장에 의도가 포함된 경우를 상정하고, 사용자의 발화 순서에 따라 편의상 첫번째 문장을 #1, 다섯번째 문장을 #5로 표현한다. 일 예로, 프로세서(220)는 감정 정보 및 단어 사용 빈도에 기초하여 #2, #5, #1, #3, #4의 순서로 일차적으로 각 문장의 우선 순위를 구분할 수 있다. 이와 같이, 단어 사용 정보 및 사용자 관련 정보에 기초하여 식별된 우선 순위를 제1 우선 순위(또는 제1 응답 순서)라고 명명한다.
이후, 프로세서(220)는 의도 정보에 기초하여 제1 우선 순위를 재정렬 할 수 있다. 구체적으로, 프로세서(220)는 의도 정보에 기초하여 복수의 문장 중 동일 또는 유사한 의도를 가지는 문장이 인접 순위가 되도록 식별된 제1 우선 순위를 재정렬할 수 있다.
예를 들어, 세번째 순위로 식별된 #1이 첫번째 순위로 식별된 #2와 동일 또는 유사한 의도를 가진 문장으로 식별되면, 프로세서(220)는 세번째 순위의 #1을 첫번째 순위의 #2 바로 아래의 순위로 재정렬할 수 있다. 이에 따라, #1은 두번째 순위로 재정렬되어 #2, #1, #5, #3, #4의 순서가 될 수 있다.
문장의 우선 순위에 따라 각 문장에 대응되는 응답 순서가 결정되므로, 동일 또는 유사한 의도의 문장을 인접한 우선 순위로 설정하여 동일 또는 유사한 의도에 대한 답변이 연속적으로 제공되도록 할 수 있다. 예를 들어, #2가 배터리 문제이고, #1이 배터리 소모 문제인 경우, #2 및 #1을 인접하게 배치하여 배터리에 관한 답변이 연속적으로 제공되는 경우, 사용자의 이해도 및 편의가 증대될 수 있다.
한편, 프로세서(220)는 식별된 우선 순위에 기초하여 복수의 의도 중 적어도 하나에 대한 요약 정보 및 복수의 의도 각각에 대한 응답 정보를 단말 장치(100)로 제공할 수 있다. 이 경우, 단말 장치(100)는 응답 정보를 제공하기 전에 복수의 의도를 포함하는 사용자 음성에 대한 요약 정보를 제공할 수 있다.
구체적으로, 단말 장치(100)는 복수의 의도에 대한 정보 및 복수의 의도 각각에 대한 응답 순서 정보를 포함하는 요약 정보를 제공할 수 있다. 일 예로, 응답 정보에는 복수의 문장에 대하여 식별된 우선 순위 중 가장 높은 우선 순위의 문장에 대한 간략한 응답 정보, 복수의 문장 중 적어도 하나에 포함된 의도 정보 등이 포함될 수 있다.
예를 들어, 단말 장치(100)는 복수의 의도에 대하여 식별된 우선 순위 중 가장 높은 우선 순위의 의도에 대한 응답을 가장 먼저 제공해도 되는지 여부를 문의할 수 있다. 일 예로, 가장 높은 우선 순위의 의도가 "배터리 소모 문제"에 관한 문장인 경우, 단말 장치(100)는 디스플레이 또는 스피커를 통해 "먼저 배터리 소모 문제에 대해서 설명드려도 될까요?"와 같은 텍스트 또는 음성을 제공할 수 있다. 또는, 단말 장치(100)는 복수의 의도에 대한 식별된 전체의 우선 순위 리스트를 제공하고, 제공된 리스트 순서에 따라 응답을 제공해도 되는지 여부를 문의할 수 있다.
이후, 단말 장치(100)는 제공된 정보에 대한 사용자의 피드백이 입력되면, 입력된 사용자 피드백 정보를 서버(200)로 전송할 수 있다. 프로세서(220)는 수신된 사용자 피드백 정보에 기초하여 응답 정보의 제공 순서를 변경할 수 있다. 예를 들어, 사용자가 응답 순서에 대해 동의하지 않은 경우, 단말 장치(100)는 "그럼 어떤 문제에 대해서 먼저 알려드릴까요?" 또는 "답변 순서를 정렬해주세요"와 같은 텍스트 또는 음성을 제공하여 응답 정보의 제공 순서에 대한 피드백을 수신할 수 있다. 단말 장치(100)는 수신된 사용자 피드백 정보를 서버(200)로 전송하고, 프로세서(220)는 수신된 사용자 피드백 정보에 기초하여 응답 정보를 보정하여 단말 장치(100)로 전송할 수 있다. 구체적으로, 프로세서(220)는 사용자 피드백 정보에 기초하여 응답 정보의 제공 순서를 변경하고, 변경된 응답 정보를 단말 장치(100)로 제공할 수 있다.
단말 장치(100)는 수신된 응답 정보를 제공할 수 있다(S340).
한편, 단말 장치(100)에 요약 정보에 포함된 복수의 의도에 대한 정보가 사용자의 의도와 불일치한다는 사용자 피드백이 입력되는 경우를 상정한다. 다시 말해, 사용자가 의도한 질문을 서버(200)가 잘못 이해한 경우를 상정한다.
프로세서(130)는 요약 정보에 포함된 복수의 의도에 대한 정보가 사용자의 의도와 불일치한다는 사용자 피드백이 입력되면, 사용자 피드백에 대한 정보를 서버(200)로 전송할 수 있다.
이 경우, 서버(200)는 일반 사용자의 기설정된 빈도 수 이상의 질의에 관한 리스트 정보를 단말 장치(100)로 제공할 수 있다. 프로세서(130)는 서버(200)로부터 수신된 기설정된 빈도 수 이상의 질의에 관한 리스트 UI를 제공하도록 디스플레이(120)를 제어할 수 있다.
예를 들어, 서버(200)는 FAQ(Frequently Asked Questions) 리스트를 단말 장치(100)로 전송하고, 프로세서(130)는 디스플레이를 통해 FAQ 리스트를 제공하여 사용자가 의도한 질문을 선택하도록 유도할 수 있다.
한편, 서버(200)가 사용자 음성 또는 사용자 피드백에 대한 응답 정보가 획득되지 않은 경우를 상정한다. 다시 말해, 서버(200)가 사용자 음성에 포함된 의도를 식별하지 못하였거나, 사용자 의도에 대한 응답 정보가 검색되지 않는 경우를 상정한다.
이 경우, 서버(200)는 사용자 음성 또는 사용자 피드백에 대하여 응답 정보가 획득되지 않았음을 나타내는 신호를 단말 장치(100)로 전송할 수 있다. 프로세서(130)는 서버(200)로부터 사용자 음성 또는 사용자 피드백에 대하여 응답 정보가 획득되지 않았음을 나타내는 신호가 수신되면, 기존에 제공되던 제1 음성과 상이한 제2 음성으로 사용자 음성 또는 사용자 피드백에 대한 응답 정보를 제공함을 나타내는 UI를 디스플레이할 수 있다.
다시 말해, 기존에는 서버(200)에 포함된 제1 음성의 챗봇을 통해 요약 정보 또는 응답 정보를 제공하였으나, 서버(200)가 사용자 질의에 대한 대답을 찾지 못한 경우, 제2 음성의 인간 상담원이 사용자 질의에 대한 대답을 제공할 수 있다. 다만, 사용자는 제1 음성의 인간 상담원이 제2 음성의 인간 상담원으로 변경되어 사용자 질의에 대한 대답을 제공받는 것으로 인식할 수 있다.
한편, 프로세서(220)는 복수의 의도에 대한 정보 및 사용자 피드백 정보에 기초하여 서버(200)의 메모리에 저장된 단말 장치(100)의 프로필 정보를 업데이트할 수 있다. 여기서, 프로필 정보는 단말 장치(100)의 전화 번호 및 사용자 특징 정보 등을 포함할 수 있다. 사용자 특징 정보란 사용자가 자주 문의하는 내용에 기초하여 누적되는 정보이다. 예를 들어, 스마트 폰에 대해 자주 문의하는 사용자의 경우, 프로세서(220)가 해당 사용자의 의도 식별 시 스마트 폰에 대한 정보를 고려하여 식별할 수 있다. 또한, 예를 들어, 사용자 피드백 정보에 따라 스마트 폰의 발열 문제가 가장 먼저 듣고 싶은 정보로 선택되는 경우, 프로세서(220)는 이후부터 해당 사용자의 경우 발열 문제에 높은 가중치를 부여하여 복수의 의도에 대한 우선 순위를 식별하는 등 프로필 정보를 업데이트할 수 있다.
다시 말해, 프로세서(220)는 업데이트된 프로필 정보에 기초하여 사용자 음성에 대한 정보를 생성할 수 있다.
한편, 사용자가 응답 순서에 대해 동의한 경우, 단말 장치(100)는 식별된 우선 순위에 기초하여 복수의 문장 각각에 대한 응답 정보를 순차적으로 제공할 수 있다.
프로세서(220)는 사용자 관련 정보에 기초하여 응답 정보에 대한 템플릿을 획득하고, 획득된 템플릿에 기초하여 복수의 의도 각각에 대한 응답 정보를 순차적으로 제공할 수 있다. 예를 들어, 프로세서(220)는 사용자 관련 정보에 기초하여 메모리(미도시)에 저장된 템플릿을 획득하거나 외부 서버로부터 템플릿을 획득할 수 있다. 여기서, 템플릿에 따라 제공되는 말투, 제공되는 응답 정보 제공시 발화 속도 등이 변경될 수 있다.
일 예에 따르면, 프로세서(220)는 사용자의 감정 정보에 기초하여 템플릿을 획득할 수 있다. 예를 들어, 사용자의 감정 정보가 "매우 불만스러움" 상태인 경우, 프로세서(220)는 사과의 말투가 포함된 템플릿을 획득하여 단말 장치(100)로 제공할 수 있다. 또는, 사용자의 나이가 기설정된 나이 이상인 경우, 프로세서(220)는 존칭이 포함된 템플릿을 획득하거나 응답 정보 제공시 발화 속도가 느린 템플릿을 획득할 수 있다. 또는, 사용자 음성에 특정 지역의 방언이 포함된 경우, 프로세서(220)는 해당 방언을 포함하는 말투의 템플릿을 획득하여 응답 정보를 단말 장치(100)로 제공할 수 있다.
한편, 단말 장치(100)가 입력된 사용자 음성을 서버(200)로 전송하고, 서버(200)가 사용자 음성을 이해하고 응답하는 실시 예로 상술하였으나, 이에 한정되는 것은 아니다.
다른 실시 예에 따르면, 단말 장치(100)는 인공 지능 모델(또는 신경망 모델 또는 학습 네트워크 모델)을 이용하는 가상 비서를 통해 사용자 음성을 이해하고 응답하는 장치일 수 있다. 이 경우, 별도의 챗봇을 포함하는 서버(200)가 존재하지 않으며, 단말 장치(100)가 직접 사용자 음성을 이해하고 사용자 음성에 대응되는 응답 정보를 제공할 수도 있다. 여기서, 가상 비서 기능은 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다. 가상 비서 기능은 일 예로, 빅스비TM, 어시스턴트TM, 알렉사TM 등과 같은 인공지능 에이전트를 이용하는 시스템으로 구현될 수 있으며, AI 비서, 음성 비서, 가상 비서 등으로 불릴 수 있으나, 이하에서는 설명의 편의를 위해 가상 비서로 통칭한다. 가상 비서 기능은, 기설정된 사용자 음성(예를 들어, "빅스비" 등)이 입력되거나 단말 장치(100)에 구비된 버튼(예를 들어, 음성 비서를 실행하기 위한 버튼)이 눌러진 경우 실행될 수 있다. 음성 비서 기능 실행 중에 사용자 음성이 입력되면 단말 장치(100)는 이를 서버로 전송하고 서버로부터 사용자 음성에 대응되는 응답 정보를 수신할 수 있다. 이후, 단말 장치(100)는 수신된 응답 정보를 스피커(미도시) 또는 디스플레이(120) 등을 통해 제공할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 단어 사용 정보 및 사용자 관련 정보를 획득하는 동작을 설명하기 위한 도면이다.
도 4는 도 3의 S310 단계 및 S320 단계를 자세히 설명하기 위한 도면이다.
프로세서(220)는 사용자 음성이 입력되면(S410), 사용자 음성 데이터를 의도 단위로 구분하여 복수의 데이터로 세그먼테이션할 수 있다(S420). 예를 들어, "제 갤럭시 폰이 불량인 것 같아요. 폰이 뜨거워져서 못 쓰겠어요. 게임을 하면 갑자기 폰이 뜨거워져요. 폰이 터질 것 같아서 겁나요. 무상 교환이 가능할까요? 아니면 가까운 서비스 센터 위치를 알려줘요"와 같은 사용자 음성이 입력된 경우를 상정한다. 이 경우, 프로세서(220)는 "제 갤럭시 폰이 불량인 것 같아요", "폰이 뜨거워져서 못 쓰겠어요", "게임을 하면 갑자기 폰이 뜨거워져요", "폰이 터질 것 같아서 겁나요", "무상 교환이 가능할까요?", "아니면 가까운 서비스 센터 위치를 알려줘요"와 같이 의도 단위에 기초하여 6개의 데이터로 세그먼테이션할 수 있다. 예를 들어, 각 의도가 문장에 포함된 경우 사용자 음성 데이터는 문장 별로 구분될 수 있으나 이에 한정되는 것은 아니다.
프로세서(220)는 세그먼테이션된 복수의 음성 데이터 각각에 대응되는 텍스트 데이터를 획득할 수 있다(S430). 일 예로, 프로세서(220)는 자동 음성 인식(ASR) 모듈을 이용하여 복수의 음성 데이터 각각을 텍스트 데이터로 변환할 수 있다.
또한, 프로세서(220)는 세그먼테이션된 복수의 음성 데이터 각각으로부터 특징 정보를 획득할 수 있다(S440). 예를 들어, 프로세서(220)는 첫번째 문장의 음성 길이는 2초, 크기는 70%, 발화 속도는 보통, 피치는 보통이라는 특징 데이터 및 두번째 문장의 음성 길이는 1.5초, 크기는 75%, 발화 속도는 보통, 피치는 높음이라는 특징 데이터를 획득할 수 있다.
프로세서(220)는 텍스트 데이터에 기초하여, 단어 사용 정보를 획득할 수 있다(S450). 구체적으로, 프로세서(220)는 복수의 텍스트 데이터에서 가장 많이 반복되는 단어를 식별하고, 식별된 단어의 반복 빈도를 식별할 수 있다. 예를 들어, "제 갤럭시 폰이 불량인 것 같아요. 폰이 뜨거워져서 못 쓰겠어요. 게임을 하면 갑자기 폰이 뜨거워져요. 폰이 터질 것 같아서 겁나요. 무상 교환이 가능할까요? 아니면 가까운 서비스 센터 위치를 알려줘요"에서 가장 많이 반복되는 단어는 '폰'이고, 6개의 문장 중 '폰'이 4회 사용되어 반복 사용 빈도는 '보통'으로 식별될 수 있다. 또는 제2 모델은 각 문장에서 가장 많이 반복되는 단어 및 해당 단어의 반복 빈도를 식별할 수도 있다. 다시 말해, 프로세서(220)는 단어 사용 정보 즉, 사용자의 언어 성향에 관한 정보를 획득할 수 있다.
또한, 프로세서(220)는 음성 데이터의 특징 정보에 기초하여, 사용자 관련 정보를 획득할 수 있다(S460). 구체적으로, 프로세서(220)는 음성 데이터의 특징 정보에 기초하여 사용자의 나이, 성별을 포함하는 프로필 정보 또는 사용자 감정 정보 중 적어도 하나를 획득할 수 있다. 예를 들어, 프로세서(220)는 사용자 음성의 볼륨이 크고, 발화 속도가 빠른 경우 사용자 감정 정보를 불만스러운 상태로 식별할 수 있다. 이와 같은 감정 정보는 복수의 단계로 구별되어 식별될 수 있다. 예를 들어, 감정 정보는 불만스러움, 보통, 만족스러움 등이 있으며, 각 감정 정보는 "매우 높음, 높음, 보통, 낮음, 매우 낮음" 등의 복수의 단계로 구별될 수 있다. 사용자의 불만스러운 감정이 높게 측정되는 문장은 높은 우선 순위를 가질 수 있다.
한편, 복수의 문장을 발화하는 사용자는 변경되지 않는 것이 일반적이므로, 제2 모델은 사용자 음성 데이터의 일부에 기초하여 사용자 프로필 정보를 식별할 수 있다. 예를 들어, 프로세서(220)는 사용자 음성 중 첫번째 문장만으로 사용자 프로필 정보를 식별하고, 이후의 문장에 대하여는 사용자 프로필 정보를 식별하지 않을 수 있다. 다만, 사용자 감정 정보의 경우에는 각 문장 마다 변경될 수 있으므로, 프로세서(220)는 복수의 문장 각각에서 사용자 감정 정보를 식별할 수 있다.
한편, 프로세서(220)는 단어 사용 정보 및 사용자 관련 정보를 결합하여 결합 정보를 획득할 수 있다. 예를 들어, 결합 정보에는 "나이:30대, 성별:여, 감정 정보:매우 불만스러움, 최대 반복 단어:폰, 단어 반복 빈도:보통"이 포함될 수 있다.
도 5는 본 개시의 일 실시 예에 따른 사용자 음성에 포함된 복수의 의도에 대한 응답 순서를 식별하는 동작을 설명하기 위한 도면이다.
도 5는 도 3의 S330 단계를 구체적으로 설명하기 위한 도면이다.
프로세서(220)는 텍스트 데이터에 포함된 의도(intent)를 분류할 수 있다(S510). 일 예로, 프로세서(220)는 Intent Classification 모델을 통해 각 텍스트 데이터에 포함된 의도를 분류할 수 있다. 구체적으로, 프로세서(220)는 각 문장 별로 "intent_id"를 부여할 수 있다. 예를 들어, "intent_id=1"은 배터리 문제를 의미하고, "intent_id=6"은 배터리 소모 문제를 의미할 수 있다. 또한, "intent_id=-1"은 의도가 식별되지 않은 경우를 의미한다. 이와 같은, intent_id는 테이블 형태의 정보로 메모리에 저장되어 있으며, 프로세서(220)는 각 텍스트 데이터에 포함된 키워드 정보를 분석하여 각 문장 별로 intent_id를 부여할 수 있다. 또한, 프로세서(220)는 텍스트 데이터에 기초하여 각 문장의 타입을 식별할 수 있다. 예를 들어, 프로세서(220)는 각 의도가 포함된 문장이 질의인지 잡담인지 여부를 식별할 수 있다. 일 예로, 사용자 음성을 텍스트로 변환하는 과정에서 사용자의 억양 등에 기초하여 각 문장이 마침표로 끝나는지 물음표로 끝나는지 등이 결정되어 마침표 또는 물음표가 텍스트 데이터에 반영될 수 있다. 프로세서(220)는 이와 같이 물음표가 기재된 텍스트 데이터는 질의로 식별할 수 있다.
프로세서(220)는 각 텍스트 데이터 별로 intent_id 정보 및 타입 정보를 데이터베이스로 전송하고, 데이터베이스로부터 각 텍스트 데이터에 대한 parent intent_id, 일반 사용 빈도 정보를 획득할 수 있다. 여기서, parent intent_id는 intent_id의 최상위 단계에서의 분류 정보를 의미한다. 예를 들어, 배터리 소모 문제를 의미하는 "intent_id=6"의 parent intent_id는 배터리 문제를 의미하는 "intent_id=1"일 수 있다. 배터리 문제는 배터리 소모 문제를 포함하는 상위의 개념이기 때문이다. 이와 같은 각 intent_id의 parent intent_id 정보는 데이터베이스에 테이블 형태로 저장되어 있을 수 있다.
또한, 프로세서(220)는 각 텍스트 데이터 별로 intent_id에 대응되는 일반 사용 빈도 정보를 획득할 수 있다. 여기서, 데이터베이스로부터 획득되는 일반 사용 빈도 정보는 일반 사용자의 사용 정보일 수 있다. 예를 들어, 프로세서(220)는 일반 사용자가 배터리 소모 문제를 의미하는 "intent_id=6"에 대한 질의 또는 잡담이 얼마나 자주 입력되었는지 여부를 획득할 수 있다. 이러한 일반 사용 빈도 정보는 "매우 높음, 높음, 보통, 낮음, 매우 낮음"과 같이 복수의 단계로 구별될 수 있다.
다시 말해, 프로세서(220)는 각 문장의 intent_id, parent intent_id, 타입, 일반 사용 빈도 정보 등이 포함된 의도 정보에 기초하여 의도를 분류할 수 있다.
또한, 프로세서(220)는 각 문장에 대응되는 텍스트 데이터에서 개체명(entity)을 인식할 수 있다(S520). 일 예로, 프로세서(220)는 NER(Named Entity Recognition) 모델을 통해 각 문장에 포함된 개체명을 인식할 수 있다. 여기서, 개체명 인식이란 이름을 가진 개체(named entity)를 인식하는 것을 의미한다. 예를 들어, "갤럭시 A폰이 불량인 것 같아요"라는 텍스트 데이터에서 NER 모델은 "갤럭시 A"를 개체명으로 인식할 수 있다.
이후, 프로세서(220)는 의도 정보 및 개체명 인식 정보가 포함된 정보를 획득할 수 있다. 예를 들어, 획득된 정보에는 "텍스트:제 갤럭시 A폰이 불량인 것 같아요, 개체명:갤럭시 A, 타입:질의, intent_id:1, 일반 사용 빈도:매우 높음, parent intent_id:1"이 포함될 수 있다. 이와 같은 예시는 하나의 문장에 대한 출력 정보이며, 나머지 문장에 대해서도 이러한 정보가 획득될 수 있다.
프로세서(220)는 의도 정보, 개체명 인식 정보가 포함된 정보 및 이전에 획득된 결합 정보를 모두 결합하여 사용자 음성에 대한 결합 정보를 획득할 수 있다. 예를 들어, "사용자 성향=나이:30대, 성별:여, 감정 정보:매우 불만스러움, 최대 반복 단어:폰, 단어 반복 빈도:보통/ 문장 분석=텍스트:제 갤럭시 A폰이 불량인 것 같아요, 개체명:갤럭시 A, 타입:질의, intent_id:1, 일반 사용 빈도:매우 높음, parent intent_id:1"와 같이 결합될 수 있다. 상술한 예시는 하나의 문장에 대한 정보만을 기재하였으나, 복수의 문장 각각에 대해 정보가 결합될 수 있음은 물론이다.
프로세서(220)는 단어 사용 정보(키워드 정보) 및 사용자 관련 정보(감정 정보)에 기초하여 복수의 의도에 대한 제1 우선 순위를 식별할 수 있다(S530).
프로세서(220)는 사용자 음성에 대한 결합정보에서 최대 반복 단어 및 단어 반복 빈도를 식별할 수 있다. 프로세서(220)는 최대 반복 단어를 키워드로 식별하고, 키워드가 포함된 문장을 식별할 수 있다. 프로세서(220)는 식별된 키워드가 포함된 문장의 감정 정보를 식별하고, 식별된 감정 정보의 단계에 기초하여 각 의도가 포함된 복수의 문장 각각에 대한 우선 순위를 식별할 수 있다. 구체적으로, 프로세서(220)는 불만스러운 감정이 높은 문장에 높은 우선 순위를 부여할 수 있다. 한편, 프로세서(220)는 감정 정보뿐만 아니라 일반 사용 빈도에 기초하여 복수의 문장의 우선 순위를 식별할 수도 있다. 일 예로, 서로 다른 문장의 감정 정보의 단계가 동일한 경우, 프로세서(220)는 일반 사용 빈도가 높은 문장에 더 높은 우선 순위를 부여할 수 있다. 즉, 프로세서(220)는 감정 정보를 우선 고려하고, 일반 사용 빈도를 고려할 수도 있다. 또한, 프로세서(220)는 최대 반복 단어가 존재하나 키워드가 포함되지 않은 문장은 키워드가 포함된 문장 이후의 우선 순위를 부여하며 감정 정보에 따라 우선 순위를 식별할 수 있다. 여기서, 각 의도는 서로 다른 문장에 포함되는 것으로 상술하였으나 하나의 문장에 복수의 의도가 포함될 수 있음은 물론이다.
한편, 프로세서(220)는 최대 반복 단어도 존재하지 않아 모든 문장에 키워드가 포함되지 않은 것으로 식별되면, 감정 정보에 따라 복수의 문장의 우선 순위를 식별할 수 있다.
다시 말해, 프로세서(220)는 단어 사용 정보(키워드 정보) 및 사용자 관련 정보(감정 정보)에 기초하여 복수의 문장에 대한 제1 우선 순위를 식별할 수 있다.
이후, 프로세서(220)는 의도 정보에 기초하여 식별된 제1 우선 순위를 재정렬하여 복수의 의도 각각에 대한 우선 순위를 식별할 수 있다(S540). 일 예로, 프로세서(220)는 제1 우선 순위에 기초하여 정렬된 문장에서 동일 또는 유사한 의도 정보를 갖는 문장을 그룹핑할 수 있다. 구체적으로, 제4 모델은 각 문장의 "parent intent_id"를 식별하고 동일한 "parent intent_id"를 갖는 문장을 그룹핑할 수 있다.
예를 들어, 사용자 음성에 다섯 개의 문장이 포함되어 있으며 편의상 각 문장을 #1, #2, #3, #4, #5로 상정한다. 감정 정보에 기초하여 #2, #5, #1, #3, #4의 순서로 제1 우선 순위가 식별될 수 있다. 제4 모델은 각 문장에 포함된 "parent intent_id"를 식별할 수 있다. #2(parent intent_id=1), #5(parent intent_id=3), #1(parent intent_id=1), #3(parent intent_id=none), #4(parent intent_id=3)인 경우를 상정한다.
이 경우, #2 및 #1은 parent intent_id가 동일하므로 하나의 그룹으로 구분될 수 있다. 다만, #2는 #1 보다 감정 정보에 기초하여 높은 우선 순위를 가지므로 #2는 #1보다 앞서서 배치될 수 있다.
또한, #5 및 #4는 parent intent_id가 동일하므로 하나의 그룹으로 구분될 수 있다. 마찬가지로, #5는 #4 보다 감정 정보에 기초하여 높은 우선 순위를 가지므로 #5는 #4보다 앞서서 배치될 수 있다.
이와 같이, parent intent_id=1을 갖는 #2 및 #1이 제1 그룹이고, parent intent_id=3을 갖는 #5 및 #4이 제2 그룹으로 구분될 수 있는데, 이 중 #2가 #5보다 감정 정보에 기초하여 높은 우선 순위를 가지므로 제1 그룹이 제2 그룹보다 높은 우선 순위를 가질 수 있다.
이에 따라, 제1 우선 순위는 #2, #1, #5, #4, #3로 재정렬될 수 있다.
한편, 프로세서(220)는 Phrase Extraction 머신러닝 모델을 통해 intent가 분류되지 않은 문장의 텍스트에서 Phrase들을 추출할 수 있다. 프로세서(220)는 추출된 Phrase들을 재정렬된 문장에 대한 정보에 포함시킬 수 있다.
도 6은 본 개시의 일 실시 예에 따른 응답 정보를 제공하는 동작을 설명하기 위한 도면이다.
도 6은 도 3의 S340 단계를 구체적으로 설명하기 위한 도면이다.
프로세서(220)는 재정렬된 우선 순위에 기초하여 요약 정보를 생성하여 단말 장치(100)로 제공할 수 있다(S610). 구체적으로, 요약 정보는 복수의 의도가 포함된 사용자 음성을 요약하기 위한 것으로서, 복수의 의도에 대한 정보 및 복수의 의도 각각에 대한 응답 순서 정보를 포함할 수 있다.
예를 들어, 단말 장치(100)는 서버(200)로부터 제공된 요약 정보에 기초하여 "고객님의 스마트폰 사용에 불편함을 많이 느끼신 것 같아 정말 죄송합니다(초기 답변). 영상을 보거나 고성능 게임을 플레이하시는 경우, 발열 현상이 있을 수 있습니다(첫번째 우선 순위 문장에 대한 간략한 응답 정보). 그리고 고객님께서 궁금하신 내용은 A, B 및 C 인 것 같습니다. 이 순서로 답변드려도 될까요?" 와 같은 요약 정보를 제공할 수 있다. 다시 말해, 요약 정보에는 사용자 음성에 포함된 복수의 의도에 해당되는 A, B 및 C를 포함되어 사용자의 의도와 매칭되는지 확인할 수 있다. 이에 대하여는 하기에서 자세히 설명하도록 한다.
프로세서(220)는 사용자 관련 정보에 기초하여 메모리 또는 외부 서버로부터 요약 정보에 대한 템플릿을 획득하고, 획득된 템플릿에 기초하여 요약 정보를 제공할 수 있다. 예를 들어, 프로세서(220)는 사용자 관련 정보에 기초하여 쿼리를 생성하고, 생성된 쿼리에 기초하여 메모리로부터 요약 응답에 대한 템플릿을 획득할 수 있다.
프로세서(220)는 복수의 문장의 키워드에 대한 내용에 기초하여 초기 답변을 생성할 수 있다. 또한, 프로세서(220)는 첫번째 우선 순위 문장의 의도 정보, 키워드 정보, intent가 분류되지 않은 문장에서 추출된 Phrase 등에 기초하여 첫번째 우선 순위 문장에 대한 간략한 응답 정보를 생성할 수 있다. 또한, 프로세서(220)는 복수의 의도에 대한 정보 및 제1 우선 순위가 재정렬된 우선 순위에 기초하여 응답 순서 정보를 제공할 수 있다.
한편, 프로세서(220)는 요약 정보를 단말 장치(100)로 제공한 이후, 단말 장치(100)를 통해 요약 정보에 포함된 응답 정보의 제공 순서를 문의할 수 있다(S620). 구체적으로, 프로세서(220)는 단말 장치(100)를 통해 식별된 응답 정보의 제공 순서 대한 정보를 제공하고 이에 대한 피드백을 요청할 수 있다.
사용자로부터 제공 순서에 대한 피드백이 입력되면, 입력된 피드백에 기초하여 응답 정보의 제공 순서를 변경할 수 있다(S630).
이후, 프로세서(220)는 단말 장치(100)를 통해 변경된 응답 정보의 제공 순서에 기초하여 응답 정보를 순차적으로 제공할 수 있다(S740).
예를 들어, 프로세서(220)는 단말 장치(100)를 통해 "먼저 배터리 소모 문제에 대해 설명드려도 될까요?"와 같은 문의를 제공하고, 사용자로부터 동의의 피드백이 입력되면 응답 정보의 제공 순서에 기초하여 응답 정보를 순차적으로 제공할 수 있다. 또는 사용자로부터 응답 순서에 대한 부동의 피드백이 입력되면, 프로세서(220)는 응답 정보의 제공 순서에 대한 추가적인 피드백을 단말 장치(100)를 통해 요청할 수 있다. 예를 들어, "그럼 어떤 문제에 대해 먼저 알려드릴까요?"와 같이 추가적인 피드백이 요청될 수 있다. 프로세서(220)는 이에 따라 입력된 사용자 피드백에 기초하여 응답 정보의 제공 순서를 변경하고, 변경된 순서에 기초하여 응답 정보를 제공할 수 있다.
일 예로, 프로세서(220)는 사용자 관련 정보에 기초하여 메모리 또는 외부 서버로부터 응답 정보에 대한 템플릿을 획득하고, 획득된 템플릿에 기초하여 응답 정보를 제공할 수 있다. 예를 들어, 프로세서(220)는 사용자 관련 정보에 기초하여 쿼리를 생성하고, 생성된 쿼리에 기초하여 메모리로부터 요약 응답에 대한 템플릿을 획득할 수 있다. 여기서, 쿼리는 복수의 문장 각각에 대해 별도로 생성될 수 있으며, 쿼리 생성시에 intent_id가 추가적으로 이용될 수도 있다. 여기서, 템플릿에 따라 제공되는 말투, 제공되는 응답 정보 제공시 발화 속도 등이 변경될 수 있다. 한편, 템플릿에 포함된 슬롯을 다 채우지 못한 경우, 프로세서(220)는 채워지지 않은 슬롯에 대한 추가 질문을 단말 장치(100)로 제공하고, 추가 질문에 대한 피드백에 기초하여 응답 정보를 생성할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 요약 정보를 제공하는 UI의 예시를 나타내는 도면이다.
도 7에 따르면, 단말 장치(100)는 요약 정보를 제공하는 UI를 디스플레이(120)를 통해 제공할 수 있다. 예를 들어, 단말 장치(100)는 채팅 창 형태의 UI를 통해 요약 정보를 제공하며, 일 예로 "안녕하세요. 고객님의 [갤럭시 A] 사용에 불편함을 많이 느끼신 것 같아 정말 죄송합니다. 영상을 보거나 고성능 게임을 플레이하시는 경우, 발열 현상이 있을 수 있습니다"와 같이, 개체명 정보(예를 들어, 갤럭시 A) 및 감정 정보(예를 들어, 불만)에 기초하여 간단한 인사말을 제공할 수 있다. 또한, 단말 장치(100)는 사용자 음성에 포함된 복수의 의도를 UI를 통해 제공할 수 있다. 예를 들어, 사용자 음성에 포함된 의도가 발열 문제, A/S 가능 여부, A/S 센터 위치에 관한 것으로 식별되면, 단말 장치(100)는 "고객님이 문의주신 내용은 발열 문제, A/S 가능 여부, A/S 센터 위치인데, 맞습니까?"와 같이 사용자 의도를 제공하고 "맞으면, 예 다르면 아니오를 말씀해주세요"와 같이 이에 대한 피드백을 요청할 수 있다.
한편, 단말 장치(100)는 상술한 요약 정보를 UI를 통해 디스플레이할 뿐만 아니라 오디오 출력부(140)를 통해 음성으로 제공할 수도 있다. 또한, 단말 장치(100)는 사용자 피드백을 디스플레이(120)의 터치뿐만 아니라 마이크를 통한 사용자 음성을 입력 받을 수도 있다.이와 같이, 사용자는 챗봇의 음성뿐만 아니라 UI를 통해 요약 정보를 제공받으므로 사용성이 향상되고 편의성이 증대될 수 있다.
도 8은 본 개시의 일 실시 예에 따른 응답 순서가 변경되는 동작을 설명하기 위한 도면이다.
단말 장치(100)는 복수의 의도에 대한 정보 및 복수의 의도 각각에 대한 응답 순서 정보가 포함된 요약 정보를 디스플레이(120)를 통해 제공할 수 있다. 일 예로, 단말 장치(100)는 상술한 제1 우선 순위가 재정렬된 복수의 의도에 대한 응답 순서를 제공할 수 있다. 예를 들어, 식별된 응답 순서가 "발열 문제", "A/S 가능 여부", "A/S 센터 위치 정보" 및 "배터리 소모 문제" 인 경우, 단말 장치(100)는 도 8과 같이, 순서대로 의도를 나열할 수 있다. 또한, 단말 장치(100)는 이와 함께 응답 순서에 대한 사용자 피드백을 요청할 수 있다. 예를 들어, 단말 장치(100)는 "답변 드릴 순서를 손으로 터치하여 변경해주세요"와 같은 메시지를 제공할 수 있다. 이 경우, 사용자는 사용자 터치를 통해 각 의도에 대한 UI를 드래그 앤 드랍 형식으로 이동시킬 수 있다. 이에 따라, 복수의 의도에 대한 응답 순서가 변경될 수 있다. 이후, 단말 장치(100)는 변경된 응답 순서를 서버(200)로 제공하고 서버(200)는 수신된 응답 순서에 기초하여 응답 정보를 단말 장치(100)로 제공할 수 있다. 이후, 단말 장치(100)는 디스플레이(120) 및 오디오 출력부(140)를 통해 수신된 응답 정보를 제공할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 단말 장치 및 서버의 구성을 설명하기 위한 블록도이다.
도 9에 따르면, 단말 장치(100)는 통신 인터페이스(110), 디스플레이(120) 및 프로세서(130)를 포함한다.
통신 인터페이스(110)는 회로(circuitry)를 포함하며, 서버(200) 또는 외부 장치(미도시)와 통신할 수 있는 구성이다.
일 실시 예에 따라, 통신 인터페이스(110)는 무선 기지국을 통해 서버(200)와 통신을 수행할 수 있다. 구체적으로, 통신 인터페이스(110)는 가까운 무선 기지국을 식별하고, 식별된 기지국과 기설정된 주파수를 통해 서버(200)와 통신을 수행할 수 있다. 일 예로, 통신 인터페이스(110)는 사용자 음성을 전파를 통해 서버(200)로 전송할 수 있다.
디스플레이(120)는 서버(200)로부터 전송된 다양한 정보를 디스플레이하는 구성이다.
디스플레이(120)는 LCD(liquid crystal display), OLED(organic light-emitting diode), LCoS(Liquid Crystal on Silicon), DLP(Digital Light Processing), QD(quantum dot) 디스플레이 패널, QLED(quantum dot light-emitting diodes), 마이크로 LED(micro light-emitting diode) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다.
디스플레이(120)는 프로세서(130)의 제어에 따라 사용자 음성에 대응되는 요약 정보 및 응답 정보를 제공할 수 있다. 또한, 디스플레이(120)는 응답 정보의 제공 순서에 대한 피드백을 받기 위해 식별된 응답 순서를 디스플레이할 수 있다.
한편, 디스플레이(120)는 터치패드와 상호 레이어 구조를 이루는 터치스크린 형태로 구현될 수 있다. 여기서, 터치스크린은 터치 입력 위치 및 면적뿐만 아니라 터치 입력 압력까지도 검출할 수 있도록 구성될 수 있다.
프로세서(130)는 메모리와 전기적으로 연결되며, 단말 장치(100)의 전반적인 동작을 제어한다. 프로세서(130)는 메모리에 저장된 각종 명령어 또는 프로그램을 이용하여 단말 장치(100)의 동작을 전반적으로 제어한다. 특히, 일 실시 예에 따르면, 메인 CPU가 ROM에 저장된 명령어에 따라 프로그램을 RAM에 복사하고, RAM에 액세스하여 해당 프로그램을 실행시킬 수 있다. 여기서, 프로그램은 인공지능 모델 등을 포함할 수 있다.
단말 장치(100)는 상술한 구성 외에도 오디오 출력부(140), 메모리 등의 구성을 도 포함할 수 있다.
오디오 출력부(140)는 오디오 신호를 출력하기 위한 구성이다. 오디오 출력부(140)는 스피커로 구현될 수 있으며, 경우에 따라 사운드 바와 같이 단말 장치(100)의 외부 구성으로 구현될 수도 있다.
오디오 출력부(140)는 사용자 음성에 대응되는 요약 정보 및 응답 정보를 제공할 수 있다. 또한, 오디오 출력부(140)는 응답 정보의 제공 순서에 대한 피드백을 받기 위해 식별된 응답 순서를 제공할 수도 있다.
메모리는 프로세서(130)와 전기적으로 연결되며, 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다.
메모리는 적어도 하나의 인스트럭션을 저장하는 구성으로서, 데이터 저장 용도에 따라 단말 장치(100)에 임베디드된 메모리 형태로 구현되거나, 단말 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 단말 장치(100)의 구동을 위한 데이터의 경우 단말 장치(100)에 임베디드된 메모리에 저장되고, 단말 장치(100)의 확장 기능을 위한 데이터의 경우 단말 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 단말 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 단말 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 실시 예에 따라, 단말 장치(100)가 가상 비서를 포함하여, 사용자 음성에 대응되는 응답 정보를 직접 제공하는 경우, 메모리는 가상 비서를 수행하기 위해 필요한 모델들을 저장할 수 있다. 예를 들어, 메모리는 자동 음성 인식(Automatic Speech Recognition, ASR) 모델, NLU(Natural Language Understanding) 모델, DM(dialogue manager) 모델, NLG(natural language generator) 모델, TTS(text to speech) 모델 등을 저장할 수 있다. 한편, 서버(200)는 통신 인터페이스(210) 및 프로세서(220)를 포함한다. 서버(200)에 포함된 통신 인터페이스(210) 및 프로세서(220)는 단말 장치(100)의 구성과 중복되므로 자세한 설명은 생략한다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 단말 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 단말 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 단말 장치에 구비된 임베디드 서버, 또는 단말 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 단말 장치를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 단말 장치 110 : 통신 인터페이스
120 : 디스플레이 130 : 프로세서
200 : 서버 210 : 통신 인터페이스
220 : 프로세서 1000 : 전자 시스템

Claims (20)

  1. 회로(circuitry)를 포함하는 통신 인터페이스;
    디스플레이; 및
    복수의 의도를 포함하는 사용자 음성을 외부 서버로 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 외부 서버로부터 상기 사용자 음성에 포함된 단어 사용 정보 및 사용자 관련 정보에 기초하여 생성된 상기 사용자 음성에 대한 요약 정보가 수신되면, 상기 수신된 요약 정보를 디스플레이 하도록 상기 디스플레이를 제어하고,
    상기 요약 정보에 관한 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하고,
    상기 외부 서버로부터 상기 사용자 피드백에 기초하여 생성된 상기 사용자 음성에 대한 응답 정보가 수신되면, 상기 응답 정보를 제공하도록 상기 디스플레이를 제어하는 프로세서;를 포함하는 단말 장치.
  2. 제1항에 있어서,
    상기 요약 정보는,
    상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보를 포함하는, 단말 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 요약 정보에 포함된 상기 복수의 의도에 대한 정보가 사용자의 의도와 불일치한다는 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하고,
    상기 외부 서버로부터 수신된 기설정된 빈도 수 이상의 질의에 관한 리스트 UI를 제공하도록 상기 디스플레이를 제어하는, 단말 장치.
  4. 제1항에 있어서,
    오디오 출력부;를 더 포함하고,
    상기 프로세서는,
    상기 요약 정보 또는 상기 응답 정보를 제1 음성으로 제공하도록 상기 오디오 출력부를 제어하고,
    상기 외부 서버로부터 상기 사용자 피드백에 대하여 응답 정보가 획득되지 않았음을 나타내는 신호가 수신되면, 상기 제1 음성과 상이한 제2 음성으로 상기 사용자 피드백에 대한 응답 정보를 제공함을 나타내는 UI를 디스플레이하도록 상기 디스플레이를 제어하는, 단말 장치.
  5. 서버에 있어서,
    회로(circuitry)를 포함하는 통신 인터페이스; 및
    상기 통신 인터페이스를 통해 단말 장치로부터 수신된 사용자 음성에 복수의 의도가 포함된 것으로 식별되면, 상기 사용자 음성에서 단어 사용 정보 및 사용자 관련 정보를 획득하고,
    상기 획득된 단어 사용 정보 및 사용자 관련 정보에 기초하여 상기 복수의 의도에 대한 응답 순서를 식별하고,
    상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보가 포함된 요약 정보를 상기 단말 장치로 제공하도록 상기 통신 인터페이스를 제어하는 프로세서;를 포함하는 서버.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 식별된 응답 순서에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하고,
    상기 단말 장치로부터 상기 요약 정보에 관한 사용자 피드백 정보가 수신되면, 상기 사용자 피드백 정보에 기초하여 응답 정보를 보정하여 상기 단말 장치로 전송하는, 서버.
  7. 제6항에 있어서,
    상기 단말 장치의 프로필 정보가 저장된 메모리;를 더 포함하고,
    상기 프로세서는,
    상기 복수의 의도에 대한 정보 및 상기 사용자 피드백 정보에 기초하여 상기 프로필 정보를 업데이트하고,
    상기 업데이트된 프로필 정보에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하는, 서버.
  8. 제5항에 있어서,
    상기 프로세서는,
    상기 복수의 의도 각각에 대응되는 음성 데이터의 특징 정보 및 상기 음성 데이터의 텍스트 데이터를 획득하고,
    상기 텍스트 데이터에 기초하여 상기 단어 사용 정보를 획득하고,
    상기 음성 데이터의 특징 정보에 기초하여 상기 사용자 관련 정보를 획득하는, 서버.
  9. 제8항에 있어서,
    상기 음성 데이터의 특징 정보는,
    상기 음성 데이터의 길이, 상기 음성 데이터의 크기, 발화 속도 또는 상기 음성 데이터의 피치 중 적어도 하나를 포함하는, 서버.
  10. 제5항에 있어서,
    상기 단어 사용 정보는,
    상기 사용자 음성에서 동일한 단어의 사용 횟수 또는 사용 빈도 중 적어도 하나를 포함하며,
    상기 사용자 관련 정보는,
    사용자 프로필 정보 또는 사용자 감정 정보 중 적어도 하나를 포함하는, 서버.
  11. 제5항에 있어서,
    상기 프로세서는,
    상기 음성 데이터의 텍스트 데이터에 기초하여 상기 음성 데이터 각각의 타입 또는 키워드 정보 중 적어도 하나를 포함하는 의도 정보를 식별하고, 상기 식별된 의도 정보, 상기 단어 사용 정보 및 상기 사용자 관련 정보에 기초하여 상기 응답 순서를 식별하는, 서버.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 단어 사용 정보 및 상기 사용자 관련 정보에 기초하여 상기 복수의 의도에 대한 제1 응답 순서를 식별하고,
    상기 의도 정보에 기초하여 상기 식별된 제1 응답 순서를 재정렬하는, 서버.
  13. 복수의 의도를 포함하는 사용자 음성을 외부 서버로 전송하는 단계;
    상기 외부 서버로부터 상기 사용자 음성에 포함된 단어 사용 정보 및 사용자 관련 정보에 기초하여 생성된 상기 사용자 음성에 대한 요약 정보가 수신되면, 상기 수신된 요약 정보를 디스플레이하는 단계;
    상기 요약 정보에 관한 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하는 단계; 및
    상기 외부 서버로부터 상기 사용자 피드백에 기초하여 생성된 상기 사용자 음성에 대한 응답 정보가 수신되면, 상기 응답 정보를 디스플레이하는 단계;를 포함하는 단말 장치의 제어 방법.
  14. 제13항에 있어서,
    상기 요약 정보는,
    상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보를 포함하는, 제어 방법.
  15. 제13항에 있어서,
    상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하는 단계는,
    상기 요약 정보에 포함된 상기 복수의 의도에 대한 정보가 사용자의 의도와 불일치한다는 사용자 피드백이 입력되면, 상기 사용자 피드백에 대한 정보를 상기 외부 서버로 전송하고,
    상기 외부 서버로부터 수신된 기설정된 빈도 수 이상의 질의에 관한 리스트 UI를 디스플레이하는, 제어 방법.
  16. 제13항에 있어서,
    상기 요약 정보 또는 상기 응답 정보를 제1 음성으로 제공하도록 상기 오디오 출력부를 제어하고,
    상기 외부 서버로부터 상기 사용자 피드백에 대하여 응답 정보가 획득되지 않았음을 나타내는 신호가 수신되면, 상기 제1 음성과 상이한 제2 음성으로 상기 사용자 피드백에 대한 응답 정보를 제공함을 나타내는 UI를 디스플레이하는 단계;를 더 포함하는, 제어 방법.
  17. 단말 장치로부터 수신된 사용자 음성에 복수의 의도가 포함된 것으로 식별되면, 상기 사용자 음성에서 단어 사용 정보를 획득하는 단계;
    상기 사용자 음성에서 사용자 관련 정보를 획득하는 단계;
    상기 획득된 단어 사용 정보 및 사용자 관련 정보에 기초하여 상기 복수의 의도에 대한 응답 순서를 식별하는 단계; 및
    상기 복수의 의도에 대한 정보 및 상기 복수의 의도 각각에 대한 응답 순서 정보가 포함된 요약 정보를 상기 단말 장치로 제공하는 단계;를 포함하는 서버의 제어 방법.
  18. 제17항에 있어서,
    상기 식별된 응답 순서에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하고,
    상기 단말 장치로부터 상기 요약 정보에 관한 사용자 피드백 정보가 수신되면, 상기 사용자 피드백 정보에 기초하여 응답 정보를 보정하여 상기 단말 장치로 전송하는 단계;를 더 포함하는, 제어 방법.
  19. 제18항에 있어서,
    상기 복수의 의도에 대한 정보 및 상기 사용자 피드백 정보에 기초하여 상기 프로필 정보를 업데이트하고,
    상기 업데이트된 프로필 정보에 기초하여 상기 사용자 음성에 대한 응답 정보를 생성하는 단계;를 더 포함하는, 제어 방법.
  20. 제17항에 있어서,
    상기 복수의 의도 각각에 대응되는 음성 데이터의 특징 정보 및 상기 음성 데이터의 텍스트 데이터를 획득하는 단계;를 더 포함하고,
    상기 단어 사용 정보를 획득하는 단계는,
    상기 텍스트 데이터에 기초하여 상기 단어 사용 정보를 획득하고,
    상기 사용자 관련 정보를 획득하는 단계는,
    상기 음성 데이터의 특징 정보에 기초하여 상기 사용자 관련 정보를 획득하는, 제어 방법.
KR1020190156136A 2019-11-28 2019-11-28 단말 장치, 서버 및 그 제어 방법 KR20210066644A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190156136A KR20210066644A (ko) 2019-11-28 2019-11-28 단말 장치, 서버 및 그 제어 방법
US17/103,150 US11538476B2 (en) 2019-11-28 2020-11-24 Terminal device, server and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190156136A KR20210066644A (ko) 2019-11-28 2019-11-28 단말 장치, 서버 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20210066644A true KR20210066644A (ko) 2021-06-07

Family

ID=76091851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190156136A KR20210066644A (ko) 2019-11-28 2019-11-28 단말 장치, 서버 및 그 제어 방법

Country Status (2)

Country Link
US (1) US11538476B2 (ko)
KR (1) KR20210066644A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043729A1 (ko) * 2022-08-26 2024-02-29 삼성전자주식회사 전자 장치 및 전자 장치의 사용자에 대한 응답 처리 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11705114B1 (en) * 2019-08-08 2023-07-18 State Farm Mutual Automobile Insurance Company Systems and methods for parsing multiple intents in natural language speech
KR20210066644A (ko) * 2019-11-28 2021-06-07 삼성전자주식회사 단말 장치, 서버 및 그 제어 방법
CN113645346B (zh) * 2021-08-11 2022-09-13 中国联合网络通信集团有限公司 功能触发方法、装置、服务器及计算机可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615172B1 (en) * 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US7640160B2 (en) * 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
KR101309794B1 (ko) * 2012-06-27 2013-09-23 삼성전자주식회사 디스플레이 장치, 디스플레이 장치의 제어 방법 및 대화형 시스템
KR101383552B1 (ko) * 2013-02-25 2014-04-10 미디어젠(주) 다중 명령어가 포함된 단일 문장의 음성인식방법
CN106910513A (zh) * 2015-12-22 2017-06-30 微软技术许可有限责任公司 情绪智能聊天引擎
KR20190004495A (ko) * 2017-07-04 2019-01-14 삼성에스디에스 주식회사 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템
EP3584717A1 (en) * 2017-08-01 2019-12-25 Samsung Electronics Co., Ltd. Electronic device and method for providing search result thereof
KR102374910B1 (ko) * 2017-08-22 2022-03-16 삼성전자주식회사 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR101891492B1 (ko) 2017-11-03 2018-08-24 주식회사 머니브레인 답변을 변형하여 상황에 맞는 자연어 대화를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR20190064313A (ko) 2017-11-30 2019-06-10 삼성에스디에스 주식회사 개인화된 챗봇 서비스 제공 방법 및 그 장치
KR20190064314A (ko) 2017-11-30 2019-06-10 삼성에스디에스 주식회사 지능형 대화 에이전트를 위한 대화 태스크 처리 방법 및 그 장치
US10860096B2 (en) * 2018-09-28 2020-12-08 Apple Inc. Device control using gaze information
KR20210066644A (ko) * 2019-11-28 2021-06-07 삼성전자주식회사 단말 장치, 서버 및 그 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043729A1 (ko) * 2022-08-26 2024-02-29 삼성전자주식회사 전자 장치 및 전자 장치의 사용자에 대한 응답 처리 방법

Also Published As

Publication number Publication date
US20210166687A1 (en) 2021-06-03
US11538476B2 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
US11868732B2 (en) System for minimizing repetition in intelligent virtual assistant conversations
US10991366B2 (en) Method of processing dialogue query priority based on dialog act information dependent on number of empty slots of the query
US10950219B2 (en) Systems and methods for providing a virtual assistant
KR101859708B1 (ko) 개별화된 핫워드 검출 모델들
KR20210066644A (ko) 단말 장치, 서버 및 그 제어 방법
US10971135B2 (en) System and method for crowd-sourced data labeling
US11450311B2 (en) System and methods for accent and dialect modification
US8452602B1 (en) Structuring verbal commands to allow concatenation in a voice interface in a mobile device
US9761249B2 (en) Improving natural language interactions using emotional modulation
US8170866B2 (en) System and method for increasing accuracy of searches based on communication network
US20150095031A1 (en) System and method for crowdsourcing of word pronunciation verification
US10839788B2 (en) Systems and methods for selecting accent and dialect based on context
US11056105B2 (en) Talk back from actions in applications
CN110914898B (zh) 一种用于语音识别的系统和方法
CA3070133A1 (en) Interacting with a user device to provide automated testing of a customer service representative
KR102356623B1 (ko) 가상 비서 전자 장치 및 그 제어 방법
US20230214579A1 (en) Intelligent character correction and search in documents
JPWO2018147435A1 (ja) 学習支援システム及び方法、並びにコンピュータプログラム
US11889168B1 (en) Systems and methods for generating a video summary of a virtual event
US20240127804A1 (en) Transcript tagging and real-time whisper in interactive communications
KR102402224B1 (ko) 사용자 발화에 대응하는 태스크를 수행하는 전자 장치
CN114999450A (zh) 同形异义字的识别方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal