<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _index2word(self):
 """Mapping from indices to words. WARNING: this may go out-of-date, because it is a copy, not a view into the Vocab. :return: a list of strings """

        # TODO(kelvinguu): it would be nice to just use `dict.viewkeys`, but unfortunately those are not indexable

        compute_index2word = lambda: self.keys()  # this works because self is an OrderedDict

        # create if it doesn't exist
        try:
            self._index2word_cache
        except AttributeError:
            self._index2word_cache = compute_index2word()

        # update if it is out of date
        if len(self._index2word_cache) != len(self):
            self._index2word_cache = compute_index2word()

        return self._index2word_cache