KR102238973B1 - 대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치 - Google Patents

대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치 Download PDF

Info

Publication number
KR102238973B1
KR102238973B1 KR1020190083029A KR20190083029A KR102238973B1 KR 102238973 B1 KR102238973 B1 KR 102238973B1 KR 1020190083029 A KR1020190083029 A KR 1020190083029A KR 20190083029 A KR20190083029 A KR 20190083029A KR 102238973 B1 KR102238973 B1 KR 102238973B1
Authority
KR
South Korea
Prior art keywords
sentence
text
conversation
texts
input
Prior art date
Application number
KR1020190083029A
Other languages
English (en)
Other versions
KR20210007128A (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 KR1020190083029A priority Critical patent/KR102238973B1/ko
Publication of KR20210007128A publication Critical patent/KR20210007128A/ko
Application granted granted Critical
Publication of KR102238973B1 publication Critical patent/KR102238973B1/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/3329Natural language query formulation or dialogue systems
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

대화 데이터베이스를 이용하여 대화문장 추천 방법 및 음성대화장치에 관한 것으로, 음성대화장치의 사용자와 상대방 사이의 대화에서 주고받은 문장을 나타내는 입력문장 텍스트를 입력받고, 입력문장 텍스트로부터 실질형태소를 추출하고, 추출된 실질형태소를 대화 데이터베이스에 저장된 기준대화 데이터와 비교하여 현재 대화에서의 마지막 문장에 대한 답변으로 올 수 있는 답변문장 텍스트를 결정하고, 결정된 답변문장 텍스트를 사용자에게 제공함으로써, 사용자가 현재 대화에 이어지는 문장을 직접입력하지 않더라도 현재 대화를 수행할 수 있게 한다.

Description

대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치 {Method for providing next sentence using dialogue database and Voice Dialogue device performing thereof}
대화문장 추천 방법에 관한 것으로, 보다 상세하게는 사용자와 상대방 사이의 대화 중 마지막 문장의 다음에 입력되어야 할 문장을 대화문장 데이터베이스를 이용하여 자동으로 추천하는 방법 및 이러한 방법이 적용된 음성대화장치에 관한 것이다.
청각장애인은 청각기능에 이상이 있어 소리를 귀로 인식하지 못한다. 일반적으로 청각장애인의 경우 수화를 하거나 문자를 통하여 상대방과 의사소통을 한다. 청각 장애가 없는 사람은 수화를 알 수 없기 때문에 수화를 통하여 청각장애인과 의사소통을 할 수 없다. 청각 장애가 없는 사람과 청각장애인은 종이에 문자를 적거나 컴퓨팅 디바이스에 문자를 입력하여 의사소통을 할 수 있다.
종이나 컴퓨팅 디바이스에 문자를 입력하여 대화를 하는 방식은 짧은 대화의 경우에는 효과적일 수 있으나, 대화가 길어지거나 대화의 내용이 복잡해지는 경우에는 문자를 입력하는 데에 많은 시간이 걸린다. 이러한 종래의 대화 방법은 청각장애인과 비장애인 사이에서 자연스런 대화를 할 수 없는 문제점이 있다.
이러한 문제점을 해결하기 위하여, 종래에는 음성을 인식하여 문자로 변환하고 문자를 음성으로 변환하여 청각장애인의 음성대화를 가능하게 하는 청각장애인용 음성대화장치가 개발되었다. 종래의 청각장애인용 음성대화장치는 상대방의 음성 신호를 입력받아 문자 텍스트로 변환하여 음성대화장치의 사용자인 청각장애인에게 보여주고, 청각장애인이 말하고자 하는 문자를 입력받고 입력된 문자를 음성신호으로 변환하여 출력하는 방식으로 청각장애인과 비장애인 사이의 음성 대화를 가능하게 한다.
그러나, 종래의 청각장애인용 음성대화장치는 청각장애인이 말하고자 하는 문장 전체를 음성대화장치에 입력해야 하기 때문에, 문장이 긴 경우에는 문자 입력에 시간이 많이 걸리기 때문에 대화 사이에 공백이 길어지게 된다. 이에 따라, 종래의 청각장애인용 음성대화장치 역시 청각장애인과 비장애인 사이에 자연스런 대화를 방해하는 문제점이 있다.
대한민국 등록특허공보 제10-1151865호 “청각장애인용 휴대용 대화 장치”는 일상생활 또는 업무 중 빈번하게 사용하는 문장들을 위젯으로 등록하여 별도의 입력없이 원하는 문장을 쉽게 찾아 음성으로 출력한다. 이러한 종래의 청각장애인용 휴대용 대화 장치는 원하는 문장 전체를 청각장애인이 직접 입력할 필요가 없으나, 원하는 문장을 데이터베이스에서 연관어 또는 초성을 이용하여 검색하여 입력한다. 그러나, 이러한 종래의 청각장애인용 휴대용 대화 장치는 사용자가 원하는 문장을 데이터베이스에서 검색해야 하기 때문에, 검색에 많은 시간이 많이 걸린다. 이러한 과도한 검색시간으로 인하여 자연스런 대화를 방해하는 문제점이 있었다.
또한, 종래의 청각장애인용 휴대용 대화 장치는 청각장애인과 비장애인 사이에서 오고간 대화문장들을 분석하여 현재 대화문장 뒤에 이어지는 다음 대화문장을 추천하지 않습니다. 따라서, 종래의 청각장애인 휴대용 대화 장치는 청각장애인이 다음 대화문장을 빠르게 입력할 수 없는 문제점이 있었다.
청각장애인과 비장애인 사이에 자연스런 대화를 가능하게 하기 위하여 청각장애인과 비장애인 사이의 문장들을 분석하여 현재 대화문장 뒤에 이어지는 다음 대화문장을 자동으로 추천하고 입력하는 대화문장 추전 방법 및 장치를 제공하는 데에 있다. 또한, 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.
본 발명의 일 측면에 따른 대화 데이터베이스를 이용한 대화문장 추천 방법은 음성대화장치의 사용자와 상대방 사이의 현재대화가 텍스트화된 복수 개의 입력문장 텍스트를 포함하는 현재대화 데이터를 생성하는 단계; 상기 생성된 현재대화 데이터에 포함되는 복수 개의 입력문장 텍스트에서 늦게 입력된 순서대로 적어도 하나의 최근문장 텍스트를 추출하는 단계; 상기 추출된 적어도 하나의 최근문장 텍스트를 형태소 단위로 분해하고, 상기 추출된 적어도 하나의 최근문장 텍스트의 형태소에서 실질형태소를 추출하는 단계; 상기 추출된 실질형태소에 기초하여 복수 개의 기준대화 데이터를 포함하는 대화 데이터베이스에서 상기 현재대화 데이터의 복수 개의 입력문장 텍스트 중 입력순서가 가장 늦은 최종문장 텍스트에 대한 응답인 복수 개의 답변문장 텍스트를 추출하는 단계; 상기 대화 데이터베이스에서 포함된 복수 개의 기준대화 데이터에 기초하여 상기 최종문장 텍스트에 대한 응답으로 상기 검색된 복수 개의 답변문장 텍스트 각각의 출현확률을 산출하는 단계; 및 상기 산출된 복수 개의 답변문장 텍스트를 출현확률이 높은 순서대로 디스플레이하는 단계를 포함한다.
상기 현재대화 데이터를 생성하는 단계는 상기 상대방으로부터의 음성신호 및 상기 사용자로부터의 문자 입력에 기초하여 상기 사용자와 상기 상대방 사이의 현재대화를 나타내는 복수 개의 입력문장 텍스트를 입력순서대로 생성하는 단계; 및 상기 생성된 복수 개의 입력문장 텍스트, 및 각 입력문장 텍스트의 입력순서를 포함하는 상기 현재대화 데이터를 생성하는 단계를 포함한다.
본 발명의 일 측면에 따른 방법은 상기 사용자로부터의 상기 복수 개의 답변문장 텍스트 중 어느 하나에 대한 선택 또는 문자 텍스트의 입력에 기초하여 상기 첫 번째 최근문장 텍스트에 대한 응답인 다음 대화문장 텍스트를 결정하는 단계; 및 상기 결정된 다음 대화문장 텍스트를 음성신호로 변환하여 출력하는 단계를 더 포함한다.
상기 다음 대화문장 텍스트를 결정하는 단계는 상기 사용자로부터 상기 디스플레이된 복수 개의 답변문장 텍스트 중 하나의 답변문장 텍스트에 대한 선택을 입력받는 단계; 및 상기 선택된 하나의 답변문장 텍스트를 상기 최종문장의 다음 대화문장 텍스트로 결정하는 단계를 포함한다.
상기 다음 대화문장 텍스트를 결정하는 단계는 상기 음성대화장치의 사용자로부터 문자 텍스트를 입력받는 단계; 상기 입력된 문자 텍스트와 상기 추출된 복수 개의 답변문장 텍스트 각각의 첫 번째 문자 텍스트를 비교하는 단계; 상기 비교 결과에 기초하여 상기 입력된 문자 텍스트와 동일한 문자 텍스트로 시작하는 하나의 추천문장 텍스트를 결정하는 단계; 상기 결정된 하나의 추천문장 텍스트를 디스플레이하는 단계; 상기 사용자로부터 상기 결정된 하나의 추천문장 텍스트에 대한 승인을 입력받는 단계; 및 상기 사용자로부터 상기 승인을 입력받은 경우, 상기 결정된 하나의 추천문장 텍스트를 상기 최종문장 텍스트에 대한 다음 대화문장 텍스트로 결정하는 단계를 포함한다.
상기 대화 데이터베이스는 상기 복수 개의 기준대화 데이터를 포함하고, 상기 각 기준대화 데이터는 복수 개의 기준문장 텍스트, 및 각 기준문장 텍스트의 입력순서를 포함하고, 상기 복수 개의 답변문장 텍스트를 추출하는 단계는 상기 대화 데이터베이스에 포함된 복수 개의 기준대화 데이터 각각을 구성하는 각 기준문장 텍스트의 실질형태소와 상기 추출된 실질형태소를 비교하는 단계; 상기 비교 결과에 기초하여 상기 추출된 실질형태소와 동일한 실질형태소를 포함하는 복수 개의 기준문장 텍스트를 결정하는 단계; 및 상기 검색된 복수 개의 기준문장 텍스트 각각의 다음 기준문장 텍스트를 상기 복수 개의 답변문장 텍스트로 추출하는 단계를 포함한다.
상기 각각의 출현확률을 산출하는 단계는 상기 적어도 하나의 최근문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수, 및 상기 각 답변문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수에 기초하여 상기 결정된 복수 개의 답변문장 텍스트 각각의 출현확률을 산출하고, 상기 결정된 복수 개의 답변문장 텍스트 각각의 출현확률은 상기 각 답변문장 텍스트를 포함하는 기준대화 데이터의 개수에 비례한다.
상기 적어도 하나의 최근문장 텍스트를 추출하는 단계는 상기 생성된 현재대화 데이터에 포함되는 복수 개의 입력문장 텍스트에서 늦게 입력된 순서대로 복수 개의 최근문장 텍스트를 추출하고, 상기 실질형태소를 추출하는 단계는 상기 추출된 복수 개의 최근문장 텍스트 각각을 형태소 단위로 분해하고, 상기 복수 개의 최근문장 텍스트 각각의 실질형태소를 추출하고, 상기 복수 개의 답변문장 텍스트를 추출하는 단계는 상기 복수 개의 최근문장 텍스트 각각의 실질형태소에 기초하여 상기 최종문장 텍스트에 대한 응답인 복수 개의 답변문장 텍스트를 추출한다.
본 발명의 다른 측면에 따른 음성대화장치는 음성대화장치의 사용자와 상대방 사이의 현재대화가 텍스트화된 복수 개의 입력문장 텍스트를 포함하는 현재대화 데이터를 생성하는 대화데이터 생성부; 상기 생성된 현재대화 데이터에 포함되는 복수 개의 입력문장 텍스트에서 늦게 입력된 순서대로 적어도 하나의 최근문장 텍스트를 추출하고, 상기 추출된 적어도 하나의 최근문장 텍스트를 형태소 단위로 분해하고, 상기 최근문장 텍스트의 형태소에서 실질적 의미를 갖는 형태소인 실질형태소를 추출하고, 상기 추출된 실질형태소에 기초하여 복수 개의 기준대화 텍스트를 포함하는 대화 데이터베이스에서 상기 현재대화 데이터의 복수 개의 입력문장 텍스트 중 입력순서가 가장 늦은 최종문장 텍스트에 대한 응답인 복수 개의 답변문장 텍스트를 추출하는 텍스트 분석부; 상기 대화 데이터베이스에서 포함된 복수 개의 기준대화 텍스트에 기초하여 상기 최종문장 텍스트에 대한 응답으로 상기 검색된 복수 개의 답변문장 텍스트 각각의 출현확률을 산출하는 출현확률 산출부; 및 상기 산출된 복수 개의 답변문장 텍스트 각각의 출현확률에 기초하여 출현확률이 높은 순서대로 상기 복수 개의 답변문장 텍스트를 디스플레이하는 사용자 인터페이스를 포함한다.
청각장애인과 비장애인 간의 대화에서 주고받은 문장을 텍스트화하고, 텍스트화된 문장을 분석하고, 분석결과를 대화 데이터베이스에 저장된 기준대화 데이터의 기준대화 텍스트와 비교하여 현재 대화에서의 마지막 문장에 대한 응답으로 올 수 있는 복수 개의 답변문장을 사용자 인터페이스를 통해 청각장애인에게 제공함으로써, 청각장애인은 복수 개의 답변문장 중에서 마지막 문장에 대한 답변문장을 선택할 수 있다. 청각장애인이 자신이 말하고자 하는 문장을 직접 입력할 필요 없이 복수 개의 답변문장 중 어느 하나의 선택함으로써 비장애인과 대화를 빠르게 수행할 수 있다.
음성대화장치는 비장애인의 음성 신호를 문자로 변환하여 청각장애인에게 제공하고, 청각장애인이 입력한 문자를 음성 신호로 변환하여 비장애인에게 제공함으로써, 청각장애인과 비장애인 사이에서 수화를 통하지 않고 서로의 의사를 명확하게 전달할 수 있게 한다.
또한, 음성대화장치는 대화 데이터베이스에 저장된 많은 양의 기준대화 데이터를 분석하여 현재 대화의 마지막 문장에 대한 응답으로 출현할 수 있는 복수 개의 답변문장들을 결정하고, 각 답변문장이 응답으로 출현할 확률을 산출한다. 그리고, 결정된 답변문장들 중 출현확률이 높은 답변문장을 음성대화장치의 사용자에게 제공함으로써 사용자가 마지막 문장에 대한 응답으로 적합한 답변문장을 제공할 수 있다. 이에 따라, 사용자는 간단하고 빠르게 자신의 의도에 부합하는 문장을 선택하여 상대방에게 자신의 의사를 전달할 수 있다. 이러한 방식으로 청각장애인과 비장애인 사이에 빠르고 자연스런 음성대화가 가능하다.
이에 더하여, 음성대화장치의 스토리지에 저장된 대화 데이터베이스는 기준대화에서의 각 문장을 나타내는 복수 개의 기준문장 텍스트를 포함하는 기준대화 데이터를 저장한다. 대화 데이터베이스는 방대한 양의 기준대화 데이터를 저장한다. 여기에서, 대화 데이터베이스의 기준대화 데이터는 문장의 모든 문자를 저장하지 않고 문장에서 실질적인 의미를 갖는 실질형태소만을 추출하여 저장하고 실질적인 의미가 없는 형식형태소는 저장하지 않는다. 따라서, 대화 데이터베이스는 한정된 저장공간에 보다 많은 기준대화 데이터를 저장할 수 있다.
도 1은 본 발명의 일실시예에 따른 음성대화장치를 통해 청각장애인과 비장애인 사이에서 대화가 수행되는 과정을 개략적으로 도시한 도면이다.
도 2는 도 1에 도시된 음성대화장치의 구성도이다.
도 3은 본 발명의 일실시예에 따른 대화 데이터베이스를 이용한 대화문장 추천 방법의 흐름도이다.
도 4는 도 3에 도시된 현재대화 데이터를 생성하는 단계의 상세 흐름도이다.
도 5는 도 3에 도시된 복수 개의 답변문장 텍스트를 결정하는 단계의 상세 흐름도이다.
도 6은 도 2의 음성대화장치에 표시되는 화면의 예를 도시한 도면이다.
도 7은 도 3에 도시된 다음 대화문장을 결정하는 단계의 일 실시예에 따른 상세 흐름도이다.
도 8은 도 3에 도시된 다음 대화문장을 결정하는 단계의 다른 실시예에 따른 상세 흐름도이다.
도 9는 도 8에 도시된 일 실시예에 따라 도 2의 음성대화장치에 표시되는 화면의 예를 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세하게 설명한다. 이하에서 설명될 본 발명의 실시예들은 청각장애인과 비장애인 간의 음성대화를 가능하게 하는 음성대화장치에 관한 것이다. 이하에서는 음성신호를 문자 텍스트로 변환하고 문자 텍스트를 음성신호로 변환하여 청각장애인과 비장애인 사이의 음성대화를 가능하게 하는 장치를 간략하게 “음성대화장치”라고 호칭하기로 한다.
도 1은 본 발명의 일실시예에 따른 음성대화장치를 통해 청각장애인과 비장애인 사이에서 대화가 수행되는 과정을 개략적으로 도시한 도면이다. 도 1을 참고하면, 음성대화장치(103)를 휴대하는 청각장애인(101)은 비장애인(102)과 음성대화를 통한 의사소통을 수행할 수 있다. 음성대화장치(103)는 비장애인(102)으로부터 입력되는 음성을 문자 텍스트로 변환하고, 변환된 문자 텍스트를 음성대화장치(103)의 디스플레이를 통해 표시하여 청각장애인(101)에게 제공한다. 또한, 음성대화장치(103)는 청각장애인(101)으로부터 입력받은 문자 텍스트를 음성 신호로 변환하고, 변환된 음성 신호를 음성대화장치(103)의 스피커를 통해 출력하여 음성 신호를 비장애인(102)에게 전달할 수 있다.
예를 들어, 청각장애인(101)이 음성대화장치(103)를 통해 문자 텍스트로“안녕하세요”를 입력할 수 있다. 음성대화장치(103)는 입력된 “안녕하세요” 문자 텍스트를 음성신호로 변환하고, 음성신호로 변환된 “안녕하세요”를 스피커를 통해 출력할 수 있다. 비장애인(102)은 음성대화장치(103)의 스피커를 통해 출력되는 “안녕하세요” 음성신호를 청취함으로써 청각장애인(101)이 입력한 문자 텍스트를 알 수 있다. 비장애인(102)은 음성대화장치(103)에서 출력된 “안녕하세요” 음성에 응답하여 “네, 반갑습니다”라고 말할 수 있다. 비장애인(102)의 음성신호 “네, 반갑습니다”가 음성대화장치(103)의 마이크를 통해 음성대화장치(103)로 입력됩니다. 음성대화장치(103)는 입력된 “네, 반갑습니다” 음성신호를 문자 텍스트로 변환하고, 변환된 문자 텍스트를 음성대화장치(103)의 디스플레이에 표시한다. 청각장애인(101)은 음성대화장치(103)의 디스플레이에 표시된 문자 텍스트를 통해 비장애인(102)의 음성을 확인할 수 있다.
상술한 바와 같이, 청각장애인(101)은 음성대화장치(103)를 이용하여 비장애인(102)과 음성을 통해 의사소통을 수행할 수 있다. 이러한 음성대화장치(103)는 청각장애인(101)에 의해 휴대 가능한 소형 단말로서 대표적인 예로는 스마트폰을 들 수 있고, 그 외 PDA(Personal Digital Assistants), 태블릿(tablet) PC, 노트북 등을 들 수 있다.
도 2는 도 1에 도시된 음성대화장치의 구성도이다. 도 2를 참고하면, 음성대화장치(103)는 프로세서(1031), 대화데이터 생성부(1032), 텍스트 분석부(1033), 출현확률 산출부(1034), 대화문장 결정부(1035), 사용자 인터페이스(1040), 마이크(1036), 음성인식부(1037), 음성변환부(1038), 스피커(1039), 및 스토리지(1041)로 구성된다.
프로세서(1031)는 스마트폰과 같은 휴대단말의 일반적인 태스크를 처리한다. 대화데이터 생성부(1032)는 음성인식부(1037)에서 변환된 문장 텍스트, 및 사용자인터페이스(1040)를 통해 입력된 문장 텍스트를 수신하고, 수신된 문장 텍스트 및 문장 텍스트의 입력순서를 포함하는 대화 데이터를 생성한다.
텍스트 분석부(1033)는 대화데이터 생성부(1032)에서 생성된 대화 데이터에 포함된 문장 텍스트를 분석하고, 텍스트 분석결과에 따라 현재 대화에서의 최종문장 텍스트의 응답일 수 있는 답변문장 텍스트를 결정한다. 보다 구체적으로, 텍스트 분석부(1033)는 대화 텍스트에 포함된 문장 텍스트를 추출하고, 문장 텍스트로부터 실질형태소를 추출하고, 추출된 실질형태소를 비교하는 등으로 문장 텍스트를 분석한다.
출현확률 산출부(1034)는 대화문장 데이터베이스에 포함된 기준대화 데이터를 분석하여 가장 최근 입력문장 텍스트에 대한 응답으로 답변문장의 출현확률을 산출한다. 대화문장 결정부(1035)는 음성대화장치(103)의 사용자로부터 입력 및 텍스트 분석부(1033)에서 결정된 답변문장 텍스트에 기초하여 다음 대화문장을 결정한다. 대화데이터 생성부(1032), 텍스트 분석부(1033), 출현확률 산출부(1034) 및 대화문장 결정부(1035)는 프로세서(1031)와 다른 별개의 전용프로세서로 구현될 수도 있고, 프로세서(1031)의 컴퓨터프로그램 실행에 의해 구현될 수도 있다.
사용자인터페이스(1040)는 사용자로부터 문자, 명령 등을 입력받고, 사용자에게 문자 텍스트를 표시한다. 이러한 사용자인터페이스(1040)는 일반적으로 디스플레이 패널과 터치스크린 패널의 조합에 의해 구현될 수 있다. 마이크(1036)는 대화자의 음성 신호를 입력받고, 입력된 음성신호를 전기적인 신호로 변환한다. 마이크(1036)는 변환된 전기적인 신호를 음성인식부(1037)로 입력한다. 음성인식부(1037)는 마이크(1036)로부터 입력된 전기적인 신호를 자연어처리(NLP, Natural Language Processing) 기술을 이용하여 문자 텍스트로 변환한다. 음성인식부(1037)는 변환된 문자 텍스트를 대화데이터 생성부(1032)로 입력한다.
음성변환부(1038)는 사용자인터페이스(1040) 또는 대화문장 결정부(1035)로부터 입력된 문자 텍스트를 전기적인 신호로 변환한다. 음성변환부(1038)는 변환된 전기적인 신호를 스피커(1039)로 입력한다. 스피커(1039)는 입력된 전기적인 신호를 음성신호로 출력한다. 여기에서, 음성인식부(1037) 및 음성변환부(1038)는 프로세서(1031)와 다른 별개의 전용프로세서로 구현될 수도 있고, 프로세서(1031)의 컴퓨터프로그램 실행에 의해 구현될 수도 있다.
스토리지(1041)에는 대화 데이터베이스가 저장된다. 여기에서, 대화는 적어도 2명의 사람 간에 이야기를 주고받는 의사소통으로서, 일반적으로 복수 개의 문장으로 이루어진다. 대화 데이터베이스는 음성대화장치(103)의 사용자와 상대방 사이의 대화가 텍스트화된 기준대화 데이터를 포함한다. 기준대화 데이터는 음성대화장치(103)의 사용자와 상대방 사이에서 수행된 임의의 대화에서 주고받은 문장 각각을 나타내는 기준문장 텍스트, 및 각 기준문장 텍스트의 입력순서를 포함한다. 대화 데이터베이스는 복수 개의 기준대화 데이터를 포함한다.
기준대화 데이터의 일 예시로서 커피숍에서 점원인 상대방과 음성대화장치(103)의 사용자 간에 이루진 대화를 예로 들면 다음과 같다.
사용자: 안녕하세요
상대방: 주문 도와드릴께요.
사용자: 아이스 아메리카노 1잔이요.
상대방: 드시고 가실 건가요?
상대방: 아니면 테이크아웃 하실 건가요?
상술한 상대방과 사용자 간의 대화에서 주고받은 문장은 음성신호 또는 문자 텍스트로 음성대화장치(103)에 입력되어 기준문장 텍스트로 변환되고, 각 문장의 기준문장 텍스트는 기준대화 데이터에 포함된다. 여기에서, 기준대화 데이터는 음성대화장치(103)가 사용자에게 마지막 문장 다음에 올 답변문장을 제공하기 위하여 활용되는 기준이 되는 데이터이다. 기준대화 데이터는 음성대화장치(103)의 사용자에 의해 입력된 기준문장 텍스트, 및 음성대화장치(103)의 사용자의 상대방의 음성신호로부터 변환된 기준문장 텍스트를 포함한다. ‘안녕하세요’, ‘주문 도와드릴께요’, ‘아이스 아메리카노 1잔이요’, ‘드시고 가실 건가요?’, 및 ‘아니면 테이크아웃 하실 건가요?’ 기준문장 텍스트는 음성대화장치(103)에 먼저 입력된 순서대로 생성된다. 상술한 예시 대화에 대한 기준대화 데이터는 ‘안녕하세요’, ‘주문 도와드릴께요’, ‘아이스 아메리카노 1잔이요’, ‘드시고 가실건가요?’ 및 ‘아니면 테이크 아웃 하실 건가요?’ 각각의 기준문장 텍스트를 포함하고, ‘안녕하세요’, ‘주문 도와드릴께요’, ‘아이스 아메리카노 1잔이요’, ‘드시고 가실 건가요?’, 및 ‘아니면 테이크 아웃 하실 건가요?’ 기준문장 텍스트 각각의 입력순서를 포함한다. 대화 데이터베이스는 상술한 예시의 기준대화 데이터와 같은 복수 개의 기준대화 데이터를 저장한다.
또한, 대화 데이터베이스는 사용자(101)가 자주 사용하는 문장 텍스트를 포함하는 사용자 데이터를 포함할 수 있다. 음성대화장치(103)의 사용자(101)는 음성대화장치(103)에 자신이 자주 사용하는 문장들을 미리 입력하여 대화 데이터베이스에 저장할 수 있다. 음성대화장치(103)는 사용자인터페이스(1040)를 통하여 사용자(101)에 의해 미리 저장된 문장 텍스트들을 사용자(101)에게 제공할 수 있다. 사용자(101)는 사용자인터페이스(1040)에 디스플레이된 미리 저장된 문장 텍스트를 터치하는 방식으로 해당 문장 텍스트를 음성대화장치(103)에 입력할 수 있다. 음성대화장치(103)는 입력된 문장 텍스트틀 음성신호로 변환하여 상대방(102)에게 전달할 수 있다.
음성대화장치(103)는 이상에서 설명된 구성요소들 외에 추가적인 구성요소를 더 포함할 수 있다. 예를 들어, 음성대화장치(103)은 도 2에 도시된 바와 같이, 여러 구성요소들 간에 데이터를 전송하기 위한 버스를 포함하고, 도 2에는 생략되어 있으나 각 구성요소에 구동정원을 공급하는 전력모듈을 포함한다. 이와 같이, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 구성요소에 대한 설명은 본 실시예의 특징을 흐려지게 함에 따라 생략하기로 한다. 이하에서는 본 발명의 일 실시예에 따른 대화 데이터베이스를 이용한 대화문장 추천 방법을 설명하는 과정에서 음성대화장치(103)의 각 구성요소에 대하여 상세하게 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 대화 데이터베이스를 이용한 대화문장 추천 방법의 흐름도이다. 도 3을 참고하면, 본 실시예에 따른 대화 데이터베이스를 이용한 대화문장 추천 방법은 도 2에 도시된 음성대화장치(103)에서 수행되는 단계들로 구성된다. 301 단계에서 음성대화장치(103)의 대화데이터 생성부(1032)는 음성대화장치(103)의 사용자와 상대방 사이의 현재대화에서 주고받고 있는 복수 개의 문장이 텍스트화된 복수 개의 입력문장 텍스트를 포함하는 현재대화 데이터를 생성한다. 음성대화장치(103)의 사용자는 일반적으로 도 1에 도시된 청각장애인(101)이고, 상대방은 비장애인(102)이다. 음성대화장치(103)는 사용자(101)와 상대방(102) 간의 대화에서 주고받는 각 문장을 음성대화장치(103)의 사용자인터페이스(1040) 또는 마이크(1036)를 통해 입력받고, 입력받은 복수 개의 문장 각각을 입력문장 텍스트로 변환한다. 음성대화장치(103)는 복수 개의 입력문장 텍스트 및 각 입력문장 텍스트의 입력순서를 포함하는 현재대화 데이터를 생성한다.
도 4는 도 3에 도시된 현재대화 데이터를 생성하는 단계의 상세 흐름도이다. 도 4를 참고하면, 도 3에 도시된 301 단계는 다음과 같은 단계들로 구성될 수 있다. 3011 단계에서, 음성대화장치(103)는 음성대화장치(103)의 사용자(101)와 상대방(102) 사이의 현재대화를 나타내는 복수 개의 입력문장 텍스트를 상대방(102)으로부터의 음성신호 및 상기 사용자(101)로부터 문자 입력에 기초하여 생성한다. 보다 구체적으로, 사용자(101)가 말하고자 하는 문장은 음성대화장치(103)의 사용자 인터페이스(1040)를 통한 문자로 입력되고, 상대방(102)이 말하고자 하는 문장은 음성신호로서 마이크(1036)를 통해 음성대화장치(103)에 입력된다. 대화데이터 생성부(1032)는 사용자(101)로부터 입력된 문자에 기초하여 입력문장 텍스트를 생성한다. 상대방(102)으로부터 마이크(1036)를 통해 입력된 음성신호는 마이크(1036)에 의해 전기적 신호로 변환되고 음성인식부(1037)에 의해 문자로 변환된다. 대화데이터 생성부(1032)는 음성인식부(1037)에서 변환된 문자에 기초하여 상대방(102)의 음성신호를 나타내는 입력문장 텍스트를 생성한다. 사용자(101)와 상대방(102) 사이에서 주고받은 문장들을 나타내는 입력문장 텍스트는 입력순서대로 대화데이터 생성부(1032)에서 생성된다.
상술한 예시에서, 음성대화장치(103)는 사용자(101)로부터 ‘안녕하세요’ 및 ‘아이스 아메리카노 1잔이요’ 입력문장 텍스트를 사용자 인터페이스(1040)를 통해 입력받고, 상대방(102)으로부터 마이크(1036)를 통해 ‘주문 도와드릴께요’, ‘드시고 가실 건가요?’ 및 ‘아니면 테이크아웃 하실 건가요’음성신호를 입력받고, 입력된 음성신호를 문장 텍스트로 변환한다. 각 입력문장 텍스트의 입력순서는 ‘안녕하세요’, ‘주문 도와드릴께요’, ‘아이스 아메리카노 1잔이요’, ‘드시고 가실 건가요’ 및 ‘아니면 테이크아웃 하실 건가요’ 순서대로 입력된다.
3012 단계에서, 음성대화장치(103)의 대화데이터 생성부(1032)는 사용자(101) 및/또는 상대방(102)으로부터 입력된 복수 개의 입력문장 텍스트, 및 각 입력문장 텍스트의 입력순서를 포함하는 현재대화 데이터를 생성한다. 현재대화 데이터는 음성대화장치(103)의 사용자(101)와 상대방(102) 간의 현재 대화를 나타내는 복수 개의 입력문장 텍스트, 및 각 입력문장 텍스트의 입력순서를 포함한다.
302 단계에서, 음성대화장치(103)의 텍스트 분석부(1033)는 301 단계에서 생성된 현재대화 데이터에 포함된 복수 개의 입력문장 텍스트 중 늦게 입력된 순서대로 적어도 하나의 최근문장 텍스트를 추출한다. 상술한 바와 같이, 현재대화 데이터는 사용자(101)와 상대방(102) 간에 현재 대화에서 주고받은 문장들을 나타내는 복수 개의 입력문장 텍스트, 및 각 입력문장 텍스트의 입력순서를 포함한다. 텍스트 분석부(1033)는 현재대화 데이터에 포함된 복수 개의 입력문장 텍스트 중 입력순서가 늦은 순서대로 소정의 개수의 최근문장 텍스트를 추출한다. 여기에서 추출하는 최근문장 텍스트의 개수는 음성대화장치(103)의 설계자에 의해 미리 설정될 수 있다. 상술한 커피숍 예시에서, 텍스트 분석부(1033)가 하나의 최근문장 텍스트를 추출하는 경우에는 “아니면 테이크 아웃 하실 건가요”를 나타내는 입력문장 텍스트를 추출하고, 2개의 최근문장 텍스트를 추출하는 경우에는 “아니면 테이크 아웃 하실 건가요”를 나타내는 입력문장 텍스트 및 “드시고 가실 건가요”를 나타내는 입력문장 텍스트를 추출한다.
303 단계에서, 음성대화장치(103)의 텍스트 분석부(1033)는 302 단계에서 추출된 적어도 하나의 최근문장 텍스트를 형태소 단위로 분해하고, 적어도 하나의 최근문장 텍스트의 형태소에서 실질적 의미를 갖는 형태소인 실질형태소를 추출한다. 상술한 바와 같이, 대화는 적어도 2 사람 사이에서 주고받는 의사소통으로서, 문장으로 구성된다. 문장은 생각이나 감정을 말로 표현할 때 완결된 내용을 나타내는 최소 단위로서, 단어들의 집합으로 구성된다. 그리고, 단어를 더 쪼갠 것이 형태소이다. 형태소는 뜻을 가진 가장 작은 말의 단위로서, 실질적인 의미가 있느냐 업느냐에 따라 실질적인 의미가 있는 실질형태소와 실질적인 의미가 없는 형식형태소로 구별된다. 실질형태소는 단어와 같이 혼자 쓰이는 자립형태소를 포함하고, 형식형태소는 조사, 어미, 접사를 포함한다. 본 실시예에서는 다수의 형태소로 구성되는 문장 텍스트를 단순화하기 위하여 문장 텍스트를 형태소 단위로 분해하고, 분해된 형태소 중 실질적인 의미가 있는 실질형태소만을 추출한다.
상술한 예시에서, 텍스트 분석부(1033)는 302 단계에서 추출된 “아니면 테이크 아웃 하실 건가요”를 나타내는 입력문장 텍스트 및 “드시고 가실 건가요”를 나타내는 입력문장 텍스트를 형태소 단위로 분해한다. “아니면 테이크 아웃 하실 건가요”는 ‘아니/면/테이크/아웃/하/실/건가요’로 분해되고, “드시고 가실 건가요”는 ‘드시/고/가/실/건가요’로 분해된다. 텍스트 분석부(1033)는 ‘아니면 테이크 아웃 하실 건가요’ 입력문장 텍스트에서 분해된 형태소 중 실질형태소인 ‘테이크’, ‘아웃’, ‘하’를 추출하고, ‘드시고 가실 건가요’ 입력문장 텍스트에서 분핸된 형태소 중 실질형태소인 ‘드시’, ‘가’를 추출한다.
304 단계에서, 음성대화장치(103)의 텍스트 분석부(1033)는 303 단계에서 추출된 실질형태소에 기초하여 대화 데이터베이스에서 현재대화 데이터의 복수 개의 입력문장 텍스트 중 입력순서가 가장 늦은 최종문장 텍스트에 대한 응답으로 올 수 있는 복수 개의 답변문장 텍스트를 추출한다. 상술한 바와 같이, 본 발명의 일 실시예에 따른 대화 데이터베이스는 복수 개의 기준대화 데이터가 저장되어 있고, 각 기준대화 데이터는 기준대화에서 주고받은 문장을 나타내는 복수 개의 기준문장 텍스트, 및 각 기준문장 텍스트의 입력순서를 포함한다. 기준대화 데이터에 포함된 각 기준문장 텍스트는 실질적인 의미를 갖는 형태소인 실질형태소만을 포함하고, 문장에서 실질적인 의미가 없는 형식형태소는 포함하지 않는다. 본 실시예에 따른 대화 데이터베이스에서, 기준대화 데이터는 기준문장에서 형식형태소를 제외하고 실질형태소만을 포함함으로써 기준대화 데이터에 포함되는 텍스트의 수를 크게 줄일 수 있다. 이에 따라, 대화 데이터베이스는 더 많은 기준대화 데이터를 저장할 수 있다.
여기에서, 대화 데이터베이스에 저장된 기준대화 데이터는 음성대화장치(103)의 설계자에 의해 미리 저장된 데이터일 수 있으며, 또한, 음성대화장치(103)의 사용자가 음성대화장치(103)를 사용하여 음성대화를 수행한 경우에는 수행한 대화의 문장들을 데이터화하여 저장할 수 있다. 사용자가 음성대화장치(103)를 사용할수록 대화 데이터베이스에 저장된 기준대화 데이터가 계속 축적된다.
답변문장 텍스트를 추출하는 방법에 대하여 이하에서 보다 상세하게 설명한다. 도 5는 도 3에 도시된 복수 개의 답변문장 텍스트를 결정하는 단계의 상세 흐림도이다. 도 5를 참고하면, 3041 단계에서, 텍스트 분석부(1033)는 303 단계에서 추출된 실질형태소를 대화 데이터베이스에 저장된 복수 개의 기준대화 데이터의 기준문장 텍스트로부터 추출된 실질형태소와 비교한다. 현재대화에서 최근문장 텍스트로부터 추출된 실질형태소와 동일한 형태소를 갖는 기준문장 텍스트가 존재하는 경우, 302 단계에서 추출된 최근문장 텍스트와 기준문장 텍스트가 동일하거나 유사한 의미를 가진 문장에 해당한다. 동일한 실질형태소를 가지는 양 문장은 동일하거나 유사한 의미를 갖는 문장이기 때문에, 최근문장 텍스트를 포함하는 현재대화와 추출된 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화는 동일하거나 유사한 상황에서의 대화에 해당할 확률이 매우 높다.
본 발명의 다른 실시예에 따른 텍스트 분석부(1033)가 302 단계에서 복수 개의 최근문장 텍스트를 추출한 경우, 텍스트 분석부(1033)는 복수 개의 최근문장 텍스트 각각을 형태소 단위로 분해하고, 복수 개의 최근문장 텍스트 각각의 실질형태소를 추출한다. 텍스트 분석부(1033)는 복수 개의 최근문장 텍스트 각각의 실질형태소를 기준대화 데이터의 각각의 기준문장 텍스트의 실질형태소와 각각 비교한다. 상술한 2개의 최근문장 텍스트를 추출한 예시에서, 텍스트 분석부(1033)는 ‘테이크 아웃하실래요’ 최근문장 텍스트에서 추출된 ‘테이크’, ‘아웃’, 및 ‘하’의 실질형태소를 기준문장 텍스트의 실질형태소와 비교하고 ‘드시고 가실 건가요’ 최근문장 텍스트에서 추출된 ‘드시’, 및 ‘가’의 실질형태소를 기준문장 텍스트의 실질형태소와 각각 비교한다.
텍스트 분석부(1033)는 비교결과 2개의 최근문장 텍스트의 실질형태소 각각과 일치하는 2개의 기준문장 텍스트를 모두 포함하는 기준대화 데이터를 결정한다. 상술한 2개의 최근문장 텍스트를 추출한 예시에서, 텍스트 분석부(1033)는 ‘테이크’, ‘아웃’, 및 ‘하’의 실질형태소를 갖는 제 1 기준문장 텍스트와 ‘드시’, 및 ‘가’의 실질형태소를 갖는 제 2 기준문장 텍스트를 모두 포함하는 기준대화 데이터를 결정한다.
3042 단계에서, 텍스트 분석부(1033)는 비교결과에 기초하여 최근문장 텍스트에서 추출된 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 결정한다. 텍스트 분석부(1033)는 303 단계에서 추출된 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 모든 기준대화 데이터를 결정한다. 상술한 바와 같이, 적어도 하나의 최근문장 텍스트와 동일하거나 유사한 의미를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터는 현재 음성대화장치(103)의 사용자와 상대방 사이에서 주고받는 대화와 동일하거나 유사한 대화에 해당할 확률이 매우 높다. 따라서, 텍스트 분석부(1033)는 3041 단계에서의 비교결과에 기초하여 현재대화 데이터의 최근문장 텍스트와 동일하거나 유사한 의미를 갖는 기준문장 텍스트를 갖는 기준대화 데이터를 결정한다. 여기에서, 텍스트 분석부(1033)는 대화 데이터베이스에서 복수 개의 기준대화 데이터를 결정할 수 있다.
3043 단계에서, 텍스트 분석부(1033)는 결정된 기준대화 데이터에서 최종문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트의 입력순서 다음의 입력순서를 갖는 기준문장 텍스트를 최종문장 텍스트의 응답일 수 있는 답변문장 텍스트로 추출한다. 상술한 바와 같이, 적어도 하나의 최근문장 텍스트와 동일하거나 유사한 의미를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터는 현재 음성대화장치(103)의 사용자와 상대방 사이에서 주고받는 대화와 동일하거나 유사한 대화에 해당할 확률이 매우 높다. 이와 같이 현재대화와 기준대화가 동일하거나 유사한 상황에서의 대화에 해당하기 때문에, 최종문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트 다음의 입력순서를 갖는 기준문장 텍스트가 현재대화의 최종문장에 대한 응답으로 올 수 있다. 텍스트 분석부(1033)는 기준대화 데이터에서 추출된 적어도 하나의 최근문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트의 다음 입력순서를 갖는 기준문장 텍스트를 답변문장 텍스트로서 추출한다. 텍스트 분석부(1033)는 상술한 바와 같이 현재대화 데이터의 최종문장 텍스트의 응답으로 올 수 있는 복수 개의 답변문장 텍스트를 대화 데이터베이스에서 추출한다.
305 단계에서, 음성대화장치(103)의 출현확률 산출부(1034)는 대화 데이터베이스에 포함된 복수 개의 기준대화 데이터에 기초하여 304 단계에서 결정된 복수 개의 답변문장 텍스트가 최종문장 텍스트에 대한 응답일 수 있는 확률인 출현확률을 산출한다. 출현확률 산출부(1034)는 각 답변문장 텍스트가 현재 대화의 마지막 문장인 최종문장 텍스트의 응답으로서 출현될 수 있는 확률을 산출한다.
보다 구체적으로, 출현확률 산출부(1034)는 대화 데이터베이스에 저장된 복수 개의 기준대화 데이터를 분석하여 각 답변문장 텍스트의 출현확률을 산출한다. 출현확률 산출부(1034)는 303 단계에서 추출된 최근문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수, 및 304 단계에서 결정된 각 답변문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 갖는 기준대화 데이터의 개수를 이용하여 각 답변문장 텍스트의 출현확률을 산출한다. 각 답변문장 텍스트의 출현확률을 산출하는 공식은 다음과 같다.
Figure 112019070508510-pat00001
답변문장 텍스트의 출현확률은 각 답변문장 텍스트의 출현횟수와 복수 개의 답변문장 텍스트의 총 개수의 비율로 산출된다. 답변문장 텍스트의 총 개수는 최근문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 총 개수이다. 답변문장 텍스트의 총 개수는 현재대화 데이터의 최근문장 텍스트와 동일하거나 유사한 의미를 갖는 기준문장 텍스트를 갖는 기준대화 데이터의 개수이다. 다시 말해, 답변문장 텍스트의 총 개수는 대화 데이터베이스에 포함된 현재대화와 동일하거나 유사한 상황에서 수행된 기준대화의 총 개수를 의미한다.
답변문장 텍스트의 출현횟수는 304 단계에서 결정된 복수 개의 답변문장 텍스트 중 각 답변문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수이다. 답변문장 텍스트의 출현횟수는 304 단계에서 결정된 복수 개의 답변문장 텍스트 중 동일한 실질형태소를 갖는 답변문장 텍스트의 개수이다. 다시 말해, 답변문장 텍스트의 출현횟수는 결정된 각 답변문장 텍스트와 동일하거나 유사한 의미를 갖는 기준문장 텍스트의 개수이다.
답변문장 텍스트의 출현확률은 복수 개의 답변문장 텍스트 중 동일한 의미를 갖는 답변문장 텍스트의 개수의 비율이다. 답변문장 텍스트의 출현확률은 답변문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수에 비례한다.
예를 들어, 상술한 커피숍 예시의 최종문장 텍스트 “아니면 테이크 아웃 하실 건가요”의 다음에 올 답변문장으로 대화 데이터베이스에서 ‘먹고 갈게요’, ‘먹고 갈게요’, ‘테이크 아웃이요’ 및 ‘잠시만요’의 4개의 답변문장 텍스트가 결정되었다고 가정한다. 여기에서, 답변문장 텍스트의 총 개수는 4개이다. ‘먹고 갈게요’ 답변문장 텍스트의 출현확률을 산출하면, ‘먹고 갈게요’ 답변문장 텍스트는 2개가 답변문장 텍스트로 결정되었으므로, ‘먹고 갈게요’ 답변문장 텍스트의 출현확률을 50%이다. 또한, ‘테이크 아웃이요’ 및 ‘잠시만요’ 각 답변문장 텍스트는 각각 1개가 답변문장 텍스트로 결정되었으므로, 각 답변문장 텍스트의 출현확률을 25%이다.
306 단계에서, 음성대화장치(103)의 프로세서(1031)는 305 단계에서 산출된 출현확률이 높은 순서대로 복수 개의 답변문장 텍스트를 음성대화장치(103)의 사용자 인터페이스(1040)에 디스플레이 한다. 프로세서(1031)는 305 단계에서 결정된 복수 개의 답변문장 텍스트 중 출현확률이 높은 소정의 개수의 답변문장 텍스트를 출현확률이 높은 순서대로 사용자 인터페이스(1040)에 디스플레이 한다. 여기에서, 소정의 개수는 음성대화장치(103)의 설계자에 의해 미리 설정될 수 있다.
이와 관련하여, 도 6은 도 2의 음성대화장치에 표시되는 화면의 예를 도시한 도면이다. 도 6를 참고하면, 상술한 예시에서 출현확률 산출부(1034)에 의해‘먹고 갈게요’, ‘테이크 아웃이요’ 및 ‘잠시만요’답변문장 텍스트 각각의 출현확률이 50%, 25%, 25%로 산출된 경우, 프로세서(1031)는 사용자 인터페이스(1040)에서 가장 출현확률이 높은 ‘먹고 갈게요’ 답변문장 텍스트를 가장 위에 디스플레이하고, 출현확률이 높은 순서대로 ‘테이크 아웃이요’및 ‘잠시만요’를 디스플레이한다. 또한, 프로세서(1031)는 출현확률 순서대로 1, 2, 3번의 번호를 답변문장 텍스트와 함께 디스플레이 할 수 있다. 본 발명의 실시예에 따른 음성대화장치(103)는 대화 데이터베이스에 저장된 기준대화 데이터를 분석하여
307 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 사용자(101)로부터의 입력에 기초하여 최종문장 텍스트에 대한 응답인 다음 대화문장 텍스트를 결정한다. 음성대화장치(103)의 사용자(101)는 현재 대화의 마지막 문장인 최종문장에 응답하여 답변을 결정하고, 결정된 답변을 음성대화장치(103)에 입력하여 사용자(101)의 의사를 상대방(102)에게 전달할 수 있다. 이때 사용자(101)는 306 단계에서 디스플레이된 복수 개의 답변문장 중 어느 하나에 대한 선택을 입력하여 다음 대화문장을 입력할 수 있으며, 또는 음성대화장치(103)의 사용자 인터페이스(1040)에 사용자(101)가 직접 문자 텍스트를 입력하여 다음 대화문장을 입력할 수 있다. 이러한 사용자(101)의 입력에 기초하여 대화문장 결정부(1035)는 최종문장 텍스트에 대한 사용자(101)의 응답인 다음대화 문장 텍스트를 결정할 수 있다. 이하에서는 상술한 사용자(101)의 다음 대화문장의 선택을 입력하는 방식에 대하여 설명하기로 한다.
도 7은 도 3에 도시된 다음 대화문장 텍스트를 결정하는 단계의 일 실시예에 따른 상세 흐름도이다. 도 7에 도시된 일 실시예는 사용자(101)가 사용자 인터페이스(1040)를 통해 디스플레이된 복수 개의 답변문장 중 어느 하나를 선택하여 다음 대화문장 텍스트로 입력하는 실시예이다. 도 7을 참고하면, 701 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 사용자 인터페이스(1040)를 통해 사용자(101)로부터 디스플레이된 복수 개의 답변문장 텍스트 중 어느 하나의 답변문장 텍스트에 대한 선택을 입력 받는다. 도 6을 참고하면, 사용자(101)는 음성대화장치(103)의 사용자 인터페이스(1040)에 디스플레이된 ‘먹고 갈게요’, ‘테이크 아웃이요’ 및 ‘잠시만요’3개의 답변문장 텍스트 중 어느 하나의 답변문장을 터치하거나 해당 번호를 입력하여 어느 하나의 답변문장 텍스트를 최종문장 텍스트인 ‘아니면 테이크 아웃하실 건가요?’에 대한 응답으로 선택할 수 있다.
702 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 701 단계에서 선택된 하나의 답변문장 텍스트를 최종문장 텍스트의 다음 대화문장 텍스트로 결정한다. 대화문장 결정부(1035)는 사용자 인터페이스(1040)에 디스플레이된 복수 개의 답변문장 텍스트 중 사용자(101)가 선택한 답변문장 텍스트를 다음 대화문장 텍스트로 결정한다. 상술한 예시에서, 사용자(101)가 ‘먹고 갈게요’ 답변문장 텍스트를 선택한 경우, 대화문장 결정부(1035)는 사용자(101)의 입력에 따라 최종문장인 ‘아니면 테이크 아웃하실 건가요’의 답변문장 텍스트로 ‘먹고 갈게요’를 결정한다.
도 8은 도 3에 도시된 다음 대화문장 텍스트를 결정하는 단계의 다른 실시예에 따른 상세 흐름도이다. 도 8에 도시된 다른 실시예는 사용자(101)가 사용자 인터페이스(1040)를 통해 직접 다음대화 문장 텍스트를 입력하는 실시예이다. 도 8을 참고하면, 801 단계에서 음성대화장치(103)의 사용자 인터페이스(1040)는 사용자(101)로부터 문자 텍스트를 입력받는다. 사용자(101)가 직접 다음 대화문장을 음성대화장치(103)에 입력하는 경우, 사용자(101)는 사용자 인터페이스(1040)를 통하여 다음 대화문장를 구성하는 문자 텍스트를 입력한다.
802 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 801 단계에서 입력된 문자 텍스트와 304 단계에서 결정된 복수 개의 답변문장 텍스트 각각의 첫 번째 문자 텍스트를 비교한다. 대화문장 결정부(1035)는 사용자(101)로부터 입력된 하나의 문자 텍스트와 복수 개의 답변문장 텍스트의 첫 번째 문자 텍스트를 비교한다. 이와 관련하여, 도 9는 도 8에 도시된 일 실시예에 따라 도 2의 음성대화장치에 표시되는 화면의 예를 도시한 도면이다. 도 9를 참고하면, 사용자(101)가 ‘테’ 문자 텍스트를 사용자 인터페이스(1040)에 입력한 경우, 대화문장 결정부(1035)는 사용자가 입력한 ‘테’ 문자 텍스트를 결정된 복수의 답변문장 텍스트인 ‘먹고 갈래요’, ‘테이크 아웃이요’ 및 ‘잠시만요’ 각각의 첫 번째 문자 텍스트와 비교한다.
803 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 802 단계에서의 비교 결과에 기초하여 입력된 문자 텍스트와 동일한 문자 텍스트로 시작하는 하나의 추천문장 텍스트를 결정한다. 대화문장 결정부(1035)는 복수 개의 답변문장 텍스트 중 입력된 문자 텍스트와 동일한 문자 텍스트로 시작하는 답변문장 텍스트를 결정한다. 사용자(101)가 입력한 문자 텍스트와 상이한 문자 텍스트로 시작하는 답변문장 텍스트는 사용자(101)가 입력하고자 하는 문장과 상이한 문장이기 때문에, 추천문장 텍스트에서 제외한다. 사용자(101)가 사용자 인터페이스(1040)에 입력한 문자 텍스트와 동일한 문자 텍스트로 시작하는 답변문장 텍스트가 사용자(101)가 입력하려고 하는 문장에 해당할 확률이 높다. 이에 따라, 사용자(101)가 입력한 문자 텍스트와 동일한 문자 텍스트로 시작하는 답변문장 텍스트를 추천문장 텍스트로 결정한다. 도 9를 참고하면, 사용자(101)가 ‘테’ 문자 텍스트를 사용자 인터페이스(1040)에 입력한 경우에는 대화문장 결정부(1035)는 사용자가 입력한 ‘테’ 문자 텍스트와 동일한 문자 텍스트로 시작하는 ‘테이크 아웃이요’답변문장 텍스트를 추천문장 텍스트로 결정한다.
본 발명의 다른 실시예에서, 대화문장 결정부(1035)는 사용자(101)가 입력한 문자 텍스트와 동일한 문자 텍스트로 시작하는 답변문장 텍스트가 복수 개 존재하는 경우에는 출현확률이 가장 높은 답변문장 텍스트를 추천문장 텍스트로 결정할 수 있다.
804 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 803 단계에서 결정된 추천문장 텍스트를 사용자 인터페이스(1040)에서 디스플레이한다. 대화문장 결정부(1035)는 사용자 인터페이스(1040)를 통해 결정된 추천문장 텍스트를 사용자(101)에게 제공한다. 도 8을 참고하면, 사용자 인터페이스(1040)는 사용자(101)가 입력한 문자 텍스트 ‘테’에 이어서 ‘이크 아웃이요’를 디스플레이한다. 여기에서, 사용자(101)가 입력한 문자는 진한 검은색으로 표시하고, 사용자(101)가 입력하지 않은 추천문장 텍스트인 ‘이크 아웃이요’는 점선으로 표시하거나 연한 회색으로 표시할 수 있다. 이러한 방식으로 사용자(101)가 직접 입력한 문자 텍스트와 추천문장 텍스트가 구별된다.
805 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 사용자(101)로부터 804 단계에서 디스플레이된 추천문장 텍스트에 대한 승인을 입력받는다. 사용자(101)가 사용자 인터페이스(1040)에 디스플레이된 추천문장 텍스트를 최종문장 텍스트에 대한 다음 대화문장 텍스트로 결정한 경우에 사용자(101)는 추천문장 텍스트에 대한 승인을 사용자 인터페이스(1040)를 통해 입력할 수 있다. 도 9를 참고하면, 사용자(101)는 추천문장 텍스트가 표시된 부분에 표시된 ‘입력’을 터치하는 방식으로 추천문장 텍스트에 대한 승인을 입력할 수 있다. 사용자(101)는 하나의 문자만을 입력하여 사용자(101) 자신이 원하는 다음 대화문장 텍스트를 빠르고 간략하게 입력할 수 있다.
806 단계에서, 음성대화장치(103)의 대화문장 결정부(1035)는 사용자(101)로부터 추천문장 텍스트에 대한 승인을 입력받은 경우 추천문장 텍스트를 최종문장 텍스트에 대한 다음 대화문장 텍스트로 결정한다. 대화문장 결정부(1035)는 사용자(101)가 다음 대화문장으로 추천문장을 승인하였으므로 사용자 인터페이스(1040)에 디스플레이된 추천문장 텍스트를 다음 대화문장 텍스트로 결정한다. 도 9를 참고하면, 대화문장 결정부(1035)는 ‘테이크 아웃이요’를 최종문장 텍스트인 ‘아니면 테이크 아웃하실 건가요“의 다음 대화문장 텍스트로 결정한다.
다시 도 3으로 돌아가, 308 단계에서 음성대화장치(103)의 음성변환부(1038)는 307 단계에서 결정된 다음 대화문장 텍스트를 음성신호로 변환하여 출력한다. 음성변환부(1038)는 결정된 다음 대화문장 텍스트를 구성하는 문자 텍스트들을 전기적인 신호로 변환하고 변환된 전기적인 신호를 스피커(1039)로 입력한다. 스피커(1039)는 입력된 전기적인 신호를 음성신호로 변환한다. 음성대화장치(103)는 결정된 다음 대화문장 텍스트를 스피커(1039)를 통하여 음성신호로 변환하여 출력함으로써 상대방에게 다음 대화문장의 음성신호를 제공할 수 있다.
상술한 본 발명의 실시예들에 따르면, 음성대화장치는 사용자와 상대방 사이의 대화를 분석하여, 청각장애가 있는 사용자에게 현재 대화에서 주고받은 마지막 문장에 대한 답변으로 올 수 있는 답변문장의 예시들을 제공함으로써, 사용자가 음성대화장치에 자신이 말하고자 하는 문장을 직접 입력할 필요없이 자신의 의도에 맞는 답변문장을 선택할 수 있게 한다. 이에 따라, 청각장애가 있는 사용자와 청각장애가 없는 상대방 사이에서 자연스러운 대화가 수행될 수 있게 한다.
또한, 본 발명의 실시예들에 따르면, 음성대화장치는 비장애인으로부터 입력되는 음성신호를 문자로 변환하여 청각장애인에게 제공하고, 청각장애인으로부터 입력된 문자를 음성신호로 변환하여 비장애인에게 제공함으로써, 수화를 이용하지 않더라도 청각장애인과 비장애인 사이에 음성대화를 가능하게 한다. 이에 더하여, 마지막 문장에 대한 답변으로 올 수 있는 가능성이 높은 답변문장들을 청각장애인에게 제공함으로써, 청각장애인과 비장애인 사이에 자연스러운 대화를 가능하게 한다.
또한, 음성대화장치는 방대한 양의 기준대화 데이터를 포함하는 대화 데이터베이스를 이용하여 마지막 문장에 대한 답변으로 올 수 있는 답변문장들을 결정함으로써, 보다 정확성이 높은 답변문장을 사용자에게 제공할 수 있다.
이에 더하여, 음성대화장치의 스토리지는 방대한 양의 기준대화 데이터를 포함하는 저장된 대화 데이터베이스가 저장된다. 여기에서, 대화 데이터베이스는 기준대화 데이터를 구성하는 기준문장 텍스트의 실질형태소만을 추출하고, 추출된 기준문장 텍스트의 실질형태소만을 저장함으로써, 대화 데이터베이스에 포함되는 기준대화 데이터의 용량을 최소화할 수 있다. 추가적으로, 음성대화장치는 대화 데이터베이스에 포함된 기준문장 텍스트를 추출된 최근문장 텍스트와 비교하여 답변문장 텍스트를 결정할 때, 최근문장 텍스트와 기준문장 텍스트의 실질형태소만을 비교함으로써, 답변문장 텍스트를 빠르게 결정할 수 있다. 음성대화장치는 문장의 실질형태소만을 이용하여 대화문장 추천 방법을 처리함으로써 프로세싱 속도가 빨라진다.
이제까지 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로해석되어야 할 것이다.
101: 사용자, 102: 상대방
103: 음성대화장치

Claims (9)

  1. 음성대화장치의 사용자와 상대방 사이의 현재대화가 텍스트화된 복수 개의 입력문장 텍스트를 포함하는 현재대화 데이터를 생성하는 단계;
    상기 생성된 현재대화 데이터에 포함되는 복수 개의 입력문장 텍스트에서 늦게 입력된 순서대로 적어도 하나의 최근문장 텍스트를 추출하는 단계;
    상기 추출된 적어도 하나의 최근문장 텍스트를 형태소 단위로 분해하고, 상기 추출된 적어도 하나의 최근문장 텍스트의 형태소에서 실질형태소를 추출하는 단계;
    상기 추출된 실질형태소에 기초하여 복수 개의 기준대화 데이터를 포함하는 대화 데이터베이스에서 상기 현재대화 데이터의 복수 개의 입력문장 텍스트 중 입력순서가 가장 늦은 최종문장 텍스트에 대한 응답인 복수 개의 답변문장 텍스트를 추출하는 단계;
    상기 대화 데이터베이스에서 포함된 복수 개의 기준대화 데이터에 기초하여 상기 최종문장 텍스트에 대한 응답으로 상기 복수 개의 답변문장 텍스트 각각의 출현확률을 산출하는 단계; 및
    상기 복수 개의 답변문장 텍스트를 상기 산출된 출현확률이 높은 순서대로 디스플레이하는 단계를 포함하고,
    상기 대화 데이터베이스는 실질형태소로 구성되는 복수 개의 기준대화 데이터를 포함하고,
    상기 복수 개의 답변문장 텍스트를 추출하는 단계는
    상기 대화 데이터베이스에 포함된 복수 개의 기준대화 데이터 각각을 구성하는 각 기준문장 텍스트의 실질형태소와 상기 추출된 실질형태소를 비교하는 단계;
    상기 비교 결과에 기초하여 상기 추출된 실질형태소와 동일한 실질형태소를 포함하는 복수 개의 기준문장 텍스트를 결정하는 단계; 및
    상기 복수 개의 기준문장 텍스트 각각의 다음 기준문장 텍스트를 상기 복수 개의 답변문장 텍스트로 추출하는 단계를 포함하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  2. 제 1 항에 있어서,
    상기 현재대화 데이터를 생성하는 단계는
    상기 상대방으로부터의 음성신호 및 상기 사용자로부터의 문자 입력에 기초하여 상기 사용자와 상기 상대방 사이의 현재대화를 나타내는 복수 개의 입력문장 텍스트를 입력순서대로 생성하는 단계; 및
    상기 생성된 복수 개의 입력문장 텍스트, 및 각 입력문장 텍스트의 입력순서를 포함하는 상기 현재대화 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  3. 제 1 항에 있어서,
    상기 사용자로부터의 상기 복수 개의 답변문장 텍스트 중 어느 하나에 대한 선택 또는 문자 텍스트의 입력에 기초하여 상기 적어도 하나의 최근문장 텍스트에 대한 응답인 다음 대화문장 텍스트를 결정하는 단계; 및
    상기 결정된 다음 대화문장 텍스트를 음성신호로 변환하여 출력하는 단계를 더 포함하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  4. 제 3 항에 있어서,
    상기 다음 대화문장 텍스트를 결정하는 단계는
    상기 사용자로부터 상기 디스플레이된 복수 개의 답변문장 텍스트 중 하나의 답변문장 텍스트에 대한 선택을 입력받는 단계; 및
    상기 선택된 하나의 답변문장 텍스트를 상기 최종문장의 다음 대화문장 텍스트로 결정하는 단계를 포함하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  5. 제 3 항에 있어서,
    상기 다음 대화문장 텍스트를 결정하는 단계는
    상기 음성대화장치의 사용자로부터 문자 텍스트를 입력받는 단계;
    상기 입력된 문자 텍스트와 상기 추출된 복수 개의 답변문장 텍스트 각각의 첫 번째 문자 텍스트를 비교하는 단계;
    상기 비교 결과에 기초하여 상기 입력된 문자 텍스트와 동일한 문자 텍스트로 시작하는 하나의 추천문장 텍스트를 결정하는 단계;
    상기 결정된 하나의 추천문장 텍스트를 디스플레이하는 단계;
    상기 사용자로부터 상기 결정된 하나의 추천문장 텍스트에 대한 승인을 입력받는 단계; 및
    상기 사용자로부터 상기 승인을 입력받은 경우, 상기 결정된 하나의 추천문장 텍스트를 상기 최종문장 텍스트에 대한 다음 대화문장 텍스트로 결정하는 단계를 포함하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 각각의 출현확률을 산출하는 단계는
    상기 적어도 하나의 최근문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수, 및 상기 각 답변문장 텍스트의 실질형태소와 동일한 실질형태소를 갖는 기준문장 텍스트를 포함하는 기준대화 데이터의 개수에 기초하여 상기 결정된 복수 개의 답변문장 텍스트 각각의 출현확률을 산출하고,
    상기 결정된 복수 개의 답변문장 텍스트 각각의 출현확률은 상기 각 답변문장 텍스트를 포함하는 기준대화 데이터의 개수에 비례하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 최근문장 텍스트를 추출하는 단계는 상기 생성된 현재대화 데이터에 포함되는 복수 개의 입력문장 텍스트에서 늦게 입력된 순서대로 복수 개의 최근문장 텍스트를 추출하고,
    상기 실질형태소를 추출하는 단계는 상기 추출된 복수 개의 최근문장 텍스트 각각을 형태소 단위로 분해하고, 상기 복수 개의 최근문장 텍스트 각각의 실질형태소를 추출하고,
    상기 복수 개의 답변문장 텍스트를 추출하는 단계는 상기 복수 개의 최근문장 텍스트 각각의 실질형태소에 기초하여 상기 최종문장 텍스트에 대한 응답인 복수 개의 답변문장 텍스트를 추출하는 것을 특징으로 하는 대화 데이터베이스를 이용한 대화문장 추천 방법.
  9. 음성대화장치의 사용자와 상대방 사이의 현재대화가 텍스트화된 복수 개의 입력문장 텍스트를 포함하는 현재대화 데이터를 생성하는 대화데이터 생성부;
    상기 생성된 현재대화 데이터에 포함되는 복수 개의 입력문장 텍스트에서 늦게 입력된 순서대로 적어도 하나의 최근문장 텍스트를 추출하고, 상기 추출된 적어도 하나의 최근문장 텍스트를 형태소 단위로 분해하고, 상기 최근문장 텍스트의 형태소에서 실질적 의미를 갖는 형태소인 실질형태소를 추출하고, 상기 추출된 실질형태소에 기초하여 복수 개의 기준대화 텍스트를 포함하는 대화 데이터베이스에서 상기 현재대화 데이터의 복수 개의 입력문장 텍스트 중 입력순서가 가장 늦은 최종문장 텍스트에 대한 응답인 복수 개의 답변문장 텍스트를 추출하는 텍스트 분석부;
    상기 대화 데이터베이스에서 포함된 복수 개의 기준대화 텍스트에 기초하여 상기 최종문장 텍스트에 대한 응답으로 상기 복수 개의 답변문장 텍스트 각각의 출현확률을 산출하는 출현확률 산출부; 및
    상기 산출된 복수 개의 답변문장 텍스트 각각의 출현확률에 기초하여 출현확률이 높은 순서대로 상기 복수 개의 답변문장 텍스트를 디스플레이하는 사용자 인터페이스를 포함하고,
    상기 대화 데이터베이스는 실질형태소로 구성되는 복수 개의 기준대화 데이터를 포함하고,
    상기 텍스트 분석부는 상기 대화 데이터베이스에 포함된 복수 개의 기준대화 데이터 각각을 구성하는 각 기준문장 텍스트의 실질형태소와 상기 추출된 실질형태소를 비교하고, 상기 비교 결과에 기초하여 상기 추출된 실질형태소와 동일한 실질형태소를 포함하는 복수 개의 기준문장 텍스트를 결정하고, 그리고 상기 복수 개의 기준문장 텍스트 각각의 다음 기준문장 텍스트를 상기 복수 개의 답변문장 텍스트로 추출하는 것을 특징으로 하는 문장 데이터베이스에 기초한 음성대화장치.
KR1020190083029A 2019-07-10 2019-07-10 대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치 KR102238973B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190083029A KR102238973B1 (ko) 2019-07-10 2019-07-10 대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190083029A KR102238973B1 (ko) 2019-07-10 2019-07-10 대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치

Publications (2)

Publication Number Publication Date
KR20210007128A KR20210007128A (ko) 2021-01-20
KR102238973B1 true KR102238973B1 (ko) 2021-04-12

Family

ID=74304719

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190083029A KR102238973B1 (ko) 2019-07-10 2019-07-10 대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치

Country Status (1)

Country Link
KR (1) KR102238973B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309042B1 (ko) * 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100792208B1 (ko) * 2005-12-05 2008-01-08 한국전자통신연구원 음성 대화 시스템에서 답변 문장 생성 방법 및 장치
KR102477272B1 (ko) * 2015-04-16 2022-12-14 삼성전자주식회사 응답 문자 추천 방법 및 이를 위한 장치
US10146768B2 (en) * 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
KR20170037593A (ko) * 2017-03-23 2017-04-04 주식회사 플런티코리아 답변 추천 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309042B1 (ko) * 2012-09-17 2013-09-16 포항공과대학교 산학협력단 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법

Also Published As

Publication number Publication date
KR20210007128A (ko) 2021-01-20

Similar Documents

Publication Publication Date Title
US10217464B2 (en) Vocabulary generation system
KR101583181B1 (ko) 응답 스티커 추천방법 및 컴퓨터 프로그램
CN113962315B (zh) 模型预训练方法、装置、设备、存储介质以及程序产品
KR101641572B1 (ko) 상황 및 선호도 기반 대화 스티커 순위 결정 방법 및 컴퓨터 프로그램
US9053096B2 (en) Language translation based on speaker-related information
US9484034B2 (en) Voice conversation support apparatus, voice conversation support method, and computer readable medium
KR20160089152A (ko) 화행 분석을 통한 스티커 추천 방법 및 시스템
KR101615848B1 (ko) 유사상황 검색을 통한 대화 스티커 추천방법 및 컴퓨터 프로그램
US10783329B2 (en) Method, device and computer readable storage medium for presenting emotion
KR101763679B1 (ko) 화행 분석을 통한 스티커 추천 방법 및 시스템
JP7096172B2 (ja) キャラクタ性に応じた形容発話を含む対話シナリオを生成する装置、プログラム及び方法
CN114416934A (zh) 多模态的对话生成模型的训练方法、装置及电子设备
US9805740B2 (en) Language analysis based on word-selection, and language analysis apparatus
CN112632242A (zh) 智能对话方法及装置、电子设备
US10269349B2 (en) Voice interactive device and voice interaction method
CN110728983A (zh) 一种信息显示方法、装置、设备及可读存储介质
KR101981091B1 (ko) 감정시각화자막 생성장치
WO2015099418A1 (ko) 채팅 데이터 학습 및 서비스 방법 및 그에 따른 시스템
KR102238973B1 (ko) 대화 데이터베이스를 이용한 대화문장 추천 방법 및 그것이 적용된 음성대화장치
KR102222637B1 (ko) 감성 분석 장치, 이를 포함하는 대화형 에이전트 시스템, 감성 분석을 수행하기 위한 단말 장치 및 감성 분석 방법
CN107943299B (zh) 情感呈现方法和装置、计算机设备及计算机可读存储介质
CN109002498B (zh) 人机对话方法、装置、设备及存储介质
JP2013178384A (ja) 音声認識用辞書登録システム、音声認識システム、音声認識サービスシステム、方法およびプログラム
CN114490967A (zh) 对话模型的训练方法、对话机器人的对话方法、装置和电子设备
CN115101053A (zh) 基于情绪识别的对话处理方法、装置、终端及存储介质

Legal Events

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