タグ

ブックマーク / 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)' 某所のコードゴルフによるとこれだけ短くでき

    tgk
    tgk 2012/01/23
    「awkだとデフォルトがスペース区切りなので,入力をタブ区切りにするにはsortと同じように$'\t'を区切り文字に指定し,出力をタブ区切りにするにはOFS="\t"を指定する必要があります」
  • NLTK Bookで教師なし形態素解析 - nokunoの日記

    意外と知られていないようなので、NLTK BookのSegmentationの節にある教師なし形態素解析(単語分割)について紹介してみます。 この手法では、テキストを「単語の辞書」と「単語IDの列」で表したときにその合計サイズが最小になるように単語分割の位置を最適化します。言い換えれば、単語の出現確率に一様分布を仮定して圧縮したときに、その圧縮効率を最大とするように単語を分割します。持橋さんの研究よりはるかに単純なモデルですが、原理としては近いものになります。最適化にはシミュレーテッドアニーリング(焼きなまし法)を使っていて、適当に初期化してからランダムに単語分割位置を変えて、評価関数にかけて良い結果になったら採用する、という操作を繰り返し行うものです。 NLTK Bookでは、英語のテキストからスペースを取り除いたものを用いて単語を抽出しています。これはかなり恣意的に選ばれたテキストで、

  • 1