KR102181742B1 - 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램 - Google Patents

추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램 Download PDF

Info

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

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

대화 분석 서버는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 사전 생성부, 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 교체 사용 가중치 산출부, 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출하는 빈도 가중치 산출부, 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 레퍼런스 스코어 산출부 및 산출된 레퍼런스 스코어를 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 추천부를 포함할 수 있다.

Description

추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램{DIALOG ANALYSIS SERVER, METHOD AND COMPUTER PROGRAM FOR PROVIDING RECOMMENDATION SENTENCE}
본 발명은 추천 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.
종래의 대화 플랫폼은 음성 인식 및 음성 합성을 위해 개별적으로 개발된 컴포넌트들의 간단한 결합물로서 설계되었다. 따라서 이러한 대화 플랫폼에 대한 사전 지식이 없는 써드 파티(3rd Party)사가 대화 모델 작성 도구를 이용하여 추천 문장을 제공하기에는 어려움이 있었다.
한국등록특허공보 제10-1806151호 (2017.12.01. 등록)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 대화 이력 데이터에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고, 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 대화 분석 서버는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 사전 생성부; 대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 교체 사용 가중치 산출부; 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 빈도 가중치 산출부; 상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 레퍼런스 스코어 산출부; 및 상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 추천부를 포함할 수 있다.
본 발명의 제 2 측면에 따른 대화 분석 서버에서 추천 문장을 제공하는 방법은 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 단계; 대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 단계; 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계; 상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 단계; 및 상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따른 추천 문장을 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하고, 대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하고, 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하고, 상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고, 상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 명령어들의 시퀀스를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 대화 이력 데이터에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고, 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 추천 문장 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 대화 분석 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 추천 문장을 제공하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 추천 문장 제공 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 추천 문장 제공 시스템의 구성도이다.
도 1을 참조하면, 추천 문장 제공 시스템은 대화 분석 서버(100) 및 음성 입출력 장치(110)를 포함할 수 있다. 다만, 이러한 도 1의 추천 문장 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
일반적으로, 도 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) 등이 포함되나 이에 한정되지는 않는다.
대화 분석 서버(100)는 음성 입출력 장치(110)로부터 입력된 사용자의 입력문장(발화문장)에 대한 의도를 해석하고, 해석된 의도에 맞는 답변을 생성하여 음성 입출력 장치(110)로 제공할 수 있다.
대화 분석 서버(100)는 입력 문장, 입력 문장에 대한 해석 결과와 입력 문장에 대한 답변을 포함하는 대화 이력 데이터를 사용 이력 DB에 저장할 수 있다.
대화 분석 서버(100)는 대화 이력 데이터에 기초하여 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성할 수 있다. 구체적으로, 대화 분석 서버(100)는 대표 단어 및 대표 단어와 관련된 유사 단어를 포함하는 복수의 단어 사전을 생성할 수 있다.
대화 분석 서버(100)는 대화 이력 데이터에 포함된 각 문장의 동사에 해당하는 용언부가 서로 교체되어 사용될 수 있는지를 학습할 수 있다. 예를 들면, 대화 분석 서버(100)는 '김건모 음악 실행해'와 '김건모 음악 재생해'의 각 문장에서 '실행해'와 '재생해'가 서로 교체되어 사용할 수 있는지를 학습할 수 있다.
대화 분석 서버(100)는 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 예를 들면, 대화 분석 서버(100)는 '재생해'가 속하는 제 1 단어 사전과 '실행해'가 속하는 제 2 단어 사전간의 교체 사용 가중치를 산출할 수 있다.
대화 분석 서버(100)는 대화 이력 데이터에 포함된 각 문장의 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다.
대화 분석 서버(100)는 각 단어 사전 별로 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출할 수 있다.
대화 분석 서버(100)는 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 역으로 추천할 수 있다.
이하에서는 도 1의 추천 문장 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 대화 분석 서버(100)의 블록도이다.
도 2를 참조하면, 대화 분석 서버(100)는 사전 생성부(200), 교체 사용 가중치 산출부(210), 빈도 가중치 산출부(220), 레퍼런스 스코어 산출부(230), 추천부(240) 및 임계치 업데이트부(250)를 포함할 수 있다. 다만, 도 2에 도시된 대화 분석 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 이하에서는 도 2와 함께 도 3을 참조하여 설명하기로 한다.
사전 생성부(200)는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성할 수 있다. 구체적으로, 사전 생성부(200)는 대표 단어 및 대표 단어와 관련된 유사 단어를 포함하는 복수의 단어 사전 각각을 생성할 수 있다. 도 3을 참조하면, 사전 생성부(200)는 대표 단어가 '재생'이고, '재생'과 관련된 유사 단어('틀어', '플레이' 등)을 포함하는 제 1 단어 사전(301)을 생성할 수 있다. 또한, 사전 생성부(200)는 대표 단어가 '실행'이고, '실행'과 관련된 유사 단어('동작', '틀어' 등)을 포함하는 제 2 단어 사전(303)을 생성할 수 있다.
교체 사용 가중치 산출부(210)는 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 도 3을 참조하면, 대화 이력 데이터에 '김건모 음악 재생해' 및 '김건모 음악 실행해'라는 사용자 발화 문장이 있는 경우, 각 문장의 용언부에 해당되는 '재생해'와 '실행해'는 서로 교체하여 사용될 수 있다. 이 경우, 교체 사용 가중치 산출부(210)는 '재생해'가 속하는 제 1 단어 사전(301)과 '실행해'가 속하는 제 2 단어 사전(303)간의 교체 사용 가중치를 산출할 수 있다.
구체적으로, 교체 사용 가중치 산출부(210)는 대화 이력 데이터에 포함된 복수의 문장을 각 문장이 해석된 의도에 따라 분류하고, 분류된 문장에 포함된 용언부에 대응하는 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 예를 들면, 교체 사용 가중치 산출부(210)는 '김건모 음악 재생해' 및 '김건모 음악 실행해'라는 각 문장은 동일한 의도로 사용된 문장이므로, 각 문장의 용언부에 해당하는 '재생해'와 '실행해'가 속하는 제 1 단어 사전(301)과 제 2 단어 사전(303) 간에 교체 사용 가중치를 산출할 수 있다.
또한, 교체 사용 가중치 산출부(210)는 분류된 문장 중 분류된 문장에 포함된 용언부를 제외한 체언부가 동일한 문장에 대하여 용언부가 교체 사용된 빈도를 합산할 수 있다. 예를 들면, 동일 의도로 분류된 '김건모 음악 재생해' 및 '김건모 음악 실행해' 문장을 살펴보면, 체언부에 해당하는 '김건모 음악'은 동일하고, 용언부에 해당하는 '재생해'와 '실행해'는 다름을 확인할 수 있다. 이 때, 교체 사용 가중치 산출부(210)는 '재생해' 및 '실행해' 간에 교체 사용된 빈도를 합산하여 제 1 단어 사전(301)과 제 2 단어 사전(303) 간에 교체 사용 가중치를 산출할 수 있다.
교체 사용 가중치 산출부(210)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다. 예를 들면, 교체 사용 가중치 산출부(210)는 제 1 단어 사전(301)에 포함된 복수의 단어 각각과 제 2 단어 사전(303)에 포함된 복수의 단어 각각 간에 교체 사용된 교체 사용 가중치를 합산함으로써 제 1 단어 사전(301) 및 제 2 단어 사전(303) 간의 교체 사용 가중치를 산출할 수 있다.
빈도 가중치 산출부(220)는 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. 여기서, 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도수는 각 용언부가 대화 이력 데이터에 등장한 횟수를 전체 용언부 빈도수로 나눠 계산될 수 있다. 예를 들면, 대화 이력 데이터에서 전체 용언부 단어가 1000번 사용됐고, 제 1 단어('하다')는 200번 사용됐고, 제 2 단어('주문 열다')는 1번 사용됐다고 가정하면, 제 1 단어에 대한 사용 빈도수는 0.2(=200/1000)이고, 제 2 단어에 대한 사용 빈도수는 0.001(=1/1000)로 계산될 수 있다.
빈도 가중치 산출부(220)는 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도를 산출하고, 복수의 용언부를 복수의 용언부 각각이 대응하는 단어 사전 별로 분류하고, 분류된 단어 사전 별로 산출된 용언부에 대한 사용 빈도를 합산함으로써 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다.
빈도 가중치 산출부(220)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치(각 단어에 대응하는 대화 이력 데이터의 용언부에 대한 사용 빈도)를 합산하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다. 예를 들면, 도 3을 참조하면, 빈도 가중치 산출부(220)는 제 1 단어 사전(301)에 포함된 복수의 단어 각각의 빈도 가중치에 대한 합산으로 제 1 단어 사전(301)에 대한 빈도 가중치를 산출할 수 있다.
레퍼런스 스코어 산출부(230)는 복수의 단어 사전 별로 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출할 수 있다. 여기서, 레퍼런스 스코어는 [수학식 1]을 통해 산출될 수 있다.
[수학식 1]
레퍼런스 스코어 = 교체 사용 가중치 X - log(빈도 가중치)/동일 의도로 분류된 문장 개수
레퍼런스 스코어 산출부(230)는 산출된 빈도 가중치에 반비례하도록 레퍼런스 스코어를 산출할 수 있다. 예를 들면, 빈도 가중치가 낮은 단어가 포함된 단어 사전일수록 레퍼런스 스코어는 높아지고, 빈도 가중치가 높은 단어가 포함된 단어 사전일수록 레퍼런스 스코어는 낮아지게 된다. 도 3을 참조하면, 복수의 단어 사전(301, 303, 305, 307) 사이를 연결하는 에지의 양쪽에 표시된 수치는 레퍼런스 스코어이다. 제 1 단어 사전(301)이 제 2 단어 사전(303)으로 교차 사용될 수 있는 레퍼런스 스코어는 0.4이고, 제 2 단어 사전(303)이 제 1 단어 사전(301)으로 교차 사용될 수 있는 레퍼런스 스코어는 0.2이다.
추천부(240)는 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천할 수 있다. 예를 들면, 추천부(240)는 산출된 레퍼런스 스코어의 값이 큰 순서대로 추천 문장을 추천할 수 있다.
추천부(240)는 입력 문장에 포함된 용언부를 추출하고, 추출된 용언부에 대응하는 단어 사전에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. 예를 들면, 도 3을 참조하면, 추천부(240)는 사용자로부터 입력된 입력 문장이 '노래 재생해'와 '노래 실행해'인 경우, '노래 재생해'의 용언부에 해당하는 '재생해'가 속하는 제 1 단어 사전(301)과 '노래 실행해'의 용언부에 해당하는 '실행해'가 속하는 제 2 단어 사전(303)에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다.
추천부(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)을 이용하여 '노래 부탁해'와 같은 추천 문장을 생성하여 추천할 수 있다.
임계치 업데이트부(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)를 다시 업데이트할 수 있다.
한편, 추천부(240)는 사용자에게 추천한 추천 문장을 사용자가 선택하게 되면, 다음 문장의 추천 시, 추천 문장의 용언부가 속하는 단어 사전을 제외한 다른 단어 사전에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다. 예를 들면, 도 3을 참조하면, 제 4 단어 사전(307)을 이용하여 생성된 추천 문장을 사용자가 선택하게 되면, 추천부(240)는 다음 문장 추천시 제 4 단어 사전(307)을 제외한 제 1 단어 사전(301), 제 2 단어 사전(303) 및 제 3 단어 사전(305) 각각에 대한 레퍼런스 스코어에 기초하여 추천 문장을 추천할 수 있다.
추천부(240)는 각 단어 사전에 대한 레퍼런스 스코어가 임계치를 초과하는지 여부에 기초하여 각 단어 사전을 이용하여 추천 문장을 생성할지를 결정할 수 있다. 즉, 추천부(240)는 단어 사전에 대한 레퍼런스 스코어가 임계치 이상인 단어 사전을 통해 추천 문장을 생성할 수 있다.
예를 들면, 도 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)을 이용한 추천 문장을 생성하지 않게 된다.
한편, 당업자라면, 사전 생성부(200), 교체 사용 가중치 산출부(210), 빈도 가중치 산출부(220), 레퍼런스 스코어 산출부(230), 추천부(240) 및 임계치 업데이트부(250) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 4는 본 발명의 일 실시예에 따른, 추천 문장 제공 방법을 나타낸 흐름도이다.
도 4를 참조하면, 단계 S401에서 대화 분석 서버(100)는 적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성할 수 있다.
단계 S403에서 대화 분석 서버(100)는 대화 이력 데이터에 기초하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다.
단계 S405에서 대화 분석 서버(100)는 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다.
단계 S407에서 대화 분석 서버(100)는 산출된 교체 사용 가중치 및 산출된 빈도 가중치에 기초하여 복수의 단어 사전에 대한 레퍼런스 스코어를 산출할 수 있다.
단계 S409에서 대화 분석 서버(100)는 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천할 수 있다.
도 4에는 도시되지 않았으나, 단계 S403에서 대화 분석 서버(100)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 복수의 단어 사전 간의 교체 사용 가중치를 산출할 수 있다.
도 4에는 도시되지 않았으나, 단계 S405에서 대화 분석 서버(100)는 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치를 합산하여 복수의 단어 사전에 대한 빈도 가중치를 산출할 수 있다.
상술한 설명에서, 단계 S401 내지 S409는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 대화 분석 서버
110: 음성 입출력 장치
200: 사전 생성부
210: 교체 사용 가중치 산출부
220: 빈도 가중치 산출부
230: 레퍼런스 스코어 산출부
240: 추천부
250: 임계치 업데이트부

Claims (18)

  1. 대화 분석 서버에 있어서,
    적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 사전 생성부;
    대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 교체 사용 가중치 산출부;
    상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 빈도 가중치 산출부;
    상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 레퍼런스 스코어 산출부;
    상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 추천부; 및
    상기 추천된 추천 문장이 상기 사용자에 의해 선택되었는지 여부에 따라 상기 추천 문장에 포함된 단어 사전의 사용에 대한 임계치를 업데이트하는 임계치 업데이트부
    를 포함하는 것인, 대화 분석 서버.
  2. 제 1 항에 있어서,
    상기 각 단어 사전은 대표 단어 및 상기 대표 단어와 관련된 유사 단어를 포함하는 것인, 대화 분석 서버.
  3. 제 2 항에 있어서,
    상기 교체 사용 가중치 산출부는 상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하고,
    상기 빈도 가중치 산출부는 상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치를 합산하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 것인, 대화 분석 서버.
  4. 제 3 항에 있어서,
    상기 교체 사용 가중치 산출부는 상기 대화 이력 데이터에 포함된 복수의 문장을 각 문장이 해석된 의도에 따라 분류하고, 상기 분류된 문장에 포함된 용언부에 대응하는 단어 사전 간의 교체 사용 가중치를 산출하는 것인, 대화 분석 서버.
  5. 제 4 항에 있어서,
    상기 교체 사용 가중치 산출부는 상기 분류된 문장 중 상기 분류된 문장에 포함된 용언부를 제외한 체언부가 동일한 문장에 대하여 상기 용언부가 교체 사용된 빈도를 합산하는 것인, 대화 분석 서버.
  6. 제 3 항에 있어서,
    상기 빈도 가중치 산출부는 상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도를 산출하고, 상기 복수의 용언부를 상기 복수의 용언부 각각이 대응하는 단어 사전 별로 분류하고, 상기 분류된 단어 사전 별로 상기 산출된 용언부에 대한 사용빈도를 합산함으로써 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 것인, 대화 분석 서버.
  7. 제 1 항에 있어서,
    상기 레퍼런스 스코어 산출부는 상기 산출된 빈도 가중치에 반비례하도록 상기 레퍼런스 스코어를 산출하는 것인, 대화 분석 서버.
  8. 제 1 항에 있어서,
    상기 추천부는 상기 입력 문장에 포함된 용언부를 추출하고, 상기 추출된 용언부에 대응하는 단어 사전에 대한 레퍼런스 스코어에 기초하여 상기 추천 문장을 추천하는 것인, 대화 분석 서버.
  9. 삭제
  10. 제 1 항에 있어서,
    상기 추천 문장은 상기 레퍼런스 스코어가 상기 임계치 이상인 단어 사전을 통해 생성되는 것인, 대화 분석 서버.
  11. 대화 분석 서버에서 추천 문장을 제공하는 방법에 있어서,
    적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하는 단계;
    대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 단계;
    상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계;
    상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하는 단계;
    상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하는 단계; 및
    상기 추천된 추천 문장이 상기 사용자에 의해 선택되었는지 여부에 따라 상기 추천 문장에 포함된 단어 사전의 사용에 대한 임계치를 업데이트하는 단계
    를 포함하는 것인, 추천 문장 제공 방법.
  12. 제 11 항에 있어서,
    상기 교체 사용 가중치를 산출하는 단계는
    상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 교체 사용 가중치를 합산하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하는 단계를 포함하고,
    상기 빈도 가중치를 산출하는 단계는
    상기 복수의 단어 사전에 포함된 각 단어들에 대해 산출된 빈도 가중치를 합산하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
  13. 제 12 항에 있어서,
    상기 교체 사용 가중치를 산출하는 단계는
    상기 대화 이력 데이터에 포함된 복수의 문장을 각 문장이 해석된 의도에 따라 분류하고, 상기 분류된 문장에 포함된 용언부에 대응하는 단어 사전 간의 교체 사용 가중치를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
  14. 제 13 항에 있어서,
    상기 교체 사용 가중치를 산출하는 단계는
    상기 분류된 문장 중 상기 분류된 문장에 포함된 용언부를 제외한 체언부가 동일한 문장에 대하여 상기 용언부가 교체 사용된 빈도를 합산하는 단계를 포함하는 것인, 추천 문장 제공 방법.
  15. 제 12 항에 있어서,
    상기 빈도 가중치를 산출하는 단계는
    상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도를 산출하고, 상기 복수의 용언부를 상기 복수의 용언부 각각이 대응하는 단어 사전 별로 분류하고, 상기 분류된 단어 사전 별로 상기 산출된 용언부에 대한 사용빈도를 합산함으로써 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
  16. 제 11 항에 있어서,
    상기 레퍼런스 스코어를 산출하는 단계는
    상기 산출된 빈도 가중치에 반비례하도록 상기 레퍼런스 스코어를 산출하는 단계를 포함하는 것인, 추천 문장 제공 방법.
  17. 제 11 항에 있어서,
    상기 추천 문장을 추천하는 단계는
    상기 입력 문장에 포함된 용언부를 추출하고, 상기 추출된 용언부에 대응하는 단어 사전에 대한 레퍼런스 스코어에 기초하여 상기 추천 문장을 추천하는 단계를 포함하는 것인, 추천 문장 제공 방법.
  18. 추천 문장을 제공하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    적어도 하나의 단어를 포함하는 복수의 단어 사전을 생성하고,
    대화 이력 데이터에 기초하여 상기 복수의 단어 사전 간의 교체 사용 가중치를 산출하고,
    상기 대화 이력 데이터에 포함된 복수의 용언부에 대한 사용 빈도에 기초하여 상기 복수의 단어 사전에 대한 빈도 가중치를 산출하고,
    상기 산출된 교체 사용 가중치 및 상기 산출된 빈도 가중치에 기초하여 상기 복수의 단어 사전에 대한 레퍼런스 스코어를 산출하고,
    상기 산출된 레퍼런스 스코어에 기초하여 사용자로부터 입력받은 입력 문장에 대한 추천 문장을 추천하고,
    상기 추천된 추천 문장이 상기 사용자에 의해 선택되었는지 여부에 따라 상기 추천 문장에 포함된 단어 사전의 사용에 대한 임계치를 업데이트하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.
KR1020190003440A 2019-01-10 2019-01-10 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램 KR102181742B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190003440A KR102181742B1 (ko) 2019-01-10 2019-01-10 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190003440A KR102181742B1 (ko) 2019-01-10 2019-01-10 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램

Publications (2)

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

Family

ID=71831953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190003440A KR102181742B1 (ko) 2019-01-10 2019-01-10 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102181742B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987682B2 (ja) 2007-04-16 2012-07-25 ソニー株式会社 音声チャットシステム、情報処理装置、音声認識方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102380833B1 (ko) * 2014-12-02 2022-03-31 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR20170018620A (ko) * 2015-08-10 2017-02-20 삼성전자주식회사 유사 문장 식별 방법 및 이를 적용한 식별 장치
KR101806151B1 (ko) 2016-07-21 2017-12-07 숭실대학교산학협력단 대체어 자동 추출 장치 및 방법, 이를 수행하기 위한 기록 매체
KR102476812B1 (ko) * 2016-10-18 2022-12-09 삼성에스디에스 주식회사 유사도 분석 기반 이음 동의 항목 관리 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987682B2 (ja) 2007-04-16 2012-07-25 ソニー株式会社 音声チャットシステム、情報処理装置、音声認識方法およびプログラム

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
KR20200086986A (ko) 2020-07-20

Similar Documents

Publication Publication Date Title
JP7346609B2 (ja) 自然言語理解(nlu)フレームワークを使用して意味探索を実行するシステムおよび方法
US10831796B2 (en) Tone optimization for digital content
US9390711B2 (en) Information recognition method and apparatus
US11010700B2 (en) Identifying task and personality traits
US20170091312A1 (en) Generating natural language dialog using a questions corpus
WO2019158014A1 (zh) 由计算机实施的与用户对话的方法和计算机系统
WO2019224629A1 (en) Training data expansion for natural language classification
CN108228576B (zh) 文本翻译方法及装置
US9536444B2 (en) Evaluating expert opinions in a question and answer system
WO2020119432A1 (zh) 一种语音识别方法、装置、设备和存储介质
US11875125B2 (en) System and method for designing artificial intelligence (AI) based hierarchical multi-conversation system
CN112307188B (zh) 对话生成方法、系统、电子设备和可读存储介质
CN111767394A (zh) 一种基于人工智能专家系统的摘要提取方法及装置
CN111177307A (zh) 一种基于语义理解相似度阀值配置的测试方案及系统
CN112579760A (zh) 人机对话方法、装置、计算机设备及可读存储介质
US11328181B2 (en) Knowledge graph-based query in artificial intelligence chatbot with base query element detection and graph path generation
CN117271736A (zh) 一种问答对的生成方法和系统、电子设备及存储介质
JP2018055671A (ja) 換言文識別方法、換言文識別装置及び換言文識別プログラム
CN111159382A (zh) 会话系统知识模型的构建和使用方法及装置
KR102181742B1 (ko) 추천 문장을 제공하는 대화 분석 서버, 방법 및 컴퓨터 프로그램
CN109002498B (zh) 人机对话方法、装置、设备及存储介质
JP6545633B2 (ja) 単語スコア計算装置、単語スコア計算方法及びプログラム
CN115132187A (zh) 热词增强的语音识别方法以及装置、存储介质、电子装置
JP2018151892A (ja) モデル学習装置、情報判定装置およびそれらのプログラム
KR20200072005A (ko) 음성 인식된 문장의 보정 방법

Legal Events

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