Skip to main content

ログ取得ツール

キーワード抽出メモ

名詞と動詞を切り出すのにはchasenを使っている。最初は外部コマンドで呼び出していたが、実行時間がかかるのでPythonのモジュールを作って組み込んだ。モジュールを作るといってもSWIGを使えば簡単で、


// swig -I/usr/include -python chasen.i
// gcc -c chasen_wrap.c -I/usr/include/python2.4 -I.
// g++ -shared chasen_wrap.o -lchasen -o _chasen.so
%module chasen
%{
#include "chasen.h"
%}

%rename(getopt)  chasen_getopt_argv;
%rename(parse)   chasen_sparse_tostr;

%ignore chasen_fparse;
%ignore chasen_fparse_tostr;
%ignore chasen_sparse;

%include "chasen.h"

こんなもんだ。それから、普通にchasenをインストールした状態では英単語や数値を切り出せない。/usr/etc/chasenrcか~/.chasenrcに追加する。


(連結品詞 ((記号 アルファベット)))
(連結品詞 ((名詞 数)))

あとは「単語」→「単語の含まれる文書数」の連想配列を作って一応pickle化して保存しておく。そんなにパワフルなマシンじゃなくて、だいたい1万文書につき40秒くらいかかってしまうので、毎回計算するわけにはいかない。あとは文書ごとに同じようにchasenで名詞と動詞を切り出して、それぞれの単語につき「単語が文書に出現する数*math.log(全文書数/単語の出現する文書数)」をスコアにして、トップ10を計算。一応キャッシュとして保存しておいて、ページのほうではキャッシュデータを元に表示。 全文書に関わる情報を毎回更新せずにやると、division by zeroが発生する。一応この場合はスコア0ということで表現している(本当は間違いで、かなり高いスコアがつくはず)。 たぶん、ちゃんとやればほぼ全部を動的にできると思うんだけどね。全文書に関わる情報をDBに保存しておいて、ページを更新するたびにその情報を更新しておく。あとは表示するときにその文書に関わる情報を見てTF-IDF法で計算したスコアを元にキーワードを求めればいい。そこまでがんばる義理まではないだろう。

TF-IDF法

ちょっとテスト的に使ってみることにした。キーワードを抽出している。…こういうのってもう流行じゃないのかもね。 TF-IDF法自体はいまいち直観的ではないような気もするスコアリング方法ではあるが、メジャーではあるのですね。 このままいくと、いっそbogofilterとかにかけて文章のSPAMレベルを判定させてみるのもいいかもしれない。一応、機能してないけどエントリのスコアリング投票があるので、それを利用して「つまらない」が多いものをSPAMとして学習していくわけ。…何のために?

川崎0-2磐田 (繰り返し)

日曜のセレッソ戦と同じような試合で、同じように負けた。磐田は強いね。パス回しも上手いしカウンターも脅威。 思うに川崎対策みたいなものがあって、それを実践されたのではないかと。それでもチャンスは作っていたので、あとは得点するだけだと信じる。一つ前のエントリの予想は早くもあっさり外れた。今後は良いほうに外れてほしいものだ。 黒津と谷口が途中出場。谷口はボランチ、黒津はヤスと交代で右にいた。良い出来だったよ。 (追記) 2005-11-25 18:05 そういえばこの日はエバラ坦々ごま鍋の素エキサイトマッチだった。今年は当たらず。先着2000名の中には入れたけどね。

残り試合が少なくなりました

この問題を解消するには、天皇杯に勝ち続けるか、来季までお待ち下さい。 残り3試合。ホーム2戦と近隣アウェイ1戦。磐田東京ガンバと、どの相手も強豪だ。もちろん全部応援しに行くよ。昨年もそうだったが、残り試合が少なくなると妙に名残り惜しくなって困る。昨年の最終戦、鳥栖で試合が終わった後、「あー終わっちゃったなー」「もう終わっちゃったなー」と何度もこぼした。 私は、ホームで圧倒的な強さを誇る川崎がホーム2戦(磐田ガンバ)に勝ってアウェイ(東京)で引き分け、4〜5位でJ1のシーズンを終え、その後の天皇杯では最近調子を上げているマリノスに長崎で敗戦すると予想する。当たれば、残念なことに埼スタでのリベンジは来年にお預けになるが。 もちろんクリスマスや元旦の予定は空きまくっているので、勝ち上がってくれても何の問題もない。 こんなにいいシーズンなのに、もうすぐ終わっちゃうんだよなぁ。何にせよ、明日とガンバ戦は勝ちたいよ。

セレッソ2-0川崎 (久々の完敗)

寒い中、負けて、帰ってきた。というか勝てる試合ではなかった。惜しいシーンはあったし1点くらいは取ってくれてもよかったと思うけど。前半終了間際の周平のヘッド、我那覇のクロスからのアウグストとか。 森とフッキはいらないカードもらいましたね。特に森はベンチで退場。ここまでがんばってきたのに、あれでは今季はもう出番はないでしょう。ジュニーニョがもらったのも異議かな? 森島の飛び出しは見ごたえがあった。 それと、長居はいい公園だね。どこかと違って入場無料だし、なんというか、市民の憩いの場になっている感じがした。 (追記) 2005-11-20 22:53 試合前、吉野さん(川崎のコールリーダー)が話をしていたので、リンクを貼っておきます。 http://save-ayaka.com/ (追記) 2005-11-30 14:54 募金は終了したそうです。リンクを削りました。URLだけ残しておきます。

埼玉96-105東京 (応援のはじまり)

昨日も試合があったのだがさすがに見に行けなかった。今日は第2戦。 道が混んでて、試合開始ギリギリに近い時間に到着。集まった観客は、ざっと1000人くらいかな。照明が多く、明るい体育館だった。 とりあえず子供のチアには中指を立てるポーズはやめさせたほうがいい。意味わかってないのに変なこと覚えさすなよ。後半はなかったかもしれない。あと肩を鍛えてもう少し強くすること(プレゼントの投げ入れがほとんど前列にしか届かない)。 所沢市民体育館はギリギリでも駐車場に入れました。200円。中は普通の新しい豪華な体育館で、トイレも新しいけど数は少なめ、売店も有明に比べると…(略)。特に、食べ物屋さんが全くない。ビールすら売ってないみたいだった。冬だし車だから飲む気がしないけど! ゴミ箱もないみたいだった。これはアリエナイよ。あと東京のグッズは何も置いていなかった。タオマフ自分用のを買おうと思ってたのだが(まあそれはどうでもいいけど)。 埼玉の応援はDJ主導で…ちょっと寒かったかな。特に、有明でもそうだけど、拍手やブーイングの効果音を流すのは恥ずかしいのでやめてもらいたい。うるさいだけで何の迫力もない。音もちょっとうるさい。電気の爆音よりも人間の声のほうが遥かに迫力があることを知ったほうがいい。手を上げて広げるやつはまあ…悪くないかなぁ。 そして東京の応援。着いたときにはすでに10人くらいの勇者がバックスタンド(?)2階のベンチ裏あたりのところで固まって応援をはじめていた。真紫に染め上げられたフラッグを振りながら、選手コール、チームコール、ディフェンスコール。これらは少なからず選手の力になっていたように思えた。選手コールがあれば、観客も選手の名前を覚えられる。あえて言えば、これぞ応援という感じかな。ホームゲームで周囲の人を巻き込めて、あとDJ umeさんを抑え込めれば、運営から応援を奪い取り、本来の形(と私が思っている状態)になれるだろう。 試合のほうは前半の東京ペースが後半は一転して埼玉ペース。東京の12番(?)がメイン側からのシュートを外しまくっている間に埼玉が得点を繰り返した。埼玉の守備が改善されたのが大きかったとのこと。一時は20点差あったのを引っくり返すところまで漕ぎつける。バスケって…すごいね。しかし最後はピッペンも活躍し、うまく時間も使って粘り勝ちかな。東京は所沢決戦を2勝で終えることができた。ヘリコの怪我は大丈夫だろうか。途中で痛みながらも出ていて、最後は自爆に近い感じで倒れ、動けなくなった。背の高い2選手が肩をかついでベンチに運ぶ。2番のジェローン・ドッドはベンチにいたけど出てこなかった。 あとハイライトとしては、ややこしい判定を監督に説明したところ。これは埼玉ボールだと判定された(?)のだが協議の結果、結局東京のフリースローの後東京ボールで開始、ということになったので埼玉の監督に説明したのだった。そこで東京の監督ジョー・ブライアントは埼玉の監督のネクタイを直して仲良くしてあげた。

Excelの折れ線グラフで横軸の設定をキリのいい単位にする方法はないものか…普通に「軸の書式設定」-「目盛」で目盛ラベルの間隔(L)を1000とかにすると、1の次が1001になってしまうのだ。0、1000、2000にしたいのに、1、1001、2001で非常にカッコ悪い。どうやってもゼロオリジンにならないの、これ?? 「Y/数値軸との交点(C)」を0にしようとしても拒否されるし。 しょうがないからいつも散布図にしてるんだけど(これだとキリのいい数字になる)、みんなはどうしてるんだろう。自動でやると横軸は必ず見にくくなるよね。目盛の間隔も1のままで動かないのでいつも手動で変更する。 OpenOffice.orgはいまだにテキストファイルのインポートの操作が覚えられないのと、ちょっとしたグラフを書くのにも異様に重いのでまだ使えないようだ。無茶をしたいわけじゃなくて、たった数千行のデータを読み込ませてグラフにしたいだけなのに。 それとWindowsでクリップボードにあるEMFを一発で望みのサイズのpngに変換する方法があったら知りたいなぁ。Excelのグラフをpngにしてメールで送る、という作業をよくやる(シートのままだとでかすぎて送れないため)のだけど、今はいちいちペイントを上げてペースト(サイズは指定できない)、そのままペイントで「ファイルにコピー」でbmpにし、netpbmでpngに変換している。「Windows画像とFAXビューア」だと直接pngにできるけど…サイズが…あといらない黒枠がついちゃうことがある。WindowsだとVBスクリプトみたいなので書けるのかな。 emfをLinuxに送ればOOoで開けるけど、ちょっとフォントが崩れるよね。 (追記) 2005-11-22 09:25 クリップボードの話は、このソフト(shibaguchi.com)で自動保存にしているのが最も快適だということがわかった。けっこう便利です。

川崎3-1神戸 (冬到来)

冬の訪れが感じられる今日このごろ。皆さんいかがお過ごしでしょうか。ハトはいつもあそこにいるんでしょうかね。 前半開始時はまぶしかった西日もすぐに引っ込み、ユニ1枚という真夏と同じ格好をしている我々に涼しさを感じさせる中、応援の熱気はいつもと同じで、タオマフで汗を拭いながら跳ね、歌う。 神戸は播戸が怪我から復帰し、平瀬とコンビを組んでいる。以前に対戦したときはいなかった選手もいる。三浦アツも後半から投入された。怪我で離脱していた本来の戦力がここにきて整ってきたという感じかな。それでも、戦力で上回る川崎(←ずっと言ってみたかったこの言葉!)が正攻法で勝った。セットプレーから2点(マルクス→ジュニーニョ、アウグスト直接)、前がかりになったところで奪い、カウンターで1点(我那覇→ジュニーニョ)。相手の得点は確かCK崩れから播戸が身体で押し込んだもの。 アウグストのFKが入ると、何度見ても気持ちがいいね。 客入りは良くないと感じていたが、ハーフタイムのトイレや売店は大混雑。いつの間にか増えていた観客に驚く(しかし結局は9,894人と発表)。相馬を見に来たんですかね。 憲剛が良かった。原田の守備もだんだん良くなってきた。そして今シーズン限りでの引退を発表した相馬が後半ロスタイムに登場。時間も短くボールタッチの回数は数度しかなかったと思うが、その中でも1度チャンスを演出して観客を納得させた。ヤスはシュートを打ってほしかった。 3ポイント先にいた千葉が引き分けたため、順位は変わらず。浦和も負け、鹿島も引き分け、ガンバが優勝の目を引き寄せた。優勝は3位のセレッソまでに絞られた感じかな。まだ残り4節ある。どうなるかわからないけど、最終節(ガンバ戦)は盛り上がるといいね。

戦え、ヴェルディ

10人の緑と1人のピンク、ヴェルディのACL出場について妙なニュースや噂が流れている。ヴェルディは前回の天皇杯で優勝し、来年のACLに出場する権利を勝ち取った。 ところが現在、ヴェルディは降格圏内に低迷しており、J2降格を現実的な脅威として感じているところ。これに関して、J2の過密日程、そして2部リーグ所属のチームを日本のチャンピオンチームとして国際大会に出すのはどうかという話になってきている。 かわりにナビスコカップの優勝チームやJ1の2位に出場させるという案が浮上している。ナビスコ優勝は千葉。J1の2位はまだ決まっていないが川崎にも2位に食い込むチャンスがある。ネット上でも様々な意見が出ている。 この話に関する私の意見は以下の通りだ。 たとえJ2に降格しても、来年のACLにはヴェルディが出るべき。 こんな問題が起きる元凶は何か…と言われると、やはり2シーズン前の天皇杯の王者をACLに参加させるという理不尽さにある。1シーズンのブランクをつける理由がないし、強い2チームを参加させるならプロアマトーナメントの大会ではなくJ1リーグ戦の1位2位か、J1しか参加しないナビスコカップの勝者を翌シーズンのACLに参加させるというのが妥当だろう(ナビスコだとやはり降格している可能性も残るが)。 しかし2シーズン前の天皇杯勝者を参加させるということは決まっていたことだから、守ってもらわなければ困る。ヴェルディは権利を勝ち取った。奪うことはできない。 ヴェルディが勝ち取ったものは何なのか。天皇杯はアマチュアのチーム、高校や大学のサッカー部、地域リーグのクラブ、JFLのクラブ、Jリーグクラブ(J1とJ2)がごっちゃになって戦うトーナメント方式のカップ戦だ。つまり、J1が優勝するとは限らない。その優勝チームの権利なのだから、所属するリーグに左右されるのは理不尽というものだ。 一方で、勝利至上主義的な観点から、J2だと日程が過密だから勝てない、ということを問題視している人もいる。でもACLって勝つべき大会なのか? 今年ACLのグループリーグを2試合見に行ったけど、平日夜のスタジアムは正直盛り上がっているとは言えなかった。また今年のマリノスや磐田の日程を見ると、とてもACLが考慮されているとは思えない。ナビスコカップの予選免除で試合数は少なかったけど、実際は超過密日程と数週間の休養が交互に来るというありえない日程になっていたのだ(そのため今季のマリノスは低迷している)。J1でACLを考慮した*はず*の日程って、J2でACLを考慮しないであろう日程と大差ないよ。本当に勝つべき大会ならJ2の日程も変えればいいだけの話で。 そしてヴェルディともなるとJ2では強いだろうから、控え組中心で挑んでも勝てる相手もあるだろう。その点はJ1よりも楽かもしれない。1年での昇格を捨ててACLを狙うという思い切った策も考えられる。J1で残留を捨ててACLを狙うよりはやりやすいだろう(J2は降格がないため捨てても失なうものがない)。 まあでも、チェアマンがこれだけバルーンを出して反応を観測しているということからして、恐らく来季のACLはヴェルディが出るにしろ、今季の天皇杯覇者は再来年のACLに出ることはできませんね。来年のナビスコ勝者にするか来年のJ1の2位にするかは不明ですけど。 リーグ戦をおもしろくするということも考えると、リーグ優勝クラブと、優勝クラブ以外で後半戦最も勝ち点を稼いだクラブ(要は直近で勢いのあるクラブ)を参加させる、というのが最善ではないかと思うよ。 でも、何度も言うけど、来年はまだヴェルディが出るべきだよ。

GPassが非常に使える件について

少し前から、GPass(netlab.jp)を使うようになった。非常に便利だ。これまでは全部同じ単純なパスワードにしていたが、これで少しはマシになった。ただGPassが壊れたら全部終わりになってしまうという欠点もあるが。 全部同じパスワードにすることの利点は、無論忘れないということにある。だいたい世の中にパスワードを使ったシステムは溢れており、覚えることは不可能である。ユーザにとって不可能なことをさせることを前提にしたシステムでは、本質的にまともにセキュリティを確保することはできない。ユーザにとっては、全部同じにする以外の選択肢がほとんどないではないか。今GPassに登録したパスワードを数えてみたら33個あった。登録してないパスワードもあるから、もっと増えるだろう。銀行カードの暗証番号だって4桁しかないけど、現実には5つ口座を持ってるのでやはり覚えきれない。万事がこんな調子だ。あちこちで安易に使うから全部が使えなくなる。 全部異なる推測されにくいパスワードにして覚えておく気なんて、もともとないですよ。確かに学生時代にセキュリティのリテラシーみたいな講義は受けた記憶もあるけど、今考えるとずいぶんアホなことをありがたく聞いてたんだなと思う。頻繁に変更しつつ推測されにくいパスワードを33個管理するのは人間には無理だ、ということくらい偉い先生に言われなくても分かる。 もちろん同じパスワードにすることには非常に問題がある。どうでもいい信頼性のないサイトと、高い信頼性の必要なサイトで共通のパスワードを使っていると、盗まれてしまう確率が高くなるということだ。どうでもいいサイトから流出したパスワードが信頼しているサイトでも使えてしまうというわけ。私は大して秘密にする気もない同じパスワードを長年使ってるから(笑)、すでに流出してしまっているんだろうな。ま、どうでもいいけど。 GPassみたいな、いわゆるパスワードチェイン(?)っていうのにはちょっと不安があって、いざ何か問題が起きて使えなくなったときにどれだけ救えるか、ということだ。GPassはGUIしかないので、GNOMEに何か問題が起きて起動できなくなったら終わりだ。今後長く使っていくためには、データ形式を調べてコマンドラインから救えるようなものを作っておく必要がある。blowfishということで独自の暗号方式でもないし、第一ソースも公開されているのでちょっと時間があればできるレベルではないかと思う。 あとは…FirefoxのGPass拡張みたいなのがあるといいかな。ホスト名を覚えておくフィールドがあるので、それを使えば連携できるのではないかという気もする。現在の連携は、GPassからURLを開くというもの。パスワードが先にあって、それに合うURLを開くというスタイルならそれでもいいが、実際はブラウザが生活の主戦場なわけなので、そういう使い方はしないのではないかと思う。私もブラウザでパスワードの必要なページを開いてからGPassを起動している。 Firefoxは最初からパスワードを保存できるのだけど、Web以外のものも管理したいと思うとブラウザでの一元管理というのはちょっと無理があると思う。