唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

2011-01-01から1年間の記事一覧

"Who is Tweeting on Twitter: Human, Bot, or Cyborg?"が面白かった.

2010年の論文. Twitterからあるアカウントが人間,bot,あるいはCyborg(手動と自動の両方)のいずれかを識別. 人間とbotについては9割以上,Cyborgについては8割程度の正解率. 識別で利用している情報 投稿時間のパターン ツイートがspam的かどうか どん…

TopCoder SRM 508 Div 2

1158→1171.現状維持. 250 hashCode()の書き忘れに気づかずに,時間を使い過ぎた.Setを使わないで最初から配列で書けばよかった……あるいはjava.awt.Pointの存在を思い出せば. 500 方針が立たなかったんだけど,単純な幅優先探索でよかったのかな?

最近読んだ論文

トピックモデル的なのは、読んでもなかなか理解できないです。 "Structural Topic Model for Latent Topical Structure Analysis" 一文ごとにトピックを割り当てて、トピックの遷移を考える?Sentence orderingができる. "Sequential Latent Dirichlet Allo…

TopCoder SRM 507 Div 2

1122→1160.もうすぐDiv 1に復帰できるかな? 250 頂点ごとに距離が対応しているので,最大の距離を出せばいいだけ.コードを書く速度勝負. 500 同じ色を最大2つ使って,合計が6以上になればいい.提出速度勝負. 1000 単純な幅優先探索を書いたら,サンプ…

ある数が三角数や五角数か判定

def isPentagonal(q): x = (1 + math.sqrt(1 + 24 * q)) / 6.0 return int(x) == x def isTriagonal(q): x = (1 + math.sqrt(1 + 8 * q)) / 2.0 return int(x) == x

Project Euler始めました

数日前からProject Eulerに手を出した. 現在はレベル2,そろそろ総当りとかだとかなり厳しい……

TopCoder SRM 504.5 Div 2

1082→1122. SmallとMediumが通った. Smallは最小の要素に1足してソートをくり返す単純な方法で解けた. Mediumは奇数の時は7が1個,偶数の時は7が0個なことがわかればもうちょっと早く解けたかな.

pixiv-tag-suggest.user.js Version 1.2

pixiv-tag-suggest アップデートついでにuserscript.orgで公開. 機能 pixivでブックマークタグをサジェストするGreasemonkeyスクリプトpixiv-tag-suggestを書きました - 唯物是真 @Scaled_Wurm 修正内容 スタックフィード経由でブックマークしたときのバグ…

pixivでブックマークタグをサジェストするGreasemonkeyスクリプトpixiv-tag-suggestを書きました

Download pixiv-tag-suggest.user.js Version 1.1 pixiv-tag-suggest 最新版 Chrome拡張版も作りました.いずれは保存時のフォルダ指定やファイル名の置き換えなどに対応する予定. Chrome拡張版には学習機能が追加されています. 「Pixiv Tag Suggest」に学…

Javascriptで文字列比較関数

ソートするときに必要だったので. function strcmp(a, b) { if ( a.key < b.key ) { return -1; } if ( a.key > b.key ) { return 1; } return 0; }

Javascriptで最長共通部分列,Longest Common Subsequence(LCS)の長さを計算

Common Subsequence 解説を素朴に実装. function LCS(a, b) { var sizea = a.length + 1; var sizeb = b.length + 1; var table = new Array(sizea); for(var i = 0; i < sizea; i++) { table[i] = new Array(sizeb); } for(var i = 0; i < sizea; i++) { f…

ちょっと前に読んだ論文

趣味で読んだ論文などを処分しようと思うので,タイトルだけメモ. 数ヶ月前に読んだのが多い. "Finding scientific topics" 導出がわからなかった. "A Collapsed Variational Bayesian Inference Algorithm for Latend Dirichlet Allocation" "Online Lee…

HTML5のAudioを使って音声ファイルを多重再生

一つのAudioオブジェクトだと同時に一つしか再生できないので,ゲームなどで使う場合には多重に作成して使い回す. 一つのファイルに対してn個のAudioオブジェクトを作成して順番に再生する. function m_play(sound, n) { var index = 0; var sounds = new …

enchant.jsで矩形や円を描く

画像以外のものを表示させる方法がわからなかったので適当に調べてみた. Surfaceクラスのオブジェクトを作成してcontextに描けばよいらしい. contextはcanvasのものと同じ(?)らしく矩形や円弧などが描ける. var player = new Sprite(100, 100); var su…

enchant.jsの使い方

チュートリアル的なものが見つからなかったので自己流で. ステップ1: enchant.jsを読み込む 基本的にはenchant.jsを読みこめばよい. スタート画面やゲームオーバー画面,ハイスコアの送信機能を使いたい場合はnineleap.enchant.jsが使える. ui.enchant.js…

TopCoder Member SRM 505 Div 2

935→1082.初めて部屋で一位をとれた. SmallとMediumを解いて一人撃墜. Largeの解き方がわからない. 周りがYで囲まれているところに絞って再帰とかで行けるのかな?

TopCoder Member SRM 503 Div 2

852→935.久しぶりに緑に復帰. 250と500を解いて,二人撃墜. 相変わらず理解した内容とサンプル入出力が一致しないでずっと悩む.英語力が問題ですね.

PythonでファイルのMD5を計算

hashlib を使えば簡単. ファイルをバイナリモードで開かないといけない. ファイルサイズが大きい場合は,少しずつファイルを読み込んで update 関数を利用することが必要? import hashlib def md5(filename): with open(filename, "rb") as f: data = f.r…

TopCoder Member 502 Div 2

870→852. 250の問題はできたけど,500で問題の読み間違え. 読み取った内容とサンプル入出力の結果が合わず. 終わってから冷静に考えるとprefixとsuffixを取り違えてました orz

TopCoder Member SRM 501 Div 2

久しぶりに参加.854→870.上がったのは久しぶり. Smallは通った(よくみたらシステムテストに落ちてた)けど,Mediumを撃墜される. Submitしてから条件分岐の間違いに気づいて涙目. 二人Challengeで撃墜できたのは良かったですね.

Pythonでsubprocessを使って複数のコマンドをパイプでつなぐ

おそらく以下の記事の方法のほうが簡単です(追記、2013年11月9日) 続Pythonでsubprocessを使って複数のコマンドをパイプでつなぐ - 唯物是真 @Scaled_Wurm knpを使ってみようと思ったのですが,呼び出すときにknpとjumanをパイプでつながないといけません. …

PythonでUnicodeのファイル名をコマンドラインで実行

波ダッシュと全角チルダに苦しめられる - 唯物是真 @Scaled_Wurm Unicodeがファイル名に含まれているファイル名が外部のコマンドの引数として実行する場合に,うまくいかない問題があったので色々と試してみた. [python]GetShortPathNameWでショートファイ…

各国の原発からの避難範囲

福島第一原子力発電所の問題で国ごとに,原発からの避難する距離が違うので調べてみた. 米、英、韓国「80キロ圏内」 福島原発避難めぐる外国の対応 (1/2) : J-CASTニュース 上の記事(3月18日付)によると各国の避難距離は以下のようになる. 日本 30km(屋内…

トイレットペーパーのジレンマ

東日本ではトイレットペーパーやティッシュ,燃料や電池や食料品が品薄になっています. オイルショックの経験が生きていないという話がTwitterなどで出ていますが,実際品薄で買えないのを考えると大量に買った人たちから見れば正解なのかもしれません……. …

ブートストラップって何?

いろんな分野でブートストラップという単語を見るので調べてみた. コンピュータのブート(ブートストラップの略) リサンプリング法の一種,統計 自然言語処理,シードからパターンやインスタンスを獲得 下記URLを見るとその他にも色々な分野でブートストラ…

読んだ論文: "Self-adjusting Bootstrapping", Shoji Fujiwara and Satoshi Sekine, CICLing 2011

ブートストラップ法って? シードに似たアイテムのグループを抽出する方法として用いられている. シードからコンテキストを見つけて,次にコンテキストを利用してアイテムを見つけるという過程をくりかえす. 例,クリントン,ブッシュ→○○大統領→オバマ パ…

「成功の法則92ヶ条」

「差分+オリジナリティ=勝利」が「現段階で負けているライバルに,勝つための思考法」として書かれている.以前話題になったクックパッドと楽天レシピの関係がまさにそれか. 成功の法則92ヶ条作者: 三木谷浩史出版社/メーカー: 幻冬舎発売日: 2009/06メデ…

blog名変更

定期的に名前を変えたくなる. HTMLを手書きしてた頃から考えると6代目ぐらい? 検索してみたら「唯仏是真」を「唯物是真」って間違えてる人が結構いるのね. 自分の本名も気軽に変更出来ればいいのになあ.

波ダッシュと全角チルダに苦しめられる

Windows上でPythonスクリプトを書いてファイルを処理しようと思ったら上手くいかなくて困ってます.具体的には「〜」がファイル名に含まれているときに失敗します. 調べてみたところ全角チルダ「〜」と波ダッシュ「〜」には色々と問題があるみたいですね. …

Evernoteに複数のファイルを自動アップロード

最近Evernoteを使い始めたんですが,既存のフォルダ分けされた大量のファイルをアップロードするときに困って色々と試行錯誤してみました. 方法1: ウィンドウにファイルをドラッグアンドドロップ 複数のファイルが一つのノートになる. ファイルの順番が崩…