RSS2.0

MeCab で UniDic 辞書を使ってみる

MeCab で使える形態素解析用の辞書は、IPA 辞書の他にもいくつか公開されています。そのひとつであるUniDic は、IPA 辞書よりも個々の単語を詳細に分類したもので、分割した形態素が文中で果たす役割をより精密に検出することができます。UniDic はメンテナンスが頻繁に行われているようで、最新版は 1 ヶ月ほど前の 2013/3/14 にリリースされた 2.1.2 になります。ライセンス形態は GPL、LGPL、BSD License のトリプルライセンスとなっていて、その点でも、エンジニアにとっても採用しやすい辞書となっています。

今回はこの UniDic を実際にビルドし、MeCab から使ってみることと、辞書の再学習までを試してみました。
続きを読む MeCab  コメント (2)  2013/04/23 22:53:04

MeCab の IPA 辞書を再学習させてみる

MeCab の辞書は利用する分野に応じて、新たな名詞や動詞などを追加したり、その分野の文章の解析精度を上げるよう再学習させることができます(この作業はドメイン適応と呼ばれるそうです)。

ドメイン適応の第一歩としては、未知の名詞の MeCab 辞書への登録から始めると良いです。
ただ登録作業自体は、辞書をビルドする際に、その単語を後述のフォーマット(※1)で書いた .csv ファイルを混ぜておけばいいので、それほど難しいことではありません。問題となるのはその単語がどの程度使われやすいのかを調整する必要があることです。この使われやすさを示す数値はコストと呼ばれ、単語を登録する際には自分で決め打ちしなければなりません。

コストの手動計算方法はネット上でもいくつか紹介されていますが、手動計算ではあまり複雑な計算はできないので、同じ品詞のコストが同じ値になりがちです。そこでもう少し踏み込んだコスト算出方法として、辞書の再学習という手段があります。これは既存の辞書を作る際のデータモデルと追加する単語、少量の例文からコストや単語の接続方法を自動判定させる機能です。

続きを読む MeCabpython  コメント (0)  2013/04/21 20:09:28

MeCab の IPA 辞書を UTF8 化する

配布されている MeCab の IPA 辞書は、文字コードが EUC JP になっています。
辞書のビルド時に文字コードを指定できるので、ちょっと試してみる分にはいいのですが、単語を登録しようとしたり、再学習をさせようとすると、文字コードが統一されていないことは障壁になります。

そこで MeCab 推奨の IPA 辞書を UTF8 に変換するツールを書いてみました。
テキストファイルの文字コードを変更するだけなのでシェルスクリプトでもできますが、個人的にのちのち再利用できそうなので python を使っています。

続きを読む MeCabpython  コメント (0)  2013/04/19 22:46:59

Linux 環境でマルチコア CPU を利用した python プログラムを書く

マルチコア CPU を利用した python プログラム、と言っても、Linux 環境ではプロセス単位で CPU が割り当てられるので、つまりはマルチプロセスを意識したプログラミングになります。

java でマルチコア CPU を利用しようとするとマルチスレッドで実現することになりますが、python の場合はわかりやすく別プロセスで実現されているため、ps や top コマンドで見えて面白いです。

python ではマルチプロセス用に multiprocessing モジュールが用意されていますが、今回はひとまず古典的な fork() 関数を使い、実際に複数のプロセスがマルチコア CPU によって処理されている様子を見てみたいと思います。

どちらかというと新人さん向けのプロセスのお話になってしまいましたが、季節柄ということで。
続きを読む Linuxpython  コメント (0)  2013/04/16 19:42:27

igo-python を使ってみた

前回 MeCab をちょろっと触ってみましたが、バイナリをビルドして、となるとコンソールが使えないレンタルサーバーでは使いづらいのが実情です。形態素解析器で C 言語じゃないものは他に何があるんだろうと探してみたところ、Igo という、Java の形態素解析器が見つかりました。

Igo はソースコードこそ異なるものの、解析結果は MeCab 互換となることを目指して作られたもので、辞書ファイルのフォーマットも MeCab のものに合わせているそうです。(ただ、未知語の扱いについては MeCab との差異があるようなので、公式ページを確認してください。)

今回は、この Igo を更に Python に移植したという igo-python を使ってみました。形態素解析を組み込もうかと思っている chocolablog が Python 製なのが理由です。
続きを読む MeCabpython  コメント (0)  2013/04/11 07:42:15

MeCab を使ってみた

Linux 環境で、UTF8 で使えるよう MeCab をビルドするところまでやってみました。

MeCab は辞書に登録されている単語をもとに、日本語の文章を品詞に分解するソフトウェアです。
日本語の品詞分解に対するこのアプローチは形態素解析と呼ばれる手法で、もとにする辞書が充実していればしているほど精度が上がっていきます。
辞書に登録する語彙によって解析できる品詞が変わるため、辞書に学習させる過程による癖が出やすく、個人的には愛着の出やすい手法なのじゃないかと感じています。

しかし、逆に言えば言葉の移り変わりに応じて辞書のアップデートをしていかなければならず、また辞書をメンテしていくことで辞書ファイル自体のサイズが大きくなってしまうというデメリットがあります。

Mecab 自体はとても歴史のあるプロジェクトで、現在では Java や Python のバインディングまで提供されているため、かなり組み込みやすい環境が整っています。
続きを読む MeCabLinux  コメント (0)  2013/04/09 06:41:31

おおかみこどもの雨と雪 を見ました

2012 年公開、細田守監督の映画おおかみこどもの雨と雪を見ました。
前作のサマーウォーズは劇場で何回も見たあげく友達に布教しまくったほど大好きな作品なのですが、今作はと言うと、おおかみこどもという今一よくわからないキーワードのせいなのか、なんとなく見ていなかったのです。

2013 年 2 月 20 日に Blu-ray、DVD が発売開始ということでまた話題になり、それなら見てみるかーと思って重い腰を上げたのでした。
…うん、面白かったです!

タイトルのおおかみこどもと言うのは、狼男と人間の子供、ということでした。狼男と言うとかなりファンタジー(もしくは怪奇的?)な空気が感じられてきますが、作中ではファンタジーな要素はそれこそ狼男の設定くらいしかなく、どちらかというと人間の成長に重点が置かれたホームドラマ的な印象が強かったです。主人公は花という大学生で、彼女が狼男と出会い、子供が生まれ、そして狼男が突然死んでしまったことから人目を避けて田舎に移り住み、二人の子供、雪と雨を育てていくというあらすじです。

こういう半分人間半分怪異という設定を見ると、PS ゲームサガフロンティアのアセルス編を思い出してしまいます。こちらは瀕死の少女が気まぐれに妖魔の血で一命を取りとめ、しかし半人半妖となってしまい、自分の道を選らんでいくというテーマがあります。

おおかみこどもでも、主人公の花が子育てや新しい環境での生活に奮闘するという主軸に加え、二人の子供が人間と狼のどちらの生き方を選ぶのかが大きく取り上げられています。

それだけでも分かる通り、この映画ではほぼ 3 人分の半生を描いています。それが 120 分に収まりきるわけもなく、所々はしょられたと見られるエピソードの影が見て取れます。
うん、前編後編にわけてもいいのでもっとたっぷり掘り下げて欲しかった…!!
見終わってすごく楽しめたと思う反面、直接描かれてはいないエピソードがどんなものだったのか気になって仕方がないです。それだけ引き込まれた作品だということですけども…。円盤にオリジナルエピソード追加とかだめですか?あ、もう発売されてますか、そうですか…。


以下、ネタバレとか気にせず観想を書きますのでご注意ください。

続きを読む 雑記アニメ  コメント (0)  2013/03/10 00:08:34

ひだまりスケッチ×ハニケム

イエス!アスミス!
アニメ第 4 期、ひだまりスケッチ×ハニカムの Blu-ray が届きましたよ!
第 1 巻はゆの宮子、第 2 巻はヒロ沙英ときて、第 3 巻のパッケージはのりなずコンビでした。
うめ先生の絵は相変わらず可愛いですなー。
hidamari_hanikamu.jpg
今気づきましたが、写真だと第 1 巻のロゴが逆さになってますねー。ケースさかさまにしてますね、お恥ずかしい。
ちゃんとした状態のを見たい人は今すぐ Amazon へっ!!

続きを読む 雑記アニメお買い物  コメント (0)  2013/03/04 08:18:47

Linux でメモリテストをする

Windows を使う人ならともかく、Linux でメモリテストをするという話はあまり聞いたことがなかったのですが、調べてみると memtest86 というパッケージがちゃんと用意されていて、ただ私が聞いたことがなかっただけのようです。
先月から進めているわが家の開発マシン強化計画の一環で、DDR2 4GB のメモリを 2 枚増設することにしたので、さっそくメモリテストを走らせてみました。

DDR3 って安いんですね…。DDR2 と比べてメモリ単価ががが

続きを読む Linux  コメント (0)  2013/02/05 08:20:49

VMWare Player 上の Fedora 17 32 bit にて共有フォルダを有効にする

会社の Windows7 マシンに VMWare Player をインストールし、ゲスト OS として Fedora17 32bit を乗せてみたものの、共有フォルダ機能が有効になりませんでした。
よくよく vmware-config-tools.pl の出力結果を見てみると vmhgfs.ko のビルドに失敗していて、このままだと共有フォルダは使えないよーと言われていました。ネットで調べつつなんとか動くところまで持っていけたので、手順を載せておきたいと思います。

エラーはこんな感じ。
make[1]: ディレクトリ `/usr/src/kernels/3.6.3-1.fc17.i686' に入ります
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/message.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/request.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/hgfsUtil.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/cpName.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/backdoorGcc32.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/link.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/rpcout.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/tcp.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/hgfsEscape.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/file.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/transport.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/inode.o
  CC [M]  /tmp/modconfig-sKMWK6/vmhgfs-only/super.o
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:121:4: 警告: 互換性のないポインタ型からの初期化です [デフォルトで有効]
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:121:4: 警告: (‘HgfsDirInodeOperations.create’ 用の初期化付近) [デフォルトで有効]
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:126:4: 警告: 互換性のないポインタ型からの初期化です [デフォルトで有効]
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:126:4: 警告: (‘HgfsDirInodeOperations.lookup’ 用の初期化付近) [デフォルトで有効]
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c: 関数 ‘HgfsPermission’ 内:
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:1820:7: エラー: ‘struct hlist_head’ は ‘next’ という名前のメンバを持っていません
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:1820:7: 警告: 型が全く異なるポインタの比較でキャストを欠いています [デフォルトで有効]
/tmp/modconfig-sKMWK6/vmhgfs-only/inode.c:1821:19: 警告: 互換性のないポインタ型からの初期化です [デフォルトで有効]
make[2]: *** [/tmp/modconfig-sKMWK6/vmhgfs-only/inode.o] エラー 1
make[2]: *** 未完了のジョブを待っています....
make[1]: *** [_module_/tmp/modconfig-sKMWK6/vmhgfs-only] エラー 2
make[1]: ディレクトリ `/usr/src/kernels/3.6.3-1.fc17.i686' から出ます
make: *** [vmhgfs.ko] エラー 2
make: ディレクトリ `/tmp/modconfig-sKMWK6/vmhgfs-only' から出ます

The filesystem driver (vmhgfs module) is used only for the shared folder 
feature. The rest of the software provided by VMware Tools is designed to work 
independently of this feature.

If you wish to have the shared folders feature, you can install the driver by 
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine. 
These packages are available on your distribution's installation CD.
[ Press Enter key to continue ] 

続きを読む Linux  コメント (0)  2013/02/04 21:16:40
プロフィール HN: ももかん
ゲーム作ったり雑談書いたり・・・していた時期が私にもありました。
カレンダー
<<2018, 4>>
1234567
891011121314
15161718192021
22232425262728
293012345