| 
					
					 
					> 1
 
Bot Libre provides several mechanisms for NLP.
 
- you can train a bot using "response list" files that include questions/responses, and tags for keywords, required, topics, previous, onrepeat, condition, think
 
-- the AI engine will use a heuristic to find the best matching responses for any question
 
-- use can also use patterns and templates
 
-- see, https://www.botlibre.com/forum-post?id=483549
 
 
- you can also use AIML or Self scripts
 
-- Self can use either patterns or state machines to process language (or anything really)
 
-- there are many examples Self scripts that can parse common language, or mathematical expressions
 
-- see, https://www.botlibre.com/script?category=Self
 
https://www.botlibre.com/script?id=891369
 
https://www.botlibre.com/script?id=516433
 
 
- bots can also learn language on their own
 
bots can learn from,
 
-- chat logs
 
-- chat rooms
 
-- Twitter feeds
 
-- wikidata
 
 
> 2
 
The symbol #self refer to the object that represents the bot, so a chat with a target of #self means it is a message to the bot.  For chat rooms the target can be any user connected to the chat room, having a message target lets the bot know when someone is talking to it vs someone else.
 
 
> 3
 
You can classify any word you want as a #keyword, just set its #type to #keyword.  A #keyquestion is a keyword that is part of a question that has a keyword response.  This is how the heuristic finds matches. The bot's brain is a big graph/object database.
 
 
> 4
 
The word value heuristic is complicated you can view the code in the Language class.  It scores keyword higher, and nouns and adjective higher than verbs, and articles as low.
 
 
> 5
 
A word may be involved in patterns that have a response.  This is how the heuristic finds matching patterns.
 
 
> 6
 
state machines are created when you import/compile Self or AIML.
 
The understanding state is compiled from the Understanding.self script, and can understand common language.
 
 
> 7?
 
Please give a context to the code. 
					 
				 |