class_docstr: The MathematicalEvaluation logic adapter parses input to determine
  whether the user is asking a question that requires math to be done.
  If so, the equation is extracted from the input and returned with
  the evaluated result.
  
  For example:
      User: 'What is three plus five?'
      Bot: 'Three plus five equals eight'
  
  :kwargs:
      * *language* (``object``) --
        The language is set to ``chatterbot.languages.ENG`` for English by default.
docstr: Takes a statement string.
  Returns the equation from the statement with the mathematical terms solved.
docstr_tok: ["Takes","a","statement","string",".","Returns","the","equation","from","the","statement","with","the","mathematical","terms","solved","."]
code: def process(
      self, statement, additional_response_selection_parameters=None
  ):
      """
      Takes a statement string.
      Returns the equation from the statement with the mathematical terms solved.
      """
      from mathparse import mathparse
  
      input_text = statement.text
  
      # Use the result cached by the process method if it exists
      if input_text in self.cache:
          cached_result = self.cache[input_text]
          self.cache = {}
          return cached_result
  
      # Getting the mathematical terms within the input statement
      expression = mathparse.extract_expression(
          input_text, language=self.language.ISO_639.upper()
      )
  
      response = Statement(text=expression)
  
      try:
          response.text = "{} = {}".format(
              response.text,
              mathparse.parse(
                  expression, language=self.language.ISO_639.upper()
              ),
          )
  
          # The confidence is 1 if the expression could be evaluated
          response.confidence = 1
      except mathparse.PostfixTokenEvaluationException:
          response.confidence = 0
  
      return response
  
imports: from chatterbot.logic import LogicAdapter
  from chatterbot.conversation import Statement
  from chatterbot import languages
label_desc: Use image node_id 3 for calling the MathematicalEvaluation obj's underlying member method code with example usage: obj.process(statement, additional_response_selection_parameters) and returns: response, cached_result