TracGanttCalendarPluginの文字コードエラーを解消する
GanttCalendarPlugin の見た目に惹かれてインストールしてみたが、ファイル内部で日本語が使われているためか、エラーが発生する。ちなみに Python のバージョンは 2.5.2。
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
とりあえず、ticketcalendar.py と ticketgantt.py にて日本語で書かれているところを u〜 を付ければ動いた (Python のことは知らないけど、これ何て言うんだろう?)。
# tag.a('カレンダー', href=req.href.ticketcalendar())) tag.a(u'カレンダー', href=req.href.ticketcalendar()))
しかし、このままでは動いてもメニューの文字が暗号のような文字になってしまうので、ファイルの先頭に
#!-*- coding:utf-8 -*-"
を付ける必要があった。と言うわけで、修正点を纏めると↓みたいな感じかな?
★ ticketcalender.py
#!-*- coding:utf-8 -*-" import re, calendar, time from datetime import datetime, date, timedelta
def get_navigation_items(self, req): if req.perm.has_permission('TICKET_VIEW'): yield ('mainnav', 'ticketcalendar', tag.a(u'カレンダー', href=req.href.ticketcalendar()))
★ ticketgantt.py
#!-*- coding:utf-8 -*-" import re, calendar, time from datetime import datetime, date, timedelta from genshi.builder import tag
def get_navigation_items(self, req): if req.perm.has_permission('TICKET_VIEW'): yield ('mainnav', 'ticketgantt', tag.a(u'ガントチャート', href=req.href.ticketgantt()))
チャット用「今北産業」 - tf/idf による単語抽出@IRC
これまでの会話を要約し、入ってきた人に「今北産業」として提供する IRC マクロを実験中。
friend 系列の IRC サーバでは、一度に三行より多くの行を送ろうとすると遅延が掛かるので三行で要約出来ると都合が良い。
Webサービス上の類似の技術:
★ tf-idf による単語抽出@IRC
td-idf の解説は以下が参考になる。
チャットの場合は、「キーワード抽出対象テキスト」をどう決めるか、すなわちどのぐらいのログまでを遡って要約するかによって動きが異なって来る。どうすれば良いかは…用途と対象ログの性質次第かな?
で、TF,N,DF はこんな感じにすれば良いのだろうか。
- 遡ったログの代表キーワード候補出現数 (TF)
- 全ログの行数 (N)
- 代表キーワード候補が含まれるログの行数 (DF)
本来ならば「ログの行数」では無く「ドキュメントの数」となるのだが、idf=(log(N/DF)) の意味 (一般語フィルタ) がそこまで損なわれないような気がするので多分大丈夫…だと思う。自分の環境では IRC のログを自動で SQL サーバに積むプログラムを稼動させており、N や DF の値を求めるのが楽なのでログは SQL サーバに積むことをおすすめ*1。
TF を求める際は形態素解析が必要。マクロとして TF を求めるならば外部コマンドで mecab や chasen を呼び出せば良いだろう。自分は PHP で組んでいるので php_mecab を使っている。
とりあえず代表キーワードの抽出は出来たが、これをどう要約に使うか…
ニコニコ動画のフォントを変えてみる @ openSUSE 11.0
参考文献:
Flash の表示フォントはデフォルトでは sans-serif が選択されるらしい。つまり sans-serif のエイリアスの読み込み順序を変えれば Flash の表示フォントが変わり、結果としてニコニコ動画のフォントも変わる。
副作用として sans-serif を使っている他のアプリケーションで困るかもしれませんね!
手順は 認証がかかっています と同じ。M+1P+IPAG は自分の置き換えたいフォントに読み替えて進めれば良い。