Removes a word from the vocab. The indices are unchanged.

def remove(self, w):
        """
        Removes a word from the vocab. The indices are unchanged.
        """
        if w not in self.f2i:
            raise ValueError("'{}' does not exist.".format(w))

        if w in self.reserved:
            raise ValueError("'{}' is one of the reserved words, and thus"
                             "cannot be removed.".format(w))

        index = self.f2i[w]
        del self.f2i[w]
        del self.i2f[index]

        self.words.remove(w)