タグ

countとprobabilistic data structureに関するyassのブックマーク (2)

  • 超大規模テキストにおけるN-gram統計 - Negative/Positive Thinking

    はじめに 超大規模なテキストデータでのN-gram統計を取る場合、そもそもデータがメモリにのらなくてSuffixArrayを使ったカウントも無理だったりする。近似値でよい場合、効率的な方法があると知ったのでちょっとメモ&試してみた。 与えられるデータ 大量のデータがストリーム形式で与えられるとする 高速にどんどん与えられる 例えば、データパケット監視やtwitterなど カウントしたいデータの種類が膨大 種類をメモリに保持するのが無理 ストリームデータにおける頻度カウント法 正確なカウントは難しいが、近似的に頻度カウントを行うことができる Sticky Sampling Algorithmは解釈が間違っているかもしれない Sticky Sampling Algorithm カウントする要素をサンプリングで選ぶ方法 保持するのは以下の2つのペアの集合 e : 要素(例えばN-gram) f

    超大規模テキストにおけるN-gram統計 - Negative/Positive Thinking
  • 誤り許容カウント法(lossy count method)のサンプルプログラム

    誤り許容カウント法(lossy count method)のサンプルプログラム 2010-05-12-1 [Programming][Algorithm] 1行1ラベル形式で、 1万種類のラベルを持つ、 100万行のデータがあるとします (ラベルの頻度分布はジップの法則にだいたい準拠するとします)。 各ラベルの頻度をハッシュを使ってカウントするとなると、ハッシュエントリ1万個分のメモリ容量が必要になります。(1万じゃたいしたことないな、という人はもっと大きな数に置き換えて読んでください。) しかし、カウント後に高頻度のものしか使わないということも多いと思います。例えば頻度5000以上のもののみ取り出してあとはいらない、とか。 そうなると、全部のラベルのカウントデータを最後まで保持するのは無駄に思えます。 そこで登場するのが「誤り許容カウント法(lossy count method)」。 低

    誤り許容カウント法(lossy count method)のサンプルプログラム
  • 1