FAQAgent
--------

Stores and retrieves FAQs. Synonymous questions can be set to = each other.
Searches for keywords in questions.

Files:

faqagent.rb
faqagent-api.yaml
faqbot.rb
graph.rb
faqbotd.rb

testgraph.rb
testfaqagent.rb
testfaqbot.rb

Example dialog:

E:\controlbot\controller\faqagent>ruby faqbot.rb
Hello
I have loaded E:/controlbot/controller/faqagent/faqagent-api.yaml.
E:/controlbot/controller/faqagent/graph.yaml loaded.

> reset graph
Okay, I have reset the graph.

> add faq: What is an FAQ? answer: FAQ means Frequently Asked Questions
Okay I have added answer FAQ means Frequently Asked Questions to faq What is an
FAQ?

> what is a FAQ = what is an FAQ
Okay, I have added what is a FAQ = what is an FAQ.

> What is a FAQ?
What is an faq?
FAQ means Frequently Asked Questions.

> find faq
What is an faq?
FAQ means Frequently Asked Questions.

> search for faq
Default response

> show api
add_synonym | (.*?) is a synonym for (.*)
save_synonyms | save syn
load_synonyms | load syn
add_pattern | add pattern (.*), (.*)
defining_method | >(.*)
restart | restart
show_api | show api
show_one_method_api | show (.*)'s api
find_faq_question | find.*question(?:\:)? (.*)
find_faq | find faq\: (.*)
show_faq_questions | show faq questions
set_faq_file | set.*faq.*file to(?:\:)? (.*)
what_is_the_faq_file | what is the.*faq file
add_faq_and_answer | add faq: (.*?) answer: (.*)
print_graph | print graph
save_graph | save graph
reset_graph | reset graph
a_equals_b | (.*) = (.*)
a_is_answered_by_b | (.*?) is answered by (.*)
default_handler | (.*)


> show find_faq's api
find_faq | find faq\: (.*)
find_faq | find (.*)
find_faq | find\: (.*)


> /search for (.*)/ is a synonym for find (.*)
Okay, (?i-mx:search for (.*)) has been added, and will now call find_faq.

> search for faq
What is an faq?
FAQ means Frequently Asked Questions.

>