WO2022177089A1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2022177089A1
WO2022177089A1 PCT/KR2021/012655 KR2021012655W WO2022177089A1 WO 2022177089 A1 WO2022177089 A1 WO 2022177089A1 KR 2021012655 W KR2021012655 W KR 2021012655W WO 2022177089 A1 WO2022177089 A1 WO 2022177089A1
Authority
WO
WIPO (PCT)
Prior art keywords
sentence
sentences
entity
processor
domain
Prior art date
Application number
PCT/KR2021/012655
Other languages
English (en)
French (fr)
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 EP21926888.5A priority Critical patent/EP4254401A4/en
Priority to US17/523,367 priority patent/US20220262364A1/en
Publication of WO2022177089A1 publication Critical patent/WO2022177089A1/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
    • 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
    • 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
    • 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/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Definitions

  • the processor identifies a first entity corresponding to the first sentence based on the domain of the first sentence, and a second entity corresponding to the second sentence based on the domain of the second sentence. may be identified, and a degree of similarity between the first sentence and the second sentence based on the first sentence, the second sentence, and the first entity and the second entity may be obtained using a second neural network model.
  • the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
  • a device eg, an artificial intelligence electronic device
  • the microphone 110 is configured to receive sound and convert it into an audio signal.
  • the microphone 110 is electrically connected to the processor 130 , and may receive sound under the control of the processor 130 .
  • the sound may include sound generated by at least one of the electronic device 100 and other electronic devices surrounding the electronic device 100 and noise around the electronic device 100 .
  • the memory 120 may store data, which is information in units of bits or bytes that can represent characters, numbers, images, and the like. For example, data for various modules for processing a user voice signal received through the microphone 110 may be stored in the memory 120 .
  • the processor 130 may wake up according to the user's utterance of “Hi Bixby”. And, the processor 130 through the microphone 110 “I have to get up early the next day. I have to set the alarm at 7 in the morning.
  • the intent of sentences may be considered in the similarity setting process. For example, if the similarity of the sentence itself is high but the intentions are different, the sample similarity may be set low. For example, “Set an alarm.” and “Delete the alarm.” The similarity of the sentence itself is high, but the intention is different, and thus a low similarity may be set. That is, the sample similarity is obtained based on the similarity of the sentence itself, but may be a similarity obtained by individually adjusting the similarity, such as when the intention is different. Accordingly, the similarity obtained using the second neural network model may be a result including the intention of the sentences.
  • the processor 130 may process the initially received user voice signal and the additional user voice signal as one user voice signal. . In this case, the processor 130 may combine the sentence included in the initially received user voice signal with the sentence included in the additional user voice signal, and perform natural language understanding on the combined sentence.
  • the processor 130 selects a sentence for each domain (S230), if the number of selected sentences is one (S240-No), performs natural language understanding on the selected sentence (S280), and if the number of selected sentences is plural (S240-Yes) ), the similarity between sentences can be identified.
  • the processor 130 may combine the plurality of sentences into one sentence (S270). For example, if it is identified that the plurality of sentences cannot be independently executed (S260-No), the processor 130 may combine the plurality of sentences into one sentence using the first neural network model.
  • FIG. 3 is a flowchart illustrating a case in which an additional user voice signal is received according to an embodiment of the present disclosure.
  • the repeated operation for each domain is the same as that of FIG. 2 , and thus detailed illustration is omitted.
  • the processor 130 identifies whether a plurality of entities corresponding to the plurality of sentences are the same, and if the plurality of entities are not the same, combines the plurality of sentences, and the plurality of entities If is the same, multiple sentences can be processed individually without combining them.
  • the electronic device combines a plurality of similar sentences into one sentence, and reduces execution time by performing natural language understanding on one sentence while reducing the accuracy according to the combination of the plurality of sentences. can be improved.

Landscapes

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

Abstract

전자 장치가 개시된다. 본 전자 장치는 마이크, 적어도 하나의 인스트럭션이 저장된 메모리 및 마이크 및 메모리와 연결되어 전자 장치를 제어하는 프로세서를 포함하고, 프로세서는 적어도 하나의 인스트럭션을 실행함으로써, 마이크를 통해 사용자 음성 신호가 수신되면 사용자 음성 신호에 대응되는 텍스트를 획득하며, 획득된 텍스트에 포함된 복수의 문장을 식별하고, 복수의 도메인 중 복수의 문장 각각에 대응되는 도메인을 식별하며, 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 신경망 모델을 이용하여 제1 문장 및 제2 문장이 조합된 제3 문장을 획득하고, 제3 문장에 대한 자연어 이해를 수행할 수 있다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 자연어 이해를 수행하는 전자 장치 및 그 제어 방법에 대한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 디바이스들이 개발 및 보급되고 있으며, 사용자의 물리적인 조작 없이도 사용자의 음성에 기초하여 동작하는 디바이스들이 개발되고 있다.
다만, 복수의 문장을 포함하는 사용자 음성 신호가 연속적으로 입력되는 경우, 복수의 문장을 독립적으로 처리하기가 어려워 사용자 의도가 정확하게 반영되지 않을 수 있다.
또는, 복수의 문장을 학습한 신경망 모델을 이용할 수도 있으나, 이 경우 모델의 용량이 커지고 처리 속도가 낮아지는 문제가 있다.
또한, 사용자 음성 신호가 명확하지 않은 경우도 있을 수 있다. 예를 들어, 사용자 음성 신호에 포함된 복수의 문장이 불충분한 정보를 포함하거나 동일한 의도를 반복하는 경우, 오동작의 가능성이 있다.
그에 따라, 연산량을 크게 증가시키지 않으면서도 사용자의 의도를 좀더 정확하게 파악하는 모델이 개발될 필요가 있다.
상기 정보는 본 개시 내용의 이해를 돕기 위해서만 배경 정보로서 제시된다. 본 개시와 관련하여 상기 중 어느 것이라도 선행 기술로서 적용될 수 있는지 여부에 대해 어떠한 결정도 이루어지지 않았고 어떠한 주장도 이루어지지 않는다.
본 개시의 양태는 적어도 상기 언급된 문제점 및/또는 단점을 해결하고 적어도 후술되는 이점을 제공하는 것이다. 따라서, 본 개시의 목적은 상술한 필요성에 따른 것으로, 본 개시의 목적은 자연어 이해를 수행하는 과정에서 연산량을 줄이고 자연어 이해의 정확도를 높이는 전자 장치 및 그 제어 방법을 제공함에 있다.
추가 양태는 다음의 설명에서 부분적으로 설명될 것이고, 부분적으로 설명으로부터 명백할 것이며, 제시된 실시 예의 실행에 의해 학습될 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치가 개시된다. 전자 장치는 마이크, 적어도 하나의 인스트럭션이 저장된 메모리 및 상기 마이크 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 마이크를 통해 사용자 음성 신호가 수신되면 상기 사용자 음성 신호에 대응되는 텍스트를 획득하며, 상기 획득된 텍스트에 포함된 복수의 문장을 식별하고, 복수의 도메인 중 상기 복수의 문장 각각에 대응되는 도메인을 식별하며, 상기 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 신경망 모델을 이용하여 상기 제1 문장 및 상기 제2 문장이 조합된 제3 문장을 획득하고, 상기 제3 문장에 대한 자연어 이해를 수행할 수 있다.
또한, 상기 프로세서는 상기 제1 문장의 도메인에 기초하여 상기 제1 문장에 대응되는 제1 엔티티(entity)를 식별하고, 상기 제2 문장의 도메인에 기초하여 상기 제2 문장에 대응되는 제2 엔티티를 식별하며, 제2 신경망 모델을 이용하여 상기 제1 문장, 상기 제2 문장, 상기 제1 엔티티 및 상기 제2 엔티티에 기초한 상기 제1 문장 및 상기 제2 문장의 유사도를 획득할 수 있다.
그리고, 상기 프로세서는 상기 제1 문장 및 상기 제2 문장의 유사도가 상기 임계값 이상이면, 상기 제1 엔티티 및 상기 제2 엔티티의 동일 여부를 식별하며, 상기 제1 엔티티 및 상기 제2 엔티티가 동일하지 않으면 상기 제1 신경망 모델을 이용하여 상기 제3 문장을 획득하고, 상기 제3 문장에 대한 자연어 이해를 수행하며, 상기 제1 엔티티 및 상기 제2 엔티티가 동일하면 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행할 수 있다.
또한, 상기 프로세서는 상기 제1 엔티티 및 상기 제2 엔티티가 동일하고 상기 제1 문장 및 상기 제2 문장 사이에 기설정된 텍스트가 포함된 경우, 상기 제1 문장 및 상기 제2 문장의 수신 순서에 기초하여 상기 제1 문장 및 상기 제2 문장 중 하나에 대한 자연어 이해를 수행할 수 있다.
그리고, 상기 프로세서는 상기 유사도가 상기 임계값 미만이면, 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행할 수 있다.
또한, 상기 프로세서는 상기 제1 문장의 도메인에 기초하여 상기 제1 문장에 대응되는 제1 엔티티를 식별하고, 상기 제2 문장의 도메인에 기초하여 상기 제2 문장에 대응되는 제2 엔티티를 식별하며, 상기 제1 신경망 모델을 이용하여 상기 제1 문장, 상기 제2 문장, 상기 제1 엔티티 및 상기 제2 엔티티에 기초한 상기 제3 문장을 획득할 수 있다.
그리고, 상기 프로세서는 상기 복수의 문장의 수신 순서에 기초하여 상기 제1 문장을 식별하고, 상기 제1 문장의 도메인에 기초하여 상기 제2 문장을 식별할 수 있다.
또한, 상기 프로세서는 제3 신경망 모델을 이용하여 상기 획득된 텍스트로부터 상기 복수의 문장을 식별하고, 제4 신경망 모델을 이용하여 상기 복수의 문장 각각에 대응되는 도메인을 식별할 수 있다.
그리고, 상기 프로세서는 상기 제3 문장에 대한 자연어 이해가 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되면 상기 추가 사용자 음성 신호에 대응되는 추가 텍스트를 획득하며, 상기 획득된 추가 텍스트에 포함된 복수의 추가 문장을 식별하고, 복수의 도메인 중 상기 복수의 추가 문장 각각에 대응되는 도메인을 식별하며, 상기 복수의 문장 및 상기 복수의 추가 문장 중 도메인이 동일한 문장들에 기초하여 상기 제3 문장을 업데이트할 수 있다.
또한, 상기 프로세서는 상기 복수의 문장에 각각 대응되는 복수의 도메인의 우선순위에 기초하여 상기 복수의 문장 중 적어도 하나의 문장에 대한 자연어 이해만을 수행하거나, 상기 복수의 도메인 각각에 대응되는 문장의 순서에 기초하여 상기 복수의 문장 전체에 대한 자연어 이해를 순차적으로 수행할 수 있다.
한편, 본 개시의 다른 실시 예에 따른 전자 장치의 제어 방법이 개시된다. 제어 방법은 사용자 음성 신호가 수신되면 상기 사용자 음성 신호에 대응되는 텍스트를 획득하는 단계, 상기 획득된 텍스트에 포함된 복수의 문장을 식별하는 단계, 복수의 도메인 중 상기 복수의 문장 각각에 대응되는 도메인을 식별하는 단계, 상기 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 신경망 모델을 이용하여 상기 제1 문장 및 상기 제2 문장이 조합된 제3 문장을 획득하는 단계 및 상기 제3 문장에 대한 자연어 이해를 수행하는 단계를 포함할 수 있다.
또한, 상기 제3 문장을 획득하는 단계는 상기 제1 문장의 도메인에 기초하여 상기 제1 문장에 대응되는 제1 엔티티(entity)를 식별하고, 상기 제2 문장의 도메인에 기초하여 상기 제2 문장에 대응되는 제2 엔티티를 식별하며, 제2 신경망 모델을 이용하여 상기 제1 문장, 상기 제2 문장, 상기 제1 엔티티 및 상기 제2 엔티티에 기초한 상기 제1 문장 및 상기 제2 문장의 유사도를 획득할 수 있다.
그리고, 상기 제3 문장을 획득하는 단계는 상기 제1 문장 및 상기 제2 문장의 유사도가 상기 임계값 이상이면, 상기 제1 엔티티 및 상기 제2 엔티티의 동일 여부를 식별하며, 상기 제1 엔티티 및 상기 제2 엔티티가 동일하지 않으면 상기 제1 신경망 모델을 이용하여 상기 제3 문장을 획득하고, 상기 제3 문장에 대한 자연어 이해를 수행하며, 상기 제어 방법은 상기 제1 엔티티 및 상기 제2 엔티티가 동일하면 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는 단계를 더 포함할 수 있다.
또한, 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는 단계는 상기 제1 엔티티 및 상기 제2 엔티티가 동일하고 상기 제1 문장 및 상기 제2 문장 사이에 기설정된 텍스트가 포함된 경우, 상기 제1 문장 및 상기 제2 문장의 수신 순서에 기초하여 상기 제1 문장 및 상기 제2 문장 중 하나에 대한 자연어 이해를 수행할 수 있다.
그리고, 상기 유사도가 상기 임계값 미만이면, 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 유사한 복수의 문장을 하나의 문장으로 조합하고, 하나의 문장에 대해 자연어 이해를 수행하여 실행 시간을 단축하면서도 복수의 문장의 조합에 따라 정확도가 향상될 수 있다.
본 개시의 다른 측면, 이점 및 두드러진 특징은 첨부된 도면과 함께 본 개시의 다양한 실시 예를 개시하는 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.
본 개시 내용의 특정 실시 예의 상기 및 다른 측면, 특징 및 이점은 첨부 도면과 함께 취해진 다음의 설명으로부터 더 명백해질 것이다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 하드웨어 구성을 설명하기 위한 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 조합된 문장에 대한 자연어 이해 방법을 설명하기 위한 흐름도이다.
도 3은 본 개시의 일 실시 예에 따른 추가 사용자 음성 신호가 수신된 경우를 설명하기 위한 흐름도이다.
도 4a 내지 도 4c는 본 개시의 일 실시 예에 따른 유사도 획득 동작을 설명하기 위한 도면들이다.
도 5는 본 개시의 일 실시 예에 따른 독립적으로 자연어 처리를 수행하는지를 판단하는 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 복수의 문장의 조합을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도면 전체에 걸쳐, 유사한 참조 번호는 유사한 부품, 구성 요소 및 구조를 지칭하는 것으로 이해될 것이다.
-
첨부된 도면을 참조하여 다음의 설명은 청구 범위 및 그 균등물에 의해 정의된 본 개시의 다양한 실시 예의 포괄적인 이해를 돕기 위해 제공된다. 그 이해를 돕기 위해 다양한 특정 세부 사항을 포함하지만 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 당업자는 본 명세서에 설명 된 다양한 실시 예의 다양한 변경 및 수정이 본 개시의 범위 및 사상을 벗어나지 않고 이루어질 수 있음을 인식할 것이다. 또한, 잘 알려진 기능 및 구성에 대한 설명은 명확성과 간결성을 위해 생략 될 수 있다.
다음의 설명 및 청구 범위에서 사용되는 용어 및 단어는 서지적 의미에 국한되지 않고, 본 개시 내용의 명확하고 일관된 이해를 가능하게 하기 위해 발명자에 의해 사용될 뿐이다. 따라서, 본 개시 내용의 다양한 실시 예들에 대한 다음의 설명은 첨부된 청구 범위 및 그 균등물에 의해 정의된 개시 내용을 제한할 목적이 아니라 단지 예시 목적으로 제공된다는 것이 당업자에게 명백해야 한다.
단수 형태 "a", "an" 및 "the"는 문맥 상 명백하게 달리 지시하지 않는 한 복수의 지시 대상을 포함하는 것으로 이해되어야 한다. 따라서, 예를 들어, "구성 요소 표면"에 대한 언급은 이러한 표면 중 하나 이상에 대한 참조를 포함한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 및 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 및 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공 지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 하드웨어 구성을 설명하기 위한 블록도이다.
도 1에 따르면, 전자 장치(100)는 사용자 음성 신호에 대한 음성 인식 및 자연어 이해를 수행하는 장치로서, 스마트폰, 태블릿 PC, 데스크탑 PC, 노트북, 스마트 워치, 셋탑박스(STB), 스피커, 컴퓨터 본체 등과 같이 마이크를 구비하고, 마이크를 통해 수신된 사용자 음성 신호에 대한 음성 인식 및 자연어 이해를 수행하는 장치일 수 있다.
또는, 전자 장치(100)는 TV, 비디오 월(video wall), LFD(large format display), Digital Signage(디지털 간판), DID(Digital Information Display), 프로젝터 디스플레이, DVD(digital video disk) 플레이어, 모니터, 스마트 안경 등과 같이 마이크가 구비되지 않은 장치로서, 원격 제어 장치 등과 같은 타 전자 장치로부터 유무선 통신을 통해 사용자 음성 신호를 수신하고, 사용자 음성 신호에 대한 음성 인식 및 자연어 이해를 수행하는 장치일 수도 있다.
다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 사용자 음성 신호에 대한 음성 인식 또는 자연어 이해 중 적어도 하나를 수행할 수 있는 장치라면 어떠한 장치라도 무방하다.
전자 장치(100)는 마이크(110), 메모리(120) 및 프로세서(130)를 포함한다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 일부 구성이 제외된 형태로 구현될 수도 있다.
마이크(110)는 사운드를 입력받아 오디오 신호로 변환하기 위한 구성이다. 마이크(110)는 프로세서(130)와 전기적으로 연결되며, 프로세서(130)의 제어에 의해 사운드를 수신할 수 있다. 여기서, 사운드는 전자 장치(100) 및 전자 장치(100) 주변의 타 전자 장치 중 적어도 하나에서 발생하는 사운드 및 전자 장치(100) 주변의 노이즈를 포함할 수 있다.
예를 들어, 마이크(110)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 또는, 마이크(110)는 전자 장치(100)와는 별도의 리모컨 등에 구비될 수도 있다. 이 경우, 리모컨은 마이크(110)를 통해 사운드를 수신하고, 수신된 사운드를 전자 장치(100)로 제공할 수도 있다.
마이크(110)는 아날로그 형태의 사운드를 수집하는 마이크, 수집된 사운드를 증폭하는 앰프 회로, 증폭된 사운드를 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 마이크(110)는 사운드 센서의 형태로 구현될 수도 있으며, 사운드를 수집할 수 있는 구성이라면 어떠한 방식이라도 무방하다.
메모리(120)는 프로세서(130) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(120)에는 전자 장치(100) 또는 프로세서(130)의 동작에 필요한 적어도 하나의 인스트럭션(instruction) 또는 모듈이 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(130)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 모듈은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다.
또한, 메모리(120)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(120)에는 마이크(110)를 통해 수신된 사용자 음성 신호를 처리하기 위한 각종 모듈에 대한 데이터가 저장될 수 있다.
또한, 메모리(120)에는 사용자 음성 신호를 처리하기 위한 적어도 하나의 신경망 모델이 저장될 수 있다. 여기서, 신경망 모델은 복수의 신경망 레이어들로 구성되며, 각 레이어는 복수의 가중치(weight values)를 포함하고, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산이 수행될 수 있다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서는 이상의 언급한 신경망 뿐만 아니라 얼마든지 다양한 신경망이 이용될 수 있다. 또한, 신경망 모델은 다양한 개념, 조건, 관계 내지는 합의된 지식이 컴퓨터가 처리할 수 있는 형태로 표현된 온톨로지 기반의 데이터 구조로 구성될 수도 있다.
신경망 모델은 다양한 학습 알고리즘을 통해 전자 장치(100) 또는 별도의 서버/시스템을 통해 학습된 것일 수 있다. 학습 알고리즘은 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 얼마든지 다양한 학습 알고리즘이 이용될 수 있다.
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의해 인스트럭션, 모듈, 신경망 모델 또는 데이터에 대한 읽기/기록/수정/삭제/갱신 등이 수행될 수 있다.
프로세서(130)는 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(130)는 전자 장치(100)의 각 구성과 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(130)는 마이크(110), 메모리(120), 디스플레이(미도시), 통신 인터페이스(미도시) 등과 같은 구성과 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(130)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(130)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
도 1에서 프로세서(130) 내부에 복수의 모듈이 위치하는 것은 복수의 모듈이 프로세서(130)에 의해 로딩(또는 실행)되어 프로세서(130)에서 동작되는 상태를 나타내기 위한 것이며, 복수의 모듈은 메모리(120)에 기저장된 상태일 수 있다.
그리고, 프로세서(130)는 메모리(120)에 저장된 모듈 또는 인스트럭션을 실행함으로써 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 구체적으로, 프로세서(130)는 모듈 또는 인스트럭션을 읽고 해석하며 데이터 처리를 위한 시퀀스를 결정할 수 있으며, 그에 따라 메모리(120) 등 다른 구성의 동작을 제어하는 제어 신호를 전송함으로써 다른 구성의 동작을 제어할 수 있다.
프로세서(130)는 ASR 모듈을 실행함으로써, 마이크(110)를 통해 수신된 사용자 음성 신호에 대응되는 텍스트를 획득할 수 있다. 그리고, 프로세서(130)는 문장 식별 모듈을 실행함으로써, 획득된 텍스트에 포함된 복수의 문장을 식별할 수 있다. 즉, ASR 모듈은 사용자 음성 신호를 수신하고, 사용자 음성 신호에 대응되는 텍스트를 출력하고, 문장 식별 모듈은 텍스트를 수신하고, 복수의 문장을 출력할 수 있다.
예를 들어, 사용자가 “하이빅스비. 모레 일찍 일어나야겠네. 아침 7시에 알람 맞춰야지. 아 배고프다. 근데 내일 날씨는 좋나?”와 같이 발화하면, 프로세서(130)는 “하이빅스비”라는 사용자 발화에 따라 웨이크업될 수 있다. 그리고, 프로세서(130)는 마이크(110)를 통해 “모레 일찍 일어나야겠네. 아침 7시에 알람 맞춰야지. 아 배고프다. 근데 내일 날씨는 좋나?”와 같은 사용자 음성 신호가 수신되면 사용자 음성 신호에 대응되는 텍스트를 획득하고, 획득된 텍스트로부터 “모레 일찍 일어나야겠네.”, “아침 7시에 알람 맞춰야지.”, “아 배고프다.”, “근데 내일 날씨는 좋나?”의 4개의 문장을 식별할 수 있다. 문장은 완결된 내용을 나타내는 최소의 단위로서, 프로세서(130)는 서술어, 문장 구조 또는 문장 길이 중 적어도 하나에 기초하여 문장을 식별할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(130)는 마침표, 느낌표, 물음표 등과 같은 문장 부호에 기초하여 문장을 식별할 수도 있다. 또는, 프로세서(130)는 문장 간의 묶음 구간(시간, 길이 등)에 기초하여 문장을 식별할 수도 있다. 또는, 프로세서(130)는 사용자 음성 신호를 수신하고 ASR 모듈을 이용하여 텍스트를 획득하는 것이 아니라, 텍스트를 자체를 입력받고, 입력받은 텍스트로부터 문장을 식별할 수도 있다.
한편, 문장 식별 모듈은 제3 신경망 모델로 구현될 수도 있다. 예를 들어, 프로세서(130)는 제3 신경망 모델을 이용하여 획득된 텍스트로부터 복수의 문장을 식별할 수도 있다. 여기서, 제3 신경망 모델은 복수의 샘플 텍스트 및 복수의 샘플 텍스트에 포함된 샘플 문장들을 학습하여 획득된 모델일 수 있다.
프로세서(130)는 도메인 식별 모듈을 실행함으로써, 복수의 도메인 중 복수의 문장 각각에 대응되는 도메인(domain)을 식별할 수 있다. 상술한 예에서, 프로세서(130)는 “모레 일찍 일어나야겠네.” 및 “아침 7시에 알람 맞춰야지.”를 알람 도메인으로 식별하고, “근데 내일 날씨는 좋나?”를 날씨 도메인으로 식별할 수 있다. 프로세서(130)는 “아 배고프다.”를 도메인이 없는 OOD(out of domain)로 식별할 수 있다. 도메인 식별 모듈은 복수의 문장을 순차적으로 수신하고, 수신된 문장과 함께 수신된 문장의 도메인을 출력할 수 있다. 여기서, 도메인 식별 모듈의 구현 예에 따라 “아 배고프다.”도 배달 또는 요리 레시피와 같은 도메인으로 식별될 수도 있다. 즉, 이상에서 도메인이 없는 OOD는 도메인 식별 모듈이 지원하지 않는 경우를 포함할 수 있다.
한편, 도메인 식별 모듈은 제4 신경망 모델로 구현될 수도 있다. 예를 들어, 프로세서(130)는 제4 신경망 모델을 이용하여 복수의 문장 각각에 대응되는 도메인을 식별할 수도 있다. 제4 신경망 모델은 복수의 샘플 문장들 및 복수의 샘플 문장들에 대응되는 도메인을 학습하여 획득된 모델일 수 있다.
프로세서(130)는 유사도 획득 모듈을 실행함으로써, 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도를 획득하고, 획득된 유사도가 임계값 이상이면, 문장 조합 모듈을 실행함으로써 제1 문장 및 제2 문장이 조합된 제3 문장을 획득하고, 자연어 이해 모듈을 실행함으로써 제3 문장에 대한 자연어 이해를 수행할 수 있다. 즉, 유사도 획득 모듈은 도메인이 동일한 문장들을 수신하고, 도메인이 동일한 문장들 및 동일한 문장들의 유사도를 출력하며, 문장 조합 모듈은 동일한 문장들 및 동일한 문장들의 유사도를 수신하고, 조합된 문장을 출력하며, 자연어 이해 모듈은 조합된 문장을 수신하고, 조합된 문장에 대응되는 자연어 이해 결과를 출력할 수 있다. 임계값은 가변적일 수 있다. 예를 들어, 임계값은 개발 방향, 정책, 구현 방법 등에 기초하여 가변적으로 결정될 수 있다.
상술한 예에서, 프로세서(130)는 유사도 획득 모듈을 실행함으로써, 도메인이 알람으로 동일한 “모레 일찍 일어나야겠네.” 및 “아침 7시에 알람 맞춰야지.”의 유사도를 획득할 수 있다. 그리고, 프로세서(130)는 획득된 유사도가 임계값 이상이면, 문장 조합 모듈을 실행함으로써 “모레 일찍 일어나야겠네.” 및 “아침 7시에 알람 맞춰야지.”가 조합된 “모레 아침 7시에 알람 맞춰야지.”를 획득할 수 있다. 그리고, 프로세서(130)는 자연어 이해 모듈을 실행함으로써 “모레 아침 7시에 알람 맞춰야지.”에 대한 자연어 이해를 수행할 수 있다.
여기서, 문장 조합 모듈은 제1 신경망 모델로 구현되고, 프로세서(130)는 제1 신경망 모델을 이용하여 “모레 일찍 일어나야겠네.” 및 “아침 7시에 알람 맞춰야지.”가 조합된 “모레 아침 7시에 알람 맞춰야지.”를 획득할 수 있다. 제1 신경망 모델은 복수의 샘플 문장들과 복수의 샘플 문장들에 대응되는 샘플 조합 문장에 기초하여 학습된 모델일 수 있다.
또는, 프로세서(130)는 룰 기반의 문장 조합 모듈을 이용하여 “모레 일찍 일어나야겠네.” 및 “아침 7시에 알람 맞춰야지.”가 조합된 “모레 아침 7시에 알람 맞춰야지.”를 획득할 수도 있다.
유사도 획득 모듈은 제2 신경망 모델로 구현될 수도 있다. 예를 들어, 프로세서(130)는 제2 신경망 모델을 이용하여 도메인이 동일한 제1 문장 및 제2 문장의 유사도를 획득할 수 있다. 이때, 프로세서(130)는 각 문장을 언어별 특성에 따라 형태소 단위, 음절 단위 등 다양한 방식을 이용하여 복수의 토큰(token)으로 구분하고, 복수의 토큰을 기설정된 고차원의 임베딩 값으로 변환하며, 임베딩 값을 제2 신경망 모델에 입력하여 제1 문장 및 제2 문장의 유사도를 획득할 수 있다. 여기서, 제2 신경망 모델은 복수의 샘플 문장들 및 샘플 유사도에 기초하여 학습된 모델일 수 있다. 또한, 샘플 유사도는 유사도 설정 과정에서 문장들의 의도(intent)가 고려될 수 있다. 예를 들어, 문장 자체의 유사도는 높으나, 의도가 상이하면 샘플 유사도는 낮게 설정될 수 있다. 가령, “알람 설정해줘.” 및 “알람 삭제해줘.”는 문장 자체의 유사도는 높으나, 의도가 상이하여 낮은 유사도가 설정될 수 있다. 즉, 샘플 유사도는 문장 자체의 유사도를 기초로 획득되나, 의도가 상이한 경우 등의 유사도를 개별적으로 조정한 유사도일 수 있다. 그에 따라, 제2 신경망 모델을 이용하여 획득된 유사도는 문장들의 의도를 포함한 결과일 수 있다.
다만, 이에 한정되는 것은 아니며, 토큰은 띄어쓰기를 기준으로 구분될 수도 있으며, 얼마든지 다양한 방법이 적용될 수도 있다. 또한, 토큰에 대응되는 임베딩 벡터 역시 최초 설정에 따라 얼마든지 다른 값을 가질 수도 있다.
한편, 이상에서는 유사도 획득 모듈이 도메인이 동일한 문장들을 수신하는 것으로 설명하였으나, 유사도 획득 모듈이 복수의 문장을 수신하고, 도메인이 동일한 문장들을 직접 식별할 수도 있다.
이상과 같이 프로세서(130)는 복수의 문장을 조합하여 자연어 이해를 수행함에 따라 자연어 이해 정확도가 향상될 수 있다.
한편, 프로세서(130)는 제1 문장의 도메인에 기초하여 제1 문장에 대응되는 제1 엔티티(entity)를 식별하고, 제2 문장의 도메인에 기초하여 제2 문장에 대응되는 제2 엔티티를 식별하며, 제1 엔티티 및 제2 엔티티를 더 고려하여 제1 문장 및 제2 문장의 유사도를 식별할 수도 있다. 이 경우, 유사도 획득 모듈은 문장에 대응되는 엔티티를 식별할 수 있다. 또는, 프로세서(130)는 유사도 획득 모듈과는 별도로 엔티티 추출기(entity extractor)를 실행함으로써 문장에 대응되는 엔티티를 식별할 수도 있다. 이하에서는 프로세서(130)가 엔티티를 식별하는 것으로 설명하며, 유사도 획득 모듈 또는 엔티티 추출기가 이용되는 점은 생략한다.
프로세서(130)는 제2 신경망 모델을 이용하여 제1 문장, 제2 문장, 제1 엔티티 및 제2 엔티티에 기초한 제1 문장 및 제2 문장의 유사도를 획득할 수도 있다.
상술한 예에서, 프로세서(130)는 “모레 일찍 일어나야겠네.”의 알람 도메인에 기초하여 “모레”로부터 date 엔티티를 식별하고, “아침 7시에 알람 맞춰야지.”의 알람 도메인에 기초하여 “아침 7시”로부터 time 엔티티를 식별할 수 있다. 알람 도메인은 date 엔티티, time 엔티티 등을 포함할 수 있다. 즉, 프로세서(130)는 알람 도메인에 대응되는 복수의 엔티티 중 문장에 포함된 엔티티를 식별할 수 있다.
그리고, 프로세서(130)는 제2 신경망 모델을 이용하여 “모레 일찍 일어나야겠네.”, “아침 7시에 알람 맞춰야지.”, date 엔티티 및 time 엔티티에 기초한 두 문장의 유사도를 획득할 수 있다. 여기서, 제2 신경망 모델은 복수의 샘플 문장들, 복수의 샘플 문장들 각각의 엔티티들 및 샘플 유사도에 기초하여 학습된 모델일 수도 있다.
이 경우, 학습에 직접적으로 사용되지 않는 표현이 있더라도, 해당 표현에 대응되는 엔티티를 통해 해당 표현이 반영된 유사도를 획득할 수도 있다. 예를 들어, “글피 알람 맞춰줘.”와 같은 문장에서 “글피”라는 표현이 학습되지 않은 상태이더라도, 엔티티 추출기의 경우 “글피”로부터 date 엔티티를 식별할 수도 있으며, 이 경우 유사도 획득 과정에서 date 엔티티가 반영되어 좀더 신뢰도가 높은 유사도를 획득할 수도 있다.
프로세서(130)는 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 엔티티 및 제2 엔티티의 동일 여부를 식별하며, 제1 엔티티 및 제2 엔티티가 동일하지 않으면 제1 신경망 모델을 이용하여 제3 문장을 획득하고, 제3 문장에 대한 자연어 이해를 수행하며, 제1 엔티티 및 제2 엔티티가 동일하면 제1 문장 및 제2 문장 각각에 대한 자연어 이해를 수행할 수 있다.
상술한 예에서, 프로세서(130)는 두 문장의 엔티티가 동일하지 않으므로 제1 신경망 모델을 이용하여 “모레 아침 7시에 알람 맞춰야지.”를 획득하고, “모레 아침 7시에 알람 맞춰야지.”에 대한 자연어 이해를 수행할 수 있다. 또는, 프로세서(130)는 “아침 7시에 알람 맞춰야지.”, “아침 9시에도 알람 맞춰야지.”와 같은 사용자 음성 신호가 수신되면, 두 문장의 엔티티가 time 엔티티로 동일하므로, 두 문장을 개별적으로 처리할 수도 있다.
또는, 프로세서(130)는 제1 엔티티 및 제2 엔티티가 동일하고 제1 문장 및 제2 문장 사이에 기설정된 텍스트가 포함된 경우, 제1 문장 및 제2 문장의 수신 순서에 기초하여 제1 문장 및 제2 문장 중 하나에 대한 자연어 이해를 수행할 수도 있다.
예를 들어, 프로세서(130)는 “9시에 알람 맞춰줘.”, “아니다.”, “8시로 맞춰줘.”와 같은 사용자 음성 신호가 수신되면, 두 문장의 엔티티가 time 엔티티로 동일하나, 두 문장 사이에 “아니다.”와 같은 기설정된 텍스트가 포함되어, 두 문장 중 나중에 수신된 “8시로 맞춰줘.”에 대하여만 자연어 이해를 수행하고, “9시에 알람 맞춰줘.”에 대하여는 자연어 이해를 수행하지 않을 수도 있다.
여기서, 기설정된 텍스트는 “아니다.” 뿐만 아니라, “취소해줘.” 등과 같이 이전 발화를 부정하는 취지의 텍스트일 수 있다.
한편, 프로세서(130)는 유사도가 임계값 미만이면, 제1 문장 및 제2 문장 각각에 대한 자연어 이해를 수행할 수도 있다.
한편, 프로세서(130)는 제1 문장의 도메인에 기초하여 제1 문장에 대응되는 제1 엔티티를 식별하고, 제2 문장의 도메인에 기초하여 제2 문장에 대응되는 제2 엔티티를 식별하며, 제1 신경망 모델을 이용하여 제1 문장, 제2 문장, 제1 엔티티 및 제2 엔티티에 기초한 제3 문장을 획득할 수도 있다. 여기서, 엔티티의 획득 방법은 상술한 바와 동일하고, 제1 신경망 모델은 복수의 샘플 문장들, 복수의 샘플 문장들 각각의 엔티티들 및 복수의 샘플 문장들에 대응되는 샘플 조합 문장에 기초하여 학습된 모델일 수 있다. 즉, 프로세서(130)는 문장들의 엔티티들을 고려하여 조합된 문장을 획득할 수도 있다.
한편, 프로세서(130)는 복수의 문장의 수신 순서에 기초하여 제1 문장을 식별하고, 제1 문장의 도메인에 기초하여 제2 문장을 식별할 수 있다.
예를 들어, 프로세서(130)는 “모레 일찍 일어나야겠네. 아침 7시에 알람 맞춰야지. 아 배고프다. 근데 내일 날씨는 좋나?”와 같은 사용자 음성 신호가 수신되면, 가장 먼저 수신된 “모레 일찍 일어나야겠네.”를 제1 문장으로 식별하고, 제1 문장과 알람 도메인으로 동일한 “아침 7시에 알람 맞춰야지.”를 제2 문장으로 식별할 수 있다.
프로세서(130)는 복수의 문장 중 제1 문장의 도메인과 동일한 문장이 복수이면, 제1 문장과 가장 발화 시점이 가까운 문장을 제2 문장으로 식별할 수도 있다.
한편, 프로세서(130)는 제3 문장에 대한 자연어 이해가 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되면 추가 사용자 음성 신호에 대응되는 추가 텍스트를 획득하며, 획득된 추가 텍스트에 포함된 복수의 추가 문장을 식별하고, 복수의 도메인 중 복수의 추가 문장 각각에 대응되는 도메인을 식별하며, 복수의 문장 및 복수의 추가 문장 중 도메인이 동일한 문장들에 기초하여 제3 문장을 업데이트할 수 있다.
즉, 프로세서(130)는 제3 문장에 대한 자연어 이해가 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되면, 최초 수신된 사용자 음성 신호와 추가 사용자 음성 신호를 하나의 사용자 음성 신호로서 처리할 수 있다. 이 경우, 프로세서(130)는 최초 수신된 사용자 음성 신호에 포함된 문장과 추가 사용자 음성 신호에 포함된 문장을 조합하고, 조합된 문장에 대한 자연어 이해를 수행할 수도 있다.
한편, 프로세서(120)는 복수의 문장에 각각 대응되는 복수의 도메인의 우선순위에 기초하여 복수의 문장 중 적어도 하나의 문장에 대한 자연어 이해만을 수행하거나, 복수의 도메인 각각에 대응되는 문장의 순서에 기초하여 복수의 문장 전체에 대한 자연어 이해를 순차적으로 수행할 수 있다.
예를 들어, 프로세서(120)는 “모레 일찍 일어나야겠네. 아침 7시에 알람 맞춰야지. 아 배고프다. 근데 내일 날씨는 좋나?”와 같은 사용자 음성 신호가 수신되면, 복수의 문장에 각각 대응되는 복수의 도메인 중 가장 우선순위가 높은 알람 도메인에 기초하여 “모레 일찍 일어나야겠네.”, “아침 7시에 알람 맞춰야지.”를 조합하고, 조합된 문장에 대한 자연어 이해만을 수행할 수 있다. 또는, 프로세서(130)는 “모레 일찍 일어나야겠네. 아 배고프다. 근데 내일 날씨는 좋나? 아침 7시에 알람 맞춰야지.”와 같은 사용자 음성 신호가 수신되면, 복수의 문장의 도메인을 식별하고, 순서대로 자연어 이해를 수행할 수 있다. 이때, 프로세서(130)는 “모레 일찍 일어나야겠네.”의 알람 도메인과 동일한 “아침 7시에 알람 맞춰야지.”를 먼저 처리하고, 날씨 도메인인 “근데 내일 날씨는 좋나?”를 처리할 수도 있다. 이 경우, 프로세서(130)는 OOD에 해당하는 “아 배고프다.”를 처리하지 않을 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(130)는 모든 도메인에 대한 처리 후, OOD를 처리할 수도 있다.
이상과 같이 프로세서(130)는 도메인이 동일한 문장들의 유사도가 임계값 이상이면, 도메인이 동일한 문장들을 하나의 문장으로 조합하고, 하나의 문장에 대한 자연어 이해를 수행하여 자연어 이해의 정확도를 향상시킬 수 있다.
도 2는 본 개시의 일 실시 예에 따른 조합된 문장에 대한 자연어 이해 방법을 설명하기 위한 흐름도이다.
도 2에 따르면 먼저, 프로세서(130)는 텍스트로부터 문장을 식별할 수 있다(S210). 예를 들어, 프로세서(130)는 제3 신경망 모델을 이용하여 텍스트로부터 문장을 식별할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(130)는 룰 기반의 문장 식별 모듈을 이용하여 텍스트로부터 문장을 식별할 수도 있다. 예를 들어, 프로세서(130)는 서술어를 감지하는 방식으로 텍스트로부터 문장을 식별할 수도 있다.
프로세서(130)는 복수의 문장의 도메인을 식별할 수 있다(S220). 예를 들어, 프로세서(130)는 제4 신경망 모델을 이용하여 복수의 문장 각각의 도메인을 식별할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(130)는 도메인과 관련된 데이터베이스에 기초하여 복수의 문장의 도메인을 식별할 수도 있다. 예를 들어, 전자 장치(100)는 각 도메인별 단어가 포함된 데이터베이스를 저장하고, 프로세서(130)는 문장에 포함된 단어에 대응되는 도메인을 식별할 수도 있다.
프로세서(130)는 도메인 별 문장을 선택하고(S230), 선택된 문장의 수가 하나이면(S240-No), 선택된 문장에 대한 자연어 이해를 수행하고(S280), 선택된 문장의 수가 복수이면(S240-Yes), 문장 간 유사도를 식별할 수 있다.
프로세서(130)는 제2 신경망 모델을 이용하여 유사도를 식별할 수 있으며, 특히 각 문장의 엔티티를 더 이용하여 유사도를 식별할 수도 있다.
프로세서(130)는 복수의 문장 간 유사도가 임계값 미만이면(S250-No), 복수의 문장 각각에 대한 자연어 이해를 수행하고(S280), 유사도가 임계값 이상이면(S250-Yes), 복수의 문장이 독립적으로 수행 가능한지 식별할 수 있다.
예를 들어, 프로세서(130)는 복수의 문장의 엔티티가 동일하면 복수의 문장을 독립적으로 수행 가능한 것으로 식별하고, 엔티티가 동일하지 않으면 복수의 문장을 독립적으로 수행 가능하지 않은 것으로 식별할 수 있다.
프로세서(130)는 복수의 문장이 독립적으로 수행 가능하다고 식별되면(S260-Yes), 복수의 문장에 대한 자연어 이해를 수행할 수 있다(S280).
또는, 프로세서(130)는 복수의 문장이 독립적으로 수행 가능하지 않다고 식별되면(S260-No), 복수의 문장을 하나의 문장으로 조합할 수 있다(S270). 예를 들어, 프로세서(130)는 복수의 문장이 독립적으로 수행 가능하지 않다고 식별되면(S260-No), 제1 신경망 모델을 이용하여 복수의 문장을 하나의 문장으로 조합할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(130)는 룰 기반의 문장 조합 모듈을 이용하여 복수의 문장을 하나의 문장으로 조합할 수도 있다. 예를 들어, 프로세서(130)는 복수의 문장 각각에서 동일한 엔티티에 해당하는 단어를 복수의 문장의 일부에서 삭제하고, 나머지를 조합하여 하나의 문장을 획득할 수도 있다.
프로세서(130)는 조합된 문장에 대한 자연어 이해를 수행할 수 있다(S280).
한편, S240 내지 S280은 도메인 별로 반복될 수 있다. 예를 들어, 프로세서(130)는 복수의 문장이 알람 도메인, 날씨 도메인으로 구분되면, 알람 도메인에 대해 S240 내지 S280의 작업을 수행하고, 날씨 도메인에 대해 S240 내지 S280의 작업을 수행할 수 있다. 이때, 프로세서(130)는 각 도메인에 포함된 문장의 개수 또는 문장의 순서에 기초하여 S240 내지 S280의 작업을 수행할 도메인의 순서를 결정할 수 있다.
한편, 이상에서는 제1 내지 제4 신경망 모델을 이용하는 것으로 설명하였으며, 각 신경망 모델은 전자 장치(100) 또는 외부 서버에 저장될 수 있다. 각 신경망 모델이 전자 장치(100)에 저장된 경우, 프로세서(130)는 저장된 신경망 모델을 직접 이용할 수 있다. 또는, 각 신경망 모델이 외부 서버에 저장된 경우, 프로세서(130)는 처리해야 하는 데이터를 외부 서버로 전송하고, 외부 서버로부터 신경망 연산 결과를 수신할 수도 있다.
이하에서는 도 3 내지 도 6을 통해 전자 장치(100)의 동작을 좀더 구체적으로 설명한다. 도 3 내지 도 6에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 3 내지 도 6의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 3은 본 개시의 일 실시 예에 따른 추가 사용자 음성 신호가 수신된 경우를 설명하기 위한 흐름도이다. 도 3에서 도메인 별로 반복되는 동작은 도 2와 동일하므로 구체적인 도시를 생략하였다.
도 3에 따르면 먼저, 사용자 음성 신호가 수신되면, 프로세서(130)는 문장 식별(S310) 동작, 도메인 식별(S320) 동작, 각 도메인에 대응되는 문장 선택(S330) 동작을 거쳐, 최종적으로 자연어 이해를 수행(S340)하게 된다.
그리고, 프로세서(130)는 자연어 이해 수행이 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되는지 식별할 수 있다(S350). 프로세서(130)는 자연어 이해 수행이 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되면, 추가 사용자 음성 신호에 대응되는 추가 텍스트를 획득하며, 획득된 추가 텍스트에 포함된 복수의 추가 문장을 식별하고, 복수의 도메인 중 복수의 추가 문장 각각에 대응되는 도메인을 식별하며, 복수의 문장 및 복수의 추가 문장 중 도메인이 동일한 문장들에 기초하여 제3 문장을 업데이트할 수 있다.
예를 들어, 프로세서(130)는 “모레 일찍 일어나야겠네. 아침 7시에 알람 맞춰야지. 아 배고프다. 근데 내일 날씨는 좋나?”라는 사용자 음성 신호에 따라 자연어 이해를 수행한 후 임계 시간 내에 "아니다. 아침 8시에 알람 맞춰야지."와 같은 추가 사용자 음성 신호가 수신되면, “모레 일찍 일어나야겠네.", "아침 7시에 알람 맞춰야지.", "아니다." 및 "아침 8시에 알람 맞춰야지."를 "모레 아침 8시에 알람 맞춰야지."로 조합하여 자연어 이해를 수행할 수 있다. 즉, 프로세서(130)는 하나의 문장에 대한 자연어 이해를 수행할 수 있다.
반면, 프로세서(130)는 “모레 일찍 일어나야겠네. 아침 7시에 알람 맞춰야지. 아 배고프다. 근데 내일 날씨는 좋나?”라는 사용자 음성 신호에 따라 자연어 이해를 수행한 후 임계 시간 이후에 "아니다. 아침 8시에 알람 맞춰야지."와 같은 추가 사용자 음성 신호가 수신되면, “모레 일찍 일어나야겠네." 및 "아침 7시에 알람 맞춰야지."를 "모레 아침 7시에 알람 맞춰야지."로 조합하여 자연어 이해를 수행한 후, , "아니다." 및 "아침 8시에 알람 맞춰야지."를 자연어 이해를 수행할 수 있다. 이 경우, 임계 시간 내에 추가 사용자 음성 신호가 수신된 경우와 비교하여 최종 동작은 동일할 수 있으나, 전자는 하나의 문장에 대한 자연어 이해가 수행되나, 후자는 두 문장에 대한 자연어 이해가 수행될 수 있다. 또는, 구현 예에 따라 "아니다."의 의미를 식별하지 못하고, "아침 8시에 알람 맞춰야지."에 따라 아침 8시 알람이 추가로 설정될 수도 있다.
한편, 도 3에서는 설명의 편의를 위해 자연어 이해를 수행 후 추가 음성 신호의 수신 여부를 식별하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로세서(130)는 문장 식별 이후부터 추가 사용자 음성 신호의 수신 여부를 식별하며, 추가 사용자 음성 신호가 수신되면 도메인 별로 반복되는 동작을 정지할 수 있다. 가령, 프로세서(130)는 도메인 식별 동작 중에 추가 사용자 음성 신호가 수신되면 최초 사용자 음성 신호에 대한 도메인 식별 동작 및 각 도메인에 대응되는 문장 선택 동작을 진행하고, 추가 사용자 음성 신호에 대한 문장 식별 동작, 도메인 식별 동작 및 각 도메인에 대응되는 문장 선택 동작을 진행할 수 있다. 그리고, 프로세서(130)는 최초 사용자 음성 신호 및 추가 사용자 음성 신호에 대하여 도메인 별로 반복되는 동작을 수행할 수 있다.
반면, 프로세서(130)는 최초 사용자 음성 신호에 대하여 도메인 별로 반복되는 동작을 수행하는 동안 추가 사용자 음성 신호가 수신되면, 최초 사용자 음성 신호에 대한 동작을 중단하고, 추가 사용자 음성 신호에 대한 문장 식별 동작, 도메인 식별 동작 및 각 도메인에 대응되는 문장 선택 동작을 진행할 수 있다. 그리고, 프로세서(130)는 최초 사용자 음성 신호 및 추가 사용자 음성 신호에 대하여 도메인 별로 반복되는 동작을 재수행할 수 있다.
도 4a 내지 도 4c는 본 개시의 다양한 실시 예에 따른 유사도 획득 동작을 설명하기 위한 도면들이다.
도 4a에 따르면, 프로세서(130)는 도메인이 알람 도메인으로 동일한 "내일 모닝콜 맞춰야지" 및 "8시로 알람 설정해줘" 각각을 복수의 토큰으로 구분할 수 있다. 가령, 프로세서(130)는 "내일 모닝콜 맞춰야지"를 "내일", "모닝콜", "맞춰야지"로 구분하고, "8시로 알람 설정해줘"를 "8시로", "알람", "설정해줘"로 구분할 수 있다.
그리고, 프로세서(130)는 엔티티 추출기를 이용하여 각 토큰으로부터 엔티티를 식별할 수 있다. 예를 들어, 메모리(120)는 도메인 별로 구분된 엔티티 정보를 저장할 수 있다. 예를 들어, 알람 도메인은 date 엔티티, time 엔티티 등을 포함할 수 있다. 엔티티 추출기는 도메인 별로 구분된 엔티티 정보를 이용하며, 프로세서(130)는 "내일"을 date 엔티티로 식별하고, "8시로"를 time 엔티티로 식별할 수 있다.
프로세서(130)는 복수의 문장 및 복수의 문장 각각이 포함하는 엔티티에 기초하여 복수의 문장의 유사도를 식별할 수 있다.
도 4b에 따르면, 프로세서(130)는 복수의 토큰 각각을 n차원의 임베딩 벡터로 변환하고, 복수의 엔티티 각각을 m차원의 벡터로 변환할 수 있다.
도 4c에 따르면, 프로세서(130)는 신경망 모델에 토큰 별로 n차원의 임베딩 벡터 및 m차원의 벡터를 입력하여 복수의 문장의 유사도를 식별할 수 있다. 구체적으로, 프로세서(130)는 "내일"의 임베딩 벡터 및 대응되는 엔티티를 나타내는 벡터를 Sentence 1의 E1으로 입력할 수 있다. 프로세서(130)는 "모닝콜", "맞춰야지"에 대하여도 동일하게 동작할 수 있다. 그리고, 프로세서(130)는 "8시로"의 임베딩 벡터 및 대응되는 엔티티를 나타내는 벡터를 Sentence 2의 E1'으로 입력할 수 있다. 프로세서(130)는 "알람", "설정해줘"에 대하여도 동일하게 동작할 수 있다.
프로세서(130)는 이상과 같은 방법으로 복수의 문장의 유사도를 식별할 수 있다.
도 4c의 신경망 모델은 엔티티를 나타내는 m차원의 벡터가 토큰과 함께 입력되는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 신경망 모델은 엔티티의 입력 없이 토큰만이 입력될 수도 있으며, 이러한 신경망 모델은 경량화 모델로서 이용될 수 있다.
도 5는 본 개시의 일 실시 예에 따른 독립적으로 자연어 처리를 수행하는지를 판단하는 동작을 설명하기 위한 도면이다.
도 5에 따르면, 프로세서(130)는 복수의 문장의 유사도가 임계값 미만이면, 복수의 문장 각각에 대한 자연어 이해를 수행할 수 있다. 이는 두 문장을 조합할 필요가 없기 때문이다.
또는, 프로세서(130)는 복수의 문장의 유사도가 임계값 이상이면, 복수의 문장을 조합하고, 조합된 문장에 대한 자연어 이해를 수행할 수 있다. 다만, 프로세서(130)는 복수의 문장의 유사도가 임계값 이상이더라도 복수의 문장을 조합하지 않을 수도 있다. 즉, 프로세서(130)는 복수의 문장을 독립적으로 처리할 수도 있으며, 이는 복수의 문장이 유사한 것을 전제로 한다.
프로세서(130)는 복수의 문장의 유사도가 임계값 이상이면, 복수의 문장에 각각 대응되는 복수의 엔티티의 동일 여부를 식별하며, 복수의 엔티티가 동일하지 않으면 복수의 문장을 조합하고, 복수의 엔티티가 동일하면 복수의 문장을 조합하지 않고 개별 처리할 수 있다.
예를 들어, 프로세서(130)는 복수의 문장이 “모레 일찍 일어나야겠네.”및 “아침 7시에 알람 맞춰야지.”이면, 두 문장의 엔티티가 각각 date 엔티티 및 time 엔티티로 상이하므로 두 문장을 “모레 아침 7시에 알람 맞춰야지.”로 조합하고, “모레 아침 7시에 알람 맞춰야지.”에 대한 자연어 이해를 수행할 수 있다. 또는, 프로세서(130)는 복수의 문장이 “아침 7시에 알람 맞춰야지.” 및 “아침 9시에도 알람 맞춰야지.”이면, 두 문장의 엔티티가 time 엔티티로 동일하므로 두 문장을 개별적으로 처리할 수도 있다.
또는, 프로세서(130)는 복수의 문장의 유사도가 임계값 이상이고 복수의 문장에 각각 대응되는 복수의 엔티티가 동일하며 복수의 문장 사이에 기설정된 텍스트가 포함된 경우, 복수의 문장의 수신 순서에 기초하여 복수의 중 하나에 대한 자연어 이해를 수행할 수도 있다.
예를 들어, 프로세서(130)는 “9시에 알람 맞춰줘.”, “아니다.”, “8시로 맞춰줘.”와 같은 사용자 음성 신호가 수신되면, 두 문장이 유사하고 두 문장의 엔티티가 time 엔티티로 동일하며 두 문장 사이에 “아니다.”와 같은 기설정된 텍스트가 포함되어, 두 문장 중 나중에 수신된 “8시로 맞춰줘.”에 대하여만 자연어 이해를 수행하고, “9시에 알람 맞춰줘.”에 대하여는 자연어 이해를 수행하지 않을 수도 있다.
도 5에서는 독립적 수행 여부의 판단을 룰 베이스로 설명하였으나, 이는 신경망 모델에 포함된 형태로 구현될 수도 있다. 예를 들어, 프로세서(130)는 도 4c의 신경망 모델에 기설정된 텍스트를 E[SEP]로 입력하여 두 문장의 조합 여부, 개별 처리 여부를 식별할 수도 있다.
도 6은 본 개시의 일 실시 예에 따른 복수의 문장의 조합을 설명하기 위한 도면이다.
프로세서(130)는 제1 신경망 모델을 이용하여 복수의 문장을 조합할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(130)는 룰 기반의 문장 조합 모듈을 이용하여 복수의 문장을 조합할 수도 있다.
구체적으로, 프로세서(130)는 복수의 문장 각각의 엔티티를 식별하고, 복수의 템플릿 중 식별된 엔티티를 모두 포함하는 템플릿에 기초하여 복수의 문장을 조합할 수 있다.
도 6에 따르면, 예를 들어, 프로세서(130)는 "내일 모닝콜 맞춰야지" 및 "8시로 알람 설정해줘"로부터 date 엔티티 및 time 엔티티를 식별하고, 복수의 템플릿 중 식별된 엔티티를 모두 포함하는 <date><time> 템플릿에 기초하여 복수의 문장을 "내일 8시로 알람 설정해줘"로 조합할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 7에 따르면, 사용자 음성 신호가 수신되면 사용자 음성 신호에 대응되는 텍스트를 획득한다(S710). 그리고, 획득된 텍스트에 포함된 복수의 문장을 식별한다(S720). 그리고, 복수의 도메인 중 복수의 문장 각각에 대응되는 도메인을 식별한다(S730). 그리고, 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 신경망 모델을 이용하여 제1 문장 및 제2 문장이 조합된 제3 문장을 획득한다(S740). 그리고, 제3 문장에 대한 자연어 이해를 수행한다(S750).
여기서, 제3 문장을 획득하는 단계(S740)는 제1 문장의 도메인에 기초하여 제1 문장에 대응되는 제1 엔티티(entity)를 식별하고, 제2 문장의 도메인에 기초하여 제2 문장에 대응되는 제2 엔티티를 식별하며, 제2 신경망 모델을 이용하여 제1 문장, 제2 문장, 제1 엔티티 및 제2 엔티티에 기초한 제1 문장 및 제2 문장의 유사도를 획득할 수 있다.
그리고, 제3 문장을 획득하는 단계(S740)는 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 엔티티 및 제2 엔티티의 동일 여부를 식별하며, 제1 엔티티 및 제2 엔티티가 동일하지 않으면 제1 신경망 모델을 이용하여 제3 문장을 획득하고, 제3 문장에 대한 자연어 이해를 수행하며, 제어 방법은 제1 엔티티 및 제2 엔티티가 동일하면 제1 문장 및 제2 문장 각각에 대한 자연어 이해를 수행하는 단계를 더 포함할 수 있다.
여기서, 제1 문장 및 제2 문장 각각에 대한 자연어 이해를 수행하는 단계는 제1 엔티티 및 제2 엔티티가 동일하고 제1 문장 및 제2 문장 사이에 기설정된 텍스트가 포함된 경우, 제1 문장 및 제2 문장의 수신 순서에 기초하여 제1 문장 및 제2 문장 중 하나에 대한 자연어 이해를 수행할 수 있다.
그리고, 유사도가 임계값 미만이면, 제1 문장 및 제2 문장 각각에 대한 자연어 이해를 수행하는 단계를 더 포함할 수 있다.
한편, 제3 문장을 획득하는 단계(S740)는 제1 문장의 도메인에 기초하여 제1 문장에 대응되는 제1 엔티티를 식별하고, 제2 문장의 도메인에 기초하여 제2 문장에 대응되는 제2 엔티티를 식별하며, 제1 신경망 모델을 이용하여 제1 문장, 제2 문장, 제1 엔티티 및 제2 엔티티에 기초한 제3 문장을 획득할 수 있다.
또한, 제3 문장을 획득하는 단계(S740)는 복수의 문장의 수신 순서에 기초하여 제1 문장을 식별하고, 제1 문장의 도메인에 기초하여 제2 문장을 식별할 수 있다.
한편, 복수의 문장을 식별하는 단계(S720)는 제3 신경망 모델을 이용하여 획득된 텍스트로부터 복수의 문장을 식별하고, 도메인을 식별하는 단계(S730)는 제4 신경망 모델을 이용하여 복수의 문장 각각에 대응되는 도메인을 식별할 수 있다.
또한, 제3 문장에 대한 자연어 이해가 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되면 추가 사용자 음성 신호에 대응되는 추가 텍스트를 획득하는 단계, 획득된 추가 텍스트에 포함된 복수의 추가 문장을 식별하는 단계, 복수의 도메인 중 복수의 추가 문장 각각에 대응되는 도메인을 식별하는 단계 및 복수의 문장 및 복수의 추가 문장 중 도메인이 동일한 문장들에 기초하여 제3 문장을 업데이트하는 단계를 더 포함할 수 있다.
한편, 자연어 이해를 수행하는 단계(S750)는 복수의 문장에 각각 대응되는 복수의 도메인의 우선순위에 기초하여 복수의 문장 중 적어도 하나의 문장에 대한 자연어 이해만을 수행하거나, 복수의 도메인 각각에 대응되는 문장의 순서에 기초하여 복수의 문장 전체에 대한 자연어 이해를 순차적으로 수행할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 유사한 복수의 문장을 하나의 문장으로 조합하고, 하나의 문장에 대해 자연어 이해를 수행하여 실행 시간을 단축하면서도 복수의 문장의 조합에 따라 정확도가 향상될 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(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 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    마이크;
    적어도 하나의 인스트럭션이 저장된 메모리; 및
    상기 마이크 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 마이크를 통해 사용자 음성 신호가 수신되면 상기 사용자 음성 신호에 대응되는 텍스트를 획득하며,
    상기 획득된 텍스트에 포함된 복수의 문장을 식별하고,
    복수의 도메인 중 상기 복수의 문장 각각에 대응되는 도메인을 식별하며,
    상기 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 신경망 모델을 이용하여 상기 제1 문장 및 상기 제2 문장이 조합된 제3 문장을 획득하고,
    상기 제3 문장에 대한 자연어 이해를 수행하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 문장의 도메인에 기초하여 상기 제1 문장에 대응되는 제1 엔티티(entity)를 식별하고,
    상기 제2 문장의 도메인에 기초하여 상기 제2 문장에 대응되는 제2 엔티티를 식별하며,
    제2 신경망 모델을 이용하여 상기 제1 문장, 상기 제2 문장, 상기 제1 엔티티 및 상기 제2 엔티티에 기초한 상기 제1 문장 및 상기 제2 문장의 유사도를 획득하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 문장 및 상기 제2 문장의 유사도가 상기 임계값 이상이면, 상기 제1 엔티티 및 상기 제2 엔티티의 동일 여부를 식별하며,
    상기 제1 엔티티 및 상기 제2 엔티티가 동일하지 않으면 상기 제1 신경망 모델을 이용하여 상기 제3 문장을 획득하고, 상기 제3 문장에 대한 자연어 이해를 수행하며,
    상기 제1 엔티티 및 상기 제2 엔티티가 동일하면 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제1 엔티티 및 상기 제2 엔티티가 동일하고 상기 제1 문장 및 상기 제2 문장 사이에 기설정된 텍스트가 포함된 경우, 상기 제1 문장 및 상기 제2 문장의 수신 순서에 기초하여 상기 제1 문장 및 상기 제2 문장 중 하나에 대한 자연어 이해를 수행하는, 전자 장치.
  5. 제3항에 있어서,
    상기 프로세서는,
    상기 유사도가 상기 임계값 미만이면, 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 문장의 도메인에 기초하여 상기 제1 문장에 대응되는 제1 엔티티를 식별하고,
    상기 제2 문장의 도메인에 기초하여 상기 제2 문장에 대응되는 제2 엔티티를 식별하며,
    상기 제1 신경망 모델을 이용하여 상기 제1 문장, 상기 제2 문장, 상기 제1 엔티티 및 상기 제2 엔티티에 기초한 상기 제3 문장을 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 문장의 수신 순서에 기초하여 상기 제1 문장을 식별하고, 상기 제1 문장의 도메인에 기초하여 상기 제2 문장을 식별하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    제3 신경망 모델을 이용하여 상기 획득된 텍스트로부터 상기 복수의 문장을 식별하고,
    제4 신경망 모델을 이용하여 상기 복수의 문장 각각에 대응되는 도메인을 식별하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제3 문장에 대한 자연어 이해가 완료된 후 임계 시간 내에 추가 사용자 음성 신호가 수신되면 상기 추가 사용자 음성 신호에 대응되는 추가 텍스트를 획득하며,
    상기 획득된 추가 텍스트에 포함된 복수의 추가 문장을 식별하고,
    복수의 도메인 중 상기 복수의 추가 문장 각각에 대응되는 도메인을 식별하며,
    상기 복수의 문장 및 상기 복수의 추가 문장 중 도메인이 동일한 문장들에 기초하여 상기 제3 문장을 업데이트하는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 문장에 각각 대응되는 복수의 도메인의 우선순위에 기초하여 상기 복수의 문장 중 적어도 하나의 문장에 대한 자연어 이해만을 수행하거나,
    상기 복수의 도메인 각각에 대응되는 문장의 순서에 기초하여 상기 복수의 문장 전체에 대한 자연어 이해를 순차적으로 수행하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    사용자 음성 신호가 수신되면 상기 사용자 음성 신호에 대응되는 텍스트를 획득하는 단계;
    상기 획득된 텍스트에 포함된 복수의 문장을 식별하는 단계;
    복수의 도메인 중 상기 복수의 문장 각각에 대응되는 도메인을 식별하는 단계;
    상기 복수의 문장 중 도메인이 동일한 제1 문장 및 제2 문장의 유사도가 임계값 이상이면, 제1 신경망 모델을 이용하여 상기 제1 문장 및 상기 제2 문장이 조합된 제3 문장을 획득하는 단계; 및
    상기 제3 문장에 대한 자연어 이해를 수행하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 제3 문장을 획득하는 단계는,
    상기 제1 문장의 도메인에 기초하여 상기 제1 문장에 대응되는 제1 엔티티(entity)를 식별하고,
    상기 제2 문장의 도메인에 기초하여 상기 제2 문장에 대응되는 제2 엔티티를 식별하며,
    제2 신경망 모델을 이용하여 상기 제1 문장, 상기 제2 문장, 상기 제1 엔티티 및 상기 제2 엔티티에 기초한 상기 제1 문장 및 상기 제2 문장의 유사도를 획득하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제3 문장을 획득하는 단계는,
    상기 제1 문장 및 상기 제2 문장의 유사도가 상기 임계값 이상이면, 상기 제1 엔티티 및 상기 제2 엔티티의 동일 여부를 식별하며,
    상기 제1 엔티티 및 상기 제2 엔티티가 동일하지 않으면 상기 제1 신경망 모델을 이용하여 상기 제3 문장을 획득하고, 상기 제3 문장에 대한 자연어 이해를 수행하며,
    상기 제어 방법은,
    상기 제1 엔티티 및 상기 제2 엔티티가 동일하면 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는 단계;를 더 포함하는, 제어 방법.
  14. 제13항에 있어서,
    상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는 단계는,
    상기 제1 엔티티 및 상기 제2 엔티티가 동일하고 상기 제1 문장 및 상기 제2 문장 사이에 기설정된 텍스트가 포함된 경우, 상기 제1 문장 및 상기 제2 문장의 수신 순서에 기초하여 상기 제1 문장 및 상기 제2 문장 중 하나에 대한 자연어 이해를 수행하는, 제어 방법.
  15. 제13항에 있어서,
    상기 유사도가 상기 임계값 미만이면, 상기 제1 문장 및 상기 제2 문장 각각에 대한 자연어 이해를 수행하는 단계;를 더 포함하는, 제어 방법.
PCT/KR2021/012655 2021-02-17 2021-09-16 전자 장치 및 그 제어 방법 WO2022177089A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21926888.5A EP4254401A4 (en) 2021-02-17 2021-09-16 ELECTRONIC DEVICE AND CONTROL METHOD THEREFOR
US17/523,367 US20220262364A1 (en) 2021-02-17 2021-11-10 Electronic apparatus and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210021438A KR20220117743A (ko) 2021-02-17 2021-02-17 전자 장치 및 그 제어 방법
KR10-2021-0021438 2021-02-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/523,367 Continuation US20220262364A1 (en) 2021-02-17 2021-11-10 Electronic apparatus and control method thereof

Publications (1)

Publication Number Publication Date
WO2022177089A1 true WO2022177089A1 (ko) 2022-08-25

Family

ID=82931171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/012655 WO2022177089A1 (ko) 2021-02-17 2021-09-16 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20220117743A (ko)
WO (1) WO2022177089A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128821A1 (en) * 1999-05-28 2002-09-12 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces
KR20170037593A (ko) * 2017-03-23 2017-04-04 주식회사 플런티코리아 답변 추천 장치 및 방법
KR101851785B1 (ko) * 2017-03-20 2018-06-07 주식회사 마인드셋 챗봇의 트레이닝 세트 생성 장치 및 방법
KR20200010061A (ko) * 2018-07-20 2020-01-30 삼성전자주식회사 전자 장치 및 전자 장치의 학습 방법
KR20200123945A (ko) * 2019-04-23 2020-11-02 현대자동차주식회사 자연어 생성 장치, 이를 포함하는 차량 및 자연어 생성 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128821A1 (en) * 1999-05-28 2002-09-12 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces
KR101851785B1 (ko) * 2017-03-20 2018-06-07 주식회사 마인드셋 챗봇의 트레이닝 세트 생성 장치 및 방법
KR20170037593A (ko) * 2017-03-23 2017-04-04 주식회사 플런티코리아 답변 추천 장치 및 방법
KR20200010061A (ko) * 2018-07-20 2020-01-30 삼성전자주식회사 전자 장치 및 전자 장치의 학습 방법
KR20200123945A (ko) * 2019-04-23 2020-11-02 현대자동차주식회사 자연어 생성 장치, 이를 포함하는 차량 및 자연어 생성 방법

Also Published As

Publication number Publication date
KR20220117743A (ko) 2022-08-24

Similar Documents

Publication Publication Date Title
WO2021177730A1 (ko) 음성 및 연하 장애를 유발하는 질환 진단 장치 및 그 진단 방법
WO2020017898A1 (en) Electronic apparatus and control method thereof
WO2020159288A1 (ko) 전자 장치 및 그 제어 방법
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2020222384A1 (ko) 전자 장치 및 이의 제어 방법
WO2018174397A1 (ko) 전자 장치 및 제어 방법
WO2020159140A1 (ko) 전자 장치 및 이의 제어 방법
WO2022145611A1 (ko) 전자 장치 및 그 제어 방법
WO2020045794A1 (ko) 전자 장치 및 그 제어 방법
WO2021107390A1 (en) Electronic device and method for controlling the electronic device
WO2020231151A1 (en) Electronic device and method of controlling thereof
WO2022177089A1 (ko) 전자 장치 및 그 제어 방법
WO2020080812A1 (en) Electronic device and controlling method of electronic device
EP3850623A1 (en) Electronic device and method of controlling thereof
WO2022177091A1 (ko) 전자 장치 및 이의 제어 방법
WO2021154018A1 (en) Electronic device and method for controlling the electronic device thereof
WO2021054613A1 (en) Electronic device and method for controlling the electronic device thereof
WO2022059979A1 (ko) 전자 장치 및 그 제어 방법
WO2022092445A1 (ko) 전자 장치 및 그 제어 방법
WO2021230470A1 (ko) 전자 장치 및 그 제어 방법
WO2021153884A1 (en) Electronic device and operation method thereof
WO2022158776A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022092440A1 (ko) 전자 장치 및 그 제어 방법
WO2023120861A1 (ko) 전자 장치 및 그 제어 방법
WO2021010651A1 (en) Method and apparatus for artificial intelligence model personalization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21926888

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021926888

Country of ref document: EP

Effective date: 20230630

NENP Non-entry into the national phase

Ref country code: DE