'Find contexts where the specified words appear; list
most frequent common contexts first.
:param word: The word used to seed the similarity search
:type word: str
:param num: The number of words to generate (default=20)
:type num: int
:seealso: ContextIndex.common_contexts()'

def common_contexts(self, words, num=20):

    if (u'_word_context_index' not in self.__dict__):
        self._word_context_index = ContextIndex(self.tokens, key=(lambda s: s.lower()))
    try:
        fd = self._word_context_index.common_contexts(words, True)
        if (not fd):
            print(u'No    common    contexts    were    found')
        else:
            ranked_contexts = [w for (w, _) in fd.most_common(num)]
            print(tokenwrap((((w1 + u'_') + w2) for (w1, w2) in ranked_contexts)))
    except ValueError as e:
        print(e)
