かってぃのブログ

喫茶店を遊牧しながら勉強したり開発したりする大学院生のブログです。

katty0324

みんなのつぶやきから「質問っぽいもの」を集めて作るQ&Aデータベース Questo http://questo.jp/ 作りました。質問の収集精度が良くないのが残念。

on 2011-05-04 17:38:13

webから

みんなのつぶやきを元にしたQ&Aデータベース Questo

Twitter上では時々、ツイートでフォロワーのみんなに問いかけをする場合があります。

そんな中で「Twitter上でやりとりされるQ&Aをうまく取り出してQ&Aデータベースを作ったら便利なのでは?」という思いつきで作りました。

みんなのつぶやきを元にしたQ&Aデータベース Questo

http://questo.jp/


(※即席で実装したので、デザインがテキトーで機能もほとんどありません・・・)

Q&Aの取り出し方

たったそれだけのものなのですが、膨大な「つぶやき」の中から時々出てくる「質問」を取り出すのは難しい問題です。

今回は、このような手段を使いました。

  1. 「?」を含むツイートは質問とみなす
  2. 「@」「RT」「http://」「(?)」を含むツイートは除外
  3. ユーザーIDに「bot」を含むツイートは除外
  4. ベイジアンフィルタで質問かどうか判定
  5. 返信のないツイートは除外

ベイジアンフィルタとは?

よく迷惑メールのスパム判定に使われるものです。

メール本文を単語に分解し、その単語群がスパムメールに含まれる確率を元に、そのメールがスパムかどうかを判定します。

これをスパム判定ではなく、質問判定に使おうというものです。


このアルゴリズムは、事前に膨大な学習をさせる必要があるので、ひたすら質問か質問じゃないかを手動で判定していきました。

ある程度精度が出るようになったら、あとはベイジアンフィルタの判定結果を元に学習させることができます。だから今も自ら学習中です。

ベイジアンフィルタの有用性は?

これをやりたいがためにベイズ統計などを少し勉強して作りましたが、実際の精度はいまいち。

目的にはあまり合っていなかったかもしれません・・・。

by katty0324 on 2011-05-05 09:46:26

コメント(0)

katty0324

PHPのGDライブラリ、意外に簡単に使える。

on 2011-04-15 15:51:38

webから

PHPで簡単に画像を縮小するライブラリ

ユーザーからの画像アップロードを受け付けるサイトで、そのサムネイル画像として縮小された画像を用意したい場合があります。

Twitterのサムネイル画像はアップロードした画像を適当なサイズに切り取り・縮小して表示してくれて良い感じです。

あれをPHPから簡単にできるクラスを作りました。

ダウンロード

以下のURLからダウンロードしてください。

http://cafetable.net/katty/image_class/image.zip

正しく動作することは全く保証できませんが、自由に改変などして使っていただいて結構です。

使い方と動作例

このバンバンジーを縮小したいと思います。


初期化

Imageクラスを初期化する時に画像のURLを与えます。

include ('image.php');
$image = new Image('./photo1.jpg');

縮小して保存する

Resizeメソッドで縮小、Saveメソッドで保存できます。メソッドチェーンで一連の処理を1行にまとめられます。

  • Resize($width, $height, $bgcolor = 0x000000 )

指定されたサイズにおさまるように縮小されます。余ったスペースは指定した色で塗りつぶします。指定しないと黒で塗りつぶします。

  • Save($name = null)

画像を保存します。ファイル名に拡張子はつけません。ファイル名を指定しないと読み込んだ元の画像に上書きします。

$image->Resize(200, 200)->Save('./photo2');


縮小して枠をつけて保存する

Frameメソッドで枠線をつけることができます。

  • Frame($color = 0x000000 )

枠の色を指定できます。指定しないと黒い枠がつきます。

$image->Resize(200, 200, 0xFFFFFF)->Frame()->Save('./photo3');

指定領域いっぱいになるように切り取る

Twitterのユーザーアイコンのように、四角形いっぱいに画像が入るように切り取るには、Cropメソッドを使います。

  • Crop($width, $height)

$image->Crop(200, 200)->Frame()->Save('./photo4');

保存しないで画像としてレスポンスする

画像として保存することはせずに、画像としてレスポンスを返すには、Outputメソッドを使います。

  • Output()

$image->Resize(200, 200)->Output();

by katty0324 on 2011-04-15 16:41:10

コメント(1)

katty0324

Twitterのつぶやきに書き足す形でブログが書けるサービスchoilog[チョイログ]、βバージョンをリリースしました! http://choilog.com/ 140文字じゃちょっと書き足りない時などにどうぞ!

on 2011-04-06 20:00:40

webから

choilog[チョイログ]をリリース

Twitterのつぶやきに書き足す形でブログが書けるサービスchoilog、βバージョンをリリースしました!

概要

Twitterのタイムラインを眺めていて、「そうそう、そうですよね!」って思うようなつぶやきを見つけた時、そこにちょっと書き足して、フォロワーのみんなにも伝えたい願望が出てきたりします。

こういう場合、非公式リツイートが良いんだろうけど、非公式リツイートすると怖い人から怒られる。

怒られなくても、非公式リツイートしようとすると、10文字くらいしか書き足せなかったりする。

そういう時に、choilogを開いて、そのつぶやきを開いて、そこに書き足す形でどんどん文章を書ける!

そんな感じのサービスです。

by katty0324 on 2011-04-06 21:32:06

コメント(0)