def stem(self, word):
word = normalize('<STR_LIT>', text_type(word.lower()))<EOL>word = '<STR_LIT>'.join(<EOL>c<EOL>for c in word<EOL>if c<EOL>in {<EOL>'<STR_LIT:a>',<EOL>'<STR_LIT:b>',<EOL>'<STR_LIT:c>',<EOL>'<STR_LIT:d>',<EOL>'<STR_LIT:e>',<EOL>'<STR_LIT:f>',<EOL>'<STR_LIT:g>',<EOL>'<STR_LIT:h>',<EOL>'<STR_LIT:i>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT:k>',<EOL>'<STR_LIT:l>',<EOL>'<STR_LIT:m>',<EOL>'<STR_LIT:n>',<EOL>'<STR_LIT:o>',<EOL>'<STR_LIT:p>',<EOL>'<STR_LIT:q>',<EOL>'<STR_LIT:r>',<EOL>'<STR_LIT:s>',<EOL>'<STR_LIT:t>',<EOL>'<STR_LIT:u>',<EOL>'<STR_LIT:v>',<EOL>'<STR_LIT:w>',<EOL>'<STR_LIT:x>',<EOL>'<STR_LIT:y>',<EOL>'<STR_LIT:z>',<EOL>}<EOL>)<EOL>word = word.replace('<STR_LIT>', '<STR_LIT:i>').replace('<STR_LIT:v>', '<STR_LIT:u>')<EOL>if word[-<NUM_LIT:3>:] == '<STR_LIT>':<EOL><INDENT>if word[:-<NUM_LIT:3>] in self._keep_que or word == '<STR_LIT>':<EOL><INDENT>return {'<STR_LIT:n>': word, '<STR_LIT:v>': word}<EOL><DEDENT>else:<EOL><INDENT>word = word[:-<NUM_LIT:3>]<EOL><DEDENT><DEDENT>noun = word<EOL>verb = word<EOL>for endlen in range(<NUM_LIT:4>, <NUM_LIT:0>, -<NUM_LIT:1>):<EOL><INDENT>if word[-endlen:] in self._n_endings[endlen]:<EOL><INDENT>if len(word) - <NUM_LIT:2> >= endlen:<EOL><INDENT>noun = word[:-endlen]<EOL><DEDENT>else:<EOL><INDENT>noun = word<EOL><DEDENT>break<EOL><DEDENT><DEDENT>for endlen in range(<NUM_LIT:6>, <NUM_LIT:0>, -<NUM_LIT:1>):<EOL><INDENT>if word[-endlen:] in self._v_endings_strip[endlen]:<EOL><INDENT>if len(word) - <NUM_LIT:2> >= endlen:<EOL><INDENT>verb = word[:-endlen]<EOL><DEDENT>else:<EOL><INDENT>verb = word<EOL><DEDENT>break<EOL><DEDENT>if word[-endlen:] in self._v_endings_alter[endlen]:<EOL><INDENT>if word[-endlen:] in {<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>}:<EOL><INDENT>new_word = word[:-endlen] + '<STR_LIT:i>'<EOL>addlen = <NUM_LIT:1><EOL><DEDENT>elif word[-endlen:] in {'<STR_LIT>', '<STR_LIT>', '<STR_LIT>'}:<EOL><INDENT>new_word = word[:-endlen] + '<STR_LIT>'<EOL>addlen = <NUM_LIT:2><EOL><DEDENT>else:<EOL><INDENT>new_word = word[:-endlen] + '<STR_LIT>'<EOL>addlen = <NUM_LIT:3><EOL><DEDENT>if len(new_word) >= <NUM_LIT:2> + addlen:<EOL><INDENT>verb = new_word<EOL><DEDENT>else:<EOL><INDENT>verb = word<EOL><DEDENT>break<EOL><DEDENT><DEDENT>return {'<STR_LIT:n>': noun, '<STR_LIT:v>': verb}<EOL>
Return the stem of a word according to the Schinke stemmer.

        Parameters
        ----------
        word : str
            The word to stem

        Returns
        -------
        str
            Word stem

        Examples
        --------
        >>> stmr = Schinke()
        >>> stmr.stem('atque')
        {'n': 'atque', 'v': 'atque'}
        >>> stmr.stem('census')
        {'n': 'cens', 'v': 'censu'}
        >>> stmr.stem('virum')
        {'n': 'uir', 'v': 'uiru'}
        >>> stmr.stem('populusque')
        {'n': 'popul', 'v': 'populu'}
        >>> stmr.stem('senatus')
        {'n': 'senat', 'v': 'senatu'}