KR20040028631A - 프로그램, 및 음성 대화 장치 및 방법 - Google Patents

프로그램, 및 음성 대화 장치 및 방법 Download PDF

Info

Publication number
KR20040028631A
KR20040028631A KR10-2003-7004359A KR20037004359A KR20040028631A KR 20040028631 A KR20040028631 A KR 20040028631A KR 20037004359 A KR20037004359 A KR 20037004359A KR 20040028631 A KR20040028631 A KR 20040028631A
Authority
KR
South Korea
Prior art keywords
response
data
response candidate
score
generated
Prior art date
Application number
KR10-2003-7004359A
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 소니 가부시끼 가이샤
Publication of KR20040028631A publication Critical patent/KR20040028631A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Toys (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 사용자와 자연스럽고 인간적인 대화를 주고 받을 수 있도록 한 프로그램에 관한 것이다. 각각의 대응 후보 생성 모듈(54a∼54c)은 독자적인 룰에 기초하여 생성한 입력 모듈(51) 및 응답 선택 모듈(52)을 통하여 입력한 외부로부터의 음성 데이터에 대한 응답 후보 데이터와, 음성 데이터 및 내부 상태 기록 머듈(55)에 기록되어 있는 내부 상태 데이터에 기초하여 연산한 응답 후보 데이터의 스코어를, 응답 선택 모듈(52)에 공급한다. 응답 선택 모듈(52)은, 공급받은 각 스코어에 기초하여 각 응답 후보 데이터 중 하나를, 입력한 음성 데이터에 대한 응답 데이터로서 선택하고, 응답 출력 모듈(53)을 통해 외부로 출력한다. 본 발명은, 로봇 등에 탑재되는 음성 대화 장치에 적용할 수 있다.

Description

프로그램, 및 음성 대화 장치 및 방법{PROGRAM, SPEECH INTERACTION APPARATUS, AND METHOD}
종래의 음성 대화 장치는 하나의 태스크, 예를 들면 「전화에 의한 항공권 티켓의 예약」 등을 실행시키는 것을 주목적으로 하고 있다.
즉, 종래의 음성 대화 장치는 태스크를 실행하기 위한 하나의 시나리오에 충실하게 따라, 사용자와 대화를 주고 받을 수 있다. 예를 들면, 시나리오에 존재하지 않는 음성이 사용자측으로부터 입력된 경우, 종래의 음성 대화 장치는 「모릅니다, 네 또는 아니오로 대답해 주십시오」 등의 응답 메시지를 출력하여, 다음 음성이 입력될 때까지 대기하는 등의 처리를 한다.
한편, 로봇과 같은 신체성을 갖는 대상물, 또는 실제 세계의 이미지 대상물(예를 들면, 컴퓨터 게임의 캐릭터와 같은 이미지 대상물)이 사용자와 대화를 주고 받는 경우, 그 대상물은 상술한 바와 같은 단순한 태스크 달성을 위한 대화 이외에, 사용자와 자연스럽고 인간적인 대화, 예를 들면 목적을 거의 갖지 않는 잡담등의 대화를 주고 받을 필요가 있다. 또한, 그 잡담 중에, 죠크 등을 적절하게 주고 받은 응답을 하는 것 등이 요구되는 경우도 있다.
그러나, 종래의 음성 대화 장치가 상술한 바와 같은 대상물에 탑재되었다고 해도, 그 대상물이 사용자와, 상술한 바와 같은 자연스럽고 인간적인 대화를 주고 받는 것은 곤란하다.
또한, 종래의 음성 대화 장치에, 상술한 바와 같은 자연스럽고 인간적인 대화를 주고 받도록 하기 위한 처리를 시키는 것은 유효한 방법이 아니다.
이것은, 이하의 세 가지 이유에 의한 것이다.
우선, 제1 이유로서, 「종래의 음성 대화 장치는 주로 상태 천이 모델로 기술되는 하나의 시나리오로 구성되며, 그 모델에 자연스럽고 인간적인 대화를 주고 받도록 하기 위한 처리를 실장시키는 것은 곤란하다」는 이유를 들 수 있다.
즉, 상태 천이 모델은, 「상태 A에서 B가 입력된 경우, C를 출력하고, 상태 D로 이행한다」라고 하는 기술 방식으로 표현되는, 소위 오토마튼이라고 불리는 것과 등가 모델이다.
그 상태 천이 모델 상에, 목적 달성형의 대화 이외에, 잡담, 또는 죠크 등의 자연스럽고 인간적인 대화를 주고 받도록 하기 위한 처리를 실행시키는 경우, 설계자는 모든 상태에서 일어날 수 있는 상황을 사전에 상정하고, 그에 대한 룰을 그 모델에 기술하는 것이 필요하다. 그러나, 설계자가 그와 같은 작업을 하는 것은 매우 곤란하고, 실질적으로는 불가능하다.
또한, 제2 이유로서, 「자연스럽고 인간적인 대화를 주고 받도록 하기 위해서는, 복수의 종류 또는 복수의 특질을 갖는 응답문의 출력이 필요하지만, 이들 응답문을 생성시키는 알고리즘은 생성되는 문의 종류나 특질에 따라 복수 존재하고, 이들 복수의 알고리즘을 단일의 시나리오에 밀어 넣게 하는 것은 곤란하다」는 이유를 들 수 있다.
예를 들면, 「Eliza」(「언어공학」, 나가오 마꼬또 저, 쇼꼬도 출판, p. 226∼228)로 대표되는 단순한 응답문 생성 알고리즘은 입력 문자열에 대하여 출력 응답문을 정의한 룰을 미리 정의해 두고, 입력문과의 매칭 처리를 통해서 응답문을 생성하는 알고리즘이다.
이에 대하여, 예를 들면 「B급 기관」(「AERA」 2001. 2. 12호, 아사히 신문사 출판, p. 80), 또는 「BOKE」(논문 「일본어 익살 수수께끼 생성 시스템 "BOKE"」, 김 빈스테드, 다끼자와 슈 저) 등의 죠크문 생성 알고리즘은, 임의의 키워드에 기초하여, 소정의 문자열 처리 알고리즘을 움직여, 예를 들면 입력된 문을 변형하기도 하여 죠크를 생성하는 알고리즘이다.
이러한 전혀 다른 방식의 문 생성 알고리즘을, 단일의 시나리오 내에 혼재시키는 것은 곤란하다.
또한, 제3 이유로서, 「자연스럽고 인간적인 대화를 주고 받도록 하기 위한 처리를 단일의 시나리오에 실장시키는 것이 가능하다고 해도, 그 실장 방법을 소프트웨어의 개발 방법으로서 생각한 경우, 시스템의 유연성으로부터 보아 득책이 아니며, 효율적인 개발 방법이 아니다」라는 이유를 들 수 있다.
〈발명의 개시〉
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 사용자와 자연스럽고 인간적인 대화를 주고 받을 수 있는 음성 대화 장치를 효율적으로 제작하고, 제공할 수 있도록 하는 것이다.
본 발명의 제1 프로그램은, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와, 제1 응답 후보 생성 단계의 처리에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 단계의 처리에 의해 연산된 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 제1 응답 후보 생성 단계의 처리에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 단계의 처리에 의해 생성된 제2 응답 후보 데이터 중, 어느 한쪽을 입력된 음성에 대한 응답 데이터로서 선택하는 응답 선택 단계를 컴퓨터에 실행시키는 것을 특징으로 한다.
이 제1 프로그램에서는, 제1 및 제2 응답 후보 생성 단계의 각각은, 미리 기록되어 있는 내부 상태 데이터에 기초하여, 제1 또는 제2 응답 후보 데이터를 생성함과 함께, 제1 또는 제2 스코어를 연산하고, 응답 선택 단계는, 또한 내부 상태 데이터에 기초하여, 응답 데이터를 선택하도록 할 수 있다.
또한, 응답 선택 단계는 내부 상태 데이터에 기초하여, 제1 또는 제2 스코어를 재연산하도록 할 수 있다.
이 제1 프로그램에서는, 입력된 음성 데이터, 및 응답 선택 단계의 처리에 의해 선택된 응답 데이터를 내부 상태 데이터로서 기록하는 기록 단계를 더 컴퓨터에 실행시키도록 할 수 있다.
또한, 이미 기록되어 있는 내부 상태 데이터를 감시하고, 기록 단계의 처리에 의해 음성 데이터, 또는 응답 데이터가 새로운 내부 상태 데이터의 하나로서 기록되었을 때, 또는 경과 시간의 진행에 따라, 이미 기록되어 있는 내부 상태 데이터 중, 소정의 데이터를 변경하는 내부 상태 데이터 변경 단계를 컴퓨터에 실행시키도록 할 수 있다.
이 제1 프로그램에서는, 또한 응답 선택 단계는 제1 및 제2 스코어 중, 어느 것이 소정의 기준값 이하인 경우, 미리 설정되어 있는 응답 데이터를 선택하도록 할 수 있다.
본 발명의 제1 기록 매체의 프로그램은, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와, 제1 응답 후보 생성 단계의 처리에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 단계의 처리에 의해 연산된 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 제1 응답 후보 생성 단계의 처리에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 단계의 처리에 의해 생성된 제2 응답 후보 데이터 중, 어느 한쪽을 입력된음성에 대한 응답 데이터로서 선택하는 응답 선택 단계를 포함하는 것을 특징으로 한다.
본 발명의 제1 음성 대화 장치는, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 수단과, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 수단과, 제1 응답 후보 생성 수단에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 수단에 의해 연산된 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 제1 응답 후보 생성 수단에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 수단에 의해 생성된 제2 응답 후보 데이터 중, 어느 한쪽을 입력된 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 수단을 포함하는 것을 특징으로 한다.
본 발명의 제1 음성 대화 방법은, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와, 제1 응답 후보 생성 단계의 처리에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 단계의 처리에 의해 연산된 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 제1 응답 후보 생성 단계의 처리에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 단계의 처리에 의해 생성된 제2 응답 후보 데이터 중, 어느 한쪽을 입력된 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계를 포함하는 것을 특징으로 한다.
본 발명의 제1 프로그램, 제1 기록 매체, 및 제1 음성 대화 장치 및 방법에서는, 입력된 음성 데이터에 대한 제1 및 제2 응답 후보 데이터의 각각이 서로 독립된 룰에 기초하여 생성되고, 각각의 스코어가 연산된다. 그리고, 연산된 각 스코어가 비교되고, 그 비교의 결과에 기초하여, 제1 및 제2 응답 후보 데이터 중, 어느 한쪽이 입력된 음성 데이터에 대한 응답 데이터로서 선택된다.
본 발명의 제2 프로그램은, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와, 제1 및 제2 응답 후보 생성 단계 중, 우선 순위가 높은 쪽부터 순서대로, 제1 응답 후보 생성 단계의 처리에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 단계의 처리에 의해 연산된 제2 스코어 중, 대상이 되는 스코어가, 소정의 기준값 이상인지를 판정하여, 대상이 되는 스코어가 기준값 이상이라고 판정된 경우, 제1 응답 후보 생성 단계의 처리에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 단계의 처리에 의해 생성된 제2 응답 후보 데이터 중, 대상이 되는 스코어를 갖는 것을 입력된 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계를 컴퓨터에실행시키는 것을 특징으로 한다.
본 발명의 제2 기록 매체 프로그램은, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와, 제1 및 제2 응답 후보 생성 단계 중, 우선 순위가 높은 쪽부터 순서대로, 제1 응답 후보 생성 단계의 처리에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 단계의 처리에 의해 연산된 제2 스코어 중, 대상이 되는 스코어가, 소정의 기준값 이상인지를 판정하여, 대상이 되는 스코어가 기준값 이상이라고 판정된 경우, 제1 응답 후보 생성 단계의 처리에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 단계의 처리에 의해 생성된 제2 응답 후보 데이터 중, 대상이 되는 스코어를 갖는 것을 입력된 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계를 포함하는 것을 특징으로 한다.
본 발명의 제2 음성 대화 장치는, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 수단과, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 수단과, 제1 및 제2 응답 후보 생성 수단 중, 우선 순위가 높은 쪽부터 순서대로, 제1 응답 후보 생성 수단에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 수단에 의해 연산된 제2 스코어 중, 대상이 되는 스코어가, 소정의 기준값 이상인지를 판정하여, 대상이 되는 스코어가 기준값 이상이라고 판정된 경우, 제1 응답 후보 생성 수단에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 수단에 의해 생성된 제2 응답 후보 데이터 중, 대상이 되는 스코어를 갖는 것을 입력된 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 수단을 포함하는 것을 특징으로 한다.
본 발명의 제2 음성 대화 방법은, 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와, 입력된 음성 데이터에 대한 제2 응답 후보 데이터를 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와, 제1 및 제2 응답 후보 생성 단계 중, 우선 순위가 높은 쪽부터 순서대로, 제1 응답 후보 생성 단계의 처리에 의해 연산된 제1 스코어와, 제2 응답 후보 생성 단계의 처리에 의해 연산된 제2 스코어 중, 대상이 되는 스코어가, 소정의 기준값 이상인지를 판정하여, 대상이 되는 스코어가 기준값 이상이라고 판정된 경우, 제1 응답 후보 생성 단계의 처리에 의해 생성된 제1 응답 후보 데이터와, 제2 응답 후보 생성 단계의 처리에 의해 생성된 제2 응답 후보 데이터 중, 대상이 되는 스코어를 갖는 것을 입력된 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계를 포함하는 것을 특징으로 한다.
본 발명의 제2 프로그램, 제2 기록 매체, 및 제2 음성 대화 장치 및 방법에서는 입력된 음성 데이터에 대한 제1 및 제2 응답 후보 데이터의 각각이 서로 독립된 룰에 기초하여 생성되고, 각각의 스코어가 연산된다. 그리고, 우선 순위가 높은 스코어로부터 순서대로, 그 스코어가 소정의 기준값 이상인지가 판정되어, 소정의 기준값 이상이라고 판정된 경우, 그 스코어를 갖는 제1 또는 제2 응답 후보 데이터가 응답 데이터로서 선택된다.
본 발명은 프로그램, 및 음성 대화 장치 및 방법에 관한 것으로, 특히 자연스럽고 인간적인 대화를 주고 받을 수 있도록 한 프로그램, 및 음성 대화 장치 및 방법에 관한 것이다.
도 1은 본 발명이 적용되는 음성 대화 장치의 하드웨어의 구성예를 도시하는 블록도.
도 2는 도 1의 음성 대화 장치의 소프트웨어 프로그램의 구성예를 도시하는 블록도.
도 3은 도 2의 응답 선택 모듈의 처리를 설명하는 흐름도.
도 4는 도 2의 응답 후보 생성 모듈의 처리를 설명하는 흐름도.
도 5는 도 2의 응답 선택 모듈과 응답 후보 생성 모듈의 처리의 관계를 나타내는 화살표형 차트.
도 6은 도 1의 음성 대화 장치에 입력된 음성 데이터에 대한 도 2의 응답 후보 생성 모듈이 생성하는 응답 후보 데이터의 예를 나타내는 도면.
도 7은 도 1의 음성 대화 장치에 입력된 음성 데이터에 대한 도 2의 응답 후보 생성 모듈이 생성하는 응답 후보 데이터의 다른 예를 나타내는 도면.
〈발명을 실시하기 위한 최량의 형태〉
도 1은 본 발명이 적용되는 음성 대화 장치의 하드웨어의 구성예를 도시하고있다.
이하의 예에서는 음성 대화 장치(1)는 로봇에 실장되는 것으로 한다.
도 1에 도시된 바와 같이 CPU(Central Processing Unit)(11)는 ROM(Read Only Memory)(12)에 기억되어 있는 프로그램, 또는 기억부(18)로부터 RAM(Random Access Memory)(13)에 로드된 프로그램에 따라 각종 처리를 실행한다. RAM(13)에는, 또한 CPU(11)가 각종 처리를 실행하는데 필요한 데이터도 적절하게 기억된다.
CPU(11), ROM(12), 및 RAM(13)은 버스(14)를 통하여 서로 접속되어 있다. 이 버스(14)에는, 또한 입출력 인터페이스(15)도 접속되어 있다.
입출력 인터페이스(15)에는 로봇에 실장되어 있는 각종 센서, 마이크로폰 등으로 이루어지는 입력부(16), 스피커 등으로 이루어지는 출력부(17), 및 하드디스크 등으로 이루어지는 기억부(18)가 접속되어 있다.
입출력 인터페이스(15)에는, 필요에 따라 드라이브(19)가 더 접속되고, 자기 디스크(31), 광 디스크(32), 광 자기 디스크(33), 또는 반도체 메모리(34) 등이 적절하게 장착되어, 이들로부터 판독된 컴퓨터 프로그램이 필요에 따라 기억부(18)에 인스톨된다.
도 2는 음성 대화 장치(1)의 소프트웨어 프로그램의 구성예를 도시하고 있다. 이 소프트웨어 프로그램은 복수의 모듈로 구성된다. 각 모듈은 하나의 독립된 알고리즘을 갖고, 또한 그 알고리즘에 따라 고유의 동작을 실행한다. 즉, 각 모듈은 CPU(11)(도 1)에 의해 적절하게 판독되어, 실행된다.
도 2에 도시된 바와 같이, 입력 모듈(51)은 응답 선택 모듈(52)을 통하여,응답 출력 모듈(53)과 접속되어 있다. 또한, 응답 선택 모듈(52)은 임의의 수(본 예에서는 3개)의 응답 후보 생성 모듈(54a∼54c), 및 내부 상태 기록 모듈(55)에도 접속되어 있다. 또한, 내부 상태 기록 모듈(55)은 입력 모듈(51), 응답 출력 모듈(53), 응답 후보 생성 모듈(54a∼54c), 및 내부 상태 변경 모듈(56)에도 접속되어 있다.
다음으로, 입력 모듈(51) 내지 내부 상태 변경 모듈(56)의 각각의 기능에 대하여 개별적으로 설명한다.
입력 모듈(51)은 입력부(16)(도 1)에 의해 입력된 신호를 데이터로 변환시킨다. 즉, 입력 모듈(51)은 마이크로폰으로부터 음성 신호가 입력된 경우, 음성 신호를 음성 데이터로 변환시키고, 화상 센서로부터 화상 신호가 입력된 경우, 화상 신호를 화상 데이터로 변환시킨다. 또한, 입력 모듈(51)은 센서로부터 센서 입력 신호가 입력된 경우, 센서 입력 신호를 센서 입력 신호로부터 직접 추측되는 의미 부여(예를 들면, 사람의 이름과 위치, 또는 두드려 맞았다는 등의 정보)의 데이터 등으로 변환시킨다.
또한, 입력 모듈(51)은 이들 입력된 신호의 시간적인 정합성도 관리한다. 예를 들면, 음성 신호와 센서 입력 신호가 거의 동시에 입력된 경우, 입력 모듈(51)은 이들을 동시 동작이라고 간주하는 것을 나타내는 데이터를 생성한다.
그리고, 입력 모듈(51)은 상술한 변환시킨 데이터 및 생성한 데이터를, 응답 선택 모듈(52) 및 내부 상태 기록 모듈(55)의 각각에 출력한다.
또, 이하, 상술한 음성 신호로부터 변환된 음성 데이터뿐만 아니라, 입력 모듈(51)로부터 출력되는 데이터를 일괄적으로, 음성 데이터라고 한다.
응답 선택 모듈(52)은 입력 모듈(51)로부터 입력한 음성 데이터에 대한 응답 데이터로서, 후술하는 응답 후보 생성 모듈(54a∼54c)의 각각에 의해 생성된 응답 후보 데이터 중 하나를 선택하여, 응답 출력 모듈(53)에 출력한다.
응답 출력 모듈(53)은 응답 선택 모듈(52)로부터 공급된 응답 데이터를 응답 신호로 변환시키고, 외부에 대하여, 그 응답 신호를 출력부(17)(도 1)에 의해 출력한다. 또, 출력부(17)가 스피커인 경우, 스피커는 입력한 응답 신호를 음성으로 변환시키고, 응답을 음성으로 하여 출력한다.
또한, 응답 출력 모듈(53)은 입력한 응답 데이터를 이력 확보를 위해, 내부 상태 기록 모듈(55)에 출력한다.
응답 후보 생성 모듈(54)(이하, 응답 후보 생성 모듈(54a∼54c)을 각각 구별할 필요가 없는 경우, 간단히 응답 후보 생성 모듈(54)이라고 함)은 응답 선택 모듈(52)로부터 공급된 음성 데이터에 대한 응답 후보 데이터를 다른 데이터와는 독립적으로 생성하고, 그 응답 후보 데이터의 스코어를 연산하며, 생성된 응답 후보 데이터와 연산한 스코어를 응답 선택 모듈(52)에 출력한다.
도 3과 도 4의 흐름도를 참조하여, 응답 선택 모듈(52)과 응답 후보 생성 모듈(54)의 동작에 대하여 보다 상세히 설명한다.
또, 도 5는 응답 선택 모듈(52)과 응답 후보 생성 모듈(54)의 처리의 관계를 나타내는 화살표형 차트이다. 즉, 이하, 처음에 도 3과 도 5를 참조하여, 응답 선택 모듈(52)의 처리를 설명하고, 그 후 도 4와 도 5를 참조하여, 응답 후보 생성모듈(54)의 처리에 대하여 설명하지만, 이들 모듈의 상호 처리의 관계는 도 5의 대응하는 단계를 참조함으로써, 용이하게 이해할 수 있다.
상술한 바와 같이 사용자 등으로부터 음성이 발성된 경우, 입력 모듈(51)은 마이크로폰(입력부(16)(도 1))을 통하여, 그 음성을 신호로 입력하고, 음성 데이터로 변환시킨다. 그리고, 입력 모듈(51)은 변환시킨 음성 데이터를 응답 선택 모듈(52)에 출력한다.
따라서, 도 3의 단계 S71에서, 응답 선택 모듈(52)은 입력 모듈(51)로부터 공급되어 온 음성 데이터를 입력한다.
단계 S72에서, 응답 선택 모듈(52)은 단계 S71의 처리에서 입력한 음성 데이터를 응답 후보 생성 모듈(54a∼54c)에, 각각 출력한다.
출력된 음성 데이터는 후술하는 바와 같이 단계 S91에서, 응답 후보 생성 모듈(54a∼54c) 각각에 의해 입력된다.
응답 후보 생성 모듈(54a∼54c)의 각각은, 응답 선택 모듈(52)로부터 입력한 음성 데이터에 대한 응답 후보 데이터를 다른 데이터와는 독립적으로 생성한다(도 4와 도 5의 단계 S93). 또한, 응답 후보 생성 모듈(54a∼54c)의 각각은 독자적인 판단으로, 생성한 응답 후보 데이터의 스코어를 연산한다(도 4와 도 5의 단계 S94). 또, 여기서는 입력된 음성 데이터나 후술하는 내부 상태 기록 모듈(55)에 기록되어 있는 내부 상태 데이터에 대한, 생성된 응답 후보 데이터의 적절함의 정도가 수치화된 것을 스코어라고 한다. 그리고, 응답 후보 생성 모듈(54a∼54c)의 각각은 입력된 음성 데이터에 대한 응답 후보 데이터, 및 그 스코어를 응답 선택모듈(52)에 출력한다(도 4와 도 5의 단계 S95).
따라서, 단계 S73에서, 응답 선택 모듈(52)은 응답 후보 생성 모듈(54a∼54c) 중 어느 하나로부터 응답 후보 데이터와 그 스코어가 공급되어 오면, 그것을 입력한다.
단계 S74에서, 응답 선택 모듈(52)은 계시 동작을 행하고, 일정 시간이 경과했는지를 판정한다.
단계 S74에서, 일정 시간이 경과하지 않는다고 판정된 경우, 응답 선택 모듈(52)은 그 처리를 단계 S73으로 되돌리고, 다른 응답 후보 생성 모듈(54)로부터 응답 후보 데이터와 그 스코어가 공급되어 오면, 그것을 입력한다.
그리고, 일정 시간이 경과하면(단계 S74에서, 일정 시간이 경과하였다고 판정된 경우), 응답 선택 모듈(52)은 단계 S75에서, 단계 S73의 처리에서 입력한 전체 스코어가 소정의 기준값 이하인지를 판정한다.
단계 S75에서, 전체 스코어가 기준값 이하라고 판정된 경우, 응답 선택 모듈(52)은 단계 S78에서, 미리 기억부(18)(도 1)에 기록되어 있었던 소정의 응답 데이터, 예를 들면 「으응」이라는 메시지의 데이터를 응답 출력 모듈(53)에 출력한다.
본 예에서는 상술한 바와 같이 단계 S78의 처리에서, 응답 선택 모듈(52)이 소정의 응답을 출력하도록 하였지만, 단계 S78의 처리는 생략되어도 된다. 즉, 단계 S75의 처리에서, 전체 스코어가 소정의 기준값 이하라고 판정된 경우, 응답 선택 모듈(52)은 아무것도 출력하지 않는다고 하는 처리를 실행하도록 해도 된다.
이에 대하여, 단계 S75에서, 적어도 하나의 스코어가 기준값보다 크다고 판정된 경우(단계 S75에서, 전체 스코어가 기준값 이하가 아니라고 판정된 경우), 응답 선택 모듈(52)은 단계 S76에서, 단계 S73의 처리에서 입력한 각 응답 후보 데이터의 스코어 중, 단계 S75의 처리에서 기준값보다 크다고 판정한 스코어를 후술하는 내부 상태 기록 모듈(55)에 기록되어 있는 내부 상태 데이터에 기초하여, 재연산한다(모든 스코어를 재연산하도록 해도 된다).
단계 S77에서, 응답 선택 모듈(52)은 단계 S73의 처리에서 입력한 응답 후보 데이터 중, 재연산한 스코어 중에서 최고 스코어를 갖는 응답 후보 데이터를 단계 S71의 처리에서 입력한 음성 데이터에 대한 응답 데이터로서 선택하고, 선택된 응답 데이터를 응답 출력 모듈(53)에 출력한다.
이 응답 데이터는 언어 데이터(예를 들면, 후술하는 도 6의 「무슨 일 있었어요?」, 「그랬군」, 「공포의 강풍」등), 동작 데이터(예를 들면, 후술하는 도 7의 (텔레비전 ON) 등), 또는 언어와 동작의 조합 데이터(예를 들면, 후술하는 도 7의 (텔레비전 ON)와 「예, 텔레비전을 켰습니다」의 조합 등)로 구성된다.
또, 단계 S76의 처리는 생략되어도 된다. 즉, 응답 선택 모듈(52)이 응답 후보 생성 모듈(54a∼54c)의 각각으로부터 출력된 스코어(후술하는 단계 S95의 처리에서 출력된 스코어)를 그대로 이용하여, 응답 데이터를 선택하도록 해도 된다.
또한, 이 음성 대화 장치(1)가 적용되는 장치(예를 들면, 로봇)의 특성에 따라, 응답 후보 생성 모듈(54a∼54c)의 각각에 미리 우선 순위가 설정되어 있는 경우, 응답 선택 모듈(52)은, 다음과 같이 응답 데이터를 선택해도 된다.
즉, 단계 S74의 처리에서 일정 시간이 경과하였다고 판정된 경우, 응답 선택 모듈(52)은 상술한 단계 S75 내지 S78의 처리를 행하지 않고, 최고 우선 순위를 갖는 응답 후보 생성 모듈(54)로부터 출력된 스코어를 대상 스코어로서, 대상 스코어가 소정의 기준값(단계 S75의 처리의 기준값과는 다른 기준값) 이상인지를 판정하여, 대상 스코어가 기준값 이상이라고 판정된 경우, 대상 스코어를 갖는 응답 후보 데이터(현재의 경우, 최고 우선 순위를 갖는 응답 후보 생성 모듈(54)에 의해 생성된 응답 후보 데이터)를 응답 데이터로서 선택하도록 해도 된다. 또, 대상 스코어가 기준값 미만이라고 판정된 경우, 응답 선택 모듈(52)은 다음의 우선 순위를 갖는 응답 후보 생성 모듈(54)로부터 출력된 스코어를 다음의 대상 스코어로서, 그 대상 스코어가 기준값 이상인지를 재차 판정하여, 그 이후 상술한 처리와 마찬가지의 처리를 행함으로써, 응답 데이터를 선택하도록 해도 된다.
다음으로, 도 4와 도 5의 흐름도를 참조하여, 도 3의 응답 선택 모듈(52)의 처리에 대응하여 실행되는 응답 후보 생성 모듈(54a∼54c)의 동작의 상세에 대하여 설명한다. 또, 응답 후보 생성 모듈(54a∼54c)의 각 동작은 기본적으로 마찬가지이므로, 이하에서는 응답 후보 생성 모듈(54c)을 예로 들어 설명한다.
상술한 바와 같이 도 3과 도 5의 단계 S72의 처리에서, 응답 선택 모듈(52)은 입력한 음성 데이터를 응답 후보 생성 모듈(54c)에 출력한다.
따라서, 단계 S91에서, 응답 후보 생성 모듈(54c)은 응답 선택 모듈(52)로부터 공급되어 온 음성 데이터를 입력한다.
단계 S92에서, 응답 후보 생성 모듈(54c)은 후술하는 내부 상태 기록모듈(55)에 기록된 내부 상태 데이터에 기초하여, 단계 S91의 처리에서 입력한 음성 데이터에 대한 응답 후보 데이터를 생성 가능한지를 판정한다.
단계 S92에서, 응답 후보 데이터의 생성이 불가능하다고 판정된 경우, 응답 후보 생성 모듈(54c)은 그 처리를 종료한다. 즉, 응답 후보 생성 모듈(54c)은 응답 선택 모듈(52)에 아무것도 출력하지 않는다.
이에 대하여, 단계 S92에서, 응답 후보 데이터의 생성이 가능하다고 판정된 경우, 응답 후보 생성 모듈(54c)은 단계 S93에서, 내부 상태 기록 모듈(55)에 기록된 내부 상태 데이터(그 상세는 후술함)에 기초하여, 단계 S91의 처리에서 입력한 음성 데이터에 대한 응답 후보 데이터를 생성한다.
예를 들면, 단계 S91의 처리에서, 도 6에 도시되는 「오늘은 정말 대단했어」 또는 「뭐라고」의 음성 데이터가 응답 후보 생성 모듈(54c)에 입력된 것으로 한다. 이 경우, 응답 후보 생성 모듈(54c)은 단계 S92의 처리에서, 죠크문 데이터(응답 후보 데이터)의 생성은 불가능하다고 판정하여, 아무것도 출력하지 않는다.
이에 대하여, 예를 들면 단계 S91의 처리에서, 도 6에 도시되는 「강풍이었어」의 음성 데이터가 응답 후보 생성 모듈(54c)에 입력된 것으로 한다. 이 경우, 응답 후보 생성 모듈(54c)은 단계 S92의 처리에서, 죠크문 데이터(응답 후보 데이터)의 생성은 가능하다고 판정하여, 단계 S93의 처리에서, 예를 들면 「공포의 강풍」이라는 죠크문 데이터(응답 후보 데이터)를 생성한다.
마찬가지로, 예를 들면 단계 S91의 처리에서, 도 6에 도시되는 「말리던 이불이 바람에 날아갔어」의 음성 데이터가 입력된 경우, 응답 후보 생성 모듈(54c)은 단계 S92의 처리에서, 죠크문 데이터(응답 후보 데이터)의 생성은 가능하다고 판정하여, 단계 S93의 처리에서, 예를 들면 「이불이 날아갔군」이라는 죠크문 데이터(응답 후보 데이터)를 생성한다.
그리고, 단계 S94에서, 응답 후보 생성 모듈(54c)은 후술하는 내부 상태 기록 모듈(55)에 기록되어 있는 내부 상태 데이터에 기초하여, 단계 S93의 처리에서 생성된 응답 후보 데이터에 대한 스코어를 연산한다.
예를 들면, 내부 상태 기록 모듈(55)에 기록된 죠크의 응답 이력의 데이터, 및 응답 후보 생성 모듈(54c) 자신이 갖고 있는 죠크의 재미 정도를 판정하는 판정 기준 등에 기초하여, 스코어가 산출된다.
본 예에서는, 예를 들면 「강풍이었어」에 대응하는 「공포의 강풍」이라는 죠크의 점수, 및 「말리던 이불이 바람에 날아갔어」에 대응하는 「이불이 날아갔군」이라는 죠크의 점수의 각각은, 그 재미 정도로부터 산출되며, 어느 것이나 「50」점으로 판정된 것으로 한다. 또한, 이 죠크의 점수가 스코어의 기준점으로 되고, 2회째 대화까지 죠크의 응답이 출력되지 않는 경우, 가산점 「40」점이 죠크의 점수, 즉 스코어의 기준점에 가산되는 것으로 한다.
즉, 본 예에서는 가산점 「40」점이 가산되지 않는 경우, 죠크의 점수 그 자체가 스코어가 된다. 이에 대하여, 가산점 「40」점이 가산되는 경우, 죠크의 점수에 「40」점이 가산된 점수가 스코어가 된다.
이 경우, 도 6의 예에서는 「공포의 강풍」은 2회째 대화의 응답 후보 데이터이이므로, 「40」점은 가산되지 않고, 스코어는 기준점 「50」점의 상태로 되어 있다.
이에 대하여, 「이불이 날아갔군」은 3회째의 대화임에도 불구하고, 아직 죠크의 응답이 출력되어 있지 않기 때문에 「40」점이 가산되어, 스코어는 「90」점으로 되어 있다.
도 4로 되돌아가 단계 S95에서, 응답 후보 생성 모듈(54c)은 단계 S93의 처리에서 생성된 응답 후보 데이터와, 단계 S94의 처리에서 산출된 스코어를 응답 선택 모듈(52)에 출력한다.
이와 같이 응답 후보 생성 모듈(54c)은 다른 응답 후보 생성 모듈(54a, 54b)과의 관련은 판단하지 않고, 본 예에서는 「죠크문을 생성한다」라는 자기 자신에게 고유 기준(룰)에 기초하여, 응답 후보 데이터를 생성한다.
이것은 응답 후보 생성 모듈(54a, 54b)에서도 마찬가지고, 본 예에서는, 예를 들면 각각은 「잡담」, 또는 「명령 해석 실행」이라는 독자적인 룰에 기초하여, 응답 후보 데이터를 생성한다.
따라서, 응답 후보 생성 모듈(54a∼54c)의 각각은 대화에서 일어날 수 있는 모든 상태를 고려할 필요가 없이, 하나의 상태만을 고려하면 된다.
그리고, 상술한 바와 같이 응답 선택 모듈(52)이, 이러한 응답 후보 생성 모듈(54a∼54c)의 각각에 의해 생성된 복수의 각 응답 후보 데이터 중에서, 그 대화의 상황에 적합한 응답 후보 데이터를 최종적으로 로봇이 응답하기 위한 응답 데이터로서 선택한다.
또, 로봇(음성 대화 장치(1))에, 보다 고도의 대화(보다 자연스럽고 인간적인 대화)를 주고 받게 하고자 하는 경우, 응답 후보 생성 모듈(54a∼54c)의 각각의 룰과는 다른 룰을 갖는 응답 후보 생성 모듈을 음성 대화 장치(1)에 더 추가시키면 된다.
도 6과 도 7은 이상과 같이 하여, 응답 선택 모듈(52)이 각각의 응답 후보 선택 모듈(54a∼54c)에 음성 데이터를 공급한 경우, 각각의 응답 후보 선택 모듈(54a∼54c)이 생성하는 응답 후보 데이터의 구체적인 예를 나타내고 있다.
도 6과 도 7에서, 그 1열째는 사용자로부터의 음성 입력예가 도시되어 있다. 도 6과 도 7의 2열째는 응답 후보 생성 모듈(54a)로부터의 출력예, 즉 응답 후보 생성 모듈(54a)이 음성 입력에 대하여 출력한 응답 후보 데이터와 그 스코어의 예가 도시되어 있다. 마찬가지로, 도 6과 도 7의 3열째는 응답 후보 생성 모듈(54b)로부터의 출력예, 4열째는 응답 후보 생성 모듈(54c)로부터의 출력예가 각각 나타나 있다.
또, 이들 예에서는 도 3과 도 5의 단계 S76의 처리, 즉 스코어가 재연산되는 처리는 생략되어 있다.
또한, 상술한 바와 같이 각각의 응답 후보 생성 모듈(54a∼54c)은 각자 독립된 룰에 따라 응답 어구를 생성하고, 그 응답 어구를 응답 후보 데이터로서 출력한다. 이들 예에서는 응답 후보 생성 모듈(54a)로부터는 잡담 어구가 응답 후보 데이터로서 출력되고, 마찬가지로 응답 후보 생성 모듈(54b)로부터는 명령을 해석하여 실행하기 위한 명령 해석 실행 어구가 응답 후보 데이터로서 출력되고, 또한 응답 후보 생성 모듈(54c)로부터는 죠크의 어구가 응답 후보 데이터로서 출력된다.
예를 들면, 지금 도 6에 도시된 바와 같이 사용자가 「오늘은 정말 대단했어」라고 음성 대화 장치(1)(도 1)에 대하여 발성한 것으로 한다.
이 때, 음성 대화 장치(1)는 「오늘은 정말 대단했어」의 음성을 마이크로폰(입력부(16)(도 1)) 등을 통하여 입력하고, 상술한 바와 같이(도 2에 도시된 바와 같이), 입력 모듈(51)을 통하여 음성 데이터로서 응답 선택 모듈(52)에 입력시킨다. 그리고, 응답 선택 모듈(52)은 응답 출력 모듈(54a∼54c)의 각각에, 입력한 음성 데이터를 출력한다.
각각의 응답 후보 생성 모듈(54a∼54c)은, 입력한 「오늘은 정말 대단했어」의 음성 데이터에 대한 응답 후보 데이터를 생성한다.
도 6에 도시된 바와 같이, 응답 후보 생성 모듈(54a)은 「무슨 일 있었어요?」라는 응답 후보 데이터를 생성하여, 그 응답 후보 데이터에 대한 스코어를 「70」점이라고 산출하고, 응답 선택 모듈(52)에 출력한다. 또, 본 예에서는 그 밖의 응답 후보 생성 모듈(54b, 54c)은 「오늘은 정말 대단했어」에 대한 응답 후보 데이터를 생성하지 않는다.
즉, 현재의 경우, 응답 선택 모듈(52)에 입력되는 응답 후보 데이터는 「무슨 일 있었어요?」뿐이고, 이 「무슨 일 있었어요?」가 「오늘은 정말 대단했어」라는 사용자의 음성에 대한 응답 데이터로서 선택된다.
이 응답 데이터는 응답 선택 모듈(52)로부터 출력되고, 응답 출력 모듈(53)을 통하여 음성 대화 장치(1)의 외부로 출력된다. 즉, 음성 대화 장치(1)는 스피커(출력부(17)(도 1)) 등을 통하여 「무슨 일 있었어요?」라는 음성을 「오늘은 정말 대단했어」라는 사용자의 음성에 대한 응답으로서 출력한다.
「무슨 일 있었어요?」라는 음성 대화 장치의 응답에 대하여, 도 6에 도시된 바와 같이 사용자가 「강풍이었어」라고 발성한 것으로 한다.
이 경우, 마찬가지로 「강풍이었어」의 음성 데이터에 대한 응답 후보 데이터와 그 스코어가 응답 후보 생성 모듈(54a∼54c)의 각각으로부터, 응답 선택 모듈(52)에 입력된다. 도 6에 도시되는 예에서는, 응답 후보 생성 모듈(54a)로부터는 응답 후보 데이터로서 「그렇군요」가, 스코어의 「80」과 함께 입력된다. 또한, 응답 후보 생성 모듈(54c)로부터는 응답 후보 데이터로서 「공포의 강풍」과, 스코어의 「50」이 입력된다. 응답 후보 생성 모듈(54b)로부터는 아무것도 입력되지 않는다.
이번은 2개의 응답 후보 데이터가 응답 선택 모듈(52)에 입력되었기 때문에, 응답 선택 모듈(52)은 입력된 2개의 스코어에 기초하여, 입력된 2개의 응답 후보 데이터 중 어느 한쪽을 「강풍이었어」라는 사용자의 음성에 대한 응답 데이터로서 선택한다.
즉, 「그렇군요」의 스코어는 「80」점이고, 「공포의 강풍」의 스코어는 「50」점이므로, 스코어의 득점이 높은 「그렇군요」가 응답 데이터로서 선택되어, 출력된다.
마찬가지로, 사용자의 「말리던 이불이 바람에 날아갔어」라는 발성에 대해서는 「이불이 날아갔군」이라는 응답 후보 생성 모듈(54c)이 생성한 응답 후보 데이터가 응답 후보 생성 모듈(54a)이 생성한 「날아갔어」의 스코어 「70」점보다 높은 스코어 「90」점이므로, 응답 데이터로서 선택되어, 출력된다.
또한, 사용자의 「뭐라고」라는 발성에 대해서는 「죄송합니다」라는 응답 후보 생성 모듈(54a)이 생성한 응답 후보 데이터만이, 응답 선택 모듈(52)에 입력되므로, 「죄송합니다」가 응답 데이터로서 선택되어, 출력된다.
다음으로, 도 7에 도시된 바와 같이 사용자가 「텔레비전 보고싶어」라고 로봇에게 발성하였다고 한다.
이 경우, 도 7에 도시된 바와 같이 「으응」이라는 응답 후보 생성 모듈(54a)이 생성한 응답 후보 데이터만이, 응답 선택 모듈(52)에 입력되므로, 「으응」이 「텔레비전 보고싶어」라는 사용자의 발성에 대한 응답 데이터로서 선택되어, 출력된다.
그 후, 사용자가 「텔레비전 켜」라고 발성한 것으로 한다.
이 경우, 최고의 스코어 「100」점을 갖는 「(텔레비전 ON) 예, 텔레비전 켰습니다」라는 응답 후보 생성 모듈(54b)이 생성한 응답 후보 데이터가, 「텔레비젼 켜」라는 사용자의 발성에 대한 응답 데이터로서 선택되어, 출력된다. 또, 여기서는 (텔레비전 ON)이라는 것은, 「로봇에게 텔레비전의 전원 스위치를 누르게 한다」는 동작 실행 명령의 데이터를 나타내고 있다. 즉, 현재의 경우, 로봇은 「텔레비전 켜」라는 사용자의 발성에 대하여, 텔레비전의 전원 스위치를 누른 후, 「예, 텔레비전을 켰습니다」라고 응답한다.
또한, 사용자의 「하하하, 재밌군」이라는 발성에 대해서는 「(그렇군요, 하하하」라는 응답 후보 생성 모듈(54a)이 생성된 응답 후보 데이터가 응답 후보 생성 모듈(54c)이 생성한 「머리가 하얀 개는 꼬리도 하얗다니」의 스코어 「50」점보다 높은 스코어 「70」점이므로, 응답 데이터로서 선택되어, 출력된다.
상술한 사용자의 발성 및 로봇의 응답을 순서대로 배열하면, 다음과 같다.
도 6의 예
사용자 「오늘은 정말 대단했어」
로봇 「무슨 일 있었어요?」
사용자 「강풍이었어」
로봇 「그렇군요」
사용자 「말리던 이불이 바람에 날아갔어」
로봇 「이불이 날아갔군!!」
사용자 「뭐라고」
로봇 「죄송합니다」
도 7의 예
사용자 「텔레비전 보고싶어」
로봇 「으응」
사용자 「텔레비전 켜」
로봇 「(텔레비전 ON) 예, 텔레비전 켰습니다」
사용자 「하하하, 재밌군」
로봇 「그렇군요, 하하하」
이와 같이 사용자가 발성한 음성에 대하여, 적절한 응답 데이터가 응답 선택 모듈(52)에 의해 선택되어, 음성 대화 장치(1)를 실장한 로봇으로부터 응답으로서 출력되므로, 그 로봇은 사용자와 자연스럽고 인간적인 대화를 주고 받을 수 있다.
도 6과 도 7의 예는 단계 S76의 처리, 즉 스코어를 재연산하는 처리가 생략된 예이지만, 단계 S76의 처리를 생략하지 않고, 후술하는 내부 상태 기록 모듈(55)에 기록된 내부 상태 데이터를 참조하여, 각 응답 후보 데이터의 스코어를 재연산한 경우, 응답 선택 모듈(52)은 또한 대화의 상황이나 로봇의 내부 상태에 적합한 응답 데이터를 선택할 수 있다.
예를 들면, 응답 선택 모듈(52)은 도 7의 4행째에 나타내는 「하하하, 재밌군」에 대한 응답 데이터의 선택 중에, 내부 상태 데이터를 참조하여, 잡담보다 죠크의 응답이 대화에 적합하다고 판단한 것으로 한다.
이 경우, 응답 선택 모듈(52)은 죠크의 응답 후보 데이터의 스코어가 높아지도록, 각 스코어를 재연산한다. 예를 들면, 지금 죠크의 응답 후보 데이터의 스코어에 「25」점이 가산되어, 재연산된 것으로 한다.
이와 같이 재연산된 경우, 응답 후보 생성 모듈(54c)의 죠크의 응답 데이터, 즉 「머리가 하얀 개는 꼬리도 하얗다니」의 스코어는 「75」점이 된다. 따라서, 「하하하, 재밌군」에 대한 응답 데이터로서, 최고의 스코어 「75」점을 갖는 「머리가 하얀 개는 꼬리도 하얗다니」가 선택된다.
이에 대하여, 도시하지 않지만, 로봇에 위험이 닥치고 있음을 알리는 심각한 대화를 주고 받고 있었던 것으로 한다. 또한, 응답 후보 생성 모듈(54c)에서, 응답 후보 데이터로서 죠크문이 생성되고, 그 스코어가 높은 값으로 연산되어, 응답 선택 모듈(52)에 대하여, 이 죠크문의 데이터와 그 스코어가 출력된 것으로 한다. 이 경우, 응답 선택 모듈(52)은 내부 상태 데이터를 참조하여, 심각한 대화 중에 있다고 판정하여, 그 죠크문의 스코어의 값을 내리도록, 각 스코어를 재연산한다. 이에 의해, 심각한 대화 중에, 로봇이 죠크문을 응답하는 등의 부자연스러운 상황을 억제시킬 수 있다.
또한, 로봇의 기분이 대단히 나쁜 상태인 경우, 로봇은 「텔레비전 켜」라는 명령을 거부하거나, 또는 무시하기도 하는 응답을 할 수도 있다. 이것은 응답 선택 모듈(52)이 후술하는 「감정」의 내부 상태 데이터를 참조하여, 각 스코어를 재연산함으로써 용이하게 실현할 수 있다.
또, 상술한 예에는 스코어의 점수가 단순하게 비교되어, 응답 데이터가 선택되어 있지만, 스코어에 기초한 선택이면, 그 선택의 방법은 한정되지 않는다.
도 2로 되돌아가, 내부 상태 기록 모듈(55)은 복수의 내부 상태 데이터가 기록된 데이터베이스를 구성한다.
내부 상태 기록 모듈(55)에 기록된 내부 상태 데이터는, 상술한 바와 같이 응답 선택 모듈(52)이 스코어를 재연산하는 경우, 참조된다(도 3과 도 5의 단계 S76).
또한, 내부 상태 기록 모듈(55)에 기록된 내부 상태 데이터는 상술한 바와 같이 각각의 응답 후보 생성 모듈(54a∼54c)이 응답 후보 데이터를 생성하는 것이 가능한지를 판정할 때, 응답 후보 데이터를 생성할 때, 또는 스코어를 연산할 때,참조된다(도 4와 도 5의 단계 S93 내지 S95).
이 때문에, 내부 상태 데이터는, 예를 들면 다음과 같은 정보의 데이터로 구성된다.
(1) 로봇의 본능에 관한 정보
예를 들면, 「식욕」, 「수면욕」, 또는 「다른자와의 접촉 요구」 등의 정도
(2) 로봇의 감정에 관한 정보
예를 들면, 「분노」, 「슬픔」, 또는 「행복」 등의 정도
(3) 로봇의 성격에 관한 정보
예를 들면, 「화내기 쉬움」, 또는 「온화함」 등의 정도
(4) 지금까지의 대화의 이력에 관한 정보
예를 들면, 「입력 모듈(51)에 입력된 음성 데이터의 이력」, 「응답 출력 모듈(53)로부터 출력된 응답 데이터의 이력」, 또는 「응답 데이터로서 선택된 것은 어떤 응답 후보 생성 모듈(54)로부터 출력된 응답 후보 데이터일까의 이력」 등의 정보
내부 상태 변경 모듈(56)은 내부 상태 기록 모듈(55)에 기록되어 있는 내부 상태 데이터를 항상 감시하여, 임의의 내부 상태 데이터가 갱신되었을 때, 또는 시간의 진행에 따라, 소정의 내부 상태 데이터를 변경한다.
예를 들면, 내부 상태 변경 모듈(56)은 「입력된 음성 데이터에 실례인 내용이 포함되어 있는 경우, 상술한 「분노」의 감정의 정도 높게 한다」, 또는 「시각이 진행됨으로써, 상술한 「수면욕」의 정도를 강도 높게 한다」 등의 변화를 일으키게 한다.
상술한 각 모듈에 소정의 기능을 실행시키는 경우에는 그 소프트웨어를 구성하는 프로그램은 네트워크나 기록 매체로부터 인스톨된다.
이 기록 매체는 도 1에 도시된 바와 같이 장치 본체와는 별도로, 사용자에게 프로그램을 제공하기 위해서 배포되는 프로그램이 기록되어 있는 자기 디스크(31)(플로피 디스크를 포함함), 광 디스크(32)(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함함), 광 자기 디스크(33)(MD(Mini-Disk)를 포함함), 또는 반도체 메모리(34) 등으로 이루어지는 패키지 미디어로 구성될뿐만 아니라, 장치 본체에 미리 조립된 상태에서 사용자에게 제공되는 프로그램이 기록되어 있는 ROM(12)이나, 기억부(18)에 포함되는 하드디스크 등으로 구성된다.
또, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 단계는 기재된 순서를 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
또한, 각 모듈은 그 기능을 하는 것이면, 그 형태는 한정되지 않는다. 즉, 하드웨어 등으로 모듈을 구성해도 된다.
이상과 같이, 본 발명의 제1 프로그램, 및 제1 음성 대화 장치 및 방법에 따르면, 입력된 음성 데이터에 대한 제1과 제2 응답 후보 데이터를 서로 독립된 룰로 생성하고, 각각의 스코어에 기초하여, 응답 데이터를 선택하도록 하였기 때문에,사용자와 자연스럽고 인간적인 대화를 주고 받을 수 있다.
또한, 본 발명의 제2 프로그램, 및 제2 음성 대화 장치 및 방법에 따르면, 입력된 음성 데이터에 대한 제1과 제2 응답 후보 데이터를 서로 독립된 룰로 생성하고, 제1과 제2 응답 후보 데이터의 우선 순위 및 각각의 스코어에 기초하여, 응답 데이터를 선택하도록 하였기 때문에, 사용자와 자연스럽고 인간적인 대화를 주고 받을 수 있게 된다.

Claims (13)

  1. 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와,
    상기 제1 응답 후보 생성 단계의 처리에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 단계의 처리에 의해 연산된 상기 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 상기 제1 응답 후보 생성 단계의 처리에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 단계의 처리에 의해 생성된 상기 제2 응답 후보 데이터 중 어느 한쪽을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계를 컴퓨터에 실행시키는 프로그램.
  2. 제1항에 있어서,
    상기 제1 및 상기 제2 응답 후보 생성 단계의 각각은, 미리 기록되어 있는 내부 상태 데이터에 기초하여, 상기 제1 또는 상기 제2 응답 후보 데이터를 생성함과 함께, 상기 제1 또는 상기 제2 스코어를 연산하고,
    상기 응답 선택 단계는, 또한 상기 내부 상태 데이터에 기초하여, 상기 응답데이터를 선택하는 것을 특징으로 하는 프로그램.
  3. 제2항에 있어서,
    상기 응답 선택 단계는, 또한 상기 내부 상태 데이터에 기초하여, 상기 제1 또는 상기 제2 스코어를 재연산하는 것을 특징으로 하는 프로그램.
  4. 제2항에 있어서,
    입력된 상기 음성 데이터, 및 상기 응답 선택 단계의 처리에 의해 선택된 상기 응답 데이터를 상기 내부 상태 데이터로서 기록하는 기록 단계를 더 컴퓨터에 실행시키는 프로그램.
  5. 제4항에 있어서,
    이미 기록되어 있는 상기 내부 상태 데이터를 감시하고, 상기 기록 단계의 처리에 의해 상기 음성 데이터, 또는 상기 응답 데이터가, 새로운 상기 내부 상태 데이터의 하나로서 기록되었을 때, 또는 시간의 진행에 따라, 이미 기록되어 있는 상기 내부 상태 데이터 중 소정의 데이터를 변경하는 내부 상태 데이터 변경 단계를 또한 컴퓨터에 실행시키는 프로그램.
  6. 제1항에 있어서,
    상기 응답 선택 단계는, 또한 상기 제1 및 상기 제2 스코어 중 어느 한쪽이소정의 기준값 이하인 경우, 미리 설정되어 있는 응답 데이터를 선택하는 것을 특징으로 하는 프로그램.
  7. 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와,
    상기 제1 응답 후보 생성 단계의 처리에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 단계의 처리에 의해 연산된 상기 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 상기 제1 응답 후보 생성 단계의 처리에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 단계의 처리에 의해 생성된 상기 제2 응답 후보 데이터 중 어느 한쪽을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계
    를 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  8. 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답후보 생성 수단과,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 수단과,
    상기 제1 응답 후보 생성 수단에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 수단에 의해 연산된 상기 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 상기 제1 응답 후보 생성 수단에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 수단에 의해 생성된 상기 제2 응답 후보 데이터 중 어느 한쪽을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 수단
    을 포함하는 것을 특징으로 하는 음성 대화 장치.
  9. 음성 대화 장치의 음성 대화 방법에 있어서,
    입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와,
    상기 제1 응답 후보 생성 단계의 처리에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 단계의 처리에 의해 연산된 상기 제2 스코어를 비교하고, 그 비교 결과에 기초하여, 상기 제1 응답 후보 생성 단계의 처리에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 단계의 처리에 의해 생성된 상기 제2 응답 후보 데이터 중 어느 한쪽을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계
    를 포함하는 것을 특징으로 하는 음성 대화 방법.
  10. 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와,
    상기 제1 및 상기 제2 응답 후보 생성 단계 중, 우선 순위가 높은 쪽부터 순서대로, 상기 제1 응답 후보 생성 단계의 처리에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 단계의 처리에 의해 연산된 상기 제2 스코어 중, 대상이 되는 스코어가, 소정의 기준값 이상인지를 판정하여, 대상이 되는 상기 스코어가 상기 기준값 이상이라고 판정된 경우, 상기 제1 응답 후보 생성 단계의 처리에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 단계의 처리에 의해 생성된 상기 제2 응답 후보 데이터 중, 대상이 되는 상기 스코어를 갖는 것을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계
    를 컴퓨터에 실행시키는 프로그램.
  11. 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와,
    상기 제1 및 상기 제2 응답 후보 생성 단계 중, 우선 순위가 높은 쪽부터 순서대로, 상기 제1 응답 후보 생성 단계의 처리에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 단계의 처리에 의해 연산된 상기 제2 스코어 중, 대상이 되는 스코어가, 소정의 기준값 이상인지를 판정하여, 대상이 되는 상기 스코어가 상기 기준값 이상이라고 판정된 경우, 상기 제1 응답 후보 생성 단계의 처리에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 단계의 처리에 의해 생성된 상기 제2 응답 후보 데이터 중, 대상이 되는 상기 스코어를 갖는 것을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계
    를 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  12. 입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 수단과,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 수단과,
    상기 제1 및 상기 제2 응답 후보 생성 수단 중, 우선 순위가 높은 쪽부터 순서대로, 상기 제1 응답 후보 생성 수단에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 수단에 의해 연산된 상기 제2 스코어 중, 대상이 되는 스코어가 소정의 기준값 이상인지를 판정하여, 대상이 되는 상기 스코어가 상기 기준값 이상이라고 판정된 경우, 상기 제1 응답 후보 생성 수단에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 수단에 의해 생성된 상기 제2 응답 후보 데이터 중, 대상이 되는 상기 스코어를 갖는 것을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 수단
    을 포함하는 것을 특징으로 하는 음성 대화 장치.
  13. 음성 대화 장치의 음성 대화 방법에 있어서,
    입력된 음성 데이터에 대한 제1 응답 후보 데이터를 제1 룰에 기초하여 생성함과 함께, 생성된 상기 제1 응답 후보 데이터의 제1 스코어를 연산하는 제1 응답 후보 생성 단계와,
    입력된 상기 음성 데이터에 대한 제2 응답 후보 데이터를 상기 제1 룰과는 독립된 제2 룰에 기초하여 생성함과 함께, 생성된 상기 제2 응답 후보 데이터의 제2 스코어를 연산하는 제2 응답 후보 생성 단계와,
    상기 제1 및 상기 제2 응답 후보 생성 단계 중, 우선 순위가 높은 쪽부터 순서대로, 상기 제1 응답 후보 생성 단계의 처리에 의해 연산된 상기 제1 스코어와, 상기 제2 응답 후보 생성 단계의 처리에 의해 연산된 상기 제2 스코어 중, 대상이 되는 스코어가 소정의 기준값 이상인지를 판정하여, 대상이 되는 상기 스코어가 상기 기준값 이상이라고 판정된 경우, 상기 제1 응답 후보 생성 단계의 처리에 의해 생성된 상기 제1 응답 후보 데이터와, 상기 제2 응답 후보 생성 단계의 처리에 의해 생성된 상기 제2 응답 후보 데이터 중, 대상이 되는 상기 스코어를 갖는 것을, 입력된 상기 음성 데이터에 대한 응답 데이터로서 선택하는 응답 선택 단계
    를 포함하는 것을 특징으로 하는 음성 대화 방법.
KR10-2003-7004359A 2001-07-27 2002-07-26 프로그램, 및 음성 대화 장치 및 방법 KR20040028631A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00227702 2001-07-27
JP2001227702A JP2003044088A (ja) 2001-07-27 2001-07-27 プログラム、記録媒体、並びに音声対話装置および方法
PCT/JP2002/007612 WO2003010756A1 (fr) 2001-07-27 2002-07-26 Programme, appareil et procede d'interaction vocale

Publications (1)

Publication Number Publication Date
KR20040028631A true KR20040028631A (ko) 2004-04-03

Family

ID=19060326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7004359A KR20040028631A (ko) 2001-07-27 2002-07-26 프로그램, 및 음성 대화 장치 및 방법

Country Status (6)

Country Link
US (1) US7349850B2 (ko)
EP (1) EP1343144A1 (ko)
JP (1) JP2003044088A (ko)
KR (1) KR20040028631A (ko)
CN (1) CN1213401C (ko)
WO (1) WO2003010756A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005064592A1 (ja) * 2003-12-26 2007-12-20 株式会社ケンウッド 機器制御装置、音声認識装置、エージェント装置、車載機器制御装置、ナビゲーション装置、オーディオ装置、機器制御方法、音声認識方法、エージェント処理方法、車載機器制御方法、ナビゲーション方法、オーディオ装置制御方法及びプログラム
JP4508757B2 (ja) * 2004-07-16 2010-07-21 富士通株式会社 応答生成プログラム、応答生成方法、および応答生成装置
CN100452710C (zh) * 2004-09-29 2009-01-14 上海赢思软件技术有限公司 一种短信机器人***
DE102005001351A1 (de) * 2005-01-11 2006-07-20 Teles Ag Informationstechnologien Verfahren zur Übertragung von Daten an mindestens ein Kommunikations-Endsystem und Kommunikations-Einrichtung zur Durchführung des Verfahrens
JP4682322B2 (ja) * 2005-03-23 2011-05-11 国立大学法人九州工業大学 対話情報処理装置及び対話情報処理方法
JP4298672B2 (ja) * 2005-04-11 2009-07-22 キヤノン株式会社 混合分布hmmの状態の出力確率計算方法および装置
US20060279530A1 (en) * 2005-05-25 2006-12-14 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Physical interaction-sensitive user interface
US20060279531A1 (en) * 2005-05-25 2006-12-14 Jung Edward K Physical interaction-responsive user interface
US8577682B2 (en) * 2005-10-27 2013-11-05 Nuance Communications, Inc. System and method to use text-to-speech to prompt whether text-to-speech output should be added during installation of a program on a computer system normally controlled through a user interactive display
CN1852372B (zh) * 2006-05-31 2011-09-28 张燕春 声讯服务器
US8027835B2 (en) * 2007-07-11 2011-09-27 Canon Kabushiki Kaisha Speech processing apparatus having a speech synthesis unit that performs speech synthesis while selectively changing recorded-speech-playback and text-to-speech and method
TWI512693B (zh) * 2008-03-06 2015-12-11 Univ Nat Kaohsiung 1St Univ Sc 互動式會話學習系統
US8798522B2 (en) * 2008-04-28 2014-08-05 Nexlearn, Llc Simulation authoring tool
US9123340B2 (en) * 2013-03-01 2015-09-01 Google Inc. Detecting the end of a user question
FR3011375B1 (fr) 2013-10-01 2017-01-27 Aldebaran Robotics Procede de dialogue entre une machine, telle qu'un robot humanoide, et un interlocuteur humain, produit programme d'ordinateur et robot humanoide pour la mise en œuvre d'un tel procede
US9514748B2 (en) * 2014-01-15 2016-12-06 Microsoft Technology Licensing, Llc Digital personal assistant interaction with impersonations and rich multimedia in responses
EP2933071A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Methods and systems for managing dialogs of a robot
CN105516520B (zh) * 2016-02-04 2018-09-18 平安科技(深圳)有限公司 一种互动式语音应答装置
JP6651973B2 (ja) * 2016-05-09 2020-02-19 富士通株式会社 対話処理プログラム、対話処理方法および情報処理装置
JP6647636B2 (ja) * 2016-05-20 2020-02-14 日本電信電話株式会社 対話方法、対話システム、対話装置、及びプログラム
JP6747318B2 (ja) * 2017-02-01 2020-08-26 トヨタ自動車株式会社 対話装置
US10860628B2 (en) 2017-02-16 2020-12-08 Google Llc Streaming real-time dialog management
JP6775465B2 (ja) * 2017-04-21 2020-10-28 日本電信電話株式会社 対話ルール照合装置、対話装置、対話ルール照合方法、対話方法、対話ルール照合プログラム、及び対話プログラム
US10789536B2 (en) 2017-08-08 2020-09-29 International Business Machines Corporation Using Trie structures to efficiently identify similarities among topical subjects
CN110674270B (zh) * 2017-08-28 2022-01-28 大国创新智能科技(东莞)有限公司 基于人工智能的幽默生成与情感交互方法及机器人***
US11469974B1 (en) * 2017-09-25 2022-10-11 Splunk Inc. Analytics for edge devices to intelligently throttle data reporting
US10878817B2 (en) * 2018-02-24 2020-12-29 Twenty Lane Media, LLC Systems and methods for generating comedy
US10642939B2 (en) * 2018-02-24 2020-05-05 Twenty Lane Media, LLC Systems and methods for generating jokes
US11080485B2 (en) 2018-02-24 2021-08-03 Twenty Lane Media, LLC Systems and methods for generating and recognizing jokes
KR102506361B1 (ko) * 2018-05-03 2023-03-06 구글 엘엘씨 오디오 쿼리들의 오버랩핑 프로세싱의 조정
CN111048075A (zh) * 2018-10-11 2020-04-21 上海智臻智能网络科技股份有限公司 智能客服***及智能客服机器人
WO2020136733A1 (ja) 2018-12-25 2020-07-02 富士通株式会社 対話装置、対話方法及び対話プログラム
US10938634B1 (en) 2019-01-31 2021-03-02 Splunk Inc. System and method for centralized analytics for edge devices with enrichment pushdown
WO2021059771A1 (ja) * 2019-09-25 2021-04-01 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0543329B1 (en) * 1991-11-18 2002-02-06 Kabushiki Kaisha Toshiba Speech dialogue system for facilitating human-computer interaction
JP3454897B2 (ja) * 1994-01-31 2003-10-06 株式会社日立製作所 音声対話システム
US6122613A (en) * 1997-01-30 2000-09-19 Dragon Systems, Inc. Speech recognition using multiple recognizers (selectively) applied to the same input sample
JP3472194B2 (ja) 1999-05-25 2003-12-02 日本電信電話株式会社 自動応答方法及びその装置並びにそのプログラムを記録した媒体

Also Published As

Publication number Publication date
WO2003010756A1 (fr) 2003-02-06
US20040015344A1 (en) 2004-01-22
CN1473324A (zh) 2004-02-04
CN1213401C (zh) 2005-08-03
EP1343144A1 (en) 2003-09-10
JP2003044088A (ja) 2003-02-14
US7349850B2 (en) 2008-03-25

Similar Documents

Publication Publication Date Title
KR20040028631A (ko) 프로그램, 및 음성 대화 장치 및 방법
JP6601069B2 (ja) 対話制御装置、対話制御方法及びプログラム
JP2017049471A (ja) 対話制御装置、対話制御方法及びプログラム
JP6818280B2 (ja) 対話システム、対話方法、対話装置、およびプログラム
US7065490B1 (en) Voice processing method based on the emotion and instinct states of a robot
US20100049513A1 (en) Automatic conversation system and conversation scenario editing device
JP4729902B2 (ja) 音声対話システム
JP2007219149A (ja) 応答生成装置、方法及びプログラム
JP6970413B2 (ja) 対話方法、対話システム、対話装置、およびプログラム
JP2010152119A (ja) 応答生成装置及びプログラム
JP2003271174A (ja) 音声合成方法、音声合成装置、プログラム及び記録媒体、制約情報生成方法及び装置、並びにロボット装置
JP2001215993A (ja) 対話処理装置および対話処理方法、並びに記録媒体
JP6699010B2 (ja) 対話方法、対話システム、対話装置、およびプログラム
JPWO2017200072A1 (ja) 対話方法、対話システム、対話装置、およびプログラム
JP3450823B2 (ja) 模擬会話システム、模擬会話方法、および情報記憶媒体
Aljammaz et al. Scheherazade’s Tavern: A prototype for deeper NPC interactions
WO2020070923A1 (ja) 対話装置、その方法、およびプログラム
JP2009163620A (ja) 応答生成装置、及び応答生成プログラム
JP2002169591A (ja) 模擬会話システム、及び情報記憶媒体
JP2001188782A (ja) 情報処理装置および方法、並びに記録媒体
JP6787472B2 (ja) 対話制御装置、対話制御方法及びプログラム
CN112836098B (zh) 基于多角色的对话辅助方法和装置
JPWO2017200077A1 (ja) 対話方法、対話システム、対話装置、及びプログラム
JP2003271172A (ja) 音声合成方法、音声合成装置、プログラム及び記録媒体、並びにロボット装置
JP2004191407A (ja) 会話システム及び会話処理プログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid