class_docstr: This class has shared methods used to
  normalize different statement models.
class_docstr_tok: ["This","class","has","shared","methods","used","to","normalize","different","statement","models","."]
docstr: :returns: A dictionary representation of the statement object.
  :rtype: dict
docstr_tok: [":","returns",":","A","dictionary","representation","of","the","statement","object",".",":","rtype",":","dict"]
code: def serialize(self):
      """
      :returns: A dictionary representation of the statement object.
      :rtype: dict
      """
      data = {}
  
      for field_name in self.get_statement_field_names():
          format_method = getattr(
              self, "get_{}".format(field_name), None
          )
  
          if format_method:
              data[field_name] = format_method()
          else:
              data[field_name] = getattr(self, field_name)
  
      return data
  
file_path: ChatterBot/chatterbot/conversation.py
imports: from pytz import UTC
  from datetime import datetime
  from dateutil import parser
label_desc: Use image node_id 4 for calling the StatementMixin obj's underlying member method code with example usage: obj.serialize() and returns: data