ALDialog/QiChat 메모
6193 단어 ChoregrapheNAOqiPepper
ALDialog/QiChat
에 가능성을 느꼈기 때문에 메모입니다.ALDialog/QiChat 개요
Choregraphe에 Dialog 상자를 배치하면,QiChat
라는 스크립트에 의해 Pepper군의 대화 등을 제어할 수 있다.
잘 사용하는 기본적인 QiChat
문장을 메모.
concept
대화 패턴을 선언하는 데 사용.
변수로서 대화의 패턴을 넣어 두는 이미지.
예:
스크립트
...
concept:(yes) [はい いいですよ]
u:(~yes) やったー
...
[]
안에 넣어 여러 패턴을 등록할 수 있다.~
를 붙이면 concept
의 내용을 가져온다.
결과
Human: はい (100%)
Robot: やったー
Human: いいですよ (100%)
Robot: やったー
proposal
Pepper군에게 말하는 말을 함수화할 수 있는 신택스.
다음과 같이 취급한다.proposal: %hoge Pepperです、こんにちは
( %
다음에 태그명으로 태그를 붙일 수 있다)
^nextProposal
다음 proposal
를 가져옵니다.
예:
스크립트
...
proposal: 1番目
proposal: 2番目
proposal: 3番目
u:(こんにちは) ^nextProposal
...
결과
Human: こんにちは (100%)
Robot: 1番目
Human: こんにちは (100%)
Robot: 2番目
Human: こんにちは (100%)
Robot: 3番目
^previousProposal
한 개 전에 proposal
를 가져온다.
(주: ^nextProposal
와 같이 앞으로 가는 동작은 아니다.)
예:
스크립트
...
proposal: 1番目
proposal: 2番目
proposal: 3番目
u:(こんにちは) ^nextProposal
u:(こんばんは) ^previousProposal
...
결과
Human: こんにちは (100%)
Robot: 1番目
Human: こんにちは (100%)
Robot: 2番目
Human: こんばんは (100%)
Robot: 1番目
Human: こんばんは (100%)
Robot: 2番目
Human: こんばんは (100%)
Robot: 1番目
^sameProposal
방금 전과 같은 proposal
를 가져온다.
예:
스크립트
...
proposal: 1番目
proposal: 2番目
proposal: 3番目
u:(こんにちは) ^nextProposal
u:(こんばんは) ^previousProposal
u:(おはよう) ^sameProposal
...
결과
Human: こんにちは (100%)
Robot: 1番目
Human: おはよう (100%)
Robot: 1番目
Human: おはよう (100%)
Robot: 1番目
^activate(태그 이름), ^deactivate(태그 이름)
태그가 붙은 proposal
의 유효화와 무효화를 실시한다.
예:
스크립트
...
proposal: こんにちは
proposal: %hoge おはよう
proposal: こんばんは
u:(こんにちは) ^nextProposal
u:(おはよう) ^deactivate(hoge) 今は朝では無いですよね
...
결과
Human: こんにちは (100%)
Robot: こんにちは
Human: おはよう (100%)
Robot: 今は朝では無いですよね
Human: こんにちは (100%)
Robot: こんばんは
^goto(태그 이름), ^gotoReactive(태그 이름)
%
에 의해 태그가 붙은 문장을 가져온다.
(참고: ^goto
한 번만.)
예:
스크립트
...
proposal: %hoge Pepperです
u:(こんにちは) こんにちは ^goto(hoge)
u:(おはよう) おはよう ^gotoReactive(hoge)
...
결과
Human: こんにちは (100%)
Robot: こんにちはPepperです
Human: こんにちは (100%)
Robot: こんにちは
Human: おはよう (100%)
Robot: おはようPepperです
Human: おはよう (100%)
Robot: おはようPepperです
^gotoRandom(태그명)
같은 태그가 붙은 문장을 랜덤하게 가져온다.
(주 : 이쪽도 한 번 가져온 문장은 가져 오지 않는다)
예:
스크립트
...
proposal: %hoge Pepper1です
proposal: %hoge Pepper2です
proposal: %hoge Pepper3です
u:(こんにちは) こんにちは ^gotoRandom(hoge)
...
결과
Human: こんにちは (100%)
Robot: こんにちはPepper3です
Human: こんにちは (100%)
Robot: こんにちはPepper1です
Human: こんにちは (100%)
Robot: こんにちはPepper2です
Human: こんにちは (100%)
Robot: こんにちは
include
외부 주제 파일을 가져옵니다.
정리할 수 있어 매우 편리.
예:
스크립트
hoge_jpj.top...
proposal: Pepperです
proposal: 百万馬力ですよ!
...
main_kr.top...
include: hoge_jpj.top
u:(こんにちは) ^nextProposal
...
결과
Human: こんにちは (100%)
Robot: Pepperです
Human: こんにちは (100%)
Robot: 百万馬力ですよ!
서브 규칙
예:
스크립트
u:(こんにちは) こんにちは、今日の体調はどうですか?
u1:(~good) それは良かったです。
u1:(~bad) お気の毒に、どこが悪いですか?
u2:(e:Dialog/NotUnderstood) $Dialog/LastInput が悪いのですか。
$Dialog/LastInput が良くなる情報を表示します。
$health=$Dialog/LastInput
결과
Human: こんにちは (100%)
Robot: こんにちは、今日の体調はどうですか?
Human: 辛いです (100%)
Robot: お気の毒に、どこが悪いですか?
Human: 頭 (100%)
Robot: 頭が悪いのですか。頭が良くなる情報を表示します。
위의 예와 같이 u:
뿐만 아니라,u1:
, u2:
와 같이 u 뒤에 숫자를 추가하여
대화의 조건 분기를 할 수 있고, 자연스러운 대화의 흐름을 실현할 수 있다.
proposal: 今日の体調はどうですか?
u1:(~good) それは良かったです。
u1:(~bad) お気の毒に。
위와 같이 proposal
이후에도 사용할 수 있다.
스크립트의 맨 아래 줄처럼 변수에 대화 내용을 넣어 Dialog
다음 상자에 값을 전달할 수 있습니다.
값을 전달하고 그 내용에 따라 처리할 수 있다.
(참고: 대화 입문 (Pepper TechFes 기술 세션) / 상자 출력 )
소감
proposal
주변과 concept
변수를 사용하면 일련의 대화의 흐름은 간단하게 할 수 있을 것 같다.
상당히 버릇이있는 스크립트이므로 테스트를 반복하면서 구현이 될 것 같습니다 ...
아직 세세한 곳에 손이 닿을 것 같은 신택스가 있으므로 공부하는 대로 갱신합니다.
참고
대화 입문 (Pepper TechFes 기술 세션)QiChat
를 사용하여 대화와 연동하여 모션을 움직이는 방법 등
Dialog 및 메모리 이벤트 (Dialog 응용)Dialog
의 메모리 이벤트나 QiChat
내에서 메모리 이벤트를 가져오는 방법 등
pepper와의 대화를 진화시키는 QiChat-Syntax 정리(자신용 메모)
일본어판 공식 문서라고 해도 좋은 신택스의 소개량입니다.
QiChat - Table of ContentQiChat
공식 문서(영어)
Reference
이 문제에 관하여(ALDialog/QiChat 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/G-angle/items/ef301e7869db25ed42d9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
...
concept:(yes) [はい いいですよ]
u:(~yes) やったー
...
Human: はい (100%)
Robot: やったー
Human: いいですよ (100%)
Robot: やったー
...
proposal: 1番目
proposal: 2番目
proposal: 3番目
u:(こんにちは) ^nextProposal
...
Human: こんにちは (100%)
Robot: 1番目
Human: こんにちは (100%)
Robot: 2番目
Human: こんにちは (100%)
Robot: 3番目
...
proposal: 1番目
proposal: 2番目
proposal: 3番目
u:(こんにちは) ^nextProposal
u:(こんばんは) ^previousProposal
...
Human: こんにちは (100%)
Robot: 1番目
Human: こんにちは (100%)
Robot: 2番目
Human: こんばんは (100%)
Robot: 1番目
Human: こんばんは (100%)
Robot: 2番目
Human: こんばんは (100%)
Robot: 1番目
...
proposal: 1番目
proposal: 2番目
proposal: 3番目
u:(こんにちは) ^nextProposal
u:(こんばんは) ^previousProposal
u:(おはよう) ^sameProposal
...
Human: こんにちは (100%)
Robot: 1番目
Human: おはよう (100%)
Robot: 1番目
Human: おはよう (100%)
Robot: 1番目
...
proposal: こんにちは
proposal: %hoge おはよう
proposal: こんばんは
u:(こんにちは) ^nextProposal
u:(おはよう) ^deactivate(hoge) 今は朝では無いですよね
...
Human: こんにちは (100%)
Robot: こんにちは
Human: おはよう (100%)
Robot: 今は朝では無いですよね
Human: こんにちは (100%)
Robot: こんばんは
...
proposal: %hoge Pepperです
u:(こんにちは) こんにちは ^goto(hoge)
u:(おはよう) おはよう ^gotoReactive(hoge)
...
Human: こんにちは (100%)
Robot: こんにちはPepperです
Human: こんにちは (100%)
Robot: こんにちは
Human: おはよう (100%)
Robot: おはようPepperです
Human: おはよう (100%)
Robot: おはようPepperです
...
proposal: %hoge Pepper1です
proposal: %hoge Pepper2です
proposal: %hoge Pepper3です
u:(こんにちは) こんにちは ^gotoRandom(hoge)
...
Human: こんにちは (100%)
Robot: こんにちはPepper3です
Human: こんにちは (100%)
Robot: こんにちはPepper1です
Human: こんにちは (100%)
Robot: こんにちはPepper2です
Human: こんにちは (100%)
Robot: こんにちは
...
proposal: Pepperです
proposal: 百万馬力ですよ!
...
...
include: hoge_jpj.top
u:(こんにちは) ^nextProposal
...
Human: こんにちは (100%)
Robot: Pepperです
Human: こんにちは (100%)
Robot: 百万馬力ですよ!
u:(こんにちは) こんにちは、今日の体調はどうですか?
u1:(~good) それは良かったです。
u1:(~bad) お気の毒に、どこが悪いですか?
u2:(e:Dialog/NotUnderstood) $Dialog/LastInput が悪いのですか。
$Dialog/LastInput が良くなる情報を表示します。
$health=$Dialog/LastInput
Human: こんにちは (100%)
Robot: こんにちは、今日の体調はどうですか?
Human: 辛いです (100%)
Robot: お気の毒に、どこが悪いですか?
Human: 頭 (100%)
Robot: 頭が悪いのですか。頭が良くなる情報を表示します。
proposal: 今日の体調はどうですか?
u1:(~good) それは良かったです。
u1:(~bad) お気の毒に。
proposal
주변과 concept
변수를 사용하면 일련의 대화의 흐름은 간단하게 할 수 있을 것 같다.상당히 버릇이있는 스크립트이므로 테스트를 반복하면서 구현이 될 것 같습니다 ...
아직 세세한 곳에 손이 닿을 것 같은 신택스가 있으므로 공부하는 대로 갱신합니다.
참고
대화 입문 (Pepper TechFes 기술 세션)QiChat
를 사용하여 대화와 연동하여 모션을 움직이는 방법 등
Dialog 및 메모리 이벤트 (Dialog 응용)Dialog
의 메모리 이벤트나 QiChat
내에서 메모리 이벤트를 가져오는 방법 등
pepper와의 대화를 진화시키는 QiChat-Syntax 정리(자신용 메모)
일본어판 공식 문서라고 해도 좋은 신택스의 소개량입니다.
QiChat - Table of ContentQiChat
공식 문서(영어)
Reference
이 문제에 관하여(ALDialog/QiChat 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/G-angle/items/ef301e7869db25ed42d9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ALDialog/QiChat 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/G-angle/items/ef301e7869db25ed42d9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)