상기 기술적 과제를 이루기 위한 본 발명에 의한 사용패턴에 의한 대화형 사용자 인터페이스 운영 시스템은, 단말기 정보를 추출하는 단말기 정보 추출부; 상기 추출된 단말기 정보를 통하여 단말기 정보 패턴을 분석하고 저장하는 단말기 정보 패턴 분석저장부; 상기 단말기 정보 패턴 분석저장부에 기 저장된 단말기 정보 패턴과 상기 단말기 정보 패턴 분석저장부에서 분석된 단말기 정보 패턴을 비교하여 소정 조건에 해당하는 경우 패턴 활성화신호를 출력하는 단말기 정보 패턴 감지부; 단말기 조작신호가 수신되었는지 판단하여 캐릭터 에이전트 구동신호를 출력하 는 캐릭터 에이전트 구동부; 및 상기 패턴 활성화신호와 상기 캐릭터 에이전트 구동신호를 수신받은 경우에, 상기 패턴 활성화신호에 해당하는 대사를 캐릭터 에이전트를 통하여 상기 단말기 표시장치에 표시하는 다이얼로그부를 포함하는 것을 특징으로 가진다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 사용패턴에 의한 대화형 사용자 인터페이스 운영 방법은, (a) 단말기 정보를 추출하는 단계; (b) 상기 (a)단계에서 추출된 단말기 정보를 통하여 단말기 정보 패턴을 분석하고 저장하는 단계; (c) 상기 저장된 단말기 정보 패턴을 감지하여 패턴 활성화신호를 생성하여 출력하는 단계; (d) 상기 (c)단계에서 패턴 활성화신호를 입력받은 경우에 단말기 조작신호가 수신되었는지 여부에 따라서 캐릭터 에이전트를 구동시킬 것인지 여부를 판단하는 단계; (e) 상기 (d)단계에서 캐릭터 에이전트 구동시킬 것으로 판단되는 경우에 캐릭터 에이전트 구동신호를 출력하는 단계; 및 (f) 상기 캐릭터 에이전트 구동신호를 입력받아 단말기의 표시장치에 캐릭터 에이전트를 통하여 상기 패턴 활성화신호에 해당하는 대사를 상기 단말기의 표시장치에 표시하는 단계;를 포함하는 것을 특징으로 가진다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 사용패턴에 의한 대화형 사용자 인터페이스 운영 방법 및 시스템을 상세히 설명한다.
본 발명의 단말기의 사용패턴에 의한 대화 방식 인터페이스 운영 방법 및 시스템에서 설명되어지는 단말기는 이동 통신 단말기인 휴대용 전화(cellular phone), PCS(personal communication service), 개인용 정보 단말기인 PDA(personal digital assistants) 또는 홈 오토메이션 장치 등에 다양하게 적용될 수 있다.
도 1은 본 발명의 일실시예에 대한 단말기의 사용패턴에 의한 대화 방식 인터페이스 시스템의 구성을 나타낸 블럭도이다.
도 1을 살펴보면, 단말기 정보를 추출하기 위한 단말기 정보 추출부(100), 추출된 단말기 정보를 이용하여 단말기 정보 패턴을 분석하여 저장하는 단말기 정보 패턴 분석저장부(110), 단말기 정보 패턴 분석저장부(110)에 기 저장된 단말기 정보 패턴을 통하여 현재 단말기 정보 패턴을 감지하기 위한 단말기 정보 패턴 감지부(120), 단말기 정보 패턴 감지부(120)로부터 패턴 활성화신호를 입력받고 사용자 조작신호를 입력받아 캐릭터 에이전트를 구동시킬 것인지 여부를 판단하여 캐릭터 에이전트 구동신호를 출력하는 캐릭터 에이전트 구동부(130), 단말기 정보 패턴 감지부(120)로부터 패턴 활성화신호를 입력받아 기 저장되어 있던 대사 중에서 상기 패턴 활성화신호에 해당하는 대사를 추출하여 캐릭터 에이단트를 통하여 단말기의 표시장치에 이를 표시되도록 하는 다이얼로그부(140) 및 사용자로부터 단말기 조작신호를 입력받아 캐릭터 에이전트 구동부(130)와 다이얼로그부(140)로 단말기조작신호를 출력하는 사용자 인터페이스부(150)로 구성된다.
여기에서, 사용자 인터페이스부(150)는 사용자의 조작에 의한 단말기 입력장치(예를 들어, 단말기 버튼)의 단말기 조작신호를 입력받는다. 이와 같은, 단말기 조작신호를 사용자 인터페이스부(150)를 통하여 입력받아 사용자의 반응을 알 수 있게 된다.
도 2는 도 1에서 단말기 정보 추출부(100)의 구성을 나타낸 블럭도이다.
도 2를 살펴보면, 단말기 정보 추출부(100)는 기지국 정보 추출부(200), 현재시간 정보 추출부(210), 일정 정보 추출부(220), 통화이력 정보 추출부(230), 개인 정보 추출부(240) 및 사용자조작 정보 추출부(250)를 포함하여 구성된다.
도 2에서는 기지국 정보 추출부(200), 현재시간 정보 추출부(210), 일정 정보 추출부(220), 통화이력 정보 추출부(230), 개인 정보 추출부(240) 및 사용자조작 정보 추출부(250)를 도시하였으나 이는 하나의 일실시예로 나타낸 것이다. 여기에서, 단말기 정보 추출부(100)는 기지국 정보 추출부(200), 현재시간 정보 추출부(210), 일정 정보 추출부(220), 통화이력 정보 추출부(230), 개인 정보 추출부(240) 및 사용자조작 정보 추출부(250)중 적어도 어느 하나 이상을 포함하는 것으로 구성할 수 있고, 나아가 다른 정보 추출부도 더 포함하는 것으로 구성할 수도 있다.
단말기 정보 추출부(100)에는 기지국으로부터 수신되는 신호를 통하여 현재 단말기가 위치하는 위치 정보를 추출하는 기지국 정보 추출부(200), 현재의 시간을 추출하는 현재시간 정보 추출부(210), 사용자에 의하여 입력된 일정정보를 추출하는 일정 정보 추출부(220), 단말기에 저장되어 있는 통화시간을 추출하는 통화이력 정보 추출부(230), 단말기에 저장되어 있는 개인 정보를 추출하는 개인 정보 추출부(240) 및 사용자에 의하여 조작되어지는 사용자조작 정보를 추출하는 사용자조작 정보 추출부(250)로 구성된다.
통화이력 정보 추출부(230)에서는 소정 기간동안 단말기를 통하여 다른 사람 과 통화한 내역 정보를 추출하게 된다. 예를 들어, 통화이력 정보에는 통화한 상대방의 전화번호, 총 통화시간 및 통화 시작 시간 등이 있을 수 있다.
개인 정보 추출부(240)에서는 단말기의 데이터베이스에 기 저장되어 있는 특정인의 전화번호, 성명, 생년월일, 이메일 어드레스, 이벤트 및 직책 등을 추출하게 된다. 개인 정보 추출부(240)에서는 특정인을 특정할 수 있는 전화번호부를 상정하여 정보를 추출하게 된다.
도 3은 도 1에서 단말기 정보 패턴 분석저장부(110)의 구성을 나타낸 블럭도이다.
도 3을 살펴보면, 단말기 정보 패턴 분석저장부(110)는 이동 패턴 분석저장부(300), 일정 패턴 분석저장부(320), 통화 패턴 분석저장부(340) 및 단말기조작 패턴 분석저장부(360)를 포함하여 구성된다. 도 3에서는 이동 패턴 분석저장부(300), 일정 패턴 분석저장부(320), 통화 패턴 분석저장부(340) 및 단말기조작 패턴 분석저장부(360)를 도시하였으나 이는 하나의 일실시예로 나타낸 것이다. 여기에서, 단말기 정보 패턴 분석저장부(110)는 이동 패턴 분석저장부(300), 일정 패턴 분석저장부(320), 통화 패턴 분석저장부(340) 및 단말기조작 패턴 분석저장부(360) 중 적어도 어느 하나 이상을 포함하는 것으로 구성할 수 있고, 나아가 다른 패턴 분석저장부를 더 포함하는 것으로 구성할 수도 있다. 상기 각각의 패턴 분석저장부는 데이터 마이닝 기법 중의 하나인 시계열 패턴 마이닝 (Sequential Pattern Mining) 알고리즘을 사용하여 단말기 사용 데이터의 순차적인 규칙성을 찾아낸다. 예를 들어, Agrawal & Srikant의 Apriori 알고리즘을 사용하여 IF-THEN 형태의 규 칙들을 발견해 낼 수 있다.
이동 패턴 분석저장부(300)는 단말기 정보 추출부(100)에서 추출된 기지국 정보 데이터와 현재시간 정보 데이터를 입력받아 사용자의 이동 패턴을 분석하여 저장하는 것이다. 예를 들어, 사용자의 이동 패턴은 기지국 정보 데이터와 현재시간 정보 데이터를 통하여 출퇴근 시간에 지하철, 철도 또는 버스 등을 어떻게 이용하는지에 관한 것이다.
일정 패턴 분석저장부(320)는 단말기 정보 추출부(100)에서 추출된 현재시간 정보 데이터와 일정 정보 데이터를 입력받아 사용자의 일정 패턴을 분석하여 저장하는 것이다. 예를 들어, 사용자의 단말기에 2004년 9월 1일 15시에 회의가 있다고 입력된 경우에 일정 패턴 분석저장부(320)는 현재시간 정보 데이터와 일정 정보 데이터를 입력받아 일정 패턴을 분석하게 된다. 이와 같이 일정 패턴을 분석함으로써, 회의가 있다고 일정 패턴이 분석되는 경우에 회의가 시작되기 전에 사용자에게 단말기를 매너 모드로 전환 할 것인지 여부를 확인하기 위한 대사를 캐릭터 에이전트를 통하여 단말기의 표시장치에 표시할 수 있다.
통화 패턴 분석저장부(340)는 단말기 정보 추출부(100)로부터 추출된 통화이력 정보 데이터를 통하여 사용자의 통화패턴을 분석하여 저장하는 것이다. 즉, 단말기 정보 추출부(100)로부터 추출된 통화이력 정보인 통화한 상대방의 전화번호, 통화 시작 시간 및 총 통화시간을 통하여 통화패턴을 분석한다. 예를 들어, 특정한 전화번호에 대한 통화 시작 시간을 통하여 주로 업무시간 대에 통화하는 전화번호인지 아니면 주로 휴식시간에 통화하는 전화번호인지를 분석하게 된다. 그리고, 총 통화시간을 통하여 주로 간단히 통화하는 전화번호인지 아니면 오랜시간동안 통화하는 전화번호인지를 분석하게 된다.
이와 같은 통화 패턴을 분석함으로써, 통화이력 정보 데이터를 통하여 특정 전화번호로부터 특정한 시간대에 자주 통화를 하지만 상기 특정 전화번호가 단말기의 전화번호부에 저장되어 있지 않은 경우에 이를 등록하도록 유도할 수 있게 된다.
또한, 통화 패턴 분석저장부(340)는 단말기 정보 추출부(100)로부터 추출된 통화이력 정보 데이터와 현재시간 정보 데이터 및 개인 정보 데이터를 입력받아 사용자의 통화 패턴을 분석하여 저장할 수도 있다. 예를 들어, 개인 정보 데이터와 통화한 상대방에 대한 통화이력 정보 데이터를 분석하여 서로 간의 관계지수를 구성하고, 현재시간 정보 데이터를 수신하여 소정 시간에 통화를 자주 하던 사용자로부터 통화가 연결되지 않은 경우에 이를 단말기의 표시장치에 캐릭터 에이전트의 대사를 통하여 표시하도록 할 수 있다.
단말기조작 패턴 분석저장부(360)는 상기 일정 정보 추출부(220)로부터 추출된 일정 정보 데이터, 상기 현재시간 정보 추출부(210)로부터 추출된 현재시간 정보 데이터 및 상기 단말기조작 정보 추출부(250)로부터 추출된 단말기조작 정보 데이터를 수신받아 사용자의 단말기 조작 패턴을 분석하여 저장하는 것이다. 예를 들어, 단말기조작 정보 데이터와 현재시간 정보 데이터를 분석하여 특정한 시간대에 단말기의 특정한 기능(오락, 무선 인터넷 접속 등)을 사용하는 것을 분석하여 저장 할 수 있다.
도 4는 도 1에서 단말기 정보 패턴 감지부(120)의 구성을 나타낸 블럭도이다.
도 4를 살펴보면, 단말기 정보 패턴 감지부(120)는 이동 패턴 감지부(400), 일정 패턴 감지부(420), 통화 패턴 감지부(440) 및 단말기조작 패턴 감지부(460)를 포함하여 구성된다. 도 4에서는 이동 패턴 감지부(400), 일정 패턴 감지부(420), 통화 패턴 감지부(440) 및 단말기조작 패턴 감지부(460)를 도시하였으나 이는 하나의 일실시예로 나타낸 것이다. 여기에서, 단말기 정보 패턴 감지부(120)는 이동 패턴 감지부(400), 일정 패턴 감지부(420), 통화 패턴 감지부(440) 및 단말기조작 패턴 감지부(460) 중 적어도 어느 하나 이상을 포함하는 것으로 구성할 수 있고, 나아가 다른 패턴 감지부를 더 포함하는 것으로 구성할 수도 있다.
이동 패턴 감지부(400)는 이동 패턴 분석저장부(300)에 저장되어 있는 이동 패턴을 실시간으로 감지하여 이상 이동 패턴, 즉 특정한 패턴(예를 들어, 특정 시간대에 특정 지역에 장기간 위치함)이나 일상적이지 않은 이동 패턴(예를 들어, 특정 시간대에 일상적으로 위치하는 지역이 아닌 곳으로 이동함)이 감지되는 경우에 이동 패턴 활성화신호를 캐릭터 에이전트 구동부(130)에 출력하게 된다. 그리고, 이동 패턴 감지부(400)는 이동 패턴 활성화신호를 다이얼로그부(140)에 출력하게 된다.
일정 패턴 감지부(420)는 일정 패턴 분석저장부(320)에 저장되어 있는 일정 패턴을 감지하여 일정 패턴에 있어서 사용자에게 알려줄 필요가 있다고 감지되는 경우에 일정 패턴 활성화신호를 캐릭터 에이전트 구동부(130)에 출력하게 된다. 그리고, 일정 패턴 감지부(420)는 일정 패턴 활성화신호를 다이얼로그부(140)에 출력하게 된다.
통화 패턴 감지부(440)는 통화 패턴 분석저장부(340)에 저장되어 있는 통화 패턴을 감지하여 통화 패턴에 있어서 사용자에게 알려줄 필요가 있다고 감지되는 경우에 통화 패턴 활성화신호를 캐릭터 에이전트 구동부(130)에 출력하게 된다. 그리고, 통화 패턴 감지부(440)는 통화 패턴 활성화신호를 다이얼로그부(140)에 출력하게 된다.
단말기조작 패턴 감지부(460)는 단말기조작 패턴 분석저장부(360)에 기 저장되어 있는 사용자의 단말기 조작 패턴과 현재 단말기 조작 패턴 분석저장부(360)에서 분석된 단말기 조작 패턴을 비교하여 단말기 조작 패턴에 특정한 경향성이 생겼거나 일상적이지 않은 변화가 있다고 판단되는 경우에 단말기 조작 패턴 활성화신호를 캐릭터 에이전트 구동부(130)에 출력하게 된다. 그리고, 단말기조작 패턴 감지부(460)는 단말기조작 패턴 활성화신호를 다이얼로그부(140)에 출력하게 된다.
도 5는 도 1에서 캐릭터 에이전트 구동부(130)의 구성을 나타낸 블럭도이다.
도 5를 살펴보면, 캐릭터 에이전트 구동 판단부(500) 및 긴급패턴 알림부(520)를 포함하여 구성된다. 도 5에서는 캐릭터 에이전트 구동 판단부(500) 및 긴급패턴 알림부(520)을 도시하였으나 이는 하나의 일실시예로 나타낸 것이다.
캐릭터 에이전트 구동 판단부(500)는 단말기 정보 패턴 감지부(120)에서 이동 패턴 활성화신호, 일정 패턴 활성화신호, 통화 패턴 활성화신호 및 단말기조작 패턴 활성화신호 중 적어도 어느 하나 이상의 패턴 활성화신호가 감지되는지 여부 를 판단하게 된다. 이와 같은 이동 패턴 활성화신호, 일정 패턴 활성화신호, 통화 패턴 활성화신호 및 단말기조작 패턴 활성화신호 중 적어도 어느 하나 이상의 패턴 활성화신호가 감지된 상태에서, 캐릭터 에이전트 구동 판단부(500)는 사용자 인터페이스부(150)로부터 폴더/플립 개방 신호, 통화 종료 신호, 데이터 저장 완료 신호 및 메시지 전송 완료 신호 중 적어도 어느 하나 이상의 신호가 입력되면 캐릭터 에이전트 구동신호를 다이얼로그부(140)로 출력하게 된다.
나아가, 단말기 정보 패턴 감지부(120)에서는 상기 이동 패턴 활성화신호, 일정 패턴 활성화신호, 통화 패턴 활성화신호 및 단말기조작 패턴 활성화 신호 중 적어도 어느 하나 이상의 패턴 활성화신호를 긴급 패턴시에 발생하는 긴급패턴 활성화신호로 설정 할 수 있다. 이 경우에는 단말기 정보 패턴 감지부(120)는 긴급패턴 활성화신호를 캐릭터 에이전트 구동부(130)와 다이얼로그부(140)로 출력하게 된다.
이와 같이 입력된 긴급패턴 활성화신호에 대하여 단말기의 표시장치에 표시하는 것과 관련되어서는 상기에서 살펴본 단말기 패턴 활성화신호에 대하여 단말기의 표시장치에 표시하는 것과 유사하다. 다만, 캐릭터 에이전트 구동부(130)의 캐릭터 에이전트 구동 판단부(500)는 사용자 인터페이스부(150)로부터 폴더/플립 개방 신호, 통화 종료 신호, 데이터 저장 완료 신호 및 메시지 전송 완료 신호 중 적어도 어느 하나 이상의 신호가 입력되지 않더라도 캐릭터 에이전트 구동신호를 다이얼로그부(140)로 출력할 수 있다는 것이 구별된다.
긴급패턴 활성화신호를 입력받은 캐릭터 에이전트 구동부(130)의 긴급패턴 알림부(620)는 현재 긴급한 상황이 발생하였음을 사용자가 인식할 수 있도록 하기 위하여 단말기에 별도로 형성된 진동장치 또는 호출장치를 구동하기 위한 긴급패턴 알림신호를 상기 단말기의 진동장치 또는 호출장치로 출력하게 된다. 사용자는 단말기의 진동장치에 의한 진동 또는 단말기의 호출장치에 의한 호출음을 통하여 현재 긴급패턴이 발생하였음을 인지할 수 있게 된다.
나아가, 본 발명의 단말기에는 별도로 형성된 캐릭터 에이전트 호출 버튼(미도시)을 구성할 수 있다. 캐릭터 에이전트 호출 버튼의 조작에 의한 버튼조작신호가 사용자 인터페이스부(150)를 통하여 캐릭터 에이전트 구동 판단부(500)로 입력된 경우에, 캐릭터 에이전트 구동 판단부(500)는 단말기 정보 패턴 감지부(120)로부터 패턴 활성화신호가 입력되지 않는 경우에도 캐릭터 에이전트를 단말기의 표시장치에 표시하도록 할 수 있다. 여기에서, 캐릭터 에이전트가 단말기의 표신장치에 표시되는 내용은 미리 정하여진 기본대사를 표시하도록 할 수 있다.
또한, 본 발명의 단말기에는 사용자가 자신이 원하는 기능을 설정할 수 있다. 예를 들어, 사용자는 사용자 인터페이스부(150)를 통하여 이동 패턴 감지기능을 활용 할 것인지 여부를 선택할 수 있게 된다. 즉, 사용자가 자신이 집 근처에 있는 지하철역을 등록하여 지하철을 이용시 하차역 전방에서 도착 알림을 할 것인지 여부를 온(on)/오프(off) 설정을 할 수 있게 된다.
다른 예를 들어, 사용자는 사용자 인터페이스부(150)를 통하여 일정 패턴 감지기능을 활용 할 것인지 여부를 선택할 수 있게 된다. 즉, 사용자가 자신이 일정(회의/수업/강의/미팅) 등이 있는 경우에 이를 알려주는 기능을 이용할 것인지 여 부를 온(on)/오프(off) 설정을 할 수 있게 된다.
도 6은 도 1에서 다이얼로그부(140)의 구성을 나타낸 블럭도이다.
도 6을 살펴보면, 다이얼로그부(140)는 대사 저장부(600), 대사 추출표시부(620) 및 사용자 프로필 저장부(640)를 포함하여 구성된다.
대사 저장부(600)에는 단말기 정보 패턴 감지부(120)를 통하여 입력되는 패턴 활성화신호에 해당하는 대사 데이터가 미리 저장되어 있다. 나아가, 대사 저장부(600)에는 사용자 인터페이스부(150)로부터 캐릭터 에이전트 호출신호가 입력되는 경우에 기본적으로 표시되는 기본대사가 미리 저장될 수 있다.
대사 저장부(600)에 저장되어 있는 대사를 예를 들면 다음과 같다. 이하에서 설명하는 예는 하나의 일실시예로 설명하는 것이고, 본 발명의 기술적 범위를 벗어나지 않는 범위내에서 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 변형 가능할 것이다.
1. 현재 시간 정보 데이터로부터 현재 시간이 저녁(밤)이고 기지국 정보 데이터로부터 현재의 위치가 집 근처라고 판단되는 경우
단말기 정보 패턴 감지부(120)의 이동 패턴 감지부(400)로부터 상기와 같은 패턴이 수신되는 경우에 캐릭터 에이전트를 통하여 "여기가 집인가요?"라는 대사를 단말기의 표시장치에 표시할 수 있다. 이에 대한 사용자의 반응이 긍정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 긍정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '그래'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "그렇군요. 편히 쉬세요!"라는 대사를 단말기의 표시장치에 표시할 수 있고, 사용자의 반 응이 부정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 부정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '아니'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "그럼 어딘가요?"라는 대사를 단말기의 표시장치에 표시할 수 있다.
2. 현재 시간 정보 데이터로부터 현재 시간이 아침(낮)이고 기지국 정보 데이터로부터 현재의 위치가 회사 근처라고 판단되는 경우
단말기 정보 패턴 감지부(120)의 이동 패턴 감지부(400)로부터 상기와 같은 패턴이 수신되는 경우에 캐릭터 에이전트를 통하여 "회사에 오셨군요?"라는 대사를 단말기의 표시장치에 표시할 수 있다. 이에 대한 사용자의 반응이 긍정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 긍정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '그래'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "오늘도 즐거운 하루 되세요!"라는 대사를 단말기의 표시장치에 표시할 수 있고, 사용자의 반응이 부정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 부정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '아니'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "죄송합니다."라는 대사를 단말기의 표시장치에 표시할 수 있다.
3. 현재 시간 정보 데이터로부터 현재 시간이 저녁(밤)이고 기지국 정보 데이터로부터 현재 지하철 또는 버스를 타고 집 근처로 이동하고 있다고 판단되는 경우
단말기 정보 패턴 감지부(120)의 이동 패턴 감지부(400)로부터 상기와 같은 패턴이 수신되는 경우에 캐릭터 에이전트를 통하여 "다음 역은 집 근처인 교대역 입니다. 오른쪽으로 내리세요."라는 대사를 단말기의 표시장치에 표시할 수 있다. 이에 대한 사용자의 반응이 긍정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 긍정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '고마워'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "편히 쉬십시요"라는 대사를 단말기의 표시장치에 표시할 수 있고, 사용자의 반응이 부정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 부정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '아니야'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "죄송합니다. 이 역에서 항상 내리시길래 내리실 줄 알았습니다"라는 대사를 단말기의 표시장치에 표시할 수 있다.
4. 일정 정보 데이터로부터 단말기에 저장되어 있는 일정(회의/수업/강의/미팅)이 파악되고 현재 시간 정보 데이터로부터 현재 시간이 상기 일정시간 직전이라고 판단되는 경우
단말기 정보 패턴 감지부(120)의 일정 패턴 감지부(420)로부터 상기와 같은 패턴이 수신되는 경우에 캐릭터 에이전트를 통하여 "조금 있으면 회의/수업/강의/미팅이 시작됩니다. 진동으로 바꾸실래요?"라는 대사를 단말기의 표시장치에 표시할 수 있다. 이에 대한 사용자의 반응이 긍정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 긍정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '그래'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "알았어요. 회의/수업/강의/미팅시간동안 진동으로 전환할께요"라는 대사를 단말기의 표시장치에 표시할 수 있고, 사용자의 반응이 부정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 부정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '아니야'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "진동으로 전환하지 않겠습니다."라는 대사를 단말기의 표시장치에 표시할 수 있다.
5. 개인 정보 데이터로부터 단말기에 저장되어 있는 전화번호를 통하여 개인별 통화 상대자가 파악되고 통화시간 정보 데이터로부터 개인별 통화시간이 파악되는 경우
단말기 정보 패턴 감지부(120)의 통화 패턴 감지부(440)로부터 상기와 같은 패턴이 수신되는 경우에 캐릭터 에이전트를 통하여 "요즘은 홍길동씨와 통화가 별로 없네요. 홍길동씨와 통화하실래요?"라는 대사를 단말기의 표시장치에 표시할 수 있다. 이에 대한 사용자의 반응이 긍정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 긍정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '그래'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "알았어요. 지금 홍길동씨와 통화를 연결하겠습니다"라는 대사를 단말기의 표시장치에 표시할 수 있고, 사용자의 반응이 부정적인 경우(예를 들어, 단말기의 특정 버튼을 눌러 부정적인 반응을 표시하거나, 음성 인식 장치를 통하여 '아니야'라는 음성을 인식한 경우)에 캐릭터 에이전트를 통하여 "죄송해요, 그럼 즐거운 시간보내세요"라는 대사를 단말기의 표시장치에 표시할 수 있다.
6. 사용자 인터페이스부(150)로부터 캐릭터 에이전트 호출신호가 입력되는 경우
사용자 인터페이스부(150)로부터 캐릭터 에이전트 호출신호가 입력되는 경우에 캐릭터 에이전트를 통하여 "무엇을 도와 드릴가요?"라는 대사를 단말기의 표시장치에 표시할 수 있다.
대사 추출표시부(620)는 캐릭터 에이전트 구동부(130)를 통하여 캐릭터 에이전트 구동신호가 입력되는 경우에 상기 단말기 정보 패턴 감지부(120)로부터 입력된 패턴 활성화신호에 해당하는 경우를 대사 저장부(600)로부터 추출하여 단말기의 표시장치에 표시되도록 한다. 나아가, 대사 추출표시부(620)에서는 하기의 사용자 프로필 저장부(640)에 기 저장되어 있는 사용자 반응 정보를 통하여 상기 패턴 활성화신호 중에서 상기 사용자 반응 정도가 가장 높은 것부터 상기 단말기의 표시장치에 표시되도록 할 수 있다.
사용자 프로필 저장부(640)는 사용자 인터페이스부(150)로부터 캐릭터 에이전트에 의해 단말기의 표시장치에 표시된 대사에 대한 사용자의 반응을 수신하여 저장하게 된다.
도 7은 본 발명의 일실시예에 대한 단말기의 사용패턴에 의한 대화 방식 인터페이스 시스템 운영 방법에 대한 과정을 나타낸 흐름도이다.
도 1을 참조하여 도 7을 살펴보면, 단말기 정보 추출부(100)를 통하여 단말기 정보를 추출한다(S700).
다음으로, 추출된 단말기 정보를 이용하여 단말기 정보 패턴을 분석하고 단말기 정보 패턴 분석저장부(110)에 저장하게 된다(S710).
다음으로, 단말기 정보 패턴 분석저장부(110)에 기 저장된 단말기 정보 패턴과 현재 분석된 단말기 정보 패턴을 비교하여 단말기 정보 패턴을 감지하게 된다. 여기에서, 단말기 정보 패턴을 감지하는 것은 단말기 정보 패턴 감지부(120)를 통하여 감지하게 된다(S720).
다음으로, 단말기 정보 패턴 감지부(120)는 단말기 정보 패턴을 감지하여 패턴 활성화신호를 캐릭터 에이전트 구동부(130)와 다이얼로그부(140)에 출력하게 된다(S730).
다음으로, 패턴 활성화신호를 수신한 캐릭터 에이전트 구동부(130)의 캐릭터 에이전트 구동 판단부(500)는 사용자 인터페이스부(150)로부터 단말기 조작신호를 수신하여 캐릭터 에이전트 구동신호를 다이얼로그부(140)로 출력하게 된다(S740).
다음으로, 단계 S730에서 패턴 활성화신호와 단계 S740에서 캐릭터 에이전트 구동신호를 수신받은 다이얼로그부(140)는 단말기의 표시장치에 캐릭터 에이전트를 통하여 패턴 활성화신호에 해당하는 대사를 표시하게 된다(S750).
도 8은 도 7에서 단계 S730을 구체적으로 나타낸 흐름도이다.
도 8을 살펴보면, 캐릭터 에이전트 구동부(130)의 캐릭터 에이전트 구동 판단부(500)는 캐릭터 에이전트를 구동할 것인지 여부를 판단하게 된다. 여기에서, 캐릭터 에이전트를 구동하는 것은 단계 S730에서 단말기 정보 패턴 감지부(120)로부터 패턴 활성화신호를 수신하고 단계 S740에서 단말기 조작신호를 수신한 경우에 캐릭터 에이전트 구동을 할 것으로 판단하게 된다(S800).
단계 S800에서의 판단결과, 캐릭터 에이전트 구동을 할 것으로 판단되지 않는 경우에는 종료된다.
한편, 단계 S800에서의 판단결과 캐릭터 에이전트 구동을 할 것으로 판단된 경우에는 단계 S820으로 진행하여 캐릭터 에이전트 구동신호를 다이얼로그부(140)로 출력하게 된다.
도 9는 도 8의 동작 흐름을 보다 구체적으로 나타낸 흐름도이다.
도 9를 살펴보면, 도 5의 캐릭터 에이전트 구동 판단부(500)에서는 단말기 정보 패턴 감지부(120)로부터 패턴 활성화신호가 입력된 상태에서, 아래와 같은 각각이 발생하는 경우에 다이얼로그부(140)에 캐릭터 에이전트 구동신호를 출력하게 된다.
단말기의 폴더/플립의 개방여부를 감지하다가 폴더/플립 개방 신호가 입력된 경우(S900)에 소정의 시간이 경과한 후(S905)(예를 들어, 1초) 다이얼로그부(140)에 캐릭터 에이전트 구동신호를 출력하여 단말기의 표시장치에 캐릭터 에이전트를 표시하도록 하기 위하여 캐릭터 에이전트 구동 여부를 판단(S950)하게 된다. 여기에서, 캐릭터 에이전트 구동 여부를 판단하는 것은 단말기 정보 패턴 감지부(120)로부터 패턴 활성화 신호가 입력되었는지 여부를 통하여 판단 하게 된다.
단말기의 통화 종료여부를 감지하다가 통화 종료 신호가 입력된 경우(S910)에 소정의 시간이 경과한 후(S915)(예를 들어, 0.1초) 다이얼로그부(140)에 캐릭터 에이전트 구동신호를 출력하여 단말기의 표시장치에 캐릭터 에이전트를 표시하도록 하기 위하여 캐릭터 에이전트 구동을 판단(S950)하게 된다. 여기에서, 캐릭터 에이전트 구동 여부를 판단하는 것은 단말기 정보 패턴 감지부(120)로부터 패턴 활성화 신호가 입력되었는지 여부를 통하여 판단하게 된다.
단말기의 데이터 저장여부를 감지하다가 데이터 저장 완료 신호가 입력된 경우(S920)에 소정의 시간이 경과한 후(S925)(예를 들어, 0.0초) 다이얼로그부(140)에 캐릭터 에이전트 구동신호를 출력하여 단말기의 표시장치에 캐릭터 에이전트를 표시하도록 하기 위하여 캐릭터 에이전트 구동을 판단(S950)하게 된다. 여기에서, 캐릭터 에이전트 구동 여부를 판단하는 것은 단말기 정보 패턴 감지부(120)로부터 패턴 활성화 신호가 입력되었는지 여부를 통하여 판단하게 된다.
단말기의 메시지 전송여부를 감지하다가 메시지 전송 완료 신호가 입력된 경우(S930)에 소정의 시간이 경과한 후(S935)(예를 들어, 0.3초) 다이얼로그부(140)에 캐릭터 에이전트 구동신호를 출력하여 단말기의 표시장치에 캐릭터 에이전트를 표시하도록 하기 위하여 캐릭터 에이전트 구동을 판단(S950)하게 된다. 여기에서, 캐릭터 에이전트 구동 여부를 판단하는 것은 단말기 정보 패턴 감지부(120)로부터 패턴 활성화 신호가 입력되었는지 여부를 통하여 판단하게 된다.
캐릭터 에이전트 구동 판단부(500)에서는 사용자에 의한 단말기 조작에 의하여 사용자 인터페이스부(150)로부터 캐릭터 에이전트 호출신호를 입력받는 경우에(S940) 단말기 정보 패턴 감지부(120)로부터 패턴 활성화 신호가 입력되었는지 여부에 관계없이 단계 S960으로 진행하여 바로 캐릭터 에이전트 구동신호를 출력하도록 한다.
나아가, 사용자에게 시급히 알려야 할 이벤트(예를 들어, 일정의 알림 또는 일상적으로 하차하던 지하철역을 지나침)가 발생하는 경우와 같은 긴급한 상황이 발생하였을 경우(S950), 즉 긴급패턴 활성화신호가 캐릭터 에이전트 구동 판단부(500)로 입력되는 경우에는 상기와 같은 폴더/플립 개방 신호가 입력된 경우(S900), 통화 종료 신호가 입력된 경우(S910), 데이터 저장 완료 신호가 입력된 경우(S920) 및 메시지 전송 완료 신호가 입력된 경우(S930)와 같은 경우가 발생하지 않은 경우에도 단계 S970으로 진행하여 캐릭터 에이전트 구동신호를 출력하게 된다.
구체적으로 예를 들어, 단말기 정보 패턴 감지부(120)의 이동 패턴 감지부(400)로부터 이상 이동 패턴, 즉 특정한 패턴(예를 들어, 특정 시간대에 특정 지역에 장기간 위치함)이나 일상적이지 않은 이동 패턴(예를 들어, 특정 시간대에 일상적으로 위치하는 지역이 아닌 곳으로 이동함)이 감지되는 경우에 이를 사용자에게 즉시 알려주도록 하기 위하여 상기와 같은 S900, S910, S920 및 S930 중 어느 하나가 발생하지 않더라도 캐릭터 에이전트 구동 판단 단계(S960)를 거치지 않고 바로 캐릭터 에이전트 구동신호를 단말기의 표시장치에 출력하게 된다(S970).
도 10은 도 7에서 단계 S750을 구체적으로 나타낸 흐름도이다.
도 10을 살펴보면, 다이얼로그부(140)의 사용자 프로필 저장부(640)는 사용자 인터페이스부(150)로부터 단말기의 표시장치에 표시된 캐릭터 에이전트의 대사에 대한 사용자의 반응을 나타내는 단말기 조작신호를 수신하게 된다.
사용자의 응답 여부에 대하여 소정 시간동안(예를 들어, 5초) 응답신호가 사용자 인터페이스부(150)로 수신되는지 여부를 판단한다(S1000).
단계 S1000에서의 판단결과, 사용자의 응답이 없다고 판단되는 경우에는 단계 S1060으로 진행하여 R값(사용자 반응 조절 인자값)을 변경(예를 들어, R=-0.5)하게 된다.
한편, 단계 S1000에서의 판단결과 사용자의 응답이 있는 경우에는 단계 S1010으로 진행한다.
단계 S1010에서는, 사용자의 응답이 정확한지 여부를 판단한다. 즉, 사용자 인터페이스부(150)로부터 입력을 원하는 값이 예를 나타내는 * 또는 아니오를 나타내는 #를 원했는데 다른 신호가 입력되는 경우에 단말기는 정확한 값이 입력되진 않았다고 판단한다.
단계 S1010에서의 판단결과, 사용자의 응답이 정확하지 않다고 판단되는 경우에는 단계 S1030으로 진행하여 R값을 변경(예를 들어, R=-0.2)하게 된다.
한편, 단계 S1010에서의 판단결과 사용자의 응답이 정확하다고 판단된 경우에는 단계 S1020으로 진행한다.
단계 S1020에서는, 사용자의 응답이 긍정적인지 여부를 판단한다. 즉, 상기 단계 S1010에서 예를 든 경우를 참조하여, 사용자 인터페이스부(150)로부터 입력되는 값이 예를 나타내는 *인 경우에는 긍정적인 값이 응답되었다고 판단한다. 한편, 아니오를 나타내는 #인 경우에는 부정적인 값이 응답되었다고 판단한다.
단계 S1020에서의 판단결과, 부정적인 응답이 입력되었다고 판단되는 경우에는 단계 S1040으로 진행하여 R값을 변경(예를 들어, R=0.4)하게 된다.
한편, 단계 S1020에서의 판단결과, 긍정적인 응답이 입력되었다고 판단되는 경우에는 단계 S1050으로 진행하여 R값을 변경(예를 들어, R=1.0)하게 된다.
단계 S1030, 단계 S1040, 단계 S1050 또는 단계 S1060 을 거친 후에는 단계 S1070으로 진행하여 수학식 1에 따라 Q 테이블에 저장되어 있는 값 중 현재 상태(s)와 캐릭터 에이전트 행동(a)에 해당하는 Q(s,a) 를 수정하게 된다.
(여기서,
는 현재 상태(s)와 캐릭터 에이전트 행동(a)를 경험한 횟수,
는 0과 1 사이의 임의의 설정 값으로 감가상각의 의미를 갖고, s'는 다음 상태를 나타낸다.)
상태 (s : state) |
캐릭터 에이전트 행동 (a : action) |
Q ( s , a ) |
폴더/플립 개방 이상 이동 패턴 감지 |
"여기는 어디죠? 잘 모르는 곳이네요" |
1.3 |
폴더/플립 개방 이상 이동 패턴 감지 |
[무동작] |
3.0 |
폴더/플립 개방 이상 이동 패턴 감지 |
"여기가 집인가요?" |
0.5 |
표 1에서 보는 바와 같이, 각각의 사용자의 응답에 대응하여 Q 테이블인 Q(s,a)값이 변경될 수 있다. Q 테이블은 뉴럴네크웍과 같은 Function Approximator를 쓸 수도 있다.
Q 테이블로부터 캐릭터 에이전트의 행동은 수학식 2에 의해 선택된다.
(여기서,
는 현태 상태 s에서 캐릭터 에이전트 행동 a가 선택될 확률을 나타내고,
는 수학식 1에서 쓰인 바와 같이 현재 상태(s)와 캐릭터 에이전트 행동(a)를 경험한 횟수이다.)
여기에서, 사용자 인터페이스부(150)로부터 단말기의 표시장치에 표시된 캐릭터 에이전트의 대사에 대한 사용자의 응답을 수신하는 경우 R값을 변경하여 Q 테이블을 변경하는 것을 본 발명의 일실시예로서 설명하였으나, 이는 이전에 공개된 다양한 데이터베이스 기술을 활용할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사 용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.