Category Archives: つくる

4travelの写真でフォント(?)をつくるAPI: “phont”

4travelの写真検索APIを使ってアルファベットのビットマップフォントをつくってしまうAPIです。 カカクコムのAPIコンテストに出してみます。 デモは以下のリンクを押してみてください。 レイヤーが出てきますが閉じるボタンはないので消すときはリロードで。 phont (現在停止中) ブックマークレットになっています。適当なページを開いたあとアドレス欄にスクリプトをコピペしてEnterを押しても動くと思います。動作確認はFirefox2.0.1とIE7。 ページ内の適当な文字列を、APIに送って結果をそのままどーんと貼ってます。写真は4travelの写真検索APIにランダムでカメラのモデルを入力して取得。 REST APIの仕様: URL http://zuzara.dyndns.org/api/phont 入力 parameter value description q 文字列(必須) 4travelフォントで表示させたい文字列 size 整数(デフォルト: 20) 1つ1つの写真の大きさ(単位はpx) callback 文字列 JSONPのfunction名を指定、空のときは自動的にJSONになる 出力 JSON/JSONP(Content-Type: application/json) 例) callback({"test":"<table><tr>\\n<td>\\n<table>\\n<tr><td>&nbsp;<\\/td> <td>&nbsp;<\\/td><td>&nbsp;<\\/td><td>&nbsp;<\\/td><td>&nbsp;<\\/td> <td>&nbsp;<\\/td><td>&nbsp;<\\/td><td>&nbsp;<\\/td><td>&nbsp;<\\/td> <\\/tr>\\n<tr><td>&nbsp;<\\/td> <td><a href='http:\\/\\/4travel.jp\\/traveler\\/kamosan\\/pict\\/10568417\\/'> <img border='0' src='http:\\/\\/img.4travel.jp\\/img\\/tcs\\/t\\/pict\\/sml\\/10\\/56\\/84\\/sml_10568417.jpg?20060807153948' width='20px' height='20px' alt='' \\/><\\/a> …中略…"}) エラー 特になし 例によってAPIは無保証ですが、どうぞご利用ください。(注意点等はこちらに準じます) コンテストに出そう、ということでいろんな人とブレストしてネタを考えたのですが、昨日ふと思いついたこの一発ネタにしてしまいました。すいません、エネルギー不足でした(^^; 名前は4travelとかけて4ontにしようか、ちょっと迷いました。APIを使うコンテストにAPIを出品してみる、とマニアックにひねったつもりですがどーでしょうか。 なおビットマップフォントの元データはこちら。thanks! Grixel Kyrou 7 Wide Font [...]

Posted in つくる | 1 Comment

PHPマニュアルのgrep検索API(JSONP)

PHPのマニュアルに対してgrep検索(実装上ではUNIXコマンドのgrepは使っていませんがgrepと同じ全文をなめるタイプの検索)を行うAPIをつくってみました。php.netの検索やNamazuの検索だと記号が含まれた検索語のときに漏れがあってちょっと不満があったので。 APIで返ってくる結果を並べたアプリが以下。比較的さくさく検索できると思います。 http://z.fukaoi.com/phpsearch/#mb_convert_encoding #以降のlocation.hashを書き換えてパーマリンクにしているので、Firefoxのクイックサーチと併用するとよさげです。 参考:ITmedia Biz.ID:Firefoxのブックマーク・キーワード活用法 http://z.fukaoi.com/phpsearch/#%s 未実装な点: Google CodeSearchなどとマッシュアップ PHP特化型検索エンジンで実装したネイティブ関数の自動補完機能をつける(zsh形式の補完がいいなぁ) ページャがない(10件目以降が表示できなぃ、キーボードのj/kでさくさくやりたい) Firefox2.0.0.1とIE7以外のブラウザでの動作は未確認 REST APIの仕様: URL http://zuzara.dyndns.org/api/phpsearch 入力 parameter value description q 文字列(必須) 検索したい文字列、ただし複数語には未対応 start 整数(デフォルト: 0) 出力結果の先頭位置(10件ずつ出力、トータルの件数は表示されない) callback 文字列(デフォルト: phpsearch) JSONPのfunction名を指定 出力 JSONP(Content-Type: application/json) エラー 特になし 未実装な点: AND検索など複数語の検索に未対応 ソーティングのアルゴリズムがない(現状ではマニュアルに出てくる順) クリック履歴をソーティングに反映する仕組み PHPのマニュアル以外も対応したい(PostgreSQL/MySQL、JavaScript、C++とか) 未実装が多過ぎてお正月クオリティです。。でもどうせなのでお蔵入りする前にリリース。検索結果の最初の10件だけでいいや、などとかなりいい加減ですが自分では使う予定。不満が募ってきたらアップデートするかもしれません。 例によってAPIは無保証ですが、どうぞご利用ください。(注意点等はこちらに準じます)

Posted in つくる | Leave a comment

ブログの記事本文を抽出するAPI: TSUBUAN

KOSHIANに続いてTSUBUANをつくりました。 URLを与えるとそのページに含まれる本文らしき文章をXMLで返すAPIです。 RESTで引数はurlしかありませんが、一応仕様はこちらに。 http://zuzara.dyndns.org/docs/contentextractionapi.html サンプルレスポンス: http://zuzara.dyndns.org/api/tsubuan?url=http://blog.zuzara.com/2006/12/12/173/ アルゴリズムは以前作ったスクリプトの改良、といった感じです。精度をちゃんと数字にしていませんが、汎用的にどんなブログでも取得できるようになったと思います。必ずしもブログのみが対象ではなく、言語による依存もありません。精度実験では中国語のブログも対象にしてみました。 以前あった、ceekzさんのアイディアも使わせていただきました。 ブログの本文抽出にチャレンジ – Ceekz Logs ・直前のエントリと diff を取る ・RSS の description と比較する と、句読点の数も本文らしき箇所の候補が複数あった場合、考慮しています。 現時点で認識しているうまく抽出できないケースは、 本文の文字数が極端に少ない はてなのように1つのページに複数の記事がある 一部の、Yahoo!ブログやspaces.live.comのようにdivが改行ごとに含まれるような場合 コメントがやたら長い 本文以外にもたくさん文章がある サイドバーなど、不要な文字列も混じる HTMLを解析しているのでHTMLがきれいでないとうまくいきません。コメントに関しては、分離したかったのですが本文の一部として取得するケースが多いと思います。 またAPIとしては若干、結果を返すまでの時間が長いです。あくまで実験という位置づけで試していただければ幸いです。 注意点 サーバの回線が細いのが不安です。 将来的にドメイン名が変わる可能性が高いです。 蹴飛ばしてケーブルが抜ける等の生活に密着した原因でサーバが止まる可能性があります。 やむを得ず後方互換性のない仕様に変更される可能性があります。 事前の告知なしにサービスを終了する可能性もゼロではありません。 お断り このAPIは無保証です。本APIを利用して発生したいかなる損害に対しても責任を負いません。 商用利用はご相談ください。 1秒に1回以下のリクエストとしてください。 研究目的等で大量のデータを解析する必要がある場合、ご相談ください。 スパイウェアや不正利用、その他法律に反することには利用できません。 本サービスと全く同機能のサービスを本サービスを利用して公開しないでください。 ご意見等はお気軽にコメント欄までお願いします。 メールでもOKです。 2007年10月11日現在停止中 現在サーバを止めています。

Posted in つくる | 5 Comments

KOSHIANの抽出アルゴリズムを少し改善

特徴語抽出APIのKOSHIANのアルゴリズムを少し改善しました。 APIの仕様に変更はありませんが抽出されるキーワードに若干の違いが出るかと思います。 第2弾のAPIとして「TSUBUAN」をつくっています。年末ぐらいにリリースできそうです。

Posted in つくる | Leave a comment

KOSHIAN APIを使って100shiki.comの頻出キーワードをランキング

文章からキーワードを抜き出すKOSHIAN APIを使って100shiki.comの2005〜2006年の記事を解析してみました。記事本文の中に10回以上登場したキーワードのランキングになります。 順位、キーワード 登場回数 1. サイト 881 2. サービス 381 3. ツール 179 4. ブログ 170 5. RSS 134 6. ウェブ 124 7. データ 76 8. コンテンツ 74 9. IPOD 69 10. 検索エンジン 67 11. アイテム 63 12. 結果 61 13. インターフェース 57 14. ユニー 57 15. メール 57 16. URL 55 17. ページ 54 [...]

Posted in つくる | 1 Comment

文章からキーワードを抜き出すAPI: KOSHIAN

文章からキーワードを抜き出すAPIを実験的に公開します! 専門用語で言うところの特徴語抽出です。 APIとして公開することで実証実験、精度向上を目指します。 ぜひいろいろ試してみてください。 2007年10月11日現在停止中 現在サーバを止めています。 ご要望が多ければ復活するかもしれません。コメントください。 仕様 URL http://zuzara.dyndns.org/api/koshian 入力 method parameter value description GET/POST (REST) q string キーワードを抜き出したい文章(UTF-8) 出力 ResultSet ルート要素 Result キーワード(アルファベットは大文字に変換されます。文章中に登場した順序で出力され、重複は排除されません。UTF-8。) id(Resultの属性) 同義語は同じidになります。 エラー <error> <message>GET/POST param q is invalid.</message> </error> 米Y!の同じ機能を持ったAPIを参考にしています。 Term Extraction Documentation for Yahoo! Search Web Services サンプルレスポンス http://zuzara.dyndns.org/api/koshian?q=Microsoft+マイクロソフト <ResultSet> <Result id="2454">MICROSOFT</Result> <Result id="2454">マイクロソフト</Result> </ResultSet> デモフォーム 適当な文章を入力してください。 注意点 [...]

Posted in つくる | 4 Comments

カタカナでCAPTCHAをつくるPHPコード

CAPTCHAに関する記事。 Radium Software Development: Breaking Visual CAPTCHAs 高木浩光@自宅の日記 – 飾りじゃないのよCAPTCHAは PHPで使えるCAPTCHA画像作成ライブラリまとめ:phpspot開発日誌 CAPTCHA破りもかなりできるらしい。 アルゴリズム的には堅牢になっていませんが、生成する画像にアルファベットではなくて片仮名を使ったらどうだろう、と思ってphpspotでお勧めされていたKCAPTCHAのコードを拝見しつつつくってみました。 デモは以下。LGPLでPHPのコードごと見れます。 Japanese KATAKANA CAPTCHA test I published source code only: KATAKANA_CAPTCHA.php (main class) katakana_captcha_img.php (generate PNG image) index.php (test code) 参考にしたKCAPTCHAのコードはphpclasses.orgでユーザ登録しないとダウンロードできません。思ったより短いコードで、コアはたったの200行。 アルファベットをPNGから切り出している o=0, 1=lなど似た文字はあらかじめ排除している rnとrmのように隣り合うと識別しにくくなる文字列を排除している 文字を歪めるアルゴリズムはsinカーブを描くようにごりごりimagesetpixelでやっている模様 カタカナにするにあたって、特にアルファベットと変わる点はなく同じようにツとシのように識別しづらいものは排除しました。ただ、隣り合うと識別しづらくなる文字の組み合わせがあまり思い付かなかったのでそちらは実装していません。ノとレとか?あとユーザ入力と生成された文字列の比較時に小さいャとヤの区別を付けない方がいいかもしれません。 また、昔から好きなGrayGraphicsのフリーフォントを使わせていただきました。CAPTCHAに使っていいかライセンス的によくわからないので商用利用の際は注意が必要かもしれません。 今回は1つのフォントしか使っていませんが、破られないように強化するならKCAPTCHAのように複数のフォントをランダムに使った方がベターでしょう。文字数も固定長にしない方がいい。ただそれもCAPTCHA破りの汎用性によっては無意味なのかもしれません。現在ある最強のCAPTCHA破りアルゴリズムだとカタカナに対応するためのデータを学習すれば簡単に破れるんでしょうか。 なおPNGではなくTTFを使ったので動作環境にはGDとfreetypeが必要になります。一応PHP5用。ちょっと変えればPHP4でも動くはずです。

Posted in つくる | 4 Comments

ブログ深追い検索: ブログ検索エンジンのマッシュアップ

メディア・パブ: EZ GREEのユーザー評価,ブログ検索エンジンで調べてみる 今回の調査を始める前まで,ブログ検索エンジンはTechnoratiだけでも用が足せると思っていた。一度,TechnoratiとGoogleの検索エンジンをほぼ同時刻に走らせ,それらの検索結果を比較してみると,予想以上に結果に隔たりがあることがわかった。 と書いてあるのを読んで、そういえば昔メタサーチというのがあったなぁ、と思い出しブログ検索でつくってみました。 ブログ深追い検索 (closed) yahoo, google, goo, livedoor, namaan, kizasi, technorati, blogwatcherからそれぞれ最新の検索結果10件を取得して、重複を排除しつつ多くの検索エンジンでHITしたページほど上位にくるように並べ直しています。8つのマッシュアップなので検索結果が出るまでには若干時間がかかります。 各検索エンジンを比較するようなインターフェイスにはなっていませんが、じっくり見るとそれぞれ精度に差があるのがわかりますね。メディアパブの記事にあるように予想以上に違う結果が出ています。「PS3」など旬なキーワードは各エンジンの検索結果がほとんどかぶらないようです。 検索語ごとにRSSを出力しているのでリアルタイムに検索するよりは、網羅的に情報を集めたいキーワードのRSSをRSSリーダーに登録しておくのをお勧めします。

Posted in つくる | Leave a comment

Wii vs. PS3: digg, technorati, flickr and youtube MASH UP

Wii vs. PS3 (closed) Wii vs. PS3ということで最近流行の2.0系なサイトからその人気度らしきものを計ってみました。 PS3の方は検索クエリに”PlayStation3″が入っていないのですが、これはOR検索がうまくできないサイトが多かったため。PlayStation3の方は案外数が少なかったので無視してもいいかな、と。 思いがけず紹介してくださったサイトが多くてうれしいです。この場を借りてお礼をば。ありがとうございます!Thank you!

Posted in つくる | Leave a comment

100shikilicious: 百式徹底解剖&開発合宿レポート

開発合宿に誘われて行ってきました。 開発合宿レポート10月版 今回は御殿場で! | i d e a * i d e a 僕が写ってる写真の後ろの部屋が青く光っていて怪しげですがプロジェクターの光です。 メインで作っていたものはまだお披露目できないのですが、開発マシンのCPUがうなりをあげている暇に作ったチョイアプリが以下。 100shikilicious: 百式徹底解剖 夕食前後にあれこれしゃべっている中で百式のデータで何かしよう、というシーズから生まれたアイディア。 百式の2005年から昨日までの記事で紹介されたサイトを、del.icio.usのブックマーク数でランキングしてみました。隣にはてなブックマーク数も載せています。 海外と日本とでだいぶ反応に違いがあることが見てとれます。はてブの方は、百式に影響されてブックマーク数を伸ばしたサイトも多いかもしれません。 合宿自体は、かなり開発が進んだので大満足。アルゴリズムをうんうん唸って考えるのには向いていませんが、コーディングするには程よい緊張感が普段より集中力を増してくれた感じ。 また行きたいですね。 僕的なポイント。 あらかじめ、やることをだいたいリストアップしておく(以前の開発合宿のレポートにそう書いてあったので実践したのがよかったっぽい) スゴイ人と一緒だと細かい会話の中にもスゴイTIPSが潜んでいるので聞き逃せない! 他の人に合わせないでちゃんと寝る(睡眠時間短いとダメな性質なので。スタンドアローンに開発している4人なのでOKでした) 合宿中、天気はかなり荒れていましたが晴れ間の見えた隙に撮った写真をいくつか。

Posted in つくる | 1 Comment

Page optimized by WP Minify WordPress Plugin