<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _count_words(self, to_lower=True, delimiters=["\r", "\v", "\n", "\f", "\t", " "]):
 """ This returns an SArray with, for each input string, a dict from the unique, delimited substrings to their number of occurrences within the original string. The SArray must be of type string. ..WARNING:: This function is deprecated, and will be removed in future versions of Turi Create. Please use the `text_analytics.count_words` function instead. Parameters to_lower : bool, optional "to_lower" indicates whether to map the input strings to lower case before counts delimiters: list[string], optional "delimiters" is a list of which characters to delimit on to find tokens Returns ------- out : SArray for each input string, a dict from the unique, delimited substrings to their number of occurrences within the original string. Examples -------- "Word word WORD, word!!!word"]) dtype: dict Rows: 2 [{'quick': 1, 'brown': 1, 'jumps': 1, 'fox': 1, 'the': 1}, {'word': 2, 'word,': 1, 'word!!!word': 1}] """


        if (self.dtype != str):
            raise TypeError("Only SArray of string type is supported for counting bag of words")

        if (not all([len(delim) == 1 for delim in delimiters])):
            raise ValueError("Delimiters must be single-character strings")


        # construct options, will extend over time
        options = dict()
        options["to_lower"] = to_lower == True
        # defaults to std::isspace whitespace delimiters if no others passed in
        options["delimiters"] = delimiters

        with cython_context():
            return SArray(_proxy=self.__proxy__.count_bag_of_words(options))