マルチワードトークナイザー 'nltk.tokenize.mwe'は基本的に、APIドキュメントから私が理解したことから、レキシコンに基づいてすでにトークンに分割された文字列をマージします。
できることの1つは、すべての単語をトークン化し、それに関連する品詞(PoS)タグを付けてから、PoSタグに基づいて正規表現を定義し、興味深いキーフレーズを抽出することです。 
たとえば、NLTKブックの第7章と   このブログの投稿を基にした例:
def extract_phrases(my_tree, phrase):
   my_phrases = []
   if my_tree.label() == phrase:
      my_phrases.append(my_tree.copy(True))
   for child in my_tree:
       if type(child) is nltk.Tree:
            list_of_phrases = extract_phrases(child, phrase)
            if len(list_of_phrases) > 0:
                my_phrases.extend(list_of_phrases)
    return my_phrases
def main():
    sentences = ["The little yellow dog barked at the cat",
                 "He studies Information Technology"]
    grammar = "NP: {<DT>?<JJ>*<NN>|<NNP>*}"
    cp = nltk.RegexpParser(grammar)
    for x in sentences:
        sentence = pos_tag(tokenize.word_tokenize(x))
        tree = cp.parse(sentence)
        print "\nNoun phrases:"
        list_of_noun_phrases = extract_phrases(tree, 'NP')
        for phrase in list_of_noun_phrases:
            print phrase, "_".join([x[0] for x in phrase.leaves()])
PoSタグの正規表現に基づいて文法を定義しました。
grammar = "NP: {<DT>?<JJ>*<NN>|<NNP>*}"
cp = nltk.RegexpParser(grammar)
次に、それをトークン化されタグ付けされた文に適用して、ツリーを生成します。
sentence = pos_tag(tokenize.word_tokenize(x))
tree = cp.parse(sentence)
次に、を使用extract_phrases(my_tree, phrase)してツリーを再帰的に解析し、NPのラベルが付いたサブツリーを抽出します。上記の例では、次の名詞句が抽出されます。
Noun phrases:
(NP The/DT little/JJ yellow/JJ dog/NN) The_little_yellow_dog
(NP the/DT cat/NN) the_cat
Noun phrases:
(NP Information/NNP Technology/NNP) Information_Technology
興味深いキーフレーズを抽出する多くの方法について、Burton DeWildeによる素晴らしいブログ投稿があります:自動キーフレーズ抽出の概要