MeCab は便利

monologista を社内で使うとき
Yahoo API 使うわけに行かないので、MeCabPython Binding (Swig) を使いました。
機能は思いっきり最小限に抑えています。

# vim: fileencoding=utf8 sts=4 sw=4

import MeCab

VALID_WORD_LENGTH = 1
t = MeCab.Tagger('')

def mecab(sentence=''):
    m = t.parseToNode(sentence)
    # 先頭無視
    m = m.next
    words = []
    while m:
        word = unicode(m.surface, 'utf8')
        if len(word) > VALID_WORD_LENGTH and m.feature.split(',')[0] == '名詞':
            words.append(word)
        m = m.next
    return list(set(words[:-1]))

if __name__ == '__main__':
    for word in mecab("Mecabは凄く便利だけどPythonバインディングは凄く使いづらい。"):
        print word