KR101748182B1 - Voice recognition processing control system and method - Google Patents

Voice recognition processing control system and method Download PDF

Info

Publication number
KR101748182B1
KR101748182B1 KR1020100140648A KR20100140648A KR101748182B1 KR 101748182 B1 KR101748182 B1 KR 101748182B1 KR 1020100140648 A KR1020100140648 A KR 1020100140648A KR 20100140648 A KR20100140648 A KR 20100140648A KR 101748182 B1 KR101748182 B1 KR 101748182B1
Authority
KR
South Korea
Prior art keywords
speech
virtual machine
speech recognition
voice
information
Prior art date
Application number
KR1020100140648A
Other languages
Korean (ko)
Other versions
KR20120078368A (en
Inventor
전호현
김동훈
허윤범
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020100140648A priority Critical patent/KR101748182B1/en
Publication of KR20120078368A publication Critical patent/KR20120078368A/en
Application granted granted Critical
Publication of KR101748182B1 publication Critical patent/KR101748182B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications

Abstract

복수의 음성인식용 가상머신들을 서로 다른 복수의 발화환경정보들에 매핑하고, 입력된 발화자의 발화환경정보와 매핑되는 음성인식용 가상머신을 검색하고, 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어하는 음성인식 처리제어방법 및 음성인식 처리제어시스템이 개시된다. A plurality of speech recognition virtual machines are mapped to a plurality of different speech environment information, a speech recognition virtual machine mapped with speech environment information of the input speech is searched, and the searched speech recognition virtual machine performs speech recognition A speech recognition processing control method and a speech recognition processing control system are disclosed.

Description

음성인식 처리제어시스템 및 방법{Voice recognition processing control system and method}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a voice recognition processing control system,

본 발명은 다양한 발화 환경 종류에 따른 음성인식 처리제어시스템 및 방법에 관한 것이다. 더욱 상세하게는, 본 발명은 다양한 발화 환경에서 효율적인 음성인식 처리를 위해, 가상 머신 기반의 클라우드 서버 인프라 환경을 활용한 음성인식 처리제어시스템 및 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a speech recognition processing control system and method according to various types of speech environment. More particularly, the present invention relates to a system and method for speech recognition processing control utilizing a virtual server-based cloud server infrastructure environment for efficient speech recognition processing in various speech environments.

다양한 발화 환경 종류에 따라 음성인식 처리를 하려면, 해당 발화 환경에 따른 음성 파라미터 데이터의 생성, 및 그 음성 파라미터 데이터의 지속적인 관리, 및 발화자 음성을 발화자의 발성의 환경에 따른 적합한 전처리 방법이 필수적이다. In order to perform speech recognition processing according to various types of speech environment, it is necessary to generate speech parameter data according to the uttered speech environment, to continuously manage the speech parameter data, and to preprocess a suitable method according to the speech environment of utterance.

위와 같은 전처리 결과 데이터와 생성된 음성 파라미터 데이터를 입력으로 하여 음성인식처리를 수행하는 음성인식 알고리즘은, 고성능 컴퓨팅 시스템이 필수적이다. 따라서, 발화 환경 종류에 따른 음성인식 처리를 수행하려면 해당 발화 환경 종류 별로 물리적 컴퓨팅 시스템이 구성되어야 한다.A high performance computing system is essential for a speech recognition algorithm that performs speech recognition processing by inputting the above-described pre-processing result data and generated voice parameter data. Therefore, in order to perform the speech recognition process according to the kind of the utterance environment, a physical computing system must be configured for each kind of utterance environment.

기존에 음성인식 시스템 구성은 특정한 환경을 수용한 음성 파라미터 데이터를 탑재한 물리적인 단일 컴퓨팅 시스템 기본에서 음성 입력 다채널에 따른 멀티 쓰레드의 음성인식 처리 구성이었다. Previously, the speech recognition system configuration was composed of multi-threaded speech recognition processing according to multi-channel speech input in the basic of a single physical computing system equipped with voice parameter data accommodating a specific environment.

여기서 확장이 되는 형태는 고성능 컴퓨터의 단일 물리적 컴퓨팅 시스템에 제한적인 개수의 환경에 따른 음성 파라미터 데이터를 수용하고, 서비스 시나리오에 맞춘 음성 파라미터 데이터를 가동할 수 있도록 하고 음성 입력 다채널에 따른 멀티 쓰레드의 음성인식 처리 구성하는 것이다.Here, the extension type is to accommodate a limited number of environment-related voice parameter data in a single physical computing system of a high-performance computer, enable voice parameter data to be matched to a service scenario, Speech recognition processing.

또 다른 확장 형태는 위의 제한적인 개수의 환경에 따른 음성 파라미터 데이터를 수용하는 단일 시스템이 멀티 시스템으로 규모 면에서 확장이었다. 하지만 성능에 비해 비용이 높아 도입에 비현실적인 구성이었다.Another extension type was a single system that accommodated voice parameter data according to the above limited number of environments was a multi-system scale expansion. However, the cost is higher than the performance, which is unrealistic for the introduction.

따라서, 위와 같은 물리적인 컴퓨팅 자원에 따른 시스템 구성은, 음성인식처리 요구 양에 따라 규모가 신축적이지 못하며, 또한 달성하려는 음성인식처리 성능에 비해 비용이 높아져 비효율적인 문제를 초래한다는 문제점이 있었다. Therefore, the system configuration according to the physical computing resources as described above has a problem that the scale is not flexible according to the amount of voice recognition processing request, and the cost is higher than the speech recognition processing performance to be achieved, resulting in an inefficient problem.

본 발명이 해결하고자 하는 기술적 과제는, 다양한 발화 환경 종류에 따른 음성인식 처리를 수행하기 위해, 가상 머신 기반의 클라우드 서버 인프라 환경을 활용한 음성인식 처리 제어시스템 및 방법, 및 상기 방법을 실행시키기 위한 프로그램을 기록한, 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention is directed to a system and method for voice recognition processing control using a virtual server-based cloud server infrastructure environment for performing voice recognition processing according to various types of utterance environments, And a computer-readable recording medium on which the program is recorded.

상술한 기술적 과제를 해결하기 위한 본 발명의 실시 예에 따른 음성인식 처리 제어 방법은, 복수의 음성인식용 가상머신들을 서로 다른 복수의 발화환경정보들에 매핑하는 단계; 입력된 발화자의 발화환경정보와 매핑되는 음성인식용 가상머신을 검색하는 단계; 및 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어하는 단계를 포함한다. According to another aspect of the present invention, there is provided a speech recognition processing control method comprising: mapping a plurality of speech recognition virtual machines to a plurality of different speech environment information; Searching for a speech recognition virtual machine mapped with the speech environment information of the input speaker; And controlling the searched voice recognition virtual machine to perform voice recognition.

일 실시 예에 있어서, 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어하는 단계는, 상기 검색된 음성인식용 가상머신이, 입력된 발화자의 음성정보 및 기저장된 발화환경정보별 음성 파라미터 데이터를 사용하여 음성인식을 수행하도록 제어하는 단계를 더 포함할 수 있다.In one embodiment, the step of controlling the searched voice recognizing virtual machine to perform voice recognition may further include a step of controlling the searched voice recognizing virtual machine to input voice information of the inputted speaker and voice parameter data of the stored speaking environment information And performing the voice recognition using the voice recognition function.

일 실시 예에 있어서, 발화환경정보는, 발화환경을 결정하는 위치정보서버를 통해 입력되거나, 또는 사용자 인터페이스를 통해 발화자에 의해 입력되는 것을 특징으로 할 수 있다. In one embodiment, the utterance environment information may be input through a location information server for determining a utterance environment, or input by a speaker via a user interface.

일 실시 예에 있어서, 상기 방법은, 음성인식 처리 요구량에 기초하여 음성인식용 가상머신을 증감하는 단계를 더 포함할 수 있다.In one embodiment, the method may further include increasing or decreasing the voice recognition virtual machine based on the voice recognition processing request amount.

일 실시 예에 있어서, 상기 음성인식용 가상머신을 증감하는 단계는, 상기 음성인식용 가상머신의 이용률이 미리설정된 한계치 이상이면, 상기 음성인식용 가상머신을 복제한 또 다른 음성인식용 가상머신을 생성하거나, 또는 이전에 셧다운된 음성인식용 가상머신을 재부팅하는 단계를 더 포함할 수 있다.In one embodiment, the step of incrementing and decrementing the voice recognition virtual machine further comprises: if the utilization rate of the voice recognition virtual machine is equal to or greater than a predetermined threshold value, adding another voice recognition virtual machine replicating the voice recognition virtual machine Or rebooting the voice recognition virtual machine that was previously shut down.

일 실시 예에 있어서, 상기 음성인식용 가상머신을 증감하는 단계는, 상기 음성인식용 가상머신의 이용율이 미리설정된 한계치 미만이고, 상기 음성인식용 가상머신의 유휴기간이 미리설정된 한계치 이상이면, 상기 음성인식용 가상머신을 셧다운하는 단계를 더 포함할 수 있다.In one embodiment, the step of increasing / decreasing the voice recognizing virtual machine may include the steps of: if the utilization rate of the voice recognition virtual machine is less than a predetermined threshold value and the idle period of the voice recognition virtual machine is equal to or greater than a preset threshold value, And shutting down the voice recognition virtual machine.

일 실시 예에 있어서, 입력된 발화자의 음성정보 및 발화환경정보에 기초하여, 상기 음성정보를 훈련용 음성데이터로서 상기 발화환경정보별로 저장하는 단계; 상기 발화환경정보별로 훈련용 음성데이터의 누적용량이 미리결정된 기준 이상인지 모니터링하는 단계; 모니터링 결과에 기초하여, 소정 발화환경정보에 대응하는 소정 훈련용 음성데이터를 입력으로 또 다른 음성 파라미터 데이터를 생성하는 훈련용 가상머신을 구동하는 단계; 상기 소정 발화환경정보에 매핑되는 음성인식용 가상머신이 상기 또 다른 음성 파라미터 데이터를 사용할 때의 음성인식율을 평가하는 단계; 및 평가 결과에 기초하여 상기 또 다른 음성 파라미터 데이터로 기존 음성 인식 파라미터 데이터를 업데이트하는 단계를 포함할 수 있다.Storing the speech information as training speech data for each speech environment information based on the speech information and the speech environment information of the input speech person; Monitoring whether the cumulative capacity of training speech data is greater than or equal to a predetermined reference for each of the utterance environment information; Driving a training virtual machine for generating another voice parameter data by inputting predetermined training audio data corresponding to predetermined speaking environment information based on a monitoring result; Evaluating a speech recognition rate when the speech recognition virtual machine mapped to the predetermined speech environment information uses the another speech parameter data; And updating the existing speech recognition parameter data with the another speech parameter data based on the evaluation result.

상술한 기술적 과제를 해결하기 위한 본 발명의 실시 예에 따른 음성인식 처리 제어 시스템은, 복수의 음성인식용 가상머신들을 서로 다른 복수의 발화환경정보들에 매핑하는 매핑부; 입력된 발화자의 발화환경정보와 매핑되는 음성인식용 가상머신을 검색하는 검색부; 및 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어하는 제어부를 포함할 수 있다.According to an aspect of the present invention, there is provided a speech recognition processing control system including: a mapping unit for mapping a plurality of speech recognition virtual machines to a plurality of different speech environment information; A retrieval unit for retrieving a speech recognition virtual machine mapped with the speech environment information of the input speaker; And a controller for controlling the searched voice recognizing virtual machine to perform voice recognition.

일 실시 예에 있어서, 상기 제어부는, 음성인식 처리 요구량에 기초하여 음성인식용 가상머신을 증감하는 또한 구성된 것을 특징으로 할 수 있다. In one embodiment, the control unit may be configured to increase or decrease the voice recognition virtual machine based on the voice recognition processing request amount.

또한, 본 발명의 또 다른 실시 예에 따르면 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함한다.According to still another embodiment of the present invention, there is provided a computer-readable recording medium storing a program for executing the method.

본 발명의 일실시 예에 따르면, 다양한 환경 종류에 따른 효율적인 음성인식 처리 제어 시스템을 구성하는데 있어 클라우드 응용 프로세싱 제어 방법을 사용하여 해당 환경 종류에 대한 적합한 해당 음성 파라미터를 구동하여 음성인식 성능을 크게 개선할 수 있다.According to an embodiment of the present invention, in constructing an efficient speech recognition processing control system according to various types of environments, a cloud application processing control method is used to drive a corresponding voice parameter for a corresponding environment type, can do.

또한 본 발명의 일실시 예에 따르면, 인식처리 요구량에 따라 신축적으로 음성인식 시스템의 규모를 제어할 수 있어 크게 개선할 수 있는 성능에 비해 비용을 절감하는 효과가 있다.Further, according to an embodiment of the present invention, the scale of the speech recognition system can be flexibly controlled according to the recognition processing amount, thereby reducing the cost compared to the performance that can be greatly improved.

도 1은 본 발명의 일 실시 예에 따른, 클라우드 컴퓨팅 환경에서 음성인식시스템의 전체 구성도이다.
도 2는 본 발명의 일실시 예에 따른 음성인식 처리제어시스템의 블록도이다.
도 3은 본 발명의 일실시 예에 따른 음성인식 처리제어방법을 간략히 나타낸 흐름도이다.
도 4는 본 발명의 또 다른 실시 예에 따른 음성인식시스템의 전체 구성도이다.
도 5는 도 4의 응용 프로세싱 제어부를 더 상세히 나타낸 블록도이다.
도 6은, 본 발명의 일실시 예에 따른 발화환경정보 별 초기 음성 파라미터 데이터를 탑재하는 상세 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른, 발화 환경정보별 음성인식용 가상머신 상에서 음성인식 처리를 수행하는 방법을 상세히 나타낸 흐름도이다.
도 8은 본 발명의 일 실시 예에 따른, 음성인식 처리 요구량에 기초하여 음성인식용 가상 머신의 규모를 조절하는 방법을 나타낸 흐름도이다.
도 9은 본 발명의 일 실시 예에 따른, 훈련용 가상머신 상에서 음성 파라미터 데이터를 업데이트하는 방법을 상세히 나타낸 흐름도이다.
1 is an overall configuration diagram of a voice recognition system in a cloud computing environment according to an embodiment of the present invention.
2 is a block diagram of a speech recognition processing control system according to an embodiment of the present invention.
3 is a flowchart briefly showing a speech recognition processing control method according to an embodiment of the present invention.
4 is an overall configuration diagram of a speech recognition system according to another embodiment of the present invention.
Figure 5 is a block diagram illustrating the application control of Figure 4 in greater detail.
6 is a detailed flowchart for mounting initial speech parameter data per speech environment information according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a method of performing speech recognition processing on a speech recognition virtual machine according to speech environment information according to an exemplary embodiment of the present invention. Referring to FIG.
8 is a flowchart illustrating a method for adjusting the scale of a voice recognition virtual machine based on a voice recognition processing request amount according to an embodiment of the present invention.
9 is a flow chart detailing a method for updating voice parameter data on a training virtual machine, in accordance with an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기서 설명하는 실시 예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 도면에 대해서는 유사한 시퀀스를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention in the drawings, portions not related to the description are omitted, and similar sequences are attached to similar drawings throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as including an element, it is understood that it can include other elements, not the exclusion of any other element unless specifically stated otherwise.

이하, 첨부된 도면을 참조하여 바람직한 실시 예에 따른 본 발명을 상세히 설명하기로 한다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른, 클라우드 컴퓨팅 환경에서 음성인식시스템의 전체 구성도이다. 1 is an overall configuration diagram of a voice recognition system in a cloud computing environment according to an embodiment of the present invention.

도 1을 참조하면, 음성인식시스템(100)은 사용자 단말(110), 위치 정보 서버(120), 및 음성인식 처리시스템(130)을 포함할 수 있다. Referring to FIG. 1, the speech recognition system 100 may include a user terminal 110, a location information server 120, and a speech recognition processing system 130.

사용자 단말(110)은, 네트워크를 통해 연결되어 음성인식 처리시스템(130)에 음성 정보를 제공하고, 음성인식 처리시스템(130)으로부터 음성 인식 처리 서비스를 제공받을 수 있는 모든 장치를 포함할 수 있다. The user terminal 110 may include any device that is connected through a network to provide voice information to the voice recognition processing system 130 and to receive voice recognition processing services from the voice recognition processing system 130 .

위치 정보 서버(120) 및 사용자 단말(110)은, 음성인식 처리시스템(130)에 발화 환경 정보를 제공할 수 있다. The location information server 120 and the user terminal 110 may provide the speech recognition processing system 130 with speech environment information.

이때 발화 환경 정보는, 예컨대 발화자의 위치 정보(ex, 서울/경기/부산/광주, 지하철/도심번화가, 국가 등) 또는 발화자의 발성 조건 (ex. 방언(사투리))에 따른 위치 정보를 포함할 수 있다. 다만 이에 한정되는 것은 아니다. The utterance environment information may include location information according to the location information of the speaking person (eg, Seoul / Kyonggi / Busan / Gwangju, subway / metropolitan area, country, etc.) or utterance condition (eg dialect) . However, the present invention is not limited thereto.

예를 들면, 위치 정보 서버(120)는, 위치 정보 서버(120)에 탑재된, GPS 수신 인터페이스, 와이파이(Wifi: Wireless Fidelity) 인터페이스, 및 셀룰라 인터페이스 중 적어도 하나의 인터페이스를 통해 얻은 위치 정보를 음성인식 처리시스템(130)에 전송할 수 있다. 또한 위치 정보 서버(120)는, 발화자에 의해 미리 등록된 위치 정보를 디폴트로 제공할 수 있다. 다만 위치 정보를 획득하는 방법은 이에 한정되는 것은 아니고, 이 기술 분야의 통상의 지식을 가진 자(이하, 당업자)에게 잘 알려진 방법을 활용할 수 있다. For example, the location information server 120 may store location information obtained through at least one of a GPS reception interface, a Wifi (Wireless Fidelity) interface, and a cellular interface, installed in the location information server 120, To the recognition processing system 130. In addition, the location information server 120 can provide location information previously registered by a speaking person as a default. However, the method of acquiring the positional information is not limited thereto, and a method well known to those skilled in the art can be utilized.

발화자가 직접 입력 할 수 있는 경우는 방언(사투리)에 대한 음성인식 처리 시스템인 경우로 발화자의 위치가 필수정보일 수가 없으니 발화자가 구사하는 방언의 종류를 직접선택을 하게 된다. 다만 상기 예에 한정되는 것은 아니다. In the case of a speech recognition processing system for a dialect (dialect) in which the speaker can input directly, the position of the speaker can not be essential information, so the speaker selects the type of dialect used by the speaker directly. However, the present invention is not limited to the above example.

또한, 사용자 단말(110) 및 위치 정보 서버(120)는 하나 이상일 수 있으며, 위치 정보 서버(120)의 위치는 음성인식 처리시스템(130) 내부에 포함될 수도 있다. In addition, the location of the location information server 120 may be included in the voice recognition processing system 130. In addition,

음성인식 처리시스템(130)은 음성인식처리제어시스템(140) 및 가상머신그룹(150)을 포함한다. The speech recognition processing system 130 includes a speech recognition processing control system 140 and a virtual machine group 150.

음성인식처리제어시스템(140)은, 클라우드 서버 인프라 환경의 동적인 가상 머신 그룹(150)의 각각의 가상머신이 발화 환경 종류에 따라 음성인식 처리를 수행하도록 한다. The speech recognition processing control system 140 allows each virtual machine of the dynamic virtual machine group 150 in the cloud server infrastructure environment to perform speech recognition processing according to the type of speech environment.

즉, 음성인식처리제어시스템(140)은, 다양한 환경 종류에 따른 기존의 음성인식 처리 구성의 비효율성 문제를 해결하고자 물리적인 컴퓨팅 시스템 구성을 기본으로 한 동작을 지양하고 동적인 소프트웨어적 컴퓨팅 자원(가상머신)을 기본으로 동작한다.In other words, the speech recognition processing control system 140 avoids the operation based on the physical computing system configuration in order to solve the inefficiency problem of the existing speech recognition processing configuration according to various kinds of environments, Virtual machine).

이때, 음성인식처리제어시스템(140)은 클라우드 서버 인프라 환경의 동적인 가상머신 각각이 환경 종류에 따라 음성인식 처리를 수행하도록 하였다.At this time, the speech recognition processing control system 140 allows each of the dynamic virtual machines in the cloud server infrastructure environment to perform speech recognition processing according to the type of environment.

다음에, 음성인식처리제어시스템(140)은 수행된 음성인식 처리 결과를 사용자 단말(110)로 송신한다. Next, the speech recognition processing control system 140 transmits the result of the speech recognition processing performed to the user terminal 110. [

이와 같은 구성에 따른 본 발명의 효과는 다음과 같다. The effect of the present invention with such a configuration is as follows.

동적인 컴퓨팅 자원에 따라 동작하는 음성인식처리제어시스템(140)은 인식처리 요구 양에 따라 규모가 신축적으로 제어될 수 있고, 달성하려는 음성인식처리 성능에 비해 비용이 낮다는 장점을 갖는다. The speech recognition processing control system 140 that operates according to dynamic computing resources has the advantage that the scale can be flexibly controlled according to the amount of recognition processing demands and the cost is lower than the speech recognition processing performance to be achieved.

그 결과, 인식처리 요구 양에 따라 규모가 신축적이지 못하며 달성하려는 음성인식처리 성능에 비해 비용이 높아져 비효율적이었던 기존의 물리적인 컴퓨팅 자원에 따른 시스템 구성이 갖는 문제점을 해결하였다.As a result, the problem of the system configuration according to the existing physical computing resources, which was inefficient due to the increase in the cost compared to the speech recognition processing performance which is not scalable according to the amount of recognition processing request and which is to be achieved, is solved.

도 2는 본 발명의 일실시 예에 따른 음성인식 처리제어시스템(140)의 블록도이다. 2 is a block diagram of a speech recognition processing control system 140 according to an embodiment of the present invention.

도 2를 참조하면, 음성인식 처리제어시스템(140)은, 매핑부(142), 검색부(144), 및 제어부(146)를 포함한다. Referring to FIG. 2, the speech recognition processing control system 140 includes a mapping unit 142, a search unit 144, and a control unit 146.

매핑부(142)는, 복수의 음성인식용 가상머신들을 서로 다른 복수의 발화환경정보들에 매핑한다. 예컨대, 서울, 부산, 도심 번화가 등 발화자의 환경 종류마다 다르게 가상 머신을 할당한다. 이때, 매핑 정보는 후술할 가상머신정보데이터 데이터베이스에 저장될 수 있다. The mapping unit 142 maps a plurality of speech recognition virtual machines to a plurality of different speech environment information. For example, a virtual machine is assigned differently for each type of environment of a speaker such as Seoul, Busan, and downtown. At this time, the mapping information may be stored in a virtual machine information data database to be described later.

주목할 것은 한 환경에 할당되는 가상머신은 하나 이상일 수 있다. 그리고, 음성인식 처리 요구량(즉, 음성인식용 가상머신의 이용율)에 기초하여 음성인식용 가상머신의 규모가 증감될 수 있다. Note that one or more virtual machines may be assigned to an environment. The size of the voice recognizing virtual machine can be increased or decreased based on the voice recognition processing request amount (that is, the utilization rate of the virtual machine for voice recognition).

검색부(144)는, 입력된 발화자의 발화환경정보와 매핑되는 음성인식용 가상머신을 검색한다. 예컨대 발화자의 제1 위치가 위치정보서버로부터 입력되면, 검색부(144)는, 매핑 정보를 참조하여, 그 제1 위치에 매핑되는 하나 이상의 제1 가상머신을 검색할 수 있다. The retrieving unit 144 retrieves a speech recognition virtual machine that is mapped with the speech environment information of the input speech source. For example, when the first position of the talker is input from the position information server, the search unit 144 can refer to the mapping information and search for one or more first virtual machines that are mapped to the first position.

제어부(146)는, 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어한다. 예컨대, 발화자의 음성정보가 사용자 단말(110)로부터 입력되면, 제어부(146)는 상기 제1 가상머신에 음성정보를 송신한다. 다음에 상기 제1 음성인식용 가상머신은, 입력된 발화자의 음성정보 및 기저장된 제1 위치용 음성 파라미터 데이터를 사용하여 음성인식을 수행하도록 제어한다. The control unit 146 controls the searched voice recognition virtual machine to perform voice recognition. For example, when the voice information of the speaking person is inputted from the user terminal 110, the control unit 146 transmits the voice information to the first virtual machine. Next, the first speech recognizing virtual machine controls to perform speech recognition using the speech information of the input speaker and the previously stored speech parameter data for the first position.

이때 음성 파라미터 데이터는, 음성을 디지털화하여 여러 가지 방식으로 부호화하고 정보를 압축한 것으로, 좁은 뜻으로는 음성 합성을 위한 매개 변수라고 할 수 있다. 이때 제어부(146)는, 특정한 환경에 해당하는 음성인식용 가상머신이 음성인식처리를 할 수 있도록 발화환경정보별 음성 파라미터 데이터를 미리저장을 하고, 음성인식처리 프로그램이 이를 사용할 수 있도록 지정을 할 수 있다. 초기 음성인식 파라미터 데이터를 탑재하는 방법은 도 6을 참조하여 후술한다.In this case, the voice parameter data is a parameter for digitizing voice, encoding it in various ways, compressing information, and narrowly speaking, a parameter for voice synthesis. At this time, the control unit 146 preliminarily saves the speech parameter data for each speech environment information so that the speech recognition virtual machine corresponding to the specific environment can perform speech recognition processing, and specifies that the speech recognition processing program can use it . A method of mounting initial speech recognition parameter data will be described later with reference to Fig.

상술한 구성에 의해, 동일한 환경에 따른 음성인식용 가상머신은 동일한 음성 파라미터 데이터를 공유할 수 있다. With the above-described configuration, the speech recognition virtual machine according to the same environment can share the same speech parameter data.

현재, 제한적인 지역에 대한 상용서비스와는 달리 광범위하게 제공하려는 경우, 특성이 다른 다수의 지역에 제공하는 상용 서비스의 환경하에서 음성인식의 성능은 제공하고자 하는 해당 지역의 환경을 수용하는 적합한 음성 파라미터 데이터의 연동 여부에 따라 크게 변화한다. Currently, the performance of speech recognition under the circumstances of a commercial service provided to a plurality of regions with different characteristics, if it is intended to provide a wide range of services unlike a limited service for a local area, It varies greatly depending on whether data is interlocked or not.

따라서, 상술한 구성은, 다양한 환경을 수용하여 인식성능에 효과적인 음성인식을 수행할 수 있다는 장점을 갖는다. Thus, the above-described configuration has an advantage in that it can accommodate various environments and perform speech recognition that is effective in recognition performance.

도 3은 본 발명의 일실시 예에 따른 음성인식 처리제어방법을 간략히 나타낸 흐름도이다. 도 2의 동작과 동일하므로 설명을 간략히 한다. 3 is a flowchart briefly showing a speech recognition processing control method according to an embodiment of the present invention. The operation is the same as that of FIG. 2, so the description will be brief.

단계 S310에서, 매핑부(142)는 복수의 음성인식용 가상머신들을 서로 다른 복수의 발화환경정보들에 매핑하고, 단계 S320에서, 검색부(144)는 입력된 발화자의 발화환경정보와 매핑되는 음성인식용 가상머신을 검색하고, 단계 S330에서, 제어부(146)는 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어한다. In step S310, the mapping unit 142 maps a plurality of speech recognition virtual machines to a plurality of different speech environment information. In step S320, the search unit 144 maps the speech environment information of the input speech source In step S330, the control unit 146 controls the retrieved speech recognition virtual machine to perform speech recognition.

이하, 도 4 및 도 5를 참조하여 음성인식 처리시스템(130)을 더 상세히 살펴보도록 한다. 도 4 및 도 5의 컴포넌트들은 본 발명의 기술적 사상의 범위 내에서 특정 요구 또는 희망에 따라 처리할 수 있도록 결합 및/또는 분할될 수 있다는 것을 주목한다. Hereinafter, the speech recognition processing system 130 will be described in more detail with reference to FIGS. 4 and 5. FIG. It should be noted that the components of Figs. 4 and 5 may be combined and / or segmented so as to be processed according to a particular need or desire within the scope of the technical idea of the present invention.

도 4는 본 발명의 또 다른 실시 예에 따른 음성인식처리시스템(130)의 전체 구성도이다.4 is an overall configuration diagram of a speech recognition processing system 130 according to another embodiment of the present invention.

도 4를 참조하면, 음성인식처리제어시스템(140)은, 응용 프로세싱 제어부(410), 클라우드 인프라 제어부(420), 및 클라우드 서버팜 네트워크부(430)를 포함할 수 있다. Referring to FIG. 4, the speech recognition processing control system 140 may include an application processing controller 410, a cloud infrastructure controller 420, and a cloud server farm network unit 430.

응용 프로세싱 제어부(410)는, 클라우드 서버 인프라 환경의 동적인 소프트웨어적 컴퓨팅 자원(가상 머신)을 기본으로 동작하는 클라우드 프로세싱 제어 시스템일 수 있다. Application processing control unit 410 may be a cloud processing control system that operates based on dynamic software computing resources (virtual machines) of a cloud server infrastructure environment.

특히, 응용 프로세싱 제어부(410)는 음성 인식용 가상 머신 각각이 환경 종류에 따라 음성 인식 처리를 수행하도록 제어할 수 있다. 또한, 응용 프로세싱 제어부(410)는 가상 머신을 증감하도록 구성할 수 있다. 또한, 응용 프로세싱 제어부(410)는, 훈련용 가상 머신 각각이 훈련용으로 저장된 음성 데이터를 입력으로 학습 훈련 시뮬레이터 프로그램을 수행하도록 제어할 수 있다. In particular, the application processing controller 410 can control each of the virtual machines for speech recognition to perform speech recognition processing according to the type of environment. In addition, the application processing control unit 410 may be configured to increase or decrease the number of virtual machines. In addition, the application processing control unit 410 can control each of the training virtual machines to execute the learning and training simulator program by inputting the voice data stored for training.

클라우드 인프라 제어부(420)는, 응용 프로세싱 제어부(410)의 제어 하에, 클라우드 인프라 관리 제어를 하도록 구성된다. 예컨대, 클라우드 인프라 제어부(420)는, 가상 머신을 모니터링하고, 가상 머신을 복제하고, 가상 머신을 증감하고, 가상 머신을 셧다운 및, 재부팅하는 역할을 수행하고, 그 결과를 응용 프로세싱 제어부(410)에 전달하는 역할을 수행한다. 이때, 응용 프로세싱 제어부(410)와 클라우드 인프라 제어부(420)와의 연동은 클라우드 인프라 제어부(420)의 API 모듈(미도시)을 통해서 이루어 질 수 있다. The cloud infrastructure control unit 420 is configured to perform cloud infrastructure management control under the control of the application processing control unit 410. [ For example, the cloud infrastructure control unit 420 performs functions of monitoring a virtual machine, cloning a virtual machine, increasing / decreasing a virtual machine, shutting down and rebooting a virtual machine, and transmitting the result to the application processing control unit 410. [ As shown in FIG. At this time, interworking between the application processing controller 410 and the cloud infrastructure controller 420 may be performed through an API module (not shown) of the cloud infrastructure controller 420.

클라우드 서버팜 네트워크부(430)는 응용 프로세싱 제어부(410)로부터의 음성 정보 등을 가상 머신 그룹 내부로 라우팅하는 역할을 수행한다. The cloud server farm network unit 430 serves to route voice information and the like from the application processing control unit 410 to the inside of the virtual machine group.

가상 머신 그룹(150)은 훈련용 가상 머신 그룹(440)과 음성 인식용 가상 머신 그룹(450)을 포함한다. 음성 인식용 가상 머신 그룹(450)은 환경 종류별로 하나 이상 지정된 복수의 가상 머신을 포함한다. 훈련용 가상 머신 그룹(440) 또한 환경 종류별로 지정된 하나 이상의 가상 머신 그룹을 포함할 수 있다. 단, 도면에는 훈련용 가상 머신 그룹(440)과 음성 인식용 가상 머신 그룹(450)을 모두 포함하는 것으로 도시되었지만, 훈련용 가상 머신 그룹(440) 또는 음성 인식용 가상 머신 그룹(450)을 포함할 수 있다. The virtual machine group 150 includes a virtual machine group 440 for training and a virtual machine group 450 for voice recognition. The speech recognition virtual machine group 450 includes a plurality of virtual machines designated by one or more environments. The training virtual machine group 440 may also include one or more virtual machine groups designated for each type of environment. It should be noted that although the figure includes both the training virtual machine group 440 and the speech recognition virtual machine group 450, it is also possible to include the training virtual machine group 440 or the speech recognition virtual machine group 450 can do.

저장부(460)는 환경별 음성 파라미터 데이터베이스(460) 및 환경 별 훈련용 음성 데이터 데이터베이스(464)를 포함할 수 있다. 저장부(460)는 바람직하게는 클라우드 스토리지일 수 있지만, 이에 제한되는 것은 아니다. The storage unit 460 may include an environment-specific voice parameter database 460 and an environment-specific training voice data database 464. The storage unit 460 may preferably be a cloud storage, but is not limited thereto.

도 5은 도 4의 응용 프로세싱 제어부(410)를 더 상세히 나타낸 블록도이다.5 is a block diagram showing the application control unit 410 of FIG. 4 in more detail.

도 5을 참조하면, 응용 프로세싱 제어부(410)는, 음성정보 수신부(510), 발화환경정보 수신부(520), 제어부(510), 가상 머신 정보 데이터베이스(540), 네트워크부(550), 인식결과 송출부(560)를 더 포함할 수 있다. 5, the application processing control unit 410 includes an audio information receiving unit 510, a speech environment information receiving unit 520, a control unit 510, a virtual machine information database 540, a network unit 550, And may further include a sending unit 560.

특정한 발화 환경에서 발화자가 사용자 단말(110)을 통해서 음성정보를 송출하면, 음성정보 수신부(510)는 해당 음성정보를 수신한다. In a specific speech environment, when a speaker transmits voice information through the user terminal 110, the voice information receiver 510 receives the voice information.

발화환경정보 수신부(520)는, 위치 정보 서버(120)를 통해 또는 발화자에 의한 직접 입력된 발화 환경 정보를 수신한다. 바람직하게는, 발화 환경 정보는 위치 정보를 포함할 수 있다. 발화자가 직접 입력 할 수 있는 경우는 방언(사투리)에 대한 음성인식 처리시스템인 경우로 발화자의 위치가 필수정보일 수가 없으니 발화자가 구사하는 방언의 종류를 직접선택을 하게 된다.The utterance environment information receiving unit 520 receives the utterance environment information directly input by the position information server 120 or by the speaker. Preferably, the utterance environment information may include location information. In the case of a speech recognition processing system for a dialect (dialect) in which the speaker can input directly, the position of the speaker can not be essential information, so the speaker selects the type of dialect used by the speaker directly.

제어부(510)는 가상머신 정보 데이터베이스(540)에 저장된 가상머신 정보 데이터를 핸들링한다. 도 5의 제어부(510)는, 비록 미도시 되었지만, 도 2의 매핑부(142), 검색부(144), 및 제어부(145)의 기능을 할 수 있다. 따라서, 도 5의 제어부(510)는 가상머신 정보 데이터를 구성하고, 가상머신 정보 데이터를 참조해서 검색하는 역할을 할 수 있다. The control unit 510 handles the virtual machine information data stored in the virtual machine information database 540. The control unit 510 of FIG. 5 may function as the mapping unit 142, the search unit 144, and the control unit 145 of FIG. 2, although it is not shown. Accordingly, the control unit 510 of FIG. 5 may configure the virtual machine information data and perform a search by referring to the virtual machine information data.

예컨대, 가상머신 정보 데이터는 표 1의 가상머신 관리 테이블, 표 2의 가상 머신용 해시 테이블, 표 3의 일반관리 테이블을 담고 있다.For example, the virtual machine information data contains the virtual machine management table of Table 1, the virtual machine hash table of Table 2, and the general management table of Table 3.

keywordkeyword 설명Explanation 비고Remarks VirtualServerIDVirtualServerID 가상 머신의 IDThe ID of the virtual machine Unique valueUnique value StatusStatus 가상 머신의 상태State of the virtual machine 가동중/shutdownRunning / shutdown GroupNameGroupName 해당 가상 머신이 속한 group 명The group name of the virtual machine 인식그룹/훈련그룹Recognition Group / Training Group EnvNameEnvName 서비스 별 환경 명 지정Specifying environment name by service 예)서울/경기/부산/광주
혹은 지하철/도심번화가
Ex) Seoul / Gyeonggi / Busan / Gwangju
Or subway / downtown area
ThreshScaleOutThreshScaleOut 해당 가상 머신의 scale-out thresholdThe scale-out threshold of the virtual machine 이 값 이상이면 새 가상머신 생성Create a new virtual machine if this value is greater than or equal to this value ThreshScaleInThreshScalein 해당 가상 머신의 scale-in thresholdThe scale-in threshold of the virtual machine 이 값 이하이면 기존 가상 머신을 shutdownIf this value is less than or equal to the value, the existing virtual machine is shutdown VoiceDataSizeVoiceDataSize 해당 가상 머신을 통해 저장한 voice data 누적갯수Cumulative number of voice data stored through the virtual machine 훈련 수행이 완료되면 값을 resetWhen the training is completed, the value is reset

keywordkeyword 설명Explanation 비고Remarks EnvRecogParamEnvRecogParam <표 1>의 EnvName에 따른 인식파라미터위치Recognition parameter location according to EnvName in <Table 1> 서울recog:/home/recogparam서울, 경기recog:/home/recogparam/경기Seoul recog: / home / recogparam Seoul, game recog: / home / recogparam / game EnvVoiceDataEnvVoiceData <표 1>의 EnvName에 따른 훈련용 음성 데이터 누적저장위치Cumulative storage location of training voice data according to EnvName in <Table 1> 서울voice:/home/voicedata/서울, 경기voice:/home/voicedata/경기Seoul voice: / home / voicedata / Seoul, game voice: / home / voicedata / game

keywordkeyword 설명Explanation 비고Remarks ThreshTrainVoiceDataSizeThreshTrainVoiceDataSize 훈련에 필요한 음성 데이터 누적용량Cumulative voice data capacity required for training <표 2> EnvVoiceData의 량을 조사해서 결정<Table 2> Determined by examining the amount of EnvVoiceData

또한, 제어부(510)는, 발화환경정보 수신부(520)의 결과에 대응되는 가상머신 정보데이터를 탐색한다. 그 탐색결과 상기 발화 환경 정보에 대응되는 특정한 환경에 적합한 음성인식용 가상 머신을, 음성 인식용 가상머신 그룹(450) 중에서 선정해서 해당 음성정보를 네트워크부(550)를 통해서 해당 음성인식용 가상 머신으로 전송할 수 있다. The control unit 510 also searches for virtual machine information data corresponding to the result of the utterance environment information receiving unit 520. [ A virtual virtual machine for voice recognition suitable for a specific environment corresponding to the utterance environment information is selected from the virtual machine group 450 for voice recognition and the voice information is transmitted through the network unit 550 to the voice recognition virtual machine As shown in FIG.

음성 인식용 가상머신 그룹(450)에 속한 해당 음성인식 가상 머신은, 수신 받은 음성 정보, 및 환경별 음성 파라미터 데이터 데이터베이스(462)의 해당 음성 파라미터 데이터를 입력으로 해서 음성인식 알고리즘을 수행하여 인식처리 결과를 얻게 된다.The corresponding speech recognition virtual machine belonging to the virtual machine group for speech recognition 450 receives the received speech information and the corresponding speech parameter data in the speech parameter data database 462 for each environment to perform a speech recognition algorithm and performs recognition processing Results are obtained.

음성인식용 가상 머신의 음성인식결과는 응용 프로세싱 제어부(410)의 네트워크부(550)로 전송을 한다. The speech recognition result of the speech recognition virtual machine is transmitted to the network unit 550 of the application processing control unit 410.

응용 프로세싱 제어부(410)는 인식결과 송출부(560)를 통해서 사용자 단말로 최종적으로 음성인식결과를 전송한다. 다음에, 발화자는 음성인식결과를 확인하게 된다.The application processing control unit 410 finally transmits the speech recognition result to the user terminal through the recognition result transmission unit 560. [ Next, the speaking person confirms the speech recognition result.

또 다른 실시 예로서, 제어부(510)는 환경별 훈련용 음성데이터 DB(464)의 발화 환경 종류별 훈련용 음성 데이터의 누적 용량을 가상머신 정보 데이터를 통해 확인할 수 있다. 예컨대, 훈련용 음성 데이터의 누적용량(표 2, VoiceDataSize)이 훈련에 필요한 음성데이터 누적용량(표 3, ThreshTrainVoiceDataSize) 이상이면, 훈련이 필요한 조건을 충족한다. 훈련용 음성 데이터는 사용자 단말로부터 수신된 음성정보가 훈련용 음성 데이터로서, 환경별 훈련용 음성데이터 DB(464)에 저장된 것이다.As another embodiment, the control unit 510 can confirm the cumulative capacity of voice data for training by the utterance environment type in the voice data DB 464 for training by environment through the virtual machine information data. For example, if the cumulative capacity of training voice data (Table 2, VoiceDataSize) is equal to or greater than the cumulative voice data capacity required for training (Table 3, ThreshTrainVoiceDataSize), training meets the necessary conditions. The training voice data is voice data received from the user terminal as training voice data and stored in the training voice data DB 464 for each environment.

훈련이 필요한 조건이라면, 제어부(510)는 훈련용 가상머신 그룹(440) 중에서 환경 종류별 해당 훈련용 가상머신 내 훈련 프로그램 구동을 시작한다. 다만, 환경 종류별로 구분되는 음성인식용 가상 머신과는 달리, 훈련용 가상 머신은, 환경 종류별로 상이할 필요는 없다. 훈련 프로그램은 학습 훈련용 프로그램에 초기 인식프로그램을 초기값으로 지정을 하고 축적한 훈련용 음성 데이터를 입력으로 해서 학습 훈련 시뮬레이터 프로그램을 수행하는 것이다. If the training is necessary, the control unit 510 starts the training program in the virtual machine for the corresponding training type in the training virtual machine group 440 according to the type of environment. However, unlike the voice recognition virtual machine classified by the environment type, the training virtual machine does not have to be different according to the environment type. The training program assigns the initial recognition program to the learning training program as the initial value, and executes the training simulator program with the accumulated training voice data as input.

학습 훈련의 결과는 또 다른 새로운 음성 파라미터 데이터를 생성하는 것이다. The result of the training is to generate another new voice parameter data.

제어부(510)는 새로운 음성 파라미터 데이터를 입력으로 해당 발화 환경 종류별 음성인식용 가상 머신을 통해서 평가 테스트 음성인식 처리를 수행하여, 기존의 인식율과 비교함으로써, 새로운 음성 파라미터 데이터에 대한 평가를 수행한다. The control unit 510 receives the new voice parameter data and performs evaluation test speech recognition processing through the speech recognition virtual machine for each utterance environment type and compares it with the existing recognition rate to evaluate the new voice parameter data.

제어부(510)는 평가 결과 개선을 얻었다면 새로운 음성 파라미터 데이터로 해당 음성인식용 가상 머신에 대한 기존 음성 파라미터 데이터를 갱신한다.If the evaluation result improvement is obtained, the controller 510 updates the existing speech parameter data for the speech recognition virtual machine with the new speech parameter data.

또 다른 실시 예로서, 제어부(510)는 음성인식용 가상 머신의 인식처리 요구 양에 따라 신축적으로 가상머신 규모를 조절한다. In another embodiment, the control unit 510 flexibly adjusts the size of the virtual machine according to the amount of recognition processing requested by the virtual machine for voice recognition.

이하 도 6 내지 도 9를 참조하여, 본 발명의 일 실시 예에 따른 클라우드 서버 인프라 환경을 활용한 음성인식 처리 방법에 대해 살펴본다. 또한, 도 6 내지 도 9의 각 단계는 도시된 순서에 구속되는 것은 아니고, 본 발명의 사상과 범위를 벗어나지 않는 범위 내에서 변경 가능할 수 있다. Hereinafter, a speech recognition processing method using a cloud server infrastructure environment according to an embodiment of the present invention will be described with reference to FIG. 6 to FIG. Further, the steps of FIGS. 6 to 9 are not limited to the illustrated order, and may be changed within a range not departing from the spirit and scope of the present invention.

도 6은, 본 발명의 일실시 예에 따른 발화환경정보 별 초기 음성 파라미터 데이터를 탑재하는 상세 흐름도이다. 6 is a detailed flowchart for mounting initial speech parameter data per speech environment information according to an embodiment of the present invention.

음성인식용 가상머신 그룹(도 4의 450)에서 특정한 환경에 해당하는 음성인식용 가상머신이 음성인식처리를 할 수 있도록 저장부(도 4의 460)의 환경별 음성 파라미터 DB(462)에 저장을 하고 음성인식처리 프로그램이 사용할 수 있도록 지정을 하는 것이다. 또한, 초기 음성 파라미터는 학습훈련 프로그램에서 초기 값으로 역할을 하므로 저장부(460)의 환경 별 학습 훈련용 음성 데이터 베이스(464)에 저장을 하는 것이다.In the voice recognition virtual machine group 450 (FIG. 4), the voice recognition virtual machine corresponding to the specific environment is stored in the environment-specific voice parameter DB 462 of the storage unit (460 of FIG. 4) And designates the speech recognition processing program to be used. In addition, since the initial voice parameters serve as initial values in the learning and training program, they are stored in the speech data base 464 for learning training according to the environment of the storage unit 460.

단계 610에서, 환경 별 초기 음성 데이터는 외부 시스템에서 생성하여 음성정보 수신부(도 5의 510)가 수신한다(S610). 발화 환경 종류별 초기 음성 파라미터 데이터가 외부 시스템에서 생성되는 방법은 당업자에게 잘 알려진 방법을 활용할 수 있다.In step 610, the initial voice data for each environment is generated in the external system and received by the voice information receiving unit (510 in FIG. 5) (S610). The method in which the initial speech parameter data for each type of speech environment is generated in the external system can utilize a method well known to those skilled in the art.

단계 620에서, 제어부(도 5의 510)가 가상머신 정보 데이터를 조회를 하여, 해당 훈련용/음성인식용 가상 머신을 확인하고, 가상머신 정보 데이터의 내용을 갱신한다. 이때, 제어부(510)는, 가상머신 정보데이터 조회 시, 표 1의 가상 서버 관리 테이블을 사용할 수 있다. 또한, 가상머신 정보데이터 갱신 시 표 2의 가상 서버용 데이터 해시 테이블에 음성 파라미터 데이터 저장 경로를 지정할 수 있다(S620). In step 620, the control unit (510 in FIG. 5) inquires the virtual machine information data, identifies the training / voice recognition virtual machine, and updates the contents of the virtual machine information data. At this time, the control unit 510 can use the virtual server management table of Table 1 when viewing the virtual machine information data. When updating the virtual machine information data, the voice parameter data storage path can be specified in the virtual server data hash table of Table 2 (S620).

단계 630에서, 확인한 해당 가상머신에 따른 환경 별 초기 음성 파라미터 데이터를 저장부(460)의 환경별 음성 파라미터 DB(462)에 저장을 한다(S630).In step 630, the initial voice parameter data for each environment according to the determined virtual machine is stored in the environment-specific voice parameter DB 462 of the storage unit 460 (S630).

단계 640에서, 학습훈련 프로그램에서는 해당 초기 음성 파라미터가 초기 값으로 작용을 하므로 지정한다(S640).In step 640, the learning training program designates the initial speech parameter as an initial value (S640).

단계 650에서, 또한 인식처리를 수행 할 수 있도록 음성인식 처리 프로그램의 초기 값으로 지정을 한다(S650).In step 650, an initial value of the speech recognition processing program is designated so that recognition processing can be performed (S650).

도 7은 본 발명의 일 실시 예에 따른, 발화 환경정보별 음성인식용 가상머신 상에서 음성인식 처리를 수행하는 방법을 상세히 나타낸 흐름도이다.FIG. 7 is a flowchart illustrating a method of performing speech recognition processing on a speech recognition virtual machine according to speech environment information according to an exemplary embodiment of the present invention. Referring to FIG.

도 7을 참조하면, 단계 710에서, 음성정보 수신부(도 5의 510)는 발화자가 사용자 단말(110)에서 발성한 음성정보를 수신한다(S710). Referring to FIG. 7, in step 710, the voice information receiving unit 510 of FIG. 5 receives the voice information generated by the speaker of the user terminal 110 (S710).

또한 단계 720에서, 발화환경정보 수신부(도 5의 520)는 발화자의 환경 정보를 수신한다. 발화환경 정보는 위치 정보 서버(도 4의 120) 또는 발화자가 발화환경 정보를 제공할 수 있다(S720). In step 720, the speech environment information receiving unit (520 in FIG. 5) receives the speech information of the speaking person. The utterance environment information may provide the utterance environment information of the location information server 120 (FIG. 4) or the speaker (S720).

단계 730에서, 제어부(도 5의 510)는, 가상머신 정보 데이터를 조회한다(S730). 이때 제어부(510)는, 단계 S720에서 획득된 발화 환경 정보를 기초로, 가상머신 정보 데이터에 제시된, 획득된 발화환경 정보에 매핑된 해당 음성인식용 가상 머신을 선택한다.In step 730, the control unit 510 of FIG. 5 inquires virtual machine information data (S730). At this time, based on the speech environment information obtained in step S720, the control unit 510 selects the speech-based virtual machine mapped to the obtained speech environment information, which is presented in the virtual machine information data.

단계 740에서, 제어부(510)는, 해당 음성 인식용 가상 머신으로 상기 음성 정보를 송신한다(S740).In step 740, the control unit 510 transmits the voice information to the voice recognition virtual machine (S740).

단계 750에서, 제어부(510)은, 해당 음성인식용 가상 머신에서 음성인식 처리를 수행하도록 제어한다(S750). In step 750, the control unit 510 controls the speech recognition virtual machine to perform speech recognition processing (S750).

단계 760에서 제어부(510)는, 해당 음성인식용 가상 머신으로부터 음성인식 처리 결과를 수신한다(S760). In step 760, the control unit 510 receives the speech recognition processing result from the speech recognition virtual machine (S760).

단계 770에서, 인식결과 송출부(560)는 음성인식 처리결과를 사용자 단말(110)에 전송한다(S770). In step 770, the recognition result transmitting unit 560 transmits the speech recognition processing result to the user terminal 110 (S770).

단계 780에서, 제어부(510)는 상기 발화자의 음성정보를 해당 발화 환경정보별 훈련용 음성 데이터로서 환경별 훈련용 음성 데이터 DB(464)에 저장할 수 있다. In step 780, the control unit 510 may store the voice information of the speaking person in training-specific voice data DB 464 as training voice data for each utterance environment information.

도 8은 본 발명의 일 실시 예에 따른, 음성인식 처리 요구량에 기초하여 음성인식용 가상 머신의 규모를 조절하는 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a method for adjusting the scale of a voice recognition virtual machine based on a voice recognition processing request amount according to an embodiment of the present invention.

단계 810에서, 제어부(도 5의 510)는, 발화환경정보별 음성인식용 가상 머신을 모니터링한다. 구체적으로 발화환경정보별 별 음성인식용 가상머신 모니터링은 클라우드 인프라 제어부(도 4의 420)가 수행하고, 모니터링한 결과 데이터를 제어부(510)로 전달한다.In step 810, the control unit (510 of FIG. 5) monitors the speech recognition virtual machine by the speech environment information. Specifically, the monitoring virtual machine monitoring is performed by the cloud infrastructure control unit (420 in FIG. 4) and transmitted to the control unit 510.

단계 820에서, 제어부(510)는, 가상머신 증가가 필요한지 판단한다. 즉, 제어부(510)는, 음성인식용 가상머신 이용률이 미리설정한 한계치 이상인지 판단한다. In step 820, the control unit 510 determines whether a virtual machine increase is necessary. That is, the control unit 510 determines whether the virtual machine usage rate for voice recognition is greater than or equal to a preset threshold value.

단계 830에서, 제어부(510)는, 상기 이용률이 미리 설정한 한계치 이상이면, 제어부(510)는, 신규 가상머신 증가가 필요한 조건인지 판단한다(S830).In step 830, if the usage rate is equal to or greater than a predetermined threshold value, the control unit 510 determines whether the new virtual machine needs to be increased (S830).

단계 840에서, 제어부(510)는, 신규 가상머신 증가가 필요한 조건이면, 해당 가상 머신을 복제한다(S840). 그리고, 단계 850에서, 복제된 새로운 가상 머신이 음성인식처리를 수행한다(S850). In step 840, if a new virtual machine increase condition is required, the control unit 510 replicates the virtual machine (S840). Then, in step 850, the replicated new virtual machine performs speech recognition processing (S850).

단계 860에서, 제어부(510)는, 이전에 셧다운(shutdown)된 해당 음성인식용 가상 머신이 존재한다면 이 음성인식용 가상 머신을 재부팅(reboot)을 수행한다(860). In step 860, the control unit 510 performs a reboot (860) of the voice recognition virtual machine if the voice recognition virtual machine previously shut down is present.

한편 단계 870에서, 제어부(510)는, 음성인식용 가상 머신을 증가하는 조건이 아니라면 이제 음성인식용 가상 머신의 유휴기간이 미리 설정한 한계치를 이상인지 판단한다(S870)On the other hand, if it is determined in step 870 that the condition for increasing the voice recognition virtual machine is not satisfied, the control unit 510 determines whether the idle period of the voice recognition virtual machine is equal to or greater than a predetermined threshold (S870)

단계 880에서, 제어부(510)는, 유휴기간이 미리설정한 한계치 이상이라면, 해당 음성인식용 가상 머신을 사용할 필요성이 없으므로 해당 음성인식용 가상 머신을 셧다운(shutdown)시켜 자원을 제거한다(S880). In step 880, if the idle period is equal to or greater than a predetermined threshold, the control unit 510 does not need to use the voice recognition virtual machine. Therefore, the control unit 510 shuts down the voice recognition virtual machine to remove resources (S880) .

제어부(510)는, 나머지 조건에 이르는 음성인식용 가상 머신은 그 현상을 유지시킨다.The control unit 510 keeps the phenomenon of the edible virtual machine which recognizes the remaining conditions.

도 8은 음성인식용 가상 머신을 기준으로 설명하였지만, 훈련용 가상 머신에도 도 8의 가상머신 규모의 증감 방법이 적용될 수 있다. Although FIG. 8 has been described based on a voice recognizing virtual machine, the virtual machine size increase / decrease method of FIG. 8 may be applied to the training virtual machine.

도 9은 본 발명의 일 실시 예에 따른, 훈련용 가상 머신 상에서 음성 파라미터 데이터를 업데이트하는 방법을 상세히 나타낸 흐름도이다. 즉, 환경 종류 별로 축적한 훈련용 음성 데이터 량에 따라 훈련 알고리즘을 구동하여 음성인식 처리에 필수인 음성 파라미터를 업데이트하는 과정에 대한 상세 흐름도이다. 9 is a flow chart detailing a method for updating voice parameter data on a training virtual machine, in accordance with an embodiment of the present invention. That is, it is a detailed flowchart of a process of updating a voice parameter required for voice recognition processing by driving a training algorithm according to the amount of training voice data accumulated for each type of environment.

단계 910에서, 제어부(도 5의 510)가 발화환경정보별 해당 훈련용 음성 데이터의 축적량을 저장부(도 4의 460)의 발화환경 별 훈련용 음성데이터 량을 확인한다 (S910). In step 910, the controller (510 in FIG. 5) confirms the amount of speech data for training by speech environment in the storage unit (460 in FIG. 4) of the speech data for corresponding training according to speech environment information (S910).

단계 920에서, 제어부(510)는, 확인된 음성 데이터의 누적량이 훈련이 필요한 조건인지 판단한다(S920). 환언하면, 제어부(510)가, 상기 확인된 훈련용 음성 데이터의 누적량이 미리 결정된 기준 이상인지 판단한다(S920).In step 920, the control unit 510 determines whether the accumulated amount of confirmed voice data is a condition requiring training (S920). In other words, the control unit 510 determines whether the accumulated amount of the training audio data is equal to or greater than a predetermined reference (S920).

단계 930에서, 제어부(510)는, 훈련이 필요한 조건이라면 해당 훈련용 가상머신 내 훈련 프로그램 구동을 시작한다(930). 학습 훈련의 결과는 또 다른 새로운 음성 파라미터 데이터를 생성하는 것이다.In step 930, if the training is necessary, the control unit 510 starts driving the training program in the training virtual machine (930). The result of the training is to generate another new voice parameter data.

단계 940에서, 제어부(510)는, 해당 음성 파라미터 데이터에 대한 평가를 한다(S940). 음성 파라미터 데이터에 대한 평가는 해당 음성인식용 가상머신을 통해서 평가 테스트 음성인식 처리를 수행하여 기존의 인식율과 비교함으로써 수행이 이루어진다. In step 940, the control unit 510 performs evaluation on the voice parameter data (S940). Evaluation of the speech parameter data is performed by performing evaluation test speech recognition processing through the speech recognition virtual machine and comparing with the existing recognition rate.

단계 950에서, 제어부(510)는, 평가 결과 개선을 얻었다면 새로운 음성 파라미터 데이터로 해당 발화 환경의 음성인식용 가상머신에 대한 기존 음성 파라미터 데이터를 업데이트한다(S950)In step 950, if the evaluation result improvement is obtained, the control unit 510 updates the existing speech parameter data for the speech virtual machine of the utterance environment with the new speech parameter data (S950)

다음에 단계 960에서, 제어부(510)는, 이제 새로운 음성 파라미터를 적용하는 발화환경정보별 해당 음성인식용 가상 머신이 음성인식 처리를 수행하도록 한다(S960).Next, in step 960, the control unit 510 causes the virtual machine for speech recognition corresponding to the speech environment information to which the new speech parameter is applied to perform speech recognition processing (S960).

반면에, 제어부(510)는, 평가 결과 개선을 얻지 못했다면, 훈련용 가상머신 상에서 음성 파라미터 데이터를 업데이트하는 동작을 종료한다(S970).On the other hand, if the evaluation result improvement is not obtained, the control unit 510 ends the operation of updating the voice parameter data on the training virtual machine (S970).

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.

본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, You will understand. Accordingly, the true scope of protection of the present invention should be determined only by the appended claims.

Claims (10)

복수의 음성인식용 가상머신들을 서로 다른 복수의 발화환경정보들에 매핑하는 단계;
입력된 발화자의 발화환경정보와 매핑되는 음성인식용 가상머신을 검색하는 단계;
상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어하는 단계;및
음성인식 처리 요구량에 기초하여 음성인식용 가상머신을 증감하는 단계;를 포함하는 음성인식 처리 제어 방법.
Mapping a plurality of speech recognition virtual machines to a plurality of different speech environment information;
Searching for a speech recognition virtual machine mapped with the speech environment information of the input speaker;
Controlling the retrieved speech recognizing virtual machine to perform speech recognition; and
And increasing / decreasing the voice recognition virtual machine based on the voice recognition processing request amount.
제1항에 있어서, 상기 검색된 음성인식용 가상머신이 음성인식을 수행하도록 제어하는 단계는,
상기 검색된 음성인식용 가상머신이, 입력된 발화자의 음성정보 및 기저장된 발화환경정보별 음성 파라미터 데이터를 사용하여 음성인식을 수행하도록 제어하는 단계를 더 포함하는 음성인식 처리 제어 방법.
The method of claim 1, wherein the controlling the voice recognition virtual machine to perform speech recognition comprises:
Further comprising the step of controlling the searched speech recognition virtual machine to perform speech recognition using speech information of the input speech source and speech parameter data of pre-stored speech environment information.
제1항에 있어서, 상기 입력된 발화환경정보는,
발화환경을 결정하는 위치정보서버를 통해 입력되거나, 또는 사용자 인터페이스를 통해 발화자에 의해 입력되는 것을 특징으로 하는 음성인식 처리 제어 방법.
The method according to claim 1,
Wherein the speech recognition information is inputted through a location information server for determining a speech environment or inputted by a speaker via a user interface.
삭제delete 삭제delete 삭제delete 제2항에 있어서
입력된 발화자의 음성정보 및 발화환경정보에 기초하여, 상기 음성정보를 훈련용 음성데이터로서 상기 발화환경정보별로 저장하는 단계;
상기 발화환경정보별로 훈련용 음성데이터의 누적용량이 미리결정된 기준 이상인지 모니터링하는 단계;
모니터링 결과에 기초하여, 소정 발화환경정보에 대응하는 소정 훈련용 음성데이터를 입력으로 또 다른 음성 파라미터 데이터를 생성하는 훈련용 가상머신을 구동하는 단계;
상기 소정 발화환경정보에 매핑되는 음성인식용 가상머신이 상기 또 다른 음성 파라미터 데이터를 사용할 때의 음성인식율을 평가하는 단계; 및
평가 결과에 기초하여 상기 또 다른 음성 파라미터 데이터로 기존 음성 인식 파라미터 데이터를 업데이트하는 단계를 포함하는 음성인식 처리 제어 방법.
The method according to claim 2, wherein
Storing the speech information as training speech data for each speech environment information based on speech information of the input speech person and speech environment information;
Monitoring whether the cumulative capacity of training speech data is greater than or equal to a predetermined reference for each of the utterance environment information;
Driving a training virtual machine for generating another voice parameter data by inputting predetermined training audio data corresponding to predetermined speaking environment information based on a monitoring result;
Evaluating a speech recognition rate when the speech recognition virtual machine mapped to the predetermined speech environment information uses the another speech parameter data; And
And updating the existing speech recognition parameter data with the another speech parameter data based on the evaluation result.
삭제delete 삭제delete 삭제delete
KR1020100140648A 2010-12-31 2010-12-31 Voice recognition processing control system and method KR101748182B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100140648A KR101748182B1 (en) 2010-12-31 2010-12-31 Voice recognition processing control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100140648A KR101748182B1 (en) 2010-12-31 2010-12-31 Voice recognition processing control system and method

Publications (2)

Publication Number Publication Date
KR20120078368A KR20120078368A (en) 2012-07-10
KR101748182B1 true KR101748182B1 (en) 2017-06-16

Family

ID=46711731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100140648A KR101748182B1 (en) 2010-12-31 2010-12-31 Voice recognition processing control system and method

Country Status (1)

Country Link
KR (1) KR101748182B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102369021B1 (en) 2021-06-28 2022-03-02 주식회사 세찬아이앤씨 Voice recognition control system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140029764A1 (en) * 2012-07-24 2014-01-30 Lg Cns Co., Ltd. Virtual machine-based sound control for computerized devices in a networked computing environment
KR102292546B1 (en) 2014-07-21 2021-08-23 삼성전자주식회사 Method and device for performing voice recognition using context information
KR102549204B1 (en) * 2017-09-26 2023-06-30 주식회사 케이티 Device, server and method for providing speech recognition service
KR20220048275A (en) * 2020-10-12 2022-04-19 삼성전자주식회사 Electronic apparatus and method for controllilng electronic apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102369021B1 (en) 2021-06-28 2022-03-02 주식회사 세찬아이앤씨 Voice recognition control system

Also Published As

Publication number Publication date
KR20120078368A (en) 2012-07-10

Similar Documents

Publication Publication Date Title
US11114099B2 (en) Method of providing voice command and electronic device supporting the same
KR101748182B1 (en) Voice recognition processing control system and method
US8954326B2 (en) Apparatus and method for voice command recognition based on a combination of dialog models
US10964312B2 (en) Generation of predictive natural language processing models
US20180301147A1 (en) Management layer for multiple intelligent personal assistant services
KR20190024762A (en) Music Recommendation Method, Apparatus, Device and Storage Media
CN102884569B (en) Integration of embedded and network speech recognizers
CN100559463C (en) Voice recognition dictionary scheduling apparatus and voice recognition device
US20130066815A1 (en) System and method for mobile context determination
US11521038B2 (en) Electronic apparatus and control method thereof
US20200175980A1 (en) Method and Terminal for Implementing Speech Control
US20220229891A1 (en) Voiceprint recognition method and device
US20200210880A1 (en) Reconfiguration of embedded services on devices using device functionality information
KR20170046291A (en) Electronic device, acoustic model adaptation method of thereof and speech recognition system
WO2015125560A1 (en) Information processing device, voice interaction device, and control program
US20170206898A1 (en) Systems and methods for assisting automatic speech recognition
CN112463391A (en) Memory control method, memory control device, storage medium and electronic equipment
CN116708065A (en) Low-power consumption Bluetooth voice control method and system in intelligent home environment
CN110741362A (en) Coordination of overlapping processing of audio queries
US10285086B2 (en) Channel decoding method and apparatus, and distributed decoder
US8285729B2 (en) Reducing overheads in application processing
CN113837382A (en) Method and system for training graph neural network
CN102077169A (en) Handling messages in a computing device
KR20200127823A (en) The hub device, multi device system comprising the hub device and a plurality of devices and method operating the same
CA2783657A1 (en) System and method for mobile context determination

Legal Events

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