タグ

ブックマーク / d.hatena.ne.jp/nokuno (2)

  • テキストファイルを処理するときのUnixコマンドまとめ - nokunoの日記

    個人的にテキストファイルを処理することが多いのですが,簡単な処理ならUnixのコマンドをパイプとリダイレクトで組み合わせてできることが多くあります.今回はそんななかでもちょっとマニアックなTIPSをまとめてみました. sortコマンドでタブ区切りのファイルを指定する最近知って驚愕したのがこれ.sortコマンドでタブ区切りのファイルを指定したいときは,Ctrl+v Tabでタブ文字を入力していたのですが,$ sort -t $'\t' -k 2,2 のようにしてタブ区切りで2番目のキーでソートすることができます. 1000行おきにデータをサンプリングする1000行おきにファイルからデータをサンプリングしたいときとかは,perlでワンライナーを書くのが速いようです.$ perl -ne '$i++; print unless ($i % 1000)' 某所のコードゴルフによるとこれだけ短くでき

  • nokunoの日記

    引き続き東大の「創造情報学連携講義VII」より賀沢さんの課題1でもある、IBMモデル1の実装を行いました。創造情報学連携講座IBMモデル1のEMアルゴリズムを実装してサンプルデータで結果を確認せよという問題です。 #!/usr/bin/env python from collections import defaultdict def train(corpus): pair = defaultdict(float) for english, forein in corpus: for e in english.split(" "): for f in forein.split(" "): pair[(e,f)] += 1. print 'pair:', pair t = defaultdict(float) for e,f in pair.keys(): t[(e,f)] = 0.25 f

  • 1