'Initialize the chatbot.  Pairs is a list of patterns and responses.  Each
pattern is a regular expression matching the user\'s statement or question,
e.g. r\'I like (.*)\'.  For each such pattern a list of possible responses
is given, e.g. [\'Why do you like %1\', \'Did you ever dislike %1\'].  Material
which is matched by parenthesized sections of the patterns (e.g. .*) is mapped to
the numbered positions in the responses, e.g. %1.
:type pairs: list of tuple
:param pairs: The patterns and responses
:type reflections: dict
:param reflections: A mapping between first and second person expressions
:rtype: None'

def __init__(self, pairs, reflections={}):

    self._pairs = [(re.compile(x, re.IGNORECASE), y) for (x, y) in pairs]
    self._reflections = reflections
    self._regex = self._compile_reflections()
