èªç¶èšèªã§ã®äººãšã®ã³ãã¥ãã±ãŒã·ã§ã³ããµããŒããããã£ãããããã¯éåžžã«äººæ°ããããéèŠããããŸãã ä»æ¥ãChatScriptïŒCSïŒã䜿çšãããã£ãããããéçºè³æã®ç¿»èš³ã®æåã®éšåãå
±æããŸããããã¯ã
WebbyLabã®åŸæ¥å¡ãäŒç€Ÿã®æè¿ã®ãããžã§ã¯ãã®1ã€ã§åŸãçµéšã«åºã¥ããŠäœæãããŸããã ããã§ã¯ãç¹ã«ãå®è·µçãªããã°ã©ããŒã®èŠ³ç¹ããèæ
®ããããCSãæ±ãåºæ¬ã«ã€ããŠèª¬æããŸãã ChatScriptãåªããŠããã®ã¯ã人工ç¥èœã®æ©èœãåãã倧èŠæš¡ãªã·ã¹ãã ãæ¯èŒçç°¡åã«éçºã§ããããšãšãJavaScriptã§èšè¿°ããããããžã§ã¯ãã«ç°¡åã«çµ±åã§ããããšã§ãã
åé¡ã®å£°æ
ãã€ãŠãç§ãåããŠããäŒç€Ÿã®WebbyLabã¯ãç±³åœã®ä¿éºäŒç€Ÿåãã®ã€ã³ããªãžã§ã³ããªãã£ãããããã®éçºãšãã課é¡ã«çŽé¢ããŠããŸããã ä»äºã®éå§æã«ã¯ãã¯ã©ã€ã¢ã³ãã¯ãã§ã«Facebookã§ãã£ããããããã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãåããŠããŸããã ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã®èåŸã«ã座ã£ãŠããããããããŠãŒã¶ãŒã¡ãã»ãŒãžãç解ãããããã«ææ矩ã«å¿çãããã¬ãŒãºãåæããå
¥åãããããŒã¿ããå¿
èŠãªæ
å ±ãæœåºããããšã確èªããå¿
èŠããããŸããã èããããæå³ã«åŸã£ãŠãŠãŒã¶ãŒã®ã¹ããŒãã¡ã³ããåé¢ããäžé£ã®ãã¬ãŒãºã«åºã¥ããŠãããã®æå³ãèªèããã¡ã«ããºã ãå®è£
ããããšã«ããŸããã ããã«ãæå³ã«ã¯ããã£ããããããèªèããå¿
èŠã®ããããŸããŸãªãã©ã¡ãŒã¿ãŒïŒå®¶ã®ãšãªã¢ãæ¥ä»ãè»ã®ã¢ãã«ãªã©ïŒãå«ããããšãã§ãããšããäºå®ãèæ
®ããå¿
èŠããããŸããã ChatScriptã¯ããããžã§ã¯ãã®ãã©ãããã©ãŒã ãšããŠéžæãããŸããã
ChatScript
å§ããã«ã¯ãChatScriptã詳ããèŠãŠãã ããã ããã¯ããã£ããããããäœæããããã®ãšã³ãžã³ã§ãããäœæãããããã°ã©ã ã¯ãã¬ãŒãããŒè³ã4ååè³ããŸããã ã¹ãŒãšãã«ãŒã¹ã»ãŠã£ã«ã³ãã¯ã¹ã«ãã£ãŠéçºãããŸããã CSã¯ã«ãŒã«ããŒã¹ã§ãããCSã§ã®äœæ¥ã¯ãã€ã³ã¿ãŒããªã¿ãŒçšã®æ§æãã¡ã€ã«ãŸãã¯ææ³ã®äœæã«äŒŒã宣èšåããã°ã©ãã³ã°ã®ã¢ãããŒãã«äŒŒãŠããå ŽåããããŸãã ãã ããCSã§ã®äœæ¥ã¯åœä»€åããã°ã©ãã³ã°ã«è¿ããªããŸããããã¯ãããã§ããã«ãã³ãã³ãã䜿çšããŠç¹å®ã®ã¡ãã»ãŒãžãžã®å¯Ÿå¿æ¹æ³ããšã³ãžã³ã«äŒããå¿
èŠãããããã§ãã CSã¯C ++ã§èšè¿°ãããŠããããšã³ãžã³ã«ã¯WindowsãLinuxãããã³MacOSãã©ãããã©ãŒã çšã®ãã€ããªã¢ã»ã³ããªããããŸãã
ç°¡åãªãããéçº
ãœãããŠã§ã¢ããŒã«ãç¿åŸããæè¯ã®æ¹æ³ã¯ãå®éã«è©ŠããŠã¿ãŠãã·ã³ãã«ã§ãããããããã®ãäœæããããšã§ãã ãããç§ãã¡ãä»ããããšããŠãããããžã§ã¯ãã§ãã ããã«ããã®
èšäºãèŠãŠãå
¬åŒã®ChatScriptãã¥ãŒããªã¢ã«ãèªãããšããå§ãããŸãã
ãŸãã䟿å©ãªè·å Žãæºåãã䟡å€ããããŸãã ãããè¡ãã«ã¯ãCSæ§æã®åŒ·èª¿è¡šç€ºããµããŒãããéçºããŒã«ãã€ã³ã¹ããŒã«ããããšããå§ãããŸãã
Sublime Text 3 ã
Visual Studio Codeãããã³
Atomã®ãã©ã°ã€ã³ã¯æ¬¡ã®ãšããã§ãã Sublimeã䜿çšããŸããã巚倧ãªãã¡ã€ã«ãéãããšãå¿
èŠãªå Žåãããããã®ãšãã£ã¿ãŒã¯ãã®ã¿ã¹ã¯ã«ãã°ãã察å¿ããŸããã奜ããªãšãã£ã¿ãŒãéžæã§ããŸãã
åºæ¬çãªããšãæ確ã«ããããã«ãã¢ã¯ãã£ããã£ããããããéçºãã段éçãªäŸãæ€èšããŸãã ç§ã®äŸã§ã¯Ubuntu 16.04ãšCS 7.4ã䜿çšããŠããŸããããµããŒããããŠããä»ã®ãã©ãããã©ãŒã ã§ããã°äœ¿çšã§ããŸãã
1. GitHubã§CSãªããžããªãè€è£œããŸãã
git clone https:
2. ChatScript
ãã£ã¬ã¯ããªã«
ChatScript
ãã£ãããããçšã®ãã©ã«ããŒãäœæããŸãããã®ãã©ã«ããŒã«ã¯ãã¡ã€ã³ãããã¯ã®ãã¡ã€ã«ïŒä»¥äžã§èª¬æããŸãïŒãšãã¢ããªã±ãŒã·ã§ã³ã«å«ãŸãããããã¯ã®ãªã¹ããå«ããã¡ã€ã«
filesfood.txt
å«ãŸããŸãã
bash cd ChatScript/RAWDATA mkdir FOOD touch FOOD/food.top touch filesfood.txt
3. implecontrol.top
ãã¡ã€ã«ã
RAWDATA/HARRY
ãã
FOOD
ãã©ã«ããŒã«
implecontrol.top
ãŸãã ããã¯ãããããšå¯Ÿè©±ããããã«å¿
èŠãªã¹ã¯ãªããã§ãã ããã§ã¯ãããã¯å¿
é ã§ã¯ãããŸãããã
implecontrol.top
ãã¡ã€ã«ã®9è¡ç®ã®
$botprompt
å€æ°ã®å€ããåãããã¡ãã»ãŒãžã®åã«çœ®æãããè¡ã«
implecontrol.top
ã§ããŸãã ãã ããããã¯ãããã®åäœã«åœ±é¿ãäžããªãããããã¹ãŠããã®ãŸãŸã«ããããšãã§ããŸãïŒããã©ã«ãã§ã¯
HARRY
ïŒã ãã®äŸã§ã¯ããã®å€æ°ã«æ¬¡ã®èšå®ã䜿çšããŸãïŒ
$botprompt = ^"fastfood>
ã
bash cp HARRY/simplecontrol.top FOOD/simplecontrol.top
4.次ã®ã³ãŒãã
food.top
ãã¡ã€ã«ã«è¿œå ããŸãã
topic: ~fastfood keep repeat [] t: Hello in our online fastfood. Please make your order. u: BURGER (I [want need take] _[burger potato ice-cream]) $order = _0 Okay, you want $order . Something else?
5.ããããæ§ç¯ãããšãã«äœ¿çšããããã¡ã€ã«ã®ãªã¹ãã
filesfood.txt
ãã¡ã€ã«ã«è¿œå ããŸãã
RAWDATA/FOOD/simplecontrol.top RAWDATA/FOOD/food.top
6.æåŸã«ãããããåéããŠèµ·åããŸãã ãããè¡ãã«ã¯ãChatScriptãã£ã¬ã¯ããªãã次ã®ã³ãã³ããå®è¡ããŸãã
./BINARIES/ChatScript local
7.ãã®æ®µéã§ãä»»æã®ãŠãŒã¶ãŒåãéžæã§ããŸãã 次ã«ãCSã³ã³ãœãŒã«ã§ã2ã€ã®ã³ãã³ããå®è¡ããå¿
èŠããããŸãïŒæåã¯ãã£ãããããã®åºæ¬ã¬ãã«ãåéãã2çªç®ã¯ç¹å®ã®ãããã¯çšã«ã»ããã¢ããããŸãïŒã
:build 0 :build food
ãããã®ãã¹ãŠã®æé ãå®äºãããšããã£ããããããæ©èœããŸãã çŸæç¹ã§ã¯ã圌ã¯ããã€ãã®ãã¬ãŒãºïŒããã³ããŒã¬ãŒãå¿
èŠã§ããããã¢ã€ã¹ã¯ãªãŒã ã欲ããããªã©ïŒããç解ããŠããŸããããæ°ããã«ãŒã«ãšãããã¯ãè¿œå ããããšã§æ¡åŒµã§ããŸãã
food.top
ãã¡ã€ã«ãå€æŽããåŸãã³ãã³ããå床å®è¡
food.top
å¿
èŠããããŸã
:build food
ã 以äžã§ã¯ããã®äŸã§äœ¿çšãããŠããæ§æãšæ§æã«ã€ããŠè©³ãã説æããŸãã
å¿
é ã®ChatScriptã³ã³ã¹ãã©ã¯ã
ããã§ChatScriptãéå§ã§ããŸãã ããããåå¿è
ã®æ¹ã¯ãå
¬åŒããã¥ã¡ã³ããèªãã§
åºæ¬çãªCSèšèšã«ã€ããŠããå°ãåŠã¶ããšããå§ãããŸãã ããã§ã¯ãCSã®åºæ¬çãªã¡ã«ããºã ã«ã€ããŠèª¬æããŸãããã£ãããããã®éçºã¯ããã®ç°å¢ã§ã®ç§èªèº«ã®çµéšã«äŸåããŠããŸãã
âãããã¯
ãããã¯ã¯ãå
±æãããããšã«ãªã£ãŠããäžé£ã®ã«ãŒã«ã§ãã ç¹å®ã®ãããã¯ã䜿çšããããã«ã·ã¹ãã ã«ææ¡ããå Žåãããããæ©èœããéãããã®ãããã¯ã®ã«ãŒã«ã®ã¿ãæ©èœããŸãã ãããã¯ã¯ãããŒã¯ãŒãïŒ
topic:
ã䜿çšããŠå®£èšããããã®åŸã«ã
~
ãèšå·ïŒ
~fastfood
ïŒã§å§ãŸãååãšããããã¯å
ã®ãã¹ãŠã®ã«ãŒã«ã«äœ¿çšãããé¢æ°ã®ãªã¹ãïŒ
keep
ããã³
repeat
é¢æ°ãå¿
èŠã§ãïŒãã®äžã®åã«ãŒã«ãåŒã³åºããåŸããã®ãããã¯ã«ïŒã 宣èšã®æåŸã«ã¯è§æ¬åŒ§-
[]
ãŸãã
topic: ~fastfood keep repeat []
éåžžãåãããã¯ã«ã¯å€ãã®é¢é£ã«ãŒã«ãå«ãŸããŸãã ãããã¯éã®åãæ¿ããã€ãŸãããããããã¯ããå¥ã®ãããã¯ãžã®åŒã³åºãã¯ã以äžã§èª¬æãã
^respond
ã¡ãœããã䜿çšããŠå®è¡ãããŸãã
âã«ãŒã«
rule
ã¯ããã®äžã®ãã¿ãŒã³ããã£ãããããã«éä¿¡ãããããŒã¿ãšäžèŽããå Žåã®ã¢ã¯ã·ã§ã³ã®åŒã³åºãã§ãã ã«ãŒã«ã¯ããããã¯ã宣èšãããåŸã«æçš¿ããå¿
èŠããããŸãã
u: BURGER (I want ari-burger) Okay, your order is hamburger
ã«ãŒã«ã®èª¬æã«ã¯éåžžãã¿ã€ãïŒ
u:
ãã©ãã«ïŒããšãã°ã
BURGER
ãããã¯ãªãã·ã§ã³ã§ãããã³ãŒãã®ãããã°ãèªå·±ææžåã«åœ¹ç«ã¡ãŸãïŒããã³ãã¬ãŒãïŒæ¬åŒ§å
ã®ãã¹ãŠïŒãå«ãŸããŸãã ã«ãŒã«ã®èª¬æã¯ãã³ãŒãã®èªã¿ããããåäžãããããã«ãããã€ãã®è¡ã«åå²ããããšãã§ããŸãã CSã¯ã©ã€ã³ãã£ãŒãã«æ³šæãæããŸãã;ã«ãŒã«ã®çµããã®å
åã¯ãæ°ããã«ãŒã«ãŸãã¯ãããã¯ã®çºè¡šã§ãã ã«ãŒã«ã§ã¯ãã³ãã³ãã䜿çšããŠå¥ã®ãããã¯ã«åãæ¿ããããšãã§ããŸã-é¢æ°
^respond
ïŒ
u: BURGER (I want ari-burger) ^respond(~answers)
ãã®å Žåãå
¥åã¯
^respond
é¢æ°ã«æž¡ããããããã¯ã®ã«ãŒã«ã«ãã£ãŠåŠçãããŸãã ãã®ã¢ãããŒãã«ãããCSã¹ã¯ãªãããéšåã«åå²ããããããšãã°ããã¬ãŒãºã®å¿çã®ãã©ãŒããããå¥ã
ã®ãããã¯ã«å
¥ãããããããšãã§ããŸãã
âå€æ°ãšã¡ã¢ãªåŠç
CSã®å€æ°ã¯ããŠãŒã¶ãŒå
¥åãä¿åããããã®ã¡ã«ããºã ã§ãã æ
å ±ã®çæä¿åçšã®å€æ°ããããŸã-ãããã®å€ã¯ãã³ãã¬ãŒããçµäºããåŸã«æ¶å»ããããŠãŒã¶ãŒå€æ°ã¯æ¶å»ããããŸã§å€ãä¿åããé·ææ
å ±ä¿åã§ãã çæå€æ°ã䜿çšããã«ãŒã«ã³ãŒãã®äŸã次ã«ç€ºããŸãã
u: ORDER (I want _) $order = _0 Okay, your order is $order
ã¢ã³ããŒã¹ã³ã¢ã¯çæå€æ°ã瀺ããŸãïŒããšãã°ããã¹ãŠã®åèªã«å¯Ÿå¿ãã
_*2
ããŸãã¯2ã€ã®åèªã«å¯Ÿå¿ãã
_*2
ã®æ§æã䜿çšããŠããã®ãããªå€æ°ã§èŠããŠããå¿
èŠã®ããåèªã®æ°ãæå®ã§ããŸãïŒã ãã®çµæãäžèšã®ã³ãŒããæ©èœããå ŽåããI wantãã®åŸã«å
¥åãããããŒã¿ã®åèªãçæã¡ã¢ãªã«ä¿åãããŸãã ããã«ã¢ã¯ã»ã¹ããããã«ã2è¡ç®ã¯
_0
æ§é ã䜿çšããŸãã ãã³ãã¬ãŒãã«ã¯ãå¿
èŠãªã ãå€ãã®é¡äŒŒå€æ°ãå«ããããšãã§ããŸãïŒéåžžã¯20以äžã§ãããéåžžã¯ããã§ååã§ãïŒãããããããã®å€ã®ååŸã¯ãã¢ã³ããŒã¹ã³ã¢ãšäžèŽå
ã®ã·ãŒã±ã³ã¹çªå·ã§æ§æãããååã䜿çšããŠè¡ãããŸããã³ãã¬ãŒãã ãã®äŸã§ã¯ã
$order â
_0
ä¿åãããŠãããã®ãæžã蟌ããŠãŒã¶ãŒå€æ°
_0
ã
âãã³ãã¬ãŒã
ãã®ãã¿ãŒã³ã¯ãããããšéä¿¡ãããšãã«ãŠãŒã¶ãŒãå
¥åããå
容ã«çŸãããšäºæ³ãããé åºãšäžé£ã®åèªãèšè¿°ããããã«äœ¿çšãããŸãã ç§ã®æèŠã§ã¯ãCSãã³ãã¬ãŒãã®éåžžã«æ³šç®ãã¹ãæ©èœã¯ããã³ãã¬ãŒããèšè¿°ãããšãã«ãååèªã®ãã¹ãŠã®åœ¢åŒãè¿œå ããå¿
èŠããªãããšã§ãã ã·ã¹ãã ã«ã¯ã¡ã«ããºã ã®ãµããŒããçµã¿èŸŒãŸããŠããŸãããã®éãåèªã®1ã€ã®åœ¢åŒã®ã¿ãå«ããã³ãã¬ãŒãã§ã¯ããã®åèªã®ãã¹ãŠã®åœ¢åŒãèŠã€ããããšãã§ããŸãã
ããšãã°ãåè©ãbeãã䜿çšããŸãã ããããã³ãã¬ãŒãã«è¿œå ãããšããã®åè©ããã¹ãŠã®åœ¢åŒã«å«ãŸããŸãïŒamãisãareãwasãwereãbe ãã ããè£å©åè©ïŒwillãhaveãdoïŒãå«ãããŒã¿ãåŠçããã«ã¯ãããããæ瀺çã«è¿œå ããå¿
èŠããããŸããCSã¯ãåã
ã®åèªã«å¯ŸããŠã®ã¿ç°ãªããã©ãŒã ãèªåçã«åŠçã§ããŸãã ãã®ç®çã®ããã«ããã³ãã¬ãŒãã®å¥ã®å¯èœæ§ã䜿çšããããšããå§ãããŸã-äžæ¬åŒ§å
ã®ãªãã·ã§ã³ã®åèªïŒ
u: BURGER (I take _burger)
åè©ãšä»£åè©ã«ãåãããšãèšããŸã-åæ°åœ¢ã®äž»æ Œã®å Žåã¯åèªãè¿œå ããŸãããã®åŸãCSã¯ãã®å
éšã¡ã«ããºã ã䜿çšããŠãåèªã®ãã¹ãŠã®ããªã¢ã³ãã®äžèŽãæ€çŽ¢ããŸãã ãã³ãã¬ãŒãã§ã¯ããã³ãã¬ãŒãã®ç¹å®ã®äœçœ®ã«ããåèªã®ã»ããã䜿çšããŠãç¹å®ã®è¡šçŸã«å¯Ÿå¿ãããã¬ãŒãºã®ãªãã·ã§ã³ãå±éããããšãã§ããŸãã ãã®äŸãæ¡åŒµããŠã次ãè¿œå ã§ããŸãã
u: BURGER (I {will} [want need take] [_burger hamburger potato ice-cream]) $order = _0 Okay, your order is $order
ãã®ã«ãŒã«ã¯ãæå®ãããåèªã®çµã¿åããïŒããšãã°ãããã³ããŒã¬ãŒã欲ããããããžã£ã¬ã€ã¢ãé£ã¹ããããã¢ã€ã¹ã¯ãªãŒã ãå¿
èŠãïŒã§ããŠãŒã¶ãŒãå
¥åãããã¹ãŠã®ææ¡ã«å¯Ÿå¿ããŸãã ã¡ã¢åã®ãã1ã€ã®éèŠãªæ©èœã¯ãå
¬åŒã®CSããã¥ã¡ã³ãã§ã¯èª¬æããŠããŸããããçæå€æ°ãã»ããã§ã©ã®ããã«æ©èœãããã§ãïŒããã¥ã¡ã³ãã§ãã®ãããã¯ãèŠã€ããå Žåã¯ãç¥ãããã ããïŒã å®éãçæèšæ¶ã®åæ§ã®ç¶æ³ã§ã¯ãã»ããããã®äžèŽããåèªã¯ãã¹ãŠ
_0
å€æ°ã«æ ŒçŽãããŸãã ãããã®å Žåã§ãããŠãŒã¶ãŒå€æ°
$order
ã¯ãäžèŽãèŠã€ãã£ããšãã«ç¹å®ã®å€ãåãåããŸãã
ããã«ãèšå·
<
ããã³
>
ã䜿çšããŠããŠãŒã¶ãŒãå
¥åãããã¬ãŒãºã®éå§ãšçµäºãå¶åŸ¡ã§ããŸãã
u: BURGER (< I {will} [want need take] [_burger hamburger potato ice-cream] >)
å®éããã³ãã¬ãŒãã®å
éšã§ã¯ãããã«å€ãã®èå³æ·±ãããšãã§ããŸãã ããšãã°ãããã€ãã®åºæºã«æºæ ããŠãããã©ããã®å€ã確èªããŸãã ããšãã°ãç¹å®ã®ç¯å²å
ã§æ°å€ã®ã¿ã«é¢å¿ãããå Žåã«ã§ããããšã¯æ¬¡ã®ãšããã§ãã
u: OLD_ENOUGH (I be _~number _0>21 _0<120) You are old enough for this. u: TOO_YOUNG (I be _~number _0<21) $missed_age = 21 - _0 You are too young for this, come after $missed_age years.
âã³ã³ã»ãã
æŠå¿µãšã¯ãåäžã®ããŒã¯ãŒãïŒæŠå¿µåïŒã«çµã³ä»ããããäžé£ã®åèªãŸãã¯åèªã®çµã¿åããã§ãã æŠå¿µã®çºè¡šã¯ããããã¯ã®çºè¡šã«äŒŒãŠããŸãã æŠå¿µã«é¢é£ããåèªã®ãªã¹ãã¯ãè§æ¬åŒ§ã§ç€ºãããŠããŸãã
concept: ~food_type [burger potato salad ice-cream]
ã³ã³ã»ããã宣èšããããšããã®ãããªã«ãŒã«ã®ãšã€ãªã¢ã¹ãšããŠäœ¿çšã§ããŸãïŒãã³ãã¬ãŒãã¯
~food_type
ã³ã³ã»ããã§æå®ãããåèªã®ã¿ã«äžèŽããããã«ãªããŸãïŒã
u: BURGER (I want _~food_type) $order = _0 Okay, your order is $order
ããã«ãããã€ãã®æŠå¿µãä»ã®æŠå¿µã«æè³ããŠãæœè±¡åã®ã¬ãã«ãè¿œå ãã1ã€ã®èŠªæŠå¿µã«ç°ãªãåèªã»ãããã°ã«ãŒãåã§ããŸãã
concept: ~dessert [ice-cream sweets cookie] concept: ~burger [burger hamburger cheeseburger vegeterainburger] concept: ~food_type [~burger ~dessert potato salad]
äžèŽãèŠã€ãã£ãåèªãã©ã®æŠå¿µã«å±ããŠãããã調ã¹ãå¿
èŠãããå Žåã¯ã
pattern
ããŒã¯ãŒãã䜿çšã§ããŸãã 次ã®äŸã§ã¯ã
$drink
å€æ°ã«æ ŒçŽãããŠããå€ããalcoholã³ã³ã»ããã«å±ããŠãããã©ããããã§ãã¯ãããŸãã ãã®ç®çã®ããã«ã
pattern
ããŒã¯ãŒããš
?
if
åŒã§ããã¹ã察象ãšæŠå¿µã®ã¿ãŒã²ããå€ããåé¢ããŸãïŒCSã¯
if-else
ãµããŒãã
if-else
ïŒã
concept: ~drink_type [~alcohol ~non_alcohol] concept: ~alcohol [rum gean wiskey vodka] concept: ~non_alcohol [cola juice milk water] u: DRINK (^want(_~drink_type)) $drink = _0 if (pattern $drink?~alcohol) { ^respond(~age_checker) } else { Ok, take and drink your $drink . }
ãŠãŒã¶ãŒå
¥åã®åã
ã®åèªã ãã§ãªããåèªã®çµã¿åããã§ãäžèŽãèŠã€ããå¿
èŠãããå Žåã¯ãããããæŠå¿µã«è¿œå ããããåŒçšç¬Šã§å²ãã ãã1ã€ã®ãã¬ãŒãºå
ã®å
±æåèªéã§ã¢ã³ããŒã¹ã³ã¢ã䜿çšãããããããšãã§ããŸãïŒãã®ã¢ãããŒãã¯ãå¥èªç¹ïŒïŒ
concept: ~vegburger ["vegeterian burger" "vegeterian's burger" vegan_burger vegan_'s_burger]
ãããã®ã¢ãããŒãã¯äŒŒãŠããŸãããã³ãŒããèªã¿ããããããããåŒçšç¬Šã䜿çšããããšã奜ã¿ãŸãã
CSã®ãã1ã€ã®èå³æ·±ãæ©èœã¯ããšã³ãžã³ã¬ãã«ã§å®çŸ©ãããæšæºæŠå¿µã®å¯çšæ§ã§ãã ãããã䜿çšãããšãåããŸãã¯é¡äŒŒã®æå³ãæã€èªç¶èšèªã§æãé »ç¹ã«äœ¿çšããããã¬ãŒãºããã³åã
ã®åèªã«å¯ŸããŠããã§ã«æºåãããã»ããã䜿çšã§ããŸãã ãã®äžã«ã¯ã
~yes
ããã³
~yes
ãšããæŠå¿µããããèªç¶èšèªã§è¯å®çããã³åŠå®çã«è§£éã§ãããã¬ãŒãºãå«ãŸããŸãã ããšãã°ãã³ã³ã»ãããyesã«ã¯ãyesãyeahãokãokãokãsureãof_courseãalrightãããã³ä»ã®å€ãïŒåèš183ïŒãªã©ã®åèªãšãã¬ãŒãºããããŸãã ãnoã³ã³ã»ããã«ã¯ã138ã®å¯Ÿå¿ããåèªãšãã¬ãŒãºããããŸãã 以äžã¯ããããžã§ã¯ãã§äœæ¥ãããšãã«äŸ¿å©ãªæŠå¿µã§ãã
~number
ãšã®äžèŽãæ€çŽ¢ããã®ã«åœ¹ç«ã¡ãŸãã
~yearnumber
- ~yearnumber
å€ã®ã¿ãå«ã~yearnumber
ãµãã»ããã§ãã
~dateinfo
ã¹ã©ãã·ã¥ãå«ãã¬ã³ãŒãã®åœ¢åŒã䜿çšããŠãããã¹ãå
ã®æ¥ä»ãæ€çŽ¢ããã®ã«åœ¹ç«ã¡ãŸãã ããšãã°ãmm_dd_yyãŸãã¯mm_dd_yyyyã¯ãæååãmm / dd / yyããŸãã¯ãmm / dd / yyyyããšããŠèªèãããŸãã
~timeword
-ãã®æŠå¿µã䜿çšããå Žåãããšãã°ãã2017幎7æ1æ¥ãããã³ã2017幎7æ1æ¥ãã®å Žåãã2017幎7æ1æ¥ããè¿ãããŸãã ããã«ããã®æŠå¿µã«ã¯ã2çªç®ãæšæ¥ããã§ã«ãªã©ãæéã«é¢é£ããèšå€§ãªåèªã®ã»ãããå«ãŸããŸãïŒã
ããã¯
ããã¹ãŠã®çµã¿èŸŒã¿ã®æŠå¿µã«é¢ããæ
å ±ãèŠã€ããããšãã§ããCS
ããã¥ã¡ã³ãã®ã»ã¯ã·ã§ã³ã§ãã
äœããã®çç±ã§æ¢åã®æšæºçãªæŠå¿µãæ¡åŒµããå¿
èŠãããå Žåã
LIVEDATA_ENGLISH_SUBSTITUTES/interjections.txt
ãã¡ã€ã«ã«ãšã³ããªãè¿œå ã§ããŸãã
<roger_that> ~yes
ãã®åŸãChatScriptãšã³ãžã³ãåèµ·åããã ãã§ããroger thatããšãããã¬ãŒãºããyesã³ã³ã»ããã«è¿œå ãã
~yes
ã ãã¬ãŒãºã®æåãšæåŸã®å±±æ¬åŒ§ã¯ããããã®2ã€ã®åèªã®ã¿ãäžèŽãšèŠãªããããã以äžã¯èŠãªãããªãããšãæå³ããŸãã
ããã«ãæ¢åã®æŠå¿µã¯å¥ã®æ¹æ³ã§æ¡åŒµã§ããŸã
MORE
ããŒã¯ãŒãã䜿çšããŠãæ°ããå€ãè¿œå ã§ããŸãã
concept: ~food [burger potato] concept: ~food MORE [ice-cream]
âãã¯ã
ã³ãŒãã確å®ã«åå©çšããããã«ãCSã«ã¯ãã¯ãããããŸããããã¯ãããã°ã©ããéçºããé¢æ°ã§ãåºåããŒã¿ãçæãããããã³ãã¬ãŒãã§äœ¿çšãããããããã«åŒã³åºãããŸãã ç§ãã¡ã®ãããžã§ã¯ãã§ã¯JSONã䜿çšããŠãããããåºåã¯JSã©ãããŒã¯ã©ã¹ã«æž¡ãããšãã§ããããã«é©åã«ãã©ãŒãããããå¿
èŠããããŸãã ãã®ç®çã®ããã«ãJavaScriptã§ç°¡åã«è§£æã§ããæååãæºåããããšã«ããŸããã ã·ã¹ãã ãäœããã®åºåãçæãããã³ã«ãJSONæååã«å€æããŸãã ãã ããCSã«ã¯JSONãæäœããæ¹æ³ããããŸãã
outputmacro
ã䜿çšããŠããããã¹ãŠã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ããã¯ãšã³ãAPIã®åºåããã©ãŒãããããç°¡åã§äŸ¿å©ãªæ¹æ³ãåŸãããŸãã
outputmacro: ^formated_in_json(^param_from_rule) { $_result = ^jsoncreate(object) $_result.first_level_param = ^param_from_rule $_result.nested_object = ^jsoncreate(object) ^jsonwrite($_result) }
ã«ãŒã«ã§ãã¯ãã䜿çšããããšã¯ãäžèšã®æšæºã®
^respond
é¢æ°ãé©çšããããã«èŠããŸãã
u: FOOD (I want _~food_type) ^formated_in_json(_0)
ãã©ã¡ãŒã¿ãŒã«å¿ããŠåºåã®ããŸããŸãªãã©ãŒãããçšã«ãã¯ããèšè¿°ããããšãã§ããããã
patternmacro
ã䜿çšããŠãå€ãã®ã«ãŒã«ã«å¯ŸããŠåæ§ã®æ§é ãæã€ãã³ãã¬ãŒãçšã«ãã¯ããäœæããããšãã§ããŸãã
patternmacro: ^want(^appendix) [i we] * [want need take] ^appendi
ãã¯ãã«ãã£ãŠè¿ããããã³ãã¬ãŒãã®äžéšã¯ãä»ã®å€ãã®ãã³ãã¬ãŒãã§åå©çšã§ãããããã¹ã¯ãªãããç°¡çŽ åãããŸãã
u: FOOD (^want(_~food_type)) If you want _0, you should get \_0 . u: DRINK (^want(_~drink_type)) Ok, take and drink your _0 .
ãã£ãããããã¹ããŒã
次ã®å³ã¯ããã£ãããããã§èª¬æããåCSã³ã³ã¹ãã©ã¯ãã®å Žæã瀺ããŠããŸãã
ãã£ãããããã¹ããŒã ã芧ã®ãšããããããã¯ãæŠå¿µããã¯ãã¯ãããã®å€åŽã®ã¬ã€ã€ãŒã§å®£èšããå¿
èŠããããŸãã ã«ãŒã«ã¯ãããã¯ã«ãã¹ããããŠããŸãã å
¥åãã€ã³ããšããŠã®åã«ãŒã«ã«ã¯ããã³ãã¬ãŒããšãã¬ã¹ãã³ããŒã®ãããªãã®ããŸãã¯çŸåšã®ãã³ãã¬ãŒããåŒã³åºãããå Žåã«ã®ã¿å®è¡ãããã«ãŒã«ã®æ¬æããããŸãã ãããã¯ã®å€éšã§å®£èšããããã³ãã¬ãŒãã®æŠå¿µãšãã¯ãã¯ãå¿çã®åœ¢æã«å¿
èŠãªå€ãå«ãããŒã¿ã®çæä¿åçšã®å€æ°ãšãšãã«ã«ãŒã«å
ã§äœ¿çšãããŸãã åæã«ãã¬ã¹ãã³ããŒã§ãã¯ããåŒã³åºããŠåºåå€ãåŠçã§ããŸãã ã¬ã¹ãã³ããŒã
^respond(~another_topic)
圢åŒã®ã³ãã³ããåŒã³åºããå Žåãé·æããŒã¿ã¹ãã¬ãŒãžã®å€æ°ã¯ãçæå€æ°ããä»ã®ãããã¯ã«ããŒã¿ã転éããããã«äœ¿çšãããŸãã ããã¯ããŠãŒã¶ãŒã«è¡šç€ºãããããŒã¿ã®åŠçãå¥ã®ãããã¯ã®ã«ãŒã«ã«ãã£ãŠåŠçãããããšãæå³ããŸãã
ãŸãšã
ä»æ¥ãChatScriptã®åºæ¬ã«ã€ããŠåŠã³ãŸãããã€ãŸãããã®ãšã³ãžã³ã䜿çšããŠç¬èªã®ããããéçºãããå Žåã¯ããããžã§ã¯ãã®èšç»ãéå§ã§ããŸãã ãã®èšäºã®æ¬¡ã®ããŒãã§ã¯ãCSç°å¢ãCSãããžã§ã¯ãã®ãããã°ãCSãšJavaScriptã®çµ±åãããã³ChatScriptã䜿çšããŠãã£ããããããéçºããéã«çºçããå¯èœæ§ã®ããåé¡ãžã®å¯ŸåŠæ¹æ³ã«ã€ããŠåŠç¿ããŸãã
芪æãªãèªè
ïŒ ãã£ããããããäœæããŸããïŒ ãã®å Žåã䜿çšããããŒã«ã«ã€ããŠæããŠãã ããã