Category Archives: Software

Plagger Programming Software

Plagger::Plugin::Filter::AutoTaggingをアップデート

Plagger::Plugin::Filter::AutoTagging を少し改変しました。

AutoTagging.pm

変更内容は以下の通り。

  • otsune さんの diff を適用&ちょっと修正 (db省略時処理とMeCab用Encode処理のパフォーマンス改善) < otsune さんThx!
  • sub init を plugin.init ハンドラに変更しました。(他のプラグインの初期化処理もそのようになっているようなので……)

実は otsune さんに書いて頂いたdiff をそのまま適用したところうまく動きませんでした。というのも、「db 省略時に id_safe を使ってファイル名を生成するように」とコードを追加されておられるのですが、Plagger::Util::filename_for で $feed が参照できないために動きませんでした。

で、これ自体は単純なミスだと思ってなんとか取り込ませていただこうとしたのですが、otsune さんの意図が「Feed毎に学習できるように」というものなのか、それとも単に「Pluginユニークなdb名を生成したい」からなのか、それともなにか他にもあるのか気になりだして悩んでしまいました。

とりあえず Plagger::Util::filename_for で id_safe が使えるように safe_id と id サブルーチンを実装(というか Plagger::Feed から持ってきた)し、$self->id で $self->plugin_id が返るようにしてお茶を濁しておきましたが、これでは「Feed 毎に学習を分ける」という目的は達成できません。

学習データが完全に共通の場合、特に generate_tags を有効にするとあっというまにラベルがどんどん増えてDBのサイズが膨らんでしまいますし、guess の精度にも影響があるかもしれないので Feed 毎に学習データを分けられる(もちろん共通にもできる)ようにしておいたほうが色々と都合が良いかも?

ちょっと悩みます。

あと、safe_id は Plugin.pm レベルで持っていてもいいような気がしました。でもそんなのは既に議論されていそうだし、私のやり方よりもよい別の実現方法が既に実装されているのかも?

最近 Plagger の事を調べたりプラグインを書くのもご無沙汰だったので分からないことが多いのですが、ボチボチやっていこうと思いますので何かあれば皆様是非ご教授くださいませ。

Plagger Programming Software

久しぶりにPlaggerでなんかやってみた

前回書いたとおり、Text::MeCab と Algorithm::NaiveBayes を利用して Auto Tagging する Plagger のプラグインを作成してみました。もちろん、Text::MeCab と Algorithm::NaiveBayes モジュールが必要です。

Plagger::Plugin::Filter::AutoTagging.pm

Perl のコード自体書いたのは久しぶりなので、あまり自信はないです。途中単純なミスにハマりながらもなんとか作りました。なにかおかしなところがあったら、是非ご指摘いただけると幸いです。

ちなみにしばらくの間、某所のDebien サーバで

– module: Filter::AutoTagging
config:
mecab_charset: utf-8
db:
generate_tags: 3
guess_tags: 3
threshold: 0.8
training: 1

とかやってテストをまわしていましたが、精度はイマイチです。generate_tagsでのキーワードの抽出方法はもう少しきちんと考えた方がいいかもしれない?あと、MeCab辞書が utf-8 の環境でしかテストしていません。

ちなみに config 項目の詳しい説明はこちら

Plagger/Plugin/Filter/AutoTagging

Plagger Programming Software

久しぶりにPlaggerでなんかやってみたくなった

ずっと前から Plagger の最新動向を追うのをやめてしまっていたのですが、しばらくぶりに最新バージョンにアップデートして遊んでみました。

まず Debian でサーバを立て、Plagger を trunk からインストール。なるべく多くのプラグインと依存モジュールを頑張って入れました。Search::Estraier が使ってみたかったので HyperEstraier もインストール。

Search::Estraier に関しては下記のURLを参照のこと。

http://subtech.g.hatena.ne.jp/miyagawa/20060504/1146744042
http://subtech.g.hatena.ne.jp/miyagawa/20060504/1146739431

HyperEstraier をインストールしてマスターを起動し、管理者アカウントとノードを作成。example にあった search.yaml を変更して試してみたらすんなり動きました。イカス。

さらに、形態素解析エンジンの MeCab とその Perl バインディングである Text::MeCab を試してみたくなったのでインストール。MeCab の辞書は UTF-8 へコンバートしました。

んで例の「分かち書き」を試してみるといい感じ。これで各単語数カウントしてベイズ推定使えば日本語でもある程度精度のよいスパム判定とか自動レイティングとかできちゃうんでしょうか?(そんな簡単にはいかないか……)

と思ったけど「そんなの既に誰かやってそうだなあ。ずいぶん長いこと Plagger のこと調べてなかったからよく分からないしなあ。」といういつもの葛藤に苦しみながらも、エイヤとチャレンジしてみることに。

read more

Blog Tools Mac Software

ecto3 beta が日本語化

ecto3大分前から ecto3 betaを使用していましたが、3.0b34 がリリースされ、やっとメニュー等が日本語化されたらしいので早速アップデート。この記事はテストがてらに 3.0b34 で書いています。

ダイアログによってはラベル文字がはみ出して切れてしまっているところがあるみたいですが、今のところ快調です。


ツールバーはこんな感じ。

ecto3

別に英語でも特に不自由は感じませんでしたが、日本語化されること自体は嬉しいです。

Mac Software

ステータス一括変更アプリケーション – MoodBlast

ネタフルさんの記事で紹介されていた「MoodBlast」というアプリケーションが便利そうです。

MoodBlast

このアプリケーションは複数アプリケーションのステータスを一括で変更できるソフトウェアです。

read more

Mac Software

Leopardへアップグレード

10/26 は用事があって出かけていたのですが、家に戻ると不在通知が届いていました。ドライバーに電話をかけると、すぐに届けてくれました。

Leopard - Package
read more

Mac Software

Leopard予約開始

ということで、早速申し込んでおきました。10/26 に届くそうです。 もちろん StartMac メンバーではありませんので説明会のお誘いとかそういうのもくるわけない(しつこい)し、とにかく実践あるのみということで。

Apple Store(Japan)

Apple Store(Japan)

read more

Service Software

Google Earthで台風を見よう

Google Earth Blog で見つけた weather and tracking tools network link を使って、今近づいている台風をウォッチしています。
read more

Mac Software

Boot Camp 1.3 Betaへアップデート

Parallels を 3.0 へアップデートすると共に、Boot Camp も 1.3 Beta へアップデートしました。Driver Disk を作成して WindowsXP へ適用。

Mac Software

Parallels Desktop for Mac 3.0 へバージョンアップ

すでにアップグレードキーはキャンペーン価格で購入してあったのですが、ようやくダウンロード開始ということで、Parallels Desktop for Mac を 3.0 へアップデートしました。

Download Parallels Desktop for Mac
read more