KR102755684B1 - Elecctronic apparatus and method for performing speech recognition based speech termination and speech certainty - Google Patents
Elecctronic apparatus and method for performing speech recognition based speech termination and speech certainty Download PDFInfo
- Publication number
- KR102755684B1 KR102755684B1 KR1020240059921A KR20240059921A KR102755684B1 KR 102755684 B1 KR102755684 B1 KR 102755684B1 KR 1020240059921 A KR1020240059921 A KR 1020240059921A KR 20240059921 A KR20240059921 A KR 20240059921A KR 102755684 B1 KR102755684 B1 KR 102755684B1
- Authority
- KR
- South Korea
- Prior art keywords
- utterance
- module
- output
- termination
- user
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 66
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000000694 effects Effects 0.000 claims abstract description 11
- 230000004913 activation Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 49
- 238000013528 artificial neural network Methods 0.000 description 41
- 238000013473 artificial intelligence Methods 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 14
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000306 recurrent effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000009849 deactivation Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 101100009348 Mus musculus Depp1 gene Proteins 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 101100009350 Rattus norvegicus Depp gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000000571 coke Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000714 time series forecasting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/87—Detection of discrete points within a voice signal
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/93—Discriminating between voiced and unvoiced parts of speech signals
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
본 개시에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치는, 사용자 인터페이스 기반으로 사용자 음성 데이터를 입력받는 음성 인식 모듈; 사용자 발화 종료 검출 동작 수행을 위한 적어도 하나의 프로세스가 저장된 메모리; 및 상기 프로세스에 따라 상기 사용자 발화 종료 검출 동작을 수행하는 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, VAD(Voice Activity Detection) 모듈 및 NLU(Natural Language Understanding) 처리 모듈을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하고, 상기 NLU 처리 모듈 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하도록 구성될 수 있다.An electronic device for performing speech recognition based on utterance termination and utterance certainty according to the present disclosure comprises: a speech recognition module for receiving user speech data based on a user interface; a memory for storing at least one process for performing a user speech termination detection operation; and at least one processor for performing the user speech termination detection operation according to the process; wherein the at least one processor may be configured to output whether utterance has been terminated for input user speech data using a Voice Activity Detection (VAD) module and a Natural Language Understanding (NLU) processing module, and to receive the utterance termination status using the NLU processing module and an Automatic Speech Recognition Confidence Score (ASR) calculation module and output whether re-speech is requested.
Description
본 개시는 음성 인식을 수행하는 전자 장치 및 방법으로서, 보다 구체적으로는 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치 및 방법에 관한 것이다.The present disclosure relates to an electronic device and method for performing speech recognition, and more particularly, to an electronic device and method for performing speech recognition based on utterance termination and utterance certainty.
최근, 다양한 분야에서 AICC(AI Contact Center)를 구축하여 AI 모델을 통해 고객 응대 업무 등을 수행하고 있다. 다시 말해, AI 모델과 사람이 대화하는 환경에서 사람의 음성을 인식하고 인식 결과에 따라 AI 모델이 대응하는 시나리오를 자동 진행하고 있다.Recently, AICC (AI Contact Center) has been built in various fields to perform customer response tasks, etc. using AI models. In other words, in an environment where AI models and people converse, human voices are recognized, and scenarios in which AI models respond based on the recognition results are automatically performed.
AI 모델의 질의에 대한 사람의 답변이 입력될 때, 답변이 완료되어 AI 모델이 상기 답변을 처리해야 하는 시점을 판단하는 방법을 엔드 포인트 검출(End Point Detection)이라고 한다. 엔드 포인트 검출은 실시간 STT(Speech To TEXT)를 수행하며 사람의 답변 종료 지점을 검출하고 발화 구간을 나누는 기술이며, 종래에는 인식된 음성 종료 후 기설정된 시간이 도과하면 상기 도과된 시간을 발화 종료된 엔드 포인트로 판단하였다.When a human response to an AI model's query is input, the method of determining when the response is complete and the AI model should process the response is called Endpoint Detection. Endpoint Detection is a technology that performs real-time STT (Speech To Text) and detects the end point of a human response and divides the speech section. In the past, when a preset time elapsed after the end of the recognized voice, the elapsed time was determined as the end point of the speech.
그러나, 사용자가 AI 모델의 질의에 답변하는 환경에서 다른 사람의 음성이 인식되는 등 사용자 음성에 노이즈가 끼거나 사용자가 음성 공백을 가지며 추가 답변을 하여 발화 종료가 불분명한 상황이 존재할 수 있다. 이러한 상황에서 AI 모델이 명료하게 사용자의 발화 종료를 판단할 수 없다.However, in an environment where a user answers an AI model's query, there may be situations where the user's voice is noisy, such as when another person's voice is recognized, or the user has a gap in their voice and makes an additional answer, making the end of the utterance unclear. In such situations, the AI model cannot clearly determine the end of the user's utterance.
사용자 음성 신호에서 잡음을 제거한다고 하더라도 사용자의 발화 종료 여부 또는 추가적인 발화가 남아있는지는 주관적인 상황에 따라 결정되는 것으로 객관적인 사전 처리가 어렵고, AI 모델이 객관적으로 발화 종료를 판단히가 어렵다.Even if noise is removed from the user's voice signal, whether the user has ended speech or has additional speech remaining is determined by subjective circumstances, making objective preprocessing difficult, and it is difficult for an AI model to objectively determine the end of speech.
또한, 발화 종료 여부를 판단하였다 하더라도 사용자의 음성 인식이 부정확하게 수행될 경우 AI 모델은 재발화를 요청하여야 하며, 이를 발화 종료 판단과 함께 수행할 수 없어 별개의 절차로 진행해야 하는 번거로움이 있었다.In addition, even if it is determined whether the speech has ended, if the user's voice recognition is performed inaccurately, the AI model must request re-speech, and this cannot be performed together with the judgment of the end of speech, so it must be performed as a separate procedure, which is inconvenient.
종래 문제점을 해결하기 위하여, 본 개시에 개시된 실시예는 VAD(Voice Activity Detection) 모듈, NLU(Natural Language Understanding) 처리 모듈 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈을 조합하여 발화 종료 여부 또는 재발화 요청 여부를 결정함으로써 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치 및 방법을 제공하는데 그 목적이 있다.In order to solve the problems of the related art, the embodiment disclosed in the present disclosure aims to provide an electronic device and method for performing speech recognition based on utterance termination and utterance certainty by combining a VAD (Voice Activity Detection) module, an NLU (Natural Language Understanding) processing module, and an ASR (Automatic Speech Recognition Confidence Score) calculation module to determine whether utterance has ended or whether a re-utterance is requested.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 기술적 과제를 달성하기 위한 본 개시에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치는, 사용자 인터페이스 기반으로 사용자 음성 데이터를 입력받는 음성 인식 모듈; 사용자 발화 종료 검출 동작 수행을 위한 적어도 하나의 프로세스가 저장된 메모리; 및 상기 프로세스에 따라 상기 사용자 발화 종료 검출 동작을 수행하는 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, VAD(Voice Activity Detection) 모듈 및 NLU(Natural Language Understanding) 처리 모듈을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하고, 상기 NLU 처리 모듈 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하도록 구성될 수 있다.An electronic device for performing speech recognition based on utterance termination and utterance certainty according to the present disclosure for achieving the above-described technical problem comprises: a speech recognition module for receiving user speech data based on a user interface; a memory storing at least one process for performing a user speech termination detection operation; and at least one processor for performing the user speech termination detection operation according to the process; wherein the at least one processor may be configured to output whether utterance has been terminated for input user speech data using a Voice Activity Detection (VAD) module and a Natural Language Understanding (NLU) processing module, and to receive the utterance termination status using the NLU processing module and an Automatic Speech Recognition Confidence Score (ASR) calculation module and output whether re-speech is requested.
상술한 기술적 과제를 달성하기 위한 본 개시에 따른 발화 종료 및 발화 확실성 기반 음성 인식 방법은, 사용자 인터페이스 기반 음성 인식 모듈, 메모리 및 사용자 발화 종료 검출 동작을 수행하는 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는 발화 종료 및 발화 확실성 기반 음성 인식 방법으로서, 상기 방법은 VAD(Voice Activity Detection) 모듈 및 NLU(Natural Language Understanding) 처리 모듈을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하는 단계; 및 상기 NLU 처리 모듈 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하는 단계를 포함할 수 있다. According to the present disclosure for achieving the above-described technical problem, a speech recognition method based on utterance termination and utterance certainty is provided, which is performed by a computing device including a user interface-based speech recognition module, a memory, and at least one processor that performs a user utterance termination detection operation, wherein the method may include a step of outputting whether utterance has been terminated for input user voice data by using a Voice Activity Detection (VAD) module and a Natural Language Understanding (NLU) processing module; and a step of receiving whether the utterance has been terminated and outputting whether a re-utterance is requested by using the NLU processing module and an Automatic Speech Recognition Confidence Score (ASR) calculation module.
이 외에도, 본 개시를 구현하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition, a computer program stored in a computer-readable recording medium for implementing the present disclosure may be further provided.
이 외에도, 본 개시를 구현하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition, a computer-readable recording medium recording a computer program for implementing the present disclosure may be further provided.
본 개시의 전술한 과제 해결 수단에 의하면, 실시간으로 사용자 음성을 인식하여 STT를 수행할 때 정확하게 사용자의 발화 종료 여부를 판단하여 음성 인식 정확도 및 성능을 향상시키는 효과를 제공한다.According to the above-described problem solving means of the present disclosure, when performing STT by recognizing a user's voice in real time, it is possible to accurately determine whether the user's speech has ended, thereby providing an effect of improving voice recognition accuracy and performance.
또한, 본 개시의 전술한 과제 해결 수단에 의하면, 답변 가능한 발화로서 재발화가 필요한지 여부를 판단하여 AI 모듈이 일련의 과정으로 신속하게 정확한 사용자 음성을 획득하도록 유도하는 효과를 제공한다.In addition, the aforementioned problem solving means of the present disclosure provides an effect of inducing the AI module to quickly acquire an accurate user voice through a series of processes by determining whether re-speech is necessary as an answerable utterance.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 구성을 간략하게 도시한 블록도이다.
도 2는 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 프로세서의 구성을 간략하게 도시한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 VAD 모듈 프로세스를 간략하게 도시한 개념도이다.
도 4는 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치에 따른 음성 인식 결과를 도시한 도면이다.
도 5는 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 오디오 스트림에 대한 구성 간 데이터 송수신 프로세스를 간략하게 도시한 데이터 송수신도이다.
도 6은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 발화 종료 판단 프로세스를 도시한 테이블이다.
도 7은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 재발화 요청 프로세스를 도시한 테이블이다.
도 8은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식 방법을 도시한 플로우 차트이다.FIG. 1 is a block diagram briefly illustrating the configuration of an electronic device that performs speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
FIG. 2 is a block diagram briefly illustrating the configuration of a processor of an electronic device that performs speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
FIG. 3 is a conceptual diagram schematically illustrating a VAD module process of an electronic device that performs speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
FIG. 4 is a diagram illustrating a speech recognition result according to an electronic device that performs speech termination and speech certainty-based speech recognition according to one embodiment of the present disclosure.
FIG. 5 is a data transmission and reception diagram schematically illustrating a data transmission and reception process for an audio stream of an electronic device performing speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
FIG. 6 is a table illustrating an utterance end determination process of an electronic device that performs utterance end and utterance certainty-based voice recognition according to one embodiment of the present disclosure.
FIG. 7 is a table illustrating a re-ignition request process of an electronic device that performs speech termination and speech certainty-based speech recognition according to one embodiment of the present disclosure.
FIG. 8 is a flow chart illustrating a speech recognition method based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Throughout this disclosure, the same reference numerals refer to the same components. This disclosure does not describe all elements of the embodiments, and any content that is general in the technical field to which this disclosure belongs or that overlaps between the embodiments is omitted. The terms ‘part, module, element, block’ used in the specification can be implemented in software or hardware, and according to the embodiments, a plurality of ‘parts, modules, elements, blocks’ can be implemented as a single component, or a single ‘part, module, element, block’ can include a plurality of components.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only a direct connection but also an indirect connection, and an indirect connection includes a connection via a wireless communications network.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, when a part is said to "include" a component, this does not mean that it excludes other components, but rather that it may include other components, unless otherwise specifically stated.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when it is said that an element is "on" another element, this includes not only cases where the element is in contact with the other element, but also cases where there is another element between the two elements.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. The terms first, second, etc. are used to distinguish one component from another, and the components are not limited by the aforementioned terms.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Singular expressions include plural expressions unless the context clearly indicates otherwise.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. The identification codes in each step are used for convenience of explanation and do not describe the order of each step. Each step may be performed in a different order than specified unless the context clearly indicates a specific order.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.The operating principle and embodiments of the present disclosure are described below with reference to the attached drawings.
본 명세서에서 '본 개시에 따른 장치'는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 장치는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In this specification, the 'device according to the present disclosure' includes all of various devices that can perform computational processing and provide results to a user. For example, the device according to the present disclosure may include all of a computer, a server device, and a portable terminal, or may be in the form of any one of them.
여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.Here, the computer may include, for example, a notebook, desktop, laptop, tablet PC, slate PC, etc. equipped with a web browser.
상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.The above server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.
상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.The above portable terminal may include, for example, all kinds of handheld-based wireless communication devices such as a PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, a smart phone, and a wearable device such as a watch, a ring, a bracelet, an anklet, a necklace, glasses, contact lenses, or a head-mounted-device (HMD).
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.The function related to artificial intelligence according to the present disclosure is operated through a processor and a memory. The processor may be composed of one or more processors. At this time, one or more processors may be a general-purpose processor such as a CPU, an AP, a DSP (Digital Signal Processor), a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU. One or more processors control to process input data according to a predefined operation rule or artificial intelligence model stored in a memory. Alternatively, when one or more processors are artificial intelligence-only processors, the artificial intelligence-only processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.The function related to artificial intelligence according to the present disclosure is operated through a processor and a memory. The processor may be composed of one or more processors. At this time, one or more processors may be a general-purpose processor such as a CPU, an AP, a DSP (Digital Signal Processor), a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU. One or more processors control to process input data according to a predefined operation rule or artificial intelligence model stored in a memory. Alternatively, when one or more processors are artificial intelligence-only processors, the artificial intelligence-only processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도 형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.The predefined operation rules or artificial intelligence models are characterized by being created through learning. Here, being created through learning means that the basic artificial intelligence model is learned by using a plurality of learning data by a learning algorithm, thereby creating a predefined operation rules or artificial intelligence model set to perform a desired characteristic (or purpose). Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the examples described above.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들 (weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경 망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, 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) 등이 있으나, 전술한 예에 한정되지 않는다.The artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and performs a neural network operation through an operation between the operation result of the previous layer and the plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, the plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model is reduced or minimized during the learning process. The artificial neural network may include a deep neural network (DNN), and examples thereof include, but are not limited to, a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or a deep Q-network.
본 개시의 예시적인 실시예에 따르면, 프로세서는 인공지능을 구현할 수 있다. 인공지능이란 사람의 신경세포(biological neuron)를 모사하여 기계가 학습하도록 하는 인공신경망(Artificial Neural Network) 기반의 기계 학습법을 의미한다. 인공지능의 방법론에는 학습 방식에 따라 훈련데이터로서 입력데이터와 출력데이터가 같이 제공됨으로써 문제(입력데이터)의 해답(출력데이터)이 정해져 있는 지도학습(supervised learning), 및 출력데이터 없이 입력데이터만 제공되어 문제(입력데이터)의 해답(출력데이터)이 정해지지 않는 비지도학습(unsupervised learning), 및 현재의 상태(State)에서 어떤 행동(Action)을 취할 때마다 외부 환경에서 보상(Reward)이 주어지는데, 이러한 보상을 최대화하는 방향으로 학습을 진행하는 강화학습(reinforcement learning)으로 구분될 수 있다. 또한, 인공지능의 방법론은 학습 모델의 구조인 아키텍처에 따라 구분될 수도 있는데, 널리 이용되는 딥러닝 기술의 아키텍처는, 합성곱신경망(CNN; Convolutional Neural Network), 순환신경망(RNN; Recurrent Neural Network), 트랜스포머(Transformer), 생성적 대립 신경망(GAN; generative adversarial networks) 등으로 구분될 수 있다.According to an exemplary embodiment of the present disclosure, a processor can implement artificial intelligence. Artificial intelligence refers to a machine learning method based on an artificial neural network that imitates human biological neurons to enable a machine to learn. Artificial intelligence methodologies can be divided into supervised learning in which input data and output data are provided together as training data according to a learning method, so that an answer (output data) to a problem (input data) is determined, unsupervised learning in which only input data is provided without output data, so that an answer (output data) to a problem (input data) is not determined, and reinforcement learning in which a reward is given from an external environment whenever an action is taken in a current state, and learning is performed in a direction to maximize this reward. In addition, artificial intelligence methodologies can be categorized by architecture, which is the structure of the learning model. The architectures of widely used deep learning technologies can be categorized into convolutional neural networks (CNNs), recurrent neural networks (RNNs), transformers, and generative adversarial networks (GANs).
본 장치와 시스템은 인공지능 모델을 포함할 수 있다. 인공지능 모델은 하나의 인공지능 모델일 수 있고, 복수의 인공지능 모델로 구현될 수도 있다. 인공지능 모델은 뉴럴 네트워크(또는 인공 신경망)로 구성될 수 있으며, 기계학습과 인지과학에서 생물학의 신경을 모방한 통계학적 학습 알고리즘을 포함할 수 있다. 뉴럴 네트워크는 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 뉴럴 네트워크의 뉴런은 가중치 또는 바이어스의 조합을 포함할 수 있다. 뉴럴 네트워크는 하나 이상의 뉴런 또는 노드로 구성된 하나 이상의 레이어(layer)를 포함할 수 있다. 예시적으로, 장치는 input layer, hidden layer, output layer를 포함할 수 있다. 장치를 구성하는 뉴럴 네트워크는 뉴런의 가중치를 학습을 통해 변화시킴으로써 임의의 입력(input)으로부터 예측하고자 하는 결과(output)를 추론할 수 있다.The present device and system may include an artificial intelligence model. The artificial intelligence model may be one artificial intelligence model or may be implemented as multiple artificial intelligence models. The artificial intelligence model may be composed of a neural network (or an artificial neural network) and may include a statistical learning algorithm that mimics biological neurons in machine learning and cognitive science. A neural network may refer to a model in which artificial neurons (nodes) that form a network by combining synapses change the strength of the synapses through learning and have problem-solving capabilities. Neurons of a neural network may include a combination of weights or biases. A neural network may include one or more layers composed of one or more neurons or nodes. For example, the device may include an input layer, a hidden layer, and an output layer. A neural network that constitutes the device may infer a desired result (output) from an arbitrary input (input) by changing the weights of neurons through learning.
프로세서는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 훈련(train, 또는 학습(learn)하거나, 수신되는 입력 데이터를 기초로 연산을 수행하고, 수행 결과를 기초로 정보 신호(information signal)를 생성하거나, 뉴럴 네트워크를 재훈련(retrain)할 수 있다. 뉴럴 네트워크의 모델들은 GoogleNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restrcted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등 다양한 종류의 모델들을 포함할 수 있으나 이에 제한되지는 않는다. 프로세서는 뉴럴 네트워크의 모델들에 따른 연산을 수행하기 위한 하나 이상의 프로세서를 포함할 수 있다. 예를 들어 뉴럴 네트워크는 심층 뉴럴 네트워크 (Deep Neural Network)를 포함할 수 있다.The processor can generate a neural network, train (or learn) a neural network, perform a calculation based on received input data, generate an information signal based on the result of the calculation, or retrain the neural network. The models of the neural network can include various types of models such as CNN (Convolution Neural Network) such as GoogleNet, AlexNet, VGG Network, R-CNN (Region with Convolution Neural Network), RPN (Region Proposal Network), RNN (Recurrent Neural Network), S-DNN (Stacking-based deep Neural Network), S-SDNN (State-Space Dynamic Neural Network), Deconvolution Network, DBN (Deep Belief Network), RBM (Restrcted Boltzman Machine), Fully Convolutional Network, LSTM (Long Short-Term Memory) Network, Classification Network, etc., but are not limited thereto. The processor can include one or more processors for performing calculations according to the models of the neural network. For example, the neural network can include a deep It may include a neural network (Deep Neural Network).
뉴럴 네트워크는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), 퍼셉트론(perceptron), 다층 퍼셉트론(multilayer perceptron), FF(Feed Forward), RBF(Radial Basis Network), DFF(Deep Feed Forward), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit), AE(Auto Encoder), VAE(Variational Auto Encoder), DAE(Denoising Auto Encoder), SAE(Sparse Auto Encoder), MC(Markov Chain), HN(Hopfield Network), BM(Boltzmann Machine), RBM(Restricted Boltzmann Machine), DBN(Depp Belief Network), DCN(Deep Convolutional Network), DN(Deconvolutional Network), DCIGN(Deep Convolutional Inverse Graphics Network), GAN(Generative Adversarial Network), LSM(Liquid State Machine), ELM(Extreme Learning Machine), ESN(Echo State Network), DRN(Deep Residual Network), DNC(Differentiable Neural Computer), NTM(Neural Turning Machine), CN(Capsule Network), KN(Kohonen Network) 및 AN(Attention Network)를 포함할 수 있으나 이에 한정되는 것이 아닌 임의의 뉴럴 네트워크를 포함할 수 있음은 통상의 기술자가 이해할 것이다.Neural networks include CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), perceptron, multilayer perceptron, FF (Feed Forward), RBF (Radial Basis Network), DFF (Deep Feed Forward), and LSTM. (Long Short Term Memory), GRU (Gated Recurrent Unit), AE (Auto Encoder), VAE (Variational Auto Encoder), DAE (Denoising Auto Encoder), SAE (Sparse Auto Encoder), MC (Markov Chain), HN (Hopfield Network), BM (Boltzmann Machine), RBM (Restricted Boltzmann Machine), DBN (Depp Belief Network), DCN (Deep Convolutional Network), DN (Deconvolutional Network), DCIGN (Deep Convolutional Inverse Graphics Network), Generative Adversarial Network (GAN), Liquid State Machine (LSM), Extreme Learning Machine (ELM), It can include ESN (Echo State Network), DRN (Deep Residual Network), DNC (Differentiable Neural Computer), NTM (Neural Turning Machine), CN (Capsule Network), KN (Kohonen Network) and AN (Attention Network). It will be appreciated by those skilled in the art that this may include any neural network, but is not limited thereto.
본 개시의 예시적인 실시예에 따르면, 프로세서는 GoogleNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restrcted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network, Generative Modeling, eXplainable AI, Continual AI, Representation Learning, AI for Material Design, 자연어 처리를 위한 BERT, SP-BERT, MRC/QA, Text Analysis, Dialog System, GPT-3, GPT-4, 비전 처리를 위한 Visual Analytics, Visual Understanding, Video Synthesis, ResNet 데이터 지능을 위한 Anomaly Detection, Prediction, Time-Series Forecasting, Optimization, Recommendation, Data Creation 등 다양한 인공지능 구조 및 알고리즘을 이용할 수 있으며, 이에 제한되지 않는다. 이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.According to an exemplary embodiment of the present disclosure, the processor may be configured to perform a CNN (Convolution Neural Network) such as GoogleNet, AlexNet, VGG Network, R-CNN (Region with Convolution Neural Network), RPN (Region Proposal Network), RNN (Recurrent Neural Network), S-DNN (Stacking-based deep Neural Network), S-SDNN (State-Space Dynamic Neural Network), Deconvolution Network, DBN (Deep Belief Network), RBM (Restrcted Boltzman Machine), Fully Convolutional Network, LSTM (Long Short-Term Memory) Network, Classification Network, Generative Modeling, eXplainable AI, Continual AI, Representation Learning, AI for Material Design, BERT, SP-BERT, MRC/QA for natural language processing, Text Analysis, Dialog System, GPT-3, GPT-4, Visual Analytics for vision processing, Visual Understanding, Video Synthesis, ResNet for data intelligence, Anomaly Detection, Prediction, Time-Series Forecasting, Various artificial intelligence structures and algorithms such as Optimization, Recommendation, and Data Creation can be used, but are not limited thereto. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings.
도 1은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치(100)의 구성을 간략하게 도시한 블록도이다.FIG. 1 is a block diagram briefly illustrating the configuration of an electronic device (100) that performs speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
도 1을 참고하면 본 개시에 따른 전자 장치(100)는 입출력 모듈(110), 통신 모듈(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다. 이하에서는, 전자 장치(100)는 발화 종료 및 발화 확실성 기반 음성 인식 동작을 수행하는 전자적 장치이며, 발화 종료 및 발화 확실성 기반 음성 인식 동작을 수행하는 전자 장치(100)를 통해 구현되는 것으로 가정된다.Referring to FIG. 1, an electronic device (100) according to the present disclosure may include an input/output module (110), a communication module (120), a memory (130), and a processor (140). Hereinafter, the electronic device (100) is an electronic device that performs speech recognition operations based on utterance termination and speech certainty, and is assumed to be implemented through an electronic device (100) that performs speech recognition operations based on utterance termination and speech certainty.
입출력 모듈(110)은 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 입출력 모듈(110)은 입력 모듈과 출력 모듈로 구분될 수 있다.The input/output module (110) may be various interfaces or connection ports that receive user input or output information to the user. The input/output module (110) may be divided into an input module and an output module.
입력 모듈은 사용자로부터 사용자 입력을 수신한다. 입력 모듈은 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 적어도 하나의 카메라, 적어도 하나의 마이크로폰 및 사용자 입력부 중 적어도 하나를 포함할 수 있다. 입력부에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.The input module receives user input from a user. The input module is for inputting image information (or signal), audio information (or signal), data, or information input from a user, and may include at least one camera, at least one microphone, and at least one user input unit. Voice data or image data collected from the input unit may be analyzed and processed as a user control command.
사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력 받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 등으로 구성되는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력 받는 다양한 형태의 입력 수단을 모두 포함하는 포괄적인 개념이다. User input can take various forms, including key input, touch input, and voice input. Examples of input modules that can receive such user input include, in addition to traditional keypads, keyboards, and mice, touch sensors that detect the user's touch, microphones that receive voice signals, cameras that recognize gestures through image recognition, proximity sensors such as light sensors or infrared sensors that detect the approach of a user, motion sensors that recognize user movements through acceleration sensors or gyro sensors, and various other input means that detect or receive various forms of user input.
여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력 받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다. Here, the touch sensor may be implemented as a piezoelectric or electrostatic touch sensor that detects touch through a touch panel or touch film attached to the display panel, an optical touch sensor that detects touch in an optical manner, etc. In addition, the input module may be implemented in the form of an input interface (such as a USB port or PS/2 port) that connects an external input device that receives user input instead of a device that detects user input on its own.
출력 모듈은 각종 정보를 출력해 사용자에게 이를 제공할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커(및/또는 이와 연결된 증폭기(amplifier)), 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단을 모두 포함하는 포괄적인 개념이다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다. The output module can output various information and provide it to the user. The output module is a comprehensive concept that includes a display that outputs images, a speaker (and/or an amplifier connected thereto) that outputs sounds, a haptic device that generates vibrations, and various other forms of output means. In addition, the output module can also be implemented in the form of a port-type output interface that connects the individual output means described above.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD: Liquid Crystal Display), 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD: Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(1D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치를 모두 포함하는 광의의 영상 표시 장치를 의미하는 개념이다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.For example, an output module in the form of a display can display text, still images, and moving images. The display is a concept that broadly refers to an image display device including various forms of devices that can perform image output functions, such as a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flat panel display (FPD), a transparent display, a curved display, a flexible display, a 3D display, a holographic display, a projector, and others. Such a display may be in the form of a touch display configured integrally with a touch sensor of the input module.
다시 말해, 입출력 모듈(110)은 사용자 인터페이스 기반으로 사용자 입력을 받거나, 사용자에게 출력을 제공할 수 있다.In other words, the input/output module (110) can receive user input or provide output to the user based on a user interface.
통신 모듈(120)은 외부 기기와 통신할 수 있다. 따라서, 장치(디바이스)는 통신 모듈를 통해 외부 기기와 정보를 송수신할 수 있다. 예를 들어, 장치는 통신 모듈를 이용해 전기차 충전관리 시스템 내에 저장 및 생성된 정보들이 공유되도록 외부 기기와 통신을 수행할 수 있다. 통신 모듈(120)은 예를 들어, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.The communication module (120) can communicate with an external device. Therefore, the device can transmit and receive information with the external device through the communication module. For example, the device can communicate with the external device so that information stored and generated within the electric vehicle charging management system is shared using the communication module. The communication module (120) can include, for example, at least one of a wired communication module, a wireless communication module, a short-range communication module, and a location information module.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신 모듈은 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합으로 구성될 수 있다. 통신에 사용되는 무선 통신 기술은 저전력 통신을 위한 NB-IoT(Narrowband Internet of Things) 를 포함할 수 있다. 이때, 예를 들어 NB-IoT 기술은 LPWAN(Low Power Wide Area Network) 기술의 일례일 수 있고, LTE Cat(category) NB1 및/또는 LTE Cat NB2 등의 규격으로 구현될 수 있으며, 상술한 명칭에 한정되는 것은 아니다. 추가적으로 또는 대체적으로, 다양한 실시예들에 따른 무선 기기에서 구현되는 무선 통신 기술은 LTE-M 기술을 기반으로 통신을 수행할 수 있다. 이때, 일 예로, LTE-M 기술은 LPWAN 기술의 일례일 수 있고, eMTC(enhanced Machine Type Communication) 등의 다양한 명칭으로 불릴 수 있다. 예를 들어, LTE-M 기술은 1) LTE CAT 0, 2) LTE Cat M1, 3) LTE Cat M2, 4) LTE non-BL(non-Bandwidth Limited), 5) LTE-MTC, 6) LTE Machine Type Communication, 및/또는 7) LTE M 등의 다양한 규격 중 적어도 어느 하나로 구현될 수 있으며 상술한 명칭에 한정되는 것은 아니다. 추가적으로 또는 대체적으로, 다양한 실시예들에 따른 무선 기기에서 구현되는 무선 통신 기술은 저전력 통신을 고려한 지그비(ZigBee), 블루투스(Bluetooth) 및 저전력 광역 통신망(Low Power Wide Area Network, LPWAN) 중 적어도 어느 하나를 포함할 수 있으며, 상술한 명칭에 한정되는 것은 아니다. 일 예로 ZigBee 기술은 IEEE 802.15.4 등의 다양한 규격을 기반으로 소형/저-파워 디지털 통신에 관련된 PAN(personal area networks)을 생성할 수 있으며, 다양한 명칭으로 불릴 수 있다.Here, communication, that is, data transmission and reception, can be performed wired or wirelessly. To this end, the communication module may be configured as a wired communication module that connects to the Internet, etc. via a LAN (Local Area Network), a mobile communication module that connects to a mobile communication network via a mobile communication base station to transmit and receive data, a short-distance communication module that uses a WLAN (Wireless Local Area Network) series communication method such as Wi-Fi or a WPAN (Wireless Personal Area Network) series communication method such as Bluetooth or Zigbee, a satellite communication module that uses a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System), or a combination thereof. The wireless communication technology used for communication may include NB-IoT (Narrowband Internet of Things) for low-power communication. At this time, for example, NB-IoT technology may be an example of LPWAN (Low Power Wide Area Network) technology, and may be implemented with standards such as LTE Cat (category) NB1 and/or LTE Cat NB2, and is not limited to the names described above. Additionally or alternatively, a wireless communication technology implemented in a wireless device according to various embodiments may perform communication based on LTE-M technology. At this time, for example, LTE-M technology may be an example of LPWAN technology, and may be called by various names such as eMTC (enhanced Machine Type Communication). For example, LTE-M technology may be implemented with at least one of various standards such as 1) LTE CAT 0, 2) LTE Cat M1, 3) LTE Cat M2, 4) LTE non-BL (non-Bandwidth Limited), 5) LTE-MTC, 6) LTE Machine Type Communication, and/or 7) LTE M, and is not limited to the names described above. Additionally or alternatively, the wireless communication technology implemented in the wireless device according to various embodiments may include at least one of ZigBee, Bluetooth, and Low Power Wide Area Network (LPWAN) considering low-power communication, and is not limited to the above-described names. For example, ZigBee technology can create PAN (personal area networks) related to small/low-power digital communication based on various standards such as IEEE 802.15.4, and may be called by various names.
유선 통신 모듈은, 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다. The wired communication module may include various wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module, as well as various cable communication modules such as a Universal Serial Bus (USB), a High Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), RS-232 (recommended standard232), power line communication, or plain old telephone service (POTS).
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.The wireless communication module may include a wireless communication module that supports various wireless communication methods such as GSM (global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), UMTS (universal mobile telecommunications system), TDMA (Time Division Multiple Access), LTE (Long Term Evolution), 4G, 5G, and 6G, in addition to a WiFi module and a Wireless broadband module.
무선 통신 모듈은 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 제어부의 제어에 따라 무선 통신 인터페이스를 통해 제어부로부터 출력된 디지털 제어 신호를 아날로그 형태의 무선 신호로 변조하는 신호 변환 모듈을 더 포함할 수 있다.The wireless communication module may include a wireless communication interface including an antenna and a transmitter for transmitting a signal. In addition, the wireless communication module may further include a signal conversion module for modulating a digital control signal output from the control unit through the wireless communication interface into an analog wireless signal according to the control of the control unit.
무선 통신 모듈은 신호를 수신하는 안테나 및 수신기(Receiver)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 무선 통신 인터페이스를 통하여 수신한 아날로그 형태의 무선 신호를 디지털 제어 신호로 복조하기 위한 신호 변환 모듈을 더 포함할 수 있다.The wireless communication module may include a wireless communication interface including an antenna and a receiver for receiving a signal. In addition, the wireless communication module may further include a signal conversion module for demodulating an analog wireless signal received through the wireless communication interface into a digital control signal.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.The short-range communication module is for short-range communication and can support short-range communication using at least one of Bluetooth™, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technologies.
위치정보 모듈은 본 개시에 따른 전자 장치(10)의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 본 전자 장치의 위치를 획득할 수 있다. 다른 예로서, Wi-Fi모듈을 활용하면, Wi-Fi모듈과 무선신호를 송신 또는 수신하는 무선 AP(Wireless Access Point)의 정보에 기반하여, 본 전자 장치(10)의 위치를 획득할 수 있다. 필요에 따라서, 위치정보모듈은 치환 또는 부가적으로 본 장치의 위치에 관한 데이터를 얻기 위해 통신 모듈의 다른 모듈 중 어느 기능을 수행할 수 있다. 위치정보모듈은 본 장치의 위치(또는 현재 위치)를 획득하기 위해 이용되는 모듈로, 본 장치의 위치를 직접적으로 계산하거나 획득하는 모듈로 한정되지는 않는다.The location information module is a module for obtaining the location (or current location) of the electronic device (10) according to the present disclosure, and representative examples thereof include a GPS (Global Positioning System) module or a WiFi (Wireless Fidelity) module. For example, if a GPS module is utilized, the location of the electronic device can be obtained by using a signal sent from a GPS satellite. As another example, if a Wi-Fi module is utilized, the location of the electronic device (10) can be obtained based on information of a wireless AP (Wireless Access Point) that transmits or receives a wireless signal with the Wi-Fi module. If necessary, the location information module may perform any function of other modules of the communication module to obtain data regarding the location of the device as a substitute or in addition. The location information module is a module used to obtain the location (or current location) of the device, and is not limited to a module that directly calculates or obtains the location of the device.
메모리(130)는 각종 정보를 저장할 수 있다. 메모리는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 메모리에는 제1 디바이스 및/또는 제2 디바이스를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 메모리는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다. The memory (130) can store various types of information. The memory can store data temporarily or semi-permanently. For example, the memory can store an operating program (OS: Operating System) for operating the first device and/or the second device, data for hosting a website, a program for generating Braille, or data regarding an application (e.g., a web application). In addition, the memory can store modules in the form of computer codes as described above.
메모리(130)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 메모리는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.Examples of memory (130) may include a hard disk drive (HDD), a solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. Such memory may be provided as a built-in type or a removable type.
프로세서(140)는 전자 장치(100)의 전반적인 동작을 제어한다. 이를 위해 프로세서(140)는 각종 정보의 연산 및 처리를 수행하고 제1 디바이스 및/또는 제2 디바이스의 구성요소들의 동작을 제어할 수 있다. The processor (140) controls the overall operation of the electronic device (100). To this end, the processor (140) can perform calculations and processing of various types of information and control the operation of components of the first device and/or the second device.
프로세서(140)는 하드웨어 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(140)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서를 구동시키는 프로그램 형태로 제공될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 제1 디바이스 및/또는 제2 디바이스의 동작은 프로세서(140)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 모듈들은 프로세서(140)가 제1 디바이스 및/또는 제2 디바이스를 이하의 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.The processor (140) may be implemented as a computer or a similar device according to hardware, software, or a combination thereof. In terms of hardware, the processor (140) may be provided in the form of an electronic circuit that processes electrical signals to perform a control function, and in terms of software, the processor may be provided in the form of a program that drives a hardware processor. Meanwhile, unless otherwise specifically mentioned in the following description, the operations of the first device and/or the second device may be interpreted as being performed under the control of the processor (140). That is, the modules may be interpreted as controlling the processor (140) to perform the following operations on the first device and/or the second device.
프로세서(140)는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 세부프로세서(미도시)로 구현될 수 있다. 이때, 메모리와 프로세서는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서는 단일 칩으로 구현될 수도 있다.The processor (140) may be implemented as a memory storing data for an algorithm for controlling the operation of components within the device or a program reproducing the algorithm, and at least one subprocessor (not shown) performing the above-described operation using the data stored in the memory. In this case, the memory and the processor may be implemented as separate chips. Alternatively, the memory and the processor may be implemented as a single chip.
또한, 프로세서(140)는 이하의 도 2 내지 도 8에서 설명될 본 개시에 따른 다양한 실시 예들을 본 장치 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다. In addition, the processor (140) may control one or more of the components described above in combination to implement various embodiments according to the present disclosure described in FIGS. 2 to 8 below on the device.
도 2는 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치의 프로세서의 구성을 간략하게 도시한 블록도이다.FIG. 2 is a block diagram briefly illustrating the configuration of a processor of an electronic device that performs speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치(100)는 사용자 인터페이스 기반으로 사용자 음성 데이터를 입력받는 음성 인식 모듈, 사용자 발화 종료 검출 동작 수행을 위한 적어도 하나의 프로세스가 저장된 메모리(130) 및 상기 프로세스에 따라 상기 사용자 발화 종료 검출 동작을 수행하는 적어도 하나의 프로세서(140)를 포함할 수 있다. An electronic device (100) that performs speech recognition based on utterance termination and utterance certainty according to one embodiment of the present disclosure may include a speech recognition module that receives user voice data based on a user interface, a memory (130) that stores at least one process for performing a user utterance termination detection operation, and at least one processor (140) that performs the user utterance termination detection operation according to the process.
본 개시의 일 실시예에 따른 적어도 하나의 프로세서는, VAD(Voice Activity Detection) 모듈(141) 및 NLU(Natural Language Understanding) 처리 모듈(142)을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하고, 상기 NLU 처리 모듈(142) 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈(143)을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하도록 구성될 수 있다.At least one processor according to one embodiment of the present disclosure may be configured to output whether or not utterance has been terminated for input user voice data using a Voice Activity Detection (VAD) module (141) and a Natural Language Understanding (NLU) processing module (142), and to receive whether or not utterance has been terminated and output whether or not a re-utterance request has been made using the NLU processing module (142) and an Automatic Speech Recognition (ASR) confidence score calculation module (143).
도 2에 도시된 바와 같이, 적어도 하나의 프로세서(140)는 VAD 모듈(141), NUL 처리 모듈(142), ASR 신뢰 점수 산출 모듈(143)을 이용하여 엔드 포인트 결정 모듈(144)이 오디오 스트림 내 발화 구간의 엔드 포인트를 검출하고 음성 인식을 수행하게 할 수 있다.As illustrated in FIG. 2, at least one processor (140) can use the VAD module (141), the NUL processing module (142), and the ASR confidence score calculation module (143) to cause the endpoint determination module (144) to detect an endpoint of a speech section within an audio stream and perform speech recognition.
일 실시예로서, VAD 모듈(141)은 VAD 기술 기반으로 오디오 스트림을 입력 받아 사용자 발화가 수행되어 활성화된 액티베이트(activate) 구간과 음성이 입력되지 않아 묵음으로 비활성화되는 디-액티베이트(de-activate) 구간을 구분하고, 디-액티베이트가 발생한 시간인 디-액티베이트 시간(Te)을 출력할 수 있다.As an example, the VAD module (141) may receive an audio stream based on VAD technology, distinguish between an activated section in which a user's speech is performed and an activated section in which no voice is input and the section is deactivated by silence, and output a deactivation time (Te) at which deactivation occurs.
도 3에 도시된 바와 같이, 오디오 스트림은 사용자 발화가 포함되는 VAD 세그먼트(1411)에서 액티베이트 구간 종료 포인트(1412)부터 시간 도과 여부를 측정할 수 있다.As illustrated in FIG. 3, the audio stream can measure whether time has elapsed from the activation interval end point (1412) in the VAD segment (1411) containing the user speech.
일 실시예로서, 적어도 하나의 프로세서(140)는 상기 VAD 모듈(141)이 상기 사용자 입력 데이터의 액티베이트 구간 종료 포인트(1412)로부터 디-액티베이트 시(Te)간을 출력하고, 출력된 디-액티베이트 시간이 포함된 구간에 따라 상이한 인덱스를 출력할 수 있다.As an example, at least one processor (140) may cause the VAD module (141) to output a de-activation time (Te) from an activation interval end point (1412) of the user input data, and output different indexes according to an interval including the output de-activation time.
디-액티베이트 시간(Te)는 사용자 발화가 끝나는 액티베이트 구간 종료 포인트(1412)로부터 다음 사용자 발화가 시작될 때까지 묵음 상태가 유지되는 트레일링 시간을 의미한다. 이때 묵음은 사용자의 발화가 입력되지 않는 구간으로 외부 노이즈나 다른 사람의 발화 등 잡음에 의한 액티베이트는 포함될 수 있다. De-activate time (Te) refers to the trailing time during which silence is maintained from the activation section end point (1412) where the user's speech ends until the next user speech begins. In this case, silence refers to a section during which no user speech is input, and activation due to noise such as external noise or another person's speech may be included.
도 3을 참조하면, Te가 X 초일 경우, X초가 포함되는 구간에 따라 VAD 모듈(141)이 출력하는 인덱스(Vs)가 상이할 수 있다.Referring to FIG. 3, when Te is X seconds, the index (Vs) output by the VAD module (141) may be different depending on the section including X seconds.
일 실시예로서, 상기 구간은 제1 구간, 제2 구간 및 제3 구간을 포함할 수 있으며, 상기 제1 구간, 상기 제2 구간 및 상기 제3 구간 순서로 상기 인덱스(Vs)가 커질 수 있다.As an example, the sections may include a first section, a second section, and a third section, and the index (Vs) may increase in the order of the first section, the second section, and the third section.
예를 들어, X가 0 내지 T1인 제1 구간에 속할 경우, Vs =1을 출력할 수 있다. X가 T1 내지 T2인 제2 구간에 속할 경우, Vs=2를 출력할 수 있다. X가 T2 이상인 구간에 속할 경우, Vs=3을 출력할 수 있다. T2는 T1보다 클 수 있다.For example, if X belongs to the first interval from 0 to T1, Vs = 1 can be output. If X belongs to the second interval from T1 to T2, Vs = 2 can be output. If X belongs to the interval greater than or equal to T2, Vs = 3 can be output. T2 can be greater than T1.
일 실시예로서, VAD 모듈(141)은 상기 사용자 음성 오디오 스트림을 입력 받아 VAD 점수를 출력하는 VAD 뉴럴 네트워크를 더 포함할 수 있다.As an example, the VAD module (141) may further include a VAD neural network that inputs the user voice audio stream and outputs a VAD score.
VAD 뉴럴 네트워크는 노이즈 제거 등 전처리된 오디오 스트림에서 사람의 목소리라고 판단되는 구간은 높은 VAD 점수를, 노이즈거나 사람의 목소리 외의 요소라고 판단되는 구간은 낮은 VAD 점수를 산출하여 음성 인식을 수행할 수 있다. 사람의 목소리라고 판단되는 파라미터를 학습하여 유사도에 따라 VAD 점수를 산출할 수 있다.The VAD neural network can perform voice recognition by calculating high VAD scores for sections that are judged to be human voices in preprocessed audio streams such as noise removal, and low VAD scores for sections that are judged to be noise or elements other than human voices. It can learn parameters that are judged to be human voices and calculate VAD scores based on similarity.
다시 말해, VAD 뉴럴 네트워크가 출력한 VAD 점수를 기반으로 사용자 발화 구간과 사용자 발화가 아닌 구간을 구분하고, VAD 모듈(141)이 구분된 VAD 세그먼트(1411)로부터 액티베이트 구간 종료 포인트(1412)를 검출하여 디-액티베이트 시(Te)간이 속하는 구간을 판단할 수 있다.In other words, based on the VAD score output by the VAD neural network, the user speech section and the non-user speech section are distinguished, and the VAD module (141) detects the activation section end point (1412) from the distinguished VAD segment (1411) to determine the section to which the de-activation time (Te) belongs.
일 실시예로서, 적어도 하나의 프로세서(140)는 NLU 처리 모델(142)이 상기 사용자 음성 데이터의 이전 발화 문장에 따라 BERT 기반 인코더 또는 GPT 기반 디코더를 이용하여 현재 발화 문장의 참 또는 거짓을 판단하도록 구성될 수 있다.As one embodiment, at least one processor (140) may be configured to cause the NLU processing model (142) to determine truth or falsity of a current utterance sentence using a BERT-based encoder or a GPT-based decoder based on a previous utterance sentence of the user speech data.
임의의 시간에 연산된 음성 인식 결과가 기존 상대방인 인공 지능 모델의 발화에 대한 답변으로 적절한지 판단할 수 있다.It is possible to determine whether the speech recognition result calculated at any time is appropriate as a response to the utterance of the existing counterpart, the artificial intelligence model.
예를 들어, “무엇을 주문하시겠습니까?”라는 인공 지능 모델의 이전 발화에 대하여 임의의 시간에 발화된 답변이 “저”라면 NLU 처리 모델(142)이 출력한 값은 0이고, “콜라요”라면 NLU 처리 모델(142)이 출력한 값은 0.9와 같은 1 근처의 값을 가질 수 있다.For example, if the answer uttered at any time for the previous utterance of the artificial intelligence model, “What would you like to order?” is “I,” the value output by the NLU processing model (142) is 0, and if it is “Coke,” the value output by the NLU processing model (142) can have a value near 1, such as 0.9.
다시 말해, NLU 처리 모델(142)이 출력하는 값은 0 내지 1 사이의 값으로 기준값 미만의 값은 거짓(F), 기준값 이상의 값은 참(T)로 분류할 수 있다.In other words, the value output by the NLU processing model (142) is a value between 0 and 1, and a value below the reference value can be classified as false (F), and a value above the reference value can be classified as true (T).
일 실시예로서, NLU 처리 모델(142)이 BERT 기반 인코더를 이용하여 학습을 수행할 수 있다. BERT 기반 인코더를 포함하는 NLU 처리 모델(142)는 질의응답 모델로서 컨텍스트(context)에 기반하여 질문에 대한 정답을 출력하도록 학습을 수행할 수 있다. 이전 발화에 대한 컨택스트상 가장 가까운 답변을 출력하도록 학습 데이터셋을 생성할 수 있다.As an example, the NLU processing model (142) can perform learning using a BERT-based encoder. The NLU processing model (142) including the BERT-based encoder can perform learning as a question-answering model to output the correct answer to a question based on the context. A learning dataset can be created to output the closest answer in terms of context to a previous utterance.
또는, 일 실시예로서, NLU 처리 모델(142)이 BERT 기반 인코더를 이용하여 학습을 수행할 수 있다. BERT 기반 인코더를 포함하는 NLU 처리 모델(142)는 컨텍스트에 기반하여 정답을 출력하는 대신 가능한 답변을 출력하도록 학습을 수행할 수 있다. 이전 발화에 대해 참과 거짓을 판단할 수 있도록 컨텍스트 연관이 있는지 무관하게 성립 가능한 답변을 출력하도록 학습 데이터셋을 생성할 수 있다.Alternatively, as an example, the NLU processing model (142) can perform training using a BERT-based encoder. The NLU processing model (142) including the BERT-based encoder can perform training to output possible answers instead of outputting the correct answer based on the context. The training dataset can be generated to output possible answers regardless of whether there is a contextual association so that it can determine true or false for the previous utterance.
다른 일 실시예로서, 일 실시예로서, NLU 처리 모델(142)이 GPT 기반 디코더를 이용하여 학습을 수행할 수 있다. GPT 기반 디코더를 포함하는 NLU 처리 모델(142)는 인코더 학습 시 추론 값이 참(True)인 학습데이터셋을 이용하여 학습을 수행할 수 있다. As another example, as an example, the NLU processing model (142) can perform learning using a GPT-based decoder. The NLU processing model (142) including the GPT-based decoder can perform learning using a learning data set whose inference value is True during encoder learning.
예를 들어, 인코더 모델이 입력된 질문에 대해 지도 학습을 하여 답변을 출력하고, 입력된 질문과 상기 출력된 답변을 학습 데이터셋으로 구성하여 디코더 모델을 학습시킬 수 있다. 디코더 모델은 답변에 대한 퍼플렉시티(perplexity)를 측정하여 참 또는 거짓을 추론할 수 있다.For example, an encoder model can perform supervised learning on an input question and output an answer, and a decoder model can be trained by configuring the input question and the output answer as a learning dataset. The decoder model can measure the perplexity of the answer and infer whether it is true or false.
퍼플렉시티(perplexity)는 자연어 처리에서 확률적 또는 통계적 모델의 품질을 평가하는 척도로서 이산 확률 분포에서 표본 값의 불확실한 정도를 측정한 것으로 퍼플렉시티와 기준값을 비교하여 참 또는 거짓을 출력할 수 있다.Perplexity is a measure of the quality of a probabilistic or statistical model in natural language processing. It measures the degree of uncertainty in sample values in a discrete probability distribution, and can output true or false by comparing perplexity with a reference value.
일 실시예로서, 도 4에 도시된 바와 같이, BERT 기반 인코더를 포함하는 NLU 처리 모델(142)은 질문인 문장 1(14) 앞에 <sos>, 답변인 문장 2(15) 앞에 <sep>의 표지를 부착한 입력 데이터 구조로 학습 데이터셋을 생성할 수 있다.As an example, as illustrated in FIG. 4, an NLU processing model (142) including a BERT-based encoder can generate a learning dataset with an input data structure that attaches a <sos> label to the front of question sentence 1 (14) and a <sep> label to the front of answer sentence 2 (15).
'원하시는 은행 업무를 말씀해주세요'(16) 라는 질문에 대해 '대출 상담'(17)과 같이 적절한 답변을 학습하거나, 또는 '지하철 온다'와 같이 적절성과 상관없는 가능한 답변을 학습할 수도 있다.For the question, “Please tell me what banking service you want” (16), you can learn an appropriate answer, such as “Loan consultation” (17), or you can learn a possible answer that is not related to appropriateness, such as “The subway is coming.”
다른 일 실시예로서, GPT 기반 디코더를 포함하는 NLU 처리 모델(142)은 질문인 문장 1(14) 앞에 <sos>, 답변인 문장 2(15) 앞에 <sep>의 표지를 부착한 입력 데이터 구조로 학습 데이터셋을 생성할 수 있다.As another example, an NLU processing model (142) including a GPT-based decoder can generate a learning dataset with an input data structure that attaches a <sos> label to the front of a question sentence 1 (14) and a <sep> label to the front of an answer sentence 2 (15).
'원하시는 은행 업무를 말씀해주세요'(16) 라는 질문에 대해 '대출 상담'(17)과 같이 적절한 답변을 학습할 수 있다.You can learn appropriate answers to the question, “Please tell me what kind of banking service you want” (16), such as “Loan consultation” (17).
따라서, 본 개시의 일 실시예에 따른 NLU 처리 모듈(142)은 문장 2(15)의 참 거짓 여부(Ns)를 출력할 수 있다.Accordingly, the NLU processing module (142) according to one embodiment of the present disclosure can output whether sentence 2 (15) is true or false (Ns).
일 실시예로서, 엔드 포인트 결정 모듈(144)은 VAD 모듈(141)의 액티베이션 구간 및 디-액티베이션 구간, NLU 처리 모듈(142)의 답변의 참, 거짓 여부(Ns)를 입력 받아 입력된 오디오 스트림의 사용자 발화가 종료되었는 지 여부를 출력할 수 있다.As an example, the endpoint determination module (144) may receive the activation section and deactivation section of the VAD module (141) and the true or false (Ns) of the answer of the NLU processing module (142) and output whether the user's speech of the input audio stream has ended.
더하여, 일 실시예로서, 적어도 하나의 프로세서(140)는 상기 발화 종료 여부가 참으로 출력된 경우 ASR 신뢰 점수 산출 모듈(143)이 발화 종료된 문장에 대해 ASR 신뢰도 점수를 출력하도록 구성될 수 있다. Additionally, as an embodiment, at least one processor (140) may be configured to cause the ASR confidence score calculation module (143) to output an ASR confidence score for a sentence in which the utterance has ended if the utterance end status is output as true.
ASR 신뢰도 점수가 기준값 이하인 경우 음성 인식의 결과를 신뢰할 수 없다. ASR 신뢰도 점수는 입력된 오디오 스트림에 대한 모든 텍스트의 확률을 구하는 확률 모형으로 사용자가 발화한 문장에 대해 확률 값을 생성할 수 있다. 가장 확률이 높은 문장의 확률 값과 두번 째로 확률이 높은 문장의 확률 값의 차이를 수치화하여 ASR 신뢰도 점수를 산출할 수 있다.If the ASR confidence score is below the reference value, the results of speech recognition cannot be trusted. The ASR confidence score is a probability model that calculates the probability of all texts for the input audio stream, and can generate probability values for sentences spoken by the user. The ASR confidence score can be calculated by quantifying the difference between the probability value of the sentence with the highest probability and the probability value of the sentence with the second highest probability.
예를 들어, A라는 오디오가 “안녕하세요”일 확률, “잘 먹었습니다”일 확률을 산출하고 가장 확률이 높은 문장이 높은 ASR 신뢰도 점수를 가질 수 있다.For example, given an audio A, we can calculate the probability that it is “Hello” and the probability that it is “I had a nice meal”, and the sentence with the highest probability can have a high ASR confidence score.
일 실시예로서, 음성 인식 결과의 ASR 신뢰도 점수 값은 0 내지 1 사이의 값일 수 있으며, VAD 모듈(141)의 구간 개수에 대응하도록 ASR 신뢰도 점수를 복수의 구간으로 분류할 수 있다.As an example, the ASR confidence score value of the speech recognition result may be a value between 0 and 1, and the ASR confidence score may be classified into a plurality of sections to correspond to the number of sections of the VAD module (141).
일 실시예로서, ASR 신뢰도 점수가 포함되는 구간에 따라 ASR 신뢰 점수 산출 모듈(143)이 출력하는 인덱스(Cs)가 상이할 수 있다.As an example, the index (Cs) output by the ASR confidence score calculation module (143) may be different depending on the section in which the ASR confidence score is included.
일 실시예로서, 상기 ASR 신뢰도 점수는 제1 신뢰구간, 제2 신뢰구간 및 제3 신뢰구간을 포함할 수 있으며, 상기 제1 신뢰 구간, 상기 제2 신뢰 구간 및 상기 제3 신뢰 구간 순서로 ASR 신뢰도 점수의 인덱스(Cs)가 커질 수 있다.As an example, the ASR reliability score may include a first reliability interval, a second reliability interval, and a third reliability interval, and the index (Cs) of the ASR reliability score may increase in the order of the first reliability interval, the second reliability interval, and the third reliability interval.
예를 들어, ASR 신뢰도 점수가 0 내지 C1인 제1 신뢰 구간에 속할 경우, Cs =1을 출력할 수 있다. ASR 신뢰도 점수가 C1 내지 C2인 제2 신뢰 구간에 속할 경우, Cs=2를 출력할 수 있다. ASR 신뢰도 점수가 C2 내지 C3 인 제3 신뢰 구간에 속할 경우, Cs=3을 출력할 수 있다. 이 때, C1, C2, C3 순서대로 값이 커질 수 있다.For example, if the ASR confidence score belongs to the first confidence interval from 0 to C1, Cs = 1 can be output. If the ASR confidence score belongs to the second confidence interval from C1 to C2, Cs = 2 can be output. If the ASR confidence score belongs to the third confidence interval from C2 to C3, Cs = 3 can be output. In this case, the values can increase in the order of C1, C2, and C3.
일 실시예로서, 엔드 포인트 결정 모듈(144)은 NLU 처리 모듈(142)의 답변의 참, 거짓 여부(Ns) 및 ASR 신뢰 점수 산출 모듈(143)의 ASR 신뢰도 점수를 입력 받아 입력된 오디오 스트림의 사용자 발화의 확실성을 판단하여 발화의 무시 여부를 출력할 수 있다. 다시 말해, 사용자 재발화 요청할지 여부를 출력할 수 있다.As an example, the endpoint determination module (144) may receive the truth or falsehood (Ns) of the answer of the NLU processing module (142) and the ASR confidence score of the ASR confidence score calculation module (143) to determine the certainty of the user's utterance in the input audio stream and output whether or not to ignore the utterance. In other words, it may output whether or not to request the user to speak again.
따라서, 엔드 포인트 결정 모듈(144)는 사용자 발화 종료 여부(O_1) 및 사용자 재발화 요청 여부(O_2)에 대한 값을 결정하여 음성 인식 결과를 출력할 수 있다.Accordingly, the endpoint determination module (144) can output a voice recognition result by determining values for whether the user's speech has ended (O_1) and whether the user requests re-speech (O_2).
구체적으로, 도 5에 도시된 바와 같이, VAD 모듈(141), ASR 신뢰 점수 산출 모듈(143), NLU 처리 모듈(142), 엔드 포인트 결정 모듈(144)간 파라미터를 송수신하여 사용자 발화 종료 여부(O_1) 및 재발화 요청 여부(O_2)를 출력할수 있다.Specifically, as illustrated in FIG. 5, parameters can be transmitted and received between the VAD module (141), the ASR confidence score calculation module (143), the NLU processing module (142), and the endpoint determination module (144) to output whether the user's speech has ended (O_1) and whether a re-speech request has been made (O_2).
입력된 오디오 스트림(21)에는 복수 개의 사용자 발화 구간(11)이 포함될 수 있다. 발화 구간(11)이 액티베이트될 때, 엔드 포인트 결정 모듈(144)로 액티베이트(activate) 파라미터를 전달하고, 발화 구간(11)이 종료되어 디-액티베이트될 때 엔드 포인트 결정 모듈(144)로 디-액티베이트(deactivate) 파라미터를 전달할 수 있다. The input audio stream (21) may include multiple user speech segments (11). When the speech segment (11) is activated, an activation parameter may be transmitted to the endpoint determination module (144), and when the speech segment (11) ends and is deactivated, a deactivate parameter may be transmitted to the endpoint determination module (144).
ASR 신뢰 점수 산출 모듈(143)가 엔드 포인트 결정 모듈(144)로 Cs를 송신, ASR 신뢰 점수 산출 모듈(143)이 음성 인식 결과를 NLU 처리 모듈(142)로 전달하여 NLU 처리 모듈(142)가 엔드 포인트 결정 모듈(144)로 Ns를 송신할 수 있다.The ASR confidence score calculation module (143) transmits Cs to the endpoint determination module (144), and the ASR confidence score calculation module (143) transmits the speech recognition result to the NLU processing module (142), so that the NLU processing module (142) can transmit Ns to the endpoint determination module (144).
엔드 포인트 결정 모듈(144)는 상기 디-액티베이트와 Cs, Ns를 기반으로 사용자 발화 종료 여부(O_1), 재발화 요청 여부(O_2)를 결정할 수 있다. 발화 종료 여부(O_1)이 Y일 경우, ASR 신뢰 점수 산출 모듈(143)은 음성 인식 결과 및 재발화 요청 여부를 출력할 수 있다. The endpoint determination module (144) can determine whether the user's speech is terminated (O_1) and whether a re-speech request is made (O_2) based on the above-described de-activate and Cs and Ns. If the utterance is terminated (O_1) is Y, the ASR confidence score calculation module (143) can output the voice recognition result and whether a re-speech request is made.
또는, 엔드 포인트 결정 모듈(144)는 상기 디-액티베이트와 Cs, Ns를 기반으로 사용자 발화 종료 여부(O_1), 재발화 요청 여부(O_2)를 결정할 수 있다. 발화 종료 여부(O_1)이 N일 경우, ASR 신뢰 점수 산출 모듈(143)은 음성 인식 결과 및 재발화 요청 여부를 출력할 수 있다. Alternatively, the endpoint determination module (144) can determine whether the user's speech is terminated (O_1) and whether a re-speech request is made (O_2) based on the de-activate and Cs and Ns. If the utterance is terminated (O_1) is N, the ASR confidence score calculation module (143) can output the voice recognition result and whether a re-speech request is made.
상기 파라미터 송수신 과정을 도 6 및 도 7과 같이 표(610) 및 표(710)로 나타낼 수 있다.The above parameter transmission and reception process can be represented in tables (610) and (710) as shown in FIGS. 6 and 7.
본 개시의 일 실시예에 따른 적어도 하나의 프로세서(140)는, 상기 제1 구간에서는 상기 NLU 처리 모델(142)의 참 또는 거짓과 무관하게 발화 종료 여부를 거짓으로 출력하고, 상기 제2 구간에서는 상기 NLU 처리 모델(142)의 참 또는 거짓에 따라 발화 종료 여부를 출력하고, 상기 제3 구간에서는 상기 NLU 처리 모델(142)의 참 또는 거짓과 무관하게 발화 종료 여부를 참으로 출력하도록 구성될 수 있다.At least one processor (140) according to one embodiment of the present disclosure may be configured to output whether the utterance is terminated as false in the first section regardless of whether the NLU processing model (142) is true or false, output whether the utterance is terminated as false in the second section depending on whether the NLU processing model (142) is true or false, and output whether the utterance is terminated as true in the third section regardless of whether the NLU processing model (142) is true or false.
도 6에 도시된 바와 같이, VAD 모듈(141)의 인덱스(Vs)가 1일 경우, NLU 처리 모델(142)의 참 거짓 여부(Ns)와 무관하게 발화 종료 여부(O_1)를 거짓(F)로 출력할 수 있다. 디-액티베이트 시간이 너무 짧을 경우, 사용자가 발화를 완전히 종료한 것이 아니라 발화 중에 잠시 발화를 멈춘 것으로 간주하는 것이다.As shown in Fig. 6, when the index (Vs) of the VAD module (141) is 1, the end of utterance (O_1) can be output as false (F) regardless of whether the NLU processing model (142) is true or false (Ns). If the de-activate time is too short, it is considered that the user has not completely ended the utterance, but has stopped speaking for a moment during the utterance.
VAD 모듈(141)의 인덱스(Vs)가 2일 경우, NLU 처리 모델(142)의 참 거짓 여부(Ns)에 따라 발화 종료 여부(O_1)를 출력할 수 있다. NLU 처리 모델(142)에서 답변이 참(T)이라고 판단할 경우 발화 종료(T)되었다고 출력하고, 답변이 거짓(F)이라고 판단할 경우 발화 종료되지 않았다고(F) 출력할 수 있다. 적절한 답변이 이뤄질 경우 사용자 발화가 종료되었다고 판단하고, 적절한 답변이 이뤄지지 않은 경우 사용자의 발화가 끝나지 않고 계속 중인 것으로 간주하는 것이다.When the index (Vs) of the VAD module (141) is 2, the end of utterance (O_1) can be output based on the true or false (Ns) of the NLU processing model (142). If the NLU processing model (142) determines that the answer is true (T), it can output that the utterance is ended (T), and if the answer is determined to be false (F), it can output that the utterance is not ended (F). If an appropriate answer is given, it is determined that the user's utterance is ended, and if an appropriate answer is not given, it is considered that the user's utterance is not ended and is continuing.
VAD 모듈(141)의 인덱스(Vs)가 3일 경우, NLU 처리 모델(142)의 참 거짓 여부(Ns)와 무관하게 발화 종료 여부(O_1)를 참(T)으로 출력할 수 있다. 디-액티베이트 시간이 충분히 긴 경우, 사용자가 발화를 완전히 종료하였다고 간주하는 것이다.When the index (Vs) of the VAD module (141) is 3, the end of utterance (O_1) can be output as true (T) regardless of whether the NLU processing model (142) is true or false (Ns). If the de-activation time is sufficiently long, it is considered that the user has completely ended the utterance.
따라서, 도 6의 표(610)와 같이 VAD 모듈(141) 및 NLU 처리 모델(142)의 출력 값을 조합하여 사용자 발화 종료 여부를 판단할 수 있다.Accordingly, as shown in Table 610 of Fig. 6, the output values of the VAD module (141) and the NLU processing model (142) can be combined to determine whether the user's speech has ended.
본 개시의 일 실시예에 따른 적어도 하나의 프로세서(140)는, 상기 제1 신뢰 구간에서는 상기 NLU 처리 모델(142)의 참 또는 거짓과 무관하게 재발화 요청 여부를 거짓으로 출력하고, 상기 제2 신뢰 구간에서는 상기 NLU 처리 모델(142)의 참 또는 거짓에 따라 재발화 요청 여부를 출력하고, 상기 제3 신뢰 구간에서는 상기 NLU 처리 모델(142)의 참 또는 거짓과 무관하게 재발화 요청 여부를 참으로 출력하도록 구성될 수 있다.At least one processor (140) according to one embodiment of the present disclosure may be configured to output whether a re-trigger request is made as false in the first confidence interval regardless of whether the NLU processing model (142) is true or false, output whether a re-trigger request is made depending on whether the NLU processing model (142) is true or false in the second confidence interval, and output whether a re-trigger request is made as true in the third confidence interval regardless of whether the NLU processing model (142) is true or false.
도 7에 도시된 바와 같이, ASR 신뢰 점수 산출 모듈(143)의 ASR 신뢰도 점수가 0.1 이하로 인덱스(Cs)가 1일 경우, NLU 처리 모델(142)의 참 거짓 여부(Ns)와 무관하게 재발화 요청 여부(O_2)를 거짓(F)으로 출력할 수 있다. ASR 신뢰도 점수가 너무 낮을 경우, 음성 인식 확률이 너무 낮은 문장이 출력되어 외부 환경에 노이즈가 있거나 사용자의 음성 정확도가 떨어지는 것으로 간주하고 반드시 재발화 요청을 진행하도록 유도하는 것이다.As illustrated in Fig. 7, if the ASR reliability score of the ASR reliability score calculation module (143) is 0.1 or less and the index (Cs) is 1, the re-speech request (O_2) can be output as false (F) regardless of the truth or falseness (Ns) of the NLU processing model (142). If the ASR reliability score is too low, a sentence with too low a voice recognition probability is output, so it is considered that there is noise in the external environment or the user's voice accuracy is low, and a re-speech request is necessarily performed.
ASR 신뢰 점수 산출 모듈(143)의 ASR 신뢰도 점수가 0.1 내지 0.3 이하로 인덱스(Cs)가 2일 경우, NLU 처리 모델(142)의 참 거짓 여부(Ns)에 따라 재발화 요청 여부(O_2)를 출력할 수 있다. NLU 처리 모델(142)에서 답변이 참(T)이라고 판단할 경우 재발화 요청 불필요(T)하다고 출력하고, 답변이 거짓(F)이라고 판단할 경우 재발화 요청 시나리오 가능(F)하다고 출력할 수 있다. 신뢰도 있는 적절한 답변이 이뤄질 경우 사용자 재발화가 불필요하다고 판단하고, 신뢰도 있는 적절한 답변이 이뤄지지 않은 경우 부정확하게 음성 인식했다고 간주하고 재발화 요청을 수행하는 것이다.If the ASR confidence score of the ASR confidence score calculation module (143) is 0.1 to 0.3 or less and the index (Cs) is 2, whether or not to request re-speech (O_2) can be output based on the true/false (Ns) of the NLU processing model (142). If the NLU processing model (142) determines that the answer is true (T), it can output that a re-speech request is unnecessary (T), and if it determines that the answer is false (F), it can output that a re-speech request scenario is possible (F). If a reliable and appropriate answer is provided, it is determined that user re-speech is unnecessary, and if a reliable and appropriate answer is not provided, it is considered that the voice recognition was inaccurate and a re-speech request is performed.
ASR 신뢰 점수 산출 모듈(143)의 ASR 신뢰도 점수가 0.3초과로 인덱스(Cs)가 3일 경우, NLU 처리 모델(142)의 참 거짓 여부(Ns)와 무관하게 재발화 요청 여부(O_2)를 참(T)으로 출력할 수 있다. 음성 인식 결과 신뢰도 있는 답변을 획득할 경우 답변이 적절하지 않더라도 사용자 의도대로 발화되었다고 간주하고 재발화 요청을 진행하지 않는 것이다.If the ASR confidence score of the ASR confidence score calculation module (143) exceeds 0.3 and the index (Cs) is 3, the re-speaking request (O_2) can be output as true (T) regardless of the true/false (Ns) of the NLU processing model (142). If a reliable answer is obtained as a result of the voice recognition, even if the answer is not appropriate, it is considered that the speech was made as the user intended and the re-speaking request is not processed.
따라서, 도 7의 표(710)와 같이 NLU 처리 모델(142) 및 ASR 신뢰 점수 산출 모듈(143)의 출력 값을 조합하여 사용자 재발화 요청 여부를 판단할 수 있다.Accordingly, as shown in Table 710 of Fig. 7, the output values of the NLU processing model (142) and the ASR confidence score calculation module (143) can be combined to determine whether a user re-requests a request.
일 실시예로서, 적어도 하나의 프로세서(140)는 상기 재발화 요청 여부가 거짓으로 출력될 경우 사용자 인터페이스를 통해 재발화 요청 시나리오를 진행하도록 구성될 수 있다.As one embodiment, at least one processor (140) may be configured to proceed with a re-fire request scenario via a user interface if the re-fire request is output as false.
도 8은 본 개시의 일 실시예에 따른 발화 종료 및 발화 확실성 기반 음성 인식 방법을 도시한 플로우 차트이다.FIG. 8 is a flow chart illustrating a speech recognition method based on utterance termination and utterance certainty according to one embodiment of the present disclosure.
본 개시에 따른 발화 종료 및 발화 확실성 기반 음성 인식 방법은, 사용자 인터페이스 기반 음성 인식 모듈, 메모리(130) 및 사용자 발화 종료 검출 동작을 수행하는 적어도 하나의 프로세서(140)를 포함하는 컴퓨팅 장치에 의해 수행될 수 있다. The speech recognition method based on utterance termination and utterance certainty according to the present disclosure can be performed by a computing device including a user interface-based speech recognition module, a memory (130), and at least one processor (140) that performs a user utterance termination detection operation.
도 8에 도시된 바와 같이, 상기 방법은 VAD 모듈(141) 및 NLU 처리 모듈(142)을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하는 단계(S810) 및 상기 NLU 처리 모듈(142) 및 ASR 신뢰 점수 산출 모듈(143)을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하는 단계(S820)를 포함할 수 있다. As illustrated in FIG. 8, the method may include a step (S810) of outputting whether or not utterance has ended for input user voice data using the VAD module (141) and the NLU processing module (142), and a step (S820) of receiving the input of whether or not utterance has ended and outputting whether or not a re-utterance request is made using the NLU processing module (142) and the ASR confidence score calculation module (143).
VAD 모듈(141), NLU 처리 모듈(142), ASR 신뢰 점수 산출 모듈(143)의 출력 값을 조합하여 사용자 발화에 대한 발화 종료 여부 및 재발화 요청 필요 여부를 출력하도록 하여 발화 종료 및 발화 확실성 기반으로 음성 인식 결과를 획득할 수 있다. 상술한 내용과 중복되는 내용은 명세서의 간료함을 위해 생략하기로 한다.By combining the output values of the VAD module (141), the NLU processing module (142), and the ASR confidence score calculation module (143), it is possible to obtain a voice recognition result based on the termination of utterance and the certainty of utterance by outputting whether the utterance has ended and whether a request for re-utterance is required for the user's utterance. The content that overlaps with the above-described content will be omitted for the sake of brevity of the specification.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.Meanwhile, the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. The instructions may be stored in the form of program codes, and when executed by a processor, may generate program modules to perform the operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. Computer-readable storage media include all types of storage media that store instructions that can be deciphered by a computer. Examples include ROM (Read Only Memory), RAM (Random Access Memory), magnetic tape, magnetic disk, flash memory, and optical data storage devices.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As described above, the disclosed embodiments have been described with reference to the attached drawings. Those skilled in the art to which the present disclosure pertains will understand that the present disclosure can be implemented in forms other than the disclosed embodiments without changing the technical idea or essential features of the present disclosure. The disclosed embodiments are exemplary and should not be construed as limiting.
100: 전자 장치
110: 입출력 모듈
120: 통신 모듈
130: 메모리
140: 프로세서
141: VAD 모듈
142: NLU 처리 모듈
143: ASR 신뢰 점수 산출 모듈
144: 엔드 포인트 결정 모듈
1411: VAD 세그먼트
1412: 액티베이트 구간 종료 포인트100: Electronic devices
110: Input/output module
120: Communication Module
130: Memory
140: Processor
141: VAD module
142: NLU Processing Module
143: ASR Confidence Score Calculation Module
144: Endpoint Determination Module
1411: VAD segment
1412: Activate section end point
Claims (10)
사용자 발화 종료 검출 동작 수행을 위한 적어도 하나의 프로세스가 저장된 메모리; 및
상기 프로세스에 따라 상기 사용자 발화 종료 검출 동작을 수행하는 적어도 하나의 프로세서;를 포함하고,
상기 적어도 하나의 프로세서는,
VAD(Voice Activity Detection) 모듈 및 NLU(Natural Language Understanding) 처리 모듈을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하고,
상기 NLU 처리 모듈 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하고,
상기 VAD 모듈이 상기 사용자 음성 데이터의 액티베이트 구간 종료 포인트로부터 디-액티베이트 시간을 출력하고, 출력된 디-액티베이트 시간이 포함된 구간에 따라 상이한 인덱스를 출력하도록 구성된, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.A voice recognition module that receives user voice data based on a user interface;
A memory storing at least one process for performing a user utterance termination detection operation; and
At least one processor for performing the user speech termination detection operation according to the above process;
At least one processor of the above,
Using the VAD (Voice Activity Detection) module and the NLU (Natural Language Understanding) processing module, it outputs whether the user's speech has ended for the input user voice data.
Using the above NLU processing module and the ASR confidence score (Automatic Speech Recognition Confidence Score) calculation module, the input whether the utterance has ended or not is used and the output whether a re-utterance request has been made or not is output.
An electronic device that performs speech recognition based on utterance termination and utterance certainty, wherein the VAD module is configured to output a de-activation time from an end point of an activation section of the user voice data and output different indices according to a section including the output de-activation time.
상기 구간은 제1 구간, 제2 구간 및 제3 구간을 포함하며,
상기 제1 구간, 상기 제2 구간 및 상기 제3 구간 순서로 상기 인덱스가 커지는 것을 특징으로 하는, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In the second paragraph,
The above section includes the first section, the second section and the third section,
An electronic device that performs speech recognition based on utterance termination and utterance certainty, characterized in that the index increases in the order of the first section, the second section, and the third section.
상기 적어도 하나의 프로세서는,
상기 NLU 처리 모델은 상기 사용자 음성 데이터의 이전 발화 문장에 따라 BERT 기반 인코더 또는 GPT 기반 디코더를 이용하여 현재 발화 문장의 참 또는 거짓을 판단하도록 구성된, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In the third paragraph,
At least one processor of the above,
An electronic device that performs speech recognition based on utterance end and utterance certainty, wherein the NLU processing model is configured to determine the truth or falsity of a current utterance sentence using a BERT-based encoder or a GPT-based decoder based on a previous utterance sentence of the user speech data.
상기 적어도 하나의 프로세서는,
상기 제1 구간에서는 상기 NLU 처리 모델의 참 또는 거짓과 무관하게 발화 종료 여부를 거짓으로 출력하고,
상기 제2 구간에서는 상기 NLU 처리 모델의 참 또는 거짓에 따라 발화 종료 여부를 출력하고,
상기 제3 구간에서는 상기 NLU 처리 모델의 참 또는 거짓과 무관하게 발화 종료 여부를 참으로 출력하도록 구성된, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In the fourth paragraph,
At least one processor of the above,
In the above first section, regardless of whether the NLU processing model is true or false, the output is false whether the utterance has ended.
In the second section above, whether the speech is ended or not is output based on the truth or falseness of the NLU processing model.
An electronic device that performs speech recognition based on utterance termination and utterance certainty, wherein the third section is configured to output whether the utterance has ended as true regardless of the truth or falsity of the NLU processing model.
상기 적어도 하나의 프로세서는,
상기 발화 종료 여부가 참으로 출력된 경우 ASR 신뢰 점수 산출 모듈이 발화 종료된 문장에 대해 ASR 신뢰도 점수를 출력하도록 구성된, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In clause 5,
At least one processor of the above,
An electronic device that performs speech recognition based on utterance termination and utterance certainty, wherein the ASR confidence score calculation module is configured to output an ASR confidence score for a sentence in which the utterance has been terminated if the above utterance termination is output as true.
상기 ASR 신뢰도 점수는 제1 신뢰 구간, 제2 신뢰 구간 및 제3 신뢰 구간을 포함하며,
상기 제1 신뢰 구간, 상기 제2 신뢰 구간 및 상기 제3 신뢰 구간 순서로 ASR 신뢰도 점수가 커지는 것을 특징으로 하는, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In Article 6,
The above ASR reliability score includes the first confidence interval, the second confidence interval, and the third confidence interval.
An electronic device that performs speech recognition based on utterance termination and utterance certainty, characterized in that the ASR confidence score increases in the order of the first confidence interval, the second confidence interval, and the third confidence interval.
상기 적어도 하나의 프로세서는,
상기 제1 신뢰 구간에서는 상기 NLU 처리 모델의 참 또는 거짓과 무관하게 재발화 요청 여부를 거짓으로 출력하고,
상기 제2 신뢰 구간에서는 상기 NLU 처리 모델의 참 또는 거짓에 따라 재발화 요청 여부를 출력하고,
상기 제3 신뢰 구간에서는 상기 NLU 처리 모델의 참 또는 거짓과 무관하게 재발화 요청 여부를 참으로 출력하도록 구성된, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In Article 7,
At least one processor of the above,
In the above first confidence interval, regardless of whether the NLU processing model is true or false, the output is false whether a re-trigger request is made.
In the second confidence interval above, whether a re-request is made is output depending on whether the NLU processing model is true or false.
An electronic device that performs speech recognition based on utterance termination and utterance certainty, wherein the third confidence interval is configured to output whether a re-utterance request is true regardless of the truth or falsity of the NLU processing model.
상기 적어도 하나의 프로세서는,
상기 재발화 요청 여부가 거짓으로 출력될 경우 사용자 인터페이스를 통해 재발화 요청 시나리오를 진행하도록 구성된, 발화 종료 및 발화 확실성 기반 음성 인식을 수행하는 전자 장치.In Article 8,
At least one processor of the above,
An electronic device that performs speech recognition based on utterance termination and utterance certainty, configured to proceed with a re-trigger request scenario through a user interface if the above re-trigger request is output as false.
VAD(Voice Activity Detection) 모듈 및 NLU(Natural Language Understanding) 처리 모듈을 이용하여 입력된 사용자 음성 데이터에 대해 발화 종료 여부를 출력하는 단계;
상기 NLU 처리 모듈 및 ASR 신뢰 점수(Automatic Speech Recognition Confidence Score) 산출 모듈을 이용하여 상기 발화 종료 여부를 입력 받아 재발화 요청 여부를 출력하는 단계; 및
상기 VAD 모듈이 상기 사용자 음성 데이터의 액티베이트 구간 종료 포인트로부터 디-액티베이트 시간을 출력하고, 출력된 디-액티베이트 시간이 포함된 구간에 따라 상이한 인덱스를 출력하는 단계;를 포함하는, 발화 종료 및 발화 확실성 기반 음성 인식 방법.A speech recognition method based on utterance termination and utterance certainty, performed by a computing device including a user interface-based speech recognition module, a memory and at least one processor performing a user utterance termination detection operation, the method comprising:
A step of outputting whether or not speech has ended for input user voice data using a VAD (Voice Activity Detection) module and an NLU (Natural Language Understanding) processing module;
A step of receiving an input of whether the utterance has ended and outputting whether a re-utterance request has been made using the above NLU processing module and the ASR confidence score (Automatic Speech Recognition Confidence Score) calculation module; and
A speech recognition method based on utterance termination and utterance certainty, comprising: a step in which the VAD module outputs a de-activation time from an end point of an activation section of the user voice data, and outputs different indices according to a section including the output de-activation time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240059921A KR102755684B1 (en) | 2024-05-07 | 2024-05-07 | Elecctronic apparatus and method for performing speech recognition based speech termination and speech certainty |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240059921A KR102755684B1 (en) | 2024-05-07 | 2024-05-07 | Elecctronic apparatus and method for performing speech recognition based speech termination and speech certainty |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102755684B1 true KR102755684B1 (en) | 2025-01-21 |
Family
ID=94389525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240059921A Active KR102755684B1 (en) | 2024-05-07 | 2024-05-07 | Elecctronic apparatus and method for performing speech recognition based speech termination and speech certainty |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102755684B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120081639A (en) | 2002-03-05 | 2012-07-19 | 앨리프컴 | Voice activity detection(vad) devices and methods for use with noise suppression systems |
KR20160079929A (en) * | 2008-07-02 | 2016-07-06 | 구글 인코포레이티드 | Speech recognition with parallel recognition tasks |
KR20240006401A (en) * | 2022-07-06 | 2024-01-15 | 삼성전자주식회사 | Method of determining end point detection time and electronic device performing the method |
-
2024
- 2024-05-07 KR KR1020240059921A patent/KR102755684B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120081639A (en) | 2002-03-05 | 2012-07-19 | 앨리프컴 | Voice activity detection(vad) devices and methods for use with noise suppression systems |
KR20160079929A (en) * | 2008-07-02 | 2016-07-06 | 구글 인코포레이티드 | Speech recognition with parallel recognition tasks |
KR20240006401A (en) * | 2022-07-06 | 2024-01-15 | 삼성전자주식회사 | Method of determining end point detection time and electronic device performing the method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12039975B2 (en) | Dialog management for multiple users | |
US11769492B2 (en) | Voice conversation analysis method and apparatus using artificial intelligence | |
US20240105159A1 (en) | Speech processing method and related device | |
CN111226224B (en) | Method and electronic device for translating speech signals | |
US12254693B2 (en) | Action classification in video clips using attention-based neural networks | |
CN114995657B (en) | Multimode fusion natural interaction method, system and medium for intelligent robot | |
US11942077B2 (en) | Electronic device and operating method thereof | |
KR20220070466A (en) | Intelligent speech recognition method and device | |
KR102717267B1 (en) | Electronic device and method for performing to train chatbot based knowledge base | |
US20200257954A1 (en) | Techniques for generating digital personas | |
KR20230120790A (en) | Speech Recognition Healthcare Service Using Variable Language Model | |
US20250251784A1 (en) | Method, server and device for outputting xr content corresponding to a target within a construction site based on voice recognition | |
KR20250134493A (en) | Device for processing sentences based on speech recognition and method for controlling the same | |
KR102755684B1 (en) | Elecctronic apparatus and method for performing speech recognition based speech termination and speech certainty | |
KR102723874B1 (en) | Electronic apparatus and method for determining utterance section base on quantized vad score | |
KR102763213B1 (en) | Electronic apparatus and method for data labeling based domain-dependent template | |
KR102768071B1 (en) | Electronic apparatus for performing actual speaker indication on spoken text and processing method thereof | |
KR102763215B1 (en) | Electronic apparatus and method for generating domain-specific learning dataset | |
KR102852120B1 (en) | Electronic apparatus and verification method for verifying text learning of generative language model using word-level watermarking | |
KR102796539B1 (en) | Electronic apparatus for learning spoken word-based spacing correction model and method for generating learning dataset thereof | |
US12314663B1 (en) | Endpoint detection | |
KR102770304B1 (en) | Device for converting motion based on style and method to control it | |
KR20250141342A (en) | Electronic apparatus and method for performing psychodynamic long-term psychological counseling based on large language model | |
KR102723861B1 (en) | Device, server, method, and program that deliver recognition results of sounds occurring outside of virtual reality devices | |
US12307214B2 (en) | Hybrid language translation on mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20240507 |
|
PA0201 | Request for examination |
Patent event code: PA02011R01I Patent event date: 20240507 Comment text: Patent Application |
|
PA0302 | Request for accelerated examination |
Patent event date: 20240510 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination |
|
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20240729 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20241220 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20250113 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20250113 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |