読者です 読者をやめる 読者になる 読者になる

tanihito’s blog

IT・Web・英語・筋トレなど、興味のあることについてつらつらと書いてきます。

エンジニアのためのWindowsフリーソフト集

仕事でWindowを使う機会が増えてきたので、Windowsで快適に作業するためのフリーソフトを集めてみました。 キーバインド AutoHotkey_L:設定ファイル (emacs.ahk) を使ってどこでもEmacsキーバインドに! Change Key:CtrlとCapsの変更。 エディタ NotePad++…

zc.buildoutでClassiasを簡単インストール

前回はMeCabのインストールをzc.buildoutを使ってやったので、今度はClassiasのインストールをやります。Classiasは機械学習アルゴリズムの実装で、素性名として任意の文字列を使えるという特徴があります。buildout.cfgは以下のようになります。いつものよ…

zc.buildoutでMeCabを簡単インストール

最近はpythonの環境設定をbuildoutでやってしまうのが流行りみたいですね。そこで、私がよく使う形態素解析エンジンMeCabのインストールをコマンド一発でできるようにしてみました。まずはbuildout用のディレクトリfooを作成します。 $ mkdir foo $ cd foo $…

moxの使い方

pythonのモックといえばminimockが有名ですが、私はmoxを利用しています。moxで検索してもあまり情報がないので、簡単に使い方を記載しておきます。 以下のような、URLを受け取ってソースを表示するprint_sourceという関数のテストを考えます。インターネッ…

ドットファイルの管理

Linuxをしばらく使っていると、.emacsなどの設定ファイルが増えてきます。僕はこれらの設定ファイルを1つのディレクトリに保存し、ホームディレクトリにリンクを張って使っています。こうすれば新しいPCに移行する際に1つのディレクトリをコピーするだけで…

Word2007で論文を書くときに知っておくべき10のこと

論文を書くときはTeXを使うのが当たり前でしたが、最近はWordのスタイルしか提供されない学会も多くなっています。TeXでできることは全てWordでもできるので、きちんとしたWordの使い方をマスターしましょう。なお、ここに書いてある事をもっと詳しく知りた…

A successful Git branching modelの初期設定をする

バージョン管理システムをSubversionからGitに移行しました。Gitではブランチの使い方が重要になってきますが、A successful Git branching modelがいいみたいです。このモデルではリモートにmaster・developブランチを作る必要があるので、設定方法を記録し…

PyPIデビュー!

Python Hack-a-thon 4: ハンズオンを読んでPyPIデビューしました!意外と簡単にPyPIに登録できましたが、変なところではまったので記録しておきます。 パッケージを作る 今回は練習のため簡単なパッケージhogehogeを作ってみます。 $ mkdir hogehoge $ cd ho…

Pythonのクロージャで末尾再帰最適化をする。

元ネタはPythonで末尾再帰最適化をする。 - wasabizの日記。Pythonのデコレータを使って、関数の末尾再起最適化を行う、というものです。元エントリではクラスを使ってデコレータを作っていますが、これではラップした関数がクラスになってしまいます。 >>> …

TeXをGitでバージョン管理

Gitを使い始めたので、TeXで書いている論文もGitでバージョン管理してみます。この場合の問題は以下の2つです。 GitはUTF-8でないと文字化けするが、pLaTeXはUTF-8に対応していない TeXをコンパイルする際に*.aux, *.logなどの中間ファイルが作成され、分か…

Wordの文献リストをBibTeXに変換する

最近WordからTeXに乗り換えました。図の位置とかを気にしなくていいので楽ですね。今までWordで作ってきた文献リストをTeXでも使いたいので、Wordの文献リスト(マスタリスト)をBibTeXに変換するスクリプトを書きました。Wordの文献リストは"C:\Documents a…

platex-utf8

日本語論文をTexで書く場合はEUC-JPを使うのが(多分)一般的ですが、バージョン管理をしている場合はログが文字化けしてしまいます。そこでUTF-8で書かれたTexファイルをコンパイルするシェルスクリプトを作りました。foo.tex, foo.bibというファイルをコン…

対応のあるt検定

提案手法とベースラインが有意差があるかを調べるためには、対応のあるt検定を行なう必要があります。そこで練習のためにハンバーガー統計学にようこそ!に出ていた例をPythonで実装してみました。8人の女子高生が2種類のハンバーガーを食べて、下表の得点を…

はてなダイアリーでソースコードに色をつける

ソースコード貼り付けるときに色つけたいなー、と思ったら簡単できた。 ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ >|python| # -*- coding: utf-8 -*- for i in xrange(10): print i, "hello, world!" ||<…

PrefixSpan-relで取得した未知語をMeCabの辞書に登録する

モチベーション ある文章中にどのような単語がよく出現するか調べることは、基本的な分析手法の1つです。1文節のみを対象とする場合は形態素に分けて頻度を数えればいいですし、2文節以上でも既知語ならば簡単に取得できます。しかし、複数の単語からなる…

moxを使ってMySQLdbのテストを行う

ユニットテストを行う際に面倒なのが、外部のデータベースを利用している場合です。 ここではmoxというモックを使ってMySQLdbのテストを行なう方法を紹介します。 moxはpythonのモックライブラリの一種で、JavaのEasyMockを元にしています。 詳細はpymoxのペ…

単語出現頻度をSVMlight形式の学習データに変換する

文書分類などを行なう場合にはSVMlightやLIBSVMなどのライブラリを使います。 その場合素性名を数値にする必要があるので、 変換する関数converter.pyを作ってみました。 (Classiasという素性に任意の文字列が使えるライブラリもあります) 素性を数値に変…

Ajaxでページを読み込む

なんとなくJavaScriptから逃げていたんですが、Webサービスを作ろうとするとやっぱり必要ですね。 ということでAjaxのお勉強です。 main.htmlのボタンを押すと、ページ遷移なしにtsuika.htmlの内容を読み込みます。 ポイントはload_entity.jsの最終行にある …

みんなの気になるスタートアップ、トップ30の事業内容を調べてみた

TechCrunchでWeb系企業の注目度ランキングが紹介されていました。 結構知らない企業が多かったので、事業内容をまとめておきます。 Facebook 世界最大のSNSサイト Twitter マイクロブログ Foursquare 位置情報サービス Quora 高品質Q&Aサービス Google ググ…

キーワードに一致するイベントをATNDからRSSで取得する

最近ネットを見ていると面白そうな勉強会をたくさん見つけます。 「Python Hack-a-thon」とか「PRML復習レーン」とか行きたかったのですが、 人気のある勉強会はすぐに満員になってしまいます。 自分の必要なイベント情報だけを取得したいのでATNDのRSSも使…

学内サーバを踏み台にしてインターネットに接続する

情報系学生のいいところは、どこにいても研究が進められることです。 しかし論文のダウンロードなどはIPアドレス制限があるため、どうしても学内からインターネットに接続する必要があります。 これまでは毎回大学に行っていたのですが、面倒なので家から行…

行列を対象にしたカイ2乗検定

実験で質的データ同士の相関を見る必要があり、カイ2乗検定のプログラムを探していました。ベクトルを対象にしたもの(scipy.stats.chisquare)はすぐに見つかりましたが、一番使うであろう行列を対象にしたカイ2乗検定のプログラムが見つからなかったので…