Monthly Archives: June 2006

「日本語スペルチェック」、「表記のゆれ」:API化して欲しい!

» 「日本語スペルチェック」、「表記のゆれ」の2つの日本語検索機能を強化 関連語のAPIもすばらしいですが、この日本語特有のぶれを何とかしてくれるAPIもつくって欲しいです! 引っ越し、引越し、引越、このぶれを吸収するシステムを自前でつくろうと思っても大変。。 あとは同義語。ヤフーとYahoo!、Yahoo、Y!をひとくくりにできたらなぁ、といつも思います。 ちなみに、Googleでは「ブラjる」「じーこ」に修正候補は出てこない。「中田ひでとし」は出てくる。「多運ページ」で検索すると「もしかして: タウンページ」と出てくるが、Yahoo!には出てこない。「タウン頁」はGoogleでは出てこず、Yahoo!では出てくる。「タ運ページ」でもYahoo!は出てくる。どちらも必ずしも漢字の読みでQuery Expansionしているわけではないらしい。検索数に応じてExpandするか決めているとしたら、GoogleとYahoo!ではよく検索される語の種類がだいぶ違うということなのだろうか。 「ブラjる」はYahoo!では0件、Googleもダブルクォーテーションで囲んでフレーズ検索にすると0件。検索語と検索結果からだけでは「ブラジル」には繋がらないはず。 「こんなワードをゆらして!」といったご意見もお待ちしています。 ブログにもこう書かれているので全部ではないにしろ人間による辞書的なアプローチも一定の割合を占めているのでしょうか。「タ運ページ」なんて誤変換は普通しないと思うのでここは機械的な感じがする。 ゆらして欲しいワードは、よく間違えられて悲しい思いをする自分の名前。「舟木信宏」ぢゃなくて「船木信宏」です。

Posted in 感動する | 6 Comments

fromAnaviのAPIに使うパラメータのコード値一覧をYAMLにして配布します

RECRUIT — Sun×RECRUIT Mash up Award 対象API一覧 このマッシュアップのコンテスト、僕も出そうと思っています。 公開されたAPI、それぞれいじっているところですがフロム・エー ナビのAPIはパラメータが多過ぎてそのままだと使いづらい。 そこで提供されているリファレンスのPDFを開いて「テキストとして保存」してからPHPで簡易的なパーサを書いて配列に放り込んだ後、SpycでYAMLに変換。 例えばバイトの勤務時間帯を指定するパラメータ、hours_ctrgy_cdは01~04をコード値として指定できます。で、以下のようなYAMLにしました。 — – id: 01 name: 午前(7:00.12:00) – id: 02 name: 昼(12:00.17:00) – id: 03 name: 夕方・夜(17:00.22:00) – id: 04 name: 深夜・早朝(22:00.翌7:00) 漏れや間違いはないと思ってますが、、もしあったら教えていただけると幸いです。edition_cdのデータ構造はリファレンスと違い、ツリー構造にしてあります。あと、使ったよーって方はぜひつくったアプリを教えてください! » ダウンロード(約11k)

Posted in つくる | Leave a comment

折り紙ヨーダの写真がクールだ

diggで見つけました。かっこいー。 » zipped.org – Best of the web all in one place Make a Yoda in origami you must. ファンとしてはこのコメントにやられた感じ。 川畑 文昭氏の作品だそうです。ネタ自体は1年前に取り上げられていた模様。(小太郎ぶろぐ:(PDFファイル)折り紙ヨーダの作り方)

Posted in 感動する | Leave a comment

PHPで文字列のポインタをC言語風に進める

#include <stdio.h> int main(int argc, char *argv[]) { char *str; str = argv[1]; while (*str != ‘\\0′) { printf("%c\\n", *str); str++; } return 0; } C言語で書くと以上のような処理をPHPで書きたいとき。 <?php $str = $argv[1]; for ($i = 0; isset($str[$i]); $i++) { echo $str[$i]."\\n"; } こういうときはissetが速い。こんな処理が必要になることは滅多にないのですが、、文字列中に半角の文字が何文字あるか数えたい時とか正規表現だと遅い時とかに使えるかと。 phpspotで前の記事を紹介していただいた中で、全角で関数名や変数が書ける、という面白い構文が紹介されていたので自分も使ったことのある変なのを書いてみました。 あと、issetは複数の引数を取れる、というTIPSは最近面白いこちらのブログに。 » ウノウラボ Unoh Labs: isset()って あと,is_string() とか is_int() ってアンダーバーで区切られているのに, なぜか isset() は [...]

Posted in いじる | 5 Comments

Bambalam: PHPをスタンドアローンのexeにコンパイルする

» Bambalam PHP EXE Compiler/Embedder 1.0 – Free php to exe converter! coool!! こういうのを待っていました。 例えば、 echo time(); と書いたtime.phpを c:\work>bamcompile.exe time.php time.exe としてやるとtime.exeができて、これはPHPのインストールされていない他のWindowsでも動く! does not workだったのがremote URLへのaccess。エラーメッセージもなしに落ちる。ソース(streams.c)を見た感じ、何かを上書きしているようでその辺りが原因か? echo file_get_contents(‘http://www.zuzara.com/’); 小粒なRSSリーダーを作って配布できる~と一番最初に思ったので残念。 require_onceしたファイルもexeに内包されると思いきやそうではないようでその点も今後に期待。 あと、extensionは使える、とサイトに書いてありますがcurlとかmbstringを試したところ動かず。パスはあっているはずなのに「指定されたモジュールが見つかりません」 こういうときさくさく英語でメール書いて開発者さんに送れるとハッピーなんですが。。

Posted in いじる | Leave a comment

初回限定、それは小悪魔の囁き。

ハーフタイム暇、みたいな。 » 初回限定、それは小悪魔の囁き。 初回限定・特典付の商品をAmazonから探してきて載せています。

Posted in つくる | 2 Comments

PHPのswitchのcase文には関数が使える

< ?php $test = ‘aaa’; switch (true) { case ($test > 10): echo "10!"; break; case is_numeric($test): echo "digit!"; break; case is_float($test): echo "float!"; break; case is_aaa($test): echo "aaa!"; break; default: break; }   function is_aaa($str) { return ($str === ‘aaa’) ? true : false; } URLのパラメータが数字だったら、という処理をif文ではなくswitch文で書けたらきれいかな、と思ってやってみたら動きました。ユーザ定義関数を使うときはちゃんとboolを返さないと動かないようです。 マニュアルには見当たらない構文ですが使う機会はありそう。他のLLでも動くんでしょーか。 その他の PHP 関連記事。 追記: ソースの一部を変更。 3年以上経過した今見ると、URLのパラメータのチェックには PHP5.2 [...]

Posted in いじる | 3 Comments

ブログの記事本文を抽出するスクリプトをつくってみた

ブログ検索において、RSSは必ずしも記事全文を配信していないので、クローラーが記事のURLにアクセスし記事の本文を取得するケースが多いようです。 「gooブログ検索」「ブログレンジャー」開発者が語るブログ検索技術 Yahoo!検索 スタッフブログ Yahoo!ブログ検索より細部改善のお知らせ 上記の記事ではどちらも本文を抽出してくる、とあっさり書かれていますが100%に近い精度を実現するとなるとそう簡単ではないはず。 ちょっと調べてみたら以下のような取り組みが論文として読めました。英語圏の文献は、検索語が悪かったのかいまいち。「blog entry extract body text etc…」 NRI 技術創発 ブログ記事の自動分類により消費者意識の側面を捉える試み(PDF) なんでもRSS! HTML文書からのRSS Feed 自動生成 南野朋之 奥村学:人工知能学会研究会資料 SIG-SWO-A501-03(PDF) なんでもRSS!はブログから記事本文を取得しているわけではなくて、普通のウェブページからRSSに必要な要素として記事を取得する方法が書かれています。NRIのレポートではそれと同様の手法で「エントリ切り出し機構の成功確率は推定9割である」と述べられていました。 gooやYahoo!ではどんな風に実装されているんだろうと気になり、自分でもつくってみました。今回できたスクリプトでは28件中23件、8割の成功確率でした。NRIのレポートでも推定、とあるように人間が目で見て正解か確かめていくのはしんどいのでちょっとサンプル数は少なめ。 ソースは以下。PHP。 /** * ブログから記事本文を取得したい * * @author Nob Funaki * @license This file is entirely BSD licensed. * * * @param string HTML全文 * @return string ブログの記事本文(HTMLなし) */ function getBlogEntryBody($buf) { $_threshold_len = 100; [...]

Posted in つくる | 8 Comments

Mozilla Japanのエレガントな404 Not Found

Firefox1.5.0.4がリリースされた直後、リリースノートへのリンク先が1.5.0.3だったのでアレ?と思ってURLの3を4に書き換えてみたらNot Found。たまたまアクセスした404のページは、和訳されたドキュメントならではのエレガントなデザインになっていました。

Posted in 感動する | Leave a comment

Page optimized by WP Minify WordPress Plugin