Taku Kudo
taku****@chase*****
2012年 2月 20日 (月) 13:07:59 JST
工藤です MeCabは解析速度の高速化のために、可能なすべての単語の連接を事前にすべて展開して matrix.def に保存します。 ipadicの場合、単語の連接ではなくて、品詞の連接になるように feature.def, rewrite.def を作っています。(一部の 助詞や助動詞は単語の連接を使っています) おそらく、実験で用いた feature.def, rewrite.def が単語の連接を使うようになっていたのだと思います。10k単語 ある場合、連接表は 10k*10k*2 = 200Mとなります。単語の数が300kあると、matrix.defのサイズは180G となり、 非現実的です。 具体的なデータの一部を見せていただければ、何か対処法があるかもしれません。 2012年2月18日15:39 Luu, Tuan Anh <anh****@jnlp*****>: > はじめまして、 > ベトナムの留学生のアンと申します。長岡技術科学大学の自然言語処理研究室に配属したばかりですので、分からないことがいっぱいありますが、宜しくお願いいたします。(うまく説明できないことや失礼な言葉を使ってしまうことも必ずあると思いますが、申し訳ございません) > > 私は、Mecabを用いて、ベトナム語の形態素解析を作るつもりですが、ちょっとわからない問題が発生しました。matrix.defファイルが大きすぎるなんて(まだ6%に過ぎないが、サイズが1GBぐらいです)。 > > 使ったデータは: > -計算環境:Window XP, RAM 956Mb, 2.16Ghz > -辞書:31112単語。素性が1個しかない > -char.def, unk.def, dircrc : > 辞書の素性が1個しかないのでソースの/tests/t9を使いました(t9の辞書を見ると素性も1個だけありますから、同様したと判断しました)。 > -rewrite.def : >> >> [unigram rewrite] >> * $1 >> [left rewrite] >> * $1 >> [right rewrite] >> * $1 > > -feature.defがipadicにあるファイルをそのままを使いました。 > -corpus : 6000文(小さなデータですが) > > 最初は、簡単のために、辞書とコーパスの素性は全部 > "*" にしました。説明書の通りやって、動きました。ベトナム語のテキストを解析できました。精度をまだ考えませんでした。 > > 次は、素性を変わります。素性はその単語と同じにします。すなわち、辞書のフォーマットは:「単語、0,0,0、単語」になります。コーパスも同様にして、変わりました。 > 学習用バイナリ辞書の作成が出来ました。 > CRFパラメータの学習:途中で何も起こらずに終了しました。原因はメモリが足りないと考えて、コーパスのサイズを変わって、20文しか残っていません。ここで、学習できましたが、素性の数がちょっとおかしい と思います。Number > of sentences : 20, Number of features : 81075. 時間もかかりました、約2時間でした。 > 配布用辞書の作成:ここで問題が発生しました。matrix.defファイルが大きすぎる問題です。20文のコーパスに対して、matrix.defのサイズは6%の時、約1Gbでした。 > > また、同じデータですが、Windowsの環境で動きましたが、Linuxで動かなかった。 > > ここまで、私は理解できませんでした。 > > 皆さん、説明してもらえませんか? > > -- > LUU TUAN ANH > ルー トーアン アン > 長岡技術科学大学 > 自然言語処理山本研究室 B3 > e-mail : anh****@jnlp***** or rock.****@gmail***** > Website : http://viet.jnlp.org > > > _______________________________________________ > mecab-users mailing list > mecab****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/mecab-users >