2010.03.07

toto開幕、さて今シーズンは、どんな技術で楽しもうか

ささやかな自慢だが、幾つかのキーワードに「toto」という言葉を組み合わせて検索すると、このサイトか僕が作ったツールが1位になる。

例えば

http://www.google.co.jp/search?q=toto+jquery

http://www.google.co.jp/search?q=toto+twitter

http://www.google.co.jp/search?q=toto+pipes

http://www.google.co.jp/search?q=toto+arduino

といった感じ。

twitterに関しては、Jリーグ観戦など、昨シーズンに比べ、かなり活用されている感じで、純粋にtoto予想のストックに使っていた僕としては、「ノイズ」が増えた感じ。今シーズンが終わる頃には、誰かに検索トップの座を奪われてしまうかも。

arduinoについては、特にtotoの予想に役立つようなものを作ったわけではないのだけど、今年は何か作ってみたいところ。

あと、組み合わせて楽しい、旬な技術はないものだろうか。

| | Comments (0) | TrackBack (0)

2009.06.15

toto予想にtwitter検索を使ってみる

ひじょうに似たタイトルのエントリを過去に書いたことがあるが、

uessay: toto予想にtwitterを使ってみる はてなユーザーの評価

ついでに、こんなエントリも書いたっけ。

uessay: 選択した文字列を右クリックでtwitter投稿するOpenSearch[totoc] はてなユーザーの評価

要するに、totoを予想するために、ネットに君臨する予想屋(彼らは真似できないほど大金をtotoにつぎ込んでいるが、しっかり当てている!)の予想エッセンスをtwitterに流し込んで、楽に予想しましょう、ということをやっていたのだが、Yahoo! Pipesでフィルタリングしていると、レスポンスが遅くて、販売終了時間をオーバーしてしまうので困っていた。

そんなわけで、twitterの検索機能を使えば早いかな、と試してみた。前に作ったPipesからチーム名を抜き出してtwitterで検索するためのURLを生成するのだが、裏では本当に面倒なことをしている。

uessay: Yahoo! Pipesのテクニックを10個(前編) はてなユーザーの評価

totoのサイトで「次回は第355回」という情報を入手して、technoratiで「第355回」のtotoを予想してる人のブログを探すということをやっていた。 これぐらいの作業は人力でやってもかまわないのだが、せっかくだから「355」という数字だけ取って来て、Pipesで「355」で検索した結果だけ取得できれば言うことなしである。簡単そうだが、Pipesにとっては「355」という数字もフィードの一部なので「たまたま355という数字があるが、356、357と続いている数字の一部かもしれない」なんて扱いをしているため、Loopでひとつひとつ流し込んであげる必要がある。

ともあれ、完成したPipesがこちら。

http://pipes.yahoo.com/pipes/pipe.info?_id=f30a46d7083308b10f6aed59b929db4d

当たり前だが、次回の予想なので試合が近づくまで検索結果はカラである。雰囲気を試したい方はデバッグ用に395回を入力したこちらをご覧ください。

http://pipes.yahoo.com/pipes/pipe.info?_id=adc22aa9b876f8db50f5a181407e534a

Pipesで使える正規表現がわからず変なことになっているが、Firefoxのライブブックマークに登録して「タブですべて開く」をすると、自分が流し込んだ予想以外にも、Jリーグの試合観戦をtwitterに書いてる人(およびボット)が表示されて楽しい。

| | Comments (0) | TrackBack (0)

2009.05.27

新検索エンジンWolfram Alfaはスポーツ観戦のお供に使えるか

いろいろ話題だが、

たとえば「ヨーロッパのインターネット利用者」などといった検索クエリが求める内容を理解し、非常に適切な結果を返す
天才が作った新検索エンジン『Wolfram|Alpha』と、Googleへの影響 | WIRED VISION

Google Docのスプレッドシートに実装されているGoogleLookupという関数も似たことを実現していた。例えばGoogleLookup("Japan","Population")と入力すると日本の人口を返してくれる。

Walframも基本的に似たことをしてくれるが、GoogleLookupには出てこない過去のデータをグラフにしたり平均寿命など関連するデータを出してくれる。

http://www90.wolframalpha.com/input/?i=japan+population

さて、これをどう使いましょう、ということだが、メジャーリーガーの防御率とかは、GoogleLookupもWalframも返してくれる。Hideki MatsuiのAgeとか、どちらも返す。順位を返してくれたら、とWalframにrankと入力したら、rankという会社の株価や従業員数なんかを返してくれた。闇討ちしては一喜一憂というフェーズだ。

Jリーガーの情報は何年後に対応してくれるのか不明だが、もし対応してくれたらスポーツ中継を解説するbotなんかもできるかもしれない。

| | Comments (0) | TrackBack (0)

2009.04.17

選択した文字列を右クリックでtwitter投稿するOpenSearch[totoc]

totoを予想するための情報を片っ端からtwitterに投稿したくて、twitter投稿ブックマークレットを作ってみたが、わざわざマウスをツールバーまで動かしてブックマークレットを呼び出す操作が面倒くさい。

uessay: toto予想にtwitterを使ってみる
はてなユーザーの評価  livedoorユーザーの評価  Buzzurlにブックマーク

そこで、過去にFirefoxで選択した文字列を右クリックで検索エンジンに渡すOpenSearchという技術を検索エンジン以外にも応用できないか考察したことがあったので、これをtwitter投稿に試してみた。

uessay: OpenSearch Descriptionで選択した文字列を右クリックから取得する
はてなユーザーの評価  livedoorユーザーの評価  Buzzurlにブックマーク

そんなわけで書いてみたのが、こちら。

totoc

上のリンクをFirefoxで開くと素っ気ないページが表示されるが、右上の検索窓のプルダウンから"twitterに投稿"を追加すると

Totoc1

こんな感じで文字列を選択して右クリックからtwitterに投稿できる。多分、マウス移動距離、キーボード入力とも、これよりスピーディにtwitter投稿できる方法は存在しないんじゃないだろうか。

Totoc2_2

totocというネーミングは、totobの次という意味合い。僕としてはtoto予想に使うつもりだが、普通にtwitterに投稿するツールとしても便利だと思う。

uessay: jQueryで他サイトのtoto予想を効率よく収集するブックマークレット[totob]
はてなユーザーの評価  livedoorユーザーの評価  Buzzurlにブックマーク

 

--

【AD】TSUTAYA DISCASかDMM.comのどちらかを契約しようかと検討中。TSUTAYAはベストセラーのDVDなど映画以外の品数が多くて勉強好きにはよさそうですね。

| | Comments (0) | TrackBack (0)

2009.04.14

toto予想にtwitterを使ってみる

今年はtotoを当てることにしたので、totob(toto予想専用ブックマークレット)とか作ってみたが、1ヶ月して得られたのは

  • 予想情報を収集すればするほど、一般の投票状況に近くなる(こちら
  • 予想屋の「本命」とか「大穴」といった情報を反映させるのは難しい
  • 結局のところ、集計値しても予想屋のページを見に戻ることが多い

といったところか。

「何を」より「なぜ」を収集できないと、意味のある予想にはつながらない。ということで、予想屋の予想ではなく、予想屋のコメントを収集する仕組みを作ってみようと思った。totobと同じようにフロントエンドにjQuery、バックエンドにGoogle Docを使えば楽かなと思っていたら、ふとTwitterをバックエンドに使うことを思いついた。例えばこんな感じ。

いま見ているページを認証不要でTwitterに投稿するブックマークレット - 頭ん中
はてなユーザーの評価  livedoorユーザーの評価  Buzzurlにブックマーク

 

実際は、ひとつのページで複数の試合の予想をしているからlocation.hrefで画面遷移してしまうのではなく、windows.open()に書き換えて新規ウィンドウを開くようにした。

選択した文字列をTwitterに投稿

これで予想屋のコメントを収集し、前から使ってる複数のサイトのRSSをアグリゲートし、特定のチーム名を含むフィードだけ抜き出すPipesに流し込めば、予想屋のコメントとスポーツ紙を一気に流し読みできる。

さて、これで夢の1等当選に近づけるだろうか。

| | Comments (0) | TrackBack (0)

2009.03.07

toto開幕、確率のこととか

toto開幕というか、Jリーグ開幕ですね。このブログで何度も書いてますが、今年の私の戦略は他人がブログで書いている予想を参考にするという他力本願プレイですが、そのためのツールを開発したし、待ちに待った開幕でした。

で、ツールを開発して最初の予想ですが、実に31サイトもの情報が集まりました。totoの公式サイトの投票状況と、31サイトの予想状況のグラフを並べたのがこちら。Google Docのグラフはグラフ幅どころか色も調整できないので見苦しいですが、31サイトも集めると全体に似た傾向になるんですね。

Toto1

ブログに自分の予想をのせるような人は、知る人ぞ知る情報をもとにしてたりして、もうすこしバラけるかと思ったら、そうでもなかったというのが意外。

まあ、開幕なので独自の予想が成り立たないと書いているサイトもあったし、そもそも今年は地道に他サイトの予想を収集して、誰が参考になるかという師匠探しの旅でもあるので、気長にやりましょう。

totoもそうだし、仕事でバグが出る確率とか正確に表現したいというモチベーションもあり、図書館でこんな本を借りてきました。まだ途中ですが読みやすいです。

運は数学にまかせなさい―確率・統計に学ぶ処世術
運は数学にまかせなさい―確率・統計に学ぶ処世術 中村 義作 柴田 裕之

おすすめ平均
stars確率論の意味
stars知ってて損はない
stars数式を出さないだけで、内容は高度
stars数学オンチの心に届く
starsなぜカジノは潰れないのか?

Amazonで詳しく見る
by G-Tools

 

| | Comments (0) | TrackBack (0)

2009.02.07

jQueryで他サイトのtoto予想を効率よく収集するブックマークレット[totob]

toto予想のために前シーズンのJリーグの公式記録を解析していたが、残念なことに、今シーズンの日程が発表された途端に参照できなくなってしまった。というわけで当初の予定、つまり他の予想屋の情報を効率よく摂取するほうに専念することにする。

前に、予想屋のブログを自動で解析するようなものを作りたいと書いたが、自動解析は諦めた。費用対効果が悪そうだし、開幕まで間に合わなさそうだし。

そのかわり、こんな戦法を思いついた。

  1. はてなブックマークのブックマークレットと同じように、既存のページにオーバーレイするブックマークレットを作り、手動でtoto予想を集める。jQueryを使えばオーバーレイするダイアログを1行で書けるので、これを使う。
  2. ストレージはMySQLなどのRDBMSではなくGoogle Spreadsheetのform機能を使って流し込む。幸いgoogleドメインの外からpostしても使える。

で、作ってみたのがこちら。ブックマークレットにして呼び出すと任意のページでダイアログをオーバーレイ表示する。それぞれのチェックボックスが何を意味するかは書いてないがtotoに詳しい人ならわかるかな。で、送信ボタンを押すと、Google Spreadsheetにポストされる。(色々と見にくい点は後述)

totob/03.js (old version : 02.js)

作るうえで苦労したことを幾つか書いておく。

ブックマークレットからjQueryを使う

JavaScriptを本格的に使ったことがないので知らなかったが、jQueryのような外部スクリプトをスクリプト中でロードするのは簡単ではないらしい。amachangが提案している方法も、なぜかブックマークレットでは使えなかった。

で、ブックマークレットの中でjQueryを呼び出してみた。ブックマークレットが長くなる点が気になるが、Firefoxでは動いているのでOKとしておく。

ブックマークレットにCSSを適用させられない

最初に作った試作版ではjQuery用のCSSを適用していて、ダイアログの色やボタンまで、バッチリ装飾されている。好みではないが、jQuery標準のfloraというテーマだ。

totob/01.html

ブックマークレットで表示しているダイアログにもCSSを適用できたらいいのだが、jQueryお得意のCSSの要素変更も試しても適用されず、ものすごくカッコ悪い。

(ここから追記)ブックマークレットで表示しているダイアログにCSSを適用するには、ダイアログを表示した後にjQueryでCSSプロパティを操作すればよい。最初、ダイアログを表示させる前に指定したが効果がなかった。そんなものかな。

元のCSS(http://view.jquery.com/tags/ui/latest/themes/flora/flora.dialog.css)で

.flora .ui-dialog,
.flora.ui-dialog {
background-color: #e6f7d4;
}

とあった場合、

$('div.ui-dialog').css({
'background-color':'#e6f7d4'
});

と書く。これを、flora.dialog.cssに書いてある分だけ延々と手作業。これってjQueryをブックマークレットから使う時だけの苦労かな。誰か汎用化してないかな。

なお、元のCSSではdiv要素という指定はないので$('[class="ui-dialog"]')と指定する書き方もあるが、クラスだけを指定すると非効率的とnitoyonさんが書いていたので、なるべく要素を指定することにした。

まあ自分でしか使わないので放置プレイかな。

jQueryで作る Ajaxアプリケーション
jQueryで作る Ajaxアプリケーション 沖林 正紀

おすすめ平均
stars最初の一歩
stars初心者に優しくない
starsjQueryの知識を深めるのにはちょうどいい。
starsjQueryへの理解を深める上で最適な教科書

Amazonで詳しく見る
by G-Tools

| | Comments (0) | TrackBack (2)

2009.02.06

【toto】順位が高いチームが勝つ確立は?

こないだ、順位が高いチームは、順位が低いチームより勝つ確立が高いだろう、と書いたが、本当にそうなのか確認してみた。

  1. 第1節終了時点での各チームの順位を第2節の試合結果にマッピング。これを昨シーズンのすべての節に対して実施
  2. 順位差ごとにHomeが勝った試合、Awayが勝った試合の数をカウント。例えばHomeが1位、Awayが18位だと順位差は18-1=17とする。

このためだけにExcelマクロまで作っちゃいましたよ。。。

で、グラフにしたのがこちら。

Graph1

順位が10ぐらい離れると勝ち負けの傾向が出てくるが、僅差だと全く読めない。

パーセンテージに変換したのがこちら。

Graph3

こういうのを見ちゃうと、順位で勝ち負けを占うのって危険だなぁ、という気になってくる。

| | Comments (0) | TrackBack (1)

2009.02.04

toto予想には、どんな情報を収集すればよいか

今年の密かな野望がtotoで賞金を稼ぐことなので、イーバンクに口座を作ったり、Jリーグの移籍情報などをチェックしている。

始めて1年もたっていないので、どんな情報を集めれば効率的に予想を立てられるか試行錯誤中で、どちらかというと情報収集のための道具で遊んでいるだけという感じだが、一方で、そんなに多くの情報に振り回されたくないので、早いところ取捨選択をしておきたい。

あってもなくても関係ない情報

目標として、1回の予想に1時間もかけたくない。なので、「選手の気合い」みたいな、あまり意味の無い情報は見出しだけにしておきたい。他の予想サイトで見かける「何連勝(敗)中」という情報も同様だ。3連勝したら4連勝する確率よりも大きいファクターがあるはずだ。

あと、過去の戦績も参考にしなくてもいい感じがする。選手の移籍や監督の采配がゲームに及ぼす影響は、野球より大きいんじゃないだろうか。(野球はサッカー以上に知らないが)

ネガティブ要素は、どこまで効くか

もうひとつ、予想サイトなどで見かけるのが、選手の欠場情報や日本代表戦による疲労など。個人的には、代表選手は多少の過密スケジュールぐらいで動きに影響が出るほどヤワではなく、日本代表というハイレベルな環境でプレイした後にJリーグで試合するので、むしろ有利なんじゃないかと勝手に思ってるが、主力選手の欠場は勝敗に響くかもしれない。

Yahoo! PipesでJリーグ公式ページから得点ランク上位の選手を抜き出すRSSを作ったが、得点力の要となる選手が抜けたら、チームとしても誰に合わせたらいいかブレるので、勝ちにくいんじゃないかという気がする。

ただ、本当に主力選手が抜けたら負ける確率が高くなるのかは、よくわからない。逆に、相手にとってノーマークの選手が活躍したり、いい面もありそうだ。

妥当と思われるファクターの信憑性は

結局のところ「有利」といっても、どれぐらい信頼していいファクターなのかは不明確だ。「得点ランク10位以内の選手が欠場すると、80%負ける」といった感じであれば情報収集する価値はあるし、逆に50%という数字だったら、得点ランク上位の選手をウォッチする時間を別の情報収集に当てられる。

同じように、その時点でのチームの順位なども、多少は信頼していい情報ではないかと思ってる。極端な例として、1位のチームと最下位のチームが争ったら、そりゃ1位のチームが勝つだろう、と。

年間30節ぐらいだから、その気になれば過去の試合で、どれぐらいの相関があるかデータにできそうだが、正直、ちょっと忙しいので誰か代わりにやってくれないかな。

| | Comments (0) | TrackBack (1)

2009.01.07

今年のtoto戦略

正月、少し時間があったので今年のtoto戦略を練ろうと思った。

と言っても、サッカー選手に思い入れもないし、試合を見て陣形を論じるほどのエンスーになれそうもない。年が明けたぐらいで変われないところだ。

というわけで、今年も効率よく師を見つけて追随することとしよう。さいわい、この時期は勝敗を決算している人もいて、稼いでる人は稼いでるのがわかった。

ところで師かどうかを見分ける為に、2008年は随分と手間のかかることをした。

大きく分類すると、予想ブログは3つに分類される。

1.totoXなど予想ソフトの出力をコピペ
2.totoのサイトのスクリーンショットを画像としてコピペ
3.手作業で予想を記入。凝ってる人はhtml tableも手書き

これをGoogle Docに貼り付けて、開催回ごとに集計して予想を立てていた。途中でGoogle Docのformで多少の軽減はしたものの、きつい作業だ。

totoXのコピペは全角スペースパディングなので、なんとか自動化できそうな気がしているが、手作業組からの抽出は気が遠い。

そこで、後で情報を抜き出しやすいようなフォーマットを生成してくれるサイトを作ろうかと考えてみた。

Amazonのアフィリエイトを作るときにG-toolsを使ったり、適当な写真を挿入するのにGigazinize Toolsを使ったりして楽をしているが、同じように書く人にとっても、読む人にとってもメリットとなるような流れを作り出したい。

xpathとか駆使して、抜き出しも効率的にできると良い感じ。totoのサイトで予約したら、そのままGreasemonkeyで取り出して入力の手間も減らせたら最高。妄想ばっかりですが。

| | Comments (0) | TrackBack (0)