A single item of the list does have the correct type.
As mentioned in the comment section, extractor.text_words shows only empty strings. This seems to be due to changes made in NLTK since the documentation was written. Long story short: You won't be able to fix this without downgrading to an older version of NLTK or fixing the problem in NLTK yourself.
Inside the file nltk/classify/rte_classify.py, you will find the following piece of code:
from nltk.tokenize import RegexpTokenizer
tokenizer = RegexpTokenizer('([A-Z]\.)+|\w+|\$[\d\.]+')
self.text_tokens = tokenizer.tokenize(rtepair.text)
self.text_words = set(self.text_tokens)
If you run the same RegexpTokenizer with the exact text from the extractor, it will produce only empty strings: