프로그래밍/RiveScript 17

[Tutorial] CONCLUSION

RiveScript 기본적인 Tutorial을 끝냈습니다. 지금까지 RiveScript 코드 작성 방법에 대해 배웠으며 이를 토대로 chatterbot을 개발하는데 도움이 되었으면 합니다. 우리가 다루지 못한 내용으로는 Object Macros가 있지만 이에 대한 자세한 내용은 https://www.rivescript.com/docs/tutorial#object-macros 을 참조하십시오. 우리는 튜토리얼에서 배운 내용을 바탕으로 안드로이드에서 사용 가능한 챗봇을 개발하는 부분에 대해서 실습할 수 있도록 하겠습니다. 감사합니다.

[Tutorial] TAGS

지금까지 우리는 RiveScript의 TAG에 대해서 공부 했습니다. 우리가 공부했던 태그의 예는 , , {topic}입니다.실제로는 이 보다 더 많은 태그가 있고 우리는 이를 사용할 수 있습니다!이번에는 우리가 배우지 않은 태그와 태그 사용 방법을 배워보겠습니다. 태그는 일반적으로 화살괄호()안에 태그를 입력하는 형태로 사용이 되며 중괄호({})는 주변의 텍스를 수정하는데 사용이 됩니다. 태그는 일반적으로 특별히 명시된 경우를 제외하고 모든 RiveScript 명령과 함께 사용할 수 있습니다., - 이 태그는 와 비슷하지만 % Previous에 있는 와일드 카드를 가져옵니다. 다음은 그 예입니다.+ i bought a new * - Oh? What color is your new ? + (@colors..

[Tutorial] MORE DEFINITIONS

begin.rive로 다시 돌아가서 유용한 2가지 타입이 있습니다. Global Variables 전역 변수(Global Variables)는 봇 변수(bot variables)와 비슷하지만 봇과 관련은 없습니다. 전역 변수는 RiveScript 인터프리터에 의해 정의 될 수 있습니다. 이번에는 RiveScript 인터프리터에 직접 영향을주는 두 가지 특수한 전역 변수에 대해서 배워 보겠습니다. Debug Mode! global debug = true ! global debug = false이 전역 변수는 RiveScript 인터프리터에서 디버그 모드를 켜거나 끌 수 있습니다. 디버그 모드는 https://play.rivescript.com/에서 Debug Mode를 클릭하면 실제 어떻게 출력 되는지 볼..

[Tutorial] Topics

LABELED SECTIONS레이블이 지정된 섹션에는 세 가지 유형이 있습니다.레이블은 > 기호를 사용하여 정의되며 topic sorry // This will match if the word "sorry" exists ANYWHERE in their message + [*] sorry [*] - It's OK, I'll forgive you!{topic=random} + * - Nope, not until you apologize. - Say you're sorry! - Apologize! < topic해당 예제에서는 "i hate you"라고 트리거가 동작할 때 토픽은 sorry로 넘어가며 해당 토픽에서 빠져 나오기 위해서는 sorry라를 트리거를 작동시켜야지만 빠져 나올 수 있습니다. 태그는 가장 ..

[Tutorial] Conditionals

Learning Things우리는 RiveScript의 커맨드에 대해서 배웠습니다. 그런데 봇이 우리 이름도 기억하지 못한다면 이 대화가 무슨 소용일까요?RiveScript는 사용자에 대한 변수를 저장하고 반복할 수 있는 기능이 있습니다. 사용자의 변수를 저장하기 위해 태그를 사용하고 변수를 검색하기 위해 태그를 사용합니다. 다음 예제를 통해서 우리는 어떻게 사용자 변수를 저장하고 불러 올 수 있는지 알 수 있습니다.+ my name is * - It's nice to meet you, . + what is my name - Your name is , silly! + i am # years old - I will remember that you are years old. + how old am i - Y..

[Tutorial] Short Discussions

이야기를 이어나갈때 어떻게 해야 할까요? 다음은 %(Previous)커맨드를 배워보겠습니다.+ knock knock - who is there? + * % who is there? - who? + * % * who - LOL! ! That's funny!해당 예제를 실행해보면 "knock knock"라고 메시지를 입력했을 때 응답까지는 이해가 될 것입니다. 그다음 %커맨드가 무슨 의미인지를 알아야 되는데. "- who is there?"라는 응답이 왔을 때 그 다음 실행하게 되는 트리거를 정의한 것이라고 볼 수 있습니다. 2번째 트리거는 어떤 단어가 와도 봇은 이것을 가지고 이야기를 이어 나갈 수 있게 됩니다. 다음은 또 다른 예제 입니다.! array colors = red blue green yell..

[Tutorial] Redirections

이번 시간에는 리디렉션(Redirections)에 대해서 알아보겠습니다. + hello - Hi there! - Hey! - Howdy! + hey @ hello + hi @ hello이 예제에서 보기에 "hey", "hi"로 메시지를 보냈을 때 hello라는 트리거가 동작하도록 리디렉션을 정의하고 있습니다. + * or something{weight=100} - Or something. {@ }위의 예제를 합쳐서 "hi or something"라고 메시지를 보내면 "Or something. Hey!" 라고 응답할 것입니다. 와일드 카드로 정의된 트리거에 {@ }태그가 리디렉션을 요청합니다. 하나의 와일드 카드만 사용할 경우에는 과 같이 축약해서도 사용 할 수 있습니다.+ hello * - {@ hell..

[Tutorial] Priority Triggers

우리는 지난시간까지 트리거에 대한 대부분의 내용을 학습했습니다.마지막으로 가중치 또는 우선순위 트리거라 불리는 내용에 대해서 배워 보겠습니다. {weight}태그를 가중치 태그라고 이전 시간에 정의했으므로 우선순위 트리거라고 앞으로 설명하겠습니다.우선순위 트리거는 다른 트리거보다 우선순위가 높습니다. 이는 트리거가 사용자의 메시지와 얼마나 잘 일치 하는지를 임의로 조정하는 데 유용합니다. 다음과 같은 두 가지 트리거가 있다고 가정 해 보겠습니다.+ google * - Google search: Click Here + * perl script - You need Perl to run a Perl script.예제를 실행해서 "google write perl script"라고 메시지를 보내면 우리가 예측하기..

[Tutorial] Arrays in Triggers

이번 시간에는 배열을 사용하는 방법에 대해서 배워보겠습니다. 아래의 예제를 살펴보면, "what color is my blue shirt?"라고 물어보는 질문에 color와 와일드 카드를 통해서 bot은 응답하도록 되어있습니다.+ what color is my (red|blue|green|yellow) * - Your is , silly!()안에 몇가지 color들이 정의된 것을 볼 수 있습니다. 이렇게 사용해도 되지만 color가 필요한 트리거가 몇가지 더 생길 수가 있습니다. 그럼 그때마다 (red|blue|green|yellow)이 내용을 복사해서 붙여넣기 해야되고 그렇게 한다고 하더라도 나중에 black, white등의 color가 새로 추가 될때에는 기존의 스크립트를 다 찾아서 수정하기에는 어려..