KR20010062754A - 대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체 - Google Patents

대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체 Download PDF

Info

Publication number
KR20010062754A
KR20010062754A KR1020000082660A KR20000082660A KR20010062754A KR 20010062754 A KR20010062754 A KR 20010062754A KR 1020000082660 A KR1020000082660 A KR 1020000082660A KR 20000082660 A KR20000082660 A KR 20000082660A KR 20010062754 A KR20010062754 A KR 20010062754A
Authority
KR
South Korea
Prior art keywords
topic
information
user
robot
conversation
Prior art date
Application number
KR1020000082660A
Other languages
English (en)
Other versions
KR100746526B1 (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 이데이 노부유끼
Publication of KR20010062754A publication Critical patent/KR20010062754A/ko
Application granted granted Critical
Publication of KR100746526B1 publication Critical patent/KR100746526B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning

Abstract

대화 프로세싱 장치 및 방법은 화제를 변경하는 지의 여부를 결정한다. 만약 결정이 긍정적이면, 논의되고 있는 현재 화제 및 메모리에 저장된 후보 화제 간의 연관도가 연관도표를 참조하여 계산된다. 계산 결과에 기초하여, 가장 높은 연관도를 갖는 화제가 다음 화제로서 선택된다. 화제는 현재 화제에서 다음 화제로 변경된다. 다음 화제를 선택하는데 이용되는 연관도가 갱신된다.

Description

대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체{CONVERSATION PROCESSING APPARATUS AND METHOD, AND RECORDING MEDIUM THEREFOR}
본 발명은 대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체에 관한 것으로, 특히 대화 프로세싱 장치 및 방법, 및 사용자 등과 대화를 수행하기 위한 로봇에 적합한 기록 매체에 관한 것이다.
최근, 접촉 센서가 눌려질 때 합성 사운드를 출력하기 위한 다수의 로봇(테디 곰 및 인형을 포함)이 장난감 등으로 제조되고 있다.
항공표를 예약하고 여행 안내 서비스 등을 제공하기 위해 컴퓨터를 통해 고정 (태스크 지향) 대화 시스템이 이용된다. 이들 시스템은 지정된 대화를 유지하도록 의도되지만, 채팅과 같은 실재 인간과의 자연스러운 대화를 유지할 수는 없다. 컴퓨터와 실재 인간 간에 채팅을 포함한 자연스러운 대화를 달성시키기 위한 노력을 행해왔다. 그 중 하나가 엘리자(Eliza)(James Allen: "Natural LanguageUnderstanding", pp. 6-9)로 불리우는 실험적인 시도이다.
상기 엘리자는 실재 인간(사용자)과의 대화를 내용을 거의 이해할 수 없다. 다시 말해, 엘리자는 사용자가 말한 단어를 기계적으로 따라할 뿐이다. 그러므로, 사용자는 금방 지루해지게 된다.
사용자를 지루하게 하지 않을 자연스러운 대화를 생성하기 위해, 오랜 시간을 두고 하나의 화제를 계속 논의할 필요는 없으며, 너무 자주 화제를 바꿀 필요도 없다. 특히, 자연스러운 대화를 유지하는데 있어서 화제를 자연스럽게 바꾸는 것이 중요하다. 대화를 화제를 바꿀 때, 보다 자연스러운 대화를 유지하기 위해서는 전체적으로 서로 다른 화제보다는 관련된 화제로 변경하는 것이 보다 바람직하다.
따라서, 본 발명의 목적은 화제를 변경할 때 저장된 화제중에서 밀접하게 연관된 화제를 선택하고, 선택된 화제를 변경함으로써 사용자와의 자연스러운 대화를 수행하는 것이다.
본 발명의 특징에 따르면, 사용자와 대화를 유지하기 위한 대화 프로세싱 장치는 복수의 화제에 관한 복수개의 제1 정보를 저장하기 위한 제1 저장 유닛을 포함하여 제공된다. 제2 저장 유닛은 논의되고 있는 현재 화제에 관한 제2 정보를 저장한다. 결정 유닛은 상기 화제를 변경하는지의 여부를 결정한다. 선택 유닛은 상기 결정 유닛이 화제를 변경하는 것으로 결정할 때, 상기 제1 저장 유닛에 저장된 상기 화제중에서 변경될 신규 화제를 선택한다. 변경 유닛은 상기 선택 유닛에 의해 선택된 상기 화제에 관한 상기 제1 정보를 상기 제1 저장 유닛으로부터 판독하여, 상기 제2 저장 유닛에 상기 판독 정보를 저장함으로써 상기 화제를 변경시킨다.
대화 프로세싱 장치는 상기 사용자와 논의한 화제를 이력(history)으로 저장하기 위한 제3 저장 유닛을 더 포함한다. 상기 선택 유닛은, 상기 제3 저장 유닛의 이력에 저장되어 있는 화제 이외의 화제를 신규 화제로서 선택한다.
상기 결정 유닛이 상기 사용자에 의해 도입된 상기 화제의 변경에 응답하여 상기 화제를 변경할 것을 결정할 때, 상기 선택 유닛은 상기 제1 저장 유닛에 저장되어 있는 상기 화제중에서, 상기 사용자에 의해 도입된 상기 화제와 가장 밀접하게 연관되는 화제를 선택한다.
상기 제1 정보 및 상기 제2 정보는 각각 서로 연관된 속성을 포함할 수 있다. 상기 선택 유닛은, 상기 제1 정보 각각의 속성과 상기 제2 정보의 속성 간의 연관성에 기초한 값을 계산하여, 가장 값이 큰 상기 제1 정보를 신규 화제로서 선택하거나, 또는 1개의 상기 제1의 정보를 판독하여, 상기 제1 정보의 속성 및 상기 제2 정보의 속성 간의 연관성에 기초한 값을 계산하고, 상기 제1 정보가 임계치보다 큰 값을 가지면, 상기 제1 정보를 신규 화제로서 선택할 수 있다.
상기 속성은 키워드, 카테고리, 장소, 및 시간 중의 적어도 하나를 포함할 수 있다.
상기 제1 정보의 속성 및 상기 제2 정보의 속성 간의 연관성에 기초한 값은 표의 형태로 저장될 수 있고, 상기 표는 갱신될 수 있다.
상기 표를 이용하여 상기 신규 화제를 선택할 때, 상기 선택 유닛은 상기제2 정보의 속성과 동일한 속성을 갖는 상기 제1 정보에 대해 상기 표의 값에 가중을 두고, 상기 가중을 둔 표를 이용함에 의해 상기 신규 화제를 선택할 수 있다.
상기 대화는 구두 또는 기록 형태중 하나의 형태로 유지될 수 있다.
상기 대화 프로세싱 장치는 로봇에 내장될 수 있다.
본 발명의 또 다른 특징에 따르면, 사용자와 대화를 유지하기 위한 대화 프로세싱 장치의 대화 프로세싱 방법은 복수의 화제에 관한 정보의 저장을 제어하는 저장 제어 단계를 포함하여 제공된다. 결정 단계에서 상기 화제를 변경하는지의 여부가 결정된다. 선택 단계에서, 상기 결정 단계에서 상기 화제가 변경되기로 결정될 때, 상기 저장 제어 단계에서 저장된 상기 화제중에서 신규 화제로서 적절한 것으로 결정되는 화제를 선택한다. 변경 단계에서, 상기 선택 단계에서 선택된 상기 화제에 관한 상기 정보를 상기 신규 화제에 관한 정보로서 이용함에 의해 상기 화제를 변경시킨다.
본 발명의 또 다른 특징에 따르면, 사용자와 대화를 유지하기 위한 컴퓨터-판독가능 대화 프로세싱 프로그램이 그 위에 기록된 기록 매체가 제공된다. 상기 프로그램은 복수의 화제에 관한 정보의 저장을 제어하는 저장 제어 단계를 포함한다. 결정 단계에서, 상기 화제를 변경하는지의 여부가 결정된다. 선택 단계에서, 상기 결정 단계에서 상기 화제가 변경되기로 결정될 때, 상기 저장 제어 단계에서 저장된 상기 화제중에서 신규 화제로서 적절한 것으로 결정되는 화제를 선택한다. 변경 단계에서, 상기 선택 단계에서 선택된 상기 화제에 관한 상기 정보를 상기 신규 화제에 관한 정보로서 이용함에 의해 상기 화제를 변경시킨다.
본 발명에 따르면, 사용자와의 자연스럽고 즐거운 대화를 유지할 수 있다.
도 1은 본 발명의 실시예에 따른 로봇(1)의 외부 사시도.
도 2는 도 1에 도시된 로봇(1)의 내부 구조에 대한 블럭도.
도 3은 도 2에 도시된 제어기(10)의 기능 구조에 대한 블럭도.
도 4는 음성 인식 유닛(31A)의 내부 구조에 대한 블럭도.
도 5는 대화 프로세서(38)의 내부 구조에 대한 블럭도.
도 6은 음성 합성기(36)의 내부 구조에 대한 블럭도.
도 7a 및 7b는 정보(n)를 다운로딩할 때 시스템 구성에 대한 블럭도.
도 8은 도 7a 및 7b에 상세하게 도시된 시스템 구조를 도시하는 블럭도.
도 9는 도 7a 및 7b에 시스템의 또 다른 상세 구조에 대한 블럭도.
도 10은 화제를 변경하기 위한 타이밍을 도시하는 도면.
도 11은 화제를 변경하기 위한 타이밍을 도시하는 도면.
도 12는 화제를 변경하기 위한 타이밍을 도시하는 도면.
도 13은 화제를 변경하기 위한 타이밍을 도시하는 도면.
도 14는 화제를 변경하기 위한 타이밍을 도시하는 플로우챠트.
도 15는 화제를 변경하기 위한 타이밍을 결정하기 위한 평균 및 확률 간의관계를 도시하는 그래프.
도 16a 및 16b는 음성 패턴을 도시하는 도면.
도 17은 대화의 정지 시간 및 화제를 변경하기 위한 타이밍을 결정하기 위한 확률 사이의 관계를 도시하는 그래프.
도 18은 화제 메모리(76)에 저장된 정보를 도시하는 도면.
도 19는 본 실시예에서 키워드인 속성을 도시하는 도면.
도 20은 화제를 변경하기 위한 프로세스를 도시하는 플로우챠트.
도 21은 연관도를 도시하는 표.
도 22는 도 20에 도시된 플로우챠트의 단계 S15의 세부항목을 도시하는 플로우챠트.
도 23은 화제를 변경하기 위한 프로세스를 도시하는 또 다른 플로우챠트.
도 24는 로봇(1) 및 사용자 간의 대화의 예를 도시하는 도면.
도 25는 사용자에 의한 화제 변경에 응답하여 로봇(1)에 의해 실행된 프로세스를 도시하는 플로우챠트.
도 26은 연관도표를 갱신하기 위한 프로세스를 도시하는 플로우챠트.
도 27은 대화 프로세서(38)에 의해 실행된 프로세스를 도시하는 플로우챠트.
도 28은 속성을 도시하는 도면.
도 29는 로봇(1) 및 사용자 간의 대화의 예를 도시하는 도면.
도 30은 데이타 기억 매체를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 로봇
10 : 제어기
10A : CPU
10B : 메모리
15 : 마이크로폰
16 : CCD
17 : 터치 센서
18 : 확성기
19 : 통신 유닛
31 : 센서 입력 프로세서
31A : 음성 인식 유닛
31B : 이미지 인식 유닛
31C : 압력 프로세서
32 : 감정/직관 모델 유닛
33 : 행동 결정 유닛
34 : 자세 이동 유닛
35 : 제어 유닛
36 : 음성 합성기
37 : 음향 프로세서
38 : 음성 프로세서
74 : 화제 관리자
75 : 대화 이력 메모리
76 : 화제 메모리
77 : 현재 화제 메모리
101 : 서버
141 : 로봇 프레임
142 : 사용자 프레임
도 1은 본 발명의 실시예에 따른 로봇(1)의 외관을 도시한다. 도 2는 로봇(1)의 전기적 구성을 도시한다.
본 실시예에서, 로봇(1)은 개의 형태를 갖는다. 로봇(1)의 몸체 유닛(2)은 몸체 유닛에 연결된 다리 유닛(3A, 3B, 3C 및 3D)을 포함하여 앞다리 및 뒷다리를 형성한다. 몸체 유닛(2)은 또한 전방 또는 후방에 각각 몸체 유닛에 연결된 머리 유닛(4) 및 꼬리 유닛(5)을 포함한다.
꼬리 유닛(5)은 몸체 유닛(2)의 상부에 제공된 베이스 유닛(5B)으로부터 연장되고, 꼬리 유닛(5)은 두 단계로 자유롭게 굽히거나 스윙하도록 연장된다. 몸체 유닛(2)은 전체 로봇(1)을 제어하기 위한 제어기(10), 로봇(1)의 전원으로서 배터리(11) 및 배터리 센서(12) 및 열 센서(13)를 포함하는 내부 센서 유닛(14)을 내부에 포함한다.
머리 유닛(4)에는 "귀"에 대응하는 마이크로폰(15), "눈"에 대응하는 촬상 소자(CCD) 카메라(16), 터치 감각 기관에 대응하는 터치 센서(17), 및 "입"에 대응하는 확성기(18)가 각각의 선정된 위치에 제공된다.
도 2에 도시된 바와 같이, 다리 유닛(3A 내지 3D)의 접합부, 각각의 다리 유닛(3A 내지 3D) 및 몸체 유닛(2) 사이의 접합부, 머리 유닛(4) 및 몸체 유닛(2) 사이의 접합부, 및 꼬리 유닛(5) 및 몸체 유닛(2) 사이의 접합부에는 액츄에이터(3AA1내지 3AAK, 3BA1내지 3BAK, 3CA1내지 3CAK, 3DA1내지 3DAK, 4A1내지 4AL, 5A1, 및 5A2)가 각각 제공된다. 그러므로, 접합부는 선정된 자유도로 착탈가능하다.
머리 유닛(4)의 마이크로폰(15)은 사용자의 음성을 포함하여 주위 음성(사운드)을 수집하여 구해진 음성 신호를 제어기(10)로 보낸다. CCD 카메라(16)는 서라운딩 환경의 이미지를 포착하여 구해진 이미지 신호를 제어기(10)로 보낸다.
터치 센서(17)는 예를 들어 머리 유닛(4)의 최상부에 제공된다. 터치 센서(17)는 사용자에 의한 "패팅(patting)" 또는 "히팅(hitting)"과 같은 실제 접촉에 위해 인가되는 압력을 검출하며, 검출 결과 압력 건출 신호로서 제어기(10)에 보낸다.
몸체 유닛(2)의 배터리 센서(12)는 배터리(11)에 잔여 전력을 검출하여, 배터리 잔여 전원 검출 신호로서의 검출 결과를 제어기(10)에 보낸다. 열 센서(13)는 로봇(1)의 열을 검출하여 검출 결과를 열 검출 신호로서 제어기(10)에 보낸다.
제어기(10)는 중앙 처리 장치(CPU)(10A), 메모리(10B) 등을 내부에 포함한다. CPU(10A)는 다양한 프로세스를 수행하기 위해 메모리(10B)에 저장된 제어 프로그램을 실행한다. 특히, 제어기(10)는 마이크로폰(15), CCD 카메라(16), 터치 센서(17), 배터리 센서(12), 및 열 센서(13)로부터 각각 제공되는 음성 신호, 이미지 신호, 압력 검출 신호, 배터리 잔여 전원 검출 신호 및 열 검출 신호에 기초하여, 사용자에 의해 명령이 주어졌는지 또는 사용자가 접근했는지의 여부에 관한 환경 특성을 결정한다.
결정 결과에 기초하여, 제어기(10)는 취해질 다음의 조치를 결정한다. 취해질 다음의 조치를 결정하기 위한 결정 결과에 기초하여, 제어기(10)는 액츄에이터(3AA1내지 3AAK, 3BA1내지 3BAK, 3CA1내지 3CAK, 3DA1내지 3DAK, 4A1내지 4AL, 5A1, 및 5A2)중 필수 유닛을 활성화시킨다. 이는 머리 유닛(4)으로 하여금 수직 및 수평으로 움직이게 하고, 꼬리 유닛(5)으로 하여금 움직일 수 있게 하며, 로봇(1)이 걸어다닐 수 있도록 다리 유닛(3A 내지 3D)을 활성화시킨다.
환경 요구에 따라, 제어기(10)는 합성 사운드를 발생시키고 발생된 사운드를 확성기(18)에 제공하여 사운드를 출력한다. 게다가, 제어기(10)는 로봇(1)의 "눈"의 위치에 제공된 발광 다이오드(LED)(도시되지 않음)로 하여금 턴온, 턴오프, 또는 플래시 온 및 오프시킨다.
따라서, 로봇(1)은 주위 환경에 기초하여 자율적으로 동작하도록 구성된다.
도 3은 도 2에 도시된 제어기(10)의 기능적 구조를 도시하는 도면이다. 도 3에 도시된 기능적 구조는 메모리(108)에 저장된 제어 프로그램을 실행하는 CPU(10A)에 의해 구현된다.
제어기(10)는 특정 외부 상태를 인식하기 위한 센서 입력 프로세서(31); 센서 입력 프로세서(31) 등에 의해 구해진 인식 결과를 축적함으로써 감정 및 직관적인 상태를 표현하기 위한 감정/직관 모델 유닛(32); 센서 입력 프로세서(31) 등에 의해 구해진 인식 결과에 기초하여 다음의 행동을 결정하기 위한 행동 결정 유닛(33); 행동 결정 유닛(33)에 의해 구해진 결정 결과에 기초하여 로봇(1)으로하여금 행동을 실제 수행할 수 있도록 하기 위한 자세 이동 유닛(34); 액츄에이터(3AA1내지 5A1및 5A2)를 구동시키고 제어하기 위한 제어 유닛(35); 합성 사운드를 발생시키기 위한 음성 합성기(36); 및 음성 합성기(36)에 의해 출력된 사운드를 제어하기 위한 음향 프로세서(37)를 포함한다.
센서 입력 프로세서(31)는 특정 외부 상태, 사용자에 의해 행해진 특정 접근, 마이크로폰(15), CCD 카메라(16), 터치 센서(17) 등으로부터 제공되는 음성 신호, 이미지 신호, 압력 검출 신호 등에 기초하여 사용자에 의해 주어진 명령 특정 외부 상태를 인식하고, 감정/직관 모델 유닛(32) 및 행동 결정 유닛(33)에 인식 결과를 가리키는 상태 인식 정보를 알려준다.
특히, 센서 입력 프로세서(31)는 음성 인식 유닛(31A)를 포함한다. 행동 결정 유닛(33)의 제어 하에, 음성 인식 유닛(31A)은 마이크로폰(15)으로부터 제공된 음성 신호를 이용함으로써 음성 인식을 수행한다. 음성 인식 유닛(31A)은 감정/직관 모델 유닛(32) 및 행동 결정 유닛(33)에 음성 인식 결과를 알려주는데, 인식 결과는 상태 인식 정보로서 "걸음", "누음", 또는 "공을 쫓아감" 등과 같은 명령이다.
음성 인식 유닛(31A)은 음성 인식을 수행함으로써 구해진 인식 결과를, 로봇(1)이 사용자와의 대화를 유지가능하게 하는 대화 프로세서(38)에 출력한다. 이는 이하 설명된다.
센서 입력 프로세서(31)는 이미지 인식 유닛(31B)을 포함한다. 이미지 인식유닛(31B)은 CCD 카메라(16)로부터 제공된 이미지 신호를 이용함으로써 이미지 인식 처리를 수행한다. 이미지 인식 유닛(31B)이 결과적으로 예를 들어 "빨강인 원형 대상" 또는 "선정된 높이 또는 더 큰 땅에 수직인 평면"을 검출할 때, 이미지 인식 유닛(31B)은 감정/직관 모델 유닛(32) 및 행동 결정 유닛(33)에 "공이 있음" 또는 "벽이 있음"과 같은 이미지 인식 결과를 상태 인식 정보로서 알려준다.
또한, 센서 입력 프로세서(31)는 압력 프로세서(31C)를 포함한다. 압력 프로세서(31C)는 터치 센서(17)로부터 제공된 압력 검출 신호를 처리한다. 압력 프로세서(31C)가 선정된 임계치를 초과하고 짧은 기간의 시간에 인가되는 압력을 결과적으로 검출할 때, 압력 프로세서(31C)는 로봇(1)이 "히트(벌 받음)"되었다는 것을 인식한다. 압력 프로세서(31C)는 선정된 임계치 이하로 떨어지고 긴 기간의 시간에 걸쳐 인가되는 압력을 검출할 때, 압력 프로세서(31C)는 로봇(1)이 "패트(보상받음)"되었다는 것을 인식한다. 압력 프로세서(31C)는 감정/직관 모델 유닛(32) 및 행동 결정 유닛(33)에게 인식 결과를 상태 인식 정보로서 알려준다.
감정/직관 모델 유닛(32)은 로봇(1)의 감정 상태를 표현하기 위한 감정 모델 및 로봇(1)의 직관 상태를 표현하기 위한 직관 모델을 관리한다. 행동 결정 유닛(33)은 센서 입력 프로세서(31)로부터 제공된 상태 인식 정보, 감정/직관 모델 유닛(32)으로부터 제공된 감정/직관 상태 정보 등에 기초하여 다음 행동을 결정하고, 행동 명령 정보로서 결정된 행동의 내용을 자세 이동 유닛(34)으로 보낸다.
행동 결정 유닛(33)으로부터 제공된 행동 명령에 기초하여, 자세 이동 유닛(34)은 로봇(1)이 현재 자세에서 다음 자세로 이동할 수 있게 하기 위한 자세이동 정보를 발생시키며 자세 이동 정보를 제어 유닛(35)에 출력한다. 제어 유닛(35)은 자세 이동 유닛(34)으로부터 제공된 자세 이동 정보에 따라 액츄에이터(3AA1내지 5A1및 5A2)를 구동시키기 위한 제어 신호를 발생시키고, 제어 신호를 액츄에이터(3AA1내지 5A1및 5A2)에 보낸다. 그러므로, 액츄에이터(3AA1내지 5A1및 5A2)는 제어 신호에 따라 구동되고, 그래서 로봇(1)은 자동적으로 행동을 실행한다.
상기 구조를 통해, 로봇(1)이 동작되고 사용자와의 대화를 유지하게 한다. 대화를 수행하기 위한 음성 대화 시스템은 음성 인식 유닛(31A), 음성 프로세서(38), 음성 합성기(36), 및 음향 프로세서(37)를 포함한다.
도 4는 음성 인식 유닛(31A)의 상세한 구조를 도시한다. 사용자의 음성은 마이크로폰(15)에 입력되고, 마이크로폰(15)은 음성을 전기 신로로서 음성 신호로 변환시킨다. 음성 신호는 음성 인식 유닛(31A)의 아날로그 디지털 변환기(51)에 제공된다. A/D 변환기(51)는 마이크로폰(15)으로부터 제공된 아날로그 신호인 음성 신호를 샘플링함에 의해, 신호를 디지털 신호인 음성 데이타로 변환시킨다. 음성 데이타는 특징 추출 유닛(52)에 제공된다.
A/D 변환기(51)로부터 제공된 음성 데이타에 기초하여, 특징 추출 유닛(52)은 각각의 적절한 프레임에 대해 스펙트럼, 선형 예상 계수, 스펙트럼 계수, 라인 스펙트럼 쌍 등과 같은 특징 파라메타를 추출한다. 특징 추출 유닛(52)은 추출 특징 파라메타를 특징 버퍼(52) 및 매칭 유닛(54)에 제공한다. 특징 버퍼(53)는 특징 추출 유닛(52)으로부터 제공된 특징 파라메타를 일시 저장한다.
특징 추출 유닛(52)으로부터 제공된 특징 파라메타 또는 특징 버퍼(53)에 저장된 특징 파라메타에 기초하여, 매칭 유닛(54)은 음향 모델 데이타베이스(55), 딕셔너리 데이타베이스(56), 및 문법 데이타베이스(57)를 환경 요구로서 지칭함으로써 마이크로폰(15)을 통해 입력된 음성(입력 음성)을 인식한다.
특히, 음향 모델 데이타베이스(55)는 인식될 음성 언어에서 각 음소 또는 음절의 음향 특징을 보여주는 음향 모델을 저장한다. 예를 들어, Hidden Markov Model(HMM)은 음향 모델로서 사용될 수 있다. 딕셔너리 데이타베이스(56)는 인식될 각 단어의 발음에 대한 정보를 포함하는 단어 딕셔너리를 저장한다. 문법 데이타베이스(57)는 딕셔너리 데이타베이스(56)의 단어 딕셔너리에 등록된 단어가 어떻게 링크되고 연관되는지를 설명하는 문법 룰을 저장한다. 예를 들어, 컨텍스트-프리 문법(CFG) 또는 통계적 단어 연관 가능성(N-gram)에 기초한 룰이 문법 룰로서 사용될 수 있다.
매칭 유닛(54)은 음향 모델 데이타베이스(55)에 저장된 음향 모델을 연결하기 위해 딕셔너리 데이타베이스(56)의 단어 딕셔너리를 지칭하여, 단어에 대한 음향 모델(단어 모델)을 형성한다. 매칭 유닛(54)은 또한 단어 모델을 연결하기 위해 문법 데이타베이스(57)에 저장된 문법 룰을 지칭하고, 예를 들어 HMM 방법 등을 이용함으로써 특징 파라메타에 기초한 마이크로폰(15)을 통해 입력된 음성을 인식하기 위해 연결된 단어 모델을 이용한다. 매칭 유닛(54)에 의해 구해진 음성 인식 결과는 예를 들어 텍스트의 형태로 출력된다.
매칭 유닛(54)은 대화 프로세서(38)로부터 대화 프로세서(38)에 의해 구해진 정보를 수신할 수 있다. 매칭 유닛(54)은 대화 관리 정보에 기초하여 정확한 음성 인식을 고도로 수행할 수 있다. 입력 음성을 다시 처리할 필요가 있을 때, 매칭 유닛(54)은 특징 버퍼(53)에 저장된 특징 파라미터를 이용하여 입력 음성을 처리한다. 그러므로, 사용자가 음성을 입력하도록 다시 요청할 필요는 없다.
도 5는 대화 프로세서(38)의 상세한 구조를 도시하는 도면이다. 음성 인식 유닛(31A)으로부터 출력된 인식 결과(텍스트 데이타)는 대화 프로세서(38)의 언어 프로세서(71)에 입력된다. 딕셔너리 데이타베이스(72) 및 분석 문법 데이타베이스(73)에 저장된 데이타에 기초하여, 언어 프로세서(71)는 형태학 분석을 실행하고 구문론적 분석을 함으로써 입력 음성 인식 결과를 분석하고 단어 정보 및 구문 정보와 같은 언어 정보를 추출한다. 딕셔너리의 내용에 기초하여, 언어 프로세서(71)는 또한 입력 음성의 의미 및 취지를 추출한다.
특히, 딕셔너리 데이타베이스(72)는 음성 부분의 정보, 각 단어에 대한 의미론적 정보 등과 같이 단어 표기 및 분석 문법을 적용하는데 필요한 정보를 저장한다. 분석 문법 데이타베이스(73)는 딕셔너리 데이타베이스(72)에 저장된 각 단어에 대한 정보에 기초하여 단어 연관에 관한 제약을 설명하는 데이타를 저장한다. 이들 데이타를 이용하면, 언어 프로세서(71)는 입력 음성의 음성 인식 결과인 텍스트 데이타를 분석한다.
분석 문법 데이타베이스(73)에 저장된 데이타는 정식 문법, 컨텍스트-프리 문법, N-gram을 이용하여 텍스트 분석을 실행하기 위해 필요하며, 헤드-드라이브구 구조 문접(HPSG)와 같은 의미론을 포함하여 언어 논리로 의미론적 분석을 실행할 때도 필요하다.
언어 프로세서(71)에 의해 추출된 정보에 기초하여, 화제 관리자(74)는 현재 화제 관리자(77)의 현재 화제를 관리하고 갱신한다. 이하 상세히 설명될 화제의 다음 변경의 준비에서, 화제 관리자(74)는 대화 이력 메모리(75)의 관리하에 정보를 적절하게 갱신한다. 화제를 변경할 때, 화제 관리자(74)는 화제 메모리(76)에 저장된 정보를 지칭하고 다음 화제를 결정한다.
대화 이력 메모리(75)는 대화의 내용 또는 대화로부터 추출된 정보를 축적한다. 대화 이력이력75)는 또한 현재 화제 메모리(77)에 저장된 현재 화제 이전에 야기된 화제를 검사하고 화제의 변경을 제어하느데 사용된 데이타를 저장한다.
화제 메모리(76)는 로봇(1) 및 사용자 간의 대화의 내용의 일관성을 유지하기 위한 다수의 정보 단편을 저장한다. 화제 메모리(76)는 화제 관리자(74)가 화제를 변경할 때 또는 사용자에 의해 도입된 화제의 변경에 응답하여 화제가 변경될 때 다음 화제를 검색할 때를 지칭하는 정보를 축적한다. 화제 메모리(76)에 저장된 정보는 이하 설명한 프로세스에 의해 부가되고 갱신된다.
현재 화제 메모리(77)는 논의되고 있는 현재 화제에 관한 정보를 저장한다. 특히, 현재 화제 메모리(77)는 화제 관리자(74)에 의해 선택되는 화제 메모리(76)에 저장된 화제에 대한 정보 단편중 하나를 저장한다. 현재 화제 메모리(77)에 저장된 정보에 기초하여, 화제 관리자(74)는 사용자와의 대화를 진전시킨다. 화제 관리자(74)는 대화시 의사소통된 정보에 기초하여 어떤 내용이 이미 논의되었는지를 추적하고, 현재 화제 메모리(77)의 정보가 적절하게 갱신된다.
대화 발생기(78)는 현재 화제 메모리(77)의 관리하에 현재 화제에 관한 정보, 언저 프로세서(71) 등에 의해 사용자의 전술 음성으로부터 추출된 정보에 기초하여 딕셔너리 데이타베이스(80) 및 대화 발생 룰 데이타베이스(80)에 저장된 데이타를 지칭함으로써 적절한 응답 진술(텍스트 데이타)을 발생시킨다.
딕셔너리 데이타베이스(79)는 응답 진술을 생성하는데 필요한 단어 정보를 저장한다. 딕셔너리 데이타베이스(72) 및 딕셔너리 데이타베이스(79)는 동일 정보를 저장할 수 있다. 그러므로, 딕셔너리 데이타베이스(72 및 79)는 공통 데이타베이스로서 조합될 수 있다.
대화 발생 룰 데이타베이스(80)는 현재 화제 메모리(77)의 내용에 기초하여 각각의 응답 진술을 발생시키는 방법에 관한 룰을 저장한다. 아직 논의되지 않은 내용에 대해 이야기하거나 초기에 대답하는 것과 같이, 화제에 대해 대화를 진전시키는 방식외에, 어떤 화제가 의미론적 프레임 구조 등에 의해 관리될 때, 프레임 구조에 기초하여 자연적인 언어 진술을 발생시키기 위한 룰이 또한 저장된다. 의미론적 구조에 기초한 자연적 언어 진술을 발생시키는 방법은 언어 프로세서(71)에 의해 역순으로 실행된 처리에 의해 실행될 수 있다.
따라서, 대화 발생기(78)에 의해 발생된 텍스트 데이타로서의 응답 진술은 음성 합성기(36)에 출력된다.
도 6은 음성 합성기(36)의 구조의 예를 도시한다. 대화 프로세서(38)로부터 출력된 텍스트는 음성 합성을 실행하는데 사용될 텍스트 분석기(91)에 입력된다.텍스트 분석기(91)는 텍스트를 분석하기 위해 딕셔너리 데이타베이스(92) 및 분석 문법 데이타베이스(93)를 지칭한다.
특히, 딕셔너리 데이타베이스(92)는 각 단어에 대해 음성 정보의 부분, 발음 정보 및 액센트 정보를 포함하는 단어 딕셔너리를 저장한다. 분석 문법 데이타베이스(93)는 딕셔너리 데이타베이스(92)의 단어 딕셔너리에 포함된 각 단어에 대해, 단어 연관에 대한 제약과 같은 분석 문법 룰을 저장한다. 단어 딕셔너리 및 분석 문법 룰에 기초하여, 텍스트 분석기(91)는 입력 덱스트의 형태학적 분석 및 구문 분석을 실행한다. 텍스트 분석기(91)는 다음 단계에서 룰 음성 합성기(94)에 의해 실행된 룰에 의한 음성 합성에 필요한 정보를 추출한다. 룰에 의한 음성 합성에 필요한 정보는 예를 들어 중단, 액센트 및 억양, 다른 운율 정보, 및 음소 정보가 각 단어의 발음과 같이 어디에서 일어나야 하는가를 제어하는 정보를 포함한다.
텍스트 분석기(91)에 의해 얻어진 정보는 룰 음성 합성기(94)에 제공된다. 룰 음성 합성기(94)는 음소 데이타베이스(95)를 이용하여 텍스트 분석기(91)에 입력된 텍스트에 대응하는 합성 사운드에 대한 음성 데이타(디지털 데이타)를 발생시킨다.
특히, 음소 데이타베이스(95)는 CV(자음, 모음), VCV, CVC 등의 형태로 음소 데이타를 저장한다. 텍스트 분석기(91)로부터의 정보에 기초하여, 룰 음성 합성기(94)는 필수 음소 데이타를 연결하고 중단, 액센트 및 억양을 적절하게 부가하여, 텍스트 분석기(91)에 입력된 텍스트에 대응하는 합성 사운드에 대한 음성 데이타를 발생시킨다.
음성 데이타는 아날로그 음성 신호로 변환될 디지털 아날로그(D/A) 변환기(96)에 제공된다. 음성 신호는 확성기(도시되지 않음)에 제공되므로, 텍스트 분석기(91)에 입력된 텍스트에 대응하는 합성 사운드가 출력된다.
음성 대화 시스템은 상술된 배열을 갖는다. 음성 대화 시스템이 제공되면, 로봇(1)은 사용자와 대화를 유지할 수 있다. 사람이 다른 사람과 대화할 때, 그들이 단지 하나의 화제를 계속 논의하는 것은 흔하지 않다. 일반적으로, 사람은 적절한 시점에서 화제를 바꾼다. 화제를 바꿀 때, 사람은 현재 화제와 관련없는 화제로 화제를 변경하는 경우가 있다.
사람이 현재 화제와 연관있는 화제로 화제를 변경하는 것은 더 일상적이다. 이는 사람(사용자)과 로봇(1) 사이의 대화에 적용된다.
로봇(1)은 사용자와 대화할 때 적절한 상황에서 화제를 변경하기 위한 기능을 갖는다. 이러한 목적을 위해, 화제로서 사용될 정보를 저장할 필요가 있다. 화제로서 사용될 정보는 사용자와 적당한 대화를 갖도록 사용자에게 공지된 정보 뿐만 아니라 사용자가 새로운 화제를 도입하도록 사용자에게 알려져있지 않은 정보도 포함한다. 그래서 기존 정보를 저장하는 것뿐만 아니라 신규 정보를 저장할 필요가 있다.
로봇(1)에는 신규 정보(이하 "정보 n"으로서 지칭됨)를 얻기 위해 통신 기능(도 2에 도시된 통신 유닛(19))이 제공된다. 정보 n이 정보를 제공하기 위한서버로부터 다운로드되는 경우가 설명된다. 도 7a는 로봇(1)의 통신 유닛(19)이 서버(101)와 직접 통신하는 경우를 도시한다. 도 7b는 통신 유닛(19) 및서버(101)가 예를 들어 통신 네트워크로서 인터넷(102)을 통해 서로 통신하는 경우를 도시한다.
도 7a에 도시된 배열을 통해, 로봇(1)의 통신 유닛(19)은 개인 핸드폰 시스템(PHS)에 사용된 기술을 이용함으로써 구현될 수 있다. 예를 들어, 로봇(1)이 충전되는 동안, 통신 유닛(19)은 서버(101)를 다이얼하여 서버(101)와의 링크를 수립하고 정보 N을 다운로드한다.
도 7b에 도시된 배열을 통해, 통신 장치(103) 및 로봇(1)은 유선 또는 무선으로 서로 통신한다. 예를 들어, 통신 장치(103)는 개인용 컴퓨터로 형성된다. 사용자는 인터넷(102)을 통해 개인용 컴퓨터 및 서버(101) 간에 링크를 수립한다. 정보 n은 서버(101)로부터 다운로드되고, 다운로드된 정보 n은 개인용 컴퓨터의 저장 장치에 일시 저장된다. 저장된 정보 n은 적외선에 의해 무선으로 또는 유니버셜 시리얼 버스(USB)에 의한 것과 같은 유선으로 로봇(1)의 통신 유닛(19)에 전송된다. 따라서, 로봇(1)은 정보 n을 얻는다.
대안적으로, 통신 장치(103)는 서버(101)와의 링크를 자동적으로 수립하고, 정보 n을 다운로드하며, 선정된 기간의 시간 내에 로봇(1)에 정보 n을 전송한다.
다운로드될 정보 n은 다음에 설명된다. 비록 모든 사용자에게 동일한 정보가 제공될 수 있지만, 정보 n은 모든 사용자에게 유익할 수 없다. 다시 말해, 사용자에 따라 취향이 다르다. 사용자와의 대화를 수행하기 위해, 사용자의 취향에 일치하는 정보 n이 다운로드되고 저장된다. 대안적으로, 정보 n의 모든 단편이 다운로드되고, 사용자의 취향에 일치하는 정보 n이 선택되고 저장된다.
도 8은 서버(101)에 의해 로봇(1)에 제공될 정보 n을 선택하기 위한 시스템 구성을 도시한다. 서버(101)는 화제 데이타베이스(110), 프로파일 데이타베이스(111), 및 필터(112A)를 포함한다. 화제 데이타베이스(110)는 정보 n을 저장한다. 정보 n은 오락 정보, 경제 정보 등과 같은 카테고리에 따라 저장된다. 로봇(1)은 정보 n을 이용하여 사용자에게 신규 화제를 소개하고, 사용자에게 알려지지 않은 정보를 제공하는데, 이는 광고 효과를 생성한다. 광고를 실행하기 원하는 회사를 포함하는 제공자는 화제 데이타베이스(110)에 제공될 정보 n을 제공한다.
프로파일 메모리(111)는 사용자 취향과 같은 정보를 저장한다. 프로파일은 로봇91)으로부터 제공되고 적절히 갱신된다. 대안적으로, 로봇(1)이 사용자(1)와의 수많은 대화를 가질 때, 프로파일은 반복적으로 나타나는 화제(키워드)를 저장함으로써 생성될 수 있다. 또한, 사용자는 프로파일을 로봇(1)에 입력할 수 있고, 로봇(1)은 프로파일을 저장한다. 대안적으로, 로봇(1)은 대화 동안 사용자 질문을 물을 수 있고, 질문에 대한 사용자 답변에 기초하여 프로파일이 생성된다.
프로파일 메모리(111)에 저장된 프로파일에 기초하여, 필터(112A)는 화제 데이타베이스(110)에 저장된 정보 n으로부터, 프로파일, 즉 사용자 취향에 일치하는 정보 n을 선택하고 출력한다.
필터(112A)로부터 출력된 정보 n은 도 7a 및 7b를 참조하여 설명된 방법을 이용하여 로봇(1)의 통신 유닛(19)에 의해 수신된다. 통신 유닛(19)에 의해 수신된 정보 n은 메모리(10B)의 화제 메모리(76)에 저장된다. 화제 메모리(76)에 저장된 정보 n은 화제를 바꿀 때 이용된다.
대화 프로세서(38)에 의해 처리되고 출력되는 정보는 프로파일 생성기(123)에 적절하게 출력된다. 상술한 바와 같이, 프로파일이 로봇(1)이 사용자와 대화하는 동안 생성될 때, 프로파일 생성기(123)는 프로파일을 생성하고 생성된 프로파일은 프로파일 메모리(121)에 저장된다. 프로파일 메모리(121)에 저장된 프로파일은 통신 유닛(19)을 통해 서버(101)의 프로파일 메모리(111)에 적절하게 전송된다. 그러므로, 로봇(1)의 사용자에 대응하는 프로파일 메모리(111) 내의 프로파일이 생신된다.
도 8에 도시된 구성에 따라, 프로파일 메모리(111)에 저장된 프로파일(사용자 정보)은 외부로 누설될 수 있다. 프라이버시 보호의 관점에서, 문제가 발생할 수 있다. 사용자의 프라이버시를 보호하기 위해서, 서버(101)는 프로파일을 관리하지 않도록 구성될 수 있다. 도 9는 서버(101)가 프로파일을 관리하지 않을 때 시스템 구성을 도시하는 도면이다.
도 9에 도시된 구성에서, 서버(101)는 단지 화제 데이타베이스(110)를 포함한다. 로봇(1)의 제어기(10)는 필터(112B)를 포함한다. 이러한 구성에 따라, 서버(101)는 화제 데이타베이스(110)에 저장된 정보 n의 전체를 로봇(1)에 제공한다. 로봇(1)의 통신 유닛(19)에 의해 수신된 정보 n은 필터(112B)에 의해 필터링되고, 최종 정보 n만이 화제 메모리(76)에 저장된다.
로봇(1)이 정보 n을 선택하도록 구성될 때, 사용자 프로파일은 외부로 전송되지 않으므로, 외부로 관리되지 않는다. 그러므로 사용자 프라이버시가 보호된다.
프로파일로서 사용된 정보는 다음에 설명된다. 프로파일 정보는 예를 들어 나이, 성, 생일, 좋아하는 배우, 좋아하는 장소, 좋아하는 음식, 취미, 및 가장 가까운 대중 운송 정거장을 포함한다. 또한, 경제 정보, 오락 정보 및 스포츠 정보의 흥미도를 가리키는 다수의 정보가 프로파일 정보에 포함된다.
상술한 프로파일에 기초하여, 사용자 취향에 일치하는 정보 n이 선택되고 화제 메모리(76)에 저장된다. 화제 메모리(76)에 저장된 정보 n에 기초하여, 로봇(1)은 사용자와의 대화가 자연스럽고 유창하게 계속되도록 화제를 변경한다. 이러한 목적을 위해, 화제의 변경 타이밍이 또한 중요하다. 화제를 변경하기 위한 타이밍을 결정하기 위한 방법은 다음에 설명된다.
화제를 변경하기 위해, 로봇(1)이 사용자와 대화하기 시작할 때, 로봇(1)은 그 자신의 프레임(이하 "로봇 프레임"으로 지칭됨) 및 사용자에 대한 또 다른 프레임(이하 "사용자 프레임"으로 지칭됨)을 생성한다. 도 10을 참조하면, 프레임이 설명된다. "어제 나리타에서 사건이 있었다", 로봇(1)은 신규 화제를 사용자에게 시간 t1에서 소개한다. 이 때, 로봇 프레임(141) 및 사용자 프레임(142)이 화제 메모리(74)에 생성된다.
로봇 프레임(141) 및 사용자 프레임(142)에는 동일 아이템, 즉 "언제", "어디서", "누가", "무엇을" 및 "왜"를 포함하는 5가지 아이템이 제공된다. 로봇(1)이 "어제 나리타에서 사건이 있었다"는 화제를 소개할 때, 로봇 프레임(141)의 각아이템은 0.5로설정된다. 각 아이템에 대해 설정될 수 있는 값은 0.0에서 1.0까지의 범위이다. 어떤 아이템이 0.0.으로 설정될 때, 사용자는 그 아이템(사용자는 전술된 그 아이템에 대해 아무것도 모름) 것을 가리킨다. 어떤 아이템이 1.0으로 설정될 때, 그것은 사용자가 정보의 전체에 친숙하다(사용자는 그 아이템을 완전히 논의했다)는 것을 가리킨다.
로봇(1)이 화제를 소개할 때, 로봇(1)은 그 화제에 대한 정보를 가진다는 것을 가리킨다. 다시 말해서, 소개된 화제는 화제 메모리(76)에 저장된다. 특히, 소개된 화제는 화제 메모리(76)에 저장되어 왔다. 소개된 화제가 현재 화제가 되므로, 소개된 화제는 화제 메모리(76)에서 현재 메모리(77)로 전달되고, 그러므로 소개된 화제는 이제 현재 메모리(77)에 저장된다.
사용자는 저장된 정보에 관한 더 많은 정보를 처리할 수 있거나 그렇지 않을 수 있다. 로봇(1)이 화제를 소개할 때, 소개된 화제에 관한 로봇 프레임(141)의 각 아이템의 초기 값은 0.5로 설정된다. 사용자는 소개된 아이템에 대해 아무것도 모르며, 사용자 프레임(142)의 각 아이템은 0.0으로 설정된다고 가정한다.
비록 0.5의 초기값이 본 실시예에서 설정되었지만, 초기 값으로서 또 다른 값을 설정할 수 있다. 특히, 아이템 "언제"는 일반적으로 정보의 다섯가지 단편, 즉, "년", "월", "일", "시" 및 "분"을 포함한다(만약 "초" 정보가 아이템 "언제"에 포함되면, 총 여섯개의 정보 단편이 포함된다. 대화는 일반적으로 "초"의 레벨까지 도달하지 않으므로, "초" 정보는 아이템 "언제"에 포함되지 않는다). 만약 다섯 개의 정보가 포함되면, 전체 정보가 제공된다는 것을 결정할 수 있다. 그러므로, 1.0을 5로 나누면 0.2가 되고, 0.2는 각개의 정보에 할당될 수 있다. 예를 들어, 단어 "어제"는 세개의 정보, 즉 "년", "월" 및 "일"을 포함한다는 것을 결론지을 수 있다. 그러므로, 아이템 "언제"에 대해 0.6이 설정된다.
상기 설명에서, 각 아이템의 초기값은 0.5로 설정된다. 예를 들어, 아이템 "언제"에 대응하는 키워드가 현재 화제에 포함되지 않을 때, 화제 메모리(76)에 화제 "언제"의 초기값으로서 0.0을 설정할 수 있다.
대화가 이러한 방식으로 시작할 때, 로봇 프레임(141), 사용자 프레임(142) 및 프레임(141 및 142) 상의 각 아이템의 값이 설정된다. 로봇(1)에 의해 행해진 구두 진술 "어제 나리타에 사건이 있었다"에 응답하여, 사용자는 시간 t2에서 로봇(1)에게 로봇(1)이 말한 것을 반복하도록 요청하기 위해 "뭐라고?"를 말한다. 시간 t3에서, 로봇(1)은 동일한 구두 진술을 반복한다.
구두 진술이 반복되기 때문에, 사용자는 로봇(1)에 의해 행해진 구두 진술을 이해하며, 사용자는 시간 t4에서 로봇(1)에 의해 행해진 구두 진술을 사용자가 이해한 것을 나타내는 "응"을 말한다. 이에 응답하여, 사용자 프레임(142)은 재기록된다. 사용자측에서, 아이템 "언제", "어디서" 및 "무엇을"이 "어제", "나리타에서" 및 "사건이 있었다"를 가리키는 정보에 기초하여 각각 알게 된다는 것이 결정된다. 이들 아이템은 0.2로 설정된다.
비록 이들 아이템이 본 실시예에서 0.2로 설정되지만, 이들은 다른 값으로 설정될 수 있다. 예를 들어, 현재 화제의 아이템 "언제"에 관해서, 로봇(1)이 처리하는 모든 정보를 로봇(1)이 알릴 때, 사용자 프레임(142)의 아이템 "언제"는 로봇 프레임(141)의 값과 동일 값으로 설정될 수 있다. 특히, 로봇(1)이 아이템 "언제"에 대해 키워드 "어제"를 단지 소유할 때, 로봇(1)은 상기 정보를 사용자에게 이미 제공했다. 사용자 프레임(142)에서의 아이템 "언제"의 값이 로봇 프레임(141)에서의 아이템 "언제"에 대해 설정된 값과 동일한 0.5로 설정된다.
도 11을 참조하면, 사용자는 시간 t4에서 "응"을 말하는 대신에 "몇시에?"를 물어본다. 이러한 경우, 서로 다른 값이 사용자 프레임(142)에 설정된다. 특히, 사용자가 로봇(1)에게 아이템 "언제"에 관한 질문을 하기 때문에, 로봇(1)은 사용자가 아이템 "언제"에 대한 정보에 흥미가 있다는 것을 결정한다. 다음 로봇(1)은 사용자 프레임(142)에서의 아이템 "언제"를 다른 아이템에 대해 설정된 0.2보다 큰 0.4로 설정한다.
따라서, 로봇 프레임(141) 및 사용자 프레임(142)에서의 아이템에 대해 설정된 값은 대화의 내용에 따라 가변한다.
상기 설명에서, 로봇(1)은 화제를 사용자에게 소개했다. 도 12를 참조하면, 사용자가 로봇(1)에 화제를 소개하는 경우가 설명된다. "나리타에서 사건이 있었다", 사용자는 시간 T1에서 로봇(1)에게 말한다. 이에 응답하여, 로봇(1)은 로봇 프레임(141) 및 사용자 프레임(142)을 생성한다.
사용자 프레임(142)에서 아이템인 "어디서" 및 "무엇을"에 대한 값은 "나리타" 및 "사건이 있었다"를 가리키는 정보에 기초하여 각각 설정된다. 유사하게,로봇 프레임(141)의 각 아이템은 사용자 프레임(142)의 값과 동일한 값으로 설정된다.
시간 t2에서, 로봇(1)은 사용자에 의해 행해진 구두 진술에 응답한다. 로봇(1)은 값 0.0을 갖는 아이템이 결국 로봇 프레임(141) 및 사용자 프레임(142)으로부터 결국 사라지는 방식으로 대화가 계속되도록 응답 진술을 생성한다. "언제"는 시간 t2에서 로봇(1)이 사용자에게 묻는다.
질문에 응답하여, 사용자는 시간 t3에서 "어제"를 질문한다. 이러한 진술에 응답하여, 로봇 프레임(141) 및 사용자 프레임(142)에서의 각 아이템의 값은 리셋된다. 특히, 아이템 "언제"에 관해 "어제"를 가리키는 정보가 구해지므로, 로봇 프레임(141) 및 사용자 프레임(142)의 각각에서의 아이템 "언제"는 0.0에서 0.2까지 리셋된다.
도 13을 참조하면, 로봇(1)은 시간 t4에서 사용자에게 "몇시에?"를 질문한다. "밤 8시 이후", 사용자는 시간 t5에서 질문에 응답한다. 로봇 프레임(141) 및 사용자 프레임(142) 각각에서의 아이템 "언제"는 0.2보다 큰 0.6으로 리셋된다. 이러한 방식으로, 로봇(1)은 사용자에게 질문하고, 그러므로 0.0으로 설정된 아이템이 결국 사라지도록 대화가 수행된다. 그러므로, 로봇(1) 및 사용자는 자연스러운 대화를 할 수 있다.
대안적으로, 사용자가 t5에서 "난 모른다"를 말한다. 이러한 경우, 로봇 프레임(141) 및 사용자 프레임(142) 각각에서의 아이템 "언제"는 상술한 바와 같이 0.6으로 설정된다. 이는 로봇(1) 및 사용자 모두가 아무것도 모르는 아이템에 대한 질문을 다시 하는 것을 로봇(1)이 중지하도록 의도된다. 다시 말해, 작은 값으로 값이 유지될 때, 로봇(1)은 사용자에게 다시 질문할 가능성이 있다. 이와 같은 경우를 방지하기 위해 보다 큰 값으로 값이 설정된다. 로봇(1)이 사용자가 어떤 아이템에 대해 전혀 모르는 응답을 수신할 때, 상기 아이템에 대한 대화를 계속하는 것은 불가능하다. 그러므로, 이러한 아이템은 1.0으로 설정될 수 있다.
이러한 대화를 계속함으로써, 로봇 프레임(141) 및 사용자 프레임(142)에서의 각 아이템의 값은 1.0에 다가간다. 특정 화제에 대한 모든 아이템이 1.0으로 설정될 때, 그것은 상기 화제에 대한 모든 것이 논의되었다는 것을 의미한다. 이러한 경우, 화제를 바꾸는 것이 당연하다. 화제를 전체적으로 논의하기 전에 화제를 바꾸는 것이 또한 당연하다. 다시 말해, 만약 로봇(1)이 대화 화제가 어떠한 화제를 전체적으로 논의하기 전에 다음 화제로 변경될 수 없도록 설정된다면, 대화는 너무 많은 질문을 포함하는 경향이 있고 사용자를 즐겁게 하지 못한다는 것이 가정된다. 그러므로, 화제가 전체적으로 논의되기 전(즉, 모든 아이템이 1.0에 도달하기 전)에 변경될 수 있도록 로봇(1)이 설정된다.
도 14는 상술된 바와 같이 프레임을 이용하여 화제를 변경하기 위한 타이밍을 제어하기 위한 프로세스를 도시한다. 단계 S1에서, 신규 화제에 대한 대화가 시작된다. 단계 S2에서, 로봇 프레임(141) 및 사용자 프레임(142)은 화제 관리부(74)에서 발생되고, 각 아이템의 값이 설정된다. 단계 S3에서, 평균이 계산된다. 이러한 경우, 로봇 프레임(141) 및 사용자 프레임(142)에서의 총 10개 아이템의 평균이 계산된다.
평균이 계산된 후, 프로세스는 단계 S4에서 화제를 변경하는 지의 여부를 결정한다. 평균이 임계치 T1을 초과하면 화제가 변경되도록 룰이 만들어질 수 있고, 프로세스는 룰에 따라 화제를 변경하는 지의 여부를 결정할 수 있다. 만약 임계치 T1이 작은 값으로 설정되면, 화제는 중도에서 자주 변경된다. 반대로, 만약 임계치 T1이 큰 값으로 설정되면, 대화는 너무 많은 질문을 포함하는 경향이 있다. 이러한 설정은 바람직하지 않은 영향을 가질 것임을 가정한다.
본 실시예에서, 도 15에 도시된 함수는 평균에 기초하여 변경되는 화제의 확률을 변경시키는데 사용된다. 특히, 평균이 0.0 내지 0.2의 범위 내에 있을 때, 변경될 화제의 확률은 0이다. 그러므로, 화제는 변경되지 않는다. 평균이 0.2 내지 0.5의 범위 내에 있을 때, 화제는 0.1의 확률로 변경된다. 평균이 0.5 내지 0.8의 범위 내에 있을 때, 확률=3×평균-1.4의 식을 이용하여 계산된다. 화제는 계산된 확률에 따라 변경된다. 평균이 0.8 내지 1.0의 범위 내에 있을 때, 화제는 1.0의 확률로 변경, 즉 화제가 항상 변경된다.
평균 및 확률을 이용함으로써, 화제를 변경하기 위한 타이밍이 변경될 수 있다. 그러므로 로봇(1)이 사용자와의 보다 자연스러운 대화를 유지할 수 있게 하는 것이 가능하다. 도 15에 도시된 함수는 예로서 사용되며, 상기 타이밍은 다른 함수에 따라 변경될 수 있다. 또한, 비록 평균이 0.2이상일 때 확률이 0.00이 아니더라도, 프레임 내의 열개의 아이템으로부터 네개가 0.0으로 설정될 때 변경될 화제의 확률이 0으로 설정되도록 룰을 만들 수 있다.
또한, 대화의 날에 대한 시간에 따라 서로 다른 함수를 사용할 수 있다. 예를 들어, 아침 및 저녁에 서로 다른 함수가 사용될 수 있다. 아침에, 사용자는 많은 주제에 대해 간단하게 다루는 광범위한 대화를 할 수 있는 반면, 저녁에 대화가 깊어질 수 있다.
도 14를 다시 참조하면, 만약 단계 S4에서 프로세스가 화제를 변경할 것을 결정하면, 화제는 변경되고(다음 화제를 추출하기 위한 프로세스는 이하 설명됨), 프로세스는 다음 화제에 기초하여 앞의 단계 S1으로부터 프로세싱을 반복적으로 실행한다. 반대로, 프로세스가 단계 S4에서 화제를 변경하지 않을 것을 결정하면, 프로세스는 신규 진술에 따라 프레임 내의 아이템의 값을 리셋한다. 프로세스는 리셋 값을 이용하여 앞의 단계 S3으로부터 프로세싱을 반복한다.
비록 화제를 변경하기 위한 타이밍을 결정하는 프로세스가 프레임을 이용하여 실행되지만, 서로 다른 프로세스를 이용하여 타이밍이 결정될 수 있다. 로봇(1)이 사용자와의 대화를 계속 주고 받을 때, 로봇(1) 및 사용자 간의 교환의 수가 계수될 수 있다. 일반적으로, 주로 받는 횟수가 많았을 때, 화제는 전체적으로 논의된 것으로 결론질 수 있다. 그래서 대화의 주고 받는 횟수에 기초하여 화제를 변경할 지의 여부를 결정할 수 있다.
만약 N이 대화의 주고 받는 횟수를 가리키는 계수이고, 만약 계수 N이 선정된 임계치를 초과하면, 화제가 변경될 수 있다. 대안적으로, 수학식 P=1-1/N을 계산함으로써 구해진 값 P가 도 15에 도시된 평균 대신에 이용될 수 있다.
대화의 주고 받는 횟수를 계수하는 대신, 대화의 지속 시간이 측정될 수 있고, 화제를 변경하기 위한 타이밍이 지속 시간에 기초하여 결정될 수 있다. 로봇(1)의 의해 행해진 구두 진술의 지속 시간 및 사용자에 의해 행해진 구두 진술의 지속 시간이 축적되고 부가되며, 합 T는 계수 N 대신에 사용된다. 합 T가 선정된 임계치를 초과할 때, 화제가 변경될 수 있다. 대안적으로, Tr은 기준 대화 시간을 가리키고, 수학식 P=T/Tr을 계산함으로써 구해진 값 P는 도 15에 도시된 평균 대신에 사용될 수 있다.
계수 N 또는 합 T가 화제를 변경하기 위한 타이밍을 결정하는데 이용되고, 수행될 프로세싱은 기본적으로 도 14를 참조하여 설명된 것과 같다. 단지 차이점은 프레임을 생성하기 위해 단계 S2의 프로세싱이 계수 S3(또는 합 T)를 0으로 초기화하는데 변경된다는 것과, 단계 S3의 프로세싱이 생략된다는 것과, 단계 S5의 프로세싱이 계수 N(또는 합 T)을 갱신하기 위해 변경된다.
사람에 의한 대화 파트너로의 응답은 사람이 논의되고 있는 내용에 관심이 있는 지의 여부를 결정하는데 중요한 요소이다. 만약 사용자가 대화에 괌심이 없는 것으로 결정되면, 화제가 변경되는 것이 바람직하다. 화제를 변경하기 위한 타이밍을 결정하기 위한 프로세스가 사용자에 의한 음성의 시간-가변적인 사운드 압력을 이용한다. 도 16a를 참조하면, 입력된 사용자 음성(입력 패턴)의 간격 정규화가 입력 패턴을 분석하기 위해 실행된다.
도 16b는 사용자 음성(응답)의 간격 정규화의 결과를 정규 분석으로서 가정할 수 있는 네개의 패턴을 도시한다. 특히, 긍정 패턴, 무관심 패턴, 표준 패턴(단지 의도성이 없이 응답), 및 질문 패턴이 있다. 입력된 입력 패턴의 간격 정규화의 결과가 유사한 패턴이 예를 들어 몇몇 기준 함수를 이용하야 구해지는 내적을 벡터로서 이용하여 거리를 계산하기 위한 프로세스에 의해 결정된다.
만약 입력된 입력 패턴이 무관심을 나타내는 패턴인 것으로 결정되면, 화제는 즉시 변경될 수 있다. 대안적으로, 입력 패턴이 무관심을 나타낸다는 결정의 수가 축적될 수 있고, 만약 누적 값 Q가 선정된 값을 초과하면, 화제는 변경될 수 있다. 또한, 대화의 주고 받는 횟수가 계산될 수 있다. 계수 N으로 나눈 누적값 Q는 주파수 R이다. 만약 주파수 R이 선정된 값을 초과하면, 화제가 변경될 수 있다. 주파수 R은 도 15에 도시된 평균 대신에 사용될 수 있고, 그래서 화제가 변경될 수 있다.
다른 사람과 대화하는 사람이 다른 사람이 말한 것을 반복하거나 기계적으로 되풀이할 때, 그 사람은 대화의 화제에 관심이 없다는 것을 통상 의미한다. 그러한 사실의 관점에서, 로봇(1)의 음성 및 사용자의 음성 사이의 일치가 측정되어 점수를 얻게 된다. 점수에 기초하여, 화제가 변경될 수 있다. 예를 들어 점수는 로봇(1)에 의해 발음된 단어의 배열 및 사용자에 의해 발음된 단어의 배열을 간단히 비교함으로써 계산될 수 있어서, 공통 발생 단어의 수로부터 점수를 구할 수 있다.
전술한 방법에서와 같이, 만약 그렇게 구해진 점수가 선정된 값을 초과하면 화제가 변경된다. 대안적으로, 점수는 도 15에 도시된 평균 대신에 사용될 수 있으며, 그래서 화제가 변경될 수 있다.
비록 (사운드 압력 및 시간 간의 관계에 기초하여 구해진) 무관심을 나타내는 패턴이 전술 방법에 이용되더라도, 무관심을 가리키는 단어가 이용되어 화제의 변경을 트리거할 수 있다. 무관심을 가리키는 단어는 "응(Uh-huh)", "예", "뭐라고(Oh, yeah)?", 및 "그래"를 포함한다. 이들 단어는 무관심을 가리키는 단어 그룹으로서 등록된다. 만약 등록 그룹에 포함된 단어중 하나가 사용자에 의해 발음되면, 화제가 변경된다.
사용자가 어떤 화제를 논의해오다가 대화가 중지될 때, 즉, 사용자가 느리게 응답할 때, 사용자는 화제에 매우 관심이 없다는 것과 사용자가 응답할 의향이 없다는 것으로 결론지을 수 있다. 로봇(1)은 사용자가 응답할 때까지의 중지된 지속 시간을 측정할 수 있고, 측정된 지속 시간에 기초하여 화제를 변경할 지의 여부를 결정할 수 있다.
도 17을 참조하면, 만약 사용자가 응답할 때까지의 중지 지속 시간이 0.0 내지 1.0 초 내에 있으면, 화제는 변경되지 않는다. 만약 지속 시간이 1.0 내지 2.0 초의 범위 내에 있으면, 화제는 선정된 함수에 의해 계산된 확률에 따라 변경된다. 만약 시간이 12초 이상이면, 화제는 항상 변경된다. 도 17에 도시된 설정은 예로서 설명되며, 임의의 함수 및 임의의 설정이 사용될 수 있다.
전술 방법중 적어도 하나를 이용하면, 화제를 변경하기 위한 타이밍이 결정된다.
사용자가 화제를 변경하기 위해 사용자의 소망을 가리키는 "이러한 화제는 충분", "그만", 또는 "화제를 변경"과 같은 구두 진술을 할 때, 화제는 상술한 방법에 의해 결정된 화제를 변경하기 위한 타이밍에 무관하게 변경된다.
로봇(1)의 대화 프로세서(38)가 화제를 변경할 것을 결정할 때, 다음 화제가 추출된다. 다음 화제를 추출하기 위한 프로세스가 다음 설명된다. 현재 화제 A에서 다른 화제 B로 변경할 때, 화제 A에서 화제 A와 전혀 관련되지 않는 화제 B로 변경할 수 있다. 화제 A에서 화제 A와 다소 관련있는 화제 B로 변경하는 것이 보다 바람직하다. 이러한 경우, 대화 흐름이 방해되지 않으며, 대화는 종종 유창하게 계속되는 경향이 있다. 본 실시예에서, 화제 A는 화제 A와 관련된 화제 B로 변경된다.
화제를 변경하기 위해 사용된 정보는 화제 메모리(76)에 저장된다. 만약 대화 프로세서(38)가 상술된 방법을 이용하여 화제를 변경할 것을 결정하면, 다음 화제는 화제 메모리(76)에 저장된 정보에 기초하여 추출된다. 화제 메모리(76)에 저장된 정보는 다음에 설명된다.
상술한 바와 같이, 화제 메모리(76)에 저장된 정보는 인터넷과 같은 통신 네트워크를 통해 다운로드되고 화제 메모리(76)에 저장된다. 도 18은 화제 메모리(76)에 저장된 정보를 도시한다. 본 실시예에서, 네개의 정보가 화제 메모리(76)에 저장된다. 각개 정보는 "주제", "언제", "어디서", "누가", "무엇을" 및 "왜"와 같은 아이템으로 구성된다. "주제" 이외의 아이템은 로봇 프레임(141) 및 사용자 프레임(142)에 포함된다.
아이템 "주제"는 정보의 제목을 가리키며, 정보의 내용을 식별하도록 제공된다. 각개의 정보는 내용을 대표하는 속성을 갖는다. 도 19를 참조하면, 속성으로서 키워드가 이용된다. 각개의 정보에 포함된 (그 자신의 의미를 갖는 명사, 동사 등과 같은) 자립어가 선택되고 키워드로서 설정된다. 정보는 내용을 설명하기 위해 텍스트 형식으로 저장될 수 있다. 도 18에 도시된 예에서, 내용이 추출되어 아이템 및 값(속성 또는 키워드)의 쌍을 이루는 프레임 구조에 유지된다.
도 20을 참조하면, 대화 프로세서(38)를 이용하여 로봇(1)에 의해 화제를 변경시키기 위한 프로세스가 설명된다. 단계 S11에서, 대화 프로세서(38)의 화제 관리자(74)는 상술한 방법을 이용하여 화제를 변경시키는지의 여부를 결정한다. 단계 S11에서 화제를 변경시키는 것이 결정된 경우, 단계 S12에서, 프로세스는 현재의 화제의 정보와, 화제 메모리(76)내에 기억되어 있는 다른 화제 각각의 정보 간의 연관도를 계산한다. 연관도를 계산하기 위한 프로세스가 다음에 설명된다.
예를 들면, 연관도는 키워드의 벡터에 의해 이루어진 각, 즉 정보의 속성, 어떤 카테고리의 일치(동일 카테고리나 유사한 카테고리의 정보가 서로 유사한 것으로 결정될 때 일치 발생) 등을 이용하는 프로세스를 이용하여 계산될 수 있다. 키워드 사이의 연관도는 표(이하 연관도표로 지칭됨)로 정의될 수 있다. 연관도표에 기초하여, 현재 화제에 대한 정보 키워드 및 화제 메모리(76) 내에 기억되어 있는 화제에 대한 정보 키워드 간의 연관도가 계산될 수 있다. 이러한 방법을 이용하여, 다른 키워드 사이의 연관을 포함한 연관도가 계산될 수 있다. 그러므로, 화제가 보다 자연스럽게 변경될 수 있다.
연관도표에 기초하여 연관도를 계산하기 위한 프로세스가 다음에 설명된다. 도 21은 연관도표의 일례를 도시한다. 도 21에 도시된 연관도는 "버스 사고"에 관한 정보 및 "비행기 사고"에 관한 정보 사이의 관계를 도시한다. 연관도표를 편집하기 위해 선택될 두개 정보가 현재 화제에 대한 정보 및 다음 화제로서 아마 선택될 화제에 대한 정보이다. 다시 말해, 현재 화제 메모리(77)(도 5)에 저장된 정보 및 화제 메모리(76)에 저장된 정보가 사용된다.
"버스 사고"에 관한 정보는 9개의 키워드, 즉 "버스", " 사고", "2월", "10일", "삿포로", "승객", "10명", "부상", 및 "미끄럼 사고"를 포함한다. "비행기 사고"에 관한 정보는 8개의 키워드, 즉 "비행기", "사고", "2월, "10일", "인도", "승객", " 100명", "부상"을 포함한다.
키워드 사이에는 총 72(= 9 ×8)의 조합이 있다. 키워드의 각 쌍은 연관도를 나타내는 점수가 제공된다. 총 점수는 두개 정보 간의 연관도를 가리킨다. 도 21에 도시된 표는 정보를 제공하는 서버(101)(도 7)에 의해 생성될 수 있고, 생성된 표 및 정보가 로봇(1)에 제공될 수 있다. 대안적으로, 로봇(1)은 서버(101)로부터 정보를 다운로드하고 저장할 때 표를 생성하고 저장할 수 있다.
표가 미리 생성될 때, 현재 화제 메모리(77)에 저장된 정보 및 화제 메모리(77)에 저장된 정보 모두가 서버(101)로부터 다운로드된 것이라고 가정한다. 다시 말해, 화제 메모리(76)가 사용자에 의해 아마도 논의되고 있는 화제에 대한 정보를 저장할 때, 화제가 로봇(1) 또는 사용자에 의해 변경되었는지의 여부와 무관하게 미리 생성된 표를 사용할 수 있다. 그러나, 사용자가 화제를 변경했을 때, 그리고 다음 화제가 화제 메모리(76)에 저장되지 않는 것이 결정될 때, 사용자에 의해 소개된 화제에 대해 미리 생성된 표가 없다. 그레서, 신규 표를 생성할 필요가 있다. 신규 표를 생성하기 위한 프로세스가 이하 설명된다.
표는 시소러스(Thesaurus)(단어가 의미에 따라 분류되고 배열되는 분류어휘표)를 참조하여, 대량의 코포라(corpora)에 기초하여 통계적으로 자주 동일 문맥에 나타나기 쉬운 단어 사이의 연관도를 구함으로써 생성된다.
도 21을 다시 참조하면, 연관도를 계산하기 위한 프로세스가 특정 실시예를 이용하여 설명된다. 상술한 바와 같이, "버스 사고"에 대한 정보 및 "비행기 사고"에 대한 정보의 키워드 사이에 72 조합이 있다. 조합은 예를 들어, "버스" 및 "비행기", "버스" 및 "사고" 등을 포함한다. 도 21에 도시된 예에서, "버스" 및 "비행기" 사이의 연관도는 0.5이며, "버스" 및 "사고" 사이의 연관도는 0.3이다.
이러한 방식으로, 현재 화제 메모리(77)에 저장된 정보 및 화제 메모리(76)에 저장된 정보에 기초하여 표가 생성되고, 총 점수가 계산된다. 합계가 전술 방식으로 계산될 때, 선택된 화제(정보)가 다수의 키워드를 가질 때 점수가 커지기 쉽다. 선택된 화제가 단지 몇몇 키워드를 가질 때, 점수는 작아질 가능성이 많다. 이들 문제를 회피하기 위해, 합계를 계산할 때, 연관도를 계산하는데 사용되는 키워드의 조합의 수(도 21에 도시된 예의 72 조합)로 나눔으로써 정규화가 실행될 수 있다.
화제 A에서 화제 B로 변경할 때, 연관도 ab는 키워드 사이의 연관도를 가리킨다고 가정한다. 화제 B에서 화제 A로 변경할 때, 연관도 ba는 키워드 사이의 연관도를 가리킨다고 가정한다. 연관도 ab가 연관도 ba와 동일 점수를 가질 때, 도 21에 도시한 바와 같이, 표의 하부좌측부(또는 상부우측부)가 이용된다. 만약 화제 변경의 방향이 고려된다면, 표의 전체를 사용할 필요가 있다. 동일 알고리즘은 표의 일부 또는 전체가 사용되는 지의 여부와 무관하게 사용될 수 있다.
도 21에 도시된 표를 생성하고 총합을 계산할 때, 총합을 간단하게 계산하는 대신, 키워드가 가중치를 둘 수 있도록 현재 화제의 흐름을 고려함으로써 총합이 계산될 수 있다. 예를 들어, 현재 화제는 "버스 사고가 있었다"인 것으로 가정한다. 화제의 키워드는 "버스" 및 "사고"를 포함한다. 이들 키워드에 가중치를 둘 수 있으므로, 이들 키워드를 포함하는 표의 총합은 증가한다. 예를 들어, 키워드가 점수를 배로 함으로써 가중치화된다고 가정한다. 도 21에 도시된 표에서, "버스" 및 "비행기" 사이의 연관도는 0.5이다. 이들 키워드가 가중치화될 때, 점수는 배가 되어 1.0이 된다.
키워드가 상기와 같이 가중치화될 때, 이전 화제 및 다음 화제의 내용은 보다 가까이 연관된다. 그러므로, 화제의 벼경을 포함하는 대화가 더 자연스럽게 된다. 가중치를 둔 키워드를 이용하는 표가 사용될 수 있다(표는 재기록될 수 있다). 대안적으로, 표는 연관도의 총합을 계산할 때 키워드가 가중치화되는 동안 유지된다.
도 20을 참조하면, 단계 S12에서, 프로세스는 현재 화제 및 각각의 다른 화제 간의 연관도를 계산한다. 단계 S13에서, 연관도가 가장 높은 화제, 바꾸어 말하면, 총합치가 가장 높은 표의 정보가 선택되어, 선택된 화제는 다음 화제로서 설정된다. 단계 S14에서, 현재 화제가 다음 화제로 변경되고 신규 화제에 대한 대화가 시작된다.
단계 S15에서, 이전 화제 변경이 평가되고, 그 평가에 따라서, 연관도표가 갱신된다. 다른 사용자가 동일 화제에 대해 다른 개념을 가지기 때문에 프로세싱 단계가 수행된다. 그래서 자연적인 대화를 유지하기 위해 각 사용자와 일치하는 표를 생성할 필요가 있다. 예를 들어, 키워드 "사고"는 다른 사용자에게 다른 개념을 상기시킨다. 사용자 A는 "열차 사고"를 상기하고, 사용자 B는 "비행기 사고"를, 사용자 C는 "교통 사고"를 상기하게 된다. 사용자 A가 삿포로에 여행에 가는 계획을 세워, 실제로 여행을 갈 때, 동일 사용자 A가 키워드 "삿포로"로부터 다른 인상을 가질 것이며, 그러므로 사용자 A는 대화를 다르게 진전시킬 것이다.
모든 사용자는 하나의 화제에 대해 동일하게 느끼지 않는다. 또한, 동일 사용자는 시간 및 상황에 따라 화제에 대해 다르게 느낄 것이다. 그러므로, 사용자와의 보다 자연스럽고 즐거운 대화를 유지하기 위해 표에 도시된 연관도를 동적으로 변경하는 것이 바람직하다. 이러한 목적을 위해, 단계 S15의 프로세싱이 실행된다. 도 22는 단계 S15에 실행된 프로세싱을 상세히 도시한다.
단계 S21에서, 프로세스는 화제의 변경이 적절하였는지의 여부를 결정한다. 단계 S14에서 (화제 T라고 표현된) 다음 화제가 기분으로 이용된다고 가정하면, 이전 화제 T-1 및 이전 화제 T-1 전의 화제 T-2에 기초하여 결정이 수행된다. 특히, 화제 T-2가 화제 T-1로 변결될 때 로봇(1)으로부터 사용자에게 조사된 화제 T-2에 대한 정보의 량을 로봇(1)이 결정한다. 예를 들어, 화제 T-2가 열개의 키워드를 가질 때, 로봇(1)은 화제 T-2가 화제 T-1로 변경될 때 조사된 키워드의 수를 결정한다.
다수의 키워드가 조사되는 것이 결정될 때, 대화는 긴 시간 동안 유지된 것으로 결론짓는다. 화제 T-2가 긴 시간 동안 논의된 후 화제 T-2가 화제 T-1으로 변경되었는지의 여부를 결정함으로서 화제의 변경이 적절했는지의 여부가 결정될 수 있다. 이는 사용자가 화제 T-2에 대해 호의적인지의 여부를 결정하는 것이다.
만약 프로세스가 단계 S21에서 화제의 변경이 상술한 결정 프로세스에 기초하여 적절했는지를 결정하면, 프로세스는 단계 S22에서 화제 T-1 및 화제 T-2 사이의 모든 키워드 쌍을 생성한다. 단계 S23에서, 프로세스는 키워드 쌍의 점수가 증가되도록 연관도표를 갱신한다. 이러한 방식으로 연관도표를 갱신함으로써, 화제의 변경은 다음으로부터 화제의 동일 조합시 더 자주 발생하기 쉽게 된다.
만약 프로세스가 단계 S21에서 화제의 변경이 적절하지 않은 것으로 결정하면, 부적절한 것으로 결정된 화재의 변경에 대한 정보가 사용되지 않도록 연관도표는 갱신되지 않는다.
화제 메모리(77)에 저장된 정보 및 화제 메모리(76)에 저장된 모든 화제에 대한 각개의 정보 사이의 연관도를 계산하고, 각 총합을 비교함으로써, 다음 화제를 결정하는 계산 비용은 높다. 비용을 최소화하기 위해, 화제 메모리(76)에 저장된 각 정보의 총합을 계산하는 대신, 화제 중에서 다음 화제가 선택되고 화제가 변경된다. 도 23을 참조하면, 대화 프로세서(38)를 이용하는 상술한 프로세스가 다음에 설명된다.
단계 S31에서, 화제 관리자(74)는 상술한 방법에 기초하여 화제를 변경하는 지의 여부를 결정한다. 만약 결정이 긍적적이면, 단계 S32에서 한개의 정보가 화제 메모리(76)에 저장된 모든 정보중에서 선택된다. 단계 S33에서, 선택된 정보 및 현재 화제 메모리(77)에 저장된 정보 사이의 연관도가 계산된다. 단계 S33에서 프로세싱은 도 20을 참조하여 설명된 것과 유사한 방식으로 실행된다.
단계 S34에서, 프로세스는 단계 S33에서 계산된 총합이 임계치를 초과하는 지의 여부를 결정한다. 만약 S34에서의 결정이 부정적이면, 프로세스는 단계 S32로 복귀하고, 화제 메모리(76)로부터의 신규 화제에 대한 정보를 판독하며, 선택된 정보에 기초하여 앞의 단계 S32로부터 프로세싱을 반복한다.
단계 S34에서, 총합이 임계치를 초과하는 것으로 프로세스가 결정되면, 프로세스는 단계 S35에서 화제가 최근 이야기된 것인지의 여부를 결정한다. 예를 들어, 단계 S32에서 화제 메모리(76)로부터 판독된 화제에 대한 정보가 현재 화제이전에 논의되었다고 가정한다. 동일 화제를 다시 논의하는 것은 자연스럽지 않으며, 그렇게 하는 것은 대화를 불유쾌하게 할 것이다. 이러한 문제를 피하기 위해, 단계 S35에서의 결정이 실행된다.
단계 S35에서, 대화 이력 메모리(75)(도 5) 내의 정보를 검사함으로써 결정이 실행된다. 만약 화제가 최근 이야기되지 않았던 것이 대화 이력 메모리(75) 내의 정보를 검사함으로써 결정되면, 프로세스는 단계 S36으로 진행한다. 만약 화제가 최근 이야기된 것이 결정되면, 프로세스는 단계 S32로 되돌아가고, 앞의 단계 S32로부터 프로세싱이 반복된다. 단계 S36에서, 화제는 선택된 화제로 변경된다.
도 24는 로봇(1) 및 사용자 사이의 대화의 예를 도시한다. t1에서, 로봇(1)은 주제 "버스 사고"(도 19 참조)를 다루는 정보를 선택하여 대화를 시작한다. 로봇(1)은 "삿포로에서 버스의 사고가 있었다"라고 말한다. 이에 응답하여, 사용자는 시간 t2에서 "언제?"라고 질문한다. 로봇(1)은 시간 t3에서 "12월 10일"이라고 대답한다. 이에 응답하여, 사용자는 시간 t4에서 "부상을 한 사람은 있습니까?"에 대해 로봇(1)에게 새로운 질문을 한다.
로봇(1)은 시간 t5에서 "10명입니다"를 답한다. 사용자는 시간 t6에서 "응"으로 응답한다. 전술한 프로세스는 대화 동안 반복적으로 실행된다. 시간 t7에서, 로봇(1)은 화제를 변경할 것을 결정하고 다음 주제로서 사용될 주제 "비행기 사고"를 다루는 화제를 선택한다. 현재 화제 및 다음 화제가 "사고", "2월", "10일", 및 "부상"과 같은 동일 키워드를 가지기 때문에 "비행기 사고"에 대한 화제가 선택되고, 현재 화제에 밀접하게 연관되도록 "비행기 사고"에 대한 화제가 결정된다.
시간 t7에서, 로봇(1)은 화제를 변경하고 "동일 날에, 비행기 사고 또한 있었다"를 말한다. 이에 응답하여, 사용자는 시간 t8에서, "인도 사람?"이냐고 흥미를 가지고서 화제에 대한 세부 사항을 알기를 원하는 질문을 한다. 질문에 응답하여, 로봇(1)은 시간 t9에서 대화를 계속하기 위해서, "그렇습니다만, 사고의 원인은 모릅니다."라고 사용자에게 말한다. 그래서 사용자에게 사고의 원인이 알려져 있지 않는다는 사실을 알려준다. 사용자는 시간 t10에서 로봇(1)에게 "얼마나 부상당했습니까?"라고 질문한다. 로봇(1)은 시간 t11에서 "100명입니다"라고 대답한다.
따라서, 전술한 방법을 이용하여 화제를 변경시킴으로써 대화가 자연스러워진다.
반대로, 도 24에 도시된 예에서, 사용자는 시간 t8에서, 화제 변경의 거절을 나타내고 로봇(1)이 이전 화제로 되돌아갈 것을 요청하는 "잠깐만, 버스 사고의 원인은 무엇입니까""이라고 말할 수 있다. 대안적으로, 다음 화제에 대한 대화에서 중단이 될 수 있다. 이러한 경우, 다음 화제가 사용자에게 수용되지 않는다는 것이 결정된다. 화제는 이전 화제로 되돌아가고, 대화가 계속된다.
상술 설명에서, 모든 화제에 대한 표가 생성되는 경우가 설명되었고, 가장 높은 총합을 갖는 하나의 표가 표중에서 다음 화제로서 선택된다. 이러한 경우, 화제 메모리(76)는 다음 화제로서 적당한 화제에 대한 정보를 항상 저장한다. 다시 말해, 만약 선택된 화제가 다른 화제와 비교된 보다 높은 연관도를 가진다면, 현재 화제에 밀접하게 연관되지 않는 화제가 다음 화제로서 선택될 수 있다. 상황에 따라 대화의 흐름이 자연스럽지 않을 수 있다(즉, 화제가 전체적으로 다른 화제로 변경될 수 있다).
이러한 문제를 피하기 위해, 다음 경우, 예를 들어 선정된 값보다 낮은 연관도를 갖는 화제가 단지 다음 화제로서의 선택에 유용한 경우, 및 임계치 미만의 총합을 각각 갖는 화제가 검출되는 경우에, 선택가능 다음 화제가 임계치보다 큰 연관도(총합치)를 가져야하기 때문에 다음 화제로서 사용될 화제를 선택하는 것을 불가능하게 하므로, 로봇(1)은 저체적으로 다른 화제로의 변경이 있을 것을 사용자에게 시그널링할 목적으로, "그런데", 또는 "내가 한말을 취소"와 같은 구절을 발음하도록 구성될 수 있다.
비록 로봇(1)이 상기 실시예에서 화제를 변경하더라도, 사용자가 화제를 변경하는 경우도 가능하다. 도 25는 사용자에 의한 화제의 변경에 응답하여 대화 프로세서(38)에 의해 실행되는 프로세스를 도시한다. 단계 S41에서, 로봇(1)의 화제 관리자(74)는 사용자에 의해 소개된 화제가 현재 화제 메모리(77)에 저장된 현재 화제와 연관되는 지의 여부를 결정한다. 화제가 로봇(1)에 의해 변경될 때 화제(키워드) 사이의 연관도를 계산하기 위한 방법과 유사한 방법을 이용하여 결정이 실행될 수 있다.
특히, 사용자에 의해 행해진 하나의 구두 진술롭터 추출된 키워드 및 현재 화제의 키워드의 그룹 사이에서 연관도가 계산된다. 만약 선정된 임계치에 관한 조건이 만족되면, 프로세스는 사용자에 의해 도입된 화제가 현재 화제에 연관되는 지를 결정한다. 예를 들어, 사용자가 "내가 상기한 바와 같이, 삿포로에서 눈 축제가 열릴 것이다"라고 말한다. 진술로부터 추출된 키워드는 "삿포로", "눈축제" 등을 포함한다. 화제 간의 연관도는 이들 키워드 및 현재 화제의 키워드를 이용하여 계산된다. 프로세스는 사용자에 의해 도입된 화제가 계산 결과에 기초하여 현재 화제와 연관되는 지의 여부를 결정한다.
만약 단계 S41에서 사용자에 의해 도입된 화제가 현재 화제와 연관된다고 결정되면, 사용자에 의해 화제의 변경을 추적할 필요가 없으므로 프로세스는 종료된다. 반대로, 만약 단계 S41에서 사용자에 의해 도입된 화제가 현재 화제와 연관되지 않는다고 결정되면, 프로세스는 단계 S42에서 화제의 변경이 허용되는 지의 여부를 결정한다.
프로세스는 만약 로봇(1)이 현재 화제를 다루는 임의의 논의되지 않은 정보를 가지면, 화제가 변경되지 않도록 룰에 따라 화제의 변경이 허용되는 지의 여부를 결정한다. 대안적으로, 화제가 로봇(1)에 의해 변경될 때 실행된 프롯싱과 유사한 방식으로 결정이 수행될 수 있다. 특히, 로봇(1)이 화제를 변경하는데 타이밍이 적절하지 않다는 것을 결정할 때, 화제의 변경은 허용되지 않는다. 그러나, 이러한 설정은 로봇(1)이 화제를 변경할 수 있게 한다. 화제의 변경이 사용자에 의해 도입될 때, 사용자가 화제를 변경할 수 있도록 확률을 설정하는 것과 같은 프로세싱을 수행할 필요가 있다.
만약 프로세스가 단계 S42에서 화제의 변경은 허용되지 않는 것으로 결정하면, 화제가 변경되지 않으므로 프로세스는 종료된다. 반대로, 만약 단게 S42에서 화제의 변경이 허용된다는 것을 프로세스가 결정하면, 단계 S43에서 프로세스는 사용자에 의해 도입된 화제를 검출하기 위해 사용자에 의해 도입된 화제 메모리(76)의 화제를 검색한다.
화제 메모리는 단계 S41에 사용된 프로세스와 유사한 프로세스를 이용하여 사용자에 의해 도입된 화제를 검색할 수 있다. 프로세스는 사용자에 의해 행해진 구두 진술로부터 추출된 키워드 및 화제 메모리(76)에 저장된 화제(정보)의 각각의 키워드 그룹 사이의 연관도(또는 그의 총합)를 결정한다. 가장 큰 계산 결과를 갖는 정보가 사용자에 의해 도입된 화제의 후보로서 선택된다. 만약 후보의 계산 결과가 선정된 값 또는 그 이상이면, 프로세스는 정보가 사용자에 의해 도입된 화제와 일치한다는 것을 결정한다. 비록 프로세스가 상요자의 화제와 일치하는 화제를 추출하는 데 높은 성공율을 가져서 신뢰성이 있을 지라도, 프로세스의 계산 비용은 높아진다.
비용을 최소화하기 위해, 한개의 정보가 화제 메모리(76)로부터 선택되고, 사용자의 화제 및 선택된 화제 간의 연관도가 계산된다. 만약 계산 결과가 선정된 값을 초과하면, 프로세스는 사용자에 의해 도입된 화제와 선택 화제가 일치한다는 것을 결정한다. 프로세스는 선정된 값을 초과하는 연관도를 갖는 정보가 검출될 때까지 반복된다. 그래서 사용자에 의해 도입된 화제로서 추정되는 화제를 추출할 수 있다.
단계 S44에서, 프로세스는 사용자에 의해 추정되는 화제가 검색되는 지의 여부를 결정한다. 만약 단계 S44에서 화제가 검색된 것으로 결정되면, 프로세스는 단계 S45에서 검색된 화제(정보)를 현재 화제 메모리(77)로 전달하여서 화제를 변경시킨다.
반대로, 만약 프로세스가 단계 S44에서 화제가 검색되지 않은 것, 즉 선정된 값을 초과하는 연관도의 총합을 갖는 정보가 없는 것으로 결정되면, 프로세스는 단계 S46으로 진행한다. 이는 사용자가 로봇(1)에게 알려진 정보 외의 정보를 논의하고 있다는 것을 가리킨다. 그러므로, 화제는 "알려지지 않은" 정보로 변경되고, 현재 화제 메모리(77)에 저장된 정보는 삭제된다.
화제가 "알려지지 않은" 화제로 변경될 때, 로봇(1)은 사용자에게 질문을 함으로써 대화를 계속한다. 대화동안, 로봇(1)은 현재 화제 메모리(77)에 저장된 화제에 관한 정보를 저장한다. 이러한 방식으로, 로봇(1)은 신규 화제의 도입에 응답하여 연관도표를 갱신한다. 도 26은 신규 화제에 기초하여 표를 갱신하기 위한 프로세스를 도시한다. 단계 S51에서, 신규 화제가 입력된다. 신규 화제는 사용자가 화제를 도입하거나 로봇(1)에게 알려지지 않은 정보를 제공할 때, 또는 정보 n이 네트워크를 통해 다운로드될 때 입력될 수 있다.
신규 화제가 입력될 때, 프로세스는 단계 S52에서 입력 화제로부터 키워드를 추출한다. 단계 S53에서, 프로세스는 추출된 키워드의 모든 쌍을 발생시킨다. 단계 S54에서, 프로세스는 발생된 키워드 쌍에 기초하여 연관도표를 갱신한다. 단계 S54에서 수행된 프로세싱이 도 21에 도시된 프로세스중 단계 S23에서 수행된 것과 유사하므로, 공통 부분에 대한 반복 설명은 생략한다.
실제 대화시, 로봇(1)에 의해 화제가 변경되는 경우 및 사용자에 의해 화제가 변경되는 다른 경우가 있다. 도 27은 화제의 변경에 응답하여 대화 프로세서(38)에 위해 실행된 프로세스를 약술한 도면이다. 특히, 단계 S61에서, 프로세스는 사용자에 의해 도입된 화제의 변경을 추적한다. 단계 S61에서 실행된 프로세싱은 도 25에 도시된 프로세스에 대응한다.
단계 S61에서의 프로세싱의 결과로서, 프로세스는 단계 S62에서 화제가 사용자에 의해 변경되는 지의 여부를 결정한다. 특히, 도 25의 단계 S41에서 사용자에 의해 도입된 화제가 현재 화제와 연관된다는 것이 결정되면, 프로세스는 단계 S62에서 화제가 변경되지 않는다는 것을 결정한다. 반대로, 만약 사용자에 의해 도입된 화제가 현재 화제와 연관되지 않는 것을 결정하면, 앞의 단계 S41로부터 프로세싱이 처리되고, 프로세스는 단계 S62에서 화제가 변경되는 것을 결정한다.
만약 프로세스가 단계 S62에서 화제가 변경되지 않는다는 것을 결정하면, 로봇(1)은 단계 S63에서 화제를 자발적으로 변경한다. 단계 S63에서 수행된 프로세싱은 도 20 및 도 23에 도시된 프로세스에 대응한다.
이러한 방식으로, 사용자에 의한 변경은 로봇(1)에 의한 변경에 비해 우선권이 주어지고, 그러므로 사용자에게 대화의 주도권이 주어진다. 반대로, 단계 S61이 단계 S63으로 대체될 때, 로봇(1)에게 대화의 주도권이 허용된다. 이러한 사실을 이용하여, 로봇(1)이 사용자에 의해 버릇없게 되어 버릴 때, 로봇(1)은 대화의 주도권을 취하도록 구성될 수 있다. 로봇(1)에 예의 범절이 잘 적용되는 경우, 사용자가 대화의 주도권을 취하도록 구성될 수 있다.
상술한 실시예에서, 정보에 포함된 키워드가 속성으로서 이용된다. 대안적으로, 카테고리, 장소, 시간과 같은 속성 타입은 도 28에 도시된 바와 같이 이용될 수 있다. 도 28에 도시된 예에서, 각개 정보의 각 속성 타입은 일반적으로 하나 또는 두개의 값만을 포함한다. 이러한 경우 키워드를 이용하는 경우의 방식과 유사한 방식으로 처리될 수 있다. 예를 들어, 비록 "카테고리"가 기본적으로 하나의 값만을 포함하지만, "카테고리"는 "키워드"와 같이, 복수의 값을 갖는 속성 타입의 예외적인 예로서 취급될 수 있다. 그러므로, 도 28에 도시된 예는 "키워드"를 이용하는 경우(즉, 표가 생성될 수 있음)와 유사한 방식으로 취급될 수 있다.
"키워드" 및 "카테고리"와 같이 복수의 속성 타입을 이용할 수 있다. 복수의 속성 타입을 이용할 때, 연관도는 각 속성 타입으로 계산되고, 가중을 둔 선형 조합이 이용될 최종 계산 결과로서 계산된다.
로봇(1)으로 하여금 자연적인 대화를 유지하고 자연적으로 화제를 변경시키기 위해, 사용자 취향에 일치하는 화제(정보)를 화제 메모리(76)가 저장하는 것이 설명되었다. 또한, 사용자와의 대화 동안 로봇(1)에 의해, 그리고 로봇(1)을 컴퓨터에 접속하고 컴퓨터를 이용하여 로봇(1)에 프로파일을 입력함으로써 프로파일이 구해진다는 것이 설명되었다. 로봇(1)이 사용자와의 대화에 기초하여 사용자의 프로파일을 생성하는 예로서 이하 설명된다.
도 29를 참조하면, 로봇(1)은 시간 t1에서 "무슨 일이야?"를 질문한다. 사용자는 시간 t2에서, "나는 타이틀 A라는 영화를 봤어"라고 질문에 대답한다. 대답에 기초하여, "타이틀 A"가 사용자의 프로파일에 추가된다. 로봇(1)은 시간 t3에서, "좋았니?"라고 질문한다. 사용자는 시간 t4에서, "응, 특히 B역으로 나와 있는 배우 C가 좋았어"라고 대답한다. 대답에 기초하여, "배우 C"가 사용자의 프로파일에 추가된다.
이러한 방식으로, 로봇(1)은 대화로부터 사용자의 취향을 획득한다. 사용자가 시간 t4에서 "좋지 않았어"라고 응답할 때, 로봇(1)은 사용자의 취향을 획득하도록 구성되므로, 사용자의 프로파일에 "타이틀 A"는 추가되지 않을 수 있다.
수일후, 서버(101)로부터 "배우 C 주연의 최신작 '타이틀 B'", "최신작이 내일 공개될 것임", 및 "신주쿠의 _관에서 최신작 상영"을 가리키는 정보를 다운로드한다. 정보에 기초하여, 로봇(1)은 시간 t1에서 "배우 C가 주연하고 있는 신규 영화가 개봉 박두될 것임"을 사용자에게 말한다. 사용자는 수일전에 배우 C의 연기를 칭찬하였고, 사용자는 그 화제에 흥미를 갖게 된다. 사용자는 시간 t2에서 로봇에게 "언제?"라고 질문한다. 로봇(1)은 신규 영화의 개봉일에 대한 정보를 이미 획득했다. 사용자의 가장 가까운 대중 교통역에 대한 정보(프로파일)에 기초하여, 로봇(1)은 가장 가까운 영화관에 관한 정보를 획득할 수 있다. 이러한 예에서, 로봇(1)은 이러한 정보를 이미 획득하였다.
로봇(1)은 획득된 정보에 기초하여 시간 t3에서 사용자의 질문에 "내일부터, 신주쿠의 _관에서 상영될 겁니다"라고 응답한다. 사용자는 정보를 알게 되어, 시간 t4에서, "보고 싶다"라고 말한다.
이러한 방식으로, 사용자의 프로파일에 기초한 정보가 대화도중에 사용자에게 전달된다. 따라서, 자연스러운 방식으로 광고를 행할 수 있다. 특히, "타이틀 B"로 불리우는 영화가 상기 예로 광고된다.
광고 대행사는 서버(101)에 저장된 프로파일 또는 사용자에 의해 제공된 프로파일을 이용할 수 있고, 제품을 광고하도록 사용자에게 메일로 광고를 보낼 수 있다.
비록 대화가 구두로 되는 본 실시예로 설명되었지만, 본 발명은 기록 형태로유지되는 대화에 적용할 수 있다.
전술한 일련의 프로세스는 하드웨어 또는 소프트웨어에 의해 실행될 수 있다. 소프트웨어로 일련의 프로세스를 실행할 때, 특정 용도의 하드웨어로 일체화된 컴퓨터, 또는 다양한 프로그램을 설치함으로써 다양한 기능을 수행할 수 있는 범용 컴퓨터의 기록 매체로부터 상기 소프트웨어를 구성하는 프로그램이 설치된다.
도 30을 참조하면, 기록 매체는 컴퓨터로부터 별도로 사용자에게 제공되는 패키지 매체를 포함한다. 패키지 매체는 (플로피 디스크를 포함하는) 자기 디스크(211), (컴팩 디스크-판독 전용 메모리(CD-ROM) 또는 DVD(Digital Versatile Disk)를 포함하는) 광 디스크(212), (MD(Mini-Disk)를 포함하는 광 자기 디스크(213), 반도체 메모리(214) 등을 포함한다. 또한, 기록 매체는 컴퓨터에 미리 설치된 하드 디스크를 포함하는데, 이는 판독 전용 메모리(ROM)(202) 및 프로그램을 저장하기 위한 저장 유닛(208)을 포함한다.
본 명세서에 있어서, 기록 매체에 의해 제공되는 프로그램을 기술하는 단계는 기재된 순서에 따라서 행해지는 시계열적 프로세스뿐만 아니라 반드시 시계열적으로 실행되지 않을 수 있는 병렬 또는 개별 프로세싱을 포함한다.
본 명세서에 있어서, 시스템은 복수의 유닛에 의해 형성되는 전체 장치를 나타낸다.
상기 대화 프로세싱 장치, 대화 프로세싱 방법 및 기록 매체에 따르면, 복수의 화제에 관한 정보를 기억하여, 현재 대화하고 있는 화제에 관한 정보를 기억하여, 화제를 변경한다는 것을 결정한 경우, 기억되어 있는 복수의 화제중에서 변경하는 신규 화제를 선택하도록 함으로써, 사용자에게 자연스럽고 즐거운 대화를 제공할 수가 있다.

Claims (11)

  1. 사용자와 대화를 유지하기 위한 대화 프로세싱 장치에 있어서,
    복수의 화제에 관한 복수개의 제1 정보를 저장하기 위한 제1 저장 수단;
    논의되고 있는 현재 화제에 관한 제2 정보를 저장하기 위한 제2 저장 수단;
    상기 화제를 변경하는지의 여부를 결정하기 위한 결정 수단;
    상기 결정 수단이 화제를 변경하는 것으로 결정할 때, 상기 제1 저장 수단에 저장된 상기 화제중에서 변경될 신규 화제를 선택하기 위한 선택 수단; 및
    상기 선택 수단에 의해 선택된 상기 화제에 관한 상기 제1 정보를 상기 제1 저장 수단으로부터 판독하여, 상기 제2 저장 수단에 상기 판독 정보를 저장함으로써 상기 화제를 변경시키기 위한 변경 수단
    을 포함하는 것을 특징으로 하는 대화 프로세싱 장치.
  2. 제1항에 있어서,
    상기 사용자와 논의한 화제를 이력(history)으로 저장하기 위한 제3 저장 수단을 더 포함하고,
    상기 선택 수단은, 상기 제3 저장 수단의 이력에 저장되어 있는 화제 이외의 화제를 신규 화제로서 선택하는 것을 특징으로 하는 대화 프로세싱 장치.
  3. 제1항에 있어서,
    상기 결정 수단이 상기 사용자에 의해 도입된 상기 화제의 변경에 응답하여 상기 화제를 변경할 것을 결정할 때, 상기 선택 수단은 상기 제1 저장 수단에 저장되어 있는 상기 화제중에서, 상기 사용자에 의해 도입된 상기 화제와 가장 밀접하게 연관되는 화제를 선택하는 것을 특징으로 하는 대화 프로세싱 장치.
  4. 제1항에 있어서,
    상기 제1 정보 및 상기 제2 정보는 각각 서로 연관된 속성을 포함하고;
    상기 선택 수단은, 상기 제1 정보 각각의 속성과 상기 제2 정보의 속성 간의 연관성에 기초한 값을 계산하여, 가장 값이 큰 상기 제1 정보를 신규 화제로서 선택하거나, 또는 1개의 상기 제1의 정보를 판독하여, 상기 제1 정보의 속성 및 상기 제2 정보의 속성 간의 연관성에 기초한 값을 계산하고, 상기 제1 정보가 임계치보다 큰 값을 가지면, 상기 제1 정보를 신규 화제로서 선택하는 것을 특징으로 하는 대화 프로세싱 장치.
  5. 제4항에 있어서,
    상기 속성은, 키워드, 카테고리, 장소, 및 시간 중의 적어도 하나를 포함하는 것을 특징으로 하는 대화 프로세싱 장치.
  6. 제4항에 있어서
    상기 제1 정보의 속성 및 상기 제2 정보의 속성 간의 연관성에 기초한 값은표의 형태로 저장되며, 상기 표는 갱신되는 것을 특징으로 하는 대화 프로세싱 장치.
  7. 제6항에 있어서,
    상기 표를 이용하여 상기 신규 화제를 선택할 때, 상기 선택 수단은 상기 제2 정보의 속성과 동일한 속성을 갖는 상기 제1 정보에 대해 상기 표의 값에 가중을 두고, 상기 가중을 둔 표를 이용함에 의해 상기 신규 화제를 선택하는 것을 특징으로 하는 대화 프로세싱 장치.
  8. 제1항에 있어서,
    상기 대화는 구두 또는 기록 형태중 하나의 형태로 유지되는 것을 특징으로 하는 대화 프로세싱 장치.
  9. 제1항에 있어서,
    상기 대화 프로세싱 장치는 로봇에 내장되는 것을 특징으로 하는 대화 프로세싱 장치.
  10. 사용자와 대화를 유지하기 위한 대화 프로세싱 장치의 대화 프로세싱 방법에 있어서,
    복수의 화제에 관한 정보의 저장을 제어하는 저장 제어 단계;
    상기 화제를 변경하는지의 여부를 결정하는 결정 단계;
    상기 결정 단계에서 상기 화제가 변경되기로 결정될 때, 상기 저장 제어 단계에서 저장된 상기 화제중에서 신규 화제로서 적절한 것으로 결정되는 화제를 선택하는 선택 단계; 및
    상기 선택 단계에서 선택된 상기 화제에 관한 상기 정보를 상기 신규 화제에 관한 정보로서 이용함에 의해 상기 화제를 변경시키는 변경 단계
    를 포함하는 것을 특징으로 하는 대화 프로세싱 방법.
  11. 사용자와 대화를 유지하기 위한 컴퓨터-판독가능 대화 프로세싱 프로그램이 그 위에 기록된 기록 매체에 있어서, 상기 프로그램은
    복수의 화제에 관한 정보의 저장을 제어하는 저장 제어 단계;
    상기 화제를 변경하는지의 여부를 결정하는 결정 단계;
    상기 결정 단계에서 상기 화제가 변경되기로 결정될 때, 상기 저장 제어 단계에서 저장된 상기 화제중에서 신규 화제로서 적절한 것으로 결정되는 화제를 선택하는 선택 단계; 및
    상기 선택 단계에서 선택된 상기 화제에 관한 상기 정보를 상기 신규 화제에 관한 정보로서 이용함에 의해 상기 화제를 변경시키는 변경 단계
    를 포함하는 것을 특징으로 하는 기록 매체.
KR1020000082660A 1999-12-28 2000-12-27 대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체 KR100746526B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1999-375767 1999-12-28
JP37576799A JP2001188784A (ja) 1999-12-28 1999-12-28 会話処理装置および方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
KR20010062754A true KR20010062754A (ko) 2001-07-07
KR100746526B1 KR100746526B1 (ko) 2007-08-06

Family

ID=18506030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000082660A KR100746526B1 (ko) 1999-12-28 2000-12-27 대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체

Country Status (4)

Country Link
US (1) US20010021909A1 (ko)
JP (1) JP2001188784A (ko)
KR (1) KR100746526B1 (ko)
CN (1) CN1199149C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032176B1 (ko) * 2002-12-02 2011-05-02 소니 주식회사 대화 제어 장치 및 방법 및 로봇 장치
KR20190066116A (ko) * 2017-12-05 2019-06-13 현대자동차주식회사 대화 시스템 및 이를 포함하는 차량

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3533371B2 (ja) * 2000-12-01 2004-05-31 株式会社ナムコ 模擬会話システム、模擬会話方法、および情報記憶媒体
US7853863B2 (en) * 2001-12-12 2010-12-14 Sony Corporation Method for expressing emotion in a text message
KR100446627B1 (ko) * 2002-03-29 2004-09-04 삼성전자주식회사 음성대화 인터페이스를 이용한 정보제공장치 및 그 방법
WO2004027527A1 (ja) * 2002-09-20 2004-04-01 Matsushita Electric Industrial Co., Ltd. 対話型装置
JP4072033B2 (ja) * 2002-09-24 2008-04-02 本田技研工業株式会社 受付案内ロボット装置
EP1599866B1 (de) * 2002-11-13 2007-08-22 Bernd Schönebeck Sprachverarbeitendes system und verfahren
US20090030552A1 (en) * 2002-12-17 2009-01-29 Japan Science And Technology Agency Robotics visual and auditory system
US7197331B2 (en) * 2002-12-30 2007-03-27 Motorola, Inc. Method and apparatus for selective distributed speech recognition
US7698141B2 (en) * 2003-02-28 2010-04-13 Palo Alto Research Center Incorporated Methods, apparatus, and products for automatically managing conversational floors in computer-mediated communications
US7617094B2 (en) 2003-02-28 2009-11-10 Palo Alto Research Center Incorporated Methods, apparatus, and products for identifying a conversation
JP4534427B2 (ja) * 2003-04-01 2010-09-01 ソニー株式会社 ロボット制御装置および方法、記録媒体、並びにプログラム
JP4048492B2 (ja) * 2003-07-03 2008-02-20 ソニー株式会社 音声対話装置及び方法並びにロボット装置
JP4661074B2 (ja) * 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
JP3923513B2 (ja) * 2004-06-08 2007-06-06 松下電器産業株式会社 音声認識装置および音声認識方法
TWI237991B (en) * 2004-06-28 2005-08-11 Delta Electronics Inc Integrated dialogue system and method thereof
JP2006039120A (ja) * 2004-07-26 2006-02-09 Sony Corp 対話装置および対話方法、並びにプログラムおよび記録媒体
US7925506B2 (en) * 2004-10-05 2011-04-12 Inago Corporation Speech recognition accuracy via concept to keyword mapping
US20060136298A1 (en) * 2004-12-16 2006-06-22 Conversagent, Inc. Methods and apparatus for contextual advertisements in an online conversation thread
TWI270052B (en) * 2005-08-09 2007-01-01 Delta Electronics Inc System for selecting audio content by using speech recognition and method therefor
EP1791114B1 (en) * 2005-11-25 2009-08-12 Swisscom AG A method for personalization of a service
JP4992243B2 (ja) * 2006-01-31 2012-08-08 富士通株式会社 情報要素処理プログラム、情報要素処理方法及び情報要素処理装置
US20080133243A1 (en) * 2006-12-01 2008-06-05 Chin Chuan Lin Portable device using speech recognition for searching festivals and the method thereof
JP4786519B2 (ja) * 2006-12-19 2011-10-05 三菱重工業株式会社 ロボットによる物体を移動するサービスに必要な情報の取得方法と該方法を用いたロボットによる物体移動サービスシステム
FR2920582A1 (fr) * 2007-08-29 2009-03-06 Roquet Bernard Jean Francois C Dispositif de comprehension du langage humain dans sa generalite
JP4677593B2 (ja) * 2007-08-29 2011-04-27 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
KR101631496B1 (ko) 2008-06-03 2016-06-17 삼성전자주식회사 로봇 장치 및 그 단축 명령 등록 방법
US20090306967A1 (en) * 2008-06-09 2009-12-10 J.D. Power And Associates Automatic Sentiment Analysis of Surveys
US20100181943A1 (en) * 2009-01-22 2010-07-22 Phan Charlie D Sensor-model synchronized action system
EP2299440B1 (en) * 2009-09-11 2012-10-31 Vodafone Holding GmbH Method and Device for automatic recognition of given keywords and/or terms within voice data
KR101699720B1 (ko) * 2010-08-03 2017-01-26 삼성전자주식회사 음성명령 인식 장치 및 음성명령 인식 방법
US9431027B2 (en) * 2011-01-26 2016-08-30 Honda Motor Co., Ltd. Synchronized gesture and speech production for humanoid robots using random numbers
US8594845B1 (en) * 2011-05-06 2013-11-26 Google Inc. Methods and systems for robotic proactive informational retrieval from ambient context
CN103297389B (zh) * 2012-02-24 2018-09-07 腾讯科技(深圳)有限公司 人机对话方法及装置
US9679568B1 (en) * 2012-06-01 2017-06-13 Google Inc. Training a dialog system using user feedback
US9123338B1 (en) 2012-06-01 2015-09-01 Google Inc. Background audio identification for speech disambiguation
EP2863385B1 (en) * 2012-06-19 2019-03-06 NTT Docomo, Inc. Function execution instruction system, function execution instruction method, and function execution instruction program
US10373508B2 (en) * 2012-06-27 2019-08-06 Intel Corporation Devices, systems, and methods for enriching communications
US9424233B2 (en) 2012-07-20 2016-08-23 Veveo, Inc. Method of and system for inferring user intent in search input in a conversational interaction system
US9465833B2 (en) 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval
US9799328B2 (en) 2012-08-03 2017-10-24 Veveo, Inc. Method for using pauses detected in speech input to assist in interpreting the input during conversational interaction for information retrieval
US9396179B2 (en) * 2012-08-30 2016-07-19 Xerox Corporation Methods and systems for acquiring user related information using natural language processing techniques
US10031968B2 (en) 2012-10-11 2018-07-24 Veveo, Inc. Method for adaptive conversation state management with filtering operators applied dynamically as part of a conversational interface
US10121493B2 (en) 2013-05-07 2018-11-06 Veveo, Inc. Method of and system for real time feedback in an incremental speech input interface
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
US11094320B1 (en) * 2014-12-22 2021-08-17 Amazon Technologies, Inc. Dialog visualization
US9852136B2 (en) 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
JP6667067B2 (ja) * 2015-01-26 2020-03-18 パナソニックIpマネジメント株式会社 会話処理方法、会話処理システム、電子機器および会話処理装置
US20160217206A1 (en) * 2015-01-26 2016-07-28 Panasonic Intellectual Property Management Co., Ltd. Conversation processing method, conversation processing system, electronic device, and conversation processing apparatus
US9854049B2 (en) 2015-01-30 2017-12-26 Rovi Guides, Inc. Systems and methods for resolving ambiguous terms in social chatter based on a user profile
CN104898589B (zh) * 2015-03-26 2019-04-30 天脉聚源(北京)传媒科技有限公司 一种用于智能管家机器人的智能应答方法和装置
US10350757B2 (en) 2015-08-31 2019-07-16 Avaya Inc. Service robot assessment and operation
US10040201B2 (en) 2015-08-31 2018-08-07 Avaya Inc. Service robot communication systems and system self-configuration
US10032137B2 (en) 2015-08-31 2018-07-24 Avaya Inc. Communication systems for multi-source robot control
JP2017049471A (ja) * 2015-09-03 2017-03-09 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
JP6376096B2 (ja) 2015-09-28 2018-08-22 株式会社デンソー 対話装置及び対話方法
JP6589514B2 (ja) * 2015-09-28 2019-10-16 株式会社デンソー 対話装置及び対話制御方法
CN106656945B (zh) * 2015-11-04 2019-10-01 陈包容 一种向通讯对方发起会话的方法及装置
CN105704013B (zh) * 2016-03-18 2019-04-19 北京光年无限科技有限公司 基于上下文的话题更新数据处理方法及装置
CN105690408A (zh) * 2016-04-27 2016-06-22 深圳前海勇艺达机器人有限公司 一种基于数据字典的情感识别机器人
JP6709558B2 (ja) * 2016-05-09 2020-06-17 トヨタ自動車株式会社 会話処理装置
WO2018012645A1 (ko) * 2016-07-12 2018-01-18 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN106354815B (zh) * 2016-08-30 2019-12-24 北京光年无限科技有限公司 一种对话系统中话题处理方法
JP2018054850A (ja) * 2016-09-28 2018-04-05 株式会社東芝 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6477648B2 (ja) 2016-09-29 2019-03-06 トヨタ自動車株式会社 キーワード生成装置およびキーワード生成方法
JP6731326B2 (ja) * 2016-10-31 2020-07-29 ファーハット ロボティクス エービー 音声対話装置及び音声対話方法
US10268680B2 (en) 2016-12-30 2019-04-23 Google Llc Context-aware human-to-computer dialog
US10467509B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
WO2018175291A1 (en) * 2017-03-20 2018-09-27 Ebay Inc. Detection of mission change in conversation
US10636418B2 (en) 2017-03-22 2020-04-28 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US9865260B1 (en) 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
WO2018231106A1 (en) * 2017-06-13 2018-12-20 Telefonaktiebolaget Lm Ericsson (Publ) First node, second node, third node, and methods performed thereby, for handling audio information
US10742435B2 (en) 2017-06-29 2020-08-11 Google Llc Proactive provision of new content to group chat participants
US10956670B2 (en) 2018-03-03 2021-03-23 Samurai Labs Sp. Z O.O. System and method for detecting undesirable and potentially harmful online behavior
CN108510355A (zh) * 2018-03-12 2018-09-07 拉扎斯网络科技(上海)有限公司 语音交互订餐的实现方法及相关装置
JP7169096B2 (ja) * 2018-06-18 2022-11-10 株式会社デンソーアイティーラボラトリ 対話システム、対話方法、およびプログラム
CN109166574B (zh) * 2018-07-25 2022-09-30 重庆柚瓣家科技有限公司 用于养老机器人的资讯抓取及播报系统
EP3859568A4 (en) * 2018-09-28 2021-09-29 Fujitsu Limited DIALOGUE DEVICE, DIALOGUE PROCEDURE AND DIALOGUE PROGRAM
JP7211050B2 (ja) * 2018-12-05 2023-01-24 富士通株式会社 対話制御プログラム、対話制御システム、及び対話制御方法
US10783901B2 (en) 2018-12-10 2020-09-22 Amazon Technologies, Inc. Alternate response generation
US11587552B2 (en) * 2019-04-30 2023-02-21 Sutherland Global Services Inc. Real time key conversational metrics prediction and notability
US11250216B2 (en) * 2019-08-15 2022-02-15 International Business Machines Corporation Multiple parallel delineated topics of a conversation within the same virtual assistant
CN111242721B (zh) * 2019-12-30 2023-10-31 北京百度网讯科技有限公司 语音订餐方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2777794B2 (ja) * 1991-08-21 1998-07-23 東陶機器株式会社 トイレ装置
US5918222A (en) * 1995-03-17 1999-06-29 Kabushiki Kaisha Toshiba Information disclosing apparatus and multi-modal information input/output system
KR960035578A (ko) * 1995-03-31 1996-10-24 배순훈 대화형 동화상정보매체 재생장치와 그 방법
KR970023187A (ko) * 1995-10-30 1997-05-30 배순훈 대화형 동화상 정보매체 재생장치
JPH102001A (ja) * 1996-06-15 1998-01-06 Okajima Kogyo Kk グレーチング
JP3597948B2 (ja) * 1996-06-18 2004-12-08 ダイコー化学工業株式会社 メッシュパネルの取付方法及び取付具
JPH101996A (ja) * 1996-06-18 1998-01-06 Hitachi Home Tec Ltd 衛生洗浄器の火傷防止装置
KR19990047859A (ko) * 1997-12-05 1999-07-05 정선종 도서 문헌 데이터베이스 검색을 위한 자연언어 대화 시스템
JP3704434B2 (ja) * 1998-09-30 2005-10-12 富士通株式会社 ネットワーク検索方法及びネットワーク検索システム
US7137126B1 (en) * 1998-10-02 2006-11-14 International Business Machines Corporation Conversational computing via conversational virtual machine
KR100332966B1 (ko) * 1999-05-10 2002-05-09 김일천 음성인식 대화형 인형완구 및 그 제어방법
KR101032176B1 (ko) * 2002-12-02 2011-05-02 소니 주식회사 대화 제어 장치 및 방법 및 로봇 장치
JP4048492B2 (ja) * 2003-07-03 2008-02-20 ソニー株式会社 音声対話装置及び方法並びにロボット装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032176B1 (ko) * 2002-12-02 2011-05-02 소니 주식회사 대화 제어 장치 및 방법 및 로봇 장치
KR20190066116A (ko) * 2017-12-05 2019-06-13 현대자동차주식회사 대화 시스템 및 이를 포함하는 차량

Also Published As

Publication number Publication date
US20010021909A1 (en) 2001-09-13
CN1199149C (zh) 2005-04-27
CN1306271A (zh) 2001-08-01
KR100746526B1 (ko) 2007-08-06
JP2001188784A (ja) 2001-07-10

Similar Documents

Publication Publication Date Title
KR100746526B1 (ko) 대화 프로세싱 장치 및 방법, 및 이를 위한 기록 매체
US7065490B1 (en) Voice processing method based on the emotion and instinct states of a robot
Pietquin A framework for unsupervised learning of dialogue strategies
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
JP2001188787A (ja) 会話処理装置および方法、並びに記録媒体
US8935163B2 (en) Automatic conversation system and conversation scenario editing device
Hozjan et al. Context-independent multilingual emotion recognition from speech signals
KR20030046444A (ko) 감정검출방법, 감성발생방법 및 그 장치 및 소프트웨어
JP2001215993A (ja) 対話処理装置および対話処理方法、並びに記録媒体
KR20080023030A (ko) 온라인 방식에 의한 화자 인식 방법 및 이를 위한 장치
Delgado et al. Spoken, multilingual and multimodal dialogue systems: development and assessment
Aylett et al. Building and designing expressive speech synthesis
Bell et al. Child and adult speaker adaptation during error resolution in a publicly available spoken dialogue system.
JP2001188782A (ja) 情報処理装置および方法、並びに記録媒体
JP2001209644A (ja) 情報処理装置および情報処理方法、並びに記録媒体
Jackson Automatic speech recognition: Human computer interface for kinyarwanda language
JP2001188786A (ja) 会話処理装置および方法、並びに記録媒体
JPH1152987A (ja) 話者適応機能を持つ音声合成装置
KR100979561B1 (ko) 대화형 언어 학습 장치
JP2001188785A (ja) 会話処理装置および方法、並びに記録媒体
Furui Toward the ultimate synthesis/recognition system
Telembici et al. Emotion Recognition Audio Database for Service Robots
Furui Toward the ultimate synthesis/recognition system.
US20240095987A1 (en) Content generation
Griol et al. Fusion of sentiment analysis and emotion recognition to model the user's emotional state

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
LAPS Lapse due to unpaid annual fee