ちょっと品詞のところは強引です<-
なんか任意のIDが割り当てられるみたいなんで、
それを利用すれば少しは強引じゃなくなるのかな・・・<-
下記のソースコードは形態素の品詞が
名詞か動詞であれば出力するようにしてるはず・・・<-
まだ仕様とか確認してない<-
// g++ mecab_test.cc -std=gnu++0x -lmecab #include <iostream> #include <string> #include <memory> #include <cstring> #include <mecab.h> int main(int argc, char **argv) { std::string text = "まずはそのふざけた幻想をぶち殺す"; std::shared_ptr<MeCab::Tagger> tagger(MeCab::createTagger(argc, argv)); const MeCab::Node *node = tagger->parseToNode(text.c_str()); std::cout << text << std::endl; for (; node; node = node->next) { if (strstr(node->feature, "名詞,") != NULL || strstr(node->feature, "動詞,") != NULL) { std::cout << std::string(node->surface, node->length); } } std::cout << std::endl; return 0; }出力:
まずはそのふざけた幻想をぶち殺す
ふざけた幻想殺す
// 2012年1月14日にちょっと修正<-
0 件のコメント:
コメントを投稿