Category Archives: Plagger

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

Gadget GLANTANK Plagger

W-ZERO3[es] + IMAP4

GLAN TANK に exim4 + Fetchmail + Courier-IMAP を導入して構築したメール一括管理 IMAP サーバを立てたことは以前書きましたが、無事 W-ZERO3[es] から読むことができています。「W-ZERO3 メール」は IMAP に対応していないのでもちろんだめですが、PocketOutlook ならバッチリです。

read more

Plagger

Windowsで簡単Plaggerインストール

Charsbar::Note : ppm for Plagger

via しげふみメモ:Windowsで簡単にPlaggerをインストールする方法

GLAN TANK は家でしかログインできないようにしてあるので、普段ごにょごにょやるのはWindows のノート PC でやることが多いわけなんですが、Charsbar::Note さんで公開されている ppm リポジトリを利用することで、ActivePerl へのインストールが簡単にできるようになっています。

read more

Plagger

CustomFeed::MediaServerプラグイン

WMC の調査には若干時間がかかりそうだし、DiXiM の評価期限もあと 3 日で切れてしまうので、そろそろ諦めて初野良プラグインを晒してみます。

Plagger::Plugin::CustomFeed::MediaServer

機能としては LAN 内の MediaServer を検索して全アイテムデータをフィードします。単位は ContentDirectory サービス毎で、日付順にソートされます。また複数のフォルダにリファレンスが存在する場合でも、一つのエントリになります。その時、そのアイテムが格納されているコンテナのタイトルがタグとして付くようにしました。
read more

Plagger

Plagger+DLNA with WMC

今日は午前 2 時前に目が覚めて眠れなくなってしまったので早朝(深夜?)の Plagger いぢり。
read more

Plagger

Plagger+DLNA with RD-X6

やっぱり機材がない関係からなかなかサックリといきません。DLNA サーバ機器買おうかな……。

でも手元の DiXiM サーバでは問題なく動いているし、某友人に RD-X6 でテストしてもらったところ、若干問題はあるもののそれっぽく動いたとのこと。もう少しで完成しそうな予感。
read more

Plagger

Plagger+DLNA with DiXiM2

結局 MediaTomb ではなかなか埒が明かないので、DigiOn の DiXiM2 評価版を DL&WindowsXP マシンにインストールして検証。DiXiM のエンジンを採用している民生機器も多いので無難でしょう。
read more

Plagger

Plagger+DLNAチャレンジ中

CustomFeed::UPnPAVMediaServer(仮称)を書いて実験中。一応サーバ検出&アイテム列挙してtitle,link を設定したエントリをフィードするところまでは動作確認。Net::UPnP のサンプルと、他の CustomFeedプラグインを参考にして書いたらすぐに動きました。まだ色々問題ありますけど、MediaTomb 側も絡んでいるのでもう少し。

Plagger の中身をもっと勉強しないとなあ、と思ったところで出かける時間になってしまった。
read more