日本の民事裁判では懲罰などできない

まったくすごい話だ。良く耐えたなぁ。
で、それはそれとして、

 この場合は、普通に働いてる人の平均年収ベースにその差額を払う+懲罰的賠償金を払わなきゃ再発防止にならない。

なんかこういう勘違いしている人は多そうだけど、日本の法律では実際の被害以外に対する損害賠償金以外の賠償金は認められていない。どうしても懲罰を課したいなら実際に抵触する法律を探し出して告訴して刑事裁判を起こすとか監督省庁に働きかけて行政処分するとかだろうか。
アメリカなんかでは懲罰的賠償金は認められているんだけどね。

結局MALLET

使う部分とそれに依存する部分だけ抜き出したらサイズが1/5くらいになって依存ライブラリがtroveだけになったので、結局MALLETで行こうということに。で Ralpha にメールを出して、まだ返事が来てないんだけど。
つうかねぇ、CRFのほうは Feature のつくりかたが死ぬほどわかりにくい。ドキュメント読んでもわからないから、ソースを読むんだが、それでもわからない。FeatureTypes のサブクラスを作るわけだが、これが Iterator みたいなインターフェースで複数の Feature を返すようになっていて、各 Feature で FeatureIdentifier の id を設定しないといけないようだが、これが既存の FeatureTypes のサブクラスでは良く分かんない値を設定してて、意味が分かんない。いろいろやってみたところ、どうも FeatureTypes 毎にユニークになればいいっぽいけど。
まぁ、ドキュメントが不十分という点では MALLET も大概なんだが、こっちは Pipe を作って TokenSequence に対して setFeatureValue をやればいいだけなので、まだわかりやすい。しかも、ラベルも適当に文字列で突っ込めるのは地味に嬉しい*1
ということで、使う場合にはかなり気合がいると思うので気をつけるべし。> ここ見て CRF と MALLET をブックマークしている人。

*1:CRFはintで与えないといけない

やけに結果がいいと思ったら

CRFを使って固有表現抽出したらやたらと成績がいいと思ったら、テストデータから正解情報を削除するのを忘れてそのまま出力していた罠。帰りの地下鉄で気づいた自分はすごいアホだと思った。
一気に数字で評価を出すところまでやってたらすぐ気づいただろうに。

Crispy Park

Crispy Park

Crispy Park

iTMSで。ぽちっとな。