KR102335048B1 - User device, method and server for providing voice recognition service - Google Patents

User device, method and server for providing voice recognition service Download PDF

Info

Publication number
KR102335048B1
KR102335048B1 KR1020190129815A KR20190129815A KR102335048B1 KR 102335048 B1 KR102335048 B1 KR 102335048B1 KR 1020190129815 A KR1020190129815 A KR 1020190129815A KR 20190129815 A KR20190129815 A KR 20190129815A KR 102335048 B1 KR102335048 B1 KR 102335048B1
Authority
KR
South Korea
Prior art keywords
candidate
service
query word
service domain
domain
Prior art date
Application number
KR1020190129815A
Other languages
Korean (ko)
Other versions
KR20210046275A (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 KR1020190129815A priority Critical patent/KR102335048B1/en
Publication of KR20210046275A publication Critical patent/KR20210046275A/en
Application granted granted Critical
Publication of KR102335048B1 publication Critical patent/KR102335048B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

음성 인식 서비스를 제공하는 사용자 단말은 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출하는 질의어 추출부, 상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 질의어 확장부, 상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 후보 확장부, 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하고, 상기 산출된 유사도에 기초하여 최종 후보를 선택하는 최종 후보 선택부 및 상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스를 제공하는 서비스 제공부를 포함한다. A user terminal providing a voice recognition service includes a query word extractor that extracts a query word and a service domain from text for a voice command, and a query word expander that generates at least one extended query word by expanding the query word based on the extracted service domain , determine at least one database for candidate search corresponding to the extracted service domain, search for at least one candidate for each of the at least one extended query word from the determined at least one database, and the at least one candidate A candidate extension unit generating at least one extension candidate by expanding and a service providing unit providing a service for the voice command based on the selected final candidate.

Description

음성 인식 서비스를 제공하는 사용자 단말, 방법 및 서버{USER DEVICE, METHOD AND SERVER FOR PROVIDING VOICE RECOGNITION SERVICE}User terminal, method, and server for providing voice recognition service

본 발명은 음성 인식 서비스를 제공하는 사용자 단말, 방법 및 서버에 관한 것이다.The present invention relates to a user terminal, method and server for providing a voice recognition service.

지능형 개인 비서는 사용자가 요구하는 작업을 처리하고, 사용자에게 특화된 서비스를 제공하는 소프트웨어 에이전트이다. 지능형 개인 비서는 인공 지능(AI) 엔진과 음성 인식을 기반으로 사용자에게 맞춤 정보를 수집하여 제공하고, 사용자의 음성 명령에 따라 일정 관리, 이메일 전송, 식당 예약 등 여러 기능을 수행하는 점에서 사용자의 편의성을 향상시킨다. An intelligent personal assistant is a software agent that processes tasks requested by users and provides specialized services to users. The intelligent personal assistant collects and provides customized information to the user based on artificial intelligence (AI) engine and voice recognition, and performs various functions such as scheduling, sending e-mail, and restaurant reservation according to the user's voice command. Improves convenience.

이러한 지능형 개인 비서는 주로 스마트폰에서 맞춤형 개인 서비스의 형태로 제공되고 있다. These intelligent personal assistants are mainly provided in the form of customized personal services on smartphones.

지능형 개인 비서는 사용자가 자신이 원하는 서비스를 제공받기 위해 질의를 발화하면, 발화된 질의에 대해 음성 인식을 수행하고, 인식된 질의를 분석하여 질의와 관련된 서비스를 제공한다. When a user utters a query to receive a service desired by the user, the intelligent personal assistant performs voice recognition on the uttered query, analyzes the recognized query, and provides a service related to the query.

그러나 지능형 개인 비서는 음성 인식 시의 주변 소음, 발화 형태 등에 따라 사용자의 음성을 오인식할 수 있다. 즉, 사용자의 음성을 오인식하여 사용자의 의도와는 전혀 다른 서비스를 제공하는 문제점이 있었다. However, the intelligent personal assistant may misrecognize the user's voice depending on the surrounding noise and speech type during voice recognition. That is, there is a problem of providing a service completely different from the user's intention by misrecognizing the user's voice.

한국공개특허 제 2016-0071111호(2016.06.21 공개) Korean Patent Publication No. 2016-0071111 (published on June 21, 2016)

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 사용자의 음성 명령으로부터 서비스 도메인을 추출하고, 추출된 서비스 도메인에 기초하여 질의어 및 후보를 확장시켜 음성 인식을 수행함으로써, 사용자가 발화한 음성 명령을 오인식하더라도 사용자가 의도한 서비스를 제공하는 음성 인식 서비스를 제공하는 사용자 단말, 방법 및 음성 인식 서비스를 제공하는 서버를 제공하고자 한다. The present invention is to solve the above problem, by extracting a service domain from a user's voice command and performing voice recognition by expanding a query word and a candidate based on the extracted service domain, thereby misrecognizing a voice command uttered by the user. Even so, it is an object to provide a user terminal, a method, and a server providing a voice recognition service for providing a voice recognition service that provides a service intended by a user.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical task to be achieved by the present embodiment is not limited to the technical task as described above, and other technical tasks may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따르면, 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출하는 질의어 추출부, 상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 질의어 확장부, 상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 후보 확장부, 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하고, 상기 산출된 유사도에 기초하여 최종 후보를 선택하는 최종 후보 선택부 및 상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스를 제공하는 서비스 제공부를 포함하는 사용자 단말을 제공할 수 있다.As a technical means for achieving the above-described technical problem, according to an embodiment of the present invention, a query word extractor for extracting a query word and a service domain from a text for a voice command, and the query word is expanded based on the extracted service domain a query term extension unit generating at least one extended query term by A candidate extension unit generating at least one extension candidate by searching for one candidate and expanding the at least one candidate, calculating a similarity between the at least one extension query word, and the at least one extension candidate, and the calculated similarity It is possible to provide a user terminal including a final candidate selector that selects a final candidate based on , and a service provider that provides a service for the voice command based on the selected final candidate.

본 발명의 다른 실시예에 따르면, 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출하는 단계, 상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 단계, 상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하는 단계, 상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하는 단계, 상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 단계, 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하는 단계, 상기 산출된 유사도에 기초하여 최종 후보를 선택하는 단계 및 상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스를 제공하는 단계를 포함하는 음성 인식 서비스 제공 방법을 제공할 수 있다. According to another embodiment of the present invention, extracting a query word and a service domain from text for a voice command, generating at least one extended query word by expanding the query word based on the extracted service domain, the extracted determining at least one database for candidate search corresponding to the service domain; searching for at least one candidate for each of the at least one extended query word from the determined at least one database; expanding the at least one candidate generating at least one extension candidate by performing It is possible to provide a method for providing a voice recognition service including providing a service for the voice command based on the voice command.

본 발명의 또 다른 실시예에 따르면, 사용자 단말로부터 음성 명령을 수신하고, 상기 수신한 음성 명령에 대한 음성 인식을 통해 상기 음성 명령을 텍스트로 변환하는 음성 명령 수신부, 상기 변환된 텍스트로부터 질의어 및 서비스 도메인을 추출하는 질의어 추출부, 상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 질의어 확장부, 상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 후보 확장부, 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하고, 상기 산출된 유사도에 기초하여 최종 후보를 선택하는 최종 후보 선택부 및 상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스가 실행되도록 하는 서비스 제어 명령을 상기 사용자 단말로 전송하는 서비스 제어 명령 전송부를 포함하는 서버를 제공할 수 있다. According to another embodiment of the present invention, a voice command receiving unit that receives a voice command from a user terminal and converts the voice command into text through voice recognition for the received voice command, a query word and a service from the converted text a query word extracting unit for extracting a domain, a query term extension unit generating at least one extended query word by expanding the query word based on the extracted service domain, and at least one database for candidate search corresponding to the extracted service domain. a candidate extension unit that determines at least one extension candidate, searches for at least one candidate for each of the at least one extension query term from the determined at least one database, and expands the at least one candidate to generate at least one extension candidate, the at least one a final candidate selector that calculates a similarity between the extended query word of and the at least one extended candidate, selects a final candidate based on the calculated similarity, and executes the service for the voice command based on the selected final candidate It is possible to provide a server including a service control command transmission unit for transmitting a service control command to the user terminal.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자의 음성 명령을 오인식하더라도 서비스 도메인에 기초하여 확장된 질의어 및 후보를 통해 사용자가 원하는 서비스를 제공할 수 있도록 하는 음성 인식 서비스를 제공하는 사용자 단말, 방법 및 음성 인식 서비스 제공 서버를 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, even if the user's voice command is misrecognized, a user providing a voice recognition service that allows the user to provide a desired service through a query word and a candidate extended based on the service domain It is possible to provide a terminal, a method, and a server for providing a voice recognition service.

도 1은 본 발명의 일 실시예에 따른 음성 인식 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다.
도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 제 1 서비스 도메인과 관련된 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다.
도 4a 내지 도 4c는 본 발명의 일 실시예에 따른 제 2 서비스 도메인과 관련된 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 제 3 서비스 도메인과 관련된 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 사용자 단말에서 음성 인식 서비스를 제공하는 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 음성 인식 서비스 제공 서버의 구성도이다.
도 8은 본 발명의 일 실시예에 따른 음성 인식 서비스 제공 서버에서 음성 인식 서비스를 제공하는 방법의 순서도이다.
1 is a block diagram of a system for providing a voice recognition service according to an embodiment of the present invention.
2 is a block diagram of a user terminal according to an embodiment of the present invention.
3A to 3C are exemplary diagrams for explaining a process of providing a service related to a first service domain according to an embodiment of the present invention.
4A to 4C are exemplary diagrams for explaining a process of providing a service related to a second service domain according to an embodiment of the present invention.
5A to 5C are exemplary diagrams for explaining a process of providing a service related to a third service domain according to an embodiment of the present invention.
6 is a flowchart of a method for providing a voice recognition service in a user terminal according to an embodiment of the present invention.
7 is a block diagram of a voice recognition service providing server according to an embodiment of the present invention.
8 is a flowchart of a method for providing a voice recognition service in a voice recognition service providing server according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware. Meanwhile, '~ unit' is not limited to software or hardware, and '~ unit' may be configured to be in an addressable storage medium or to reproduce one or more processors. Accordingly, as an example, '~' indicates components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, components and '~ units' may be implemented to regenerate one or more CPUs in a device.

도 1은 본 발명의 일 실시예에 따른, 음성 인식 서비스 제공 시스템의 구성도이다. 도 1을 참조하면, 음성 인식 서비스 제공 시스템(1)은 사용자 단말(110) 및 음성 인식 서비스 제공 서버(120)를 포함할 수 있다. 1 is a block diagram of a system for providing a voice recognition service according to an embodiment of the present invention. Referring to FIG. 1 , a system for providing a voice recognition service 1 may include a user terminal 110 and a server for providing a voice recognition service 120 .

사용자 단말(110) 및 음성 인식 서비스 제공 서버(120)는 음성 인식 서비스 제공 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이며, 이러한 도 1의 음성 인식 서비스 제공 시스템(1)은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. The user terminal 110 and the voice recognition service providing server 120 exemplarily show components that can be controlled by the voice recognition service providing system 1, and the voice recognition service providing system 1 of FIG. ) is only one embodiment of the present invention, so the present invention is not limitedly interpreted through FIG. 1, and may be configured differently from FIG. 1 according to various embodiments of the present invention.

도 1의 음성 인식 서비스 제공 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 사용자 단말(110)은 음성 인식 서비스 제공 서버(120)와 동시에 시간 간격을 두고 연결될 수 있다. Each component of the voice recognition service providing system 1 of FIG. 1 is generally connected through a network. For example, as shown in FIG. 1 , the user terminal 110 may be simultaneously connected to the voice recognition service providing server 120 at a time interval.

네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다. A network refers to a connection structure in which information can be exchanged between each node, such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World). Wide Web), wired and wireless data communication networks, telephone networks, wired and wireless television networks, and the like. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound Communication, Visible Light Communication (VLC), LiFi, and the like are included, but are not limited thereto.

사용자 단말(110)은 예를 들어, 음성 인식 스피커, 스마트폰, 차량용 스피커, 태블릿 PC 등을 포함하는 음성 인식 서비스를 제공하는 모든 단말을 포함할 수 있다. The user terminal 110 may include all terminals providing a voice recognition service including, for example, a voice recognition speaker, a smart phone, a vehicle speaker, a tablet PC, and the like.

사용자 단말(110)은 음성 명령을 수신하고, 수신한 음성 명령에 대한 음성 인식을 통해 음성 명령을 텍스트로 변환할 수 있다. 예를 들어, 사용자 단말(110)은 수신한 음성 명령을 STT(Speach To Text)를 통해 텍스트로 변환할 수 있다. The user terminal 110 may receive a voice command and convert the voice command into text through voice recognition for the received voice command. For example, the user terminal 110 may convert the received voice command into text through STT (Speak to Text).

사용자 단말(110)은 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. 질의어란 사용자가 실행하고자 하는 서비스와 관련된 명령어로, 사용자가 실제 실행하고자 하는 서비스의 의도(intent) 및 요구 기능을 실행하기 위한 파라미터를 얻어내도록 하는 엔티티(entity)를 포함할 수 있다. 서비스 도메인은 특정 서비스의 영역으로서, 특정 서비스에서 활용되는 정보의 속성에 의해 정의될 수 있다. 즉, 서비스 도메인은 사용자로부터 입력된 음성 명령과 관련된 주제를 식별하기 위해 이용될 수 있다. 예를 들어, 사용자 단말(110)이 "아이유 노래 틀어줘"라는 음성 명령을 입력받은 경우, 사용자 단말(110)은 음성 명령에 대한 텍스트로부터 서비스 도메인을 '음악'으로 추출하고, 음악 도메인 내에서 질의어를 '아이유-음악재생'으로 추출할 수 있다. The user terminal 110 may extract a query word and a service domain from the text for the voice command. A query language is a command related to a service that a user wants to execute, and may include an entity that allows the user to obtain an intent of a service that the user wants to execute and parameters for executing a requested function. A service domain is an area of a specific service and may be defined by properties of information utilized in a specific service. That is, the service domain may be used to identify a subject related to a voice command input from the user. For example, when the user terminal 110 receives a voice command "Play IU's song", the user terminal 110 extracts the service domain from the text for the voice command as 'music', and The query word can be extracted as 'IU-music playback'.

여기서, 서비스 도메인은 통화 서비스에 해당하는 제 1 서비스 도메인, 문자 메시지 서비스에 해당하는 제 2 서비스 도메인, 인스턴트 메시지 서비스에 해당하는 제 3 서비스 도메인 및 컨텐츠 검색 서비스에 해당하는 제 4 서비스 도메인 등을 포함할 수 있다. 서비스 도메인은 제 1 서비스 도메인 내지 제 4 서비스 도메인 이외에도 다양하게 구성될 수 있으며, 이에 한정되는 것은 아니다.Here, the service domain includes a first service domain corresponding to a call service, a second service domain corresponding to a text message service, a third service domain corresponding to an instant message service, and a fourth service domain corresponding to a content search service. can do. The service domain may be variously configured in addition to the first to fourth service domains, but is not limited thereto.

사용자 단말(110)은 텍스트로부터 서비스 도메인에 관한 서비스 도메인 관련 텍스트를 추출하고, 추출한 서비스 도메인 관련 텍스트에 기초하여 제 1 서비스 도메인, 제 2 서비스 도메인, 제 3 서비스 도메인 및 제 4 서비스 도메인 중 어느 하나를 추출할 수 있다. 여기서, 서비스 도메인 관련 텍스트는 데이터베이스에 저장된 서비스 도메인의 키워드와 비교함으로써 추출될 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.The user terminal 110 extracts the service domain related text related to the service domain from the text, and based on the extracted service domain related text, any one of the first service domain, the second service domain, the third service domain, and the fourth service domain can be extracted. Here, the service domain related text may be extracted by comparing it with keywords of the service domain stored in the database. A detailed description thereof will be provided later.

사용자 단말(110)은 추출된 서비스 도메인에 기초하여 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성할 수 있다. 여기서, 사용자 단말(110)은 질의어를 추출된 도메인의 종류마다 다른 방식으로 확장할 수 있다. The user terminal 110 may generate at least one extended query by expanding the query based on the extracted service domain. Here, the user terminal 110 may expand the query word in a different way for each type of the extracted domain.

사용자 단말(110)은 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 결정된 적어도 하나의 데이터베이스로부터 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성할 수 있다. 여기서, 후보란 추출된 질의어와 동일 또는 유사한 키워드일 수 있다. 후보를 탐색함으로써 질의어가 오인식된 경우라 하더라도 질의어와 유사한 후보의 탐색을 통해 음성 인식의 정확도를 높여 사용자의 의도에 따라 서비스가 제공될 수 있도록 할 수 있다. The user terminal 110 determines at least one database for candidate search corresponding to the extracted service domain, searches for at least one candidate for each of at least one extended query word from the determined at least one database, and at least one At least one extension candidate may be generated by expanding the candidate. Here, the candidate may be a keyword that is the same as or similar to the extracted query word. Even when a query word is misrecognized by searching for a candidate, a service can be provided according to a user's intention by increasing the accuracy of voice recognition by searching for a candidate similar to the query word.

사용자 단말(110)은 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 유사도를 산출하고, 산출된 유사도에 기초하여 최종 후보를 선택할 수 있다. The user terminal 110 may calculate a similarity between at least one extended query word and at least one extended candidate, and select a final candidate based on the calculated similarity.

이를 위해, 사용자 단말(110)은 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 비교를 위해 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보를 적어도 하나의 변환 형식으로 변환할 수 있다. To this end, the user terminal 110 may convert the at least one extension query term and the at least one extension candidate into at least one transformation format for comparison between the at least one extension query term and the at least one extension candidate.

여기서, 적어도 하나의 변환 형식은 키스트로크(keystroke), 발음 기호, 문자열 등을 포함할 수 있다. 이후, 사용자 단말(110)은 적어도 하나의 확장 질의어 각각 및 적어도 하나의 확장 질의어 각각에 대응하는 적어도 하나의 확장 후보 각각의 유사도를 산출하고, 적어도 하나의 확장 후보 각각의 유사도에 기초하여 소정 개수의 유사 후보를 선택할 수 있다. 이 때, 사용자 단말(110)은 추출된 도메인의 종류마다 다른 기준으로 소정 개수의 유사 후보 중 최종 후보를 선택할 수 있다. Here, the at least one conversion format may include a keystroke, a phonetic symbol, a character string, and the like. Thereafter, the user terminal 110 calculates a similarity of each of the at least one extended query term and each of at least one extension candidate corresponding to each of the at least one extended query term, and based on the similarity of each of the at least one extension candidate, a predetermined number of Similar candidates can be selected. In this case, the user terminal 110 may select a final candidate from among a predetermined number of similar candidates based on different criteria for each type of the extracted domain.

사용자 단말(110)은 선택된 최종 후보에 기초하여 음성 명령에 대한 서비스를 제공할 수 있다. The user terminal 110 may provide a service for a voice command based on the selected final candidate.

본 발명의 다른 실시예에 따르면, 사용자 단말(110)이 음성 명령을 음성 인식 서비스 제공 서버(120)로 전송함으로써, 음성 인식 서비스 제공 서버(120)에 의해 수행될 수도 있다. 이하에서는 해당 실시예를 설명하기로 한다.According to another embodiment of the present invention, the user terminal 110 transmits a voice command to the voice recognition service providing server 120 , and thus may be performed by the voice recognition service providing server 120 . Hereinafter, a corresponding embodiment will be described.

음성 인식 서비스 제공 서버(120)는 사용자 단말(110)로부터 음성 명령을 수신하고, 수신한 음성 명령에 대한 음성 인식을 통해 음성 명령을 텍스트로 변환할 수 있다. The voice recognition service providing server 120 may receive a voice command from the user terminal 110 and convert the voice command into text through voice recognition for the received voice command.

음성 인식 서비스 제공 서버(120)는 변환된 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. 여기서, 서비스 도메인은 통화 서비스에 해당하는 제 1 서비스 도메인, 문자 메시지 서비스에 해당하는 제 2 서비스 도메인, 인스턴트 메시지 서비스에 해당하는 제 3 서비스 도메인 및 컨텐츠 검색 서비스에 해당하는 제 4 서비스 도메인 등을 포함할 수 있다. The voice recognition service providing server 120 may extract a query word and a service domain from the converted text. Here, the service domain includes a first service domain corresponding to a call service, a second service domain corresponding to a text message service, a third service domain corresponding to an instant message service, and a fourth service domain corresponding to a content search service. can do.

예를 들어, 음성 인식 서비스 제공 서버(120)는 텍스트로부터 서비스 도메인에 관한 서비스 도메인 관련 텍스트를 추출하고, 추출한 서비스 도메인 관련 텍스트에 기초하여 제 1 서비스 도메인, 제 2 서비스 도메인, 제 3 서비스 도메인 및 제 4 서비스 도메인 중 어느 하나를 추출할 수 있다. For example, the voice recognition service providing server 120 extracts a service domain related text related to a service domain from the text, and based on the extracted service domain related text, a first service domain, a second service domain, a third service domain and Any one of the fourth service domains may be extracted.

음성 인식 서비스 제공 서버(120)는 추출된 서비스 도메인에 기초하여 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성할 수 있다. 여기서, 음성 인식 서비스 제공 서버(120)는 질의어를 추출된 도메인의 종류마다 다른 방식으로 확장할 수 있다. The voice recognition service providing server 120 may generate at least one extended query by expanding the query based on the extracted service domain. Here, the voice recognition service providing server 120 may expand the query word in a different way for each type of the extracted domain.

음성 인식 서비스 제공 서버(120)는 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 결정된 적어도 하나의 데이터베이스로부터 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성할 수 있다.The voice recognition service providing server 120 determines at least one database for candidate search corresponding to the extracted service domain, and searches for at least one candidate for each of at least one extended query word from the determined at least one database, At least one extension candidate may be generated by extending the at least one candidate.

음성 인식 서비스 제공 서버(120)는 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 유사도를 산출하고, 산출된 유사도에 기초하여 최종 후보를 선택할 수 있다. The voice recognition service providing server 120 may calculate a similarity between at least one extended query word and at least one extended candidate, and select a final candidate based on the calculated similarity.

이를 위해, 음성 인식 서비스 제공 서버(120)는 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 비교를 위해 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보를 적어도 하나의 변환 형식으로 변환할 수 있다. 여기서, 적어도 하나의 변환 형식은 키스트로크(keystroke), 발음 기호, 문자열 등을 포함할 수 있다. To this end, the voice recognition service providing server 120 may convert the at least one extended query term and the at least one extended candidate into at least one conversion format for comparison between the at least one extended query term and the at least one extended candidate. Here, the at least one conversion format may include a keystroke, a phonetic symbol, a character string, and the like.

이후, 음성 인식 서비스 제공 서버(120)는 적어도 하나의 확장 질의어 각각 및 적어도 하나의 확장 질의어 각각에 대응하는 적어도 하나의 확장 후보 각각의 유사도를 산출하고, 적어도 하나의 확장 후보 각각의 유사도에 기초하여 소정 개수의 유사 후보를 선택할 수 있다. 이 때, 음성 인식 서비스 제공 서버(120)는 추출된 도메인의 종류마다 다른 기준으로 소정 개수의 유사 후보 중 최종 후보를 선택할 수 있다. Thereafter, the voice recognition service providing server 120 calculates a similarity of each of the at least one extended query term and each of at least one extension candidate corresponding to each of the at least one extended query term, and based on the similarity of each of the at least one extension candidate, A predetermined number of similar candidates may be selected. In this case, the voice recognition service providing server 120 may select a final candidate from among a predetermined number of similar candidates based on different criteria for each type of the extracted domain.

음성 인식 서비스 제공 서버(120)는 선택된 최종 후보에 기초하여 음성 명령에 대한 서비스가 실행되도록 하는 서비스 제어 명령을 사용자 단말(110)로 전송할 수 있다.The voice recognition service providing server 120 may transmit a service control command for executing a service for a voice command to the user terminal 110 based on the selected final candidate.

이하에서는 도 1의 음성 인식 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다. Hereinafter, the operation of each component of the voice recognition service providing system of FIG. 1 will be described in more detail.

도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다. 도 1 및 도 2를 참조하면, 사용자 단말(110)은 음성 인식부(210), 질의어 추출부(220), 질의어 확장부(230), 후보 확장부(240), 최종 후보 선택부(250), 서비스 제공부(260) 및 데이터베이스(270)를 포함할 수 있다. 2 is a block diagram of a user terminal according to an embodiment of the present invention. 1 and 2 , the user terminal 110 includes a voice recognition unit 210 , a query word extraction unit 220 , a query term expansion unit 230 , a candidate expansion unit 240 , and a final candidate selection unit 250 . , a service providing unit 260 and a database 270 may be included.

음성 인식부(210)는 음성 명령을 수신할 수 있다. 음성 명령은 예를 들어, 문자 메시지 및 통화의 수신자명, 인스턴트 메시지의 친구 리스트에 포함된 친구명, 컨텐츠를 검색하기 위한 플레이 리스트명 등을 포함할 수 있다. The voice recognition unit 210 may receive a voice command. The voice command may include, for example, a name of a recipient of a text message or a call, a name of a friend included in a friend list of an instant message, a name of a play list for searching content, and the like.

예를 들어, 음성 인식부(210)는 사용자로부터 "다니엘님에게 전화 걸어줘"와 같이 통화 서비스와 관련된 음성 명령을 수신할 수 있다. 다른 예를 들어, 음성 인식부(210)는 사용자로부터 "다니엘님에게 문자 보내줘"와 같이 문자 메시지와 관련된 음성 명령을 수신할 수 있다. 또 다른 예를 들어, 음성 인식부(210)는 사용자로부터 "다니엘님에게서 온 인스턴트 메시지 읽어줘"와 같이 인스턴트 메시지와 관련된 음성 명령을 수신할 수 있다. 또 다른 예를 들어, 음성 인식부(210)는 사용자로부터 "거짓말 노래 틀어줘"와 같이 컨텐츠 검색 서비스와 관련된 음성 명령을 수신할 수 있다. For example, the voice recognition unit 210 may receive a voice command related to a call service, such as “Call Daniel,” from the user. As another example, the voice recognition unit 210 may receive a voice command related to a text message, such as “send a text to Daniel” from the user. As another example, the voice recognition unit 210 may receive a voice command related to the instant message, such as “Read the instant message from Daniel” from the user. As another example, the voice recognition unit 210 may receive a voice command related to the content search service, such as “play a lie song” from the user.

음성 인식부(210)는 수신한 음성 명령에 대한 음성 인식을 통해 음성 명령을 텍스트로 변환할 수 있다. 예를 들어, 음성 인식부(210)는 수신한 음성 명령을 STT(Speach To Text)를 통해 텍스트로 변환할 수 있다.The voice recognition unit 210 may convert the voice command into text through voice recognition for the received voice command. For example, the voice recognition unit 210 may convert the received voice command into text through Speak to Text (STT).

질의어 추출부(220)는 음성 명령에 대한 텍스트로부터 질의어를 추출할 수 있다. 예를 들어, 질의어 추출부(220)는 텍스트로부터 질의어로서 수신자명, 메신져 친구명, 플레이리스트명 등을 추출할 수 있다. The query word extractor 220 may extract a query word from the text for the voice command. For example, the query word extraction unit 220 may extract a recipient name, a messenger friend name, a playlist name, and the like as a query word from the text.

질의어 추출부(220)는 음성 명령에 대한 텍스트로부터 서비스 도메인을 추출할 수 있다. 예를 들어, 질의어 추출부(220)는 음성 명령에 대한 텍스트로부터 서비스 도메인에 관한 서비스 도메인 관련 텍스트를 추출하고, 추출한 서비스 도메인 관련 텍스트에 기초하여 어느 하나의 서비스 도메인을 추출할 수 있다. 여기서, 서비스 도메인은 통화 서비스(예를 들어, 전화 걸기)에 해당하는 제 1 서비스 도메인, 문자 메시지 서비스(예를 들어, 문자 보내기, 문자 읽어주기)에 해당하는 제 2 서비스 도메인, 인스턴트 메시지 서비스(예를 들어, 인스턴트 메시지 보내기, 인스턴트 메시지 읽어주기)에 해당하는 제 3 서비스 도메인 및 컨텐츠 검색 서비스(예를 들어, 플레이 리스트 재생)에 해당하는 제 4 서비스 도메인 등을 포함할 수 있다. The query word extractor 220 may extract a service domain from the text for the voice command. For example, the query word extractor 220 may extract a service domain related text related to a service domain from the text for the voice command, and extract any one service domain based on the extracted service domain related text. Here, the service domain includes a first service domain corresponding to a call service (eg, making a call), a second service domain corresponding to a text message service (eg, sending a text message, reading a text), and an instant message service ( For example, it may include a third service domain corresponding to sending an instant message and reading an instant message) and a fourth service domain corresponding to a content search service (eg, playing a play list).

예를 들어, 질의어 추출부(220)는 도메인 분류기를 이용하여 제 1 내지 제 4 서비스 도메인 중 어느 하나를 추출할 수 있다. 여기서, 질의어 추출부(220)는, 도메인에 특화된 단어 의미 벡터를 얻어내면서 동시에 빠른 수행 속도를 유지하기 위해 기존에 사용되던 캐릭터 기반 의미 벡터 대신 도메인 특화 의미 벡터를 이용할 수 있다. 도메인 특화 의미 벡터는 예를 들어, GloVe(Global Vectors) 의미 벡터 등과 같이 일반 단어 의미 벡터로는 표현할 수 없는, 해당 문제에 특허된 단어의 의미를 나타내기 위한 것으로, 네트워크 모델 훈련시에 같이 훈련될 수 있다. 여기서, GloVe란 분산 단어 표현에 대한 모델로, 해당 모델은 단어에 대한 벡터 표현을 획득하기 위한 비지도 학습 알고리즘일 수 있으며, 해당 모델은 단어를 의미있는 공간으로 매핑시킴으로써 획득될 수 있고, 단어 간의 거리는 의미론적 유사성과 관련이 있다. For example, the query word extractor 220 may extract any one of the first to fourth service domains using a domain classifier. Here, the query word extractor 220 may use a domain-specific semantic vector instead of a character-based semantic vector used in the past to obtain a domain-specific word semantic vector while maintaining a fast execution speed. Domain-specific semantic vectors are for expressing the meaning of patented words for the problem that cannot be expressed with general word semantic vectors, such as, for example, GloVe (Global Vectors) semantic vectors. can Here, GloVe is a model for a distributed word expression, and the model may be an unsupervised learning algorithm for obtaining a vector expression for a word, and the model may be obtained by mapping a word into a meaningful space, and between words Distance is related to semantic similarity.

도메인 특화 의미 벡터를 이용함으로써 문장 단위 정확률의 성능이 향상되며, 도메인 특화 의미 벡터가 각 문제에서 단어의 의미 벡터를 fine-tuning하는데 효과적일 수 있다. 질의어 추출부(220)는 도메인 특화 의미 벡터에 기초한 도메인 분류기를 이용한 방법 외에도, 다양한 방법으로 서비스 도메인을 추출할 수 있으며, 이에 한정하지 않는다. By using the domain-specific semantic vector, the performance of sentence unit accuracy is improved, and the domain-specific semantic vector can be effective in fine-tuning the semantic vector of a word in each problem. The query word extractor 220 may extract the service domain in various ways other than the method using the domain classifier based on the domain-specific semantic vector, but is not limited thereto.

다른 예를 들어, 질의어 추출부(220)는 추출한 서비스 도메인 관련 텍스트를 각각의 서비스 도메인의 키워드가 저장된 데이터베이스(270)와 비교하여 제 1 내지 제 4 서비스 도메인 중 어느 하나를 추출할 수 있다. As another example, the query word extractor 220 may extract any one of the first to fourth service domains by comparing the extracted service domain related text with the database 270 in which keywords of each service domain are stored.

데이터베이스(270)는 제 1 내지 제 4 데이터베이스를 포함할 수 있다. 제 1 데이터베이스에는 '통화, 전화, 발신, 수신, 발신자, 수신자, 걸어줘, 연결' 등과 같이 제 1 서비스 도메인과 관련된 키워드가 저장되어 있을 수 있다. 제 2 데이터베이스에는 '문자, 발송, 발신, 수신, 발신자, 수신자, 응답, 메시지, 보내줘, 읽어줘' 등과 같이 제 2 서비스 도메인과 관련된 키워드가 저장되어 있을 수 있다. 제 3 데이터베이스는 '친구, 지인, 메시지, 톡, 채팅, 단체 채팅, 보내줘, 읽어줘' 등과 같이 제 3 서비스 도메인과 관련된 키워드가 저장되어 있을 수 있다. 제 4 데이터베이스는 '노래, 음악, 영화, 드라마, 미드, 일드, 틀어줘, 재생, 빠르게, 느리게, 다음곡(노래), 이전곡(노래), 일시정지, 정지' 등과 같이 제 4 서비스 도메인과 관련된 키워드가 저장되어 있을 수 있다. The database 270 may include first to fourth databases. Keywords related to the first service domain may be stored in the first database, such as 'call, phone call, outgoing, receiving, calling, receiving, calling, connection'. The second database may store keywords related to the second service domain, such as 'text, sending, sending, receiving, sender, receiver, response, message, send, read'. The third database may store keywords related to the third service domain, such as 'friend, acquaintance, message, chat, chat, group chat, send, read'. The 4th database is connected with the 4th service domain such as 'song, music, movie, drama, mid, yield, play, play, fast, slow, next song (song), previous song (song), pause, stop' Related keywords may be stored.

예를 들어, 질의어 추출부(220)는 "다니엘님에게 전화 걸어줘"라는 음성 명령으로부터 [전화, 걸어줘]라는 서비스 도메인 관련 텍스트를 추출하여 제 1 서비스 도메인을 추출할 수 있다. 다른 예를 들어, 질의어 추출부(220)는 "다니엘님에게 문자 보내줘"라는 음성 명령으로부터 [문자, 보내줘]라는 서비스 도메인 관련 텍스트를 추출하여 제 2 서비스 도메인을 추출할 수 있다. 또 다른 예를 들어, 질의어 추출부(220)는 "다니엘님에게서 온 인스턴트 메시지 읽어줘"라는 음성 명령으로부터 [인스턴트 메시지, 읽어줘]라는 서비스 도메인 관련 텍스트를 추출하여 제 3 서비스 도메인을 추출할 수 있다. 또 다른 예를 들어, 질의어 추출부(220)는 "거짓말 노래 틀어줘"라는 음성 명령으로부터 [노래, 틀어줘]라는 서비스 도메인 관련 텍스트를 추출하여 제 4 서비스 도메인을 추출할 수 있다. For example, the query word extractor 220 may extract the first service domain by extracting the service domain related text of [Call, call me] from the voice command "Call Daniel". As another example, the query word extracting unit 220 may extract the second service domain by extracting the service domain related text of [text, send me] from the voice command of "send a text to Daniel". As another example, the query word extraction unit 220 may extract the third service domain by extracting the service domain related text of [instant message, read me] from the voice command "Read the instant message from Daniel". have. As another example, the query word extractor 220 may extract the service domain related text of [sing, play] from the voice command of "play a lie song" to extract the fourth service domain.

질의어 확장부(230)는 추출된 서비스 도메인에 기초하여 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성할 수 있다. 여기서, 질의어 확장부(230)는 질의어를 추출된 도메인의 종류마다 다른 방식으로 확장할 수 있다. The query term extension unit 230 may generate at least one extended query term by expanding the query term based on the extracted service domain. Here, the query word extension unit 230 may expand the query word in a different way for each type of the extracted domain.

예를 들어, 질의어 확장부(230)는 추출된 서비스 도메인이 제 1 서비스 도메인 또는 제 2 서비스 도메인에 해당하는 경우, 질의어에 대해 사용자 단말(110)의 주소록의 필드에 따른 조합, 접미사를 제외한 확장 등을 수행하여 적어도 하나의 확장 질의어를 생성할 수 있다. 예를 들어, 질의어 확장부(230)는 '다니엘, 대리'라는 질의어에 대해 주소록 필드에 따른 조합을 통해 '다니엘 대리'와 같이 확장 질의어를 생성할 수 있다. For example, when the extracted service domain corresponds to the first service domain or the second service domain, the query word extension unit 230 extends the query word except for combinations and suffixes according to fields of the address book of the user terminal 110 . and the like to generate at least one extended query word. For example, the query word extension unit 230 may generate an extended query word such as 'Daniel by proxy' by combining the query word 'Daniel, proxy' according to the address book field.

다른 예를 들어, 질의어 확장부(230)는 제 3 서비스 도메인에 기초하여 질의어에 대해 접미사를 제외한 확장을 수행하여 적어도 하나의 확장 질의어를 생성할 수 있다. 예를 들어, 질의어 확장부(230)는 '다니엘님'이라는 질의어에 대해 접미사를 제외한 확장을 통해 '다니엘'이라는 확장 질의어를 생성할 수 있다. As another example, the query term extension unit 230 may generate at least one extended query term by performing extension excluding the suffix on the query term based on the third service domain. For example, the query word extension unit 230 may generate the extended query word 'Daniel' by expanding the query word 'Daniel' by excluding the suffix.

또 다른 예를 들어, 질의어 확장부(230)는 제 4 서비스 도메인에 기초하여 질의어에 대해 날짜 형식의 정규화를 수행하여 적어도 하나의 확장 질의어를 생성할 수 있다. 예를 들어, 질의어 확장부(230)는 질의어가 '2019/12/31'라는 날짜 형식을 포함하는 경우, 해당 날짜 형식의 정규화를 수행하여 '2019년 12월 31일'로 확장 질의어를 생성할 수 있다. As another example, the query term extension unit 230 may generate at least one extended query term by performing date format normalization on the query term based on the fourth service domain. For example, when the query word includes a date format of '2019/12/31', the query word extension unit 230 performs normalization of the date format to generate the extended query word as 'December 31, 2019'. can

후보 확장부(240)는 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스(270)를 결정하고, 결정된 적어도 하나의 데이터베이스(270)로부터 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성할 수 있다. 여기서, 후보는 키(key)와 서비스에 대한 ID에 해당하는 값(value)로 구성될 수 있다. 여기서, 키(key)는 특정 텍스트와 관련된 파라미터명을 나타내고, 값(value)은 서비스에 대한 ID에 대응하여 추출된 값을 의미하며, 키와 값은 예를 들어, 키1(key1) 및 값1(value1)과 같이 매칭되어 저장되어 있을 수 있다. The candidate extension unit 240 determines at least one database 270 for candidate search corresponding to the extracted service domain, and at least one candidate for each of the at least one extended query word from the determined at least one database 270 . At least one extension candidate may be generated by searching for , and expanding the at least one candidate. Here, the candidate may be composed of a key and a value corresponding to an ID for a service. Here, a key indicates a parameter name related to a specific text, a value indicates a value extracted in response to an ID for a service, and the key and value are, for example, key1 and value. 1 (value1) may be matched and stored.

데이터베이스(270)는 제 5 내지 제 7 데이터베이스를 더 포함할 수 있다. 제 5 데이터베이스에는 사용자가 사용자 단말(110)의 설치된 주소록 앱을 통해 등록한 친구명, 친구 전화 번호 등이 저장되어 있을 수 있다. 제 6 데이터베이스에는 사용자가 인스턴트 메시지 서비스를 통해 등록한 친구명 또는 친구 ID, 대화 내용 등이 저장되어 있을 수 있다. 제 7 데이터베이스에는 컨텐츠 검색 서비스를 제공하기 위한 복수의 컨텐츠명, 복수의 컨텐츠명과 관련된 메타데이터 등이 저장되어 있을 수 있다. The database 270 may further include fifth to seventh databases. The fifth database may store a friend name, a friend phone number, etc. registered by the user through the installed address book app of the user terminal 110 . The sixth database may store a friend name or friend ID registered by the user through the instant message service, conversation details, and the like. The seventh database may store a plurality of content names for providing a content search service, metadata related to the plurality of content names, and the like.

예를 들어, 후보 확장부(240)는 제 5 데이터베이스로부터 확장 질의어 각각에 대한 후보를 탐색한 경우, 탐색한 후보를 주소록의 필드에 따른 조합과 접미사를 제외한 확장을 수행하여 적어도 하나의 확장 후보를 생성할 수 있다. 예를 들어, 사용자 단말(110)의 주소록의 친구명으로 '다니엘, 대리'가 등록된 경우, 후보 확장부(240)는 확장 질의어에 기초하여 제 5 데이터베이스로부터 후보로서 '다니엘, 대리'를 탐색하고, 탐색한 후보에 기초하여 '다니엘 대리'와 같이 확장 후보를 생성할 수 있다. For example, when a candidate for each extended query word is searched for from the fifth database, the candidate extension unit 240 expands the searched candidate by excluding a suffix and a combination according to a field of the address book to obtain at least one extension candidate. can create For example, when 'Daniel, Assistant' is registered as a friend name in the address book of the user terminal 110, the candidate extension unit 240 searches for 'Daniel, Assistant' as a candidate from the fifth database based on the extended query word. and, based on the searched candidate, an extension candidate such as 'Daniel Deputy' may be generated.

다른 예를 들어, 후보 확장부(240)는 제 6 데이터베이스로부터 확장 질의어 각각에 대한 후보를 탐색한 경우, 탐색한 후보에 대해 영어와 한글을 분리하고, 성씨를 제외한 이름을 추출하는 확장을 수행하여 적어도 하나의 확장 후보를 생성할 수 있다. 예를 들어, 사용자 단말(110)의 인스턴트 메시지 서비스의 친구명으로 '이다니엘(daniel)'이 등록된 경우, 후보 확장부(240)는 확장 질의어에 기초하여 제 6 데이터베이스로부터 후보로서 '이다니엘(daniel)'을 탐색하고, 탐색한 후보에 기초하여 '이다니엘', '다니엘', 'daniel'과 같이 확장 후보를 생성할 수 있다.As another example, when candidates for each extended query word are searched for from the sixth database, the candidate extension unit 240 separates English and Korean for the searched candidates, and performs expansion to extract names except for surnames. At least one extension candidate may be generated. For example, when 'Daniel' is registered as a friend name of the instant message service of the user terminal 110, the candidate extension unit 240 selects 'Daniel' as a candidate from the sixth database based on the extended query word. (daniel)' is searched, and extension candidates such as 'Daniel', 'Daniel', and 'daniel' may be generated based on the searched candidate.

또 다른 예를 들어, 후보 확장부(240)는 제 7 데이터베이스로부터 확장 질의어 각각에 대한 후보를 탐색한 경우, 탐색한 후보에 대해 날짜 형식 정규화를 수행하거나, 가능한 후보의 조합의 생성을 통해 적어도 하나의 확장 후보를 생성할 수 있다. 예를 들어, 사용자 단말(110)의 써드파티(3rd-party) 앱 등을 통해 컨텐츠를 검색, 이용, 구매, 보유한 경우, 후보 확장부(240)는 확장 질의어에 기초하여 제 7 데이터베이스로부터 후보로서 '2019/12/31'을 탐색하고, 탐색된 후보에 기초하여 '2019년 12월 31일'과 같이 확장 후보를 생성할 수 있다. As another example, when candidates for each extended query word are searched for from the seventh database, the candidate extension unit 240 performs date format normalization on the searched candidates or generates at least one possible candidate combination. of extension candidates can be created. For example, the third party (3 rd -party) if the content through the application program such as search, use, purchase, held, candidate extended portion 240 of the user terminal 110 based on the expanded query phrase candidates from the database 7 '2019/12/31' may be searched as '2019/12/31', and an extension candidate may be generated such as 'December 31, 2019' based on the found candidate.

다음의 표 1은 '다니엘, 대리'라는 질의어에 대하여 생성된 확장 질의어 및 확장 후보를 나타내고 있다. 서비스 도메인은 제 1 서비스 도메인인 것으로 가정한다.Table 1 below shows extended query words and extended candidates generated for the query word 'Daniel, Deputy'. It is assumed that the service domain is the first service domain.

Figure 112019106468661-pat00001
Figure 112019106468661-pat00001

예를 들어, 질의어가 "다니엘, 대리'인 경우, 질의어 확장부(230)는 접미사를 제외한 확장을 통해 '다니엘 대리'와 '다니엘'과 같이 확장 질의어를 생성할 수 있다. 후보 확장부(240)는 제 5 데이터베이스로부터 '다니엘 대리'라는 확장 질의어에 대한 후보로서 '다니엘, 대리님', '강다니엘(daniel)'을 추출할 수 있다. 이때, 후보 확장부(240)는 후보 중 하나인 '다니엘, 대리님'을 확장하여, '다니엘 대리님', '다니엘대리', '다니엘'이라는 확장 후보를 생성할 수 있다. 또한, 후보 확장부(240)는 후보 중 다른 하나인 '강다니엘(daniel)'을 확장하여, '강다니엘', '다니엘', 'daniel'이라는 확장 후보를 생성할 수 있다.For example, when the query word is "Daniel, proxy", the query word extension unit 230 may generate extended query words such as 'Daniel by proxy' and 'Daniel' through extension excluding the suffix. Candidate extension unit 240 ) may extract 'Daniel, sir' and 'Daniel Kang' as candidates for the extended query term 'Daniel Assistant' from the fifth database In this case, the candidate extension unit 240 is one of the candidates. Extension candidates such as 'Daniel Daniel', 'Daniel Daniel', and 'Daniel' may be created by expanding 'Daniel, Assistant Manager.' Also, the candidate extension unit 240 may include one of the candidates, 'Kang Daniel,' (daniel)' can be extended to create extension candidates such as 'Daniel Kang', 'Daniel', and 'daniel'.

또한, 후보 확장부(240)는 제 6 데이터베이스로부터 '다니엘'이라는 확장 질의어에 대한 후보로서 '강다니엘(Daniel)'을 추출할 수 있다. 이때, 후보 확장부(240)는 후보인 '강다니엘(Daniel)'을 확장하여, '강다니엘', '다니엘', 'daniel'이라는 확장 후보를 생성할 수 있다.Also, the candidate extension unit 240 may extract 'Daniel Kang' as a candidate for the extended query word 'Daniel' from the sixth database. In this case, the candidate extension unit 240 may expand the candidate 'Daniel Kang' to generate extension candidates 'Daniel Kang', 'Daniel', and 'daniel'.

최종 후보 선택부(250)는 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 유사도를 산출하고, 산출된 유사도에 기초하여 최종 후보를 선택할 수 있다.The final candidate selector 250 may calculate a similarity between at least one extended query word and at least one extended candidate, and select a final candidate based on the calculated similarity.

최종 후보 선택부(250)는 형식 변환부(251) 및 유사 후보 선택부(252)를 포함할 수 있다. The final candidate selection unit 250 may include a format conversion unit 251 and a similar candidate selection unit 252 .

형식 변환부(251)는 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 비교를 위해 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보를 적어도 하나의 변환 형식으로 변환할 수 있다. 여기서, 적어도 하나의 변환 형식은 키스트로크(keystroke), 발음 기호, 문자열 등을 포함할 수 있다. 키스트로크는 알파벳으로 표현한 타이핑 쿼리를 의미하고, 발음 기호는 미리 정의된 기호로 발음을 표현한 것을 의미하고, 문자열은 입력 문자열 그대로를 사용하는 것을 의미한다. The form converter 251 may convert the at least one extension query word and the at least one extension candidate into at least one transformation form for comparison between the at least one extension query word and the at least one extension candidate. Here, the at least one conversion format may include a keystroke, a phonetic symbol, a character string, and the like. A keystroke refers to a typing query expressed in alphabetical terms, a phonetic symbol refers to a pronunciation expressed using a predefined symbol, and a character string refers to using an input string as it is.

예를 들어, 변환 형식이 키스트로크로 설정된 경우, 형식 변환부(251)는 '다니엘'이라는 확장 질의어를 'eksldpf'과 같이 변환할 수 있으며, 확장 후보 또한 동일한 형식으로 변환할 수 있다. 여기서, 영어로 구성된 확장 질의어의 경우, 한글 발음으로 변환 후에 키스트로크 변환을 수행할 수 있다. 예를 들어, 형식 변환부(251)는 'daniel'이라는 확장 질의어를 '다니엘'과 같이 한글 발음으로 변환한 후에 'eksldpf'과 같이 변환할 수 있다. For example, when the conversion format is set to a keystroke, the format conversion unit 251 may convert the extended query word 'Daniel' to 'eksldpf', and may also convert the extension candidate into the same format. Here, in the case of an extended query word composed of English, keystroke conversion may be performed after conversion into Korean pronunciation. For example, the format conversion unit 251 may convert the extended query word 'daniel' into a Korean pronunciation like 'Daniel' and then convert it into 'eksldpf'.

다른 예를 들어, 변환 형식이 발음 기호로 설정된 경우, 형식 변환부(251)는 '다니엘'이라는 확장 질의어를 'da ni el'과 같이 변환할 수 있으며, 확장 후보 또한 동일한 형식으로 변환할 수 있다. As another example, when the conversion format is set to a phonetic symbol, the format conversion unit 251 may convert the extended query word 'Daniel' to the same format as 'da ni el', and the extension candidates may also be converted into the same format. .

또 다른 예를 들어, 변환 형식이 문자열로 설정된 경우, 형식 변환부(251)는 '다니엘'이라는 확장 질의어를 '다니엘'과 같이 그대로 이용할 수 있다. As another example, when the conversion format is set to a character string, the format conversion unit 251 may use the extended query word 'Daniel' as it is, like 'Daniel'.

유사 후보 선택부(252)는 적어도 하나의 확장 질의어 각각 및 적어도 하나의 확장 질의어 각각에 대응하는 적어도 하나의 확장 후보 각각의 유사도를 산출할 수 있다. The similarity candidate selector 252 may calculate the similarity of each of the at least one extended query term and each of the at least one extended candidate corresponding to each of the at least one extended query term.

다음의 표 2는 '다니엘, 대리'라는 질의어에 있어서, 확장질의어와 확장후보 간의 유사도를 나타내고 있다. Table 2 below shows the similarity between the extended query word and the extended candidate in the query word 'Daniel, Deputy'.

Figure 112019106468661-pat00002
Figure 112019106468661-pat00002

표 2를 참조하면, 유사 후보 선택부(252)는 '다니엘 대리'라는 확장 질의어와 이에 대한 확장 후보를 각각 비교하여 유사도를 산출하고, '다니엘'이라는 확장 질의어와 이에 대한 확장 후보를 각각 비교하여 유사도를 산출할 수 있다.Referring to Table 2, the similar candidate selection unit 252 calculates similarity by comparing the extended query word 'Daniel's proxy' with the extended candidate, respectively, and compares the extended query word 'Daniel' with the extended candidate for the same. The similarity can be calculated.

예를 들어, 표 2에는 '다니엘 대리'라는 확장 질의어'와 '다니엘 대리님'이라는 확장 후보 간의 유사도가 95%이고, '다니엘'라는 확장 질의어'와 '강다니엘'이라는 확장 후보 간의 유사도가 80%인 것을 나타내고 있다.For example, in Table 2, the similarity between the extended query term 'Daniel Daniel' and the extended candidate 'Daniel Daniel' is 95%, and the similarity between the extended query term 'Daniel' and the extended candidate 'Kang Daniel' is 80. % is shown.

이와 같이, 본 발명에 따르면, 질의어뿐만 아니라 후보를 확장하고 확장 질의어와 확장 후보 간의 유사도를 산출하여 음성 인식 서비스를 수행함으로써 사용자의 음성 명령이 오인식될 확률을 현저하게 낮출 수 있다. As described above, according to the present invention, the probability of a user's voice command being misrecognized can be significantly reduced by expanding not only the query word but also the candidate and calculating the similarity between the extended query word and the extended candidate to perform the voice recognition service.

이 때, 유사 후보 선택부(252)는 편집 거리(ED, Edit Distance)에 따른 에러 점수(Error Model)에 기초하여 각각의 유사도를 산출할 수 있다. 편집 거리는 A라는 키워드를 B라는 키워드로 만들기 위해 필요한 편집 횟수를 의미하며, 예를 들어, '카카??'을 '카카오'로 만들기 위해 '1회'(insertion 1회)의 편집이 요구되므로 이 경우, 편집 거리는 '1회'이다. 에러 점수는 정타와 오타 사이에서 오타가 입력될 확률을 의미하며, 예를 들어, '한겨례'와 '한겨레'의 경우, 'ㅔ'를 입력해야 하지만 'ㅖ'가 입력된 확률을 의미할 수 있다. In this case, the similarity candidate selector 252 may calculate each degree of similarity based on an error model according to an edit distance (ED). Editing distance means the number of edits required to make the keyword A into the keyword B. In this case, the edit distance is 'one time'. The error score means the probability that a typo is entered between the regular hit and the typo. For example, in the case of 'The Hankyoreh' and 'The Hankyoreh', it may mean the probability that 'ㅔ' is entered but 'ㅖ' is entered. .

유사 후보 선택부(252)는 적어도 하나의 확장 후보 각각에 대한 유사도에 기초하여 소정 개수의 유사 후보를 선택할 수 있다. 예를 들어, 유사 후보 선택부(252)는 확장 질의어가 N개인 경우, 각 확장 질의어 별로 최대 K개(K는 각 확장 질의어에 대한 확장 후보의 개수 중 최대의 수일 수 있음)의 유사한 후보를 선택할 수 있다.The similarity candidate selector 252 may select a predetermined number of similarity candidates based on the similarity of each of the at least one extension candidate. For example, when there are N extended query words, the similar candidate selector 252 selects a maximum of K similar candidates for each extended query (where K may be the maximum among the number of extended candidates for each extended query). can

예를 들어, 유사 후보 선택부(252)는 기설정된 유사도 이상을 가진 최대 K개의 확장후보를 유사 후보로서 선택할 수 있다. 예를 들어, 표 2의 경우, 90% 유사도 이상을 가진 '다니엘 대리님'(유사도: 95%), '다니엘 대리'(유사도: 100%), 'daniel'(유사도: 90%)가 유사 후보로서 선택될 수 있다.For example, the similarity candidate selector 252 may select a maximum of K extended candidates having a predetermined similarity or higher as similarity candidates. For example, in Table 2, 'Daniel's representative' (similarity: 95%), 'Daniel's representative' (similarity: 100%) and 'daniel' (similarity: 90%) with a degree of similarity of 90% or higher are similar candidates. can be selected as

최종 후보 선택부(250)는 추출된 도메인의 종류마다 다른 기준으로 소정 개수의 유사 후보 중 최종 후보를 선택할 수 있다. The final candidate selector 250 may select a final candidate from among a predetermined number of similar candidates based on different criteria for each type of the extracted domain.

최종 후보 선택부(250)는 예를 들어, 상술한 바와 같이 '다니엘 대리님'(유사도: 95%), '다니엘 대리'(유사도: 100%), 'daniel'(유사도: 90%)가 유사 후보인 경우, 이 중 하나를 최종 후보로 선택할 수 있다The final candidate selection unit 250 is, for example, similar to 'Daniel's assistant' (similarity: 95%), 'Daniel's assistant' (similarity: 100%), and 'daniel' (similarity: 90%) as described above. In the case of candidates, one of them may be selected as the final candidate.

최종 후보 선택부(250)는 어느 한 유사 후보의 유사도가 다른 유사 후보보다 독보적으로 높은 경우(유사도의 차이가 기설정된 범위를 초과하는 경우), 해당 유사 후보를 최종 후보로서 선택할 수 있다. 예를 들어, 제 1 유사 후보의 유사도 90%이고, 제 2 유사 후보 및 제 3 유사 후보의 유사도가 각각 65%, 45%인 경우, 최종 후보 선택부(250)는 제 1 유사 후보를 최종 후보로서 선택할 수 있다. When the similarity of one similar candidate is uniquely higher than that of another similar candidate (the difference in similarity exceeds a preset range), the final candidate selector 250 may select the corresponding similar candidate as the final candidate. For example, when the similarity of the first similarity candidate is 90% and the similarity of the second similarity candidate and the third similarity candidate are 65% and 45%, respectively, the final candidate selection unit 250 selects the first similarity candidate as the final candidate. can be selected as

다른 예를 들어, 최종 후보 선택부(250)는 유사도의 차이가 기설정된 범위 내에 있는 경우, 서비스 도메인의 특성을 더 고려하여 유사 후보를 선택할 수 있다. As another example, when the difference in similarity is within a preset range, the final candidate selector 250 may select a similar candidate by further considering the characteristics of the service domain.

예컨대, 최종 후보 선택부(250)는 질의어가 제 1 서비스 도메인에 관한 것인 경우, 최근 통화 이력에 기초하여 사용자(100)가 송신할 확률을 계산하고, 이를 더 고려하여 최종 후보를 선택할 수 있다.For example, when the query term is related to the first service domain, the final candidate selection unit 250 may calculate a probability that the user 100 will transmit based on the recent call history, and further consider this to select the final candidate. .

또한, 최종 후보 선택부(250)는 질의어가 제 3 서비스 도메인에 관한 것인 경우, 확장 후보에 대응하는 후보와의 채팅 횟수, 해당 후보와의 단체 채팅방 수, 해당 후보와의 최근 채팅 이력 등에 기초하여 산출된 친밀도 점수를 더 고려하여 최종 후보를 선택할 수 있다. In addition, when the query word relates to the third service domain, the final candidate selection unit 250 may be configured based on the number of chats with the candidate corresponding to the extension candidate, the number of group chat rooms with the candidate, the recent chat history with the candidate, etc. A final candidate may be selected by further considering the calculated intimacy score.

또한, 최종 후보 선택부(250)는 유사 후보 간의 유사도의 차이에 기초하여 유사도 및 서비스 도메인의 특성에 대한 가중치를 다르게 적용하여 최종 후보를 선택할 수도 있다. 예를 들어, 최종 후보 선택부(250)는 최종 후보를 선택함에 있어서 유사도에 제 1 가중치를 적용하고, 도메인의 특성에 제 2 가중치를 적용할 수 있다. 이때, 제 1 가중치는 유사도의 차이에 비례하고, 제 2 가중치는 유사도의 차이에 반비례할 수 있다.Also, the final candidate selector 250 may select the final candidate by applying different weights to the similarity and service domain characteristics based on the difference in the similarity between the similar candidates. For example, in selecting a final candidate, the final candidate selector 250 may apply a first weight to the similarity and apply a second weight to the characteristic of the domain. In this case, the first weight may be proportional to the difference in the similarity, and the second weight may be inversely proportional to the difference in the similarity.

서비스 제공부(260)는 선택된 최종 후보에 기초하여 음성 명령에 대한 서비스를 제공할 수 있다. 이 때, 서비스 제공부(260)는 최종 후보의 값(value)에 해당하는 서비스 ID를 이용하여 음성 명령에 대한 서비스를 제공할 수 있다. 음성 명령에 대한 서비스를 제공하는 과정에 대해서는 도 3a 내지 도 6c를 통해 상세히 설명하도록 한다. The service providing unit 260 may provide a service for a voice command based on the selected final candidate. In this case, the service providing unit 260 may provide a service for the voice command using a service ID corresponding to a value of the final candidate. A process of providing a service for a voice command will be described in detail with reference to FIGS. 3A to 6C .

도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 제 1 서비스 도메인과 관련된 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다. 3A to 3C are exemplary diagrams for explaining a process of providing a service related to a first service domain according to an embodiment of the present invention.

도 3a를 참조하면, 음성 인식부(210)는 사용자(100)로부터 발화된 "헤이 카카오, 다니엘님에게 전화 걸어줘"(300)라는 음성 명령에 대해 음성 인식을 수행하고, 음성 명령을 텍스트로 변환할 수 있다. Referring to FIG. 3A , the voice recognition unit 210 performs voice recognition on the voice command “Hey Kakao, call Daniel,” 300 uttered from the user 100, and converts the voice command into text. can be converted

질의어 추출부(220)는 변환된 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. 예를 들어, 질의어 추출부(220)는 텍스트로부터 수신자명에 해당하는 '다니엘님'이라는 질의어를 추출하고, 제 1 데이터베이스를 탐색하여 제 1 서비스 도메인 관련 텍스트로서 [전화, 걸어줘]를 추출하고, 이를 통해 통화 서비스에 해당하는 제 1 서비스 도메인을 추출할 수 있다. The query word extractor 220 may extract a query word and a service domain from the text for the converted voice command. For example, the query word extraction unit 220 extracts the query word 'Daniel' corresponding to the recipient's name from the text, searches the first database, and extracts [Call, Call] as text related to the first service domain, , it is possible to extract the first service domain corresponding to the call service through this.

도 3b를 참조하면, 질의어 확장부(230)는 추출된 제 1 서비스 도메인에 기초하여 '다니엘님'이라는 질의어를 확장시킴으로써 '다니엘'과 같이 확장 질의어를 생성하고, 후보 확장부(240)는 사용자 단말(110)에 설치된 주소록(310)을 통해 '다니엘'이라는 확장 질의어에 대한 '다니엘, 대리'(311)라는 후보를 탐색하여 '다니엘, 대리'(311)를 확장시킴으로써, '다니엘 대리', '다니엘'로 확장 후보를 생성하고, 최종 후보 선택부(250)는 '다니엘'이라는 확장 질의어와 '다니엘 대리', '다니엘' 각각의 유사도를 비교하여 최종 후보로 '다니엘, 대리'(311)를 선택할 수 있다. Referring to FIG. 3B , the query term extension unit 230 generates an extended query term such as 'Daniel' by expanding the query term 'Daniel' based on the extracted first service domain, and the candidate extension unit 240 provides a user Through the address book 310 installed in the terminal 110, the candidate 'Daniel, deputy' 311 for the extended query word 'Daniel' is searched for and 'Daniel, deputy' 311 is expanded, 'Daniel deputy', An extended candidate is generated as 'Daniel', and the final candidate selection unit 250 compares the similarity between the extended query word 'Daniel' and 'Daniel's representative' and 'Daniel', and 'Daniel, substitute' 311 as a final candidate. can be selected.

도 3c를 참조하면, 서비스 제공부(260)는 사용자(100)가 '다니엘, 대리'(320)와 음성 통화를 수행할 수 있도록 통화 서비스를 제공할 수 있다. Referring to FIG. 3C , the service providing unit 260 may provide a call service so that the user 100 can make a voice call with 'Daniel, Assistant' 320 .

도 4a 내지 도 4c는 본 발명의 일 실시예에 따른 제 2 서비스 도메인과 관련된 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다. 4A to 4C are exemplary diagrams for explaining a process of providing a service related to a second service domain according to an embodiment of the present invention.

도 4a를 참조하면, 음성 인식부(210)는 사용자(100)로부터 발화된 "헤이 카카오, 다니엘님에게 내일 10시 회사에서 보자고 문자 보내줘"(400)라는 음성 명령에 대해 음성 인식을 수행하여 텍스트로 변환할 수 있다. Referring to FIG. 4A , the voice recognition unit 210 performs voice recognition for the voice command "Hey Kakao, send a text message to Daniel to see you at work tomorrow at 10:00" (400) uttered by the user 100, can be converted to

질의어 추출부(220)는 변환된 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. 예를 들어, 질의어 추출부(220)는 텍스트로부터 수신자명에 해당하는 '다니엘님'이라는 질의어를 추출하고, 제 2 데이터베이스를 탐색하여 제 서비스 도메인 관련 텍스트로 [문자, 보내줘]를 추출하고, 이를 통해 문자 메시지 서비스에 해당하는 제 2 서비스 도메인을 추출할 수 있다. The query word extractor 220 may extract a query word and a service domain from the text for the converted voice command. For example, the query word extraction unit 220 extracts the query word 'Daniel' corresponding to the recipient's name from the text, searches the second database to extract [text, send me] as the text related to the service domain, and Through this, the second service domain corresponding to the text message service may be extracted.

도 4b를 참조하면, 질의어 확장부(230)는 추출된 제 2 서비스 도메인에 기초하여 '다니엘님'이라는 질의어를 확장시킴으로써 '다니엘'과 같이 확장 질의어를 생성하고, 후보 확장부(240)는 사용자 단말(110)에 설치된 주소록(410)을 통해 '다니엘'이라는 확장 질의어에 대한 '다니엘, 대리'(411)라는 후보를 탐색하여 '다니엘, 대리'(411)를 확장시킴으로써, '다니엘 대리', '다니엘'로 확장 후보를 생성하고, 최종 후보 선택부(250)는 '다니엘'이라는 확장 질의어와 '다니엘 대리', '다니엘' 각각의 유사도를 비교하여 최종 후보로 '다니엘, 대리'(411)를 선택할 수 있다. Referring to FIG. 4B , the query term extension unit 230 generates an extended query term such as 'Daniel' by expanding the query term 'Daniel' based on the extracted second service domain, and the candidate extension unit 240 provides a user Through the address book 410 installed in the terminal 110, by searching for a candidate 'Daniel, deputy' 411 for the extended query word 'Daniel' and expanding 'Daniel, deputy' 411, 'Daniel deputy', An extended candidate is generated as 'Daniel', and the final candidate selection unit 250 compares the similarity between the extended query word 'Daniel' and 'Daniel's representative' and 'Daniel' to obtain 'Daniel, the representative' (411). can be selected.

도 4c를 참조하면, 서비스 제공부(260)는 문자 메시지 애플리케이션(420)을 이용하여 '다니엘, 대리'(411)에게 "내일 6시 회사에서 보자"(421)라는 문자 메시지를 전송할 수 있다. Referring to FIG. 4C , the service provider 260 may transmit a text message saying “I will see you at work tomorrow at 6 o’clock” 421 to 'Daniel, the assistant' 411 using the text message application 420 .

도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 제 3 서비스 도메인과 관련된 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다. 5A to 5C are exemplary diagrams for explaining a process of providing a service related to a third service domain according to an embodiment of the present invention.

도 5a를 참조하면, 음성 인식부(210)는 사용자(100)로부터 발화된 "헤이 카카오, 다니엘님에게서 온 카톡 읽어줘"(500)라는 음성 명령에 대해 음성 인식을 수행하여 텍스트로 변환할 수 있다. Referring to FIG. 5A , the voice recognition unit 210 may perform voice recognition on the voice command "Hey Kakao, read Kakao Talk from Daniel" 500 uttered from the user 100 and convert it into text. have.

질의어 추출부(220)는 변환된 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. 예를 들어, 질의어 추출부(220)는 텍스트로부터 메신져 친구명에 해당하는 '다니엘님'이라는 질의어를 추출하고, 제 3 데이터베이스(273)를 탐색하여 제 3서비스 도메인 관련 텍스트로 [카톡, 읽어줘]를 추출하고, 이를 통해 인스턴트 메시지 서비스에 해당하는 제 3 서비스 도메인을 추출할 수 있다. The query word extractor 220 may extract a query word and a service domain from the text for the converted voice command. For example, the query word extraction unit 220 extracts the query word 'Daniel' corresponding to the messenger friend name from the text, searches the third database 273, and searches the third service domain related text [Kakao Talk, Read Me ], and through this, the third service domain corresponding to the instant message service can be extracted.

도 5b를 참조하면, 질의어 확장부(230)는 추출된 제 3 서비스 도메인에 기초하여 '다니엘님'이라는 질의어를 확장시킴으로써 '다니엘'과 같이 확장 질의어를 생성하고, 후보 확장부(240)는 사용자 단말(110)에 설치된 인스턴트 메신저의 친구 리스트(510)를 통해 '다니엘'이라는 확장 질의어에 대한 '강다니엘'(511)라는 후보를 탐색하여 '강다니엘'(511)을 확장시킴으로써, '강다니엘'(511), '다니엘'로 확장 후보를 생성하고, 최종 후보 선택부(250)는 '다니엘'이라는 확장 질의어와 '강다니엘'(511), '다니엘' 각각의 유사도를 비교하여 최종 후보로 '강다니엘'(511)를 선택할 수 있다. Referring to FIG. 5B , the query term extension unit 230 generates an extended query term such as 'Daniel' by expanding the query term 'Daniel' based on the extracted third service domain, and the candidate extension unit 240 provides a user Through the friend list 510 of the instant messenger installed in the terminal 110, the candidate 'Kang Daniel' 511 for the extended query word 'Daniel' is searched for and 'Kang Daniel' 511 is expanded, so that 'Kang Daniel '(511) and 'Daniel' generate an extension candidate, and the final candidate selector 250 compares the similarity between the extended query word 'Daniel' and 'Daniel Kang' (511) and 'Daniel' to select the final candidate. You can choose 'Kang Daniel' (511).

도 5c를 참조하면, 서비스 제공부(260)는 인스턴트 메시지 애플리케이션(520)을 통해 '강다니엘'(511)에게서 온 "내일 6시 강남역에서 보자"(521)라는 인스턴트 메시지를 사용자 단말(110)에 자체적으로 내장된 스피커를 통해 음성으로 출력할 수 있다. 이 때, 사용자 단말(110)이 음성 인식 스피커인 경우, 음성 인식 스피커를 통해 "내일 6시 강남역에서 보자"(530)가 출력될 수도 있다. Referring to FIG. 5C , the service providing unit 260 sends an instant message “See you tomorrow at Gangnam Station at 6 o’clock” 521 from 'Kang Daniel' 511 through the instant message application 520 to the user terminal 110. It can output audio through its own built-in speaker. At this time, when the user terminal 110 is a voice recognition speaker, "See you tomorrow at Gangnam Station at 6 o'clock" 530 may be output through the voice recognition speaker.

본 발명의 또 다른 실시예에 따르면, 사용자 단말(110)은 사용자 단말(110)에 구비된 카메라(미도시)를 통해 서비스 명령을 입력받을 수 있다. 예를 들어, 사용자 단말(110)은 서비스 명령을 포함하는 이미지를 획득하는 촬영부(미도시)를 더 포함할 수 있다.According to another embodiment of the present invention, the user terminal 110 may receive a service command through a camera (not shown) provided in the user terminal 110 . For example, the user terminal 110 may further include a photographing unit (not shown) for obtaining an image including a service command.

예를 들어, 사용자 단말(110)은 사용자 단말(110)의 카메라를 통해 촬영된 이미지로서, 와이파이 리스트(Wi-Fi List), 상호명, 메뉴명 등에 대한 OCR 인식을 통해 촬영된 이미지에서 서비스 명령(텍스트)을 추출할 수 있다. For example, the user terminal 110 is an image taken through the camera of the user terminal 110, a service command (text ) can be extracted.

이때, 사용자 단말(110)은 변환된 텍스트로부터 질의어 및 서비스 도메인을 추출하고, 추출한 질의어를 서비스 도메인(예를 들어, 와이파이 접속 서비스, 지도 서비스, 주문 서비스 등과 관련된 서비스 도메인)에 기초하여 확장시킴으로써, 확장 질의어를 생성할 수 있다. In this case, the user terminal 110 extracts a query word and a service domain from the converted text, and expands the extracted query word based on the service domain (eg, a service domain related to a Wi-Fi connection service, a map service, an order service, etc.), You can create extended query words.

또한, 사용자 단말(110)은 확장 질의어에 기초하여 서비스 도메인과 관련된 후보를 탐색하고, 탐색된 후보를 확장시킴으로써, 적어도 하나의 확장 후보를 생성할 수 있다. 이 때, 사용자 단말(110)은 생성된 적어도 하나의 확장 후보 중 어느 하나를 최종 후보로 선택함으로써, 선택된 최종 후보와 관련된 서비스(예를 들어, 와이파이 접속 서비스, 지도 서비스, 주문 서비스 등)를 제공할 수 있다. Also, the user terminal 110 may generate at least one extension candidate by searching for a candidate related to the service domain based on the extension query and expanding the searched candidate. In this case, the user terminal 110 selects any one of the generated at least one extension candidate as a final candidate, thereby providing a service (eg, a Wi-Fi connection service, a map service, an ordering service, etc.) related to the selected final candidate. can do.

해당 실시예에 대하여 상세히 설명하지 않았지만, 상술한 음성 명령을 이용하는 실시예에서 설명된 내용들이 모두 적용된다.Although the embodiment has not been described in detail, all of the contents described in the embodiment using the above-described voice command are applied.

도 6은 본 발명의 일 실시예에 따른 사용자 단말에서 음성 인식 서비스를 제공하는 방법의 순서도이다. 도 6에 도시된 사용자 단말(110)에서 음성 인식 서비스를 제공하는 방법은 도 1 내지 도 5c에 도시된 실시예에 따른 음성 인식 서비스 제공 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 5c에 도시된 실시예에 따른 사용자 단말(110)에서 음성 인식 서비스를 제공하는 방법에도 적용된다. 6 is a flowchart of a method for providing a voice recognition service in a user terminal according to an embodiment of the present invention. The method for providing a voice recognition service in the user terminal 110 shown in FIG. 6 includes steps processed in time series by the voice recognition service providing system 1 according to the embodiment shown in FIGS. 1 to 5C . . Therefore, even if omitted below, it is also applied to the method of providing a voice recognition service in the user terminal 110 according to the embodiment shown in FIGS. 1 to 5C .

단계 S600에서 사용자 단말(110)은 음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. In step S600, the user terminal 110 may extract a query word and a service domain from the text for the voice command.

단계 S610에서 사용자 단말(110)은 추출된 서비스 도메인에 기초하여 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성할 수 있다. In step S610, the user terminal 110 may generate at least one extended query by expanding the query based on the extracted service domain.

단계 S620에서 사용자 단말(110)은 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정할 수 있다. In step S620, the user terminal 110 may determine at least one database for a candidate search corresponding to the extracted service domain.

단계 S630에서 사용자 단말(110)은 결정된 적어도 하나의 데이터베이스로부터 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색할 수 있다. In operation S630, the user terminal 110 may search for at least one candidate for each of the at least one extended query word from the determined at least one database.

단계 S640에서 사용자 단말(110)은 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성할 수 있다. In operation S640, the user terminal 110 may generate at least one extension candidate by extending the at least one candidate.

단계 S650에서 사용자 단말(110)은 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 유사도를 산출할 수 있다. In step S650, the user terminal 110 may calculate a similarity between at least one extension query word and at least one extension candidate.

단계 S660에서 사용자 단말(110)은 산출된 유사도에 기초하여 최종 후보를 선택할 수 있다. In step S660, the user terminal 110 may select a final candidate based on the calculated similarity.

단계 S670에서 사용자 단말(110)은 선택된 최종 후보에 기초하여 음성 명령에 대한 서비스를 제공할 수 있다. In step S670, the user terminal 110 may provide a service for a voice command based on the selected final candidate.

상술한 설명에서, 단계 S600 내지 S670은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S600 to S670 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 7은 본 발명의 일 실시예에 따른 음성 인식 서비스 제공 서버의 구성도이다. 본 발명에서 제안하는 음성 인식 서비스는 음성 인식 서비스 제공 서버(120)에 의해 제공될 수도 있다. 7 is a block diagram of a voice recognition service providing server according to an embodiment of the present invention. The voice recognition service proposed by the present invention may be provided by the voice recognition service providing server 120 .

도 7을 참조하면, 음성 인식 서비스 제공 서버(120)는 음성 명령 수신부(710), 질의어 추출부(720), 질의어 확장부(730), 후보 확장부(740), 최종 후보 선택부(750) 및 서비스 제어 명령 전송부(760)를 포함할 수 있다. Referring to FIG. 7 , the voice recognition service providing server 120 includes a voice command receiver 710 , a query word extractor 720 , a query word expander 730 , a candidate expander 740 , and a final candidate selector 750 . and a service control command transmission unit 760 .

음성 명령 수신부(710)는 사용자 단말(110)로부터 음성 명령을 수신하고, 수신한 음성 명령에 대한 음성 인식을 통해 음성 명령을 텍스트로 변환할 수 있다. The voice command receiver 710 may receive a voice command from the user terminal 110 and convert the voice command into text through voice recognition for the received voice command.

도 7의 음성 인식 서비스 제공 서버(120)에 포함된 질의어 추출부(720), 질의어 확장부(730), 후보 확장부(740) 및 최종 후보 선택부(750)는 도 2를 통해 설명한 사용자 단말(110)의 질의어 추출부(220), 질의어 확장부(230), 후보 확장부(240), 최종 후보 선택부(250)와 동일한 기능을 수행하므로 이하 설명을 생략하도록 한다. The query word extracting unit 720 , the query word expansion unit 730 , the candidate expansion unit 740 , and the final candidate selection unit 750 included in the voice recognition service providing server 120 of FIG. 7 is the user terminal described with reference to FIG. 2 . Since it performs the same functions as the query word extractor 220 , the query word expander 230 , the candidate expander 240 , and the final candidate selector 250 of ( 110 ), the following description will be omitted.

서비스 제어 명령 전송부(760)는 선택된 최종 후보에 기초하여 음성 명령에 대한 서비스가 실행되도록 하는 서비스 제어 명령을 사용자 단말(110)로 전송할 수 있다. The service control command transmission unit 760 may transmit a service control command for executing a service for a voice command to the user terminal 110 based on the selected final candidate.

도 8은 본 발명의 일 실시예에 따른 음성 인식 서비스 제공 서버에서 음성 인식 서비스를 제공하는 방법의 순서도이다. 도 8에 도시된 음성 인식 서비스 제공 서버(120)에서 음성 인식 서비스를 제공하는 방법은 도 1 내지 도 7에 도시된 실시예에 따른 음성 인식 서비스 제공 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 7에 도시된 실시예에 따른 음성 인식 제공 서버(120)에서 음성 인식 서비스를 제공하는 방법에도 적용된다. 8 is a flowchart of a method for providing a voice recognition service in a voice recognition service providing server according to an embodiment of the present invention. The method for providing a voice recognition service in the voice recognition service providing server 120 shown in FIG. 8 is a step of time-series processing by the voice recognition service providing system 1 according to the embodiment shown in FIGS. 1 to 7 . include those Accordingly, even if the description is omitted below, it is also applied to the method of providing the voice recognition service in the voice recognition providing server 120 according to the embodiment shown in FIGS. 1 to 7 .

단계 S800에서 음성 인식 서비스 제공 서버(120)는 사용자 단말(110)로부터 음성 명령을 수신할 수 있다. In step S800 , the voice recognition service providing server 120 may receive a voice command from the user terminal 110 .

단계 S810에서 음성 인식 서비스 제공 서버(120)는 수신한 음성 명령에 대한 음성 인식을 통해 음성 명령을 텍스트로 변환할 수 있다. In step S810, the voice recognition service providing server 120 may convert the voice command into text through voice recognition for the received voice command.

단계 S820에서 음성 인식 서비스 제공 서버(120)는 변환된 텍스트로부터 질의어 및 서비스 도메인을 추출할 수 있다. In step S820, the voice recognition service providing server 120 may extract a query word and a service domain from the converted text.

단계 S830에서 음성 인식 서비스 제공 서버(120)는 추출된 서비스 도메인에 기초하여 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성할 수 있다. In operation S830, the voice recognition service providing server 120 may generate at least one extended query by expanding the query based on the extracted service domain.

단계 S840에서 음성 인식 서비스 제공 서버(120)는 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정할 수 있다. In step S840, the voice recognition service providing server 120 may determine at least one database for candidate search corresponding to the extracted service domain.

단계 S850에서 음성 인식 서비스 제공 서버(120)는 결정된 적어도 하나의 데이터베이스로부터 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색할 수 있다. In step S850, the voice recognition service providing server 120 may search for at least one candidate for each of the at least one extended query word from the determined at least one database.

단계 S860에서 음성 인식 서비스 제공 서버(120)는 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성할 수 있다. In step S860, the voice recognition service providing server 120 may generate at least one extension candidate by extending the at least one candidate.

단계 S870에서 음성 인식 서비스 제공 서버(120)는 적어도 하나의 확장 질의어 및 적어도 하나의 확장 후보 간의 유사도를 산출할 수 있다. In operation S870, the voice recognition service providing server 120 may calculate a similarity between at least one extended query word and at least one extended candidate.

단계 S880에서 음성 인식 서비스 제공 서버(120)는 산출된 유사도에 기초하여 최종 후보를 선택할 수 있다. In step S880, the voice recognition service providing server 120 may select a final candidate based on the calculated similarity.

단계 S890에서 음성 인식 서비스 제공 서버(120)는 선택된 최종 후보에 기초하여 음성 명령에 대한 서비스가 실행되도록 하는 서비스 제어 명령을 사용자 단말(110)로 전송할 수 있다. In step S890 , the voice recognition service providing server 120 may transmit a service control command for executing a service for a voice command to the user terminal 110 based on the selected final candidate.

상술한 설명에서, 단계 S800 내지 S890은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S800 to S890 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

본 발명의 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.Embodiments of the present invention 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. Computer-readable media may also include computer storage 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. The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described with reference to specific embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications 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 invention. do.

110: 사용자 단말
120: 음성 인식 제공 서버
210: 음성 인식부
220: 질의어 추출부
230: 질의어 확장부
240: 후보 확장부
250: 최종 후보 선택부
251: 형식 변환부
252: 유사 후보 선택부
260: 서비스 제공부
270: 데이터베이스
710: 음성 명령 수신부
720: 질의어 추출부
730: 질의어 확장부
740: 후보 확장부
750: 최종 후보 선택부
751: 형식 변환부
752: 유사 후보 선택부
760: 서비스 제어 명령 전송부
770: 데이터베이스
110: user terminal
120: voice recognition providing server
210: voice recognition unit
220: query word extraction unit
230: query extension
240: candidate extension
250: final candidate selection unit
251: format conversion unit
252: similar candidate selection unit
260: service provider
270: database
710: voice command receiver
720: query word extraction unit
730: Query word extension
740: candidate extension
750: final candidate selection unit
751: format conversion unit
752: similar candidate selection unit
760: service control command transmission unit
770: database

Claims (19)

음성 인식 서비스를 제공하는 사용자 단말에 있어서,
음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출하는 질의어 추출부;
상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 질의어 확장부;
상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 후보 확장부;
상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하고, 상기 산출된 유사도에 기초하여 최종 후보를 선택하는 최종 후보 선택부; 및
상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스를 제공하는 서비스 제공부를 포함하되,
상기 최종 후보 선택부는 상기 적어도 하나의 확장 질의어 각각 및 상기 적어도 하나의 확장 질의어 각각에 대응하는 상기 적어도 하나의 확장 후보 각각의 유사도를 산출하는 유사 후보 선택부를 포함하는 것인, 사용자 단말.
In a user terminal providing a voice recognition service,
a query word extraction unit for extracting a query word and a service domain from the text for the voice command;
a query word extension unit for generating at least one extended query word by expanding the query word based on the extracted service domain;
determining at least one database for candidate search corresponding to the extracted service domain, searching for at least one candidate for each of the at least one extended query word from the determined at least one database, and selecting the at least one candidate a candidate extension unit for generating at least one extension candidate by expanding;
a final candidate selector calculating a similarity between the at least one extended query word and the at least one extended candidate, and selecting a final candidate based on the calculated similarity; and
Comprising a service provider providing a service for the voice command based on the selected final candidate,
and the final candidate selector includes a similarity candidate selector that calculates a similarity of each of the at least one extended query term and each of the at least one extended candidate corresponding to each of the at least one extended query term.
제 1 항에 있어서,
상기 음성 명령을 수신하고, 상기 수신한 음성 명령에 대한 음성 인식을 통해 상기 음성 명령을 상기 텍스트로 변환하는 음성 인식부
를 더 포함하는 것인, 사용자 단말.
The method of claim 1,
A voice recognition unit that receives the voice command and converts the voice command into the text through voice recognition for the received voice command
Which will further include, the user terminal.
제 1 항에 있어서,
상기 서비스 도메인은 통화 서비스에 해당하는 제 1 서비스 도메인, 문자 메시지 서비스에 해당하는 제 2 서비스 도메인, 인스턴트 메시지 서비스에 해당하는 제 3 서비스 도메인 및 컨텐츠 검색 서비스에 해당하는 제 4 서비스 도메인 중 적어도 하나를 포함하는 것인, 사용자 단말.
The method of claim 1,
The service domain includes at least one of a first service domain corresponding to a call service, a second service domain corresponding to a text message service, a third service domain corresponding to an instant message service, and a fourth service domain corresponding to a content search service. That comprising, the user terminal.
제 3 항에 있어서,
상기 질의어 추출부는 상기 텍스트로부터 서비스 도메인에 관한 서비스 도메인 관련 텍스트를 추출하고, 상기 추출한 서비스 도메인 관련 텍스트에 기초하여 상기 제 1 서비스 도메인, 상기 제 2 서비스 도메인, 상기 제 3 서비스 도메인 및 상기 제 4 서비스 도메인 중 어느 하나를 추출하는 것인, 사용자 단말.
4. The method of claim 3,
The query word extracting unit extracts service domain related text related to the service domain from the text, and based on the extracted service domain related text, the first service domain, the second service domain, the third service domain, and the fourth service To extract any one of the domain, the user terminal.
제 3 항에 있어서,
상기 질의어 확장부는 상기 질의어를 상기 추출된 도메인의 종류마다 다른 방식으로 확장하는 것인, 사용자 단말.
4. The method of claim 3,
The query word extension unit expands the query word in a different way for each type of the extracted domain.
제 1 항에 있어서,
상기 최종 후보 선택부는 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 비교를 위해 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보를 적어도 하나의 변환 형식으로 변환하는 형식 변환부를 포함하는 것인, 사용자 단말.
The method of claim 1,
The final candidate selection unit includes a format conversion unit that converts the at least one extended query term and the at least one extension candidate into at least one transformation format for comparison between the at least one extended query term and the at least one extension candidate In, user terminal.
제 6 항에 있어서,
상기 적어도 하나의 변환 형식은 키스트로크(keystroke), 발음 기호, 문자열 중 어느 하나를 포함하는 것인, 사용자 단말.
7. The method of claim 6,
The at least one conversion format includes any one of a keystroke, a phonetic symbol, and a character string, the user terminal.
제 1 항에 있어서,
상기 유사 후보 선택부는 상기 적어도 하나의 확장 후보 각각의 유사도에 기초하여 소정 개수의 유사 후보를 선택하는 것인, 사용자 단말.
The method of claim 1,
and the similarity candidate selection unit selects a predetermined number of similarity candidates based on the similarity of each of the at least one extension candidate.
제 8 항에 있어서,
상기 최종 후보 선택부는 상기 추출된 도메인의 종류마다 다른 기준으로 상기 추출된 소정 개수의 유사 후보 중 상기 최종 후보를 선택하는 것인, 사용자 단말.
9. The method of claim 8,
wherein the final candidate selector selects the final candidate from among the extracted predetermined number of similar candidates based on different criteria for each type of the extracted domain.
제 1 항에 있어서,
서비스 명령을 포함하는 이미지를 획득하는 촬영부를 더 포함하되,
상기 질의어 추출부는 상기 이미지에 포함된 서비스 명령으로부터 상기 질의어 및 상기 서비스 도메인을 추출하는 것인, 사용자 단말.
The method of claim 1,
Further comprising a photographing unit for obtaining an image including a service command,
The query word extraction unit is to extract the query word and the service domain from the service command included in the image, the user terminal.
음성 인식 서비스를 제공하는 방법에 있어서,
음성 명령에 대한 텍스트로부터 질의어 및 서비스 도메인을 추출하는 단계;
상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 단계;
상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하는 단계;
상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하는 단계;
상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 단계;
상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하는 단계;
상기 산출된 유사도에 기초하여 최종 후보를 선택하는 단계; 및
상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스를 제공하는 단계를 포함하되,
상기 최종 후보를 선택하는 단계는,
상기 적어도 하나의 확장 질의어 각각 및 상기 적어도 하나의 확장 질의어 각각에 대응하는 상기 적어도 하나의 확장 후보 각각의 유사도를 산출하는 단계를 포함하는 것인, 음성 인식 서비스 제공 방법.
A method of providing a voice recognition service, comprising:
extracting a query word and a service domain from the text for the voice command;
generating at least one extended query term by expanding the query term based on the extracted service domain;
determining at least one database for candidate search corresponding to the extracted service domain;
searching for at least one candidate for each of the at least one extended query term from the determined at least one database;
generating at least one extension candidate by expanding the at least one candidate;
calculating a similarity between the at least one extension query word and the at least one extension candidate;
selecting a final candidate based on the calculated similarity; and
providing a service for the voice command based on the selected final candidate;
The step of selecting the final candidate is
and calculating a similarity of each of the at least one extended query term and each of the at least one extended candidate corresponding to each of the at least one extended query term.
음성 인식 서비스를 제공하는 서버에 있어서,
사용자 단말로부터 음성 명령을 수신하고, 상기 수신한 음성 명령에 대한 음성 인식을 통해 상기 음성 명령을 텍스트로 변환하는 음성 명령 수신부;
상기 변환된 텍스트로부터 질의어 및 서비스 도메인을 추출하는 질의어 추출부;
상기 추출된 서비스 도메인에 기초하여 상기 질의어를 확장시킴으로써 적어도 하나의 확장 질의어를 생성하는 질의어 확장부;
상기 추출된 서비스 도메인에 대응하는 후보 탐색을 위한 적어도 하나의 데이터베이스를 결정하고, 상기 결정된 적어도 하나의 데이터베이스로부터 상기 적어도 하나의 확장 질의어 각각에 대한 적어도 하나의 후보를 탐색하고, 상기 적어도 하나의 후보를 확장시킴으로써 적어도 하나의 확장 후보를 생성하는 후보 확장부;
상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 유사도를 산출하고, 상기 산출된 유사도에 기초하여 최종 후보를 선택하는 최종 후보 선택부; 및
상기 선택된 최종 후보에 기초하여 상기 음성 명령에 대한 서비스가 실행되도록 하는 서비스 제어 명령을 상기 사용자 단말로 전송하는 서비스 제어 명령 전송부를 포함하되,
상기 최종 후보 선택부는 상기 적어도 하나의 확장 질의어 각각 및 상기 적어도 하나의 확장 질의어 각각에 대응하는 상기 적어도 하나의 확장 후보 각각의 유사도를 산출하는 유사 후보 선택부를 포함하는 것인, 서버.
In the server providing a voice recognition service,
a voice command receiver for receiving a voice command from the user terminal and converting the voice command into text through voice recognition for the received voice command;
a query word extraction unit for extracting a query word and a service domain from the converted text;
a query word extension unit for generating at least one extended query word by expanding the query word based on the extracted service domain;
determining at least one database for candidate search corresponding to the extracted service domain, searching for at least one candidate for each of the at least one extended query word from the determined at least one database, and selecting the at least one candidate a candidate extension unit for generating at least one extension candidate by expanding;
a final candidate selector calculating a similarity between the at least one extended query word and the at least one extended candidate, and selecting a final candidate based on the calculated similarity; and
Comprising a service control command transmission unit for transmitting a service control command for executing the service for the voice command to the user terminal based on the selected final candidate,
and the final candidate selector includes a similarity candidate selector that calculates a similarity of each of the at least one extended query term and each of the at least one extended candidate corresponding to each of the at least one extended query term.
제 12 항에 있어서,
상기 서비스 도메인은 통화 서비스에 해당하는 제 1 서비스 도메인, 문자 메시지 서비스에 해당하는 제 2 서비스 도메인, 인스턴트 메시지 서비스에 해당하는 제 3 서비스 도메인 및 컨텐츠 검색 서비스에 해당하는 제 4 서비스 도메인 중 적어도 하나를 포함하는 것인, 서버.
13. The method of claim 12,
The service domain includes at least one of a first service domain corresponding to a call service, a second service domain corresponding to a text message service, a third service domain corresponding to an instant message service, and a fourth service domain corresponding to a content search service. which includes, the server.
제 13 항에 있어서,
상기 질의어 추출부는 상기 텍스트로부터 서비스 도메인에 관한 서비스 도메인 관련 텍스트를 추출하고, 상기 추출한 서비스 도메인 관련 텍스트에 기초하여 상기 제 1 서비스 도메인, 상기 제 2 서비스 도메인, 상기 제 3 서비스 도메인 및 상기 제 4 서비스 도메인 중 어느 하나를 추출하는 것인, 서버.
14. The method of claim 13,
The query word extracting unit extracts service domain related text related to the service domain from the text, and based on the extracted service domain related text, the first service domain, the second service domain, the third service domain, and the fourth service The server, which extracts any one of the domains.
제 14 항에 있어서,
상기 질의어 확장부는 상기 질의어를 상기 추출된 도메인의 종류마다 다른 방식으로 확장하는 것인, 서버.
15. The method of claim 14,
The server, wherein the query word extension unit expands the query word in a different way for each type of the extracted domain.
제 12 항에 있어서,
상기 최종 후보 선택부는 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보 간의 비교를 위해 상기 적어도 하나의 확장 질의어 및 상기 적어도 하나의 확장 후보를 적어도 하나의 변환 형식으로 변환하는 형식 변환부를 포함하는 것인, 서버.
13. The method of claim 12,
The final candidate selection unit includes a format conversion unit that converts the at least one extended query term and the at least one extension candidate into at least one transformation format for comparison between the at least one extended query term and the at least one extension candidate In, server.
제 16 항에 있어서,
상기 적어도 하나의 변환 형식은 키스트로크(keystroke), 발음 기호, 문자열 중 어느 하나를 포함하는 것인, 서버.
17. The method of claim 16,
The server, wherein the at least one conversion format includes any one of a keystroke, a phonetic symbol, and a character string.
제 14 항에 있어서,
상기 유사 후보 선택부는 상기 적어도 하나의 확장 후보 각각의 유사도에 기초하여 소정 개수의 유사 후보를 선택하는 것인, 서버.
15. The method of claim 14,
and the similarity candidate selection unit selects a predetermined number of similarity candidates based on the similarity of each of the at least one extension candidate.
제 18 항에 있어서,
상기 최종 후보 선택부는 상기 추출된 도메인의 종류마다 다른 기준으로 상기 추출된 소정 개수의 유사 후보 중 상기 최종 후보를 선택하는 것인, 서버.
19. The method of claim 18,
The server, wherein the final candidate selection unit selects the final candidate from the extracted predetermined number of similar candidates based on different criteria for each type of the extracted domain.
KR1020190129815A 2019-10-18 2019-10-18 User device, method and server for providing voice recognition service KR102335048B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190129815A KR102335048B1 (en) 2019-10-18 2019-10-18 User device, method and server for providing voice recognition service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190129815A KR102335048B1 (en) 2019-10-18 2019-10-18 User device, method and server for providing voice recognition service

Publications (2)

Publication Number Publication Date
KR20210046275A KR20210046275A (en) 2021-04-28
KR102335048B1 true KR102335048B1 (en) 2021-12-03

Family

ID=75720934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190129815A KR102335048B1 (en) 2019-10-18 2019-10-18 User device, method and server for providing voice recognition service

Country Status (1)

Country Link
KR (1) KR102335048B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230086117A (en) * 2021-12-08 2023-06-15 삼성전자주식회사 Electronic device of speech recognition using recommended instruction
KR102486120B1 (en) 2022-10-13 2023-01-09 (주)액션파워 Method for determining content associated with voice signal

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100593986B1 (en) * 2002-09-11 2006-07-03 삼성전자주식회사 Device and method for recognizing character image in picture screen
KR100825690B1 (en) * 2006-09-15 2008-04-29 학교법인 포항공과대학교 Error correction method in speech recognition system
KR102348084B1 (en) * 2014-09-16 2022-01-10 삼성전자주식회사 Image Displaying Device, Driving Method of Image Displaying Device, and Computer Readable Recording Medium
KR102383791B1 (en) 2014-12-11 2022-04-08 삼성전자주식회사 Providing personal assistant service in an electronic device

Also Published As

Publication number Publication date
KR20210046275A (en) 2021-04-28

Similar Documents

Publication Publication Date Title
US20230053350A1 (en) Encapsulating and synchronizing state interactions between devices
US10777203B1 (en) Speech interface device with caching component
US10719507B2 (en) System and method for natural language processing
US11049493B2 (en) Spoken dialog device, spoken dialog method, and recording medium
EP3251115B1 (en) Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing
US9190055B1 (en) Named entity recognition with personalized models
KR102386863B1 (en) User-based language model generating apparatus, method and voice recognition apparatus
US8762156B2 (en) Speech recognition repair using contextual information
US8019604B2 (en) Method and apparatus for uniterm discovery and voice-to-voice search on mobile device
AU2011209760B2 (en) Integration of embedded and network speech recognizers
US11682393B2 (en) Method and system for context association and personalization using a wake-word in virtual personal assistants
JP4155854B2 (en) Dialog control system and method
JP2017107078A (en) Voice interactive method, voice interactive device, and voice interactive program
JP2020505643A (en) Voice recognition method, electronic device, and computer storage medium
US11494434B2 (en) Systems and methods for managing voice queries using pronunciation information
US20080312934A1 (en) Using results of unstructured language model based speech recognition to perform an action on a mobile communications facility
JP2016095383A (en) Voice recognition client device and server-type voice recognition device
JP2013064777A (en) Terminal device, voice recognition program, voice recognition method and voice recognition system
KR20090130028A (en) Method and apparatus for distributed voice searching
KR101891498B1 (en) Method, computer device and computer readable recording medium for multi domain service resolving the mixture of multi-domain intents in interactive ai agent system
KR102335048B1 (en) User device, method and server for providing voice recognition service
US20200026742A1 (en) Integrating communications into a social graph
US20210034662A1 (en) Systems and methods for managing voice queries using pronunciation information
JP5606951B2 (en) Speech recognition system and search system using the same
KR102135077B1 (en) System for providing topics of conversation in real time using intelligence speakers

Legal Events

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