KR20200086986A - Dialog analysis server, method and computer program for providing recommendation sentence - Google Patents

Dialog analysis server, method and computer program for providing recommendation sentence Download PDF

Info

Publication number
KR20200086986A
KR20200086986A KR1020190003440A KR20190003440A KR20200086986A KR 20200086986 A KR20200086986 A KR 20200086986A KR 1020190003440 A KR1020190003440 A KR 1020190003440A KR 20190003440 A KR20190003440 A KR 20190003440A KR 20200086986 A KR20200086986 A KR 20200086986A
Authority
KR
South Korea
Prior art keywords
word
frequency
sentence
calculated
weight
Prior art date
Application number
KR1020190003440A
Other languages
Korean (ko)
Other versions
KR102181742B1 (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 KR1020190003440A priority Critical patent/KR102181742B1/en
Publication of KR20200086986A publication Critical patent/KR20200086986A/en
Application granted granted Critical
Publication of KR102181742B1 publication Critical patent/KR102181742B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided is a dialog analysis server, which comprises: a dictionary generation unit which generates a plurality of word dictionaries including at least one word; a replacement use weight calculation unit which calculates a replacement use weight between the plurality of word dictionaries based on dialog history data; a frequency weight calculation unit which calculates a frequency weight for the plurality of word dictionaries based on the frequency of use of a plurality of verbal units included in the dialog history data; a reference score calculation unit which calculates reference scores for the plurality of word dictionaries based on the calculated replacement use weight and the calculated frequency weight; and a recommendation unit which recommends a recommendation sentence for an input sentence input from a user based on the calculated reference score.

Description

추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램{DIALOG ANALYSIS SERVER, METHOD AND COMPUTER PROGRAM FOR PROVIDING RECOMMENDATION SENTENCE}DIALOG ANALYSIS SERVER, METHOD AND COMPUTER PROGRAM FOR PROVIDING RECOMMENDATION SENTENCE}

본 발명은 추천 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to a server, method, and computer program that provides recommended sentences.

종래의 대화 플랫폼은 음성 인식 및 음성 합성을 위해 개별적으로 개발된 컴포넌트들의 간단한 결합물로서 설계되었다. 따라서 이러한 대화 플랫폼에 대한 사전 지식이 없는 써드 파티(3rd Party)사가 대화 모델 작성 도구를 이용하여 추천 문장을 제공하기에는 어려움이 있었다. Conventional conversation platforms have been designed as simple combinations of individually developed components for speech recognition and speech synthesis. Therefore, a third party (3 rd Party) with no prior knowledge of this dialogue platform saga had difficulties in providing the recommended sentence by dialogue modeling tool.

한국등록특허공보 제10-1806151호 (2017.12.01. 등록)Korean Registered Patent Publication No. 10-1806151 (Registration on December 1, 2017)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 대화 이력 데이터에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고, 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. The present invention is to solve the problems of the prior art described above, calculates reference scores for a plurality of word dictionaries based on conversation history data, and recommends sentences for input sentences received from a user based on the calculated reference scores I would like to recommend However, the technical problems to be achieved by the present embodiment are not limited to the technical problems as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 대화 분석 서버는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 사전 생성부; 대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 교체 사용 가중치 산출부; 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 빈도 가중치 산출부; 상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 레퍼런스 스코어 산출부; 및 상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 추천부를 포함할 수 있다. As a technical means for achieving the above-described technical problem, the conversation analysis server according to the first aspect of the present invention includes a dictionary generator for generating a plurality of word dictionaries including at least one word; A replacement usage weight calculating unit for calculating replacement usage weights between the plurality of word dictionaries based on conversation history data; A frequency weight calculator configured to calculate frequency weights for the plurality of word dictionaries based on frequency of use for a plurality of word units included in the conversation history data; A reference score calculating unit calculating reference scores for the plurality of word dictionaries based on the calculated replacement usage weight and the calculated frequency weight; And a recommendation unit recommending a recommendation sentence for an input sentence received from a user based on the calculated reference score.

본 발명의 제 2 측면에 따른 대화 분석 서버에서 추천 문장을 제공하는 방법은 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 단계; 대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 단계; 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계; 상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 단계; 및 상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 단계를 포함할 수 있다. A method of providing a recommendation sentence in a conversation analysis server according to a second aspect of the present invention includes generating a plurality of word dictionaries including at least one word; Calculating replacement usage weights between the plurality of word dictionaries based on conversation history data; Calculating frequency weights for the plurality of word dictionaries based on frequency of use for a plurality of verbal units included in the conversation history data; Calculating reference scores for the plurality of word dictionaries based on the calculated replacement usage weights and the calculated frequency weights; And recommending a recommendation sentence for the input sentence received from the user based on the calculated reference score.

본 발명의 제 3 측면에 따른 추천 문장을 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하고, 대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하고, 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하고, 상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고, 상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 명령어들의 시퀀스를 포함할 수 있다. A computer program stored in a medium comprising a sequence of instructions for providing a recommended sentence according to the third aspect of the present invention, the computer program, when executed by a computing device, comprises a plurality of word dictionaries including at least one word. Generating, calculating replacement usage weights between the plurality of word dictionaries based on conversation history data, and calculating frequency weights for the plurality of word dictionaries based on frequency of use for a plurality of verbs included in the conversation history data Calculating, calculating reference scores for the plurality of word dictionaries based on the calculated replacement usage weights and the calculated frequency weights, and recommending sentences for input sentences received from a user based on the calculated reference scores It may contain a sequence of recommended commands.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description of the invention.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 대화 이력 데이터에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고, 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천할 수 있다. According to any one of the above-described problem solving means of the present invention, reference scores for a plurality of word dictionaries are calculated based on conversation history data, and recommendation sentences for input sentences received from a user based on the calculated reference scores Can recommend

도 1은 본 발명의 일 실시예에 따른, 추천 문장 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 대화 분석 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 추천 문장을 제공하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 추천 문장 제공 방법을 나타낸 흐름도이다.
1 is a block diagram of a system for providing a recommendation sentence according to an embodiment of the present invention.
2 is a block diagram of the conversation analysis server shown in FIG. 1 according to an embodiment of the present invention.
3 is a diagram for explaining a method of providing a recommendation sentence, according to an embodiment of the present invention.
4 is a flowchart illustrating a method for providing a recommendation sentence according to an embodiment of the present invention.

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

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

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In the present specification, the term “unit” includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be realized by using two or more hardware, and two or more units may be realized by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. Some of the operations or functions described in this specification as being performed by a terminal or device may be performed instead on a server connected to the corresponding terminal or device. Similarly, some of the operations or functions described as being performed by the server may be performed in a terminal or device connected to the corresponding server.

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, specific contents for carrying out the present invention will be described with reference to the accompanying drawings or process flow charts.

도 1은 본 발명의 일 실시예에 따른, 추천 문장 제공 시스템의 구성도이다.1 is a block diagram of a system for providing a recommendation sentence according to an embodiment of the present invention.

도 1을 참조하면, 추천 문장 제공 시스템은 대화 분석 서버(100) 및 음성 입출력 장치(110)를 포함할 수 있다. 다만, 이러한 도 1의 추천 문장 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1, a system for providing a recommended sentence may include a conversation analysis server 100 and a voice input/output device 110. However, the system for providing a recommended sentence of FIG. 1 is only an embodiment of the present invention, and thus 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의 추천 문장 제공 시스템의 각 구성요소들은 네트워크(미도시)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(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) 등이 포함되나 이에 한정되지는 않는다. Generally, each component of the recommendation sentence providing system of FIG. 1 is connected through a network (not shown). The network means a connection structure capable of exchanging information between nodes such as terminals and servers, and 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, and wired and wireless television communication networks. 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.

대화 분석 서버(100)는 음성 입출력 장치(110)로부터 입력된 사용자의 입력문장(발화문장)에 대한 의도를 해석하고, 해석된 의도에 맞는 답변을 생성하여 음성 입출력 장치(110)로 제공할 수 있다. The conversation analysis server 100 interprets the intention of the user's input sentence (speech sentence) input from the voice input/output device 110, generates an answer in accordance with the interpreted intention, and may provide it to the voice input/output device 110. have.

대화 분석 서버(100)는 입력 문장, 입력 문장에 대한 해석 결과와 입력 문장에 대한 답변을 포함하는 대화 이력 데이터를 사용 이력 DB에 저장할 수 있다. The conversation analysis server 100 may store conversation history data including an input sentence, an analysis result for the input sentence, and an answer to the input sentence in the usage history DB.

대화 분석 서버(100)는 대화 이력 데이터에 기초하여 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성할 수 있다. 구체적으로, 대화 분석 서버(100)는 대표 단어 및 대표 단어와 관련된 유사 단어를 포함하는 복수의 단어 사전을 생성할 수 있다. The conversation analysis server 100 may generate a plurality of word dictionaries including at least one word based on the conversation history data. Specifically, the conversation analysis server 100 may generate a plurality of word dictionaries including a representative word and similar words related to the representative word.

대화 분석 서버(100)는 대화 이력 데이터에 포함된 각 문장의 동사에 해당하는 용언부가 서로 교체되어 사용될 수 있는지를 학습할 수 있다. 예를 들면, 대화 분석 서버(100)는 '김건모 음악 실행해'와 '김건모 음악 재생해'의 각 문장에서 '실행해'와 '재생해'가 서로 교체되어 사용할 수 있는지를 학습할 수 있다. The conversation analysis server 100 may learn whether the verbs corresponding to the verbs of each sentence included in the conversation history data can be used interchangeably. For example, the conversation analysis server 100 may learn whether'execute' and'replay' can be used interchangeably in each sentence of'Kim Kun-mo playing music' and'Kim Kun-mo playing music'.

대화 분석 서버(100)는 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 예를 들면, 대화 분석 서버(100)는 '재생해'가 속하는 제 1 단어 사전과 '실행해'가 속하는 제 2 단어 사전간의 교체 사용 가중치를 산출할 수 있다. The conversation analysis server 100 may calculate a replacement usage weight between a plurality of word dictionaries based on the conversation history data. For example, the conversation analysis server 100 may calculate a replacement usage weight between the first word dictionary to which'playback' belongs and the second word dictionary to which'playback' belongs.

대화 분석 서버(100)는 대화 이력 데이터에 포함된 각 문장의 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. The conversation analysis server 100 may calculate frequency weights for a plurality of word dictionaries based on the frequency of use of a plurality of verbs in each sentence included in the conversation history data.

대화 분석 서버(100)는 각 단어 사전 별로 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출할 수 있다. The conversation analysis server 100 may calculate reference scores for a plurality of word dictionaries based on the replacement usage weight calculated for each word dictionary and the calculated frequency weight.

대화 분석 서버(100)는 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 역으로 추천할 수 있다. The conversation analysis server 100 may inversely recommend the recommendation sentence for the input sentence received from the user based on the calculated reference score.

이하에서는 도 1의 추천 문장 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다. Hereinafter, the operation of each component of the recommendation sentence providing system of FIG. 1 will be described in more detail.

도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 대화 분석 서버(100)의 블록도이다. 2 is a block diagram of the conversation analysis server 100 shown in FIG. 1 according to an embodiment of the present invention.

도 2를 참조하면, 대화 분석 서버(100)는 사전 생성부(200), 교체 사용 가중치 산출부(210), 빈도 가중치 산출부(220), 레퍼런스 스코어 산출부(230), 추천부(240) 및 임계치 업데이트부(250)를 포함할 수 있다. 다만, 도 2에 도시된 대화 분석 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 이하에서는 도 2와 함께 도 3을 참조하여 설명하기로 한다. Referring to FIG. 2, the dialogue analysis server 100 includes a dictionary generating unit 200, a replacement weight calculation unit 210, a frequency weight calculation unit 220, a reference score calculation unit 230, and a recommendation unit 240 And a threshold update unit 250. However, the conversation analysis server 100 illustrated in FIG. 2 is only one implementation example of the present invention, and various modifications are possible based on the components illustrated in FIG. 2. Hereinafter, it will be described with reference to FIG. 3 together with FIG. 2.

사전 생성부(200)는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성할 수 있다. 구체적으로, 사전 생성부(200)는 대표 단어 및 대표 단어와 관련된 유사 단어를 포함하는 복수의 단어 사전 각각을 생성할 수 있다. 도 3을 참조하면, 사전 생성부(200)는 대표 단어가 '재생'이고, '재생'과 관련된 유사 단어('틀어', '플레이' 등)을 포함하는 제 1 단어 사전(301)을 생성할 수 있다. 또한, 사전 생성부(200)는 대표 단어가 '실행'이고, '실행'과 관련된 유사 단어('동작', '틀어' 등)을 포함하는 제 2 단어 사전(303)을 생성할 수 있다. The dictionary generator 200 may generate a plurality of word dictionaries including at least one word. Specifically, the dictionary generator 200 may generate each of a plurality of word dictionaries including a representative word and similar words related to the representative word. Referring to FIG. 3, the dictionary generator 200 generates a first word dictionary 301 in which the representative word is'play' and includes similar words related to'play' ('twist','play', etc.) can do. Also, the dictionary generator 200 may generate a second word dictionary 303 in which the representative word is'execution' and similar words related to'execution' ('action','twist', etc.).

교체 사용 가중치 산출부(210)는 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 도 3을 참조하면, 대화 이력 데이터에 '김건모 음악 재생해' 및 '김건모 음악 실행해'라는 사용자 발화 문장이 있는 경우, 각 문장의 용언부에 해당되는 '재생해'와 '실행해'는 서로 교체하여 사용될 수 있다. 이 경우, 교체 사용 가중치 산출부(210)는 '재생해'가 속하는 제 1 단어 사전(301)과 '실행해'가 속하는 제 2 단어 사전(303)간의 교체 사용 가중치를 산출할 수 있다. The replacement usage weight calculator 210 may calculate replacement usage weights among a plurality of word dictionaries based on the conversation history data. Referring to FIG. 3, when there is a user's utterance sentence in the conversation history data such as'playing Kim Gun-mo music' and'playing Kim Gun-mo music','playing' and'playing' corresponding to the usage part of each sentence Can be used interchangeably. In this case, the replacement usage weight calculator 210 may calculate the replacement usage weight between the first word dictionary 301 to which the'play solution' belongs and the second word dictionary 303 to which the'execution solution' belongs.

구체적으로, 교체 사용 가중치 산출부(210)는 대화 이력 데이터에 포함된 복수의 문장을 각 문장이 해석된 의도에 따라 분류하고, 분류된 문장에 포함된 용언부에 대응하는 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 예를 들면, 교체 사용 가중치 산출부(210)는 '김건모 음악 재생해' 및 '김건모 음악 실행해'라는 각 문장은 동일한 의도로 사용된 문장이므로, 각 문장의 용언부에 해당하는 '재생해'와 '실행해'가 속하는 제 1 단어 사전(301)과 제 2 단어 사전(303) 간에 교체 사용 가중치를 산출할 수 있다. Specifically, the replacement usage weight calculating unit 210 classifies a plurality of sentences included in the conversation history data according to the intention of each sentence to be interpreted, and the replacement use weights between the word dictionaries corresponding to the verbs included in the classified sentences Can be calculated. For example, the replacement usage weight calculating unit 210 is a sentence used with the same intention of each sentence of'playing Kim Gun-mo music' and'playing Kim Gun-mo music', so that'playing' corresponding to the usage part of each sentence And the replacement word weight between the first word dictionary 301 and the second word dictionary 303 to which'execution' belongs.

또한, 교체 사용 가중치 산출부(210)는 분류된 문장 중 분류된 문장에 포함된 용언부를 제외한 체언부가 동일한 문장에 대하여 용언부가 교체 사용된 빈도를 합산할 수 있다. 예를 들면, 동일 의도로 분류된 '김건모 음악 재생해' 및 '김건모 음악 실행해' 문장을 살펴보면, 체언부에 해당하는 '김건모 음악'은 동일하고, 용언부에 해당하는 '재생해'와 '실행해'는 다름을 확인할 수 있다. 이 때, 교체 사용 가중치 산출부(210)는 '재생해' 및 '실행해' 간에 교체 사용된 빈도를 합산하여 제 1 단어 사전(301)과 제 2 단어 사전(303) 간에 교체 사용 가중치를 산출할 수 있다. In addition, the replacement usage weight calculating unit 210 may sum the frequency of the usage of the replacement by the usage unit for the same sentence, except for the usage unit included in the classified sentence among the classified sentences. For example, when looking at the sentences of'playing Kim Gun-mo music' and'playing Kim Gun-mo music' classified with the same intention,'Kim Gun-mo music' corresponding to the body part is the same,'playing music' and ' 'Do it', you can see the difference. At this time, the replacement usage weight calculator 210 calculates the replacement usage weight between the first word dictionary 301 and the second word dictionary 303 by summing up the frequency of replacement usage between the'play solution' and the'run solution'. can do.

교체 사용 가중치 산출부(210)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 예를 들면, 교체 사용 가중치 산출부(210)는 제 1 단어 사전(301)에 포함된 복수의 단어 각각과 제 2 단어 사전(303)에 포함된 복수의 단어 각각 간에 교체 사용된 교체 사용 가중치를 합산함으로써 제 1 단어 사전(301) 및 제 2 단어 사전(303) 간의 교체 사용 가중치를 산출할 수 있다. The replacement usage weight calculator 210 may calculate replacement usage weights among the plurality of word dictionaries by summing up the replacement usage weights calculated for each word included in the plurality of word dictionaries. For example, the replacement usage weight calculating unit 210 sets the replacement usage weight used for replacement between each of a plurality of words included in the first word dictionary 301 and each of a plurality of words included in the second word dictionary 303. By adding up, it is possible to calculate the replacement usage weight between the first word dictionary 301 and the second word dictionary 303.

빈도 가중치 산출부(220)는 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. 여기서, 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도수는 각 용언부가 대화 이력 데이터에 등장한 횟수를 전체 용언부 빈도수로 나눠 계산될 수 있다. 예를 들면, 대화 이력 데이터에서 전체 용언부 단어가 1000번 사용됐고, 제 1 단어('하다')는 200번 사용됐고, 제 2 단어('주문 열다')는 1번 사용됐다고 가정하면, 제 1 단어에 대한 사용 빈도수는 0.2(=200/1000)이고, 제 2 단어에 대한 사용 빈도수는 0.001(=1/1000)로 계산될 수 있다. The frequency weight calculation unit 220 may calculate the frequency weights for the plurality of word dictionaries based on the frequency of use for the plurality of verbs included in the conversation history data. Here, the frequency of use for the plurality of verbal units included in the conversation history data may be calculated by dividing the number of times each verbal unit appears in the conversation history data by the frequency of the entire verbal units. For example, assuming that the entire verbatim word was used 1000 times in the conversation history data, the first word ('say') was used 200 times, and the second word ('open the order') was used once. The frequency of use for one word is 0.2 (=200/1000), and the frequency of use for the second word can be calculated as 0.001 (=1/1000).

빈도 가중치 산출부(220)는 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도를 산출하고, 복수의 용언부를 복수의 용언부 각각이 대응하는 단어 사전 별로 분류하고, 분류된 단어 사전 별로 산출된 용언부에 대한 사용 빈도를 합산함으로써 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. The frequency weight calculation unit 220 calculates the frequency of use for the plurality of verbs included in the conversation history data, classifies the plurality of verbs by the word dictionary corresponding to each of the plurality of verbs, and calculates each classified word dictionary The frequency weights for a plurality of word dictionaries can be calculated by summing up the frequency of use for the used words.

빈도 가중치 산출부(220)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치(각 단어에 대응하는 대화 이력 데이터의 용언부에 대한 사용 빈도)를 합산하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. 예를 들면, 도 3을 참조하면, 빈도 가중치 산출부(220)는 제 1 단어 사전(301)에 포함된 복수의 단어 각각의 빈도 가중치에 대한 합산으로 제 1 단어 사전(301)에 대한 빈도 가중치를 산출할 수 있다. The frequency weight calculation unit 220 sums up the frequency weights (the frequency of use for the verbatim unit of the conversation history data corresponding to each word) calculated for each word included in the plurality of word dictionaries for the plurality of word dictionaries. The frequency weight can be calculated. For example, referring to FIG. 3, the frequency weight calculation unit 220 is a frequency weight for the first word dictionary 301 as a summation of the frequency weights of each of a plurality of words included in the first word dictionary 301. Can be calculated.

레퍼런스 스코어 산출부(230)는 복수의 단어 사전 별로 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출할 수 있다. 여기서, 레퍼런스 스코어는 [수학식 1]을 통해 산출될 수 있다. The reference score calculator 230 may calculate reference scores for the plurality of word dictionaries based on the replacement usage weight calculated for each word dictionary and the calculated frequency weight. Here, the reference score can be calculated through [Equation 1].

[수학식 1][Equation 1]

레퍼런스 스코어 = 교체 사용 가중치 X - log(빈도 가중치)/동일 의도로 분류된 문장 개수Reference score = replacement usage weight X-log (frequency weight)/number of sentences classified with the same intention

레퍼런스 스코어 산출부(230)는 산출된 빈도 가중치에 반비례하도록 레퍼런스 스코어를 산출할 수 있다. 예를 들면, 빈도 가중치가 낮은 단어가 포함된 단어 사전일수록 레퍼런스 스코어는 높아지고, 빈도 가중치가 높은 단어가 포함된 단어 사전일수록 레퍼런스 스코어는 낮아지게 된다. 도 3을 참조하면, 복수의 단어 사전(301, 303, 305, 307) 사이를 연결하는 에지의 양쪽에 표시된 수치는 레퍼런스 스코어이다. 제 1 단어 사전(301)이 제 2 단어 사전(303)으로 교차 사용될 수 있는 레퍼런스 스코어는 0.4이고, 제 2 단어 사전(303)이 제 1 단어 사전(301)으로 교차 사용될 수 있는 레퍼런스 스코어는 0.2이다. The reference score calculator 230 may calculate the reference score to be inversely proportional to the calculated frequency weight. For example, a word dictionary containing a word with a low frequency weight increases the reference score, and a word dictionary containing a word with a high frequency weight decreases the reference score. Referring to FIG. 3, numerical values displayed on both sides of edges connecting between a plurality of word dictionaries 301, 303, 305, and 307 are reference scores. The reference score in which the first word dictionary 301 can be used crosswise as the second word dictionary 303 is 0.4, and the reference score in which the second word dictionary 303 can be used crosswise as the first word dictionary 301 is 0.2. to be.

추천부(240)는 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천할 수 있다. 예를 들면, 추천부(240)는 산출된 레퍼런스 스코어의 값이 큰 순서대로 추천 문장을 추천할 수 있다. The recommender 240 may recommend a recommendation sentence for an input sentence received from a user based on the calculated reference score. For example, the recommender 240 may recommend the recommendation sentences in the order in which the calculated reference score value is largest.

추천부(240)는 입력 문장에 포함된 용언부를 추출하고, 추출된 용언부에 대응하는 단어 사전에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. 예를 들면, 도 3을 참조하면, 추천부(240)는 사용자로부터 입력된 입력 문장이 '노래 재생해'와 '노래 실행해'인 경우, '노래 재생해'의 용언부에 해당하는 '재생해'가 속하는 제 1 단어 사전(301)과 '노래 실행해'의 용언부에 해당하는 '실행해'가 속하는 제 2 단어 사전(303)에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. The recommendation unit 240 may extract the terminology included in the input sentence, and recommend the recommended sentence based on the reference score for the word dictionary corresponding to the extracted terminology. For example, referring to FIG. 3, when the input sentence input from the user is'play a song' and'play a song', the recommendation unit 240 plays'play a song' corresponding to the pronoun A recommendation sentence may be recommended based on the reference scores of the first word dictionary 301 to which the year belongs and the second word dictionary 303 to which the'execution solution' belongs to the pronoun of the'song execution solution'. .

추천부(240)는 입력 문장에 포함된 용언부에 대응하는 단어 사전을 제외한 다른 단어 사전에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. 예를 들면, 추천부(240)는 입력 문장에 포함된 용언부가 속하는 제 1 단어 사전(301)과 제 2 단어 사전(303)은 추천 문장을 구성하는 사전에서 제외시키고, 제 3 단어 사전(305) 및 제 4 단어 사전(307)에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. 이 때, 추천부(240)는 제 3 단어 사전(305)의 경우, 제 3 단어 사전(305) 및 제 1 단어 사전(301) 간의 레퍼런스 스코어(0.1) 및 제 3 단어 사전(305) 및 제 2 단어 사전(303) 간의 레퍼런스 스코어(0.1)를 합산하여 참고 사전수(2)로 나누어 제 3 단어 사전(305)에 대한 레퍼런스 스코어(0.1=(0.1+0.1)/2)를 계산할 수 있다. 추천부(240)는 제 4 단어 사전(307)의 경우, 제 4 단어 사전(307) 및 제 1 단어 사전(301) 간의 레퍼런스 스코어(0.2)와 제 4 단어 사전(307) 및 제 2 단어 사전(303) 간의 레퍼런스 스코어(0.3)를 합산하여 참고 사전수(2)로 나누어 제 4 단어 사전(307)에 대한 레퍼런스 스코어(0.25=(0.3+0.2)/2)를 계산할 수 있다. 이 때, 추천부(240)는 제 3 단어 사전(305)에 대한 레퍼런스 스코어(0.1)보다 제 4 단어 사전(307)에 대한 레퍼런스 스코어(0.25)가 높으므로 제 4 단어 사전(307)을 이용하여 '노래 부탁해'와 같은 추천 문장을 생성하여 추천할 수 있다. The recommendation unit 240 may recommend the recommendation sentence based on the reference scores of other word dictionaries except for the word dictionary corresponding to the usage statement included in the input sentence. For example, the recommendation unit 240 excludes the first word dictionary 301 and the second word dictionary 303 to which the verb included in the input sentence belongs, and the third word dictionary 305 ) And the recommendation sentence based on the reference score for the fourth word dictionary 307. At this time, in the case of the third word dictionary 305, the recommendation unit 240 may include a reference score (0.1) between the third word dictionary 305 and the first word dictionary 301 and a third word dictionary 305 and a third The reference score (0.1=(0.1+0.1)/2) for the third word dictionary 305 may be calculated by summing the reference scores (0.1) between the two word dictionaries (303) and dividing by the reference dictionary number (2). In the case of the fourth word dictionary 307, the recommendation unit 240 may have a reference score (0.2) between the fourth word dictionary 307 and the first word dictionary 301 and a fourth word dictionary 307 and a second word dictionary The reference scores (0.25 = (0.3+0.2)/2) for the fourth word dictionary 307 may be calculated by summing the reference scores (0.3) between (303) and dividing by the reference dictionary number (2). At this time, the recommender 240 uses the fourth word dictionary 307 because the reference score (0.25) for the fourth word dictionary 307 is higher than the reference score (0.1) for the third word dictionary 305. By creating a recommendation sentence such as'Please sing a song', you can recommend it.

임계치 업데이트부(250)는 추천된 추천 문장이 사용자에 의해 선택되었는지 여부에 따라 추천 문장에 포함된 단어 사전의 사용에 대한 임계치를 업데이트할 수 있다. 예를 들면, 제 3 단어 사전(305)의 사용에 대한 임계치가 0.1이고, 제 3 단어 사전(305)에 대한 레퍼런스 스코어가 0.3인 추천 문장을 사용자가 선택하지 않은 경우, 임계치 업데이트부(250)는 현재 임계치(0.1)에 제 3 단어 사전(305)에 대한 상수값(0.03=0.3/10)을 더하여 제 3 단어 사전(305)의 사용에 대한 임계치(0.13)를 업데이트할 수 있다. 이후, 제 3 단어 사전(305)에 대한 레퍼런스 스코어가 0.2인 추천 문장을 사용자가 선택한 경우, 임계치 업데이트부(250)는 현재 임계치(0.13)에 제 3 단어 사전(305)에 대한 상수값(0.02=0.2/10)을 차감하여 제 3 단어 사전(305)의 사용에 대한 임계치(0.11)를 다시 업데이트할 수 있다. The threshold update unit 250 may update the threshold for the use of the word dictionary included in the recommended sentence according to whether the recommended recommended sentence is selected by the user. For example, if the user does not select a recommendation sentence having a threshold of 0.1 for use of the third word dictionary 305 and a reference score of 0.3 for the third word dictionary 305, the threshold update unit 250 May update the threshold value 0.13 for use of the third word dictionary 305 by adding a constant value (0.03=0.3/10) for the third word dictionary 305 to the current threshold value 0.1. Thereafter, when the user selects a recommendation sentence having a reference score of 0.2 for the third word dictionary 305, the threshold update unit 250 sets a constant value (0.02) for the third word dictionary 305 to the current threshold value 0.13. =0.2/10) to subtract the threshold 0.11 for use of the third word dictionary 305 again.

한편, 추천부(240)는 사용자에게 추천한 추천 문장을 사용자가 선택하게 되면, 다음 문장의 추천 시, 추천 문장의 용언부가 속하는 단어 사전을 제외한 다른 단어 사전에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. 예를 들면, 도 3을 참조하면, 제 4 단어 사전(307)을 이용하여 생성된 추천 문장을 사용자가 선택하게 되면, 추천부(240)는 다음 문장 추천시 제 4 단어 사전(307)을 제외한 제 1 단어 사전(301), 제 2 단어 사전(303) 및 제 3 단어 사전(305) 각각에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. On the other hand, when the user selects a recommendation sentence recommended to the user, the recommendation unit 240 recommends the recommendation sentence based on a reference score for other word dictionaries except for the word dictionary to which the glossary of the recommendation sentence belongs when recommending the next sentence Can recommend For example, referring to FIG. 3, when the user selects a recommendation sentence generated using the fourth word dictionary 307, the recommender 240 excludes the fourth word dictionary 307 when recommending the next sentence. A recommendation sentence may be recommended based on reference scores for each of the first word dictionary 301, the second word dictionary 303, and the third word dictionary 305.

추천부(240)는 각 단어 사전에 대한 레퍼런스 스코어가 임계치를 초과하는지 여부에 기초하여 각 단어 사전을 이용하여 추천 문장을 생성할지를 결정할 수 있다. 즉, 추천부(240)는 단어 사전에 대한 레퍼런스 스코어가 임계치 이상인 단어 사전을 통해 추천 문장을 생성할 수 있다. The recommendation unit 240 may determine whether to generate a recommendation sentence using each word dictionary based on whether the reference score for each word dictionary exceeds a threshold. That is, the recommender 240 may generate a recommendation sentence through a word dictionary whose reference score for the word dictionary is greater than or equal to a threshold.

예를 들면, 도 3을 참조하면, 제 4 단어 사전(307)을 이용하여 생성된 추천 문장을 사용자가 선택하게 되면, 다음 문장 추천시 제 4 단어 사전(307)을 제외한 제 1 단어 사전(301), 제 2 단어 사전(303) 및 제 3 단어 사전(305) 중 사용자가 한번도 선택하지 않은 제 3 단어 사전(305)이 추천 문장을 생성하기 위한 사전 후보로 선정될 수 있다. 추천부(240)는 제 3 단어 사전(305)과 제 1 단어 사전(301) 간의 레퍼런스 스코어(0.1)와 제 3 단어 사전(305)과 제 2 단어 사전(303) 간의 레퍼런스 스코어(0.1)와 제 3 단어 사전(305)과 제 4 단어 사전(307) 간의 레퍼런스 스코어(0.1)를 합산한 후 참고 사전수(3)로 나누어 제 3 단어 사전(305)에 대한 레퍼런스 스코어(0.1=(0.1+0.1+0.1)/3)를 계산할 수 있다. 이 때, 제 3 단어 사전(305)에 대한 레퍼런스 스코어가 임계치보다 미만이므로 제 3 단어 사전(305)을 이용한 추천 문장을 생성하지 않게 된다. For example, referring to FIG. 3, when the user selects a recommendation sentence generated using the fourth word dictionary 307, the first word dictionary 301 excluding the fourth word dictionary 307 when recommending the next sentence ), the second word dictionary 303 and the third word dictionary 305 among the third word dictionaries 305 that are not selected by the user may be selected as dictionary candidates for generating a recommended sentence. The recommendation unit 240 includes a reference score (0.1) between the third word dictionary 305 and the first word dictionary 301 and a reference score (0.1) between the third word dictionary 305 and the second word dictionary 303. The reference score (0.1=(0.1+) for the third word dictionary 305 is divided by adding the reference score (0.1) between the third word dictionary 305 and the fourth word dictionary 307 and dividing by the reference dictionary number (3). 0.1+0.1)/3) can be calculated. At this time, since the reference score for the third word dictionary 305 is less than the threshold, a recommendation sentence using the third word dictionary 305 is not generated.

한편, 당업자라면, 사전 생성부(200), 교체 사용 가중치 산출부(210), 빈도 가중치 산출부(220), 레퍼런스 스코어 산출부(230), 추천부(240) 및 임계치 업데이트부(250) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. On the other hand, if a person skilled in the art, the dictionary generation unit 200, the replacement weight calculation unit 210, the frequency weight calculation unit 220, the reference score calculation unit 230, the recommendation unit 240 and the threshold update unit 250, respectively It will be fully understood that this may be implemented separately, or one or more of these may be implemented integrally.

도 4는 본 발명의 일 실시예에 따른, 추천 문장 제공 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method for providing a recommendation sentence according to an embodiment of the present invention.

도 4를 참조하면, 단계 S401에서 대화 분석 서버(100)는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성할 수 있다. Referring to FIG. 4, in step S401, the conversation analysis server 100 may generate a plurality of word dictionaries including at least one word.

단계 S403에서 대화 분석 서버(100)는 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. In step S403, the conversation analysis server 100 may calculate the replacement usage weight between the plurality of word dictionaries based on the conversation history data.

단계 S405에서 대화 분석 서버(100)는 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. In step S405, the conversation analysis server 100 may calculate the frequency weights for the plurality of word dictionaries based on the frequency of use for the plurality of verbs included in the conversation history data.

단계 S407에서 대화 분석 서버(100)는 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출할 수 있다. In step S407, the conversation analysis server 100 may calculate reference scores for the plurality of word dictionaries based on the calculated replacement use weight and the calculated frequency weight.

단계 S409에서 대화 분석 서버(100)는 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천할 수 있다. In step S409, the conversation analysis server 100 may recommend the recommended sentence for the input sentence received from the user based on the calculated reference score.

도 4에는 도시되지 않았으나, 단계 S403에서 대화 분석 서버(100)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. Although not illustrated in FIG. 4, in step S403, the dialogue analysis server 100 may calculate the replacement usage weights among the plurality of word dictionaries by summing the replacement usage weights calculated for each word included in the plurality of word dictionaries. .

도 4에는 도시되지 않았으나, 단계 S405에서 대화 분석 서버(100)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치를 합산하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. Although not shown in FIG. 4, in step S405, the dialogue analysis server 100 may calculate the frequency weights for the plurality of word dictionaries by adding up the frequency weights calculated for each word included in the plurality of word dictionaries.

상술한 설명에서, 단계 S401 내지 S409는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S401 to S409 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 if necessary, and the order between the steps may be changed.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as program modules, being 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. In addition, the computer-readable medium may include any computer storage medium. 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 only, and those skilled in the art to which the present invention pertains can understand that the present invention 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 distributed manner, and similarly, 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 detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be interpreted to be included in the scope of the present invention. .

100: 대화 분석 서버
110: 음성 입출력 장치
200: 사전 생성부
210: 교체 사용 가중치 산출부
220: 빈도 가중치 산출부
230: 레퍼런스 스코어 산출부
240: 추천부
250: 임계치 업데이트부
100: chat analysis server
110: voice input and output device
200: dictionary generation unit
210: replacement use weight calculator
220: frequency weight calculation unit
230: reference score calculator
240: recommendation part
250: threshold update unit

Claims (18)

대화 분석 서버에 있어서,
적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 사전 생성부;
대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 교체 사용 가중치 산출부;
상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 빈도 가중치 산출부;
상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 레퍼런스 스코어 산출부; 및
상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 추천부
를 포함하는 것인, 대화 분석 서버.
In the conversation analysis server,
A dictionary generating unit generating a plurality of word dictionaries including at least one word;
A replacement usage weight calculating unit for calculating replacement usage weights between the plurality of word dictionaries based on conversation history data;
A frequency weight calculator configured to calculate frequency weights for the plurality of word dictionaries based on frequency of use for a plurality of verbal units included in the conversation history data;
A reference score calculating unit calculating reference scores for the plurality of word dictionaries based on the calculated replacement use weights and the calculated frequency weights; And
A recommendation unit recommending a recommendation sentence for an input sentence received from a user based on the calculated reference score
Containing, the conversation analysis server.
제 1 항에 있어서,
상기 각 단어 사전은 대표 단어 및 상기 대표 단어와 관련된 유사 단어를 포함하는 것인, 대화 분석 서버.
According to claim 1,
Each word dictionary includes a representative word and similar words related to the representative word, the conversation analysis server.
제 2 항에 있어서,
상기 교체 사용 가중치 산출부는 상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하고,
상기 빈도 가중치 산출부는 상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치를 합산하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 것인, 대화 분석 서버.
According to claim 2,
The replacement usage weight calculator calculates replacement usage weights between the plurality of word dictionaries by adding replacement usage weights calculated for each word included in the plurality of word dictionaries,
The frequency weight calculation unit calculates a frequency weight for the plurality of word dictionaries by summing the frequency weights calculated for each word included in the plurality of word dictionaries.
제 3 항에 있어서,
상기 교체 사용 가중치 산출부는 상기 대화 이력 데이터에 포함된 복수의 문장을 각 문장이 해석된 의도에 따라 분류하고, 상기 분류된 문장에 포함된 용언부에 대응하는 단어 사전 간의 교체 사용 가중치를 산출하는 것인, 대화 분석 서버.
The method of claim 3,
The replacement usage weight calculating unit classifies a plurality of sentences included in the conversation history data according to the intention of each sentence to be interpreted, and calculates replacement usage weights between word dictionaries corresponding to the verbs included in the classified sentences. Phosphorus, conversation analysis server.
제 4 항에 있어서,
상기 교체 사용 가중치 산출부는 상기 분류된 문장 중 상기 분류된 문장에 포함된 용언부를 제외한 체언부가 동일한 문장에 대하여 상기 용언부가 교체 사용된 빈도를 합산하는 것인, 대화 분석 서버.
The method of claim 4,
The replacement usage weight calculating unit sums up the frequency of replacement usage of the usage unit with respect to the sentence having the same body unit except for the usage unit included in the classified sentence among the classified sentences.
제 3 항에 있어서,
상기 빈도 가중치 산출부는 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도를 산출하고, 상기 복수의 용언부를 상기 복수의 용언부 각각이 대응하는 단어 사전 별로 분류하고, 상기 분류된 단어 사전 별로 상기 산출된 용언부에 대한 사용빈도를 합산함으로써 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 것인, 대화 분석 서버.
The method of claim 3,
The frequency weight calculation unit calculates the frequency of use for a plurality of verbs included in the conversation history data, classifies the plurality of verbs by word dictionary corresponding to each of the plurality of verbs, and by the classified word dictionary Conversation analysis server to calculate the frequency weight for the plurality of word dictionaries by summing the frequency of use for the calculated verb.
제 1 항에 있어서,
상기 레퍼런스 스코어 산출부는 상기 산출된 빈도 가중치에 반비례하도록 상기 레퍼런스 스코어를 산출하는 것인, 대화 분석 서버.
According to claim 1,
The reference score calculation unit is to calculate the reference score to be inversely proportional to the calculated frequency weight, conversation analysis server.
제 1 항에 있어서,
상기 추천부는 상기 입력 문장에 포함된 용언부를 추출하고, 상기 추출된 용언부에 대응하는 단어 사전에 대한 레퍼런스 스코어에 기초하여 상기 추천 문장을 추천하는 것인, 대화 분석 서버.
According to claim 1,
The recommendation unit extracts the usage statement included in the input sentence, and recommends the recommendation sentence based on a reference score for a word dictionary corresponding to the extracted usage statement.
제 1 항에 있어서,
상기 추천된 추천 문장이 사용자에 의해 선택되었는지 여부에 따라 상기 추천 문장에 포함된 단어 사전의 사용에 대한 임계치를 업데이트하는 임계치 업데이트부를 더 포함하는 것인, 대화 분석 서버.
According to claim 1,
And a threshold update unit that updates a threshold for the use of the word dictionary included in the recommended sentence according to whether the recommended recommended sentence is selected by the user.
제 9 항에 있어서,
상기 추천 문장은 상기 레퍼런스 스코어가 상기 임계치 이상인 단어 사전을 통해 생성되는 것인, 대화 분석 서버.
The method of claim 9,
The recommendation sentence, the reference score is generated through a dictionary of words above the threshold, the conversation analysis server.
대화 분석 서버에서 추천 문장을 제공하는 방법에 있어서,
적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 단계;
대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 단계;
상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계;
상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 단계; 및
상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 단계
를 포함하는 것인, 추천 문장 제공 방법.
In the method of providing a recommended sentence in the conversation analysis server,
Generating a plurality of word dictionaries including at least one word;
Calculating replacement usage weights between the plurality of word dictionaries based on conversation history data;
Calculating frequency weights for the plurality of word dictionaries based on frequency of use for a plurality of verbal units included in the conversation history data;
Calculating reference scores for the plurality of word dictionaries based on the calculated replacement usage weights and the calculated frequency weights; And
Recommending a recommendation sentence for an input sentence received from a user based on the calculated reference score
That includes, how to provide a recommended sentence.
제 11 항에 있어서,
상기 교체 사용 가중치를 산출하는 단계는
상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 단계를 포함하고,
상기 빈도 가중치를 산출하는 단계는
상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치를 합산하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
The method of claim 11,
The step of calculating the replacement use weight is
And calculating replacement usage weights between the plurality of word dictionaries by adding replacement usage weights calculated for each word included in the plurality of word dictionaries,
The step of calculating the frequency weight is
And calculating frequency weights for the plurality of word dictionaries by summing up frequency weights calculated for each word included in the plurality of word dictionaries.
제 12 항에 있어서,
상기 교체 사용 가중치를 산출하는 단계는
상기 대화 이력 데이터에 포함된 복수의 문장을 각 문장이 해석된 의도에 따라 분류하고, 상기 분류된 문장에 포함된 용언부에 대응하는 단어 사전 간의 교체 사용 가중치를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
The method of claim 12,
The step of calculating the replacement use weight is
Comprising the steps of classifying a plurality of sentences included in the conversation history data according to the intention of each sentence to be interpreted, and calculating a replacement usage weight between word dictionaries corresponding to the verbs included in the classified sentences. How to provide recommended sentences.
제 13 항에 있어서,
상기 교체 사용 가중치를 산출하는 단계는
상기 분류된 문장 중 상기 분류된 문장에 포함된 용언부를 제외한 체언부가 동일한 문장에 대하여 상기 용언부가 교체 사용된 빈도를 합산하는 단계를 포함하는 것인, 추천 문장 제공 방법.
The method of claim 13,
The step of calculating the replacement use weight is
And a step of summing the frequency with which the saying part is used for the same sentence among the classified sentences, except for the saying part included in the classified sentence.
제 12 항에 있어서,
상기 빈도 가중치를 산출하는 단계는
상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도를 산출하고, 상기 복수의 용언부를 상기 복수의 용언부 각각이 대응하는 단어 사전 별로 분류하고, 상기 분류된 단어 사전 별로 상기 산출된 용언부에 대한 사용빈도를 합산함으로써 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
The method of claim 12,
The step of calculating the frequency weight is
Calculate the frequency of use for a plurality of verbs included in the conversation history data, classify the plurality of verbs by word dictionary corresponding to each of the plurality of verbs, and calculate the verbs by each classified word dictionary And calculating frequency weights for the plurality of word dictionaries by summing the frequency of use for.
제 11 항에 있어서,
상기 레퍼런스 스코어를 산출하는 단계는
상기 산출된 빈도 가중치에 반비례하도록 상기 레퍼런스 스코어를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
The method of claim 11,
The step of calculating the reference score
And calculating the reference score to be inversely proportional to the calculated frequency weight.
제 11 항에 있어서,
상기 추천 문장을 추천하는 단계는
상기 입력 문장에 포함된 용언부를 추출하고, 상기 추출된 용언부에 대응하는 단어 사전에 대한 레퍼런스 스코어에 기초하여 상기 추천 문장을 추천하는 단계를 포함하는 것인, 추천 문장 제공 방법.
The method of claim 11,
The step of recommending the recommended sentence is
And extracting a verbal phrase included in the input sentence, and recommending the recommended sentence based on a reference score for a word dictionary corresponding to the extracted verbal phrase.
추천 문장을 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하고,
대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하고,
상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하고,
상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고,
상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a medium comprising a sequence of instructions providing a recommendation sentence,
When the computer program is executed by a computing device,
Create a plurality of word dictionaries containing at least one word,
Based on the conversation history data, the replacement usage weight between the plurality of word dictionaries is calculated,
Frequency weights for the plurality of word dictionaries are calculated based on a frequency of use for a plurality of verbal units included in the conversation history data,
A reference score for the plurality of word dictionaries is calculated based on the calculated replacement usage weight and the calculated frequency weight,
And a sequence of instructions for recommending a recommendation sentence for an input sentence received from a user based on the calculated reference score.
KR1020190003440A 2019-01-10 2019-01-10 Dialog analysis server, method and computer program for providing recommendation sentence KR102181742B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190003440A KR102181742B1 (en) 2019-01-10 2019-01-10 Dialog analysis server, method and computer program for providing recommendation sentence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190003440A KR102181742B1 (en) 2019-01-10 2019-01-10 Dialog analysis server, method and computer program for providing recommendation sentence

Publications (2)

Publication Number Publication Date
KR20200086986A true KR20200086986A (en) 2020-07-20
KR102181742B1 KR102181742B1 (en) 2020-11-24

Family

ID=71831953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190003440A KR102181742B1 (en) 2019-01-10 2019-01-10 Dialog analysis server, method and computer program for providing recommendation sentence

Country Status (1)

Country Link
KR (1) KR102181742B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987682B2 (en) * 2007-04-16 2012-07-25 ソニー株式会社 Voice chat system, information processing apparatus, voice recognition method and program
KR20160066441A (en) * 2014-12-02 2016-06-10 삼성전자주식회사 Voice recognizing method and voice recognizing appratus
KR20170018620A (en) * 2015-08-10 2017-02-20 삼성전자주식회사 similar meaning detection method and detection device using same
KR101806151B1 (en) 2016-07-21 2017-12-07 숭실대학교산학협력단 Method and device for extracting alternative words automatically, recording medium for performing the method
KR20180042710A (en) * 2016-10-18 2018-04-26 삼성에스디에스 주식회사 Method and apparatus for managing a synonymous item based on analysis of similarity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987682B2 (en) * 2007-04-16 2012-07-25 ソニー株式会社 Voice chat system, information processing apparatus, voice recognition method and program
KR20160066441A (en) * 2014-12-02 2016-06-10 삼성전자주식회사 Voice recognizing method and voice recognizing appratus
KR20170018620A (en) * 2015-08-10 2017-02-20 삼성전자주식회사 similar meaning detection method and detection device using same
KR101806151B1 (en) 2016-07-21 2017-12-07 숭실대학교산학협력단 Method and device for extracting alternative words automatically, recording medium for performing the method
KR20180042710A (en) * 2016-10-18 2018-04-26 삼성에스디에스 주식회사 Method and apparatus for managing a synonymous item based on analysis of similarity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김준수 외 2인, 가중치를 이용한 통계 기반 한국어 동형이의어 분별 모델, 정보과학회논문지: 소프트웨어 및 응용 30(1112), 2003.12. 1112-1123페이지. 1부.* *

Also Published As

Publication number Publication date
KR102181742B1 (en) 2020-11-24

Similar Documents

Publication Publication Date Title
US11042708B1 (en) Context saliency-based deictic parser for natural language generation
US10049152B2 (en) Generating natural language dialog using a questions corpus
US10831796B2 (en) Tone optimization for digital content
KR101634086B1 (en) Method and computer system of analyzing communication situation based on emotion information
US10133733B2 (en) Systems and methods for an autonomous avatar driver
US20150120301A1 (en) Information Recognition Method and Apparatus
CN111033490B (en) Method and system for generating responses to queries addressed to different cognitive engines
CN112487173A (en) Man-machine conversation method, device and storage medium
JP6980411B2 (en) Information processing device, dialogue processing method, and dialogue processing program
JP6988924B2 (en) Question group extraction method, question group extraction device and question group extraction program
CN112579760B (en) Man-machine conversation method, device, computer equipment and readable storage medium
JP7096172B2 (en) Devices, programs and methods for generating dialogue scenarios, including utterances according to character.
US20210342553A1 (en) Dialogue data generation device, dialogue data generation method, and program
CN112307188B (en) Dialog generation method, system, electronic device and readable storage medium
JP2018055671A (en) Paraphrase identification method, paraphrase identification device, and paraphrase identification program
CN117271736A (en) Question-answer pair generation method and system, electronic equipment and storage medium
US10354646B2 (en) Bilingual corpus update method, bilingual corpus update apparatus, and recording medium storing bilingual corpus update program
Adewale et al. Pixie: a social chatbot
CN109002498B (en) Man-machine conversation method, device, equipment and storage medium
KR102181742B1 (en) Dialog analysis server, method and computer program for providing recommendation sentence
JP6545633B2 (en) Word score calculation device, word score calculation method and program
CN111782771B (en) Text question solving method and device
US12019986B2 (en) Utterance pair acquisition apparatus, utterance pair acquisition method, and program
El-Taher et al. Automation of understanding textual contents in social networks
CN113470625A (en) Voice conversation processing method, device, equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant