KR20210019924A - System and method for modifying voice recognition result - Google Patents
System and method for modifying voice recognition result Download PDFInfo
- Publication number
- KR20210019924A KR20210019924A KR1020190162921A KR20190162921A KR20210019924A KR 20210019924 A KR20210019924 A KR 20210019924A KR 1020190162921 A KR1020190162921 A KR 1020190162921A KR 20190162921 A KR20190162921 A KR 20190162921A KR 20210019924 A KR20210019924 A KR 20210019924A
- Authority
- KR
- South Korea
- Prior art keywords
- text
- domain
- model
- reliability
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012937 correction Methods 0.000 claims abstract description 146
- 238000012986 modification Methods 0.000 claims description 66
- 230000004048 modification Effects 0.000 claims description 66
- 238000013473 artificial intelligence Methods 0.000 claims description 42
- 238000004891 communication Methods 0.000 claims description 26
- 238000010586 diagram Methods 0.000 description 26
- 238000011156 evaluation Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 7
- 238000001556 precipitation Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Abstract
Description
본 개시는 음성 인식 결과를 수정하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는 디바이스와 서버가 연동하여 음성 인식 결과를 수정하는 시스템 및 방법에 관한 것이다.The present disclosure relates to a system and method for modifying a speech recognition result, and more particularly, to a system and method for modifying a speech recognition result by interworking with a device and a server.
음성 인식(Automatic Speech Recognition)은 사람의 음성을 입력받아 이를 인식하여 텍스트로 변환하는 기술이다. 음성 인식은 스마트폰, 에어컨, 냉장고 및 AI 스피커 등의 다양한 전자 장치에서 활용되고 있다. 먼저 기기가 사람의 음성을 입력으로 받고, 기기 내부에서 이미 훈련되어 있는 음성 인식 모델을 사용하여 입력 음성을 인식하고 텍스트로 변환한다. 이렇게 변환된 텍스트를 최종 출력으로 가지게 된다. 최근 심층 신경망(deep neural network, DNN) 알고리즘이 다양한 머신 러닝 분야에 사용되며 성능 향상이 이루어졌다. 음성 인식 분야에서도 신경망을 사용하여 성능 향상이 크게 이루어졌으며, 최근에는 음성 인식을 위한 음성 인식 모델(Automatic Speech Recognition Model)이 연구되고 있다. 인공지능 시스템은 사용할 수록 인식률이 향상되고 사용자의 취향을 보다 정확하게 이해할 수 있게 되어, 기존의 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.Automatic Speech Recognition is a technology that receives a human voice, recognizes it, and converts it into text. Voice recognition is being used in various electronic devices such as smartphones, air conditioners, refrigerators, and AI speakers. First, the device receives a human voice as an input, and uses a voice recognition model that is already trained inside the device to recognize the input voice and convert it into text. You will have the converted text as the final output. Recently, a deep neural network (DNN) algorithm has been used in various machine learning fields, and performance has been improved. In the field of speech recognition, performance has been greatly improved using neural networks, and recently, an Automatic Speech Recognition Model for speech recognition has been studied. As artificial intelligence systems are used, the recognition rate improves and users' tastes can be more accurately understood, and the existing rule-based smart systems are gradually being replaced by deep learning-based artificial intelligence systems.
본 개시의 일 실시예는, 디바이스의 ASR(Automatic Speech Recognition) 모델의 출력 값을 서버로 제공하며, 서버의 인공지능 모델을 이용하여 ASR 모델의 출력 값을 수정할 수 있는 시스템 및 방법을 제공할 수 있다.An embodiment of the present disclosure provides a system and method capable of providing an output value of an ASR (Automatic Speech Recognition) model of a device to a server, and modifying an output value of an ASR model using an artificial intelligence model of the server. have.
또한, 본 개시의 일 실시예는, 디바이스의 ASR 모델의 출력 값에 관련된 도메인에 대응되는 텍스트 수정 모델을 이용하여 음성 인식 결과를 수정할 수 있는 시스템 및 방법을 제공할 수 있다.In addition, an embodiment of the present disclosure may provide a system and method capable of correcting a speech recognition result by using a text correction model corresponding to a domain related to an output value of an ASR model of a device.
또한, 본 개시의 일 실시예는, 서버가 디바이스로부터 수신되는 텍스트를 복수의 도메인에 관련된 텍스트 수정 모델들에 효과적으로 적용할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.In addition, an embodiment of the present disclosure may provide a system and method for enabling a server to effectively apply text received from a device to text modification models related to a plurality of domains.
또한, 본 개시의 일 실시예는, 서버가 복수의 도메인에 관련된 복수의 도메인 식별 모듈들을 이용하여 텍스트에 관련된 도메인을 효과적으로 식별할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.In addition, an embodiment of the present disclosure may provide a system and method for enabling a server to effectively identify a domain related to text using a plurality of domain identification modules related to a plurality of domains.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 한 측면은, 상기 디바이스의 ASR(Automatic Speech Recognition) 모델로부터 출력되는 텍스트를 상기 디바이스로부터 수신하는 동작; 상기 수신된 텍스트에 관련된 적어도 하나의 도메인을 식별하는 동작; 상기 서버 내에 포함된 복수의 텍스트 수정 모델 들 중에서, 상기 식별된 적어도 하나의 도메인에 대응되는 적어도 하나의 텍스트 수정 모델을 선택하는 동작; 상기 선택된 적어도 하나의 텍스트 수정 모델을 이용하여 상기 수신된 텍스트를 수정하는 동작; 및 상기 수정된 텍스트를 상기 디바이스에게 제공하는 동작; 을 포함하며, 상기 텍스트 수정 모델은, 음성 인식을 위하여 상기 수신된 텍스트를 입력받아 상기 수정된 텍스트를 출력하는 인공 지능 모델인 것인, 서버가 디바이스로부터 제공된 음성 인식 결과를 수정하는 방법을 제공할 수 있다.As a technical means for achieving the above-described technical problem, an aspect of the present disclosure includes an operation of receiving, from the device, a text output from an Automatic Speech Recognition (ASR) model of the device; Identifying at least one domain related to the received text; Selecting at least one text correction model corresponding to the identified at least one domain from among a plurality of text correction models included in the server; Modifying the received text using the selected at least one text modification model; And providing the modified text to the device. Including, wherein the text correction model is an artificial intelligence model that receives the received text for speech recognition and outputs the corrected text, wherein the server provides a method of modifying the speech recognition result provided from the device. I can.
또한, 본 개시의 다른 측면은, 통신 인터페이스; 하나 이상의 명령어들(instructions)을 포함하는 프로그램을 저장하는 저장부; 및 상기 저장부에 저장된 프로그램의 하나 이상의 명령어들을 실행하는 프로세서; 를 포함하고, 상기 프로세서는, 상기 디바이스의 ASR(Automatic Speech Recognition) 모델로부터 출력되는 텍스트를 상기 디바이스로부터 수신하고, 상기 수신된 텍스트에 관련된 적어도 하나의 도메인을 식별하고, 상기 서버 내에 포함된 복수의 텍스트 수정 모델들 중에서, 상기 식별된 적어도 하나의 도메인에 대응되는 적어도 하나의 텍스트 수정 모델을 선택하고, 상기 선택된 적어도 하나의 텍스트 수정 모델을 이용하여 상기 수신된 텍스트를 수정하고, 상기 수정된 텍스트를 상기 디바이스에게 제공하며, 상기 텍스트 수정 모델은, 음성 인식을 위하여 상기 수신된 텍스트를 입력받아 상기 수정된 텍스트를 출력하는 인공 지능 모델인 것인, 디바이스로부터 제공된 음성 인식 결과를 수정하는 서버를 제공할 수 있다.In addition, another aspect of the present disclosure, a communication interface; A storage unit for storing a program including one or more instructions; And a processor that executes one or more instructions of the program stored in the storage unit. Including, wherein the processor receives the text output from the ASR (Automatic Speech Recognition) model of the device from the device, identifies at least one domain related to the received text, and a plurality of Among text modification models, select at least one text modification model corresponding to the identified at least one domain, modify the received text using the selected at least one text modification model, and select the modified text. Provided to the device, wherein the text correction model is an artificial intelligence model that receives the received text and outputs the corrected text for speech recognition, providing a server for modifying the speech recognition result provided from the device. I can.
도 1은 본 개시의 일 실시예에 따른 음성 인식 시스템의 개요도이다.
도 2는 본 개시의 일 실시예에 따른 복수의 도메인에 관련된 텍스트 수정 모델들을 포함하는 음성 인식 시스템의 개요도이다.
도 3은 본 개시의 일 실시예에 따른 음성 인식 시스템 내의 디바이스 및 서버가 음성 입력을 인식하여 수정된 텍스트를 획득하는 방법의 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 서버가 텍스트에 관련된 도메인을 식별하고 텍스트에 관련된 도메인의 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.
도 5는 본 개시의 일 실시예에 따른 디바이스가 텍스트에 관련된 도메인을 식별하고 서버가 텍스트에 관련된 도메인의 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.
도 6은 본 개시의 일 실시예에 따른 서버 및 디바이스가 텍스트에 관련된 도메인을 각각 식별하고, 서버가 텍스트에 관련된 도메인의 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.
도 7은 본 개시의 일 실시예에 따른 서버가 디바이스에서 획득된 도메인 신뢰도 및 서버에서 획득된 도메인 신뢰도를 이용하여, 텍스트에 관련된 도메인을 선택하는 방법의 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 서버가 서버 내의 복수의 도메인 식별 모듈 중 선택된 도메인 식별 모듈을 이용하여 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 서버가 복수의 도메인 식별 모듈 중 선택된 도메인 식별 모듈을 이용하여 텍스트의 수정을 위한 도메인을 선택하는 방법의 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 계층적으로 분류된 도메인에 관련된 제1 도메인 식별 모듈, 제2 도메인 식별 모듈 및 텍스트 수정 모델의 예시를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 서버가 복수의 텍스트 수정 모델을 이용하여 텍스트를 수정하는 예시를 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 서버가 복수 구간의 텍스트에 대한 도메인 신뢰도를 누적하여 산출하는 방법의 흐름도이다.
도 13은 본 개시의 일 실시예에 따른 서버가 어절 단위로 누적되는 텍스트 스트림에 대한 도메인 신뢰도를 획득하는 예시를 나타내는 도면이다.
도 14는 본 개시의 일 실시예에 따른 서버가 텍스트를 복수의 구간으로 구분하고 각 구간의 텍스트 별로 도메인을 선택하는 방법의 흐름도이다.
도 15는 서버가 복수의 도메인 별로 텍스트의 도메인 신뢰도를 비교하고 각 구간의 텍스트 별로 텍스트 수정 모델을 선택하여 수정하는 예시를 나타내는 도면이다.
도 16은 본 개시의 일 실시예에 따른 서버가 복수의 텍스트 수정 모델로부터 수정된 텍스트를 이용하여, 디바이스로부터 수신된 텍스트를 수정하는 예시를 나타내는 도면이다.
도 17은 본 개시의 일 실시예에 따른 서버의 블록도이다.
도 18은 본 개시의 일 실시예에 따른 디바이스의 블록도이다.1 is a schematic diagram of a speech recognition system according to an embodiment of the present disclosure.
2 is a schematic diagram of a speech recognition system including text correction models related to a plurality of domains according to an embodiment of the present disclosure.
3 is a flowchart of a method for acquiring a modified text by recognizing a voice input by a device and a server in a voice recognition system according to an embodiment of the present disclosure.
4 is a diagram illustrating an example in which a server according to an embodiment of the present disclosure identifies a domain related to text and selects a text correction model of a domain related to text.
5 is a diagram illustrating an example in which a device identifies a domain related to text and a server selects a text modification model of a domain related to text according to an embodiment of the present disclosure.
6 is a diagram illustrating an example in which a server and a device according to an embodiment of the present disclosure identify domains related to text, and the server selects a text modification model of a domain related to text.
7 is a flowchart of a method for selecting a domain related to text by using a domain reliability obtained from a device and a domain reliability obtained from a server according to an embodiment of the present disclosure.
8 is a diagram illustrating an example in which a server according to an embodiment of the present disclosure selects a text correction model by using a domain identification module selected from among a plurality of domain identification modules in the server.
9 is a flowchart of a method for selecting a domain for text correction by using a domain identification module selected from among a plurality of domain identification modules by a server according to an embodiment of the present disclosure.
10 is a diagram illustrating an example of a first domain identification module, a second domain identification module, and a text correction model related to hierarchically classified domains according to an embodiment of the present disclosure.
11 is a diagram illustrating an example in which a server corrects text using a plurality of text correction models according to an embodiment of the present disclosure.
12 is a flowchart of a method of accumulating and calculating domain reliability for texts in a plurality of sections by a server according to an embodiment of the present disclosure.
13 is a diagram illustrating an example in which a server obtains domain reliability for a text stream accumulated in word units according to an embodiment of the present disclosure.
14 is a flowchart illustrating a method of dividing text into a plurality of sections by a server and selecting a domain for each text of each section according to an embodiment of the present disclosure.
FIG. 15 is a diagram illustrating an example in which a server compares the domain reliability of text for each of a plurality of domains, and selects and corrects a text correction model for each text in each section.
16 is a diagram illustrating an example in which a server according to an embodiment of the present disclosure modifies text received from a device by using text modified from a plurality of text correction models.
17 is a block diagram of a server according to an embodiment of the present disclosure.
18 is a block diagram of a device according to an embodiment of the present disclosure.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present disclosure, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 음성 인식 시스템의 개요도이다.1 is a schematic diagram of a speech recognition system according to an embodiment of the present disclosure.
도 1을 참조하면, 본 개시의 일 실시예에 따른 음성 인식 시스템은 디바이스(1000) 및 서버(2000)를 포함한다.Referring to FIG. 1, a voice recognition system according to an embodiment of the present disclosure includes a
디바이스(1000)는 ASR(Automatic Speech Recognition) 모델을 포함할 수 있으며, 서버(2000)는 텍스트 수정 모델을 포함할 수 있다. 디바이스(1000)는 ASR 모델을 이용하여 사용자의 음성 입력을 인식하고 텍스트를 출력할 수 있으며, 서버(2000)는 디바이스(1000)에 의해 생성된 텍스트를 수정할 수 있다.The
ASR 모델은, 통합 신경망을 이용하여 음성을 인식하는 음성 인식 모델로서, 사용자의 음성 입력으로부터 텍스트를 출력할 수 있다. ASR 모델은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 포함하는 인공지능 모델일 수 있다. 또는, ASR 모델은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 별도로 포함하지 않고 통합된 신경망을 포함하는 구조를 가지는 종단간(End-to-End) 음성 인식 모델일 수 있다. 종단간 ASR 모델은 통합된 신경망을 이용함으로써, 음성으로부터 음소를 인식한 이후에 음소를 텍스트로 변환하는 과정이 없이, 음성을 텍스트로 변환할 수 있다. 텍스트는, 적어도 하나의 문자를 포함할 수 있다. 문자는, 인간의 언어를 눈에 볼 수 있는 형태로 나타내어 적는데 사용하는 기호를 의미한다. 예를 들어, 문자에는, 한글, 알파벳, 한자, 숫자, 발음 부호, 문장 부호 및 기타 기호가 포함될 수 있다. 또한, 예를 들어, 텍스트는 문자열을 포함할 수 있다. 문자열은, 문자들의 배열(sequence)을 의미한다. 예를 들어, 텍스트는 적어도 하나의 문자소를 포함할 수 있다. 문자소(grapheme)는 적어도 하나의 문자로 구성되는, 소리를 나타내는 가장 작은 단위이다. 예를 들어, 알파벳 표기 체계의 경우, 하나의 문자가 문자소가 될 수 있으며, 문자열은 문자소들의 배열을 의미할 수 있다. 예를 들어, 텍스트는, 형태소 또는 단어를 포함할 수 있다. 형태소(morpheme)는 적어도 하나의 문자소로 구성되는, 의미를 가지는 가장 작은 단위이다. 단어(word)는, 적어도 하나의 형태소로 구성되는, 자립적으로 쓰일 수 있거나 문법적 기능을 나타내는 언어의 기본 단위이다.The ASR model is a speech recognition model that recognizes speech using an integrated neural network, and can output text from a user's speech input. The ASR model may be, for example, an artificial intelligence model including an acoustic model, a pronunciation dictionary, and a language model. Alternatively, the ASR model may be, for example, an end-to-end speech recognition model having a structure including an integrated neural network without separately including an acoustic model, a pronunciation dictionary, and a language model. The end-to-end ASR model uses an integrated neural network, so after recognizing a phoneme from a speech, it can convert speech into text without the process of converting the phoneme into text. The text may include at least one character. Letters refer to symbols used to express human language in a visible form and write it down. For example, characters may include Korean characters, alphabets, Chinese characters, numbers, pronunciation marks, punctuation marks, and other symbols. Also, for example, the text may include a character string. String refers to the sequence of characters. For example, the text may include at least one character element. Grapheme is the smallest unit of sound, composed of at least one character. For example, in the case of the alphabet notation system, one character may be a character element, and a character string may mean an arrangement of character elements. For example, the text may include morphemes or words. A morpheme is the smallest unit that has a meaning composed of at least one letter. A word is a basic unit of language that can be used independently or represents a grammatical function, composed of at least one morpheme.
디바이스(1000)는 사용자의 음성 입력을 수신하고, 수신된 음성 입력을 ASR 모델을 이용하여 인식할 수 있으며, ASR 모델의 출력 값인 텍스트를 서버(2000)에게 제공할 수 있다. 또한, 서버(2000)는 디바이스(1000)로부터 ASR 모델의 출력 값인 텍스트를 수신하고, 수신된 텍스트를 수정할 수 있다. 서버(2000)는 ASR 모델의 출력 값인 텍스트가 서버(2000)에 등록된 특정 도메인에 관련된 정도를 식별하고, 식별된 도메인의 텍스트 수정 모델을 이용하여 텍스트를 수정할 수 있다. 또한, 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다.The
텍스트 수정 모델은, 음성 인식 결과인 텍스트의 적어도 일부를 수정하기 위하여 학습된 인공지능 모델로서, 예를 들어, 시퀀스-투-시퀀스 맵퍼 (Sequence-to-Sequence Mapper)를 포함할 수 있다. 텍스트 수정 모델은, ASR 모델로부터 출력되는 텍스트 및 기 설정된 정답 텍스트(ground truth text)를 이용하여 훈련된 인공지능 모델일 수 있다. 텍스트 수정 모델은 도메인 별로 훈련된 인공지능 모델일 수 있다. 예를 들어, 제1 도메인의 텍스트 수정 모델은 ASR 모델의 출력 값인 텍스트 및 제1 도메인에 특화된 정답 텍스트를 이용하여 훈련될 수 있다. 또한, 예를 들어, 제2 도메인의 텍스트 수정 모델은 ASR 모델의 출력 값인 텍스트 및 제2 도메인에 특화된 정답 텍스트를 이용하여 훈련될 수 있다.The text correction model is an artificial intelligence model that has been trained to correct at least a portion of text resulting from speech recognition, and may include, for example, a sequence-to-sequence mapper. The text correction model may be an artificial intelligence model trained using text output from the ASR model and a preset ground truth text. The text correction model may be an artificial intelligence model trained for each domain. For example, the text correction model of the first domain may be trained using the text that is an output value of the ASR model and the correct answer text specialized in the first domain. In addition, for example, the text correction model of the second domain may be trained using a text that is an output value of the ASR model and a correct answer text specialized for the second domain.
또한, 텍스트 수정 모델은 여러 종류의 ASR 모델로부터 출력된 텍스트들 및 기 설정된 정답 텍스트들을 이용하여 훈련된 인공지능 모델일 수 있다. 이 경우, 텍스트 수정 모델은 여러 종류의 ASR 모델로부터 출력된 텍스트로 훈련되기 때문에, 텍스트 수정 모델에 입력되는 텍스트가 어떤 종류의 ASR 모델로부터 출력된 텍스트인지에 관계없이 정확한 출력 값(예를 들어, 수정된 텍스트)을 제공할 수 있게 된다.Further, the text correction model may be an artificial intelligence model trained using texts output from various types of ASR models and preset correct answer texts. In this case, since the text correction model is trained with text output from several types of ASR models, the correct output value (for example, regardless of what kind of ASR model the text input to the text correction model is) Revised text) can be provided.
예를 들어, 수정된 텍스트는, 수정된 문자, 수정된 문자소, 수정된 형태소 또는 수정된 단어 중 적어도 하나를 포함할 수 있다. 예를 들어, ASR 모델로부터 출력된 텍스트가 오타를 포함하는 경우에, 수정된 텍스트는 오타로부터 수정된 문자를 포함할 수 있다. 또한, 예를 들어, ASR 모델로부터 출력된 텍스트가 문맥에 부적합한 잘못된 의미의 단어를 포함하는 경우에, 수정된 텍스트는 잘못된 의미의 단어를 대체하는 바른 의미의 단어를 포함할 수 있다. 또한, 예를 들어, ASR 모델로부터 출력된 텍스트 내의 특정 단어가 유사 단어로 대체됨으로써, 수정된 텍스트가 생성될 수도 있다. For example, the revised text may include at least one of revised characters, revised letters, revised morphemes, and revised words. For example, if the text output from the ASR model contains a typo, the corrected text may include a character corrected from the typo. In addition, for example, when the text output from the ASR model includes a word with an incorrect meaning inappropriate to the context, the corrected text may include a word with a correct meaning replacing the word with the wrong meaning. Further, for example, a specific word in the text output from the ASR model may be replaced with a similar word, thereby generating a modified text.
디바이스(1000)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 음성 인식을 위하여 서버(2000)와 네트워크를 통하여 데이터를 송수신할 수 있는 모든 종류의 기기를 포함할 수 있다.The
네트워크(200)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함한다. The network 200 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and a mutual It includes a combination, and is a data communication network in a comprehensive meaning that enables each network member shown in FIG. 1 to communicate with each other smoothly, and includes a wired Internet, a wireless Internet, and a mobile wireless communication network.
도 2는 본 개시의 일 실시예에 따른 복수의 도메인에 관련된 텍스트 수정 모델들을 포함하는 음성 인식 시스템의 개요도이다.2 is a schematic diagram of a speech recognition system including text correction models related to a plurality of domains according to an embodiment of the present disclosure.
도 2를 참조하면, 디바이스(1000)는 ASR 모델을 포함하며, 서버(2000)는 ASR 모델로부터 출력된 텍스트를 수정하기 위한 텍스트 수정 모델들을 포함할 수 있다. 예를 들어, 서버(2000)는 제1 도메인에 대응되는 제1 텍스트 수정 모델 및 제2 도메인에 대응되는 제2 텍스트 수정 모델을 포함할 수 있다.Referring to FIG. 2, the
디바이스(1000)는 음성 입력으로부터 특징을 추출하여 특징 벡터를 획득할 수 있으며, 획득된 특징 벡터를 ASR 모델에 입력할 수 있다. 디바이스(1000)는 ASR 모델부터 출력되는 출력 값을 서버(2000)로 제공할 수 있다. ASR 모델로부터 출력되는 출력 값은 다양한 형식의 텍스트를 포함할 수 있다. 예를 들어, 디바이스(1000)는 문장 단위의 텍스트를 서버(2000)에게 제공하거나, 텍스트 스트림을 서버(2000)에게 제공할 수 있으나, 이에 제한되지 않는다.The
서버(2000)는 디바이스(1000)로부터 텍스트를 수신하고, 수신된 텍스트에 관련된 도메인을 선택할 수 있다. 도메인은 입력 음성이 관련된 분야를 나타내며, 예를 들어, 입력 음성의 의미, 입력 음성의 속성 등에 따라 미리 설정될 수 있다. 도메인은, 예를 들어, 입력 음성이 관련된 서비스에 따라 분류될 수도 있다. 또한, 도메인 별로 텍스트 수정 모델이 훈련될 수 있으며, 이 경우, 도메인 별로 훈련된 텍스트 수정 모델은, 해당 도메인에 관련된 입력 텍스트와 그에 대응되는 정답 텍스트를 이용하여 훈련된 모델일 수 있다. 서버(2000)는 기설정된 복수의 도메인 중 적어도 하나를 선택하고, 선택된 도메인에 대응되는 텍스트 수정 모델들 중에서 적어도 하나를 선택할 수 있다. 또한, 서버(2000)는 디바이스(1000)로부터 수신된 텍스트를 선택된 도메인의 텍스트 수정 모델에 입력함으로써, 수정된 텍스트를 획득할 수 있다. 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다. The
한편, 서버(2000)는 수정된 텍스트를 이용하여 디바이스(1000)에게 다양한 종류의 보이스 어시스턴트 서비스를 제공할 수 있다. 보이스 어시스턴트 서비스는, 사용자와의 대화를 제공하는 서비스일 수 있다. 보이스 어시스턴트 서비스에서는 사용자의 상황, 디바이스의 상황 등을 고려하여 사람이 사용자와 직접 대화하는 것처럼 사용자에게 응답 메시지를 제공할 수 있다. 또한, 보이스 어시스턴트 서비스에서는, 사용자의 개인 비서처럼 사용자가 필요한 정보가 적절하게 생성되어 사용자에게 제공될 수 있다. 보이스 어시스턴트 서비스는, 예를 들어, 방송 서비스, 콘텐트 공유 서비스, 콘텐트 제공 서비스, 전력 관리 서비스, 게임 제공 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 통화 서비스, 사진 촬영 서비스, 교통 수단 추천 서비스 및 동영상 재생 서비스 등과 같은 다양한 서비스와 연계되어, 사용자가 필요한 정보 또는 기능을 사용자에게 제공할 수 있다.Meanwhile, the
도 3은 본 개시의 일 실시예에 따른 음성 인식 시스템 내의 디바이스 및 서버가 음성 입력을 인식하여 수정된 텍스트를 획득하는 방법의 흐름도이다.3 is a flowchart of a method for obtaining a modified text by recognizing a voice input by a device and a server in a voice recognition system according to an embodiment of the present disclosure.
디바이스(1000)는 디바이스(1000)의 메모리에 저장된 인스트럭션들을 실행함으로써 도 3에서의 디바이스(1000)의 동작을 실행할 수 있다. 예를 들어, 디바이스(1000)는 후술할 도 18의 음성 인식 평가 모듈(1430), 도메인 식별 모듈(1440), NLU 결정 모듈(1450), 도메인 등록 모듈(1460), ASR 모델(1410), NLU 모델(1420) 중 적어도 하나를 실행함으로써 도 3에서의 디바이스(1000)의 동작을 수행할 수 있다. 하지만, 이에 제한되지 않으며, 디바이스(1000)는 디바이스(1000)의 소정 동작을 수행하기 위해 메모리에 저장된 다른 프로그램을 실행할 수도 있다.The
또한, 서버(2000)는 서버(2000)의 저장부에 저장된 인스트럭션들을 실행함으로써 도 3에서의 서버(2000)의 동작을 실행할 수 있다. 예를 들어, 서버(2000)는 후술할 도 17의 도메인 관리 모듈(2310), 음성 해석 관리 모듈(2340), 텍스트 수정 모듈(2320) 및 NLU 모듈(2330) 중 적어도 하나를 실행함으로써 도 3에서의 서버(2000)의 동작을 수행할 수 있다. 하지만, 이에 제한되지 않으며, 서버(2000)는 서버(2000)의 소정 동작을 수행하기 위해 저장부에 저장된 다른 프로그램을 실행할 수도 있다.In addition, the
S300에서 디바이스(1000)는 음성 신호로부터 특징 벡터를 획득할 수 있다. 디바이스(1000)는 사용자의 음성 입력(예를 들어, 발화)을 마이크를 통하여 수신하고, 마이크를 통해 획득된 음성 신호를 이용하여 음성 신호의 특징을 나타내는 특징 벡터를 생성할 수 있다. 음성 신호에 노이즈가 포함된 경우 디바이스(1000)는 음성 신호 내의 노이즈를 제거하고, 노이즈가 제거된 음성 신호로부터 특징 벡터를 획득할 수 있다. 또한, 예를 들어, 디바이스(1000)는 음성 신호로부터 음성 신호의 특징을 나타내는 특징 벡터를 추출할 수 있다. 예를 들어, 디바이스(1000)는 외부 장치(미도시)로부터 음성 신호의 특징 벡터를 나타내는 데이터를 수신할 수도 있다.In S300, the
S305에서 디바이스(1000)는 ASR 모델을 이용하여 특징 벡터로부터 텍스트를 획득할 수 있다. 디바이스(1000)는 사용자의 음성을 인식하기 위하여 디바이스(1000) 내의 ASR 모델에 특징 벡터를 입력할 수 있다. 디바이스(1000) 내에 복수의 ASR 모델이 포함된 경우, 디바이스(1000)는 복수의 ASR 모델 중 하나를 선택하고, 특징 벡터를 선택된 ASR 모델에 적합한 포맷으로 변환할 수 있다. 디바이스(1000)의 ASR 모델은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 포함하는 인공지능 모델일 수 있다. 또는, 디바이스(1000)의 ASR 모델은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 별도로 포함하지 않고 통합된 신경망을 포함하는 구조를 가지는 종단간 음성 인식 모델일 수 있다.In S305, the
S310에서 디바이스(1000)는 텍스트의 신뢰도를 획득할 수 있다. 텍스트의 신뢰도는, ASR 모델로부터 출력된 텍스트가 입력 음성에 매칭되는 정도를 나타내는 수치일 수 있으며 예를 들어, 컨피던스 스코어(confidence score)를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 텍스트의 신뢰도는, 텍스트가 입력 음성에 일치할 확률에 관련될 수 있다. 예를 들어, 텍스트의 신뢰도는, 디바이스(1000)의 ASR 모델로부터 출력되는 복수의 추정 텍스트들의 가능도, 및 텍스트 내의 적어도 하나의 문자가 다른 문자로 대체될 사후 확률들 중 적어도 하나에 기초하여 계산될 수 있다. 예를 들어, 디바이스(1000)는, 비터비(Viterbi) 디코딩 결과 출력되는 가능도에 기초하여 신뢰도를 계산할 수 있다. 또는, 예를 들어, 디바이스(1000)는, 종단간 ASR 모델에서 소프트맥스 레이어로부터 출력되는 사후 확률들에 기초하여 신뢰도를 계산할 수도 있다. 또는, 예를 들어, 디바이스(1000)는 디바이스(1000)의 ASR 모델의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들을 결정하고, 복수의 추정 텍스트들 내의 문자들의 상관도에 기초하여, 텍스트의 신뢰도를 계산할 수 있다. 또한, 예를 들어, 디바이스(1000)는 도 18의 음성 인식 평가 모듈(1430)을 이용하여 텍스트의 신뢰도를 획득할 수 있다.In S310, the
S315에서 디바이스(1000)는 텍스트를 서버(2000)로 전송할 지를 결정할 수 있다. 디바이스(1000)는 텍스트의 신뢰도를 기설정된 임계치와 비교함으로써, 텍스트를 서버(2000)로 전송할 지를 결정할 수 있다. 디바이스(1000)는 텍스트의 신뢰도가 기설정된 임계치 이상이면, 텍스트를 서버(2000)로 전송하지 않을 것을 결정할 수 있다. 또한, 디바이스(1000)는 텍스트의 신뢰도가 기설정된 임계치보다 작으면, 텍스트를 서버(2000)로 전송할 것을 결정할 수 있다.In S315, the
또한, 디바이스(1000)는 ASR 모델의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들 중에서 신뢰도가 높은 적어도 하나의 텍스트를 기준으로, 텍스트를 서버(2000)로 전송할 지를 결정할 수 있다. 예를 들어, ASR 모델의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들이 신뢰도가 높은 제1 추정 텍스트 및 신뢰도가 높은 제2 추정 텍스트를 포함하며, 제1 추정 텍스트의 신뢰도 및 제2 추정 텍스트의 신뢰도의 차이가 소정 임계치 이하인 경우에, 디바이스(1000)는 텍스트를 서버(2000)로 전송할 것을 결정할 수 있다. 또한, 예를 들어, ASR 모델의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들이 신뢰도가 높은 제1 추정 텍스트 및 신뢰도가 높은 제2 추정 텍스트를 포함하며, 제1 추정 텍스트의 신뢰도 및 제2 추정 텍스트의 신뢰도의 차이가 소정 임계치보다 큰 경우에는, 디바이스(1000)는 텍스트를 서버(2000)로 전송하지 않을 것을 결정할 수 있다Also, the
동작 S315에서 텍스트를 서버(2000)로 전송할 것을 결정한 경우, 동작 S320에서 디바이스(1000)는 서버(2000)에게 텍스트의 수정을 요청할 수 있다.When it is determined in operation S315 to transmit the text to the
디바이스(1000)는 텍스트를 서버(2000)로 전송하면서 서버(2000)에게 수정된 텍스트를 요청할 수 있다. 이 경우, 예를 들어, 디바이스(1000)는 서버(2000)에게 텍스트를 요청하면서, 디바이스(1000) 내의 ASR 모델의 종류 및 ASR 모델의 식별 값을 서버(2000)에게 전송할 수 있으나, 이에 제한되지 않는다. The
또한, 예를 들어, 디바이스(1000)는 서버(2000)에게 수정된 텍스트를 요청하면서, 디바이스(1000)의 ASR 모델로부터 출력된 텍스트에 관련된 도메인 정보를 서버(2000)로 제공할 수 있다. 도메인 정보는 도메인을 식별하기 위한 정보로서, 예를 들어, 도메인의 명칭, 도메인의 식별자를 포함할 수 있으나, 이에 제한되지 않는다. 디바이스(1000)는 디바이스(1000) 내의 도메인 식별 모듈(1440)을 이용하여 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 디바이스(1000)는, 디바이스(1000)의 ASR 모델로부터 출력된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 도메인 신뢰도는, 텍스트의 적어도 일부가 특정 도메인에 어느 정도 관련되었는지를 나타내는 수치일 수 있다. 예를 들어, 디바이스(1000)는 ASR 모델로부터 출력된 텍스트가 디바이스(1000)에 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 또한, 디바이스(1000)는 산출된 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 디바이스(1000)는 룰 기반으로 텍스트에 관련된 도메인을 식별하거나 도메인 식별을 위해 훈련된 인공 지능 모델을 이용하여 텍스트에 관련된 도메인 신뢰도를 획득할 수 있다. 또한, 예를 들어, 도메인 식별을 위한 인공 지능 모델은 NLU 모델의 일부이거나, NLU 모델과는 별개의 모델일 수 있다.Also, for example, the
동작 S315에서 텍스트를 서버(2000)로 전송하지 않을 것을 결정한 경우, 디바이스(1000)는 ASR 모델로부터 출력된 텍스트를 이용하여 보이스 어시스턴트 서비스를 제공할 수 있다. 예를 들어, ASR 모델로부터 출력된 텍스트의 신뢰도가 기설정된 임계치 이상이면, 디바이스(1000)는 ASR 모델로부터 출력된 텍스트를 이용하여 보이스 어시스턴트 서비스를 위한 동작들을 수행할 수 있다. 또한, 예를 들어, ASR 모델의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들이 신뢰도가 가장 높은 제1 추정 텍스트 및 신뢰도가 두 번째로 높은 제2 추정 텍스트를 포함하며, 제1 추정 텍스트의 신뢰도 및 제2 추정 텍스트의 신뢰도의 차이가 소정 임계치보다 큰 경우에는, 디바이스(1000)는 신뢰도가 가장 높은 제1 추정 텍스트를 이용하여 보이스 어시스턴트 서비스를 제공할 수 있다.When it is determined not to transmit the text to the
예를 들어, 디바이스(1000)는 ASR 모델로부터 출력된 텍스트를 화면 상에 디스플레이할 수 있다. 예를 들어, 디바이스(1000)는 ASR 모델로부터 출력된 텍스트에 기초하여 사용자와의 대화를 위한 동작을 수행할 수 있다, 또한, 예를 들어, 디바이스(1000)는 ASR 모델로부터 출력된 텍스트에 기초한 사용자와의 대화를 통해, 사용자에게 방송 서비스, 콘텐트 공유 서비스, 콘텐트 제공 서비스, 전력 관리 서비스, 게임 제공 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 통화 서비스, 사진 촬영 서비스, 교통 수단 추천 서비스 및 동영상 재생 서비스 등과 같은 다양한 서비스를 제공할 수 있다.For example, the
동작 S325에서 서버(2000)는 텍스트의 수정을 위한 도메인을 식별할 수 있다. 서버(2000)가 디바이스(1000)로부터 도메인 정보를 수신하는 경우에는, 서버(2000)는 도메인 정보로부터 텍스트의 수정을 위한 도메인을 식별할 수 있다. 또는, 서버(2000)가 디바이스(1000)로부터 도메인 정보를 수신하지 않는 경우에는, 서버(2000)는 서버(2000) 내의 도메인 식별 모듈(2312)을 이용하여, 디바이스(1000)로부터 수신된 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 이 경우, 서버(2000)는 디바이스(1000)로부터 수신된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 서버(2000)는 디바이스(1000)로부터 수신되는 텍스트가 텍스트의 수정을 위해 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 또한, 서버(2000)는 미리 등록된 도메인에 대해 산출된 도메인 신뢰도에 기초하여, 디바이스(1000)로부터 수신된 텍스트에 관련된 도메인을 식별할 수 있다. 서버(1000)는 룰 기반으로 텍스트에 관련된 도메인을 식별하거나 도메인 식별을 위해 훈련된 인공 지능 모델을 이용하여 텍스트에 관련된 도메인 신뢰도를 획득할 수 있다. 또한, 예를 들어, 도메인 식별을 위한 인공 지능 모델은 NLU 모델의 일부이거나, NLU 모델과는 별개의 모델일 수 있다. In operation S325, the
동작 S330에서 서버(2000)는 결정된 도메인에 대응되는 텍스트 수정 모델을 이용하여 텍스트를 수정할 수 있다. 서버(2000)는 복수의 도메인에 대응되는 복수의 텍스트 수정 모델들을 포함할 수 있으며, 복수의 텍스트 수정 모델 중에서, 동작 S325에서 식별된 도메인에 대응되는 텍스트 수정 모델을 선택할 수 있다. In operation S330, the
서버(2000)는 서버(2000)에 등록된 도메인들 중에서 동작 S325에서 식별된 도메인에 대응되는 도메인을 선택하고, 선택된 도메인의 텍스트 수정 모델을 선택할 수 있다. 서버(2000)에 등록된 도메인들 중에서, 동작 S325에서 식별된 도메인에 대응되는 도메인은, 식별된 도메인과 동일한 도메인 또는 유사한 도메인일 수 있다. 예를 들어, 서버(2000) 내에 등록된 복수의 도메인이 “영화”, “장소”, “지역명”이며, 동작 S325에서 식별된 도메인 ‘영화’인 경우에, 서버(2000)는 “영화”를 선택할 수 있다. 예를 들어, 서버(2000) 내의 복수의 도메인이 “비디오 콘텐츠”, “장소”, “지역명”이며, 동작 S325에서 식별된 도메인 ‘영화’인 경우에, 서버(2000)는 “비디오 콘텐츠”를 선택할 수 있다. 이 경우, 서버(2000)의 도메인의 식별 값과 유사한 식별 값에 관한 정보가 서버(2000) 내에 저장되어 있을 수 있다.The
또한, 서버(2000)는 선택된 텍스트 수정 모델을 이용하여 수정된 텍스트를 생성할 수 있다. 서버(2000)는 텍스트를 선택된 텍스트 수정 모델에 입력할 수 있으며, 텍스트 수정 모델로부터 출력되는 수정된 텍스트를 획득할 수 있다. 이 경우, 서버(2000)는 디바이스(1000)로부터 수신된 텍스트의 포맷을 텍스트 수정 모델에 적합하도록 전처리하고, 전처리된 값을 텍스트 수정 모델에 입력할 수도 있다. Also, the
만약, 디바이스(1000)로부터 수신된 텍스트가 복수의 도메인에 관련된 경우에, 서버(2000)는 텍스트의 수정을 위하여 복수의 도메인에 대응되는 복수의 텍스트 수정 모델을 선택할 수 있다. 이 경우, 서버(2000)는 복수의 텍스트 수정 모델로부터 출력되는 수정된 텍스트들로부터, 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다. 예를 들어, 서버(2000)가 복수의 텍스트 수정 모델들을 이용하여 복수의 수정된 텍스트를 생성한 경우에는, 복수의 수정된 텍스트들의 신뢰도를 비교하고, 신뢰도가 높은 수정된 텍스트를 디바이스(1000)에게 제공할 수정된 텍스트로 결정할 수 있다. 수정된 텍스트의 신뢰도는, 수정된 텍스트가 입력 음성에 일치하는 정도를 나타내는 수치일 수 있으며 예를 들어, 컨피던스 스코어(confidence score)를 포함할 수 있으나, 이에 제한되지 않는다.If the text received from the
또한, 예를 들어, 서버(2000)는 복수의 텍스트 수정 모델로부터 출력되는 수정된 텍스트들로부터 일부 텍스트들을 추출하고, 추출된 일부 텍스트들을 조합함으로써, 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다. 예를 들어, 서버(2000)가 복수의 텍스트 수정 모델들을 이용하여 제1 수정 텍스트 및 제2 수정 텍스트를 생성하고, 제1 수정 텍스트의 일부의 신뢰도 및 제2 수정 텍스트의 일부의 신뢰도가 높은 경우에, 서버(2000)는 제1 수정 텍스트의 일부 및 제2 수정 텍스트의 일부를 조합함으로써 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다.In addition, for example, the
동작 S335에서 서버(2000)는 디바이스(1000)에게 수정된 텍스트를 제공할 수 있다. In operation S335, the
한편, 도 3에서는 디바이스(1000)가 서버(2000)에게 수정된 텍스트를 요청하고 서버(2000)가 디바이스(1000)에게 수정된 텍스트를 제공하는 것으로 설명되었지만, 이에 제한되지 않는다. 서버(2000)는 수정된 텍스트를 이용하여 디바이스(1000)에게 다양한 종류의 보이스 어시스턴트 서비스를 제공할 수 있다. 보이스 어시스턴트 서비스는, 사용자와의 대화를 제공하는 서비스일 수 있다. 보이스 어시스턴트 서비스에서는 사용자의 상황, 디바이스의 상황 등을 고려하여 사람이 사용자와 직접 대화하는 것처럼 사용자에게 응답 메시지를 제공할 수 있다. 또한, 보이스 어시스턴트 서비스에서는, 사용자의 개인 비서처럼 사용자가 필요한 정보가 적절하게 생성되어 사용자에게 제공될 수 있다. 보이스 어시스턴트 서비스는, 예를 들어, 방송 서비스, 콘텐트 공유 서비스, 콘텐트 제공 서비스, 전력 관리 서비스, 게임 제공 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 통화 서비스, 사진 촬영 서비스, 교통 수단 추천 서비스 및 동영상 재생 서비스 등과 같은 다양한 서비스와 연계되어, 사용자가 필요한 정보 또는 기능을 사용자에게 제공할 수 있다.Meanwhile, in FIG. 3, it has been described that the
이 경우, 서버(2000)는 텍스트에 기초하여 보이스 어시스턴트 서비스를 제공하기 위하여, 서버(2000) 내의 NLU (Natural Language Understanding) 모델, DM (Dialog Manager) 모델 및 NLG (Natural Language Generating) 모델 등을 이용하여, 사용자와의 대화를 수행하기 위한 정보를 디바이스(1000)에게 제공할 수 있다. 또한, 서버(2000)는 텍스트를 해석한 결과를 바탕으로, 다른 디바이스(미도시)를 직접 제어할 수 있다. 또한, 서버(2000)는 수정된 텍스트를 해석한 결과를 바탕으로, 디바이스(1000)가 다른 디바이스(미도시)를 제어하도록 하기 위한 제어 정보를 생성하고, 생성된 제어 정보를 디바이스(1000)에게 제공할 수도 있다.In this case, the
도 4는 본 개시의 일 실시예에 따른 서버가 텍스트에 관련된 도메인을 식별하고 텍스트에 관련된 도메인의 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.4 is a diagram illustrating an example in which a server according to an embodiment of the present disclosure identifies a domain related to text and selects a text correction model of a domain related to text.
도 4를 참조하면, 디바이스(1000)의 ASR 모델(40)로부터 출력된 텍스트가 서버(2000) 내의 도메인 식별 모듈(2312)에게 제공될 수 있다. 서버(2000)는 서버(2000) 내의 도메인 식별 모듈(2312)을 이용하여, 디바이스(1000)로부터 수신된 텍스트에 관련된 도메인을 식별할 수 있다. 이 경우, 서버(2000)는 디바이스(1000)로부터 수신된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 서버(2000)는 디바이스(1000)로부터 수신되는 텍스트가 텍스트의 수정을 위해 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 도메인 식별 모듈(2312)는 도메인 식별을 위해 훈련된 인공 지능 모델로서 텍스트를 입력 값으로 하여 도메인 신뢰도를 출력할 수 있다. 또한, 예를 들어, 도메인 식별 모듈(2312)은 NLU 모델의 일부이거나, NLU 모델과는 별개의 모델일 수 있다. 또는 도메인 식별 모듈(2312)은 룰 기반으로 텍스트에 관련된 도메인을 식별할 수 있다.Referring to FIG. 4, text output from the
도 4에서, 도메인 식별 모듈(2312)는, 예를 들어, 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 획득할 수 있다.In FIG. 4, the
또한, 서버(2000)의 모델 선택 모듈(2313)은 텍스트를 수정할 텍스트 수정 모델을 선택할 수 있다. 예를 들어, 모델 선택 모듈(2313)은 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 비교하고, 제1 도메인에 대한 도메인 신뢰도가 가장 높은 값을 가짐을 식별할 수 있다. 또한, 모델 선택 모듈(2313)은 서버(2000) 내의 복수의 텍스트 수정 모델들(41, 42, 33) 중에서 제1 도메인의 텍스트 수정 모델(41)을 선택할 수 있다.In addition, the
서버(2000)는 디바이스(1000)로부터 수신된 텍스트를 제1 도메인의 텍스트 수정 모델(41)에 입력하고, 텍스트 수정 모델(41)로부터 출력되는 수정된 텍스트를 획득할 수 있다. 이후, 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다.The
도 5는 본 개시의 일 실시예에 따른 디바이스가 텍스트에 관련된 도메인을 식별하고 서버가 텍스트에 관련된 도메인의 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.5 is a diagram illustrating an example in which a device identifies a domain related to text and a server selects a text modification model of a domain related to text according to an embodiment of the present disclosure.
도 5를 참조하면, 디바이스(1000)의 ASR 모델(50)로부터 출력된 텍스트가 디바이스(1000) 내의 도메인 식별 모듈(1440)에게 제공될 수 있다. 디바이스(1000)는 디바이스(1000) 내의 도메인 식별 모듈(1440)을 이용하여, ASR 모델(50)로부터 출력된 텍스트에 관련된 도메인을 식별할 수 있다. 이 경우, 디바이스(1000)는 ASR 모델(50)로부터 출력된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 디바이스(1000)는 ASR 모델(50)로부터 출력된 텍스트가 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 도메인 식별 모듈(1440)은 도메인 식별을 위해 훈련된 인공 지능 모델로서 텍스트를 입력 값으로 하여 도메인 신뢰도를 출력할 수 있다. 또한, 예를 들어, 도메인 식별 모듈(1440)은 NLU 모델의 일부이거나, NLU 모델과는 별개의 모델일 수 있다. 또는 도메인 식별 모듈(1440)은 룰 기반으로 텍스트에 관련된 도메인을 식별할 수 있다.Referring to FIG. 5, text output from the
도 5에서, 도메인 식별 모듈(1440)는, 예를 들어, 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 획득할 수 있다.In FIG. 5, the
또한, 디바이스(1000)는 ASR 모델(50)로부터 출력된 텍스트를 서버(2000)에게 제공할 수 있다. 또한, 디바이스(1000)는 도메인 식별 모듈(1440)에 의해 획득된 도메인 신뢰도를 서버(2000)에게 제공할 수 있다. 또는 디바이스(1000)는 도메인 식별 모듈(1440)에 의해 획득된 도메인 신뢰도에 기초하여 텍스트에 관련된 도메인을 식별하고, 식별된 도메인의 식별 정보를 서버(2000)에게 제공할 수 있다.Also, the
서버(2000)의 모델 선택 모듈(2313)은 텍스트를 수정할 텍스트 수정 모델을 선택할 수 있다. 디바이스(1000)가 서버(2000)에게 도메인 신뢰도를 제공한 경우에, 모델 선택 모듈(2313)은, 예를 들어, 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 비교하고, 제1 도메인에 대한 도메인 신뢰도가 가장 높은 값을 가짐을 식별할 수 있다. 또한, 모델 선택 모듈(2313)은 서버(2000) 내의 복수의 텍스트 수정 모델들(51, 52, 53) 중에서 제1 도메인의 텍스트 수정 모델(51)을 선택할 수 있다.The
또는, 디바이스(1000)가 서버(2000)에게 텍스트에 관련된 도메인의 식별 값을 제공한 경우에, 모델 선택 모듈(2313)은, 예를 들어, 디바이스(1000)로부터 수신된 도메인 식별 값에 따라 제1 도메인의 텍스트 수정 모델(51)을 선택할 수 있다.Alternatively, when the
서버(2000)는 디바이스(1000)로부터 수신된 텍스트를 제1 도메인의 텍스트 수정 모델(51)에 입력하고, 텍스트 수정 모델(51)로부터 출력되는 수정된 텍스트를 획득할 수 있다. 이후, 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다.The
도 6은 본 개시의 일 실시예에 따른 서버 및 디바이스가 텍스트에 관련된 도메인을 각각 식별하고, 서버가 텍스트에 관련된 도메인의 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.6 is a diagram illustrating an example in which a server and a device according to an embodiment of the present disclosure identify domains related to text, and the server selects a text modification model of a domain related to text.
도 6을 참조하면, 디바이스(1000)의 ASR 모델(60)로부터 출력된 텍스트가 디바이스(1000) 내의 제1 도메인 식별 모듈(61)에게 제공될 수 있다. 제1 도메인 식별 모듈(61)은 도메인 식별 모듈(1440)일 수 있다. 디바이스(1000)는 디바이스(1000) 내의 제1 도메인 식별 모듈(61)을 이용하여, ASR 모델(60)로부터 출력된 텍스트의 제1 도메인 신뢰도를 획득할 수 있다. 또한, 디바이스(1000)는 ASR 모델(60)로부터 출력된 텍스트 및 제1 도메인 식별 모듈(61)로부터 획득된 제1 도메인 신뢰도를 서버(2000)에게 제공할 수 있다.Referring to FIG. 6, text output from the
서버(2000)는 디바이스(1000)로부터 텍스트를 수신하고, 수신된 텍스트를 서버(2000) 내의 제2 도메인 식별 모듈(62)에게 제공할 수 있다. 제2 도메인 식별 모듈(62)은 도메인 식별 모듈(2312)일 수 있다. 서버(2000)는 서버(2000) 내의 제2 도메인 식별 모듈(62)을 이용하여, 디바이스(1000)로부터 수신된 텍스트의 제2 도메인 신뢰도를 획득할 수 있다.The
이후, 서버(2000)의 모델 선택 모듈(2313)은, 제1 도메인 신뢰도 및 제2 도메인 신뢰도에 기초하여, 텍스트를 수정할 텍스트 수정 모델을 선택할 수 있다. 예를 들어, 모델 선택 모듈(2313)은 제1 도메인 신뢰도 및 제2 도메인 신뢰도의 가중치 합에 기초하여, 서버(2000)에 등록된 도메인들 중에서 텍스트가 관련된 제1 도메인을 선택하고, 선택된 제1 도메인의 텍스트 수정 모듈(63)을 선택할 수 있다. 또한, 예를 들어, 이 경우, 제1 도메인 신뢰도 및 제2 도메인 신뢰도가 정규화됨으로써, 제1 도메인 신뢰도 및 제2 도메인 신뢰도에 각각 가중치가 반영될 수도 있으나, 이에 제한되지 않는다. 서버(2000)가 제1 도메인 신뢰도 및 제2 도메인 신뢰도에 기초하여 텍스트에 관련된 도메인을 선택하는 방법은 후술할 도 7에서 보다 상세히 설명하기로 한다.Thereafter, the
서버(2000)는 디바이스(1000)로부터 수신된 텍스트를 제1 도메인의 텍스트 수정 모델(63)에 입력하고, 텍스트 수정 모델(63)로부터 출력되는 수정된 텍스트를 획득할 수 있다. 이후, 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다.The
도 7은 본 개시의 일 실시예에 따른 서버가 디바이스에서 획득된 도메인 신뢰도 및 서버에서 획득된 도메인 신뢰도를 이용하여, 텍스트에 관련된 도메인을 선택하는 방법의 흐름도이다.7 is a flowchart of a method for selecting a domain related to text by using a domain reliability obtained from a device and a domain reliability obtained from a server according to an embodiment of the present disclosure.
S700에서 서버(2000)는 디바이스(1000)의 제1 도메인 식별 모듈(61)에서 산출된 텍스트의 제1 도메인 신뢰도를 디바이스(1000)로부터 수신할 수 있다. 디바이스(1000)의 제1 도메인 식별 모듈(61)은 ASR 모델(60)로부터 출력된 텍스트가 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 이 경우, 예를 들어, 도메인 식별 모듈(61)은 도메인 식별을 위해 훈련된 인공 지능 모델로서 텍스트를 입력 값으로 하여 제1 도메인 신뢰도를 출력할 수 있다. 디바이스(1000)에 복수의 도메인이 등록되어 있는 경우에, 제1 도메인 식별 모듈(61)은, 복수의 도메인들 각각에 대하여 텍스트가 어느 정도 관련되었는지를 나타내는 복수의 제1 도메인 신뢰도를 획득할 수 있다.In S700, the
S710에서 서버(2000)는 제2 도메인 식별 모듈(62)을 이용하여 디바이스(1000)로부터 수신된 텍스트의 제2 도메인 신뢰도를 산출할 수 있다. 서버(2000)의 제2 도메인 식별 모듈(62)은 디바이스(1000)로부터 수신된 텍스트가 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 이 경우, 예를 들어, 도메인 식별 모듈(62)은 도메인 식별을 위해 훈련된 인공 지능 모델로서 텍스트를 입력 값으로 하여 제2 도메인 신뢰도를 출력할 수 있다. 서버(2000)에 복수의 도메인이 등록되어 있는 경우에, 제2 도메인 식별 모듈(62)은, 복수의 도메인들 각각에 대하여 텍스트가 어느 정도 관련되었는지를 나타내는 복수의 제2 도메인 신뢰도를 획득할 수 있다.In S710, the
S720에서 서버(2000)는 제1 도메인 신뢰도 및 제2 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 선택할 수 있다. 서버(2000)는 제1 도메인 신뢰도 및 제2 도메인 신뢰도의 가중치 합에 기초하여 기 등록된 복수의 도메인들 중에서 텍스트에 관련된 도메인을 선택할 수 있다. 예를 들어, 높은 제1 도메인 신뢰도를 가지는 도메인과 높은 제2 도메인 신뢰도를 가지는 도메인이 상이한 경우에, 서버(2000)는 제1 도메인 신뢰도에 기 설정된 제1 가중치를 부여하고 제2 도메인 신뢰도에 기 설정된 제2 가중치를 부여할 수 있다. 또한, 서버(2000)는 제1 가중치가 부여된 제1 도메인 신뢰도 및 제2 가중치가 부여된 제2 도메인 신뢰도에 기초하여, 기 등록된 복수의 도메인들 중에서 텍스트에 관련된 도메인을 선택할 수 있다. 이 경우, 예를 들어, 제1 도메인 신뢰도 및 제2 도메인 신뢰도가 정규화됨으로써, 제1 도메인 신뢰도 및 제2 도메인 신뢰도에 각각 가중치가 반영될 수도 있으나, 이에 제한되지 않는다. 예를 들어, 제1 도메인 신뢰도가 상위 계층의 도메인에 대한 신뢰도이며 제2 도메인 신뢰도가 하위 계층의 도메인에 대한 신뢰도인 경우에, 제1 도메인 신뢰도에 낮은 가중치가 부여되고 제2 도메인에 높은 가중치가 부여될 수 있다.In S720, the
일 실시예에 따르면, 서버(2000)는, 도메인을 선택하기 위하여, 디바이스(1000)의 ASR 모델로부터 출력된 텍스트의 신뢰도를 고려할 수 있다. 이 경우, ASR 모델로부터 출력된 텍스트의 신뢰도는, 디바이스(1000)에서 획득되어 서버(2000)로 제공될 수 있으나, 이에 제한되지 않는다. 또한, 예를 들어, 서버(2000)는 디바이스(1000)로부터 텍스트의 신뢰도에 기 설정된 제3 가중치를 부여하고, 제1 가중치가 부여된 제1 도메인 신뢰도, 제2 가중치가 부여된 제2 도메인 신뢰도, 및 제3 가중치가 부여된 텍스트의 신뢰도에 기초하여, 기 등록된 복수의 도메인들 중에서 텍스트에 관련된 도메인을 선택할 수 있다.According to an embodiment, the
한편, 예를 들어, 높은 제1 도메인 신뢰도를 가지는 도메인과 높은 제2 도메인 신뢰도를 가지는 도메인이 동일한 경우에는, 서버(2000)는, 가중치를 고려하지 않고, 복수의 도메인들 중에서, 높은 제1 도메인 신뢰도를 가지는 도메인을 선택할 수 있다.On the other hand, for example, when a domain having a high first domain reliability and a domain having a high second domain reliability are the same, the
도 8은 본 개시의 일 실시예에 따른 서버가 서버 내의 복수의 도메인 식별 모듈 중 선택된 도메인 식별 모듈을 이용하여 텍스트 수정 모델을 선택하는 예시를 나타내는 도면이다.8 is a diagram illustrating an example in which a server according to an embodiment of the present disclosure selects a text correction model by using a domain identification module selected from among a plurality of domain identification modules in the server.
도 8을 참조하면, 디바이스(1000)의 ASR 모델(80)로부터 출력된 텍스트가 디바이스(1000) 내의 제1 도메인 식별 모듈(81)에게 제공될 수 있다. 제1 도메인 식별 모듈(81)은 도메인 식별 모듈(1440)일 수 있다. 디바이스(1000)는 디바이스(1000) 내의 제1 도메인 식별 모듈(81)을 이용하여, ASR 모델(80)로부터 출력된 텍스트의 제1 도메인 신뢰도를 획득할 수 있다. 또한, 디바이스(1000)는 ASR 모델(80)로부터 출력된 텍스트 및 제1 도메인 식별 모듈(81)로부터 획득된 제1 도메인 신뢰도를 서버(2000)에게 제공할 수 있다.Referring to FIG. 8, text output from the
서버(2000)는, 디바이스(1000)로부터 수신된 제1 도메인 신뢰도에 기초하여, 서버(2000) 내의 복수의 제2 도메인 식별 모듈들(82) 중 하나를 선택할 수 있다. 음성 인식 시스템 내에서 음성 인식을 위한 도메인들은 계층적으로 설정될 수 있다. 음성 인식을 위한 도메인들은, 예를 들어, 제1 계층의 도메인, 제1 계층의 도메인의 하위 도메인인 제2 계층의 도메인들, 제2 계층의 도메인의 하위 도메인인 제3 계층의 도메인들, 제3 계층의 도메인의 하위 도메인인 제4 계층의 도메인들을 포함할 수 있다. 또한, 예를 들어, 제2 도메인 식별 모듈들(82)은, 예를 들어, 적어도 하나의 제2 계층의 도메인 식별 모듈(82-1), 적어도 하나의 제3 계층의 도메인 식별 모듈(82-2) 및 적어도 하나의 제4 계층의 도메인 식별 모듈(82-3) 등을 포함할 수 있다. 또한, 예를 들어, 제1 계층의 도메인은 제1 도메인 식별 모듈(81)에 대응되고, 제2 계층의 도메인은 제2 계층의 도메인 식별 모듈(82-1)에 대응되고, 제3 계층의 도메인은 제3 계층의 도메인 식별 모듈(82-2)에 대응되고, 제4 계층의 도메인은 제4 계층의 도메인 식별 모듈(82-3)에 대응되고, 제5 계층의 도메인은 텍스트 수정 모델에 대응될 수 있다. 이 경우, 서버(2000)는 도메인 식별 모듈 선택 모듈(2311)을 이용하여, 제1 도메인 식별 모듈(81)로부터 산출된 제1 도메인 신뢰도에 따라 복수의 제2 계층의 도메인들 중 높은 신뢰도를 가지는 제2 계층의 도메인을 식별할 수 있다. 또한, 서버(2000)의 도메인 식별 모듈 선택 모듈(2311)은 식별된 제2 계층의 도메인에 대응되는 제2 계층의 도메인 식별 모듈(82-1)을 선택할 수 있다. The
또한, 예를 들어, 서버(2000)는 선택된 제2 계층의 도메인 식별 모듈(82-1)을 이용하여 텍스트의 제2 도메인 신뢰도를 획득할 수 있다. 예를 들어, 서버(2000)의 도메인 식별 모듈 선택 모듈(2311)은 제2 도메인 신뢰도에 기초하여 복수의 제3 계층의 도메인들 중 높은 신뢰도를 가지는 제3 계층의 도메인을 식별하고, 식별된 제3 계층의 도메인에 대응되는 제3 계층의 도메인 식별 모듈(82-2)을 선택할 수 있다.Also, for example, the
또한, 예를 들어, 서버(2000)는 선택된 제3 계층의 도메인 식별 모듈(82-2)을 이용하여 텍스트의 제3 도메인 신뢰도를 획득할 수 있다. 예를 들어, 서버(2000)의 도메인 식별 모듈 선택 모듈(2311)은 제3 도메인 신뢰도에 기초하여 복수의 제4 계층의 도메인들 중 높은 신뢰도를 가지는 제4 계층의 도메인을 식별하고, 식별된 제4 계층의 도메인에 대응되는 제4 계층의 도메인 식별 모듈(82-3)을 선택할 수 있다.Also, for example, the
또한, 예를 들어, 서버(2000)는 선택된 제4 계층의 도메인 식별 모듈(82-3)을 이용하여 텍스트의 제4 도메인 신뢰도를 획득할 수 있다. 또한, 서버(2000)의 모델 선택 모듈(2313)은 제4 도메인 신뢰도에 기초하여 복수의 텍스트 수정 모델들 중에서 제3 도메인에 대응되는 텍스트 수정 모델(85)을 선택할 수 있다.In addition, for example, the
이후, 서버(2000)는 디바이스(1000)로부터 수신된 텍스트를 제3 도메인의 텍스트 수정 모델(85)에 입력하고, 텍스트 수정 모델(65)로부터 출력되는 수정된 텍스트를 획득할 수 있다. 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다.Thereafter, the
도 8에서는, 서버(2000) 내의 제2 도메인 식별 모듈(82)의 계층이 제2 계층, 제3 계층 및 제4 계층을 포함하며, 서버(2000)가 제2 계층의 도메인 식별 모듈(82-1), 제3 계층의 도메인 식별 모듈(82-2) 및 제4 계층의 도메인 식별 모듈(82-3)을 순차적으로 선택하는 것으로 설명되었지만, 이에 제한되지 않는다.In FIG. 8, the layer of the second
서버(2000)는 제2 계층의 도메인 식별 모듈(82-1)로부터 산출된 제2 도메인 신뢰도, 제3 계층의 도메인 식별 모듈(82-2)로부터 산출된 제3 도메인 신뢰도 및 제4 계층의 도메인 식별 모듈(82-3)로부터 산출된 제4 도메인 신뢰도를 함께 고려하여, 텍스트를 수정하기 위한 도메인을 선택할 수도 있다. 이 경우, 서버(2000)는 제2 계층의 도메인 식별 모듈(82-1)로부터 산출된 제2 도메인 신뢰도, 제3 계층의 도메인 식별 모듈(82-2)로부터 산출된 제3 도메인 신뢰도 및 제4 계층의 도메인 식별 모듈(82-3)로부터 산출된 제4 도메인 신뢰도를 각각 정규화하고, 정규화된 값을 서로 비교함으로써 텍스트를 수정하기 위한 도메인을 선택할 수 있다.The
예를 들어, 제1 도메인 식별 모듈(81)은 제1 계층의 도메인들에 대한 도메인 신뢰도들을 산출하고, 제2 계층의 도메인 식별 모듈(82-1)은 제2 계층의 도메인들에 대한 도메인 신뢰도들을 산출하고, 제3 계층의 도메인 식별 모듈(82-2)는 제3 계층의 도메인들에 대한 도메인 신뢰도들을 산출하고, 제4 계층의 도메인 식별 모듈(82-3)은 제4 계층의 도메인들에 대한 도메인 신뢰도들을 산출할 수 있다.For example, the first
한편, 서버(2000) 내의 제2 도메인 식별 모듈(82)의 계층은 제2 계층만을 포함할 수 있다. 또는, 서버(2000) 내의 제2 도메인 식별 모듈(82)의 계층은 제2 계층 내지 제4 계층외에 더 많은 계층을 포함할 수도 있다. 이 경우, 서버(2000) 내의 제2 도메인 식별 모듈(82)의 계층들에 따라, 서버(2000)는 각 계층에 대응되는 도메인 식별 모듈을 포함할 수 있다.Meanwhile, the layer of the second
예를 들어, 제1 도메인 식별 모듈(81)이 제1 계층의 도메인 “location”에 대한 도메인 신뢰도를 60%로 산출하고, 제1 계층의 도메인 “weather”에 대한 신뢰도를 30%로 산출할 수 있다. 제2 계층의 도메인 식별 모듈(82-1)은 제2 계층의 도메인 “Canada”에 대한 신뢰도를 40%로 산출하고, 제2 계층의 도메인 “USA”에 대한 신뢰도를 20%로 산출하고, 제2 계층의 도메인 “Rain”에 대한 신뢰도를 25%로 산출할 수 있다. 제3 계층의 도메인 식별 모듈(82-2)는 제3 계층의 도메인 “Brish Columbia”의 신뢰도를 20 %로 산출하고, 제3 계층의 도메인 “Ontario”의 신뢰도를 30 %로 산출하고 제3 계층의 도메인 “New York”의 신뢰도를 10 %로 산출하고, 제3 계층의 도메인 “강수량”의 신뢰도를 5%로 산출할 수 있다.For example, the first
또한, 예를 들어, 도메인 선택 모듈(2313)은 제1 계층의 도메인 “location”에 대한 도메인 신뢰도, 및 제1 계층의 도메인 “weather”에 대한 신뢰도에 제1 가중치를 각각 부여할 수 있다. 도메인 선택 모듈(2313)은 제2 계층의 도메인 “Canada”에 대한 신뢰도, 제2 계층의 도메인 “USA”에 대한 신뢰도 및 제2 계층의 도메인 “Rain”에 대한 신뢰도에 제2 가중치를 각각 부여할 수 있다. 도메인 선택 모듈(2313)은 3 계층의 도메인 “Brish Columbia”의 신뢰도, 제3 계층의 도메인 “Ontario”의 신뢰도, 제3 계층의 도메인 “New York”의 신뢰도 및 제3 계층의 도메인 “강수량”의 신뢰도에 제3 가중치를 각각 부여할 수 있다. 이 경우, 제2 가중치는 제1 가중치보다 크고 제3 가중치보다 작을 수 있다. 또한, 도메인 선택 모듈(2313)은 제1 가중치가 부연된 신뢰도들, 제2 가중치가 부여된 신뢰도들 및 제3 가중치가 부여된 신뢰도들을 함께 고려하여 텍스트 수정을 위한 도메인을 선택할 수 있다.In addition, for example, the
또한, 예를 들어, 도메인 선택 모듈(2313)은 “location”에 대한 신뢰도, “Canada”에 대한 신뢰도 및 “Brish Columbia”에 대한 신뢰도의 제1 가중치 합을 산출할 수 있다. 도메인 선택 모듈(2313)은 “location”에 대한 신뢰도, “Canada”에 대한 신뢰도 및 “Ontario”에 대한 신뢰도의 제2 가중치 합을 산출할 수 있다. 도메인 선택 모듈(2313)은 “location”에 대한 신뢰도, “USA”에 대한 신뢰도 및 “New York”에 대한 신뢰도의 제3 가중치 합을 산출할 수 있다. 또한, 예를 들어, 도메인 선택 모듈(2313)은 “Weather”에 대한 신뢰도, “Rain”에 대한 신뢰도 및 “강수량”에 대한 신뢰도의 제4 가중치 합을 산출할 수 있다.Also, for example, the
예를 들어, 도메인 선택 모듈(2313)은 산출된 가중치 합들을 비교함으로써, 제1 가중치 합이 가능 높음을 식별하고, “Brish Columbia”를 텍스트 수정을 위한 도메인으로 결정할 수 있다. For example, by comparing the calculated weight sums, the
또는, 예를 들어, 도메인 선택 모듈(2313)은 제1 계층의 도메인들에 관한 도메인 신뢰도 및 제2 계층의 도메인들에 관한 신뢰도에 기초하여, 제2 계층의 도메인을 선택할 수 있다. 도메인 선택 모듈(2313)은 선택된 제2 계층의 도메인에 관련된 하위 도메인들을 선택할 수 있으며, 선택된 하위 도메인들에 대응되는 텍스트 수정 모델들을 이용하여 텍스트가 수정될 수 있다.Alternatively, for example, the
또한, 도 8에서는, 디바이스(1000) 내의 제1 도메인 식별 모듈(81)이 제1 계층에 대응되고, 서버(2000) 내의 제2 도메인 식별 모듈(82)이 제2 계층 내지 제4 계층에 대응되는 것으로 설명하였지만, 이에 제한되지 않는다. 예를 들어, 디바이스(1000) 내의 제1 도메인 식별 모듈(81)이 제1 계층에 대응되고, 서버(2000) 내의 제2 도메인 식별 모듈(82)이 제1 계층 내지 제3 계층에 대응될 수도 있다.In addition, in FIG. 8, the first
한편, 도메인 신뢰도들에 대한 가중치가 디바이스(1000)에 관련된 컨텍스트 정보에 기초하여 부여될 수 있다. 컨텍스트 정보는, 디바이스(1000)의 주변 환경 정보, 디바이스(1000)의 상태 정보, 사용자의 상태 정보, 사용자의 디바이스(1000) 사용 이력 정보 및 사용자의 일정 정보 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 디바이스(1000)의 주변 환경 정보는, 디바이스(1000)로부터 소정 반경 내의 환경 정보를 의미하는 것으로서, 예를 들어, 날씨 정보, 온도 정보, 습도 정보, 조도 정보, 소음 정보, 소리 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 디바이스(1000)의 상태 정보는, 디바이스(1000)의 모드 정보(예컨대, 소리 모드, 진동 모드, 무음 모드, 절전 모드, 차단 모드, 멀티 윈도우 모드, 자동 회전 모드 등), 디바이스(1000)의 위치 정보, 시간 정보, 통신 모듈의 활성화 정보(예컨대, Wi-Fi ON / Bluetooth OFF / GPS ON/ NFC ON 등), 디바이스(1000)의 네트워크 접속 상태 정보, 디바이스(1000)에서 실행되는 애플리케이션 정보(예컨대, 애플리케이션의 식별 정보, 애플리케이션 종류, 애플리케이션 이용 시간, 애플리케이션 이용 주기) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 사용자의 상태 정보는 사용자의 움직임, 생활 패턴 등에 관한 정보로서, 사용자의 걷는 상태, 운동하는 상태, 운전 중인 상태, 수면 상태, 사용자의 기분 상태 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 사용자의 디바이스(1000) 사용 이력 정보는, 사용자가 디바이스(1000)를 이용한 이력에 관한 정보로서, 애플리케이션의 실행 이력, 애플리케이션에서 실행된 기능의 이력, 사용자의 통화 내역, 및 사용자의 문자 내역 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.Meanwhile, weights for domain reliability levels may be assigned based on context information related to the
예를 들어, 디바이스(1000)에서 실행 중인 애플리케이션에 관한 컨텍스트 정보에 기초하여 도메인 신뢰도들에 대한 가중치가 결정될 수 있다. 예를 들어, 사용자의 음성 입력이 디바이스(1000)에서 실행 중인 애플리케이션에 대한 입력인 경우에, 애플리케이션에 관련된 도메인의 도메인 신뢰도에 높은 가중치가 부여될 수 있다. 또는 애플리케이션에 관련된 도메인이 텍스트 수정을 위한 도메인으로 바로 결정될 수도 있다. 예를 들어, 디바이스(1000)에서 지도 애플리케이션이 실행 중에 “아크로비스타”라는 음성 입력이 입력되면, 지도 도메인에 높은 가중치가 부여되거나, 텍스트 수정을 위한 도메인이 지도 도메인으로 바로 결정될 수 있다.For example, weights for domain reliability levels may be determined based on context information about an application running in the
예를 들어, 디바이스(1000)에서 제공된 보이스 어시스턴트 서비스를 통한 사용자의 대화 이력에 기초하여 도메인 신뢰도들에 대한 가중치가 결정될 수 있다. 예를 들어, 보이스 어시스턴트 서비스를 통해 사용자가 디바이스(1000)와 음악에 관련된 대화를 나누는 도중에, “아이유 검색해줘”라는 음성 입력이 디바이스(1000)에 입력되면, 음악 도메인에 높은 가중치가 부여되거나, 텍스트 수정을 위한 도메인이 음악 도메인으로 바로 결정될 수 있다.For example, based on the conversation history of the user through the voice assistant service provided by the
예를 들어, 디바이스(1000)에서 수집되는 센싱 정보에 기초하여 도메인 신뢰도들에 대한 가중치가 결정될 수 있다. 디바이스(1000)에서 획득되는 위치 정보(예를 들어 GPS 정보)에 기초하여 도메인에 가중치가 부여될 수 있다. 예를 들어, 디바이스(1000)의 위치가 영화관 근처인 경우에, 영화 도메인에 높은 가중치가 부여될 수 있다. 예를 들어, 디바이스(1000)에서 음식점이 검색되고 있는 도중에 사용자의 음성 입력이 디바이스(1000)에 입력되면, 디바이스(1000)의 위치하는 장소에 관련된 도메인에 높은 가중치가 부여될 수 있다.For example, weights for domain reliability levels may be determined based on sensing information collected by the
한편, 도메인 신뢰도들에 대한 가중치가 트렌드 정보에 기초하여 부여될 수 있다. 예를 들어, 주요 뉴스에 대한 도메인 또는 포털 사이트를 통한 실시간 검색어의 도메인에 대하여 높은 가중치가 부여될 수 있다.Meanwhile, weights for domain reliability levels may be assigned based on trend information. For example, a high weight may be given to a domain for major news or a domain for a real-time search word through a portal site.
도 9는 본 개시의 일 실시예에 따른 서버가 복수의 도메인 식별 모듈 중 선택된 도메인 식별 모듈을 이용하여 텍스트의 수정을 위한 도메인을 선택하는 방법의 흐름도이다.9 is a flowchart of a method for selecting a domain for text correction by using a domain identification module selected from among a plurality of domain identification modules by a server according to an embodiment of the present disclosure.
도 10은 본 개시의 일 실시예에 따른 계층적으로 분류된 도메인에 관련된 제1 도메인 식별 모듈, 제2 도메인 식별 모듈 및 텍스트 수정 모델의 예시를 나타내는 도면이다.10 is a diagram illustrating an example of a first domain identification module, a second domain identification module, and a text correction model related to hierarchically classified domains according to an embodiment of the present disclosure.
도 9 및 도 10에서는, 예를 들어, 음성 인식을 위한 도메인들은 제1 계층, 제2 계층 및 제3 계층으로 분류될 수 있다.In FIGS. 9 and 10, domains for speech recognition may be classified into a first layer, a second layer, and a third layer, for example.
S900에서 서버(2000)는 디바이스(1000)의 제1 도메인 식별 모듈(81)에서 산출된 텍스트의 제1 도메인 신뢰도를 디바이스(1000)로부터 수신할 수 있다. 서버(2000)는 디바이스(1000)의 ASR 모델로부터 출력된 텍스트의 제1 도메인 신뢰도를 디바이스(1000)로부터 수신할 수 있다. 도 10을 참조하면, 예를 들어, 디바이스(1000)의 제1 도메인 식별 모듈(100)은 “location”에 관한 제1 계층의 도메인인 “all”에 대응될 수 있으며, 제1 도메인 식별 모듈(100)로부터 산출되는 제1 도메인 신뢰도는 “country”에 관련된 제2 계층의 도메인에 대한 도메인 신뢰도일 수 있다. 예를 들어, 제1 도메인 신뢰도는 “Canada”에 대한 도메인 신뢰도 및 도메인 “USA”에 대한 도메인 신뢰도를 포함할 수 있다. 또한, 예를 들어, 제2 도메인 식별 모듈(101)은 도메인 “Canada”에 대응되며, 제2 도메인 식별 모듈(102)는 도메인 “USA”에 대응될 수 있다.In S900, the
S910에서 서버(2000)는 제1 도메인 신뢰도에 기초하여, 복수의 제2 도메인 식별 모듈들(82) 중에 적어도 하나를 선택할 수 있다. 서버(2000)의 도메인 식별 모듈 선택 모듈(2311)은 제1 도메인 신뢰도에 기초하여 복수의 제2 도메인 식별 모듈들(82) 중에서 제2 계층의 도메인 식별 모듈(82-1)을 선택할 수 있다. 도 10을 참조하면, 예를 들어, 서버(2000)는 “Canada”에 대한 도메인 신뢰도 및 도메인 “USA”에 대한 도메인 신뢰도를 비교하고, “Canada”에 대한 도메인 신뢰도가 소정 임계치보다 높음을 식별할 수 있다. 또한, 서버(2000)는, 도메인 “Canada”에 대응되는 제2 도메인 식별 모듈(101) 및 도메인 “USA”에 대응되는 제2 도메인 식별 모듈(102) 중에서, “Canada”에 대응되는 제2 도메인 식별 모듈(101)을 선택할 수 있다. 이 경우, 제2 도메인 식별 모듈(101) 및 제2 도메인 식별 모듈(102)는 제2 계층에 대응되는 제2 도메인 식별 모듈일 수 있다.In S910, the
S920에서 서버(2000)는 선택된 제2 계층의 도메인 식별 모듈(82-1)을 이용하여 텍스트의 제2 도메인 신뢰도를 산출할 수 있다. 제2 계층의 도메인 식별 모듈(82-1)은 텍스트를 입력으로 하여 제2 도메인 신뢰도를 산출할 수 있다. 도 10을 참조하면, 제2 도메인 식별 모듈(101)로부터 산출되는 제2 도메인 신뢰도는 “province or state”에 관련된 제3 계층의 도메인에 대한 도메인 신뢰도일 수 있다. 예를 들어, 제2 도메인 신뢰도는 “British Columbia”에 대한 도메인 신뢰도, 도메인 “Ontario”에 대한 도메인 신뢰도, 도메인 “New York”에 대한 도메인 신뢰도, 및 도메인 “Illinois”에 대한 도메인 신뢰도를 포함할 수 있다. 또한, 예를 들어, 텍스트 수정 모델(103)은 도메인 “British Columbia”에 대응되며, 텍스트 수정 모델(104)은 도메인 “Ontario”에 대응되며, 텍스트 수정 모델(105)은 도메인 “New York”에 대응되며, 텍스트 수정 모델(106)은 도메인 Illinois”에 대응될 수 있다.In S920, the
S930에서 서버(2000)는 제2 도메인 신뢰도에 기초하여, 텍스트의 수정에 관련된 도메인을 선택할 수 있다. 서버(2000)의 모델 선택 모듈(2313)은 제2 도메인 신뢰도에 기초하여 복수의 텍스트 수정 모델들(83, 84, 85) 중에서 하나를 선택할 수 있다. 도 10을 참조하면, 예를 들어, 서버(2000)는 “British Columbia”에 대한 도메인 신뢰도, 도메인 “Ontario”에 대한 도메인 신뢰도, 도메인 “New York”에 대한 도메인 신뢰도, 및 도메인 “Illinois”에 대한 도메인 신뢰도를 비교하고, “British Columbia”에 대한 도메인 신뢰도 가 소정 임계치보다 높음을 식별할 수 있다. 또한, 서버(2000)는, 텍스트의 수정에 관한 도메인으로서, 도메인 “British Columbia”를 선택할 수 있다. 이에 따라, 텍스트는, 도메인 “British Columbia”에 대응되는 텍스트 수정 모델(103)에 의해 수정될 수 있다.In S930, the
도 9 및 도 10에서는, 제1 도메인 식별 모듈(81)이 도메인의 제1 계층에 대응되고, 제2 도메인 식별 모듈(82)이 도메인의 제2 계층에 대응되고, 텍스트 수정 모델(83, 84, 85)이 제3 계층에 대응되는 것으로 설명하였지만, 이에 제한되지 않는다. 예를 들어, 제2 도메인 식별 모듈(82)은 더 많은 계층에 대응될 수 있다. 예를 들어, 제1 도메인 식별 모듈(81)이 도메인의 제1 계층에 대응되고, 제2 도메인 식별 모듈(82)이 도메인의 제2 계층, 제3 계층 및 제4 계층에 대응되고, 텍스트 수정 모델(83, 84, 85)이 제5 계층에 대응될 수 있으나, 이에 제한되지 않는다.9 and 10, the first
도 10에서 서버(2000)는 제1 도메인 식별 모듈(100)로부터 산출된 도메인 신뢰도, 제2 도메인 식별 모듈(101)로부터 산출된 도메인 신뢰도 및 제2 도메인 식별 모듈(102)로부터 산출된 도메인 신뢰도를 각각 정규화하고, 정규화된 값을 비교함으로써 텍스트 수정을 위한 텍스트 수정 모델을 선택할 수도 있다.In FIG. 10, the
도 11은 본 개시의 일 실시예에 따른 서버가 복수의 텍스트 수정 모델을 이용하여 텍스트를 수정하는 예시를 나타내는 도면이다.11 is a diagram illustrating an example in which a server corrects text using a plurality of text correction models according to an embodiment of the present disclosure.
도 11을 참조하면, 디바이스(1000)의 ASR 모델(110)로부터 출력된 텍스트가 서버(2000) 내의 도메인 식별 모듈(2312)에게 제공될 수 있다. 서버(2000)는 서버(2000) 내의 도메인 식별 모듈(2312)을 이용하여, 디바이스(1000)로부터 수신된 텍스트에 관련된 도메인을 식별할 수 있다. 이 경우, 서버(2000)는 디바이스(1000)로부터 수신된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. Referring to FIG. 11, text output from the
도메인 식별 모듈(2312)는, 예를 들어, 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 획득할 수 있다. 예를 들어, 도메인 식별 모듈(2312)은 텍스트를 복수 구간으로 구분하고, 각 구간 별로 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 획득할 수 있다. 예를 들어, 도메인 식별 모듈(2312)은 텍스트를 제1 구간, 제2 구간 및 제3 구간으로 구분하고, 제1 구간, 제2 구간 및 제3 구간 각각에 대하여, 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 획득할 수 있다. 예를 들어, 서버(2000)가 텍스트 스트림을 수신하는 경우에, 제1 구간의 텍스트에 대한 도메인 신뢰도들을 획득하고, 제2 구간의 텍스트에 대한 도메인 신뢰도들을 획득하고, 제3 구간의 텍스트에 대한 도메인 신뢰도들을 획득할 수 있다. 이 경우, 서버(2000)는 텍스트 스트림을 수신하면서 추후에 수신될 텍스트를 기다리지 않고, 이미 수신된 텍스트를 실시간으로 수정할 수 있게 되며, 보다 빠른 속도로 텍스트에 관련된 도메인을 식별할 수 있게 된다.The
또는, 예를 들어, 서버(2000)가 텍스트 스트림을 수신하는 경우에, 복수 구간의 텍스트에 대한 도메인 신뢰도를 누적하여 산출할 수도 있다. 예를 들어, 서버(2000)는 텍스트 스트림을 수신하면서 한 문장의 텍스트를 복수의 구간으로 구분할 수 있으며, 제1 구간의 텍스트에 대한 도메인 신뢰도들을 획득하고, 제1 구간 및 제2 구간의 텍스트에 대한 도메인 신뢰도들을 획득하고, 제1 구간 내지 제3 구간의 텍스트에 대한 도메인 신뢰도들을 획득할 수 있다. 이 경우, 서버(2000)는 문장 단위로 도메인 신뢰도를 산출하되 복수 구간을 누적하여 도메인 신뢰도를 산출함으로써 보다 효율적으로 텍스트에 관련된 도메인을 식별할 수 있게 된다.Alternatively, for example, when the
또는, 예를 들어, 도메인 식별 모듈(2312)은 문장 단위의 텍스트에 대하여, 제1 도메인에 대한 도메인 신뢰도, 제2 도메인에 대한 도메인 신뢰도 및 제3 도메인에 대한 도메인 신뢰도를 획득할 수 있다. Alternatively, for example, the
일 실시예에 따르면, 서버(2000)의 모델 선택 모듈(2313)은 텍스트를 수정할 텍스트 수정 모델을 선택할 수 있다. 예를 들어, 텍스트가 복수 구간으로 구분된 경우에, 서버(2000)는 텍스트의 각 구간 별로 상이한 텍스트 수정 모델을 선택할 수 있다. 예를 들어, 텍스트가 제1 구간, 제2 구간 및 제3 구간으로 구분된 경우에, 텍스트의 제1 구간을 수정하기 위해 텍스트 수정 모델(111)을 선택하고, 텍스트의 제2 구간을 수정하기 위해 텍스트 수정 모델(112)를 선택하고, 텍스트의 제3 구간을 수정하기 위해 텍스트 수정 모델(113)을 선택할 수 있다.According to an embodiment, the
또는, 예를 들어, 서버(2000)는 문장 단위의 텍스트를 수정하기 위해 복수의 텍스트 수정 모델을 선택할 수 있다. 예를 들어, 서버(2000)는 문장 단위의 텍스트를 수정하기 위해 텍스트 수정 모델(111), 텍스트 수정 모델(112) 및 텍스트 수정 모델(113)을 선택할 수 있다.Alternatively, for example, the
이후, 서버(2000)는 텍스트 수정 모델(111)로부터 출력된 제1 수정된 텍스트, 텍스트 수정 모델(112)로부터 출력된 제2 수정된 텍스트 및 텍스트 수정 모델(113)로부터 출력된 제3 수정된 텍스트를 이용하여, 디바이스(1000)로부터 수신된 텍스트에 대한 수정된 텍스트를 획득할 수 있다. Thereafter, the
예를 들어, 서버(2000)는 제1 수정된 텍스트, 제2 수정된 텍스트 및 제3 수정된 텍스트 중 하나 이상을 선택하고, 선택된 텍스트의 적어도 일부를 이용하여, 디바이스(1000)로부터 수신된 텍스트에 대한 수정된 텍스트를 획득할 수 있다. 또는, 예를 들어, 서버(2000)는 제1 수정된 텍스트, 제2 수정된 텍스트 및 제3 수정된 텍스트 중 하나를 선택함으로써, 디바이스(1000)로부터 수신된 텍스트에 대한 수정된 텍스트를 획득할 수 있다. 또는, 예를 들어, 서버(2000)는 제1 수정된 텍스트의 적어도 일부, 제2 수정된 텍스트의 적어도 일부 및 제3 수정된 텍스트의 적어도 일부를 조합함으로써, 디바이스(1000)로부터 수신된 텍스트에 대한 수정된 텍스트를 획득할 수 있다.For example, the
이후, 서버(2000)는 수정된 텍스트를 디바이스(1000)에게 제공할 수 있다.Thereafter, the
도 12는 본 개시의 일 실시예에 따른 서버가 복수 구간의 텍스트에 대한 도메인 신뢰도를 누적하여 산출하는 방법의 흐름도이다.12 is a flowchart of a method of accumulating and calculating domain reliability for texts in a plurality of sections by a server according to an embodiment of the present disclosure.
S1200에서 서버(2000)는 텍스트의 제1 구간을 획득할 수 있다. 텍스트는 복수의 구간으로 구분될 수 있으며, 텍스트의 구간은, 예를 들어, 어절, 단어 또는 구 단위로 구분될 수 있다. 서버(2000)는 디바이스(1000)로부터 텍스트를 텍스트 스트림의 형태로 수신할 수 있다. 이 경우, 서버(2000)는 텍스트 스트림을 실시간으로 수신하면서 텍스트의 제1 구간을 획득할 수 있다. 또는, 서버(2000)는 디바이스(1000)로부터 문장 형태의 텍스트를 수신하고, 수신된 텍스트에서 제1 구간의 텍스트를 추출할 수 있다.In S1200, the
S1210에서 서버(2000)는 제1 구간의 텍스트에 대한 도메인 신뢰도를 산출할 수 있다. 서버(2000)는 서버(2000)에 등록된 도메인들에 대하여, 제1 구간의 텍스트에 대한 도메인 신뢰도를 산출할 수 있다.In S1210, the
S1220에서 서버(2000)는 텍스트의 제2 구간을 획득할 수 있다. 서버(2000)가 디바이스(1000)로부터 텍스트를 텍스트 스트림의 형태로 수신하는 경우에, 서버(2000)는 텍스트 스트림을 실시간으로 수신하면서 텍스트의 제2 구간을 획득할 수 있다. 또는, 서버(2000)는 디바이스(1000)로부터 문장 형태의 텍스트를 수신하고, 수신된 텍스트에서 제2 구간의 텍스트를 추출할 수 있다.In S1220, the
S1230에서 서버(2000)는 제1 구간 및 제2 구간의 텍스트에 대한 도메인 신뢰도를 산출할 수 있다. 서버(2000)는 제1 구간의 텍스트 및 제2 구간의 텍스트를 누적하고, 제1 구간 및 제2 구간을 포함하는 누적된 텍스트에 대한 도메인 신뢰도를 산출할 수 있다. In S1230, the
S1240에서 서버(2000)는 텍스트의 제n 구간을 획득할 수 있다. 서버(2000)가 디바이스(1000)로부터 텍스트를 텍스트 스트림의 형태로 수신하는 경우에, 서버(2000)는 텍스트 스트림을 실시간으로 수신하면서 텍스트의 제n 구간을 획득할 수 있다. 또는, 서버(2000)는 디바이스(1000)로부터 문장 형태의 텍스트를 수신하고, 수신된 텍스트에서 제n 구간의 텍스트를 추출할 수 있다.In S1240, the
S1250에서 서버(2000)는 제1 구간 내지 제n 구간의 텍스트에 대한 도메인 신뢰도를 산출할 수 있다. 서버(2000)는 제1 구간의 텍스트 내지 제n 구간의 텍스트를 누적하고, 제1 구간 내지 제n 구간을 포함하는 누적된 텍스트에 대한 도메인 신뢰도를 산출할 수 있다. In S1250, the
S1260에서 서버(2000)는 제1 구간 내지 제n 구간의 텍스트에 대한 도메인 신뢰도에 기초하여, 디바이스(1000)로부터 수신된 텍스트를 수정할 도메인을 결정할 수 있다.In S1260, the
도 13은 본 개시의 일 실시예에 따른 서버가 어절 단위로 누적되는 텍스트 스트림에 대한 도메인 신뢰도를 획득하는 예시를 나타내는 도면이다.13 is a diagram illustrating an example in which a server obtains domain reliability for a text stream accumulated in word units according to an embodiment of the present disclosure.
도 13을 참고하면, 서버(2000)의 도메인 식별 모듈(2312)은 어절 단위로 텍스트를 구분하고, 구분된 텍스트를 누적하고, 누적된 텍스트에 대하여 도메인 신뢰도를 획득할 수 있다.Referring to FIG. 13, the
예를 들어, 도메인 식별 모듈(2312)에 제1 구간의 텍스트인 “새로 나온”이 입력되면, 도메인 식별 모듈(2312)는 “새로나온”에 관련된 도메인 신뢰도가 “0.1”로 낮아 도메인을 식별 값을 “Rejected”로 출력할 수 있다.For example, when “new”, which is the text of the first section, is input to the
이후, 도메인 식별 모듈(2312)에 제2 구간의 텍스트인 “트와이스”가 입력되면, 도메인 식별 모듈(2312)는 제1 구간의 텍스트인 “새로나온”과 제2 구간의 텍스트인 “트와이스”를 누적하고, 누적된 텍스트인 “새로나온 트와이스”에 관련된 도메인 식별 값 “Music” 및 도메인 신뢰도가 “0.7”을 출력할 수 있다. Thereafter, when "Twice", which is the text of the second section, is input to the
이후, 도메인 식별 모듈(2312)에 제3 구간의 텍스트인 “예스 오 노”가 입력되면, 도메인 식별 모듈(2312)는 제1 구간의 텍스트인 “새로나온”, 제2 구간의 텍스트인 “트와이스” 및 제3 구간의 텍스트인 “예스 오 노”를 누적하고, 누적된 텍스트인 “새로나온 트와이스 예스 오 노”에 관련된 도메인 식별 값 “Music” 및 도메인 신뢰도가 “0.9”를 출력할 수 있다.Thereafter, when the
이후, 도메인 식별 모듈(2312)에 제4 구간의 텍스트인 “틀어줘”가 입력되면, 도메인 식별 모듈(2312)는 제1 구간의 텍스트인 “새로나온”, 제2 구간의 텍스트인 “트와이스”, 제3 구간의 텍스트인 “예스 오 노” 및 제4 구간의 텍스트인 “틀어줘”를 누적하고, 누적된 텍스트인 “새로 나온 트와이스 예스 오 노 틀어줘”에 관련된 도메인 식별 값 “Music” 및 도메인 신뢰도가 “1.0”를 출력할 수 있다.Thereafter, when the
이에 따라, 서버(2000)는 “새로 나온 트와이스 예스 오 노 틀어줘”를 수정하기 위한 도메인 수정 모델로서, 도메인 “Music”의 도메인 수정 모델을 선택할 수 있다.Accordingly, the
도 13에서는 도메인 식별 모듈(2312)이 가장 높은 값을 가지는 도메인 및 도메인 신뢰도를 출력하는 것으로 설명되었지만, 이에 제한되지 않는다. 도메인 식별 모듈(2312)은 서버(2000)에 등록된 복수의 도메인에 대하여 도메인 별로 도메인 신뢰도를 출력할 수도 있다.In FIG. 13, it has been described that the
도 13에서는 복수 구간의 텍스트에 대한 도메인 신뢰도가 누적하여 산출되는 것으로 설명되었지만, 이에 제한되지 않는다. 예를 들어, 서버(2000)는 복수 구간의 텍스트에 대하여 각 구간의 텍스트를 수정할 텍스트 수정 모델을 순차적으로 선택할 수 있다. 예를 들어, 서버(2000)가 텍스트 스트림을 수신하느 경우에, 서버(2000)는, 텍스트 스트림을 수신하면서, 제1 구간의 텍스트에 대한 도메인 신뢰도를 산출하여 제1 구간의 텍스트를 수정할 텍스트 수정 모델을 선택하고, 제2 구간의 텍스트에 대한 도메인 신뢰도를 산출하여 제2 구간의 텍스트를 수정할 텍스트 수정 모델을 선택하고, 제n 구간의 텍스트에 대한 도메인 신뢰도를 산출하여 제n 구간의 텍스트를 수정할 텍스트 수정 모델을 선택할 수도 있다.In FIG. 13, it has been described that the domain reliability for the text of a plurality of sections is calculated by accumulating, but is not limited thereto. For example, the
도 14는 본 개시의 일 실시예에 따른 서버가 텍스트를 복수의 구간으로 구분하고 각 구간의 텍스트 별로 도메인을 선택하는 방법의 흐름도이다.14 is a flowchart illustrating a method of dividing text into a plurality of sections by a server and selecting a domain for each text of each section according to an embodiment of the present disclosure.
S1400에서 서버(2000)는 복수의 도메인 각각에 대하여 텍스트의 도메인 신뢰도를 산출할 수 있다. 서버(2000)는 디바이스(1000)로부터 수신된 텍스트에 대하여 서버(2000)에 등록된 복수의 도메인 별로 도메인 신뢰도를 산출할 수 있다. In S1400, the
S1410에서 서버(2000)는 산출된 도메인 신뢰도를 비교하여, 텍스트를 복수의 구간으로 구분할 수 있다. 서버(2000)는 도메인 별로 도메인 신뢰도가 높은 텍스트 구간을 식별함으로써, 텍스트를 복수의 구간으로 구분할 수 있다. In S1410, the
동작 S1420에서 서버(2000)는 구분된 각 구간의 텍스트 별로 텍스트 수정을 위한 도메인을 선택할 수 있다. 서버(2000)는 각 구간 별의 텍스트 별로, 각 구간의 텍스트에 대하여 도메인 신뢰도가 가장 높은 도메인을, 각 구간의 텍스트에 대응되는 도메인으로 선택할 수 있다. In operation S1420, the
도 15는, 서버가 복수의 도메인 별로 텍스트의 도메인 신뢰도를 비교하고 각 구간의 텍스트 별로 텍스트 수정 모델을 선택하여 수정하는 예시를 나타내는 도면이다.15 is a diagram illustrating an example in which a server compares the domain reliability of texts for each of a plurality of domains, and selects and corrects a text correction model for each text in each section.
도 15를 참조하면, 서버(2000)는 텍스트 스트림을 수신하면서 텍스트의 구간들을 구분할 수 있으며, 구분된 각 구간의 텍스트에 대하여 실시간으로 도메인 신뢰도를 산출할 수 있다. 예를 들어, 서버(2000)는 “오늘 염통 역 근처에서 길홍이를 만나서 어 베저스를 볼 거야”라는 텍스트 스트림을 수신할 수 있다. 서버(2000)는 텍스트 스트림을 수신하면서, “오늘 염통 역 근처에서”를 제1 구간으로 식별하고, “길홍이를 만나서”를 제2 구간으로 식별하고, “어 베저스를 볼 거야”를 제3 구간으로 식별할 수 있다. 또한, 서버(2000)는 텍스트 스트림을 수신하면서, “오늘 염통 역 근처에서”에 관련된 도메인 신뢰도들, “길홍이를 만나서”에 관련된 도메인 신뢰도들 및 “어 베저스를 볼 거야”에 관련된 도메인 신뢰도들을 순차적으로 산출할 수 있다.Referring to FIG. 15, the
예를 들어, 서버(2000)의 도메인 식별 모듈(2312)은 “오늘 염통 역 근처에서 길홍이를 만나서 어 베저스를 볼 거야”라는 텍스트의 각 구간에 대하여, “영화” 도메인의 도메인 신뢰도, “장소” 도메인의 도메인 신뢰도 및 “연락처” 도메인의 도메인 신뢰도를 산출할 수 있다.For example, the
예를 들어, 서버(2000)의 도메인 선택 모듈(2313)은 영화” 도메인의 도메인 신뢰도, “장소” 도메인의 도메인 신뢰도 및 “연락처” 도메인의 도메인 신뢰도를 비교할 수 있다. 도메인 선택 모듈(2313)은 “오늘 염통 역 근처에서”에 대하여 “장소” 도메인의 도메인 신뢰도가 높음을 식별할 수 있다. 도메인 선택 모듈(2313)은 “길홍이를 만나서”에 대하여 “연락처” 도메인의 도메인 신뢰도가 높음을 식별할 수 있다. 도메인 선택 모듈(2313)은 “어 베저스를 볼 거야”에 대하여 “영화” 도메인의 도메인 신뢰도가 높음을 식별할 수 있다. 이에 따라, 도메인 선택 모듈(2313)은 “오늘 염통 역 근처에서 길홍이를 만나서 어 베저스를 볼 거야”라는 텍스트 스트림으로부터, “오늘 염통 역 근처에서”를 제1 구간으로 식별하고, “길홍이를 만나서”를 제2 구간으로 식별하고, “어 베저스를 볼 거야”를 제3 구간으로 순차적으로 식별할 수 있다.For example, the
또한, 예를 들어, 도메인 선택 모듈(2313)은 “오늘 염통 역 근처에서”에 관련된 도메인으로 “장소” 도메인을 선택하고, “길홍이를 만나서”에 관련된 도메인으로 “연락처” 도메인을 선택하고, “어 베저스를 볼 거야”에 관련된 도메인으로 “영화” 도메인을 선택할 수 있다.In addition, for example, the
“장소” 도메인의 텍스트 수정 모델은 “오늘 염통 역 근처에서”를 “오늘 영통 역 근처에서”로 수정하고, “연락처” 도메인의 텍스트 수정 모델은 “길홍이를 만나서”를 “길동이를 만나서”로 수정하고, “영화” 도메인의 텍스트 수정 모델은 “어 베저스를 볼 거야”를 “어벤저스를 볼 거야”로 수정할 수 있다. “장소” 도메인의 텍스트 수정 모델의 텍스트 수정 동작, “연락처” 도메인의 텍스트 수정 모델의 텍스트 수정 동작, 및 영화” 도메인의 텍스트 수정 모델의 텍스트 수정 동작 중 적어도 하나는, 텍스트 스트림이 수신되는 동안에 순차적으로 수행될 수 있다.The text correction model in the “Place” domain is “Today near Yeomtong Station” to “Today near Yeongtong Station”, and the text correction model in the “Contact” domain is “Meet Gil Hong” to “Meet Gildong”. The text correction model in the "Movie" domain can be modified from "I'm going to see the Avengers" to "I'm going to see the Avengers". At least one of the text correction operation of the text correction model of the “place” domain, the text correction operation of the text correction model of the “contact” domain, and the text correction operation of the text correction model of the movie domain are sequential while the text stream is being received. Can be done with
도 16은 본 개시의 일 실시예에 따른 서버가 복수의 텍스트 수정 모델로부터 수정된 텍스트를 이용하여, 디바이스로부터 수신된 텍스트를 수정하는 예시를 나타내는 도면이다.16 is a diagram illustrating an example in which a server according to an embodiment of the present disclosure modifies text received from a device by using text modified from a plurality of text correction models.
도 16을 참조하면, 예를 들어, 서버(2000)는 “오늘 염통 역 근처에서 길홍이를 만나서 어 베저스를 볼 거야”라는 텍스트(160)를, “장소” 도메인의 텍스트 수정 모델, “연락처” 도메인의 텍스트 수정 모델 및 “영화” 도메인의 텍스트 수정 모델에게 각각 제공할 수 있다.Referring to FIG. 16, for example, the
이에 따라, “장소” 도메인의 텍스트 수정 모델은 “오늘 영통 역 근처에서 길홍이를 만나서 어 베저스를 볼 거야”라는 수정 텍스트(161)를 출력하고, “영화” 도메인의 텍스트 수정 모델은 “오늘 염통 역 근처에서 길홍이를 만나서 어벤저스를 볼 거야”라는 수정 텍스트(162)를 출력하고, “연락처” 도메인의 텍스트 수정 모델은 “오늘 염통 역 근처에서 길동이를 만나서 어 베저스를 볼 거야”라는 수정 텍스트(163)를 출력할 수 있다.Accordingly, the text correction model in the “Place” domain outputs a revised text 161 stating “I will meet Gil Hong-i near Yeongtong Station today and see A Betters”, and the text correction model in the “Movie” domain is “Today. The corrected text (162) is printed, saying, "I will meet Gil Hong-i near Yeomtong Station and see the Avengers." The corrected text 163 may be output.
이후, 서버(2000)는 수정 텍스트(161) 내의 수정된 단어인 “영통”, 수정 텍스트(162) 내의 수정된 단어인 “어벤저스”, 및 수정 텍스트(163) 내의 수정된 단어인 “길동이”를 식별하고, 디바이스(1000)에 제공할 수정된 텍스트(164)인 “오늘 영통 역 근처에서 길동이를 만나서 어벤저스를 볼거야”를 생성할 수 있다. Thereafter, the
도 17은 본 개시의 일 실시예에 따른 서버의 블록도이다.17 is a block diagram of a server according to an embodiment of the present disclosure.
도 17을 참조하면, 본 개시의 일 실시예에 따른 서버(2000)는 통신 인터페이스(2100), 프로세서(2200) 및 저장부(2300)를 포함하며, 저장부(2300)는 도메인 관리 모듈(2310), 텍스트 수정 모듈(2320), NLU 모듈(2330) 및 음성 해석 관리 모듈(2340)을 포함할 수 있다.Referring to FIG. 17, a
통신 인터페이스(2100)는, 디바이스(1000) 및 다른 서버(미도시)와의 통신을 위한 하나 이상의 구성요소를 포함할 수 있다. 통신 인터페이스(2100)는, 음성 인식 및 보이스 어시스턴트 서비스를 위한 정보를 디바이스(1000) 및 다른 서버(미도시)와 송수신할 수 있다. 통신 인터페이스(2100)는, 예를 들어, 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신할 수 있으나, 이에 제한되지 않는다.The
프로세서(2200)는 서버(2000)의 전반적인 동작을 제어한다. 프로세서(2200)는 저장부(2300)에 저장된 프로그램들을 실행함으로써, 본 명세서에서의 서버(2000)의 동작들을 전반적으로 제어할 수 있다. The
저장부(2300)는, 프로세서(2200)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 서버(2000)로 입력되거나 서버(2000)로부터 출력되는 데이터를 저장할 수 있다. 저장부(2300)는, 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있으나, 이에 제한되지 않는다.. The
저장부(2300)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 도메인 관리 모듈(2310), 텍스트 수정 모듈 (2321, 2320), NLU 모듈(2330) 및 음성 해석 관리 모듈(2340) 등으로 분류될 수 있다.Programs stored in the
도메인 관리 모듈(2310)은 디바이스(1000)로부터 수신된 텍스트를 텍스트 수정 모듈(2320)로 제공한다. 도메인 관리 모듈(2310)은 도메인 식별 모듈 선택 모듈(2311), 적어도 하나의 도메인 식별 모듈(2312) 및 도메인 선택 모듈(2313)을 포함할 수 있다.The
도메인 식별 모듈 선택 모듈(2311)은 도메인 식별 모듈(2312)을 선택할 수 있다. 도메인 식별 모듈(2312)이 복수인 경우에, 도메인 식별 모듈 선택 모듈(2311)은, 복수의 도메인 식별 모듈(2312) 중 적어도 일부를 선택할 수 있다.The domain identification
도메인 식별 모듈 선택 모듈(2311)은 디바이스(1000)로부터 수신된 제1 도메인 신뢰도에 기초하여, 서버(2000) 내의 복수의 도메인 식별 모듈(2312) 중 하나를 선택할 수 있다. 음성 인식 시스템 내에서 음성 인식을 위한 도메인들은 계층적으로 설정될 수 있다. 음성 인식을 위한 도메인들은, 예를 들어, 제1 계층의 도메인, 제1 계층의 도메인의 하위 도메인인 제2 계층의 도메인들, 및 제2 계층의 도메인의 하위 도메인인 제3 계층의 도메인들을 포함할 수 있다. 또한, 예를 들어, 제1 계층의 도메인은 디바이스(1000)의 도메인 식별 모듈(1440)에 대응되고, 제2 계층의 도메인은 서버(2000)의 도메인 식별 모듈(2312)에 대응되고, 제3 계층의 도메인은 텍스트 수정 모듈(2320)에 대응될 수 있다. 이 경우, 도메인 식별 모듈 선택 모듈(2311)은 디바이스(1000)의 도메인 식별 모듈(1440)로부터 산출된 제1 도메인 신뢰도에 따라 복수의 제2 계층의 도메인들 중 높은 신뢰도를 가지는 제2 계층의 도메인을 식별할 수 있다. 또한, 도메인 식별 모듈 선택 모듈(2311)은 식별된 제2 계층의 도메인에 대응되는 도메인 식별 모듈(2312)을 선택할 수 있다.The domain identification
도메인 식별 모듈(2312)은 텍스트의 수정을 위한 도메인을 식별할 수 있다. 서버(2000)가 디바이스(1000)로부터 도메인 정보를 수신하는 경우에는, 도메인 식별 모듈(2312)은 도메인 정보로부터 텍스트의 수정을 위한 도메인을 식별할 수 있다. 또는, 서버(2000)가 디바이스(1000)로부터 도메인 정보를 수신하지 않는 경우에는, 도메인 식별 모듈(2312)은 디바이스(1000)로부터 수신된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 도메인 식별 모듈(2312)은 디바이스(1000)로부터 수신되는 텍스트가 텍스트의 수정을 위해 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 또한, 도메인 식별 모듈(2312)은 미리 등록된 도메인에 대해 산출된 도메인 신뢰도에 기초하여, 디바이스(1000)로부터 수신된 텍스트에 관련된 도메인을 식별할 수 있다. 도메인 식별 모듈(2312)은 룰 기반으로 텍스트에 관련된 도메인을 식별하거나 도메인 식별을 위해 훈련된 인공 지능 모델을 이용하여 텍스트에 관련된 도메인 신뢰도를 획득할 수 있다. 또한, 예를 들어, 도메인 식별을 위한 인공 지능 모델은 NLU 모델의 일부이거나, NLU 모델과는 별개의 모델일 수 있다. The
도메인 식별 모듈(2312)은 복수 구간의 텍스트를 누적하면서 누적된 텍스트에 대한 도메인 신뢰도를 산출함으로써, 텍스트에 관련된 도메인을 식별할 수 있다. 또는, 도메인 식별 모듈(2312)은 텍스트를 복수의 구간으로 구분하고 각 구간의 텍스트 별로 관련된 도메인을 식별할 수 있다.The
도메인 선택 모듈(2313)은 복수의 텍스트 수정 모델들(2321, 2322, 2323) 중에서, 도메인 식별 모듈(2312)에 의해 식별된 도메인에 대응되는 텍스트 수정 모델을 선택할 수 있다.The
도메인 선택 모듈(2313)은 서버(2000)에 등록된 도메인들 중에서 도메인 식별 모듈(2312)에 의해 식별된 도메인에 대응되는 도메인을 선택하고, 선택된 도메인의 텍스트 수정 모델을 선택할 수 있다. The
도메인 식별 모듈(2312)은 텍스트를 복수의 구간으로 구분하고 각 구간의 텍스트 별로 관련된 도메인을 식별한 경우에는, 도메인 선택 모듈(2313)은 각 구간의 텍스트 별로 도메인을 선택할 수 있다.When the
텍스트 수정 모듈(2320)은 디바이스(1000)로부터 수신된 텍스트를 수정한다. 텍스트 수정 모듈(2320)은 결정된 도메인에 대응되는 텍스트 수정 모델을 이용하여 텍스트를 수정할 수 있다. 텍스트 수정 모듈(2320)은 제1 도메인의 텍스트 수정 모델(2321), 제2 도메인의 텍스트 수정 모델(2322) 및 제3 도메인의 텍스트 수정 모델(2323)을 포함할 수 있다.The
텍스트 수정 모듈(2320)은 선택된 텍스트 수정 모델을 이용하여 수정된 텍스트를 생성할 수 있다. 텍스트 수정 모듈(2320)은 텍스트를 선택된 텍스트 수정 모델에 입력할 수 있으며, 텍스트 수정 모델로부터 출력되는 수정된 텍스트를 획득할 수 있다. 이 경우, 텍스트 수정 모듈(2320)은 디바이스(1000)로부터 수신된 텍스트의 포맷을 텍스트 수정 모델에 적합하도록 전처리하고, 전처리된 값을 텍스트 수정 모델에 입력할 수도 있다. The
만약, 디바이스(1000)로부터 수신된 텍스트가 복수의 도메인에 관련된 경우에, 텍스트 수정 모듈(2320)은 텍스트의 수정을 위하여 복수의 도메인에 대응되는 복수의 텍스트 수정 모델을 선택할 수 있다. 이 경우, 텍스트 수정 모듈(2320)은 복수의 텍스트 수정 모델로부터 출력되는 수정된 텍스트들로부터, 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다. 예를 들어, 텍스트 수정 모듈(2320)이 복수의 텍스트 수정 모델들을 이용하여 복수의 수정된 텍스트를 생성한 경우에는, 텍스트 수정 모듈(2320)은 복수의 수정된 텍스트들의 신뢰도를 비교하고, 신뢰도가 높은 수정된 텍스트를 디바이스(1000)에게 제공할 수정된 텍스트로 결정할 수 있다. 수정된 텍스트의 신뢰도는, 수정된 텍스트가 입력 음성에 일치하는 정도를 나타내는 수치일 수 있으며 예를 들어, 컨피던스 스코어(confidence score)를 포함할 수 있으나, 이에 제한되지 않는다.If the text received from the
또한, 예를 들어, 텍스트 수정 모듈(2320)이 복수의 텍스트 수정 모델들을 이용하여 복수의 수정된 텍스트를 생성한 경우에, 텍스트 수정 모듈(2320)은 복수의 수정된 텍스트에서 수정된 부분들을 추출하고, 추출된 수정된 부분들을 이용하여 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다.Also, for example, when the
또한, 예를 들어, 텍스트 수정 모듈(2320)은 복수의 텍스트 수정 모델로부터 출력되는 수정된 텍스트들로부터 일부 텍스트들을 추출하고, 추출된 일부 텍스트들을 조합함으로써, 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다. 예를 들어, 텍스트 수정 모듈(2320)은 복수의 텍스트 수정 모델들을 이용하여 제1 수정 텍스트 및 제2 수정 텍스트를 생성하고, 제1 수정 텍스트의 일부의 신뢰도 및 제2 수정 텍스트의 일부의 신뢰도가 높은 경우에, 텍스트 수정 모듈(2320)은 제1 수정 텍스트의 일부 및 제2 수정 텍스트의 일부를 조합함으로써 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다.In addition, for example, the
또한, 예를 들어, 각 구간의 텍스트 별로 관련된 도메인이 선택된 경우에, 텍스트 수정 모듈(2320)은 각 구간의 텍스트를 각각 대응되는 도메인 수정 모델에게 제공할 수 있다. 이 경우, 텍스트 수정 모듈(2320)은 각각의 도메인 수정 모델로부터 출력되는 각 구간의 수정 텍스트들을 조합하여 디바이스(1000)에게 제공할 수정된 텍스트를 획득할 수 있다.In addition, for example, when a domain related to each text of each section is selected, the
NLU 모듈(2330) 텍스트 수정 모듈(2320)로부터 출력된 수정된 텍스트를 해석할 수 있다. NLU 모듈(2330)은, 제1 NLU 모델(2331) 및 제2 NLU 모델(2332) 등과 같이, 복수 도메인의 복수의 NLU 모델을 포함할 수 있다. NLU 모듈(233)이 텍스트를 해석함으로써 생성되는 결과 값은, 예를 들어, 인텐트 및 파라미터를 포함할 수 있다. 인텐트는 NLU 모델을 이용하여 텍스트를 해석함으로써 결정되는 정보로서, 예를 들어, 사용자의 발화 의도를 나타낼 수 있다. 인텐트는, 사용자의 발화 의도를 나타내는 정보(이하, 의도 정보)뿐 아니라, 사용자의 의도를 나타내는 정보에 대응하는 수치 값을 포함할 수 있다. 수치 값은, 텍스트가 특정 의도를 나타내는 정보와 관련될 확률을 나타낼 수 있다. NLU 모델을 이용하여 텍스트를 해석한 결과, 사용자의 의도를 나타내는 정보가 복수 개 획득되는 경우, 각 의도 정보에 대응되는 수치 값이 최대인 의도 정보가 인텐트로 결정될 수 있다. 또한, 파라미터는 인텐트와 관련된 세부 정보를 나타낼 수 있다. 파라미터는 인텐트와 관련된 정보로서, 하나의 인텐트에 복수 종류의 파라미터가 대응될 수 있다.The corrected text output from the
또한, NLU 모듈(233)이 텍스트를 해석함으로써 생성되는 결과 값은 디바이스(1000)에게 소정의 보이스 어시스턴트 서비스를 제공하는데 이용될 수 있다.In addition, the result value generated by the NLU module 233 interpreting the text may be used to provide a predetermined voice assistant service to the
음성 해석 관리 모듈(2340)은 텍스트 수정 모듈(2320)에 의한 수정된 텍스트를 평가하고, 수정된 텍스트에 대한 NLU 처리를 수행할 지를 결정할 수 있다. 음성 해석 관리 모듈(2340)은 음성 인식 평가 모듈(2341) 및 NLU 결정 모듈(2342)을 포함할 수 있다.The speech
음성 인식 평가 모듈(2341)은 텍스트 수정 모듈(2320)에 의해 수정된 텍스트의 신뢰도를 산출할 수 있다. 수정된 텍스트의 신뢰도 수정된 텍스트가 입력 음성에 일치할 확률을 나타내는 수치일 수 있으며 예를 들어, 컨피던스 스코어(confidence score)를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 음성 인식 평가 모듈(2341)은 수정된 텍스트의 도메인 신뢰도를 산출할 수 있다. 음성 인식 평가 모듈(2341)은 수정된 텍스트가 NLU 처리를 위해 서버(2000)에 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 도메인 신뢰도를 산출할 수 있다.The speech
NLU 결정 모듈(2342)은 수정된 텍스트에 대하여 서버(2000)에서 NLU 처리를 수행할 지를 결정할 수 있다. 수정된 텍스트의 신뢰도 및 수정된 텍스트의 도메인 신뢰도에 기초하여, 서버(2000)에서 NLU 처리를 수행할 지를 결정할 수 있다. NLU 결정 모듈(2342)은 수정된 텍스트에 관련된 도메인이 디바이스(1000)에서 NLU 처리를 할 수 있는 도메인인지 서버(2000)에서 NLU 처리를 할 수 있는 도메인 인지를 판단할 수도 있다. The
도 18은 본 개시의 일 실시예에 따른 디바이스의 블록도이다.18 is a block diagram of a device according to an embodiment of the present disclosure.
도 18을 참조하면, 본 개시의 일 실시예에 따른 디바이스(1000)는 통신 인터페이스(1100), 입출력부(1200), 프로세서(1300) 및 메모리(1400)를 포함하며, 메모리(1400)는 적어도 하나의 ASR 모델(1410), 적어도 하나의 NLU 모델(1420), 음성 인식 평가 모듈(1430), 도메인 식별 모듈(1440) 및 NLU 결정 모듈(1450)을 포함할 수 있다.Referring to FIG. 18, a
통신 인터페이스(1100)는 서버(2000) 및 외부 장치(미도시)와의 통신을 위한 하나 이상의 구성요소를 포함할 수 있다. 통신 인터페이스(1100)는, 음성 인식 및 보이스 어시스턴트 서비스를 위한 정보를 서버(2000) 및 외부 장치(미도시)와 송수신할 수 있다. 통신 인터페이스(1100)는, 예를 들어, 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신할 수 있으나, 이에 제한되지 않는다.The
입출력부(1200)는 디바이스(1000)에 입력되는 데이터를 수신하고, 디바이스(1000)로부터 데이터를 출력할 수 있다. 입출력부(1200)는 사용자 입력부, 카메라, 마이크로폰, 디스플레이부 및 음향 출력부를 포함할 수 있다. 사용자 입력부는, 예를 들어, 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.The input/
디스플레이부는 디바이스(1000)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이부는, 보이스 어시스턴트 서비스를 위한 GUI를 디스플레이할 수 있다. 디스플레이부와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. The display unit may display and output information processed by the
음향 출력부는 오디오 데이터를 출력할 수 있으며, 예를 들어, 스피커(speaker), 버저(Buzzer) 등을 포함할 수 있다.The sound output unit may output audio data, and may include, for example, a speaker, a buzzer, and the like.
카메라는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. The camera may obtain an image frame such as a still image or a video through an image sensor in a video call mode or a photographing mode. The image captured through the image sensor may be processed through the
마이크로폰은, 사용자의 발화를 입력 받아 전기적인 음성 데이터로 처리할 수 있다.The microphone can receive the user's speech and process it as electrical voice data.
프로세서(1300)는 디바이스(1000)의 전반적인 동작을 제어한다. 프로세서(1300)는 메모리(1400)에 저장된 프로그램들을 실행함으로써, 본 명세서에서의 디바이스(1000)의 동작들을 전반적으로 제어할 수 있다. The
메모리(1400)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수 있다. 메모리(1400)는, 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있으나, 이에 제한되지 않는다.. The
메모리(1400)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, ASR 모델(1410), NLU 모델(1420), 음성 인식 평가 모듈(1430), 도메인 식별 모듈(1440) 및 NLU 결정 모듈(1450) 등으로 분류될 수 있다.Programs stored in the
ASR 모델(1410)은 사용자의 음성 입력으로부터 생성된 특징 벡터로부터 텍스트를 획득할 수 있다. 디바이스(1000)의 프로세서(1300)는 사용자의 음성을 인식하기 위하여 ASR 모델(1410)에 특징 벡터를 입력할 수 있다. 디바이스(1000) 내에 복수의 ASR 모델(1410)이 포함된 경우, 디바이스(1000)의 프로세서(1300)는 복수의 ASR 모델(1410) 중 하나를 선택하고, 특징 벡터를 선택된 ASR 모델(1410)에 적합한 포맷으로 변환할 수 있다. ASR 모델(1410)은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 포함하는 인공지능 모델일 수 있다. 또는, ASR 모델(1410)은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 별도로 포함하지 않고 통합된 신경망을 포함하는 구조를 가지는 종단간 음성 인식 모델일 수 있다.The
NLU 모델(1420)은 ASR 모델(1410)로부터 출력되는 텍스트를 해석할 수 있다. 또는 서버(2000)로부터 제공되는 수정된 텍스트를 해석할 수 있다. NLU 모델(1420)이 텍스트 또는 수정된 텍스트를 해석함으로써 생성되는 결과 값은 사용자에게 소정의 보이스 어시스턴트 서비스를 제공하는데 이용될 수 있다.The
음성 인식 평가 모듈(1430)은 ASR 모델(1410)로부터 출력된 텍스트의 신뢰도를 획득할 수 있다. 텍스트의 신뢰도는, ASR 모델(1410)로부터 출력된 텍스트가 입력 음성에 매칭되는 정도를 나타내는 수치일 수 있으며 예를 들어, 컨피던스 스코어(confidence score)를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 텍스트의 신뢰도는, 텍스트가 입력 음성에 일치할 확률에 관련될 수 있다. 예를 들어, 텍스트의 신뢰도는, 디바이스(1000)의 ASR 모델(1410)로부터 출력되는 복수의 추정 텍스트들의 가능도, 및 텍스트 내의 적어도 하나의 문자가 다른 문자로 대체될 사후 확률들 중 적어도 하나에 기초하여 계산될 수 있다. 예를 들어, 음성 인식 평가 모듈(1430)은, 비터비(Viterbi) 디코딩 결과 출력되는 가능도에 기초하여 신뢰도를 계산할 수 있다. 또는, 예를 들어, 음성 인식 평가 모듈(1430)은, 종단간 ASR 모델에서 소프트맥스 레이어로부터 출력되는 사후 확률들에 기초하여 신뢰도를 계산할 수도 있다. 또는, 예를 들어, 음성 인식 평가 모듈(1430)은 디바이스(1000)의 ASR 모델(1410)의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들을 결정하고, 복수의 추정 텍스트들 내의 문자들의 상관도에 기초하여, 텍스트의 신뢰도를 계산할 수 있다. The speech
또한, 음성 인식 평가 모듈(1430)은 ASR 모델(1430)에서 출력된 텍스트를 서버(2000)로 전송할 지를 결정할 수 있다. 음성 인식 평가 모듈(1430)은 텍스트의 신뢰도를 기설정된 임계치와 비교함으로써, 텍스트를 서버(2000)로 전송할 지를 결정할 수 있다. 음성 인식 평가 모듈(1430)은 텍스트의 신뢰도가 기설정된 임계치 이상이면, 텍스트를 서버(2000)로 전송하지 않을 것을 결정할 수 있다. 또한, 음성 인식 평가 모듈(1430)은 텍스트의 신뢰도가 기설정된 임계치보다 작으면, 텍스트를 서버(2000)로 전송할 것을 결정할 수 있다.Also, the speech
또한, 음성 인식 평가 모듈(1430)은 ASR 모델(1410)의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들 중에서 신뢰도가 높은 적어도 하나의 텍스트를 기준으로, 텍스트를 서버(2000)로 전송할 지를 결정할 수 있다. 예를 들어, ASR 모델(1410)의 음성 인식 과정에서 추정되는 복수의 추정 텍스트들이 신뢰도가 높은 제1 추정 텍스트 및 신뢰도가 높은 제2 추정 텍스트를 포함하며, 제1 추정 텍스트의 신뢰도 및 제2 추정 텍스트의 신뢰도의 차이가 소정 임계치 이하인 경우에, 음성 인식 평가 모듈(1430)은 텍스트를 서버(2000)로 전송할 것을 결정할 수 있다.In addition, the speech
도메인 식별 모듈(1440)은 ASR 모델(1410)로부터 출력된 텍스트에 관련된 도메인을 식별할 수 있다. 도메인 식별 모듈(1440)은 ASR 모델(1410)로부터 출력된 텍스트의 도메인 신뢰도에 기초하여, 텍스트에 관련된 도메인을 식별할 수 있다. 예를 들어, 도메인 식별 모듈(1440)은 ASR 모델(1410)로부터 출력된 텍스트가 미리 등록된 도메인에 어느 정도 관련성이 있는 지를 나타내는 컨피던스 스코어를 산출할 수 있다. 도메인 식별 모듈(1440)은 도메인 식별을 위해 훈련된 인공 지능 모델로서 텍스트를 입력 값으로 하여 도메인 신뢰도를 출력할 수 있다. 또한, 예를 들어, 도메인 식별 모듈(1440)은 NLU 모델의 일부이거나, NLU 모델과는 별개의 모델일 수 있다. 또는 도메인 식별 모듈(1440)은 룰 기반으로 텍스트에 관련된 도메인을 식별할 수 있다.The
음성 인식 시스템 내에서 음성 인식을 위한 도메인들은 계층적으로 설정될 수 있으며, 디바이스(1000)의 도메인 식별 모듈(1440)에 의해 식별되는 도메인은, 서버(2000)의 도메인 식별 모듈(2312)에 의해 식별되는 도메인보다 상위 계층의 도메인일 수 있다.Domains for speech recognition in the speech recognition system may be hierarchically set, and the domains identified by the
NLU 결정 모듈(1450)은 ASR 모델(1410)로부터 출력되는 텍스트에 대하여 디바이스(1000)에서 NLU 처리를 수행할 지 서버(2000)에서 NLU 처리를 수행할 지를 결정할 수 있다. NLU 결정 모듈(1450)은 ASR 모델(1410)로부터 출력된 텍스트에 관련된 도메인이 디바이스(1000)에서 NLU 처리를 할 수 있는 도메인인지를 판단할 수 있다. ASR 모델(1410)로부터 출력된 텍스트에 관련된 도메인이 디바이스(1000)에 기 등록된 도메인인 경우에, NLU 결정 모듈(1450)은 디바이스(1000)가 NLU 처리를 수행할 것을 결정할 수 있다. 또한, ASR 모델(1410)로부터 출력된 텍스트에 관련된 도메인이 디바이스(1000)에 기 등록된 도메인이 아닌 경우에, NLU 결정 모듈(1450)은 디바이스(1000)가 NLU 처리를 수행하지 않을 것을 결정할 수 있다.The
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. Functions related to artificial intelligence according to the present disclosure are operated through a processor and a memory. The processor may be composed of one or a plurality of processors. In this case, one or more processors may be a general-purpose processor such as a CPU, AP, or Digital Signal Processor (DSP), a graphics-only processor such as a GPU, a Vision Processing Unit (VPU), 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 an artificial intelligence model stored in the memory. Alternatively, when one or more processors are dedicated artificial intelligence processors, the dedicated artificial intelligence 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)이 있으나, 전술한 예에 한정되지 않는다.A predefined motion rule or an artificial intelligence model is characterized by being created through learning. Here, to be made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined motion rule or an artificial intelligence model set to perform a desired characteristic (or purpose) is created. Means Jim. 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 above-described examples.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(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 a neural network operation is performed through an operation between the operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers can be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated to reduce or minimize a loss value or a cost value acquired from an artificial intelligence model during a learning process. The artificial neural network may include a deep neural network (DNN), for example, 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), or deep Q-Networks (Deep Q-Networks), and the like, but is not limited to the above-described example.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다. An embodiment of the present disclosure may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable media may include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media may typically contain computer readable instructions, data structures, or other data in a modulated data signal such as a program module.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.In addition, in the present specification, the “unit” may be a hardware component such as a processor or a circuit, and/or a software component executed by a hardware configuration such as a processor.
또한, 본 명세서에서, “a, b 또는 c 중 적어도 하나를 포함한다”는 “a만 포함하거나, b만 포함하거나, c만 포함하거나, a 및 b를 포함하거나, b 및 c를 포함하거나, a 및 c를 포함하거나, a, b 및 c를 모두 포함하는 것을 의미할 수 있다.In addition, in the present specification, “including at least one of a, b, or c” means “including only a, only b, only c, including a and b, or including b and c, It may mean including a and c, or including all of a, b and c.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present disclosure is for illustrative purposes only, and those of ordinary skill in the art to which the present disclosure pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present disclosure. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present disclosure. do.
Claims (20)
상기 디바이스의 ASR(Automatic Speech Recognition) 모델로부터 출력되는 텍스트를 상기 디바이스로부터 수신하는 동작;
상기 수신된 텍스트에 관련된 적어도 하나의 도메인을 식별하는 동작;
상기 서버 내에 포함된 복수의 텍스트 수정 모델들 중에서, 상기 식별된 적어도 하나의 도메인에 대응되는 적어도 하나의 텍스트 수정 모델을 선택하는 동작;
상기 선택된 적어도 하나의 텍스트 수정 모델을 이용하여 상기 수신된 텍스트를 수정하는 동작; 및
상기 수정된 텍스트를 상기 디바이스에게 제공하는 동작;
을 포함하며,
상기 텍스트 수정 모델은, 음성 인식을 위하여 상기 수신된 텍스트를 입력받아 상기 수정된 텍스트를 출력하는 인공 지능 모델인 것인, 방법.
In a method for a server to modify a speech recognition result provided from a device,
Receiving a text output from the device's Automatic Speech Recognition (ASR) model from the device;
Identifying at least one domain related to the received text;
Selecting at least one text correction model corresponding to the identified at least one domain from among a plurality of text correction models included in the server;
Modifying the received text using the selected at least one text modification model; And
Providing the modified text to the device;
Including,
The text correction model is an artificial intelligence model that receives the received text and outputs the corrected text for speech recognition.
상기 텍스트 수정 모델은, ASR 모델로부터 출력되는 텍스트 및 기 설정된 도메인의 정답 텍스트(ground truth text)를 이용하여 훈련된 인공지능 모델인 것인, 방법.
The method of claim 1,
The text correction model is an artificial intelligence model trained using a text output from an ASR model and a ground truth text of a preset domain.
상기 텍스트 수정 모델은 복수 종류의 ASR 모델로부터 출력된 텍스트들을 이용하여 훈련된 인공지능 모델인 것인, 방법.
The method of claim 2,
The text correction model is an artificial intelligence model trained using texts output from a plurality of types of ASR models.
상기 복수의 텍스트 수정 모델들은 복수의 도메인에 각각 대응되며,
상기 적어도 하나의 텍스트 수정 모델을 선택하는 동작은, 상기 복수의 도메인에 대응되는 상기 복수의 텍스트 수정 모델들 중에서 상기 식별된 도메인에 대응되는 상기 텍스트 수정 모델을 선택하는 것인, 방법.
The method of claim 1,
The plurality of text correction models respectively correspond to a plurality of domains,
The operation of selecting the at least one text modification model comprises selecting the text modification model corresponding to the identified domain from among the plurality of text modification models corresponding to the plurality of domains.
상기 텍스트를 수신하는 동작은, 상기 ASR 모델로부터 출력된 텍스트 스트림을 수신하며,
상기 도메인을 식별하는 동작은,
소정 구간 단위로 상기 텍스트 스트림을 누적하여 이용함으로써, 상기 수신된 텍스트 스트림에 관련된 도메인을 식별하는 것인, 방법.
The method of claim 1,
The operation of receiving the text includes receiving a text stream output from the ASR model,
The operation of identifying the domain,
By accumulating and using the text stream in units of a predetermined section, a domain related to the received text stream is identified.
상기 도메인을 식별하는 동작은,
상기 소정 구간 단위로 누적된 텍스트 스트림의 도메인 신뢰도를 산출함으로써, 상기 수신된 텍스트 스트림에 관련된 도메인을 식별하는 것인, 방법.
The method of claim 5,
The operation of identifying the domain,
And identifying a domain related to the received text stream by calculating the domain reliability of the text stream accumulated in units of the predetermined interval.
상기 도메인을 식별하는 동작은, 상기 텍스트를 복수의 구간들로 분류하며, 상기 복수의 구간들 각각에 관련된 복수의 도메인을 식별하며,
상기 텍스트 수정 모델을 선택하는 동작은, 상기 식별된 복수의 도메인에 대응되는 복수의 텍스트 수정 모델을 선택하며,
상기 텍스트를 수정하는 동작은, 상기 선택된 복수의 텍스트 수정 모델을 이용하여, 상기 복수의 구간들의 텍스트를 각각 수정하는 것인, 방법.
The method of claim 1,
In the operation of identifying the domain, classifying the text into a plurality of sections, identifying a plurality of domains related to each of the plurality of sections,
The operation of selecting the text correction model includes selecting a plurality of text correction models corresponding to the identified plurality of domains,
The operation of modifying the text includes modifying the text of the plurality of sections, respectively, using the selected plurality of text modification models.
상기 디바이스에 의해 산출된 상기 텍스트에 대한 제1 도메인 신뢰도를 상기 디바이스로부터 수신하는 동작; 및
상기 수신된 텍스트에 대한 제2 도메인 신뢰도를 산출하는 동작;
을 더 포함하며,
상기 적어도 하나의 도메인을 식별하는 동작은,
상기 수신된 제1 도메인 신뢰도 및 상기 산출된 제2 도메인 신뢰도에 기초하여, 상기 수신된 텍스트에 관련된 도메인을 식별하는 것인, 방법.
The method of claim 1,
Receiving from the device a first domain reliability for the text calculated by the device; And
Calculating a second domain reliability for the received text;
It further includes,
The operation of identifying the at least one domain,
And identifying a domain related to the received text based on the received first domain reliability and the calculated second domain reliability.
상기 제1 도메인 신뢰도에 기초하여, 상기 서버 내의 복수의 도메인 식별 모듈 중 하나를 선택하는 동작;
을 더 포함하며,
상기 제2 도메인 신뢰도를 산출하는 동작은,
상기 선택된 도메인 식별 모듈을 이용하여 상기 텍스트에 대한 상기 제2 도메인 신뢰도를 산출하는 것인, 방법.
The method of claim 8,
Selecting one of a plurality of domain identification modules in the server based on the first domain reliability;
It further includes,
The operation of calculating the second domain reliability,
And calculating the second domain reliability for the text by using the selected domain identification module.
상기 디바이스의 ASR 모델은 종단간(End-to-End) ASR 모델이며,
상기 서버의 텍스트 수정 모델은 음성 인식을 위한 시퀀스-투-시퀀스(Sequence-to-Sequence) 모델인 것인, 방법.
The method of claim 1,
The ASR model of the device is an end-to-end ASR model,
The text modification model of the server is a sequence-to-sequence model for speech recognition.
통신 인터페이스;
하나 이상의 명령어들(instructions)을 포함하는 프로그램을 저장하는 저장부; 및
상기 저장부에 저장된 프로그램의 하나 이상의 명령어들을 실행하는 프로세서; 를 포함하고,
상기 프로세서는,
상기 디바이스의 ASR(Automatic Speech Recognition) 모델로부터 출력되는 텍스트를 상기 디바이스로부터 수신하고, 상기 수신된 텍스트에 관련된 적어도 하나의 도메인을 식별하고, 상기 서버 내에 포함된 복수의 텍스트 수정 모델들 중에서, 상기 식별된 적어도 하나의 도메인에 대응되는 적어도 하나의 텍스트 수정 모델을 선택하고, 상기 선택된 적어도 하나의 텍스트 수정 모델을 이용하여 상기 수신된 텍스트를 수정하고, 상기 수정된 텍스트를 상기 디바이스에게 제공하며,
상기 텍스트 수정 모델은, 음성 인식을 위하여 상기 수신된 텍스트를 입력받아 상기 수정된 텍스트를 출력하는 인공 지능 모델인 것인, 서버.
In the server for modifying the speech recognition result provided from the device,
Communication interface;
A storage unit for storing a program including one or more instructions; And
A processor that executes one or more instructions of a program stored in the storage unit; Including,
The processor,
Receive text output from the device's Automatic Speech Recognition (ASR) model from the device, identify at least one domain related to the received text, and among a plurality of text correction models included in the server, the identification Selecting at least one text correction model corresponding to the at least one selected domain, correcting the received text using the selected at least one text correction model, and providing the modified text to the device,
The text modification model is an artificial intelligence model that receives the received text and outputs the modified text for speech recognition.
상기 텍스트 수정 모델은, ASR 모델로부터 출력되는 텍스트 및 기 설정된 도메인의 정답 텍스트(ground truth text)를 이용하여 훈련된 인공지능 모델인 것인, 서버.
The method of claim 11,
The text modification model is an artificial intelligence model trained using text output from the ASR model and ground truth text of a preset domain.
상기 텍스트 수정 모델은 복수 종류의 ASR 모델로부터 출력된 텍스트들을 이용하여 훈련된 인공지능 모델인 것인, 서버.
The method of claim 12,
The text modification model is an artificial intelligence model trained using texts output from a plurality of types of ASR models.
상기 복수의 텍스트 수정 모델들은 복수의 도메인에 각각 대응되며,
상기 프로세서는 상기 하나 이상의 명령어들을 실행하여, 상기 복수의 도메인에 대응되는 상기 복수의 텍스트 수정 모델들 중에서 상기 식별된 도메인에 대응되는 상기 텍스트 수정 모델을 선택하는 것인, 서버.
The method of claim 11,
The plurality of text correction models respectively correspond to a plurality of domains,
Wherein the processor executes the one or more instructions and selects the text correction model corresponding to the identified domain from among the plurality of text correction models corresponding to the plurality of domains.
상기 프로세서는 상기 하나 이상의 명령어들을 실행하여, 상기 ASR 모델로부터 출력된 텍스트 스트림을 수신하며, 소정 구간 단위로 상기 텍스트 스트림을 누적하여 이용함으로써, 상기 수신된 텍스트 스트림에 관련된 도메인을 식별하는 것인, 서버.
The method of claim 11,
The processor executes the one or more instructions, receives the text stream output from the ASR model, and identifies a domain related to the received text stream by accumulating and using the text stream in units of a predetermined section, server.
상기 프로세서는 상기 하나 이상의 명령어들을 실행하여, 상기 소정 구간 단위로 누적된 텍스트 스트림의 도메인 신뢰도를 산출함으로써, 상기 수신된 텍스트 스트림에 관련된 도메인을 식별하는 것인, 서버.
The method of claim 15,
The processor is to identify a domain related to the received text stream by executing the one or more instructions and calculating a domain reliability of the text stream accumulated in units of the predetermined interval.
상기 프로세서는 상기 하나 이상의 명령어들을 실행하여, 상기 텍스트를 복수의 구간들로 분류하고, 상기 복수의 구간들 각각에 관련된 복수의 도메인을 식별하며, 상기 식별된 복수의 도메인에 대응되는 복수의 텍스트 수정 모델을 선택하고, 상기 선택된 복수의 텍스트 수정 모델을 이용하여, 상기 복수의 구간들의 텍스트를 각각 수정하는 것인, 서버.
The method of claim 11,
The processor executes the one or more instructions to classify the text into a plurality of sections, identify a plurality of domains related to each of the plurality of sections, and modify a plurality of texts corresponding to the identified plurality of domains Selecting a model, and using the selected plurality of text correction models, to modify the text of the plurality of sections, respectively.
상기 프로세서는 상기 하나 이상의 명령어들을 실행하여, 상기 디바이스에 의해 산출된 상기 텍스트에 대한 제1 도메인 신뢰도를 상기 디바이스로부터 수신하고, 상기 수신된 텍스트에 대한 제2 도메인 신뢰도를 산출하며, 상기 수신된 제1 도메인 신뢰도 및 상기 산출된 제2 도메인 신뢰도에 기초하여, 상기 수신된 텍스트에 관련된 도메인을 식별하는 것인, 서버.
The method of claim 11,
The processor executes the one or more instructions to receive a first domain reliability for the text calculated by the device from the device, calculate a second domain reliability for the received text, and calculate the received text. To identify a domain related to the received text based on the first domain reliability and the calculated second domain reliability.
상기 프로세서는 상기 하나 이상의 명령어들을 실행하여, 상기 제1 도메인 신뢰도에 기초하여, 상기 서버 내의 복수의 도메인 식별 모듈 중 하나를 선택하고, 상기 선택된 도메인 식별 모듈을 이용하여 상기 텍스트에 대한 상기 제2 도메인 신뢰도를 산출하는 것인, 서버.
The method of claim 18,
The processor executes the one or more instructions to select one of a plurality of domain identification modules in the server based on the first domain reliability, and the second domain for the text using the selected domain identification module. Server, which is to calculate the reliability.
상기 디바이스의 ASR 모델은 종단간(End-to-End) ASR 모델이며,
상기 서버의 텍스트 수정 모델은 음성 인식을 위한 시퀀스-투-시퀀스(Sequence-to-Sequence) 모델인 것인, 서버.The method of claim 11,
The ASR model of the device is an end-to-end ASR model,
The server's text correction model is a sequence-to-sequence model for speech recognition.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2020/010567 WO2021029643A1 (en) | 2019-08-13 | 2020-08-10 | System and method for modifying speech recognition result |
EP20190406.7A EP3790002A1 (en) | 2019-08-13 | 2020-08-11 | System and method for modifying speech recognition result |
US16/990,343 US11521619B2 (en) | 2019-08-13 | 2020-08-11 | System and method for modifying speech recognition result |
CN202010814764.XA CN112397063A (en) | 2019-08-13 | 2020-08-13 | System and method for modifying speech recognition results |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962886027P | 2019-08-13 | 2019-08-13 | |
US62/886,027 | 2019-08-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210019924A true KR20210019924A (en) | 2021-02-23 |
Family
ID=74688202
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190146177A KR20210019920A (en) | 2019-08-13 | 2019-11-14 | System and method for recogning user's speech |
KR1020190162921A KR20210019924A (en) | 2019-08-13 | 2019-12-09 | System and method for modifying voice recognition result |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190146177A KR20210019920A (en) | 2019-08-13 | 2019-11-14 | System and method for recogning user's speech |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR20210019920A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022186435A1 (en) * | 2021-03-03 | 2022-09-09 | 삼성전자 주식회사 | Electronic device for correcting user's voice input and method for operating same |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102472910B1 (en) * | 2022-08-05 | 2022-12-02 | 주식회사 실비아헬스 | Method and apparatus for providing information associated with cognitive impairment |
-
2019
- 2019-11-14 KR KR1020190146177A patent/KR20210019920A/en unknown
- 2019-12-09 KR KR1020190162921A patent/KR20210019924A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022186435A1 (en) * | 2021-03-03 | 2022-09-09 | 삼성전자 주식회사 | Electronic device for correcting user's voice input and method for operating same |
Also Published As
Publication number | Publication date |
---|---|
KR20210019920A (en) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11636438B1 (en) | Generating smart reminders by assistant systems | |
US9760559B2 (en) | Predictive text input | |
US9842101B2 (en) | Predictive conversion of language input | |
US11270698B2 (en) | Proactive command framework | |
US20150019221A1 (en) | Speech recognition system and method | |
KR20190096304A (en) | Apparatus and method for generating summary of conversation storing | |
KR20210120960A (en) | Server for seleting a target device according to a voice input, and controlling the selected target device, and method for operating the same | |
CN111819625A (en) | System and method for language model personalization | |
US11521619B2 (en) | System and method for modifying speech recognition result | |
US11514916B2 (en) | Server that supports speech recognition of device, and operation method of the server | |
US11574637B1 (en) | Spoken language understanding models | |
US20200020327A1 (en) | Method and apparatus for recognizing a voice | |
US11532301B1 (en) | Natural language processing | |
CN112955862A (en) | Electronic device and control method thereof | |
US11532310B2 (en) | System and method for recognizing user's speech | |
CN107564526B (en) | Processing method, apparatus and machine-readable medium | |
KR20210019924A (en) | System and method for modifying voice recognition result | |
CN112036174B (en) | Punctuation marking method and device | |
US11626107B1 (en) | Natural language processing | |
US20240055003A1 (en) | Automated assistant interaction prediction using fusion of visual and audio input | |
KR20200140171A (en) | Electronic device and Method for controlling the electronic device thereof | |
US11646035B1 (en) | Dialog management system | |
US11645468B2 (en) | User data processing | |
CN111554300B (en) | Audio data processing method, device, storage medium and equipment | |
US20230085539A1 (en) | Electronic device and speech processing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |