タグ

ブックマーク / echizen-tm.hatenadiary.org (10)

  • 【転職一周年記念エントリ】エンジニアの転職を支える技術 - EchizenBlog-Zwei

    転職して1年が経ちました。 前職での6年間は私の人生で最も辛い時期でした。転職してようやく来の自分を取り戻せました。自分にあった場所で働くというのはとても大切だと思うので、転職するにあたって私がやったことをメモしておきます。 1.転職の意思を固める 辞めたいと思った時が辞めどきです。他人の意見は気にする必要はないです。よく「n年はうちで頑張れ」と言われたりしますが、実際は転職を決意してから転職完了までに身につけたことで充分なので「n年頑張る」という待ちのフェイズは不要です。決意から完了まで結果的にn年かかるということはあるかもしれないですが、特に意味もなくn年耐えても良いことはないです。 2.興味のある技術を持つ 人が技術を身につけるのは会社の仕事をするためだけではないです。必要な技術は会社によって異なりますし、会社内でも部署や情勢によって変わってきます。それに追随するためだけに技術を学

    【転職一周年記念エントリ】エンジニアの転職を支える技術 - EchizenBlog-Zwei
    nobu666
    nobu666 2013/05/04
  • Googleの新しい圧縮アルゴリズムZopfliについて調べた。 - EchizenBlog-Zwei

    Googleの新しい圧縮アルゴリズムZopfliについて調べたのでメモしておく。 Compress data more densely with Zopfli - Google Developers Blog deflateアルゴリズム zopfliはdeflateアルゴリズムに基づいた圧縮ライブラリ。deflateアルゴリズムはデータをLZSSというLZ77を改良した圧縮法で圧縮し、その後ハフマン符号で符号化したもの。 deflateアルゴリズムの実装としてはzlibやgzipがある。zlibとgzipの違いはヘッダとフッタの持っている情報。 使ってみる googlecode(http://code.google.com/p/zopfli/)から取ってくる。 $$ git clone https://code.google.com/p/zopfli/ $$ cd zopfli $$ ma

    Googleの新しい圧縮アルゴリズムZopfliについて調べた。 - EchizenBlog-Zwei
    nobu666
    nobu666 2013/03/03
  • 「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei

    「高速文字列解析の世界」という大変すばらしいが発売された。わりと敷居が高いではあるので読む前に知っておくとよさそうなことを書いておく。 「高速文字列解析」とは 書でいう高速文字列解析というのは主に2つのことを指している。ひとつはデータを圧縮して小さくしてディスクよりメモリ、メモリよりキャッシュというようにより高速な記憶装置で扱いましょう、という話。もうひとつはデータ構造を工夫することで複雑な操作もそこそこ高速に扱えますよ、という話。つまり「圧縮」の話と「効率的なデータ構造」の話があると考えておくと良い。 キーワードは3つ オビにも書いてあるけれど、書が主に扱うのは「BWT」「簡潔データ構造」「ウェーブレット木」の3つ。具体的には「BWT」が「圧縮」に関わっていて「ウェーブレット木」が「効率的なデータ構造」に関わっている。「簡潔データ構造」は基的な道具として書の色々なところで出て

    「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei
    nobu666
    nobu666 2013/01/09
  • ウェーブレット木の効率的で簡単な実装 "The Wavelet Matrix" - EchizenBlog-Zwei

    久しぶりに論文を読んだ。 http://www.dcc.uchile.cl/~gnavarro/publ.html The Wavelet Matrix Claude & Navarro; SPIRE2012 "The Wavelet Matrix"はSPIRE2012のNavarro無双のうちの一。タイトルからするとウェーブレット木の拡張のように思える。 機能としてはウェーブレット木と同一でデータ列に対するaccess,rank,selectを提供する。しかし実装は既存手法と比べて効率的でしかも簡単になっている。 これまでにウェーブレット木の実装としてはノードをポインタでつないだ普通の木として実装する方法(Standard Wavelet Tree. 論文のAlgorithm 1)と、木の階層ごとにノードをつなげた配列で表現する方法(Levelwise Wavelet Tree. 論文

    ウェーブレット木の効率的で簡単な実装 "The Wavelet Matrix" - EchizenBlog-Zwei
    nobu666
    nobu666 2012/08/02
  • 自然言語処理とか機械学習とかグラフとか簡潔データ構造とか全部入った良書「日本語入力を支える技術」がすごい - EchizenBlog-Zwei

    @tkngさんの力作「日本語入力を支える技術」が2/8に発売される。既に秋葉原のヨドバシ有隣堂や池袋のジュンク堂店では早売りされている様子。ってことで早速購入してきた。 書が扱うテーマはGoogleIMEのような「日本語入力」のシステム。これだけだとさして興味ないや、って人も多いかもしれない。ところがこの日本語入力というのは技術的には形態素解析に非常に近い。自然言語処理やテキストマイニングに関わる方にとっては形態素解析は最も基的かつ重要な技術。その仕組みを知っておくのは非常に重要だと思う。 また日本語入力(形態素解析)は技術的には機械学習、グラフの最短経路問題、簡潔データ構造など多くの分野が関わっているので「日本語入力」を理解することでこれらの多くの基礎技術の具体例を体感できるというメリットがある。 そんな日本語入力をまとめて勉強できるのが書「日本語入力を支える技術」である!ばーん

    自然言語処理とか機械学習とかグラフとか簡潔データ構造とか全部入った良書「日本語入力を支える技術」がすごい - EchizenBlog-Zwei
    nobu666
    nobu666 2012/02/03
  • 自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな - EchizenBlog-Zwei

    自然言語処理の優秀なエンジニア各位にオススメを聞くと大抵FSNLP(Foundations of Statistical Natiral Language Processing)という答えが返ってくる。またブログ等でFSNLPを絶賛している方も多い。 私は自然言語処理は長尾で満足してしまっていたのでFSNLPは読んでいなかったのだけれど、長尾は現在入手困難ということもあって入手しやすい自然言語処理の教科書があるといいなと思っていたのでFSNLPを読んでみた。 その結果。自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな。という結論に至ったので全力でFSNLPを推薦する記事を書くことにした。 参考: [を]FSNLP @ytoさん 自然言語処理の定番の教科書まとめ - 生駒日記 @mamorukさん Perl で自然言語処理 @overlastさん ざっと読んでみてFSN

    自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな - EchizenBlog-Zwei
    nobu666
    nobu666 2011/11/04
  • 30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei

    検索エンジンの転置インデックスなどデータ列を小さいデータサイズで持たせたい、という状況がある。こういう場合圧縮符号を使うのが一般的でunary符号やgamma符号、delta符号など様々な種類がある。 圧縮符号の中でイチオシなのがvertical code(vcode)。これは岡野原(@hillbig)氏によって提案された圧縮符号で単純な仕組みでdelta符号並の性能を誇っている。 記事ではvcodeのポイントを絞って30分でわかるように解説してみる。 vcodeは棚にを並べる作業を連想すると理解しやすい。棚は予め高さが決まっているので全てのが入るような棚を用意する。つまり というようなものを想像する。 この棚は8冊のが並んでいるが左から5冊目のが他よりも背が高い。このため5冊目のに合わせて背の高い棚が必要になる。だが他のは5冊目のほどに背が高くないので、5冊目が

    30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei
    nobu666
    nobu666 2011/10/25
  • 自然言語処理を活用したwebサービスをつくるときに参考になる5冊の書籍 - EchizenBlog-Zwei

    自然言語処理を活用したwebサービス開発に関わって5年以上経った。いい機会なのでこれまでを振り返って役に立ったと思う5冊をメモしておく。 1.珠玉のプログラミング―質を見抜いたアルゴリズムとデータ構造 まずはこれ。有名ななので知っている人も多いと思う。簡単に説明するとちょっと前に「フェルミ推定」という名前で流行ったような、データから必要な数値を概算する方法や、問題が起きたときに問題点がどこにあるのか?最小の労力で解決するにはどこをいじればよいのか?などが書いてある。「webサービスで自然言語処理だ!」というと無限に夢が広がりがちなので、どういうデータが使えるのか、それをどういう形にもっていけばイケてるサービスになるのか、それはどのくらいの期間で実現できるか、ということを考える必要がある。そういうわけで書は真っ先に読むべき一冊なのでは(余談だけれど、以前M << Nなデータに対してO(

    自然言語処理を活用したwebサービスをつくるときに参考になる5冊の書籍 - EchizenBlog-Zwei
    nobu666
    nobu666 2011/10/11
  • 「テキストマイニングを使う技術/作る技術」を読んだ - EchizenBlog-Zwei

    自然言語処理は大学時代からやっていたのだが、恥ずかしながらテキストマイニングについてはよくわかっていなかった。@shima__shima先生から「テキストマイニングを使う技術/作る技術」を紹介していただいたので読んでみた(紹介していただき、ありがとうございました)。 書によるとテキストマイニングは厳密な定義はないものの、テキストデータから抽出されたデータを用いたデータマイニングを指すらしい。 で、従来のデータマイニングであれば数値データからそのままマイニングすればいいけれどテキストデータは自然言語で書かれていてそのままでは使えないので自然言語処理(NLP)を用いてマイニングで使うデータを抽出するよ。ということらしい。なんとなくNLPの中にテキストマイニングがあるのかと思っていたのだが、テキストデータとデータマイニングの橋渡しをする技術としてNLPを使っている、というのが正しいのかも。

    「テキストマイニングを使う技術/作る技術」を読んだ - EchizenBlog-Zwei
    nobu666
    nobu666 2011/10/03
  • ACL2011論文「Faster and Smaller N-Gram Language Models」を読んだ - EchizenBlog-Zwei

    ACL2011の論文で「Faster and Smaller N-Gram Language Models」というのが気になったので読んでみた。 ACL Anthology » P11 Faster and Smaller N-Gram Language Models Adam Pauls, Dan Klein; 2011 論文はこれまで提案されている言語モデルの圧縮・高速化の手法を実装して比較したよ、というもの。各種法が丁寧に解説されており、性能比較もよく知られているツールであるSRILMをベースラインとして行っているので参考になる。サーベイ論文として優れていると感じた。 論文で紹介されている手法はモデルのサイズ圧縮と高速化の2点に関するもの。 まずはサイズ圧縮について。これはTRIEを使うことで各Nグラムの共通したプレフィクスを圧縮するのが基らしい。でTRIEについてはノードの持

    ACL2011論文「Faster and Smaller N-Gram Language Models」を読んだ - EchizenBlog-Zwei
  • 1