KR101410601B1 - 유머 발화를 이용하는 음성 대화 시스템 및 그 방법 - Google Patents

유머 발화를 이용하는 음성 대화 시스템 및 그 방법 Download PDF

Info

Publication number
KR101410601B1
KR101410601B1 KR1020130008478A KR20130008478A KR101410601B1 KR 101410601 B1 KR101410601 B1 KR 101410601B1 KR 1020130008478 A KR1020130008478 A KR 1020130008478A KR 20130008478 A KR20130008478 A KR 20130008478A KR 101410601 B1 KR101410601 B1 KR 101410601B1
Authority
KR
South Korea
Prior art keywords
utterance
humor
word
user
original
Prior art date
Application number
KR1020130008478A
Other languages
English (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 KR1020130008478A priority Critical patent/KR101410601B1/ko
Priority to US14/763,061 priority patent/US20150371627A1/en
Priority to PCT/KR2013/009229 priority patent/WO2014115952A1/ko
Application granted granted Critical
Publication of KR101410601B1 publication Critical patent/KR101410601B1/ko

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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • 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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Child & Adolescent Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

유머 발화를 생성하여 이용하는 음성 대화 시스템 및 방법이 개시된다. 음성 대화 시스템은 사용자 발화를 입력받아 문자 형태로 변환하여 사용자 의도를 분석하는 발화 분석부와, 사용자 의도에 기반하여 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성하는 유머 발화 생성부와, 사용자 의도에 상응하는 응답으로 채팅 발화를 생성하는 채팅 발화 생성부와, 유머 발화와 채팅 발화로부터 최종 발화를 선택하는 최종 발화 선택부를 포함한다. 따라서, 사용자에게 유머 발화를 제공함으로써 지루함을 덜고 사용자가 채팅 대화 시스템을 사용하면서 재미를 느낄 수 있도록 한다.

Description

유머 발화를 이용하는 음성 대화 시스템 및 그 방법{SPOKEN DIALOGUE SYSTEM USING HUMOR UTTERANCE AND METHOD THEREOF}
본 발명은 음성 대화 시스템에 관한 것으로, 더욱 상세하게는 유머 발화를 생성하여 이용하는 음성 대화 시스템 및 방법에 관한 것이다.
대화 시스템은 음성 또는 문자를 이용하여 사용자에게 대화를 통해 필요한 정보를 제공 장치를 말하며, 차세대 지능형 인터페이스로 단말기, 자동차, 로봇 등으로 그 이용 범위가 점차 확장되어 가고 있다.
도 1은 종래의 음성 대화 시스템의 동작을 설명하기 위한 블록도이다. 일반적으로 기존의 대화 시스템에서는 사용자 발화가 입력되면, 음성 인식부(11)를 거쳐 문자 형태로 변형되고, 자연어 이해부(12)를 거쳐 사용자 의도가 추출된다. 대화 관리부(13)는 데이터베이스(16)에 저장된 대화의 기록정보, 대화 예제정보 및 컨텐츠 정보를 활용하여 자연어 이해부(12)에서 추출된 사용자 의도에 상응하여 응답 가능한 시스템 의도를 결정한다. 응답 생성부(14)는 결정된 시스템 의도를 바탕으로 시스템 발화를 생성하며, 음성 합성부(15)를 통해 시스템 발화를 실제 음성으로 변환하여 사용자에게 응답으로 제공한다.
대화 시스템은 목적 지향 대화 시스템과 채팅 지향 대화 시스템으로 구분될 수 있다.
목적 지향 대화 시스템(목적 대화 시스템)은 한정된 도메인 내에서 해당 영역의 지식 정보를 바탕으로 사용자 질의에 대해 적절한 응답을 내어주는 것이다. 예를 들어, 스마트 TV 시스템에서 사용자가 오늘 영화 채널 알려줘라는 질문처럼 특정 프로그램의 정보를 찾는 질의를 했을 때, MBC에서 '만득이'가 방영 중 입니다.와 같이 사용자의 의도를 이해하고 그에 대응하는 응답을 제공하는 것이다.
채팅 지향 대화 시스템(채팅 대화 시스템)은 도메인의 제한이 없으며 재미 혹은 채팅을 위한 대화를 처리하는 대화 시스템으로서 대화에 특정 목적이 없을 수 있다. 예를 들어 나는 친구들과 농구하는 것이 정말 좋아.와 같은 질문은 특정 도메인에 귀속되지 않지만 일상 생활에서 발생할 수 있는 발화로서, 채팅 대화 시스템은 일반적인 상황에서 발생할 수 있는 다양한 종류의 발화를 인지하고 그에 대한 응답을 생성할 수 있어야 한다. 채팅 대화 시스템은 특정한 목적 없이 자연스럽고 재미있는 대화를 유지하는 것이 목적이기 때문에, 이를 구축하기 위해서는 보편적인 상황에서 사용되고, 다양한 상황에서 사용될 수 있는 말뭉치들을 수집하여 시스템을 훈련하고 동작시키는 것이 필요하다.
즉, 일반적으로 음성 대화 시스템에서의 말뭉치 수집은 도메인 단위로 이루어지나, 채팅 대화 시스템에서는 시스템을 구축하기 위한 도메인이 한정되어 있지 않기 때문에, 다양한 종류의 말뭉치 수집이 필요하며, 어떤 상황에서나 적용 가능한 일반적인 발화들에 대한 수집이 필요하다.
채팅 대화 시스템은 예제 기반 대화 관리 기법을 이용할 수 있다. 이러한 시스템은 대화 예제(사용자 발화 시스템 발화 쌍)를 바탕으로 시스템을 구축하는 방법으로, 입력된 사용자 발화와 가장 비슷한 대화 쌍을 찾아 그것을 시스템 발화로 제공하는 방법이다. 이 방법은 실제 예제를 이용하여 시스템을 훈련함으로써 자연스러운 시스템 응답을 생성할 수 있다.
하지만, 채팅 대화 시스템에서는 발생할 수 있는 상황 및 대화 흐름이 다양하기 때문에 모든 다양한 흐름을 고려할 수 있는 훈련 데이터를 획득하기 어렵다. 또한, 사용자 발화에 상응하는 적절한 예제를 훈련 데이터를 통하여 얻을 수 없는 경우 자연스러운 대화를 유지하기 어려울 수 있고, 대화가 지루해질 수 있는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 사용자 발화에 대한 응답으로 자연스럽고 재미있는 대화를 유지하는 음성 대화 시스템을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 음성 대화 시스템을 이용하여 사용자 발화에 대한 응답으로 자연스럽고 재미있는 대화를 유지하는 음성 대화 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 음성 대화 시스템은, 사용자 발화를 입력받아 문자 형태로 변환하여 사용자 의도를 분석하는 발화 분석부와, 사용자 의도에 기반하여 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성하는 유머 발화 생성부와, 사용자 의도에 상응하는 응답으로 채팅 발화를 생성하는 채팅 발화 생성부와, 유머 발화와 채팅 발화로부터 최종 발화를 선택하는 최종 발화 선택부를 포함한다.
여기에서, 상기 유머 발화 생성부는, 사용자 발화에서 핵심어를 선택하여 음운 단위로 핵심어에 대해 발음 열 변환을 수행하고, 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하여 예제 문장에서 핵심어 발음 열과 유사한 단어를 핵심어로 대체하여 유머 발화를 생성할 수 있다.
여기에서, 상기 유머 발화 생성부는, 음운 사전 또는 음운 유사도 표를 기반하여 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출하고, 단어 유사도를 기준으로 핵심어 발음 열과 유사한 단어를 정렬하여 핵심어 발음 열과 유사한 단어를 포함하는 문장으로부터 예제 문장을 선택할 수 있다.
여기에서, 상기 음운 사전은, 유니그램 음운 사전 또는 바이그램 음운 사전일 수 있다.
여기에서, 상기 유머 발화 생성부는, 사용자 발화에 포함된 축약어를 추출하고, 축약어의 원래 의미를 가진 원본 단어를 검색하고, 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 유머 발화를 생성할 수 있다.
여기에서, 상기 유머 발화 생성부는, 축약어 사전 또는 웹 정보를 이용하여 축약어의 원래 의미를 검색하여 축약어에 상응하는 원본 단어를 선택함으로써 원본 문장을 복원하고, 두음 문자를 이용하여 원본 문장을 변경하여 유머 발화를 생성할 수 있다.
여기에서, 상기 유머 발화 생성부는, 서로 다른 기법에 의해 유머 발화를 생성하는 적어도 하나의 유머 생성 모듈을 포함할 수 있다.
여기에서, 상기 최종 발화 선택부는, 유머 발화에 대한 유사도 점수 또는 유머 발화에 따른 문장의 자연스러움을 나타내는 확률값에 기반하여 유머 발화 및 채팅 발화로부터 최종 발화를 선택할 수 있다.
여기에서, 상기 음성 대화 시스템은, 최종 발화를 이용하여 사용자 발화에 대한 응답인 시스템 발화를 생성하고, 시스템 발화를 음성으로 변환하여 제공하는 시스템 발화 제공부를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 음성 대화 방법은, 음성 대화 시스템에서 처리되는 방법에 있어서, 사용자 발화를 입력받아 문자로 변화하여 사용자 의도를 분석하는 단계와, 사용자 의도에 기반하여 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성하는 단계와, 사용자 발화에 상응하는 응답으로 채팅 발화를 생성하는 단계와, 유머 발화와 채팅 발화로부터 최종 발화를 선택하는 단계를 포함한다.
여기에서, 상기 유머 발화를 생성하는 단계는, 사용자 발화에서 핵심어를 선택하여 음운 단위로 핵심어에 대해 발음 열 변환을 수행하는 단계와, 음운 사전 또는 음운 유사도 표에 기반하여 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출하는 단계와, 단어 유사도를 기준으로 핵심어 발음 열과 유사한 단어를 정렬하고 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하는 단계와, 예제 문장에서 핵심어 발음 열과 유사한 단어를 핵심어로 대체하여 유머 발화를 생성하는 단계를 포함한다.
여기에서, 상기 유머 발화를 생성하는 단계는, 사용자 발화에 포함된 축약어를 추출하는 단계와, 축약어 사전 또는 웹 정보를 이용하여 축약어의 원래 의미를 검색하여 축약어에 상응하는 원본 단어를 선택하여 원본 문장을 복원하는 단계와, 원본 단어의 두음과 일치하는 다른 단어를 선택하여 두음 문자를 생성하는 단계와, 두음 문자를 이용하여 원본 문장을 변경하여 유머 발화를 생성하는 단계를 포함할 수 있다.
여기에서, 상기 두음 문자를 생성하는 단계는, 원본 단어에 대한 형태소 분석 및 구문 분석을 통하여 원본 단어에서 핵심적인 부분을 추출하는 단계와, 핵심적인 부분을 남겨두고 원본 단어의 두음과 일치하는 다른 단어를 이용하여 원본 단어를 변경하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 유머 발화 생성 장치는, 사용자 발화를 입력받아 유머 발화를 생성하는 장치에 있어서, 사용자 발화에서 핵심어를 선택하여 음운 단위로 핵심어에 대해 발음 열 변환을 수행하고, 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하여 예제 문장에서 핵심어 발음 열과 유사한 단어를 핵심어로 대체하여 유머 발화를 생성하는 제 1 유머 생성 모듈과, 사용자 발화에 포함된 축약어를 추출하고, 축약어의 원래 의미를 가진 원본 단어를 검색하고, 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 유머 발화를 생성하는 제 2 유머 생성 모듈을 포함한다.
상기와 같은 본 발명의 실시예에 따른 유머 발화를 이용하는 음성 대화 시스템 및 방법은, 사용자에게 유머 발화를 제공함으로써 지루함을 덜고 사용자가 채팅 대화 시스템을 사용하면서 재미를 느낄 수 있도록 한다.
또한, 다양한 유머 발화 중에서 최종 발화를 선택하여 제공함으로써 단순하고 반복적인 발화만을 제공하지 않고 다양한 유머 발화를 제공할 수 있다.
도 1은 종래의 음성 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 유머 발화를 이용한 음성 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 유머 발화 생성부의 구성을 설명하는 개념도이다.
도 4는 본 발명의 실시예에 따른 음성 대화 방법을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 유머 발화 생성부의 동작을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따라 활용되는 음운 사전 및 음운 유사도 표를 나타내는 예시도이다.
도 7은 본 발명의 일 실시예에 따라 단어 유사도를 산출하는 방법을 설명하는 예시도이다.
도 8은 본 발명의 일 실시예 따른 예제 문장의 선택을 설명하는 예시도이다.
도 9는 본 발명의 다른 실시예에 따른 유머 발화 생성부의 동작을 설명하기 위한 흐름도이다.
도 10은 본 발명의 실시예에 따른 최종 발화 선택부의 동작을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 실시예를 명확히 설명하기 위하여 용어를 정의한다.
유머란 남을 웃기는 말이나 행동을 의미하는 것으로, 채팅 대화 시스템에서 대화를 재미있게 진행시킬 수 있는 요소를 의미할 수 있다. 유머는 청중이 알만한 이야기나 상황 설명을 누구나 공감 가능하도록 논리적으로 이야기를 진행하다가 갑자기 특정 현상 및 물건에 대해 모두가 기대하지 못했던 한마디를 통해 청중의 웃음을 이끌어 낼 수 있다.
유머는 준비작업(set-up) 부분과 결정적 한마디(punch-line) 부분으로 구분할 수 있다. 준비작업 부분은 유머의 전제조건 부분으로 사람들을 유머를 통해 웃게 만들기 위한 사전 지식들을 설명하는 것 의미한다. 즉, 해당 상황에 대한 설명을 논리적으로 청중들이 공감할 수 있게 설명함으로써 청중들에게 상황에 대한 공감을 이끌어낼 수 있고, 대화의 흐름 및 대화 속에 등장하는 것들에 대하여 향후에 어떤 일이 벌어질지에 대한 기대치를 생성할 수 있다. 결정적 한마디 부분은 유머에서 가장 중요한 부분으로서 청중들을 웃게 만드는 한마디를 의미할 수 있다. 이는 준비작업 부분을 통해 생긴 청중의 기대치와 다른 혹은 엉뚱한 말을 수행하면서 기존의 기대치와 충돌을 일으키며 청중에게 웃음을 야기시킨다.
본 출원에서 있어서, 유머가 포함된 발화를 유머 발화라고 지칭할 수 있고, 채팅 대화 시스템을 통하여 사용자 발화에 대한 일반적인 응답을 채팅 발화라고 지칭할 수 있다. 따라서, 발화에 유머가 포함되었는지에 따라 유머 발화 또는 채팅 발화로 구분할 수 있다.
또한, 사용자 발화는 사용자가 채팅 대화 시스템에 음성으로 입력하는 발화를 의미하고, 시스템 발화는 사용자 발화에 대한 응답으로 채팅 대화 시스템이 제공하는 발화를 의미할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 유머 발화를 이용한 음성 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 음성 대화 시스템은 발화 분석부(110), 유머 발화 생성부(120), 채팅 발화 생성부(130), 최종 발화 선택부(140) 및 시스템 발화 제공부(150)를 포함한다.
발화 분석부(110)는 사용자 발화를 입력받아 문자 형태로 변환하여 사용자 의도를 분석할 수 있다.
상세하게는, 발화 분석부(110)는 음성 인식부(111)와 자연어 이해부(112)를 포함한다. 음성 인식부(111)는 음성으로 입력되는 사용자 발화를 문자 형태로 변환할 수 있고, 자연어 이해부(112)는 문자 형태로 변환된 사용자 발화를 이용하여 사용자 의도를 분석할 수 있다.
유머 발화 생성부(120)와 채팅 발화 생성부(130)는 분석된 사용자 의도에 기반하여 유머 발화와 채팅 발화를 각각 생성할 수 있다.
유머 발화 생성부(120)는 사용자 의도에 기반하여 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성할 수 있다.
유머 발화 생성부(120)는 다양한 방법으로 유머 발화를 생성할 수 있다.
먼저, 유머 발화 생성부(120)는 사용자 발화에 포함된 핵심어의 발음 유사도에 기반하여 발음이 유사한 단어를 찾아내어 핵심어와 교체함으로써 유머 발화를 생성할 수 있다. 예컨대, 이러한 방식의 유머 발화 생성 방법을 '말장난 문장 생성 방법'이라 할 수 있다.
'말장난 문장 생성 방법'에 따른 유머 발화의 생성을 설명한다.
유머 발화 생성부(120)는 사용자 발화에서 핵심어를 선택하여 음운 단위로 핵심어에 대해 발음 열 변환을 수행하고, 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하여 예제 문장에서 핵심어 발음 열과 유사한 단어를 핵심어로 대체하여 유머 발화를 생성할 수 있다.
즉, 유머 발화 생성부(120)는 음운 사전 또는 음운 유사도 표를 기반하여 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출하고, 단어 유사도를 기준으로 핵심어 발음 열과 유사한 단어를 정렬하여 핵심어 발음 열과 유사한 단어를 포함하는 문장으로부터 예제 문장을 선택할 수 있다. 여기에서, 음운 사전은 유니그램(uni-gram) 음운 사전 또는 바이그램(bi-gram) 음운 사전을 의미할 수 있다.
다음으로, 유머 발화 생성부(120)는 사용자 발화에 포함된 축약어를 원래 의미를 가지는 원본 단어로 복원하고, 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 유머 발화를 생성할 수 있다. 예컨대, 이러한 방식의 유머 발화 생성 방법을 '축약어 기반 두음 문자 생성 방법'이라 할 수 있다.
'축약어 기반 두음 문자 생성 방법'에 따른 유머 발화의 생성을 설명한다.
유머 발화 생성부(120)는 사용자 발화에 포함된 축약어를 추출하고, 축약어의 원래 의미를 가진 원본 단어를 검색하고, 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 유머 발화를 생성할 수 있다.
한편, 유머 발화 생성부(120)는 축약어 사전 또는 웹 정보를 이용하여 축약어의 원래 의미를 검색하여 축약어에 상응하는 원본 단어를 선택함으로써 원본 문장을 복원하고, 두음 문자를 이용하여 원본 문장을 변경하여 유머 발화를 생성할 수 있다.
최종 발화 선택부(140)는 유머 발화와 채팅 발화로부터 최종 발화를 선택할 수 있다. 최종 발화 선택부(140)는 유머 발화에 대한 유사도 점수 또는 유머 발화에 따른 문장의 자연스러움을 나타내는 확률값에 기반하여 유머 발화 및 채팅 발화로부터 최종 발화를 선택할 수 있다.
시스템 발화 제공부(150)는 최종 발화를 이용하여 사용자 발화에 대한 응답인 시스템 발화를 생성하고, 시스템 발화를 음성으로 변환하여 제공할 수 있다. 시스템 발화 제공부(150)는 응답 생성부(151)와 음성 합성부(152)를 포함한다. 응답 생성부(151)는 선택된 최종 발화를 이용하여 사용자 발화에 대한 응답인 시스템 발화를 생성할 수 있다. 또한, 음성 합성부(152)는 시스템 발화를 실제 음성으로 변환하여 표현할 수 있다.
도 3은 본 발명의 실시예에 따른 유머 발화 생성부(120)의 구성을 설명하는 개념도이다.
도 3을 참조하면, 유머 발화 생성부(120)는 적어도 하나의 유머 생성 모듈을 활용할 수 있다. 즉, 유머 발화 생성부(120)는 제 1 유머 생성 모듈(121), 제 2 유머 생성 모듈(122) 및 제 3 유머 생성 모듈(123)을 활용할 수 있다. 유머 생성 모듈은 서로 다른 기법에 의해 유머 발화를 생성할 수 있다.
유머 발화 생성부(120)는 새로운 유머 생성 모듈을 추가 또는 삭제함으로써 유머 발화를 생성하는 방법을 추가 또는 삭제할 수 있다. 즉, 각각의 유머 생성 모듈에 대한 추가 또는 삭제는 다른 유머 생성 모듈에 영향을 미치지 않는다. 이를 통하여 유머 발화 생성부(120)는 유머 발화의 생성에 있어서 확장성을 가질 수 있다.
따라서, 유머 발화 생성부(120)는 각각의 유머 생성 모듈의 분산 구조를 통하여 구축될 수 있다.
예를 들어, 제 1 유머 생성 모듈(121)은 '말장난 문장 생성 방법'에 따라 유머 발화를 생성할 수 있고, 제 2 유머 생성 모듈(122)은 '축약어 기반 두음 문자 생성 방법'에 따라 유머 발화를 생성할 수 있다.
따라서, 본 발명의 실시예에 따르면, 사용자 발화를 입력받아 유머 발화를 생성하는 유머 발화 생성 장치는, 사용자 발화에서 핵심어를 선택하여 음운 단위로 핵심어에 대해 발음 열 변환을 수행하고, 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하여 예제 문장에서 핵심어 발음 열과 유사한 단어를 핵심어로 대체하여 유머 발화를 생성하는 제 1 유머 생성 모듈(121)을 포함할 수 있다.
또한, 유머 발화 생성 장치는, 사용자 발화에 포함된 축약어를 추출하고, 축약어의 원래 의미를 가진 원본 단어를 검색하고, 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 유머 발화를 생성하는 제 2 유머 생성 모듈(122)을 포함할 수 있다.
본 발명의 실시예에 따른 음성 대화 시스템 또는 유머 발화 장치의 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 설명하였으나, 각 구성부 중 적어도 두 개가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합 및 분리된 실시예의 경우도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 본 발명의 실시예에 따른 음성 대화 시스템 또는 유머 생성 장치의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
도 4는 본 발명의 실시예에 따른 음성 대화 방법을 설명하는 흐름도이다.
도 4에 따른 음성 대화 방법은, 사용자 의도를 분석하는 단계(S410), 유머 발화를 생성하는 단계(S420), 채팅 발화를 생성하는 단계(S430) 및 최종 발화를 선택하는 단계(S440)를 포함한다.
사용자 발화를 입력받아 문자로 변환하여 사용자 의도를 분석할 수 있다(S410).
사용자 의도에 기반하여 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성할 수 있다(S420).
예를 들어, 상술한 '말장난 문장 생성 방법' 또는 '축약어 기반 두음 문자 생성 방법'을 이용하여 유머 발화를 생성할 수 있다.
사용자 발화에 상응하는 응답으로 채팅 발화를 생성할 수 있다(S430). 채팅 발화는 사용자 발화를 이용한 사용자 의도에 대한 분석에 기반하여 사용자 발화에 대한 응답으로 채팅 발화를 생성할 수 있다. 예컨대, 채팅 발화는 종래의 대화 시스템에서 사용하는 방식을 통하여 생성될 수 있으며, 그 생성 방법에 대해서는 특별히 제한하지 않는다.
유머 발화와 채팅 발화로부터 최종 발화를 선택할 수 있다(S440). 즉, 유머 발화와 채팅 발화 중에서 하나를 최종 발화로 선택할 수 있다. 최종 발화를 선택하는 기준은 다양하게 설정할 수 있으며, 특히, 유머 발화에 대한 유사도 또는 문장의 자연스러움을 기준으로 하여 최종 발화를 선택할 수 있다.
도 5는 본 발명의 일 실시예에 따른 유머 발화 생성부(120)의 동작을 설명하기 위한 흐름도이고, 도 6은 본 발명의 일 실시예에 따라 활용되는 음운 사전 및 음운 유사도 표를 나타내는 예시도이다.
도 5를 참조하여, 유머 발화 생성부(120)에 의해 수행되는 '말장난 문장 생성 방법'에 대해 설명한다.
사용자 의도에 기반하여 사용자 발화로부터 핵심어를 선택한다(S510). 사용자 발화에서 선택된 핵심어를 음운(phone) 단위로 발음 열 변환을 수행할 수 있다(S520). 예를 들어, 예를 들어 '축구'라는 단어가 핵심어로 선택되면,'CH UW KQ KK UW'라는 발음 열로 변환할 수 있다.
음운 사전 또는 음운 유사도 표에 기반하여 상기 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출할 수 있다(S530). 즉, 핵심어의 발음 열과 비슷한 단어를 찾을 수 있다.
유사한 단어를 찾기 위해서 수집된 대화 예제 훈련 자료를 통하여 유니그램(uni-gram), 바이그램(bi-gram) 음운 사전을 구축하고, 사전 내에 단어와 핵심어 사이에 단어 유사도를 측정할 수 있다.
도 6a는 유니그램 음운 사전에 대한 예시도이고, 도 6b는 바이그램 음운 사전에 대한 음운 사전이다.
즉, 유니그램 음운 사전은 과거에 나타난 단어에 상관없이 현재 단어가 나타날 확률 값에만 의존하고 바이그램 음운 사전은 바로 이전 과거에 의존하는 형태로 표현될 수 있다.
단어 유사도의 측정을 위해 레벤스타인 거리(levenshtein distance) 방법과 한국어 음운 유사도 표를 이용할 수 있다. 한국어 음운 유사도 표는 한국어의 발음들을 50가지로 구분하고, 발음 사이의 유사도가 기록되어 있다.
도 6c는 음운 유사도 표의 예시도이다. 예컨대, 해당 발음 유사도는 그 수치가 낮을수록 유사한 발음임을 의미할 수 있다.
도 7은 본 발명의 일 실시예에 따라 단어 유사도를 산출하는 방법을 설명하는 예시도이다.
도 7을 참조하여, '축구'를 핵심어로 한 단어 유사도의 산출을 설명한다. 도 7a는 '죽고'와 '축구'의 발음 열 간의 유사도를 나타내고, 도 7b는 발음 열의 유사도에 대한 유사도 점수를 나타낸다.
본 발명의 실시예에 따르면, 레벤스타인 거리와 한국어 음운 유사도 표를 이용하여 발음 열 간 유사도를 측정할 수 있다.
예를 들어, 새로운 단어가 추가될 때(insertion), 단어가 삭제될 때(deletion), 단어가 대체될 때(substitution) 단어 간 변화 정도를 1로 산정하여 단어 간 거리(distance)를 계산하며, 거리의 값이 낮을수록 유사하다고 할 수 있다.
또한, 다른 방법으로, 단어가 대체될 때, (1-1/similarity)로 표현되는 수치를 이용하여 거리를 계산함으로써 유사도(similarity)가 높을수록(발음이 유사할수록) 낮은 대체(substitution) 수치를 가질 수 있다.
단어 유사도를 기준으로 핵심어 발음 열과 유사한 단어를 정렬하고 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택할 수 있다(S540).
예를 들어, 핵심어 발음 열과 유사한 단어를 포함하는 문장들을 유사도 점수를 기반으로 오름차순 정렬할 수 있다. 즉, 상위에 랭크된 단어는 발음 상 주어진 핵심어와 가장 유사할 수 있다.
핵심어와 유니그램, 바이그램 음운 사전 사이에 계산된 단어 유사도가 미리 설정된 임계값(threshold) 이하인 단어를 포함한 예제 문장을 선택할 수 있다.
도 8은 본 발명의 일 실시예 따른 예제 문장의 선택을 설명하는 예시도이다.
핵심어 '축구'의 발음 열인 'CH UW KQ KK UW'와 가장 유사한 단어가 '죽고' 라고 할 때, '죽고'라는 단어가 원래 포함되었던 예제인 '죽고 싶다'를 예제 문장으로 선택할 수 있다.
예제 문장에서 핵심어 발음 열과 유사한 단어를 핵심어로 대체하여 유머 발화를 생성할 수 있다(S550).
예를 들어, '죽고 싶다' 라는 예제 문장이 선택되었을 때, 핵심어인 '축구'를 비교 대상 단어인 '죽고'와 대체하여 '축구 싶다'라는 유머 발화를 생성할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 유머 발화 생성부(120)의 동작을 설명하기 위한 흐름도이다.
도 9를 참조하여, 유머 발화 생성부(120)에 의해 수행되는 '축약어 기반 두음 문자 생성 방법'에 대해 설명한다.
먼저, 사용자 발화에 포함된 축약어를 추출할 수 있다(S910). 여기서, 축약어란, 일반적으로 사용되는 단어가 너무 길 때 해당 단어를 짧게 압축하여 표현함으로써 사용되는 언어를 말한다. 예를 들어, '무한도전'을 '무도', '비빔냉면'을 '비냉'으로 부르는 것이 축약어에 해당할 수 있다.
한편, 축약어 사전 또는 웹 정보를 이용하여 축약어의 원래 의미를 검색하여 축약어에 상응하는 원본 단어를 선택하여 원본 문장을 복원할 수 있다(S920).
축약어의 원래 의미를 갖는 단어를 찾을 수 있다. 즉, 축약어 사전 및 웹 정보를 이용하여 축약어의 원래 의미를 가진 단어를 검색할 수 있다. 예를 들어, '비냉'이라는 문자가 들어오면 '비빔냉면'이라는 원래의 의미로 복원할 수 있다.
원본 단어의 두음과 일치하는 다른 단어를 선택하여 두음 문자를 생성할 수 있다(930). '무작위 생성' 또는 '사전 기반 생성' 방법을 통해 두음 문자를 생성할 수 있다.
'무작위 생성 방법'은 축약어의 원문을 구성하는 단어들 중, 두음을 일치시키는 다른 단어들을 검색하여 교체할 단어를 랜덤으로 선택하여 교체함으로써 두음 문자를 생성할 수 있다.
또한, '사전 기반 생성'방법은 형태소 분석 및 파싱을 통해 원본 문장을 구성하는 단어 중 변할 부분과 변하지 않을 부분을 결정하고, 사전 정보 또는 Wordnet 정보를 이용하여 단어를 변환할 수 있다.
즉, 원본 단어에 대한 형태소 분석 및 구문 분석을 통하여 원본 단어에서 핵심적인 부분을 추출하고, 핵심적인 부분을 남겨두고 원본 단어의 두음과 일치하는 다른 단어를 이용하여 원본 단어를 변경할 수 있다.
예를 들어, '비빔 냉면' 이라는 단어가 들어오면 형태소 분석을 통해 '비빔/NN 냉면/NN'이라는 정보를 얻을 수 있으며, 구문 분석을 통해 '냉면'이 핵심적인 부분임을 파악할 수 있다.
'사전 기반 생성'방법은 사전과 Wordnet을 기반으로 변경된 단어를 생성할 수 있다. 형태소 분석 및 구문 분석의 결과를 바탕으로 변하지 말아야 할 부분과 변해야 할 부분을 결정할 수 있다.
'비빔 냉면'이라는 단어가 주어지면, '냉면'을 변하지 않는 단어로, '비빔'을 변해야 하는 단어로 정하고, 사전 정보를 바탕으로 '비빔'과 두음은 일치하고 다른 의미를 지닌 '비린'이라는 단어를 찾아낼 수 있다. 즉, '비린'과 핵심적인 부분인 '냉면'이 포함된 단어인 '비린 냉면'을 두음 문자로 생성할 수 있다.
그리하여, 두음 문자를 이용하여 원본 문장을 변경하여 유머 발화를 생성할 수 있다(S940).
도 10은 본 발명의 실시예에 따른 최종 발화 선택부(140)의 동작을 설명하기 위한 흐름도이다.
도 10을 참조하면, 유머 발화와 채팅 발화로부터 최종 발화를 선택할 수 있다.
최종 발화는 대화 시스템에서 유머를 발생하는 전략에 따라 선택될 수 있다. 최종 발화는 무작위 선택 방법과 점수 기반 선택 방법으로 선택될 수 있다.
무작위 선택 방법은 M개의 유머 발화와 N개의 채팅 발화 중 랜덤으로 하나의 발화를 선택하여 시스템 발화로 선택할 수 있다.
또한, 점수 기반 선택 방법은 유머 발화 생성시 계산된 유사도 점수 및 유머 발화 언어 모델 점수를 이용하여 최종 발화에 대한 점수를 산정하고, 최종 점수를 기반으로 최종 발화를 선택할 수 있다.
즉, 유머 발화에 대한 유사도 점수 또는 유머 발화에 따른 문장의 자연스러움을 나타내는 확률값에 기반하여 유머 발화 및 채팅 발화로부터 최종 발화를 선택할 수 있다.
점수 기반 선택 방법은 채팅 발화가 존재하지 않거나 채팅 발화에 대한 적용 점수가 미리 설정된 임계값(threshold)이하일 경우 유머 발화 중 하나를 최종 발화로 선택할 수 있다(S1010).
최종 발화는 각 유머 발화 생성 방법 별 산정된 유사도 점수(similarity score)와 생성된 문장이 얼마나 자연스러운지 나타내는 유머 언어 모델 점수(humor LM score)에 기반하여 선택될 수 있다. 최종 발화 선택을 위한 점수는 다음의 수학식 1을 이용하여 산정한다.
Figure 112013007326286-pat00001
유머 발화 생성에 있어서, 주어진 문장이나 핵심어를 기반으로 유머 발화를 생성할 수 있다. 여기서, 유사도 점수는 유머 생성 방법에 따라 점수 측정 방법이 다를 수 있으므로 정규화(normalization)를 통해 0과 1사이의 값으로 할 수 있다.
생성된 유머 발화들의 유머 언어 모델을 통해 확률 수치를 구할 수 있다. 유머 언어 모델 점수는 만들어진 유머가 실제 얼마나 자연스러운 문장인지를 나타내는 척도로서 0과 1사이의 확률값으로 표시될 수 있다. 여기서, α와 β는 정규화를 위한 계수를 의미한다.
유머 언어 모델을 훈련하기 위해서 다양한 유머 관련 데이터를 사용하여 언어 모델을 훈련할 수 있다. 유머 관련 데이터는 훈련 과정에서 만들어진 유머 발화, 수집된 유머 발화, 비속어 사전 등이 사용될 수 있다.
마지막으로, 최종 발화를 이용하여 사용자 발화에 대한 응답인 시스템 발화를 생성하고, 시스템 발화를 음성으로 변환하여 사용자에게 제공할 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 유머 발화를 이용하는 음성 대화 시스템 및 방법은 사용자에게 유머 발화를 제공함으로써 지루함을 덜고 사용자가 채팅 대화 시스템을 사용하면서 재미를 느낄 수 있도록 한다.
또한, 유머 발화의 생성 방법을 확장성 있게 추가 또는 삭제하여 관리할 수 있는 구조를 제공한다.
또한, 다양한 유머 발화 중에서 최종 발화를 선택하여 제공함으로써 단순하고 반복적인 발화만을 제공하지 않고 다양한 유머 발화를 제공할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 발화 분석부 111: 음성 인식부
112: 자연어 이해부 120: 유머 발화 생성부
121: 제 1 유머 생성 모듈 122: 제 2 유머 생성 모듈
123: 제 3 유머 생성 모듈 130: 채팅 발화 생성부
140: 최종 발화 선택부 150: 시스템 발화 제공부
151: 응답 생성부 152: 음성 합성부

Claims (19)

  1. 사용자 발화를 입력받아 문자 형태로 변환하여 사용자 의도를 분석하는 발화 분석부;
    상기 사용자 의도에 기반하여 상기 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성하는 유머 발화 생성부;
    상기 사용자 의도에 상응하는 응답으로 채팅 발화를 생성하는 채팅 발화 생성부; 및
    상기 유머 발화와 상기 채팅 발화로부터 최종 발화를 선택하는 최종 발화 선택부를 포함하는 음성 대화 시스템.
  2. 청구항 1에 있어서, 상기 유머 발화 생성부는,
    상기 사용자 발화에서 상기 핵심어를 선택하여 음운 단위로 상기 핵심어에 대해 발음 열 변환을 수행하고, 상기 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하여 상기 예제 문장에서 상기 핵심어 발음 열과 유사한 단어를 상기 핵심어로 대체하여 유머 발화를 생성하는 것을 특징으로 하는 음성 대화 시스템.
  3. 청구항 2에 있어서, 상기 유머 발화 생성부는,
    음운 사전 또는 음운 유사도 표를 기반하여 상기 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출하고, 상기 단어 유사도를 기준으로 상기 핵심어 발음 열과 유사한 단어를 정렬하여 상기 핵심어 발음 열과 유사한 단어를 포함하는 문장으로부터 상기 예제 문장을 선택하는 것을 특징으로 하는 음성 대화 시스템.
  4. 청구항 3에 있어서, 상기 음운 사전은,
    유니그램 음운 사전 또는 바이그램 음운 사전인 것을 특징으로 하는 음성 대화 시스템.
  5. 청구항 1에 있어서, 상기 유머 발화 생성부는,
    상기 사용자 발화에 포함된 상기 축약어를 추출하고, 상기 축약어의 원래 의미를 가진 원본 단어를 검색하고, 상기 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 상기 유머 발화를 생성하는 것을 특징으로 하는 음성 대화 시스템.
  6. 청구항 5에 있어서, 상기 유머 발화 생성부는,
    축약어 사전 또는 웹 정보를 이용하여 상기 축약어의 원래 의미를 검색하여 상기 축약어에 상응하는 상기 원본 단어를 선택함으로써 원본 문장을 복원하고, 상기 두음 문자를 이용하여 상기 원본 문장을 변경하여 상기 유머 발화를 생성하는 것을 특징으로 하는 음성 대화 시스템.
  7. 청구항 1에 있어서, 상기 유머 발화 생성부는,
    서로 다른 기법에 의해 상기 유머 발화를 생성하는 적어도 하나의 유머 생성 모듈을 포함하는 것을 특징으로 하는 음성 대화 시스템.
  8. 청구항 1에 있어서, 상기 최종 발화 선택부는,
    상기 유머 발화에 대한 유사도 점수 또는 상기 유머 발화에 따른 문장의 자연스러움을 나타내는 확률값에 기반하여 상기 유머 발화 및 상기 채팅 발화로부터 상기 최종 발화를 선택하는 것을 특징으로 하는 음성 대화 시스템.
  9. 청구항 1에 있어서,
    상기 최종 발화를 이용하여 상기 사용자 발화에 대한 응답인 시스템 발화를 생성하고, 상기 시스템 발화를 음성으로 변환하여 제공하는 시스템 발화 제공부를 더 포함하는 것을 특징으로 하는 음성 대화 시스템.
  10. 음성 대화 시스템에서 처리되는 방법에 있어서,
    사용자 발화를 입력받아 문자로 변화하여 사용자 의도를 분석하는 단계;
    상기 사용자 의도에 기반하여 상기 사용자 발화에 포함된 핵심어 또는 축약어를 이용하여 유머 발화를 생성하는 단계;
    상기 사용자 발화에 상응하는 응답으로 채팅 발화를 생성하는 단계; 및
    상기 유머 발화와 상기 채팅 발화로부터 최종 발화를 선택하는 단계를 포함하는 음성 대화 방법.
  11. 청구항 10에 있어서, 상기 유머 발화를 생성하는 단계는,
    상기 사용자 발화에서 상기 핵심어를 선택하여 음운 단위로 상기 핵심어에 대해 발음 열 변환을 수행하는 단계;
    음운 사전 또는 음운 유사도 표에 기반하여 상기 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출하는 단계;
    상기 단어 유사도를 기준으로 상기 핵심어 발음 열과 유사한 단어를 정렬하고 상기 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하는 단계; 및
    상기 예제 문장에서 상기 핵심어 발음 열과 유사한 단어를 상기 핵심어로 대체하여 유머 발화를 생성하는 단계를 포함하는 것을 특징으로 하는 음성 대화 방법.
  12. 청구항 11에 있어서,
    상기 음운 사전은 유니그램 음운 사전 또는 바이그램 음운 사전인 것을 특징으로 하는 음성 대화 방법.
  13. 청구항 10에 있어서, 상기 유머 발화를 생성하는 단계는,
    상기 사용자 발화에 포함된 상기 축약어를 추출하는 단계;
    축약어 사전 또는 웹 정보를 이용하여 상기 축약어의 원래 의미를 검색하여 상기 축약어에 상응하는 원본 단어를 선택하여 원본 문장을 복원하는 단계;
    상기 원본 단어의 두음과 일치하는 다른 단어를 선택하여 두음 문자를 생성하는 단계; 및
    상기 두음 문자를 이용하여 상기 원본 문장을 변경하여 상기 유머 발화를 생성하는 단계를 포함하는 것을 특징으로 하는 음성 대화 방법.
  14. 청구항 13에 있어서, 상기 두음 문자를 생성하는 단계는,
    상기 원본 단어에 대한 형태소 분석 및 구문 분석을 통하여 상기 원본 단어에서 핵심적인 부분을 추출하는 단계; 및
    상기 핵심적인 부분을 남겨두고 상기 원본 단어의 두음과 일치하는 다른 단어를 이용하여 상기 원본 단어를 변경하는 단계를 포함하는 것을 특징으로 하는 음성 대화 방법.
  15. 청구항 10에 있어서, 상기 최종 발화를 선택하는 단계는,
    상기 유머 발화에 대한 유사도 점수 또는 상기 유머 발화에 따른 문장의 자연스러움을 나타내는 확률값에 기반하여 상기 유머 발화 및 상기 채팅 발화로부터 상기 최종 발화를 선택하는 것을 특징으로 하는 음성 대화 방법.
  16. 청구항 10에 있어서,
    상기 최종 발화를 이용하여 상기 사용자 발화에 대한 응답인 시스템 발화를 생성하고, 상기 시스템 발화를 음성으로 변환하여 제공하는 단계를 더 포함하는 것을 특징으로 하는 음성 대화 방법.
  17. 사용자 발화를 입력받아 유머 발화를 생성하는 장치에 있어서,
    상기 사용자 발화에서 핵심어를 선택하여 음운 단위로 상기 핵심어에 대해 발음 열 변환을 수행하고, 상기 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하여 상기 예제 문장에서 상기 핵심어 발음 열과 유사한 단어를 상기 핵심어로 대체하여 상기 유머 발화를 생성하는 제 1 유머 생성 모듈;
    상기 사용자 발화에 포함된 축약어를 추출하고, 상기 축약어의 원래 의미를 가진 원본 단어를 검색하고, 상기 원본 단어의 두음과 일치하는 다른 단어를 통하여 생성된 두음 문자를 이용하여 상기 유머 발화를 생성하는 제 2 유머 생성 모듈을 포함하는 유머 발화 생성 장치.
  18. 청구항 17에 있어서, 상기 제 1 유머 생성 모듈은,
    음운 사전 또는 음운 유사도 표를 기반하여 상기 핵심어의 발음 열과 유사한 단어를 추출하여 단어 유사도를 산출하고, 상기 단어 유사도를 기준으로 상기 핵심어 발음 열과 유사한 단어를 정렬하여 상기 핵심어 발음 열과 유사한 단어를 포함하는 문장들로부터 예제 문장을 선택하는 것을 특징으로 유머 발화 생성 장치.
  19. 청구항 17에 있어서, 상기 제 2 유머 생성 모듈은,
    축약어 사전 또는 웹 정보를 이용하여 상기 축약어의 원래 의미를 검색하여 상기 축약어에 상응하는 상기 원본 단어를 선택함으로써 원본 문장을 복원하고, 상기 두음 문자를 이용하여 상기 원본 문장을 변경하여 상기 유머 발화를 생성하는 것을 특징으로 하는 유머 발화 생성 장치.
KR1020130008478A 2013-01-25 2013-01-25 유머 발화를 이용하는 음성 대화 시스템 및 그 방법 KR101410601B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130008478A KR101410601B1 (ko) 2013-01-25 2013-01-25 유머 발화를 이용하는 음성 대화 시스템 및 그 방법
US14/763,061 US20150371627A1 (en) 2013-01-25 2013-10-16 Voice dialog system using humorous speech and method thereof
PCT/KR2013/009229 WO2014115952A1 (ko) 2013-01-25 2013-10-16 유머 발화를 이용하는 음성 대화 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130008478A KR101410601B1 (ko) 2013-01-25 2013-01-25 유머 발화를 이용하는 음성 대화 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101410601B1 true KR101410601B1 (ko) 2014-06-20

Family

ID=51133690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130008478A KR101410601B1 (ko) 2013-01-25 2013-01-25 유머 발화를 이용하는 음성 대화 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US20150371627A1 (ko)
KR (1) KR101410601B1 (ko)
WO (1) WO2014115952A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105228070A (zh) * 2014-06-16 2016-01-06 施耐德电气工业公司 现场扬声器装置、现场语音广播系统及其方法
CN105955949B (zh) * 2016-04-29 2018-05-29 华南师范大学 基于大数据搜索的幽默型机器人对话控制方法和系统
US10789536B2 (en) 2017-08-08 2020-09-29 International Business Machines Corporation Using Trie structures to efficiently identify similarities among topical subjects
CN107480291B (zh) * 2017-08-28 2019-12-10 大国创新智能科技(东莞)有限公司 基于幽默生成的情感交互方法和机器人系统
CN107564542B (zh) * 2017-09-04 2020-08-11 大国创新智能科技(东莞)有限公司 基于幽默识别的情感交互方法和机器人系统
WO2019200584A1 (en) * 2018-04-19 2019-10-24 Microsoft Technology Licensing, Llc Generating response in conversation
CN109033375B (zh) * 2018-07-27 2020-02-14 张建军 一种基于知识库生成机器人幽默性格信息的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003255991A (ja) 2002-03-06 2003-09-10 Sony Corp 対話制御システム、対話制御方法及びロボット装置
JP2010140282A (ja) 2008-12-11 2010-06-24 Nippon Telegr & Teleph Corp <Ntt> 対話装置、対話方法、対話プログラムおよび記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3797047B2 (ja) * 1999-12-08 2006-07-12 富士通株式会社 ロボット装置
KR100772660B1 (ko) * 2006-04-14 2007-11-01 학교법인 포항공과대학교 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법
JP5195414B2 (ja) * 2008-12-26 2013-05-08 トヨタ自動車株式会社 応答生成装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003255991A (ja) 2002-03-06 2003-09-10 Sony Corp 対話制御システム、対話制御方法及びロボット装置
JP2010140282A (ja) 2008-12-11 2010-06-24 Nippon Telegr & Teleph Corp <Ntt> 対話装置、対話方法、対話プログラムおよび記録媒体

Also Published As

Publication number Publication date
US20150371627A1 (en) 2015-12-24
WO2014115952A1 (ko) 2014-07-31

Similar Documents

Publication Publication Date Title
KR101410601B1 (ko) 유머 발화를 이용하는 음성 대화 시스템 및 그 방법
US11037553B2 (en) Learning-type interactive device
CN108304375B (zh) 一种信息识别方法及其设备、存储介质、终端
CN105957518B (zh) 一种蒙古语大词汇量连续语音识别的方法
Baker Sociolinguistics and corpus linguistics
KR101309042B1 (ko) 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법
US7949532B2 (en) Conversation controller
EP2306451B1 (en) Speech recognition
Athanaselis et al. ASR for emotional speech: clarifying the issues and enhancing performance
WO2018097091A1 (ja) モデル作成装置、テキスト検索装置、モデル作成方法、テキスト検索方法、データ構造、及びプログラム
CN111090727B (zh) 语言转换处理方法、装置及方言语音交互系统
JP2018028752A (ja) 対話システム及びそのためのコンピュータプログラム
JP2003036093A (ja) 音声入力検索システム
CN104166462A (zh) 一种文字的输入方法和系统
CN109508441B (zh) 通过自然语言实现数据统计分析的方法、装置及电子设备
KR101677859B1 (ko) 지식 베이스를 이용하는 시스템 응답 생성 방법 및 이를 수행하는 장치
JP5073024B2 (ja) 音声対話装置
CN104750677A (zh) 语音传译装置、语音传译方法及语音传译程序
KR20180022156A (ko) 대화 관리 장치 및 방법
US10867525B1 (en) Systems and methods for generating recitation items
JP6126965B2 (ja) 発話生成装置、方法、及びプログラム
CA2880554C (en) System and methods for improving accuracy of speech recognition
CN114238595A (zh) 一种基于知识图谱的冶金知识问答方法及系统
Zhou et al. Using paralinguistic information to disambiguate user intentions for distinguishing phrase structure and sarcasm in spoken dialog systems
KR102278190B1 (ko) 공방 운영 플랫폼 서비스 방법 및 시스템

Legal Events

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

Payment date: 20180424

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190319

Year of fee payment: 6